Home | History | Annotate | Download | only in testdata
      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 
      6     bug. --/  
      7   
      8 /-- Originally, the Perl >= 5.10 things were in here too, but now I have 
      9     separated many (most?) of them out into test 11. However, there may still 
     10     be some that were overlooked. --/   
     11 
     12 /(a)b|/I
     13 
     14 /abc/I
     15     abc
     16     defabc
     17     \Aabc
     18     *** Failers
     19     \Adefabc
     20     ABC
     21 
     22 /^abc/I
     23     abc
     24     \Aabc
     25     *** Failers
     26     defabc
     27     \Adefabc
     28 
     29 /a+bc/I
     30 
     31 /a*bc/I
     32 
     33 /a{3}bc/I
     34 
     35 /(abc|a+z)/I
     36 
     37 /^abc$/I
     38     abc
     39     *** Failers
     40     def\nabc
     41 
     42 /ab\idef/X
     43 
     44 /(?X)ab\idef/X
     45 
     46 /x{5,4}/
     47 
     48 /z{65536}/
     49 
     50 /[abcd/
     51 
     52 /(?X)[\B]/
     53 
     54 /(?X)[\R]/
     55 
     56 /(?X)[\X]/
     57 
     58 /[\B]/BZ
     59 
     60 /[\R]/BZ
     61 
     62 /[\X]/BZ
     63 
     64 /[z-a]/
     65 
     66 /^*/
     67 
     68 /(abc/
     69 
     70 /(?# abc/
     71 
     72 /(?z)abc/
     73 
     74 /.*b/I
     75 
     76 /.*?b/I
     77 
     78 /cat|dog|elephant/I
     79     this sentence eventually mentions a cat
     80     this sentences rambles on and on for a while and then reaches elephant
     81 
     82 /cat|dog|elephant/IS
     83     this sentence eventually mentions a cat
     84     this sentences rambles on and on for a while and then reaches elephant
     85 
     86 /cat|dog|elephant/IiS
     87     this sentence eventually mentions a CAT cat
     88     this sentences rambles on and on for a while to elephant ElePhant
     89 
     90 /a|[bcd]/IS
     91 
     92 /(a|[^\dZ])/IS
     93 
     94 /(a|b)*[\s]/IS
     95 
     96 /(ab\2)/
     97 
     98 /{4,5}abc/
     99 
    100 /(a)(b)(c)\2/I
    101     abcb
    102     \O0abcb
    103     \O3abcb
    104     \O6abcb
    105     \O9abcb
    106     \O12abcb
    107 
    108 /(a)bc|(a)(b)\2/I
    109     abc
    110     \O0abc
    111     \O3abc
    112     \O6abc
    113     aba
    114     \O0aba
    115     \O3aba
    116     \O6aba
    117     \O9aba
    118     \O12aba
    119 
    120 /abc$/IE
    121     abc
    122     *** Failers
    123     abc\n
    124     abc\ndef
    125 
    126 /(a)(b)(c)(d)(e)\6/
    127 
    128 /the quick brown fox/I
    129     the quick brown fox
    130     this is a line with the quick brown fox
    131 
    132 /the quick brown fox/IA
    133     the quick brown fox
    134     *** Failers
    135     this is a line with the quick brown fox
    136 
    137 /ab(?z)cd/
    138 
    139 /^abc|def/I
    140     abcdef
    141     abcdef\B
    142 
    143 /.*((abc)$|(def))/I
    144     defabc
    145     \Zdefabc
    146 
    147 /abc/P
    148     abc
    149     *** Failers
    150 
    151 /^abc|def/P
    152     abcdef
    153     abcdef\B
    154 
    155 /.*((abc)$|(def))/P
    156     defabc
    157     \Zdefabc
    158 
    159 /the quick brown fox/P
    160     the quick brown fox
    161     *** Failers
    162     The Quick Brown Fox
    163 
    164 /the quick brown fox/Pi
    165     the quick brown fox
    166     The Quick Brown Fox
    167 
    168 /abc.def/P
    169     *** Failers
    170     abc\ndef
    171 
    172 /abc$/P
    173     abc
    174     abc\n
    175 
    176 /(abc)\2/P
    177 
    178 /(abc\1)/P
    179     abc
    180 
    181 /)/
    182 
    183 /a[]b/
    184 
    185 /[^aeiou ]{3,}/I
    186     co-processors, and for
    187 
    188 /<.*>/I
    189     abc<def>ghi<klm>nop
    190 
    191 /<.*?>/I
    192     abc<def>ghi<klm>nop
    193 
    194 /<.*>/IU
    195     abc<def>ghi<klm>nop
    196 
    197 /(?U)<.*>/I
    198     abc<def>ghi<klm>nop
    199 
    200 /<.*?>/IU
    201     abc<def>ghi<klm>nop
    202 
    203 /={3,}/IU
    204     abc========def
    205 
    206 /(?U)={3,}?/I
    207     abc========def
    208 
    209 /(?<!bar|cattle)foo/I
    210     foo
    211     catfoo
    212     *** Failers
    213     the barfoo
    214     and cattlefoo
    215 
    216 /(?<=a+)b/
    217 
    218 /(?<=aaa|b{0,3})b/
    219 
    220 /(?<!(foo)a\1)bar/
    221 
    222 /(?i)abc/I
    223 
    224 /(a|(?m)a)/I
    225 
    226 /(?i)^1234/I
    227 
    228 /(^b|(?i)^d)/I
    229 
    230 /(?s).*/I
    231 
    232 /[abcd]/IS
    233 
    234 /(?i)[abcd]/IS
    235 
    236 /(?m)[xy]|(b|c)/IS
    237 
    238 /(^a|^b)/Im
    239 
    240 /(?i)(^a|^b)/Im
    241 
    242 /(a)(?(1)a|b|c)/
    243 
    244 /(?(?=a)a|b|c)/
    245 
    246 /(?(1a)/
    247 
    248 /(?(1a))/
    249 
    250 /(?(?i))/
    251 
    252 /(?(abc))/
    253 
    254 /(?(?<ab))/
    255 
    256 /((?s)blah)\s+\1/I
    257 
    258 /((?i)blah)\s+\1/I
    259 
    260 /((?i)b)/IDZS
    261 
    262 /(a*b|(?i:c*(?-i)d))/IS
    263 
    264 /a$/I
    265     a
    266     a\n
    267     *** Failers
    268     \Za
    269     \Za\n
    270 
    271 /a$/Im
    272     a
    273     a\n
    274     \Za\n
    275     *** Failers
    276     \Za
    277 
    278 /\Aabc/Im
    279 
    280 /^abc/Im
    281 
    282 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
    283   aaaaabbbbbcccccdef
    284 
    285 /(?<=foo)[ab]/IS
    286 
    287 /(?<!foo)(alpha|omega)/IS
    288 
    289 /(?!alphabet)[ab]/IS
    290 
    291 /(?<=foo\n)^bar/Im
    292     foo\nbarbar
    293     ***Failers
    294     rhubarb
    295     barbell
    296     abc\nbarton
    297 
    298 /^(?<=foo\n)bar/Im
    299     foo\nbarbar
    300     ***Failers
    301     rhubarb
    302     barbell
    303     abc\nbarton
    304 
    305 /(?>^abc)/Im
    306     abc
    307     def\nabc
    308     *** Failers
    309     defabc
    310 
    311 /(?<=ab(c+)d)ef/
    312 
    313 /(?<=ab(?<=c+)d)ef/
    314 
    315 /(?<=ab(c|de)f)g/
    316 
    317 /The next three are in testinput2 because they have variable length branches/
    318 
    319 /(?<=bullock|donkey)-cart/I
    320     the bullock-cart
    321     a donkey-cart race
    322     *** Failers
    323     cart
    324     horse-and-cart
    325 
    326 /(?<=ab(?i)x|y|z)/I
    327 
    328 /(?>.*)(?<=(abcd)|(xyz))/I
    329     alphabetabcd
    330     endingxyz
    331 
    332 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
    333     abxyZZ
    334     abXyZZ
    335     ZZZ
    336     zZZ
    337     bZZ
    338     BZZ
    339     *** Failers
    340     ZZ
    341     abXYZZ
    342     zzz
    343     bzz
    344 
    345 /(?<!(foo)a)bar/I
    346     bar
    347     foobbar
    348     *** Failers
    349     fooabar
    350 
    351 /This one is here because Perl 5.005_02 doesn't fail it/I
    352 
    353 /^(a)?(?(1)a|b)+$/I
    354     *** Failers
    355     a
    356 
    357 /This one is here because Perl behaves differently; see also the following/I
    358 
    359 /^(a\1?){4}$/I
    360     aaaa
    361     aaaaaa
    362     
    363 /Perl does not fail these two for the final subjects. Neither did PCRE until/
    364 /release 8.01. The problem is in backtracking into a subpattern that contains/
    365 /a recursive reference to itself. PCRE has now made these into atomic patterns./
    366 
    367 /^(xa|=?\1a){2}$/
    368     xa=xaa
    369     ** Failers
    370     xa=xaaa
    371 
    372 /^(xa|=?\1a)+$/
    373     xa=xaa
    374     ** Failers
    375     xa=xaaa
    376 
    377 /These are syntax tests from Perl 5.005/I
    378 
    379 /a[b-a]/
    380 
    381 /a[]b/
    382 
    383 /a[/
    384 
    385 /*a/
    386 
    387 /(*)b/
    388 
    389 /abc)/
    390 
    391 /(abc/
    392 
    393 /a**/
    394 
    395 /)(/
    396 
    397 /\1/
    398 
    399 /\2/
    400 
    401 /(a)|\2/
    402 
    403 /a[b-a]/Ii
    404 
    405 /a[]b/Ii
    406 
    407 /a[/Ii
    408 
    409 /*a/Ii
    410 
    411 /(*)b/Ii
    412 
    413 /abc)/Ii
    414 
    415 /(abc/Ii
    416 
    417 /a**/Ii
    418 
    419 /)(/Ii
    420 
    421 /:(?:/
    422 
    423 /(?<%)b/
    424 
    425 /a(?{)b/
    426 
    427 /a(?{{})b/
    428 
    429 /a(?{}})b/
    430 
    431 /a(?{"{"})b/
    432 
    433 /a(?{"{"}})b/
    434 
    435 /(?(1?)a|b)/
    436 
    437 /[a[:xyz:/
    438 
    439 /(?<=x+)y/
    440 
    441 /a{37,17}/
    442 
    443 /abc/\
    444 
    445 /abc/\P
    446 
    447 /abc/\i
    448 
    449 /(a)bc(d)/I
    450     abcd
    451     abcd\C2
    452     abcd\C5
    453 
    454 /(.{20})/I
    455     abcdefghijklmnopqrstuvwxyz
    456     abcdefghijklmnopqrstuvwxyz\C1
    457     abcdefghijklmnopqrstuvwxyz\G1
    458 
    459 /(.{15})/I
    460     abcdefghijklmnopqrstuvwxyz
    461     abcdefghijklmnopqrstuvwxyz\C1\G1
    462 
    463 /(.{16})/I
    464     abcdefghijklmnopqrstuvwxyz
    465     abcdefghijklmnopqrstuvwxyz\C1\G1\L
    466 
    467 /^(a|(bc))de(f)/I
    468     adef\G1\G2\G3\G4\L
    469     bcdef\G1\G2\G3\G4\L
    470     adefghijk\C0
    471 
    472 /^abc\00def/I
    473     abc\00def\L\C0
    474 
    475 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
    476 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
    477 )?)?)?)?)?)?)?)?)?otherword/I
    478 
    479 /.*X/IDZ
    480 
    481 /.*X/IDZs
    482 
    483 /(.*X|^B)/IDZ
    484 
    485 /(.*X|^B)/IDZs
    486 
    487 /(?s)(.*X|^B)/IDZ
    488 
    489 /(?s:.*X|^B)/IDZ
    490 
    491 /\Biss\B/I+
    492     Mississippi
    493 
    494 /\Biss\B/I+P
    495     Mississippi
    496 
    497 /iss/IG+
    498     Mississippi
    499 
    500 /\Biss\B/IG+
    501     Mississippi
    502 
    503 /\Biss\B/Ig+
    504     Mississippi
    505     *** Failers
    506     Mississippi\A
    507 
    508 /(?<=[Ms])iss/Ig+
    509     Mississippi
    510 
    511 /(?<=[Ms])iss/IG+
    512     Mississippi
    513 
    514 /^iss/Ig+
    515     ississippi
    516 
    517 /.*iss/Ig+
    518     abciss\nxyzisspqr
    519 
    520 /.i./I+g
    521     Mississippi
    522     Mississippi\A
    523     Missouri river
    524     Missouri river\A
    525 
    526 /^.is/I+g
    527     Mississippi
    528 
    529 /^ab\n/Ig+
    530     ab\nab\ncd
    531 
    532 /^ab\n/Img+
    533     ab\nab\ncd
    534 
    535 /abc/I
    536 
    537 /abc|bac/I
    538 
    539 /(abc|bac)/I
    540 
    541 /(abc|(c|dc))/I
    542 
    543 /(abc|(d|de)c)/I
    544 
    545 /a*/I
    546 
    547 /a+/I
    548 
    549 /(baa|a+)/I
    550 
    551 /a{0,3}/I
    552 
    553 /baa{3,}/I
    554 
    555 /"([^\\"]+|\\.)*"/I
    556 
    557 /(abc|ab[cd])/I
    558 
    559 /(a|.)/I
    560 
    561 /a|ba|\w/I
    562 
    563 /abc(?=pqr)/I
    564 
    565 /...(?<=abc)/I
    566 
    567 /abc(?!pqr)/I
    568 
    569 /ab./I
    570 
    571 /ab[xyz]/I
    572 
    573 /abc*/I
    574 
    575 /ab.c*/I
    576 
    577 /a.c*/I
    578 
    579 /.c*/I
    580 
    581 /ac*/I
    582 
    583 /(a.c*|b.c*)/I
    584 
    585 /a.c*|aba/I
    586 
    587 /.+a/I
    588 
    589 /(?=abcda)a.*/I
    590 
    591 /(?=a)a.*/I
    592 
    593 /a(b)*/I
    594 
    595 /a\d*/I
    596 
    597 /ab\d*/I
    598 
    599 /a(\d)*/I
    600 
    601 /abcde{0,0}/I
    602 
    603 /ab\d+/I
    604 
    605 /a(?(1)b)(.)/I
    606 
    607 /a(?(1)bag|big)(.)/I
    608 
    609 /a(?(1)bag|big)*(.)/I
    610 
    611 /a(?(1)bag|big)+(.)/I
    612 
    613 /a(?(1)b..|b..)(.)/I
    614 
    615 /ab\d{0}e/I
    616 
    617 /a?b?/I
    618     a
    619     b
    620     ab
    621     \
    622     *** Failers
    623     \N
    624 
    625 /|-/I
    626     abcd
    627     -abc
    628     \Nab-c
    629     *** Failers
    630     \Nabc
    631 
    632 /a*(b+)(z)(z)/P
    633     aaaabbbbzzzz
    634     aaaabbbbzzzz\O0
    635     aaaabbbbzzzz\O1
    636     aaaabbbbzzzz\O2
    637     aaaabbbbzzzz\O3
    638     aaaabbbbzzzz\O4
    639     aaaabbbbzzzz\O5
    640 
    641 /^.?abcd/IS
    642 
    643 /\(             # ( at start
    644   (?:           # Non-capturing bracket
    645   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
    646   |             # Or
    647   (?R)          # Recurse - i.e. nested bracketed string
    648   )*            # Zero or more contents
    649   \)            # Closing )
    650   /Ix
    651     (abcd)
    652     (abcd)xyz
    653     xyz(abcd)
    654     (ab(xy)cd)pqr
    655     (ab(xycd)pqr
    656     () abc ()
    657     12(abcde(fsh)xyz(foo(bar))lmno)89
    658     *** Failers
    659     abcd
    660     abcd)
    661     (abcd
    662 
    663 /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
    664     (ab(xy)cd)pqr
    665     1(abcd)(x(y)z)pqr
    666 
    667 /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
    668     (abcd)
    669     (ab(xy)cd)
    670     (a(b(c)d)e)
    671     ((ab))
    672     *** Failers
    673     ()
    674 
    675 /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
    676     ()
    677     12(abcde(fsh)xyz(foo(bar))lmno)89
    678 
    679 /\(  ( (?>[^()]+) | (?R) )* \) /Ix
    680     (ab(xy)cd)
    681 
    682 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
    683     (ab(xy)cd)
    684 
    685 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
    686     (ab(xy)cd)
    687     (123ab(xy)cd)
    688 
    689 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
    690     (ab(xy)cd)
    691     (123ab(xy)cd)
    692 
    693 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
    694     (ab(xy)cd)
    695 
    696 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
    697     (abcd(xyz<p>qrs)123)
    698 
    699 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
    700     (ab(cd)ef)
    701     (ab(cd(ef)gh)ij)
    702 
    703 /^[[:alnum:]]/DZ
    704 
    705 /^[[:^alnum:]]/DZ
    706 
    707 /^[[:alpha:]]/DZ
    708 
    709 /^[[:^alpha:]]/DZ
    710 
    711 /[_[:alpha:]]/IS
    712 
    713 /^[[:ascii:]]/DZ
    714 
    715 /^[[:^ascii:]]/DZ
    716 
    717 /^[[:blank:]]/DZ
    718 
    719 /^[[:^blank:]]/DZ
    720 
    721 /[\n\x0b\x0c\x0d[:blank:]]/IS
    722 
    723 /^[[:cntrl:]]/DZ
    724 
    725 /^[[:digit:]]/DZ
    726 
    727 /^[[:graph:]]/DZ
    728 
    729 /^[[:lower:]]/DZ
    730 
    731 /^[[:print:]]/DZ
    732 
    733 /^[[:punct:]]/DZ
    734 
    735 /^[[:space:]]/DZ
    736 
    737 /^[[:upper:]]/DZ
    738 
    739 /^[[:xdigit:]]/DZ
    740 
    741 /^[[:word:]]/DZ
    742 
    743 /^[[:^cntrl:]]/DZ
    744 
    745 /^[12[:^digit:]]/DZ
    746 
    747 /^[[:^blank:]]/DZ
    748 
    749 /[01[:alpha:]%]/DZ
    750 
    751 /[[.ch.]]/I
    752 
    753 /[[=ch=]]/I
    754 
    755 /[[:rhubarb:]]/I
    756 
    757 /[[:upper:]]/Ii
    758     A
    759     a
    760 
    761 /[[:lower:]]/Ii
    762     A
    763     a
    764 
    765 /((?-i)[[:lower:]])[[:lower:]]/Ii
    766     ab
    767     aB
    768     *** Failers
    769     Ab
    770     AB
    771 
    772 /[\200-\110]/I
    773 
    774 /^(?(0)f|b)oo/I
    775 
    776 /This one's here because of the large output vector needed/I
    777 
    778 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
    779     \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
    780 
    781 /This one's here because Perl does this differently and PCRE can't at present/I
    782 
    783 /(main(O)?)+/I
    784     mainmain
    785     mainOmain
    786 
    787 /These are all cases where Perl does it differently (nested captures)/I
    788 
    789 /^(a(b)?)+$/I
    790     aba
    791 
    792 /^(aa(bb)?)+$/I
    793     aabbaa
    794 
    795 /^(aa|aa(bb))+$/I
    796     aabbaa
    797 
    798 /^(aa(bb)??)+$/I
    799     aabbaa
    800 
    801 /^(?:aa(bb)?)+$/I
    802     aabbaa
    803 
    804 /^(aa(b(b))?)+$/I
    805     aabbaa
    806 
    807 /^(?:aa(b(b))?)+$/I
    808     aabbaa
    809 
    810 /^(?:aa(b(?:b))?)+$/I
    811     aabbaa
    812 
    813 /^(?:aa(bb(?:b))?)+$/I
    814     aabbbaa
    815 
    816 /^(?:aa(b(?:bb))?)+$/I
    817     aabbbaa
    818 
    819 /^(?:aa(?:b(b))?)+$/I
    820     aabbaa
    821 
    822 /^(?:aa(?:b(bb))?)+$/I
    823     aabbbaa
    824 
    825 /^(aa(b(bb))?)+$/I
    826     aabbbaa
    827 
    828 /^(aa(bb(bb))?)+$/I
    829     aabbbbaa
    830 
    831 /--------------------------------------------------------------------/I
    832 
    833 /#/IxDZ
    834 
    835 /a#/IxDZ
    836 
    837 /[\s]/DZ
    838 
    839 /[\S]/DZ
    840 
    841 /a(?i)b/DZ
    842     ab
    843     aB
    844     *** Failers
    845     AB
    846 
    847 /(a(?i)b)/DZ
    848     ab
    849     aB
    850     *** Failers
    851     AB
    852 
    853 /   (?i)abc/IxDZ
    854 
    855 /#this is a comment
    856   (?i)abc/IxDZ
    857 
    858 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
    859 
    860 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
    861 
    862 /\Q\E/DZ
    863     \
    864 
    865 /\Q\Ex/DZ
    866 
    867 / \Q\E/DZ
    868 
    869 /a\Q\E/DZ
    870   abc
    871   bca
    872   bac
    873 
    874 /a\Q\Eb/DZ
    875   abc
    876 
    877 /\Q\Eabc/DZ
    878 
    879 /x*+\w/DZ
    880     *** Failers
    881     xxxxx
    882 
    883 /x?+/DZ
    884 
    885 /x++/DZ
    886 
    887 /x{1,3}+/DZ
    888 
    889 /(x)*+/DZ
    890 
    891 /^(\w++|\s++)*$/I
    892     now is the time for all good men to come to the aid of the party
    893     *** Failers
    894     this is not a line with only words and spaces!
    895 
    896 /(\d++)(\w)/I
    897     12345a
    898     *** Failers
    899     12345+
    900 
    901 /a++b/I
    902     aaab
    903 
    904 /(a++b)/I
    905     aaab
    906 
    907 /(a++)b/I
    908     aaab
    909 
    910 /([^()]++|\([^()]*\))+/I
    911     ((abc(ade)ufh()()x
    912 
    913 /\(([^()]++|\([^()]+\))+\)/I
    914     (abc)
    915     (abc(def)xyz)
    916     *** Failers
    917     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    918 
    919 /(abc){1,3}+/DZ
    920 
    921 /a+?+/I
    922 
    923 /a{2,3}?+b/I
    924 
    925 /(?U)a+?+/I
    926 
    927 /a{2,3}?+b/IU
    928 
    929 /x(?U)a++b/DZ
    930     xaaaab
    931 
    932 /(?U)xa++b/DZ
    933     xaaaab
    934 
    935 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
    936 
    937 /^x(?U)a+b/DZ
    938 
    939 /^x(?U)(a+)b/DZ
    940 
    941 /[.x.]/I
    942 
    943 /[=x=]/I
    944 
    945 /[:x:]/I
    946 
    947 /\l/I
    948 
    949 /\L/I
    950 
    951 /\N{name}/I
    952 
    953 /\u/I
    954 
    955 /\U/I
    956 
    957 /[/I
    958 
    959 /[a-/I
    960 
    961 /[[:space:]/I
    962 
    963 /[\s]/IDZ
    964 
    965 /[[:space:]]/IDZ
    966 
    967 /[[:space:]abcde]/IDZ
    968 
    969 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
    970     <>
    971     <abcd>
    972     <abc <123> hij>
    973     <abc <def> hij>
    974     <abc<>def>
    975     <abc<>
    976     *** Failers
    977     <abc
    978 
    979 |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
    980 
    981 |\$\<\.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
    982 
    983 /(.*)\d+\1/I
    984 
    985 /(.*)\d+/I
    986 
    987 /(.*)\d+\1/Is
    988 
    989 /(.*)\d+/Is
    990 
    991 /(.*(xyz))\d+\2/I
    992 
    993 /((.*))\d+\1/I
    994     abc123bc
    995 
    996 /a[b]/I
    997 
    998 /(?=a).*/I
    999 
   1000 /(?=abc).xyz/IiI
   1001 
   1002 /(?=abc)(?i).xyz/I
   1003 
   1004 /(?=a)(?=b)/I
   1005 
   1006 /(?=.)a/I
   1007 
   1008 /((?=abcda)a)/I
   1009 
   1010 /((?=abcda)ab)/I
   1011 
   1012 /()a/I
   1013 
   1014 /(?(1)ab|ac)(.)/I
   1015 
   1016 /(?(1)abz|acz)(.)/I
   1017 
   1018 /(?(1)abz)(.)/I
   1019 
   1020 /(?(1)abz)(1)23/I
   1021 
   1022 /(a)+/I
   1023 
   1024 /(a){2,3}/I
   1025 
   1026 /(a)*/I
   1027 
   1028 /[a]/I
   1029 
   1030 /[ab]/I
   1031 
   1032 /[ab]/IS
   1033 
   1034 /[^a]/I
   1035 
   1036 /\d456/I
   1037 
   1038 /\d456/IS
   1039 
   1040 /a^b/I
   1041 
   1042 /^a/Im
   1043   abcde
   1044   xy\nabc
   1045   *** Failers
   1046   xyabc
   1047 
   1048 /c|abc/I
   1049 
   1050 /(?i)[ab]/IS
   1051 
   1052 /[ab](?i)cd/IS
   1053 
   1054 /abc(?C)def/I
   1055     abcdef
   1056     1234abcdef
   1057     *** Failers
   1058     abcxyz
   1059     abcxyzf
   1060 
   1061 /abc(?C)de(?C1)f/I
   1062     123abcdef
   1063 
   1064 /(?C1)\dabc(?C2)def/I
   1065     1234abcdef
   1066     *** Failers
   1067     abcdef
   1068 
   1069 /(?C255)ab/I
   1070 
   1071 /(?C256)ab/I
   1072 
   1073 /(?Cab)xx/I
   1074 
   1075 /(?C12vr)x/I
   1076 
   1077 /abc(?C)def/I
   1078     *** Failers
   1079     \x83\x0\x61bcdef
   1080 
   1081 /(abc)(?C)de(?C1)f/I
   1082     123abcdef
   1083     123abcdef\C+
   1084     123abcdef\C-
   1085     *** Failers
   1086     123abcdef\C!1
   1087 
   1088 /(?C0)(abc(?C1))*/I
   1089     abcabcabc
   1090     abcabc\C!1!3
   1091     *** Failers
   1092     abcabcabc\C!1!3
   1093 
   1094 /(\d{3}(?C))*/I
   1095     123\C+
   1096     123456\C+
   1097     123456789\C+
   1098 
   1099 /((xyz)(?C)p|(?C1)xyzabc)/I
   1100     xyzabc\C+
   1101 
   1102 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
   1103     Xxyzabc\C+
   1104 
   1105 /(?=(abc))(?C)abcdef/I
   1106     abcdef\C+
   1107 
   1108 /(?!(abc)(?C1)d)(?C2)abcxyz/I
   1109     abcxyz\C+
   1110 
   1111 /(?<=(abc)(?C))xyz/I
   1112    abcxyz\C+
   1113 
   1114 /a(b+)(c*)(?C1)/I
   1115     abbbbbccc\C*1
   1116 
   1117 /a(b+?)(c*?)(?C1)/I
   1118     abbbbbccc\C*1
   1119 
   1120 /(?C)abc/I
   1121 
   1122 /(?C)^abc/I
   1123 
   1124 /(?C)a|b/IS
   1125 
   1126 /(?R)/I
   1127 
   1128 /(a|(?R))/I
   1129 
   1130 /(ab|(bc|(de|(?R))))/I
   1131 
   1132 /x(ab|(bc|(de|(?R))))/I
   1133     xab
   1134     xbc
   1135     xde
   1136     xxab
   1137     xxxab
   1138     *** Failers
   1139     xyab
   1140 
   1141 /(ab|(bc|(de|(?1))))/I
   1142 
   1143 /x(ab|(bc|(de|(?1)x)x)x)/I
   1144 
   1145 /^([^()]|\((?1)*\))*$/I
   1146     abc
   1147     a(b)c
   1148     a(b(c))d
   1149     *** Failers)
   1150     a(b(c)d
   1151 
   1152 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
   1153    >abc>123<xyz<
   1154    >abc>1(2)3<xyz<
   1155    >abc>(1(2)3)<xyz<
   1156 
   1157 /(a(?1)b)/DZ
   1158 
   1159 /(a(?1)+b)/DZ
   1160 
   1161 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
   1162     12
   1163     (((2+2)*-3)-7)
   1164     -12
   1165     *** Failers
   1166     ((2+2)*-3)-7)
   1167 
   1168 /^(x(y|(?1){2})z)/I
   1169     xyz
   1170     xxyzxyzz
   1171     *** Failers
   1172     xxyzz
   1173     xxyzxyzxyzz
   1174 
   1175 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
   1176     <>
   1177     <abcd>
   1178     <abc <123> hij>
   1179     <abc <def> hij>
   1180     <abc<>def>
   1181     <abc<>
   1182     *** Failers
   1183     <abc
   1184 
   1185 /(?1)/I
   1186 
   1187 /((?2)(abc)/I
   1188 
   1189 /^(abc)def(?1)/I
   1190     abcdefabc
   1191 
   1192 /^(a|b|c)=(?1)+/I
   1193     a=a
   1194     a=b
   1195     a=bc
   1196 
   1197 /^(a|b|c)=((?1))+/I
   1198     a=a
   1199     a=b
   1200     a=bc
   1201 
   1202 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
   1203     abde
   1204     acde
   1205 
   1206 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
   1207 
   1208 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
   1209 
   1210 /^\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
   1211     1221
   1212     Satan, oscillate my metallic sonatas!
   1213     A man, a plan, a canal: Panama!
   1214     Able was I ere I saw Elba.
   1215     *** Failers
   1216     The quick brown fox
   1217 
   1218 /((?(R)a|b))\1(?1)?/I
   1219   bb
   1220   bbaa
   1221 
   1222 /(.*)a/Is
   1223 
   1224 /(.*)a\1/Is
   1225 
   1226 /(.*)a(b)\2/Is
   1227 
   1228 /((.*)a|(.*)b)z/Is
   1229 
   1230 /((.*)a|(.*)b)z\1/Is
   1231 
   1232 /((.*)a|(.*)b)z\2/Is
   1233 
   1234 /((.*)a|(.*)b)z\3/Is
   1235 
   1236 /((.*)a|^(.*)b)z\3/Is
   1237 
   1238 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
   1239 
   1240 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
   1241 
   1242 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
   1243 
   1244 /(a)(bc)/INDZ
   1245   abc
   1246 
   1247 /(?P<one>a)(bc)/INDZ
   1248   abc
   1249 
   1250 /(a)(?P<named>bc)/INDZ
   1251 
   1252 /(a+)*zz/I
   1253   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
   1254   aaaaaaaaaaaaaz\M
   1255 
   1256 /(aaa(?C1)bbb|ab)/I
   1257    aaabbb
   1258    aaabbb\C*0
   1259    aaabbb\C*1
   1260    aaabbb\C*-1
   1261 
   1262 /ab(?P<one>cd)ef(?P<two>gh)/I
   1263     abcdefgh
   1264     abcdefgh\C1\Gtwo
   1265     abcdefgh\Cone\Ctwo
   1266     abcdefgh\Cthree
   1267 
   1268 /(?P<Tes>)(?P<Test>)/DZ
   1269 
   1270 /(?P<Test>)(?P<Tes>)/DZ
   1271 
   1272 /(?P<Z>zz)(?P<A>aa)/I
   1273     zzaa\CZ
   1274     zzaa\CA
   1275 
   1276 /(?P<x>eks)(?P<x>eccs)/I
   1277 
   1278 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
   1279 
   1280 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
   1281     [10,20,30,5,5,4,4,2,43,23,4234]
   1282     *** Failers
   1283     []
   1284 
   1285 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
   1286     [10,20,30,5,5,4,4,2,43,23,4234]
   1287     []
   1288 
   1289 /(a(b(?2)c))?/DZ
   1290 
   1291 /(a(b(?2)c))*/DZ
   1292 
   1293 /(a(b(?2)c)){0,2}/DZ
   1294 
   1295 /[ab]{1}+/DZ
   1296 
   1297 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
   1298      Baby Bjorn Active Carrier - With free SHIPPING!!
   1299 
   1300 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
   1301      Baby Bjorn Active Carrier - With free SHIPPING!!
   1302 
   1303 /a*.*b/ISDZ
   1304 
   1305 /(a|b)*.?c/ISDZ
   1306 
   1307 /abc(?C255)de(?C)f/DZ
   1308 
   1309 /abcde/ICDZ
   1310   abcde
   1311   abcdfe
   1312 
   1313 /a*b/ICDZ
   1314   ab
   1315   aaaab
   1316   aaaacb
   1317 
   1318 /a+b/ICDZ
   1319   ab
   1320   aaaab
   1321   aaaacb
   1322 
   1323 /(abc|def)x/ICDZ
   1324   abcx
   1325   defx
   1326   abcdefzx
   1327 
   1328 /(ab|cd){3,4}/IC
   1329   ababab
   1330   abcdabcd
   1331   abcdcdcdcdcd
   1332 
   1333 /([ab]{,4}c|xy)/ICDZ
   1334     Note: that { does NOT introduce a quantifier
   1335 
   1336 /([ab]{1,4}c|xy){4,5}?123/ICDZ
   1337     aacaacaacaacaac123
   1338 
   1339 /\b.*/I
   1340   ab cd\>1
   1341 
   1342 /\b.*/Is
   1343   ab cd\>1
   1344 
   1345 /(?!.bcd).*/I
   1346   Xbcd12345
   1347 
   1348 /abcde/I
   1349     ab\P
   1350     abc\P
   1351     abcd\P
   1352     abcde\P
   1353     the quick brown abc\P
   1354     ** Failers\P
   1355     the quick brown abxyz fox\P
   1356 
   1357 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
   1358     13/05/04\P
   1359     13/5/2004\P
   1360     02/05/09\P
   1361     1\P
   1362     1/2\P
   1363     1/2/0\P
   1364     1/2/04\P
   1365     0\P
   1366     02/\P
   1367     02/0\P
   1368     02/1\P
   1369     ** Failers\P
   1370     \P
   1371     123\P
   1372     33/4/04\P
   1373     3/13/04\P
   1374     0/1/2003\P
   1375     0/\P
   1376     02/0/\P
   1377     02/13\P
   1378 
   1379 /0{0,2}ABC/I
   1380 
   1381 /\d{3,}ABC/I
   1382 
   1383 /\d*ABC/I
   1384 
   1385 /[abc]+DE/I
   1386 
   1387 /[abc]?123/I
   1388     123\P
   1389     a\P
   1390     b\P
   1391     c\P
   1392     c12\P
   1393     c123\P
   1394 
   1395 /^(?:\d){3,5}X/I
   1396     1\P
   1397     123\P
   1398     123X
   1399     1234\P
   1400     1234X
   1401     12345\P
   1402     12345X
   1403     *** Failers
   1404     1X
   1405     123456\P
   1406 
   1407 /abc/I>testsavedregex
   1408 <testsavedregex
   1409     abc
   1410     ** Failers
   1411     bca
   1412 
   1413 /abc/IF>testsavedregex
   1414 <testsavedregex
   1415     abc
   1416     ** Failers
   1417     bca
   1418 
   1419 /(a|b)/IS>testsavedregex
   1420 <testsavedregex
   1421     abc
   1422     ** Failers
   1423     def
   1424 
   1425 /(a|b)/ISF>testsavedregex
   1426 <testsavedregex
   1427     abc
   1428     ** Failers
   1429     def
   1430 
   1431 ~<(\w+)/?>(.)*</(\1)>~smgI
   1432     <!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>
   1433 
   1434 /^a/IF
   1435 
   1436 /line\nbreak/I
   1437     this is a line\nbreak
   1438     line one\nthis is a line\nbreak in the second line
   1439 
   1440 /line\nbreak/If
   1441     this is a line\nbreak
   1442     ** Failers
   1443     line one\nthis is a line\nbreak in the second line
   1444 
   1445 /line\nbreak/Imf
   1446     this is a line\nbreak
   1447     ** Failers
   1448     line one\nthis is a line\nbreak in the second line
   1449 
   1450 /ab.cd/P
   1451     ab-cd
   1452     ab=cd
   1453     ** Failers
   1454     ab\ncd
   1455 
   1456 /ab.cd/Ps
   1457     ab-cd
   1458     ab=cd
   1459     ab\ncd
   1460 
   1461 /(?i)(?-i)AbCd/I
   1462     AbCd
   1463     ** Failers
   1464     abcd
   1465 
   1466 /a{11111111111111111111}/I
   1467 
   1468 /(){64294967295}/I
   1469 
   1470 /(){2,4294967295}/I
   1471 
   1472 "(?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
   1473     abcdefghijklAkB
   1474 
   1475 "(?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
   1476     abcdefghijklAkB
   1477 
   1478 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
   1479     abcdefghijklAkB
   1480 
   1481 "(?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
   1482     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   1483 
   1484 "(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
   1485     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   1486 
   1487 /[^()]*(?:\((?R)\)[^()]*)*/I
   1488     (this(and)that
   1489     (this(and)that)
   1490     (this(and)that)stuff
   1491 
   1492 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
   1493     (this(and)that
   1494     (this(and)that)
   1495 
   1496 /[^()]*(?:\((?R)\))*[^()]*/I
   1497     (this(and)that
   1498     (this(and)that)
   1499 
   1500 /(?:\((?R)\))*[^()]*/I
   1501     (this(and)that
   1502     (this(and)that)
   1503     ((this))
   1504 
   1505 /(?:\((?R)\))|[^()]*/I
   1506     (this(and)that
   1507     (this(and)that)
   1508     (this)
   1509     ((this))
   1510 
   1511 /a(b)c/PN
   1512     abc
   1513 
   1514 /a(?P<name>b)c/PN
   1515     abc
   1516 
   1517 /\x{100}/I
   1518 
   1519 /\x{0000ff}/I
   1520 
   1521 /^((?P<A>a1)|(?P<A>a2)b)/I
   1522 
   1523 /^((?P<A>a1)|(?P<A>a2)b)/IJ
   1524     a1b\CA
   1525     a2b\CA
   1526     ** Failers
   1527     a1b\CZ\CA
   1528 
   1529 /^(?P<A>a)(?P<A>b)/IJ
   1530     ab\CA
   1531 
   1532 /^(?P<A>a)(?P<A>b)|cd/IJ
   1533     ab\CA
   1534     cd\CA
   1535 
   1536 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
   1537     cdefgh\CA
   1538 
   1539 /^((?P<A>a1)|(?P<A>a2)b)/IJ
   1540     a1b\GA
   1541     a2b\GA
   1542     ** Failers
   1543     a1b\GZ\GA
   1544 
   1545 /^(?P<A>a)(?P<A>b)/IJ
   1546     ab\GA
   1547 
   1548 /^(?P<A>a)(?P<A>b)|cd/IJ
   1549     ab\GA
   1550     cd\GA
   1551 
   1552 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
   1553     cdefgh\GA
   1554 
   1555 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
   1556     a1b\CA
   1557     a2b\CA
   1558 
   1559 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
   1560 
   1561 / In this next test, J is not set at the outer level; consequently it isn't
   1562 set in the pattern's options; consequently pcre_get_named_substring() produces
   1563 a random value. /Ix
   1564 
   1565 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
   1566     a bc d\CA\CB\CC
   1567 
   1568 /^(?P<A>a)?(?(A)a|b)/I
   1569     aabc
   1570     bc
   1571     ** Failers
   1572     abc
   1573 
   1574 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
   1575     bXaX
   1576 
   1577 /(?:(?(2y)a|b)(X))+/I
   1578 
   1579 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
   1580 
   1581 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
   1582     bbXaaX
   1583 
   1584 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
   1585     (b)\\Xa\\X
   1586 
   1587 /(?P<ABC/I
   1588 
   1589 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
   1590     bXXaYYaY
   1591     bXYaXXaX
   1592 
   1593 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
   1594     bXXaYYaY
   1595 
   1596 /\777/I
   1597 
   1598 /\s*,\s*/IS
   1599     \x0b,\x0b
   1600     \x0c,\x0d
   1601 
   1602 /^abc/Im
   1603     xyz\nabc
   1604     xyz\nabc\<lf>
   1605     xyz\r\nabc\<lf>
   1606     xyz\rabc\<cr>
   1607     xyz\r\nabc\<crlf>
   1608     ** Failers
   1609     xyz\nabc\<cr>
   1610     xyz\r\nabc\<cr>
   1611     xyz\nabc\<crlf>
   1612     xyz\rabc\<crlf>
   1613     xyz\rabc\<lf>
   1614 
   1615 /abc$/Im<lf>
   1616     xyzabc
   1617     xyzabc\n
   1618     xyzabc\npqr
   1619     xyzabc\r\<cr>
   1620     xyzabc\rpqr\<cr>
   1621     xyzabc\r\n\<crlf>
   1622     xyzabc\r\npqr\<crlf>
   1623     ** Failers
   1624     xyzabc\r
   1625     xyzabc\rpqr
   1626     xyzabc\r\n
   1627     xyzabc\r\npqr
   1628 
   1629 /^abc/Im<cr>
   1630     xyz\rabcdef
   1631     xyz\nabcdef\<lf>
   1632     ** Failers
   1633     xyz\nabcdef
   1634 
   1635 /^abc/Im<lf>
   1636     xyz\nabcdef
   1637     xyz\rabcdef\<cr>
   1638     ** Failers
   1639     xyz\rabcdef
   1640 
   1641 /^abc/Im<crlf>
   1642     xyz\r\nabcdef
   1643     xyz\rabcdef\<cr>
   1644     ** Failers
   1645     xyz\rabcdef
   1646 
   1647 /^abc/Im<bad>
   1648 
   1649 /abc/I
   1650     xyz\rabc\<bad>
   1651     abc
   1652 
   1653 /.*/I<lf>
   1654     abc\ndef
   1655     abc\rdef
   1656     abc\r\ndef
   1657     \<cr>abc\ndef
   1658     \<cr>abc\rdef
   1659     \<cr>abc\r\ndef
   1660     \<crlf>abc\ndef
   1661     \<crlf>abc\rdef
   1662     \<crlf>abc\r\ndef
   1663 
   1664 /\w+(.)(.)?def/Is
   1665     abc\ndef
   1666     abc\rdef
   1667     abc\r\ndef
   1668 
   1669 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
   1670    /* this is a C style comment */\M
   1671 
   1672 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
   1673 
   1674 /()()()()()()()()()()()()()()()()()()()()
   1675  ()()()()()()()()()()()()()()()()()()()()
   1676  ()()()()()()()()()()()()()()()()()()()()
   1677  ()()()()()()()()()()()()()()()()()()()()
   1678  ()()()()()()()()()()()()()()()()()()()()
   1679  (.(.))/Ix
   1680     XY\O400
   1681 
   1682 /(a*b|(?i:c*(?-i)d))/IS
   1683 
   1684 /()[ab]xyz/IS
   1685 
   1686 /(|)[ab]xyz/IS
   1687 
   1688 /(|c)[ab]xyz/IS
   1689 
   1690 /(|c?)[ab]xyz/IS
   1691 
   1692 /(d?|c?)[ab]xyz/IS
   1693 
   1694 /(d?|c)[ab]xyz/IS
   1695 
   1696 /^a*b\d/DZ
   1697 
   1698 /^a*+b\d/DZ
   1699 
   1700 /^a*?b\d/DZ
   1701 
   1702 /^a+A\d/DZ
   1703     aaaA5
   1704     ** Failers
   1705     aaaa5
   1706 
   1707 /^a*A\d/IiDZ
   1708     aaaA5
   1709     aaaa5
   1710 
   1711 /(a*|b*)[cd]/IS
   1712 
   1713 /(a+|b*)[cd]/IS
   1714 
   1715 /(a*|b+)[cd]/IS
   1716 
   1717 /(a+|b+)[cd]/IS
   1718 
   1719 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
   1720  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
   1721  (((
   1722  a
   1723  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
   1724  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
   1725  )))
   1726 /Ix
   1727   large nest
   1728 
   1729 /a*\d/BZ
   1730 
   1731 /a*\D/BZ
   1732 
   1733 /0*\d/BZ
   1734 
   1735 /0*\D/BZ
   1736 
   1737 /a*\s/BZ
   1738 
   1739 /a*\S/BZ
   1740 
   1741 / *\s/BZ
   1742 
   1743 / *\S/BZ
   1744 
   1745 /a*\w/BZ
   1746 
   1747 /a*\W/BZ
   1748 
   1749 /=*\w/BZ
   1750 
   1751 /=*\W/BZ
   1752 
   1753 /\d*a/BZ
   1754 
   1755 /\d*2/BZ
   1756 
   1757 /\d*\d/BZ
   1758 
   1759 /\d*\D/BZ
   1760 
   1761 /\d*\s/BZ
   1762 
   1763 /\d*\S/BZ
   1764 
   1765 /\d*\w/BZ
   1766 
   1767 /\d*\W/BZ
   1768 
   1769 /\D*a/BZ
   1770 
   1771 /\D*2/BZ
   1772 
   1773 /\D*\d/BZ
   1774 
   1775 /\D*\D/BZ
   1776 
   1777 /\D*\s/BZ
   1778 
   1779 /\D*\S/BZ
   1780 
   1781 /\D*\w/BZ
   1782 
   1783 /\D*\W/BZ
   1784 
   1785 /\s*a/BZ
   1786 
   1787 /\s*2/BZ
   1788 
   1789 /\s*\d/BZ
   1790 
   1791 /\s*\D/BZ
   1792 
   1793 /\s*\s/BZ
   1794 
   1795 /\s*\S/BZ
   1796 
   1797 /\s*\w/BZ
   1798 
   1799 /\s*\W/BZ
   1800 
   1801 /\S*a/BZ
   1802 
   1803 /\S*2/BZ
   1804 
   1805 /\S*\d/BZ
   1806 
   1807 /\S*\D/BZ
   1808 
   1809 /\S*\s/BZ
   1810 
   1811 /\S*\S/BZ
   1812 
   1813 /\S*\w/BZ
   1814 
   1815 /\S*\W/BZ
   1816 
   1817 /\w*a/BZ
   1818 
   1819 /\w*2/BZ
   1820 
   1821 /\w*\d/BZ
   1822 
   1823 /\w*\D/BZ
   1824 
   1825 /\w*\s/BZ
   1826 
   1827 /\w*\S/BZ
   1828 
   1829 /\w*\w/BZ
   1830 
   1831 /\w*\W/BZ
   1832 
   1833 /\W*a/BZ
   1834 
   1835 /\W*2/BZ
   1836 
   1837 /\W*\d/BZ
   1838 
   1839 /\W*\D/BZ
   1840 
   1841 /\W*\s/BZ
   1842 
   1843 /\W*\S/BZ
   1844 
   1845 /\W*\w/BZ
   1846 
   1847 /\W*\W/BZ
   1848 
   1849 /[^a]+a/BZ
   1850 
   1851 /[^a]+a/BZi
   1852 
   1853 /[^a]+A/BZi
   1854 
   1855 /[^a]+b/BZ
   1856 
   1857 /[^a]+\d/BZ
   1858 
   1859 /a*[^a]/BZ
   1860 
   1861 /(?P<abc>x)(?P<xyz>y)/I
   1862     xy\Cabc\Cxyz
   1863 
   1864 /(?<abc>x)(?'xyz'y)/I
   1865     xy\Cabc\Cxyz
   1866 
   1867 /(?<abc'x)(?'xyz'y)/I
   1868 
   1869 /(?<abc>x)(?'xyz>y)/I
   1870 
   1871 /(?P'abc'x)(?P<xyz>y)/I
   1872 
   1873 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
   1874     bXaX
   1875     bXbX
   1876     ** Failers
   1877     aXaX
   1878     aXbX
   1879 
   1880 /^(?P>abc)(?<abcd>xxx)/
   1881 
   1882 /^(?P>abc)(?<abc>x|y)/
   1883     xx
   1884     xy
   1885     yy
   1886     yx
   1887 
   1888 /^(?P>abc)(?P<abc>x|y)/
   1889     xx
   1890     xy
   1891     yy
   1892     yx
   1893 
   1894 /^((?(abc)a|b)(?<abc>x|y))+/
   1895     bxay
   1896     bxby
   1897     ** Failers
   1898     axby
   1899 
   1900 /^(((?P=abc)|X)(?<abc>x|y))+/
   1901     XxXxxx
   1902     XxXyyx
   1903     XxXyxx
   1904     ** Failers
   1905     x
   1906 
   1907 /^(?1)(abc)/
   1908     abcabc
   1909 
   1910 /^(?:(?:\1|X)(a|b))+/
   1911     Xaaa
   1912     Xaba
   1913 
   1914 /^[\E\Qa\E-\Qz\E]+/BZ
   1915 
   1916 /^[a\Q]bc\E]/BZ
   1917 
   1918 /^[a-\Q\E]/BZ
   1919 
   1920 /^(?P>abc)[()](?<abc>)/BZ
   1921 
   1922 /^((?(abc)y)[()](?P<abc>x))+/BZ
   1923     (xy)x
   1924 
   1925 /^(?P>abc)\Q()\E(?<abc>)/BZ
   1926 
   1927 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
   1928 
   1929 /^(?P>abc) # this is (a comment)
   1930   (?<abc>)/BZx
   1931 
   1932 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
   1933     1221
   1934     Satan, oscillate my metallic sonatas!
   1935     A man, a plan, a canal: Panama!
   1936     Able was I ere I saw Elba.
   1937     *** Failers
   1938     The quick brown fox
   1939 
   1940 /(?=(\w+))\1:/I
   1941     abcd:
   1942 
   1943 /(?=(?'abc'\w+))\k<abc>:/I
   1944     abcd:
   1945 
   1946 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
   1947     adaa
   1948     ** Failers
   1949     addd
   1950     adbb
   1951 
   1952 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
   1953     bdaa
   1954     bdab
   1955     ** Failers
   1956     bddd
   1957 
   1958 /(?(<bc))/
   1959 
   1960 /(?(''))/
   1961 
   1962 /(?('R')stuff)/
   1963 
   1964 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
   1965     abcabc1Xabc2XabcXabcabc
   1966 
   1967 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   1968     abcabc1Xabc2XabcXabcabc
   1969 
   1970 /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   1971 
   1972 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   1973     abcabc1Xabc2XabcXabcabc
   1974 
   1975 /^(?(DEFINE) abc | xyz ) /x
   1976 
   1977 /(?(DEFINE) abc) xyz/xI
   1978 
   1979 /(?(DEFINE) abc){3} xyz/x
   1980 
   1981 /(a|)*\d/
   1982   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   1983   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
   1984 
   1985 /^a.b/<lf>
   1986     a\rb
   1987     a\nb\<cr>
   1988     a\x85b\<anycrlf> 
   1989     ** Failers
   1990     a\nb
   1991     a\nb\<any>
   1992     a\rb\<cr>
   1993     a\rb\<any>
   1994     a\x85b\<any> 
   1995     a\rb\<anycrlf>
   1996 
   1997 /^abc./mgx<any>
   1998     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
   1999 
   2000 /abc.$/mgx<any>
   2001     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
   2002 
   2003 /a/<cr><any>
   2004 
   2005 /a/<any><crlf>
   2006 
   2007 /^a\Rb/<bsr_unicode>
   2008     a\nb
   2009     a\rb
   2010     a\r\nb
   2011     a\x0bb
   2012     a\x0cb
   2013     a\x85b
   2014     ** Failers
   2015     a\n\rb
   2016 
   2017 /^a\R*b/<bsr_unicode>
   2018     ab
   2019     a\nb
   2020     a\rb
   2021     a\r\nb
   2022     a\x0bb
   2023     a\x0cb
   2024     a\x85b
   2025     a\n\rb
   2026     a\n\r\x85\x0cb
   2027 
   2028 /^a\R+b/<bsr_unicode>
   2029     a\nb
   2030     a\rb
   2031     a\r\nb
   2032     a\x0bb
   2033     a\x0cb
   2034     a\x85b
   2035     a\n\rb
   2036     a\n\r\x85\x0cb
   2037     ** Failers
   2038     ab
   2039 
   2040 /^a\R{1,3}b/<bsr_unicode>
   2041     a\nb
   2042     a\n\rb
   2043     a\n\r\x85b
   2044     a\r\n\r\nb
   2045     a\r\n\r\n\r\nb
   2046     a\n\r\n\rb
   2047     a\n\n\r\nb
   2048     ** Failers
   2049     a\n\n\n\rb
   2050     a\r
   2051 
   2052 /^a[\R]b/<bsr_unicode>
   2053     aRb
   2054     ** Failers
   2055     a\nb
   2056 
   2057 /(?&abc)X(?<abc>P)/I
   2058     abcPXP123
   2059 
   2060 /(?1)X(?<abc>P)/I
   2061     abcPXP123
   2062 
   2063 /(?:a(?&abc)b)*(?<abc>x)/
   2064     123axbaxbaxbx456
   2065     123axbaxbaxb456
   2066 
   2067 /(?:a(?&abc)b){1,5}(?<abc>x)/
   2068     123axbaxbaxbx456
   2069 
   2070 /(?:a(?&abc)b){2,5}(?<abc>x)/
   2071     123axbaxbaxbx456
   2072 
   2073 /(?:a(?&abc)b){2,}(?<abc>x)/
   2074     123axbaxbaxbx456
   2075 
   2076 /(abc)(?i:(?1))/
   2077    defabcabcxyz
   2078    DEFabcABCXYZ
   2079 
   2080 /(abc)(?:(?i)(?1))/
   2081    defabcabcxyz
   2082    DEFabcABCXYZ
   2083 
   2084 /^(a)\g-2/
   2085 
   2086 /^(a)\g/
   2087 
   2088 /^(a)\g{0}/
   2089 
   2090 /^(a)\g{3/
   2091 
   2092 /^(a)\g{4a}/
   2093 
   2094 /^a.b/<lf>
   2095     a\rb
   2096     *** Failers
   2097     a\nb
   2098 
   2099 /.+foo/
   2100     afoo
   2101     ** Failers
   2102     \r\nfoo
   2103     \nfoo
   2104 
   2105 /.+foo/<crlf>
   2106     afoo
   2107     \nfoo
   2108     ** Failers
   2109     \r\nfoo
   2110 
   2111 /.+foo/<any>
   2112     afoo
   2113     ** Failers
   2114     \nfoo
   2115     \r\nfoo
   2116 
   2117 /.+foo/s
   2118     afoo
   2119     \r\nfoo
   2120     \nfoo
   2121     
   2122 /^$/mg<any>
   2123     abc\r\rxyz
   2124     abc\n\rxyz  
   2125     ** Failers 
   2126     abc\r\nxyz
   2127 
   2128 /(?m)^$/<any>g+
   2129     abc\r\n\r\n
   2130 
   2131 /(?m)^$|^\r\n/<any>g+ 
   2132     abc\r\n\r\n
   2133     
   2134 /(?m)$/<any>g+ 
   2135     abc\r\n\r\n
   2136 
   2137 /abc.$/mgx<anycrlf>
   2138     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
   2139 
   2140 /^X/m
   2141     XABC
   2142     ** Failers 
   2143     XABC\B
   2144 
   2145 /(ab|c)(?-1)/BZ
   2146     abc
   2147 
   2148 /xy(?+1)(abc)/BZ
   2149     xyabcabc
   2150     ** Failers
   2151     xyabc  
   2152     
   2153 /x(?-0)y/
   2154 
   2155 /x(?-1)y/
   2156 
   2157 /x(?+0)y/ 
   2158 
   2159 /x(?+1)y/
   2160 
   2161 /^(abc)?(?(-1)X|Y)/BZ
   2162     abcX
   2163     Y
   2164     ** Failers
   2165     abcY   
   2166     
   2167 /^((?(+1)X|Y)(abc))+/BZ 
   2168     YabcXabc
   2169     YabcXabcXabc
   2170     ** Failers
   2171     XabcXabc  
   2172 
   2173 /(?(-1)a)/BZ
   2174 
   2175 /((?(-1)a))/BZ
   2176 
   2177 /((?(-2)a))/BZ
   2178 
   2179 /^(?(+1)X|Y)(.)/BZ
   2180     Y!
   2181 
   2182 /(?<A>tom|bon)-\k{A}/
   2183     tom-tom
   2184     bon-bon 
   2185     ** Failers
   2186     tom-bon  
   2187 
   2188 /\g{A/ 
   2189 
   2190 /(?|(abc)|(xyz))/BZ
   2191    >abc<
   2192    >xyz< 
   2193 
   2194 /(x)(?|(abc)|(xyz))(x)/BZ
   2195     xabcx
   2196     xxyzx 
   2197 
   2198 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
   2199     xabcpqrx
   2200     xxyzx 
   2201 
   2202 /[\h]/BZ
   2203     >\x09<
   2204 
   2205 /[\h]+/BZ
   2206     >\x09\x20\xa0<
   2207 
   2208 /[\v]/BZ
   2209 
   2210 /[\H]/BZ
   2211 
   2212 /[^\h]/BZ
   2213 
   2214 /[\V]/BZ
   2215 
   2216 /[\x0a\V]/BZ
   2217 
   2218 /\H++X/BZ
   2219     ** Failers
   2220     XXXX
   2221     
   2222 /\H+\hY/BZ
   2223     XXXX Y 
   2224 
   2225 /\H+ Y/BZ
   2226 
   2227 /\h+A/BZ
   2228 
   2229 /\v*B/BZ
   2230 
   2231 /\V+\x0a/BZ
   2232 
   2233 /A+\h/BZ
   2234 
   2235 / *\H/BZ
   2236 
   2237 /A*\v/BZ
   2238 
   2239 /\x0b*\V/BZ
   2240 
   2241 /\d+\h/BZ
   2242 
   2243 /\d*\v/BZ
   2244 
   2245 /S+\h\S+\v/BZ
   2246 
   2247 /\w{3,}\h\w+\v/BZ
   2248 
   2249 /\h+\d\h+\w\h+\S\h+\H/BZ
   2250 
   2251 /\v+\d\v+\w\v+\S\v+\V/BZ
   2252 
   2253 /\H+\h\H+\d/BZ
   2254 
   2255 /\V+\v\V+\w/BZ
   2256 
   2257 /\( (?: [^()]* | (?R) )* \)/x
   2258 (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
   2259 
   2260 /[\E]AAA/
   2261 
   2262 /[\Q\E]AAA/
   2263 
   2264 /[^\E]AAA/
   2265 
   2266 /[^\Q\E]AAA/
   2267 
   2268 /[\E^]AAA/
   2269 
   2270 /[\Q\E^]AAA/
   2271 
   2272 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
   2273 
   2274 /^a+(*FAIL)/C
   2275     aaaaaa
   2276     
   2277 /a+b?c+(*FAIL)/C
   2278     aaabccc
   2279 
   2280 /a+b?(*PRUNE)c+(*FAIL)/C
   2281     aaabccc
   2282 
   2283 /a+b?(*COMMIT)c+(*FAIL)/C
   2284     aaabccc
   2285     
   2286 /a+b?(*SKIP)c+(*FAIL)/C
   2287     aaabcccaaabccc
   2288 
   2289 /a+b?(*THEN)c+(*FAIL)/C
   2290     aaabccc
   2291     
   2292 /a(*MARK)b/ 
   2293 
   2294 /(?i:A{1,}\6666666666)/
   2295 
   2296 /\g6666666666/
   2297 
   2298 /[\g6666666666]/
   2299 
   2300 /(?1)\c[/
   2301 
   2302 /.+A/<crlf>
   2303     \r\nA
   2304     
   2305 /\nA/<crlf>
   2306     \r\nA 
   2307 
   2308 /[\r\n]A/<crlf>
   2309     \r\nA 
   2310 
   2311 /(\r|\n)A/<crlf>
   2312     \r\nA 
   2313 
   2314 /a(*CR)b/
   2315 
   2316 /(*CR)a.b/
   2317     a\nb
   2318     ** Failers
   2319     a\rb  
   2320 
   2321 /(*CR)a.b/<lf>
   2322     a\nb
   2323     ** Failers
   2324     a\rb  
   2325 
   2326 /(*LF)a.b/<CRLF>
   2327     a\rb
   2328     ** Failers
   2329     a\nb  
   2330 
   2331 /(*CRLF)a.b/
   2332     a\rb
   2333     a\nb  
   2334     ** Failers
   2335     a\r\nb  
   2336 
   2337 /(*ANYCRLF)a.b/<CR>
   2338     ** Failers
   2339     a\rb
   2340     a\nb  
   2341     a\r\nb  
   2342 
   2343 /(*ANY)a.b/<cr>
   2344     ** Failers
   2345     a\rb
   2346     a\nb  
   2347     a\r\nb  
   2348     a\x85b 
   2349     
   2350 /(*ANY).*/g
   2351     abc\r\ndef
   2352 
   2353 /(*ANYCRLF).*/g
   2354     abc\r\ndef
   2355 
   2356 /(*CRLF).*/g
   2357     abc\r\ndef
   2358 
   2359 /a\Rb/I<bsr_anycrlf>
   2360     a\rb
   2361     a\nb
   2362     a\r\nb
   2363     ** Failers
   2364     a\x85b
   2365     a\x0bb     
   2366 
   2367 /a\Rb/I<bsr_unicode>
   2368     a\rb
   2369     a\nb
   2370     a\r\nb
   2371     a\x85b
   2372     a\x0bb     
   2373     ** Failers 
   2374     a\x85b\<bsr_anycrlf>
   2375     a\x0bb\<bsr_anycrlf>
   2376     
   2377 /a\R?b/I<bsr_anycrlf>
   2378     a\rb
   2379     a\nb
   2380     a\r\nb
   2381     ** Failers
   2382     a\x85b
   2383     a\x0bb     
   2384 
   2385 /a\R?b/I<bsr_unicode>
   2386     a\rb
   2387     a\nb
   2388     a\r\nb
   2389     a\x85b
   2390     a\x0bb     
   2391     ** Failers 
   2392     a\x85b\<bsr_anycrlf>
   2393     a\x0bb\<bsr_anycrlf>
   2394     
   2395 /a\R{2,4}b/I<bsr_anycrlf>
   2396     a\r\n\nb
   2397     a\n\r\rb
   2398     a\r\n\r\n\r\n\r\nb
   2399     ** Failers
   2400     a\x85\85b
   2401     a\x0b\0bb     
   2402 
   2403 /a\R{2,4}b/I<bsr_unicode>
   2404     a\r\rb
   2405     a\n\n\nb
   2406     a\r\n\n\r\rb
   2407     a\x85\85b
   2408     a\x0b\0bb     
   2409     ** Failers 
   2410     a\r\r\r\r\rb 
   2411     a\x85\85b\<bsr_anycrlf>
   2412     a\x0b\0bb\<bsr_anycrlf>
   2413  
   2414 /(*BSR_ANYCRLF)a\Rb/I
   2415     a\nb
   2416     a\rb 
   2417 
   2418 /(*BSR_UNICODE)a\Rb/I
   2419     a\x85b
   2420 
   2421 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
   2422     a\nb
   2423     a\rb 
   2424 
   2425 /(*CRLF)(*BSR_UNICODE)a\Rb/I
   2426     a\x85b
   2427 
   2428 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
   2429 
   2430 /(?<a>)(?&)/
   2431 
   2432 /(?<abc>)(?&a)/
   2433 
   2434 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
   2435 
   2436 /(?+-a)/
   2437 
   2438 /(?-+a)/
   2439 
   2440 /(?(-1))/
   2441 
   2442 /(?(+10))/
   2443 
   2444 /(?(10))/
   2445 
   2446 /(?(+2))()()/
   2447 
   2448 /(?(2))()()/
   2449 
   2450 /\k''/
   2451 
   2452 /\k<>/
   2453 
   2454 /\k{}/
   2455 
   2456 /(?P=)/
   2457 
   2458 /(?P>)/
   2459 
   2460 /(?!\w)(?R)/
   2461 
   2462 /(?=\w)(?R)/
   2463 
   2464 /(?<!\w)(?R)/
   2465 
   2466 /(?<=\w)(?R)/
   2467 
   2468 /[[:foo:]]/
   2469 
   2470 /[[:1234:]]/
   2471 
   2472 /[[:f\oo:]]/
   2473 
   2474 /[[: :]]/
   2475 
   2476 /[[:...:]]/
   2477 
   2478 /[[:l\ower:]]/
   2479 
   2480 /[[:abc\:]]/
   2481 
   2482 /[abc[:x\]pqr:]]/
   2483 
   2484 /[[:a\dz:]]/
   2485 
   2486 /(^(a|b\g<-1'c))/
   2487 
   2488 /^(?+1)(?<a>x|y){0}z/
   2489     xzxx
   2490     yzyy 
   2491     ** Failers
   2492     xxz  
   2493 
   2494 /(\3)(\1)(a)/
   2495     cat
   2496 
   2497 /(\3)(\1)(a)/<JS>
   2498     cat
   2499     
   2500 /TA]/
   2501     The ACTA] comes 
   2502 
   2503 /TA]/<JS>
   2504     The ACTA] comes 
   2505 
   2506 /(?2)[]a()b](abc)/
   2507     abcbabc
   2508 
   2509 /(?2)[^]a()b](abc)/
   2510     abcbabc
   2511 
   2512 /(?1)[]a()b](abc)/
   2513     abcbabc
   2514     ** Failers 
   2515     abcXabc
   2516 
   2517 /(?1)[^]a()b](abc)/
   2518     abcXabc
   2519     ** Failers 
   2520     abcbabc
   2521 
   2522 /(?2)[]a()b](abc)(xyz)/
   2523     xyzbabcxyz
   2524 
   2525 /(?&N)[]a(?<N>)](?<M>abc)/
   2526    abc<abc
   2527 
   2528 /(?&N)[]a(?<N>)](abc)/
   2529    abc<abc
   2530 
   2531 /a[]b/
   2532 
   2533 /a[^]b/
   2534 
   2535 /a[]b/<JS>
   2536     ** Failers
   2537     ab
   2538 
   2539 /a[]+b/<JS>
   2540     ** Failers
   2541     ab 
   2542 
   2543 /a[]*+b/<JS>
   2544     ** Failers
   2545     ab 
   2546 
   2547 /a[^]b/<JS>
   2548     aXb
   2549     a\nb 
   2550     ** Failers
   2551     ab  
   2552     
   2553 /a[^]+b/<JS> 
   2554     aXb
   2555     a\nX\nXb 
   2556     ** Failers
   2557     ab  
   2558 
   2559 /a(?!)+b/
   2560 
   2561 /a(*FAIL)+b/
   2562 
   2563 /(abc|pqr|123){0}[xyz]/SI
   2564 
   2565 /(?(?=.*b)b|^)/CI
   2566    adc
   2567    abc 
   2568    
   2569 /(?(?=b).*b|^d)/I
   2570 
   2571 /(?(?=.*b).*b|^d)/I
   2572 
   2573 /a?|b?/P
   2574     abc
   2575     ** Failers
   2576     ddd\N   
   2577 
   2578 /xyz/C
   2579   xyz 
   2580   abcxyz 
   2581   abcxyz\Y
   2582   ** Failers 
   2583   abc
   2584   abc\Y
   2585   abcxypqr  
   2586   abcxypqr\Y  
   2587   
   2588 /(*NO_START_OPT)xyz/C
   2589   abcxyz 
   2590 
   2591 /xyz/CY
   2592   abcxyz 
   2593 
   2594 /^"((?(?=[a])[^"])|b)*"$/C
   2595     "ab"
   2596 
   2597 /^"((?(?=[a])[^"])|b)*"$/
   2598     "ab"
   2599 
   2600 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
   2601     XYabcdY
   2602 
   2603 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
   2604     XYabcdY
   2605  
   2606 /Xa{2,4}b/
   2607     X\P
   2608     Xa\P
   2609     Xaa\P 
   2610     Xaaa\P
   2611     Xaaaa\P 
   2612     
   2613 /Xa{2,4}?b/
   2614     X\P
   2615     Xa\P
   2616     Xaa\P 
   2617     Xaaa\P
   2618     Xaaaa\P 
   2619     
   2620 /Xa{2,4}+b/
   2621     X\P
   2622     Xa\P
   2623     Xaa\P 
   2624     Xaaa\P
   2625     Xaaaa\P 
   2626     
   2627 /X\d{2,4}b/
   2628     X\P
   2629     X3\P
   2630     X33\P 
   2631     X333\P
   2632     X3333\P 
   2633     
   2634 /X\d{2,4}?b/
   2635     X\P
   2636     X3\P
   2637     X33\P 
   2638     X333\P
   2639     X3333\P 
   2640     
   2641 /X\d{2,4}+b/
   2642     X\P
   2643     X3\P
   2644     X33\P 
   2645     X333\P
   2646     X3333\P 
   2647     
   2648 /X\D{2,4}b/
   2649     X\P
   2650     Xa\P
   2651     Xaa\P 
   2652     Xaaa\P
   2653     Xaaaa\P 
   2654     
   2655 /X\D{2,4}?b/
   2656     X\P
   2657     Xa\P
   2658     Xaa\P 
   2659     Xaaa\P
   2660     Xaaaa\P 
   2661     
   2662 /X\D{2,4}+b/
   2663     X\P
   2664     Xa\P
   2665     Xaa\P 
   2666     Xaaa\P
   2667     Xaaaa\P 
   2668     
   2669 /X[abc]{2,4}b/
   2670     X\P
   2671     Xa\P
   2672     Xaa\P 
   2673     Xaaa\P
   2674     Xaaaa\P 
   2675     
   2676 /X[abc]{2,4}?b/
   2677     X\P
   2678     Xa\P
   2679     Xaa\P 
   2680     Xaaa\P
   2681     Xaaaa\P 
   2682     
   2683 /X[abc]{2,4}+b/
   2684     X\P
   2685     Xa\P
   2686     Xaa\P 
   2687     Xaaa\P
   2688     Xaaaa\P 
   2689     
   2690 /X[^a]{2,4}b/
   2691     X\P
   2692     Xz\P
   2693     Xzz\P 
   2694     Xzzz\P
   2695     Xzzzz\P 
   2696     
   2697 /X[^a]{2,4}?b/
   2698     X\P
   2699     Xz\P
   2700     Xzz\P 
   2701     Xzzz\P
   2702     Xzzzz\P 
   2703     
   2704 /X[^a]{2,4}+b/
   2705     X\P
   2706     Xz\P
   2707     Xzz\P 
   2708     Xzzz\P
   2709     Xzzzz\P 
   2710     
   2711 /(Y)X\1{2,4}b/
   2712     YX\P
   2713     YXY\P
   2714     YXYY\P 
   2715     YXYYY\P
   2716     YXYYYY\P 
   2717     
   2718 /(Y)X\1{2,4}?b/
   2719     YX\P
   2720     YXY\P
   2721     YXYY\P 
   2722     YXYYY\P
   2723     YXYYYY\P 
   2724     
   2725 /(Y)X\1{2,4}+b/
   2726     YX\P
   2727     YXY\P
   2728     YXYY\P 
   2729     YXYYY\P
   2730     YXYYYY\P 
   2731     
   2732 /\++\KZ|\d+X|9+Y/
   2733     ++++123999\P
   2734     ++++123999Y\P
   2735     ++++Z1234\P 
   2736 
   2737 /Z(*F)/
   2738     Z\P
   2739     ZA\P 
   2740     
   2741 /Z(?!)/
   2742     Z\P 
   2743     ZA\P 
   2744 
   2745 /dog(sbody)?/
   2746     dogs\P
   2747     dogs\P\P 
   2748     
   2749 /dog(sbody)??/
   2750     dogs\P
   2751     dogs\P\P 
   2752 
   2753 /dog|dogsbody/
   2754     dogs\P
   2755     dogs\P\P 
   2756  
   2757 /dogsbody|dog/
   2758     dogs\P
   2759     dogs\P\P 
   2760 
   2761 /\bthe cat\b/
   2762     the cat\P
   2763     the cat\P\P
   2764 
   2765 /abc/
   2766    abc\P
   2767    abc\P\P
   2768    
   2769 /\w+A/P
   2770    CDAAAAB 
   2771 
   2772 /\w+A/PU
   2773    CDAAAAB 
   2774 
   2775 /abc\K123/
   2776     xyzabc123pqr
   2777     xyzabc12\P
   2778     xyzabc12\P\P
   2779     
   2780 /(?<=abc)123/
   2781     xyzabc123pqr 
   2782     xyzabc12\P
   2783     xyzabc12\P\P
   2784 
   2785 /\babc\b/
   2786     +++abc+++
   2787     +++ab\P
   2788     +++ab\P\P  
   2789 
   2790 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
   2791 
   2792 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
   2793 
   2794 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
   2795 
   2796 /abc\K/+
   2797     abcdef
   2798     abcdef\N\N
   2799     xyzabcdef\N\N
   2800     ** Failers
   2801     abcdef\N 
   2802     xyzabcdef\N
   2803     
   2804 /^(?:(?=abc)|abc\K)/+
   2805     abcdef
   2806     abcdef\N\N 
   2807     ** Failers 
   2808     abcdef\N 
   2809 
   2810 /a?b?/+
   2811     xyz
   2812     xyzabc
   2813     xyzabc\N
   2814     xyzabc\N\N
   2815     xyz\N\N    
   2816     ** Failers 
   2817     xyz\N 
   2818 
   2819 /^a?b?/+
   2820     xyz
   2821     xyzabc
   2822     ** Failers 
   2823     xyzabc\N
   2824     xyzabc\N\N
   2825     xyz\N\N    
   2826     xyz\N 
   2827     
   2828 /^(?<name>a|b\g<name>c)/
   2829     aaaa
   2830     bacxxx
   2831     bbaccxxx 
   2832     bbbacccxx
   2833 
   2834 /^(?<name>a|b\g'name'c)/
   2835     aaaa
   2836     bacxxx
   2837     bbaccxxx 
   2838     bbbacccxx
   2839 
   2840 /^(a|b\g<1>c)/
   2841     aaaa
   2842     bacxxx
   2843     bbaccxxx 
   2844     bbbacccxx
   2845 
   2846 /^(a|b\g'1'c)/
   2847     aaaa
   2848     bacxxx
   2849     bbaccxxx 
   2850     bbbacccxx
   2851 
   2852 /^(a|b\g'-1'c)/
   2853     aaaa
   2854     bacxxx
   2855     bbaccxxx 
   2856     bbbacccxx
   2857 
   2858 /(^(a|b\g<-1>c))/
   2859     aaaa
   2860     bacxxx
   2861     bbaccxxx 
   2862     bbbacccxx
   2863 
   2864 /(?-i:\g<name>)(?i:(?<name>a))/
   2865     XaaX
   2866     XAAX 
   2867 
   2868 /(?i:\g<name>)(?-i:(?<name>a))/
   2869     XaaX
   2870     ** Failers 
   2871     XAAX 
   2872 
   2873 /(?-i:\g<+1>)(?i:(a))/
   2874     XaaX
   2875     XAAX 
   2876 
   2877 /(?=(?<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>\})\}))\{/
   2878 
   2879 /(?<n>a|b|c)\g<n>*/
   2880    abc
   2881    accccbbb 
   2882 
   2883 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
   2884     XYabcdY
   2885 
   2886 /(?<=b(?1)|zzz)(a)/
   2887     xbaax
   2888     xzzzax 
   2889 
   2890 /(a)(?<=b\1)/
   2891 
   2892 /(a)(?<=b+(?1))/
   2893 
   2894 /(a+)(?<=b(?1))/
   2895 
   2896 /(a(?<=b(?1)))/
   2897 
   2898 /(?<=b(?1))xyz/
   2899 
   2900 /(?<=b(?1))xyz(b+)pqrstuvew/
   2901 
   2902 /(a|bc)\1/SI
   2903 
   2904 /(a|bc)\1{2,3}/SI
   2905 
   2906 /(a|bc)(?1)/SI
   2907 
   2908 /(a|b\1)(a|b\1)/SI
   2909 
   2910 /(a|b\1){2}/SI
   2911 
   2912 /(a|bbbb\1)(a|bbbb\1)/SI
   2913 
   2914 /(a|bbbb\1){2}/SI
   2915 
   2916 /^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
   2917 
   2918 /  (?: [\040\t] |  \(
   2919 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   2920 \)  )*                          # optional leading comment
   2921 (?:    (?:
   2922 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   2923 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   2924 |
   2925 " (?:                      # opening quote...
   2926 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   2927 |                     #    or
   2928 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   2929 )* "  # closing quote
   2930 )                    # initial word
   2931 (?:  (?: [\040\t] |  \(
   2932 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   2933 \)  )*  \.  (?: [\040\t] |  \(
   2934 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   2935 \)  )*   (?:
   2936 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   2937 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   2938 |
   2939 " (?:                      # opening quote...
   2940 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   2941 |                     #    or
   2942 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   2943 )* "  # closing quote
   2944 )  )* # further okay, if led by a period
   2945 (?: [\040\t] |  \(
   2946 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   2947 \)  )*  @  (?: [\040\t] |  \(
   2948 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   2949 \)  )*    (?:
   2950 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   2951 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   2952 |   \[                         # [
   2953 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   2954 \]                        #           ]
   2955 )                           # initial subdomain
   2956 (?:                                  #
   2957 (?: [\040\t] |  \(
   2958 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   2959 \)  )*  \.                        # if led by a period...
   2960 (?: [\040\t] |  \(
   2961 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   2962 \)  )*   (?:
   2963 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   2964 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   2965 |   \[                         # [
   2966 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   2967 \]                        #           ]
   2968 )                     #   ...further okay
   2969 )*
   2970 # address
   2971 |                     #  or
   2972 (?:
   2973 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   2974 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   2975 |
   2976 " (?:                      # opening quote...
   2977 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   2978 |                     #    or
   2979 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   2980 )* "  # closing quote
   2981 )             # one word, optionally followed by....
   2982 (?:
   2983 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
   2984 \(
   2985 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   2986 \)       |  # comments, or...
   2987 
   2988 " (?:                      # opening quote...
   2989 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   2990 |                     #    or
   2991 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   2992 )* "  # closing quote
   2993 # quoted strings
   2994 )*
   2995 <  (?: [\040\t] |  \(
   2996 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   2997 \)  )*                     # leading <
   2998 (?:  @  (?: [\040\t] |  \(
   2999 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3000 \)  )*    (?:
   3001 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   3002 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   3003 |   \[                         # [
   3004 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   3005 \]                        #           ]
   3006 )                           # initial subdomain
   3007 (?:                                  #
   3008 (?: [\040\t] |  \(
   3009 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3010 \)  )*  \.                        # if led by a period...
   3011 (?: [\040\t] |  \(
   3012 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3013 \)  )*   (?:
   3014 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   3015 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   3016 |   \[                         # [
   3017 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   3018 \]                        #           ]
   3019 )                     #   ...further okay
   3020 )*
   3021 
   3022 (?:  (?: [\040\t] |  \(
   3023 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3024 \)  )*  ,  (?: [\040\t] |  \(
   3025 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3026 \)  )*  @  (?: [\040\t] |  \(
   3027 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3028 \)  )*    (?:
   3029 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   3030 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   3031 |   \[                         # [
   3032 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   3033 \]                        #           ]
   3034 )                           # initial subdomain
   3035 (?:                                  #
   3036 (?: [\040\t] |  \(
   3037 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3038 \)  )*  \.                        # if led by a period...
   3039 (?: [\040\t] |  \(
   3040 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3041 \)  )*   (?:
   3042 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   3043 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   3044 |   \[                         # [
   3045 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   3046 \]                        #           ]
   3047 )                     #   ...further okay
   3048 )*
   3049 )* # further okay, if led by comma
   3050 :                                # closing colon
   3051 (?: [\040\t] |  \(
   3052 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3053 \)  )*  )? #       optional route
   3054 (?:
   3055 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   3056 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   3057 |
   3058 " (?:                      # opening quote...
   3059 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   3060 |                     #    or
   3061 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   3062 )* "  # closing quote
   3063 )                    # initial word
   3064 (?:  (?: [\040\t] |  \(
   3065 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3066 \)  )*  \.  (?: [\040\t] |  \(
   3067 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3068 \)  )*   (?:
   3069 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   3070 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   3071 |
   3072 " (?:                      # opening quote...
   3073 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   3074 |                     #    or
   3075 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   3076 )* "  # closing quote
   3077 )  )* # further okay, if led by a period
   3078 (?: [\040\t] |  \(
   3079 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3080 \)  )*  @  (?: [\040\t] |  \(
   3081 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3082 \)  )*    (?:
   3083 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   3084 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   3085 |   \[                         # [
   3086 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   3087 \]                        #           ]
   3088 )                           # initial subdomain
   3089 (?:                                  #
   3090 (?: [\040\t] |  \(
   3091 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3092 \)  )*  \.                        # if led by a period...
   3093 (?: [\040\t] |  \(
   3094 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3095 \)  )*   (?:
   3096 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   3097 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   3098 |   \[                         # [
   3099 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   3100 \]                        #           ]
   3101 )                     #   ...further okay
   3102 )*
   3103 #       address spec
   3104 (?: [\040\t] |  \(
   3105 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3106 \)  )*  > #                  trailing >
   3107 # name and address
   3108 )  (?: [\040\t] |  \(
   3109 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   3110 \)  )*                       # optional trailing comment
   3111 /xSI
   3112 
   3113 /<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
   3114 
   3115 "(?>.*/)foo"SI
   3116 
   3117 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
   3118 
   3119 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
   3120 
   3121 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
   3122 
   3123 /<a[\s]+href[\s]*=[\s]*          # find <a href=
   3124  ([\"\'])?                       # find single or double quote
   3125  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
   3126                                  # quote, otherwise match up to next space
   3127 /isxSI
   3128 
   3129 /^(?!:)                       # colon disallowed at start
   3130   (?:                         # start of item
   3131     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
   3132     (?(1)0 | () ) )           # if null previously matched, fail; else null
   3133     :                         # followed by colon
   3134   ){1,7}                      # end item; 1-7 of them required               
   3135   [0-9a-f]{1,4} $             # final hex number at end of string
   3136   (?(1)|.)                    # check that there was an empty component
   3137   /xiIS
   3138 
   3139 /(?|(?<a>A)|(?<a>B))/I
   3140     AB\Ca
   3141     BA\Ca
   3142 
   3143 /(?|(?<a>A)|(?<b>B))/ 
   3144 
   3145 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
   3146     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
   3147     (?('quote')[a-z]+|[0-9]+)/JIx
   3148     a"aaaaa
   3149     b"aaaaa 
   3150     ** Failers 
   3151     b"11111
   3152     a"11111 
   3153     
   3154 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
   3155     abcdX
   3156     eX
   3157     ** Failers
   3158     abcdY
   3159     ey     
   3160     
   3161 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
   3162     abcdd
   3163     ** Failers
   3164     abcdde  
   3165 
   3166 /abcd*/
   3167     xxxxabcd\P
   3168     xxxxabcd\P\P
   3169 
   3170 /abcd*/i
   3171     xxxxabcd\P
   3172     xxxxabcd\P\P
   3173     XXXXABCD\P
   3174     XXXXABCD\P\P
   3175 
   3176 /abc\d*/
   3177     xxxxabc1\P
   3178     xxxxabc1\P\P
   3179 
   3180 /(a)bc\1*/
   3181     xxxxabca\P
   3182     xxxxabca\P\P
   3183 
   3184 /abc[de]*/
   3185     xxxxabcde\P
   3186     xxxxabcde\P\P
   3187 
   3188 /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
   3189     broken and not behaving as specified in that it *does* bumpalong after
   3190     hitting (*COMMIT). --/
   3191 
   3192 /(?1)(A(*COMMIT)|B)D/
   3193     ABD
   3194     XABD
   3195     BAD
   3196     ABXABD  
   3197     ** Failers 
   3198     ABX 
   3199     BAXBAD  
   3200 
   3201 /(\3)(\1)(a)/<JS>
   3202     cat
   3203 
   3204 /(\3)(\1)(a)/SI<JS>
   3205     cat
   3206 
   3207 /(\3)(\1)(a)/SI
   3208     cat
   3209 
   3210 /i(?(DEFINE)(?<s>a))/SI
   3211     i
   3212     
   3213 /()i(?(1)a)/SI 
   3214     ia
   3215 
   3216 /(?i)a(?-i)b|c/BZ
   3217     XabX
   3218     XAbX
   3219     CcC 
   3220     ** Failers
   3221     XABX   
   3222 
   3223 /(?i)a(?s)b|c/BZ
   3224 
   3225 /(?i)a(?s-i)b|c/BZ
   3226 
   3227 /^(ab(c\1)d|x){2}$/BZ
   3228     xabcxd
   3229     
   3230 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
   3231 
   3232 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
   3233 
   3234 / -- The first four of these are not in the Perl >= 5.10 test because Perl 
   3235      documents that the use of \K in assertions is "not well defined". The
   3236      last is here because Perl gives the match as "b" rather than "ab". I
   3237      believe this to be a Perl bug. --/  
   3238       
   3239 /(?=a\Kb)ab/
   3240     ab 
   3241 
   3242 /(?!a\Kb)ac/
   3243     ac 
   3244     
   3245 /^abc(?<=b\Kc)d/
   3246     abcd
   3247 
   3248 /^abc(?<!b\Kq)d/
   3249     abcd
   3250 
   3251 /(?>a\Kb)z|(ab)/
   3252     ab 
   3253 
   3254 /----------------------/
   3255 
   3256 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
   3257 
   3258 /abc(*MARK:)pqr/
   3259 
   3260 /abc(*:)pqr/
   3261 
   3262 /abc(*FAIL:123)xyz/
   3263 
   3264 /--- This should, and does, fail. In Perl, it does not, which I think is a 
   3265      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
   3266 
   3267 /A(*COMMIT)B/+K
   3268     ACABX
   3269 
   3270 /--- These should be different, but in Perl 5.11 are not, which I think
   3271      is a bug in Perl. ---/
   3272 
   3273 /A(*THEN)B|A(*THEN)C/K
   3274     AC
   3275 
   3276 /A(*PRUNE)B|A(*PRUNE)C/K
   3277     AC
   3278     
   3279 /--- A whole lot of tests of verbs with arguments are here rather than in test
   3280      11 because Perl doesn't seem to follow its specification entirely 
   3281      correctly. ---/
   3282 
   3283 /--- Perl 5.11 sets $REGERROR on the AC failure case here; PCRE does not. It is
   3284      not clear how Perl defines "involved in the failure of the match". ---/ 
   3285 
   3286 /^(A(*THEN:A)B|C(*THEN:B)D)/K
   3287     AB
   3288     CD
   3289     ** Failers
   3290     AC
   3291     CB    
   3292     
   3293 /--- Check the use of names for success and failure. PCRE doesn't show these 
   3294 names for success, though Perl does, contrary to its spec. ---/
   3295 
   3296 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/K
   3297     AB
   3298     CD
   3299     ** Failers
   3300     AC
   3301     CB    
   3302     
   3303 /--- An empty name does not pass back an empty string. It is the same as if no
   3304 name were given. ---/ 
   3305 
   3306 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/K
   3307     AB
   3308     CD 
   3309 
   3310 /--- PRUNE goes to next bumpalong; COMMIT does not. ---/
   3311     
   3312 /A(*PRUNE:A)B/K
   3313     ACAB
   3314 
   3315 /(*MARK:A)(*PRUNE:B)(C|X)/K
   3316     C
   3317     D 
   3318 
   3319 /(*MARK:A)(*THEN:B)(C|X)/K
   3320     C
   3321     D 
   3322 
   3323 /--- This should fail, as the skip causes a bump to offset 3 (the skip) ---/
   3324 
   3325 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xK
   3326     AAAC
   3327 
   3328 /--- Same --/
   3329 
   3330 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xK
   3331     AAAC
   3332 
   3333 /--- This should fail; the SKIP advances by one, but when we get to AC, the
   3334      PRUNE kills it. ---/ 
   3335     
   3336 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
   3337     AAAC
   3338 
   3339 /A(*:A)A+(*SKIP)(B|Z) | AC/xK
   3340     AAAC
   3341 
   3342 /--- This should fail, as a null name is the same as no name ---/
   3343 
   3344 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xK
   3345     AAAC
   3346 
   3347 /--- This fails in PCRE, and I think that is in accordance with Perl's 
   3348      documentation, though in Perl it succeeds. ---/
   3349     
   3350 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xK
   3351     AAAC
   3352 
   3353 /--- Mark names can be duplicated ---/
   3354 
   3355 /A(*:A)B|X(*:A)Y/K
   3356     AABC
   3357     XXYZ 
   3358     
   3359 /^A(*:A)B|^X(*:A)Y/K
   3360     ** Failers
   3361     XAQQ
   3362     
   3363 /--- A check on what happens after hitting a mark and them bumping along to
   3364 something that does not even start. Perl reports tags after the failures here, 
   3365 though it does not when the individual letters are made into something 
   3366 more complicated. ---/
   3367 
   3368 /A(*:A)B|XX(*:B)Y/K
   3369     AABC
   3370     XXYZ 
   3371     ** Failers
   3372     XAQQ  
   3373     XAQQXZZ  
   3374     AXQQQ 
   3375     AXXQQQ 
   3376     
   3377 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
   3378 optimizations defeat this. So does the PCRE optimization unless we disable it 
   3379 with \Y. ---/
   3380 
   3381 /(*COMMIT)ABC/
   3382     ABCDEFG
   3383     ** Failers
   3384     DEFGABC\Y  
   3385     
   3386 /--- Repeat some tests with added studying. ---/
   3387 
   3388 /A(*COMMIT)B/+KS
   3389     ACABX
   3390  
   3391 /A(*THEN)B|A(*THEN)C/KS
   3392     AC
   3393 
   3394 /A(*PRUNE)B|A(*PRUNE)C/KS
   3395     AC
   3396 
   3397 /^(A(*THEN:A)B|C(*THEN:B)D)/KS
   3398     AB
   3399     CD
   3400     ** Failers
   3401     AC
   3402     CB    
   3403 
   3404 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/KS
   3405     AB
   3406     CD
   3407     ** Failers
   3408     AC
   3409     CB    
   3410 
   3411 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/KS
   3412     AB
   3413     CD 
   3414 
   3415 /A(*PRUNE:A)B/KS
   3416     ACAB
   3417 
   3418 /(*MARK:A)(*PRUNE:B)(C|X)/KS
   3419     C
   3420     D 
   3421 
   3422 /(*MARK:A)(*THEN:B)(C|X)/KS
   3423     C
   3424     D 
   3425 
   3426 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xKS
   3427     AAAC
   3428 
   3429 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xKS
   3430     AAAC
   3431     
   3432 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xKS
   3433     AAAC
   3434 
   3435 /A(*:A)A+(*SKIP)(B|Z) | AC/xKS
   3436     AAAC
   3437 
   3438 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xKS
   3439     AAAC
   3440 
   3441 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xKS
   3442     AAAC
   3443 
   3444 /A(*:A)B|XX(*:B)Y/KS
   3445     AABC
   3446     XXYZ 
   3447     ** Failers
   3448     XAQQ  
   3449     XAQQXZZ  
   3450     AXQQQ 
   3451     AXXQQQ 
   3452     
   3453 /(*COMMIT)ABC/
   3454     ABCDEFG
   3455     ** Failers
   3456     DEFGABC\Y  
   3457 
   3458 /^(ab (c+(*THEN)cd) | xyz)/x
   3459     abcccd  
   3460 
   3461 /^(ab (c+(*PRUNE)cd) | xyz)/x
   3462     abcccd  
   3463 
   3464 /^(ab (c+(*FAIL)cd) | xyz)/x
   3465     abcccd  
   3466     
   3467 /--- Perl 5.11 gets some of these wrong ---/ 
   3468 
   3469 /(?>.(*ACCEPT))*?5/
   3470     abcde
   3471 
   3472 /(.(*ACCEPT))*?5/
   3473     abcde
   3474 
   3475 /(.(*ACCEPT))5/
   3476     abcde
   3477 
   3478 /(.(*ACCEPT))*5/
   3479     abcde
   3480 
   3481 /A\NB./BZ
   3482     ACBD
   3483     *** Failers
   3484     A\nB
   3485     ACB\n   
   3486 
   3487 /A\NB./sBZ
   3488     ACBD
   3489     ACB\n 
   3490     *** Failers
   3491     A\nB  
   3492   
   3493 /A\NB/<crlf>
   3494     A\nB
   3495     A\rB
   3496     ** Failers
   3497     A\r\nB    
   3498 
   3499 /\R+b/BZ
   3500 
   3501 /\R+\n/BZ
   3502 
   3503 /\R+\d/BZ
   3504 
   3505 /\d*\R/BZ
   3506 
   3507 /\s*\R/BZ
   3508 
   3509 /-- Perl treats this one differently, not failing the second string. I believe
   3510     that is a bug in Perl. --/
   3511 
   3512 /^((abc|abcx)(*THEN)y|abcd)/
   3513     abcd
   3514     *** Failers 
   3515     abcxy 
   3516 
   3517 /(?<=abc)def/
   3518     abc\P\P
   3519 
   3520 /abc$/
   3521     abc
   3522     abc\P
   3523     abc\P\P
   3524 
   3525 /abc$/m
   3526     abc
   3527     abc\n
   3528     abc\P\P
   3529     abc\n\P\P 
   3530     abc\P
   3531     abc\n\P
   3532 
   3533 /abc\z/
   3534     abc
   3535     abc\P
   3536     abc\P\P
   3537 
   3538 /abc\Z/
   3539     abc
   3540     abc\P
   3541     abc\P\P
   3542 
   3543 /abc\b/
   3544     abc
   3545     abc\P
   3546     abc\P\P
   3547 
   3548 /abc\B/
   3549     abc
   3550     abc\P
   3551     abc\P\P
   3552 
   3553 /.+/
   3554     abc\>0
   3555     abc\>1
   3556     abc\>2
   3557     abc\>3
   3558     abc\>4
   3559     abc\>-4 
   3560 
   3561 /^\c/
   3562 
   3563 /(?P<abn>(?P=abn)xxx)/BZ
   3564 
   3565 /(a\1z)/BZ
   3566 
   3567 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
   3568 
   3569 /(?P<abn>(?P=axn)xxx)/BZ
   3570 
   3571 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
   3572 
   3573 /-- End of testinput2 --/
   3574