1 /-- This set of tests is not Perl-compatible. It checks on special features
2 of PCRE's API, error diagnostics, and the compiled code of some patterns.
3 It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4 Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5 either because PCRE can't be compatible, or there is a possible Perl
8 NOTE: This is a non-UTF set of tests. When UTF support is needed, use
9 test 5, and if Unicode Property Support is needed, use test 7. --/
78 this sentence eventually mentions a cat
79 this sentences rambles on and on for a while and then reaches elephant
82 this sentence eventually mentions a cat
83 this sentences rambles on and on for a while and then reaches elephant
86 this sentence eventually mentions a CAT cat
87 this sentences rambles on and on for a while to elephant ElePhant
127 /the quick brown fox/I
129 this is a line with the quick brown fox
131 /the quick brown fox/IA
134 this is a line with the quick brown fox
151 co-processors, and for
174 /(?<!bar|cattle)foo/I
227 /(a*b|(?i:c*(?-i)d))/IS
247 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
252 /(?<!foo)(alpha|omega)/IS
282 /The next three are in testinput2 because they have variable length branches/
284 /(?<=bullock|donkey)-cart/I
293 /(?>.*)(?<=(abcd)|(xyz))/I
297 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
316 /This one is here because Perl 5.005_02 doesn't fail it/I
322 /This one is here because Perl behaves differently; see also the following/I
328 /Perl does not fail these two for the final subjects. Neither did PCRE until/
329 /release 8.01. The problem is in backtracking into a subpattern that contains/
330 /a recursive reference to itself. PCRE has now made these into atomic patterns./
342 /These are syntax tests from Perl 5.005/I
418 abcdefghijklmnopqrstuvwxyz
419 abcdefghijklmnopqrstuvwxyz\C1
420 abcdefghijklmnopqrstuvwxyz\G1
423 abcdefghijklmnopqrstuvwxyz
424 abcdefghijklmnopqrstuvwxyz\C1\G1
427 abcdefghijklmnopqrstuvwxyz
428 abcdefghijklmnopqrstuvwxyz\C1\G1\L
438 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
439 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
440 )?)?)?)?)?)?)?)?)?otherword/I
569 /a(?(1)bag|big)*(.)/I
571 /a(?(1)bag|big)+(.)/I
595 (?: # Non-capturing bracket
596 (?>[^()]+) # Either a sequence of non-brackets (no backtracking)
598 (?R) # Recurse - i.e. nested bracketed string
599 )* # Zero or more contents
608 12(abcde(fsh)xyz(foo(bar))lmno)89
614 /\( ( (?>[^()]+) | (?R) )* \) /Ixg
618 /\( (?: (?>[^()]+) | (?R) ) \) /Ix
626 /\( (?: (?>[^()]+) | (?R) )? \) /Ix
628 12(abcde(fsh)xyz(foo(bar))lmno)89
630 /\( ( (?>[^()]+) | (?R) )* \) /Ix
633 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
636 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
640 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
644 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
647 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
650 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
672 /[\n\x0b\x0c\x0d[:blank:]]/IS
716 /((?-i)[[:lower:]])[[:lower:]]/Ii
727 /This one's here because of the large output vector needed/I
729 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
730 \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
732 /This one's here because Perl does this differently and PCRE can't at present/I
738 /These are all cases where Perl does it differently (nested captures)/I
761 /^(?:aa(b(?:b))?)+$/I
764 /^(?:aa(bb(?:b))?)+$/I
767 /^(?:aa(b(?:bb))?)+$/I
770 /^(?:aa(?:b(b))?)+$/I
773 /^(?:aa(?:b(bb))?)+$/I
782 /--------------------------------------------------------------------/I
809 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
811 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
843 now is the time for all good men to come to the aid of the party
845 this is not a line with only words and spaces!
861 /([^()]++|\([^()]*\))+/I
864 /\(([^()]++|\([^()]+\))+\)/I
868 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
886 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
918 /[[:space:]abcde]/IDZ
920 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix
930 |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
932 |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
1015 /(?C1)\dabc(?C2)def/IS
1020 /(?C1)\dabc(?C2)def/ISS
1037 /(abc)(?C)de(?C1)f/I
1055 /((xyz)(?C)p|(?C1)xyzabc)/I
1058 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
1061 /(?=(abc))(?C)abcdef/I
1064 /(?!(abc)(?C1)d)(?C2)abcxyz/I
1067 /(?<=(abc)(?C))xyz/I
1086 /(ab|(bc|(de|(?R))))/I
1088 /x(ab|(bc|(de|(?R))))/I
1097 /(ab|(bc|(de|(?1))))/I
1099 /x(ab|(bc|(de|(?1)x)x)x)/I
1101 /^([^()]|\((?1)*\))*$/I
1108 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
1117 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
1131 /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix
1158 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
1162 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
1164 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
1166 /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii
1168 Satan, oscillate my metallic sonatas!
1169 A man, a plan, a canal: Panama!
1170 Able was I ere I saw Elba.
1174 /((?(R)a|b))\1(?1)?/I
1186 /((.*)a|(.*)b)z\1/Is
1188 /((.*)a|(.*)b)z\2/Is
1190 /((.*)a|(.*)b)z\3/Is
1192 /((.*)a|^(.*)b)z\3/Is
1194 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
1196 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
1198 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
1203 /(?P<one>a)(bc)/INDZ
1206 /(a)(?P<named>bc)/INDZ
1209 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
1218 /ab(?P<one>cd)ef(?P<two>gh)/I
1224 /(?P<Tes>)(?P<Test>)/DZ
1226 /(?P<Test>)(?P<Tes>)/DZ
1228 /(?P<Z>zz)(?P<A>aa)/I
1232 /(?P<x>eks)(?P<x>eccs)/I
1234 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
1236 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
1237 [10,20,30,5,5,4,4,2,43,23,4234]
1241 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
1242 [10,20,30,5,5,4,4,2,43,23,4234]
1249 /(a(b(?2)c)){0,2}/DZ
1253 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
1254 Baby Bjorn Active Carrier - With free SHIPPING!!
1256 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
1257 Baby Bjorn Active Carrier - With free SHIPPING!!
1263 /abc(?C255)de(?C)f/DZ
1301 /([ab]{,4}c|xy)/ICDZS
1302 Note: that { does NOT introduce a quantifier
1304 /([ab]{,4}c|xy)/ICDZSS
1305 Note: that { does NOT introduce a quantifier
1307 /([ab]{1,4}c|xy){4,5}?123/ICDZ
1324 the quick brown abc\P
1326 the quick brown abxyz fox\P
1328 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
1378 /abc/IS>testsavedregex
1384 /abc/ISS>testsavedregex
1390 /abc/IFS>testsavedregex
1396 /abc/IFSS>testsavedregex
1402 /(a|b)/IS>testsavedregex
1408 /(a|b)/ISS>testsavedregex
1414 /(a|b)/ISF>testsavedregex
1420 /(a|b)/ISSF>testsavedregex
1426 ~<(\w+)/?>(.)*</(\1)>~smgI
1427 \J1024<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
1432 this is a line\nbreak
1433 line one\nthis is a line\nbreak in the second line
1436 this is a line\nbreak
1438 line one\nthis is a line\nbreak in the second line
1441 this is a line\nbreak
1443 line one\nthis is a line\nbreak in the second line
1450 /a{11111111111111111111}/I
1456 "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
1459 "(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I
1462 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
1465 "(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I
1466 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1468 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I
1469 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1471 /[^()]*(?:\((?R)\)[^()]*)*/I
1474 (this(and)that)stuff
1476 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
1480 /[^()]*(?:\((?R)\))*[^()]*/I
1484 /(?:\((?R)\))*[^()]*/I
1489 /(?:\((?R)\))|[^()]*/I
1497 /^((?P<A>a1)|(?P<A>a2)b)/I
1499 /^((?P<A>a1)|(?P<A>a2)b)/IJ
1505 /^(?P<A>a)(?P<A>b)/IJ
1508 /^(?P<A>a)(?P<A>b)|cd/IJ
1512 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1515 /^((?P<A>a1)|(?P<A>a2)b)/IJ
1521 /^(?P<A>a)(?P<A>b)/IJ
1524 /^(?P<A>a)(?P<A>b)|cd/IJ
1528 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1531 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
1535 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
1537 / In this next test, J is not set at the outer level; consequently it isn't
1538 set in the pattern's options; consequently pcre_get_named_substring() produces
1541 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
1544 /^(?P<A>a)?(?(A)a|b)/I
1550 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
1553 /(?:(?(2y)a|b)(X))+/I
1555 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
1557 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
1560 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
1565 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1569 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1596 xyzabc\r\npqr\<crlf>
1643 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
1644 /* this is a C style comment */\M
1646 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
1648 /()()()()()()()()()()()()()()()()()()()()
1649 ()()()()()()()()()()()()()()()()()()()()
1650 ()()()()()()()()()()()()()()()()()()()()
1651 ()()()()()()()()()()()()()()()()()()()()
1652 ()()()()()()()()()()()()()()()()()()()()
1656 /(a*b|(?i:c*(?-i)d))/IS
1693 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1694 ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1697 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1698 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1835 /(?P<abc>x)(?P<xyz>y)/I
1838 /(?<abc>x)(?'xyz'y)/I
1841 /(?<abc'x)(?'xyz'y)/I
1843 /(?<abc>x)(?'xyz>y)/I
1845 /(?P'abc'x)(?P<xyz>y)/I
1847 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
1854 /^(?P>abc)(?<abcd>xxx)/
1856 /^(?P>abc)(?<abc>x|y)/
1862 /^(?P>abc)(?P<abc>x|y)/
1868 /^((?(abc)a|b)(?<abc>x|y))+/
1874 /^(((?P=abc)|X)(?<abc>x|y))+/
1884 /^(?:(?:\1|X)(a|b))+/
1888 /^[\E\Qa\E-\Qz\E]+/BZ
1894 /^(?P>abc)[()](?<abc>)/BZ
1896 /^((?(abc)y)[()](?P<abc>x))+/BZ
1899 /^(?P>abc)\Q()\E(?<abc>)/BZ
1901 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
1903 /^(?P>abc) # this is (a comment)
1906 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
1908 Satan, oscillate my metallic sonatas!
1909 A man, a plan, a canal: Panama!
1910 Able was I ere I saw Elba.
1917 /(?=(?'abc'\w+))\k<abc>:/I
1920 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
1926 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
1938 /((abc (?(R) (?(R1)1) (?(R2)2) X | (?1) (?2) (?R) ))) /x
1939 abcabc1Xabc2XabcXabcabc
1941 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
1942 abcabc1Xabc2XabcXabcabc
1944 /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
1946 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
1947 abcabc1Xabc2XabcXabcabc
1949 /^(?(DEFINE) abc | xyz ) /x
1951 /(?(DEFINE) abc) xyz/xI
1954 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1955 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
1970 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
1973 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
1979 /^a\Rb/<bsr_unicode>
1989 /^a\R*b/<bsr_unicode>
2000 /^a\R+b/<bsr_unicode>
2012 /^a\R{1,3}b/<bsr_unicode>
2024 /^a[\R]b/<bsr_unicode>
2029 /(?&abc)X(?<abc>P)/I
2035 /(?:a(?&abc)b)*(?<abc>x)/
2039 /(?:a(?&abc)b){1,5}(?<abc>x)/
2042 /(?:a(?&abc)b){2,5}(?<abc>x)/
2045 /(?:a(?&abc)b){2,}(?<abc>x)/
2103 /(?m)^$|^\r\n/<any>g+
2110 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
2133 /^(abc)?(?(-1)X|Y)/BZ
2139 /^((?(+1)X|Y)(abc))+/BZ
2154 /(?<A>tom|bon)-\k{A}/
2166 /(x)(?|(abc)|(xyz))(x)/BZ
2170 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
2205 /\h+\d\h+\w\h+\S\h+\H/BZ
2207 /\v+\d\v+\w\v+\S\v+\V/BZ
2213 /\( (?: [^()]* | (?R) )* \)/x
2214 \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
2228 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
2236 /a+b?(*PRUNE)c+(*FAIL)/C
2239 /a+b?(*COMMIT)c+(*FAIL)/C
2242 /a+b?(*SKIP)c+(*FAIL)/C
2245 /a+b?(*THEN)c+(*FAIL)/C
2250 /(?i:A{1,}\6666666666)/
2315 /a\Rb/I<bsr_anycrlf>
2323 /a\Rb/I<bsr_unicode>
2330 a\x85b\<bsr_anycrlf>
2331 a\x0bb\<bsr_anycrlf>
2333 /a\R?b/I<bsr_anycrlf>
2341 /a\R?b/I<bsr_unicode>
2348 a\x85b\<bsr_anycrlf>
2349 a\x0bb\<bsr_anycrlf>
2351 /a\R{2,4}b/I<bsr_anycrlf>
2359 /a\R{2,4}b/I<bsr_unicode>
2367 a\x85\85b\<bsr_anycrlf>
2368 a\x0b\0bb\<bsr_anycrlf>
2370 /(*BSR_ANYCRLF)a\Rb/I
2374 /(*BSR_UNICODE)a\Rb/I
2377 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
2381 /(*CRLF)(*BSR_UNICODE)a\Rb/I
2384 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
2390 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
2448 /^(?+1)(?<a>x|y){0}z/
2482 /(?2)[]a()b](abc)(xyz)/
2485 /(?&N)[]a(?<N>)](?<M>abc)/
2488 /(?&N)[]a(?<N>)](abc)/
2523 /(abc|pqr|123){0}[xyz]/SI
2543 /(*NO_START_OPT)xyz/C
2549 /^"((?(?=[a])[^"])|b)*"$/C
2552 /^"((?(?=[a])[^"])|b)*"$/
2555 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
2558 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
2739 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
2741 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
2743 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
2753 /^(?:(?=abc)|abc\K)/+
2777 /^(?<name>a|b\g<name>c)/
2783 /^(?<name>a|b\g'name'c)/
2813 /(?-i:\g<name>)(?i:(?<name>a))/
2817 /(?i:\g<name>)(?-i:(?<name>a))/
2822 /(?-i:\g<+1>)(?i:(a))/
2826 /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
2832 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
2849 /(?<=b(?1))xyz(b+)pqrstuvew/
2861 /(a|bbbb\1)(a|bbbb\1)/SI
2865 /^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]/SI
2867 /<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>/isIS
2871 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI
2873 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
2875 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
2877 /<a[\s]+href[\s]*=[\s]* # find <a href=
2878 ([\"\'])? # find single or double quote
2879 (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching
2880 # quote, otherwise match up to next space
2883 /^(?!:) # colon disallowed at start
2885 (?: [0-9a-f]{1,4} | # 1-4 hex digits or
2886 (?(1)0 | () ) ) # if null previously matched, fail; else null
2887 : # followed by colon
2888 ){1,7} # end item; 1-7 of them required
2889 [0-9a-f]{1,4} $ # final hex number at end of string
2890 (?(1)|.) # check that there was an empty component
2893 /(?|(?<a>A)|(?<a>B))/I
2897 /(?|(?<a>A)|(?<b>B))/
2899 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
2900 b(?<quote> (?<apostrophe>')|(?<realquote>")) )
2901 (?('quote')[a-z]+|[0-9]+)/JIx
2908 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
2915 /(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/JDZx
2942 /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
2943 broken and not behaving as specified in that it *does* bumpalong after
2944 hitting (*COMMIT). --/
2946 /(?1)(A(*COMMIT)|B)D/
2964 /i(?(DEFINE)(?<s>a))/SI
2981 /^(ab(c\1)d|x){2}$/BZ
2984 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
2986 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
2988 / -- The first four of these are not in the Perl >= 5.10 test because Perl
2989 documents that the use of \K in assertions is "not well defined". The
2990 last is here because Perl gives the match as "b" rather than "ab". I
2991 believe this to be a Perl bug. --/
3008 /----------------------/
3010 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
3018 /--- This should, and does, fail. In Perl, it does not, which I think is a
3019 bug because replacing the B in the pattern by (B|D) does make it fail. ---/
3024 /--- These should be different, but in Perl 5.11 are not, which I think
3025 is a bug in Perl. ---/
3027 /A(*THEN)B|A(*THEN)C/K
3030 /A(*PRUNE)B|A(*PRUNE)C/K
3033 /--- This should fail; the SKIP advances by one, but when we get to AC, the
3034 PRUNE kills it. Perl behaves differently. ---/
3036 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
3039 /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
3040 though PCRE does. ---/
3042 /^A(*:A)B|^X(*:A)Y/K
3046 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl
3047 optimizations defeat this. So does the PCRE optimization unless we disable it
3055 /^(ab (c+(*THEN)cd) | xyz)/x
3058 /^(ab (c+(*PRUNE)cd) | xyz)/x
3061 /^(ab (c+(*FAIL)cd) | xyz)/x
3064 /--- Perl 5.11 gets some of these wrong ---/
3106 /-- Perl treats this one differently, not failing the second string. I believe
3107 that is a bug in Perl. --/
3109 /^((abc|abcx)(*THEN)y|abcd)/
3160 /(?P<abn>(?P=abn)xxx)/BZ
3164 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
3166 /(?P<abn>(?P=axn)xxx)/BZ
3168 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
3170 /-- These tests are here because Perl gets the first one wrong. --/
3182 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
3259 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
3261 /(?1)(?:(b(*ACCEPT))){0}/
3264 /(?1)(?:(b(*ACCEPT))){0}c/
3269 /(?1)(?:((*ACCEPT))){0}c/
3273 /^.*?(?(?=a)a|b(*THEN)c)/
3279 /^.*?(?(?=a)a(*THEN)b|c)/
3282 /^.*?(?(?=a)a(*THEN)b)c/
3288 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
3291 /^.*?(a(*THEN)b|z)c/
3294 /^.*?(z|a(*THEN)b)c/
3299 /-- These studied versions are here because they are not Perl-compatible; the
3300 studying means the mark is not seen. --/
3302 /(*MARK:A)(*SKIP:B)(C|X)/KS
3306 /(*:A)A+(*SKIP:A)(B|Z)/KS
3315 /(?1)c(?(DEFINE)((*ACCEPT)b))/
3336 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
3338 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
3340 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
3352 /(?:(foo)|(bar)|(baz))X/SS=
3377 /^(?=(a)){0}b(?1)/BZ
3379 /(?(DEFINE)(a))?b(?1)/BZ
3381 /^(?=(?1))?[az]([abc])d/BZ
3392 /((?(R2)a+|(?1)b))/SS
3395 /(?(R)a*(?1)|((?R))b)/SS
3400 /^(a(*:A)(d|e(*:B))z|aeq)/C
3408 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
3410 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
3412 /a(*SKIP)c|b(*ACCEPT)|/+SI
3415 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
3430 \Mabbbbbbbbbbbbbbbbbbbbba
3432 /a(?:.(*THEN))*?a/ims
3433 \Mabbbbbbbbbbbbbbbbbbbbba
3435 /a(?:.(*THEN:ABC))*?a/ims
3436 \Mabbbbbbbbbbbbbbbbbbbbba
3438 /-- These tests are in agreement with development Perl 5.015, which has fixed
3439 some things, but they don't all work with 5.012, so they aren't in the
3440 Perl-compatible tests. Those after the first come from Perl's own test
3443 /^((yes|no)(*THEN)(*F))?/
3446 /(A (.*) C? (*THEN) | A D) (*FAIL)/x
3449 /(A (.*) C? (*THEN) | A D) z/x
3452 /(A (.*) C? (*THEN) | A D) \s* (*FAIL)/x
3455 /(A (.*) C? (*THEN) | A D) \s* z/x
3458 /(A (.*) (?:C|) (*THEN) | A D) (*FAIL)/x
3461 /(A (.*) (?:C|) (*THEN) | A D) z/x
3464 /(A (.*) C{0,6} (*THEN) | A D) (*FAIL)/x
3467 /(A (.*) C{0,6} (*THEN) | A D) z/x
3470 /(A (.*) (CE){0,6} (*THEN) | A D) (*FAIL)/x
3473 /(A (.*) (CE){0,6} (*THEN) | A D) z/x
3476 /(A (.*) (CE*){0,6} (*THEN) | A D) (*FAIL)/x
3479 /(A (.*) (CE*){0,6} (*THEN) | A D) z/x
3482 /-----------------------------------------------/
3484 /^(?>a+)(?>(z+))\w/BZ
3495 /(.)((?(1)c|a)|a(?2))/
3498 /(?P<abn>(?P=abn)xxx)/BZ
3502 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
3505 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
3508 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
3549 /(a)(?2){0,1999}?(b)/
3551 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
3553 /--- This test, with something more complicated than individual letters, causes
3554 different behaviour in Perl. Perhaps it disables some optimization; no tag is
3555 passed back for the failures, whereas in PCRE there is a tag. ---/
3557 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
3566 /-- Perl doesn't give marks for these, though it does if the alternatives are
3567 replaced by single letters. --/
3569 /(b|q)(*:m)f|a(*:n)w/K
3574 /(q|b)(*:m)f|a(*:n)w/K
3579 /-- After a partial match, the behaviour is as for a failure. --/
3584 /-- These are here because Perl doesn't return a mark, except for the first --/
3589 /(?=(*:x))((*:y)q|)/K+
3592 /(?=(*:x))(?:(*:y)q|)/K+
3595 /(?=(*:x))(?>(*:y)q|)/K+
3598 /(?=a(*:x))(?!a(*:y)c)/K+
3601 /(?=a(*:x))(?=a(*:y)c|)/K+
3604 /-- End of testinput2 --/