tools/pcre/testdata/testinput2
changeset 3831 babd0eee3c5e
parent 2762 d2d467bf1b5a
     1.1 --- a/tools/pcre/testdata/testinput2	Sun Mar 17 11:29:55 2013 -0400
     1.2 +++ b/tools/pcre/testdata/testinput2	Sun Mar 17 11:32:03 2013 -0400
     1.3 @@ -1,3 +1,13 @@
     1.4 +/-- This set of tests is not Perl-compatible. It checks on special features
     1.5 +    of PCRE's API, error diagnostics, and the compiled code of some patterns.
     1.6 +    It also checks the non-Perl syntax the PCRE supports (Python, .NET, 
     1.7 +    Oniguruma). Finally, there are some tests where PCRE and Perl differ, 
     1.8 +    either because PCRE can't be compatible, or there is a possible Perl 
     1.9 +    bug.
    1.10 +    
    1.11 +    NOTE: This is a non-UTF set of tests. When UTF support is needed, use
    1.12 +    test 5, and if Unicode Property Support is needed, use test 7. --/
    1.13 +  
    1.14  /(a)b|/I
    1.15  
    1.16  /abc/I
    1.17 @@ -40,6 +50,16 @@
    1.18  
    1.19  /(?X)[\B]/
    1.20  
    1.21 +/(?X)[\R]/
    1.22 +
    1.23 +/(?X)[\X]/
    1.24 +
    1.25 +/[\B]/BZ
    1.26 +
    1.27 +/[\R]/BZ
    1.28 +
    1.29 +/[\X]/BZ
    1.30 +
    1.31  /[z-a]/
    1.32  
    1.33  /^*/
    1.34 @@ -123,40 +143,6 @@
    1.35      defabc
    1.36      \Zdefabc
    1.37  
    1.38 -/abc/IP
    1.39 -    abc
    1.40 -    *** Failers
    1.41 -
    1.42 -/^abc|def/IP
    1.43 -    abcdef
    1.44 -    abcdef\B
    1.45 -
    1.46 -/.*((abc)$|(def))/IP
    1.47 -    defabc
    1.48 -    \Zdefabc
    1.49 -
    1.50 -/the quick brown fox/IP
    1.51 -    the quick brown fox
    1.52 -    *** Failers
    1.53 -    The Quick Brown Fox
    1.54 -
    1.55 -/the quick brown fox/IPi
    1.56 -    the quick brown fox
    1.57 -    The Quick Brown Fox
    1.58 -
    1.59 -/abc.def/IP
    1.60 -    *** Failers
    1.61 -    abc\ndef
    1.62 -
    1.63 -/abc$/IP
    1.64 -    abc
    1.65 -    abc\n
    1.66 -
    1.67 -/(abc)\2/IP
    1.68 -
    1.69 -/(abc\1)/IP
    1.70 -    abc
    1.71 -
    1.72  /)/
    1.73  
    1.74  /a[]b/
    1.75 @@ -333,10 +319,25 @@
    1.76      *** Failers
    1.77      a
    1.78  
    1.79 -/This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I
    1.80 +/This one is here because Perl behaves differently; see also the following/I
    1.81  
    1.82  /^(a\1?){4}$/I
    1.83 +    aaaa
    1.84      aaaaaa
    1.85 +    
    1.86 +/Perl does not fail these two for the final subjects. Neither did PCRE until/
    1.87 +/release 8.01. The problem is in backtracking into a subpattern that contains/
    1.88 +/a recursive reference to itself. PCRE has now made these into atomic patterns./
    1.89 +
    1.90 +/^(xa|=?\1a){2}$/
    1.91 +    xa=xaa
    1.92 +    ** Failers
    1.93 +    xa=xaaa
    1.94 +
    1.95 +/^(xa|=?\1a)+$/
    1.96 +    xa=xaa
    1.97 +    ** Failers
    1.98 +    xa=xaaa
    1.99  
   1.100  /These are syntax tests from Perl 5.005/I
   1.101  
   1.102 @@ -406,8 +407,6 @@
   1.103  
   1.104  /abc/\
   1.105  
   1.106 -/abc/\P
   1.107 -
   1.108  /abc/\i
   1.109  
   1.110  /(a)bc(d)/I
   1.111 @@ -455,9 +454,6 @@
   1.112  /\Biss\B/I+
   1.113      Mississippi
   1.114  
   1.115 -/\Biss\B/I+P
   1.116 -    Mississippi
   1.117 -
   1.118  /iss/IG+
   1.119      Mississippi
   1.120  
   1.121 @@ -593,15 +589,6 @@
   1.122      *** Failers
   1.123      \Nabc
   1.124  
   1.125 -/a*(b+)(z)(z)/IP
   1.126 -    aaaabbbbzzzz
   1.127 -    aaaabbbbzzzz\O0
   1.128 -    aaaabbbbzzzz\O1
   1.129 -    aaaabbbbzzzz\O2
   1.130 -    aaaabbbbzzzz\O3
   1.131 -    aaaabbbbzzzz\O4
   1.132 -    aaaabbbbzzzz\O5
   1.133 -
   1.134  /^.?abcd/IS
   1.135  
   1.136  /\(             # ( at start
   1.137 @@ -1025,7 +1012,12 @@
   1.138  /abc(?C)de(?C1)f/I
   1.139      123abcdef
   1.140  
   1.141 -/(?C1)\dabc(?C2)def/I
   1.142 +/(?C1)\dabc(?C2)def/IS
   1.143 +    1234abcdef
   1.144 +    *** Failers
   1.145 +    abcdef
   1.146 +
   1.147 +/(?C1)\dabc(?C2)def/ISS
   1.148      1234abcdef
   1.149      *** Failers
   1.150      abcdef
   1.151 @@ -1122,14 +1114,6 @@
   1.152  
   1.153  /(a(?1)+b)/DZ
   1.154  
   1.155 -/^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii
   1.156 -    1221
   1.157 -    Satan, oscillate my metallic sonatas!
   1.158 -    A man, a plan, a canal: Panama!
   1.159 -    Able was I ere I saw Elba.
   1.160 -    *** Failers
   1.161 -    The quick brown fox
   1.162 -
   1.163  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
   1.164      12
   1.165      (((2+2)*-3)-7)
   1.166 @@ -1282,7 +1266,12 @@
   1.167    abcde
   1.168    abcdfe
   1.169  
   1.170 -/a*b/ICDZ
   1.171 +/a*b/ICDZS
   1.172 +  ab
   1.173 +  aaaab
   1.174 +  aaaacb
   1.175 +
   1.176 +/a*b/ICDZSS
   1.177    ab
   1.178    aaaab
   1.179    aaaacb
   1.180 @@ -1292,9 +1281,16 @@
   1.181    aaaab
   1.182    aaaacb
   1.183  
   1.184 -/(abc|def)x/ICDZ
   1.185 +/(abc|def)x/ICDZS
   1.186    abcx
   1.187    defx
   1.188 +  ** Failers 
   1.189 +  abcdefzx
   1.190 +
   1.191 +/(abc|def)x/ICDZSS
   1.192 +  abcx
   1.193 +  defx
   1.194 +  ** Failers 
   1.195    abcdefzx
   1.196  
   1.197  /(ab|cd){3,4}/IC
   1.198 @@ -1302,7 +1298,10 @@
   1.199    abcdabcd
   1.200    abcdcdcdcdcd
   1.201  
   1.202 -/([ab]{,4}c|xy)/ICDZ
   1.203 +/([ab]{,4}c|xy)/ICDZS
   1.204 +    Note: that { does NOT introduce a quantifier
   1.205 +
   1.206 +/([ab]{,4}c|xy)/ICDZSS
   1.207      Note: that { does NOT introduce a quantifier
   1.208  
   1.209  /([ab]{1,4}c|xy){4,5}?123/ICDZ
   1.210 @@ -1376,13 +1375,25 @@
   1.211      1X
   1.212      123456\P
   1.213  
   1.214 -/abc/I>testsavedregex
   1.215 +/abc/IS>testsavedregex
   1.216  <testsavedregex
   1.217      abc
   1.218      ** Failers
   1.219      bca
   1.220  
   1.221 -/abc/IF>testsavedregex
   1.222 +/abc/ISS>testsavedregex
   1.223 +<testsavedregex
   1.224 +    abc
   1.225 +    ** Failers
   1.226 +    bca
   1.227 +
   1.228 +/abc/IFS>testsavedregex
   1.229 +<testsavedregex
   1.230 +    abc
   1.231 +    ** Failers
   1.232 +    bca
   1.233 +
   1.234 +/abc/IFSS>testsavedregex
   1.235  <testsavedregex
   1.236      abc
   1.237      ** Failers
   1.238 @@ -1394,14 +1405,26 @@
   1.239      ** Failers
   1.240      def
   1.241  
   1.242 +/(a|b)/ISS>testsavedregex
   1.243 +<testsavedregex
   1.244 +    abc
   1.245 +    ** Failers
   1.246 +    def
   1.247 +
   1.248  /(a|b)/ISF>testsavedregex
   1.249  <testsavedregex
   1.250      abc
   1.251      ** Failers
   1.252      def
   1.253  
   1.254 +/(a|b)/ISSF>testsavedregex
   1.255 +<testsavedregex
   1.256 +    abc
   1.257 +    ** Failers
   1.258 +    def
   1.259 +
   1.260  ~<(\w+)/?>(.)*</(\1)>~smgI
   1.261 -    <!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>
   1.262 +    \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>
   1.263  
   1.264  /^a/IF
   1.265  
   1.266 @@ -1419,17 +1442,6 @@
   1.267      ** Failers
   1.268      line one\nthis is a line\nbreak in the second line
   1.269  
   1.270 -/ab.cd/IP
   1.271 -    ab-cd
   1.272 -    ab=cd
   1.273 -    ** Failers
   1.274 -    ab\ncd
   1.275 -
   1.276 -/ab.cd/IPs
   1.277 -    ab-cd
   1.278 -    ab=cd
   1.279 -    ab\ncd
   1.280 -
   1.281  /(?i)(?-i)AbCd/I
   1.282      AbCd
   1.283      ** Failers
   1.284 @@ -1480,14 +1492,6 @@
   1.285      (this)
   1.286      ((this))
   1.287  
   1.288 -/a(b)c/IPN
   1.289 -    abc
   1.290 -
   1.291 -/a(?P<name>b)c/IPN
   1.292 -    abc
   1.293 -
   1.294 -/\x{100}/I
   1.295 -
   1.296  /\x{0000ff}/I
   1.297  
   1.298  /^((?P<A>a1)|(?P<A>a2)b)/I
   1.299 @@ -1565,8 +1569,6 @@
   1.300  /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
   1.301      bXXaYYaY
   1.302  
   1.303 -/\777/I
   1.304 -
   1.305  /\s*,\s*/IS
   1.306      \x0b,\x0b
   1.307      \x0c,\x0d
   1.308 @@ -1915,13 +1917,6 @@
   1.309  /(?=(?'abc'\w+))\k<abc>:/I
   1.310      abcd:
   1.311  
   1.312 -/(?'abc'\w+):\k<abc>{2}/
   1.313 -    a:aaxyz
   1.314 -    ab:ababxyz
   1.315 -    ** Failers
   1.316 -    a:axyz
   1.317 -    ab:abxyz
   1.318 -
   1.319  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
   1.320      adaa
   1.321      ** Failers
   1.322 @@ -1934,10 +1929,6 @@
   1.323      ** Failers
   1.324      bddd
   1.325  
   1.326 -/^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x
   1.327 -    abd
   1.328 -    ce
   1.329 -
   1.330  /(?(<bc))/
   1.331  
   1.332  /(?(''))/
   1.333 @@ -1955,22 +1946,10 @@
   1.334  /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   1.335      abcabc1Xabc2XabcXabcabc
   1.336  
   1.337 -/^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x
   1.338 -    abcd
   1.339 -
   1.340 -/(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
   1.341 -  (?(DEFINE)
   1.342 -  (?<NAME_PAT>[a-z]+)
   1.343 -  (?<ADDRESS_PAT>\d+)
   1.344 -  )/x
   1.345 -    metcalfe 33
   1.346 -
   1.347  /^(?(DEFINE) abc | xyz ) /x
   1.348  
   1.349  /(?(DEFINE) abc) xyz/xI
   1.350  
   1.351 -/(?(DEFINE) abc){3} xyz/x
   1.352 -
   1.353  /(a|)*\d/
   1.354    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   1.355    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
   1.356 @@ -2053,22 +2032,6 @@
   1.357  /(?1)X(?<abc>P)/I
   1.358      abcPXP123
   1.359  
   1.360 -/(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/
   1.361 -    1.2.3.4
   1.362 -    131.111.10.206
   1.363 -    10.0.0.0
   1.364 -    ** Failers
   1.365 -    10.6
   1.366 -    455.3.4.5
   1.367 -
   1.368 -/\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/
   1.369 -    1.2.3.4
   1.370 -    131.111.10.206
   1.371 -    10.0.0.0
   1.372 -    ** Failers
   1.373 -    10.6
   1.374 -    455.3.4.5
   1.375 -
   1.376  /(?:a(?&abc)b)*(?<abc>x)/
   1.377      123axbaxbaxbx456
   1.378      123axbaxbaxb456
   1.379 @@ -2090,9 +2053,6 @@
   1.380     defabcabcxyz
   1.381     DEFabcABCXYZ
   1.382  
   1.383 -/^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/
   1.384 -    ababababbbabZXXXX
   1.385 -
   1.386  /^(a)\g-2/
   1.387  
   1.388  /^(a)\g/
   1.389 @@ -2191,26 +2151,12 @@
   1.390  /^(?(+1)X|Y)(.)/BZ
   1.391      Y!
   1.392  
   1.393 -/(foo)\Kbar/
   1.394 -    foobar
   1.395 -   
   1.396 -/(foo)(\Kbar|baz)/
   1.397 -    foobar
   1.398 -    foobaz 
   1.399 -
   1.400 -/(foo\Kbar)baz/
   1.401 -    foobarbaz
   1.402 -
   1.403  /(?<A>tom|bon)-\k{A}/
   1.404      tom-tom
   1.405      bon-bon 
   1.406      ** Failers
   1.407      tom-bon  
   1.408  
   1.409 -/(?<A>tom|bon)-\g{A}/
   1.410 -    tom-tom
   1.411 -    bon-bon 
   1.412 -    
   1.413  /\g{A/ 
   1.414  
   1.415  /(?|(abc)|(xyz))/BZ
   1.416 @@ -2225,66 +2171,6 @@
   1.417      xabcpqrx
   1.418      xxyzx 
   1.419  
   1.420 -/(?|(abc)|(xyz))\1/
   1.421 -    abcabc
   1.422 -    xyzxyz 
   1.423 -    ** Failers
   1.424 -    abcxyz
   1.425 -    xyzabc   
   1.426 -    
   1.427 -/(?|(abc)|(xyz))(?1)/
   1.428 -    abcabc
   1.429 -    xyzabc 
   1.430 -    ** Failers 
   1.431 -    xyzxyz 
   1.432 - 
   1.433 -/\H\h\V\v/
   1.434 -    X X\x0a
   1.435 -    X\x09X\x0b
   1.436 -    ** Failers
   1.437 -    \xa0 X\x0a   
   1.438 -    
   1.439 -/\H*\h+\V?\v{3,4}/ 
   1.440 -    \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
   1.441 -    \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
   1.442 -    \x09\x20\xa0\x0a\x0b\x0c
   1.443 -    ** Failers 
   1.444 -    \x09\x20\xa0\x0a\x0b
   1.445 -     
   1.446 -/\H{3,4}/
   1.447 -    XY  ABCDE
   1.448 -    XY  PQR ST 
   1.449 -    
   1.450 -/.\h{3,4}./
   1.451 -    XY  AB    PQRS
   1.452 -
   1.453 -/\h*X\h?\H+Y\H?Z/
   1.454 -    >XNNNYZ
   1.455 -    >  X NYQZ
   1.456 -    ** Failers
   1.457 -    >XYZ   
   1.458 -    >  X NY Z
   1.459 -
   1.460 -/\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/
   1.461 -    >XY\x0aZ\x0aA\x0bNN\x0c
   1.462 -    >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c
   1.463 -
   1.464 -/[\h]/BZ
   1.465 -    >\x09<
   1.466 -
   1.467 -/[\h]+/BZ
   1.468 -    >\x09\x20\xa0<
   1.469 -
   1.470 -/[\v]/BZ
   1.471 -
   1.472 -/[\H]/BZ
   1.473 -
   1.474 -/[^\h]/BZ
   1.475 -
   1.476 -/[\V]/BZ
   1.477 -
   1.478 -/[\x0a\V]/BZ
   1.479 -
   1.480  /\H++X/BZ
   1.481      ** Failers
   1.482      XXXX
   1.483 @@ -2325,7 +2211,7 @@
   1.484  /\V+\v\V+\w/BZ
   1.485  
   1.486  /\( (?: [^()]* | (?R) )* \)/x
   1.487 -(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
   1.488 +\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)
   1.489  
   1.490  /[\E]AAA/
   1.491  
   1.492 @@ -2341,49 +2227,6 @@
   1.493  
   1.494  /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
   1.495  
   1.496 -/^a+(*FAIL)/
   1.497 -    aaaaaa
   1.498 -    
   1.499 -/a+b?c+(*FAIL)/
   1.500 -    aaabccc
   1.501 -
   1.502 -/a+b?(*PRUNE)c+(*FAIL)/
   1.503 -    aaabccc
   1.504 -
   1.505 -/a+b?(*COMMIT)c+(*FAIL)/
   1.506 -    aaabccc
   1.507 -    
   1.508 -/a+b?(*SKIP)c+(*FAIL)/
   1.509 -    aaabcccaaabccc
   1.510 -
   1.511 -/^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
   1.512 -    aaaxxxxxx
   1.513 -    aaa++++++ 
   1.514 -    bbbxxxxx
   1.515 -    bbb+++++ 
   1.516 -    cccxxxx
   1.517 -    ccc++++ 
   1.518 -    dddddddd   
   1.519 -
   1.520 -/^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
   1.521 -    aaaxxxxxx
   1.522 -    aaa++++++ 
   1.523 -    bbbxxxxx
   1.524 -    bbb+++++ 
   1.525 -    cccxxxx
   1.526 -    ccc++++ 
   1.527 -    dddddddd   
   1.528 -
   1.529 -/a+b?(*THEN)c+(*FAIL)/
   1.530 -    aaabccc
   1.531 -
   1.532 -/(A (A|B(*ACCEPT)|C) D)(E)/x
   1.533 -    ABX
   1.534 -    AADE
   1.535 -    ACDE
   1.536 -    ** Failers
   1.537 -    AD 
   1.538 -        
   1.539  /^a+(*FAIL)/C
   1.540      aaaaaa
   1.541      
   1.542 @@ -2402,15 +2245,13 @@
   1.543  /a+b?(*THEN)c+(*FAIL)/C
   1.544      aaabccc
   1.545      
   1.546 -/a(*PRUNE:XXX)b/
   1.547 -
   1.548  /a(*MARK)b/ 
   1.549  
   1.550  /(?i:A{1,}\6666666666)/
   1.551  
   1.552  /\g6666666666/
   1.553  
   1.554 -/[\g6666666666]/
   1.555 +/[\g6666666666]/BZ
   1.556  
   1.557  /(?1)\c[/
   1.558  
   1.559 @@ -2461,6 +2302,15 @@
   1.560      a\nb  
   1.561      a\r\nb  
   1.562      a\x85b 
   1.563 +    
   1.564 +/(*ANY).*/g
   1.565 +    abc\r\ndef
   1.566 +
   1.567 +/(*ANYCRLF).*/g
   1.568 +    abc\r\ndef
   1.569 +
   1.570 +/(*CRLF).*/g
   1.571 +    abc\r\ndef
   1.572  
   1.573  /a\Rb/I<bsr_anycrlf>
   1.574      a\rb
   1.575 @@ -2559,6 +2409,10 @@
   1.576  
   1.577  /\k{}/
   1.578  
   1.579 +/\k/
   1.580 +
   1.581 +/\kabc/
   1.582 +
   1.583  /(?P=)/
   1.584  
   1.585  /(?P>)/
   1.586 @@ -2589,66 +2443,8 @@
   1.587  
   1.588  /[[:a\dz:]]/
   1.589  
   1.590 -/^(?<name>a|b\g<name>c)/
   1.591 -    aaaa
   1.592 -    bacxxx
   1.593 -    bbaccxxx 
   1.594 -    bbbacccxx
   1.595 -
   1.596 -/^(?<name>a|b\g'name'c)/
   1.597 -    aaaa
   1.598 -    bacxxx
   1.599 -    bbaccxxx 
   1.600 -    bbbacccxx
   1.601 -
   1.602 -/^(a|b\g<1>c)/
   1.603 -    aaaa
   1.604 -    bacxxx
   1.605 -    bbaccxxx 
   1.606 -    bbbacccxx
   1.607 -
   1.608 -/^(a|b\g'1'c)/
   1.609 -    aaaa
   1.610 -    bacxxx
   1.611 -    bbaccxxx 
   1.612 -    bbbacccxx
   1.613 -
   1.614 -/^(a|b\g'-1'c)/
   1.615 -    aaaa
   1.616 -    bacxxx
   1.617 -    bbaccxxx 
   1.618 -    bbbacccxx
   1.619 -
   1.620 -/(^(a|b\g<-1>c))/
   1.621 -    aaaa
   1.622 -    bacxxx
   1.623 -    bbaccxxx 
   1.624 -    bbbacccxx
   1.625 -
   1.626  /(^(a|b\g<-1'c))/
   1.627  
   1.628 -/(^(a|b\g{-1}))/
   1.629 -    bacxxx
   1.630 -
   1.631 -/(?-i:\g<name>)(?i:(?<name>a))/
   1.632 -    XaaX
   1.633 -    XAAX 
   1.634 -
   1.635 -/(?i:\g<name>)(?-i:(?<name>a))/
   1.636 -    XaaX
   1.637 -    ** Failers 
   1.638 -    XAAX 
   1.639 -
   1.640 -/(?-i:\g<+1>)(?i:(a))/
   1.641 -    XaaX
   1.642 -    XAAX 
   1.643 -
   1.644 -/(?=(?<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>\})\}))\{/
   1.645 -
   1.646 -/(?<n>a|b|c)\g<n>*/
   1.647 -   abc
   1.648 -   accccbbb 
   1.649 -
   1.650  /^(?+1)(?<a>x|y){0}z/
   1.651      xzxx
   1.652      yzyy 
   1.653 @@ -2734,11 +2530,6 @@
   1.654  
   1.655  /(?(?=.*b).*b|^d)/I
   1.656  
   1.657 -/a?|b?/P
   1.658 -    abc
   1.659 -    ** Failers
   1.660 -    ddd\N   
   1.661 -
   1.662  /xyz/C
   1.663    xyz 
   1.664    abcxyz 
   1.665 @@ -2748,6 +2539,12 @@
   1.666    abc\Y
   1.667    abcxypqr  
   1.668    abcxypqr\Y  
   1.669 +  
   1.670 +/(*NO_START_OPT)xyz/C
   1.671 +  abcxyz 
   1.672 +
   1.673 +/xyz/CY
   1.674 +  abcxyz 
   1.675  
   1.676  /^"((?(?=[a])[^"])|b)*"$/C
   1.677      "ab"
   1.678 @@ -2755,22 +2552,1262 @@
   1.679  /^"((?(?=[a])[^"])|b)*"$/
   1.680      "ab"
   1.681  
   1.682 -/^X(?5)(a)(?|(b)|(q))(c)(d)(Y)/
   1.683 -    XYabcdY
   1.684 -
   1.685  /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
   1.686      XYabcdY
   1.687  
   1.688  /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
   1.689      XYabcdY
   1.690   
   1.691 +/Xa{2,4}b/
   1.692 +    X\P
   1.693 +    Xa\P
   1.694 +    Xaa\P 
   1.695 +    Xaaa\P
   1.696 +    Xaaaa\P 
   1.697 +    
   1.698 +/Xa{2,4}?b/
   1.699 +    X\P
   1.700 +    Xa\P
   1.701 +    Xaa\P 
   1.702 +    Xaaa\P
   1.703 +    Xaaaa\P 
   1.704 +    
   1.705 +/Xa{2,4}+b/
   1.706 +    X\P
   1.707 +    Xa\P
   1.708 +    Xaa\P 
   1.709 +    Xaaa\P
   1.710 +    Xaaaa\P 
   1.711 +    
   1.712 +/X\d{2,4}b/
   1.713 +    X\P
   1.714 +    X3\P
   1.715 +    X33\P 
   1.716 +    X333\P
   1.717 +    X3333\P 
   1.718 +    
   1.719 +/X\d{2,4}?b/
   1.720 +    X\P
   1.721 +    X3\P
   1.722 +    X33\P 
   1.723 +    X333\P
   1.724 +    X3333\P 
   1.725 +    
   1.726 +/X\d{2,4}+b/
   1.727 +    X\P
   1.728 +    X3\P
   1.729 +    X33\P 
   1.730 +    X333\P
   1.731 +    X3333\P 
   1.732 +    
   1.733 +/X\D{2,4}b/
   1.734 +    X\P
   1.735 +    Xa\P
   1.736 +    Xaa\P 
   1.737 +    Xaaa\P
   1.738 +    Xaaaa\P 
   1.739 +    
   1.740 +/X\D{2,4}?b/
   1.741 +    X\P
   1.742 +    Xa\P
   1.743 +    Xaa\P 
   1.744 +    Xaaa\P
   1.745 +    Xaaaa\P 
   1.746 +    
   1.747 +/X\D{2,4}+b/
   1.748 +    X\P
   1.749 +    Xa\P
   1.750 +    Xaa\P 
   1.751 +    Xaaa\P
   1.752 +    Xaaaa\P 
   1.753 +    
   1.754 +/X[abc]{2,4}b/
   1.755 +    X\P
   1.756 +    Xa\P
   1.757 +    Xaa\P 
   1.758 +    Xaaa\P
   1.759 +    Xaaaa\P 
   1.760 +    
   1.761 +/X[abc]{2,4}?b/
   1.762 +    X\P
   1.763 +    Xa\P
   1.764 +    Xaa\P 
   1.765 +    Xaaa\P
   1.766 +    Xaaaa\P 
   1.767 +    
   1.768 +/X[abc]{2,4}+b/
   1.769 +    X\P
   1.770 +    Xa\P
   1.771 +    Xaa\P 
   1.772 +    Xaaa\P
   1.773 +    Xaaaa\P 
   1.774 +    
   1.775 +/X[^a]{2,4}b/
   1.776 +    X\P
   1.777 +    Xz\P
   1.778 +    Xzz\P 
   1.779 +    Xzzz\P
   1.780 +    Xzzzz\P 
   1.781 +    
   1.782 +/X[^a]{2,4}?b/
   1.783 +    X\P
   1.784 +    Xz\P
   1.785 +    Xzz\P 
   1.786 +    Xzzz\P
   1.787 +    Xzzzz\P 
   1.788 +    
   1.789 +/X[^a]{2,4}+b/
   1.790 +    X\P
   1.791 +    Xz\P
   1.792 +    Xzz\P 
   1.793 +    Xzzz\P
   1.794 +    Xzzzz\P 
   1.795 +    
   1.796 +/(Y)X\1{2,4}b/
   1.797 +    YX\P
   1.798 +    YXY\P
   1.799 +    YXYY\P 
   1.800 +    YXYYY\P
   1.801 +    YXYYYY\P 
   1.802 +    
   1.803 +/(Y)X\1{2,4}?b/
   1.804 +    YX\P
   1.805 +    YXY\P
   1.806 +    YXYY\P 
   1.807 +    YXYYY\P
   1.808 +    YXYYYY\P 
   1.809 +    
   1.810 +/(Y)X\1{2,4}+b/
   1.811 +    YX\P
   1.812 +    YXY\P
   1.813 +    YXYY\P 
   1.814 +    YXYYY\P
   1.815 +    YXYYYY\P 
   1.816 +    
   1.817 +/\++\KZ|\d+X|9+Y/
   1.818 +    ++++123999\P
   1.819 +    ++++123999Y\P
   1.820 +    ++++Z1234\P 
   1.821 +
   1.822 +/Z(*F)/
   1.823 +    Z\P
   1.824 +    ZA\P 
   1.825 +    
   1.826 +/Z(?!)/
   1.827 +    Z\P 
   1.828 +    ZA\P 
   1.829 +
   1.830 +/dog(sbody)?/
   1.831 +    dogs\P
   1.832 +    dogs\P\P 
   1.833 +    
   1.834 +/dog(sbody)??/
   1.835 +    dogs\P
   1.836 +    dogs\P\P 
   1.837 +
   1.838 +/dog|dogsbody/
   1.839 +    dogs\P
   1.840 +    dogs\P\P 
   1.841 + 
   1.842 +/dogsbody|dog/
   1.843 +    dogs\P
   1.844 +    dogs\P\P 
   1.845 +
   1.846 +/\bthe cat\b/
   1.847 +    the cat\P
   1.848 +    the cat\P\P
   1.849 +
   1.850 +/abc/
   1.851 +   abc\P
   1.852 +   abc\P\P
   1.853 +   
   1.854 +/abc\K123/
   1.855 +    xyzabc123pqr
   1.856 +    xyzabc12\P
   1.857 +    xyzabc12\P\P
   1.858 +    
   1.859 +/(?<=abc)123/
   1.860 +    xyzabc123pqr 
   1.861 +    xyzabc12\P
   1.862 +    xyzabc12\P\P
   1.863 +
   1.864 +/\babc\b/
   1.865 +    +++abc+++
   1.866 +    +++ab\P
   1.867 +    +++ab\P\P  
   1.868 +
   1.869 +/(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
   1.870 +
   1.871 +/(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
   1.872 +
   1.873 +/(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
   1.874 +
   1.875 +/abc\K/+
   1.876 +    abcdef
   1.877 +    abcdef\N\N
   1.878 +    xyzabcdef\N\N
   1.879 +    ** Failers
   1.880 +    abcdef\N 
   1.881 +    xyzabcdef\N
   1.882 +    
   1.883 +/^(?:(?=abc)|abc\K)/+
   1.884 +    abcdef
   1.885 +    abcdef\N\N 
   1.886 +    ** Failers 
   1.887 +    abcdef\N 
   1.888 +
   1.889 +/a?b?/+
   1.890 +    xyz
   1.891 +    xyzabc
   1.892 +    xyzabc\N
   1.893 +    xyzabc\N\N
   1.894 +    xyz\N\N    
   1.895 +    ** Failers 
   1.896 +    xyz\N 
   1.897 +
   1.898 +/^a?b?/+
   1.899 +    xyz
   1.900 +    xyzabc
   1.901 +    ** Failers 
   1.902 +    xyzabc\N
   1.903 +    xyzabc\N\N
   1.904 +    xyz\N\N    
   1.905 +    xyz\N 
   1.906 +    
   1.907 +/^(?<name>a|b\g<name>c)/
   1.908 +    aaaa
   1.909 +    bacxxx
   1.910 +    bbaccxxx 
   1.911 +    bbbacccxx
   1.912 +
   1.913 +/^(?<name>a|b\g'name'c)/
   1.914 +    aaaa
   1.915 +    bacxxx
   1.916 +    bbaccxxx 
   1.917 +    bbbacccxx
   1.918 +
   1.919 +/^(a|b\g<1>c)/
   1.920 +    aaaa
   1.921 +    bacxxx
   1.922 +    bbaccxxx 
   1.923 +    bbbacccxx
   1.924 +
   1.925 +/^(a|b\g'1'c)/
   1.926 +    aaaa
   1.927 +    bacxxx
   1.928 +    bbaccxxx 
   1.929 +    bbbacccxx
   1.930 +
   1.931 +/^(a|b\g'-1'c)/
   1.932 +    aaaa
   1.933 +    bacxxx
   1.934 +    bbaccxxx 
   1.935 +    bbbacccxx
   1.936 +
   1.937 +/(^(a|b\g<-1>c))/
   1.938 +    aaaa
   1.939 +    bacxxx
   1.940 +    bbaccxxx 
   1.941 +    bbbacccxx
   1.942 +
   1.943 +/(?-i:\g<name>)(?i:(?<name>a))/
   1.944 +    XaaX
   1.945 +    XAAX 
   1.946 +
   1.947 +/(?i:\g<name>)(?-i:(?<name>a))/
   1.948 +    XaaX
   1.949 +    ** Failers 
   1.950 +    XAAX 
   1.951 +
   1.952 +/(?-i:\g<+1>)(?i:(a))/
   1.953 +    XaaX
   1.954 +    XAAX 
   1.955 +
   1.956 +/(?=(?<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>\})\}))\{/
   1.957 +
   1.958 +/(?<n>a|b|c)\g<n>*/
   1.959 +   abc
   1.960 +   accccbbb 
   1.961 +
   1.962  /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
   1.963      XYabcdY
   1.964  
   1.965 -/^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)/
   1.966 -    XYabcdY
   1.967 -
   1.968 -/^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)/
   1.969 -    XYabcdY
   1.970 -
   1.971 -/ End of testinput2 /
   1.972 +/(?<=b(?1)|zzz)(a)/
   1.973 +    xbaax
   1.974 +    xzzzax 
   1.975 +
   1.976 +/(a)(?<=b\1)/
   1.977 +
   1.978 +/(a)(?<=b+(?1))/
   1.979 +
   1.980 +/(a+)(?<=b(?1))/
   1.981 +
   1.982 +/(a(?<=b(?1)))/
   1.983 +
   1.984 +/(?<=b(?1))xyz/
   1.985 +
   1.986 +/(?<=b(?1))xyz(b+)pqrstuvew/
   1.987 +
   1.988 +/(a|bc)\1/SI
   1.989 +
   1.990 +/(a|bc)\1{2,3}/SI
   1.991 +
   1.992 +/(a|bc)(?1)/SI
   1.993 +
   1.994 +/(a|b\1)(a|b\1)/SI
   1.995 +
   1.996 +/(a|b\1){2}/SI
   1.997 +
   1.998 +/(a|bbbb\1)(a|bbbb\1)/SI
   1.999 +
  1.1000 +/(a|bbbb\1){2}/SI
  1.1001 +
  1.1002 +/^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
  1.1003 +
  1.1004 +/<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
  1.1005 +
  1.1006 +"(?>.*/)foo"SI
  1.1007 +
  1.1008 +/(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
  1.1009 +
  1.1010 +/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
  1.1011 +
  1.1012 +/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
  1.1013 +
  1.1014 +/<a[\s]+href[\s]*=[\s]*          # find <a href=
  1.1015 + ([\"\'])?                       # find single or double quote
  1.1016 + (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
  1.1017 +                                 # quote, otherwise match up to next space
  1.1018 +/isxSI
  1.1019 +
  1.1020 +/^(?!:)                       # colon disallowed at start
  1.1021 +  (?:                         # start of item
  1.1022 +    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
  1.1023 +    (?(1)0 | () ) )           # if null previously matched, fail; else null
  1.1024 +    :                         # followed by colon
  1.1025 +  ){1,7}                      # end item; 1-7 of them required               
  1.1026 +  [0-9a-f]{1,4} $             # final hex number at end of string
  1.1027 +  (?(1)|.)                    # check that there was an empty component
  1.1028 +  /xiIS
  1.1029 +
  1.1030 +/(?|(?<a>A)|(?<a>B))/I
  1.1031 +    AB\Ca
  1.1032 +    BA\Ca
  1.1033 +
  1.1034 +/(?|(?<a>A)|(?<b>B))/ 
  1.1035 +
  1.1036 +/(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
  1.1037 +    b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
  1.1038 +    (?('quote')[a-z]+|[0-9]+)/JIx
  1.1039 +    a"aaaaa
  1.1040 +    b"aaaaa 
  1.1041 +    ** Failers 
  1.1042 +    b"11111
  1.1043 +    a"11111 
  1.1044 +    
  1.1045 +/^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
  1.1046 +    abcdX
  1.1047 +    eX
  1.1048 +    ** Failers
  1.1049 +    abcdY
  1.1050 +    ey     
  1.1051 +    
  1.1052 +/(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
  1.1053 +    abcdd
  1.1054 +    ** Failers
  1.1055 +    abcdde  
  1.1056 +
  1.1057 +/abcd*/
  1.1058 +    xxxxabcd\P
  1.1059 +    xxxxabcd\P\P
  1.1060 +
  1.1061 +/abcd*/i
  1.1062 +    xxxxabcd\P
  1.1063 +    xxxxabcd\P\P
  1.1064 +    XXXXABCD\P
  1.1065 +    XXXXABCD\P\P
  1.1066 +
  1.1067 +/abc\d*/
  1.1068 +    xxxxabc1\P
  1.1069 +    xxxxabc1\P\P
  1.1070 +
  1.1071 +/(a)bc\1*/
  1.1072 +    xxxxabca\P
  1.1073 +    xxxxabca\P\P
  1.1074 +
  1.1075 +/abc[de]*/
  1.1076 +    xxxxabcde\P
  1.1077 +    xxxxabcde\P\P
  1.1078 +
  1.1079 +/-- This is not in the Perl >= 5.10 test because Perl seems currently to be
  1.1080 +    broken and not behaving as specified in that it *does* bumpalong after
  1.1081 +    hitting (*COMMIT). --/
  1.1082 +
  1.1083 +/(?1)(A(*COMMIT)|B)D/
  1.1084 +    ABD
  1.1085 +    XABD
  1.1086 +    BAD
  1.1087 +    ABXABD  
  1.1088 +    ** Failers 
  1.1089 +    ABX 
  1.1090 +    BAXBAD  
  1.1091 +
  1.1092 +/(\3)(\1)(a)/<JS>
  1.1093 +    cat
  1.1094 +
  1.1095 +/(\3)(\1)(a)/SI<JS>
  1.1096 +    cat
  1.1097 +
  1.1098 +/(\3)(\1)(a)/SI
  1.1099 +    cat
  1.1100 +
  1.1101 +/i(?(DEFINE)(?<s>a))/SI
  1.1102 +    i
  1.1103 +    
  1.1104 +/()i(?(1)a)/SI 
  1.1105 +    ia
  1.1106 +
  1.1107 +/(?i)a(?-i)b|c/BZ
  1.1108 +    XabX
  1.1109 +    XAbX
  1.1110 +    CcC 
  1.1111 +    ** Failers
  1.1112 +    XABX   
  1.1113 +
  1.1114 +/(?i)a(?s)b|c/BZ
  1.1115 +
  1.1116 +/(?i)a(?s-i)b|c/BZ
  1.1117 +
  1.1118 +/^(ab(c\1)d|x){2}$/BZ
  1.1119 +    xabcxd
  1.1120 +    
  1.1121 +/^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
  1.1122 +
  1.1123 +/^(?&t)*(?(DEFINE)(?<t>.))$/BZ
  1.1124 +
  1.1125 +/ -- The first four of these are not in the Perl >= 5.10 test because Perl 
  1.1126 +     documents that the use of \K in assertions is "not well defined". The
  1.1127 +     last is here because Perl gives the match as "b" rather than "ab". I
  1.1128 +     believe this to be a Perl bug. --/  
  1.1129 +      
  1.1130 +/(?=a\Kb)ab/
  1.1131 +    ab 
  1.1132 +
  1.1133 +/(?!a\Kb)ac/
  1.1134 +    ac 
  1.1135 +    
  1.1136 +/^abc(?<=b\Kc)d/
  1.1137 +    abcd
  1.1138 +
  1.1139 +/^abc(?<!b\Kq)d/
  1.1140 +    abcd
  1.1141 +
  1.1142 +/(?>a\Kb)z|(ab)/
  1.1143 +    ab 
  1.1144 +
  1.1145 +/----------------------/
  1.1146 +
  1.1147 +/(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
  1.1148 +
  1.1149 +/abc(*MARK:)pqr/
  1.1150 +
  1.1151 +/abc(*:)pqr/
  1.1152 +
  1.1153 +/abc(*FAIL:123)xyz/
  1.1154 +
  1.1155 +/--- This should, and does, fail. In Perl, it does not, which I think is a 
  1.1156 +     bug because replacing the B in the pattern by (B|D) does make it fail. ---/
  1.1157 +
  1.1158 +/A(*COMMIT)B/+K
  1.1159 +    ACABX
  1.1160 +
  1.1161 +/--- These should be different, but in Perl 5.11 are not, which I think
  1.1162 +     is a bug in Perl. ---/
  1.1163 +
  1.1164 +/A(*THEN)B|A(*THEN)C/K
  1.1165 +    AC
  1.1166 +
  1.1167 +/A(*PRUNE)B|A(*PRUNE)C/K
  1.1168 +    AC
  1.1169 +    
  1.1170 +/--- This should fail; the SKIP advances by one, but when we get to AC, the
  1.1171 +     PRUNE kills it. Perl behaves differently. ---/ 
  1.1172 +    
  1.1173 +/A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
  1.1174 +    AAAC
  1.1175 +
  1.1176 +/--- Mark names can be duplicated. Perl doesn't give a mark for this one,
  1.1177 +though PCRE does. ---/
  1.1178 +
  1.1179 +/^A(*:A)B|^X(*:A)Y/K
  1.1180 +    ** Failers
  1.1181 +    XAQQ
  1.1182 +    
  1.1183 +/--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
  1.1184 +optimizations defeat this. So does the PCRE optimization unless we disable it 
  1.1185 +with \Y. ---/
  1.1186 +
  1.1187 +/(*COMMIT)ABC/
  1.1188 +    ABCDEFG
  1.1189 +    ** Failers
  1.1190 +    DEFGABC\Y  
  1.1191 +    
  1.1192 +/^(ab (c+(*THEN)cd) | xyz)/x
  1.1193 +    abcccd  
  1.1194 +
  1.1195 +/^(ab (c+(*PRUNE)cd) | xyz)/x
  1.1196 +    abcccd  
  1.1197 +
  1.1198 +/^(ab (c+(*FAIL)cd) | xyz)/x
  1.1199 +    abcccd  
  1.1200 +    
  1.1201 +/--- Perl 5.11 gets some of these wrong ---/ 
  1.1202 +
  1.1203 +/(?>.(*ACCEPT))*?5/
  1.1204 +    abcde
  1.1205 +
  1.1206 +/(.(*ACCEPT))*?5/
  1.1207 +    abcde
  1.1208 +
  1.1209 +/(.(*ACCEPT))5/
  1.1210 +    abcde
  1.1211 +
  1.1212 +/(.(*ACCEPT))*5/
  1.1213 +    abcde
  1.1214 +
  1.1215 +/A\NB./BZ
  1.1216 +    ACBD
  1.1217 +    *** Failers
  1.1218 +    A\nB
  1.1219 +    ACB\n   
  1.1220 +
  1.1221 +/A\NB./sBZ
  1.1222 +    ACBD
  1.1223 +    ACB\n 
  1.1224 +    *** Failers
  1.1225 +    A\nB  
  1.1226 +  
  1.1227 +/A\NB/<crlf>
  1.1228 +    A\nB
  1.1229 +    A\rB
  1.1230 +    ** Failers
  1.1231 +    A\r\nB    
  1.1232 +
  1.1233 +/\R+b/BZ
  1.1234 +
  1.1235 +/\R+\n/BZ
  1.1236 +
  1.1237 +/\R+\d/BZ
  1.1238 +
  1.1239 +/\d*\R/BZ
  1.1240 +
  1.1241 +/\s*\R/BZ
  1.1242 +    \x20\x0a
  1.1243 +    \x20\x0d
  1.1244 +    \x20\x0d\x0a
  1.1245 +
  1.1246 +/\S*\R/BZ
  1.1247 +    a\x0a
  1.1248 +
  1.1249 +/X\h*\R/BZ
  1.1250 +    X\x20\x0a
  1.1251 +
  1.1252 +/X\H*\R/BZ
  1.1253 +    X\x0d\x0a
  1.1254 +
  1.1255 +/X\H+\R/BZ
  1.1256 +    X\x0d\x0a
  1.1257 +
  1.1258 +/X\H++\R/BZ
  1.1259 +    X\x0d\x0a
  1.1260 +
  1.1261 +/-- Perl treats this one differently, not failing the second string. I believe
  1.1262 +    that is a bug in Perl. --/
  1.1263 +
  1.1264 +/^((abc|abcx)(*THEN)y|abcd)/
  1.1265 +    abcd
  1.1266 +    *** Failers 
  1.1267 +    abcxy 
  1.1268 +
  1.1269 +/(?<=abc)def/
  1.1270 +    abc\P\P
  1.1271 +
  1.1272 +/abc$/
  1.1273 +    abc
  1.1274 +    abc\P
  1.1275 +    abc\P\P
  1.1276 +
  1.1277 +/abc$/m
  1.1278 +    abc
  1.1279 +    abc\n
  1.1280 +    abc\P\P
  1.1281 +    abc\n\P\P 
  1.1282 +    abc\P
  1.1283 +    abc\n\P
  1.1284 +
  1.1285 +/abc\z/
  1.1286 +    abc
  1.1287 +    abc\P
  1.1288 +    abc\P\P
  1.1289 +
  1.1290 +/abc\Z/
  1.1291 +    abc
  1.1292 +    abc\P
  1.1293 +    abc\P\P
  1.1294 +
  1.1295 +/abc\b/
  1.1296 +    abc
  1.1297 +    abc\P
  1.1298 +    abc\P\P
  1.1299 +
  1.1300 +/abc\B/
  1.1301 +    abc
  1.1302 +    abc\P
  1.1303 +    abc\P\P
  1.1304 +
  1.1305 +/.+/
  1.1306 +    abc\>0
  1.1307 +    abc\>1
  1.1308 +    abc\>2
  1.1309 +    abc\>3
  1.1310 +    abc\>4
  1.1311 +    abc\>-4 
  1.1312 +
  1.1313 +/^\cģ/
  1.1314 +
  1.1315 +/(?P<abn>(?P=abn)xxx)/BZ
  1.1316 +
  1.1317 +/(a\1z)/BZ
  1.1318 +
  1.1319 +/(?P<abn>(?P=abn)(?<badstufxxx)/BZ
  1.1320 +
  1.1321 +/(?P<abn>(?P=axn)xxx)/BZ
  1.1322 +
  1.1323 +/(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
  1.1324 +
  1.1325 +/-- These tests are here because Perl gets the first one wrong. --/
  1.1326 +
  1.1327 +/(\R*)(.)/s
  1.1328 +    \r\n
  1.1329 +    \r\r\n\n\r 
  1.1330 +    \r\r\n\n\r\n 
  1.1331 +
  1.1332 +/(\R)*(.)/s
  1.1333 +    \r\n
  1.1334 +    \r\r\n\n\r 
  1.1335 +    \r\r\n\n\r\n 
  1.1336 +
  1.1337 +/((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
  1.1338 +    \r\n
  1.1339 +    \r\r\n\n\r 
  1.1340 +    \r\r\n\n\r\n 
  1.1341 +
  1.1342 +/-- --/
  1.1343 +
  1.1344 +/^abc$/BZ
  1.1345 +
  1.1346 +/^abc$/BZm
  1.1347 +
  1.1348 +/^(a)*+(\w)/S
  1.1349 +    aaaaX
  1.1350 +    ** Failers 
  1.1351 +    aaaa
  1.1352 +
  1.1353 +/^(?:a)*+(\w)/S
  1.1354 +    aaaaX
  1.1355 +    ** Failers 
  1.1356 +    aaaa
  1.1357 +
  1.1358 +/(a)++1234/SDZ
  1.1359 +
  1.1360 +/([abc])++1234/SI
  1.1361 +
  1.1362 +/(?<=(abc)+)X/
  1.1363 +
  1.1364 +/(^ab)/I
  1.1365 +
  1.1366 +/(^ab)++/I
  1.1367 +
  1.1368 +/(^ab|^)+/I
  1.1369 +
  1.1370 +/(^ab|^)++/I
  1.1371 +
  1.1372 +/(?:^ab)/I
  1.1373 +
  1.1374 +/(?:^ab)++/I
  1.1375 +
  1.1376 +/(?:^ab|^)+/I
  1.1377 +
  1.1378 +/(?:^ab|^)++/I
  1.1379 +
  1.1380 +/(.*ab)/I
  1.1381 +
  1.1382 +/(.*ab)++/I
  1.1383 +
  1.1384 +/(.*ab|.*)+/I
  1.1385 +
  1.1386 +/(.*ab|.*)++/I
  1.1387 +
  1.1388 +/(?:.*ab)/I
  1.1389 +
  1.1390 +/(?:.*ab)++/I
  1.1391 +
  1.1392 +/(?:.*ab|.*)+/I
  1.1393 +
  1.1394 +/(?:.*ab|.*)++/I
  1.1395 +
  1.1396 +/(?=a)[bcd]/I
  1.1397 +
  1.1398 +/((?=a))[bcd]/I
  1.1399 +
  1.1400 +/((?=a))+[bcd]/I
  1.1401 +
  1.1402 +/((?=a))++[bcd]/I
  1.1403 +
  1.1404 +/(?=a+)[bcd]/iI
  1.1405 +
  1.1406 +/(?=a+?)[bcd]/iI
  1.1407 +
  1.1408 +/(?=a++)[bcd]/iI
  1.1409 +
  1.1410 +/(?=a{3})[bcd]/iI
  1.1411 +
  1.1412 +/(abc)\1+/S
  1.1413 +
  1.1414 +/-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
  1.1415 +
  1.1416 +/(?1)(?:(b(*ACCEPT))){0}/
  1.1417 +    b
  1.1418 +
  1.1419 +/(?1)(?:(b(*ACCEPT))){0}c/
  1.1420 +    bc
  1.1421 +    ** Failers 
  1.1422 +    b 
  1.1423 +
  1.1424 +/(?1)(?:((*ACCEPT))){0}c/
  1.1425 +    c
  1.1426 +    c\N 
  1.1427 +
  1.1428 +/^.*?(?(?=a)a|b(*THEN)c)/
  1.1429 +    ba
  1.1430 +
  1.1431 +/^.*?(?(?=a)a|bc)/
  1.1432 +    ba
  1.1433 +
  1.1434 +/^.*?(?(?=a)a(*THEN)b|c)/
  1.1435 +    ac
  1.1436 +
  1.1437 +/^.*?(?(?=a)a(*THEN)b)c/
  1.1438 +    ac
  1.1439 +
  1.1440 +/^.*?(a(*THEN)b)c/
  1.1441 +    aabc
  1.1442 +    
  1.1443 +/^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
  1.1444 +    aabc
  1.1445 +
  1.1446 +/^.*?(a(*THEN)b|z)c/
  1.1447 +    aabc
  1.1448 +
  1.1449 +/^.*?(z|a(*THEN)b)c/
  1.1450 +    aabc
  1.1451 +
  1.1452 +/-- --/
  1.1453 +
  1.1454 +/-- These studied versions are here because they are not Perl-compatible; the
  1.1455 +    studying means the mark is not seen. --/
  1.1456 +
  1.1457 +/(*MARK:A)(*SKIP:B)(C|X)/KS
  1.1458 +    C
  1.1459 +    D
  1.1460 +     
  1.1461 +/(*:A)A+(*SKIP:A)(B|Z)/KS
  1.1462 +    AAAC
  1.1463 +
  1.1464 +/-- --/
  1.1465 +
  1.1466 +"(?=a*(*ACCEPT)b)c"
  1.1467 +    c
  1.1468 +    c\N 
  1.1469 +    
  1.1470 +/(?1)c(?(DEFINE)((*ACCEPT)b))/
  1.1471 +    c
  1.1472 +    c\N  
  1.1473 +    
  1.1474 +/(?>(*ACCEPT)b)c/
  1.1475 +    c
  1.1476 +    c\N  
  1.1477 +
  1.1478 +/(?:(?>(a)))+a%/++
  1.1479 +    %aa%
  1.1480 +
  1.1481 +/(a)b|ac/++SS
  1.1482 +    ac\O3
  1.1483 +    
  1.1484 +/(a)(b)x|abc/++
  1.1485 +     abc\O6
  1.1486 +
  1.1487 +/(a)bc|(a)(b)\2/
  1.1488 +    \O3abc
  1.1489 +    \O4abc 
  1.1490 +
  1.1491 +/(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
  1.1492 +
  1.1493 +/(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
  1.1494 +
  1.1495 +/(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
  1.1496 +
  1.1497 +/(abc)(?1)/SI
  1.1498 +
  1.1499 +/^(?>a)++/
  1.1500 +    aa\M
  1.1501 +    aaaaaaaaa\M 
  1.1502 +    
  1.1503 +/(a)(?1)++/
  1.1504 +    aa\M
  1.1505 +    aaaaaaaaa\M  
  1.1506 +
  1.1507 +/(?:(foo)|(bar)|(baz))X/SS=
  1.1508 +    bazfooX
  1.1509 +    foobazbarX
  1.1510 +    barfooX
  1.1511 +    bazX
  1.1512 +    foobarbazX    
  1.1513 +    bazfooX\O0
  1.1514 +    bazfooX\O2
  1.1515 +    bazfooX\O4
  1.1516 +    bazfooX\O6
  1.1517 +    bazfooX\O8
  1.1518 +    bazfooX\O10
  1.1519 +
  1.1520 +/(?=abc){3}abc/BZ
  1.1521 +
  1.1522 +/(?=abc)+abc/BZ
  1.1523 +
  1.1524 +/(?=abc)++abc/BZ
  1.1525 +
  1.1526 +/(?=abc){0}xyz/BZ
  1.1527 +
  1.1528 +/(?=(a))?./BZ
  1.1529 +
  1.1530 +/(?=(a))??./BZ
  1.1531 +
  1.1532 +/^(?=(a)){0}b(?1)/BZ
  1.1533 +
  1.1534 +/(?(DEFINE)(a))?b(?1)/BZ
  1.1535 +
  1.1536 +/^(?=(?1))?[az]([abc])d/BZ
  1.1537 +
  1.1538 +/^(?!a){0}\w+/BZ
  1.1539 +
  1.1540 +/(?<=(abc))?xyz/BZ
  1.1541 +
  1.1542 +/[:a[:abc]b:]/BZ
  1.1543 +
  1.1544 +/((?2))((?1))/SS
  1.1545 +    abc
  1.1546 +
  1.1547 +/((?(R2)a+|(?1)b))/SS
  1.1548 +    aaaabcde
  1.1549 +
  1.1550 +/(?(R)a*(?1)|((?R))b)/SS
  1.1551 +    aaaabcde
  1.1552 +
  1.1553 +/(a+|(?R)b)/
  1.1554 +
  1.1555 +/^(a(*:A)(d|e(*:B))z|aeq)/C
  1.1556 +    adz
  1.1557 +    aez
  1.1558 +    aeqwerty
  1.1559 +
  1.1560 +/.(*F)/
  1.1561 +    \P\Pabc
  1.1562 +
  1.1563 +/\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
  1.1564 +
  1.1565 +/\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
  1.1566 +
  1.1567 +/a(*SKIP)c|b(*ACCEPT)|/+SI
  1.1568 +    a
  1.1569 +
  1.1570 +/a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
  1.1571 +    ax
  1.1572 +
  1.1573 +'a*(*ACCEPT)b'+
  1.1574 +    \N\N
  1.1575 +    abc\N\N
  1.1576 +    bbb\N\N 
  1.1577 +
  1.1578 +/(*ACCEPT)a/+I
  1.1579 +    bax
  1.1580 +
  1.1581 +/z(*ACCEPT)a/+I
  1.1582 +    baxzbx
  1.1583 +
  1.1584 +/a(?:.)*?a/ims                                                                  
  1.1585 +    \Mabbbbbbbbbbbbbbbbbbbbba
  1.1586 +    
  1.1587 +/a(?:.(*THEN))*?a/ims
  1.1588 +    \Mabbbbbbbbbbbbbbbbbbbbba
  1.1589 +
  1.1590 +/a(?:.(*THEN:ABC))*?a/ims
  1.1591 +    \Mabbbbbbbbbbbbbbbbbbbbba
  1.1592 +
  1.1593 +/-- These tests are in agreement with development Perl 5.015, which has fixed
  1.1594 +    some things, but they don't all work with 5.012, so they aren't in the
  1.1595 +    Perl-compatible tests. Those after the first come from Perl's own test
  1.1596 +    files. --/
  1.1597 +    
  1.1598 +/^((yes|no)(*THEN)(*F))?/
  1.1599 +  yes
  1.1600 +
  1.1601 +/(A (.*)   C? (*THEN)  | A D) (*FAIL)/x
  1.1602 +AbcdCBefgBhiBqz
  1.1603 +
  1.1604 +/(A (.*)   C? (*THEN)  | A D) z/x
  1.1605 +AbcdCBefgBhiBqz
  1.1606 +
  1.1607 +/(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x
  1.1608 +AbcdCBefgBhiBqz
  1.1609 +
  1.1610 +/(A (.*)   C? (*THEN)  | A D) \s* z/x
  1.1611 +AbcdCBefgBhiBqz
  1.1612 +
  1.1613 +/(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x
  1.1614 +AbcdCBefgBhiBqz
  1.1615 +
  1.1616 +/(A (.*)   (?:C|) (*THEN)  | A D) z/x
  1.1617 +AbcdCBefgBhiBqz
  1.1618 +
  1.1619 +/(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x
  1.1620 +AbcdCBefgBhiBqz
  1.1621 +
  1.1622 +/(A (.*)   C{0,6} (*THEN)  | A D) z/x
  1.1623 +AbcdCBefgBhiBqz
  1.1624 +
  1.1625 +/(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x
  1.1626 +AbcdCEBefgBhiBqz
  1.1627 +
  1.1628 +/(A (.*)   (CE){0,6} (*THEN)  | A D) z/x
  1.1629 +AbcdCEBefgBhiBqz
  1.1630 +
  1.1631 +/(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x
  1.1632 +AbcdCBefgBhiBqz
  1.1633 +
  1.1634 +/(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x
  1.1635 +AbcdCBefgBhiBqz
  1.1636 +
  1.1637 +/-----------------------------------------------/  
  1.1638 +
  1.1639 +/^(?>a+)(?>(z+))\w/BZ
  1.1640 +    aaaazzzzb
  1.1641 +    ** Failers
  1.1642 +    aazz  
  1.1643 +
  1.1644 +/(.)(\1|a(?2))/
  1.1645 +    bab
  1.1646 +    
  1.1647 +/\1|(.)(?R)\1/
  1.1648 +    cbbbc
  1.1649 +    
  1.1650 +/(.)((?(1)c|a)|a(?2))/
  1.1651 +    baa  
  1.1652 +
  1.1653 +/(?P<abn>(?P=abn)xxx)/BZ
  1.1654 +
  1.1655 +/(a\1z)/BZ
  1.1656 +
  1.1657 +/^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
  1.1658 +     \Maabbccddee
  1.1659 +
  1.1660 +/^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
  1.1661 +     \Maabbccddee
  1.1662 +
  1.1663 +/^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
  1.1664 +     \Maabbccddee
  1.1665 +
  1.1666 +/^a\x41z/<JS>
  1.1667 +    aAz
  1.1668 +    *** Failers
  1.1669 +    ax41z
  1.1670 +
  1.1671 +/^a[m\x41]z/<JS>
  1.1672 +    aAz
  1.1673 +
  1.1674 +/^a\x1z/<JS>
  1.1675 +    ax1z
  1.1676 +
  1.1677 +/^a\u0041z/<JS>
  1.1678 +    aAz
  1.1679 +    *** Failers
  1.1680 +    au0041z
  1.1681 +
  1.1682 +/^a[m\u0041]z/<JS>
  1.1683 +    aAz
  1.1684 +
  1.1685 +/^a\u041z/<JS>
  1.1686 +    au041z
  1.1687 +    *** Failers
  1.1688 +    aAz
  1.1689 +
  1.1690 +/^a\U0041z/<JS>
  1.1691 +    aU0041z
  1.1692 +    *** Failers
  1.1693 +    aAz
  1.1694 +
  1.1695 +/(?(?=c)c|d)++Y/BZ
  1.1696 +
  1.1697 +/(?(?=c)c|d)*+Y/BZ
  1.1698 +
  1.1699 +/a[\NB]c/
  1.1700 +    aNc
  1.1701 +    
  1.1702 +/a[B-\Nc]/ 
  1.1703 +
  1.1704 +/(a)(?2){0,1999}?(b)/
  1.1705 +
  1.1706 +/(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
  1.1707 +
  1.1708 +/--- This test, with something more complicated than individual letters, causes
  1.1709 +different behaviour in Perl. Perhaps it disables some optimization; no tag is
  1.1710 +passed back for the failures, whereas in PCRE there is a tag. ---/
  1.1711 +    
  1.1712 +/(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
  1.1713 +    AABC
  1.1714 +    XXYZ 
  1.1715 +    ** Failers
  1.1716 +    XAQQ  
  1.1717 +    XAQQXZZ  
  1.1718 +    AXQQQ 
  1.1719 +    AXXQQQ 
  1.1720 +
  1.1721 +/-- Perl doesn't give marks for these, though it does if the alternatives are
  1.1722 +replaced by single letters. --/
  1.1723 +    
  1.1724 +/(b|q)(*:m)f|a(*:n)w/K
  1.1725 +    aw 
  1.1726 +    ** Failers 
  1.1727 +    abc
  1.1728 +
  1.1729 +/(q|b)(*:m)f|a(*:n)w/K
  1.1730 +    aw 
  1.1731 +    ** Failers 
  1.1732 +    abc
  1.1733 +
  1.1734 +/-- After a partial match, the behaviour is as for a failure. --/
  1.1735 +
  1.1736 +/^a(*:X)bcde/K
  1.1737 +   abc\P
  1.1738 +   
  1.1739 +/-- These are here because Perl doesn't return a mark, except for the first --/
  1.1740 +
  1.1741 +/(?=(*:x))(q|)/K+
  1.1742 +    abc
  1.1743 +
  1.1744 +/(?=(*:x))((*:y)q|)/K+
  1.1745 +    abc
  1.1746 +
  1.1747 +/(?=(*:x))(?:(*:y)q|)/K+
  1.1748 +    abc
  1.1749 +
  1.1750 +/(?=(*:x))(?>(*:y)q|)/K+
  1.1751 +    abc
  1.1752 +
  1.1753 +/(?=a(*:x))(?!a(*:y)c)/K+
  1.1754 +    ab
  1.1755 +
  1.1756 +/(?=a(*:x))(?=a(*:y)c|)/K+
  1.1757 +    ab
  1.1758 +
  1.1759 +/(..)\1/
  1.1760 +    ab\P
  1.1761 +    aba\P
  1.1762 +    abab\P
  1.1763 +
  1.1764 +/(..)\1/i
  1.1765 +    ab\P
  1.1766 +    abA\P
  1.1767 +    aBAb\P
  1.1768 +
  1.1769 +/(..)\1{2,}/
  1.1770 +    ab\P
  1.1771 +    aba\P
  1.1772 +    abab\P
  1.1773 +    ababa\P
  1.1774 +    ababab\P
  1.1775 +    ababab\P\P
  1.1776 +    abababa\P
  1.1777 +    abababa\P\P
  1.1778 +
  1.1779 +/(..)\1{2,}/i
  1.1780 +    ab\P
  1.1781 +    aBa\P
  1.1782 +    aBAb\P
  1.1783 +    AbaBA\P
  1.1784 +    abABAb\P
  1.1785 +    aBAbaB\P\P
  1.1786 +    abABabA\P
  1.1787 +    abaBABa\P\P
  1.1788 +
  1.1789 +/(..)\1{2,}?x/i
  1.1790 +    ab\P
  1.1791 +    abA\P
  1.1792 +    aBAb\P
  1.1793 +    abaBA\P
  1.1794 +    abAbaB\P
  1.1795 +    abaBabA\P
  1.1796 +    abAbABaBx\P
  1.1797 +
  1.1798 +/^(..)\1/
  1.1799 +    aba\P
  1.1800 +
  1.1801 +/^(..)\1{2,3}x/
  1.1802 +    aba\P
  1.1803 +    ababa\P
  1.1804 +    ababa\P\P
  1.1805 +    abababx
  1.1806 +    ababababx  
  1.1807 +
  1.1808 +/^(..)\1{2,3}?x/
  1.1809 +    aba\P
  1.1810 +    ababa\P
  1.1811 +    ababa\P\P
  1.1812 +    abababx
  1.1813 +    ababababx  
  1.1814 +    
  1.1815 +/^(..)(\1{2,3})ab/
  1.1816 +    abababab
  1.1817 +
  1.1818 +/^\R/
  1.1819 +    \r\P
  1.1820 +    \r\P\P
  1.1821 +    
  1.1822 +/^\R{2,3}x/
  1.1823 +    \r\P
  1.1824 +    \r\P\P
  1.1825 +    \r\r\P 
  1.1826 +    \r\r\P\P
  1.1827 +    \r\r\r\P  
  1.1828 +    \r\r\r\P\P
  1.1829 +    \r\rx
  1.1830 +    \r\r\rx    
  1.1831 +
  1.1832 +/^\R{2,3}?x/
  1.1833 +    \r\P
  1.1834 +    \r\P\P
  1.1835 +    \r\r\P 
  1.1836 +    \r\r\P\P
  1.1837 +    \r\r\r\P  
  1.1838 +    \r\r\r\P\P
  1.1839 +    \r\rx
  1.1840 +    \r\r\rx    
  1.1841 +    
  1.1842 +/^\R?x/
  1.1843 +    \r\P
  1.1844 +    \r\P\P 
  1.1845 +    x
  1.1846 +    \rx  
  1.1847 +
  1.1848 +/^\R+x/
  1.1849 +    \r\P
  1.1850 +    \r\P\P 
  1.1851 +    \r\n\P
  1.1852 +    \r\n\P\P  
  1.1853 +    \rx  
  1.1854 +
  1.1855 +/^a$/<CRLF>
  1.1856 +    a\r\P
  1.1857 +    a\r\P\P 
  1.1858 +
  1.1859 +/^a$/m<CRLF>
  1.1860 +    a\r\P
  1.1861 +    a\r\P\P 
  1.1862 +
  1.1863 +/^(a$|a\r)/<CRLF>
  1.1864 +    a\r\P
  1.1865 +    a\r\P\P 
  1.1866 +
  1.1867 +/^(a$|a\r)/m<CRLF>
  1.1868 +    a\r\P
  1.1869 +    a\r\P\P 
  1.1870 +
  1.1871 +/./<CRLF>
  1.1872 +    \r\P
  1.1873 +    \r\P\P 
  1.1874 +  
  1.1875 +/.{2,3}/<CRLF>
  1.1876 +    \r\P 
  1.1877 +    \r\P\P
  1.1878 +    \r\r\P
  1.1879 +    \r\r\P\P
  1.1880 +    \r\r\r\P
  1.1881 +    \r\r\r\P\P     
  1.1882 +
  1.1883 +/.{2,3}?/<CRLF>
  1.1884 +    \r\P 
  1.1885 +    \r\P\P
  1.1886 +    \r\r\P
  1.1887 +    \r\r\P\P
  1.1888 +    \r\r\r\P
  1.1889 +    \r\r\r\P\P     
  1.1890 +
  1.1891 +/-- These two are here because Perl does not match: it seems to allow the
  1.1892 +COMMIT to escape from the assertion. --/
  1.1893 +
  1.1894 +/(?=a(*COMMIT)b|ac)ac|ac/
  1.1895 +    ac
  1.1896 +
  1.1897 +/(?=a(*COMMIT)b|(ac)) ac | (a)c/x
  1.1898 +    ac
  1.1899 +
  1.1900 +"AB(C(D))(E(F))?(?(?=\2)(?=\4))"
  1.1901 +    ABCDGHI\O03
  1.1902 +    
  1.1903 +/-- This one is here because Perl does not confine the *COMMIT to the 
  1.1904 +assertion, and therefore fails the entire subroutine call. --/ 
  1.1905 +    
  1.1906 +/((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
  1.1907 +    ac 
  1.1908 +    
  1.1909 +/-- These are all run as real matches in test 1; here we are just checking the
  1.1910 +settings of the anchored and startline bits. --/ 
  1.1911 +
  1.1912 +/(?>.*?a)(?<=ba)/I
  1.1913 +
  1.1914 +/(?:.*?a)(?<=ba)/I
  1.1915 +
  1.1916 +/.*?a(*PRUNE)b/I
  1.1917 +
  1.1918 +/.*?a(*PRUNE)b/sI
  1.1919 +
  1.1920 +/^a(*PRUNE)b/sI
  1.1921 +
  1.1922 +/.*?a(*SKIP)b/I
  1.1923 +
  1.1924 +/(?>.*?a)b/sI
  1.1925 +
  1.1926 +/(?>.*?a)b/I
  1.1927 +
  1.1928 +/(?>^a)b/sI
  1.1929 +
  1.1930 +/(?>.*?)(?<=(abcd)|(wxyz))/I
  1.1931 +
  1.1932 +/(?>.*)(?<=(abcd)|(wxyz))/I
  1.1933 +
  1.1934 +"(?>.*)foo"I
  1.1935 +
  1.1936 +"(?>.*?)foo"I
  1.1937 +
  1.1938 +/(?>^abc)/mI
  1.1939 +
  1.1940 +/(?>.*abc)/mI
  1.1941 +
  1.1942 +/(?:.*abc)/mI
  1.1943 +
  1.1944 +/-- Check PCRE_STUDY_EXTRA_NEEDED --/
  1.1945 +
  1.1946 +/.?/S-I
  1.1947 +
  1.1948 +/.?/S!I
  1.1949 +
  1.1950 +/-- End of testinput2 --/