Annotation of embedaddon/pcre/testdata/testoutput2, revision 1.1.1.1

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:     
                      8:     NOTE: This is a non-UTF-8 set of tests. When UTF-8 is needed, use test
                      9:     5, and if Unicode Property Support is needed, use test 13. --/  
                     10:   
                     11: /-- Originally, the Perl >= 5.10 things were in here too, but now I have 
                     12:     separated many (most?) of them out into test 11. However, there may still 
                     13:     be some that were overlooked. --/   
                     14: 
                     15: /(a)b|/I
                     16: Capturing subpattern count = 1
                     17: No options
                     18: No first char
                     19: No need char
                     20: 
                     21: /abc/I
                     22: Capturing subpattern count = 0
                     23: No options
                     24: First char = 'a'
                     25: Need char = 'c'
                     26:     abc
                     27:  0: abc
                     28:     defabc
                     29:  0: abc
                     30:     \Aabc
                     31:  0: abc
                     32:     *** Failers
                     33: No match
                     34:     \Adefabc
                     35: No match
                     36:     ABC
                     37: No match
                     38: 
                     39: /^abc/I
                     40: Capturing subpattern count = 0
                     41: Options: anchored
                     42: No first char
                     43: No need char
                     44:     abc
                     45:  0: abc
                     46:     \Aabc
                     47:  0: abc
                     48:     *** Failers
                     49: No match
                     50:     defabc
                     51: No match
                     52:     \Adefabc
                     53: No match
                     54: 
                     55: /a+bc/I
                     56: Capturing subpattern count = 0
                     57: No options
                     58: First char = 'a'
                     59: Need char = 'c'
                     60: 
                     61: /a*bc/I
                     62: Capturing subpattern count = 0
                     63: No options
                     64: No first char
                     65: Need char = 'c'
                     66: 
                     67: /a{3}bc/I
                     68: Capturing subpattern count = 0
                     69: No options
                     70: First char = 'a'
                     71: Need char = 'c'
                     72: 
                     73: /(abc|a+z)/I
                     74: Capturing subpattern count = 1
                     75: No options
                     76: First char = 'a'
                     77: No need char
                     78: 
                     79: /^abc$/I
                     80: Capturing subpattern count = 0
                     81: Options: anchored
                     82: No first char
                     83: No need char
                     84:     abc
                     85:  0: abc
                     86:     *** Failers
                     87: No match
                     88:     def\nabc
                     89: No match
                     90: 
                     91: /ab\idef/X
                     92: Failed: unrecognized character follows \ at offset 3
                     93: 
                     94: /(?X)ab\idef/X
                     95: Failed: unrecognized character follows \ at offset 7
                     96: 
                     97: /x{5,4}/
                     98: Failed: numbers out of order in {} quantifier at offset 5
                     99: 
                    100: /z{65536}/
                    101: Failed: number too big in {} quantifier at offset 7
                    102: 
                    103: /[abcd/
                    104: Failed: missing terminating ] for character class at offset 5
                    105: 
                    106: /(?X)[\B]/
                    107: Failed: invalid escape sequence in character class at offset 6
                    108: 
                    109: /(?X)[\R]/
                    110: Failed: invalid escape sequence in character class at offset 6
                    111: 
                    112: /(?X)[\X]/
                    113: Failed: invalid escape sequence in character class at offset 6
                    114: 
                    115: /[\B]/BZ
                    116: ------------------------------------------------------------------
                    117:         Bra
                    118:         B
                    119:         Ket
                    120:         End
                    121: ------------------------------------------------------------------
                    122: 
                    123: /[\R]/BZ
                    124: ------------------------------------------------------------------
                    125:         Bra
                    126:         R
                    127:         Ket
                    128:         End
                    129: ------------------------------------------------------------------
                    130: 
                    131: /[\X]/BZ
                    132: ------------------------------------------------------------------
                    133:         Bra
                    134:         X
                    135:         Ket
                    136:         End
                    137: ------------------------------------------------------------------
                    138: 
                    139: /[z-a]/
                    140: Failed: range out of order in character class at offset 3
                    141: 
                    142: /^*/
                    143: Failed: nothing to repeat at offset 1
                    144: 
                    145: /(abc/
                    146: Failed: missing ) at offset 4
                    147: 
                    148: /(?# abc/
                    149: Failed: missing ) after comment at offset 7
                    150: 
                    151: /(?z)abc/
                    152: Failed: unrecognized character after (? or (?- at offset 2
                    153: 
                    154: /.*b/I
                    155: Capturing subpattern count = 0
                    156: No options
                    157: First char at start or follows newline
                    158: Need char = 'b'
                    159: 
                    160: /.*?b/I
                    161: Capturing subpattern count = 0
                    162: No options
                    163: First char at start or follows newline
                    164: Need char = 'b'
                    165: 
                    166: /cat|dog|elephant/I
                    167: Capturing subpattern count = 0
                    168: No options
                    169: No first char
                    170: No need char
                    171:     this sentence eventually mentions a cat
                    172:  0: cat
                    173:     this sentences rambles on and on for a while and then reaches elephant
                    174:  0: elephant
                    175: 
                    176: /cat|dog|elephant/IS
                    177: Capturing subpattern count = 0
                    178: No options
                    179: No first char
                    180: No need char
                    181: Subject length lower bound = 3
                    182: Starting byte set: c d e 
                    183:     this sentence eventually mentions a cat
                    184:  0: cat
                    185:     this sentences rambles on and on for a while and then reaches elephant
                    186:  0: elephant
                    187: 
                    188: /cat|dog|elephant/IiS
                    189: Capturing subpattern count = 0
                    190: Options: caseless
                    191: No first char
                    192: No need char
                    193: Subject length lower bound = 3
                    194: Starting byte set: C D E c d e 
                    195:     this sentence eventually mentions a CAT cat
                    196:  0: CAT
                    197:     this sentences rambles on and on for a while to elephant ElePhant
                    198:  0: elephant
                    199: 
                    200: /a|[bcd]/IS
                    201: Capturing subpattern count = 0
                    202: No options
                    203: No first char
                    204: No need char
                    205: Subject length lower bound = 1
                    206: Starting byte set: a b c d 
                    207: 
                    208: /(a|[^\dZ])/IS
                    209: Capturing subpattern count = 1
                    210: No options
                    211: No first char
                    212: No need char
                    213: Subject length lower bound = 1
                    214: Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
                    215:   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
                    216:   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
                    217:   ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d 
                    218:   e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 
                    219:   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
                    220:   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
                    221:   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
                    222:   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
                    223:   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
                    224:   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
                    225:   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
                    226:   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
                    227:   \xfc \xfd \xfe \xff 
                    228: 
                    229: /(a|b)*[\s]/IS
                    230: Capturing subpattern count = 1
                    231: No options
                    232: No first char
                    233: No need char
                    234: Subject length lower bound = 1
                    235: Starting byte set: \x09 \x0a \x0c \x0d \x20 a b 
                    236: 
                    237: /(ab\2)/
                    238: Failed: reference to non-existent subpattern at offset 6
                    239: 
                    240: /{4,5}abc/
                    241: Failed: nothing to repeat at offset 4
                    242: 
                    243: /(a)(b)(c)\2/I
                    244: Capturing subpattern count = 3
                    245: Max back reference = 2
                    246: No options
                    247: First char = 'a'
                    248: Need char = 'c'
                    249:     abcb
                    250:  0: abcb
                    251:  1: a
                    252:  2: b
                    253:  3: c
                    254:     \O0abcb
                    255: Matched, but too many substrings
                    256:     \O3abcb
                    257: Matched, but too many substrings
                    258:  0: abcb
                    259:     \O6abcb
                    260: Matched, but too many substrings
                    261:  0: abcb
                    262:  1: a
                    263:     \O9abcb
                    264: Matched, but too many substrings
                    265:  0: abcb
                    266:  1: a
                    267:  2: b
                    268:     \O12abcb
                    269:  0: abcb
                    270:  1: a
                    271:  2: b
                    272:  3: c
                    273: 
                    274: /(a)bc|(a)(b)\2/I
                    275: Capturing subpattern count = 3
                    276: Max back reference = 2
                    277: No options
                    278: First char = 'a'
                    279: No need char
                    280:     abc
                    281:  0: abc
                    282:  1: a
                    283:     \O0abc
                    284: Matched, but too many substrings
                    285:     \O3abc
                    286: Matched, but too many substrings
                    287:  0: abc
                    288:     \O6abc
                    289:  0: abc
                    290:  1: a
                    291:     aba
                    292:  0: aba
                    293:  1: <unset>
                    294:  2: a
                    295:  3: b
                    296:     \O0aba
                    297: Matched, but too many substrings
                    298:     \O3aba
                    299: Matched, but too many substrings
                    300:  0: aba
                    301:     \O6aba
                    302: Matched, but too many substrings
                    303:  0: aba
                    304:  1: <unset>
                    305:     \O9aba
                    306: Matched, but too many substrings
                    307:  0: aba
                    308:  1: <unset>
                    309:  2: a
                    310:     \O12aba
                    311:  0: aba
                    312:  1: <unset>
                    313:  2: a
                    314:  3: b
                    315: 
                    316: /abc$/IE
                    317: Capturing subpattern count = 0
                    318: Options: dollar_endonly
                    319: First char = 'a'
                    320: Need char = 'c'
                    321:     abc
                    322:  0: abc
                    323:     *** Failers
                    324: No match
                    325:     abc\n
                    326: No match
                    327:     abc\ndef
                    328: No match
                    329: 
                    330: /(a)(b)(c)(d)(e)\6/
                    331: Failed: reference to non-existent subpattern at offset 17
                    332: 
                    333: /the quick brown fox/I
                    334: Capturing subpattern count = 0
                    335: No options
                    336: First char = 't'
                    337: Need char = 'x'
                    338:     the quick brown fox
                    339:  0: the quick brown fox
                    340:     this is a line with the quick brown fox
                    341:  0: the quick brown fox
                    342: 
                    343: /the quick brown fox/IA
                    344: Capturing subpattern count = 0
                    345: Options: anchored
                    346: No first char
                    347: No need char
                    348:     the quick brown fox
                    349:  0: the quick brown fox
                    350:     *** Failers
                    351: No match
                    352:     this is a line with the quick brown fox
                    353: No match
                    354: 
                    355: /ab(?z)cd/
                    356: Failed: unrecognized character after (? or (?- at offset 4
                    357: 
                    358: /^abc|def/I
                    359: Capturing subpattern count = 0
                    360: No options
                    361: No first char
                    362: No need char
                    363:     abcdef
                    364:  0: abc
                    365:     abcdef\B
                    366:  0: def
                    367: 
                    368: /.*((abc)$|(def))/I
                    369: Capturing subpattern count = 3
                    370: No options
                    371: First char at start or follows newline
                    372: No need char
                    373:     defabc
                    374:  0: defabc
                    375:  1: abc
                    376:  2: abc
                    377:     \Zdefabc
                    378:  0: def
                    379:  1: def
                    380:  2: <unset>
                    381:  3: def
                    382: 
                    383: /abc/P
                    384:     abc
                    385:  0: abc
                    386:     *** Failers
                    387: No match: POSIX code 17: match failed
                    388: 
                    389: /^abc|def/P
                    390:     abcdef
                    391:  0: abc
                    392:     abcdef\B
                    393:  0: def
                    394: 
                    395: /.*((abc)$|(def))/P
                    396:     defabc
                    397:  0: defabc
                    398:  1: abc
                    399:  2: abc
                    400:     \Zdefabc
                    401:  0: def
                    402:  1: def
                    403:  3: def
                    404: 
                    405: /the quick brown fox/P
                    406:     the quick brown fox
                    407:  0: the quick brown fox
                    408:     *** Failers
                    409: No match: POSIX code 17: match failed
                    410:     The Quick Brown Fox
                    411: No match: POSIX code 17: match failed
                    412: 
                    413: /the quick brown fox/Pi
                    414:     the quick brown fox
                    415:  0: the quick brown fox
                    416:     The Quick Brown Fox
                    417:  0: The Quick Brown Fox
                    418: 
                    419: /abc.def/P
                    420:     *** Failers
                    421: No match: POSIX code 17: match failed
                    422:     abc\ndef
                    423: No match: POSIX code 17: match failed
                    424: 
                    425: /abc$/P
                    426:     abc
                    427:  0: abc
                    428:     abc\n
                    429:  0: abc
                    430: 
                    431: /(abc)\2/P
                    432: Failed: POSIX code 15: bad back reference at offset 7     
                    433: 
                    434: /(abc\1)/P
                    435:     abc
                    436: No match: POSIX code 17: match failed
                    437: 
                    438: /)/
                    439: Failed: unmatched parentheses at offset 0
                    440: 
                    441: /a[]b/
                    442: Failed: missing terminating ] for character class at offset 4
                    443: 
                    444: /[^aeiou ]{3,}/I
                    445: Capturing subpattern count = 0
                    446: No options
                    447: No first char
                    448: No need char
                    449:     co-processors, and for
                    450:  0: -pr
                    451: 
                    452: /<.*>/I
                    453: Capturing subpattern count = 0
                    454: No options
                    455: First char = '<'
                    456: Need char = '>'
                    457:     abc<def>ghi<klm>nop
                    458:  0: <def>ghi<klm>
                    459: 
                    460: /<.*?>/I
                    461: Capturing subpattern count = 0
                    462: No options
                    463: First char = '<'
                    464: Need char = '>'
                    465:     abc<def>ghi<klm>nop
                    466:  0: <def>
                    467: 
                    468: /<.*>/IU
                    469: Capturing subpattern count = 0
                    470: Options: ungreedy
                    471: First char = '<'
                    472: Need char = '>'
                    473:     abc<def>ghi<klm>nop
                    474:  0: <def>
                    475: 
                    476: /(?U)<.*>/I
                    477: Capturing subpattern count = 0
                    478: Options: ungreedy
                    479: First char = '<'
                    480: Need char = '>'
                    481:     abc<def>ghi<klm>nop
                    482:  0: <def>
                    483: 
                    484: /<.*?>/IU
                    485: Capturing subpattern count = 0
                    486: Options: ungreedy
                    487: First char = '<'
                    488: Need char = '>'
                    489:     abc<def>ghi<klm>nop
                    490:  0: <def>ghi<klm>
                    491: 
                    492: /={3,}/IU
                    493: Capturing subpattern count = 0
                    494: Options: ungreedy
                    495: First char = '='
                    496: Need char = '='
                    497:     abc========def
                    498:  0: ===
                    499: 
                    500: /(?U)={3,}?/I
                    501: Capturing subpattern count = 0
                    502: Options: ungreedy
                    503: First char = '='
                    504: Need char = '='
                    505:     abc========def
                    506:  0: ========
                    507: 
                    508: /(?<!bar|cattle)foo/I
                    509: Capturing subpattern count = 0
                    510: No options
                    511: First char = 'f'
                    512: Need char = 'o'
                    513:     foo
                    514:  0: foo
                    515:     catfoo
                    516:  0: foo
                    517:     *** Failers
                    518: No match
                    519:     the barfoo
                    520: No match
                    521:     and cattlefoo
                    522: No match
                    523: 
                    524: /(?<=a+)b/
                    525: Failed: lookbehind assertion is not fixed length at offset 6
                    526: 
                    527: /(?<=aaa|b{0,3})b/
                    528: Failed: lookbehind assertion is not fixed length at offset 14
                    529: 
                    530: /(?<!(foo)a\1)bar/
                    531: Failed: lookbehind assertion is not fixed length at offset 12
                    532: 
                    533: /(?i)abc/I
                    534: Capturing subpattern count = 0
                    535: Options: caseless
                    536: First char = 'a' (caseless)
                    537: Need char = 'c' (caseless)
                    538: 
                    539: /(a|(?m)a)/I
                    540: Capturing subpattern count = 1
                    541: No options
                    542: First char = 'a'
                    543: No need char
                    544: 
                    545: /(?i)^1234/I
                    546: Capturing subpattern count = 0
                    547: Options: anchored caseless
                    548: No first char
                    549: No need char
                    550: 
                    551: /(^b|(?i)^d)/I
                    552: Capturing subpattern count = 1
                    553: Options: anchored
                    554: No first char
                    555: No need char
                    556: 
                    557: /(?s).*/I
                    558: Capturing subpattern count = 0
                    559: Options: anchored dotall
                    560: No first char
                    561: No need char
                    562: 
                    563: /[abcd]/IS
                    564: Capturing subpattern count = 0
                    565: No options
                    566: No first char
                    567: No need char
                    568: Subject length lower bound = 1
                    569: Starting byte set: a b c d 
                    570: 
                    571: /(?i)[abcd]/IS
                    572: Capturing subpattern count = 0
                    573: Options: caseless
                    574: No first char
                    575: No need char
                    576: Subject length lower bound = 1
                    577: Starting byte set: A B C D a b c d 
                    578: 
                    579: /(?m)[xy]|(b|c)/IS
                    580: Capturing subpattern count = 1
                    581: Options: multiline
                    582: No first char
                    583: No need char
                    584: Subject length lower bound = 1
                    585: Starting byte set: b c x y 
                    586: 
                    587: /(^a|^b)/Im
                    588: Capturing subpattern count = 1
                    589: Options: multiline
                    590: First char at start or follows newline
                    591: No need char
                    592: 
                    593: /(?i)(^a|^b)/Im
                    594: Capturing subpattern count = 1
                    595: Options: caseless multiline
                    596: First char at start or follows newline
                    597: No need char
                    598: 
                    599: /(a)(?(1)a|b|c)/
                    600: Failed: conditional group contains more than two branches at offset 13
                    601: 
                    602: /(?(?=a)a|b|c)/
                    603: Failed: conditional group contains more than two branches at offset 12
                    604: 
                    605: /(?(1a)/
                    606: Failed: missing ) at offset 6
                    607: 
                    608: /(?(1a))/
                    609: Failed: reference to non-existent subpattern at offset 6
                    610: 
                    611: /(?(?i))/
                    612: Failed: assertion expected after (?( at offset 3
                    613: 
                    614: /(?(abc))/
                    615: Failed: reference to non-existent subpattern at offset 7
                    616: 
                    617: /(?(?<ab))/
                    618: Failed: syntax error in subpattern name (missing terminator) at offset 7
                    619: 
                    620: /((?s)blah)\s+\1/I
                    621: Capturing subpattern count = 1
                    622: Max back reference = 1
                    623: No options
                    624: First char = 'b'
                    625: Need char = 'h'
                    626: 
                    627: /((?i)blah)\s+\1/I
                    628: Capturing subpattern count = 1
                    629: Max back reference = 1
                    630: No options
                    631: First char = 'b' (caseless)
                    632: Need char = 'h' (caseless)
                    633: 
                    634: /((?i)b)/IDZS
                    635: ------------------------------------------------------------------
                    636:         Bra
                    637:         CBra 1
                    638:      /i b
                    639:         Ket
                    640:         Ket
                    641:         End
                    642: ------------------------------------------------------------------
                    643: Capturing subpattern count = 1
                    644: No options
                    645: First char = 'b' (caseless)
                    646: No need char
                    647: Subject length lower bound = 1
                    648: No set of starting bytes
                    649: 
                    650: /(a*b|(?i:c*(?-i)d))/IS
                    651: Capturing subpattern count = 1
                    652: No options
                    653: No first char
                    654: No need char
                    655: Subject length lower bound = 1
                    656: Starting byte set: C a b c d 
                    657: 
                    658: /a$/I
                    659: Capturing subpattern count = 0
                    660: No options
                    661: First char = 'a'
                    662: No need char
                    663:     a
                    664:  0: a
                    665:     a\n
                    666:  0: a
                    667:     *** Failers
                    668: No match
                    669:     \Za
                    670: No match
                    671:     \Za\n
                    672: No match
                    673: 
                    674: /a$/Im
                    675: Capturing subpattern count = 0
                    676: Options: multiline
                    677: First char = 'a'
                    678: No need char
                    679:     a
                    680:  0: a
                    681:     a\n
                    682:  0: a
                    683:     \Za\n
                    684:  0: a
                    685:     *** Failers
                    686: No match
                    687:     \Za
                    688: No match
                    689: 
                    690: /\Aabc/Im
                    691: Capturing subpattern count = 0
                    692: Options: anchored multiline
                    693: No first char
                    694: No need char
                    695: 
                    696: /^abc/Im
                    697: Capturing subpattern count = 0
                    698: Options: multiline
                    699: First char at start or follows newline
                    700: Need char = 'c'
                    701: 
                    702: /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
                    703: Capturing subpattern count = 5
                    704: Options: anchored
                    705: No first char
                    706: No need char
                    707:   aaaaabbbbbcccccdef
                    708:  0: aaaaabbbbbcccccdef
                    709:  1: aaaaabbbbbcccccdef
                    710:  2: aaaaa
                    711:  3: b
                    712:  4: bbbbccccc
                    713:  5: def
                    714: 
                    715: /(?<=foo)[ab]/IS
                    716: Capturing subpattern count = 0
                    717: No options
                    718: No first char
                    719: No need char
                    720: Subject length lower bound = 1
                    721: Starting byte set: a b 
                    722: 
                    723: /(?<!foo)(alpha|omega)/IS
                    724: Capturing subpattern count = 1
                    725: No options
                    726: No first char
                    727: Need char = 'a'
                    728: Subject length lower bound = 5
                    729: Starting byte set: a o 
                    730: 
                    731: /(?!alphabet)[ab]/IS
                    732: Capturing subpattern count = 0
                    733: No options
                    734: No first char
                    735: No need char
                    736: Subject length lower bound = 1
                    737: Starting byte set: a b 
                    738: 
                    739: /(?<=foo\n)^bar/Im
                    740: Capturing subpattern count = 0
                    741: Contains explicit CR or LF match
                    742: Options: multiline
                    743: No first char
                    744: Need char = 'r'
                    745:     foo\nbarbar
                    746:  0: bar
                    747:     ***Failers
                    748: No match
                    749:     rhubarb
                    750: No match
                    751:     barbell
                    752: No match
                    753:     abc\nbarton
                    754: No match
                    755: 
                    756: /^(?<=foo\n)bar/Im
                    757: Capturing subpattern count = 0
                    758: Contains explicit CR or LF match
                    759: Options: multiline
                    760: First char at start or follows newline
                    761: Need char = 'r'
                    762:     foo\nbarbar
                    763:  0: bar
                    764:     ***Failers
                    765: No match
                    766:     rhubarb
                    767: No match
                    768:     barbell
                    769: No match
                    770:     abc\nbarton
                    771: No match
                    772: 
                    773: /(?>^abc)/Im
                    774: Capturing subpattern count = 0
                    775: Options: multiline
                    776: First char at start or follows newline
                    777: Need char = 'c'
                    778:     abc
                    779:  0: abc
                    780:     def\nabc
                    781:  0: abc
                    782:     *** Failers
                    783: No match
                    784:     defabc
                    785: No match
                    786: 
                    787: /(?<=ab(c+)d)ef/
                    788: Failed: lookbehind assertion is not fixed length at offset 11
                    789: 
                    790: /(?<=ab(?<=c+)d)ef/
                    791: Failed: lookbehind assertion is not fixed length at offset 12
                    792: 
                    793: /(?<=ab(c|de)f)g/
                    794: Failed: lookbehind assertion is not fixed length at offset 13
                    795: 
                    796: /The next three are in testinput2 because they have variable length branches/
                    797: 
                    798: /(?<=bullock|donkey)-cart/I
                    799: Capturing subpattern count = 0
                    800: No options
                    801: First char = '-'
                    802: Need char = 't'
                    803:     the bullock-cart
                    804:  0: -cart
                    805:     a donkey-cart race
                    806:  0: -cart
                    807:     *** Failers
                    808: No match
                    809:     cart
                    810: No match
                    811:     horse-and-cart
                    812: No match
                    813: 
                    814: /(?<=ab(?i)x|y|z)/I
                    815: Capturing subpattern count = 0
                    816: No options
                    817: No first char
                    818: No need char
                    819: 
                    820: /(?>.*)(?<=(abcd)|(xyz))/I
                    821: Capturing subpattern count = 2
                    822: No options
                    823: First char at start or follows newline
                    824: No need char
                    825:     alphabetabcd
                    826:  0: alphabetabcd
                    827:  1: abcd
                    828:     endingxyz
                    829:  0: endingxyz
                    830:  1: <unset>
                    831:  2: xyz
                    832: 
                    833: /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
                    834: Capturing subpattern count = 0
                    835: No options
                    836: First char = 'Z'
                    837: Need char = 'Z'
                    838:     abxyZZ
                    839:  0: ZZ
                    840:     abXyZZ
                    841:  0: ZZ
                    842:     ZZZ
                    843:  0: ZZ
                    844:     zZZ
                    845:  0: ZZ
                    846:     bZZ
                    847:  0: ZZ
                    848:     BZZ
                    849:  0: ZZ
                    850:     *** Failers
                    851: No match
                    852:     ZZ
                    853: No match
                    854:     abXYZZ
                    855: No match
                    856:     zzz
                    857: No match
                    858:     bzz
                    859: No match
                    860: 
                    861: /(?<!(foo)a)bar/I
                    862: Capturing subpattern count = 1
                    863: No options
                    864: First char = 'b'
                    865: Need char = 'r'
                    866:     bar
                    867:  0: bar
                    868:     foobbar
                    869:  0: bar
                    870:     *** Failers
                    871: No match
                    872:     fooabar
                    873: No match
                    874: 
                    875: /This one is here because Perl 5.005_02 doesn't fail it/I
                    876: Capturing subpattern count = 0
                    877: No options
                    878: First char = 'T'
                    879: Need char = 't'
                    880: 
                    881: /^(a)?(?(1)a|b)+$/I
                    882: Capturing subpattern count = 1
                    883: Options: anchored
                    884: No first char
                    885: No need char
                    886:     *** Failers
                    887: No match
                    888:     a
                    889: No match
                    890: 
                    891: /This one is here because Perl behaves differently; see also the following/I
                    892: Capturing subpattern count = 0
                    893: No options
                    894: First char = 'T'
                    895: Need char = 'g'
                    896: 
                    897: /^(a\1?){4}$/I
                    898: Capturing subpattern count = 1
                    899: Max back reference = 1
                    900: Options: anchored
                    901: No first char
                    902: No need char
                    903:     aaaa
                    904: No match
                    905:     aaaaaa
                    906: No match
                    907:     
                    908: /Perl does not fail these two for the final subjects. Neither did PCRE until/
                    909: /release 8.01. The problem is in backtracking into a subpattern that contains/
                    910: No match
                    911: /a recursive reference to itself. PCRE has now made these into atomic patterns./
                    912: No match
                    913: 
                    914: /^(xa|=?\1a){2}$/
                    915:     xa=xaa
                    916:  0: xa=xaa
                    917:  1: =xaa
                    918:     ** Failers
                    919: No match
                    920:     xa=xaaa
                    921: No match
                    922: 
                    923: /^(xa|=?\1a)+$/
                    924:     xa=xaa
                    925:  0: xa=xaa
                    926:  1: =xaa
                    927:     ** Failers
                    928: No match
                    929:     xa=xaaa
                    930: No match
                    931: 
                    932: /These are syntax tests from Perl 5.005/I
                    933: Capturing subpattern count = 0
                    934: No options
                    935: First char = 'T'
                    936: Need char = '5'
                    937: 
                    938: /a[b-a]/
                    939: Failed: range out of order in character class at offset 4
                    940: 
                    941: /a[]b/
                    942: Failed: missing terminating ] for character class at offset 4
                    943: 
                    944: /a[/
                    945: Failed: missing terminating ] for character class at offset 2
                    946: 
                    947: /*a/
                    948: Failed: nothing to repeat at offset 0
                    949: 
                    950: /(*)b/
                    951: Failed: nothing to repeat at offset 1
                    952: 
                    953: /abc)/
                    954: Failed: unmatched parentheses at offset 3
                    955: 
                    956: /(abc/
                    957: Failed: missing ) at offset 4
                    958: 
                    959: /a**/
                    960: Failed: nothing to repeat at offset 2
                    961: 
                    962: /)(/
                    963: Failed: unmatched parentheses at offset 0
                    964: 
                    965: /\1/
                    966: Failed: reference to non-existent subpattern at offset 2
                    967: 
                    968: /\2/
                    969: Failed: reference to non-existent subpattern at offset 2
                    970: 
                    971: /(a)|\2/
                    972: Failed: reference to non-existent subpattern at offset 6
                    973: 
                    974: /a[b-a]/Ii
                    975: Failed: range out of order in character class at offset 4
                    976: 
                    977: /a[]b/Ii
                    978: Failed: missing terminating ] for character class at offset 4
                    979: 
                    980: /a[/Ii
                    981: Failed: missing terminating ] for character class at offset 2
                    982: 
                    983: /*a/Ii
                    984: Failed: nothing to repeat at offset 0
                    985: 
                    986: /(*)b/Ii
                    987: Failed: nothing to repeat at offset 1
                    988: 
                    989: /abc)/Ii
                    990: Failed: unmatched parentheses at offset 3
                    991: 
                    992: /(abc/Ii
                    993: Failed: missing ) at offset 4
                    994: 
                    995: /a**/Ii
                    996: Failed: nothing to repeat at offset 2
                    997: 
                    998: /)(/Ii
                    999: Failed: unmatched parentheses at offset 0
                   1000: 
                   1001: /:(?:/
                   1002: Failed: missing ) at offset 4
                   1003: 
                   1004: /(?<%)b/
                   1005: Failed: unrecognized character after (?< at offset 3
                   1006: 
                   1007: /a(?{)b/
                   1008: Failed: unrecognized character after (? or (?- at offset 3
                   1009: 
                   1010: /a(?{{})b/
                   1011: Failed: unrecognized character after (? or (?- at offset 3
                   1012: 
                   1013: /a(?{}})b/
                   1014: Failed: unrecognized character after (? or (?- at offset 3
                   1015: 
                   1016: /a(?{"{"})b/
                   1017: Failed: unrecognized character after (? or (?- at offset 3
                   1018: 
                   1019: /a(?{"{"}})b/
                   1020: Failed: unrecognized character after (? or (?- at offset 3
                   1021: 
                   1022: /(?(1?)a|b)/
                   1023: Failed: malformed number or name after (?( at offset 4
                   1024: 
                   1025: /[a[:xyz:/
                   1026: Failed: missing terminating ] for character class at offset 8
                   1027: 
                   1028: /(?<=x+)y/
                   1029: Failed: lookbehind assertion is not fixed length at offset 6
                   1030: 
                   1031: /a{37,17}/
                   1032: Failed: numbers out of order in {} quantifier at offset 7
                   1033: 
                   1034: /abc/\
                   1035: Failed: \ at end of pattern at offset 4
                   1036: 
                   1037: /abc/\P
                   1038: Failed: POSIX code 9: bad escape sequence at offset 4     
                   1039: 
                   1040: /abc/\i
                   1041: Failed: \ at end of pattern at offset 4
                   1042: 
                   1043: /(a)bc(d)/I
                   1044: Capturing subpattern count = 2
                   1045: No options
                   1046: First char = 'a'
                   1047: Need char = 'd'
                   1048:     abcd
                   1049:  0: abcd
                   1050:  1: a
                   1051:  2: d
                   1052:     abcd\C2
                   1053:  0: abcd
                   1054:  1: a
                   1055:  2: d
                   1056:  2C d (1)
                   1057:     abcd\C5
                   1058:  0: abcd
                   1059:  1: a
                   1060:  2: d
                   1061: copy substring 5 failed -7
                   1062: 
                   1063: /(.{20})/I
                   1064: Capturing subpattern count = 1
                   1065: No options
                   1066: No first char
                   1067: No need char
                   1068:     abcdefghijklmnopqrstuvwxyz
                   1069:  0: abcdefghijklmnopqrst
                   1070:  1: abcdefghijklmnopqrst
                   1071:     abcdefghijklmnopqrstuvwxyz\C1
                   1072:  0: abcdefghijklmnopqrst
                   1073:  1: abcdefghijklmnopqrst
                   1074:  1C abcdefghijklmnopqrst (20)
                   1075:     abcdefghijklmnopqrstuvwxyz\G1
                   1076:  0: abcdefghijklmnopqrst
                   1077:  1: abcdefghijklmnopqrst
                   1078:  1G abcdefghijklmnopqrst (20)
                   1079: 
                   1080: /(.{15})/I
                   1081: Capturing subpattern count = 1
                   1082: No options
                   1083: No first char
                   1084: No need char
                   1085:     abcdefghijklmnopqrstuvwxyz
                   1086:  0: abcdefghijklmno
                   1087:  1: abcdefghijklmno
                   1088:     abcdefghijklmnopqrstuvwxyz\C1\G1
                   1089:  0: abcdefghijklmno
                   1090:  1: abcdefghijklmno
                   1091:  1C abcdefghijklmno (15)
                   1092:  1G abcdefghijklmno (15)
                   1093: 
                   1094: /(.{16})/I
                   1095: Capturing subpattern count = 1
                   1096: No options
                   1097: No first char
                   1098: No need char
                   1099:     abcdefghijklmnopqrstuvwxyz
                   1100:  0: abcdefghijklmnop
                   1101:  1: abcdefghijklmnop
                   1102:     abcdefghijklmnopqrstuvwxyz\C1\G1\L
                   1103:  0: abcdefghijklmnop
                   1104:  1: abcdefghijklmnop
                   1105:  1C abcdefghijklmnop (16)
                   1106:  1G abcdefghijklmnop (16)
                   1107:  0L abcdefghijklmnop
                   1108:  1L abcdefghijklmnop
                   1109: 
                   1110: /^(a|(bc))de(f)/I
                   1111: Capturing subpattern count = 3
                   1112: Options: anchored
                   1113: No first char
                   1114: No need char
                   1115:     adef\G1\G2\G3\G4\L
                   1116:  0: adef
                   1117:  1: a
                   1118:  2: <unset>
                   1119:  3: f
                   1120:  1G a (1)
                   1121:  2G  (0)
                   1122:  3G f (1)
                   1123: get substring 4 failed -7
                   1124:  0L adef
                   1125:  1L a
                   1126:  2L 
                   1127:  3L f
                   1128:     bcdef\G1\G2\G3\G4\L
                   1129:  0: bcdef
                   1130:  1: bc
                   1131:  2: bc
                   1132:  3: f
                   1133:  1G bc (2)
                   1134:  2G bc (2)
                   1135:  3G f (1)
                   1136: get substring 4 failed -7
                   1137:  0L bcdef
                   1138:  1L bc
                   1139:  2L bc
                   1140:  3L f
                   1141:     adefghijk\C0
                   1142:  0: adef
                   1143:  1: a
                   1144:  2: <unset>
                   1145:  3: f
                   1146:  0C adef (4)
                   1147: 
                   1148: /^abc\00def/I
                   1149: Capturing subpattern count = 0
                   1150: Options: anchored
                   1151: No first char
                   1152: No need char
                   1153:     abc\00def\L\C0
                   1154:  0: abc\x00def
                   1155:  0C abc (7)
                   1156:  0L abc
                   1157: 
                   1158: /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
                   1159: )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
                   1160: )?)?)?)?)?)?)?)?)?otherword/I
                   1161: Capturing subpattern count = 8
                   1162: Contains explicit CR or LF match
                   1163: No options
                   1164: First char = 'w'
                   1165: Need char = 'd'
                   1166: 
                   1167: /.*X/IDZ
                   1168: ------------------------------------------------------------------
                   1169:         Bra
                   1170:         Any*
                   1171:         X
                   1172:         Ket
                   1173:         End
                   1174: ------------------------------------------------------------------
                   1175: Capturing subpattern count = 0
                   1176: No options
                   1177: First char at start or follows newline
                   1178: Need char = 'X'
                   1179: 
                   1180: /.*X/IDZs
                   1181: ------------------------------------------------------------------
                   1182:         Bra
                   1183:         AllAny*
                   1184:         X
                   1185:         Ket
                   1186:         End
                   1187: ------------------------------------------------------------------
                   1188: Capturing subpattern count = 0
                   1189: Options: anchored dotall
                   1190: No first char
                   1191: Need char = 'X'
                   1192: 
                   1193: /(.*X|^B)/IDZ
                   1194: ------------------------------------------------------------------
                   1195:         Bra
                   1196:         CBra 1
                   1197:         Any*
                   1198:         X
                   1199:         Alt
                   1200:         ^
                   1201:         B
                   1202:         Ket
                   1203:         Ket
                   1204:         End
                   1205: ------------------------------------------------------------------
                   1206: Capturing subpattern count = 1
                   1207: No options
                   1208: First char at start or follows newline
                   1209: No need char
                   1210: 
                   1211: /(.*X|^B)/IDZs
                   1212: ------------------------------------------------------------------
                   1213:         Bra
                   1214:         CBra 1
                   1215:         AllAny*
                   1216:         X
                   1217:         Alt
                   1218:         ^
                   1219:         B
                   1220:         Ket
                   1221:         Ket
                   1222:         End
                   1223: ------------------------------------------------------------------
                   1224: Capturing subpattern count = 1
                   1225: Options: anchored dotall
                   1226: No first char
                   1227: No need char
                   1228: 
                   1229: /(?s)(.*X|^B)/IDZ
                   1230: ------------------------------------------------------------------
                   1231:         Bra
                   1232:         CBra 1
                   1233:         AllAny*
                   1234:         X
                   1235:         Alt
                   1236:         ^
                   1237:         B
                   1238:         Ket
                   1239:         Ket
                   1240:         End
                   1241: ------------------------------------------------------------------
                   1242: Capturing subpattern count = 1
                   1243: Options: anchored dotall
                   1244: No first char
                   1245: No need char
                   1246: 
                   1247: /(?s:.*X|^B)/IDZ
                   1248: ------------------------------------------------------------------
                   1249:         Bra
                   1250:         Bra
                   1251:         AllAny*
                   1252:         X
                   1253:         Alt
                   1254:         ^
                   1255:         B
                   1256:         Ket
                   1257:         Ket
                   1258:         End
                   1259: ------------------------------------------------------------------
                   1260: Capturing subpattern count = 0
                   1261: Options: anchored
                   1262: No first char
                   1263: No need char
                   1264: 
                   1265: /\Biss\B/I+
                   1266: Capturing subpattern count = 0
                   1267: No options
                   1268: First char = 'i'
                   1269: Need char = 's'
                   1270:     Mississippi
                   1271:  0: iss
                   1272:  0+ issippi
                   1273: 
                   1274: /\Biss\B/I+P
                   1275:     Mississippi
                   1276:  0: iss
                   1277:  0+ issippi
                   1278: 
                   1279: /iss/IG+
                   1280: Capturing subpattern count = 0
                   1281: No options
                   1282: First char = 'i'
                   1283: Need char = 's'
                   1284:     Mississippi
                   1285:  0: iss
                   1286:  0+ issippi
                   1287:  0: iss
                   1288:  0+ ippi
                   1289: 
                   1290: /\Biss\B/IG+
                   1291: Capturing subpattern count = 0
                   1292: No options
                   1293: First char = 'i'
                   1294: Need char = 's'
                   1295:     Mississippi
                   1296:  0: iss
                   1297:  0+ issippi
                   1298: 
                   1299: /\Biss\B/Ig+
                   1300: Capturing subpattern count = 0
                   1301: No options
                   1302: First char = 'i'
                   1303: Need char = 's'
                   1304:     Mississippi
                   1305:  0: iss
                   1306:  0+ issippi
                   1307:  0: iss
                   1308:  0+ ippi
                   1309:     *** Failers
                   1310: No match
                   1311:     Mississippi\A
                   1312: No match
                   1313: 
                   1314: /(?<=[Ms])iss/Ig+
                   1315: Capturing subpattern count = 0
                   1316: No options
                   1317: First char = 'i'
                   1318: Need char = 's'
                   1319:     Mississippi
                   1320:  0: iss
                   1321:  0+ issippi
                   1322:  0: iss
                   1323:  0+ ippi
                   1324: 
                   1325: /(?<=[Ms])iss/IG+
                   1326: Capturing subpattern count = 0
                   1327: No options
                   1328: First char = 'i'
                   1329: Need char = 's'
                   1330:     Mississippi
                   1331:  0: iss
                   1332:  0+ issippi
                   1333: 
                   1334: /^iss/Ig+
                   1335: Capturing subpattern count = 0
                   1336: Options: anchored
                   1337: No first char
                   1338: No need char
                   1339:     ississippi
                   1340:  0: iss
                   1341:  0+ issippi
                   1342: 
                   1343: /.*iss/Ig+
                   1344: Capturing subpattern count = 0
                   1345: No options
                   1346: First char at start or follows newline
                   1347: Need char = 's'
                   1348:     abciss\nxyzisspqr
                   1349:  0: abciss
                   1350:  0+ \x0axyzisspqr
                   1351:  0: xyziss
                   1352:  0+ pqr
                   1353: 
                   1354: /.i./I+g
                   1355: Capturing subpattern count = 0
                   1356: No options
                   1357: No first char
                   1358: Need char = 'i'
                   1359:     Mississippi
                   1360:  0: Mis
                   1361:  0+ sissippi
                   1362:  0: sis
                   1363:  0+ sippi
                   1364:  0: sip
                   1365:  0+ pi
                   1366:     Mississippi\A
                   1367:  0: Mis
                   1368:  0+ sissippi
                   1369:  0: sis
                   1370:  0+ sippi
                   1371:  0: sip
                   1372:  0+ pi
                   1373:     Missouri river
                   1374:  0: Mis
                   1375:  0+ souri river
                   1376:  0: ri 
                   1377:  0+ river
                   1378:  0: riv
                   1379:  0+ er
                   1380:     Missouri river\A
                   1381:  0: Mis
                   1382:  0+ souri river
                   1383: 
                   1384: /^.is/I+g
                   1385: Capturing subpattern count = 0
                   1386: Options: anchored
                   1387: No first char
                   1388: No need char
                   1389:     Mississippi
                   1390:  0: Mis
                   1391:  0+ sissippi
                   1392: 
                   1393: /^ab\n/Ig+
                   1394: Capturing subpattern count = 0
                   1395: Contains explicit CR or LF match
                   1396: Options: anchored
                   1397: No first char
                   1398: No need char
                   1399:     ab\nab\ncd
                   1400:  0: ab\x0a
                   1401:  0+ ab\x0acd
                   1402: 
                   1403: /^ab\n/Img+
                   1404: Capturing subpattern count = 0
                   1405: Contains explicit CR or LF match
                   1406: Options: multiline
                   1407: First char at start or follows newline
                   1408: Need char = 10
                   1409:     ab\nab\ncd
                   1410:  0: ab\x0a
                   1411:  0+ ab\x0acd
                   1412:  0: ab\x0a
                   1413:  0+ cd
                   1414: 
                   1415: /abc/I
                   1416: Capturing subpattern count = 0
                   1417: No options
                   1418: First char = 'a'
                   1419: Need char = 'c'
                   1420: 
                   1421: /abc|bac/I
                   1422: Capturing subpattern count = 0
                   1423: No options
                   1424: No first char
                   1425: Need char = 'c'
                   1426: 
                   1427: /(abc|bac)/I
                   1428: Capturing subpattern count = 1
                   1429: No options
                   1430: No first char
                   1431: Need char = 'c'
                   1432: 
                   1433: /(abc|(c|dc))/I
                   1434: Capturing subpattern count = 2
                   1435: No options
                   1436: No first char
                   1437: Need char = 'c'
                   1438: 
                   1439: /(abc|(d|de)c)/I
                   1440: Capturing subpattern count = 2
                   1441: No options
                   1442: No first char
                   1443: Need char = 'c'
                   1444: 
                   1445: /a*/I
                   1446: Capturing subpattern count = 0
                   1447: No options
                   1448: No first char
                   1449: No need char
                   1450: 
                   1451: /a+/I
                   1452: Capturing subpattern count = 0
                   1453: No options
                   1454: First char = 'a'
                   1455: No need char
                   1456: 
                   1457: /(baa|a+)/I
                   1458: Capturing subpattern count = 1
                   1459: No options
                   1460: No first char
                   1461: Need char = 'a'
                   1462: 
                   1463: /a{0,3}/I
                   1464: Capturing subpattern count = 0
                   1465: No options
                   1466: No first char
                   1467: No need char
                   1468: 
                   1469: /baa{3,}/I
                   1470: Capturing subpattern count = 0
                   1471: No options
                   1472: First char = 'b'
                   1473: Need char = 'a'
                   1474: 
                   1475: /"([^\\"]+|\\.)*"/I
                   1476: Capturing subpattern count = 1
                   1477: No options
                   1478: First char = '"'
                   1479: Need char = '"'
                   1480: 
                   1481: /(abc|ab[cd])/I
                   1482: Capturing subpattern count = 1
                   1483: No options
                   1484: First char = 'a'
                   1485: No need char
                   1486: 
                   1487: /(a|.)/I
                   1488: Capturing subpattern count = 1
                   1489: No options
                   1490: No first char
                   1491: No need char
                   1492: 
                   1493: /a|ba|\w/I
                   1494: Capturing subpattern count = 0
                   1495: No options
                   1496: No first char
                   1497: No need char
                   1498: 
                   1499: /abc(?=pqr)/I
                   1500: Capturing subpattern count = 0
                   1501: No options
                   1502: First char = 'a'
                   1503: Need char = 'r'
                   1504: 
                   1505: /...(?<=abc)/I
                   1506: Capturing subpattern count = 0
                   1507: No options
                   1508: No first char
                   1509: No need char
                   1510: 
                   1511: /abc(?!pqr)/I
                   1512: Capturing subpattern count = 0
                   1513: No options
                   1514: First char = 'a'
                   1515: Need char = 'c'
                   1516: 
                   1517: /ab./I
                   1518: Capturing subpattern count = 0
                   1519: No options
                   1520: First char = 'a'
                   1521: Need char = 'b'
                   1522: 
                   1523: /ab[xyz]/I
                   1524: Capturing subpattern count = 0
                   1525: No options
                   1526: First char = 'a'
                   1527: Need char = 'b'
                   1528: 
                   1529: /abc*/I
                   1530: Capturing subpattern count = 0
                   1531: No options
                   1532: First char = 'a'
                   1533: Need char = 'b'
                   1534: 
                   1535: /ab.c*/I
                   1536: Capturing subpattern count = 0
                   1537: No options
                   1538: First char = 'a'
                   1539: Need char = 'b'
                   1540: 
                   1541: /a.c*/I
                   1542: Capturing subpattern count = 0
                   1543: No options
                   1544: First char = 'a'
                   1545: No need char
                   1546: 
                   1547: /.c*/I
                   1548: Capturing subpattern count = 0
                   1549: No options
                   1550: No first char
                   1551: No need char
                   1552: 
                   1553: /ac*/I
                   1554: Capturing subpattern count = 0
                   1555: No options
                   1556: First char = 'a'
                   1557: No need char
                   1558: 
                   1559: /(a.c*|b.c*)/I
                   1560: Capturing subpattern count = 1
                   1561: No options
                   1562: No first char
                   1563: No need char
                   1564: 
                   1565: /a.c*|aba/I
                   1566: Capturing subpattern count = 0
                   1567: No options
                   1568: First char = 'a'
                   1569: No need char
                   1570: 
                   1571: /.+a/I
                   1572: Capturing subpattern count = 0
                   1573: No options
                   1574: No first char
                   1575: Need char = 'a'
                   1576: 
                   1577: /(?=abcda)a.*/I
                   1578: Capturing subpattern count = 0
                   1579: No options
                   1580: First char = 'a'
                   1581: Need char = 'a'
                   1582: 
                   1583: /(?=a)a.*/I
                   1584: Capturing subpattern count = 0
                   1585: No options
                   1586: First char = 'a'
                   1587: No need char
                   1588: 
                   1589: /a(b)*/I
                   1590: Capturing subpattern count = 1
                   1591: No options
                   1592: First char = 'a'
                   1593: No need char
                   1594: 
                   1595: /a\d*/I
                   1596: Capturing subpattern count = 0
                   1597: No options
                   1598: First char = 'a'
                   1599: No need char
                   1600: 
                   1601: /ab\d*/I
                   1602: Capturing subpattern count = 0
                   1603: No options
                   1604: First char = 'a'
                   1605: Need char = 'b'
                   1606: 
                   1607: /a(\d)*/I
                   1608: Capturing subpattern count = 1
                   1609: No options
                   1610: First char = 'a'
                   1611: No need char
                   1612: 
                   1613: /abcde{0,0}/I
                   1614: Capturing subpattern count = 0
                   1615: No options
                   1616: First char = 'a'
                   1617: Need char = 'd'
                   1618: 
                   1619: /ab\d+/I
                   1620: Capturing subpattern count = 0
                   1621: No options
                   1622: First char = 'a'
                   1623: Need char = 'b'
                   1624: 
                   1625: /a(?(1)b)(.)/I
                   1626: Capturing subpattern count = 1
                   1627: No options
                   1628: First char = 'a'
                   1629: No need char
                   1630: 
                   1631: /a(?(1)bag|big)(.)/I
                   1632: Capturing subpattern count = 1
                   1633: No options
                   1634: First char = 'a'
                   1635: Need char = 'g'
                   1636: 
                   1637: /a(?(1)bag|big)*(.)/I
                   1638: Capturing subpattern count = 1
                   1639: No options
                   1640: First char = 'a'
                   1641: No need char
                   1642: 
                   1643: /a(?(1)bag|big)+(.)/I
                   1644: Capturing subpattern count = 1
                   1645: No options
                   1646: First char = 'a'
                   1647: Need char = 'g'
                   1648: 
                   1649: /a(?(1)b..|b..)(.)/I
                   1650: Capturing subpattern count = 1
                   1651: No options
                   1652: First char = 'a'
                   1653: Need char = 'b'
                   1654: 
                   1655: /ab\d{0}e/I
                   1656: Capturing subpattern count = 0
                   1657: No options
                   1658: First char = 'a'
                   1659: Need char = 'e'
                   1660: 
                   1661: /a?b?/I
                   1662: Capturing subpattern count = 0
                   1663: No options
                   1664: No first char
                   1665: No need char
                   1666:     a
                   1667:  0: a
                   1668:     b
                   1669:  0: b
                   1670:     ab
                   1671:  0: ab
                   1672:     \
                   1673:  0: 
                   1674:     *** Failers
                   1675:  0: 
                   1676:     \N
                   1677: No match
                   1678: 
                   1679: /|-/I
                   1680: Capturing subpattern count = 0
                   1681: No options
                   1682: No first char
                   1683: No need char
                   1684:     abcd
                   1685:  0: 
                   1686:     -abc
                   1687:  0: 
                   1688:     \Nab-c
                   1689:  0: -
                   1690:     *** Failers
                   1691:  0: 
                   1692:     \Nabc
                   1693: No match
                   1694: 
                   1695: /a*(b+)(z)(z)/P
                   1696:     aaaabbbbzzzz
                   1697:  0: aaaabbbbzz
                   1698:  1: bbbb
                   1699:  2: z
                   1700:  3: z
                   1701:     aaaabbbbzzzz\O0
                   1702:     aaaabbbbzzzz\O1
                   1703:  0: aaaabbbbzz
                   1704:     aaaabbbbzzzz\O2
                   1705:  0: aaaabbbbzz
                   1706:  1: bbbb
                   1707:     aaaabbbbzzzz\O3
                   1708:  0: aaaabbbbzz
                   1709:  1: bbbb
                   1710:  2: z
                   1711:     aaaabbbbzzzz\O4
                   1712:  0: aaaabbbbzz
                   1713:  1: bbbb
                   1714:  2: z
                   1715:  3: z
                   1716:     aaaabbbbzzzz\O5
                   1717:  0: aaaabbbbzz
                   1718:  1: bbbb
                   1719:  2: z
                   1720:  3: z
                   1721: 
                   1722: /^.?abcd/IS
                   1723: Capturing subpattern count = 0
                   1724: Options: anchored
                   1725: No first char
                   1726: Need char = 'd'
                   1727: Subject length lower bound = 4
                   1728: No set of starting bytes
                   1729: 
                   1730: /\(             # ( at start
                   1731:   (?:           # Non-capturing bracket
                   1732:   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
                   1733:   |             # Or
                   1734:   (?R)          # Recurse - i.e. nested bracketed string
                   1735:   )*            # Zero or more contents
                   1736:   \)            # Closing )
                   1737:   /Ix
                   1738: Capturing subpattern count = 0
                   1739: Options: extended
                   1740: First char = '('
                   1741: Need char = ')'
                   1742:     (abcd)
                   1743:  0: (abcd)
                   1744:     (abcd)xyz
                   1745:  0: (abcd)
                   1746:     xyz(abcd)
                   1747:  0: (abcd)
                   1748:     (ab(xy)cd)pqr
                   1749:  0: (ab(xy)cd)
                   1750:     (ab(xycd)pqr
                   1751:  0: (xycd)
                   1752:     () abc ()
                   1753:  0: ()
                   1754:     12(abcde(fsh)xyz(foo(bar))lmno)89
                   1755:  0: (abcde(fsh)xyz(foo(bar))lmno)
                   1756:     *** Failers
                   1757: No match
                   1758:     abcd
                   1759: No match
                   1760:     abcd)
                   1761: No match
                   1762:     (abcd
                   1763: No match
                   1764: 
                   1765: /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
                   1766: Capturing subpattern count = 1
                   1767: Options: extended
                   1768: First char = '('
                   1769: Need char = ')'
                   1770:     (ab(xy)cd)pqr
                   1771:  0: (ab(xy)cd)
                   1772:  1: cd
                   1773:     1(abcd)(x(y)z)pqr
                   1774:  0: (abcd)
                   1775:  1: abcd
                   1776:  0: (x(y)z)
                   1777:  1: z
                   1778: 
                   1779: /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
                   1780: Capturing subpattern count = 0
                   1781: Options: extended
                   1782: First char = '('
                   1783: Need char = ')'
                   1784:     (abcd)
                   1785:  0: (abcd)
                   1786:     (ab(xy)cd)
                   1787:  0: (xy)
                   1788:     (a(b(c)d)e)
                   1789:  0: (c)
                   1790:     ((ab))
                   1791:  0: ((ab))
                   1792:     *** Failers
                   1793: No match
                   1794:     ()
                   1795: No match
                   1796: 
                   1797: /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
                   1798: Capturing subpattern count = 0
                   1799: Options: extended
                   1800: First char = '('
                   1801: Need char = ')'
                   1802:     ()
                   1803:  0: ()
                   1804:     12(abcde(fsh)xyz(foo(bar))lmno)89
                   1805:  0: (fsh)
                   1806: 
                   1807: /\(  ( (?>[^()]+) | (?R) )* \) /Ix
                   1808: Capturing subpattern count = 1
                   1809: Options: extended
                   1810: First char = '('
                   1811: Need char = ')'
                   1812:     (ab(xy)cd)
                   1813:  0: (ab(xy)cd)
                   1814:  1: cd
                   1815: 
                   1816: /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1817: Capturing subpattern count = 2
                   1818: Options: extended
                   1819: First char = '('
                   1820: Need char = ')'
                   1821:     (ab(xy)cd)
                   1822:  0: (ab(xy)cd)
                   1823:  1: ab(xy)cd
                   1824:  2: cd
                   1825: 
                   1826: /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1827: Capturing subpattern count = 3
                   1828: Options: extended
                   1829: First char = '('
                   1830: Need char = ')'
                   1831:     (ab(xy)cd)
                   1832:  0: (ab(xy)cd)
                   1833:  1: <unset>
                   1834:  2: ab(xy)cd
                   1835:  3: cd
                   1836:     (123ab(xy)cd)
                   1837:  0: (123ab(xy)cd)
                   1838:  1: 123
                   1839:  2: ab(xy)cd
                   1840:  3: cd
                   1841: 
                   1842: /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1843: Capturing subpattern count = 3
                   1844: Options: extended
                   1845: First char = '('
                   1846: Need char = ')'
                   1847:     (ab(xy)cd)
                   1848:  0: (ab(xy)cd)
                   1849:  1: ab(xy)cd
                   1850:  2: <unset>
                   1851:  3: cd
                   1852:     (123ab(xy)cd)
                   1853:  0: (123ab(xy)cd)
                   1854:  1: 123ab(xy)cd
                   1855:  2: 123
                   1856:  3: cd
                   1857: 
                   1858: /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
                   1859: Capturing subpattern count = 11
                   1860: Options: extended
                   1861: First char = '('
                   1862: Need char = ')'
                   1863:     (ab(xy)cd)
                   1864:  0: (ab(xy)cd)
                   1865:  1: ab(xy)cd
                   1866:  2: ab(xy)cd
                   1867:  3: ab(xy)cd
                   1868:  4: ab(xy)cd
                   1869:  5: ab(xy)cd
                   1870:  6: ab(xy)cd
                   1871:  7: ab(xy)cd
                   1872:  8: ab(xy)cd
                   1873:  9: ab(xy)cd
                   1874: 10: ab(xy)cd
                   1875: 11: cd
                   1876: 
                   1877: /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
                   1878: Capturing subpattern count = 3
                   1879: Options: extended
                   1880: First char = '('
                   1881: Need char = ')'
                   1882:     (abcd(xyz<p>qrs)123)
                   1883:  0: (abcd(xyz<p>qrs)123)
                   1884:  1: abcd(xyz<p>qrs)123
                   1885:  2: 123
                   1886: 
                   1887: /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
                   1888: Capturing subpattern count = 3
                   1889: Options: extended
                   1890: First char = '('
                   1891: Need char = ')'
                   1892:     (ab(cd)ef)
                   1893:  0: (ab(cd)ef)
                   1894:  1: ab(cd)ef
                   1895:  2: ef
                   1896:  3: (cd)
                   1897:     (ab(cd(ef)gh)ij)
                   1898:  0: (ab(cd(ef)gh)ij)
                   1899:  1: ab(cd(ef)gh)ij
                   1900:  2: ij
                   1901:  3: (cd(ef)gh)
                   1902: 
                   1903: /^[[:alnum:]]/DZ
                   1904: ------------------------------------------------------------------
                   1905:         Bra
                   1906:         ^
                   1907:         [0-9A-Za-z]
                   1908:         Ket
                   1909:         End
                   1910: ------------------------------------------------------------------
                   1911: Capturing subpattern count = 0
                   1912: Options: anchored
                   1913: No first char
                   1914: No need char
                   1915: 
                   1916: /^[[:^alnum:]]/DZ
                   1917: ------------------------------------------------------------------
                   1918:         Bra
                   1919:         ^
                   1920:         [\x00-/:-@[-`{-\xff] (neg)
                   1921:         Ket
                   1922:         End
                   1923: ------------------------------------------------------------------
                   1924: Capturing subpattern count = 0
                   1925: Options: anchored
                   1926: No first char
                   1927: No need char
                   1928: 
                   1929: /^[[:alpha:]]/DZ
                   1930: ------------------------------------------------------------------
                   1931:         Bra
                   1932:         ^
                   1933:         [A-Za-z]
                   1934:         Ket
                   1935:         End
                   1936: ------------------------------------------------------------------
                   1937: Capturing subpattern count = 0
                   1938: Options: anchored
                   1939: No first char
                   1940: No need char
                   1941: 
                   1942: /^[[:^alpha:]]/DZ
                   1943: ------------------------------------------------------------------
                   1944:         Bra
                   1945:         ^
                   1946:         [\x00-@[-`{-\xff] (neg)
                   1947:         Ket
                   1948:         End
                   1949: ------------------------------------------------------------------
                   1950: Capturing subpattern count = 0
                   1951: Options: anchored
                   1952: No first char
                   1953: No need char
                   1954: 
                   1955: /[_[:alpha:]]/IS
                   1956: Capturing subpattern count = 0
                   1957: No options
                   1958: No first char
                   1959: No need char
                   1960: Subject length lower bound = 1
                   1961: Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
                   1962:   _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
                   1963: 
                   1964: /^[[:ascii:]]/DZ
                   1965: ------------------------------------------------------------------
                   1966:         Bra
                   1967:         ^
                   1968:         [\x00-\x7f]
                   1969:         Ket
                   1970:         End
                   1971: ------------------------------------------------------------------
                   1972: Capturing subpattern count = 0
                   1973: Options: anchored
                   1974: No first char
                   1975: No need char
                   1976: 
                   1977: /^[[:^ascii:]]/DZ
                   1978: ------------------------------------------------------------------
                   1979:         Bra
                   1980:         ^
                   1981:         [\x80-\xff] (neg)
                   1982:         Ket
                   1983:         End
                   1984: ------------------------------------------------------------------
                   1985: Capturing subpattern count = 0
                   1986: Options: anchored
                   1987: No first char
                   1988: No need char
                   1989: 
                   1990: /^[[:blank:]]/DZ
                   1991: ------------------------------------------------------------------
                   1992:         Bra
                   1993:         ^
                   1994:         [\x09 ]
                   1995:         Ket
                   1996:         End
                   1997: ------------------------------------------------------------------
                   1998: Capturing subpattern count = 0
                   1999: Options: anchored
                   2000: No first char
                   2001: No need char
                   2002: 
                   2003: /^[[:^blank:]]/DZ
                   2004: ------------------------------------------------------------------
                   2005:         Bra
                   2006:         ^
                   2007:         [\x00-\x08\x0a-\x1f!-\xff] (neg)
                   2008:         Ket
                   2009:         End
                   2010: ------------------------------------------------------------------
                   2011: Capturing subpattern count = 0
                   2012: Options: anchored
                   2013: No first char
                   2014: No need char
                   2015: 
                   2016: /[\n\x0b\x0c\x0d[:blank:]]/IS
                   2017: Capturing subpattern count = 0
                   2018: Contains explicit CR or LF match
                   2019: No options
                   2020: No first char
                   2021: No need char
                   2022: Subject length lower bound = 1
                   2023: Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 
                   2024: 
                   2025: /^[[:cntrl:]]/DZ
                   2026: ------------------------------------------------------------------
                   2027:         Bra
                   2028:         ^
                   2029:         [\x00-\x1f\x7f]
                   2030:         Ket
                   2031:         End
                   2032: ------------------------------------------------------------------
                   2033: Capturing subpattern count = 0
                   2034: Options: anchored
                   2035: No first char
                   2036: No need char
                   2037: 
                   2038: /^[[:digit:]]/DZ
                   2039: ------------------------------------------------------------------
                   2040:         Bra
                   2041:         ^
                   2042:         [0-9]
                   2043:         Ket
                   2044:         End
                   2045: ------------------------------------------------------------------
                   2046: Capturing subpattern count = 0
                   2047: Options: anchored
                   2048: No first char
                   2049: No need char
                   2050: 
                   2051: /^[[:graph:]]/DZ
                   2052: ------------------------------------------------------------------
                   2053:         Bra
                   2054:         ^
                   2055:         [!-~]
                   2056:         Ket
                   2057:         End
                   2058: ------------------------------------------------------------------
                   2059: Capturing subpattern count = 0
                   2060: Options: anchored
                   2061: No first char
                   2062: No need char
                   2063: 
                   2064: /^[[:lower:]]/DZ
                   2065: ------------------------------------------------------------------
                   2066:         Bra
                   2067:         ^
                   2068:         [a-z]
                   2069:         Ket
                   2070:         End
                   2071: ------------------------------------------------------------------
                   2072: Capturing subpattern count = 0
                   2073: Options: anchored
                   2074: No first char
                   2075: No need char
                   2076: 
                   2077: /^[[:print:]]/DZ
                   2078: ------------------------------------------------------------------
                   2079:         Bra
                   2080:         ^
                   2081:         [ -~]
                   2082:         Ket
                   2083:         End
                   2084: ------------------------------------------------------------------
                   2085: Capturing subpattern count = 0
                   2086: Options: anchored
                   2087: No first char
                   2088: No need char
                   2089: 
                   2090: /^[[:punct:]]/DZ
                   2091: ------------------------------------------------------------------
                   2092:         Bra
                   2093:         ^
                   2094:         [!-/:-@[-`{-~]
                   2095:         Ket
                   2096:         End
                   2097: ------------------------------------------------------------------
                   2098: Capturing subpattern count = 0
                   2099: Options: anchored
                   2100: No first char
                   2101: No need char
                   2102: 
                   2103: /^[[:space:]]/DZ
                   2104: ------------------------------------------------------------------
                   2105:         Bra
                   2106:         ^
                   2107:         [\x09-\x0d ]
                   2108:         Ket
                   2109:         End
                   2110: ------------------------------------------------------------------
                   2111: Capturing subpattern count = 0
                   2112: Options: anchored
                   2113: No first char
                   2114: No need char
                   2115: 
                   2116: /^[[:upper:]]/DZ
                   2117: ------------------------------------------------------------------
                   2118:         Bra
                   2119:         ^
                   2120:         [A-Z]
                   2121:         Ket
                   2122:         End
                   2123: ------------------------------------------------------------------
                   2124: Capturing subpattern count = 0
                   2125: Options: anchored
                   2126: No first char
                   2127: No need char
                   2128: 
                   2129: /^[[:xdigit:]]/DZ
                   2130: ------------------------------------------------------------------
                   2131:         Bra
                   2132:         ^
                   2133:         [0-9A-Fa-f]
                   2134:         Ket
                   2135:         End
                   2136: ------------------------------------------------------------------
                   2137: Capturing subpattern count = 0
                   2138: Options: anchored
                   2139: No first char
                   2140: No need char
                   2141: 
                   2142: /^[[:word:]]/DZ
                   2143: ------------------------------------------------------------------
                   2144:         Bra
                   2145:         ^
                   2146:         [0-9A-Z_a-z]
                   2147:         Ket
                   2148:         End
                   2149: ------------------------------------------------------------------
                   2150: Capturing subpattern count = 0
                   2151: Options: anchored
                   2152: No first char
                   2153: No need char
                   2154: 
                   2155: /^[[:^cntrl:]]/DZ
                   2156: ------------------------------------------------------------------
                   2157:         Bra
                   2158:         ^
                   2159:         [ -~\x80-\xff] (neg)
                   2160:         Ket
                   2161:         End
                   2162: ------------------------------------------------------------------
                   2163: Capturing subpattern count = 0
                   2164: Options: anchored
                   2165: No first char
                   2166: No need char
                   2167: 
                   2168: /^[12[:^digit:]]/DZ
                   2169: ------------------------------------------------------------------
                   2170:         Bra
                   2171:         ^
                   2172:         [\x00-/12:-\xff] (neg)
                   2173:         Ket
                   2174:         End
                   2175: ------------------------------------------------------------------
                   2176: Capturing subpattern count = 0
                   2177: Options: anchored
                   2178: No first char
                   2179: No need char
                   2180: 
                   2181: /^[[:^blank:]]/DZ
                   2182: ------------------------------------------------------------------
                   2183:         Bra
                   2184:         ^
                   2185:         [\x00-\x08\x0a-\x1f!-\xff] (neg)
                   2186:         Ket
                   2187:         End
                   2188: ------------------------------------------------------------------
                   2189: Capturing subpattern count = 0
                   2190: Options: anchored
                   2191: No first char
                   2192: No need char
                   2193: 
                   2194: /[01[:alpha:]%]/DZ
                   2195: ------------------------------------------------------------------
                   2196:         Bra
                   2197:         [%01A-Za-z]
                   2198:         Ket
                   2199:         End
                   2200: ------------------------------------------------------------------
                   2201: Capturing subpattern count = 0
                   2202: No options
                   2203: No first char
                   2204: No need char
                   2205: 
                   2206: /[[.ch.]]/I
                   2207: Failed: POSIX collating elements are not supported at offset 1
                   2208: 
                   2209: /[[=ch=]]/I
                   2210: Failed: POSIX collating elements are not supported at offset 1
                   2211: 
                   2212: /[[:rhubarb:]]/I
                   2213: Failed: unknown POSIX class name at offset 3
                   2214: 
                   2215: /[[:upper:]]/Ii
                   2216: Capturing subpattern count = 0
                   2217: Options: caseless
                   2218: No first char
                   2219: No need char
                   2220:     A
                   2221:  0: A
                   2222:     a
                   2223:  0: a
                   2224: 
                   2225: /[[:lower:]]/Ii
                   2226: Capturing subpattern count = 0
                   2227: Options: caseless
                   2228: No first char
                   2229: No need char
                   2230:     A
                   2231:  0: A
                   2232:     a
                   2233:  0: a
                   2234: 
                   2235: /((?-i)[[:lower:]])[[:lower:]]/Ii
                   2236: Capturing subpattern count = 1
                   2237: Options: caseless
                   2238: No first char
                   2239: No need char
                   2240:     ab
                   2241:  0: ab
                   2242:  1: a
                   2243:     aB
                   2244:  0: aB
                   2245:  1: a
                   2246:     *** Failers
                   2247:  0: ai
                   2248:  1: a
                   2249:     Ab
                   2250: No match
                   2251:     AB
                   2252: No match
                   2253: 
                   2254: /[\200-\110]/I
                   2255: Failed: range out of order in character class at offset 9
                   2256: 
                   2257: /^(?(0)f|b)oo/I
                   2258: Failed: invalid condition (?(0) at offset 6
                   2259: 
                   2260: /This one's here because of the large output vector needed/I
                   2261: Capturing subpattern count = 0
                   2262: No options
                   2263: First char = 'T'
                   2264: Need char = 'd'
                   2265: 
                   2266: /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
                   2267: Capturing subpattern count = 271
                   2268: Max back reference = 270
                   2269: No options
                   2270: No first char
                   2271: No need char
                   2272:     \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
                   2273:  0: 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
                   2274:  1: 1 
                   2275:  2: 2 
                   2276:  3: 3 
                   2277:  4: 4 
                   2278:  5: 5 
                   2279:  6: 6 
                   2280:  7: 7 
                   2281:  8: 8 
                   2282:  9: 9 
                   2283: 10: 10 
                   2284: 11: 11 
                   2285: 12: 12 
                   2286: 13: 13 
                   2287: 14: 14 
                   2288: 15: 15 
                   2289: 16: 16 
                   2290: 17: 17 
                   2291: 18: 18 
                   2292: 19: 19 
                   2293: 20: 20 
                   2294: 21: 21 
                   2295: 22: 22 
                   2296: 23: 23 
                   2297: 24: 24 
                   2298: 25: 25 
                   2299: 26: 26 
                   2300: 27: 27 
                   2301: 28: 28 
                   2302: 29: 29 
                   2303: 30: 30 
                   2304: 31: 31 
                   2305: 32: 32 
                   2306: 33: 33 
                   2307: 34: 34 
                   2308: 35: 35 
                   2309: 36: 36 
                   2310: 37: 37 
                   2311: 38: 38 
                   2312: 39: 39 
                   2313: 40: 40 
                   2314: 41: 41 
                   2315: 42: 42 
                   2316: 43: 43 
                   2317: 44: 44 
                   2318: 45: 45 
                   2319: 46: 46 
                   2320: 47: 47 
                   2321: 48: 48 
                   2322: 49: 49 
                   2323: 50: 50 
                   2324: 51: 51 
                   2325: 52: 52 
                   2326: 53: 53 
                   2327: 54: 54 
                   2328: 55: 55 
                   2329: 56: 56 
                   2330: 57: 57 
                   2331: 58: 58 
                   2332: 59: 59 
                   2333: 60: 60 
                   2334: 61: 61 
                   2335: 62: 62 
                   2336: 63: 63 
                   2337: 64: 64 
                   2338: 65: 65 
                   2339: 66: 66 
                   2340: 67: 67 
                   2341: 68: 68 
                   2342: 69: 69 
                   2343: 70: 70 
                   2344: 71: 71 
                   2345: 72: 72 
                   2346: 73: 73 
                   2347: 74: 74 
                   2348: 75: 75 
                   2349: 76: 76 
                   2350: 77: 77 
                   2351: 78: 78 
                   2352: 79: 79 
                   2353: 80: 80 
                   2354: 81: 81 
                   2355: 82: 82 
                   2356: 83: 83 
                   2357: 84: 84 
                   2358: 85: 85 
                   2359: 86: 86 
                   2360: 87: 87 
                   2361: 88: 88 
                   2362: 89: 89 
                   2363: 90: 90 
                   2364: 91: 91 
                   2365: 92: 92 
                   2366: 93: 93 
                   2367: 94: 94 
                   2368: 95: 95 
                   2369: 96: 96 
                   2370: 97: 97 
                   2371: 98: 98 
                   2372: 99: 99 
                   2373: 100: 100 
                   2374: 101: 101 
                   2375: 102: 102 
                   2376: 103: 103 
                   2377: 104: 104 
                   2378: 105: 105 
                   2379: 106: 106 
                   2380: 107: 107 
                   2381: 108: 108 
                   2382: 109: 109 
                   2383: 110: 110 
                   2384: 111: 111 
                   2385: 112: 112 
                   2386: 113: 113 
                   2387: 114: 114 
                   2388: 115: 115 
                   2389: 116: 116 
                   2390: 117: 117 
                   2391: 118: 118 
                   2392: 119: 119 
                   2393: 120: 120 
                   2394: 121: 121 
                   2395: 122: 122 
                   2396: 123: 123 
                   2397: 124: 124 
                   2398: 125: 125 
                   2399: 126: 126 
                   2400: 127: 127 
                   2401: 128: 128 
                   2402: 129: 129 
                   2403: 130: 130 
                   2404: 131: 131 
                   2405: 132: 132 
                   2406: 133: 133 
                   2407: 134: 134 
                   2408: 135: 135 
                   2409: 136: 136 
                   2410: 137: 137 
                   2411: 138: 138 
                   2412: 139: 139 
                   2413: 140: 140 
                   2414: 141: 141 
                   2415: 142: 142 
                   2416: 143: 143 
                   2417: 144: 144 
                   2418: 145: 145 
                   2419: 146: 146 
                   2420: 147: 147 
                   2421: 148: 148 
                   2422: 149: 149 
                   2423: 150: 150 
                   2424: 151: 151 
                   2425: 152: 152 
                   2426: 153: 153 
                   2427: 154: 154 
                   2428: 155: 155 
                   2429: 156: 156 
                   2430: 157: 157 
                   2431: 158: 158 
                   2432: 159: 159 
                   2433: 160: 160 
                   2434: 161: 161 
                   2435: 162: 162 
                   2436: 163: 163 
                   2437: 164: 164 
                   2438: 165: 165 
                   2439: 166: 166 
                   2440: 167: 167 
                   2441: 168: 168 
                   2442: 169: 169 
                   2443: 170: 170 
                   2444: 171: 171 
                   2445: 172: 172 
                   2446: 173: 173 
                   2447: 174: 174 
                   2448: 175: 175 
                   2449: 176: 176 
                   2450: 177: 177 
                   2451: 178: 178 
                   2452: 179: 179 
                   2453: 180: 180 
                   2454: 181: 181 
                   2455: 182: 182 
                   2456: 183: 183 
                   2457: 184: 184 
                   2458: 185: 185 
                   2459: 186: 186 
                   2460: 187: 187 
                   2461: 188: 188 
                   2462: 189: 189 
                   2463: 190: 190 
                   2464: 191: 191 
                   2465: 192: 192 
                   2466: 193: 193 
                   2467: 194: 194 
                   2468: 195: 195 
                   2469: 196: 196 
                   2470: 197: 197 
                   2471: 198: 198 
                   2472: 199: 199 
                   2473: 200: 200 
                   2474: 201: 201 
                   2475: 202: 202 
                   2476: 203: 203 
                   2477: 204: 204 
                   2478: 205: 205 
                   2479: 206: 206 
                   2480: 207: 207 
                   2481: 208: 208 
                   2482: 209: 209 
                   2483: 210: 210 
                   2484: 211: 211 
                   2485: 212: 212 
                   2486: 213: 213 
                   2487: 214: 214 
                   2488: 215: 215 
                   2489: 216: 216 
                   2490: 217: 217 
                   2491: 218: 218 
                   2492: 219: 219 
                   2493: 220: 220 
                   2494: 221: 221 
                   2495: 222: 222 
                   2496: 223: 223 
                   2497: 224: 224 
                   2498: 225: 225 
                   2499: 226: 226 
                   2500: 227: 227 
                   2501: 228: 228 
                   2502: 229: 229 
                   2503: 230: 230 
                   2504: 231: 231 
                   2505: 232: 232 
                   2506: 233: 233 
                   2507: 234: 234 
                   2508: 235: 235 
                   2509: 236: 236 
                   2510: 237: 237 
                   2511: 238: 238 
                   2512: 239: 239 
                   2513: 240: 240 
                   2514: 241: 241 
                   2515: 242: 242 
                   2516: 243: 243 
                   2517: 244: 244 
                   2518: 245: 245 
                   2519: 246: 246 
                   2520: 247: 247 
                   2521: 248: 248 
                   2522: 249: 249 
                   2523: 250: 250 
                   2524: 251: 251 
                   2525: 252: 252 
                   2526: 253: 253 
                   2527: 254: 254 
                   2528: 255: 255 
                   2529: 256: 256 
                   2530: 257: 257 
                   2531: 258: 258 
                   2532: 259: 259 
                   2533: 260: 260 
                   2534: 261: 261 
                   2535: 262: 262 
                   2536: 263: 263 
                   2537: 264: 264 
                   2538: 265: 265 
                   2539: 266: 266 
                   2540: 267: 267 
                   2541: 268: 268 
                   2542: 269: 269 
                   2543: 270: ABC
                   2544: 271: ABC
                   2545: 
                   2546: /This one's here because Perl does this differently and PCRE can't at present/I
                   2547: Capturing subpattern count = 0
                   2548: No options
                   2549: First char = 'T'
                   2550: Need char = 't'
                   2551: 
                   2552: /(main(O)?)+/I
                   2553: Capturing subpattern count = 2
                   2554: No options
                   2555: First char = 'm'
                   2556: Need char = 'n'
                   2557:     mainmain
                   2558:  0: mainmain
                   2559:  1: main
                   2560:     mainOmain
                   2561:  0: mainOmain
                   2562:  1: main
                   2563:  2: O
                   2564: 
                   2565: /These are all cases where Perl does it differently (nested captures)/I
                   2566: Capturing subpattern count = 1
                   2567: No options
                   2568: First char = 'T'
                   2569: Need char = 's'
                   2570: 
                   2571: /^(a(b)?)+$/I
                   2572: Capturing subpattern count = 2
                   2573: Options: anchored
                   2574: No first char
                   2575: No need char
                   2576:     aba
                   2577:  0: aba
                   2578:  1: a
                   2579:  2: b
                   2580: 
                   2581: /^(aa(bb)?)+$/I
                   2582: Capturing subpattern count = 2
                   2583: Options: anchored
                   2584: No first char
                   2585: No need char
                   2586:     aabbaa
                   2587:  0: aabbaa
                   2588:  1: aa
                   2589:  2: bb
                   2590: 
                   2591: /^(aa|aa(bb))+$/I
                   2592: Capturing subpattern count = 2
                   2593: Options: anchored
                   2594: No first char
                   2595: No need char
                   2596:     aabbaa
                   2597:  0: aabbaa
                   2598:  1: aa
                   2599:  2: bb
                   2600: 
                   2601: /^(aa(bb)??)+$/I
                   2602: Capturing subpattern count = 2
                   2603: Options: anchored
                   2604: No first char
                   2605: No need char
                   2606:     aabbaa
                   2607:  0: aabbaa
                   2608:  1: aa
                   2609:  2: bb
                   2610: 
                   2611: /^(?:aa(bb)?)+$/I
                   2612: Capturing subpattern count = 1
                   2613: Options: anchored
                   2614: No first char
                   2615: No need char
                   2616:     aabbaa
                   2617:  0: aabbaa
                   2618:  1: bb
                   2619: 
                   2620: /^(aa(b(b))?)+$/I
                   2621: Capturing subpattern count = 3
                   2622: Options: anchored
                   2623: No first char
                   2624: No need char
                   2625:     aabbaa
                   2626:  0: aabbaa
                   2627:  1: aa
                   2628:  2: bb
                   2629:  3: b
                   2630: 
                   2631: /^(?:aa(b(b))?)+$/I
                   2632: Capturing subpattern count = 2
                   2633: Options: anchored
                   2634: No first char
                   2635: No need char
                   2636:     aabbaa
                   2637:  0: aabbaa
                   2638:  1: bb
                   2639:  2: b
                   2640: 
                   2641: /^(?:aa(b(?:b))?)+$/I
                   2642: Capturing subpattern count = 1
                   2643: Options: anchored
                   2644: No first char
                   2645: No need char
                   2646:     aabbaa
                   2647:  0: aabbaa
                   2648:  1: bb
                   2649: 
                   2650: /^(?:aa(bb(?:b))?)+$/I
                   2651: Capturing subpattern count = 1
                   2652: Options: anchored
                   2653: No first char
                   2654: No need char
                   2655:     aabbbaa
                   2656:  0: aabbbaa
                   2657:  1: bbb
                   2658: 
                   2659: /^(?:aa(b(?:bb))?)+$/I
                   2660: Capturing subpattern count = 1
                   2661: Options: anchored
                   2662: No first char
                   2663: No need char
                   2664:     aabbbaa
                   2665:  0: aabbbaa
                   2666:  1: bbb
                   2667: 
                   2668: /^(?:aa(?:b(b))?)+$/I
                   2669: Capturing subpattern count = 1
                   2670: Options: anchored
                   2671: No first char
                   2672: No need char
                   2673:     aabbaa
                   2674:  0: aabbaa
                   2675:  1: b
                   2676: 
                   2677: /^(?:aa(?:b(bb))?)+$/I
                   2678: Capturing subpattern count = 1
                   2679: Options: anchored
                   2680: No first char
                   2681: No need char
                   2682:     aabbbaa
                   2683:  0: aabbbaa
                   2684:  1: bb
                   2685: 
                   2686: /^(aa(b(bb))?)+$/I
                   2687: Capturing subpattern count = 3
                   2688: Options: anchored
                   2689: No first char
                   2690: No need char
                   2691:     aabbbaa
                   2692:  0: aabbbaa
                   2693:  1: aa
                   2694:  2: bbb
                   2695:  3: bb
                   2696: 
                   2697: /^(aa(bb(bb))?)+$/I
                   2698: Capturing subpattern count = 3
                   2699: Options: anchored
                   2700: No first char
                   2701: No need char
                   2702:     aabbbbaa
                   2703:  0: aabbbbaa
                   2704:  1: aa
                   2705:  2: bbbb
                   2706:  3: bb
                   2707: 
                   2708: /--------------------------------------------------------------------/I
                   2709: Capturing subpattern count = 0
                   2710: No options
                   2711: First char = '-'
                   2712: Need char = '-'
                   2713: 
                   2714: /#/IxDZ
                   2715: ------------------------------------------------------------------
                   2716:         Bra
                   2717:         Ket
                   2718:         End
                   2719: ------------------------------------------------------------------
                   2720: Capturing subpattern count = 0
                   2721: Options: extended
                   2722: No first char
                   2723: No need char
                   2724: 
                   2725: /a#/IxDZ
                   2726: ------------------------------------------------------------------
                   2727:         Bra
                   2728:         a
                   2729:         Ket
                   2730:         End
                   2731: ------------------------------------------------------------------
                   2732: Capturing subpattern count = 0
                   2733: Options: extended
                   2734: First char = 'a'
                   2735: No need char
                   2736: 
                   2737: /[\s]/DZ
                   2738: ------------------------------------------------------------------
                   2739:         Bra
                   2740:         [\x09\x0a\x0c\x0d ]
                   2741:         Ket
                   2742:         End
                   2743: ------------------------------------------------------------------
                   2744: Capturing subpattern count = 0
                   2745: No options
                   2746: No first char
                   2747: No need char
                   2748: 
                   2749: /[\S]/DZ
                   2750: ------------------------------------------------------------------
                   2751:         Bra
                   2752:         [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
                   2753:         Ket
                   2754:         End
                   2755: ------------------------------------------------------------------
                   2756: Capturing subpattern count = 0
                   2757: No options
                   2758: No first char
                   2759: No need char
                   2760: 
                   2761: /a(?i)b/DZ
                   2762: ------------------------------------------------------------------
                   2763:         Bra
                   2764:         a
                   2765:      /i b
                   2766:         Ket
                   2767:         End
                   2768: ------------------------------------------------------------------
                   2769: Capturing subpattern count = 0
                   2770: No options
                   2771: First char = 'a'
                   2772: Need char = 'b' (caseless)
                   2773:     ab
                   2774:  0: ab
                   2775:     aB
                   2776:  0: aB
                   2777:     *** Failers
                   2778: No match
                   2779:     AB
                   2780: No match
                   2781: 
                   2782: /(a(?i)b)/DZ
                   2783: ------------------------------------------------------------------
                   2784:         Bra
                   2785:         CBra 1
                   2786:         a
                   2787:      /i b
                   2788:         Ket
                   2789:         Ket
                   2790:         End
                   2791: ------------------------------------------------------------------
                   2792: Capturing subpattern count = 1
                   2793: No options
                   2794: First char = 'a'
                   2795: Need char = 'b' (caseless)
                   2796:     ab
                   2797:  0: ab
                   2798:  1: ab
                   2799:     aB
                   2800:  0: aB
                   2801:  1: aB
                   2802:     *** Failers
                   2803: No match
                   2804:     AB
                   2805: No match
                   2806: 
                   2807: /   (?i)abc/IxDZ
                   2808: ------------------------------------------------------------------
                   2809:         Bra
                   2810:      /i abc
                   2811:         Ket
                   2812:         End
                   2813: ------------------------------------------------------------------
                   2814: Capturing subpattern count = 0
                   2815: Options: caseless extended
                   2816: First char = 'a' (caseless)
                   2817: Need char = 'c' (caseless)
                   2818: 
                   2819: /#this is a comment
                   2820:   (?i)abc/IxDZ
                   2821: ------------------------------------------------------------------
                   2822:         Bra
                   2823:      /i abc
                   2824:         Ket
                   2825:         End
                   2826: ------------------------------------------------------------------
                   2827: Capturing subpattern count = 0
                   2828: Options: caseless extended
                   2829: First char = 'a' (caseless)
                   2830: Need char = 'c' (caseless)
                   2831: 
                   2832: /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
                   2833: ------------------------------------------------------------------
                   2834:         Bra
                   2835:         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
                   2836:         Ket
                   2837:         End
                   2838: ------------------------------------------------------------------
                   2839: Capturing subpattern count = 0
                   2840: No options
                   2841: First char = '1'
                   2842: Need char = '0'
                   2843: 
                   2844: /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
                   2845: ------------------------------------------------------------------
                   2846:         Bra
                   2847:         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
                   2848:         Ket
                   2849:         End
                   2850: ------------------------------------------------------------------
                   2851: Capturing subpattern count = 0
                   2852: No options
                   2853: First char = '1'
                   2854: Need char = '0'
                   2855: 
                   2856: /\Q\E/DZ
                   2857: ------------------------------------------------------------------
                   2858:         Bra
                   2859:         Ket
                   2860:         End
                   2861: ------------------------------------------------------------------
                   2862: Capturing subpattern count = 0
                   2863: No options
                   2864: No first char
                   2865: No need char
                   2866:     \
                   2867:  0: 
                   2868: 
                   2869: /\Q\Ex/DZ
                   2870: ------------------------------------------------------------------
                   2871:         Bra
                   2872:         x
                   2873:         Ket
                   2874:         End
                   2875: ------------------------------------------------------------------
                   2876: Capturing subpattern count = 0
                   2877: No options
                   2878: First char = 'x'
                   2879: No need char
                   2880: 
                   2881: / \Q\E/DZ
                   2882: ------------------------------------------------------------------
                   2883:         Bra
                   2884:          
                   2885:         Ket
                   2886:         End
                   2887: ------------------------------------------------------------------
                   2888: Capturing subpattern count = 0
                   2889: No options
                   2890: First char = ' '
                   2891: No need char
                   2892: 
                   2893: /a\Q\E/DZ
                   2894: ------------------------------------------------------------------
                   2895:         Bra
                   2896:         a
                   2897:         Ket
                   2898:         End
                   2899: ------------------------------------------------------------------
                   2900: Capturing subpattern count = 0
                   2901: No options
                   2902: First char = 'a'
                   2903: No need char
                   2904:   abc
                   2905:  0: a
                   2906:   bca
                   2907:  0: a
                   2908:   bac
                   2909:  0: a
                   2910: 
                   2911: /a\Q\Eb/DZ
                   2912: ------------------------------------------------------------------
                   2913:         Bra
                   2914:         ab
                   2915:         Ket
                   2916:         End
                   2917: ------------------------------------------------------------------
                   2918: Capturing subpattern count = 0
                   2919: No options
                   2920: First char = 'a'
                   2921: Need char = 'b'
                   2922:   abc
                   2923:  0: ab
                   2924: 
                   2925: /\Q\Eabc/DZ
                   2926: ------------------------------------------------------------------
                   2927:         Bra
                   2928:         abc
                   2929:         Ket
                   2930:         End
                   2931: ------------------------------------------------------------------
                   2932: Capturing subpattern count = 0
                   2933: No options
                   2934: First char = 'a'
                   2935: Need char = 'c'
                   2936: 
                   2937: /x*+\w/DZ
                   2938: ------------------------------------------------------------------
                   2939:         Bra
                   2940:         x*+
                   2941:         \w
                   2942:         Ket
                   2943:         End
                   2944: ------------------------------------------------------------------
                   2945: Capturing subpattern count = 0
                   2946: No options
                   2947: No first char
                   2948: No need char
                   2949:     *** Failers
                   2950:  0: F
                   2951:     xxxxx
                   2952: No match
                   2953: 
                   2954: /x?+/DZ
                   2955: ------------------------------------------------------------------
                   2956:         Bra
                   2957:         x?+
                   2958:         Ket
                   2959:         End
                   2960: ------------------------------------------------------------------
                   2961: Capturing subpattern count = 0
                   2962: No options
                   2963: No first char
                   2964: No need char
                   2965: 
                   2966: /x++/DZ
                   2967: ------------------------------------------------------------------
                   2968:         Bra
                   2969:         x++
                   2970:         Ket
                   2971:         End
                   2972: ------------------------------------------------------------------
                   2973: Capturing subpattern count = 0
                   2974: No options
                   2975: First char = 'x'
                   2976: No need char
                   2977: 
                   2978: /x{1,3}+/DZ
                   2979: ------------------------------------------------------------------
                   2980:         Bra
                   2981:         Once
                   2982:         x
                   2983:         x{0,2}
                   2984:         Ket
                   2985:         Ket
                   2986:         End
                   2987: ------------------------------------------------------------------
                   2988: Capturing subpattern count = 0
                   2989: No options
                   2990: First char = 'x'
                   2991: No need char
                   2992: 
                   2993: /(x)*+/DZ
                   2994: ------------------------------------------------------------------
                   2995:         Bra
                   2996:         Braposzero
                   2997:         CBraPos 1
                   2998:         x
                   2999:         KetRpos
                   3000:         Ket
                   3001:         End
                   3002: ------------------------------------------------------------------
                   3003: Capturing subpattern count = 1
                   3004: No options
                   3005: No first char
                   3006: No need char
                   3007: 
                   3008: /^(\w++|\s++)*$/I
                   3009: Capturing subpattern count = 1
                   3010: Options: anchored
                   3011: No first char
                   3012: No need char
                   3013:     now is the time for all good men to come to the aid of the party
                   3014:  0: now is the time for all good men to come to the aid of the party
                   3015:  1: party
                   3016:     *** Failers
                   3017: No match
                   3018:     this is not a line with only words and spaces!
                   3019: No match
                   3020: 
                   3021: /(\d++)(\w)/I
                   3022: Capturing subpattern count = 2
                   3023: No options
                   3024: No first char
                   3025: No need char
                   3026:     12345a
                   3027:  0: 12345a
                   3028:  1: 12345
                   3029:  2: a
                   3030:     *** Failers
                   3031: No match
                   3032:     12345+
                   3033: No match
                   3034: 
                   3035: /a++b/I
                   3036: Capturing subpattern count = 0
                   3037: No options
                   3038: First char = 'a'
                   3039: Need char = 'b'
                   3040:     aaab
                   3041:  0: aaab
                   3042: 
                   3043: /(a++b)/I
                   3044: Capturing subpattern count = 1
                   3045: No options
                   3046: First char = 'a'
                   3047: Need char = 'b'
                   3048:     aaab
                   3049:  0: aaab
                   3050:  1: aaab
                   3051: 
                   3052: /(a++)b/I
                   3053: Capturing subpattern count = 1
                   3054: No options
                   3055: First char = 'a'
                   3056: Need char = 'b'
                   3057:     aaab
                   3058:  0: aaab
                   3059:  1: aaa
                   3060: 
                   3061: /([^()]++|\([^()]*\))+/I
                   3062: Capturing subpattern count = 1
                   3063: No options
                   3064: No first char
                   3065: No need char
                   3066:     ((abc(ade)ufh()()x
                   3067:  0: abc(ade)ufh()()x
                   3068:  1: x
                   3069: 
                   3070: /\(([^()]++|\([^()]+\))+\)/I
                   3071: Capturing subpattern count = 1
                   3072: No options
                   3073: First char = '('
                   3074: Need char = ')'
                   3075:     (abc)
                   3076:  0: (abc)
                   3077:  1: abc
                   3078:     (abc(def)xyz)
                   3079:  0: (abc(def)xyz)
                   3080:  1: xyz
                   3081:     *** Failers
                   3082: No match
                   3083:     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   3084: No match
                   3085: 
                   3086: /(abc){1,3}+/DZ
                   3087: ------------------------------------------------------------------
                   3088:         Bra
                   3089:         Once
                   3090:         CBra 1
                   3091:         abc
                   3092:         Ket
                   3093:         Brazero
                   3094:         Bra
                   3095:         CBra 1
                   3096:         abc
                   3097:         Ket
                   3098:         Brazero
                   3099:         CBra 1
                   3100:         abc
                   3101:         Ket
                   3102:         Ket
                   3103:         Ket
                   3104:         Ket
                   3105:         End
                   3106: ------------------------------------------------------------------
                   3107: Capturing subpattern count = 1
                   3108: No options
                   3109: First char = 'a'
                   3110: Need char = 'c'
                   3111: 
                   3112: /a+?+/I
                   3113: Failed: nothing to repeat at offset 3
                   3114: 
                   3115: /a{2,3}?+b/I
                   3116: Failed: nothing to repeat at offset 7
                   3117: 
                   3118: /(?U)a+?+/I
                   3119: Failed: nothing to repeat at offset 7
                   3120: 
                   3121: /a{2,3}?+b/IU
                   3122: Failed: nothing to repeat at offset 7
                   3123: 
                   3124: /x(?U)a++b/DZ
                   3125: ------------------------------------------------------------------
                   3126:         Bra
                   3127:         x
                   3128:         a++
                   3129:         b
                   3130:         Ket
                   3131:         End
                   3132: ------------------------------------------------------------------
                   3133: Capturing subpattern count = 0
                   3134: No options
                   3135: First char = 'x'
                   3136: Need char = 'b'
                   3137:     xaaaab
                   3138:  0: xaaaab
                   3139: 
                   3140: /(?U)xa++b/DZ
                   3141: ------------------------------------------------------------------
                   3142:         Bra
                   3143:         x
                   3144:         a++
                   3145:         b
                   3146:         Ket
                   3147:         End
                   3148: ------------------------------------------------------------------
                   3149: Capturing subpattern count = 0
                   3150: Options: ungreedy
                   3151: First char = 'x'
                   3152: Need char = 'b'
                   3153:     xaaaab
                   3154:  0: xaaaab
                   3155: 
                   3156: /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
                   3157: ------------------------------------------------------------------
                   3158:         Bra
                   3159:         ^
                   3160:         CBra 1
                   3161:         CBra 2
                   3162:         a+
                   3163:         Ket
                   3164:         CBra 3
                   3165:         [ab]+?
                   3166:         Ket
                   3167:         CBra 4
                   3168:         [bc]+
                   3169:         Ket
                   3170:         CBra 5
                   3171:         \w*
                   3172:         Ket
                   3173:         Ket
                   3174:         Ket
                   3175:         End
                   3176: ------------------------------------------------------------------
                   3177: Capturing subpattern count = 5
                   3178: Options: anchored
                   3179: No first char
                   3180: No need char
                   3181: 
                   3182: /^x(?U)a+b/DZ
                   3183: ------------------------------------------------------------------
                   3184:         Bra
                   3185:         ^
                   3186:         x
                   3187:         a++
                   3188:         b
                   3189:         Ket
                   3190:         End
                   3191: ------------------------------------------------------------------
                   3192: Capturing subpattern count = 0
                   3193: Options: anchored
                   3194: No first char
                   3195: Need char = 'b'
                   3196: 
                   3197: /^x(?U)(a+)b/DZ
                   3198: ------------------------------------------------------------------
                   3199:         Bra
                   3200:         ^
                   3201:         x
                   3202:         CBra 1
                   3203:         a+?
                   3204:         Ket
                   3205:         b
                   3206:         Ket
                   3207:         End
                   3208: ------------------------------------------------------------------
                   3209: Capturing subpattern count = 1
                   3210: Options: anchored
                   3211: No first char
                   3212: Need char = 'b'
                   3213: 
                   3214: /[.x.]/I
                   3215: Failed: POSIX collating elements are not supported at offset 0
                   3216: 
                   3217: /[=x=]/I
                   3218: Failed: POSIX collating elements are not supported at offset 0
                   3219: 
                   3220: /[:x:]/I
                   3221: Failed: POSIX named classes are supported only within a class at offset 0
                   3222: 
                   3223: /\l/I
                   3224: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3225: 
                   3226: /\L/I
                   3227: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3228: 
                   3229: /\N{name}/I
                   3230: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3231: 
                   3232: /\u/I
                   3233: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3234: 
                   3235: /\U/I
                   3236: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3237: 
                   3238: /[/I
                   3239: Failed: missing terminating ] for character class at offset 1
                   3240: 
                   3241: /[a-/I
                   3242: Failed: missing terminating ] for character class at offset 3
                   3243: 
                   3244: /[[:space:]/I
                   3245: Failed: missing terminating ] for character class at offset 10
                   3246: 
                   3247: /[\s]/IDZ
                   3248: ------------------------------------------------------------------
                   3249:         Bra
                   3250:         [\x09\x0a\x0c\x0d ]
                   3251:         Ket
                   3252:         End
                   3253: ------------------------------------------------------------------
                   3254: Capturing subpattern count = 0
                   3255: No options
                   3256: No first char
                   3257: No need char
                   3258: 
                   3259: /[[:space:]]/IDZ
                   3260: ------------------------------------------------------------------
                   3261:         Bra
                   3262:         [\x09-\x0d ]
                   3263:         Ket
                   3264:         End
                   3265: ------------------------------------------------------------------
                   3266: Capturing subpattern count = 0
                   3267: No options
                   3268: No first char
                   3269: No need char
                   3270: 
                   3271: /[[:space:]abcde]/IDZ
                   3272: ------------------------------------------------------------------
                   3273:         Bra
                   3274:         [\x09-\x0d a-e]
                   3275:         Ket
                   3276:         End
                   3277: ------------------------------------------------------------------
                   3278: Capturing subpattern count = 0
                   3279: No options
                   3280: No first char
                   3281: No need char
                   3282: 
                   3283: /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
                   3284: Capturing subpattern count = 0
                   3285: Options: extended
                   3286: First char = '<'
                   3287: Need char = '>'
                   3288:     <>
                   3289:  0: <>
                   3290:     <abcd>
                   3291:  0: <abcd>
                   3292:     <abc <123> hij>
                   3293:  0: <abc <123> hij>
                   3294:     <abc <def> hij>
                   3295:  0: <def>
                   3296:     <abc<>def>
                   3297:  0: <abc<>def>
                   3298:     <abc<>
                   3299:  0: <>
                   3300:     *** Failers
                   3301: No match
                   3302:     <abc
                   3303: No match
                   3304: 
                   3305: |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
                   3306: ------------------------------------------------------------------
                   3307:         Bra
                   3308:         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
                   3309:         \b
                   3310:         Ket
                   3311:         End
                   3312: ------------------------------------------------------------------
                   3313: Capturing subpattern count = 0
                   3314: No options
                   3315: First char = '8'
                   3316: Need char = 'X'
                   3317: 
                   3318: |\$\<\.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
                   3319: ------------------------------------------------------------------
                   3320:         Bra
                   3321:         $<.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
                   3322:         \b
                   3323:         Ket
                   3324:         End
                   3325: ------------------------------------------------------------------
                   3326: Capturing subpattern count = 0
                   3327: No options
                   3328: First char = '$'
                   3329: Need char = 'X'
                   3330: 
                   3331: /(.*)\d+\1/I
                   3332: Capturing subpattern count = 1
                   3333: Max back reference = 1
                   3334: No options
                   3335: No first char
                   3336: No need char
                   3337: 
                   3338: /(.*)\d+/I
                   3339: Capturing subpattern count = 1
                   3340: No options
                   3341: First char at start or follows newline
                   3342: No need char
                   3343: 
                   3344: /(.*)\d+\1/Is
                   3345: Capturing subpattern count = 1
                   3346: Max back reference = 1
                   3347: Options: dotall
                   3348: No first char
                   3349: No need char
                   3350: 
                   3351: /(.*)\d+/Is
                   3352: Capturing subpattern count = 1
                   3353: Options: anchored dotall
                   3354: No first char
                   3355: No need char
                   3356: 
                   3357: /(.*(xyz))\d+\2/I
                   3358: Capturing subpattern count = 2
                   3359: Max back reference = 2
                   3360: No options
                   3361: First char at start or follows newline
                   3362: Need char = 'z'
                   3363: 
                   3364: /((.*))\d+\1/I
                   3365: Capturing subpattern count = 2
                   3366: Max back reference = 1
                   3367: No options
                   3368: No first char
                   3369: No need char
                   3370:     abc123bc
                   3371:  0: bc123bc
                   3372:  1: bc
                   3373:  2: bc
                   3374: 
                   3375: /a[b]/I
                   3376: Capturing subpattern count = 0
                   3377: No options
                   3378: First char = 'a'
                   3379: Need char = 'b'
                   3380: 
                   3381: /(?=a).*/I
                   3382: Capturing subpattern count = 0
                   3383: No options
                   3384: First char = 'a'
                   3385: No need char
                   3386: 
                   3387: /(?=abc).xyz/IiI
                   3388: Capturing subpattern count = 0
                   3389: Options: caseless
                   3390: First char = 'a' (caseless)
                   3391: Need char = 'z' (caseless)
                   3392: 
                   3393: /(?=abc)(?i).xyz/I
                   3394: Capturing subpattern count = 0
                   3395: No options
                   3396: First char = 'a'
                   3397: Need char = 'z' (caseless)
                   3398: 
                   3399: /(?=a)(?=b)/I
                   3400: Capturing subpattern count = 0
                   3401: No options
                   3402: First char = 'a'
                   3403: No need char
                   3404: 
                   3405: /(?=.)a/I
                   3406: Capturing subpattern count = 0
                   3407: No options
                   3408: First char = 'a'
                   3409: No need char
                   3410: 
                   3411: /((?=abcda)a)/I
                   3412: Capturing subpattern count = 1
                   3413: No options
                   3414: First char = 'a'
                   3415: Need char = 'a'
                   3416: 
                   3417: /((?=abcda)ab)/I
                   3418: Capturing subpattern count = 1
                   3419: No options
                   3420: First char = 'a'
                   3421: Need char = 'b'
                   3422: 
                   3423: /()a/I
                   3424: Capturing subpattern count = 1
                   3425: No options
                   3426: No first char
                   3427: Need char = 'a'
                   3428: 
                   3429: /(?(1)ab|ac)(.)/I
                   3430: Capturing subpattern count = 1
                   3431: No options
                   3432: First char = 'a'
                   3433: No need char
                   3434: 
                   3435: /(?(1)abz|acz)(.)/I
                   3436: Capturing subpattern count = 1
                   3437: No options
                   3438: First char = 'a'
                   3439: Need char = 'z'
                   3440: 
                   3441: /(?(1)abz)(.)/I
                   3442: Capturing subpattern count = 1
                   3443: No options
                   3444: No first char
                   3445: No need char
                   3446: 
                   3447: /(?(1)abz)(1)23/I
                   3448: Capturing subpattern count = 1
                   3449: No options
                   3450: No first char
                   3451: Need char = '3'
                   3452: 
                   3453: /(a)+/I
                   3454: Capturing subpattern count = 1
                   3455: No options
                   3456: First char = 'a'
                   3457: No need char
                   3458: 
                   3459: /(a){2,3}/I
                   3460: Capturing subpattern count = 1
                   3461: No options
                   3462: First char = 'a'
                   3463: Need char = 'a'
                   3464: 
                   3465: /(a)*/I
                   3466: Capturing subpattern count = 1
                   3467: No options
                   3468: No first char
                   3469: No need char
                   3470: 
                   3471: /[a]/I
                   3472: Capturing subpattern count = 0
                   3473: No options
                   3474: First char = 'a'
                   3475: No need char
                   3476: 
                   3477: /[ab]/I
                   3478: Capturing subpattern count = 0
                   3479: No options
                   3480: No first char
                   3481: No need char
                   3482: 
                   3483: /[ab]/IS
                   3484: Capturing subpattern count = 0
                   3485: No options
                   3486: No first char
                   3487: No need char
                   3488: Subject length lower bound = 1
                   3489: Starting byte set: a b 
                   3490: 
                   3491: /[^a]/I
                   3492: Capturing subpattern count = 0
                   3493: No options
                   3494: No first char
                   3495: No need char
                   3496: 
                   3497: /\d456/I
                   3498: Capturing subpattern count = 0
                   3499: No options
                   3500: No first char
                   3501: Need char = '6'
                   3502: 
                   3503: /\d456/IS
                   3504: Capturing subpattern count = 0
                   3505: No options
                   3506: No first char
                   3507: Need char = '6'
                   3508: Subject length lower bound = 4
                   3509: Starting byte set: 0 1 2 3 4 5 6 7 8 9 
                   3510: 
                   3511: /a^b/I
                   3512: Capturing subpattern count = 0
                   3513: No options
                   3514: First char = 'a'
                   3515: Need char = 'b'
                   3516: 
                   3517: /^a/Im
                   3518: Capturing subpattern count = 0
                   3519: Options: multiline
                   3520: First char at start or follows newline
                   3521: Need char = 'a'
                   3522:   abcde
                   3523:  0: a
                   3524:   xy\nabc
                   3525:  0: a
                   3526:   *** Failers
                   3527: No match
                   3528:   xyabc
                   3529: No match
                   3530: 
                   3531: /c|abc/I
                   3532: Capturing subpattern count = 0
                   3533: No options
                   3534: No first char
                   3535: Need char = 'c'
                   3536: 
                   3537: /(?i)[ab]/IS
                   3538: Capturing subpattern count = 0
                   3539: Options: caseless
                   3540: No first char
                   3541: No need char
                   3542: Subject length lower bound = 1
                   3543: Starting byte set: A B a b 
                   3544: 
                   3545: /[ab](?i)cd/IS
                   3546: Capturing subpattern count = 0
                   3547: No options
                   3548: No first char
                   3549: Need char = 'd' (caseless)
                   3550: Subject length lower bound = 3
                   3551: Starting byte set: a b 
                   3552: 
                   3553: /abc(?C)def/I
                   3554: Capturing subpattern count = 0
                   3555: No options
                   3556: First char = 'a'
                   3557: Need char = 'f'
                   3558:     abcdef
                   3559: --->abcdef
                   3560:   0 ^  ^       d
                   3561:  0: abcdef
                   3562:     1234abcdef
                   3563: --->1234abcdef
                   3564:   0     ^  ^       d
                   3565:  0: abcdef
                   3566:     *** Failers
                   3567: No match
                   3568:     abcxyz
                   3569: No match
                   3570:     abcxyzf
                   3571: --->abcxyzf
                   3572:   0 ^  ^        d
                   3573: No match
                   3574: 
                   3575: /abc(?C)de(?C1)f/I
                   3576: Capturing subpattern count = 0
                   3577: No options
                   3578: First char = 'a'
                   3579: Need char = 'f'
                   3580:     123abcdef
                   3581: --->123abcdef
                   3582:   0    ^  ^       d
                   3583:   1    ^    ^     f
                   3584:  0: abcdef
                   3585: 
                   3586: /(?C1)\dabc(?C2)def/IS
                   3587: Capturing subpattern count = 0
                   3588: No options
                   3589: No first char
                   3590: Need char = 'f'
                   3591: Subject length lower bound = 7
                   3592: Starting byte set: 0 1 2 3 4 5 6 7 8 9 
                   3593:     1234abcdef
                   3594: --->1234abcdef
                   3595:   1 ^              \d
                   3596:   1  ^             \d
                   3597:   1   ^            \d
                   3598:   1    ^           \d
                   3599:   2    ^   ^       d
                   3600:  0: 4abcdef
                   3601:     *** Failers
                   3602: No match
                   3603:     abcdef
                   3604: No match
                   3605: 
                   3606: /(?C1)\dabc(?C2)def/ISS
                   3607: Capturing subpattern count = 0
                   3608: No options
                   3609: No first char
                   3610: Need char = 'f'
                   3611:     1234abcdef
                   3612: --->1234abcdef
                   3613:   1 ^              \d
                   3614:   1  ^             \d
                   3615:   1   ^            \d
                   3616:   1    ^           \d
                   3617:   2    ^   ^       d
                   3618:  0: 4abcdef
                   3619:     *** Failers
                   3620: No match
                   3621:     abcdef
                   3622: --->abcdef
                   3623:   1 ^          \d
                   3624:   1  ^         \d
                   3625:   1   ^        \d
                   3626:   1    ^       \d
                   3627:   1     ^      \d
                   3628:   1      ^     \d
                   3629: No match
                   3630: 
                   3631: /(?C255)ab/I
                   3632: Capturing subpattern count = 0
                   3633: No options
                   3634: First char = 'a'
                   3635: Need char = 'b'
                   3636: 
                   3637: /(?C256)ab/I
                   3638: Failed: number after (?C is > 255 at offset 6
                   3639: 
                   3640: /(?Cab)xx/I
                   3641: Failed: closing ) for (?C expected at offset 3
                   3642: 
                   3643: /(?C12vr)x/I
                   3644: Failed: closing ) for (?C expected at offset 5
                   3645: 
                   3646: /abc(?C)def/I
                   3647: Capturing subpattern count = 0
                   3648: No options
                   3649: First char = 'a'
                   3650: Need char = 'f'
                   3651:     *** Failers
                   3652: No match
                   3653:     \x83\x0\x61bcdef
                   3654: --->\x83\x00abcdef
                   3655:   0         ^  ^       d
                   3656:  0: abcdef
                   3657: 
                   3658: /(abc)(?C)de(?C1)f/I
                   3659: Capturing subpattern count = 1
                   3660: No options
                   3661: First char = 'a'
                   3662: Need char = 'f'
                   3663:     123abcdef
                   3664: --->123abcdef
                   3665:   0    ^  ^       d
                   3666:   1    ^    ^     f
                   3667:  0: abcdef
                   3668:  1: abc
                   3669:     123abcdef\C+
                   3670: Callout 0: last capture = 1
                   3671:  0: <unset>
                   3672:  1: abc
                   3673: --->123abcdef
                   3674:        ^  ^       d
                   3675: Callout 1: last capture = 1
                   3676:  0: <unset>
                   3677:  1: abc
                   3678: --->123abcdef
                   3679:        ^    ^     f
                   3680:  0: abcdef
                   3681:  1: abc
                   3682:     123abcdef\C-
                   3683:  0: abcdef
                   3684:  1: abc
                   3685:     *** Failers
                   3686: No match
                   3687:     123abcdef\C!1
                   3688: --->123abcdef
                   3689:   0    ^  ^       d
                   3690:   1    ^    ^     f
                   3691: No match
                   3692: 
                   3693: /(?C0)(abc(?C1))*/I
                   3694: Capturing subpattern count = 1
                   3695: No options
                   3696: No first char
                   3697: No need char
                   3698:     abcabcabc
                   3699: --->abcabcabc
                   3700:   0 ^             (abc(?C1))*
                   3701:   1 ^  ^          )
                   3702:   1 ^     ^       )
                   3703:   1 ^        ^    )
                   3704:  0: abcabcabc
                   3705:  1: abc
                   3706:     abcabc\C!1!3
                   3707: --->abcabc
                   3708:   0 ^          (abc(?C1))*
                   3709:   1 ^  ^       )
                   3710:   1 ^     ^    )
                   3711:  0: abcabc
                   3712:  1: abc
                   3713:     *** Failers
                   3714: --->*** Failers
                   3715:   0 ^               (abc(?C1))*
                   3716:  0: 
                   3717:     abcabcabc\C!1!3
                   3718: --->abcabcabc
                   3719:   0 ^             (abc(?C1))*
                   3720:   1 ^  ^          )
                   3721:   1 ^     ^       )
                   3722:   1 ^        ^    )
                   3723:  0: abcabc
                   3724:  1: abc
                   3725: 
                   3726: /(\d{3}(?C))*/I
                   3727: Capturing subpattern count = 1
                   3728: No options
                   3729: No first char
                   3730: No need char
                   3731:     123\C+
                   3732: Callout 0: last capture = -1
                   3733:  0: <unset>
                   3734: --->123
                   3735:     ^  ^    )
                   3736:  0: 123
                   3737:  1: 123
                   3738:     123456\C+
                   3739: Callout 0: last capture = -1
                   3740:  0: <unset>
                   3741: --->123456
                   3742:     ^  ^       )
                   3743: Callout 0: last capture = 1
                   3744:  0: <unset>
                   3745:  1: 123
                   3746: --->123456
                   3747:     ^     ^    )
                   3748:  0: 123456
                   3749:  1: 456
                   3750:     123456789\C+
                   3751: Callout 0: last capture = -1
                   3752:  0: <unset>
                   3753: --->123456789
                   3754:     ^  ^          )
                   3755: Callout 0: last capture = 1
                   3756:  0: <unset>
                   3757:  1: 123
                   3758: --->123456789
                   3759:     ^     ^       )
                   3760: Callout 0: last capture = 1
                   3761:  0: <unset>
                   3762:  1: 456
                   3763: --->123456789
                   3764:     ^        ^    )
                   3765:  0: 123456789
                   3766:  1: 789
                   3767: 
                   3768: /((xyz)(?C)p|(?C1)xyzabc)/I
                   3769: Capturing subpattern count = 2
                   3770: No options
                   3771: First char = 'x'
                   3772: No need char
                   3773:     xyzabc\C+
                   3774: Callout 0: last capture = 2
                   3775:  0: <unset>
                   3776:  1: <unset>
                   3777:  2: xyz
                   3778: --->xyzabc
                   3779:     ^  ^       p
                   3780: Callout 1: last capture = -1
                   3781:  0: <unset>
                   3782: --->xyzabc
                   3783:     ^          x
                   3784:  0: xyzabc
                   3785:  1: xyzabc
                   3786: 
                   3787: /(X)((xyz)(?C)p|(?C1)xyzabc)/I
                   3788: Capturing subpattern count = 3
                   3789: No options
                   3790: First char = 'X'
                   3791: Need char = 'x'
                   3792:     Xxyzabc\C+
                   3793: Callout 0: last capture = 3
                   3794:  0: <unset>
                   3795:  1: X
                   3796:  2: <unset>
                   3797:  3: xyz
                   3798: --->Xxyzabc
                   3799:     ^   ^       p
                   3800: Callout 1: last capture = 1
                   3801:  0: <unset>
                   3802:  1: X
                   3803: --->Xxyzabc
                   3804:     ^^          x
                   3805:  0: Xxyzabc
                   3806:  1: X
                   3807:  2: xyzabc
                   3808: 
                   3809: /(?=(abc))(?C)abcdef/I
                   3810: Capturing subpattern count = 1
                   3811: No options
                   3812: First char = 'a'
                   3813: Need char = 'f'
                   3814:     abcdef\C+
                   3815: Callout 0: last capture = 1
                   3816:  0: <unset>
                   3817:  1: abc
                   3818: --->abcdef
                   3819:     ^          a
                   3820:  0: abcdef
                   3821:  1: abc
                   3822: 
                   3823: /(?!(abc)(?C1)d)(?C2)abcxyz/I
                   3824: Capturing subpattern count = 1
                   3825: No options
                   3826: First char = 'a'
                   3827: Need char = 'z'
                   3828:     abcxyz\C+
                   3829: Callout 1: last capture = 1
                   3830:  0: <unset>
                   3831:  1: abc
                   3832: --->abcxyz
                   3833:     ^  ^       d
                   3834: Callout 2: last capture = -1
                   3835:  0: <unset>
                   3836: --->abcxyz
                   3837:     ^          a
                   3838:  0: abcxyz
                   3839: 
                   3840: /(?<=(abc)(?C))xyz/I
                   3841: Capturing subpattern count = 1
                   3842: No options
                   3843: First char = 'x'
                   3844: Need char = 'z'
                   3845:    abcxyz\C+
                   3846: Callout 0: last capture = 1
                   3847:  0: <unset>
                   3848:  1: abc
                   3849: --->abcxyz
                   3850:        ^       )
                   3851:  0: xyz
                   3852:  1: abc
                   3853: 
                   3854: /a(b+)(c*)(?C1)/I
                   3855: Capturing subpattern count = 2
                   3856: No options
                   3857: First char = 'a'
                   3858: Need char = 'b'
                   3859:     abbbbbccc\C*1
                   3860: --->abbbbbccc
                   3861:   1 ^        ^    
                   3862: Callout data = 1
                   3863:   1 ^       ^     
                   3864: Callout data = 1
                   3865:   1 ^      ^      
                   3866: Callout data = 1
                   3867:   1 ^     ^       
                   3868: Callout data = 1
                   3869:   1 ^    ^        
                   3870: Callout data = 1
                   3871:   1 ^   ^         
                   3872: Callout data = 1
                   3873:   1 ^  ^          
                   3874: Callout data = 1
                   3875:   1 ^ ^           
                   3876: Callout data = 1
                   3877: No match
                   3878: 
                   3879: /a(b+?)(c*?)(?C1)/I
                   3880: Capturing subpattern count = 2
                   3881: No options
                   3882: First char = 'a'
                   3883: Need char = 'b'
                   3884:     abbbbbccc\C*1
                   3885: --->abbbbbccc
                   3886:   1 ^ ^           
                   3887: Callout data = 1
                   3888:   1 ^  ^          
                   3889: Callout data = 1
                   3890:   1 ^   ^         
                   3891: Callout data = 1
                   3892:   1 ^    ^        
                   3893: Callout data = 1
                   3894:   1 ^     ^       
                   3895: Callout data = 1
                   3896:   1 ^      ^      
                   3897: Callout data = 1
                   3898:   1 ^       ^     
                   3899: Callout data = 1
                   3900:   1 ^        ^    
                   3901: Callout data = 1
                   3902: No match
                   3903: 
                   3904: /(?C)abc/I
                   3905: Capturing subpattern count = 0
                   3906: No options
                   3907: First char = 'a'
                   3908: Need char = 'c'
                   3909: 
                   3910: /(?C)^abc/I
                   3911: Capturing subpattern count = 0
                   3912: Options: anchored
                   3913: No first char
                   3914: No need char
                   3915: 
                   3916: /(?C)a|b/IS
                   3917: Capturing subpattern count = 0
                   3918: No options
                   3919: No first char
                   3920: No need char
                   3921: Subject length lower bound = 1
                   3922: Starting byte set: a b 
                   3923: 
                   3924: /(?R)/I
                   3925: Failed: recursive call could loop indefinitely at offset 3
                   3926: 
                   3927: /(a|(?R))/I
                   3928: Failed: recursive call could loop indefinitely at offset 6
                   3929: 
                   3930: /(ab|(bc|(de|(?R))))/I
                   3931: Failed: recursive call could loop indefinitely at offset 15
                   3932: 
                   3933: /x(ab|(bc|(de|(?R))))/I
                   3934: Capturing subpattern count = 3
                   3935: No options
                   3936: First char = 'x'
                   3937: No need char
                   3938:     xab
                   3939:  0: xab
                   3940:  1: ab
                   3941:     xbc
                   3942:  0: xbc
                   3943:  1: bc
                   3944:  2: bc
                   3945:     xde
                   3946:  0: xde
                   3947:  1: de
                   3948:  2: de
                   3949:  3: de
                   3950:     xxab
                   3951:  0: xxab
                   3952:  1: xab
                   3953:  2: xab
                   3954:  3: xab
                   3955:     xxxab
                   3956:  0: xxxab
                   3957:  1: xxab
                   3958:  2: xxab
                   3959:  3: xxab
                   3960:     *** Failers
                   3961: No match
                   3962:     xyab
                   3963: No match
                   3964: 
                   3965: /(ab|(bc|(de|(?1))))/I
                   3966: Failed: recursive call could loop indefinitely at offset 15
                   3967: 
                   3968: /x(ab|(bc|(de|(?1)x)x)x)/I
                   3969: Failed: recursive call could loop indefinitely at offset 16
                   3970: 
                   3971: /^([^()]|\((?1)*\))*$/I
                   3972: Capturing subpattern count = 1
                   3973: Options: anchored
                   3974: No first char
                   3975: No need char
                   3976:     abc
                   3977:  0: abc
                   3978:  1: c
                   3979:     a(b)c
                   3980:  0: a(b)c
                   3981:  1: c
                   3982:     a(b(c))d
                   3983:  0: a(b(c))d
                   3984:  1: d
                   3985:     *** Failers)
                   3986: No match
                   3987:     a(b(c)d
                   3988: No match
                   3989: 
                   3990: /^>abc>([^()]|\((?1)*\))*<xyz<$/I
                   3991: Capturing subpattern count = 1
                   3992: Options: anchored
                   3993: No first char
                   3994: Need char = '<'
                   3995:    >abc>123<xyz<
                   3996:  0: >abc>123<xyz<
                   3997:  1: 3
                   3998:    >abc>1(2)3<xyz<
                   3999:  0: >abc>1(2)3<xyz<
                   4000:  1: 3
                   4001:    >abc>(1(2)3)<xyz<
                   4002:  0: >abc>(1(2)3)<xyz<
                   4003:  1: (1(2)3)
                   4004: 
                   4005: /(a(?1)b)/DZ
                   4006: ------------------------------------------------------------------
                   4007:         Bra
                   4008:         CBra 1
                   4009:         a
                   4010:         Recurse
                   4011:         b
                   4012:         Ket
                   4013:         Ket
                   4014:         End
                   4015: ------------------------------------------------------------------
                   4016: Capturing subpattern count = 1
                   4017: No options
                   4018: First char = 'a'
                   4019: Need char = 'b'
                   4020: 
                   4021: /(a(?1)+b)/DZ
                   4022: ------------------------------------------------------------------
                   4023:         Bra
                   4024:         CBra 1
                   4025:         a
                   4026:         Once
                   4027:         Recurse
                   4028:         KetRmax
                   4029:         b
                   4030:         Ket
                   4031:         Ket
                   4032:         End
                   4033: ------------------------------------------------------------------
                   4034: Capturing subpattern count = 1
                   4035: No options
                   4036: First char = 'a'
                   4037: Need char = 'b'
                   4038: 
                   4039: /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
                   4040: Capturing subpattern count = 2
                   4041: Options: anchored
                   4042: No first char
                   4043: No need char
                   4044:     12
                   4045:  0: 12
                   4046:  1: 12
                   4047:     (((2+2)*-3)-7)
                   4048:  0: (((2+2)*-3)-7)
                   4049:  1: (((2+2)*-3)-7)
                   4050:  2: -
                   4051:     -12
                   4052:  0: -12
                   4053:  1: -12
                   4054:     *** Failers
                   4055: No match
                   4056:     ((2+2)*-3)-7)
                   4057: No match
                   4058: 
                   4059: /^(x(y|(?1){2})z)/I
                   4060: Capturing subpattern count = 2
                   4061: Options: anchored
                   4062: No first char
                   4063: No need char
                   4064:     xyz
                   4065:  0: xyz
                   4066:  1: xyz
                   4067:  2: y
                   4068:     xxyzxyzz
                   4069:  0: xxyzxyzz
                   4070:  1: xxyzxyzz
                   4071:  2: xyzxyz
                   4072:     *** Failers
                   4073: No match
                   4074:     xxyzz
                   4075: No match
                   4076:     xxyzxyzxyzz
                   4077: No match
                   4078: 
                   4079: /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
                   4080: Capturing subpattern count = 2
                   4081: Options: extended
                   4082: First char = '<'
                   4083: Need char = '>'
                   4084:     <>
                   4085:  0: <>
                   4086:  1: <>
                   4087:  2: <>
                   4088:     <abcd>
                   4089:  0: <abcd>
                   4090:  1: <abcd>
                   4091:  2: <abcd>
                   4092:     <abc <123> hij>
                   4093:  0: <abc <123> hij>
                   4094:  1: <abc <123> hij>
                   4095:  2: <abc <123> hij>
                   4096:     <abc <def> hij>
                   4097:  0: <def>
                   4098:  1: <def>
                   4099:  2: <def>
                   4100:     <abc<>def>
                   4101:  0: <abc<>def>
                   4102:  1: <abc<>def>
                   4103:  2: <abc<>def>
                   4104:     <abc<>
                   4105:  0: <>
                   4106:  1: <>
                   4107:  2: <>
                   4108:     *** Failers
                   4109: No match
                   4110:     <abc
                   4111: No match
                   4112: 
                   4113: /(?1)/I
                   4114: Failed: reference to non-existent subpattern at offset 3
                   4115: 
                   4116: /((?2)(abc)/I
                   4117: Failed: missing ) at offset 10
                   4118: 
                   4119: /^(abc)def(?1)/I
                   4120: Capturing subpattern count = 1
                   4121: Options: anchored
                   4122: No first char
                   4123: No need char
                   4124:     abcdefabc
                   4125:  0: abcdefabc
                   4126:  1: abc
                   4127: 
                   4128: /^(a|b|c)=(?1)+/I
                   4129: Capturing subpattern count = 1
                   4130: Options: anchored
                   4131: No first char
                   4132: No need char
                   4133:     a=a
                   4134:  0: a=a
                   4135:  1: a
                   4136:     a=b
                   4137:  0: a=b
                   4138:  1: a
                   4139:     a=bc
                   4140:  0: a=bc
                   4141:  1: a
                   4142: 
                   4143: /^(a|b|c)=((?1))+/I
                   4144: Capturing subpattern count = 2
                   4145: Options: anchored
                   4146: No first char
                   4147: No need char
                   4148:     a=a
                   4149:  0: a=a
                   4150:  1: a
                   4151:  2: a
                   4152:     a=b
                   4153:  0: a=b
                   4154:  1: a
                   4155:  2: b
                   4156:     a=bc
                   4157:  0: a=bc
                   4158:  1: a
                   4159:  2: c
                   4160: 
                   4161: /a(?P<name1>b|c)d(?P<longername2>e)/DZ
                   4162: ------------------------------------------------------------------
                   4163:         Bra
                   4164:         a
                   4165:         CBra 1
                   4166:         b
                   4167:         Alt
                   4168:         c
                   4169:         Ket
                   4170:         d
                   4171:         CBra 2
                   4172:         e
                   4173:         Ket
                   4174:         Ket
                   4175:         End
                   4176: ------------------------------------------------------------------
                   4177: Capturing subpattern count = 2
                   4178: Named capturing subpatterns:
                   4179:   longername2   2
                   4180:   name1         1
                   4181: No options
                   4182: First char = 'a'
                   4183: Need char = 'e'
                   4184:     abde
                   4185:  0: abde
                   4186:  1: b
                   4187:  2: e
                   4188:     acde
                   4189:  0: acde
                   4190:  1: c
                   4191:  2: e
                   4192: 
                   4193: /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
                   4194: ------------------------------------------------------------------
                   4195:         Bra
                   4196:         Bra
                   4197:         a
                   4198:         CBra 1
                   4199:         c
                   4200:         CBra 2
                   4201:         d
                   4202:         Ket
                   4203:         Ket
                   4204:         Ket
                   4205:         CBra 3
                   4206:         a
                   4207:         Ket
                   4208:         Ket
                   4209:         End
                   4210: ------------------------------------------------------------------
                   4211: Capturing subpattern count = 3
                   4212: Named capturing subpatterns:
                   4213:   a   3
                   4214:   c   1
                   4215:   d   2
                   4216: No options
                   4217: First char = 'a'
                   4218: Need char = 'a'
                   4219: 
                   4220: /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
                   4221: ------------------------------------------------------------------
                   4222:         Bra
                   4223:         CBra 1
                   4224:         a
                   4225:         Ket
                   4226:         Any
                   4227:         Any
                   4228:         Any
                   4229:         \1
                   4230:         bbb
                   4231:         Recurse
                   4232:         d
                   4233:         Ket
                   4234:         End
                   4235: ------------------------------------------------------------------
                   4236: Capturing subpattern count = 1
                   4237: Max back reference = 1
                   4238: Named capturing subpatterns:
                   4239:   a   1
                   4240: No options
                   4241: First char = 'a'
                   4242: Need char = 'd'
                   4243: 
                   4244: /^\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
                   4245: Capturing subpattern count = 4
                   4246: Max back reference = 4
                   4247: Named capturing subpatterns:
                   4248:   four    4
                   4249:   one     1
                   4250:   three   3
                   4251:   two     2
                   4252: Options: anchored caseless
                   4253: No first char
                   4254: No need char
                   4255:     1221
                   4256:  0: 1221
                   4257:  1: 1221
                   4258:  2: 1
                   4259:     Satan, oscillate my metallic sonatas!
                   4260:  0: Satan, oscillate my metallic sonatas!
                   4261:  1: <unset>
                   4262:  2: <unset>
                   4263:  3: Satan, oscillate my metallic sonatas
                   4264:  4: S
                   4265:     A man, a plan, a canal: Panama!
                   4266:  0: A man, a plan, a canal: Panama!
                   4267:  1: <unset>
                   4268:  2: <unset>
                   4269:  3: A man, a plan, a canal: Panama
                   4270:  4: A
                   4271:     Able was I ere I saw Elba.
                   4272:  0: Able was I ere I saw Elba.
                   4273:  1: <unset>
                   4274:  2: <unset>
                   4275:  3: Able was I ere I saw Elba
                   4276:  4: A
                   4277:     *** Failers
                   4278: No match
                   4279:     The quick brown fox
                   4280: No match
                   4281: 
                   4282: /((?(R)a|b))\1(?1)?/I
                   4283: Capturing subpattern count = 1
                   4284: Max back reference = 1
                   4285: No options
                   4286: No first char
                   4287: No need char
                   4288:   bb
                   4289:  0: bb
                   4290:  1: b
                   4291:   bbaa
                   4292:  0: bba
                   4293:  1: b
                   4294: 
                   4295: /(.*)a/Is
                   4296: Capturing subpattern count = 1
                   4297: Options: anchored dotall
                   4298: No first char
                   4299: Need char = 'a'
                   4300: 
                   4301: /(.*)a\1/Is
                   4302: Capturing subpattern count = 1
                   4303: Max back reference = 1
                   4304: Options: dotall
                   4305: No first char
                   4306: Need char = 'a'
                   4307: 
                   4308: /(.*)a(b)\2/Is
                   4309: Capturing subpattern count = 2
                   4310: Max back reference = 2
                   4311: Options: anchored dotall
                   4312: No first char
                   4313: Need char = 'b'
                   4314: 
                   4315: /((.*)a|(.*)b)z/Is
                   4316: Capturing subpattern count = 3
                   4317: Options: anchored dotall
                   4318: No first char
                   4319: Need char = 'z'
                   4320: 
                   4321: /((.*)a|(.*)b)z\1/Is
                   4322: Capturing subpattern count = 3
                   4323: Max back reference = 1
                   4324: Options: dotall
                   4325: No first char
                   4326: Need char = 'z'
                   4327: 
                   4328: /((.*)a|(.*)b)z\2/Is
                   4329: Capturing subpattern count = 3
                   4330: Max back reference = 2
                   4331: Options: dotall
                   4332: No first char
                   4333: Need char = 'z'
                   4334: 
                   4335: /((.*)a|(.*)b)z\3/Is
                   4336: Capturing subpattern count = 3
                   4337: Max back reference = 3
                   4338: Options: dotall
                   4339: No first char
                   4340: Need char = 'z'
                   4341: 
                   4342: /((.*)a|^(.*)b)z\3/Is
                   4343: Capturing subpattern count = 3
                   4344: Max back reference = 3
                   4345: Options: anchored dotall
                   4346: No first char
                   4347: Need char = 'z'
                   4348: 
                   4349: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
                   4350: Capturing subpattern count = 31
                   4351: Options: anchored dotall
                   4352: No first char
                   4353: No need char
                   4354: 
                   4355: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
                   4356: Capturing subpattern count = 31
                   4357: Max back reference = 31
                   4358: Options: dotall
                   4359: No first char
                   4360: No need char
                   4361: 
                   4362: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
                   4363: Capturing subpattern count = 32
                   4364: Max back reference = 32
                   4365: Options: dotall
                   4366: No first char
                   4367: No need char
                   4368: 
                   4369: /(a)(bc)/INDZ
                   4370: ------------------------------------------------------------------
                   4371:         Bra
                   4372:         Bra
                   4373:         a
                   4374:         Ket
                   4375:         Bra
                   4376:         bc
                   4377:         Ket
                   4378:         Ket
                   4379:         End
                   4380: ------------------------------------------------------------------
                   4381: Capturing subpattern count = 0
                   4382: Options: no_auto_capture
                   4383: First char = 'a'
                   4384: Need char = 'c'
                   4385:   abc
                   4386:  0: abc
                   4387: 
                   4388: /(?P<one>a)(bc)/INDZ
                   4389: ------------------------------------------------------------------
                   4390:         Bra
                   4391:         CBra 1
                   4392:         a
                   4393:         Ket
                   4394:         Bra
                   4395:         bc
                   4396:         Ket
                   4397:         Ket
                   4398:         End
                   4399: ------------------------------------------------------------------
                   4400: Capturing subpattern count = 1
                   4401: Named capturing subpatterns:
                   4402:   one   1
                   4403: Options: no_auto_capture
                   4404: First char = 'a'
                   4405: Need char = 'c'
                   4406:   abc
                   4407:  0: abc
                   4408:  1: a
                   4409: 
                   4410: /(a)(?P<named>bc)/INDZ
                   4411: ------------------------------------------------------------------
                   4412:         Bra
                   4413:         Bra
                   4414:         a
                   4415:         Ket
                   4416:         CBra 1
                   4417:         bc
                   4418:         Ket
                   4419:         Ket
                   4420:         End
                   4421: ------------------------------------------------------------------
                   4422: Capturing subpattern count = 1
                   4423: Named capturing subpatterns:
                   4424:   named   1
                   4425: Options: no_auto_capture
                   4426: First char = 'a'
                   4427: Need char = 'c'
                   4428: 
                   4429: /(a+)*zz/I
                   4430: Capturing subpattern count = 1
                   4431: No options
                   4432: No first char
                   4433: Need char = 'z'
                   4434:   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
                   4435: Minimum match() limit = 8
                   4436: Minimum match() recursion limit = 6
                   4437:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
                   4438:  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   4439:   aaaaaaaaaaaaaz\M
                   4440: Minimum match() limit = 32768
                   4441: Minimum match() recursion limit = 42
                   4442: No match
                   4443: 
                   4444: /(aaa(?C1)bbb|ab)/I
                   4445: Capturing subpattern count = 1
                   4446: No options
                   4447: First char = 'a'
                   4448: Need char = 'b'
                   4449:    aaabbb
                   4450: --->aaabbb
                   4451:   1 ^  ^       b
                   4452:  0: aaabbb
                   4453:  1: aaabbb
                   4454:    aaabbb\C*0
                   4455: --->aaabbb
                   4456:   1 ^  ^       b
                   4457:  0: aaabbb
                   4458:  1: aaabbb
                   4459:    aaabbb\C*1
                   4460: --->aaabbb
                   4461:   1 ^  ^       b
                   4462: Callout data = 1
                   4463:  0: ab
                   4464:  1: ab
                   4465:    aaabbb\C*-1
                   4466: --->aaabbb
                   4467:   1 ^  ^       b
                   4468: Callout data = -1
                   4469: No match
                   4470: 
                   4471: /ab(?P<one>cd)ef(?P<two>gh)/I
                   4472: Capturing subpattern count = 2
                   4473: Named capturing subpatterns:
                   4474:   one   1
                   4475:   two   2
                   4476: No options
                   4477: First char = 'a'
                   4478: Need char = 'h'
                   4479:     abcdefgh
                   4480:  0: abcdefgh
                   4481:  1: cd
                   4482:  2: gh
                   4483:     abcdefgh\C1\Gtwo
                   4484:  0: abcdefgh
                   4485:  1: cd
                   4486:  2: gh
                   4487:  1C cd (2)
                   4488:   G gh (2) two
                   4489:     abcdefgh\Cone\Ctwo
                   4490:  0: abcdefgh
                   4491:  1: cd
                   4492:  2: gh
                   4493:   C cd (2) one
                   4494:   C gh (2) two
                   4495:     abcdefgh\Cthree
                   4496: no parentheses with name "three"
                   4497:  0: abcdefgh
                   4498:  1: cd
                   4499:  2: gh
                   4500: copy substring three failed -7
                   4501: 
                   4502: /(?P<Tes>)(?P<Test>)/DZ
                   4503: ------------------------------------------------------------------
                   4504:         Bra
                   4505:         CBra 1
                   4506:         Ket
                   4507:         CBra 2
                   4508:         Ket
                   4509:         Ket
                   4510:         End
                   4511: ------------------------------------------------------------------
                   4512: Capturing subpattern count = 2
                   4513: Named capturing subpatterns:
                   4514:   Tes    1
                   4515:   Test   2
                   4516: No options
                   4517: No first char
                   4518: No need char
                   4519: 
                   4520: /(?P<Test>)(?P<Tes>)/DZ
                   4521: ------------------------------------------------------------------
                   4522:         Bra
                   4523:         CBra 1
                   4524:         Ket
                   4525:         CBra 2
                   4526:         Ket
                   4527:         Ket
                   4528:         End
                   4529: ------------------------------------------------------------------
                   4530: Capturing subpattern count = 2
                   4531: Named capturing subpatterns:
                   4532:   Tes    2
                   4533:   Test   1
                   4534: No options
                   4535: No first char
                   4536: No need char
                   4537: 
                   4538: /(?P<Z>zz)(?P<A>aa)/I
                   4539: Capturing subpattern count = 2
                   4540: Named capturing subpatterns:
                   4541:   A   2
                   4542:   Z   1
                   4543: No options
                   4544: First char = 'z'
                   4545: Need char = 'a'
                   4546:     zzaa\CZ
                   4547:  0: zzaa
                   4548:  1: zz
                   4549:  2: aa
                   4550:   C zz (2) Z
                   4551:     zzaa\CA
                   4552:  0: zzaa
                   4553:  1: zz
                   4554:  2: aa
                   4555:   C aa (2) A
                   4556: 
                   4557: /(?P<x>eks)(?P<x>eccs)/I
                   4558: Failed: two named subpatterns have the same name at offset 15
                   4559: 
                   4560: /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
                   4561: Failed: two named subpatterns have the same name at offset 30
                   4562: 
                   4563: "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
                   4564: Capturing subpattern count = 3
                   4565: Named capturing subpatterns:
                   4566:   elem   2
                   4567: No options
                   4568: First char = '['
                   4569: Need char = ']'
                   4570:     [10,20,30,5,5,4,4,2,43,23,4234]
                   4571:  0: [10,20,30,5,5,4,4,2,43,23,4234]
                   4572:  1: 10,20,30,5,5,4,4,2,43,23,4234
                   4573:  2: 10
                   4574:  3: ,4234
                   4575:     *** Failers
                   4576: No match
                   4577:     []
                   4578: No match
                   4579: 
                   4580: "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
                   4581: Capturing subpattern count = 3
                   4582: Named capturing subpatterns:
                   4583:   elem   2
                   4584: No options
                   4585: First char = '['
                   4586: Need char = ']'
                   4587:     [10,20,30,5,5,4,4,2,43,23,4234]
                   4588:  0: [10,20,30,5,5,4,4,2,43,23,4234]
                   4589:  1: 10,20,30,5,5,4,4,2,43,23,4234
                   4590:  2: 10
                   4591:  3: ,4234
                   4592:     []
                   4593:  0: []
                   4594: 
                   4595: /(a(b(?2)c))?/DZ
                   4596: ------------------------------------------------------------------
                   4597:         Bra
                   4598:         Brazero
                   4599:         CBra 1
                   4600:         a
                   4601:         CBra 2
                   4602:         b
                   4603:         Recurse
                   4604:         c
                   4605:         Ket
                   4606:         Ket
                   4607:         Ket
                   4608:         End
                   4609: ------------------------------------------------------------------
                   4610: Capturing subpattern count = 2
                   4611: No options
                   4612: No first char
                   4613: No need char
                   4614: 
                   4615: /(a(b(?2)c))*/DZ
                   4616: ------------------------------------------------------------------
                   4617:         Bra
                   4618:         Brazero
                   4619:         CBra 1
                   4620:         a
                   4621:         CBra 2
                   4622:         b
                   4623:         Recurse
                   4624:         c
                   4625:         Ket
                   4626:         KetRmax
                   4627:         Ket
                   4628:         End
                   4629: ------------------------------------------------------------------
                   4630: Capturing subpattern count = 2
                   4631: No options
                   4632: No first char
                   4633: No need char
                   4634: 
                   4635: /(a(b(?2)c)){0,2}/DZ
                   4636: ------------------------------------------------------------------
                   4637:         Bra
                   4638:         Brazero
                   4639:         Bra
                   4640:         CBra 1
                   4641:         a
                   4642:         CBra 2
                   4643:         b
                   4644:         Recurse
                   4645:         c
                   4646:         Ket
                   4647:         Ket
                   4648:         Brazero
                   4649:         CBra 1
                   4650:         a
                   4651:         CBra 2
                   4652:         b
                   4653:         Recurse
                   4654:         c
                   4655:         Ket
                   4656:         Ket
                   4657:         Ket
                   4658:         Ket
                   4659:         End
                   4660: ------------------------------------------------------------------
                   4661: Capturing subpattern count = 2
                   4662: No options
                   4663: No first char
                   4664: No need char
                   4665: 
                   4666: /[ab]{1}+/DZ
                   4667: ------------------------------------------------------------------
                   4668:         Bra
                   4669:         Once
                   4670:         [ab]{1,1}
                   4671:         Ket
                   4672:         Ket
                   4673:         End
                   4674: ------------------------------------------------------------------
                   4675: Capturing subpattern count = 0
                   4676: No options
                   4677: No first char
                   4678: No need char
                   4679: 
                   4680: /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
                   4681: Capturing subpattern count = 3
                   4682: Options: caseless
                   4683: No first char
                   4684: Need char = 'g' (caseless)
                   4685:      Baby Bjorn Active Carrier - With free SHIPPING!!
                   4686:  0: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4687:  1: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4688: 
                   4689: /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
                   4690: Capturing subpattern count = 3
                   4691: Options: caseless
                   4692: No first char
                   4693: Need char = 'g' (caseless)
                   4694: Subject length lower bound = 8
                   4695: No set of starting bytes
                   4696:      Baby Bjorn Active Carrier - With free SHIPPING!!
                   4697:  0: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4698:  1: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4699: 
                   4700: /a*.*b/ISDZ
                   4701: ------------------------------------------------------------------
                   4702:         Bra
                   4703:         a*
                   4704:         Any*
                   4705:         b
                   4706:         Ket
                   4707:         End
                   4708: ------------------------------------------------------------------
                   4709: Capturing subpattern count = 0
                   4710: No options
                   4711: No first char
                   4712: Need char = 'b'
                   4713: Subject length lower bound = 1
                   4714: No set of starting bytes
                   4715: 
                   4716: /(a|b)*.?c/ISDZ
                   4717: ------------------------------------------------------------------
                   4718:         Bra
                   4719:         Brazero
                   4720:         CBra 1
                   4721:         a
                   4722:         Alt
                   4723:         b
                   4724:         KetRmax
                   4725:         Any?
                   4726:         c
                   4727:         Ket
                   4728:         End
                   4729: ------------------------------------------------------------------
                   4730: Capturing subpattern count = 1
                   4731: No options
                   4732: No first char
                   4733: Need char = 'c'
                   4734: Subject length lower bound = 1
                   4735: No set of starting bytes
                   4736: 
                   4737: /abc(?C255)de(?C)f/DZ
                   4738: ------------------------------------------------------------------
                   4739:         Bra
                   4740:         abc
                   4741:         Callout 255 10 1
                   4742:         de
                   4743:         Callout 0 16 1
                   4744:         f
                   4745:         Ket
                   4746:         End
                   4747: ------------------------------------------------------------------
                   4748: Capturing subpattern count = 0
                   4749: No options
                   4750: First char = 'a'
                   4751: Need char = 'f'
                   4752: 
                   4753: /abcde/ICDZ
                   4754: ------------------------------------------------------------------
                   4755:         Bra
                   4756:         Callout 255 0 1
                   4757:         a
                   4758:         Callout 255 1 1
                   4759:         b
                   4760:         Callout 255 2 1
                   4761:         c
                   4762:         Callout 255 3 1
                   4763:         d
                   4764:         Callout 255 4 1
                   4765:         e
                   4766:         Callout 255 5 0
                   4767:         Ket
                   4768:         End
                   4769: ------------------------------------------------------------------
                   4770: Capturing subpattern count = 0
                   4771: Options:
                   4772: First char = 'a'
                   4773: Need char = 'e'
                   4774:   abcde
                   4775: --->abcde
                   4776:  +0 ^         a
                   4777:  +1 ^^        b
                   4778:  +2 ^ ^       c
                   4779:  +3 ^  ^      d
                   4780:  +4 ^   ^     e
                   4781:  +5 ^    ^    
                   4782:  0: abcde
                   4783:   abcdfe
                   4784: --->abcdfe
                   4785:  +0 ^          a
                   4786:  +1 ^^         b
                   4787:  +2 ^ ^        c
                   4788:  +3 ^  ^       d
                   4789:  +4 ^   ^      e
                   4790: No match
                   4791: 
                   4792: /a*b/ICDZS
                   4793: ------------------------------------------------------------------
                   4794:         Bra
                   4795:         Callout 255 0 2
                   4796:         a*+
                   4797:         Callout 255 2 1
                   4798:         b
                   4799:         Callout 255 3 0
                   4800:         Ket
                   4801:         End
                   4802: ------------------------------------------------------------------
                   4803: Capturing subpattern count = 0
                   4804: Options:
                   4805: No first char
                   4806: Need char = 'b'
                   4807: Subject length lower bound = 1
                   4808: Starting byte set: a b 
                   4809:   ab
                   4810: --->ab
                   4811:  +0 ^      a*
                   4812:  +2 ^^     b
                   4813:  +3 ^ ^    
                   4814:  0: ab
                   4815:   aaaab
                   4816: --->aaaab
                   4817:  +0 ^         a*
                   4818:  +2 ^   ^     b
                   4819:  +3 ^    ^    
                   4820:  0: aaaab
                   4821:   aaaacb
                   4822: --->aaaacb
                   4823:  +0 ^          a*
                   4824:  +2 ^   ^      b
                   4825:  +0  ^         a*
                   4826:  +2  ^  ^      b
                   4827:  +0   ^        a*
                   4828:  +2   ^ ^      b
                   4829:  +0    ^       a*
                   4830:  +2    ^^      b
                   4831:  +0      ^     a*
                   4832:  +2      ^     b
                   4833:  +3      ^^    
                   4834:  0: b
                   4835: 
                   4836: /a*b/ICDZSS
                   4837: ------------------------------------------------------------------
                   4838:         Bra
                   4839:         Callout 255 0 2
                   4840:         a*+
                   4841:         Callout 255 2 1
                   4842:         b
                   4843:         Callout 255 3 0
                   4844:         Ket
                   4845:         End
                   4846: ------------------------------------------------------------------
                   4847: Capturing subpattern count = 0
                   4848: Options:
                   4849: No first char
                   4850: Need char = 'b'
                   4851:   ab
                   4852: --->ab
                   4853:  +0 ^      a*
                   4854:  +2 ^^     b
                   4855:  +3 ^ ^    
                   4856:  0: ab
                   4857:   aaaab
                   4858: --->aaaab
                   4859:  +0 ^         a*
                   4860:  +2 ^   ^     b
                   4861:  +3 ^    ^    
                   4862:  0: aaaab
                   4863:   aaaacb
                   4864: --->aaaacb
                   4865:  +0 ^          a*
                   4866:  +2 ^   ^      b
                   4867:  +0  ^         a*
                   4868:  +2  ^  ^      b
                   4869:  +0   ^        a*
                   4870:  +2   ^ ^      b
                   4871:  +0    ^       a*
                   4872:  +2    ^^      b
                   4873:  +0     ^      a*
                   4874:  +2     ^      b
                   4875:  +0      ^     a*
                   4876:  +2      ^     b
                   4877:  +3      ^^    
                   4878:  0: b
                   4879: 
                   4880: /a+b/ICDZ
                   4881: ------------------------------------------------------------------
                   4882:         Bra
                   4883:         Callout 255 0 2
                   4884:         a++
                   4885:         Callout 255 2 1
                   4886:         b
                   4887:         Callout 255 3 0
                   4888:         Ket
                   4889:         End
                   4890: ------------------------------------------------------------------
                   4891: Capturing subpattern count = 0
                   4892: Options:
                   4893: First char = 'a'
                   4894: Need char = 'b'
                   4895:   ab
                   4896: --->ab
                   4897:  +0 ^      a+
                   4898:  +2 ^^     b
                   4899:  +3 ^ ^    
                   4900:  0: ab
                   4901:   aaaab
                   4902: --->aaaab
                   4903:  +0 ^         a+
                   4904:  +2 ^   ^     b
                   4905:  +3 ^    ^    
                   4906:  0: aaaab
                   4907:   aaaacb
                   4908: --->aaaacb
                   4909:  +0 ^          a+
                   4910:  +2 ^   ^      b
                   4911:  +0  ^         a+
                   4912:  +2  ^  ^      b
                   4913:  +0   ^        a+
                   4914:  +2   ^ ^      b
                   4915:  +0    ^       a+
                   4916:  +2    ^^      b
                   4917: No match
                   4918: 
                   4919: /(abc|def)x/ICDZS
                   4920: ------------------------------------------------------------------
                   4921:         Bra
                   4922:         Callout 255 0 9
                   4923:         CBra 1
                   4924:         Callout 255 1 1
                   4925:         a
                   4926:         Callout 255 2 1
                   4927:         b
                   4928:         Callout 255 3 1
                   4929:         c
                   4930:         Callout 255 4 0
                   4931:         Alt
                   4932:         Callout 255 5 1
                   4933:         d
                   4934:         Callout 255 6 1
                   4935:         e
                   4936:         Callout 255 7 1
                   4937:         f
                   4938:         Callout 255 8 0
                   4939:         Ket
                   4940:         Callout 255 9 1
                   4941:         x
                   4942:         Callout 255 10 0
                   4943:         Ket
                   4944:         End
                   4945: ------------------------------------------------------------------
                   4946: Capturing subpattern count = 1
                   4947: Options:
                   4948: No first char
                   4949: Need char = 'x'
                   4950: Subject length lower bound = 4
                   4951: Starting byte set: a d 
                   4952:   abcx
                   4953: --->abcx
                   4954:  +0 ^        (abc|def)
                   4955:  +1 ^        a
                   4956:  +2 ^^       b
                   4957:  +3 ^ ^      c
                   4958:  +4 ^  ^     |
                   4959:  +9 ^  ^     x
                   4960: +10 ^   ^    
                   4961:  0: abcx
                   4962:  1: abc
                   4963:   defx
                   4964: --->defx
                   4965:  +0 ^        (abc|def)
                   4966:  +1 ^        a
                   4967:  +5 ^        d
                   4968:  +6 ^^       e
                   4969:  +7 ^ ^      f
                   4970:  +8 ^  ^     )
                   4971:  +9 ^  ^     x
                   4972: +10 ^   ^    
                   4973:  0: defx
                   4974:  1: def
                   4975:   ** Failers 
                   4976: No match
                   4977:   abcdefzx
                   4978: --->abcdefzx
                   4979:  +0 ^            (abc|def)
                   4980:  +1 ^            a
                   4981:  +2 ^^           b
                   4982:  +3 ^ ^          c
                   4983:  +4 ^  ^         |
                   4984:  +9 ^  ^         x
                   4985:  +5 ^            d
                   4986:  +0    ^         (abc|def)
                   4987:  +1    ^         a
                   4988:  +5    ^         d
                   4989:  +6    ^^        e
                   4990:  +7    ^ ^       f
                   4991:  +8    ^  ^      )
                   4992:  +9    ^  ^      x
                   4993: No match
                   4994: 
                   4995: /(abc|def)x/ICDZSS
                   4996: ------------------------------------------------------------------
                   4997:         Bra
                   4998:         Callout 255 0 9
                   4999:         CBra 1
                   5000:         Callout 255 1 1
                   5001:         a
                   5002:         Callout 255 2 1
                   5003:         b
                   5004:         Callout 255 3 1
                   5005:         c
                   5006:         Callout 255 4 0
                   5007:         Alt
                   5008:         Callout 255 5 1
                   5009:         d
                   5010:         Callout 255 6 1
                   5011:         e
                   5012:         Callout 255 7 1
                   5013:         f
                   5014:         Callout 255 8 0
                   5015:         Ket
                   5016:         Callout 255 9 1
                   5017:         x
                   5018:         Callout 255 10 0
                   5019:         Ket
                   5020:         End
                   5021: ------------------------------------------------------------------
                   5022: Capturing subpattern count = 1
                   5023: Options:
                   5024: No first char
                   5025: Need char = 'x'
                   5026:   abcx
                   5027: --->abcx
                   5028:  +0 ^        (abc|def)
                   5029:  +1 ^        a
                   5030:  +2 ^^       b
                   5031:  +3 ^ ^      c
                   5032:  +4 ^  ^     |
                   5033:  +9 ^  ^     x
                   5034: +10 ^   ^    
                   5035:  0: abcx
                   5036:  1: abc
                   5037:   defx
                   5038: --->defx
                   5039:  +0 ^        (abc|def)
                   5040:  +1 ^        a
                   5041:  +5 ^        d
                   5042:  +6 ^^       e
                   5043:  +7 ^ ^      f
                   5044:  +8 ^  ^     )
                   5045:  +9 ^  ^     x
                   5046: +10 ^   ^    
                   5047:  0: defx
                   5048:  1: def
                   5049:   ** Failers 
                   5050: No match
                   5051:   abcdefzx
                   5052: --->abcdefzx
                   5053:  +0 ^            (abc|def)
                   5054:  +1 ^            a
                   5055:  +2 ^^           b
                   5056:  +3 ^ ^          c
                   5057:  +4 ^  ^         |
                   5058:  +9 ^  ^         x
                   5059:  +5 ^            d
                   5060:  +0  ^           (abc|def)
                   5061:  +1  ^           a
                   5062:  +5  ^           d
                   5063:  +0   ^          (abc|def)
                   5064:  +1   ^          a
                   5065:  +5   ^          d
                   5066:  +0    ^         (abc|def)
                   5067:  +1    ^         a
                   5068:  +5    ^         d
                   5069:  +6    ^^        e
                   5070:  +7    ^ ^       f
                   5071:  +8    ^  ^      )
                   5072:  +9    ^  ^      x
                   5073:  +0     ^        (abc|def)
                   5074:  +1     ^        a
                   5075:  +5     ^        d
                   5076:  +0      ^       (abc|def)
                   5077:  +1      ^       a
                   5078:  +5      ^       d
                   5079:  +0       ^      (abc|def)
                   5080:  +1       ^      a
                   5081:  +5       ^      d
                   5082:  +0        ^     (abc|def)
                   5083:  +1        ^     a
                   5084:  +5        ^     d
                   5085: No match
                   5086: 
                   5087: /(ab|cd){3,4}/IC
                   5088: Capturing subpattern count = 1
                   5089: Options:
                   5090: No first char
                   5091: No need char
                   5092:   ababab
                   5093: --->ababab
                   5094:  +0 ^          (ab|cd){3,4}
                   5095:  +1 ^          a
                   5096:  +2 ^^         b
                   5097:  +3 ^ ^        |
                   5098:  +1 ^ ^        a
                   5099:  +2 ^  ^       b
                   5100:  +3 ^   ^      |
                   5101:  +1 ^   ^      a
                   5102:  +2 ^    ^     b
                   5103:  +3 ^     ^    |
                   5104:  +1 ^     ^    a
                   5105:  +4 ^     ^    c
                   5106: +12 ^     ^    
                   5107:  0: ababab
                   5108:  1: ab
                   5109:   abcdabcd
                   5110: --->abcdabcd
                   5111:  +0 ^            (ab|cd){3,4}
                   5112:  +1 ^            a
                   5113:  +2 ^^           b
                   5114:  +3 ^ ^          |
                   5115:  +1 ^ ^          a
                   5116:  +4 ^ ^          c
                   5117:  +5 ^  ^         d
                   5118:  +6 ^   ^        )
                   5119:  +1 ^   ^        a
                   5120:  +2 ^    ^       b
                   5121:  +3 ^     ^      |
                   5122:  +1 ^     ^      a
                   5123:  +4 ^     ^      c
                   5124:  +5 ^      ^     d
                   5125:  +6 ^       ^    )
                   5126: +12 ^       ^    
                   5127:  0: abcdabcd
                   5128:  1: cd
                   5129:   abcdcdcdcdcd
                   5130: --->abcdcdcdcdcd
                   5131:  +0 ^                (ab|cd){3,4}
                   5132:  +1 ^                a
                   5133:  +2 ^^               b
                   5134:  +3 ^ ^              |
                   5135:  +1 ^ ^              a
                   5136:  +4 ^ ^              c
                   5137:  +5 ^  ^             d
                   5138:  +6 ^   ^            )
                   5139:  +1 ^   ^            a
                   5140:  +4 ^   ^            c
                   5141:  +5 ^    ^           d
                   5142:  +6 ^     ^          )
                   5143:  +1 ^     ^          a
                   5144:  +4 ^     ^          c
                   5145:  +5 ^      ^         d
                   5146:  +6 ^       ^        )
                   5147: +12 ^       ^        
                   5148:  0: abcdcdcd
                   5149:  1: cd
                   5150: 
                   5151: /([ab]{,4}c|xy)/ICDZS
                   5152: ------------------------------------------------------------------
                   5153:         Bra
                   5154:         Callout 255 0 14
                   5155:         CBra 1
                   5156:         Callout 255 1 4
                   5157:         [ab]
                   5158:         Callout 255 5 1
                   5159:         {
                   5160:         Callout 255 6 1
                   5161:         ,
                   5162:         Callout 255 7 1
                   5163:         4
                   5164:         Callout 255 8 1
                   5165:         }
                   5166:         Callout 255 9 1
                   5167:         c
                   5168:         Callout 255 10 0
                   5169:         Alt
                   5170:         Callout 255 11 1
                   5171:         x
                   5172:         Callout 255 12 1
                   5173:         y
                   5174:         Callout 255 13 0
                   5175:         Ket
                   5176:         Callout 255 14 0
                   5177:         Ket
                   5178:         End
                   5179: ------------------------------------------------------------------
                   5180: Capturing subpattern count = 1
                   5181: Options:
                   5182: No first char
                   5183: No need char
                   5184: Subject length lower bound = 2
                   5185: Starting byte set: a b x 
                   5186:     Note: that { does NOT introduce a quantifier
                   5187: --->Note: that { does NOT introduce a quantifier
                   5188:  +0         ^                                        ([ab]{,4}c|xy)
                   5189:  +1         ^                                        [ab]
                   5190:  +5         ^^                                       {
                   5191: +11         ^                                        x
                   5192:  +0                                 ^                ([ab]{,4}c|xy)
                   5193:  +1                                 ^                [ab]
                   5194:  +5                                 ^^               {
                   5195: +11                                 ^                x
                   5196:  +0                                     ^            ([ab]{,4}c|xy)
                   5197:  +1                                     ^            [ab]
                   5198:  +5                                     ^^           {
                   5199: +11                                     ^            x
                   5200: No match
                   5201: 
                   5202: /([ab]{,4}c|xy)/ICDZSS
                   5203: ------------------------------------------------------------------
                   5204:         Bra
                   5205:         Callout 255 0 14
                   5206:         CBra 1
                   5207:         Callout 255 1 4
                   5208:         [ab]
                   5209:         Callout 255 5 1
                   5210:         {
                   5211:         Callout 255 6 1
                   5212:         ,
                   5213:         Callout 255 7 1
                   5214:         4
                   5215:         Callout 255 8 1
                   5216:         }
                   5217:         Callout 255 9 1
                   5218:         c
                   5219:         Callout 255 10 0
                   5220:         Alt
                   5221:         Callout 255 11 1
                   5222:         x
                   5223:         Callout 255 12 1
                   5224:         y
                   5225:         Callout 255 13 0
                   5226:         Ket
                   5227:         Callout 255 14 0
                   5228:         Ket
                   5229:         End
                   5230: ------------------------------------------------------------------
                   5231: Capturing subpattern count = 1
                   5232: Options:
                   5233: No first char
                   5234: No need char
                   5235:     Note: that { does NOT introduce a quantifier
                   5236: --->Note: that { does NOT introduce a quantifier
                   5237:  +0 ^                                                ([ab]{,4}c|xy)
                   5238:  +1 ^                                                [ab]
                   5239: +11 ^                                                x
                   5240:  +0  ^                                               ([ab]{,4}c|xy)
                   5241:  +1  ^                                               [ab]
                   5242: +11  ^                                               x
                   5243:  +0   ^                                              ([ab]{,4}c|xy)
                   5244:  +1   ^                                              [ab]
                   5245: +11   ^                                              x
                   5246:  +0    ^                                             ([ab]{,4}c|xy)
                   5247:  +1    ^                                             [ab]
                   5248: +11    ^                                             x
                   5249:  +0     ^                                            ([ab]{,4}c|xy)
                   5250:  +1     ^                                            [ab]
                   5251: +11     ^                                            x
                   5252:  +0      ^                                           ([ab]{,4}c|xy)
                   5253:  +1      ^                                           [ab]
                   5254: +11      ^                                           x
                   5255:  +0       ^                                          ([ab]{,4}c|xy)
                   5256:  +1       ^                                          [ab]
                   5257: +11       ^                                          x
                   5258:  +0        ^                                         ([ab]{,4}c|xy)
                   5259:  +1        ^                                         [ab]
                   5260: +11        ^                                         x
                   5261:  +0         ^                                        ([ab]{,4}c|xy)
                   5262:  +1         ^                                        [ab]
                   5263:  +5         ^^                                       {
                   5264: +11         ^                                        x
                   5265:  +0          ^                                       ([ab]{,4}c|xy)
                   5266:  +1          ^                                       [ab]
                   5267: +11          ^                                       x
                   5268:  +0           ^                                      ([ab]{,4}c|xy)
                   5269:  +1           ^                                      [ab]
                   5270: +11           ^                                      x
                   5271:  +0            ^                                     ([ab]{,4}c|xy)
                   5272:  +1            ^                                     [ab]
                   5273: +11            ^                                     x
                   5274:  +0             ^                                    ([ab]{,4}c|xy)
                   5275:  +1             ^                                    [ab]
                   5276: +11             ^                                    x
                   5277:  +0              ^                                   ([ab]{,4}c|xy)
                   5278:  +1              ^                                   [ab]
                   5279: +11              ^                                   x
                   5280:  +0               ^                                  ([ab]{,4}c|xy)
                   5281:  +1               ^                                  [ab]
                   5282: +11               ^                                  x
                   5283:  +0                ^                                 ([ab]{,4}c|xy)
                   5284:  +1                ^                                 [ab]
                   5285: +11                ^                                 x
                   5286:  +0                 ^                                ([ab]{,4}c|xy)
                   5287:  +1                 ^                                [ab]
                   5288: +11                 ^                                x
                   5289:  +0                  ^                               ([ab]{,4}c|xy)
                   5290:  +1                  ^                               [ab]
                   5291: +11                  ^                               x
                   5292:  +0                   ^                              ([ab]{,4}c|xy)
                   5293:  +1                   ^                              [ab]
                   5294: +11                   ^                              x
                   5295:  +0                    ^                             ([ab]{,4}c|xy)
                   5296:  +1                    ^                             [ab]
                   5297: +11                    ^                             x
                   5298:  +0                     ^                            ([ab]{,4}c|xy)
                   5299:  +1                     ^                            [ab]
                   5300: +11                     ^                            x
                   5301:  +0                      ^                           ([ab]{,4}c|xy)
                   5302:  +1                      ^                           [ab]
                   5303: +11                      ^                           x
                   5304:  +0                       ^                          ([ab]{,4}c|xy)
                   5305:  +1                       ^                          [ab]
                   5306: +11                       ^                          x
                   5307:  +0                        ^                         ([ab]{,4}c|xy)
                   5308:  +1                        ^                         [ab]
                   5309: +11                        ^                         x
                   5310:  +0                         ^                        ([ab]{,4}c|xy)
                   5311:  +1                         ^                        [ab]
                   5312: +11                         ^                        x
                   5313:  +0                          ^                       ([ab]{,4}c|xy)
                   5314:  +1                          ^                       [ab]
                   5315: +11                          ^                       x
                   5316:  +0                           ^                      ([ab]{,4}c|xy)
                   5317:  +1                           ^                      [ab]
                   5318: +11                           ^                      x
                   5319:  +0                            ^                     ([ab]{,4}c|xy)
                   5320:  +1                            ^                     [ab]
                   5321: +11                            ^                     x
                   5322:  +0                             ^                    ([ab]{,4}c|xy)
                   5323:  +1                             ^                    [ab]
                   5324: +11                             ^                    x
                   5325:  +0                              ^                   ([ab]{,4}c|xy)
                   5326:  +1                              ^                   [ab]
                   5327: +11                              ^                   x
                   5328:  +0                               ^                  ([ab]{,4}c|xy)
                   5329:  +1                               ^                  [ab]
                   5330: +11                               ^                  x
                   5331:  +0                                ^                 ([ab]{,4}c|xy)
                   5332:  +1                                ^                 [ab]
                   5333: +11                                ^                 x
                   5334:  +0                                 ^                ([ab]{,4}c|xy)
                   5335:  +1                                 ^                [ab]
                   5336:  +5                                 ^^               {
                   5337: +11                                 ^                x
                   5338:  +0                                  ^               ([ab]{,4}c|xy)
                   5339:  +1                                  ^               [ab]
                   5340: +11                                  ^               x
                   5341:  +0                                   ^              ([ab]{,4}c|xy)
                   5342:  +1                                   ^              [ab]
                   5343: +11                                   ^              x
                   5344:  +0                                    ^             ([ab]{,4}c|xy)
                   5345:  +1                                    ^             [ab]
                   5346: +11                                    ^             x
                   5347:  +0                                     ^            ([ab]{,4}c|xy)
                   5348:  +1                                     ^            [ab]
                   5349:  +5                                     ^^           {
                   5350: +11                                     ^            x
                   5351:  +0                                      ^           ([ab]{,4}c|xy)
                   5352:  +1                                      ^           [ab]
                   5353: +11                                      ^           x
                   5354:  +0                                       ^          ([ab]{,4}c|xy)
                   5355:  +1                                       ^          [ab]
                   5356: +11                                       ^          x
                   5357:  +0                                        ^         ([ab]{,4}c|xy)
                   5358:  +1                                        ^         [ab]
                   5359: +11                                        ^         x
                   5360:  +0                                         ^        ([ab]{,4}c|xy)
                   5361:  +1                                         ^        [ab]
                   5362: +11                                         ^        x
                   5363:  +0                                          ^       ([ab]{,4}c|xy)
                   5364:  +1                                          ^       [ab]
                   5365: +11                                          ^       x
                   5366:  +0                                           ^      ([ab]{,4}c|xy)
                   5367:  +1                                           ^      [ab]
                   5368: +11                                           ^      x
                   5369:  +0                                            ^     ([ab]{,4}c|xy)
                   5370:  +1                                            ^     [ab]
                   5371: +11                                            ^     x
                   5372:  +0                                             ^    ([ab]{,4}c|xy)
                   5373:  +1                                             ^    [ab]
                   5374: +11                                             ^    x
                   5375: No match
                   5376: 
                   5377: /([ab]{1,4}c|xy){4,5}?123/ICDZ
                   5378: ------------------------------------------------------------------
                   5379:         Bra
                   5380:         Callout 255 0 21
                   5381:         CBra 1
                   5382:         Callout 255 1 9
                   5383:         [ab]{1,4}
                   5384:         Callout 255 10 1
                   5385:         c
                   5386:         Callout 255 11 0
                   5387:         Alt
                   5388:         Callout 255 12 1
                   5389:         x
                   5390:         Callout 255 13 1
                   5391:         y
                   5392:         Callout 255 14 0
                   5393:         Ket
                   5394:         CBra 1
                   5395:         Callout 255 1 9
                   5396:         [ab]{1,4}
                   5397:         Callout 255 10 1
                   5398:         c
                   5399:         Callout 255 11 0
                   5400:         Alt
                   5401:         Callout 255 12 1
                   5402:         x
                   5403:         Callout 255 13 1
                   5404:         y
                   5405:         Callout 255 14 0
                   5406:         Ket
                   5407:         CBra 1
                   5408:         Callout 255 1 9
                   5409:         [ab]{1,4}
                   5410:         Callout 255 10 1
                   5411:         c
                   5412:         Callout 255 11 0
                   5413:         Alt
                   5414:         Callout 255 12 1
                   5415:         x
                   5416:         Callout 255 13 1
                   5417:         y
                   5418:         Callout 255 14 0
                   5419:         Ket
                   5420:         CBra 1
                   5421:         Callout 255 1 9
                   5422:         [ab]{1,4}
                   5423:         Callout 255 10 1
                   5424:         c
                   5425:         Callout 255 11 0
                   5426:         Alt
                   5427:         Callout 255 12 1
                   5428:         x
                   5429:         Callout 255 13 1
                   5430:         y
                   5431:         Callout 255 14 0
                   5432:         Ket
                   5433:         Braminzero
                   5434:         CBra 1
                   5435:         Callout 255 1 9
                   5436:         [ab]{1,4}
                   5437:         Callout 255 10 1
                   5438:         c
                   5439:         Callout 255 11 0
                   5440:         Alt
                   5441:         Callout 255 12 1
                   5442:         x
                   5443:         Callout 255 13 1
                   5444:         y
                   5445:         Callout 255 14 0
                   5446:         Ket
                   5447:         Callout 255 21 1
                   5448:         1
                   5449:         Callout 255 22 1
                   5450:         2
                   5451:         Callout 255 23 1
                   5452:         3
                   5453:         Callout 255 24 0
                   5454:         Ket
                   5455:         End
                   5456: ------------------------------------------------------------------
                   5457: Capturing subpattern count = 1
                   5458: Options:
                   5459: No first char
                   5460: Need char = '3'
                   5461:     aacaacaacaacaac123
                   5462: --->aacaacaacaacaac123
                   5463:  +0 ^                      ([ab]{1,4}c|xy){4,5}?
                   5464:  +1 ^                      [ab]{1,4}
                   5465: +10 ^ ^                    c
                   5466: +11 ^  ^                   |
                   5467:  +1 ^  ^                   [ab]{1,4}
                   5468: +10 ^    ^                 c
                   5469: +11 ^     ^                |
                   5470:  +1 ^     ^                [ab]{1,4}
                   5471: +10 ^       ^              c
                   5472: +11 ^        ^             |
                   5473:  +1 ^        ^             [ab]{1,4}
                   5474: +10 ^          ^           c
                   5475: +11 ^           ^          |
                   5476: +21 ^           ^          1
                   5477:  +1 ^           ^          [ab]{1,4}
                   5478: +10 ^             ^        c
                   5479: +11 ^              ^       |
                   5480: +21 ^              ^       1
                   5481: +22 ^               ^      2
                   5482: +23 ^                ^     3
                   5483: +24 ^                 ^    
                   5484:  0: aacaacaacaacaac123
                   5485:  1: aac
                   5486: 
                   5487: /\b.*/I
                   5488: Capturing subpattern count = 0
                   5489: No options
                   5490: No first char
                   5491: No need char
                   5492:   ab cd\>1
                   5493:  0:  cd
                   5494: 
                   5495: /\b.*/Is
                   5496: Capturing subpattern count = 0
                   5497: Options: dotall
                   5498: No first char
                   5499: No need char
                   5500:   ab cd\>1
                   5501:  0:  cd
                   5502: 
                   5503: /(?!.bcd).*/I
                   5504: Capturing subpattern count = 0
                   5505: No options
                   5506: No first char
                   5507: No need char
                   5508:   Xbcd12345
                   5509:  0: bcd12345
                   5510: 
                   5511: /abcde/I
                   5512: Capturing subpattern count = 0
                   5513: No options
                   5514: First char = 'a'
                   5515: Need char = 'e'
                   5516:     ab\P
                   5517: Partial match: ab
                   5518:     abc\P
                   5519: Partial match: abc
                   5520:     abcd\P
                   5521: Partial match: abcd
                   5522:     abcde\P
                   5523:  0: abcde
                   5524:     the quick brown abc\P
                   5525: Partial match: abc
                   5526:     ** Failers\P
                   5527: No match
                   5528:     the quick brown abxyz fox\P
                   5529: No match
                   5530: 
                   5531: "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
                   5532: Capturing subpattern count = 3
                   5533: Options: anchored
                   5534: No first char
                   5535: Need char = '/'
                   5536:     13/05/04\P
                   5537:  0: 13/05/04
                   5538:  1: 13
                   5539:  2: 05
                   5540:     13/5/2004\P
                   5541:  0: 13/5/2004
                   5542:  1: 13
                   5543:  2: 5
                   5544:  3: 20
                   5545:     02/05/09\P
                   5546:  0: 02/05/09
                   5547:  1: 02
                   5548:  2: 05
                   5549:     1\P
                   5550: Partial match: 1
                   5551:     1/2\P
                   5552: Partial match: 1/2
                   5553:     1/2/0\P
                   5554: Partial match: 1/2/0
                   5555:     1/2/04\P
                   5556:  0: 1/2/04
                   5557:  1: 1
                   5558:  2: 2
                   5559:     0\P
                   5560: Partial match: 0
                   5561:     02/\P
                   5562: Partial match: 02/
                   5563:     02/0\P
                   5564: Partial match: 02/0
                   5565:     02/1\P
                   5566: Partial match: 02/1
                   5567:     ** Failers\P
                   5568: No match
                   5569:     \P
                   5570: No match
                   5571:     123\P
                   5572: No match
                   5573:     33/4/04\P
                   5574: No match
                   5575:     3/13/04\P
                   5576: No match
                   5577:     0/1/2003\P
                   5578: No match
                   5579:     0/\P
                   5580: No match
                   5581:     02/0/\P
                   5582: No match
                   5583:     02/13\P
                   5584: No match
                   5585: 
                   5586: /0{0,2}ABC/I
                   5587: Capturing subpattern count = 0
                   5588: No options
                   5589: No first char
                   5590: Need char = 'C'
                   5591: 
                   5592: /\d{3,}ABC/I
                   5593: Capturing subpattern count = 0
                   5594: No options
                   5595: No first char
                   5596: Need char = 'C'
                   5597: 
                   5598: /\d*ABC/I
                   5599: Capturing subpattern count = 0
                   5600: No options
                   5601: No first char
                   5602: Need char = 'C'
                   5603: 
                   5604: /[abc]+DE/I
                   5605: Capturing subpattern count = 0
                   5606: No options
                   5607: No first char
                   5608: Need char = 'E'
                   5609: 
                   5610: /[abc]?123/I
                   5611: Capturing subpattern count = 0
                   5612: No options
                   5613: No first char
                   5614: Need char = '3'
                   5615:     123\P
                   5616:  0: 123
                   5617:     a\P
                   5618: Partial match: a
                   5619:     b\P
                   5620: Partial match: b
                   5621:     c\P
                   5622: Partial match: c
                   5623:     c12\P
                   5624: Partial match: c12
                   5625:     c123\P
                   5626:  0: c123
                   5627: 
                   5628: /^(?:\d){3,5}X/I
                   5629: Capturing subpattern count = 0
                   5630: Options: anchored
                   5631: No first char
                   5632: Need char = 'X'
                   5633:     1\P
                   5634: Partial match: 1
                   5635:     123\P
                   5636: Partial match: 123
                   5637:     123X
                   5638:  0: 123X
                   5639:     1234\P
                   5640: Partial match: 1234
                   5641:     1234X
                   5642:  0: 1234X
                   5643:     12345\P
                   5644: Partial match: 12345
                   5645:     12345X
                   5646:  0: 12345X
                   5647:     *** Failers
                   5648: No match
                   5649:     1X
                   5650: No match
                   5651:     123456\P
                   5652: No match
                   5653: 
                   5654: /abc/IS>testsavedregex
                   5655: Capturing subpattern count = 0
                   5656: No options
                   5657: First char = 'a'
                   5658: Need char = 'c'
                   5659: Subject length lower bound = 3
                   5660: No set of starting bytes
                   5661: Compiled pattern written to testsavedregex
                   5662: Study data written to testsavedregex
                   5663: <testsavedregex
                   5664: Compiled pattern loaded from testsavedregex
                   5665: Study data loaded from testsavedregex
                   5666:     abc
                   5667:  0: abc
                   5668:     ** Failers
                   5669: No match
                   5670:     bca
                   5671: No match
                   5672: 
                   5673: /abc/ISS>testsavedregex
                   5674: Capturing subpattern count = 0
                   5675: No options
                   5676: First char = 'a'
                   5677: Need char = 'c'
                   5678: Compiled pattern written to testsavedregex
                   5679: <testsavedregex
                   5680: Compiled pattern loaded from testsavedregex
                   5681: No study data
                   5682:     abc
                   5683:  0: abc
                   5684:     ** Failers
                   5685: No match
                   5686:     bca
                   5687: No match
                   5688: 
                   5689: /abc/IFS>testsavedregex
                   5690: Capturing subpattern count = 0
                   5691: No options
                   5692: First char = 'a'
                   5693: Need char = 'c'
                   5694: Subject length lower bound = 3
                   5695: No set of starting bytes
                   5696: Compiled pattern written to testsavedregex
                   5697: Study data written to testsavedregex
                   5698: <testsavedregex
                   5699: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5700: Study data loaded from testsavedregex
                   5701:     abc
                   5702:  0: abc
                   5703:     ** Failers
                   5704: No match
                   5705:     bca
                   5706: No match
                   5707: 
                   5708: /abc/IFSS>testsavedregex
                   5709: Capturing subpattern count = 0
                   5710: No options
                   5711: First char = 'a'
                   5712: Need char = 'c'
                   5713: Compiled pattern written to testsavedregex
                   5714: <testsavedregex
                   5715: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5716: No study data
                   5717:     abc
                   5718:  0: abc
                   5719:     ** Failers
                   5720: No match
                   5721:     bca
                   5722: No match
                   5723: 
                   5724: /(a|b)/IS>testsavedregex
                   5725: Capturing subpattern count = 1
                   5726: No options
                   5727: No first char
                   5728: No need char
                   5729: Subject length lower bound = 1
                   5730: Starting byte set: a b 
                   5731: Compiled pattern written to testsavedregex
                   5732: Study data written to testsavedregex
                   5733: <testsavedregex
                   5734: Compiled pattern loaded from testsavedregex
                   5735: Study data loaded from testsavedregex
                   5736:     abc
                   5737:  0: a
                   5738:  1: a
                   5739:     ** Failers
                   5740:  0: a
                   5741:  1: a
                   5742:     def
                   5743: No match
                   5744: 
                   5745: /(a|b)/ISS>testsavedregex
                   5746: Capturing subpattern count = 1
                   5747: No options
                   5748: No first char
                   5749: No need char
                   5750: Compiled pattern written to testsavedregex
                   5751: <testsavedregex
                   5752: Compiled pattern loaded from testsavedregex
                   5753: No study data
                   5754:     abc
                   5755:  0: a
                   5756:  1: a
                   5757:     ** Failers
                   5758:  0: a
                   5759:  1: a
                   5760:     def
                   5761: No match
                   5762: 
                   5763: /(a|b)/ISF>testsavedregex
                   5764: Capturing subpattern count = 1
                   5765: No options
                   5766: No first char
                   5767: No need char
                   5768: Subject length lower bound = 1
                   5769: Starting byte set: a b 
                   5770: Compiled pattern written to testsavedregex
                   5771: Study data written to testsavedregex
                   5772: <testsavedregex
                   5773: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5774: Study data loaded from testsavedregex
                   5775:     abc
                   5776:  0: a
                   5777:  1: a
                   5778:     ** Failers
                   5779:  0: a
                   5780:  1: a
                   5781:     def
                   5782: No match
                   5783: 
                   5784: /(a|b)/ISSF>testsavedregex
                   5785: Capturing subpattern count = 1
                   5786: No options
                   5787: No first char
                   5788: No need char
                   5789: Compiled pattern written to testsavedregex
                   5790: <testsavedregex
                   5791: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5792: No study data
                   5793:     abc
                   5794:  0: a
                   5795:  1: a
                   5796:     ** Failers
                   5797:  0: a
                   5798:  1: a
                   5799:     def
                   5800: No match
                   5801: 
                   5802: ~<(\w+)/?>(.)*</(\1)>~smgI
                   5803: Capturing subpattern count = 3
                   5804: Max back reference = 1
                   5805: Options: multiline dotall
                   5806: First char = '<'
                   5807: Need char = '>'
                   5808:     \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>
                   5809:  0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>
                   5810:  1: seite
                   5811:  2: \x0a
                   5812:  3: seite
                   5813: 
                   5814: /^a/IF
                   5815: Capturing subpattern count = 0
                   5816: Options: anchored
                   5817: No first char
                   5818: No need char
                   5819: 
                   5820: /line\nbreak/I
                   5821: Capturing subpattern count = 0
                   5822: Contains explicit CR or LF match
                   5823: No options
                   5824: First char = 'l'
                   5825: Need char = 'k'
                   5826:     this is a line\nbreak
                   5827:  0: line\x0abreak
                   5828:     line one\nthis is a line\nbreak in the second line
                   5829:  0: line\x0abreak
                   5830: 
                   5831: /line\nbreak/If
                   5832: Capturing subpattern count = 0
                   5833: Contains explicit CR or LF match
                   5834: Options: firstline
                   5835: First char = 'l'
                   5836: Need char = 'k'
                   5837:     this is a line\nbreak
                   5838:  0: line\x0abreak
                   5839:     ** Failers
                   5840: No match
                   5841:     line one\nthis is a line\nbreak in the second line
                   5842: No match
                   5843: 
                   5844: /line\nbreak/Imf
                   5845: Capturing subpattern count = 0
                   5846: Contains explicit CR or LF match
                   5847: Options: multiline firstline
                   5848: First char = 'l'
                   5849: Need char = 'k'
                   5850:     this is a line\nbreak
                   5851:  0: line\x0abreak
                   5852:     ** Failers
                   5853: No match
                   5854:     line one\nthis is a line\nbreak in the second line
                   5855: No match
                   5856: 
                   5857: /ab.cd/P
                   5858:     ab-cd
                   5859:  0: ab-cd
                   5860:     ab=cd
                   5861:  0: ab=cd
                   5862:     ** Failers
                   5863: No match: POSIX code 17: match failed
                   5864:     ab\ncd
                   5865: No match: POSIX code 17: match failed
                   5866: 
                   5867: /ab.cd/Ps
                   5868:     ab-cd
                   5869:  0: ab-cd
                   5870:     ab=cd
                   5871:  0: ab=cd
                   5872:     ab\ncd
                   5873:  0: ab\x0acd
                   5874: 
                   5875: /(?i)(?-i)AbCd/I
                   5876: Capturing subpattern count = 0
                   5877: No options
                   5878: First char = 'A'
                   5879: Need char = 'd'
                   5880:     AbCd
                   5881:  0: AbCd
                   5882:     ** Failers
                   5883: No match
                   5884:     abcd
                   5885: No match
                   5886: 
                   5887: /a{11111111111111111111}/I
                   5888: Failed: number too big in {} quantifier at offset 22
                   5889: 
                   5890: /(){64294967295}/I
                   5891: Failed: number too big in {} quantifier at offset 14
                   5892: 
                   5893: /(){2,4294967295}/I
                   5894: Failed: number too big in {} quantifier at offset 15
                   5895: 
                   5896: "(?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
                   5897: Capturing subpattern count = 1
                   5898: Max back reference = 1
                   5899: No options
                   5900: First char = 'a' (caseless)
                   5901: Need char = 'B'
                   5902:     abcdefghijklAkB
                   5903:  0: abcdefghijklAkB
                   5904:  1: k
                   5905: 
                   5906: "(?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
                   5907: Capturing subpattern count = 12
                   5908: Max back reference = 11
                   5909: Named capturing subpatterns:
                   5910:   n0    1
                   5911:   n1    2
                   5912:   n10  11
                   5913:   n11  12
                   5914:   n2    3
                   5915:   n3    4
                   5916:   n4    5
                   5917:   n5    6
                   5918:   n6    7
                   5919:   n7    8
                   5920:   n8    9
                   5921:   n9   10
                   5922: No options
                   5923: First char = 'a'
                   5924: Need char = 'B'
                   5925:     abcdefghijklAkB
                   5926:  0: abcdefghijklAkB
                   5927:  1: a
                   5928:  2: b
                   5929:  3: c
                   5930:  4: d
                   5931:  5: e
                   5932:  6: f
                   5933:  7: g
                   5934:  8: h
                   5935:  9: i
                   5936: 10: j
                   5937: 11: k
                   5938: 12: l
                   5939: 
                   5940: "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
                   5941: Capturing subpattern count = 12
                   5942: Max back reference = 11
                   5943: No options
                   5944: First char = 'a'
                   5945: Need char = 'B'
                   5946:     abcdefghijklAkB
                   5947:  0: abcdefghijklAkB
                   5948:  1: a
                   5949:  2: b
                   5950:  3: c
                   5951:  4: d
                   5952:  5: e
                   5953:  6: f
                   5954:  7: g
                   5955:  8: h
                   5956:  9: i
                   5957: 10: j
                   5958: 11: k
                   5959: 12: l
                   5960: 
                   5961: "(?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
                   5962: Capturing subpattern count = 101
                   5963: Named capturing subpatterns:
                   5964:   name0     1
                   5965:   name1     2
                   5966:   name10   11
                   5967:   name100 101
                   5968:   name11   12
                   5969:   name12   13
                   5970:   name13   14
                   5971:   name14   15
                   5972:   name15   16
                   5973:   name16   17
                   5974:   name17   18
                   5975:   name18   19
                   5976:   name19   20
                   5977:   name2     3
                   5978:   name20   21
                   5979:   name21   22
                   5980:   name22   23
                   5981:   name23   24
                   5982:   name24   25
                   5983:   name25   26
                   5984:   name26   27
                   5985:   name27   28
                   5986:   name28   29
                   5987:   name29   30
                   5988:   name3     4
                   5989:   name30   31
                   5990:   name31   32
                   5991:   name32   33
                   5992:   name33   34
                   5993:   name34   35
                   5994:   name35   36
                   5995:   name36   37
                   5996:   name37   38
                   5997:   name38   39
                   5998:   name39   40
                   5999:   name4     5
                   6000:   name40   41
                   6001:   name41   42
                   6002:   name42   43
                   6003:   name43   44
                   6004:   name44   45
                   6005:   name45   46
                   6006:   name46   47
                   6007:   name47   48
                   6008:   name48   49
                   6009:   name49   50
                   6010:   name5     6
                   6011:   name50   51
                   6012:   name51   52
                   6013:   name52   53
                   6014:   name53   54
                   6015:   name54   55
                   6016:   name55   56
                   6017:   name56   57
                   6018:   name57   58
                   6019:   name58   59
                   6020:   name59   60
                   6021:   name6     7
                   6022:   name60   61
                   6023:   name61   62
                   6024:   name62   63
                   6025:   name63   64
                   6026:   name64   65
                   6027:   name65   66
                   6028:   name66   67
                   6029:   name67   68
                   6030:   name68   69
                   6031:   name69   70
                   6032:   name7     8
                   6033:   name70   71
                   6034:   name71   72
                   6035:   name72   73
                   6036:   name73   74
                   6037:   name74   75
                   6038:   name75   76
                   6039:   name76   77
                   6040:   name77   78
                   6041:   name78   79
                   6042:   name79   80
                   6043:   name8     9
                   6044:   name80   81
                   6045:   name81   82
                   6046:   name82   83
                   6047:   name83   84
                   6048:   name84   85
                   6049:   name85   86
                   6050:   name86   87
                   6051:   name87   88
                   6052:   name88   89
                   6053:   name89   90
                   6054:   name9    10
                   6055:   name90   91
                   6056:   name91   92
                   6057:   name92   93
                   6058:   name93   94
                   6059:   name94   95
                   6060:   name95   96
                   6061:   name96   97
                   6062:   name97   98
                   6063:   name98   99
                   6064:   name99  100
                   6065: No options
                   6066: First char = 'a'
                   6067: Need char = 'a'
                   6068:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   6069: Matched, but too many substrings
                   6070:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   6071:  1: a
                   6072:  2: a
                   6073:  3: a
                   6074:  4: a
                   6075:  5: a
                   6076:  6: a
                   6077:  7: a
                   6078:  8: a
                   6079:  9: a
                   6080: 10: a
                   6081: 11: a
                   6082: 12: a
                   6083: 13: a
                   6084: 14: a
                   6085: 
                   6086: "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
                   6087: Capturing subpattern count = 101
                   6088: No options
                   6089: First char = 'a'
                   6090: Need char = 'a'
                   6091:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   6092: Matched, but too many substrings
                   6093:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   6094:  1: a
                   6095:  2: a
                   6096:  3: a
                   6097:  4: a
                   6098:  5: a
                   6099:  6: a
                   6100:  7: a
                   6101:  8: a
                   6102:  9: a
                   6103: 10: a
                   6104: 11: a
                   6105: 12: a
                   6106: 13: a
                   6107: 14: a
                   6108: 
                   6109: /[^()]*(?:\((?R)\)[^()]*)*/I
                   6110: Capturing subpattern count = 0
                   6111: No options
                   6112: No first char
                   6113: No need char
                   6114:     (this(and)that
                   6115:  0: 
                   6116:     (this(and)that)
                   6117:  0: (this(and)that)
                   6118:     (this(and)that)stuff
                   6119:  0: (this(and)that)stuff
                   6120: 
                   6121: /[^()]*(?:\((?>(?R))\)[^()]*)*/I
                   6122: Capturing subpattern count = 0
                   6123: No options
                   6124: No first char
                   6125: No need char
                   6126:     (this(and)that
                   6127:  0: 
                   6128:     (this(and)that)
                   6129:  0: (this(and)that)
                   6130: 
                   6131: /[^()]*(?:\((?R)\))*[^()]*/I
                   6132: Capturing subpattern count = 0
                   6133: No options
                   6134: No first char
                   6135: No need char
                   6136:     (this(and)that
                   6137:  0: 
                   6138:     (this(and)that)
                   6139:  0: (this(and)that)
                   6140: 
                   6141: /(?:\((?R)\))*[^()]*/I
                   6142: Capturing subpattern count = 0
                   6143: No options
                   6144: No first char
                   6145: No need char
                   6146:     (this(and)that
                   6147:  0: 
                   6148:     (this(and)that)
                   6149:  0: 
                   6150:     ((this))
                   6151:  0: ((this))
                   6152: 
                   6153: /(?:\((?R)\))|[^()]*/I
                   6154: Capturing subpattern count = 0
                   6155: No options
                   6156: No first char
                   6157: No need char
                   6158:     (this(and)that
                   6159:  0: 
                   6160:     (this(and)that)
                   6161:  0: 
                   6162:     (this)
                   6163:  0: (this)
                   6164:     ((this))
                   6165:  0: ((this))
                   6166: 
                   6167: /a(b)c/PN
                   6168:     abc
                   6169: Matched with REG_NOSUB
                   6170: 
                   6171: /a(?P<name>b)c/PN
                   6172:     abc
                   6173: Matched with REG_NOSUB
                   6174: 
                   6175: /\x{100}/I
                   6176: Failed: character value in \x{...} sequence is too large at offset 6
                   6177: 
                   6178: /\x{0000ff}/I
                   6179: Capturing subpattern count = 0
                   6180: No options
                   6181: First char = 255
                   6182: No need char
                   6183: 
                   6184: /^((?P<A>a1)|(?P<A>a2)b)/I
                   6185: Failed: two named subpatterns have the same name at offset 17
                   6186: 
                   6187: /^((?P<A>a1)|(?P<A>a2)b)/IJ
                   6188: Capturing subpattern count = 3
                   6189: Named capturing subpatterns:
                   6190:   A   2
                   6191:   A   3
                   6192: Options: anchored dupnames
                   6193: No first char
                   6194: No need char
                   6195:     a1b\CA
                   6196:  0: a1
                   6197:  1: a1
                   6198:  2: a1
                   6199:   C a1 (2) A
                   6200:     a2b\CA
                   6201:  0: a2b
                   6202:  1: a2b
                   6203:  2: <unset>
                   6204:  3: a2
                   6205:   C a2 (2) A
                   6206:     ** Failers
                   6207: No match
                   6208:     a1b\CZ\CA
                   6209: no parentheses with name "Z"
                   6210:  0: a1
                   6211:  1: a1
                   6212:  2: a1
                   6213: copy substring Z failed -7
                   6214:   C a1 (2) A
                   6215: 
                   6216: /^(?P<A>a)(?P<A>b)/IJ
                   6217: Capturing subpattern count = 2
                   6218: Named capturing subpatterns:
                   6219:   A   1
                   6220:   A   2
                   6221: Options: anchored dupnames
                   6222: No first char
                   6223: No need char
                   6224:     ab\CA
                   6225:  0: ab
                   6226:  1: a
                   6227:  2: b
                   6228:   C a (1) A
                   6229: 
                   6230: /^(?P<A>a)(?P<A>b)|cd/IJ
                   6231: Capturing subpattern count = 2
                   6232: Named capturing subpatterns:
                   6233:   A   1
                   6234:   A   2
                   6235: Options: dupnames
                   6236: No first char
                   6237: No need char
                   6238:     ab\CA
                   6239:  0: ab
                   6240:  1: a
                   6241:  2: b
                   6242:   C a (1) A
                   6243:     cd\CA
                   6244:  0: cd
                   6245: copy substring A failed -7
                   6246: 
                   6247: /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
                   6248: Capturing subpattern count = 4
                   6249: Named capturing subpatterns:
                   6250:   A   1
                   6251:   A   2
                   6252:   A   3
                   6253:   A   4
                   6254: Options: dupnames
                   6255: No first char
                   6256: No need char
                   6257:     cdefgh\CA
                   6258:  0: cdefgh
                   6259:  1: <unset>
                   6260:  2: <unset>
                   6261:  3: ef
                   6262:  4: gh
                   6263:   C ef (2) A
                   6264: 
                   6265: /^((?P<A>a1)|(?P<A>a2)b)/IJ
                   6266: Capturing subpattern count = 3
                   6267: Named capturing subpatterns:
                   6268:   A   2
                   6269:   A   3
                   6270: Options: anchored dupnames
                   6271: No first char
                   6272: No need char
                   6273:     a1b\GA
                   6274:  0: a1
                   6275:  1: a1
                   6276:  2: a1
                   6277:   G a1 (2) A
                   6278:     a2b\GA
                   6279:  0: a2b
                   6280:  1: a2b
                   6281:  2: <unset>
                   6282:  3: a2
                   6283:   G a2 (2) A
                   6284:     ** Failers
                   6285: No match
                   6286:     a1b\GZ\GA
                   6287: no parentheses with name "Z"
                   6288:  0: a1
                   6289:  1: a1
                   6290:  2: a1
                   6291: copy substring Z failed -7
                   6292:   G a1 (2) A
                   6293: 
                   6294: /^(?P<A>a)(?P<A>b)/IJ
                   6295: Capturing subpattern count = 2
                   6296: Named capturing subpatterns:
                   6297:   A   1
                   6298:   A   2
                   6299: Options: anchored dupnames
                   6300: No first char
                   6301: No need char
                   6302:     ab\GA
                   6303:  0: ab
                   6304:  1: a
                   6305:  2: b
                   6306:   G a (1) A
                   6307: 
                   6308: /^(?P<A>a)(?P<A>b)|cd/IJ
                   6309: Capturing subpattern count = 2
                   6310: Named capturing subpatterns:
                   6311:   A   1
                   6312:   A   2
                   6313: Options: dupnames
                   6314: No first char
                   6315: No need char
                   6316:     ab\GA
                   6317:  0: ab
                   6318:  1: a
                   6319:  2: b
                   6320:   G a (1) A
                   6321:     cd\GA
                   6322:  0: cd
                   6323: copy substring A failed -7
                   6324: 
                   6325: /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
                   6326: Capturing subpattern count = 4
                   6327: Named capturing subpatterns:
                   6328:   A   1
                   6329:   A   2
                   6330:   A   3
                   6331:   A   4
                   6332: Options: dupnames
                   6333: No first char
                   6334: No need char
                   6335:     cdefgh\GA
                   6336:  0: cdefgh
                   6337:  1: <unset>
                   6338:  2: <unset>
                   6339:  3: ef
                   6340:  4: gh
                   6341:   G ef (2) A
                   6342: 
                   6343: /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
                   6344: Capturing subpattern count = 3
                   6345: Named capturing subpatterns:
                   6346:   A   2
                   6347:   A   3
                   6348: Options: anchored dupnames
                   6349: Duplicate name status changes
                   6350: No first char
                   6351: No need char
                   6352:     a1b\CA
                   6353:  0: a1
                   6354:  1: a1
                   6355:  2: a1
                   6356:   C a1 (2) A
                   6357:     a2b\CA
                   6358:  0: a2b
                   6359:  1: a2b
                   6360:  2: <unset>
                   6361:  3: a2
                   6362:   C a2 (2) A
                   6363: 
                   6364: /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
                   6365: Failed: two named subpatterns have the same name at offset 37
                   6366: 
                   6367: / In this next test, J is not set at the outer level; consequently it isn't
                   6368: set in the pattern's options; consequently pcre_get_named_substring() produces
                   6369: a random value. /Ix
                   6370: Capturing subpattern count = 1
                   6371: Options: extended
                   6372: First char = 'I'
                   6373: Need char = 'e'
                   6374: 
                   6375: /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
                   6376: Capturing subpattern count = 4
                   6377: Named capturing subpatterns:
                   6378:   A   1
                   6379:   B   2
                   6380:   B   3
                   6381:   C   4
                   6382: Options: anchored
                   6383: Duplicate name status changes
                   6384: No first char
                   6385: No need char
                   6386:     a bc d\CA\CB\CC
                   6387:  0: a bc d
                   6388:  1: a
                   6389:  2: b
                   6390:  3: c
                   6391:  4: d
                   6392:   C a (1) A
                   6393:   C b (1) B
                   6394:   C d (1) C
                   6395: 
                   6396: /^(?P<A>a)?(?(A)a|b)/I
                   6397: Capturing subpattern count = 1
                   6398: Named capturing subpatterns:
                   6399:   A   1
                   6400: Options: anchored
                   6401: No first char
                   6402: No need char
                   6403:     aabc
                   6404:  0: aa
                   6405:  1: a
                   6406:     bc
                   6407:  0: b
                   6408:     ** Failers
                   6409: No match
                   6410:     abc
                   6411: No match
                   6412: 
                   6413: /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
                   6414: Capturing subpattern count = 1
                   6415: Named capturing subpatterns:
                   6416:   ZZ   1
                   6417: No options
                   6418: No first char
                   6419: Need char = 'X'
                   6420:     bXaX
                   6421:  0: bXaX
                   6422:  1: X
                   6423: 
                   6424: /(?:(?(2y)a|b)(X))+/I
                   6425: Failed: reference to non-existent subpattern at offset 9
                   6426: 
                   6427: /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
                   6428: Failed: reference to non-existent subpattern at offset 9
                   6429: 
                   6430: /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
                   6431: Capturing subpattern count = 1
                   6432: Named capturing subpatterns:
                   6433:   ZZ   1
                   6434: No options
                   6435: No first char
                   6436: Need char = 'X'
                   6437:     bbXaaX
                   6438:  0: bbXaaX
                   6439:  1: X
                   6440: 
                   6441: /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
                   6442: Capturing subpattern count = 1
                   6443: Named capturing subpatterns:
                   6444:   ZZ   1
                   6445: No options
                   6446: No first char
                   6447: Need char = 'X'
                   6448:     (b)\\Xa\\X
                   6449:  0: (b)\Xa\X
                   6450:  1: X
                   6451: 
                   6452: /(?P<ABC/I
                   6453: Failed: syntax error in subpattern name (missing terminator) at offset 7
                   6454: 
                   6455: /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
                   6456: Capturing subpattern count = 1
                   6457: Max back reference = 1
                   6458: Named capturing subpatterns:
                   6459:   A   1
                   6460: No options
                   6461: No first char
                   6462: No need char
                   6463:     bXXaYYaY
                   6464:  0: bXXaYYaY
                   6465:  1: Y
                   6466:     bXYaXXaX
                   6467:  0: bX
                   6468:  1: X
                   6469: 
                   6470: /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
                   6471: Capturing subpattern count = 10
                   6472: Max back reference = 10
                   6473: Named capturing subpatterns:
                   6474:   A  10
                   6475: No options
                   6476: No first char
                   6477: No need char
                   6478:     bXXaYYaY
                   6479:  0: bXXaYYaY
                   6480:  1: 
                   6481:  2: 
                   6482:  3: 
                   6483:  4: 
                   6484:  5: 
                   6485:  6: 
                   6486:  7: 
                   6487:  8: 
                   6488:  9: 
                   6489: 10: Y
                   6490: 
                   6491: /\777/I
                   6492: Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3
                   6493: 
                   6494: /\s*,\s*/IS
                   6495: Capturing subpattern count = 0
                   6496: No options
                   6497: No first char
                   6498: Need char = ','
                   6499: Subject length lower bound = 1
                   6500: Starting byte set: \x09 \x0a \x0c \x0d \x20 , 
                   6501:     \x0b,\x0b
                   6502:  0: ,
                   6503:     \x0c,\x0d
                   6504:  0: \x0c,\x0d
                   6505: 
                   6506: /^abc/Im
                   6507: Capturing subpattern count = 0
                   6508: Options: multiline
                   6509: First char at start or follows newline
                   6510: Need char = 'c'
                   6511:     xyz\nabc
                   6512:  0: abc
                   6513:     xyz\nabc\<lf>
                   6514:  0: abc
                   6515:     xyz\r\nabc\<lf>
                   6516:  0: abc
                   6517:     xyz\rabc\<cr>
                   6518:  0: abc
                   6519:     xyz\r\nabc\<crlf>
                   6520:  0: abc
                   6521:     ** Failers
                   6522: No match
                   6523:     xyz\nabc\<cr>
                   6524: No match
                   6525:     xyz\r\nabc\<cr>
                   6526: No match
                   6527:     xyz\nabc\<crlf>
                   6528: No match
                   6529:     xyz\rabc\<crlf>
                   6530: No match
                   6531:     xyz\rabc\<lf>
                   6532: No match
                   6533: 
                   6534: /abc$/Im<lf>
                   6535: Capturing subpattern count = 0
                   6536: Options: multiline
                   6537: Forced newline sequence: LF
                   6538: First char = 'a'
                   6539: Need char = 'c'
                   6540:     xyzabc
                   6541:  0: abc
                   6542:     xyzabc\n
                   6543:  0: abc
                   6544:     xyzabc\npqr
                   6545:  0: abc
                   6546:     xyzabc\r\<cr>
                   6547:  0: abc
                   6548:     xyzabc\rpqr\<cr>
                   6549:  0: abc
                   6550:     xyzabc\r\n\<crlf>
                   6551:  0: abc
                   6552:     xyzabc\r\npqr\<crlf>
                   6553:  0: abc
                   6554:     ** Failers
                   6555: No match
                   6556:     xyzabc\r
                   6557: No match
                   6558:     xyzabc\rpqr
                   6559: No match
                   6560:     xyzabc\r\n
                   6561: No match
                   6562:     xyzabc\r\npqr
                   6563: No match
                   6564: 
                   6565: /^abc/Im<cr>
                   6566: Capturing subpattern count = 0
                   6567: Options: multiline
                   6568: Forced newline sequence: CR
                   6569: First char at start or follows newline
                   6570: Need char = 'c'
                   6571:     xyz\rabcdef
                   6572:  0: abc
                   6573:     xyz\nabcdef\<lf>
                   6574:  0: abc
                   6575:     ** Failers
                   6576: No match
                   6577:     xyz\nabcdef
                   6578: No match
                   6579: 
                   6580: /^abc/Im<lf>
                   6581: Capturing subpattern count = 0
                   6582: Options: multiline
                   6583: Forced newline sequence: LF
                   6584: First char at start or follows newline
                   6585: Need char = 'c'
                   6586:     xyz\nabcdef
                   6587:  0: abc
                   6588:     xyz\rabcdef\<cr>
                   6589:  0: abc
                   6590:     ** Failers
                   6591: No match
                   6592:     xyz\rabcdef
                   6593: No match
                   6594: 
                   6595: /^abc/Im<crlf>
                   6596: Capturing subpattern count = 0
                   6597: Options: multiline
                   6598: Forced newline sequence: CRLF
                   6599: First char at start or follows newline
                   6600: Need char = 'c'
                   6601:     xyz\r\nabcdef
                   6602:  0: abc
                   6603:     xyz\rabcdef\<cr>
                   6604:  0: abc
                   6605:     ** Failers
                   6606: No match
                   6607:     xyz\rabcdef
                   6608: No match
                   6609: 
                   6610: /^abc/Im<bad>
                   6611: Unknown newline type at: <bad>
                   6612: 
                   6613: 
                   6614: /abc/I
                   6615: Capturing subpattern count = 0
                   6616: No options
                   6617: First char = 'a'
                   6618: Need char = 'c'
                   6619:     xyz\rabc\<bad>
                   6620: Unknown newline type at: <bad>
                   6621:     abc
                   6622:  0: abc
                   6623: 
                   6624: /.*/I<lf>
                   6625: Capturing subpattern count = 0
                   6626: Options:
                   6627: Forced newline sequence: LF
                   6628: First char at start or follows newline
                   6629: No need char
                   6630:     abc\ndef
                   6631:  0: abc
                   6632:     abc\rdef
                   6633:  0: abc\x0ddef
                   6634:     abc\r\ndef
                   6635:  0: abc\x0d
                   6636:     \<cr>abc\ndef
                   6637:  0: abc\x0adef
                   6638:     \<cr>abc\rdef
                   6639:  0: abc
                   6640:     \<cr>abc\r\ndef
                   6641:  0: abc
                   6642:     \<crlf>abc\ndef
                   6643:  0: abc\x0adef
                   6644:     \<crlf>abc\rdef
                   6645:  0: abc\x0ddef
                   6646:     \<crlf>abc\r\ndef
                   6647:  0: abc
                   6648: 
                   6649: /\w+(.)(.)?def/Is
                   6650: Capturing subpattern count = 2
                   6651: Options: dotall
                   6652: No first char
                   6653: Need char = 'f'
                   6654:     abc\ndef
                   6655:  0: abc\x0adef
                   6656:  1: \x0a
                   6657:     abc\rdef
                   6658:  0: abc\x0ddef
                   6659:  1: \x0d
                   6660:     abc\r\ndef
                   6661:  0: abc\x0d\x0adef
                   6662:  1: \x0d
                   6663:  2: \x0a
                   6664: 
                   6665: +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
                   6666: Capturing subpattern count = 1
                   6667: No options
                   6668: No first char
                   6669: No need char
                   6670:    /* this is a C style comment */\M
                   6671: Minimum match() limit = 120
                   6672: Minimum match() recursion limit = 6
                   6673:  0: /* this is a C style comment */
                   6674:  1: /* this is a C style comment */
                   6675: 
                   6676: /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
                   6677: Capturing subpattern count = 1
                   6678: Named capturing subpatterns:
                   6679:   B   1
                   6680: No options
                   6681: No first char
                   6682: Need char = '.'
                   6683: 
                   6684: /()()()()()()()()()()()()()()()()()()()()
                   6685:  ()()()()()()()()()()()()()()()()()()()()
                   6686:  ()()()()()()()()()()()()()()()()()()()()
                   6687:  ()()()()()()()()()()()()()()()()()()()()
                   6688:  ()()()()()()()()()()()()()()()()()()()()
                   6689:  (.(.))/Ix
                   6690: Capturing subpattern count = 102
                   6691: Options: extended
                   6692: No first char
                   6693: No need char
                   6694:     XY\O400
                   6695:  0: XY
                   6696:  1: 
                   6697:  2: 
                   6698:  3: 
                   6699:  4: 
                   6700:  5: 
                   6701:  6: 
                   6702:  7: 
                   6703:  8: 
                   6704:  9: 
                   6705: 10: 
                   6706: 11: 
                   6707: 12: 
                   6708: 13: 
                   6709: 14: 
                   6710: 15: 
                   6711: 16: 
                   6712: 17: 
                   6713: 18: 
                   6714: 19: 
                   6715: 20: 
                   6716: 21: 
                   6717: 22: 
                   6718: 23: 
                   6719: 24: 
                   6720: 25: 
                   6721: 26: 
                   6722: 27: 
                   6723: 28: 
                   6724: 29: 
                   6725: 30: 
                   6726: 31: 
                   6727: 32: 
                   6728: 33: 
                   6729: 34: 
                   6730: 35: 
                   6731: 36: 
                   6732: 37: 
                   6733: 38: 
                   6734: 39: 
                   6735: 40: 
                   6736: 41: 
                   6737: 42: 
                   6738: 43: 
                   6739: 44: 
                   6740: 45: 
                   6741: 46: 
                   6742: 47: 
                   6743: 48: 
                   6744: 49: 
                   6745: 50: 
                   6746: 51: 
                   6747: 52: 
                   6748: 53: 
                   6749: 54: 
                   6750: 55: 
                   6751: 56: 
                   6752: 57: 
                   6753: 58: 
                   6754: 59: 
                   6755: 60: 
                   6756: 61: 
                   6757: 62: 
                   6758: 63: 
                   6759: 64: 
                   6760: 65: 
                   6761: 66: 
                   6762: 67: 
                   6763: 68: 
                   6764: 69: 
                   6765: 70: 
                   6766: 71: 
                   6767: 72: 
                   6768: 73: 
                   6769: 74: 
                   6770: 75: 
                   6771: 76: 
                   6772: 77: 
                   6773: 78: 
                   6774: 79: 
                   6775: 80: 
                   6776: 81: 
                   6777: 82: 
                   6778: 83: 
                   6779: 84: 
                   6780: 85: 
                   6781: 86: 
                   6782: 87: 
                   6783: 88: 
                   6784: 89: 
                   6785: 90: 
                   6786: 91: 
                   6787: 92: 
                   6788: 93: 
                   6789: 94: 
                   6790: 95: 
                   6791: 96: 
                   6792: 97: 
                   6793: 98: 
                   6794: 99: 
                   6795: 100: 
                   6796: 101: XY
                   6797: 102: Y
                   6798: 
                   6799: /(a*b|(?i:c*(?-i)d))/IS
                   6800: Capturing subpattern count = 1
                   6801: No options
                   6802: No first char
                   6803: No need char
                   6804: Subject length lower bound = 1
                   6805: Starting byte set: C a b c d 
                   6806: 
                   6807: /()[ab]xyz/IS
                   6808: Capturing subpattern count = 1
                   6809: No options
                   6810: No first char
                   6811: Need char = 'z'
                   6812: Subject length lower bound = 4
                   6813: Starting byte set: a b 
                   6814: 
                   6815: /(|)[ab]xyz/IS
                   6816: Capturing subpattern count = 1
                   6817: No options
                   6818: No first char
                   6819: Need char = 'z'
                   6820: Subject length lower bound = 4
                   6821: Starting byte set: a b 
                   6822: 
                   6823: /(|c)[ab]xyz/IS
                   6824: Capturing subpattern count = 1
                   6825: No options
                   6826: No first char
                   6827: Need char = 'z'
                   6828: Subject length lower bound = 4
                   6829: Starting byte set: a b c 
                   6830: 
                   6831: /(|c?)[ab]xyz/IS
                   6832: Capturing subpattern count = 1
                   6833: No options
                   6834: No first char
                   6835: Need char = 'z'
                   6836: Subject length lower bound = 4
                   6837: Starting byte set: a b c 
                   6838: 
                   6839: /(d?|c?)[ab]xyz/IS
                   6840: Capturing subpattern count = 1
                   6841: No options
                   6842: No first char
                   6843: Need char = 'z'
                   6844: Subject length lower bound = 4
                   6845: Starting byte set: a b c d 
                   6846: 
                   6847: /(d?|c)[ab]xyz/IS
                   6848: Capturing subpattern count = 1
                   6849: No options
                   6850: No first char
                   6851: Need char = 'z'
                   6852: Subject length lower bound = 4
                   6853: Starting byte set: a b c d 
                   6854: 
                   6855: /^a*b\d/DZ
                   6856: ------------------------------------------------------------------
                   6857:         Bra
                   6858:         ^
                   6859:         a*+
                   6860:         b
                   6861:         \d
                   6862:         Ket
                   6863:         End
                   6864: ------------------------------------------------------------------
                   6865: Capturing subpattern count = 0
                   6866: Options: anchored
                   6867: No first char
                   6868: Need char = 'b'
                   6869: 
                   6870: /^a*+b\d/DZ
                   6871: ------------------------------------------------------------------
                   6872:         Bra
                   6873:         ^
                   6874:         a*+
                   6875:         b
                   6876:         \d
                   6877:         Ket
                   6878:         End
                   6879: ------------------------------------------------------------------
                   6880: Capturing subpattern count = 0
                   6881: Options: anchored
                   6882: No first char
                   6883: Need char = 'b'
                   6884: 
                   6885: /^a*?b\d/DZ
                   6886: ------------------------------------------------------------------
                   6887:         Bra
                   6888:         ^
                   6889:         a*+
                   6890:         b
                   6891:         \d
                   6892:         Ket
                   6893:         End
                   6894: ------------------------------------------------------------------
                   6895: Capturing subpattern count = 0
                   6896: Options: anchored
                   6897: No first char
                   6898: Need char = 'b'
                   6899: 
                   6900: /^a+A\d/DZ
                   6901: ------------------------------------------------------------------
                   6902:         Bra
                   6903:         ^
                   6904:         a++
                   6905:         A
                   6906:         \d
                   6907:         Ket
                   6908:         End
                   6909: ------------------------------------------------------------------
                   6910: Capturing subpattern count = 0
                   6911: Options: anchored
                   6912: No first char
                   6913: Need char = 'A'
                   6914:     aaaA5
                   6915:  0: aaaA5
                   6916:     ** Failers
                   6917: No match
                   6918:     aaaa5
                   6919: No match
                   6920: 
                   6921: /^a*A\d/IiDZ
                   6922: ------------------------------------------------------------------
                   6923:         Bra
                   6924:         ^
                   6925:      /i a*
                   6926:      /i A
                   6927:         \d
                   6928:         Ket
                   6929:         End
                   6930: ------------------------------------------------------------------
                   6931: Capturing subpattern count = 0
                   6932: Options: anchored caseless
                   6933: No first char
                   6934: Need char = 'A' (caseless)
                   6935:     aaaA5
                   6936:  0: aaaA5
                   6937:     aaaa5
                   6938:  0: aaaa5
                   6939: 
                   6940: /(a*|b*)[cd]/IS
                   6941: Capturing subpattern count = 1
                   6942: No options
                   6943: No first char
                   6944: No need char
                   6945: Subject length lower bound = 1
                   6946: Starting byte set: a b c d 
                   6947: 
                   6948: /(a+|b*)[cd]/IS
                   6949: Capturing subpattern count = 1
                   6950: No options
                   6951: No first char
                   6952: No need char
                   6953: Subject length lower bound = 1
                   6954: Starting byte set: a b c d 
                   6955: 
                   6956: /(a*|b+)[cd]/IS
                   6957: Capturing subpattern count = 1
                   6958: No options
                   6959: No first char
                   6960: No need char
                   6961: Subject length lower bound = 1
                   6962: Starting byte set: a b c d 
                   6963: 
                   6964: /(a+|b+)[cd]/IS
                   6965: Capturing subpattern count = 1
                   6966: No options
                   6967: No first char
                   6968: No need char
                   6969: Subject length lower bound = 2
                   6970: Starting byte set: a b 
                   6971: 
                   6972: /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
                   6973:  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
                   6974:  (((
                   6975:  a
                   6976:  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
                   6977:  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
                   6978:  )))
                   6979: /Ix
                   6980: Capturing subpattern count = 203
                   6981: Options: extended
                   6982: First char = 'a'
                   6983: No need char
                   6984:   large nest
                   6985: Matched, but too many substrings
                   6986:  0: a
                   6987:  1: a
                   6988:  2: a
                   6989:  3: a
                   6990:  4: a
                   6991:  5: a
                   6992:  6: a
                   6993:  7: a
                   6994:  8: a
                   6995:  9: a
                   6996: 10: a
                   6997: 11: a
                   6998: 12: a
                   6999: 13: a
                   7000: 14: a
                   7001: 
                   7002: /a*\d/BZ
                   7003: ------------------------------------------------------------------
                   7004:         Bra
                   7005:         a*+
                   7006:         \d
                   7007:         Ket
                   7008:         End
                   7009: ------------------------------------------------------------------
                   7010: 
                   7011: /a*\D/BZ
                   7012: ------------------------------------------------------------------
                   7013:         Bra
                   7014:         a*
                   7015:         \D
                   7016:         Ket
                   7017:         End
                   7018: ------------------------------------------------------------------
                   7019: 
                   7020: /0*\d/BZ
                   7021: ------------------------------------------------------------------
                   7022:         Bra
                   7023:         0*
                   7024:         \d
                   7025:         Ket
                   7026:         End
                   7027: ------------------------------------------------------------------
                   7028: 
                   7029: /0*\D/BZ
                   7030: ------------------------------------------------------------------
                   7031:         Bra
                   7032:         0*+
                   7033:         \D
                   7034:         Ket
                   7035:         End
                   7036: ------------------------------------------------------------------
                   7037: 
                   7038: /a*\s/BZ
                   7039: ------------------------------------------------------------------
                   7040:         Bra
                   7041:         a*+
                   7042:         \s
                   7043:         Ket
                   7044:         End
                   7045: ------------------------------------------------------------------
                   7046: 
                   7047: /a*\S/BZ
                   7048: ------------------------------------------------------------------
                   7049:         Bra
                   7050:         a*
                   7051:         \S
                   7052:         Ket
                   7053:         End
                   7054: ------------------------------------------------------------------
                   7055: 
                   7056: / *\s/BZ
                   7057: ------------------------------------------------------------------
                   7058:         Bra
                   7059:          *
                   7060:         \s
                   7061:         Ket
                   7062:         End
                   7063: ------------------------------------------------------------------
                   7064: 
                   7065: / *\S/BZ
                   7066: ------------------------------------------------------------------
                   7067:         Bra
                   7068:          *+
                   7069:         \S
                   7070:         Ket
                   7071:         End
                   7072: ------------------------------------------------------------------
                   7073: 
                   7074: /a*\w/BZ
                   7075: ------------------------------------------------------------------
                   7076:         Bra
                   7077:         a*
                   7078:         \w
                   7079:         Ket
                   7080:         End
                   7081: ------------------------------------------------------------------
                   7082: 
                   7083: /a*\W/BZ
                   7084: ------------------------------------------------------------------
                   7085:         Bra
                   7086:         a*+
                   7087:         \W
                   7088:         Ket
                   7089:         End
                   7090: ------------------------------------------------------------------
                   7091: 
                   7092: /=*\w/BZ
                   7093: ------------------------------------------------------------------
                   7094:         Bra
                   7095:         =*+
                   7096:         \w
                   7097:         Ket
                   7098:         End
                   7099: ------------------------------------------------------------------
                   7100: 
                   7101: /=*\W/BZ
                   7102: ------------------------------------------------------------------
                   7103:         Bra
                   7104:         =*
                   7105:         \W
                   7106:         Ket
                   7107:         End
                   7108: ------------------------------------------------------------------
                   7109: 
                   7110: /\d*a/BZ
                   7111: ------------------------------------------------------------------
                   7112:         Bra
                   7113:         \d*+
                   7114:         a
                   7115:         Ket
                   7116:         End
                   7117: ------------------------------------------------------------------
                   7118: 
                   7119: /\d*2/BZ
                   7120: ------------------------------------------------------------------
                   7121:         Bra
                   7122:         \d*
                   7123:         2
                   7124:         Ket
                   7125:         End
                   7126: ------------------------------------------------------------------
                   7127: 
                   7128: /\d*\d/BZ
                   7129: ------------------------------------------------------------------
                   7130:         Bra
                   7131:         \d*
                   7132:         \d
                   7133:         Ket
                   7134:         End
                   7135: ------------------------------------------------------------------
                   7136: 
                   7137: /\d*\D/BZ
                   7138: ------------------------------------------------------------------
                   7139:         Bra
                   7140:         \d*+
                   7141:         \D
                   7142:         Ket
                   7143:         End
                   7144: ------------------------------------------------------------------
                   7145: 
                   7146: /\d*\s/BZ
                   7147: ------------------------------------------------------------------
                   7148:         Bra
                   7149:         \d*+
                   7150:         \s
                   7151:         Ket
                   7152:         End
                   7153: ------------------------------------------------------------------
                   7154: 
                   7155: /\d*\S/BZ
                   7156: ------------------------------------------------------------------
                   7157:         Bra
                   7158:         \d*
                   7159:         \S
                   7160:         Ket
                   7161:         End
                   7162: ------------------------------------------------------------------
                   7163: 
                   7164: /\d*\w/BZ
                   7165: ------------------------------------------------------------------
                   7166:         Bra
                   7167:         \d*
                   7168:         \w
                   7169:         Ket
                   7170:         End
                   7171: ------------------------------------------------------------------
                   7172: 
                   7173: /\d*\W/BZ
                   7174: ------------------------------------------------------------------
                   7175:         Bra
                   7176:         \d*+
                   7177:         \W
                   7178:         Ket
                   7179:         End
                   7180: ------------------------------------------------------------------
                   7181: 
                   7182: /\D*a/BZ
                   7183: ------------------------------------------------------------------
                   7184:         Bra
                   7185:         \D*
                   7186:         a
                   7187:         Ket
                   7188:         End
                   7189: ------------------------------------------------------------------
                   7190: 
                   7191: /\D*2/BZ
                   7192: ------------------------------------------------------------------
                   7193:         Bra
                   7194:         \D*+
                   7195:         2
                   7196:         Ket
                   7197:         End
                   7198: ------------------------------------------------------------------
                   7199: 
                   7200: /\D*\d/BZ
                   7201: ------------------------------------------------------------------
                   7202:         Bra
                   7203:         \D*+
                   7204:         \d
                   7205:         Ket
                   7206:         End
                   7207: ------------------------------------------------------------------
                   7208: 
                   7209: /\D*\D/BZ
                   7210: ------------------------------------------------------------------
                   7211:         Bra
                   7212:         \D*
                   7213:         \D
                   7214:         Ket
                   7215:         End
                   7216: ------------------------------------------------------------------
                   7217: 
                   7218: /\D*\s/BZ
                   7219: ------------------------------------------------------------------
                   7220:         Bra
                   7221:         \D*
                   7222:         \s
                   7223:         Ket
                   7224:         End
                   7225: ------------------------------------------------------------------
                   7226: 
                   7227: /\D*\S/BZ
                   7228: ------------------------------------------------------------------
                   7229:         Bra
                   7230:         \D*
                   7231:         \S
                   7232:         Ket
                   7233:         End
                   7234: ------------------------------------------------------------------
                   7235: 
                   7236: /\D*\w/BZ
                   7237: ------------------------------------------------------------------
                   7238:         Bra
                   7239:         \D*
                   7240:         \w
                   7241:         Ket
                   7242:         End
                   7243: ------------------------------------------------------------------
                   7244: 
                   7245: /\D*\W/BZ
                   7246: ------------------------------------------------------------------
                   7247:         Bra
                   7248:         \D*
                   7249:         \W
                   7250:         Ket
                   7251:         End
                   7252: ------------------------------------------------------------------
                   7253: 
                   7254: /\s*a/BZ
                   7255: ------------------------------------------------------------------
                   7256:         Bra
                   7257:         \s*+
                   7258:         a
                   7259:         Ket
                   7260:         End
                   7261: ------------------------------------------------------------------
                   7262: 
                   7263: /\s*2/BZ
                   7264: ------------------------------------------------------------------
                   7265:         Bra
                   7266:         \s*+
                   7267:         2
                   7268:         Ket
                   7269:         End
                   7270: ------------------------------------------------------------------
                   7271: 
                   7272: /\s*\d/BZ
                   7273: ------------------------------------------------------------------
                   7274:         Bra
                   7275:         \s*+
                   7276:         \d
                   7277:         Ket
                   7278:         End
                   7279: ------------------------------------------------------------------
                   7280: 
                   7281: /\s*\D/BZ
                   7282: ------------------------------------------------------------------
                   7283:         Bra
                   7284:         \s*
                   7285:         \D
                   7286:         Ket
                   7287:         End
                   7288: ------------------------------------------------------------------
                   7289: 
                   7290: /\s*\s/BZ
                   7291: ------------------------------------------------------------------
                   7292:         Bra
                   7293:         \s*
                   7294:         \s
                   7295:         Ket
                   7296:         End
                   7297: ------------------------------------------------------------------
                   7298: 
                   7299: /\s*\S/BZ
                   7300: ------------------------------------------------------------------
                   7301:         Bra
                   7302:         \s*+
                   7303:         \S
                   7304:         Ket
                   7305:         End
                   7306: ------------------------------------------------------------------
                   7307: 
                   7308: /\s*\w/BZ
                   7309: ------------------------------------------------------------------
                   7310:         Bra
                   7311:         \s*+
                   7312:         \w
                   7313:         Ket
                   7314:         End
                   7315: ------------------------------------------------------------------
                   7316: 
                   7317: /\s*\W/BZ
                   7318: ------------------------------------------------------------------
                   7319:         Bra
                   7320:         \s*
                   7321:         \W
                   7322:         Ket
                   7323:         End
                   7324: ------------------------------------------------------------------
                   7325: 
                   7326: /\S*a/BZ
                   7327: ------------------------------------------------------------------
                   7328:         Bra
                   7329:         \S*
                   7330:         a
                   7331:         Ket
                   7332:         End
                   7333: ------------------------------------------------------------------
                   7334: 
                   7335: /\S*2/BZ
                   7336: ------------------------------------------------------------------
                   7337:         Bra
                   7338:         \S*
                   7339:         2
                   7340:         Ket
                   7341:         End
                   7342: ------------------------------------------------------------------
                   7343: 
                   7344: /\S*\d/BZ
                   7345: ------------------------------------------------------------------
                   7346:         Bra
                   7347:         \S*
                   7348:         \d
                   7349:         Ket
                   7350:         End
                   7351: ------------------------------------------------------------------
                   7352: 
                   7353: /\S*\D/BZ
                   7354: ------------------------------------------------------------------
                   7355:         Bra
                   7356:         \S*
                   7357:         \D
                   7358:         Ket
                   7359:         End
                   7360: ------------------------------------------------------------------
                   7361: 
                   7362: /\S*\s/BZ
                   7363: ------------------------------------------------------------------
                   7364:         Bra
                   7365:         \S*+
                   7366:         \s
                   7367:         Ket
                   7368:         End
                   7369: ------------------------------------------------------------------
                   7370: 
                   7371: /\S*\S/BZ
                   7372: ------------------------------------------------------------------
                   7373:         Bra
                   7374:         \S*
                   7375:         \S
                   7376:         Ket
                   7377:         End
                   7378: ------------------------------------------------------------------
                   7379: 
                   7380: /\S*\w/BZ
                   7381: ------------------------------------------------------------------
                   7382:         Bra
                   7383:         \S*
                   7384:         \w
                   7385:         Ket
                   7386:         End
                   7387: ------------------------------------------------------------------
                   7388: 
                   7389: /\S*\W/BZ
                   7390: ------------------------------------------------------------------
                   7391:         Bra
                   7392:         \S*
                   7393:         \W
                   7394:         Ket
                   7395:         End
                   7396: ------------------------------------------------------------------
                   7397: 
                   7398: /\w*a/BZ
                   7399: ------------------------------------------------------------------
                   7400:         Bra
                   7401:         \w*
                   7402:         a
                   7403:         Ket
                   7404:         End
                   7405: ------------------------------------------------------------------
                   7406: 
                   7407: /\w*2/BZ
                   7408: ------------------------------------------------------------------
                   7409:         Bra
                   7410:         \w*
                   7411:         2
                   7412:         Ket
                   7413:         End
                   7414: ------------------------------------------------------------------
                   7415: 
                   7416: /\w*\d/BZ
                   7417: ------------------------------------------------------------------
                   7418:         Bra
                   7419:         \w*
                   7420:         \d
                   7421:         Ket
                   7422:         End
                   7423: ------------------------------------------------------------------
                   7424: 
                   7425: /\w*\D/BZ
                   7426: ------------------------------------------------------------------
                   7427:         Bra
                   7428:         \w*
                   7429:         \D
                   7430:         Ket
                   7431:         End
                   7432: ------------------------------------------------------------------
                   7433: 
                   7434: /\w*\s/BZ
                   7435: ------------------------------------------------------------------
                   7436:         Bra
                   7437:         \w*+
                   7438:         \s
                   7439:         Ket
                   7440:         End
                   7441: ------------------------------------------------------------------
                   7442: 
                   7443: /\w*\S/BZ
                   7444: ------------------------------------------------------------------
                   7445:         Bra
                   7446:         \w*
                   7447:         \S
                   7448:         Ket
                   7449:         End
                   7450: ------------------------------------------------------------------
                   7451: 
                   7452: /\w*\w/BZ
                   7453: ------------------------------------------------------------------
                   7454:         Bra
                   7455:         \w*
                   7456:         \w
                   7457:         Ket
                   7458:         End
                   7459: ------------------------------------------------------------------
                   7460: 
                   7461: /\w*\W/BZ
                   7462: ------------------------------------------------------------------
                   7463:         Bra
                   7464:         \w*+
                   7465:         \W
                   7466:         Ket
                   7467:         End
                   7468: ------------------------------------------------------------------
                   7469: 
                   7470: /\W*a/BZ
                   7471: ------------------------------------------------------------------
                   7472:         Bra
                   7473:         \W*+
                   7474:         a
                   7475:         Ket
                   7476:         End
                   7477: ------------------------------------------------------------------
                   7478: 
                   7479: /\W*2/BZ
                   7480: ------------------------------------------------------------------
                   7481:         Bra
                   7482:         \W*+
                   7483:         2
                   7484:         Ket
                   7485:         End
                   7486: ------------------------------------------------------------------
                   7487: 
                   7488: /\W*\d/BZ
                   7489: ------------------------------------------------------------------
                   7490:         Bra
                   7491:         \W*+
                   7492:         \d
                   7493:         Ket
                   7494:         End
                   7495: ------------------------------------------------------------------
                   7496: 
                   7497: /\W*\D/BZ
                   7498: ------------------------------------------------------------------
                   7499:         Bra
                   7500:         \W*
                   7501:         \D
                   7502:         Ket
                   7503:         End
                   7504: ------------------------------------------------------------------
                   7505: 
                   7506: /\W*\s/BZ
                   7507: ------------------------------------------------------------------
                   7508:         Bra
                   7509:         \W*
                   7510:         \s
                   7511:         Ket
                   7512:         End
                   7513: ------------------------------------------------------------------
                   7514: 
                   7515: /\W*\S/BZ
                   7516: ------------------------------------------------------------------
                   7517:         Bra
                   7518:         \W*
                   7519:         \S
                   7520:         Ket
                   7521:         End
                   7522: ------------------------------------------------------------------
                   7523: 
                   7524: /\W*\w/BZ
                   7525: ------------------------------------------------------------------
                   7526:         Bra
                   7527:         \W*+
                   7528:         \w
                   7529:         Ket
                   7530:         End
                   7531: ------------------------------------------------------------------
                   7532: 
                   7533: /\W*\W/BZ
                   7534: ------------------------------------------------------------------
                   7535:         Bra
                   7536:         \W*
                   7537:         \W
                   7538:         Ket
                   7539:         End
                   7540: ------------------------------------------------------------------
                   7541: 
                   7542: /[^a]+a/BZ
                   7543: ------------------------------------------------------------------
                   7544:         Bra
                   7545:         [^a]++
                   7546:         a
                   7547:         Ket
                   7548:         End
                   7549: ------------------------------------------------------------------
                   7550: 
                   7551: /[^a]+a/BZi
                   7552: ------------------------------------------------------------------
                   7553:         Bra
                   7554:      /i [^A]++
                   7555:      /i a
                   7556:         Ket
                   7557:         End
                   7558: ------------------------------------------------------------------
                   7559: 
                   7560: /[^a]+A/BZi
                   7561: ------------------------------------------------------------------
                   7562:         Bra
                   7563:      /i [^A]++
                   7564:      /i A
                   7565:         Ket
                   7566:         End
                   7567: ------------------------------------------------------------------
                   7568: 
                   7569: /[^a]+b/BZ
                   7570: ------------------------------------------------------------------
                   7571:         Bra
                   7572:         [^a]+
                   7573:         b
                   7574:         Ket
                   7575:         End
                   7576: ------------------------------------------------------------------
                   7577: 
                   7578: /[^a]+\d/BZ
                   7579: ------------------------------------------------------------------
                   7580:         Bra
                   7581:         [^a]+
                   7582:         \d
                   7583:         Ket
                   7584:         End
                   7585: ------------------------------------------------------------------
                   7586: 
                   7587: /a*[^a]/BZ
                   7588: ------------------------------------------------------------------
                   7589:         Bra
                   7590:         a*
                   7591:         [^a]
                   7592:         Ket
                   7593:         End
                   7594: ------------------------------------------------------------------
                   7595: 
                   7596: /(?P<abc>x)(?P<xyz>y)/I
                   7597: Capturing subpattern count = 2
                   7598: Named capturing subpatterns:
                   7599:   abc   1
                   7600:   xyz   2
                   7601: No options
                   7602: First char = 'x'
                   7603: Need char = 'y'
                   7604:     xy\Cabc\Cxyz
                   7605:  0: xy
                   7606:  1: x
                   7607:  2: y
                   7608:   C x (1) abc
                   7609:   C y (1) xyz
                   7610: 
                   7611: /(?<abc>x)(?'xyz'y)/I
                   7612: Capturing subpattern count = 2
                   7613: Named capturing subpatterns:
                   7614:   abc   1
                   7615:   xyz   2
                   7616: No options
                   7617: First char = 'x'
                   7618: Need char = 'y'
                   7619:     xy\Cabc\Cxyz
                   7620:  0: xy
                   7621:  1: x
                   7622:  2: y
                   7623:   C x (1) abc
                   7624:   C y (1) xyz
                   7625: 
                   7626: /(?<abc'x)(?'xyz'y)/I
                   7627: Failed: syntax error in subpattern name (missing terminator) at offset 6
                   7628: 
                   7629: /(?<abc>x)(?'xyz>y)/I
                   7630: Failed: syntax error in subpattern name (missing terminator) at offset 15
                   7631: 
                   7632: /(?P'abc'x)(?P<xyz>y)/I
                   7633: Failed: unrecognized character after (?P at offset 3
                   7634: 
                   7635: /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
                   7636:     bXaX
                   7637:  0: bXaX
                   7638:  1: X
                   7639:     bXbX
                   7640:  0: bX
                   7641:  1: X
                   7642:     ** Failers
                   7643: No match
                   7644:     aXaX
                   7645: No match
                   7646:     aXbX
                   7647: No match
                   7648: 
                   7649: /^(?P>abc)(?<abcd>xxx)/
                   7650: Failed: reference to non-existent subpattern at offset 8
                   7651: 
                   7652: /^(?P>abc)(?<abc>x|y)/
                   7653:     xx
                   7654:  0: xx
                   7655:  1: x
                   7656:     xy
                   7657:  0: xy
                   7658:  1: y
                   7659:     yy
                   7660:  0: yy
                   7661:  1: y
                   7662:     yx
                   7663:  0: yx
                   7664:  1: x
                   7665: 
                   7666: /^(?P>abc)(?P<abc>x|y)/
                   7667:     xx
                   7668:  0: xx
                   7669:  1: x
                   7670:     xy
                   7671:  0: xy
                   7672:  1: y
                   7673:     yy
                   7674:  0: yy
                   7675:  1: y
                   7676:     yx
                   7677:  0: yx
                   7678:  1: x
                   7679: 
                   7680: /^((?(abc)a|b)(?<abc>x|y))+/
                   7681:     bxay
                   7682:  0: bxay
                   7683:  1: ay
                   7684:  2: y
                   7685:     bxby
                   7686:  0: bx
                   7687:  1: bx
                   7688:  2: x
                   7689:     ** Failers
                   7690: No match
                   7691:     axby
                   7692: No match
                   7693: 
                   7694: /^(((?P=abc)|X)(?<abc>x|y))+/
                   7695:     XxXxxx
                   7696:  0: XxXxxx
                   7697:  1: xx
                   7698:  2: x
                   7699:  3: x
                   7700:     XxXyyx
                   7701:  0: XxXyyx
                   7702:  1: yx
                   7703:  2: y
                   7704:  3: x
                   7705:     XxXyxx
                   7706:  0: XxXy
                   7707:  1: Xy
                   7708:  2: X
                   7709:  3: y
                   7710:     ** Failers
                   7711: No match
                   7712:     x
                   7713: No match
                   7714: 
                   7715: /^(?1)(abc)/
                   7716:     abcabc
                   7717:  0: abcabc
                   7718:  1: abc
                   7719: 
                   7720: /^(?:(?:\1|X)(a|b))+/
                   7721:     Xaaa
                   7722:  0: Xaaa
                   7723:  1: a
                   7724:     Xaba
                   7725:  0: Xa
                   7726:  1: a
                   7727: 
                   7728: /^[\E\Qa\E-\Qz\E]+/BZ
                   7729: ------------------------------------------------------------------
                   7730:         Bra
                   7731:         ^
                   7732:         [a-z]+
                   7733:         Ket
                   7734:         End
                   7735: ------------------------------------------------------------------
                   7736: 
                   7737: /^[a\Q]bc\E]/BZ
                   7738: ------------------------------------------------------------------
                   7739:         Bra
                   7740:         ^
                   7741:         [\]a-c]
                   7742:         Ket
                   7743:         End
                   7744: ------------------------------------------------------------------
                   7745: 
                   7746: /^[a-\Q\E]/BZ
                   7747: ------------------------------------------------------------------
                   7748:         Bra
                   7749:         ^
                   7750:         [\-a]
                   7751:         Ket
                   7752:         End
                   7753: ------------------------------------------------------------------
                   7754: 
                   7755: /^(?P>abc)[()](?<abc>)/BZ
                   7756: ------------------------------------------------------------------
                   7757:         Bra
                   7758:         ^
                   7759:         Recurse
                   7760:         [()]
                   7761:         CBra 1
                   7762:         Ket
                   7763:         Ket
                   7764:         End
                   7765: ------------------------------------------------------------------
                   7766: 
                   7767: /^((?(abc)y)[()](?P<abc>x))+/BZ
                   7768: ------------------------------------------------------------------
                   7769:         Bra
                   7770:         ^
                   7771:         CBra 1
                   7772:         Cond
                   7773:       2 Cond nref
                   7774:         y
                   7775:         Ket
                   7776:         [()]
                   7777:         CBra 2
                   7778:         x
                   7779:         Ket
                   7780:         KetRmax
                   7781:         Ket
                   7782:         End
                   7783: ------------------------------------------------------------------
                   7784:     (xy)x
                   7785:  0: (xy)x
                   7786:  1: y)x
                   7787:  2: x
                   7788: 
                   7789: /^(?P>abc)\Q()\E(?<abc>)/BZ
                   7790: ------------------------------------------------------------------
                   7791:         Bra
                   7792:         ^
                   7793:         Recurse
                   7794:         ()
                   7795:         CBra 1
                   7796:         Ket
                   7797:         Ket
                   7798:         End
                   7799: ------------------------------------------------------------------
                   7800: 
                   7801: /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
                   7802: ------------------------------------------------------------------
                   7803:         Bra
                   7804:         ^
                   7805:         Recurse
                   7806:         [(\]a]
                   7807:         CBra 1
                   7808:         Ket
                   7809:         Ket
                   7810:         End
                   7811: ------------------------------------------------------------------
                   7812: 
                   7813: /^(?P>abc) # this is (a comment)
                   7814:   (?<abc>)/BZx
                   7815: ------------------------------------------------------------------
                   7816:         Bra
                   7817:         ^
                   7818:         Recurse
                   7819:         CBra 1
                   7820:         Ket
                   7821:         Ket
                   7822:         End
                   7823: ------------------------------------------------------------------
                   7824: 
                   7825: /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
                   7826: Capturing subpattern count = 4
                   7827: Max back reference = 4
                   7828: Named capturing subpatterns:
                   7829:   four    4
                   7830:   one     1
                   7831:   three   3
                   7832:   two     2
                   7833: Options: anchored caseless
                   7834: No first char
                   7835: No need char
                   7836:     1221
                   7837:  0: 1221
                   7838:  1: 1221
                   7839:  2: 1
                   7840:     Satan, oscillate my metallic sonatas!
                   7841:  0: Satan, oscillate my metallic sonatas!
                   7842:  1: <unset>
                   7843:  2: <unset>
                   7844:  3: Satan, oscillate my metallic sonatas
                   7845:  4: S
                   7846:     A man, a plan, a canal: Panama!
                   7847:  0: A man, a plan, a canal: Panama!
                   7848:  1: <unset>
                   7849:  2: <unset>
                   7850:  3: A man, a plan, a canal: Panama
                   7851:  4: A
                   7852:     Able was I ere I saw Elba.
                   7853:  0: Able was I ere I saw Elba.
                   7854:  1: <unset>
                   7855:  2: <unset>
                   7856:  3: Able was I ere I saw Elba
                   7857:  4: A
                   7858:     *** Failers
                   7859: No match
                   7860:     The quick brown fox
                   7861: No match
                   7862: 
                   7863: /(?=(\w+))\1:/I
                   7864: Capturing subpattern count = 1
                   7865: Max back reference = 1
                   7866: No options
                   7867: No first char
                   7868: Need char = ':'
                   7869:     abcd:
                   7870:  0: abcd:
                   7871:  1: abcd
                   7872: 
                   7873: /(?=(?'abc'\w+))\k<abc>:/I
                   7874: Capturing subpattern count = 1
                   7875: Max back reference = 1
                   7876: Named capturing subpatterns:
                   7877:   abc   1
                   7878: No options
                   7879: No first char
                   7880: Need char = ':'
                   7881:     abcd:
                   7882:  0: abcd:
                   7883:  1: abcd
                   7884: 
                   7885: /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
                   7886:     adaa
                   7887:  0: adaa
                   7888:  1: a
                   7889:  2: d
                   7890:     ** Failers
                   7891: No match
                   7892:     addd
                   7893: No match
                   7894:     adbb
                   7895: No match
                   7896: 
                   7897: /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
                   7898:     bdaa
                   7899:  0: bdaa
                   7900:  1: b
                   7901:  2: d
                   7902:     bdab
                   7903:  0: bdab
                   7904:  1: b
                   7905:  2: d
                   7906:     ** Failers
                   7907: No match
                   7908:     bddd
                   7909: No match
                   7910: 
                   7911: /(?(<bc))/
                   7912: Failed: malformed number or name after (?( at offset 6
                   7913: 
                   7914: /(?(''))/
                   7915: Failed: assertion expected after (?( at offset 4
                   7916: 
                   7917: /(?('R')stuff)/
                   7918: Failed: reference to non-existent subpattern at offset 7
                   7919: 
                   7920: /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7921:     abcabc1Xabc2XabcXabcabc
                   7922:  0: abcabc1Xabc2XabcX
                   7923:  1: abcabc1Xabc2XabcX
                   7924:  2: abcabc1Xabc2XabcX
                   7925: 
                   7926: /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7927:     abcabc1Xabc2XabcXabcabc
                   7928:  0: abcabc1Xabc2XabcX
                   7929:  1: abcabc1Xabc2XabcX
                   7930:  2: abcabc1Xabc2XabcX
                   7931: 
                   7932: /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7933: Failed: reference to non-existent subpattern at offset 29
                   7934: 
                   7935: /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7936:     abcabc1Xabc2XabcXabcabc
                   7937:  0: abcabc1Xabc2XabcX
                   7938:  1: abcabc1Xabc2XabcX
                   7939:  2: abcabc1Xabc2XabcX
                   7940: 
                   7941: /^(?(DEFINE) abc | xyz ) /x
                   7942: Failed: DEFINE group contains more than one branch at offset 22
                   7943: 
                   7944: /(?(DEFINE) abc) xyz/xI
                   7945: Capturing subpattern count = 0
                   7946: Options: extended
                   7947: First char = 'x'
                   7948: Need char = 'z'
                   7949: 
                   7950: /(a|)*\d/
                   7951:   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   7952: No match
                   7953:   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
                   7954: Matched, but too many substrings
                   7955: 
                   7956: /^a.b/<lf>
                   7957:     a\rb
                   7958:  0: a\x0db
                   7959:     a\nb\<cr>
                   7960:  0: a\x0ab
                   7961:     a\x85b\<anycrlf> 
                   7962:  0: a\x85b
                   7963:     ** Failers
                   7964: No match
                   7965:     a\nb
                   7966: No match
                   7967:     a\nb\<any>
                   7968: No match
                   7969:     a\rb\<cr>
                   7970: No match
                   7971:     a\rb\<any>
                   7972: No match
                   7973:     a\x85b\<any> 
                   7974: No match
                   7975:     a\rb\<anycrlf>
                   7976: No match
                   7977: 
                   7978: /^abc./mgx<any>
                   7979:     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
                   7980:  0: abc1
                   7981:  0: abc2
                   7982:  0: abc3
                   7983:  0: abc4
                   7984:  0: abc5
                   7985:  0: abc6
                   7986:  0: abc7
                   7987: 
                   7988: /abc.$/mgx<any>
                   7989:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
                   7990:  0: abc1
                   7991:  0: abc2
                   7992:  0: abc3
                   7993:  0: abc4
                   7994:  0: abc5
                   7995:  0: abc6
                   7996:  0: abc9
                   7997: 
                   7998: /a/<cr><any>
                   7999: 
                   8000: /a/<any><crlf>
                   8001: Failed: inconsistent NEWLINE options at offset 0
                   8002: 
                   8003: /^a\Rb/<bsr_unicode>
                   8004:     a\nb
                   8005:  0: a\x0ab
                   8006:     a\rb
                   8007:  0: a\x0db
                   8008:     a\r\nb
                   8009:  0: a\x0d\x0ab
                   8010:     a\x0bb
                   8011:  0: a\x0bb
                   8012:     a\x0cb
                   8013:  0: a\x0cb
                   8014:     a\x85b
                   8015:  0: a\x85b
                   8016:     ** Failers
                   8017: No match
                   8018:     a\n\rb
                   8019: No match
                   8020: 
                   8021: /^a\R*b/<bsr_unicode>
                   8022:     ab
                   8023:  0: ab
                   8024:     a\nb
                   8025:  0: a\x0ab
                   8026:     a\rb
                   8027:  0: a\x0db
                   8028:     a\r\nb
                   8029:  0: a\x0d\x0ab
                   8030:     a\x0bb
                   8031:  0: a\x0bb
                   8032:     a\x0cb
                   8033:  0: a\x0cb
                   8034:     a\x85b
                   8035:  0: a\x85b
                   8036:     a\n\rb
                   8037:  0: a\x0a\x0db
                   8038:     a\n\r\x85\x0cb
                   8039:  0: a\x0a\x0d\x85\x0cb
                   8040: 
                   8041: /^a\R+b/<bsr_unicode>
                   8042:     a\nb
                   8043:  0: a\x0ab
                   8044:     a\rb
                   8045:  0: a\x0db
                   8046:     a\r\nb
                   8047:  0: a\x0d\x0ab
                   8048:     a\x0bb
                   8049:  0: a\x0bb
                   8050:     a\x0cb
                   8051:  0: a\x0cb
                   8052:     a\x85b
                   8053:  0: a\x85b
                   8054:     a\n\rb
                   8055:  0: a\x0a\x0db
                   8056:     a\n\r\x85\x0cb
                   8057:  0: a\x0a\x0d\x85\x0cb
                   8058:     ** Failers
                   8059: No match
                   8060:     ab
                   8061: No match
                   8062: 
                   8063: /^a\R{1,3}b/<bsr_unicode>
                   8064:     a\nb
                   8065:  0: a\x0ab
                   8066:     a\n\rb
                   8067:  0: a\x0a\x0db
                   8068:     a\n\r\x85b
                   8069:  0: a\x0a\x0d\x85b
                   8070:     a\r\n\r\nb
                   8071:  0: a\x0d\x0a\x0d\x0ab
                   8072:     a\r\n\r\n\r\nb
                   8073:  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
                   8074:     a\n\r\n\rb
                   8075:  0: a\x0a\x0d\x0a\x0db
                   8076:     a\n\n\r\nb
                   8077:  0: a\x0a\x0a\x0d\x0ab
                   8078:     ** Failers
                   8079: No match
                   8080:     a\n\n\n\rb
                   8081: No match
                   8082:     a\r
                   8083: No match
                   8084: 
                   8085: /^a[\R]b/<bsr_unicode>
                   8086:     aRb
                   8087:  0: aRb
                   8088:     ** Failers
                   8089: No match
                   8090:     a\nb
                   8091: No match
                   8092: 
                   8093: /(?&abc)X(?<abc>P)/I
                   8094: Capturing subpattern count = 1
                   8095: Named capturing subpatterns:
                   8096:   abc   1
                   8097: No options
                   8098: No first char
                   8099: Need char = 'P'
                   8100:     abcPXP123
                   8101:  0: PXP
                   8102:  1: P
                   8103: 
                   8104: /(?1)X(?<abc>P)/I
                   8105: Capturing subpattern count = 1
                   8106: Named capturing subpatterns:
                   8107:   abc   1
                   8108: No options
                   8109: No first char
                   8110: Need char = 'P'
                   8111:     abcPXP123
                   8112:  0: PXP
                   8113:  1: P
                   8114: 
                   8115: /(?:a(?&abc)b)*(?<abc>x)/
                   8116:     123axbaxbaxbx456
                   8117:  0: axbaxbaxbx
                   8118:  1: x
                   8119:     123axbaxbaxb456
                   8120:  0: x
                   8121:  1: x
                   8122: 
                   8123: /(?:a(?&abc)b){1,5}(?<abc>x)/
                   8124:     123axbaxbaxbx456
                   8125:  0: axbaxbaxbx
                   8126:  1: x
                   8127: 
                   8128: /(?:a(?&abc)b){2,5}(?<abc>x)/
                   8129:     123axbaxbaxbx456
                   8130:  0: axbaxbaxbx
                   8131:  1: x
                   8132: 
                   8133: /(?:a(?&abc)b){2,}(?<abc>x)/
                   8134:     123axbaxbaxbx456
                   8135:  0: axbaxbaxbx
                   8136:  1: x
                   8137: 
                   8138: /(abc)(?i:(?1))/
                   8139:    defabcabcxyz
                   8140:  0: abcabc
                   8141:  1: abc
                   8142:    DEFabcABCXYZ
                   8143: No match
                   8144: 
                   8145: /(abc)(?:(?i)(?1))/
                   8146:    defabcabcxyz
                   8147:  0: abcabc
                   8148:  1: abc
                   8149:    DEFabcABCXYZ
                   8150: No match
                   8151: 
                   8152: /^(a)\g-2/
                   8153: Failed: reference to non-existent subpattern at offset 7
                   8154: 
                   8155: /^(a)\g/
                   8156: Failed: a numbered reference must not be zero at offset 5
                   8157: 
                   8158: /^(a)\g{0}/
                   8159: Failed: a numbered reference must not be zero at offset 8
                   8160: 
                   8161: /^(a)\g{3/
                   8162: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
                   8163: 
                   8164: /^(a)\g{4a}/
                   8165: Failed: reference to non-existent subpattern at offset 9
                   8166: 
                   8167: /^a.b/<lf>
                   8168:     a\rb
                   8169:  0: a\x0db
                   8170:     *** Failers
                   8171: No match
                   8172:     a\nb
                   8173: No match
                   8174: 
                   8175: /.+foo/
                   8176:     afoo
                   8177:  0: afoo
                   8178:     ** Failers
                   8179: No match
                   8180:     \r\nfoo
                   8181: No match
                   8182:     \nfoo
                   8183: No match
                   8184: 
                   8185: /.+foo/<crlf>
                   8186:     afoo
                   8187:  0: afoo
                   8188:     \nfoo
                   8189:  0: \x0afoo
                   8190:     ** Failers
                   8191: No match
                   8192:     \r\nfoo
                   8193: No match
                   8194: 
                   8195: /.+foo/<any>
                   8196:     afoo
                   8197:  0: afoo
                   8198:     ** Failers
                   8199: No match
                   8200:     \nfoo
                   8201: No match
                   8202:     \r\nfoo
                   8203: No match
                   8204: 
                   8205: /.+foo/s
                   8206:     afoo
                   8207:  0: afoo
                   8208:     \r\nfoo
                   8209:  0: \x0d\x0afoo
                   8210:     \nfoo
                   8211:  0: \x0afoo
                   8212:     
                   8213: /^$/mg<any>
                   8214:     abc\r\rxyz
                   8215:  0: 
                   8216:     abc\n\rxyz  
                   8217:  0: 
                   8218:     ** Failers 
                   8219: No match
                   8220:     abc\r\nxyz
                   8221: No match
                   8222: 
                   8223: /(?m)^$/<any>g+
                   8224:     abc\r\n\r\n
                   8225:  0: 
                   8226:  0+ \x0d\x0a
                   8227: 
                   8228: /(?m)^$|^\r\n/<any>g+ 
                   8229:     abc\r\n\r\n
                   8230:  0: 
                   8231:  0+ \x0d\x0a
                   8232:  0: \x0d\x0a
                   8233:  0+ 
                   8234:     
                   8235: /(?m)$/<any>g+ 
                   8236:     abc\r\n\r\n
                   8237:  0: 
                   8238:  0+ \x0d\x0a\x0d\x0a
                   8239:  0: 
                   8240:  0+ \x0d\x0a
                   8241:  0: 
                   8242:  0+ 
                   8243: 
                   8244: /abc.$/mgx<anycrlf>
                   8245:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
                   8246:  0: abc1
                   8247:  0: abc4
                   8248:  0: abc5
                   8249:  0: abc9
                   8250: 
                   8251: /^X/m
                   8252:     XABC
                   8253:  0: X
                   8254:     ** Failers 
                   8255: No match
                   8256:     XABC\B
                   8257: No match
                   8258: 
                   8259: /(ab|c)(?-1)/BZ
                   8260: ------------------------------------------------------------------
                   8261:         Bra
                   8262:         CBra 1
                   8263:         ab
                   8264:         Alt
                   8265:         c
                   8266:         Ket
                   8267:         Recurse
                   8268:         Ket
                   8269:         End
                   8270: ------------------------------------------------------------------
                   8271:     abc
                   8272:  0: abc
                   8273:  1: ab
                   8274: 
                   8275: /xy(?+1)(abc)/BZ
                   8276: ------------------------------------------------------------------
                   8277:         Bra
                   8278:         xy
                   8279:         Recurse
                   8280:         CBra 1
                   8281:         abc
                   8282:         Ket
                   8283:         Ket
                   8284:         End
                   8285: ------------------------------------------------------------------
                   8286:     xyabcabc
                   8287:  0: xyabcabc
                   8288:  1: abc
                   8289:     ** Failers
                   8290: No match
                   8291:     xyabc  
                   8292: No match
                   8293:     
                   8294: /x(?-0)y/
                   8295: Failed: a numbered reference must not be zero at offset 5
                   8296: 
                   8297: /x(?-1)y/
                   8298: Failed: reference to non-existent subpattern at offset 5
                   8299: 
                   8300: /x(?+0)y/ 
                   8301: Failed: a numbered reference must not be zero at offset 5
                   8302: 
                   8303: /x(?+1)y/
                   8304: Failed: reference to non-existent subpattern at offset 5
                   8305: 
                   8306: /^(abc)?(?(-1)X|Y)/BZ
                   8307: ------------------------------------------------------------------
                   8308:         Bra
                   8309:         ^
                   8310:         Brazero
                   8311:         CBra 1
                   8312:         abc
                   8313:         Ket
                   8314:         Cond
                   8315:       1 Cond ref
                   8316:         X
                   8317:         Alt
                   8318:         Y
                   8319:         Ket
                   8320:         Ket
                   8321:         End
                   8322: ------------------------------------------------------------------
                   8323:     abcX
                   8324:  0: abcX
                   8325:  1: abc
                   8326:     Y
                   8327:  0: Y
                   8328:     ** Failers
                   8329: No match
                   8330:     abcY   
                   8331: No match
                   8332:     
                   8333: /^((?(+1)X|Y)(abc))+/BZ 
                   8334: ------------------------------------------------------------------
                   8335:         Bra
                   8336:         ^
                   8337:         CBra 1
                   8338:         Cond
                   8339:       2 Cond ref
                   8340:         X
                   8341:         Alt
                   8342:         Y
                   8343:         Ket
                   8344:         CBra 2
                   8345:         abc
                   8346:         Ket
                   8347:         KetRmax
                   8348:         Ket
                   8349:         End
                   8350: ------------------------------------------------------------------
                   8351:     YabcXabc
                   8352:  0: YabcXabc
                   8353:  1: Xabc
                   8354:  2: abc
                   8355:     YabcXabcXabc
                   8356:  0: YabcXabcXabc
                   8357:  1: Xabc
                   8358:  2: abc
                   8359:     ** Failers
                   8360: No match
                   8361:     XabcXabc  
                   8362: No match
                   8363: 
                   8364: /(?(-1)a)/BZ
                   8365: Failed: reference to non-existent subpattern at offset 6
                   8366: 
                   8367: /((?(-1)a))/BZ
                   8368: ------------------------------------------------------------------
                   8369:         Bra
                   8370:         CBra 1
                   8371:         Cond
                   8372:       1 Cond ref
                   8373:         a
                   8374:         Ket
                   8375:         Ket
                   8376:         Ket
                   8377:         End
                   8378: ------------------------------------------------------------------
                   8379: 
                   8380: /((?(-2)a))/BZ
                   8381: Failed: reference to non-existent subpattern at offset 7
                   8382: 
                   8383: /^(?(+1)X|Y)(.)/BZ
                   8384: ------------------------------------------------------------------
                   8385:         Bra
                   8386:         ^
                   8387:         Cond
                   8388:       1 Cond ref
                   8389:         X
                   8390:         Alt
                   8391:         Y
                   8392:         Ket
                   8393:         CBra 1
                   8394:         Any
                   8395:         Ket
                   8396:         Ket
                   8397:         End
                   8398: ------------------------------------------------------------------
                   8399:     Y!
                   8400:  0: Y!
                   8401:  1: !
                   8402: 
                   8403: /(?<A>tom|bon)-\k{A}/
                   8404:     tom-tom
                   8405:  0: tom-tom
                   8406:  1: tom
                   8407:     bon-bon 
                   8408:  0: bon-bon
                   8409:  1: bon
                   8410:     ** Failers
                   8411: No match
                   8412:     tom-bon  
                   8413: No match
                   8414: 
                   8415: /\g{A/ 
                   8416: Failed: syntax error in subpattern name (missing terminator) at offset 4
                   8417: 
                   8418: /(?|(abc)|(xyz))/BZ
                   8419: ------------------------------------------------------------------
                   8420:         Bra
                   8421:         Bra
                   8422:         CBra 1
                   8423:         abc
                   8424:         Ket
                   8425:         Alt
                   8426:         CBra 1
                   8427:         xyz
                   8428:         Ket
                   8429:         Ket
                   8430:         Ket
                   8431:         End
                   8432: ------------------------------------------------------------------
                   8433:    >abc<
                   8434:  0: abc
                   8435:  1: abc
                   8436:    >xyz< 
                   8437:  0: xyz
                   8438:  1: xyz
                   8439: 
                   8440: /(x)(?|(abc)|(xyz))(x)/BZ
                   8441: ------------------------------------------------------------------
                   8442:         Bra
                   8443:         CBra 1
                   8444:         x
                   8445:         Ket
                   8446:         Bra
                   8447:         CBra 2
                   8448:         abc
                   8449:         Ket
                   8450:         Alt
                   8451:         CBra 2
                   8452:         xyz
                   8453:         Ket
                   8454:         Ket
                   8455:         CBra 3
                   8456:         x
                   8457:         Ket
                   8458:         Ket
                   8459:         End
                   8460: ------------------------------------------------------------------
                   8461:     xabcx
                   8462:  0: xabcx
                   8463:  1: x
                   8464:  2: abc
                   8465:  3: x
                   8466:     xxyzx 
                   8467:  0: xxyzx
                   8468:  1: x
                   8469:  2: xyz
                   8470:  3: x
                   8471: 
                   8472: /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
                   8473: ------------------------------------------------------------------
                   8474:         Bra
                   8475:         CBra 1
                   8476:         x
                   8477:         Ket
                   8478:         Bra
                   8479:         CBra 2
                   8480:         abc
                   8481:         Ket
                   8482:         CBra 3
                   8483:         pqr
                   8484:         Ket
                   8485:         Alt
                   8486:         CBra 2
                   8487:         xyz
                   8488:         Ket
                   8489:         Ket
                   8490:         CBra 4
                   8491:         x
                   8492:         Ket
                   8493:         Ket
                   8494:         End
                   8495: ------------------------------------------------------------------
                   8496:     xabcpqrx
                   8497:  0: xabcpqrx
                   8498:  1: x
                   8499:  2: abc
                   8500:  3: pqr
                   8501:  4: x
                   8502:     xxyzx 
                   8503:  0: xxyzx
                   8504:  1: x
                   8505:  2: xyz
                   8506:  3: <unset>
                   8507:  4: x
                   8508: 
                   8509: /[\h]/BZ
                   8510: ------------------------------------------------------------------
                   8511:         Bra
                   8512:         [\x09 \xa0]
                   8513:         Ket
                   8514:         End
                   8515: ------------------------------------------------------------------
                   8516:     >\x09<
                   8517:  0: \x09
                   8518: 
                   8519: /[\h]+/BZ
                   8520: ------------------------------------------------------------------
                   8521:         Bra
                   8522:         [\x09 \xa0]+
                   8523:         Ket
                   8524:         End
                   8525: ------------------------------------------------------------------
                   8526:     >\x09\x20\xa0<
                   8527:  0: \x09 \xa0
                   8528: 
                   8529: /[\v]/BZ
                   8530: ------------------------------------------------------------------
                   8531:         Bra
                   8532:         [\x0a-\x0d\x85]
                   8533:         Ket
                   8534:         End
                   8535: ------------------------------------------------------------------
                   8536: 
                   8537: /[\H]/BZ
                   8538: ------------------------------------------------------------------
                   8539:         Bra
                   8540:         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff]
                   8541:         Ket
                   8542:         End
                   8543: ------------------------------------------------------------------
                   8544: 
                   8545: /[^\h]/BZ
                   8546: ------------------------------------------------------------------
                   8547:         Bra
                   8548:         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] (neg)
                   8549:         Ket
                   8550:         End
                   8551: ------------------------------------------------------------------
                   8552: 
                   8553: /[\V]/BZ
                   8554: ------------------------------------------------------------------
                   8555:         Bra
                   8556:         [\x00-\x09\x0e-\x84\x86-\xff]
                   8557:         Ket
                   8558:         End
                   8559: ------------------------------------------------------------------
                   8560: 
                   8561: /[\x0a\V]/BZ
                   8562: ------------------------------------------------------------------
                   8563:         Bra
                   8564:         [\x00-\x0a\x0e-\x84\x86-\xff]
                   8565:         Ket
                   8566:         End
                   8567: ------------------------------------------------------------------
                   8568: 
                   8569: /\H++X/BZ
                   8570: ------------------------------------------------------------------
                   8571:         Bra
                   8572:         \H++
                   8573:         X
                   8574:         Ket
                   8575:         End
                   8576: ------------------------------------------------------------------
                   8577:     ** Failers
                   8578: No match
                   8579:     XXXX
                   8580: No match
                   8581:     
                   8582: /\H+\hY/BZ
                   8583: ------------------------------------------------------------------
                   8584:         Bra
                   8585:         \H++
                   8586:         \h
                   8587:         Y
                   8588:         Ket
                   8589:         End
                   8590: ------------------------------------------------------------------
                   8591:     XXXX Y 
                   8592:  0: XXXX Y
                   8593: 
                   8594: /\H+ Y/BZ
                   8595: ------------------------------------------------------------------
                   8596:         Bra
                   8597:         \H++
                   8598:          Y
                   8599:         Ket
                   8600:         End
                   8601: ------------------------------------------------------------------
                   8602: 
                   8603: /\h+A/BZ
                   8604: ------------------------------------------------------------------
                   8605:         Bra
                   8606:         \h++
                   8607:         A
                   8608:         Ket
                   8609:         End
                   8610: ------------------------------------------------------------------
                   8611: 
                   8612: /\v*B/BZ
                   8613: ------------------------------------------------------------------
                   8614:         Bra
                   8615:         \v*+
                   8616:         B
                   8617:         Ket
                   8618:         End
                   8619: ------------------------------------------------------------------
                   8620: 
                   8621: /\V+\x0a/BZ
                   8622: ------------------------------------------------------------------
                   8623:         Bra
                   8624:         \V++
                   8625:         \x0a
                   8626:         Ket
                   8627:         End
                   8628: ------------------------------------------------------------------
                   8629: 
                   8630: /A+\h/BZ
                   8631: ------------------------------------------------------------------
                   8632:         Bra
                   8633:         A++
                   8634:         \h
                   8635:         Ket
                   8636:         End
                   8637: ------------------------------------------------------------------
                   8638: 
                   8639: / *\H/BZ
                   8640: ------------------------------------------------------------------
                   8641:         Bra
                   8642:          *+
                   8643:         \H
                   8644:         Ket
                   8645:         End
                   8646: ------------------------------------------------------------------
                   8647: 
                   8648: /A*\v/BZ
                   8649: ------------------------------------------------------------------
                   8650:         Bra
                   8651:         A*+
                   8652:         \v
                   8653:         Ket
                   8654:         End
                   8655: ------------------------------------------------------------------
                   8656: 
                   8657: /\x0b*\V/BZ
                   8658: ------------------------------------------------------------------
                   8659:         Bra
                   8660:         \x0b*+
                   8661:         \V
                   8662:         Ket
                   8663:         End
                   8664: ------------------------------------------------------------------
                   8665: 
                   8666: /\d+\h/BZ
                   8667: ------------------------------------------------------------------
                   8668:         Bra
                   8669:         \d++
                   8670:         \h
                   8671:         Ket
                   8672:         End
                   8673: ------------------------------------------------------------------
                   8674: 
                   8675: /\d*\v/BZ
                   8676: ------------------------------------------------------------------
                   8677:         Bra
                   8678:         \d*+
                   8679:         \v
                   8680:         Ket
                   8681:         End
                   8682: ------------------------------------------------------------------
                   8683: 
                   8684: /S+\h\S+\v/BZ
                   8685: ------------------------------------------------------------------
                   8686:         Bra
                   8687:         S++
                   8688:         \h
                   8689:         \S++
                   8690:         \v
                   8691:         Ket
                   8692:         End
                   8693: ------------------------------------------------------------------
                   8694: 
                   8695: /\w{3,}\h\w+\v/BZ
                   8696: ------------------------------------------------------------------
                   8697:         Bra
                   8698:         \w{3}
                   8699:         \w*+
                   8700:         \h
                   8701:         \w++
                   8702:         \v
                   8703:         Ket
                   8704:         End
                   8705: ------------------------------------------------------------------
                   8706: 
                   8707: /\h+\d\h+\w\h+\S\h+\H/BZ
                   8708: ------------------------------------------------------------------
                   8709:         Bra
                   8710:         \h++
                   8711:         \d
                   8712:         \h++
                   8713:         \w
                   8714:         \h++
                   8715:         \S
                   8716:         \h++
                   8717:         \H
                   8718:         Ket
                   8719:         End
                   8720: ------------------------------------------------------------------
                   8721: 
                   8722: /\v+\d\v+\w\v+\S\v+\V/BZ
                   8723: ------------------------------------------------------------------
                   8724:         Bra
                   8725:         \v++
                   8726:         \d
                   8727:         \v++
                   8728:         \w
                   8729:         \v+
                   8730:         \S
                   8731:         \v++
                   8732:         \V
                   8733:         Ket
                   8734:         End
                   8735: ------------------------------------------------------------------
                   8736: 
                   8737: /\H+\h\H+\d/BZ
                   8738: ------------------------------------------------------------------
                   8739:         Bra
                   8740:         \H++
                   8741:         \h
                   8742:         \H+
                   8743:         \d
                   8744:         Ket
                   8745:         End
                   8746: ------------------------------------------------------------------
                   8747: 
                   8748: /\V+\v\V+\w/BZ
                   8749: ------------------------------------------------------------------
                   8750:         Bra
                   8751:         \V++
                   8752:         \v
                   8753:         \V+
                   8754:         \w
                   8755:         Ket
                   8756:         End
                   8757: ------------------------------------------------------------------
                   8758: 
                   8759: /\( (?: [^()]* | (?R) )* \)/x
                   8760: \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)
                   8761:  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
                   8762: 
                   8763: /[\E]AAA/
                   8764: Failed: missing terminating ] for character class at offset 7
                   8765: 
                   8766: /[\Q\E]AAA/
                   8767: Failed: missing terminating ] for character class at offset 9
                   8768: 
                   8769: /[^\E]AAA/
                   8770: Failed: missing terminating ] for character class at offset 8
                   8771: 
                   8772: /[^\Q\E]AAA/
                   8773: Failed: missing terminating ] for character class at offset 10
                   8774: 
                   8775: /[\E^]AAA/
                   8776: Failed: missing terminating ] for character class at offset 8
                   8777: 
                   8778: /[\Q\E^]AAA/
                   8779: Failed: missing terminating ] for character class at offset 10
                   8780: 
                   8781: /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
                   8782: ------------------------------------------------------------------
                   8783:         Bra
                   8784:         A
                   8785:         *PRUNE
                   8786:         B
                   8787:         *SKIP
                   8788:         C
                   8789:         *THEN
                   8790:         D
                   8791:         *COMMIT
                   8792:         E
                   8793:         *FAIL
                   8794:         F
                   8795:         *FAIL
                   8796:         G
                   8797:         *FAIL
                   8798:         H
                   8799:         *ACCEPT
                   8800:         I
                   8801:         Ket
                   8802:         End
                   8803: ------------------------------------------------------------------
                   8804: 
                   8805: /^a+(*FAIL)/C
                   8806:     aaaaaa
                   8807: --->aaaaaa
                   8808:  +0 ^          ^
                   8809:  +1 ^          a+
                   8810:  +3 ^     ^    (*FAIL)
                   8811:  +3 ^    ^     (*FAIL)
                   8812:  +3 ^   ^      (*FAIL)
                   8813:  +3 ^  ^       (*FAIL)
                   8814:  +3 ^ ^        (*FAIL)
                   8815:  +3 ^^         (*FAIL)
                   8816: No match
                   8817:     
                   8818: /a+b?c+(*FAIL)/C
                   8819:     aaabccc
                   8820: --->aaabccc
                   8821:  +0 ^           a+
                   8822:  +2 ^  ^        b?
                   8823:  +4 ^   ^       c+
                   8824:  +6 ^      ^    (*FAIL)
                   8825:  +6 ^     ^     (*FAIL)
                   8826:  +6 ^    ^      (*FAIL)
                   8827:  +4 ^  ^        c+
                   8828:  +2 ^ ^         b?
                   8829:  +4 ^ ^         c+
                   8830:  +2 ^^          b?
                   8831:  +4 ^^          c+
                   8832:  +0  ^          a+
                   8833:  +2  ^ ^        b?
                   8834:  +4  ^  ^       c+
                   8835:  +6  ^     ^    (*FAIL)
                   8836:  +6  ^    ^     (*FAIL)
                   8837:  +6  ^   ^      (*FAIL)
                   8838:  +4  ^ ^        c+
                   8839:  +2  ^^         b?
                   8840:  +4  ^^         c+
                   8841:  +0   ^         a+
                   8842:  +2   ^^        b?
                   8843:  +4   ^ ^       c+
                   8844:  +6   ^    ^    (*FAIL)
                   8845:  +6   ^   ^     (*FAIL)
                   8846:  +6   ^  ^      (*FAIL)
                   8847:  +4   ^^        c+
                   8848: No match
                   8849: 
                   8850: /a+b?(*PRUNE)c+(*FAIL)/C
                   8851:     aaabccc
                   8852: --->aaabccc
                   8853:  +0 ^           a+
                   8854:  +2 ^  ^        b?
                   8855:  +4 ^   ^       (*PRUNE)
                   8856: +12 ^   ^       c+
                   8857: +14 ^      ^    (*FAIL)
                   8858: +14 ^     ^     (*FAIL)
                   8859: +14 ^    ^      (*FAIL)
                   8860:  +0  ^          a+
                   8861:  +2  ^ ^        b?
                   8862:  +4  ^  ^       (*PRUNE)
                   8863: +12  ^  ^       c+
                   8864: +14  ^     ^    (*FAIL)
                   8865: +14  ^    ^     (*FAIL)
                   8866: +14  ^   ^      (*FAIL)
                   8867:  +0   ^         a+
                   8868:  +2   ^^        b?
                   8869:  +4   ^ ^       (*PRUNE)
                   8870: +12   ^ ^       c+
                   8871: +14   ^    ^    (*FAIL)
                   8872: +14   ^   ^     (*FAIL)
                   8873: +14   ^  ^      (*FAIL)
                   8874: No match
                   8875: 
                   8876: /a+b?(*COMMIT)c+(*FAIL)/C
                   8877:     aaabccc
                   8878: --->aaabccc
                   8879:  +0 ^           a+
                   8880:  +2 ^  ^        b?
                   8881:  +4 ^   ^       (*COMMIT)
                   8882: +13 ^   ^       c+
                   8883: +15 ^      ^    (*FAIL)
                   8884: +15 ^     ^     (*FAIL)
                   8885: +15 ^    ^      (*FAIL)
                   8886: No match
                   8887:     
                   8888: /a+b?(*SKIP)c+(*FAIL)/C
                   8889:     aaabcccaaabccc
                   8890: --->aaabcccaaabccc
                   8891:  +0 ^                  a+
                   8892:  +2 ^  ^               b?
                   8893:  +4 ^   ^              (*SKIP)
                   8894: +11 ^   ^              c+
                   8895: +13 ^      ^           (*FAIL)
                   8896: +13 ^     ^            (*FAIL)
                   8897: +13 ^    ^             (*FAIL)
                   8898:  +0        ^           a+
                   8899:  +2        ^  ^        b?
                   8900:  +4        ^   ^       (*SKIP)
                   8901: +11        ^   ^       c+
                   8902: +13        ^      ^    (*FAIL)
                   8903: +13        ^     ^     (*FAIL)
                   8904: +13        ^    ^      (*FAIL)
                   8905: No match
                   8906: 
                   8907: /a+b?(*THEN)c+(*FAIL)/C
                   8908:     aaabccc
                   8909: --->aaabccc
                   8910:  +0 ^           a+
                   8911:  +2 ^  ^        b?
                   8912:  +4 ^   ^       (*THEN)
                   8913: +11 ^   ^       c+
                   8914: +13 ^      ^    (*FAIL)
                   8915: +13 ^     ^     (*FAIL)
                   8916: +13 ^    ^      (*FAIL)
                   8917:  +0  ^          a+
                   8918:  +2  ^ ^        b?
                   8919:  +4  ^  ^       (*THEN)
                   8920: +11  ^  ^       c+
                   8921: +13  ^     ^    (*FAIL)
                   8922: +13  ^    ^     (*FAIL)
                   8923: +13  ^   ^      (*FAIL)
                   8924:  +0   ^         a+
                   8925:  +2   ^^        b?
                   8926:  +4   ^ ^       (*THEN)
                   8927: +11   ^ ^       c+
                   8928: +13   ^    ^    (*FAIL)
                   8929: +13   ^   ^     (*FAIL)
                   8930: +13   ^  ^      (*FAIL)
                   8931: No match
                   8932:     
                   8933: /a(*MARK)b/ 
                   8934: Failed: (*MARK) must have an argument at offset 7
                   8935: 
                   8936: /(?i:A{1,}\6666666666)/
                   8937: Failed: number is too big at offset 19
                   8938: 
                   8939: /\g6666666666/
                   8940: Failed: number is too big at offset 11
                   8941: 
                   8942: /[\g6666666666]/BZ
                   8943: ------------------------------------------------------------------
                   8944:         Bra
                   8945:         [6g]
                   8946:         Ket
                   8947:         End
                   8948: ------------------------------------------------------------------
                   8949: 
                   8950: /(?1)\c[/
                   8951: Failed: reference to non-existent subpattern at offset 3
                   8952: 
                   8953: /.+A/<crlf>
                   8954:     \r\nA
                   8955: No match
                   8956:     
                   8957: /\nA/<crlf>
                   8958:     \r\nA 
                   8959:  0: \x0aA
                   8960: 
                   8961: /[\r\n]A/<crlf>
                   8962:     \r\nA 
                   8963:  0: \x0aA
                   8964: 
                   8965: /(\r|\n)A/<crlf>
                   8966:     \r\nA 
                   8967:  0: \x0aA
                   8968:  1: \x0a
                   8969: 
                   8970: /a(*CR)b/
                   8971: Failed: (*VERB) not recognized at offset 5
                   8972: 
                   8973: /(*CR)a.b/
                   8974:     a\nb
                   8975:  0: a\x0ab
                   8976:     ** Failers
                   8977: No match
                   8978:     a\rb  
                   8979: No match
                   8980: 
                   8981: /(*CR)a.b/<lf>
                   8982:     a\nb
                   8983:  0: a\x0ab
                   8984:     ** Failers
                   8985: No match
                   8986:     a\rb  
                   8987: No match
                   8988: 
                   8989: /(*LF)a.b/<CRLF>
                   8990:     a\rb
                   8991:  0: a\x0db
                   8992:     ** Failers
                   8993: No match
                   8994:     a\nb  
                   8995: No match
                   8996: 
                   8997: /(*CRLF)a.b/
                   8998:     a\rb
                   8999:  0: a\x0db
                   9000:     a\nb  
                   9001:  0: a\x0ab
                   9002:     ** Failers
                   9003: No match
                   9004:     a\r\nb  
                   9005: No match
                   9006: 
                   9007: /(*ANYCRLF)a.b/<CR>
                   9008:     ** Failers
                   9009: No match
                   9010:     a\rb
                   9011: No match
                   9012:     a\nb  
                   9013: No match
                   9014:     a\r\nb  
                   9015: No match
                   9016: 
                   9017: /(*ANY)a.b/<cr>
                   9018:     ** Failers
                   9019: No match
                   9020:     a\rb
                   9021: No match
                   9022:     a\nb  
                   9023: No match
                   9024:     a\r\nb  
                   9025: No match
                   9026:     a\x85b 
                   9027: No match
                   9028:     
                   9029: /(*ANY).*/g
                   9030:     abc\r\ndef
                   9031:  0: abc
                   9032:  0: 
                   9033:  0: def
                   9034:  0: 
                   9035: 
                   9036: /(*ANYCRLF).*/g
                   9037:     abc\r\ndef
                   9038:  0: abc
                   9039:  0: 
                   9040:  0: def
                   9041:  0: 
                   9042: 
                   9043: /(*CRLF).*/g
                   9044:     abc\r\ndef
                   9045:  0: abc
                   9046:  0: 
                   9047:  0: def
                   9048:  0: 
                   9049: 
                   9050: /a\Rb/I<bsr_anycrlf>
                   9051: Capturing subpattern count = 0
                   9052: Options: bsr_anycrlf
                   9053: First char = 'a'
                   9054: Need char = 'b'
                   9055:     a\rb
                   9056:  0: a\x0db
                   9057:     a\nb
                   9058:  0: a\x0ab
                   9059:     a\r\nb
                   9060:  0: a\x0d\x0ab
                   9061:     ** Failers
                   9062: No match
                   9063:     a\x85b
                   9064: No match
                   9065:     a\x0bb     
                   9066: No match
                   9067: 
                   9068: /a\Rb/I<bsr_unicode>
                   9069: Capturing subpattern count = 0
                   9070: Options: bsr_unicode
                   9071: First char = 'a'
                   9072: Need char = 'b'
                   9073:     a\rb
                   9074:  0: a\x0db
                   9075:     a\nb
                   9076:  0: a\x0ab
                   9077:     a\r\nb
                   9078:  0: a\x0d\x0ab
                   9079:     a\x85b
                   9080:  0: a\x85b
                   9081:     a\x0bb     
                   9082:  0: a\x0bb
                   9083:     ** Failers 
                   9084: No match
                   9085:     a\x85b\<bsr_anycrlf>
                   9086: No match
                   9087:     a\x0bb\<bsr_anycrlf>
                   9088: No match
                   9089:     
                   9090: /a\R?b/I<bsr_anycrlf>
                   9091: Capturing subpattern count = 0
                   9092: Options: bsr_anycrlf
                   9093: First char = 'a'
                   9094: Need char = 'b'
                   9095:     a\rb
                   9096:  0: a\x0db
                   9097:     a\nb
                   9098:  0: a\x0ab
                   9099:     a\r\nb
                   9100:  0: a\x0d\x0ab
                   9101:     ** Failers
                   9102: No match
                   9103:     a\x85b
                   9104: No match
                   9105:     a\x0bb     
                   9106: No match
                   9107: 
                   9108: /a\R?b/I<bsr_unicode>
                   9109: Capturing subpattern count = 0
                   9110: Options: bsr_unicode
                   9111: First char = 'a'
                   9112: Need char = 'b'
                   9113:     a\rb
                   9114:  0: a\x0db
                   9115:     a\nb
                   9116:  0: a\x0ab
                   9117:     a\r\nb
                   9118:  0: a\x0d\x0ab
                   9119:     a\x85b
                   9120:  0: a\x85b
                   9121:     a\x0bb     
                   9122:  0: a\x0bb
                   9123:     ** Failers 
                   9124: No match
                   9125:     a\x85b\<bsr_anycrlf>
                   9126: No match
                   9127:     a\x0bb\<bsr_anycrlf>
                   9128: No match
                   9129:     
                   9130: /a\R{2,4}b/I<bsr_anycrlf>
                   9131: Capturing subpattern count = 0
                   9132: Options: bsr_anycrlf
                   9133: First char = 'a'
                   9134: Need char = 'b'
                   9135:     a\r\n\nb
                   9136:  0: a\x0d\x0a\x0ab
                   9137:     a\n\r\rb
                   9138:  0: a\x0a\x0d\x0db
                   9139:     a\r\n\r\n\r\n\r\nb
                   9140:  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
                   9141:     ** Failers
                   9142: No match
                   9143:     a\x85\85b
                   9144: No match
                   9145:     a\x0b\0bb     
                   9146: No match
                   9147: 
                   9148: /a\R{2,4}b/I<bsr_unicode>
                   9149: Capturing subpattern count = 0
                   9150: Options: bsr_unicode
                   9151: First char = 'a'
                   9152: Need char = 'b'
                   9153:     a\r\rb
                   9154:  0: a\x0d\x0db
                   9155:     a\n\n\nb
                   9156:  0: a\x0a\x0a\x0ab
                   9157:     a\r\n\n\r\rb
                   9158:  0: a\x0d\x0a\x0a\x0d\x0db
                   9159:     a\x85\85b
                   9160: No match
                   9161:     a\x0b\0bb     
                   9162: No match
                   9163:     ** Failers 
                   9164: No match
                   9165:     a\r\r\r\r\rb 
                   9166: No match
                   9167:     a\x85\85b\<bsr_anycrlf>
                   9168: No match
                   9169:     a\x0b\0bb\<bsr_anycrlf>
                   9170: No match
                   9171:  
                   9172: /(*BSR_ANYCRLF)a\Rb/I
                   9173: Capturing subpattern count = 0
                   9174: Options: bsr_anycrlf
                   9175: First char = 'a'
                   9176: Need char = 'b'
                   9177:     a\nb
                   9178:  0: a\x0ab
                   9179:     a\rb 
                   9180:  0: a\x0db
                   9181: 
                   9182: /(*BSR_UNICODE)a\Rb/I
                   9183: Capturing subpattern count = 0
                   9184: Options: bsr_unicode
                   9185: First char = 'a'
                   9186: Need char = 'b'
                   9187:     a\x85b
                   9188:  0: a\x85b
                   9189: 
                   9190: /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
                   9191: Capturing subpattern count = 0
                   9192: Options: bsr_anycrlf
                   9193: Forced newline sequence: CRLF
                   9194: First char = 'a'
                   9195: Need char = 'b'
                   9196:     a\nb
                   9197:  0: a\x0ab
                   9198:     a\rb 
                   9199:  0: a\x0db
                   9200: 
                   9201: /(*CRLF)(*BSR_UNICODE)a\Rb/I
                   9202: Capturing subpattern count = 0
                   9203: Options: bsr_unicode
                   9204: Forced newline sequence: CRLF
                   9205: First char = 'a'
                   9206: Need char = 'b'
                   9207:     a\x85b
                   9208:  0: a\x85b
                   9209: 
                   9210: /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
                   9211: Capturing subpattern count = 0
                   9212: Options: bsr_anycrlf
                   9213: Forced newline sequence: CR
                   9214: First char = 'a'
                   9215: Need char = 'b'
                   9216: 
                   9217: /(?<a>)(?&)/
                   9218: Failed: subpattern name expected at offset 9
                   9219: 
                   9220: /(?<abc>)(?&a)/
                   9221: Failed: reference to non-existent subpattern at offset 12
                   9222: 
                   9223: /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
                   9224: Failed: reference to non-existent subpattern at offset 32
                   9225: 
                   9226: /(?+-a)/
                   9227: Failed: digit expected after (?+ at offset 3
                   9228: 
                   9229: /(?-+a)/
                   9230: Failed: unrecognized character after (? or (?- at offset 3
                   9231: 
                   9232: /(?(-1))/
                   9233: Failed: reference to non-existent subpattern at offset 6
                   9234: 
                   9235: /(?(+10))/
                   9236: Failed: reference to non-existent subpattern at offset 7
                   9237: 
                   9238: /(?(10))/
                   9239: Failed: reference to non-existent subpattern at offset 6
                   9240: 
                   9241: /(?(+2))()()/
                   9242: 
                   9243: /(?(2))()()/
                   9244: 
                   9245: /\k''/
                   9246: Failed: subpattern name expected at offset 3
                   9247: 
                   9248: /\k<>/
                   9249: Failed: subpattern name expected at offset 3
                   9250: 
                   9251: /\k{}/
                   9252: Failed: subpattern name expected at offset 3
                   9253: 
                   9254: /\k/
                   9255: Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
                   9256: 
                   9257: /\kabc/
                   9258: Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
                   9259: 
                   9260: /(?P=)/
                   9261: Failed: subpattern name expected at offset 4
                   9262: 
                   9263: /(?P>)/
                   9264: Failed: subpattern name expected at offset 4
                   9265: 
                   9266: /(?!\w)(?R)/
                   9267: Failed: recursive call could loop indefinitely at offset 9
                   9268: 
                   9269: /(?=\w)(?R)/
                   9270: Failed: recursive call could loop indefinitely at offset 9
                   9271: 
                   9272: /(?<!\w)(?R)/
                   9273: Failed: recursive call could loop indefinitely at offset 10
                   9274: 
                   9275: /(?<=\w)(?R)/
                   9276: Failed: recursive call could loop indefinitely at offset 10
                   9277: 
                   9278: /[[:foo:]]/
                   9279: Failed: unknown POSIX class name at offset 3
                   9280: 
                   9281: /[[:1234:]]/
                   9282: Failed: unknown POSIX class name at offset 3
                   9283: 
                   9284: /[[:f\oo:]]/
                   9285: Failed: unknown POSIX class name at offset 3
                   9286: 
                   9287: /[[: :]]/
                   9288: Failed: unknown POSIX class name at offset 3
                   9289: 
                   9290: /[[:...:]]/
                   9291: Failed: unknown POSIX class name at offset 3
                   9292: 
                   9293: /[[:l\ower:]]/
                   9294: Failed: unknown POSIX class name at offset 3
                   9295: 
                   9296: /[[:abc\:]]/
                   9297: Failed: unknown POSIX class name at offset 3
                   9298: 
                   9299: /[abc[:x\]pqr:]]/
                   9300: Failed: unknown POSIX class name at offset 6
                   9301: 
                   9302: /[[:a\dz:]]/
                   9303: Failed: unknown POSIX class name at offset 3
                   9304: 
                   9305: /(^(a|b\g<-1'c))/
                   9306: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
                   9307: 
                   9308: /^(?+1)(?<a>x|y){0}z/
                   9309:     xzxx
                   9310:  0: xz
                   9311:     yzyy 
                   9312:  0: yz
                   9313:     ** Failers
                   9314: No match
                   9315:     xxz  
                   9316: No match
                   9317: 
                   9318: /(\3)(\1)(a)/
                   9319:     cat
                   9320: No match
                   9321: 
                   9322: /(\3)(\1)(a)/<JS>
                   9323:     cat
                   9324:  0: a
                   9325:  1: 
                   9326:  2: 
                   9327:  3: a
                   9328:     
                   9329: /TA]/
                   9330:     The ACTA] comes 
                   9331:  0: TA]
                   9332: 
                   9333: /TA]/<JS>
                   9334: Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
                   9335: 
                   9336: /(?2)[]a()b](abc)/
                   9337: Failed: reference to non-existent subpattern at offset 3
                   9338: 
                   9339: /(?2)[^]a()b](abc)/
                   9340: Failed: reference to non-existent subpattern at offset 3
                   9341: 
                   9342: /(?1)[]a()b](abc)/
                   9343:     abcbabc
                   9344:  0: abcbabc
                   9345:  1: abc
                   9346:     ** Failers 
                   9347: No match
                   9348:     abcXabc
                   9349: No match
                   9350: 
                   9351: /(?1)[^]a()b](abc)/
                   9352:     abcXabc
                   9353:  0: abcXabc
                   9354:  1: abc
                   9355:     ** Failers 
                   9356: No match
                   9357:     abcbabc
                   9358: No match
                   9359: 
                   9360: /(?2)[]a()b](abc)(xyz)/
                   9361:     xyzbabcxyz
                   9362:  0: xyzbabcxyz
                   9363:  1: abc
                   9364:  2: xyz
                   9365: 
                   9366: /(?&N)[]a(?<N>)](?<M>abc)/
                   9367: Failed: reference to non-existent subpattern at offset 4
                   9368: 
                   9369: /(?&N)[]a(?<N>)](abc)/
                   9370: Failed: reference to non-existent subpattern at offset 4
                   9371: 
                   9372: /a[]b/
                   9373: Failed: missing terminating ] for character class at offset 4
                   9374: 
                   9375: /a[^]b/
                   9376: Failed: missing terminating ] for character class at offset 5
                   9377: 
                   9378: /a[]b/<JS>
                   9379:     ** Failers
                   9380: No match
                   9381:     ab
                   9382: No match
                   9383: 
                   9384: /a[]+b/<JS>
                   9385:     ** Failers
                   9386: No match
                   9387:     ab 
                   9388: No match
                   9389: 
                   9390: /a[]*+b/<JS>
                   9391:     ** Failers
                   9392: No match
                   9393:     ab 
                   9394: No match
                   9395: 
                   9396: /a[^]b/<JS>
                   9397:     aXb
                   9398:  0: aXb
                   9399:     a\nb 
                   9400:  0: a\x0ab
                   9401:     ** Failers
                   9402: No match
                   9403:     ab  
                   9404: No match
                   9405:     
                   9406: /a[^]+b/<JS> 
                   9407:     aXb
                   9408:  0: aXb
                   9409:     a\nX\nXb 
                   9410:  0: a\x0aX\x0aXb
                   9411:     ** Failers
                   9412: No match
                   9413:     ab  
                   9414: No match
                   9415: 
                   9416: /a(?!)+b/
                   9417: Failed: nothing to repeat at offset 5
                   9418: 
                   9419: /a(*FAIL)+b/
                   9420: Failed: nothing to repeat at offset 8
                   9421: 
                   9422: /(abc|pqr|123){0}[xyz]/SI
                   9423: Capturing subpattern count = 1
                   9424: No options
                   9425: No first char
                   9426: No need char
                   9427: Subject length lower bound = 1
                   9428: Starting byte set: x y z 
                   9429: 
                   9430: /(?(?=.*b)b|^)/CI
                   9431: Capturing subpattern count = 0
                   9432: Options:
                   9433: No first char
                   9434: No need char
                   9435:    adc
                   9436: --->adc
                   9437:  +0 ^       (?(?=.*b)b|^)
                   9438:  +2 ^       (?=.*b)
                   9439:  +5 ^       .*
                   9440:  +7 ^  ^    b
                   9441:  +7 ^ ^     b
                   9442:  +7 ^^      b
                   9443:  +7 ^       b
                   9444: +12 ^       )
                   9445: +13 ^       
                   9446:  0: 
                   9447:    abc 
                   9448: --->abc
                   9449:  +0 ^       (?(?=.*b)b|^)
                   9450:  +2 ^       (?=.*b)
                   9451:  +5 ^       .*
                   9452:  +7 ^  ^    b
                   9453:  +7 ^ ^     b
                   9454:  +7 ^^      b
                   9455:  +8 ^ ^     )
                   9456:  +9 ^       b
                   9457:  +0  ^      (?(?=.*b)b|^)
                   9458:  +2  ^      (?=.*b)
                   9459:  +5  ^      .*
                   9460:  +7  ^ ^    b
                   9461:  +7  ^^     b
                   9462:  +7  ^      b
                   9463:  +8  ^^     )
                   9464:  +9  ^      b
                   9465: +10  ^^     |
                   9466: +13  ^^     
                   9467:  0: b
                   9468:    
                   9469: /(?(?=b).*b|^d)/I
                   9470: Capturing subpattern count = 0
                   9471: No options
                   9472: No first char
                   9473: No need char
                   9474: 
                   9475: /(?(?=.*b).*b|^d)/I
                   9476: Capturing subpattern count = 0
                   9477: No options
                   9478: First char at start or follows newline
                   9479: No need char
                   9480: 
                   9481: /a?|b?/P
                   9482:     abc
                   9483:  0: a
                   9484:     ** Failers
                   9485:  0: 
                   9486:     ddd\N   
                   9487: No match: POSIX code 17: match failed
                   9488: 
                   9489: /xyz/C
                   9490:   xyz 
                   9491: --->xyz
                   9492:  +0 ^       x
                   9493:  +1 ^^      y
                   9494:  +2 ^ ^     z
                   9495:  +3 ^  ^    
                   9496:  0: xyz
                   9497:   abcxyz 
                   9498: --->abcxyz
                   9499:  +0    ^       x
                   9500:  +1    ^^      y
                   9501:  +2    ^ ^     z
                   9502:  +3    ^  ^    
                   9503:  0: xyz
                   9504:   abcxyz\Y
                   9505: --->abcxyz
                   9506:  +0 ^          x
                   9507:  +0  ^         x
                   9508:  +0   ^        x
                   9509:  +0    ^       x
                   9510:  +1    ^^      y
                   9511:  +2    ^ ^     z
                   9512:  +3    ^  ^    
                   9513:  0: xyz
                   9514:   ** Failers 
                   9515: No match
                   9516:   abc
                   9517: No match
                   9518:   abc\Y
                   9519: --->abc
                   9520:  +0 ^       x
                   9521:  +0  ^      x
                   9522:  +0   ^     x
                   9523:  +0    ^    x
                   9524: No match
                   9525:   abcxypqr  
                   9526: No match
                   9527:   abcxypqr\Y  
                   9528: --->abcxypqr
                   9529:  +0 ^            x
                   9530:  +0  ^           x
                   9531:  +0   ^          x
                   9532:  +0    ^         x
                   9533:  +1    ^^        y
                   9534:  +2    ^ ^       z
                   9535:  +0     ^        x
                   9536:  +0      ^       x
                   9537:  +0       ^      x
                   9538:  +0        ^     x
                   9539:  +0         ^    x
                   9540: No match
                   9541:   
                   9542: /(*NO_START_OPT)xyz/C
                   9543:   abcxyz 
                   9544: --->abcxyz
                   9545: +15 ^          x
                   9546: +15  ^         x
                   9547: +15   ^        x
                   9548: +15    ^       x
                   9549: +16    ^^      y
                   9550: +17    ^ ^     z
                   9551: +18    ^  ^    
                   9552:  0: xyz
                   9553: 
                   9554: /xyz/CY
                   9555:   abcxyz 
                   9556: --->abcxyz
                   9557:  +0 ^          x
                   9558:  +0  ^         x
                   9559:  +0   ^        x
                   9560:  +0    ^       x
                   9561:  +1    ^^      y
                   9562:  +2    ^ ^     z
                   9563:  +3    ^  ^    
                   9564:  0: xyz
                   9565: 
                   9566: /^"((?(?=[a])[^"])|b)*"$/C
                   9567:     "ab"
                   9568: --->"ab"
                   9569:  +0 ^        ^
                   9570:  +1 ^        "
                   9571:  +2 ^^       ((?(?=[a])[^"])|b)*
                   9572:  +3 ^^       (?(?=[a])[^"])
                   9573:  +5 ^^       (?=[a])
                   9574:  +8 ^^       [a]
                   9575: +11 ^ ^      )
                   9576: +12 ^^       [^"]
                   9577: +16 ^ ^      )
                   9578: +17 ^ ^      |
                   9579:  +3 ^ ^      (?(?=[a])[^"])
                   9580:  +5 ^ ^      (?=[a])
                   9581:  +8 ^ ^      [a]
                   9582: +21 ^ ^      "
                   9583: +18 ^ ^      b
                   9584: +19 ^  ^     )
                   9585:  +3 ^  ^     (?(?=[a])[^"])
                   9586:  +5 ^  ^     (?=[a])
                   9587:  +8 ^  ^     [a]
                   9588: +21 ^  ^     "
                   9589: +22 ^   ^    $
                   9590: +23 ^   ^    
                   9591:  0: "ab"
                   9592:  1: 
                   9593: 
                   9594: /^"((?(?=[a])[^"])|b)*"$/
                   9595:     "ab"
                   9596:  0: "ab"
                   9597:  1: 
                   9598: 
                   9599: /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
                   9600: Failed: reference to non-existent subpattern at offset 5
                   9601: 
                   9602: /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
                   9603:     XYabcdY
                   9604:  0: XYabcdY
                   9605:  1: a
                   9606:  2: b
                   9607:  3: c
                   9608:  4: d
                   9609:  5: Y
                   9610:  
                   9611: /Xa{2,4}b/
                   9612:     X\P
                   9613: Partial match: X
                   9614:     Xa\P
                   9615: Partial match: Xa
                   9616:     Xaa\P 
                   9617: Partial match: Xaa
                   9618:     Xaaa\P
                   9619: Partial match: Xaaa
                   9620:     Xaaaa\P 
                   9621: Partial match: Xaaaa
                   9622:     
                   9623: /Xa{2,4}?b/
                   9624:     X\P
                   9625: Partial match: X
                   9626:     Xa\P
                   9627: Partial match: Xa
                   9628:     Xaa\P 
                   9629: Partial match: Xaa
                   9630:     Xaaa\P
                   9631: Partial match: Xaaa
                   9632:     Xaaaa\P 
                   9633: Partial match: Xaaaa
                   9634:     
                   9635: /Xa{2,4}+b/
                   9636:     X\P
                   9637: Partial match: X
                   9638:     Xa\P
                   9639: Partial match: Xa
                   9640:     Xaa\P 
                   9641: Partial match: Xaa
                   9642:     Xaaa\P
                   9643: Partial match: Xaaa
                   9644:     Xaaaa\P 
                   9645: Partial match: Xaaaa
                   9646:     
                   9647: /X\d{2,4}b/
                   9648:     X\P
                   9649: Partial match: X
                   9650:     X3\P
                   9651: Partial match: X3
                   9652:     X33\P 
                   9653: Partial match: X33
                   9654:     X333\P
                   9655: Partial match: X333
                   9656:     X3333\P 
                   9657: Partial match: X3333
                   9658:     
                   9659: /X\d{2,4}?b/
                   9660:     X\P
                   9661: Partial match: X
                   9662:     X3\P
                   9663: Partial match: X3
                   9664:     X33\P 
                   9665: Partial match: X33
                   9666:     X333\P
                   9667: Partial match: X333
                   9668:     X3333\P 
                   9669: Partial match: X3333
                   9670:     
                   9671: /X\d{2,4}+b/
                   9672:     X\P
                   9673: Partial match: X
                   9674:     X3\P
                   9675: Partial match: X3
                   9676:     X33\P 
                   9677: Partial match: X33
                   9678:     X333\P
                   9679: Partial match: X333
                   9680:     X3333\P 
                   9681: Partial match: X3333
                   9682:     
                   9683: /X\D{2,4}b/
                   9684:     X\P
                   9685: Partial match: X
                   9686:     Xa\P
                   9687: Partial match: Xa
                   9688:     Xaa\P 
                   9689: Partial match: Xaa
                   9690:     Xaaa\P
                   9691: Partial match: Xaaa
                   9692:     Xaaaa\P 
                   9693: Partial match: Xaaaa
                   9694:     
                   9695: /X\D{2,4}?b/
                   9696:     X\P
                   9697: Partial match: X
                   9698:     Xa\P
                   9699: Partial match: Xa
                   9700:     Xaa\P 
                   9701: Partial match: Xaa
                   9702:     Xaaa\P
                   9703: Partial match: Xaaa
                   9704:     Xaaaa\P 
                   9705: Partial match: Xaaaa
                   9706:     
                   9707: /X\D{2,4}+b/
                   9708:     X\P
                   9709: Partial match: X
                   9710:     Xa\P
                   9711: Partial match: Xa
                   9712:     Xaa\P 
                   9713: Partial match: Xaa
                   9714:     Xaaa\P
                   9715: Partial match: Xaaa
                   9716:     Xaaaa\P 
                   9717: Partial match: Xaaaa
                   9718:     
                   9719: /X[abc]{2,4}b/
                   9720:     X\P
                   9721: Partial match: X
                   9722:     Xa\P
                   9723: Partial match: Xa
                   9724:     Xaa\P 
                   9725: Partial match: Xaa
                   9726:     Xaaa\P
                   9727: Partial match: Xaaa
                   9728:     Xaaaa\P 
                   9729: Partial match: Xaaaa
                   9730:     
                   9731: /X[abc]{2,4}?b/
                   9732:     X\P
                   9733: Partial match: X
                   9734:     Xa\P
                   9735: Partial match: Xa
                   9736:     Xaa\P 
                   9737: Partial match: Xaa
                   9738:     Xaaa\P
                   9739: Partial match: Xaaa
                   9740:     Xaaaa\P 
                   9741: Partial match: Xaaaa
                   9742:     
                   9743: /X[abc]{2,4}+b/
                   9744:     X\P
                   9745: Partial match: X
                   9746:     Xa\P
                   9747: Partial match: Xa
                   9748:     Xaa\P 
                   9749: Partial match: Xaa
                   9750:     Xaaa\P
                   9751: Partial match: Xaaa
                   9752:     Xaaaa\P 
                   9753: Partial match: Xaaaa
                   9754:     
                   9755: /X[^a]{2,4}b/
                   9756:     X\P
                   9757: Partial match: X
                   9758:     Xz\P
                   9759: Partial match: Xz
                   9760:     Xzz\P 
                   9761: Partial match: Xzz
                   9762:     Xzzz\P
                   9763: Partial match: Xzzz
                   9764:     Xzzzz\P 
                   9765: Partial match: Xzzzz
                   9766:     
                   9767: /X[^a]{2,4}?b/
                   9768:     X\P
                   9769: Partial match: X
                   9770:     Xz\P
                   9771: Partial match: Xz
                   9772:     Xzz\P 
                   9773: Partial match: Xzz
                   9774:     Xzzz\P
                   9775: Partial match: Xzzz
                   9776:     Xzzzz\P 
                   9777: Partial match: Xzzzz
                   9778:     
                   9779: /X[^a]{2,4}+b/
                   9780:     X\P
                   9781: Partial match: X
                   9782:     Xz\P
                   9783: Partial match: Xz
                   9784:     Xzz\P 
                   9785: Partial match: Xzz
                   9786:     Xzzz\P
                   9787: Partial match: Xzzz
                   9788:     Xzzzz\P 
                   9789: Partial match: Xzzzz
                   9790:     
                   9791: /(Y)X\1{2,4}b/
                   9792:     YX\P
                   9793: Partial match: YX
                   9794:     YXY\P
                   9795: Partial match: YXY
                   9796:     YXYY\P 
                   9797: Partial match: YXYY
                   9798:     YXYYY\P
                   9799: Partial match: YXYYY
                   9800:     YXYYYY\P 
                   9801: Partial match: YXYYYY
                   9802:     
                   9803: /(Y)X\1{2,4}?b/
                   9804:     YX\P
                   9805: Partial match: YX
                   9806:     YXY\P
                   9807: Partial match: YXY
                   9808:     YXYY\P 
                   9809: Partial match: YXYY
                   9810:     YXYYY\P
                   9811: Partial match: YXYYY
                   9812:     YXYYYY\P 
                   9813: Partial match: YXYYYY
                   9814:     
                   9815: /(Y)X\1{2,4}+b/
                   9816:     YX\P
                   9817: Partial match: YX
                   9818:     YXY\P
                   9819: Partial match: YXY
                   9820:     YXYY\P 
                   9821: Partial match: YXYY
                   9822:     YXYYY\P
                   9823: Partial match: YXYYY
                   9824:     YXYYYY\P 
                   9825: Partial match: YXYYYY
                   9826:     
                   9827: /\++\KZ|\d+X|9+Y/
                   9828:     ++++123999\P
                   9829: Partial match: 123999
                   9830:     ++++123999Y\P
                   9831:  0: 999Y
                   9832:     ++++Z1234\P 
                   9833:  0: Z
                   9834: 
                   9835: /Z(*F)/
                   9836:     Z\P
                   9837: No match
                   9838:     ZA\P 
                   9839: No match
                   9840:     
                   9841: /Z(?!)/
                   9842:     Z\P 
                   9843: No match
                   9844:     ZA\P 
                   9845: No match
                   9846: 
                   9847: /dog(sbody)?/
                   9848:     dogs\P
                   9849:  0: dog
                   9850:     dogs\P\P 
                   9851: Partial match: dogs
                   9852:     
                   9853: /dog(sbody)??/
                   9854:     dogs\P
                   9855:  0: dog
                   9856:     dogs\P\P 
                   9857:  0: dog
                   9858: 
                   9859: /dog|dogsbody/
                   9860:     dogs\P
                   9861:  0: dog
                   9862:     dogs\P\P 
                   9863:  0: dog
                   9864:  
                   9865: /dogsbody|dog/
                   9866:     dogs\P
                   9867:  0: dog
                   9868:     dogs\P\P 
                   9869: Partial match: dogs
                   9870: 
                   9871: /\bthe cat\b/
                   9872:     the cat\P
                   9873:  0: the cat
                   9874:     the cat\P\P
                   9875: Partial match: the cat
                   9876: 
                   9877: /abc/
                   9878:    abc\P
                   9879:  0: abc
                   9880:    abc\P\P
                   9881:  0: abc
                   9882:    
                   9883: /\w+A/P
                   9884:    CDAAAAB 
                   9885:  0: CDAAAA
                   9886: 
                   9887: /\w+A/PU
                   9888:    CDAAAAB 
                   9889:  0: CDA
                   9890: 
                   9891: /abc\K123/
                   9892:     xyzabc123pqr
                   9893:  0: 123
                   9894:     xyzabc12\P
                   9895: Partial match: abc12
                   9896:     xyzabc12\P\P
                   9897: Partial match: abc12
                   9898:     
                   9899: /(?<=abc)123/
                   9900:     xyzabc123pqr 
                   9901:  0: 123
                   9902:     xyzabc12\P
                   9903: Partial match: abc12
                   9904:     xyzabc12\P\P
                   9905: Partial match: abc12
                   9906: 
                   9907: /\babc\b/
                   9908:     +++abc+++
                   9909:  0: abc
                   9910:     +++ab\P
                   9911: Partial match: +ab
                   9912:     +++ab\P\P  
                   9913: Partial match: +ab
                   9914: 
                   9915: /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
                   9916: ------------------------------------------------------------------
                   9917:         Bra
                   9918:         Recurse
                   9919:         Recurse
                   9920:         Cond
                   9921:         Cond def
                   9922:         CBra 1
                   9923:         <
                   9924:         [^m]
                   9925:         [^>]
                   9926:         >
                   9927:         [^<]
                   9928:         Ket
                   9929:         CBra 2
                   9930:         \w*+
                   9931:         Ket
                   9932:         Ket
                   9933:         Ket
                   9934:         End
                   9935: ------------------------------------------------------------------
                   9936: 
                   9937: /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
                   9938: ------------------------------------------------------------------
                   9939:         Bra
                   9940:         Recurse
                   9941:         Recurse
                   9942:         Cond
                   9943:         Cond def
                   9944:         CBra 1
                   9945:         <
                   9946:         [\x00-/:-\xff] (neg)
                   9947:         [^>]
                   9948:         >
                   9949:         [^<]
                   9950:         Ket
                   9951:         CBra 2
                   9952:         \w*+
                   9953:         Ket
                   9954:         Ket
                   9955:         Ket
                   9956:         End
                   9957: ------------------------------------------------------------------
                   9958: 
                   9959: /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
                   9960: ------------------------------------------------------------------
                   9961:         Bra
                   9962:         CBra 1
                   9963:         ab
                   9964:         Ket
                   9965:         CBra 2
                   9966:         x
                   9967:         CBra 3
                   9968:         y
                   9969:         Ket
                   9970:         z
                   9971:         CBra 4
                   9972:         cd
                   9973:         Close 4
                   9974:         Close 2
                   9975:         *ACCEPT
                   9976:         Ket
                   9977:         Ket
                   9978:         pq
                   9979:         Ket
                   9980:         End
                   9981: ------------------------------------------------------------------
                   9982: 
                   9983: /abc\K/+
                   9984:     abcdef
                   9985:  0: 
                   9986:  0+ def
                   9987:     abcdef\N\N
                   9988:  0: 
                   9989:  0+ def
                   9990:     xyzabcdef\N\N
                   9991:  0: 
                   9992:  0+ def
                   9993:     ** Failers
                   9994: No match
                   9995:     abcdef\N 
                   9996: No match
                   9997:     xyzabcdef\N
                   9998: No match
                   9999:     
                   10000: /^(?:(?=abc)|abc\K)/+
                   10001:     abcdef
                   10002:  0: 
                   10003:  0+ abcdef
                   10004:     abcdef\N\N 
                   10005:  0: 
                   10006:  0+ def
                   10007:     ** Failers 
                   10008: No match
                   10009:     abcdef\N 
                   10010: No match
                   10011: 
                   10012: /a?b?/+
                   10013:     xyz
                   10014:  0: 
                   10015:  0+ xyz
                   10016:     xyzabc
                   10017:  0: 
                   10018:  0+ xyzabc
                   10019:     xyzabc\N
                   10020:  0: ab
                   10021:  0+ c
                   10022:     xyzabc\N\N
                   10023:  0: 
                   10024:  0+ yzabc
                   10025:     xyz\N\N    
                   10026:  0: 
                   10027:  0+ yz
                   10028:     ** Failers 
                   10029:  0: 
                   10030:  0+ ** Failers
                   10031:     xyz\N 
                   10032: No match
                   10033: 
                   10034: /^a?b?/+
                   10035:     xyz
                   10036:  0: 
                   10037:  0+ xyz
                   10038:     xyzabc
                   10039:  0: 
                   10040:  0+ xyzabc
                   10041:     ** Failers 
                   10042:  0: 
                   10043:  0+ ** Failers
                   10044:     xyzabc\N
                   10045: No match
                   10046:     xyzabc\N\N
                   10047: No match
                   10048:     xyz\N\N    
                   10049: No match
                   10050:     xyz\N 
                   10051: No match
                   10052:     
                   10053: /^(?<name>a|b\g<name>c)/
                   10054:     aaaa
                   10055:  0: a
                   10056:  1: a
                   10057:     bacxxx
                   10058:  0: bac
                   10059:  1: bac
                   10060:     bbaccxxx 
                   10061:  0: bbacc
                   10062:  1: bbacc
                   10063:     bbbacccxx
                   10064:  0: bbbaccc
                   10065:  1: bbbaccc
                   10066: 
                   10067: /^(?<name>a|b\g'name'c)/
                   10068:     aaaa
                   10069:  0: a
                   10070:  1: a
                   10071:     bacxxx
                   10072:  0: bac
                   10073:  1: bac
                   10074:     bbaccxxx 
                   10075:  0: bbacc
                   10076:  1: bbacc
                   10077:     bbbacccxx
                   10078:  0: bbbaccc
                   10079:  1: bbbaccc
                   10080: 
                   10081: /^(a|b\g<1>c)/
                   10082:     aaaa
                   10083:  0: a
                   10084:  1: a
                   10085:     bacxxx
                   10086:  0: bac
                   10087:  1: bac
                   10088:     bbaccxxx 
                   10089:  0: bbacc
                   10090:  1: bbacc
                   10091:     bbbacccxx
                   10092:  0: bbbaccc
                   10093:  1: bbbaccc
                   10094: 
                   10095: /^(a|b\g'1'c)/
                   10096:     aaaa
                   10097:  0: a
                   10098:  1: a
                   10099:     bacxxx
                   10100:  0: bac
                   10101:  1: bac
                   10102:     bbaccxxx 
                   10103:  0: bbacc
                   10104:  1: bbacc
                   10105:     bbbacccxx
                   10106:  0: bbbaccc
                   10107:  1: bbbaccc
                   10108: 
                   10109: /^(a|b\g'-1'c)/
                   10110:     aaaa
                   10111:  0: a
                   10112:  1: a
                   10113:     bacxxx
                   10114:  0: bac
                   10115:  1: bac
                   10116:     bbaccxxx 
                   10117:  0: bbacc
                   10118:  1: bbacc
                   10119:     bbbacccxx
                   10120:  0: bbbaccc
                   10121:  1: bbbaccc
                   10122: 
                   10123: /(^(a|b\g<-1>c))/
                   10124:     aaaa
                   10125:  0: a
                   10126:  1: a
                   10127:  2: a
                   10128:     bacxxx
                   10129:  0: bac
                   10130:  1: bac
                   10131:  2: bac
                   10132:     bbaccxxx 
                   10133:  0: bbacc
                   10134:  1: bbacc
                   10135:  2: bbacc
                   10136:     bbbacccxx
                   10137:  0: bbbaccc
                   10138:  1: bbbaccc
                   10139:  2: bbbaccc
                   10140: 
                   10141: /(?-i:\g<name>)(?i:(?<name>a))/
                   10142:     XaaX
                   10143:  0: aa
                   10144:  1: a
                   10145:     XAAX 
                   10146:  0: AA
                   10147:  1: A
                   10148: 
                   10149: /(?i:\g<name>)(?-i:(?<name>a))/
                   10150:     XaaX
                   10151:  0: aa
                   10152:  1: a
                   10153:     ** Failers 
                   10154: No match
                   10155:     XAAX 
                   10156: No match
                   10157: 
                   10158: /(?-i:\g<+1>)(?i:(a))/
                   10159:     XaaX
                   10160:  0: aa
                   10161:  1: a
                   10162:     XAAX 
                   10163:  0: AA
                   10164:  1: A
                   10165: 
                   10166: /(?=(?<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>\})\}))\{/
                   10167: 
                   10168: /(?<n>a|b|c)\g<n>*/
                   10169:    abc
                   10170:  0: abc
                   10171:  1: a
                   10172:    accccbbb 
                   10173:  0: accccbbb
                   10174:  1: a
                   10175: 
                   10176: /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
                   10177:     XYabcdY
                   10178:  0: XYabcdY
                   10179:  1: a
                   10180:  2: b
                   10181:  3: <unset>
                   10182:  4: <unset>
                   10183:  5: c
                   10184:  6: d
                   10185:  7: Y
                   10186: 
                   10187: /(?<=b(?1)|zzz)(a)/
                   10188:     xbaax
                   10189:  0: a
                   10190:  1: a
                   10191:     xzzzax 
                   10192:  0: a
                   10193:  1: a
                   10194: 
                   10195: /(a)(?<=b\1)/
                   10196: Failed: lookbehind assertion is not fixed length at offset 10
                   10197: 
                   10198: /(a)(?<=b+(?1))/
                   10199: Failed: lookbehind assertion is not fixed length at offset 13
                   10200: 
                   10201: /(a+)(?<=b(?1))/
                   10202: Failed: lookbehind assertion is not fixed length at offset 14
                   10203: 
                   10204: /(a(?<=b(?1)))/
                   10205: Failed: lookbehind assertion is not fixed length at offset 13
                   10206: 
                   10207: /(?<=b(?1))xyz/
                   10208: Failed: reference to non-existent subpattern at offset 8
                   10209: 
                   10210: /(?<=b(?1))xyz(b+)pqrstuvew/
                   10211: Failed: lookbehind assertion is not fixed length at offset 26
                   10212: 
                   10213: /(a|bc)\1/SI
                   10214: Capturing subpattern count = 1
                   10215: Max back reference = 1
                   10216: No options
                   10217: No first char
                   10218: No need char
                   10219: Subject length lower bound = 2
                   10220: Starting byte set: a b 
                   10221: 
                   10222: /(a|bc)\1{2,3}/SI
                   10223: Capturing subpattern count = 1
                   10224: Max back reference = 1
                   10225: No options
                   10226: No first char
                   10227: No need char
                   10228: Subject length lower bound = 3
                   10229: Starting byte set: a b 
                   10230: 
                   10231: /(a|bc)(?1)/SI
                   10232: Capturing subpattern count = 1
                   10233: No options
                   10234: No first char
                   10235: No need char
                   10236: Subject length lower bound = 2
                   10237: Starting byte set: a b 
                   10238: 
                   10239: /(a|b\1)(a|b\1)/SI
                   10240: Capturing subpattern count = 2
                   10241: Max back reference = 1
                   10242: No options
                   10243: No first char
                   10244: No need char
                   10245: Subject length lower bound = 2
                   10246: Starting byte set: a b 
                   10247: 
                   10248: /(a|b\1){2}/SI
                   10249: Capturing subpattern count = 1
                   10250: Max back reference = 1
                   10251: No options
                   10252: No first char
                   10253: No need char
                   10254: Subject length lower bound = 2
                   10255: Starting byte set: a b 
                   10256: 
                   10257: /(a|bbbb\1)(a|bbbb\1)/SI
                   10258: Capturing subpattern count = 2
                   10259: Max back reference = 1
                   10260: No options
                   10261: No first char
                   10262: No need char
                   10263: Subject length lower bound = 2
                   10264: Starting byte set: a b 
                   10265: 
                   10266: /(a|bbbb\1){2}/SI
                   10267: Capturing subpattern count = 1
                   10268: Max back reference = 1
                   10269: No options
                   10270: No first char
                   10271: No need char
                   10272: Subject length lower bound = 2
                   10273: Starting byte set: a b 
                   10274: 
                   10275: /^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
                   10276: Capturing subpattern count = 1
                   10277: Options: anchored
                   10278: No first char
                   10279: Need char = ':'
                   10280: Subject length lower bound = 22
                   10281: No set of starting bytes
                   10282: 
                   10283: /  (?: [\040\t] |  \(
                   10284: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10285: \)  )*                          # optional leading comment
                   10286: (?:    (?:
                   10287: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10288: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10289: |
                   10290: " (?:                      # opening quote...
                   10291: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                   10292: |                     #    or
                   10293: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                   10294: )* "  # closing quote
                   10295: )                    # initial word
                   10296: (?:  (?: [\040\t] |  \(
                   10297: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10298: \)  )*  \.  (?: [\040\t] |  \(
                   10299: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10300: \)  )*   (?:
                   10301: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10302: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10303: |
                   10304: " (?:                      # opening quote...
                   10305: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                   10306: |                     #    or
                   10307: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                   10308: )* "  # closing quote
                   10309: )  )* # further okay, if led by a period
                   10310: (?: [\040\t] |  \(
                   10311: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10312: \)  )*  @  (?: [\040\t] |  \(
                   10313: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10314: \)  )*    (?:
                   10315: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10316: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10317: |   \[                         # [
                   10318: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                   10319: \]                        #           ]
                   10320: )                           # initial subdomain
                   10321: (?:                                  #
                   10322: (?: [\040\t] |  \(
                   10323: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10324: \)  )*  \.                        # if led by a period...
                   10325: (?: [\040\t] |  \(
                   10326: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10327: \)  )*   (?:
                   10328: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10329: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10330: |   \[                         # [
                   10331: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                   10332: \]                        #           ]
                   10333: )                     #   ...further okay
                   10334: )*
                   10335: # address
                   10336: |                     #  or
                   10337: (?:
                   10338: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10339: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10340: |
                   10341: " (?:                      # opening quote...
                   10342: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                   10343: |                     #    or
                   10344: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                   10345: )* "  # closing quote
                   10346: )             # one word, optionally followed by....
                   10347: (?:
                   10348: [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
                   10349: \(
                   10350: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10351: \)       |  # comments, or...
                   10352: 
                   10353: " (?:                      # opening quote...
                   10354: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                   10355: |                     #    or
                   10356: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                   10357: )* "  # closing quote
                   10358: # quoted strings
                   10359: )*
                   10360: <  (?: [\040\t] |  \(
                   10361: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10362: \)  )*                     # leading <
                   10363: (?:  @  (?: [\040\t] |  \(
                   10364: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10365: \)  )*    (?:
                   10366: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10367: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10368: |   \[                         # [
                   10369: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                   10370: \]                        #           ]
                   10371: )                           # initial subdomain
                   10372: (?:                                  #
                   10373: (?: [\040\t] |  \(
                   10374: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10375: \)  )*  \.                        # if led by a period...
                   10376: (?: [\040\t] |  \(
                   10377: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10378: \)  )*   (?:
                   10379: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10380: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10381: |   \[                         # [
                   10382: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                   10383: \]                        #           ]
                   10384: )                     #   ...further okay
                   10385: )*
                   10386: 
                   10387: (?:  (?: [\040\t] |  \(
                   10388: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10389: \)  )*  ,  (?: [\040\t] |  \(
                   10390: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10391: \)  )*  @  (?: [\040\t] |  \(
                   10392: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10393: \)  )*    (?:
                   10394: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10395: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10396: |   \[                         # [
                   10397: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                   10398: \]                        #           ]
                   10399: )                           # initial subdomain
                   10400: (?:                                  #
                   10401: (?: [\040\t] |  \(
                   10402: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10403: \)  )*  \.                        # if led by a period...
                   10404: (?: [\040\t] |  \(
                   10405: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10406: \)  )*   (?:
                   10407: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10408: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10409: |   \[                         # [
                   10410: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                   10411: \]                        #           ]
                   10412: )                     #   ...further okay
                   10413: )*
                   10414: )* # further okay, if led by comma
                   10415: :                                # closing colon
                   10416: (?: [\040\t] |  \(
                   10417: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10418: \)  )*  )? #       optional route
                   10419: (?:
                   10420: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10421: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10422: |
                   10423: " (?:                      # opening quote...
                   10424: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                   10425: |                     #    or
                   10426: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                   10427: )* "  # closing quote
                   10428: )                    # initial word
                   10429: (?:  (?: [\040\t] |  \(
                   10430: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10431: \)  )*  \.  (?: [\040\t] |  \(
                   10432: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10433: \)  )*   (?:
                   10434: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10435: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10436: |
                   10437: " (?:                      # opening quote...
                   10438: [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
                   10439: |                     #    or
                   10440: \\ [^\x80-\xff]           #   Escaped something (something != CR)
                   10441: )* "  # closing quote
                   10442: )  )* # further okay, if led by a period
                   10443: (?: [\040\t] |  \(
                   10444: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10445: \)  )*  @  (?: [\040\t] |  \(
                   10446: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10447: \)  )*    (?:
                   10448: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10449: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10450: |   \[                         # [
                   10451: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                   10452: \]                        #           ]
                   10453: )                           # initial subdomain
                   10454: (?:                                  #
                   10455: (?: [\040\t] |  \(
                   10456: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10457: \)  )*  \.                        # if led by a period...
                   10458: (?: [\040\t] |  \(
                   10459: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10460: \)  )*   (?:
                   10461: [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
                   10462: (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
                   10463: |   \[                         # [
                   10464: (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
                   10465: \]                        #           ]
                   10466: )                     #   ...further okay
                   10467: )*
                   10468: #       address spec
                   10469: (?: [\040\t] |  \(
                   10470: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10471: \)  )*  > #                  trailing >
                   10472: # name and address
                   10473: )  (?: [\040\t] |  \(
                   10474: (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
                   10475: \)  )*                       # optional trailing comment
                   10476: /xSI
                   10477: Capturing subpattern count = 0
                   10478: Contains explicit CR or LF match
                   10479: Options: extended
                   10480: No first char
                   10481: No need char
                   10482: Subject length lower bound = 3
                   10483: Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 
                   10484:   9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e 
                   10485:   f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f 
                   10486: 
                   10487: /<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
                   10488: Capturing subpattern count = 11
                   10489: Options: caseless dotall
                   10490: First char = '<'
                   10491: Need char = '>'
                   10492: Subject length lower bound = 47
                   10493: No set of starting bytes
                   10494: 
                   10495: "(?>.*/)foo"SI
                   10496: Capturing subpattern count = 0
                   10497: No options
                   10498: First char at start or follows newline
                   10499: Need char = 'o'
                   10500: Subject length lower bound = 4
                   10501: No set of starting bytes
                   10502: 
                   10503: /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
                   10504: Capturing subpattern count = 0
                   10505: Options: extended
                   10506: No first char
                   10507: Need char = '-'
                   10508: Subject length lower bound = 8
                   10509: No set of starting bytes
                   10510: 
                   10511: /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
                   10512: Capturing subpattern count = 1
                   10513: Options: caseless
                   10514: No first char
                   10515: No need char
                   10516: Subject length lower bound = 1
                   10517: Starting byte set: A B C a b c 
                   10518: 
                   10519: /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
                   10520: Capturing subpattern count = 0
                   10521: No options
                   10522: No first char
                   10523: Need char = 'b'
                   10524: Subject length lower bound = 41
                   10525: Starting byte set: c d 
                   10526: 
                   10527: /<a[\s]+href[\s]*=[\s]*          # find <a href=
                   10528:  ([\"\'])?                       # find single or double quote
                   10529:  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
                   10530:                                  # quote, otherwise match up to next space
                   10531: /isxSI
                   10532: Capturing subpattern count = 3
                   10533: Max back reference = 1
                   10534: Options: caseless extended dotall
                   10535: First char = '<'
                   10536: Need char = '='
                   10537: Subject length lower bound = 9
                   10538: No set of starting bytes
                   10539: 
                   10540: /^(?!:)                       # colon disallowed at start
                   10541:   (?:                         # start of item
                   10542:     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
                   10543:     (?(1)0 | () ) )           # if null previously matched, fail; else null
                   10544:     :                         # followed by colon
                   10545:   ){1,7}                      # end item; 1-7 of them required               
                   10546:   [0-9a-f]{1,4} $             # final hex number at end of string
                   10547:   (?(1)|.)                    # check that there was an empty component
                   10548:   /xiIS
                   10549: Capturing subpattern count = 1
                   10550: Options: anchored caseless extended
                   10551: No first char
                   10552: Need char = ':'
                   10553: Subject length lower bound = 2
                   10554: No set of starting bytes
                   10555: 
                   10556: /(?|(?<a>A)|(?<a>B))/I
                   10557: Capturing subpattern count = 1
                   10558: Named capturing subpatterns:
                   10559:   a   1
                   10560:   a   1
                   10561: No options
                   10562: No first char
                   10563: No need char
                   10564:     AB\Ca
                   10565:  0: A
                   10566:  1: A
                   10567:   C A (1) a
                   10568:     BA\Ca
                   10569:  0: B
                   10570:  1: B
                   10571:   C B (1) a
                   10572: 
                   10573: /(?|(?<a>A)|(?<b>B))/ 
                   10574: Failed: different names for subpatterns of the same number are not allowed at offset 15
                   10575: 
                   10576: /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
                   10577:     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
                   10578:     (?('quote')[a-z]+|[0-9]+)/JIx
                   10579: Capturing subpattern count = 6
                   10580: Named capturing subpatterns:
                   10581:   apostrophe   2
                   10582:   apostrophe   5
                   10583:   quote        1
                   10584:   quote        4
                   10585:   realquote    3
                   10586:   realquote    6
                   10587: Options: extended dupnames
                   10588: No first char
                   10589: No need char
                   10590:     a"aaaaa
                   10591:  0: a"aaaaa
                   10592:  1: "
                   10593:  2: <unset>
                   10594:  3: "
                   10595:     b"aaaaa 
                   10596:  0: b"aaaaa
                   10597:  1: <unset>
                   10598:  2: <unset>
                   10599:  3: <unset>
                   10600:  4: "
                   10601:  5: <unset>
                   10602:  6: "
                   10603:     ** Failers 
                   10604: No match
                   10605:     b"11111
                   10606: No match
                   10607:     a"11111 
                   10608: No match
                   10609:     
                   10610: /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
                   10611: ------------------------------------------------------------------
                   10612:         Bra
                   10613:         ^
                   10614:         Bra
                   10615:         CBra 1
                   10616:         a
                   10617:         Ket
                   10618:         CBra 2
                   10619:         b
                   10620:         Ket
                   10621:         CBra 3
                   10622:         c
                   10623:         Ket
                   10624:         CBra 4
                   10625:         d
                   10626:         Ket
                   10627:         Alt
                   10628:         CBra 1
                   10629:         e
                   10630:         Ket
                   10631:         Ket
                   10632:         Cond
                   10633:       4 Cond nref
                   10634:         X
                   10635:         Alt
                   10636:         Y
                   10637:         Ket
                   10638:         Ket
                   10639:         End
                   10640: ------------------------------------------------------------------
                   10641: Capturing subpattern count = 4
                   10642: Named capturing subpatterns:
                   10643:   D   4
                   10644:   D   1
                   10645: Options: anchored extended dupnames
                   10646: No first char
                   10647: No need char
                   10648:     abcdX
                   10649:  0: abcdX
                   10650:  1: a
                   10651:  2: b
                   10652:  3: c
                   10653:  4: d
                   10654:     eX
                   10655:  0: eX
                   10656:  1: e
                   10657:     ** Failers
                   10658: No match
                   10659:     abcdY
                   10660: No match
                   10661:     ey     
                   10662: No match
                   10663:     
                   10664: /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
                   10665: ------------------------------------------------------------------
                   10666:         Bra
                   10667:         CBra 1
                   10668:         a
                   10669:         Ket
                   10670:         CBra 2
                   10671:         b
                   10672:         Ket
                   10673:         CBra 3
                   10674:         c
                   10675:         Ket
                   10676:         CBra 4
                   10677:         d
                   10678:         Cond
                   10679:         Cond nrecurse 1
                   10680:         $
                   10681:         Alt
                   10682:         Recurse
                   10683:         Ket
                   10684:         Ket
                   10685:         Ket
                   10686:         End
                   10687: ------------------------------------------------------------------
                   10688: Capturing subpattern count = 4
                   10689: Named capturing subpatterns:
                   10690:   A   1
                   10691:   A   4
                   10692: Options: extended dupnames
                   10693: First char = 'a'
                   10694: Need char = 'd'
                   10695:     abcdd
                   10696:  0: abcdd
                   10697:  1: a
                   10698:  2: b
                   10699:  3: c
                   10700:  4: dd
                   10701:     ** Failers
                   10702: No match
                   10703:     abcdde  
                   10704: No match
                   10705: 
                   10706: /abcd*/
                   10707:     xxxxabcd\P
                   10708:  0: abcd
                   10709:     xxxxabcd\P\P
                   10710: Partial match: abcd
                   10711: 
                   10712: /abcd*/i
                   10713:     xxxxabcd\P
                   10714:  0: abcd
                   10715:     xxxxabcd\P\P
                   10716: Partial match: abcd
                   10717:     XXXXABCD\P
                   10718:  0: ABCD
                   10719:     XXXXABCD\P\P
                   10720: Partial match: ABCD
                   10721: 
                   10722: /abc\d*/
                   10723:     xxxxabc1\P
                   10724:  0: abc1
                   10725:     xxxxabc1\P\P
                   10726: Partial match: abc1
                   10727: 
                   10728: /(a)bc\1*/
                   10729:     xxxxabca\P
                   10730:  0: abca
                   10731:  1: a
                   10732:     xxxxabca\P\P
                   10733: Partial match: abca
                   10734: 
                   10735: /abc[de]*/
                   10736:     xxxxabcde\P
                   10737:  0: abcde
                   10738:     xxxxabcde\P\P
                   10739: Partial match: abcde
                   10740: 
                   10741: /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
                   10742:     broken and not behaving as specified in that it *does* bumpalong after
                   10743:     hitting (*COMMIT). --/
                   10744: 
                   10745: /(?1)(A(*COMMIT)|B)D/
                   10746:     ABD
                   10747:  0: ABD
                   10748:  1: B
                   10749:     XABD
                   10750:  0: ABD
                   10751:  1: B
                   10752:     BAD
                   10753:  0: BAD
                   10754:  1: A
                   10755:     ABXABD  
                   10756:  0: ABD
                   10757:  1: B
                   10758:     ** Failers 
                   10759: No match
                   10760:     ABX 
                   10761: No match
                   10762:     BAXBAD  
                   10763: No match
                   10764: 
                   10765: /(\3)(\1)(a)/<JS>
                   10766:     cat
                   10767:  0: a
                   10768:  1: 
                   10769:  2: 
                   10770:  3: a
                   10771: 
                   10772: /(\3)(\1)(a)/SI<JS>
                   10773: Capturing subpattern count = 3
                   10774: Max back reference = 3
                   10775: Options:
                   10776: No first char
                   10777: Need char = 'a'
                   10778: Subject length lower bound = 1
                   10779: No set of starting bytes
                   10780:     cat
                   10781:  0: a
                   10782:  1: 
                   10783:  2: 
                   10784:  3: a
                   10785: 
                   10786: /(\3)(\1)(a)/SI
                   10787: Capturing subpattern count = 3
                   10788: Max back reference = 3
                   10789: No options
                   10790: No first char
                   10791: Need char = 'a'
                   10792: Subject length lower bound = 3
                   10793: No set of starting bytes
                   10794:     cat
                   10795: No match
                   10796: 
                   10797: /i(?(DEFINE)(?<s>a))/SI
                   10798: Capturing subpattern count = 1
                   10799: Named capturing subpatterns:
                   10800:   s   1
                   10801: No options
                   10802: First char = 'i'
                   10803: No need char
                   10804: Subject length lower bound = 1
                   10805: No set of starting bytes
                   10806:     i
                   10807:  0: i
                   10808:     
                   10809: /()i(?(1)a)/SI 
                   10810: Capturing subpattern count = 1
                   10811: No options
                   10812: No first char
                   10813: Need char = 'i'
                   10814: Subject length lower bound = 1
                   10815: Starting byte set: i 
                   10816:     ia
                   10817:  0: ia
                   10818:  1: 
                   10819: 
                   10820: /(?i)a(?-i)b|c/BZ
                   10821: ------------------------------------------------------------------
                   10822:         Bra
                   10823:      /i a
                   10824:         b
                   10825:         Alt
                   10826:         c
                   10827:         Ket
                   10828:         End
                   10829: ------------------------------------------------------------------
                   10830:     XabX
                   10831:  0: ab
                   10832:     XAbX
                   10833:  0: Ab
                   10834:     CcC 
                   10835:  0: c
                   10836:     ** Failers
                   10837: No match
                   10838:     XABX   
                   10839: No match
                   10840: 
                   10841: /(?i)a(?s)b|c/BZ
                   10842: ------------------------------------------------------------------
                   10843:         Bra
                   10844:      /i ab
                   10845:         Alt
                   10846:      /i c
                   10847:         Ket
                   10848:         End
                   10849: ------------------------------------------------------------------
                   10850: 
                   10851: /(?i)a(?s-i)b|c/BZ
                   10852: ------------------------------------------------------------------
                   10853:         Bra
                   10854:      /i a
                   10855:         b
                   10856:         Alt
                   10857:         c
                   10858:         Ket
                   10859:         End
                   10860: ------------------------------------------------------------------
                   10861: 
                   10862: /^(ab(c\1)d|x){2}$/BZ
                   10863: ------------------------------------------------------------------
                   10864:         Bra
                   10865:         ^
                   10866:         Once
                   10867:         CBra 1
                   10868:         ab
                   10869:         CBra 2
                   10870:         c
                   10871:         \1
                   10872:         Ket
                   10873:         d
                   10874:         Alt
                   10875:         x
                   10876:         Ket
                   10877:         Ket
                   10878:         Once
                   10879:         CBra 1
                   10880:         ab
                   10881:         CBra 2
                   10882:         c
                   10883:         \1
                   10884:         Ket
                   10885:         d
                   10886:         Alt
                   10887:         x
                   10888:         Ket
                   10889:         Ket
                   10890:         $
                   10891:         Ket
                   10892:         End
                   10893: ------------------------------------------------------------------
                   10894:     xabcxd
                   10895:  0: xabcxd
                   10896:  1: abcxd
                   10897:  2: cx
                   10898:     
                   10899: /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
                   10900: ------------------------------------------------------------------
                   10901:         Bra
                   10902:         ^
                   10903:         Braposzero
                   10904:         SBraPos
                   10905:         Recurse
                   10906:         KetRpos
                   10907:         Cond
                   10908:         Cond def
                   10909:         CBra 1
                   10910:         Any
                   10911:         Ket
                   10912:         Ket
                   10913:         $
                   10914:         Ket
                   10915:         End
                   10916: ------------------------------------------------------------------
                   10917: 
                   10918: /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
                   10919: ------------------------------------------------------------------
                   10920:         Bra
                   10921:         ^
                   10922:         Brazero
                   10923:         Once
                   10924:         Recurse
                   10925:         KetRmax
                   10926:         Cond
                   10927:         Cond def
                   10928:         CBra 1
                   10929:         Any
                   10930:         Ket
                   10931:         Ket
                   10932:         $
                   10933:         Ket
                   10934:         End
                   10935: ------------------------------------------------------------------
                   10936: 
                   10937: / -- The first four of these are not in the Perl >= 5.10 test because Perl 
                   10938:      documents that the use of \K in assertions is "not well defined". The
                   10939:      last is here because Perl gives the match as "b" rather than "ab". I
                   10940:      believe this to be a Perl bug. --/  
                   10941:       
                   10942: /(?=a\Kb)ab/
                   10943:     ab 
                   10944:  0: b
                   10945: 
                   10946: /(?!a\Kb)ac/
                   10947:     ac 
                   10948:  0: ac
                   10949:     
                   10950: /^abc(?<=b\Kc)d/
                   10951:     abcd
                   10952:  0: cd
                   10953: 
                   10954: /^abc(?<!b\Kq)d/
                   10955:     abcd
                   10956:  0: abcd
                   10957: 
                   10958: /(?>a\Kb)z|(ab)/
                   10959:     ab 
                   10960:  0: ab
                   10961:  1: ab
                   10962: 
                   10963: /----------------------/
                   10964: 
                   10965: /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
                   10966: Failed: recursive call could loop indefinitely at offset 31
                   10967: 
                   10968: /abc(*MARK:)pqr/
                   10969: Failed: (*MARK) must have an argument at offset 10
                   10970: 
                   10971: /abc(*:)pqr/
                   10972: Failed: (*MARK) must have an argument at offset 6
                   10973: 
                   10974: /abc(*FAIL:123)xyz/
                   10975: Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
                   10976: 
                   10977: /--- This should, and does, fail. In Perl, it does not, which I think is a 
                   10978:      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
                   10979: 
                   10980: /A(*COMMIT)B/+K
                   10981:     ACABX
                   10982: No match
                   10983: 
                   10984: /--- These should be different, but in Perl 5.11 are not, which I think
                   10985:      is a bug in Perl. ---/
                   10986: 
                   10987: /A(*THEN)B|A(*THEN)C/K
                   10988:     AC
                   10989:  0: AC
                   10990: 
                   10991: /A(*PRUNE)B|A(*PRUNE)C/K
                   10992:     AC
                   10993: No match
                   10994:     
                   10995: /--- This should fail; the SKIP advances by one, but when we get to AC, the
                   10996:      PRUNE kills it. Perl behaves differently. ---/ 
                   10997:     
                   10998: /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
                   10999:     AAAC
                   11000: No match, mark = A
                   11001: 
                   11002: /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
                   11003: though PCRE does. ---/
                   11004: 
                   11005: /^A(*:A)B|^X(*:A)Y/K
                   11006:     ** Failers
                   11007: No match
                   11008:     XAQQ
                   11009: No match, mark = A
                   11010:     
                   11011: /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
                   11012: optimizations defeat this. So does the PCRE optimization unless we disable it 
                   11013: with \Y. ---/
                   11014: 
                   11015: /(*COMMIT)ABC/
                   11016:     ABCDEFG
                   11017:  0: ABC
                   11018:     ** Failers
                   11019: No match
                   11020:     DEFGABC\Y  
                   11021: No match
                   11022:     
                   11023: /^(ab (c+(*THEN)cd) | xyz)/x
                   11024:     abcccd  
                   11025: No match
                   11026: 
                   11027: /^(ab (c+(*PRUNE)cd) | xyz)/x
                   11028:     abcccd  
                   11029: No match
                   11030: 
                   11031: /^(ab (c+(*FAIL)cd) | xyz)/x
                   11032:     abcccd  
                   11033: No match
                   11034:     
                   11035: /--- Perl 5.11 gets some of these wrong ---/ 
                   11036: 
                   11037: /(?>.(*ACCEPT))*?5/
                   11038:     abcde
                   11039:  0: a
                   11040: 
                   11041: /(.(*ACCEPT))*?5/
                   11042:     abcde
                   11043:  0: a
                   11044:  1: a
                   11045: 
                   11046: /(.(*ACCEPT))5/
                   11047:     abcde
                   11048:  0: a
                   11049:  1: a
                   11050: 
                   11051: /(.(*ACCEPT))*5/
                   11052:     abcde
                   11053:  0: a
                   11054:  1: a
                   11055: 
                   11056: /A\NB./BZ
                   11057: ------------------------------------------------------------------
                   11058:         Bra
                   11059:         A
                   11060:         Any
                   11061:         B
                   11062:         Any
                   11063:         Ket
                   11064:         End
                   11065: ------------------------------------------------------------------
                   11066:     ACBD
                   11067:  0: ACBD
                   11068:     *** Failers
                   11069: No match
                   11070:     A\nB
                   11071: No match
                   11072:     ACB\n   
                   11073: No match
                   11074: 
                   11075: /A\NB./sBZ
                   11076: ------------------------------------------------------------------
                   11077:         Bra
                   11078:         A
                   11079:         Any
                   11080:         B
                   11081:         AllAny
                   11082:         Ket
                   11083:         End
                   11084: ------------------------------------------------------------------
                   11085:     ACBD
                   11086:  0: ACBD
                   11087:     ACB\n 
                   11088:  0: ACB\x0a
                   11089:     *** Failers
                   11090: No match
                   11091:     A\nB  
                   11092: No match
                   11093:   
                   11094: /A\NB/<crlf>
                   11095:     A\nB
                   11096:  0: A\x0aB
                   11097:     A\rB
                   11098:  0: A\x0dB
                   11099:     ** Failers
                   11100: No match
                   11101:     A\r\nB    
                   11102: No match
                   11103: 
                   11104: /\R+b/BZ
                   11105: ------------------------------------------------------------------
                   11106:         Bra
                   11107:         \R++
                   11108:         b
                   11109:         Ket
                   11110:         End
                   11111: ------------------------------------------------------------------
                   11112: 
                   11113: /\R+\n/BZ
                   11114: ------------------------------------------------------------------
                   11115:         Bra
                   11116:         \R+
                   11117:         \x0a
                   11118:         Ket
                   11119:         End
                   11120: ------------------------------------------------------------------
                   11121: 
                   11122: /\R+\d/BZ
                   11123: ------------------------------------------------------------------
                   11124:         Bra
                   11125:         \R++
                   11126:         \d
                   11127:         Ket
                   11128:         End
                   11129: ------------------------------------------------------------------
                   11130: 
                   11131: /\d*\R/BZ
                   11132: ------------------------------------------------------------------
                   11133:         Bra
                   11134:         \d*+
                   11135:         \R
                   11136:         Ket
                   11137:         End
                   11138: ------------------------------------------------------------------
                   11139: 
                   11140: /\s*\R/BZ
                   11141: ------------------------------------------------------------------
                   11142:         Bra
                   11143:         \s*+
                   11144:         \R
                   11145:         Ket
                   11146:         End
                   11147: ------------------------------------------------------------------
                   11148: 
                   11149: /-- Perl treats this one differently, not failing the second string. I believe
                   11150:     that is a bug in Perl. --/
                   11151: 
                   11152: /^((abc|abcx)(*THEN)y|abcd)/
                   11153:     abcd
                   11154:  0: abcd
                   11155:  1: abcd
                   11156:     *** Failers 
                   11157: No match
                   11158:     abcxy 
                   11159: No match
                   11160: 
                   11161: /(?<=abc)def/
                   11162:     abc\P\P
                   11163: Partial match: abc
                   11164: 
                   11165: /abc$/
                   11166:     abc
                   11167:  0: abc
                   11168:     abc\P
                   11169:  0: abc
                   11170:     abc\P\P
                   11171: Partial match: abc
                   11172: 
                   11173: /abc$/m
                   11174:     abc
                   11175:  0: abc
                   11176:     abc\n
                   11177:  0: abc
                   11178:     abc\P\P
                   11179: Partial match: abc
                   11180:     abc\n\P\P 
                   11181:  0: abc
                   11182:     abc\P
                   11183:  0: abc
                   11184:     abc\n\P
                   11185:  0: abc
                   11186: 
                   11187: /abc\z/
                   11188:     abc
                   11189:  0: abc
                   11190:     abc\P
                   11191:  0: abc
                   11192:     abc\P\P
                   11193: Partial match: abc
                   11194: 
                   11195: /abc\Z/
                   11196:     abc
                   11197:  0: abc
                   11198:     abc\P
                   11199:  0: abc
                   11200:     abc\P\P
                   11201: Partial match: abc
                   11202: 
                   11203: /abc\b/
                   11204:     abc
                   11205:  0: abc
                   11206:     abc\P
                   11207:  0: abc
                   11208:     abc\P\P
                   11209: Partial match: abc
                   11210: 
                   11211: /abc\B/
                   11212:     abc
                   11213: No match
                   11214:     abc\P
                   11215: Partial match: abc
                   11216:     abc\P\P
                   11217: Partial match: abc
                   11218: 
                   11219: /.+/
                   11220:     abc\>0
                   11221:  0: abc
                   11222:     abc\>1
                   11223:  0: bc
                   11224:     abc\>2
                   11225:  0: c
                   11226:     abc\>3
                   11227: No match
                   11228:     abc\>4
                   11229: Error -24 (bad offset value)
                   11230:     abc\>-4 
                   11231: Error -24 (bad offset value)
                   11232: 
                   11233: /^\cģ/
                   11234: Failed: \c must be followed by an ASCII character at offset 3
                   11235: 
                   11236: /(?P<abn>(?P=abn)xxx)/BZ
                   11237: ------------------------------------------------------------------
                   11238:         Bra
                   11239:         Once
                   11240:         CBra 1
                   11241:         \1
                   11242:         xxx
                   11243:         Ket
                   11244:         Ket
                   11245:         Ket
                   11246:         End
                   11247: ------------------------------------------------------------------
                   11248: 
                   11249: /(a\1z)/BZ
                   11250: ------------------------------------------------------------------
                   11251:         Bra
                   11252:         Once
                   11253:         CBra 1
                   11254:         a
                   11255:         \1
                   11256:         z
                   11257:         Ket
                   11258:         Ket
                   11259:         Ket
                   11260:         End
                   11261: ------------------------------------------------------------------
                   11262: 
                   11263: /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
                   11264: Failed: syntax error in subpattern name (missing terminator) at offset 29
                   11265: 
                   11266: /(?P<abn>(?P=axn)xxx)/BZ
                   11267: Failed: reference to non-existent subpattern at offset 15
                   11268: 
                   11269: /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
                   11270: ------------------------------------------------------------------
                   11271:         Bra
                   11272:         CBra 1
                   11273:         \2
                   11274:         xxx
                   11275:         Ket
                   11276:         CBra 2
                   11277:         yy
                   11278:         Ket
                   11279:         Ket
                   11280:         End
                   11281: ------------------------------------------------------------------
                   11282: 
                   11283: /-- These tests are here because Perl gets the first one wrong. --/
                   11284: 
                   11285: /(\R*)(.)/s
                   11286:     \r\n
                   11287:  0: \x0d
                   11288:  1: 
                   11289:  2: \x0d
                   11290:     \r\r\n\n\r 
                   11291:  0: \x0d\x0d\x0a\x0a\x0d
                   11292:  1: \x0d\x0d\x0a\x0a
                   11293:  2: \x0d
                   11294:     \r\r\n\n\r\n 
                   11295:  0: \x0d\x0d\x0a\x0a\x0d
                   11296:  1: \x0d\x0d\x0a\x0a
                   11297:  2: \x0d
                   11298: 
                   11299: /(\R)*(.)/s
                   11300:     \r\n
                   11301:  0: \x0d
                   11302:  1: <unset>
                   11303:  2: \x0d
                   11304:     \r\r\n\n\r 
                   11305:  0: \x0d\x0d\x0a\x0a\x0d
                   11306:  1: \x0a
                   11307:  2: \x0d
                   11308:     \r\r\n\n\r\n 
                   11309:  0: \x0d\x0d\x0a\x0a\x0d
                   11310:  1: \x0a
                   11311:  2: \x0d
                   11312: 
                   11313: /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
                   11314:     \r\n
                   11315:  0: \x0d
                   11316:  1: 
                   11317:  2: \x0d
                   11318:     \r\r\n\n\r 
                   11319:  0: \x0d\x0d\x0a\x0a\x0d
                   11320:  1: \x0d\x0d\x0a\x0a
                   11321:  2: \x0d
                   11322:     \r\r\n\n\r\n 
                   11323:  0: \x0d\x0d\x0a\x0a\x0d
                   11324:  1: \x0d\x0d\x0a\x0a
                   11325:  2: \x0d
                   11326: 
                   11327: /-- --/
                   11328: 
                   11329: /^abc$/BZ
                   11330: ------------------------------------------------------------------
                   11331:         Bra
                   11332:         ^
                   11333:         abc
                   11334:         $
                   11335:         Ket
                   11336:         End
                   11337: ------------------------------------------------------------------
                   11338: 
                   11339: /^abc$/BZm
                   11340: ------------------------------------------------------------------
                   11341:         Bra
                   11342:      /m ^
                   11343:         abc
                   11344:      /m $
                   11345:         Ket
                   11346:         End
                   11347: ------------------------------------------------------------------
                   11348: 
                   11349: /^(a)*+(\w)/S
                   11350:     aaaaX
                   11351:  0: aaaaX
                   11352:  1: a
                   11353:  2: X
                   11354:     ** Failers 
                   11355: No match
                   11356:     aaaa
                   11357: No match
                   11358: 
                   11359: /^(?:a)*+(\w)/S
                   11360:     aaaaX
                   11361:  0: aaaaX
                   11362:  1: X
                   11363:     ** Failers 
                   11364: No match
                   11365:     aaaa
                   11366: No match
                   11367: 
                   11368: /(a)++1234/SDZ
                   11369: ------------------------------------------------------------------
                   11370:         Bra
                   11371:         CBraPos 1
                   11372:         a
                   11373:         KetRpos
                   11374:         1234
                   11375:         Ket
                   11376:         End
                   11377: ------------------------------------------------------------------
                   11378: Capturing subpattern count = 1
                   11379: No options
                   11380: First char = 'a'
                   11381: Need char = '4'
                   11382: Subject length lower bound = 5
                   11383: No set of starting bytes
                   11384: 
                   11385: /([abc])++1234/SI
                   11386: Capturing subpattern count = 1
                   11387: No options
                   11388: No first char
                   11389: Need char = '4'
                   11390: Subject length lower bound = 5
                   11391: Starting byte set: a b c 
                   11392: 
                   11393: /(?<=(abc)+)X/
                   11394: Failed: lookbehind assertion is not fixed length at offset 10
                   11395: 
                   11396: /(^ab)/I
                   11397: Capturing subpattern count = 1
                   11398: Options: anchored
                   11399: No first char
                   11400: No need char
                   11401: 
                   11402: /(^ab)++/I
                   11403: Capturing subpattern count = 1
                   11404: Options: anchored
                   11405: No first char
                   11406: No need char
                   11407: 
                   11408: /(^ab|^)+/I
                   11409: Capturing subpattern count = 1
                   11410: Options: anchored
                   11411: No first char
                   11412: No need char
                   11413: 
                   11414: /(^ab|^)++/I
                   11415: Capturing subpattern count = 1
                   11416: Options: anchored
                   11417: No first char
                   11418: No need char
                   11419: 
                   11420: /(?:^ab)/I
                   11421: Capturing subpattern count = 0
                   11422: Options: anchored
                   11423: No first char
                   11424: No need char
                   11425: 
                   11426: /(?:^ab)++/I
                   11427: Capturing subpattern count = 0
                   11428: Options: anchored
                   11429: No first char
                   11430: No need char
                   11431: 
                   11432: /(?:^ab|^)+/I
                   11433: Capturing subpattern count = 0
                   11434: Options: anchored
                   11435: No first char
                   11436: No need char
                   11437: 
                   11438: /(?:^ab|^)++/I
                   11439: Capturing subpattern count = 0
                   11440: Options: anchored
                   11441: No first char
                   11442: No need char
                   11443: 
                   11444: /(.*ab)/I
                   11445: Capturing subpattern count = 1
                   11446: No options
                   11447: First char at start or follows newline
                   11448: Need char = 'b'
                   11449: 
                   11450: /(.*ab)++/I
                   11451: Capturing subpattern count = 1
                   11452: No options
                   11453: First char at start or follows newline
                   11454: Need char = 'b'
                   11455: 
                   11456: /(.*ab|.*)+/I
                   11457: Capturing subpattern count = 1
                   11458: No options
                   11459: First char at start or follows newline
                   11460: No need char
                   11461: 
                   11462: /(.*ab|.*)++/I
                   11463: Capturing subpattern count = 1
                   11464: No options
                   11465: First char at start or follows newline
                   11466: No need char
                   11467: 
                   11468: /(?:.*ab)/I
                   11469: Capturing subpattern count = 0
                   11470: No options
                   11471: First char at start or follows newline
                   11472: Need char = 'b'
                   11473: 
                   11474: /(?:.*ab)++/I
                   11475: Capturing subpattern count = 0
                   11476: No options
                   11477: First char at start or follows newline
                   11478: Need char = 'b'
                   11479: 
                   11480: /(?:.*ab|.*)+/I
                   11481: Capturing subpattern count = 0
                   11482: No options
                   11483: First char at start or follows newline
                   11484: No need char
                   11485: 
                   11486: /(?:.*ab|.*)++/I
                   11487: Capturing subpattern count = 0
                   11488: No options
                   11489: First char at start or follows newline
                   11490: No need char
                   11491: 
                   11492: /(?=a)[bcd]/I
                   11493: Capturing subpattern count = 0
                   11494: No options
                   11495: First char = 'a'
                   11496: No need char
                   11497: 
                   11498: /((?=a))[bcd]/I
                   11499: Capturing subpattern count = 1
                   11500: No options
                   11501: First char = 'a'
                   11502: No need char
                   11503: 
                   11504: /((?=a))+[bcd]/I
                   11505: Capturing subpattern count = 1
                   11506: No options
                   11507: First char = 'a'
                   11508: No need char
                   11509: 
                   11510: /((?=a))++[bcd]/I
                   11511: Capturing subpattern count = 1
                   11512: No options
                   11513: First char = 'a'
                   11514: No need char
                   11515: 
                   11516: /(?=a+)[bcd]/iI
                   11517: Capturing subpattern count = 0
                   11518: Options: caseless
                   11519: First char = 'a' (caseless)
                   11520: No need char
                   11521: 
                   11522: /(?=a+?)[bcd]/iI
                   11523: Capturing subpattern count = 0
                   11524: Options: caseless
                   11525: First char = 'a' (caseless)
                   11526: No need char
                   11527: 
                   11528: /(?=a++)[bcd]/iI
                   11529: Capturing subpattern count = 0
                   11530: Options: caseless
                   11531: First char = 'a' (caseless)
                   11532: No need char
                   11533: 
                   11534: /(?=a{3})[bcd]/iI
                   11535: Capturing subpattern count = 0
                   11536: Options: caseless
                   11537: First char = 'a' (caseless)
                   11538: Need char = 'a' (caseless)
                   11539: 
                   11540: /(abc)\1+/S
                   11541: 
                   11542: /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
                   11543: 
                   11544: /(?1)(?:(b(*ACCEPT))){0}/
                   11545:     b
                   11546:  0: b
                   11547: 
                   11548: /(?1)(?:(b(*ACCEPT))){0}c/
                   11549:     bc
                   11550:  0: bc
                   11551:     ** Failers 
                   11552: No match
                   11553:     b 
                   11554: No match
                   11555: 
                   11556: /(?1)(?:((*ACCEPT))){0}c/
                   11557:     c
                   11558:  0: c
                   11559:     c\N 
                   11560:  0: c
                   11561: 
                   11562: /^.*?(?(?=a)a|b(*THEN)c)/
                   11563:     ba
                   11564: No match
                   11565: 
                   11566: /^.*?(?(?=a)a|bc)/
                   11567:     ba
                   11568:  0: ba
                   11569: 
                   11570: /^.*?(?(?=a)a(*THEN)b|c)/
                   11571:     ac
                   11572: No match
                   11573: 
                   11574: /^.*?(?(?=a)a(*THEN)b)c/
                   11575:     ac
                   11576: No match
                   11577: 
                   11578: /^.*?(a(*THEN)b)c/
                   11579:     aabc
                   11580: No match
                   11581:     
                   11582: /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
                   11583:     aabc
                   11584:  0: aabc
                   11585: 
                   11586: /^.*?(a(*THEN)b|z)c/
                   11587:     aabc
                   11588:  0: aabc
                   11589:  1: ab
                   11590: 
                   11591: /^.*?(z|a(*THEN)b)c/
                   11592:     aabc
                   11593:  0: aabc
                   11594:  1: ab
                   11595: 
                   11596: /-- --/
                   11597: 
                   11598: /-- These studied versions are here because they are not Perl-compatible; the
                   11599:     studying means the mark is not seen. --/
                   11600: 
                   11601: /(*MARK:A)(*SKIP:B)(C|X)/KS
                   11602:     C
                   11603:  0: C
                   11604:  1: C
                   11605: MK: A
                   11606:     D
                   11607: No match, mark = A
                   11608:      
                   11609: /(*:A)A+(*SKIP:A)(B|Z)/KS
                   11610:     AAAC
                   11611: No match, mark = A
                   11612: 
                   11613: /-- --/
                   11614: 
                   11615: "(?=a*(*ACCEPT)b)c"
                   11616:     c
                   11617:  0: c
                   11618:     c\N 
                   11619:  0: c
                   11620:     
                   11621: /(?1)c(?(DEFINE)((*ACCEPT)b))/
                   11622:     c
                   11623:  0: c
                   11624:     c\N  
                   11625:  0: c
                   11626:     
                   11627: /(?>(*ACCEPT)b)c/
                   11628:     c
                   11629:  0: 
                   11630:     c\N  
                   11631: No match
                   11632: 
                   11633: /(?:(?>(a)))+a%/++
                   11634:     %aa%
                   11635:  0: aa%
                   11636:  0+ 
                   11637:  1: a
                   11638:  1+ a%
                   11639: 
                   11640: /(a)b|ac/++SS
                   11641:     ac\O3
                   11642: Matched, but too many substrings
                   11643:  0: ac
                   11644:  0+ 
                   11645:     
                   11646: /(a)(b)x|abc/++
                   11647:      abc\O6
                   11648:  0: abc
                   11649:  0+ 
                   11650: 
                   11651: /(a)bc|(a)(b)\2/
                   11652:     \O3abc
                   11653: Matched, but too many substrings
                   11654:  0: abc
                   11655:     \O4abc 
                   11656: Matched, but too many substrings
                   11657:  0: abc
                   11658: 
                   11659: /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
                   11660: Capturing subpattern count = 2
                   11661: No options
                   11662: No first char
                   11663: No need char
                   11664: Subject length lower bound = 1
                   11665: No set of starting bytes
                   11666: 
                   11667: /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
                   11668: Capturing subpattern count = 2
                   11669: No options
                   11670: No first char
                   11671: No need char
                   11672: Subject length lower bound = 3
                   11673: Starting byte set: a b 
                   11674: 
                   11675: /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
                   11676: Capturing subpattern count = 2
                   11677: No options
                   11678: No first char
                   11679: No need char
                   11680: Subject length lower bound = 4
                   11681: Starting byte set: a b 
                   11682: 
                   11683: /(abc)(?1)/SI
                   11684: Capturing subpattern count = 1
                   11685: No options
                   11686: First char = 'a'
                   11687: Need char = 'c'
                   11688: Subject length lower bound = 6
                   11689: No set of starting bytes
                   11690: 
                   11691: /^(?>a)++/
                   11692:     aa\M
                   11693: Minimum match() limit = 5
                   11694: Minimum match() recursion limit = 2
                   11695:  0: aa
                   11696:     aaaaaaaaa\M 
                   11697: Minimum match() limit = 12
                   11698: Minimum match() recursion limit = 2
                   11699:  0: aaaaaaaaa
                   11700:     
                   11701: /(a)(?1)++/
                   11702:     aa\M
                   11703: Minimum match() limit = 7
                   11704: Minimum match() recursion limit = 4
                   11705:  0: aa
                   11706:  1: a
                   11707:     aaaaaaaaa\M  
                   11708: Minimum match() limit = 21
                   11709: Minimum match() recursion limit = 4
                   11710:  0: aaaaaaaaa
                   11711:  1: a
                   11712: 
                   11713: /(?:(foo)|(bar)|(baz))X/SS=
                   11714:     bazfooX
                   11715:  0: fooX
                   11716:  1: foo
                   11717:  2: <unset>
                   11718:  3: <unset>
                   11719:     foobazbarX
                   11720:  0: barX
                   11721:  1: <unset>
                   11722:  2: bar
                   11723:  3: <unset>
                   11724:     barfooX
                   11725:  0: fooX
                   11726:  1: foo
                   11727:  2: <unset>
                   11728:  3: <unset>
                   11729:     bazX
                   11730:  0: bazX
                   11731:  1: <unset>
                   11732:  2: <unset>
                   11733:  3: baz
                   11734:     foobarbazX    
                   11735:  0: bazX
                   11736:  1: <unset>
                   11737:  2: <unset>
                   11738:  3: baz
                   11739:     bazfooX\O0
                   11740: Matched, but too many substrings
                   11741:     bazfooX\O2
                   11742: Matched, but too many substrings
                   11743:  0: fooX
                   11744:     bazfooX\O4
                   11745: Matched, but too many substrings
                   11746:  0: fooX
                   11747:  1: <unset>
                   11748:     bazfooX\O6
                   11749: Matched, but too many substrings
                   11750:  0: fooX
                   11751:  1: foo
                   11752:  2: <unset>
                   11753:     bazfooX\O8
                   11754: Matched, but too many substrings
                   11755:  0: fooX
                   11756:  1: foo
                   11757:  2: <unset>
                   11758:  3: <unset>
                   11759:     bazfooX\O10
                   11760:  0: fooX
                   11761:  1: foo
                   11762:  2: <unset>
                   11763:  3: <unset>
                   11764: 
                   11765: /(?=abc){3}abc/BZ
                   11766: ------------------------------------------------------------------
                   11767:         Bra
                   11768:         Assert
                   11769:         abc
                   11770:         Ket
                   11771:         abc
                   11772:         Ket
                   11773:         End
                   11774: ------------------------------------------------------------------
                   11775: 
                   11776: /(?=abc)+abc/BZ
                   11777: ------------------------------------------------------------------
                   11778:         Bra
                   11779:         Assert
                   11780:         abc
                   11781:         Ket
                   11782:         abc
                   11783:         Ket
                   11784:         End
                   11785: ------------------------------------------------------------------
                   11786: 
                   11787: /(?=abc)++abc/BZ
                   11788: ------------------------------------------------------------------
                   11789:         Bra
                   11790:         Assert
                   11791:         abc
                   11792:         Ket
                   11793:         abc
                   11794:         Ket
                   11795:         End
                   11796: ------------------------------------------------------------------
                   11797: 
                   11798: /(?=abc){0}xyz/BZ
                   11799: ------------------------------------------------------------------
                   11800:         Bra
                   11801:         Skip zero
                   11802:         Assert
                   11803:         abc
                   11804:         Ket
                   11805:         xyz
                   11806:         Ket
                   11807:         End
                   11808: ------------------------------------------------------------------
                   11809: 
                   11810: /(?=(a))?./BZ
                   11811: ------------------------------------------------------------------
                   11812:         Bra
                   11813:         Brazero
                   11814:         Assert
                   11815:         CBra 1
                   11816:         a
                   11817:         Ket
                   11818:         Ket
                   11819:         Any
                   11820:         Ket
                   11821:         End
                   11822: ------------------------------------------------------------------
                   11823: 
                   11824: /(?=(a))??./BZ
                   11825: ------------------------------------------------------------------
                   11826:         Bra
                   11827:         Braminzero
                   11828:         Assert
                   11829:         CBra 1
                   11830:         a
                   11831:         Ket
                   11832:         Ket
                   11833:         Any
                   11834:         Ket
                   11835:         End
                   11836: ------------------------------------------------------------------
                   11837: 
                   11838: /^(?=(a)){0}b(?1)/BZ
                   11839: ------------------------------------------------------------------
                   11840:         Bra
                   11841:         ^
                   11842:         Skip zero
                   11843:         Assert
                   11844:         CBra 1
                   11845:         a
                   11846:         Ket
                   11847:         Ket
                   11848:         b
                   11849:         Recurse
                   11850:         Ket
                   11851:         End
                   11852: ------------------------------------------------------------------
                   11853: 
                   11854: /(?(DEFINE)(a))?b(?1)/BZ
                   11855: ------------------------------------------------------------------
                   11856:         Bra
                   11857:         Cond
                   11858:         Cond def
                   11859:         CBra 1
                   11860:         a
                   11861:         Ket
                   11862:         Ket
                   11863:         b
                   11864:         Recurse
                   11865:         Ket
                   11866:         End
                   11867: ------------------------------------------------------------------
                   11868: 
                   11869: /^(?=(?1))?[az]([abc])d/BZ
                   11870: ------------------------------------------------------------------
                   11871:         Bra
                   11872:         ^
                   11873:         Brazero
                   11874:         Assert
                   11875:         Recurse
                   11876:         Ket
                   11877:         [az]
                   11878:         CBra 1
                   11879:         [a-c]
                   11880:         Ket
                   11881:         d
                   11882:         Ket
                   11883:         End
                   11884: ------------------------------------------------------------------
                   11885: 
                   11886: /^(?!a){0}\w+/BZ
                   11887: ------------------------------------------------------------------
                   11888:         Bra
                   11889:         ^
                   11890:         Skip zero
                   11891:         Assert not
                   11892:         a
                   11893:         Ket
                   11894:         \w+
                   11895:         Ket
                   11896:         End
                   11897: ------------------------------------------------------------------
                   11898: 
                   11899: /(?<=(abc))?xyz/BZ
                   11900: ------------------------------------------------------------------
                   11901:         Bra
                   11902:         Brazero
                   11903:         AssertB
                   11904:         Reverse
                   11905:         CBra 1
                   11906:         abc
                   11907:         Ket
                   11908:         Ket
                   11909:         xyz
                   11910:         Ket
                   11911:         End
                   11912: ------------------------------------------------------------------
                   11913: 
                   11914: /[:a[:abc]b:]/BZ
                   11915: ------------------------------------------------------------------
                   11916:         Bra
                   11917:         [:[a-c]
                   11918:         b:]
                   11919:         Ket
                   11920:         End
                   11921: ------------------------------------------------------------------
                   11922: 
                   11923: /((?2))((?1))/SS
                   11924:     abc
                   11925: Error -26 (nested recursion at the same subject position)
                   11926: 
                   11927: /((?(R2)a+|(?1)b))/SS
                   11928:     aaaabcde
                   11929: Error -26 (nested recursion at the same subject position)
                   11930: 
                   11931: /(?(R)a*(?1)|((?R))b)/SS
                   11932:     aaaabcde
                   11933: Error -26 (nested recursion at the same subject position)
                   11934: 
                   11935: /(a+|(?R)b)/
                   11936: Failed: recursive call could loop indefinitely at offset 7
                   11937: 
                   11938: /^(a(*:A)(d|e(*:B))z|aeq)/C
                   11939:     adz
                   11940: --->adz
                   11941:  +0 ^       ^
                   11942:  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
                   11943:  +2 ^       a
                   11944:  +3 ^^      (*:A)
                   11945:  +8 ^^      (d|e(*:B))
                   11946: Latest Mark: A
                   11947:  +9 ^^      d
                   11948: +10 ^ ^     |
                   11949: +18 ^ ^     z
                   11950: +19 ^  ^    |
                   11951: +24 ^  ^    
                   11952:  0: adz
                   11953:  1: adz
                   11954:  2: d
                   11955:     aez
                   11956: --->aez
                   11957:  +0 ^       ^
                   11958:  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
                   11959:  +2 ^       a
                   11960:  +3 ^^      (*:A)
                   11961:  +8 ^^      (d|e(*:B))
                   11962: Latest Mark: A
                   11963:  +9 ^^      d
                   11964: +11 ^^      e
                   11965: +12 ^ ^     (*:B)
                   11966: +17 ^ ^     )
                   11967: Latest Mark: B
                   11968: +18 ^ ^     z
                   11969: +19 ^  ^    |
                   11970: +24 ^  ^    
                   11971:  0: aez
                   11972:  1: aez
                   11973:  2: e
                   11974:     aeqwerty
                   11975: --->aeqwerty
                   11976:  +0 ^            ^
                   11977:  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
                   11978:  +2 ^            a
                   11979:  +3 ^^           (*:A)
                   11980:  +8 ^^           (d|e(*:B))
                   11981: Latest Mark: A
                   11982:  +9 ^^           d
                   11983: +11 ^^           e
                   11984: +12 ^ ^          (*:B)
                   11985: +17 ^ ^          )
                   11986: Latest Mark: B
                   11987: +18 ^ ^          z
                   11988: +20 ^            a
                   11989: +21 ^^           e
                   11990: +22 ^ ^          q
                   11991: +23 ^  ^         )
                   11992: +24 ^  ^         
                   11993:  0: aeq
                   11994:  1: aeq
                   11995: 
                   11996: /.(*F)/
                   11997:     \P\Pabc
                   11998: No match
                   11999: 
                   12000: /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
                   12001: Capturing subpattern count = 0
                   12002: No options
                   12003: First char = 't'
                   12004: Need char = 't'
                   12005: Subject length lower bound = 18
                   12006: No set of starting bytes
                   12007: 
                   12008: /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
                   12009: Capturing subpattern count = 0
                   12010: No options
                   12011: No first char
                   12012: No need char
                   12013: Subject length lower bound = 8
                   12014: Starting byte set: < o t u 
                   12015: 
                   12016: /a(*SKIP)c|b(*ACCEPT)|/+SI
                   12017: Capturing subpattern count = 0
                   12018: No options
                   12019: No first char
                   12020: No need char
                   12021: Study returned NULL
                   12022:     a
                   12023:  0: 
                   12024:  0+ 
                   12025: 
                   12026: /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
                   12027: Capturing subpattern count = 0
                   12028: No options
                   12029: No first char
                   12030: No need char
                   12031: Subject length lower bound = -1
                   12032: Starting byte set: a b x 
                   12033:     ax
                   12034:  0: x
                   12035: 
                   12036: 'a*(*ACCEPT)b'+
                   12037:     \N\N
                   12038: No match
                   12039:     abc\N\N
                   12040:  0: a
                   12041:  0+ bc
                   12042:     bbb\N\N 
                   12043:  0: 
                   12044:  0+ bb
                   12045: 
                   12046: /(*ACCEPT)a/+I
                   12047: Capturing subpattern count = 0
                   12048: No options
                   12049: No first char
                   12050: No need char
                   12051:     bax
                   12052:  0: 
                   12053:  0+ bax
                   12054: 
                   12055: /z(*ACCEPT)a/+I
                   12056: Capturing subpattern count = 0
                   12057: No options
                   12058: First char = 'z'
                   12059: No need char
                   12060:     baxzbx
                   12061:  0: z
                   12062:  0+ bx
                   12063: 
                   12064: /a(?:.)*?a/ims                                                                  
                   12065:     \Mabbbbbbbbbbbbbbbbbbbbba
                   12066: Minimum match() limit = 65
                   12067: Minimum match() recursion limit = 2
                   12068:  0: abbbbbbbbbbbbbbbbbbbbba
                   12069:     
                   12070: /a(?:.(*THEN))*?a/ims
                   12071:     \Mabbbbbbbbbbbbbbbbbbbbba
                   12072: Minimum match() limit = 86
                   12073: Minimum match() recursion limit = 45
                   12074:  0: abbbbbbbbbbbbbbbbbbbbba
                   12075: 
                   12076: /a(?:.(*THEN:ABC))*?a/ims
                   12077:     \Mabbbbbbbbbbbbbbbbbbbbba
                   12078: Minimum match() limit = 86
                   12079: Minimum match() recursion limit = 45
                   12080:  0: abbbbbbbbbbbbbbbbbbbbba
                   12081: 
                   12082: /-- These tests are in agreement with development Perl 5.015, which has fixed
                   12083:     some things, but they don't all work with 5.012, so they aren't in the
                   12084:     Perl-compatible tests. Those after the first come from Perl's own test
                   12085:     files. --/
                   12086:     
                   12087: /^((yes|no)(*THEN)(*F))?/
                   12088:   yes
                   12089: No match
                   12090: 
                   12091: /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x
                   12092: AbcdCBefgBhiBqz
                   12093: No match
                   12094: 
                   12095: /(A (.*)   C? (*THEN)  | A D) z/x
                   12096: AbcdCBefgBhiBqz
                   12097: No match
                   12098: 
                   12099: /(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x
                   12100: AbcdCBefgBhiBqz
                   12101: No match
                   12102: 
                   12103: /(A (.*)   C? (*THEN)  | A D) \s* z/x
                   12104: AbcdCBefgBhiBqz
                   12105: No match
                   12106: 
                   12107: /(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x
                   12108: AbcdCBefgBhiBqz
                   12109: No match
                   12110: 
                   12111: /(A (.*)   (?:C|) (*THEN)  | A D) z/x
                   12112: AbcdCBefgBhiBqz
                   12113: No match
                   12114: 
                   12115: /(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x
                   12116: AbcdCBefgBhiBqz
                   12117: No match
                   12118: 
                   12119: /(A (.*)   C{0,6} (*THEN)  | A D) z/x
                   12120: AbcdCBefgBhiBqz
                   12121: No match
                   12122: 
                   12123: /(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x
                   12124: AbcdCEBefgBhiBqz
                   12125: No match
                   12126: 
                   12127: /(A (.*)   (CE){0,6} (*THEN)  | A D) z/x
                   12128: AbcdCEBefgBhiBqz
                   12129: No match
                   12130: 
                   12131: /(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x
                   12132: AbcdCBefgBhiBqz
                   12133: No match
                   12134: 
                   12135: /(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x
                   12136: AbcdCBefgBhiBqz
                   12137: No match
                   12138: 
                   12139: /-----------------------------------------------/  
                   12140: 
                   12141: /^(?>a+)(?>(z+))\w/BZ
                   12142: ------------------------------------------------------------------
                   12143:         Bra
                   12144:         ^
                   12145:         Once_NC
                   12146:         a+
                   12147:         Ket
                   12148:         Once
                   12149:         CBra 1
                   12150:         z+
                   12151:         Ket
                   12152:         Ket
                   12153:         \w
                   12154:         Ket
                   12155:         End
                   12156: ------------------------------------------------------------------
                   12157:     aaaazzzzb
                   12158:  0: aaaazzzzb
                   12159:  1: zzzz
                   12160:     ** Failers
                   12161: No match
                   12162:     aazz  
                   12163: No match
                   12164: 
                   12165: /(.)(\1|a(?2))/
                   12166:     bab
                   12167:  0: bab
                   12168:  1: b
                   12169:  2: ab
                   12170:     
                   12171: /\1|(.)(?R)\1/
                   12172:     cbbbc
                   12173:  0: cbbbc
                   12174:  1: c
                   12175:     
                   12176: /(.)((?(1)c|a)|a(?2))/
                   12177:     baa  
                   12178: No match
                   12179: 
                   12180: /(?P<abn>(?P=abn)xxx)/BZ
                   12181: ------------------------------------------------------------------
                   12182:         Bra
                   12183:         Once
                   12184:         CBra 1
                   12185:         \1
                   12186:         xxx
                   12187:         Ket
                   12188:         Ket
                   12189:         Ket
                   12190:         End
                   12191: ------------------------------------------------------------------
                   12192: 
                   12193: /(a\1z)/BZ
                   12194: ------------------------------------------------------------------
                   12195:         Bra
                   12196:         Once
                   12197:         CBra 1
                   12198:         a
                   12199:         \1
                   12200:         z
                   12201:         Ket
                   12202:         Ket
                   12203:         Ket
                   12204:         End
                   12205: ------------------------------------------------------------------
                   12206: 
                   12207: /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
                   12208:      \Maabbccddee
                   12209: Minimum match() limit = 12
                   12210: Minimum match() recursion limit = 3
                   12211:  0: aabbccddee
                   12212: 
                   12213: /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
                   12214:      \Maabbccddee
                   12215: Minimum match() limit = 22
                   12216: Minimum match() recursion limit = 21
                   12217:  0: aabbccddee
                   12218:  1: aa
                   12219:  2: bb
                   12220:  3: cc
                   12221:  4: dd
                   12222:  5: ee
                   12223: 
                   12224: /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
                   12225:      \Maabbccddee
                   12226: Minimum match() limit = 18
                   12227: Minimum match() recursion limit = 13
                   12228:  0: aabbccddee
                   12229:  1: aa
                   12230:  2: cc
                   12231:  3: ee
                   12232: 
                   12233: /^a\x41z/<JS>
                   12234:     aAz
                   12235:  0: aAz
                   12236:     *** Failers
                   12237: No match
                   12238:     ax41z
                   12239: No match
                   12240: 
                   12241: /^a[m\x41]z/<JS>
                   12242:     aAz
                   12243:  0: aAz
                   12244: 
                   12245: /^a\x1z/<JS>
                   12246:     ax1z
                   12247:  0: ax1z
                   12248: 
                   12249: /^a\u0041z/<JS>
                   12250:     aAz
                   12251:  0: aAz
                   12252:     *** Failers
                   12253: No match
                   12254:     au0041z
                   12255: No match
                   12256: 
                   12257: /^a[m\u0041]z/<JS>
                   12258:     aAz
                   12259:  0: aAz
                   12260: 
                   12261: /^a\u041z/<JS>
                   12262:     au041z
                   12263:  0: au041z
                   12264:     *** Failers
                   12265: No match
                   12266:     aAz
                   12267: No match
                   12268: 
                   12269: /^a\U0041z/<JS>
                   12270:     aU0041z
                   12271:  0: aU0041z
                   12272:     *** Failers
                   12273: No match
                   12274:     aAz
                   12275: No match
                   12276: 
                   12277: /(?(?=c)c|d)++Y/BZ
                   12278: ------------------------------------------------------------------
                   12279:         Bra
                   12280:         BraPos
                   12281:         Cond
                   12282:         Assert
                   12283:         c
                   12284:         Ket
                   12285:         c
                   12286:         Alt
                   12287:         d
                   12288:         Ket
                   12289:         KetRpos
                   12290:         Y
                   12291:         Ket
                   12292:         End
                   12293: ------------------------------------------------------------------
                   12294: 
                   12295: /(?(?=c)c|d)*+Y/BZ
                   12296: ------------------------------------------------------------------
                   12297:         Bra
                   12298:         Braposzero
                   12299:         BraPos
                   12300:         Cond
                   12301:         Assert
                   12302:         c
                   12303:         Ket
                   12304:         c
                   12305:         Alt
                   12306:         d
                   12307:         Ket
                   12308:         KetRpos
                   12309:         Y
                   12310:         Ket
                   12311:         End
                   12312: ------------------------------------------------------------------
                   12313: 
                   12314: /a[\NB]c/
                   12315: Failed: \N is not supported in a class at offset 3
                   12316: 
                   12317: /a[B-\Nc]/ 
                   12318: Failed: \N is not supported in a class at offset 5
                   12319: 
                   12320: /(a)(?2){0,1999}?(b)/
                   12321: 
                   12322: /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
                   12323: 
                   12324: /--- This test, with something more complicated than individual letters, causes
                   12325: different behaviour in Perl. Perhaps it disables some optimization; no tag is
                   12326: passed back for the failures, whereas in PCRE there is a tag. ---/
                   12327:     
                   12328: /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
                   12329:     AABC
                   12330:  0: AB
                   12331:  1: A
                   12332:  2: B
                   12333: MK: A
                   12334:     XXYZ 
                   12335:  0: XXY
                   12336:  1: <unset>
                   12337:  2: <unset>
                   12338:  3: X
                   12339:  4: X
                   12340:  5: Y
                   12341: MK: B
                   12342:     ** Failers
                   12343: No match
                   12344:     XAQQ  
                   12345: No match, mark = A
                   12346:     XAQQXZZ  
                   12347: No match, mark = A
                   12348:     AXQQQ 
                   12349: No match, mark = A
                   12350:     AXXQQQ 
                   12351: No match, mark = B
                   12352: 
                   12353: /-- Perl doesn't give marks for these, though it does if the alternatives are
                   12354: replaced by single letters. --/
                   12355:     
                   12356: /(b|q)(*:m)f|a(*:n)w/K
                   12357:     aw 
                   12358:  0: aw
                   12359: MK: n
                   12360:     ** Failers 
                   12361: No match, mark = n
                   12362:     abc
                   12363: No match, mark = m
                   12364: 
                   12365: /(q|b)(*:m)f|a(*:n)w/K
                   12366:     aw 
                   12367:  0: aw
                   12368: MK: n
                   12369:     ** Failers 
                   12370: No match, mark = n
                   12371:     abc
                   12372: No match, mark = m
                   12373: 
                   12374: /-- After a partial match, the behaviour is as for a failure. --/
                   12375: 
                   12376: /^a(*:X)bcde/K
                   12377:    abc\P
                   12378: Partial match, mark=X: abc
                   12379: 
                   12380: /-- End of testinput2 --/

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