1 /-- This set of tests check the DFA matching functionality of pcre_dfa_exec().
2 The -dfa flag must be used with pcretest when running it. --/
22 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
23 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\F
343 /^(a*\w|ab)=(a*\w|ab)/
349 /^([^()]|\((?1)*\))*$/
356 /^>abc>([^()]|\((?1)*\))*<xyz<$/
362 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9876
364 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
366 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/x
376 /^(?(?=abc)\w{3}:|\d\d)$/
383 /^(?(?!abc)\d\d|\w{3}:)$/
498 adfadadaklhlkalkajhlkjahdfasdfasdfladsfjkj\P\Z
499 lkjhlkjhlkjhlkjhabbbbbbcdaefabbbbbbbefa\P\B\Z
501 efabbbbbbbbbbbbbbbb\P\R\B\Z
502 bbbbbbbbbbbbcdXyasdfadf\P\R\B\Z
504 /(a|b)/SF>testsavedregex
510 /the quick brown fox/
513 What do you know about the quick brown fox?
514 What do you know about THE QUICK BROWN FOX?
516 /The quick brown fox/i
519 What do you know about the quick brown fox?
520 What do you know about THE QUICK BROWN FOX?
522 /abcd\t\n\r\f\a\e\071\x3b\$\\\?caxyz/
523 abcd\t\n\r\f\a\e9;\$\\?caxyz
525 /a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz/
526 abxyzpqrrrabbxyyyypqAzz
527 abxyzpqrrrabbxyyyypqAzz
528 aabxyzpqrrrabbxyyyypqAzz
529 aaabxyzpqrrrabbxyyyypqAzz
530 aaaabxyzpqrrrabbxyyyypqAzz
531 abcxyzpqrrrabbxyyyypqAzz
532 aabcxyzpqrrrabbxyyyypqAzz
533 aaabcxyzpqrrrabbxyyyypAzz
534 aaabcxyzpqrrrabbxyyyypqAzz
535 aaabcxyzpqrrrabbxyyyypqqAzz
536 aaabcxyzpqrrrabbxyyyypqqqAzz
537 aaabcxyzpqrrrabbxyyyypqqqqAzz
538 aaabcxyzpqrrrabbxyyyypqqqqqAzz
539 aaabcxyzpqrrrabbxyyyypqqqqqqAzz
540 aaaabcxyzpqrrrabbxyyyypqAzz
541 abxyzzpqrrrabbxyyyypqAzz
542 aabxyzzzpqrrrabbxyyyypqAzz
543 aaabxyzzzzpqrrrabbxyyyypqAzz
544 aaaabxyzzzzpqrrrabbxyyyypqAzz
545 abcxyzzpqrrrabbxyyyypqAzz
546 aabcxyzzzpqrrrabbxyyyypqAzz
547 aaabcxyzzzzpqrrrabbxyyyypqAzz
548 aaaabcxyzzzzpqrrrabbxyyyypqAzz
549 aaaabcxyzzzzpqrrrabbbxyyyypqAzz
550 aaaabcxyzzzzpqrrrabbbxyyyyypqAzz
551 aaabcxyzpqrrrabbxyyyypABzz
552 aaabcxyzpqrrrabbxyyyypABBzz
553 >>>aaabxyzpqrrrabbxyyyypqAzz
554 >aaaabxyzpqrrrabbxyyyypqAzz
555 >>>>abcxyzpqrrrabbxyyyypqAzz
557 abxyzpqrrabbxyyyypqAzz
558 abxyzpqrrrrabbxyyyypqAzz
559 abxyzpqrrrabxyyyypqAzz
560 aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz
561 aaaabcxyzzzzpqrrrabbbxyyypqAzz
562 aaabcxyzpqrrrabbxyyyypqqqqqqqAzz
695 /^.+[0-9][0-9][0-9]$/
703 /^.+?[0-9][0-9][0-9]$/
711 /^([^!]+)!(.+)=apquxz\.ixr\.zzz\.ac\.uk$/
712 abc!pqr=apquxz.ixr.zzz.ac.uk
714 !pqr=apquxz.ixr.zzz.ac.uk
715 abc!=apquxz.ixr.zzz.ac.uk
716 abc!pqr=apquxz:ixr.zzz.ac.uk
717 abc!pqr=apquxz.ixr.zzz.ac.ukk
720 Well, we need a colon: somewhere
738 /^.*\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/
746 /^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
747 1 IN SOA non-sp1 non-sp2(
748 1 IN SOA non-sp1 non-sp2 (
750 1IN SOA non-sp1 non-sp2(
752 /^[a-zA-Z\d][a-zA-Z\d\-]*(\.[a-zA-Z\d][a-zA-z\d\-]*)*\.$/
762 /^\*\.[a-z]([a-z\-\d]*[a-z\d]+)?(\.[a-z]([a-z\-\d]*[a-z\d]+)?)*$/
773 /^(?=ab(de))(abd)(e)/
776 /^(?!(ab)de|x)(abd)(f)/
782 /^[\da-f](\.[\da-f])*$/i
798 / ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/x
804 /(?x) ^ a (?# begins with a) b\sc (?# then b c) $ (?# then end)/
817 /^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$/
820 /^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$/
823 /^[\w][\W][\s][\S][\d][\D][\b][\n][\c]][\022]/
885 /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/
886 From abcd Mon Sep 01 12:33:02 1997
888 /^From\s+\S+\s+([a-zA-Z]{3}\s+){2}\d{1,2}\s+\d\d:\d\d/
889 From abcd Mon Sep 01 12:33:02 1997
890 From abcd Mon Sep 1 12:33:02 1997
892 From abcd Sep 01 12:33:02 1997
899 the quick brown\t fox
902 foobar is foolish see?
904 /(?:(?!foo)...|^.{0,2})bar(.*)/
910 /^(\D*)(?=\d)(?!123)/
915 /^1234(?# test newlines
919 /^1234 #comment in extended re
946 /^[ab]{1,3}?(ab*?|b)/
953 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
954 \) )* # optional leading comment
956 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
957 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
959 " (?: # opening quote...
960 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
962 \\ [^\x80-\xff] # Escaped something (something != CR)
965 (?: (?: [\040\t] | \(
966 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
967 \) )* \. (?: [\040\t] | \(
968 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
970 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
971 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
973 " (?: # opening quote...
974 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
976 \\ [^\x80-\xff] # Escaped something (something != CR)
978 ) )* # further okay, if led by a period
980 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
981 \) )* @ (?: [\040\t] | \(
982 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
984 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
985 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
987 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
989 ) # initial subdomain
992 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
993 \) )* \. # if led by a period...
995 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
997 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
998 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1000 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1007 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1008 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1010 " (?: # opening quote...
1011 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1013 \\ [^\x80-\xff] # Escaped something (something != CR)
1014 )* " # closing quote
1015 ) # one word, optionally followed by....
1017 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
1019 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1020 \) | # comments, or...
1022 " (?: # opening quote...
1023 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1025 \\ [^\x80-\xff] # Escaped something (something != CR)
1026 )* " # closing quote
1030 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1032 (?: @ (?: [\040\t] | \(
1033 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1035 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1036 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1038 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1040 ) # initial subdomain
1043 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1044 \) )* \. # if led by a period...
1046 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1048 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1049 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1051 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1056 (?: (?: [\040\t] | \(
1057 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1058 \) )* , (?: [\040\t] | \(
1059 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1060 \) )* @ (?: [\040\t] | \(
1061 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1063 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1064 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1066 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1068 ) # initial subdomain
1071 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1072 \) )* \. # if led by a period...
1074 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1076 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1077 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1079 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1083 )* # further okay, if led by comma
1086 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1087 \) )* )? # optional route
1089 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1090 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1092 " (?: # opening quote...
1093 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1095 \\ [^\x80-\xff] # Escaped something (something != CR)
1096 )* " # closing quote
1098 (?: (?: [\040\t] | \(
1099 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1100 \) )* \. (?: [\040\t] | \(
1101 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1103 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1104 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1106 " (?: # opening quote...
1107 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
1109 \\ [^\x80-\xff] # Escaped something (something != CR)
1110 )* " # closing quote
1111 ) )* # further okay, if led by a period
1113 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1114 \) )* @ (?: [\040\t] | \(
1115 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1117 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1118 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1120 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1122 ) # initial subdomain
1125 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1126 \) )* \. # if led by a period...
1128 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1130 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1131 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1133 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1139 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1140 \) )* > # trailing >
1143 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
1144 \) )* # optional trailing comment
1146 Alan Other <user\@dom.ain>
1149 \"A. Other\" <user.1234\@dom.ain> (a comment)
1150 A. Other <user.1234\@dom.ain> (a comment)
1151 \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
1152 A missing angle <user\@some.where
1156 /[\040\t]* # Nab whitespace.
1159 [^\\\x80-\xff\n\015()] * # normal*
1161 (?: \\ [^\x80-\xff] |
1163 [^\\\x80-\xff\n\015()] * # normal*
1164 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1167 [^\\\x80-\xff\n\015()] * # normal*
1170 [\040\t]* )* # If comment found, allow more spaces.
1171 # optional leading comment
1174 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1175 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1179 [^\\\x80-\xff\n\015"] * # normal
1180 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1184 [\040\t]* # Nab whitespace.
1187 [^\\\x80-\xff\n\015()] * # normal*
1189 (?: \\ [^\x80-\xff] |
1191 [^\\\x80-\xff\n\015()] * # normal*
1192 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1195 [^\\\x80-\xff\n\015()] * # normal*
1198 [\040\t]* )* # If comment found, allow more spaces.
1201 [\040\t]* # Nab whitespace.
1204 [^\\\x80-\xff\n\015()] * # normal*
1206 (?: \\ [^\x80-\xff] |
1208 [^\\\x80-\xff\n\015()] * # normal*
1209 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1212 [^\\\x80-\xff\n\015()] * # normal*
1215 [\040\t]* )* # If comment found, allow more spaces.
1217 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1218 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1222 [^\\\x80-\xff\n\015"] * # normal
1223 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1227 [\040\t]* # Nab whitespace.
1230 [^\\\x80-\xff\n\015()] * # normal*
1232 (?: \\ [^\x80-\xff] |
1234 [^\\\x80-\xff\n\015()] * # normal*
1235 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1238 [^\\\x80-\xff\n\015()] * # normal*
1241 [\040\t]* )* # If comment found, allow more spaces.
1245 [\040\t]* # Nab whitespace.
1248 [^\\\x80-\xff\n\015()] * # normal*
1250 (?: \\ [^\x80-\xff] |
1252 [^\\\x80-\xff\n\015()] * # normal*
1253 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1256 [^\\\x80-\xff\n\015()] * # normal*
1259 [\040\t]* )* # If comment found, allow more spaces.
1261 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1262 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1265 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1268 [\040\t]* # Nab whitespace.
1271 [^\\\x80-\xff\n\015()] * # normal*
1273 (?: \\ [^\x80-\xff] |
1275 [^\\\x80-\xff\n\015()] * # normal*
1276 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1279 [^\\\x80-\xff\n\015()] * # normal*
1282 [\040\t]* )* # If comment found, allow more spaces.
1283 # optional trailing comments
1286 [\040\t]* # Nab whitespace.
1289 [^\\\x80-\xff\n\015()] * # normal*
1291 (?: \\ [^\x80-\xff] |
1293 [^\\\x80-\xff\n\015()] * # normal*
1294 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1297 [^\\\x80-\xff\n\015()] * # normal*
1300 [\040\t]* )* # If comment found, allow more spaces.
1302 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1303 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1306 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1309 [\040\t]* # Nab whitespace.
1312 [^\\\x80-\xff\n\015()] * # normal*
1314 (?: \\ [^\x80-\xff] |
1316 [^\\\x80-\xff\n\015()] * # normal*
1317 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1320 [^\\\x80-\xff\n\015()] * # normal*
1323 [\040\t]* )* # If comment found, allow more spaces.
1324 # optional trailing comments
1329 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1330 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1334 [^\\\x80-\xff\n\015"] * # normal
1335 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1340 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # "normal" atoms and or spaces
1344 [^\\\x80-\xff\n\015()] * # normal*
1346 (?: \\ [^\x80-\xff] |
1348 [^\\\x80-\xff\n\015()] * # normal*
1349 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1352 [^\\\x80-\xff\n\015()] * # normal*
1357 [^\\\x80-\xff\n\015"] * # normal
1358 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1360 ) # "special" comment or quoted string
1361 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] * # more "normal"
1364 [\040\t]* # Nab whitespace.
1367 [^\\\x80-\xff\n\015()] * # normal*
1369 (?: \\ [^\x80-\xff] |
1371 [^\\\x80-\xff\n\015()] * # normal*
1372 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1375 [^\\\x80-\xff\n\015()] * # normal*
1378 [\040\t]* )* # If comment found, allow more spaces.
1382 [\040\t]* # Nab whitespace.
1385 [^\\\x80-\xff\n\015()] * # normal*
1387 (?: \\ [^\x80-\xff] |
1389 [^\\\x80-\xff\n\015()] * # normal*
1390 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1393 [^\\\x80-\xff\n\015()] * # normal*
1396 [\040\t]* )* # If comment found, allow more spaces.
1398 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1399 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1402 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1405 [\040\t]* # Nab whitespace.
1408 [^\\\x80-\xff\n\015()] * # normal*
1410 (?: \\ [^\x80-\xff] |
1412 [^\\\x80-\xff\n\015()] * # normal*
1413 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1416 [^\\\x80-\xff\n\015()] * # normal*
1419 [\040\t]* )* # If comment found, allow more spaces.
1420 # optional trailing comments
1423 [\040\t]* # Nab whitespace.
1426 [^\\\x80-\xff\n\015()] * # normal*
1428 (?: \\ [^\x80-\xff] |
1430 [^\\\x80-\xff\n\015()] * # normal*
1431 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1434 [^\\\x80-\xff\n\015()] * # normal*
1437 [\040\t]* )* # If comment found, allow more spaces.
1439 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1440 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1443 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1446 [\040\t]* # Nab whitespace.
1449 [^\\\x80-\xff\n\015()] * # normal*
1451 (?: \\ [^\x80-\xff] |
1453 [^\\\x80-\xff\n\015()] * # normal*
1454 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1457 [^\\\x80-\xff\n\015()] * # normal*
1460 [\040\t]* )* # If comment found, allow more spaces.
1461 # optional trailing comments
1464 [\040\t]* # Nab whitespace.
1467 [^\\\x80-\xff\n\015()] * # normal*
1469 (?: \\ [^\x80-\xff] |
1471 [^\\\x80-\xff\n\015()] * # normal*
1472 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1475 [^\\\x80-\xff\n\015()] * # normal*
1478 [\040\t]* )* # If comment found, allow more spaces.
1480 [\040\t]* # Nab whitespace.
1483 [^\\\x80-\xff\n\015()] * # normal*
1485 (?: \\ [^\x80-\xff] |
1487 [^\\\x80-\xff\n\015()] * # normal*
1488 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1491 [^\\\x80-\xff\n\015()] * # normal*
1494 [\040\t]* )* # If comment found, allow more spaces.
1496 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1497 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1500 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1503 [\040\t]* # Nab whitespace.
1506 [^\\\x80-\xff\n\015()] * # normal*
1508 (?: \\ [^\x80-\xff] |
1510 [^\\\x80-\xff\n\015()] * # normal*
1511 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1514 [^\\\x80-\xff\n\015()] * # normal*
1517 [\040\t]* )* # If comment found, allow more spaces.
1518 # optional trailing comments
1521 [\040\t]* # Nab whitespace.
1524 [^\\\x80-\xff\n\015()] * # normal*
1526 (?: \\ [^\x80-\xff] |
1528 [^\\\x80-\xff\n\015()] * # normal*
1529 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1532 [^\\\x80-\xff\n\015()] * # normal*
1535 [\040\t]* )* # If comment found, allow more spaces.
1537 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1538 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1541 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1544 [\040\t]* # Nab whitespace.
1547 [^\\\x80-\xff\n\015()] * # normal*
1549 (?: \\ [^\x80-\xff] |
1551 [^\\\x80-\xff\n\015()] * # normal*
1552 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1555 [^\\\x80-\xff\n\015()] * # normal*
1558 [\040\t]* )* # If comment found, allow more spaces.
1559 # optional trailing comments
1561 )* # additional domains
1563 [\040\t]* # Nab whitespace.
1566 [^\\\x80-\xff\n\015()] * # normal*
1568 (?: \\ [^\x80-\xff] |
1570 [^\\\x80-\xff\n\015()] * # normal*
1571 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1574 [^\\\x80-\xff\n\015()] * # normal*
1577 [\040\t]* )* # If comment found, allow more spaces.
1578 # optional trailing comments
1581 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1582 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1586 [^\\\x80-\xff\n\015"] * # normal
1587 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1591 [\040\t]* # Nab whitespace.
1594 [^\\\x80-\xff\n\015()] * # normal*
1596 (?: \\ [^\x80-\xff] |
1598 [^\\\x80-\xff\n\015()] * # normal*
1599 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1602 [^\\\x80-\xff\n\015()] * # normal*
1605 [\040\t]* )* # If comment found, allow more spaces.
1608 [\040\t]* # Nab whitespace.
1611 [^\\\x80-\xff\n\015()] * # normal*
1613 (?: \\ [^\x80-\xff] |
1615 [^\\\x80-\xff\n\015()] * # normal*
1616 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1619 [^\\\x80-\xff\n\015()] * # normal*
1622 [\040\t]* )* # If comment found, allow more spaces.
1624 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1625 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1629 [^\\\x80-\xff\n\015"] * # normal
1630 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015"] * )* # ( special normal* )*
1634 [\040\t]* # Nab whitespace.
1637 [^\\\x80-\xff\n\015()] * # normal*
1639 (?: \\ [^\x80-\xff] |
1641 [^\\\x80-\xff\n\015()] * # normal*
1642 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1645 [^\\\x80-\xff\n\015()] * # normal*
1648 [\040\t]* )* # If comment found, allow more spaces.
1652 [\040\t]* # Nab whitespace.
1655 [^\\\x80-\xff\n\015()] * # normal*
1657 (?: \\ [^\x80-\xff] |
1659 [^\\\x80-\xff\n\015()] * # normal*
1660 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1663 [^\\\x80-\xff\n\015()] * # normal*
1666 [\040\t]* )* # If comment found, allow more spaces.
1668 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1669 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1672 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1675 [\040\t]* # Nab whitespace.
1678 [^\\\x80-\xff\n\015()] * # normal*
1680 (?: \\ [^\x80-\xff] |
1682 [^\\\x80-\xff\n\015()] * # normal*
1683 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1686 [^\\\x80-\xff\n\015()] * # normal*
1689 [\040\t]* )* # If comment found, allow more spaces.
1690 # optional trailing comments
1693 [\040\t]* # Nab whitespace.
1696 [^\\\x80-\xff\n\015()] * # normal*
1698 (?: \\ [^\x80-\xff] |
1700 [^\\\x80-\xff\n\015()] * # normal*
1701 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1704 [^\\\x80-\xff\n\015()] * # normal*
1707 [\040\t]* )* # If comment found, allow more spaces.
1709 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
1710 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
1713 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
1716 [\040\t]* # Nab whitespace.
1719 [^\\\x80-\xff\n\015()] * # normal*
1721 (?: \\ [^\x80-\xff] |
1723 [^\\\x80-\xff\n\015()] * # normal*
1724 (?: \\ [^\x80-\xff] [^\\\x80-\xff\n\015()] * )* # (special normal*)*
1727 [^\\\x80-\xff\n\015()] * # normal*
1730 [\040\t]* )* # If comment found, allow more spaces.
1731 # optional trailing comments
1738 Alan Other <user\@dom.ain>
1741 \"A. Other\" <user.1234\@dom.ain> (a comment)
1742 A. Other <user.1234\@dom.ain> (a comment)
1743 \"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"\@x400-re.lay
1744 A missing angle <user\@some.where
1748 /abc\0def\00pqr\000xyz\0000AB/
1749 abc\0def\00pqr\000xyz\0000AB
1750 abc456 abc\0def\00pqr\000xyz\0000ABCDE
1752 /abc\x0def\x00pqr\x000xyz\x0000AB/
1753 abc\x0def\x00pqr\x000xyz\x0000AB
1754 abc456 abc\x0def\x00pqr\x000xyz\x0000ABCDE
1792 /([^.]*)\.([^:]*):[T ]+(.*)/
1793 track1.title:TBlah blah blah
1795 /([^.]*)\.([^:]*):[T ]+(.*)/i
1796 track1.title:TBlah blah blah
1798 /([^.]*)\.([^:]*):[t ]+(.*)/i
1799 track1.title:TBlah blah blah
1934 /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
1958 /^([^a])([^\b])([^c]*)([^d]{3,4})/
2020 /\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377/
2021 \000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377
2023 /P[^*]TAIRE[^*]{1,6}?LL/
2024 xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
2026 /P[^*]TAIRE[^*]{1,}?LL/
2027 xxxxxxxxxxxPSTAIREISLLxxxxxxxxx
2034 /(\.\d\d((?=0)|\d(?=\d)))/
2044 Food is on the foo table
2047 The food is under the bar in the barn.
2050 The food is under the bar in the barn.
2053 I have 2 numbers: 53147
2056 I have 2 numbers: 53147
2059 I have 2 numbers: 53147
2062 I have 2 numbers: 53147
2065 I have 2 numbers: 53147
2068 I have 2 numbers: 53147
2071 I have 2 numbers: 53147
2074 I have 2 numbers: 53147
2079 /^(\D*)(?=\d)(?!123)/
2107 /\d\d\/\d\d\/\d\d\d\d/
2110 /word (?:[a-zA-Z0-9]+ ){0,10}otherword/
2111 word cat dog elephant mussel cow horse canary baboon snake shark otherword
2112 word cat dog elephant mussel cow horse canary baboon snake shark
2114 /word (?:[a-zA-Z0-9]+ ){0,300}otherword/
2115 word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
2196 borfle\nbib.gif\nno\n
2199 borfle\nbib.gif\nno\n
2202 borfle\nbib.gif\nno\n
2205 borfle\nbib.gif\nno\n
2260 /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/
2263 /^\d\d\d\d\d\d\d\d\d\d\d\d/
2266 /^[\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d][\d]/
2278 /^[abcdefghijklmnopqrstuvwxy0123456789]/
2311 the \"quick\" brown fox
2312 \"the \\\"quick\\\" brown fox\"
2326 /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/is
2327 <TR BGCOLOR='#DBE9E9'><TD align=left valign=top>43.<a href='joblist.cfm?JobID=94 6735&Keyword='>Word Processor<BR>(N-1286)</a></TD><TD align=left valign=top>Lega lstaff.com</TD><TD align=left valign=top>CA - Statewide</TD></TR>
2404 /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
2407 /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
2409 /(?>(\.\d\d[1-9]?))\d+/
2415 /^((?>\w+)|(?>\s+))*$/
2416 now is the time for all good men to come to the aid of the party
2418 this is not a line with only words and spaces!
2447 /((?>[^()]+)|\([^()]*\))+/
2450 /\(((?>[^()]+)|\([^()]+\))+\)/
2454 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2470 /(a b(?x)c d (?-x)e f)/
2508 /(?s-i:more.*than).*million/i
2511 more \n than Million
2514 more \n than \n million
2516 /(?:(?s-i)more.*than).*million/i
2519 more \n than Million
2522 more \n than \n million
2541 /(?<=a(?i)b)(\w\w)c/
2549 /^(?(?=abc)\w{3}:|\d\d)$/
2556 /^(?(?!abc)\d\d|\w{3}:)$/
2563 /(?(?<=foo)bar|cat)/
2571 /(?(?<!foo)cat|bar)/
2642 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /x
2648 /(?i:saturday|sunday)/
2668 /^([ab](?i)[cd]|[ef])/
2679 /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
2696 /(?<=(?<!foo)bar)baz/
2704 /The following tests are taken from the Perl 5.005 test suite; some of them/
2705 /are compatible with 5.004, but I'd rather not have to sort them out./
3045 /[a-zA-Z_][a-zA-Z0-9_]*/
3048 /^a(bc+|b[eh])g|.h$/
3051 /(bc+d$|ef*g.|h?i(j|k))/
3059 /((((((((((a))))))))))/
3062 /(((((((((a)))))))))/
3065 /multiple words of text/
3071 multiple words, yeah
3355 /[a-zA-Z_][a-zA-Z0-9_]*/i
3358 /^a(bc+|b[eh])g|.h$/i
3361 /(bc+d$|ef*g.|h?i(j|k))/i
3370 /((((((((((a))))))))))/i
3373 /(((((((((a)))))))))/i
3376 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
3379 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
3382 /multiple words of text/i
3388 MULTIPLE WORDS, YEAH
3432 /a(?:b|c|d){4,5}(.)/
3435 /a(?:b|c|d){4,5}?(.)/
3441 /a(?:b|c|d){6,7}(.)/
3444 /a(?:b|c|d){6,7}?(.)/
3447 /a(?:b|c|d){5,6}(.)/
3450 /a(?:b|c|d){5,6}?(.)/
3453 /a(?:b|c|d){5,7}(.)/
3456 /a(?:b|c|d){5,7}?(.)/
3459 /a(?:b|(c|e){1,2}?|d)+?(.)/
3471 /(?:(f)(o)(o)|(b)(a)(r))*/
3619 /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
3622 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
3623 caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
3634 /^a (?#xxx) (?#yyy) {3}c/x
3658 /((?s)^a(.))((?m)^b$)/
3753 /((?>[^()]+)|\([^()]*\))+/
3773 /(?>.*)(?<=(abcd|wxyz))/
3777 a rather long string that doesn't end with one of them
3779 /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
3780 word cat dog elephant mussel cow horse canary baboon snake shark otherword
3781 word cat dog elephant mussel cow horse canary baboon snake shark
3783 /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
3784 word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
3786 /(?<=\d{3}(?!999))foo/
3792 /(?<=(?!...999)\d{3})foo/
3798 /(?<=\d{3}(?!999)...)foo/
3804 /(?<=\d{3}...)(?<!999)foo/
3843 > \x09\x0a\x0c\x0d\x0b<
3846 > \x09\x0a\x0c\x0d\x0b<
3849 > \x09\x0a\x0c\x0d\x0b<
3852 > \x09\x0a\x0c\x0d\x0b<
3877 abc#not comment\n literal
3882 abc#not comment\n literal
3886 literal\E #more comment
3888 abc#not comment\n literal
3892 literal\E #more comment/x
3893 abc#not comment\n literal
3917 /((?x)x y z | a b c)/
3952 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3954 /(?i)reg(?:ul(?:[aä]|ae)r|ex)/
3960 /Åæåä[à -ÿÀ-ß]+/
3976 /abc/SS>testsavedregex
3982 /abc/FSS>testsavedregex
3988 /(a|b)/S>testsavedregex
3994 /(a|b)/SF>testsavedregex
4001 this is a line\nbreak
4002 line one\nthis is a line\nbreak in the second line
4005 this is a line\nbreak
4007 line one\nthis is a line\nbreak in the second line
4010 this is a line\nbreak
4012 line one\nthis is a line\nbreak in the second line
4045 /Content-Type\x3A[^\r\n]{6,}/
4046 Content-Type:xxxxxyyy
4048 /Content-Type\x3A[^\r\n]{6,}z/
4049 Content-Type:xxxxxyyyz
4051 /Content-Type\x3A[^a]{6,}/
4054 /Content-Type\x3A[^a]{6,}z/
4055 Content-Type:xxxyyyz
4077 xyzabc\r\npqr\<crlf>
4134 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4135 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4138 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4139 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4142 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4143 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4155 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
4158 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
4160 /^a\Rb/<bsr_unicode>
4170 /^a\R*b/<bsr_unicode>
4181 /^a\R+b/<bsr_unicode>
4193 /^a\R{1,3}b/<bsr_unicode>
4205 /^a[\R]b/<bsr_unicode>
4247 /(?m)^$|^\r\n/<any>g+
4257 /(x)(?|(abc)|(xyz))(x)/
4261 /(x)(?|(abc)(pqr)|(xyz))(x)/
4265 /(?|(abc)|(xyz))(?1)/
4278 \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
4279 \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
4280 \x09\x20\xa0\x0a\x0b\x0c
4282 \x09\x20\xa0\x0a\x0b
4298 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
4299 >XY\x0aZ\x0aA\x0bNN\x0c
4300 >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
4314 /a\Rb/I<bsr_anycrlf>
4322 /a\Rb/I<bsr_unicode>
4329 a\x85b\<bsr_anycrlf>
4330 a\x0bb\<bsr_anycrlf>
4332 /a\R?b/I<bsr_anycrlf>
4340 /a\R?b/I<bsr_unicode>
4347 a\x85b\<bsr_anycrlf>
4348 a\x0bb\<bsr_anycrlf>
4350 /a\R{2,4}b/I<bsr_anycrlf>
4358 /a\R{2,4}b/I<bsr_unicode>
4366 a\x85\85b\<bsr_anycrlf>
4367 a\x0b\0bb\<bsr_anycrlf>
4415 /(*NO_START_OPT)xyz/C
4426 /^"((?(?=[a])[^"])|b)*"$/C
4497 the quick xyz brown fox
4499 \Ythe quick xyz brown fox
4501 thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4502 \Ythejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4506 the quick xyz brown fox
4508 \Ythe quick xyz brown fox
4510 thejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4511 \Ythejk;adlfj aenjl;fda asdfasd ehj;kjxyasiupd
4534 /(?:(?1)|B)(A(*F)|C)/
4540 /^(?:(?1)|B)(A(*F)|C)/
4673 /^(?=(?1))?[az]([abc])d/
4699 /(?(R)a*(?1)|((?R))b)/
4785 /-- Test simple validity check for restarts --/
4790 /<H((?(?!<H|F>)(.)|(?R))++)*F>/
4791 text <H more text <H texting more hexA0-"\xA0" hex above 7F-"\xBC" F> text xxxxx <H text F> text F> text2 <H text sample F> more text.
4793 /^(?>.{4})abc|^\w\w.xabcd/
4797 /^(.{4}){2}+abc|^\w\w.x\w\w\w\wabcd/
4801 /-- End of testinput8 --/