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