Annotation of embedaddon/pcre/testdata/testinput2, revision 1.1.1.4

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>