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

1.1       misho       1: /-- This set of tests is not Perl-compatible. It checks on special features
                      2:     of PCRE's API, error diagnostics, and the compiled code of some patterns.
                      3:     It also checks the non-Perl syntax the PCRE supports (Python, .NET, 
                      4:     Oniguruma). Finally, there are some tests where PCRE and Perl differ, 
                      5:     either because PCRE can't be compatible, or there is a possible Perl 
                      6:     bug.
                      7:     
1.1.1.2 ! misho       8:     NOTE: This is a non-UTF set of tests. When UTF support is needed, use
        !             9:     test 5, and if Unicode Property Support is needed, use test 7. --/
1.1       misho      10:   
                     11: /(a)b|/I
                     12: Capturing subpattern count = 1
                     13: No options
                     14: No first char
                     15: No need char
                     16: 
                     17: /abc/I
                     18: Capturing subpattern count = 0
                     19: No options
                     20: First char = 'a'
                     21: Need char = 'c'
                     22:     abc
                     23:  0: abc
                     24:     defabc
                     25:  0: abc
                     26:     \Aabc
                     27:  0: abc
                     28:     *** Failers
                     29: No match
                     30:     \Adefabc
                     31: No match
                     32:     ABC
                     33: No match
                     34: 
                     35: /^abc/I
                     36: Capturing subpattern count = 0
                     37: Options: anchored
                     38: No first char
                     39: No need char
                     40:     abc
                     41:  0: abc
                     42:     \Aabc
                     43:  0: abc
                     44:     *** Failers
                     45: No match
                     46:     defabc
                     47: No match
                     48:     \Adefabc
                     49: No match
                     50: 
                     51: /a+bc/I
                     52: Capturing subpattern count = 0
                     53: No options
                     54: First char = 'a'
                     55: Need char = 'c'
                     56: 
                     57: /a*bc/I
                     58: Capturing subpattern count = 0
                     59: No options
                     60: No first char
                     61: Need char = 'c'
                     62: 
                     63: /a{3}bc/I
                     64: Capturing subpattern count = 0
                     65: No options
                     66: First char = 'a'
                     67: Need char = 'c'
                     68: 
                     69: /(abc|a+z)/I
                     70: Capturing subpattern count = 1
                     71: No options
                     72: First char = 'a'
                     73: No need char
                     74: 
                     75: /^abc$/I
                     76: Capturing subpattern count = 0
                     77: Options: anchored
                     78: No first char
                     79: No need char
                     80:     abc
                     81:  0: abc
                     82:     *** Failers
                     83: No match
                     84:     def\nabc
                     85: No match
                     86: 
                     87: /ab\idef/X
                     88: Failed: unrecognized character follows \ at offset 3
                     89: 
                     90: /(?X)ab\idef/X
                     91: Failed: unrecognized character follows \ at offset 7
                     92: 
                     93: /x{5,4}/
                     94: Failed: numbers out of order in {} quantifier at offset 5
                     95: 
                     96: /z{65536}/
                     97: Failed: number too big in {} quantifier at offset 7
                     98: 
                     99: /[abcd/
                    100: Failed: missing terminating ] for character class at offset 5
                    101: 
                    102: /(?X)[\B]/
                    103: Failed: invalid escape sequence in character class at offset 6
                    104: 
                    105: /(?X)[\R]/
                    106: Failed: invalid escape sequence in character class at offset 6
                    107: 
                    108: /(?X)[\X]/
                    109: Failed: invalid escape sequence in character class at offset 6
                    110: 
                    111: /[\B]/BZ
                    112: ------------------------------------------------------------------
                    113:         Bra
                    114:         B
                    115:         Ket
                    116:         End
                    117: ------------------------------------------------------------------
                    118: 
                    119: /[\R]/BZ
                    120: ------------------------------------------------------------------
                    121:         Bra
                    122:         R
                    123:         Ket
                    124:         End
                    125: ------------------------------------------------------------------
                    126: 
                    127: /[\X]/BZ
                    128: ------------------------------------------------------------------
                    129:         Bra
                    130:         X
                    131:         Ket
                    132:         End
                    133: ------------------------------------------------------------------
                    134: 
                    135: /[z-a]/
                    136: Failed: range out of order in character class at offset 3
                    137: 
                    138: /^*/
                    139: Failed: nothing to repeat at offset 1
                    140: 
                    141: /(abc/
                    142: Failed: missing ) at offset 4
                    143: 
                    144: /(?# abc/
                    145: Failed: missing ) after comment at offset 7
                    146: 
                    147: /(?z)abc/
                    148: Failed: unrecognized character after (? or (?- at offset 2
                    149: 
                    150: /.*b/I
                    151: Capturing subpattern count = 0
                    152: No options
                    153: First char at start or follows newline
                    154: Need char = 'b'
                    155: 
                    156: /.*?b/I
                    157: Capturing subpattern count = 0
                    158: No options
                    159: First char at start or follows newline
                    160: Need char = 'b'
                    161: 
                    162: /cat|dog|elephant/I
                    163: Capturing subpattern count = 0
                    164: No options
                    165: No first char
                    166: No need char
                    167:     this sentence eventually mentions a cat
                    168:  0: cat
                    169:     this sentences rambles on and on for a while and then reaches elephant
                    170:  0: elephant
                    171: 
                    172: /cat|dog|elephant/IS
                    173: Capturing subpattern count = 0
                    174: No options
                    175: No first char
                    176: No need char
                    177: Subject length lower bound = 3
                    178: Starting byte set: c d e 
                    179:     this sentence eventually mentions a cat
                    180:  0: cat
                    181:     this sentences rambles on and on for a while and then reaches elephant
                    182:  0: elephant
                    183: 
                    184: /cat|dog|elephant/IiS
                    185: Capturing subpattern count = 0
                    186: Options: caseless
                    187: No first char
                    188: No need char
                    189: Subject length lower bound = 3
                    190: Starting byte set: C D E c d e 
                    191:     this sentence eventually mentions a CAT cat
                    192:  0: CAT
                    193:     this sentences rambles on and on for a while to elephant ElePhant
                    194:  0: elephant
                    195: 
                    196: /a|[bcd]/IS
                    197: Capturing subpattern count = 0
                    198: No options
                    199: No first char
                    200: No need char
                    201: Subject length lower bound = 1
                    202: Starting byte set: a b c d 
                    203: 
                    204: /(a|[^\dZ])/IS
                    205: Capturing subpattern count = 1
                    206: No options
                    207: No first char
                    208: No need char
                    209: Subject length lower bound = 1
                    210: Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
                    211:   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
                    212:   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
                    213:   ? @ 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 
                    214:   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 
                    215:   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
                    216:   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
                    217:   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
                    218:   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
                    219:   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
                    220:   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
                    221:   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
                    222:   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
                    223:   \xfc \xfd \xfe \xff 
                    224: 
                    225: /(a|b)*[\s]/IS
                    226: Capturing subpattern count = 1
                    227: No options
                    228: No first char
                    229: No need char
                    230: Subject length lower bound = 1
                    231: Starting byte set: \x09 \x0a \x0c \x0d \x20 a b 
                    232: 
                    233: /(ab\2)/
                    234: Failed: reference to non-existent subpattern at offset 6
                    235: 
                    236: /{4,5}abc/
                    237: Failed: nothing to repeat at offset 4
                    238: 
                    239: /(a)(b)(c)\2/I
                    240: Capturing subpattern count = 3
                    241: Max back reference = 2
                    242: No options
                    243: First char = 'a'
                    244: Need char = 'c'
                    245:     abcb
                    246:  0: abcb
                    247:  1: a
                    248:  2: b
                    249:  3: c
                    250:     \O0abcb
                    251: Matched, but too many substrings
                    252:     \O3abcb
                    253: Matched, but too many substrings
                    254:  0: abcb
                    255:     \O6abcb
                    256: Matched, but too many substrings
                    257:  0: abcb
                    258:  1: a
                    259:     \O9abcb
                    260: Matched, but too many substrings
                    261:  0: abcb
                    262:  1: a
                    263:  2: b
                    264:     \O12abcb
                    265:  0: abcb
                    266:  1: a
                    267:  2: b
                    268:  3: c
                    269: 
                    270: /(a)bc|(a)(b)\2/I
                    271: Capturing subpattern count = 3
                    272: Max back reference = 2
                    273: No options
                    274: First char = 'a'
                    275: No need char
                    276:     abc
                    277:  0: abc
                    278:  1: a
                    279:     \O0abc
                    280: Matched, but too many substrings
                    281:     \O3abc
                    282: Matched, but too many substrings
                    283:  0: abc
                    284:     \O6abc
                    285:  0: abc
                    286:  1: a
                    287:     aba
                    288:  0: aba
                    289:  1: <unset>
                    290:  2: a
                    291:  3: b
                    292:     \O0aba
                    293: Matched, but too many substrings
                    294:     \O3aba
                    295: Matched, but too many substrings
                    296:  0: aba
                    297:     \O6aba
                    298: Matched, but too many substrings
                    299:  0: aba
                    300:  1: <unset>
                    301:     \O9aba
                    302: Matched, but too many substrings
                    303:  0: aba
                    304:  1: <unset>
                    305:  2: a
                    306:     \O12aba
                    307:  0: aba
                    308:  1: <unset>
                    309:  2: a
                    310:  3: b
                    311: 
                    312: /abc$/IE
                    313: Capturing subpattern count = 0
                    314: Options: dollar_endonly
                    315: First char = 'a'
                    316: Need char = 'c'
                    317:     abc
                    318:  0: abc
                    319:     *** Failers
                    320: No match
                    321:     abc\n
                    322: No match
                    323:     abc\ndef
                    324: No match
                    325: 
                    326: /(a)(b)(c)(d)(e)\6/
                    327: Failed: reference to non-existent subpattern at offset 17
                    328: 
                    329: /the quick brown fox/I
                    330: Capturing subpattern count = 0
                    331: No options
                    332: First char = 't'
                    333: Need char = 'x'
                    334:     the quick brown fox
                    335:  0: the quick brown fox
                    336:     this is a line with the quick brown fox
                    337:  0: the quick brown fox
                    338: 
                    339: /the quick brown fox/IA
                    340: Capturing subpattern count = 0
                    341: Options: anchored
                    342: No first char
                    343: No need char
                    344:     the quick brown fox
                    345:  0: the quick brown fox
                    346:     *** Failers
                    347: No match
                    348:     this is a line with the quick brown fox
                    349: No match
                    350: 
                    351: /ab(?z)cd/
                    352: Failed: unrecognized character after (? or (?- at offset 4
                    353: 
                    354: /^abc|def/I
                    355: Capturing subpattern count = 0
                    356: No options
                    357: No first char
                    358: No need char
                    359:     abcdef
                    360:  0: abc
                    361:     abcdef\B
                    362:  0: def
                    363: 
                    364: /.*((abc)$|(def))/I
                    365: Capturing subpattern count = 3
                    366: No options
                    367: First char at start or follows newline
                    368: No need char
                    369:     defabc
                    370:  0: defabc
                    371:  1: abc
                    372:  2: abc
                    373:     \Zdefabc
                    374:  0: def
                    375:  1: def
                    376:  2: <unset>
                    377:  3: def
                    378: 
                    379: /)/
                    380: Failed: unmatched parentheses at offset 0
                    381: 
                    382: /a[]b/
                    383: Failed: missing terminating ] for character class at offset 4
                    384: 
                    385: /[^aeiou ]{3,}/I
                    386: Capturing subpattern count = 0
                    387: No options
                    388: No first char
                    389: No need char
                    390:     co-processors, and for
                    391:  0: -pr
                    392: 
                    393: /<.*>/I
                    394: Capturing subpattern count = 0
                    395: No options
                    396: First char = '<'
                    397: Need char = '>'
                    398:     abc<def>ghi<klm>nop
                    399:  0: <def>ghi<klm>
                    400: 
                    401: /<.*?>/I
                    402: Capturing subpattern count = 0
                    403: No options
                    404: First char = '<'
                    405: Need char = '>'
                    406:     abc<def>ghi<klm>nop
                    407:  0: <def>
                    408: 
                    409: /<.*>/IU
                    410: Capturing subpattern count = 0
                    411: Options: ungreedy
                    412: First char = '<'
                    413: Need char = '>'
                    414:     abc<def>ghi<klm>nop
                    415:  0: <def>
                    416: 
                    417: /(?U)<.*>/I
                    418: Capturing subpattern count = 0
                    419: Options: ungreedy
                    420: First char = '<'
                    421: Need char = '>'
                    422:     abc<def>ghi<klm>nop
                    423:  0: <def>
                    424: 
                    425: /<.*?>/IU
                    426: Capturing subpattern count = 0
                    427: Options: ungreedy
                    428: First char = '<'
                    429: Need char = '>'
                    430:     abc<def>ghi<klm>nop
                    431:  0: <def>ghi<klm>
                    432: 
                    433: /={3,}/IU
                    434: Capturing subpattern count = 0
                    435: Options: ungreedy
                    436: First char = '='
                    437: Need char = '='
                    438:     abc========def
                    439:  0: ===
                    440: 
                    441: /(?U)={3,}?/I
                    442: Capturing subpattern count = 0
                    443: Options: ungreedy
                    444: First char = '='
                    445: Need char = '='
                    446:     abc========def
                    447:  0: ========
                    448: 
                    449: /(?<!bar|cattle)foo/I
                    450: Capturing subpattern count = 0
                    451: No options
                    452: First char = 'f'
                    453: Need char = 'o'
                    454:     foo
                    455:  0: foo
                    456:     catfoo
                    457:  0: foo
                    458:     *** Failers
                    459: No match
                    460:     the barfoo
                    461: No match
                    462:     and cattlefoo
                    463: No match
                    464: 
                    465: /(?<=a+)b/
                    466: Failed: lookbehind assertion is not fixed length at offset 6
                    467: 
                    468: /(?<=aaa|b{0,3})b/
                    469: Failed: lookbehind assertion is not fixed length at offset 14
                    470: 
                    471: /(?<!(foo)a\1)bar/
                    472: Failed: lookbehind assertion is not fixed length at offset 12
                    473: 
                    474: /(?i)abc/I
                    475: Capturing subpattern count = 0
                    476: Options: caseless
                    477: First char = 'a' (caseless)
                    478: Need char = 'c' (caseless)
                    479: 
                    480: /(a|(?m)a)/I
                    481: Capturing subpattern count = 1
                    482: No options
                    483: First char = 'a'
                    484: No need char
                    485: 
                    486: /(?i)^1234/I
                    487: Capturing subpattern count = 0
                    488: Options: anchored caseless
                    489: No first char
                    490: No need char
                    491: 
                    492: /(^b|(?i)^d)/I
                    493: Capturing subpattern count = 1
                    494: Options: anchored
                    495: No first char
                    496: No need char
                    497: 
                    498: /(?s).*/I
                    499: Capturing subpattern count = 0
                    500: Options: anchored dotall
                    501: No first char
                    502: No need char
                    503: 
                    504: /[abcd]/IS
                    505: Capturing subpattern count = 0
                    506: No options
                    507: No first char
                    508: No need char
                    509: Subject length lower bound = 1
                    510: Starting byte set: a b c d 
                    511: 
                    512: /(?i)[abcd]/IS
                    513: Capturing subpattern count = 0
                    514: Options: caseless
                    515: No first char
                    516: No need char
                    517: Subject length lower bound = 1
                    518: Starting byte set: A B C D a b c d 
                    519: 
                    520: /(?m)[xy]|(b|c)/IS
                    521: Capturing subpattern count = 1
                    522: Options: multiline
                    523: No first char
                    524: No need char
                    525: Subject length lower bound = 1
                    526: Starting byte set: b c x y 
                    527: 
                    528: /(^a|^b)/Im
                    529: Capturing subpattern count = 1
                    530: Options: multiline
                    531: First char at start or follows newline
                    532: No need char
                    533: 
                    534: /(?i)(^a|^b)/Im
                    535: Capturing subpattern count = 1
                    536: Options: caseless multiline
                    537: First char at start or follows newline
                    538: No need char
                    539: 
                    540: /(a)(?(1)a|b|c)/
                    541: Failed: conditional group contains more than two branches at offset 13
                    542: 
                    543: /(?(?=a)a|b|c)/
                    544: Failed: conditional group contains more than two branches at offset 12
                    545: 
                    546: /(?(1a)/
                    547: Failed: missing ) at offset 6
                    548: 
                    549: /(?(1a))/
                    550: Failed: reference to non-existent subpattern at offset 6
                    551: 
                    552: /(?(?i))/
                    553: Failed: assertion expected after (?( at offset 3
                    554: 
                    555: /(?(abc))/
                    556: Failed: reference to non-existent subpattern at offset 7
                    557: 
                    558: /(?(?<ab))/
                    559: Failed: syntax error in subpattern name (missing terminator) at offset 7
                    560: 
                    561: /((?s)blah)\s+\1/I
                    562: Capturing subpattern count = 1
                    563: Max back reference = 1
                    564: No options
                    565: First char = 'b'
                    566: Need char = 'h'
                    567: 
                    568: /((?i)blah)\s+\1/I
                    569: Capturing subpattern count = 1
                    570: Max back reference = 1
                    571: No options
                    572: First char = 'b' (caseless)
                    573: Need char = 'h' (caseless)
                    574: 
                    575: /((?i)b)/IDZS
                    576: ------------------------------------------------------------------
                    577:         Bra
                    578:         CBra 1
                    579:      /i b
                    580:         Ket
                    581:         Ket
                    582:         End
                    583: ------------------------------------------------------------------
                    584: Capturing subpattern count = 1
                    585: No options
                    586: First char = 'b' (caseless)
                    587: No need char
                    588: Subject length lower bound = 1
                    589: No set of starting bytes
                    590: 
                    591: /(a*b|(?i:c*(?-i)d))/IS
                    592: Capturing subpattern count = 1
                    593: No options
                    594: No first char
                    595: No need char
                    596: Subject length lower bound = 1
                    597: Starting byte set: C a b c d 
                    598: 
                    599: /a$/I
                    600: Capturing subpattern count = 0
                    601: No options
                    602: First char = 'a'
                    603: No need char
                    604:     a
                    605:  0: a
                    606:     a\n
                    607:  0: a
                    608:     *** Failers
                    609: No match
                    610:     \Za
                    611: No match
                    612:     \Za\n
                    613: No match
                    614: 
                    615: /a$/Im
                    616: Capturing subpattern count = 0
                    617: Options: multiline
                    618: First char = 'a'
                    619: No need char
                    620:     a
                    621:  0: a
                    622:     a\n
                    623:  0: a
                    624:     \Za\n
                    625:  0: a
                    626:     *** Failers
                    627: No match
                    628:     \Za
                    629: No match
                    630: 
                    631: /\Aabc/Im
                    632: Capturing subpattern count = 0
                    633: Options: anchored multiline
                    634: No first char
                    635: No need char
                    636: 
                    637: /^abc/Im
                    638: Capturing subpattern count = 0
                    639: Options: multiline
                    640: First char at start or follows newline
                    641: Need char = 'c'
                    642: 
                    643: /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
                    644: Capturing subpattern count = 5
                    645: Options: anchored
                    646: No first char
                    647: No need char
                    648:   aaaaabbbbbcccccdef
                    649:  0: aaaaabbbbbcccccdef
                    650:  1: aaaaabbbbbcccccdef
                    651:  2: aaaaa
                    652:  3: b
                    653:  4: bbbbccccc
                    654:  5: def
                    655: 
                    656: /(?<=foo)[ab]/IS
                    657: Capturing subpattern count = 0
                    658: No options
                    659: No first char
                    660: No need char
                    661: Subject length lower bound = 1
                    662: Starting byte set: a b 
                    663: 
                    664: /(?<!foo)(alpha|omega)/IS
                    665: Capturing subpattern count = 1
                    666: No options
                    667: No first char
                    668: Need char = 'a'
                    669: Subject length lower bound = 5
                    670: Starting byte set: a o 
                    671: 
                    672: /(?!alphabet)[ab]/IS
                    673: Capturing subpattern count = 0
                    674: No options
                    675: No first char
                    676: No need char
                    677: Subject length lower bound = 1
                    678: Starting byte set: a b 
                    679: 
                    680: /(?<=foo\n)^bar/Im
                    681: Capturing subpattern count = 0
                    682: Contains explicit CR or LF match
                    683: Options: multiline
                    684: No first char
                    685: Need char = 'r'
                    686:     foo\nbarbar
                    687:  0: bar
                    688:     ***Failers
                    689: No match
                    690:     rhubarb
                    691: No match
                    692:     barbell
                    693: No match
                    694:     abc\nbarton
                    695: No match
                    696: 
                    697: /^(?<=foo\n)bar/Im
                    698: Capturing subpattern count = 0
                    699: Contains explicit CR or LF match
                    700: Options: multiline
                    701: First char at start or follows newline
                    702: Need char = 'r'
                    703:     foo\nbarbar
                    704:  0: bar
                    705:     ***Failers
                    706: No match
                    707:     rhubarb
                    708: No match
                    709:     barbell
                    710: No match
                    711:     abc\nbarton
                    712: No match
                    713: 
                    714: /(?>^abc)/Im
                    715: Capturing subpattern count = 0
                    716: Options: multiline
                    717: First char at start or follows newline
                    718: Need char = 'c'
                    719:     abc
                    720:  0: abc
                    721:     def\nabc
                    722:  0: abc
                    723:     *** Failers
                    724: No match
                    725:     defabc
                    726: No match
                    727: 
                    728: /(?<=ab(c+)d)ef/
                    729: Failed: lookbehind assertion is not fixed length at offset 11
                    730: 
                    731: /(?<=ab(?<=c+)d)ef/
                    732: Failed: lookbehind assertion is not fixed length at offset 12
                    733: 
                    734: /(?<=ab(c|de)f)g/
                    735: Failed: lookbehind assertion is not fixed length at offset 13
                    736: 
                    737: /The next three are in testinput2 because they have variable length branches/
                    738: 
                    739: /(?<=bullock|donkey)-cart/I
                    740: Capturing subpattern count = 0
                    741: No options
                    742: First char = '-'
                    743: Need char = 't'
                    744:     the bullock-cart
                    745:  0: -cart
                    746:     a donkey-cart race
                    747:  0: -cart
                    748:     *** Failers
                    749: No match
                    750:     cart
                    751: No match
                    752:     horse-and-cart
                    753: No match
                    754: 
                    755: /(?<=ab(?i)x|y|z)/I
                    756: Capturing subpattern count = 0
                    757: No options
                    758: No first char
                    759: No need char
                    760: 
                    761: /(?>.*)(?<=(abcd)|(xyz))/I
                    762: Capturing subpattern count = 2
                    763: No options
                    764: First char at start or follows newline
                    765: No need char
                    766:     alphabetabcd
                    767:  0: alphabetabcd
                    768:  1: abcd
                    769:     endingxyz
                    770:  0: endingxyz
                    771:  1: <unset>
                    772:  2: xyz
                    773: 
                    774: /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
                    775: Capturing subpattern count = 0
                    776: No options
                    777: First char = 'Z'
                    778: Need char = 'Z'
                    779:     abxyZZ
                    780:  0: ZZ
                    781:     abXyZZ
                    782:  0: ZZ
                    783:     ZZZ
                    784:  0: ZZ
                    785:     zZZ
                    786:  0: ZZ
                    787:     bZZ
                    788:  0: ZZ
                    789:     BZZ
                    790:  0: ZZ
                    791:     *** Failers
                    792: No match
                    793:     ZZ
                    794: No match
                    795:     abXYZZ
                    796: No match
                    797:     zzz
                    798: No match
                    799:     bzz
                    800: No match
                    801: 
                    802: /(?<!(foo)a)bar/I
                    803: Capturing subpattern count = 1
                    804: No options
                    805: First char = 'b'
                    806: Need char = 'r'
                    807:     bar
                    808:  0: bar
                    809:     foobbar
                    810:  0: bar
                    811:     *** Failers
                    812: No match
                    813:     fooabar
                    814: No match
                    815: 
                    816: /This one is here because Perl 5.005_02 doesn't fail it/I
                    817: Capturing subpattern count = 0
                    818: No options
                    819: First char = 'T'
                    820: Need char = 't'
                    821: 
                    822: /^(a)?(?(1)a|b)+$/I
                    823: Capturing subpattern count = 1
                    824: Options: anchored
                    825: No first char
                    826: No need char
                    827:     *** Failers
                    828: No match
                    829:     a
                    830: No match
                    831: 
                    832: /This one is here because Perl behaves differently; see also the following/I
                    833: Capturing subpattern count = 0
                    834: No options
                    835: First char = 'T'
                    836: Need char = 'g'
                    837: 
                    838: /^(a\1?){4}$/I
                    839: Capturing subpattern count = 1
                    840: Max back reference = 1
                    841: Options: anchored
                    842: No first char
                    843: No need char
                    844:     aaaa
                    845: No match
                    846:     aaaaaa
                    847: No match
                    848:     
                    849: /Perl does not fail these two for the final subjects. Neither did PCRE until/
                    850: /release 8.01. The problem is in backtracking into a subpattern that contains/
                    851: No match
                    852: /a recursive reference to itself. PCRE has now made these into atomic patterns./
                    853: No match
                    854: 
                    855: /^(xa|=?\1a){2}$/
                    856:     xa=xaa
                    857:  0: xa=xaa
                    858:  1: =xaa
                    859:     ** Failers
                    860: No match
                    861:     xa=xaaa
                    862: No match
                    863: 
                    864: /^(xa|=?\1a)+$/
                    865:     xa=xaa
                    866:  0: xa=xaa
                    867:  1: =xaa
                    868:     ** Failers
                    869: No match
                    870:     xa=xaaa
                    871: No match
                    872: 
                    873: /These are syntax tests from Perl 5.005/I
                    874: Capturing subpattern count = 0
                    875: No options
                    876: First char = 'T'
                    877: Need char = '5'
                    878: 
                    879: /a[b-a]/
                    880: Failed: range out of order in character class at offset 4
                    881: 
                    882: /a[]b/
                    883: Failed: missing terminating ] for character class at offset 4
                    884: 
                    885: /a[/
                    886: Failed: missing terminating ] for character class at offset 2
                    887: 
                    888: /*a/
                    889: Failed: nothing to repeat at offset 0
                    890: 
                    891: /(*)b/
                    892: Failed: nothing to repeat at offset 1
                    893: 
                    894: /abc)/
                    895: Failed: unmatched parentheses at offset 3
                    896: 
                    897: /(abc/
                    898: Failed: missing ) at offset 4
                    899: 
                    900: /a**/
                    901: Failed: nothing to repeat at offset 2
                    902: 
                    903: /)(/
                    904: Failed: unmatched parentheses at offset 0
                    905: 
                    906: /\1/
                    907: Failed: reference to non-existent subpattern at offset 2
                    908: 
                    909: /\2/
                    910: Failed: reference to non-existent subpattern at offset 2
                    911: 
                    912: /(a)|\2/
                    913: Failed: reference to non-existent subpattern at offset 6
                    914: 
                    915: /a[b-a]/Ii
                    916: Failed: range out of order in character class at offset 4
                    917: 
                    918: /a[]b/Ii
                    919: Failed: missing terminating ] for character class at offset 4
                    920: 
                    921: /a[/Ii
                    922: Failed: missing terminating ] for character class at offset 2
                    923: 
                    924: /*a/Ii
                    925: Failed: nothing to repeat at offset 0
                    926: 
                    927: /(*)b/Ii
                    928: Failed: nothing to repeat at offset 1
                    929: 
                    930: /abc)/Ii
                    931: Failed: unmatched parentheses at offset 3
                    932: 
                    933: /(abc/Ii
                    934: Failed: missing ) at offset 4
                    935: 
                    936: /a**/Ii
                    937: Failed: nothing to repeat at offset 2
                    938: 
                    939: /)(/Ii
                    940: Failed: unmatched parentheses at offset 0
                    941: 
                    942: /:(?:/
                    943: Failed: missing ) at offset 4
                    944: 
                    945: /(?<%)b/
                    946: Failed: unrecognized character after (?< at offset 3
                    947: 
                    948: /a(?{)b/
                    949: Failed: unrecognized character after (? or (?- at offset 3
                    950: 
                    951: /a(?{{})b/
                    952: Failed: unrecognized character after (? or (?- at offset 3
                    953: 
                    954: /a(?{}})b/
                    955: Failed: unrecognized character after (? or (?- at offset 3
                    956: 
                    957: /a(?{"{"})b/
                    958: Failed: unrecognized character after (? or (?- at offset 3
                    959: 
                    960: /a(?{"{"}})b/
                    961: Failed: unrecognized character after (? or (?- at offset 3
                    962: 
                    963: /(?(1?)a|b)/
                    964: Failed: malformed number or name after (?( at offset 4
                    965: 
                    966: /[a[:xyz:/
                    967: Failed: missing terminating ] for character class at offset 8
                    968: 
                    969: /(?<=x+)y/
                    970: Failed: lookbehind assertion is not fixed length at offset 6
                    971: 
                    972: /a{37,17}/
                    973: Failed: numbers out of order in {} quantifier at offset 7
                    974: 
                    975: /abc/\
                    976: Failed: \ at end of pattern at offset 4
                    977: 
                    978: /abc/\i
                    979: Failed: \ at end of pattern at offset 4
                    980: 
                    981: /(a)bc(d)/I
                    982: Capturing subpattern count = 2
                    983: No options
                    984: First char = 'a'
                    985: Need char = 'd'
                    986:     abcd
                    987:  0: abcd
                    988:  1: a
                    989:  2: d
                    990:     abcd\C2
                    991:  0: abcd
                    992:  1: a
                    993:  2: d
                    994:  2C d (1)
                    995:     abcd\C5
                    996:  0: abcd
                    997:  1: a
                    998:  2: d
                    999: copy substring 5 failed -7
                   1000: 
                   1001: /(.{20})/I
                   1002: Capturing subpattern count = 1
                   1003: No options
                   1004: No first char
                   1005: No need char
                   1006:     abcdefghijklmnopqrstuvwxyz
                   1007:  0: abcdefghijklmnopqrst
                   1008:  1: abcdefghijklmnopqrst
                   1009:     abcdefghijklmnopqrstuvwxyz\C1
                   1010:  0: abcdefghijklmnopqrst
                   1011:  1: abcdefghijklmnopqrst
                   1012:  1C abcdefghijklmnopqrst (20)
                   1013:     abcdefghijklmnopqrstuvwxyz\G1
                   1014:  0: abcdefghijklmnopqrst
                   1015:  1: abcdefghijklmnopqrst
                   1016:  1G abcdefghijklmnopqrst (20)
                   1017: 
                   1018: /(.{15})/I
                   1019: Capturing subpattern count = 1
                   1020: No options
                   1021: No first char
                   1022: No need char
                   1023:     abcdefghijklmnopqrstuvwxyz
                   1024:  0: abcdefghijklmno
                   1025:  1: abcdefghijklmno
                   1026:     abcdefghijklmnopqrstuvwxyz\C1\G1
                   1027:  0: abcdefghijklmno
                   1028:  1: abcdefghijklmno
                   1029:  1C abcdefghijklmno (15)
                   1030:  1G abcdefghijklmno (15)
                   1031: 
                   1032: /(.{16})/I
                   1033: Capturing subpattern count = 1
                   1034: No options
                   1035: No first char
                   1036: No need char
                   1037:     abcdefghijklmnopqrstuvwxyz
                   1038:  0: abcdefghijklmnop
                   1039:  1: abcdefghijklmnop
                   1040:     abcdefghijklmnopqrstuvwxyz\C1\G1\L
                   1041:  0: abcdefghijklmnop
                   1042:  1: abcdefghijklmnop
                   1043:  1C abcdefghijklmnop (16)
                   1044:  1G abcdefghijklmnop (16)
                   1045:  0L abcdefghijklmnop
                   1046:  1L abcdefghijklmnop
                   1047: 
                   1048: /^(a|(bc))de(f)/I
                   1049: Capturing subpattern count = 3
                   1050: Options: anchored
                   1051: No first char
                   1052: No need char
                   1053:     adef\G1\G2\G3\G4\L
                   1054:  0: adef
                   1055:  1: a
                   1056:  2: <unset>
                   1057:  3: f
                   1058:  1G a (1)
                   1059:  2G  (0)
                   1060:  3G f (1)
                   1061: get substring 4 failed -7
                   1062:  0L adef
                   1063:  1L a
                   1064:  2L 
                   1065:  3L f
                   1066:     bcdef\G1\G2\G3\G4\L
                   1067:  0: bcdef
                   1068:  1: bc
                   1069:  2: bc
                   1070:  3: f
                   1071:  1G bc (2)
                   1072:  2G bc (2)
                   1073:  3G f (1)
                   1074: get substring 4 failed -7
                   1075:  0L bcdef
                   1076:  1L bc
                   1077:  2L bc
                   1078:  3L f
                   1079:     adefghijk\C0
                   1080:  0: adef
                   1081:  1: a
                   1082:  2: <unset>
                   1083:  3: f
                   1084:  0C adef (4)
                   1085: 
                   1086: /^abc\00def/I
                   1087: Capturing subpattern count = 0
                   1088: Options: anchored
                   1089: No first char
                   1090: No need char
                   1091:     abc\00def\L\C0
                   1092:  0: abc\x00def
1.1.1.2 ! misho    1093:  0C abc\x00def (7)
1.1       misho    1094:  0L abc
                   1095: 
                   1096: /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
                   1097: )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
                   1098: )?)?)?)?)?)?)?)?)?otherword/I
                   1099: Capturing subpattern count = 8
                   1100: Contains explicit CR or LF match
                   1101: No options
                   1102: First char = 'w'
                   1103: Need char = 'd'
                   1104: 
                   1105: /.*X/IDZ
                   1106: ------------------------------------------------------------------
                   1107:         Bra
                   1108:         Any*
                   1109:         X
                   1110:         Ket
                   1111:         End
                   1112: ------------------------------------------------------------------
                   1113: Capturing subpattern count = 0
                   1114: No options
                   1115: First char at start or follows newline
                   1116: Need char = 'X'
                   1117: 
                   1118: /.*X/IDZs
                   1119: ------------------------------------------------------------------
                   1120:         Bra
                   1121:         AllAny*
                   1122:         X
                   1123:         Ket
                   1124:         End
                   1125: ------------------------------------------------------------------
                   1126: Capturing subpattern count = 0
                   1127: Options: anchored dotall
                   1128: No first char
                   1129: Need char = 'X'
                   1130: 
                   1131: /(.*X|^B)/IDZ
                   1132: ------------------------------------------------------------------
                   1133:         Bra
                   1134:         CBra 1
                   1135:         Any*
                   1136:         X
                   1137:         Alt
                   1138:         ^
                   1139:         B
                   1140:         Ket
                   1141:         Ket
                   1142:         End
                   1143: ------------------------------------------------------------------
                   1144: Capturing subpattern count = 1
                   1145: No options
                   1146: First char at start or follows newline
                   1147: No need char
                   1148: 
                   1149: /(.*X|^B)/IDZs
                   1150: ------------------------------------------------------------------
                   1151:         Bra
                   1152:         CBra 1
                   1153:         AllAny*
                   1154:         X
                   1155:         Alt
                   1156:         ^
                   1157:         B
                   1158:         Ket
                   1159:         Ket
                   1160:         End
                   1161: ------------------------------------------------------------------
                   1162: Capturing subpattern count = 1
                   1163: Options: anchored dotall
                   1164: No first char
                   1165: No need char
                   1166: 
                   1167: /(?s)(.*X|^B)/IDZ
                   1168: ------------------------------------------------------------------
                   1169:         Bra
                   1170:         CBra 1
                   1171:         AllAny*
                   1172:         X
                   1173:         Alt
                   1174:         ^
                   1175:         B
                   1176:         Ket
                   1177:         Ket
                   1178:         End
                   1179: ------------------------------------------------------------------
                   1180: Capturing subpattern count = 1
                   1181: Options: anchored dotall
                   1182: No first char
                   1183: No need char
                   1184: 
                   1185: /(?s:.*X|^B)/IDZ
                   1186: ------------------------------------------------------------------
                   1187:         Bra
                   1188:         Bra
                   1189:         AllAny*
                   1190:         X
                   1191:         Alt
                   1192:         ^
                   1193:         B
                   1194:         Ket
                   1195:         Ket
                   1196:         End
                   1197: ------------------------------------------------------------------
                   1198: Capturing subpattern count = 0
                   1199: Options: anchored
                   1200: No first char
                   1201: No need char
                   1202: 
                   1203: /\Biss\B/I+
                   1204: Capturing subpattern count = 0
                   1205: No options
                   1206: First char = 'i'
                   1207: Need char = 's'
                   1208:     Mississippi
                   1209:  0: iss
                   1210:  0+ issippi
                   1211: 
                   1212: /iss/IG+
                   1213: Capturing subpattern count = 0
                   1214: No options
                   1215: First char = 'i'
                   1216: Need char = 's'
                   1217:     Mississippi
                   1218:  0: iss
                   1219:  0+ issippi
                   1220:  0: iss
                   1221:  0+ ippi
                   1222: 
                   1223: /\Biss\B/IG+
                   1224: Capturing subpattern count = 0
                   1225: No options
                   1226: First char = 'i'
                   1227: Need char = 's'
                   1228:     Mississippi
                   1229:  0: iss
                   1230:  0+ issippi
                   1231: 
                   1232: /\Biss\B/Ig+
                   1233: Capturing subpattern count = 0
                   1234: No options
                   1235: First char = 'i'
                   1236: Need char = 's'
                   1237:     Mississippi
                   1238:  0: iss
                   1239:  0+ issippi
                   1240:  0: iss
                   1241:  0+ ippi
                   1242:     *** Failers
                   1243: No match
                   1244:     Mississippi\A
                   1245: No match
                   1246: 
                   1247: /(?<=[Ms])iss/Ig+
                   1248: Capturing subpattern count = 0
                   1249: No options
                   1250: First char = 'i'
                   1251: Need char = 's'
                   1252:     Mississippi
                   1253:  0: iss
                   1254:  0+ issippi
                   1255:  0: iss
                   1256:  0+ ippi
                   1257: 
                   1258: /(?<=[Ms])iss/IG+
                   1259: Capturing subpattern count = 0
                   1260: No options
                   1261: First char = 'i'
                   1262: Need char = 's'
                   1263:     Mississippi
                   1264:  0: iss
                   1265:  0+ issippi
                   1266: 
                   1267: /^iss/Ig+
                   1268: Capturing subpattern count = 0
                   1269: Options: anchored
                   1270: No first char
                   1271: No need char
                   1272:     ississippi
                   1273:  0: iss
                   1274:  0+ issippi
                   1275: 
                   1276: /.*iss/Ig+
                   1277: Capturing subpattern count = 0
                   1278: No options
                   1279: First char at start or follows newline
                   1280: Need char = 's'
                   1281:     abciss\nxyzisspqr
                   1282:  0: abciss
                   1283:  0+ \x0axyzisspqr
                   1284:  0: xyziss
                   1285:  0+ pqr
                   1286: 
                   1287: /.i./I+g
                   1288: Capturing subpattern count = 0
                   1289: No options
                   1290: No first char
                   1291: Need char = 'i'
                   1292:     Mississippi
                   1293:  0: Mis
                   1294:  0+ sissippi
                   1295:  0: sis
                   1296:  0+ sippi
                   1297:  0: sip
                   1298:  0+ pi
                   1299:     Mississippi\A
                   1300:  0: Mis
                   1301:  0+ sissippi
                   1302:  0: sis
                   1303:  0+ sippi
                   1304:  0: sip
                   1305:  0+ pi
                   1306:     Missouri river
                   1307:  0: Mis
                   1308:  0+ souri river
                   1309:  0: ri 
                   1310:  0+ river
                   1311:  0: riv
                   1312:  0+ er
                   1313:     Missouri river\A
                   1314:  0: Mis
                   1315:  0+ souri river
                   1316: 
                   1317: /^.is/I+g
                   1318: Capturing subpattern count = 0
                   1319: Options: anchored
                   1320: No first char
                   1321: No need char
                   1322:     Mississippi
                   1323:  0: Mis
                   1324:  0+ sissippi
                   1325: 
                   1326: /^ab\n/Ig+
                   1327: Capturing subpattern count = 0
                   1328: Contains explicit CR or LF match
                   1329: Options: anchored
                   1330: No first char
                   1331: No need char
                   1332:     ab\nab\ncd
                   1333:  0: ab\x0a
                   1334:  0+ ab\x0acd
                   1335: 
                   1336: /^ab\n/Img+
                   1337: Capturing subpattern count = 0
                   1338: Contains explicit CR or LF match
                   1339: Options: multiline
                   1340: First char at start or follows newline
1.1.1.2 ! misho    1341: Need char = \x0a
1.1       misho    1342:     ab\nab\ncd
                   1343:  0: ab\x0a
                   1344:  0+ ab\x0acd
                   1345:  0: ab\x0a
                   1346:  0+ cd
                   1347: 
                   1348: /abc/I
                   1349: Capturing subpattern count = 0
                   1350: No options
                   1351: First char = 'a'
                   1352: Need char = 'c'
                   1353: 
                   1354: /abc|bac/I
                   1355: Capturing subpattern count = 0
                   1356: No options
                   1357: No first char
                   1358: Need char = 'c'
                   1359: 
                   1360: /(abc|bac)/I
                   1361: Capturing subpattern count = 1
                   1362: No options
                   1363: No first char
                   1364: Need char = 'c'
                   1365: 
                   1366: /(abc|(c|dc))/I
                   1367: Capturing subpattern count = 2
                   1368: No options
                   1369: No first char
                   1370: Need char = 'c'
                   1371: 
                   1372: /(abc|(d|de)c)/I
                   1373: Capturing subpattern count = 2
                   1374: No options
                   1375: No first char
                   1376: Need char = 'c'
                   1377: 
                   1378: /a*/I
                   1379: Capturing subpattern count = 0
                   1380: No options
                   1381: No first char
                   1382: No need char
                   1383: 
                   1384: /a+/I
                   1385: Capturing subpattern count = 0
                   1386: No options
                   1387: First char = 'a'
                   1388: No need char
                   1389: 
                   1390: /(baa|a+)/I
                   1391: Capturing subpattern count = 1
                   1392: No options
                   1393: No first char
                   1394: Need char = 'a'
                   1395: 
                   1396: /a{0,3}/I
                   1397: Capturing subpattern count = 0
                   1398: No options
                   1399: No first char
                   1400: No need char
                   1401: 
                   1402: /baa{3,}/I
                   1403: Capturing subpattern count = 0
                   1404: No options
                   1405: First char = 'b'
                   1406: Need char = 'a'
                   1407: 
                   1408: /"([^\\"]+|\\.)*"/I
                   1409: Capturing subpattern count = 1
                   1410: No options
                   1411: First char = '"'
                   1412: Need char = '"'
                   1413: 
                   1414: /(abc|ab[cd])/I
                   1415: Capturing subpattern count = 1
                   1416: No options
                   1417: First char = 'a'
                   1418: No need char
                   1419: 
                   1420: /(a|.)/I
                   1421: Capturing subpattern count = 1
                   1422: No options
                   1423: No first char
                   1424: No need char
                   1425: 
                   1426: /a|ba|\w/I
                   1427: Capturing subpattern count = 0
                   1428: No options
                   1429: No first char
                   1430: No need char
                   1431: 
                   1432: /abc(?=pqr)/I
                   1433: Capturing subpattern count = 0
                   1434: No options
                   1435: First char = 'a'
                   1436: Need char = 'r'
                   1437: 
                   1438: /...(?<=abc)/I
                   1439: Capturing subpattern count = 0
                   1440: No options
                   1441: No first char
                   1442: No need char
                   1443: 
                   1444: /abc(?!pqr)/I
                   1445: Capturing subpattern count = 0
                   1446: No options
                   1447: First char = 'a'
                   1448: Need char = 'c'
                   1449: 
                   1450: /ab./I
                   1451: Capturing subpattern count = 0
                   1452: No options
                   1453: First char = 'a'
                   1454: Need char = 'b'
                   1455: 
                   1456: /ab[xyz]/I
                   1457: Capturing subpattern count = 0
                   1458: No options
                   1459: First char = 'a'
                   1460: Need char = 'b'
                   1461: 
                   1462: /abc*/I
                   1463: Capturing subpattern count = 0
                   1464: No options
                   1465: First char = 'a'
                   1466: Need char = 'b'
                   1467: 
                   1468: /ab.c*/I
                   1469: Capturing subpattern count = 0
                   1470: No options
                   1471: First char = 'a'
                   1472: Need char = 'b'
                   1473: 
                   1474: /a.c*/I
                   1475: Capturing subpattern count = 0
                   1476: No options
                   1477: First char = 'a'
                   1478: No need char
                   1479: 
                   1480: /.c*/I
                   1481: Capturing subpattern count = 0
                   1482: No options
                   1483: No first char
                   1484: No need char
                   1485: 
                   1486: /ac*/I
                   1487: Capturing subpattern count = 0
                   1488: No options
                   1489: First char = 'a'
                   1490: No need char
                   1491: 
                   1492: /(a.c*|b.c*)/I
                   1493: Capturing subpattern count = 1
                   1494: No options
                   1495: No first char
                   1496: No need char
                   1497: 
                   1498: /a.c*|aba/I
                   1499: Capturing subpattern count = 0
                   1500: No options
                   1501: First char = 'a'
                   1502: No need char
                   1503: 
                   1504: /.+a/I
                   1505: Capturing subpattern count = 0
                   1506: No options
                   1507: No first char
                   1508: Need char = 'a'
                   1509: 
                   1510: /(?=abcda)a.*/I
                   1511: Capturing subpattern count = 0
                   1512: No options
                   1513: First char = 'a'
                   1514: Need char = 'a'
                   1515: 
                   1516: /(?=a)a.*/I
                   1517: Capturing subpattern count = 0
                   1518: No options
                   1519: First char = 'a'
                   1520: No need char
                   1521: 
                   1522: /a(b)*/I
                   1523: Capturing subpattern count = 1
                   1524: No options
                   1525: First char = 'a'
                   1526: No need char
                   1527: 
                   1528: /a\d*/I
                   1529: Capturing subpattern count = 0
                   1530: No options
                   1531: First char = 'a'
                   1532: No need char
                   1533: 
                   1534: /ab\d*/I
                   1535: Capturing subpattern count = 0
                   1536: No options
                   1537: First char = 'a'
                   1538: Need char = 'b'
                   1539: 
                   1540: /a(\d)*/I
                   1541: Capturing subpattern count = 1
                   1542: No options
                   1543: First char = 'a'
                   1544: No need char
                   1545: 
                   1546: /abcde{0,0}/I
                   1547: Capturing subpattern count = 0
                   1548: No options
                   1549: First char = 'a'
                   1550: Need char = 'd'
                   1551: 
                   1552: /ab\d+/I
                   1553: Capturing subpattern count = 0
                   1554: No options
                   1555: First char = 'a'
                   1556: Need char = 'b'
                   1557: 
                   1558: /a(?(1)b)(.)/I
                   1559: Capturing subpattern count = 1
                   1560: No options
                   1561: First char = 'a'
                   1562: No need char
                   1563: 
                   1564: /a(?(1)bag|big)(.)/I
                   1565: Capturing subpattern count = 1
                   1566: No options
                   1567: First char = 'a'
                   1568: Need char = 'g'
                   1569: 
                   1570: /a(?(1)bag|big)*(.)/I
                   1571: Capturing subpattern count = 1
                   1572: No options
                   1573: First char = 'a'
                   1574: No need char
                   1575: 
                   1576: /a(?(1)bag|big)+(.)/I
                   1577: Capturing subpattern count = 1
                   1578: No options
                   1579: First char = 'a'
                   1580: Need char = 'g'
                   1581: 
                   1582: /a(?(1)b..|b..)(.)/I
                   1583: Capturing subpattern count = 1
                   1584: No options
                   1585: First char = 'a'
                   1586: Need char = 'b'
                   1587: 
                   1588: /ab\d{0}e/I
                   1589: Capturing subpattern count = 0
                   1590: No options
                   1591: First char = 'a'
                   1592: Need char = 'e'
                   1593: 
                   1594: /a?b?/I
                   1595: Capturing subpattern count = 0
                   1596: No options
                   1597: No first char
                   1598: No need char
                   1599:     a
                   1600:  0: a
                   1601:     b
                   1602:  0: b
                   1603:     ab
                   1604:  0: ab
                   1605:     \
                   1606:  0: 
                   1607:     *** Failers
                   1608:  0: 
                   1609:     \N
                   1610: No match
                   1611: 
                   1612: /|-/I
                   1613: Capturing subpattern count = 0
                   1614: No options
                   1615: No first char
                   1616: No need char
                   1617:     abcd
                   1618:  0: 
                   1619:     -abc
                   1620:  0: 
                   1621:     \Nab-c
                   1622:  0: -
                   1623:     *** Failers
                   1624:  0: 
                   1625:     \Nabc
                   1626: No match
                   1627: 
                   1628: /^.?abcd/IS
                   1629: Capturing subpattern count = 0
                   1630: Options: anchored
                   1631: No first char
                   1632: Need char = 'd'
                   1633: Subject length lower bound = 4
                   1634: No set of starting bytes
                   1635: 
                   1636: /\(             # ( at start
                   1637:   (?:           # Non-capturing bracket
                   1638:   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
                   1639:   |             # Or
                   1640:   (?R)          # Recurse - i.e. nested bracketed string
                   1641:   )*            # Zero or more contents
                   1642:   \)            # Closing )
                   1643:   /Ix
                   1644: Capturing subpattern count = 0
                   1645: Options: extended
                   1646: First char = '('
                   1647: Need char = ')'
                   1648:     (abcd)
                   1649:  0: (abcd)
                   1650:     (abcd)xyz
                   1651:  0: (abcd)
                   1652:     xyz(abcd)
                   1653:  0: (abcd)
                   1654:     (ab(xy)cd)pqr
                   1655:  0: (ab(xy)cd)
                   1656:     (ab(xycd)pqr
                   1657:  0: (xycd)
                   1658:     () abc ()
                   1659:  0: ()
                   1660:     12(abcde(fsh)xyz(foo(bar))lmno)89
                   1661:  0: (abcde(fsh)xyz(foo(bar))lmno)
                   1662:     *** Failers
                   1663: No match
                   1664:     abcd
                   1665: No match
                   1666:     abcd)
                   1667: No match
                   1668:     (abcd
                   1669: No match
                   1670: 
                   1671: /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
                   1672: Capturing subpattern count = 1
                   1673: Options: extended
                   1674: First char = '('
                   1675: Need char = ')'
                   1676:     (ab(xy)cd)pqr
                   1677:  0: (ab(xy)cd)
                   1678:  1: cd
                   1679:     1(abcd)(x(y)z)pqr
                   1680:  0: (abcd)
                   1681:  1: abcd
                   1682:  0: (x(y)z)
                   1683:  1: z
                   1684: 
                   1685: /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
                   1686: Capturing subpattern count = 0
                   1687: Options: extended
                   1688: First char = '('
                   1689: Need char = ')'
                   1690:     (abcd)
                   1691:  0: (abcd)
                   1692:     (ab(xy)cd)
                   1693:  0: (xy)
                   1694:     (a(b(c)d)e)
                   1695:  0: (c)
                   1696:     ((ab))
                   1697:  0: ((ab))
                   1698:     *** Failers
                   1699: No match
                   1700:     ()
                   1701: No match
                   1702: 
                   1703: /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
                   1704: Capturing subpattern count = 0
                   1705: Options: extended
                   1706: First char = '('
                   1707: Need char = ')'
                   1708:     ()
                   1709:  0: ()
                   1710:     12(abcde(fsh)xyz(foo(bar))lmno)89
                   1711:  0: (fsh)
                   1712: 
                   1713: /\(  ( (?>[^()]+) | (?R) )* \) /Ix
                   1714: Capturing subpattern count = 1
                   1715: Options: extended
                   1716: First char = '('
                   1717: Need char = ')'
                   1718:     (ab(xy)cd)
                   1719:  0: (ab(xy)cd)
                   1720:  1: cd
                   1721: 
                   1722: /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1723: Capturing subpattern count = 2
                   1724: Options: extended
                   1725: First char = '('
                   1726: Need char = ')'
                   1727:     (ab(xy)cd)
                   1728:  0: (ab(xy)cd)
                   1729:  1: ab(xy)cd
                   1730:  2: cd
                   1731: 
                   1732: /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1733: Capturing subpattern count = 3
                   1734: Options: extended
                   1735: First char = '('
                   1736: Need char = ')'
                   1737:     (ab(xy)cd)
                   1738:  0: (ab(xy)cd)
                   1739:  1: <unset>
                   1740:  2: ab(xy)cd
                   1741:  3: cd
                   1742:     (123ab(xy)cd)
                   1743:  0: (123ab(xy)cd)
                   1744:  1: 123
                   1745:  2: ab(xy)cd
                   1746:  3: cd
                   1747: 
                   1748: /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1749: Capturing subpattern count = 3
                   1750: Options: extended
                   1751: First char = '('
                   1752: Need char = ')'
                   1753:     (ab(xy)cd)
                   1754:  0: (ab(xy)cd)
                   1755:  1: ab(xy)cd
                   1756:  2: <unset>
                   1757:  3: cd
                   1758:     (123ab(xy)cd)
                   1759:  0: (123ab(xy)cd)
                   1760:  1: 123ab(xy)cd
                   1761:  2: 123
                   1762:  3: cd
                   1763: 
                   1764: /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
                   1765: Capturing subpattern count = 11
                   1766: Options: extended
                   1767: First char = '('
                   1768: Need char = ')'
                   1769:     (ab(xy)cd)
                   1770:  0: (ab(xy)cd)
                   1771:  1: ab(xy)cd
                   1772:  2: ab(xy)cd
                   1773:  3: ab(xy)cd
                   1774:  4: ab(xy)cd
                   1775:  5: ab(xy)cd
                   1776:  6: ab(xy)cd
                   1777:  7: ab(xy)cd
                   1778:  8: ab(xy)cd
                   1779:  9: ab(xy)cd
                   1780: 10: ab(xy)cd
                   1781: 11: cd
                   1782: 
                   1783: /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
                   1784: Capturing subpattern count = 3
                   1785: Options: extended
                   1786: First char = '('
                   1787: Need char = ')'
                   1788:     (abcd(xyz<p>qrs)123)
                   1789:  0: (abcd(xyz<p>qrs)123)
                   1790:  1: abcd(xyz<p>qrs)123
                   1791:  2: 123
                   1792: 
                   1793: /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
                   1794: Capturing subpattern count = 3
                   1795: Options: extended
                   1796: First char = '('
                   1797: Need char = ')'
                   1798:     (ab(cd)ef)
                   1799:  0: (ab(cd)ef)
                   1800:  1: ab(cd)ef
                   1801:  2: ef
                   1802:  3: (cd)
                   1803:     (ab(cd(ef)gh)ij)
                   1804:  0: (ab(cd(ef)gh)ij)
                   1805:  1: ab(cd(ef)gh)ij
                   1806:  2: ij
                   1807:  3: (cd(ef)gh)
                   1808: 
                   1809: /^[[:alnum:]]/DZ
                   1810: ------------------------------------------------------------------
                   1811:         Bra
                   1812:         ^
                   1813:         [0-9A-Za-z]
                   1814:         Ket
                   1815:         End
                   1816: ------------------------------------------------------------------
                   1817: Capturing subpattern count = 0
                   1818: Options: anchored
                   1819: No first char
                   1820: No need char
                   1821: 
                   1822: /^[[:^alnum:]]/DZ
                   1823: ------------------------------------------------------------------
                   1824:         Bra
                   1825:         ^
                   1826:         [\x00-/:-@[-`{-\xff] (neg)
                   1827:         Ket
                   1828:         End
                   1829: ------------------------------------------------------------------
                   1830: Capturing subpattern count = 0
                   1831: Options: anchored
                   1832: No first char
                   1833: No need char
                   1834: 
                   1835: /^[[:alpha:]]/DZ
                   1836: ------------------------------------------------------------------
                   1837:         Bra
                   1838:         ^
                   1839:         [A-Za-z]
                   1840:         Ket
                   1841:         End
                   1842: ------------------------------------------------------------------
                   1843: Capturing subpattern count = 0
                   1844: Options: anchored
                   1845: No first char
                   1846: No need char
                   1847: 
                   1848: /^[[:^alpha:]]/DZ
                   1849: ------------------------------------------------------------------
                   1850:         Bra
                   1851:         ^
                   1852:         [\x00-@[-`{-\xff] (neg)
                   1853:         Ket
                   1854:         End
                   1855: ------------------------------------------------------------------
                   1856: Capturing subpattern count = 0
                   1857: Options: anchored
                   1858: No first char
                   1859: No need char
                   1860: 
                   1861: /[_[:alpha:]]/IS
                   1862: Capturing subpattern count = 0
                   1863: No options
                   1864: No first char
                   1865: No need char
                   1866: Subject length lower bound = 1
                   1867: 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 
                   1868:   _ 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 
                   1869: 
                   1870: /^[[:ascii:]]/DZ
                   1871: ------------------------------------------------------------------
                   1872:         Bra
                   1873:         ^
                   1874:         [\x00-\x7f]
                   1875:         Ket
                   1876:         End
                   1877: ------------------------------------------------------------------
                   1878: Capturing subpattern count = 0
                   1879: Options: anchored
                   1880: No first char
                   1881: No need char
                   1882: 
                   1883: /^[[:^ascii:]]/DZ
                   1884: ------------------------------------------------------------------
                   1885:         Bra
                   1886:         ^
                   1887:         [\x80-\xff] (neg)
                   1888:         Ket
                   1889:         End
                   1890: ------------------------------------------------------------------
                   1891: Capturing subpattern count = 0
                   1892: Options: anchored
                   1893: No first char
                   1894: No need char
                   1895: 
                   1896: /^[[:blank:]]/DZ
                   1897: ------------------------------------------------------------------
                   1898:         Bra
                   1899:         ^
                   1900:         [\x09 ]
                   1901:         Ket
                   1902:         End
                   1903: ------------------------------------------------------------------
                   1904: Capturing subpattern count = 0
                   1905: Options: anchored
                   1906: No first char
                   1907: No need char
                   1908: 
                   1909: /^[[:^blank:]]/DZ
                   1910: ------------------------------------------------------------------
                   1911:         Bra
                   1912:         ^
                   1913:         [\x00-\x08\x0a-\x1f!-\xff] (neg)
                   1914:         Ket
                   1915:         End
                   1916: ------------------------------------------------------------------
                   1917: Capturing subpattern count = 0
                   1918: Options: anchored
                   1919: No first char
                   1920: No need char
                   1921: 
                   1922: /[\n\x0b\x0c\x0d[:blank:]]/IS
                   1923: Capturing subpattern count = 0
                   1924: Contains explicit CR or LF match
                   1925: No options
                   1926: No first char
                   1927: No need char
                   1928: Subject length lower bound = 1
                   1929: Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 
                   1930: 
                   1931: /^[[:cntrl:]]/DZ
                   1932: ------------------------------------------------------------------
                   1933:         Bra
                   1934:         ^
                   1935:         [\x00-\x1f\x7f]
                   1936:         Ket
                   1937:         End
                   1938: ------------------------------------------------------------------
                   1939: Capturing subpattern count = 0
                   1940: Options: anchored
                   1941: No first char
                   1942: No need char
                   1943: 
                   1944: /^[[:digit:]]/DZ
                   1945: ------------------------------------------------------------------
                   1946:         Bra
                   1947:         ^
                   1948:         [0-9]
                   1949:         Ket
                   1950:         End
                   1951: ------------------------------------------------------------------
                   1952: Capturing subpattern count = 0
                   1953: Options: anchored
                   1954: No first char
                   1955: No need char
                   1956: 
                   1957: /^[[:graph:]]/DZ
                   1958: ------------------------------------------------------------------
                   1959:         Bra
                   1960:         ^
                   1961:         [!-~]
                   1962:         Ket
                   1963:         End
                   1964: ------------------------------------------------------------------
                   1965: Capturing subpattern count = 0
                   1966: Options: anchored
                   1967: No first char
                   1968: No need char
                   1969: 
                   1970: /^[[:lower:]]/DZ
                   1971: ------------------------------------------------------------------
                   1972:         Bra
                   1973:         ^
                   1974:         [a-z]
                   1975:         Ket
                   1976:         End
                   1977: ------------------------------------------------------------------
                   1978: Capturing subpattern count = 0
                   1979: Options: anchored
                   1980: No first char
                   1981: No need char
                   1982: 
                   1983: /^[[:print:]]/DZ
                   1984: ------------------------------------------------------------------
                   1985:         Bra
                   1986:         ^
                   1987:         [ -~]
                   1988:         Ket
                   1989:         End
                   1990: ------------------------------------------------------------------
                   1991: Capturing subpattern count = 0
                   1992: Options: anchored
                   1993: No first char
                   1994: No need char
                   1995: 
                   1996: /^[[:punct:]]/DZ
                   1997: ------------------------------------------------------------------
                   1998:         Bra
                   1999:         ^
                   2000:         [!-/:-@[-`{-~]
                   2001:         Ket
                   2002:         End
                   2003: ------------------------------------------------------------------
                   2004: Capturing subpattern count = 0
                   2005: Options: anchored
                   2006: No first char
                   2007: No need char
                   2008: 
                   2009: /^[[:space:]]/DZ
                   2010: ------------------------------------------------------------------
                   2011:         Bra
                   2012:         ^
                   2013:         [\x09-\x0d ]
                   2014:         Ket
                   2015:         End
                   2016: ------------------------------------------------------------------
                   2017: Capturing subpattern count = 0
                   2018: Options: anchored
                   2019: No first char
                   2020: No need char
                   2021: 
                   2022: /^[[:upper:]]/DZ
                   2023: ------------------------------------------------------------------
                   2024:         Bra
                   2025:         ^
                   2026:         [A-Z]
                   2027:         Ket
                   2028:         End
                   2029: ------------------------------------------------------------------
                   2030: Capturing subpattern count = 0
                   2031: Options: anchored
                   2032: No first char
                   2033: No need char
                   2034: 
                   2035: /^[[:xdigit:]]/DZ
                   2036: ------------------------------------------------------------------
                   2037:         Bra
                   2038:         ^
                   2039:         [0-9A-Fa-f]
                   2040:         Ket
                   2041:         End
                   2042: ------------------------------------------------------------------
                   2043: Capturing subpattern count = 0
                   2044: Options: anchored
                   2045: No first char
                   2046: No need char
                   2047: 
                   2048: /^[[:word:]]/DZ
                   2049: ------------------------------------------------------------------
                   2050:         Bra
                   2051:         ^
                   2052:         [0-9A-Z_a-z]
                   2053:         Ket
                   2054:         End
                   2055: ------------------------------------------------------------------
                   2056: Capturing subpattern count = 0
                   2057: Options: anchored
                   2058: No first char
                   2059: No need char
                   2060: 
                   2061: /^[[:^cntrl:]]/DZ
                   2062: ------------------------------------------------------------------
                   2063:         Bra
                   2064:         ^
                   2065:         [ -~\x80-\xff] (neg)
                   2066:         Ket
                   2067:         End
                   2068: ------------------------------------------------------------------
                   2069: Capturing subpattern count = 0
                   2070: Options: anchored
                   2071: No first char
                   2072: No need char
                   2073: 
                   2074: /^[12[:^digit:]]/DZ
                   2075: ------------------------------------------------------------------
                   2076:         Bra
                   2077:         ^
                   2078:         [\x00-/12:-\xff] (neg)
                   2079:         Ket
                   2080:         End
                   2081: ------------------------------------------------------------------
                   2082: Capturing subpattern count = 0
                   2083: Options: anchored
                   2084: No first char
                   2085: No need char
                   2086: 
                   2087: /^[[:^blank:]]/DZ
                   2088: ------------------------------------------------------------------
                   2089:         Bra
                   2090:         ^
                   2091:         [\x00-\x08\x0a-\x1f!-\xff] (neg)
                   2092:         Ket
                   2093:         End
                   2094: ------------------------------------------------------------------
                   2095: Capturing subpattern count = 0
                   2096: Options: anchored
                   2097: No first char
                   2098: No need char
                   2099: 
                   2100: /[01[:alpha:]%]/DZ
                   2101: ------------------------------------------------------------------
                   2102:         Bra
                   2103:         [%01A-Za-z]
                   2104:         Ket
                   2105:         End
                   2106: ------------------------------------------------------------------
                   2107: Capturing subpattern count = 0
                   2108: No options
                   2109: No first char
                   2110: No need char
                   2111: 
                   2112: /[[.ch.]]/I
                   2113: Failed: POSIX collating elements are not supported at offset 1
                   2114: 
                   2115: /[[=ch=]]/I
                   2116: Failed: POSIX collating elements are not supported at offset 1
                   2117: 
                   2118: /[[:rhubarb:]]/I
                   2119: Failed: unknown POSIX class name at offset 3
                   2120: 
                   2121: /[[:upper:]]/Ii
                   2122: Capturing subpattern count = 0
                   2123: Options: caseless
                   2124: No first char
                   2125: No need char
                   2126:     A
                   2127:  0: A
                   2128:     a
                   2129:  0: a
                   2130: 
                   2131: /[[:lower:]]/Ii
                   2132: Capturing subpattern count = 0
                   2133: Options: caseless
                   2134: No first char
                   2135: No need char
                   2136:     A
                   2137:  0: A
                   2138:     a
                   2139:  0: a
                   2140: 
                   2141: /((?-i)[[:lower:]])[[:lower:]]/Ii
                   2142: Capturing subpattern count = 1
                   2143: Options: caseless
                   2144: No first char
                   2145: No need char
                   2146:     ab
                   2147:  0: ab
                   2148:  1: a
                   2149:     aB
                   2150:  0: aB
                   2151:  1: a
                   2152:     *** Failers
                   2153:  0: ai
                   2154:  1: a
                   2155:     Ab
                   2156: No match
                   2157:     AB
                   2158: No match
                   2159: 
                   2160: /[\200-\110]/I
                   2161: Failed: range out of order in character class at offset 9
                   2162: 
                   2163: /^(?(0)f|b)oo/I
                   2164: Failed: invalid condition (?(0) at offset 6
                   2165: 
                   2166: /This one's here because of the large output vector needed/I
                   2167: Capturing subpattern count = 0
                   2168: No options
                   2169: First char = 'T'
                   2170: Need char = 'd'
                   2171: 
                   2172: /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
                   2173: Capturing subpattern count = 271
                   2174: Max back reference = 270
                   2175: No options
                   2176: No first char
                   2177: No need char
                   2178:     \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
                   2179:  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
                   2180:  1: 1 
                   2181:  2: 2 
                   2182:  3: 3 
                   2183:  4: 4 
                   2184:  5: 5 
                   2185:  6: 6 
                   2186:  7: 7 
                   2187:  8: 8 
                   2188:  9: 9 
                   2189: 10: 10 
                   2190: 11: 11 
                   2191: 12: 12 
                   2192: 13: 13 
                   2193: 14: 14 
                   2194: 15: 15 
                   2195: 16: 16 
                   2196: 17: 17 
                   2197: 18: 18 
                   2198: 19: 19 
                   2199: 20: 20 
                   2200: 21: 21 
                   2201: 22: 22 
                   2202: 23: 23 
                   2203: 24: 24 
                   2204: 25: 25 
                   2205: 26: 26 
                   2206: 27: 27 
                   2207: 28: 28 
                   2208: 29: 29 
                   2209: 30: 30 
                   2210: 31: 31 
                   2211: 32: 32 
                   2212: 33: 33 
                   2213: 34: 34 
                   2214: 35: 35 
                   2215: 36: 36 
                   2216: 37: 37 
                   2217: 38: 38 
                   2218: 39: 39 
                   2219: 40: 40 
                   2220: 41: 41 
                   2221: 42: 42 
                   2222: 43: 43 
                   2223: 44: 44 
                   2224: 45: 45 
                   2225: 46: 46 
                   2226: 47: 47 
                   2227: 48: 48 
                   2228: 49: 49 
                   2229: 50: 50 
                   2230: 51: 51 
                   2231: 52: 52 
                   2232: 53: 53 
                   2233: 54: 54 
                   2234: 55: 55 
                   2235: 56: 56 
                   2236: 57: 57 
                   2237: 58: 58 
                   2238: 59: 59 
                   2239: 60: 60 
                   2240: 61: 61 
                   2241: 62: 62 
                   2242: 63: 63 
                   2243: 64: 64 
                   2244: 65: 65 
                   2245: 66: 66 
                   2246: 67: 67 
                   2247: 68: 68 
                   2248: 69: 69 
                   2249: 70: 70 
                   2250: 71: 71 
                   2251: 72: 72 
                   2252: 73: 73 
                   2253: 74: 74 
                   2254: 75: 75 
                   2255: 76: 76 
                   2256: 77: 77 
                   2257: 78: 78 
                   2258: 79: 79 
                   2259: 80: 80 
                   2260: 81: 81 
                   2261: 82: 82 
                   2262: 83: 83 
                   2263: 84: 84 
                   2264: 85: 85 
                   2265: 86: 86 
                   2266: 87: 87 
                   2267: 88: 88 
                   2268: 89: 89 
                   2269: 90: 90 
                   2270: 91: 91 
                   2271: 92: 92 
                   2272: 93: 93 
                   2273: 94: 94 
                   2274: 95: 95 
                   2275: 96: 96 
                   2276: 97: 97 
                   2277: 98: 98 
                   2278: 99: 99 
                   2279: 100: 100 
                   2280: 101: 101 
                   2281: 102: 102 
                   2282: 103: 103 
                   2283: 104: 104 
                   2284: 105: 105 
                   2285: 106: 106 
                   2286: 107: 107 
                   2287: 108: 108 
                   2288: 109: 109 
                   2289: 110: 110 
                   2290: 111: 111 
                   2291: 112: 112 
                   2292: 113: 113 
                   2293: 114: 114 
                   2294: 115: 115 
                   2295: 116: 116 
                   2296: 117: 117 
                   2297: 118: 118 
                   2298: 119: 119 
                   2299: 120: 120 
                   2300: 121: 121 
                   2301: 122: 122 
                   2302: 123: 123 
                   2303: 124: 124 
                   2304: 125: 125 
                   2305: 126: 126 
                   2306: 127: 127 
                   2307: 128: 128 
                   2308: 129: 129 
                   2309: 130: 130 
                   2310: 131: 131 
                   2311: 132: 132 
                   2312: 133: 133 
                   2313: 134: 134 
                   2314: 135: 135 
                   2315: 136: 136 
                   2316: 137: 137 
                   2317: 138: 138 
                   2318: 139: 139 
                   2319: 140: 140 
                   2320: 141: 141 
                   2321: 142: 142 
                   2322: 143: 143 
                   2323: 144: 144 
                   2324: 145: 145 
                   2325: 146: 146 
                   2326: 147: 147 
                   2327: 148: 148 
                   2328: 149: 149 
                   2329: 150: 150 
                   2330: 151: 151 
                   2331: 152: 152 
                   2332: 153: 153 
                   2333: 154: 154 
                   2334: 155: 155 
                   2335: 156: 156 
                   2336: 157: 157 
                   2337: 158: 158 
                   2338: 159: 159 
                   2339: 160: 160 
                   2340: 161: 161 
                   2341: 162: 162 
                   2342: 163: 163 
                   2343: 164: 164 
                   2344: 165: 165 
                   2345: 166: 166 
                   2346: 167: 167 
                   2347: 168: 168 
                   2348: 169: 169 
                   2349: 170: 170 
                   2350: 171: 171 
                   2351: 172: 172 
                   2352: 173: 173 
                   2353: 174: 174 
                   2354: 175: 175 
                   2355: 176: 176 
                   2356: 177: 177 
                   2357: 178: 178 
                   2358: 179: 179 
                   2359: 180: 180 
                   2360: 181: 181 
                   2361: 182: 182 
                   2362: 183: 183 
                   2363: 184: 184 
                   2364: 185: 185 
                   2365: 186: 186 
                   2366: 187: 187 
                   2367: 188: 188 
                   2368: 189: 189 
                   2369: 190: 190 
                   2370: 191: 191 
                   2371: 192: 192 
                   2372: 193: 193 
                   2373: 194: 194 
                   2374: 195: 195 
                   2375: 196: 196 
                   2376: 197: 197 
                   2377: 198: 198 
                   2378: 199: 199 
                   2379: 200: 200 
                   2380: 201: 201 
                   2381: 202: 202 
                   2382: 203: 203 
                   2383: 204: 204 
                   2384: 205: 205 
                   2385: 206: 206 
                   2386: 207: 207 
                   2387: 208: 208 
                   2388: 209: 209 
                   2389: 210: 210 
                   2390: 211: 211 
                   2391: 212: 212 
                   2392: 213: 213 
                   2393: 214: 214 
                   2394: 215: 215 
                   2395: 216: 216 
                   2396: 217: 217 
                   2397: 218: 218 
                   2398: 219: 219 
                   2399: 220: 220 
                   2400: 221: 221 
                   2401: 222: 222 
                   2402: 223: 223 
                   2403: 224: 224 
                   2404: 225: 225 
                   2405: 226: 226 
                   2406: 227: 227 
                   2407: 228: 228 
                   2408: 229: 229 
                   2409: 230: 230 
                   2410: 231: 231 
                   2411: 232: 232 
                   2412: 233: 233 
                   2413: 234: 234 
                   2414: 235: 235 
                   2415: 236: 236 
                   2416: 237: 237 
                   2417: 238: 238 
                   2418: 239: 239 
                   2419: 240: 240 
                   2420: 241: 241 
                   2421: 242: 242 
                   2422: 243: 243 
                   2423: 244: 244 
                   2424: 245: 245 
                   2425: 246: 246 
                   2426: 247: 247 
                   2427: 248: 248 
                   2428: 249: 249 
                   2429: 250: 250 
                   2430: 251: 251 
                   2431: 252: 252 
                   2432: 253: 253 
                   2433: 254: 254 
                   2434: 255: 255 
                   2435: 256: 256 
                   2436: 257: 257 
                   2437: 258: 258 
                   2438: 259: 259 
                   2439: 260: 260 
                   2440: 261: 261 
                   2441: 262: 262 
                   2442: 263: 263 
                   2443: 264: 264 
                   2444: 265: 265 
                   2445: 266: 266 
                   2446: 267: 267 
                   2447: 268: 268 
                   2448: 269: 269 
                   2449: 270: ABC
                   2450: 271: ABC
                   2451: 
                   2452: /This one's here because Perl does this differently and PCRE can't at present/I
                   2453: Capturing subpattern count = 0
                   2454: No options
                   2455: First char = 'T'
                   2456: Need char = 't'
                   2457: 
                   2458: /(main(O)?)+/I
                   2459: Capturing subpattern count = 2
                   2460: No options
                   2461: First char = 'm'
                   2462: Need char = 'n'
                   2463:     mainmain
                   2464:  0: mainmain
                   2465:  1: main
                   2466:     mainOmain
                   2467:  0: mainOmain
                   2468:  1: main
                   2469:  2: O
                   2470: 
                   2471: /These are all cases where Perl does it differently (nested captures)/I
                   2472: Capturing subpattern count = 1
                   2473: No options
                   2474: First char = 'T'
                   2475: Need char = 's'
                   2476: 
                   2477: /^(a(b)?)+$/I
                   2478: Capturing subpattern count = 2
                   2479: Options: anchored
                   2480: No first char
                   2481: No need char
                   2482:     aba
                   2483:  0: aba
                   2484:  1: a
                   2485:  2: b
                   2486: 
                   2487: /^(aa(bb)?)+$/I
                   2488: Capturing subpattern count = 2
                   2489: Options: anchored
                   2490: No first char
                   2491: No need char
                   2492:     aabbaa
                   2493:  0: aabbaa
                   2494:  1: aa
                   2495:  2: bb
                   2496: 
                   2497: /^(aa|aa(bb))+$/I
                   2498: Capturing subpattern count = 2
                   2499: Options: anchored
                   2500: No first char
                   2501: No need char
                   2502:     aabbaa
                   2503:  0: aabbaa
                   2504:  1: aa
                   2505:  2: bb
                   2506: 
                   2507: /^(aa(bb)??)+$/I
                   2508: Capturing subpattern count = 2
                   2509: Options: anchored
                   2510: No first char
                   2511: No need char
                   2512:     aabbaa
                   2513:  0: aabbaa
                   2514:  1: aa
                   2515:  2: bb
                   2516: 
                   2517: /^(?:aa(bb)?)+$/I
                   2518: Capturing subpattern count = 1
                   2519: Options: anchored
                   2520: No first char
                   2521: No need char
                   2522:     aabbaa
                   2523:  0: aabbaa
                   2524:  1: bb
                   2525: 
                   2526: /^(aa(b(b))?)+$/I
                   2527: Capturing subpattern count = 3
                   2528: Options: anchored
                   2529: No first char
                   2530: No need char
                   2531:     aabbaa
                   2532:  0: aabbaa
                   2533:  1: aa
                   2534:  2: bb
                   2535:  3: b
                   2536: 
                   2537: /^(?:aa(b(b))?)+$/I
                   2538: Capturing subpattern count = 2
                   2539: Options: anchored
                   2540: No first char
                   2541: No need char
                   2542:     aabbaa
                   2543:  0: aabbaa
                   2544:  1: bb
                   2545:  2: b
                   2546: 
                   2547: /^(?:aa(b(?:b))?)+$/I
                   2548: Capturing subpattern count = 1
                   2549: Options: anchored
                   2550: No first char
                   2551: No need char
                   2552:     aabbaa
                   2553:  0: aabbaa
                   2554:  1: bb
                   2555: 
                   2556: /^(?:aa(bb(?:b))?)+$/I
                   2557: Capturing subpattern count = 1
                   2558: Options: anchored
                   2559: No first char
                   2560: No need char
                   2561:     aabbbaa
                   2562:  0: aabbbaa
                   2563:  1: bbb
                   2564: 
                   2565: /^(?:aa(b(?:bb))?)+$/I
                   2566: Capturing subpattern count = 1
                   2567: Options: anchored
                   2568: No first char
                   2569: No need char
                   2570:     aabbbaa
                   2571:  0: aabbbaa
                   2572:  1: bbb
                   2573: 
                   2574: /^(?:aa(?:b(b))?)+$/I
                   2575: Capturing subpattern count = 1
                   2576: Options: anchored
                   2577: No first char
                   2578: No need char
                   2579:     aabbaa
                   2580:  0: aabbaa
                   2581:  1: b
                   2582: 
                   2583: /^(?:aa(?:b(bb))?)+$/I
                   2584: Capturing subpattern count = 1
                   2585: Options: anchored
                   2586: No first char
                   2587: No need char
                   2588:     aabbbaa
                   2589:  0: aabbbaa
                   2590:  1: bb
                   2591: 
                   2592: /^(aa(b(bb))?)+$/I
                   2593: Capturing subpattern count = 3
                   2594: Options: anchored
                   2595: No first char
                   2596: No need char
                   2597:     aabbbaa
                   2598:  0: aabbbaa
                   2599:  1: aa
                   2600:  2: bbb
                   2601:  3: bb
                   2602: 
                   2603: /^(aa(bb(bb))?)+$/I
                   2604: Capturing subpattern count = 3
                   2605: Options: anchored
                   2606: No first char
                   2607: No need char
                   2608:     aabbbbaa
                   2609:  0: aabbbbaa
                   2610:  1: aa
                   2611:  2: bbbb
                   2612:  3: bb
                   2613: 
                   2614: /--------------------------------------------------------------------/I
                   2615: Capturing subpattern count = 0
                   2616: No options
                   2617: First char = '-'
                   2618: Need char = '-'
                   2619: 
                   2620: /#/IxDZ
                   2621: ------------------------------------------------------------------
                   2622:         Bra
                   2623:         Ket
                   2624:         End
                   2625: ------------------------------------------------------------------
                   2626: Capturing subpattern count = 0
                   2627: Options: extended
                   2628: No first char
                   2629: No need char
                   2630: 
                   2631: /a#/IxDZ
                   2632: ------------------------------------------------------------------
                   2633:         Bra
                   2634:         a
                   2635:         Ket
                   2636:         End
                   2637: ------------------------------------------------------------------
                   2638: Capturing subpattern count = 0
                   2639: Options: extended
                   2640: First char = 'a'
                   2641: No need char
                   2642: 
                   2643: /[\s]/DZ
                   2644: ------------------------------------------------------------------
                   2645:         Bra
                   2646:         [\x09\x0a\x0c\x0d ]
                   2647:         Ket
                   2648:         End
                   2649: ------------------------------------------------------------------
                   2650: Capturing subpattern count = 0
                   2651: No options
                   2652: No first char
                   2653: No need char
                   2654: 
                   2655: /[\S]/DZ
                   2656: ------------------------------------------------------------------
                   2657:         Bra
                   2658:         [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
                   2659:         Ket
                   2660:         End
                   2661: ------------------------------------------------------------------
                   2662: Capturing subpattern count = 0
                   2663: No options
                   2664: No first char
                   2665: No need char
                   2666: 
                   2667: /a(?i)b/DZ
                   2668: ------------------------------------------------------------------
                   2669:         Bra
                   2670:         a
                   2671:      /i b
                   2672:         Ket
                   2673:         End
                   2674: ------------------------------------------------------------------
                   2675: Capturing subpattern count = 0
                   2676: No options
                   2677: First char = 'a'
                   2678: Need char = 'b' (caseless)
                   2679:     ab
                   2680:  0: ab
                   2681:     aB
                   2682:  0: aB
                   2683:     *** Failers
                   2684: No match
                   2685:     AB
                   2686: No match
                   2687: 
                   2688: /(a(?i)b)/DZ
                   2689: ------------------------------------------------------------------
                   2690:         Bra
                   2691:         CBra 1
                   2692:         a
                   2693:      /i b
                   2694:         Ket
                   2695:         Ket
                   2696:         End
                   2697: ------------------------------------------------------------------
                   2698: Capturing subpattern count = 1
                   2699: No options
                   2700: First char = 'a'
                   2701: Need char = 'b' (caseless)
                   2702:     ab
                   2703:  0: ab
                   2704:  1: ab
                   2705:     aB
                   2706:  0: aB
                   2707:  1: aB
                   2708:     *** Failers
                   2709: No match
                   2710:     AB
                   2711: No match
                   2712: 
                   2713: /   (?i)abc/IxDZ
                   2714: ------------------------------------------------------------------
                   2715:         Bra
                   2716:      /i abc
                   2717:         Ket
                   2718:         End
                   2719: ------------------------------------------------------------------
                   2720: Capturing subpattern count = 0
                   2721: Options: caseless extended
                   2722: First char = 'a' (caseless)
                   2723: Need char = 'c' (caseless)
                   2724: 
                   2725: /#this is a comment
                   2726:   (?i)abc/IxDZ
                   2727: ------------------------------------------------------------------
                   2728:         Bra
                   2729:      /i abc
                   2730:         Ket
                   2731:         End
                   2732: ------------------------------------------------------------------
                   2733: Capturing subpattern count = 0
                   2734: Options: caseless extended
                   2735: First char = 'a' (caseless)
                   2736: Need char = 'c' (caseless)
                   2737: 
                   2738: /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
                   2739: ------------------------------------------------------------------
                   2740:         Bra
                   2741:         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
                   2742:         Ket
                   2743:         End
                   2744: ------------------------------------------------------------------
                   2745: Capturing subpattern count = 0
                   2746: No options
                   2747: First char = '1'
                   2748: Need char = '0'
                   2749: 
                   2750: /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
                   2751: ------------------------------------------------------------------
                   2752:         Bra
                   2753:         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
                   2754:         Ket
                   2755:         End
                   2756: ------------------------------------------------------------------
                   2757: Capturing subpattern count = 0
                   2758: No options
                   2759: First char = '1'
                   2760: Need char = '0'
                   2761: 
                   2762: /\Q\E/DZ
                   2763: ------------------------------------------------------------------
                   2764:         Bra
                   2765:         Ket
                   2766:         End
                   2767: ------------------------------------------------------------------
                   2768: Capturing subpattern count = 0
                   2769: No options
                   2770: No first char
                   2771: No need char
                   2772:     \
                   2773:  0: 
                   2774: 
                   2775: /\Q\Ex/DZ
                   2776: ------------------------------------------------------------------
                   2777:         Bra
                   2778:         x
                   2779:         Ket
                   2780:         End
                   2781: ------------------------------------------------------------------
                   2782: Capturing subpattern count = 0
                   2783: No options
                   2784: First char = 'x'
                   2785: No need char
                   2786: 
                   2787: / \Q\E/DZ
                   2788: ------------------------------------------------------------------
                   2789:         Bra
                   2790:          
                   2791:         Ket
                   2792:         End
                   2793: ------------------------------------------------------------------
                   2794: Capturing subpattern count = 0
                   2795: No options
                   2796: First char = ' '
                   2797: No need char
                   2798: 
                   2799: /a\Q\E/DZ
                   2800: ------------------------------------------------------------------
                   2801:         Bra
                   2802:         a
                   2803:         Ket
                   2804:         End
                   2805: ------------------------------------------------------------------
                   2806: Capturing subpattern count = 0
                   2807: No options
                   2808: First char = 'a'
                   2809: No need char
                   2810:   abc
                   2811:  0: a
                   2812:   bca
                   2813:  0: a
                   2814:   bac
                   2815:  0: a
                   2816: 
                   2817: /a\Q\Eb/DZ
                   2818: ------------------------------------------------------------------
                   2819:         Bra
                   2820:         ab
                   2821:         Ket
                   2822:         End
                   2823: ------------------------------------------------------------------
                   2824: Capturing subpattern count = 0
                   2825: No options
                   2826: First char = 'a'
                   2827: Need char = 'b'
                   2828:   abc
                   2829:  0: ab
                   2830: 
                   2831: /\Q\Eabc/DZ
                   2832: ------------------------------------------------------------------
                   2833:         Bra
                   2834:         abc
                   2835:         Ket
                   2836:         End
                   2837: ------------------------------------------------------------------
                   2838: Capturing subpattern count = 0
                   2839: No options
                   2840: First char = 'a'
                   2841: Need char = 'c'
                   2842: 
                   2843: /x*+\w/DZ
                   2844: ------------------------------------------------------------------
                   2845:         Bra
                   2846:         x*+
                   2847:         \w
                   2848:         Ket
                   2849:         End
                   2850: ------------------------------------------------------------------
                   2851: Capturing subpattern count = 0
                   2852: No options
                   2853: No first char
                   2854: No need char
                   2855:     *** Failers
                   2856:  0: F
                   2857:     xxxxx
                   2858: No match
                   2859: 
                   2860: /x?+/DZ
                   2861: ------------------------------------------------------------------
                   2862:         Bra
                   2863:         x?+
                   2864:         Ket
                   2865:         End
                   2866: ------------------------------------------------------------------
                   2867: Capturing subpattern count = 0
                   2868: No options
                   2869: No first char
                   2870: No need char
                   2871: 
                   2872: /x++/DZ
                   2873: ------------------------------------------------------------------
                   2874:         Bra
                   2875:         x++
                   2876:         Ket
                   2877:         End
                   2878: ------------------------------------------------------------------
                   2879: Capturing subpattern count = 0
                   2880: No options
                   2881: First char = 'x'
                   2882: No need char
                   2883: 
                   2884: /x{1,3}+/DZ
                   2885: ------------------------------------------------------------------
                   2886:         Bra
                   2887:         Once
                   2888:         x
                   2889:         x{0,2}
                   2890:         Ket
                   2891:         Ket
                   2892:         End
                   2893: ------------------------------------------------------------------
                   2894: Capturing subpattern count = 0
                   2895: No options
                   2896: First char = 'x'
                   2897: No need char
                   2898: 
                   2899: /(x)*+/DZ
                   2900: ------------------------------------------------------------------
                   2901:         Bra
                   2902:         Braposzero
                   2903:         CBraPos 1
                   2904:         x
                   2905:         KetRpos
                   2906:         Ket
                   2907:         End
                   2908: ------------------------------------------------------------------
                   2909: Capturing subpattern count = 1
                   2910: No options
                   2911: No first char
                   2912: No need char
                   2913: 
                   2914: /^(\w++|\s++)*$/I
                   2915: Capturing subpattern count = 1
                   2916: Options: anchored
                   2917: No first char
                   2918: No need char
                   2919:     now is the time for all good men to come to the aid of the party
                   2920:  0: now is the time for all good men to come to the aid of the party
                   2921:  1: party
                   2922:     *** Failers
                   2923: No match
                   2924:     this is not a line with only words and spaces!
                   2925: No match
                   2926: 
                   2927: /(\d++)(\w)/I
                   2928: Capturing subpattern count = 2
                   2929: No options
                   2930: No first char
                   2931: No need char
                   2932:     12345a
                   2933:  0: 12345a
                   2934:  1: 12345
                   2935:  2: a
                   2936:     *** Failers
                   2937: No match
                   2938:     12345+
                   2939: No match
                   2940: 
                   2941: /a++b/I
                   2942: Capturing subpattern count = 0
                   2943: No options
                   2944: First char = 'a'
                   2945: Need char = 'b'
                   2946:     aaab
                   2947:  0: aaab
                   2948: 
                   2949: /(a++b)/I
                   2950: Capturing subpattern count = 1
                   2951: No options
                   2952: First char = 'a'
                   2953: Need char = 'b'
                   2954:     aaab
                   2955:  0: aaab
                   2956:  1: aaab
                   2957: 
                   2958: /(a++)b/I
                   2959: Capturing subpattern count = 1
                   2960: No options
                   2961: First char = 'a'
                   2962: Need char = 'b'
                   2963:     aaab
                   2964:  0: aaab
                   2965:  1: aaa
                   2966: 
                   2967: /([^()]++|\([^()]*\))+/I
                   2968: Capturing subpattern count = 1
                   2969: No options
                   2970: No first char
                   2971: No need char
                   2972:     ((abc(ade)ufh()()x
                   2973:  0: abc(ade)ufh()()x
                   2974:  1: x
                   2975: 
                   2976: /\(([^()]++|\([^()]+\))+\)/I
                   2977: Capturing subpattern count = 1
                   2978: No options
                   2979: First char = '('
                   2980: Need char = ')'
                   2981:     (abc)
                   2982:  0: (abc)
                   2983:  1: abc
                   2984:     (abc(def)xyz)
                   2985:  0: (abc(def)xyz)
                   2986:  1: xyz
                   2987:     *** Failers
                   2988: No match
                   2989:     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   2990: No match
                   2991: 
                   2992: /(abc){1,3}+/DZ
                   2993: ------------------------------------------------------------------
                   2994:         Bra
                   2995:         Once
                   2996:         CBra 1
                   2997:         abc
                   2998:         Ket
                   2999:         Brazero
                   3000:         Bra
                   3001:         CBra 1
                   3002:         abc
                   3003:         Ket
                   3004:         Brazero
                   3005:         CBra 1
                   3006:         abc
                   3007:         Ket
                   3008:         Ket
                   3009:         Ket
                   3010:         Ket
                   3011:         End
                   3012: ------------------------------------------------------------------
                   3013: Capturing subpattern count = 1
                   3014: No options
                   3015: First char = 'a'
                   3016: Need char = 'c'
                   3017: 
                   3018: /a+?+/I
                   3019: Failed: nothing to repeat at offset 3
                   3020: 
                   3021: /a{2,3}?+b/I
                   3022: Failed: nothing to repeat at offset 7
                   3023: 
                   3024: /(?U)a+?+/I
                   3025: Failed: nothing to repeat at offset 7
                   3026: 
                   3027: /a{2,3}?+b/IU
                   3028: Failed: nothing to repeat at offset 7
                   3029: 
                   3030: /x(?U)a++b/DZ
                   3031: ------------------------------------------------------------------
                   3032:         Bra
                   3033:         x
                   3034:         a++
                   3035:         b
                   3036:         Ket
                   3037:         End
                   3038: ------------------------------------------------------------------
                   3039: Capturing subpattern count = 0
                   3040: No options
                   3041: First char = 'x'
                   3042: Need char = 'b'
                   3043:     xaaaab
                   3044:  0: xaaaab
                   3045: 
                   3046: /(?U)xa++b/DZ
                   3047: ------------------------------------------------------------------
                   3048:         Bra
                   3049:         x
                   3050:         a++
                   3051:         b
                   3052:         Ket
                   3053:         End
                   3054: ------------------------------------------------------------------
                   3055: Capturing subpattern count = 0
                   3056: Options: ungreedy
                   3057: First char = 'x'
                   3058: Need char = 'b'
                   3059:     xaaaab
                   3060:  0: xaaaab
                   3061: 
                   3062: /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
                   3063: ------------------------------------------------------------------
                   3064:         Bra
                   3065:         ^
                   3066:         CBra 1
                   3067:         CBra 2
                   3068:         a+
                   3069:         Ket
                   3070:         CBra 3
                   3071:         [ab]+?
                   3072:         Ket
                   3073:         CBra 4
                   3074:         [bc]+
                   3075:         Ket
                   3076:         CBra 5
                   3077:         \w*
                   3078:         Ket
                   3079:         Ket
                   3080:         Ket
                   3081:         End
                   3082: ------------------------------------------------------------------
                   3083: Capturing subpattern count = 5
                   3084: Options: anchored
                   3085: No first char
                   3086: No need char
                   3087: 
                   3088: /^x(?U)a+b/DZ
                   3089: ------------------------------------------------------------------
                   3090:         Bra
                   3091:         ^
                   3092:         x
                   3093:         a++
                   3094:         b
                   3095:         Ket
                   3096:         End
                   3097: ------------------------------------------------------------------
                   3098: Capturing subpattern count = 0
                   3099: Options: anchored
                   3100: No first char
                   3101: Need char = 'b'
                   3102: 
                   3103: /^x(?U)(a+)b/DZ
                   3104: ------------------------------------------------------------------
                   3105:         Bra
                   3106:         ^
                   3107:         x
                   3108:         CBra 1
                   3109:         a+?
                   3110:         Ket
                   3111:         b
                   3112:         Ket
                   3113:         End
                   3114: ------------------------------------------------------------------
                   3115: Capturing subpattern count = 1
                   3116: Options: anchored
                   3117: No first char
                   3118: Need char = 'b'
                   3119: 
                   3120: /[.x.]/I
                   3121: Failed: POSIX collating elements are not supported at offset 0
                   3122: 
                   3123: /[=x=]/I
                   3124: Failed: POSIX collating elements are not supported at offset 0
                   3125: 
                   3126: /[:x:]/I
                   3127: Failed: POSIX named classes are supported only within a class at offset 0
                   3128: 
                   3129: /\l/I
                   3130: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3131: 
                   3132: /\L/I
                   3133: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3134: 
                   3135: /\N{name}/I
                   3136: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3137: 
                   3138: /\u/I
                   3139: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3140: 
                   3141: /\U/I
                   3142: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3143: 
                   3144: /[/I
                   3145: Failed: missing terminating ] for character class at offset 1
                   3146: 
                   3147: /[a-/I
                   3148: Failed: missing terminating ] for character class at offset 3
                   3149: 
                   3150: /[[:space:]/I
                   3151: Failed: missing terminating ] for character class at offset 10
                   3152: 
                   3153: /[\s]/IDZ
                   3154: ------------------------------------------------------------------
                   3155:         Bra
                   3156:         [\x09\x0a\x0c\x0d ]
                   3157:         Ket
                   3158:         End
                   3159: ------------------------------------------------------------------
                   3160: Capturing subpattern count = 0
                   3161: No options
                   3162: No first char
                   3163: No need char
                   3164: 
                   3165: /[[:space:]]/IDZ
                   3166: ------------------------------------------------------------------
                   3167:         Bra
                   3168:         [\x09-\x0d ]
                   3169:         Ket
                   3170:         End
                   3171: ------------------------------------------------------------------
                   3172: Capturing subpattern count = 0
                   3173: No options
                   3174: No first char
                   3175: No need char
                   3176: 
                   3177: /[[:space:]abcde]/IDZ
                   3178: ------------------------------------------------------------------
                   3179:         Bra
                   3180:         [\x09-\x0d a-e]
                   3181:         Ket
                   3182:         End
                   3183: ------------------------------------------------------------------
                   3184: Capturing subpattern count = 0
                   3185: No options
                   3186: No first char
                   3187: No need char
                   3188: 
                   3189: /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
                   3190: Capturing subpattern count = 0
                   3191: Options: extended
                   3192: First char = '<'
                   3193: Need char = '>'
                   3194:     <>
                   3195:  0: <>
                   3196:     <abcd>
                   3197:  0: <abcd>
                   3198:     <abc <123> hij>
                   3199:  0: <abc <123> hij>
                   3200:     <abc <def> hij>
                   3201:  0: <def>
                   3202:     <abc<>def>
                   3203:  0: <abc<>def>
                   3204:     <abc<>
                   3205:  0: <>
                   3206:     *** Failers
                   3207: No match
                   3208:     <abc
                   3209: No match
                   3210: 
                   3211: |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
                   3212: ------------------------------------------------------------------
                   3213:         Bra
                   3214:         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
                   3215:         \b
                   3216:         Ket
                   3217:         End
                   3218: ------------------------------------------------------------------
                   3219: Capturing subpattern count = 0
                   3220: No options
                   3221: First char = '8'
                   3222: Need char = 'X'
                   3223: 
                   3224: |\$\<\.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
                   3225: ------------------------------------------------------------------
                   3226:         Bra
                   3227:         $<.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
                   3228:         \b
                   3229:         Ket
                   3230:         End
                   3231: ------------------------------------------------------------------
                   3232: Capturing subpattern count = 0
                   3233: No options
                   3234: First char = '$'
                   3235: Need char = 'X'
                   3236: 
                   3237: /(.*)\d+\1/I
                   3238: Capturing subpattern count = 1
                   3239: Max back reference = 1
                   3240: No options
                   3241: No first char
                   3242: No need char
                   3243: 
                   3244: /(.*)\d+/I
                   3245: Capturing subpattern count = 1
                   3246: No options
                   3247: First char at start or follows newline
                   3248: No need char
                   3249: 
                   3250: /(.*)\d+\1/Is
                   3251: Capturing subpattern count = 1
                   3252: Max back reference = 1
                   3253: Options: dotall
                   3254: No first char
                   3255: No need char
                   3256: 
                   3257: /(.*)\d+/Is
                   3258: Capturing subpattern count = 1
                   3259: Options: anchored dotall
                   3260: No first char
                   3261: No need char
                   3262: 
                   3263: /(.*(xyz))\d+\2/I
                   3264: Capturing subpattern count = 2
                   3265: Max back reference = 2
                   3266: No options
                   3267: First char at start or follows newline
                   3268: Need char = 'z'
                   3269: 
                   3270: /((.*))\d+\1/I
                   3271: Capturing subpattern count = 2
                   3272: Max back reference = 1
                   3273: No options
                   3274: No first char
                   3275: No need char
                   3276:     abc123bc
                   3277:  0: bc123bc
                   3278:  1: bc
                   3279:  2: bc
                   3280: 
                   3281: /a[b]/I
                   3282: Capturing subpattern count = 0
                   3283: No options
                   3284: First char = 'a'
                   3285: Need char = 'b'
                   3286: 
                   3287: /(?=a).*/I
                   3288: Capturing subpattern count = 0
                   3289: No options
                   3290: First char = 'a'
                   3291: No need char
                   3292: 
                   3293: /(?=abc).xyz/IiI
                   3294: Capturing subpattern count = 0
                   3295: Options: caseless
                   3296: First char = 'a' (caseless)
                   3297: Need char = 'z' (caseless)
                   3298: 
                   3299: /(?=abc)(?i).xyz/I
                   3300: Capturing subpattern count = 0
                   3301: No options
                   3302: First char = 'a'
                   3303: Need char = 'z' (caseless)
                   3304: 
                   3305: /(?=a)(?=b)/I
                   3306: Capturing subpattern count = 0
                   3307: No options
                   3308: First char = 'a'
                   3309: No need char
                   3310: 
                   3311: /(?=.)a/I
                   3312: Capturing subpattern count = 0
                   3313: No options
                   3314: First char = 'a'
                   3315: No need char
                   3316: 
                   3317: /((?=abcda)a)/I
                   3318: Capturing subpattern count = 1
                   3319: No options
                   3320: First char = 'a'
                   3321: Need char = 'a'
                   3322: 
                   3323: /((?=abcda)ab)/I
                   3324: Capturing subpattern count = 1
                   3325: No options
                   3326: First char = 'a'
                   3327: Need char = 'b'
                   3328: 
                   3329: /()a/I
                   3330: Capturing subpattern count = 1
                   3331: No options
                   3332: No first char
                   3333: Need char = 'a'
                   3334: 
                   3335: /(?(1)ab|ac)(.)/I
                   3336: Capturing subpattern count = 1
                   3337: No options
                   3338: First char = 'a'
                   3339: No need char
                   3340: 
                   3341: /(?(1)abz|acz)(.)/I
                   3342: Capturing subpattern count = 1
                   3343: No options
                   3344: First char = 'a'
                   3345: Need char = 'z'
                   3346: 
                   3347: /(?(1)abz)(.)/I
                   3348: Capturing subpattern count = 1
                   3349: No options
                   3350: No first char
                   3351: No need char
                   3352: 
                   3353: /(?(1)abz)(1)23/I
                   3354: Capturing subpattern count = 1
                   3355: No options
                   3356: No first char
                   3357: Need char = '3'
                   3358: 
                   3359: /(a)+/I
                   3360: Capturing subpattern count = 1
                   3361: No options
                   3362: First char = 'a'
                   3363: No need char
                   3364: 
                   3365: /(a){2,3}/I
                   3366: Capturing subpattern count = 1
                   3367: No options
                   3368: First char = 'a'
                   3369: Need char = 'a'
                   3370: 
                   3371: /(a)*/I
                   3372: Capturing subpattern count = 1
                   3373: No options
                   3374: No first char
                   3375: No need char
                   3376: 
                   3377: /[a]/I
                   3378: Capturing subpattern count = 0
                   3379: No options
                   3380: First char = 'a'
                   3381: No need char
                   3382: 
                   3383: /[ab]/I
                   3384: Capturing subpattern count = 0
                   3385: No options
                   3386: No first char
                   3387: No need char
                   3388: 
                   3389: /[ab]/IS
                   3390: Capturing subpattern count = 0
                   3391: No options
                   3392: No first char
                   3393: No need char
                   3394: Subject length lower bound = 1
                   3395: Starting byte set: a b 
                   3396: 
                   3397: /[^a]/I
                   3398: Capturing subpattern count = 0
                   3399: No options
                   3400: No first char
                   3401: No need char
                   3402: 
                   3403: /\d456/I
                   3404: Capturing subpattern count = 0
                   3405: No options
                   3406: No first char
                   3407: Need char = '6'
                   3408: 
                   3409: /\d456/IS
                   3410: Capturing subpattern count = 0
                   3411: No options
                   3412: No first char
                   3413: Need char = '6'
                   3414: Subject length lower bound = 4
                   3415: Starting byte set: 0 1 2 3 4 5 6 7 8 9 
                   3416: 
                   3417: /a^b/I
                   3418: Capturing subpattern count = 0
                   3419: No options
                   3420: First char = 'a'
                   3421: Need char = 'b'
                   3422: 
                   3423: /^a/Im
                   3424: Capturing subpattern count = 0
                   3425: Options: multiline
                   3426: First char at start or follows newline
                   3427: Need char = 'a'
                   3428:   abcde
                   3429:  0: a
                   3430:   xy\nabc
                   3431:  0: a
                   3432:   *** Failers
                   3433: No match
                   3434:   xyabc
                   3435: No match
                   3436: 
                   3437: /c|abc/I
                   3438: Capturing subpattern count = 0
                   3439: No options
                   3440: No first char
                   3441: Need char = 'c'
                   3442: 
                   3443: /(?i)[ab]/IS
                   3444: Capturing subpattern count = 0
                   3445: Options: caseless
                   3446: No first char
                   3447: No need char
                   3448: Subject length lower bound = 1
                   3449: Starting byte set: A B a b 
                   3450: 
                   3451: /[ab](?i)cd/IS
                   3452: Capturing subpattern count = 0
                   3453: No options
                   3454: No first char
                   3455: Need char = 'd' (caseless)
                   3456: Subject length lower bound = 3
                   3457: Starting byte set: a b 
                   3458: 
                   3459: /abc(?C)def/I
                   3460: Capturing subpattern count = 0
                   3461: No options
                   3462: First char = 'a'
                   3463: Need char = 'f'
                   3464:     abcdef
                   3465: --->abcdef
                   3466:   0 ^  ^       d
                   3467:  0: abcdef
                   3468:     1234abcdef
                   3469: --->1234abcdef
                   3470:   0     ^  ^       d
                   3471:  0: abcdef
                   3472:     *** Failers
                   3473: No match
                   3474:     abcxyz
                   3475: No match
                   3476:     abcxyzf
                   3477: --->abcxyzf
                   3478:   0 ^  ^        d
                   3479: No match
                   3480: 
                   3481: /abc(?C)de(?C1)f/I
                   3482: Capturing subpattern count = 0
                   3483: No options
                   3484: First char = 'a'
                   3485: Need char = 'f'
                   3486:     123abcdef
                   3487: --->123abcdef
                   3488:   0    ^  ^       d
                   3489:   1    ^    ^     f
                   3490:  0: abcdef
                   3491: 
                   3492: /(?C1)\dabc(?C2)def/IS
                   3493: Capturing subpattern count = 0
                   3494: No options
                   3495: No first char
                   3496: Need char = 'f'
                   3497: Subject length lower bound = 7
                   3498: Starting byte set: 0 1 2 3 4 5 6 7 8 9 
                   3499:     1234abcdef
                   3500: --->1234abcdef
                   3501:   1 ^              \d
                   3502:   1  ^             \d
                   3503:   1   ^            \d
                   3504:   1    ^           \d
                   3505:   2    ^   ^       d
                   3506:  0: 4abcdef
                   3507:     *** Failers
                   3508: No match
                   3509:     abcdef
                   3510: No match
                   3511: 
                   3512: /(?C1)\dabc(?C2)def/ISS
                   3513: Capturing subpattern count = 0
                   3514: No options
                   3515: No first char
                   3516: Need char = 'f'
                   3517:     1234abcdef
                   3518: --->1234abcdef
                   3519:   1 ^              \d
                   3520:   1  ^             \d
                   3521:   1   ^            \d
                   3522:   1    ^           \d
                   3523:   2    ^   ^       d
                   3524:  0: 4abcdef
                   3525:     *** Failers
                   3526: No match
                   3527:     abcdef
                   3528: --->abcdef
                   3529:   1 ^          \d
                   3530:   1  ^         \d
                   3531:   1   ^        \d
                   3532:   1    ^       \d
                   3533:   1     ^      \d
                   3534:   1      ^     \d
                   3535: No match
                   3536: 
                   3537: /(?C255)ab/I
                   3538: Capturing subpattern count = 0
                   3539: No options
                   3540: First char = 'a'
                   3541: Need char = 'b'
                   3542: 
                   3543: /(?C256)ab/I
                   3544: Failed: number after (?C is > 255 at offset 6
                   3545: 
                   3546: /(?Cab)xx/I
                   3547: Failed: closing ) for (?C expected at offset 3
                   3548: 
                   3549: /(?C12vr)x/I
                   3550: Failed: closing ) for (?C expected at offset 5
                   3551: 
                   3552: /abc(?C)def/I
                   3553: Capturing subpattern count = 0
                   3554: No options
                   3555: First char = 'a'
                   3556: Need char = 'f'
                   3557:     *** Failers
                   3558: No match
                   3559:     \x83\x0\x61bcdef
                   3560: --->\x83\x00abcdef
                   3561:   0         ^  ^       d
                   3562:  0: abcdef
                   3563: 
                   3564: /(abc)(?C)de(?C1)f/I
                   3565: Capturing subpattern count = 1
                   3566: No options
                   3567: First char = 'a'
                   3568: Need char = 'f'
                   3569:     123abcdef
                   3570: --->123abcdef
                   3571:   0    ^  ^       d
                   3572:   1    ^    ^     f
                   3573:  0: abcdef
                   3574:  1: abc
                   3575:     123abcdef\C+
                   3576: Callout 0: last capture = 1
                   3577:  0: <unset>
                   3578:  1: abc
                   3579: --->123abcdef
                   3580:        ^  ^       d
                   3581: Callout 1: last capture = 1
                   3582:  0: <unset>
                   3583:  1: abc
                   3584: --->123abcdef
                   3585:        ^    ^     f
                   3586:  0: abcdef
                   3587:  1: abc
                   3588:     123abcdef\C-
                   3589:  0: abcdef
                   3590:  1: abc
                   3591:     *** Failers
                   3592: No match
                   3593:     123abcdef\C!1
                   3594: --->123abcdef
                   3595:   0    ^  ^       d
                   3596:   1    ^    ^     f
                   3597: No match
                   3598: 
                   3599: /(?C0)(abc(?C1))*/I
                   3600: Capturing subpattern count = 1
                   3601: No options
                   3602: No first char
                   3603: No need char
                   3604:     abcabcabc
                   3605: --->abcabcabc
                   3606:   0 ^             (abc(?C1))*
                   3607:   1 ^  ^          )
                   3608:   1 ^     ^       )
                   3609:   1 ^        ^    )
                   3610:  0: abcabcabc
                   3611:  1: abc
                   3612:     abcabc\C!1!3
                   3613: --->abcabc
                   3614:   0 ^          (abc(?C1))*
                   3615:   1 ^  ^       )
                   3616:   1 ^     ^    )
                   3617:  0: abcabc
                   3618:  1: abc
                   3619:     *** Failers
                   3620: --->*** Failers
                   3621:   0 ^               (abc(?C1))*
                   3622:  0: 
                   3623:     abcabcabc\C!1!3
                   3624: --->abcabcabc
                   3625:   0 ^             (abc(?C1))*
                   3626:   1 ^  ^          )
                   3627:   1 ^     ^       )
                   3628:   1 ^        ^    )
                   3629:  0: abcabc
                   3630:  1: abc
                   3631: 
                   3632: /(\d{3}(?C))*/I
                   3633: Capturing subpattern count = 1
                   3634: No options
                   3635: No first char
                   3636: No need char
                   3637:     123\C+
                   3638: Callout 0: last capture = -1
                   3639:  0: <unset>
                   3640: --->123
                   3641:     ^  ^    )
                   3642:  0: 123
                   3643:  1: 123
                   3644:     123456\C+
                   3645: Callout 0: last capture = -1
                   3646:  0: <unset>
                   3647: --->123456
                   3648:     ^  ^       )
                   3649: Callout 0: last capture = 1
                   3650:  0: <unset>
                   3651:  1: 123
                   3652: --->123456
                   3653:     ^     ^    )
                   3654:  0: 123456
                   3655:  1: 456
                   3656:     123456789\C+
                   3657: Callout 0: last capture = -1
                   3658:  0: <unset>
                   3659: --->123456789
                   3660:     ^  ^          )
                   3661: Callout 0: last capture = 1
                   3662:  0: <unset>
                   3663:  1: 123
                   3664: --->123456789
                   3665:     ^     ^       )
                   3666: Callout 0: last capture = 1
                   3667:  0: <unset>
                   3668:  1: 456
                   3669: --->123456789
                   3670:     ^        ^    )
                   3671:  0: 123456789
                   3672:  1: 789
                   3673: 
                   3674: /((xyz)(?C)p|(?C1)xyzabc)/I
                   3675: Capturing subpattern count = 2
                   3676: No options
                   3677: First char = 'x'
                   3678: No need char
                   3679:     xyzabc\C+
                   3680: Callout 0: last capture = 2
                   3681:  0: <unset>
                   3682:  1: <unset>
                   3683:  2: xyz
                   3684: --->xyzabc
                   3685:     ^  ^       p
                   3686: Callout 1: last capture = -1
                   3687:  0: <unset>
                   3688: --->xyzabc
                   3689:     ^          x
                   3690:  0: xyzabc
                   3691:  1: xyzabc
                   3692: 
                   3693: /(X)((xyz)(?C)p|(?C1)xyzabc)/I
                   3694: Capturing subpattern count = 3
                   3695: No options
                   3696: First char = 'X'
                   3697: Need char = 'x'
                   3698:     Xxyzabc\C+
                   3699: Callout 0: last capture = 3
                   3700:  0: <unset>
                   3701:  1: X
                   3702:  2: <unset>
                   3703:  3: xyz
                   3704: --->Xxyzabc
                   3705:     ^   ^       p
                   3706: Callout 1: last capture = 1
                   3707:  0: <unset>
                   3708:  1: X
                   3709: --->Xxyzabc
                   3710:     ^^          x
                   3711:  0: Xxyzabc
                   3712:  1: X
                   3713:  2: xyzabc
                   3714: 
                   3715: /(?=(abc))(?C)abcdef/I
                   3716: Capturing subpattern count = 1
                   3717: No options
                   3718: First char = 'a'
                   3719: Need char = 'f'
                   3720:     abcdef\C+
                   3721: Callout 0: last capture = 1
                   3722:  0: <unset>
                   3723:  1: abc
                   3724: --->abcdef
                   3725:     ^          a
                   3726:  0: abcdef
                   3727:  1: abc
                   3728: 
                   3729: /(?!(abc)(?C1)d)(?C2)abcxyz/I
                   3730: Capturing subpattern count = 1
                   3731: No options
                   3732: First char = 'a'
                   3733: Need char = 'z'
                   3734:     abcxyz\C+
                   3735: Callout 1: last capture = 1
                   3736:  0: <unset>
                   3737:  1: abc
                   3738: --->abcxyz
                   3739:     ^  ^       d
                   3740: Callout 2: last capture = -1
                   3741:  0: <unset>
                   3742: --->abcxyz
                   3743:     ^          a
                   3744:  0: abcxyz
                   3745: 
                   3746: /(?<=(abc)(?C))xyz/I
                   3747: Capturing subpattern count = 1
                   3748: No options
                   3749: First char = 'x'
                   3750: Need char = 'z'
                   3751:    abcxyz\C+
                   3752: Callout 0: last capture = 1
                   3753:  0: <unset>
                   3754:  1: abc
                   3755: --->abcxyz
                   3756:        ^       )
                   3757:  0: xyz
                   3758:  1: abc
                   3759: 
                   3760: /a(b+)(c*)(?C1)/I
                   3761: Capturing subpattern count = 2
                   3762: No options
                   3763: First char = 'a'
                   3764: Need char = 'b'
                   3765:     abbbbbccc\C*1
                   3766: --->abbbbbccc
                   3767:   1 ^        ^    
                   3768: Callout data = 1
                   3769:   1 ^       ^     
                   3770: Callout data = 1
                   3771:   1 ^      ^      
                   3772: Callout data = 1
                   3773:   1 ^     ^       
                   3774: Callout data = 1
                   3775:   1 ^    ^        
                   3776: Callout data = 1
                   3777:   1 ^   ^         
                   3778: Callout data = 1
                   3779:   1 ^  ^          
                   3780: Callout data = 1
                   3781:   1 ^ ^           
                   3782: Callout data = 1
                   3783: No match
                   3784: 
                   3785: /a(b+?)(c*?)(?C1)/I
                   3786: Capturing subpattern count = 2
                   3787: No options
                   3788: First char = 'a'
                   3789: Need char = 'b'
                   3790:     abbbbbccc\C*1
                   3791: --->abbbbbccc
                   3792:   1 ^ ^           
                   3793: Callout data = 1
                   3794:   1 ^  ^          
                   3795: Callout data = 1
                   3796:   1 ^   ^         
                   3797: Callout data = 1
                   3798:   1 ^    ^        
                   3799: Callout data = 1
                   3800:   1 ^     ^       
                   3801: Callout data = 1
                   3802:   1 ^      ^      
                   3803: Callout data = 1
                   3804:   1 ^       ^     
                   3805: Callout data = 1
                   3806:   1 ^        ^    
                   3807: Callout data = 1
                   3808: No match
                   3809: 
                   3810: /(?C)abc/I
                   3811: Capturing subpattern count = 0
                   3812: No options
                   3813: First char = 'a'
                   3814: Need char = 'c'
                   3815: 
                   3816: /(?C)^abc/I
                   3817: Capturing subpattern count = 0
                   3818: Options: anchored
                   3819: No first char
                   3820: No need char
                   3821: 
                   3822: /(?C)a|b/IS
                   3823: Capturing subpattern count = 0
                   3824: No options
                   3825: No first char
                   3826: No need char
                   3827: Subject length lower bound = 1
                   3828: Starting byte set: a b 
                   3829: 
                   3830: /(?R)/I
                   3831: Failed: recursive call could loop indefinitely at offset 3
                   3832: 
                   3833: /(a|(?R))/I
                   3834: Failed: recursive call could loop indefinitely at offset 6
                   3835: 
                   3836: /(ab|(bc|(de|(?R))))/I
                   3837: Failed: recursive call could loop indefinitely at offset 15
                   3838: 
                   3839: /x(ab|(bc|(de|(?R))))/I
                   3840: Capturing subpattern count = 3
                   3841: No options
                   3842: First char = 'x'
                   3843: No need char
                   3844:     xab
                   3845:  0: xab
                   3846:  1: ab
                   3847:     xbc
                   3848:  0: xbc
                   3849:  1: bc
                   3850:  2: bc
                   3851:     xde
                   3852:  0: xde
                   3853:  1: de
                   3854:  2: de
                   3855:  3: de
                   3856:     xxab
                   3857:  0: xxab
                   3858:  1: xab
                   3859:  2: xab
                   3860:  3: xab
                   3861:     xxxab
                   3862:  0: xxxab
                   3863:  1: xxab
                   3864:  2: xxab
                   3865:  3: xxab
                   3866:     *** Failers
                   3867: No match
                   3868:     xyab
                   3869: No match
                   3870: 
                   3871: /(ab|(bc|(de|(?1))))/I
                   3872: Failed: recursive call could loop indefinitely at offset 15
                   3873: 
                   3874: /x(ab|(bc|(de|(?1)x)x)x)/I
                   3875: Failed: recursive call could loop indefinitely at offset 16
                   3876: 
                   3877: /^([^()]|\((?1)*\))*$/I
                   3878: Capturing subpattern count = 1
                   3879: Options: anchored
                   3880: No first char
                   3881: No need char
                   3882:     abc
                   3883:  0: abc
                   3884:  1: c
                   3885:     a(b)c
                   3886:  0: a(b)c
                   3887:  1: c
                   3888:     a(b(c))d
                   3889:  0: a(b(c))d
                   3890:  1: d
                   3891:     *** Failers)
                   3892: No match
                   3893:     a(b(c)d
                   3894: No match
                   3895: 
                   3896: /^>abc>([^()]|\((?1)*\))*<xyz<$/I
                   3897: Capturing subpattern count = 1
                   3898: Options: anchored
                   3899: No first char
                   3900: Need char = '<'
                   3901:    >abc>123<xyz<
                   3902:  0: >abc>123<xyz<
                   3903:  1: 3
                   3904:    >abc>1(2)3<xyz<
                   3905:  0: >abc>1(2)3<xyz<
                   3906:  1: 3
                   3907:    >abc>(1(2)3)<xyz<
                   3908:  0: >abc>(1(2)3)<xyz<
                   3909:  1: (1(2)3)
                   3910: 
                   3911: /(a(?1)b)/DZ
                   3912: ------------------------------------------------------------------
                   3913:         Bra
                   3914:         CBra 1
                   3915:         a
                   3916:         Recurse
                   3917:         b
                   3918:         Ket
                   3919:         Ket
                   3920:         End
                   3921: ------------------------------------------------------------------
                   3922: Capturing subpattern count = 1
                   3923: No options
                   3924: First char = 'a'
                   3925: Need char = 'b'
                   3926: 
                   3927: /(a(?1)+b)/DZ
                   3928: ------------------------------------------------------------------
                   3929:         Bra
                   3930:         CBra 1
                   3931:         a
                   3932:         Once
                   3933:         Recurse
                   3934:         KetRmax
                   3935:         b
                   3936:         Ket
                   3937:         Ket
                   3938:         End
                   3939: ------------------------------------------------------------------
                   3940: Capturing subpattern count = 1
                   3941: No options
                   3942: First char = 'a'
                   3943: Need char = 'b'
                   3944: 
                   3945: /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
                   3946: Capturing subpattern count = 2
                   3947: Options: anchored
                   3948: No first char
                   3949: No need char
                   3950:     12
                   3951:  0: 12
                   3952:  1: 12
                   3953:     (((2+2)*-3)-7)
                   3954:  0: (((2+2)*-3)-7)
                   3955:  1: (((2+2)*-3)-7)
                   3956:  2: -
                   3957:     -12
                   3958:  0: -12
                   3959:  1: -12
                   3960:     *** Failers
                   3961: No match
                   3962:     ((2+2)*-3)-7)
                   3963: No match
                   3964: 
                   3965: /^(x(y|(?1){2})z)/I
                   3966: Capturing subpattern count = 2
                   3967: Options: anchored
                   3968: No first char
                   3969: No need char
                   3970:     xyz
                   3971:  0: xyz
                   3972:  1: xyz
                   3973:  2: y
                   3974:     xxyzxyzz
                   3975:  0: xxyzxyzz
                   3976:  1: xxyzxyzz
                   3977:  2: xyzxyz
                   3978:     *** Failers
                   3979: No match
                   3980:     xxyzz
                   3981: No match
                   3982:     xxyzxyzxyzz
                   3983: No match
                   3984: 
                   3985: /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
                   3986: Capturing subpattern count = 2
                   3987: Options: extended
                   3988: First char = '<'
                   3989: Need char = '>'
                   3990:     <>
                   3991:  0: <>
                   3992:  1: <>
                   3993:  2: <>
                   3994:     <abcd>
                   3995:  0: <abcd>
                   3996:  1: <abcd>
                   3997:  2: <abcd>
                   3998:     <abc <123> hij>
                   3999:  0: <abc <123> hij>
                   4000:  1: <abc <123> hij>
                   4001:  2: <abc <123> hij>
                   4002:     <abc <def> hij>
                   4003:  0: <def>
                   4004:  1: <def>
                   4005:  2: <def>
                   4006:     <abc<>def>
                   4007:  0: <abc<>def>
                   4008:  1: <abc<>def>
                   4009:  2: <abc<>def>
                   4010:     <abc<>
                   4011:  0: <>
                   4012:  1: <>
                   4013:  2: <>
                   4014:     *** Failers
                   4015: No match
                   4016:     <abc
                   4017: No match
                   4018: 
                   4019: /(?1)/I
                   4020: Failed: reference to non-existent subpattern at offset 3
                   4021: 
                   4022: /((?2)(abc)/I
                   4023: Failed: missing ) at offset 10
                   4024: 
                   4025: /^(abc)def(?1)/I
                   4026: Capturing subpattern count = 1
                   4027: Options: anchored
                   4028: No first char
                   4029: No need char
                   4030:     abcdefabc
                   4031:  0: abcdefabc
                   4032:  1: abc
                   4033: 
                   4034: /^(a|b|c)=(?1)+/I
                   4035: Capturing subpattern count = 1
                   4036: Options: anchored
                   4037: No first char
                   4038: No need char
                   4039:     a=a
                   4040:  0: a=a
                   4041:  1: a
                   4042:     a=b
                   4043:  0: a=b
                   4044:  1: a
                   4045:     a=bc
                   4046:  0: a=bc
                   4047:  1: a
                   4048: 
                   4049: /^(a|b|c)=((?1))+/I
                   4050: Capturing subpattern count = 2
                   4051: Options: anchored
                   4052: No first char
                   4053: No need char
                   4054:     a=a
                   4055:  0: a=a
                   4056:  1: a
                   4057:  2: a
                   4058:     a=b
                   4059:  0: a=b
                   4060:  1: a
                   4061:  2: b
                   4062:     a=bc
                   4063:  0: a=bc
                   4064:  1: a
                   4065:  2: c
                   4066: 
                   4067: /a(?P<name1>b|c)d(?P<longername2>e)/DZ
                   4068: ------------------------------------------------------------------
                   4069:         Bra
                   4070:         a
                   4071:         CBra 1
                   4072:         b
                   4073:         Alt
                   4074:         c
                   4075:         Ket
                   4076:         d
                   4077:         CBra 2
                   4078:         e
                   4079:         Ket
                   4080:         Ket
                   4081:         End
                   4082: ------------------------------------------------------------------
                   4083: Capturing subpattern count = 2
                   4084: Named capturing subpatterns:
                   4085:   longername2   2
                   4086:   name1         1
                   4087: No options
                   4088: First char = 'a'
                   4089: Need char = 'e'
                   4090:     abde
                   4091:  0: abde
                   4092:  1: b
                   4093:  2: e
                   4094:     acde
                   4095:  0: acde
                   4096:  1: c
                   4097:  2: e
                   4098: 
                   4099: /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
                   4100: ------------------------------------------------------------------
                   4101:         Bra
                   4102:         Bra
                   4103:         a
                   4104:         CBra 1
                   4105:         c
                   4106:         CBra 2
                   4107:         d
                   4108:         Ket
                   4109:         Ket
                   4110:         Ket
                   4111:         CBra 3
                   4112:         a
                   4113:         Ket
                   4114:         Ket
                   4115:         End
                   4116: ------------------------------------------------------------------
                   4117: Capturing subpattern count = 3
                   4118: Named capturing subpatterns:
                   4119:   a   3
                   4120:   c   1
                   4121:   d   2
                   4122: No options
                   4123: First char = 'a'
                   4124: Need char = 'a'
                   4125: 
                   4126: /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
                   4127: ------------------------------------------------------------------
                   4128:         Bra
                   4129:         CBra 1
                   4130:         a
                   4131:         Ket
                   4132:         Any
                   4133:         Any
                   4134:         Any
                   4135:         \1
                   4136:         bbb
                   4137:         Recurse
                   4138:         d
                   4139:         Ket
                   4140:         End
                   4141: ------------------------------------------------------------------
                   4142: Capturing subpattern count = 1
                   4143: Max back reference = 1
                   4144: Named capturing subpatterns:
                   4145:   a   1
                   4146: No options
                   4147: First char = 'a'
                   4148: Need char = 'd'
                   4149: 
                   4150: /^\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
                   4151: Capturing subpattern count = 4
                   4152: Max back reference = 4
                   4153: Named capturing subpatterns:
                   4154:   four    4
                   4155:   one     1
                   4156:   three   3
                   4157:   two     2
                   4158: Options: anchored caseless
                   4159: No first char
                   4160: No need char
                   4161:     1221
                   4162:  0: 1221
                   4163:  1: 1221
                   4164:  2: 1
                   4165:     Satan, oscillate my metallic sonatas!
                   4166:  0: Satan, oscillate my metallic sonatas!
                   4167:  1: <unset>
                   4168:  2: <unset>
                   4169:  3: Satan, oscillate my metallic sonatas
                   4170:  4: S
                   4171:     A man, a plan, a canal: Panama!
                   4172:  0: A man, a plan, a canal: Panama!
                   4173:  1: <unset>
                   4174:  2: <unset>
                   4175:  3: A man, a plan, a canal: Panama
                   4176:  4: A
                   4177:     Able was I ere I saw Elba.
                   4178:  0: Able was I ere I saw Elba.
                   4179:  1: <unset>
                   4180:  2: <unset>
                   4181:  3: Able was I ere I saw Elba
                   4182:  4: A
                   4183:     *** Failers
                   4184: No match
                   4185:     The quick brown fox
                   4186: No match
                   4187: 
                   4188: /((?(R)a|b))\1(?1)?/I
                   4189: Capturing subpattern count = 1
                   4190: Max back reference = 1
                   4191: No options
                   4192: No first char
                   4193: No need char
                   4194:   bb
                   4195:  0: bb
                   4196:  1: b
                   4197:   bbaa
                   4198:  0: bba
                   4199:  1: b
                   4200: 
                   4201: /(.*)a/Is
                   4202: Capturing subpattern count = 1
                   4203: Options: anchored dotall
                   4204: No first char
                   4205: Need char = 'a'
                   4206: 
                   4207: /(.*)a\1/Is
                   4208: Capturing subpattern count = 1
                   4209: Max back reference = 1
                   4210: Options: dotall
                   4211: No first char
                   4212: Need char = 'a'
                   4213: 
                   4214: /(.*)a(b)\2/Is
                   4215: Capturing subpattern count = 2
                   4216: Max back reference = 2
                   4217: Options: anchored dotall
                   4218: No first char
                   4219: Need char = 'b'
                   4220: 
                   4221: /((.*)a|(.*)b)z/Is
                   4222: Capturing subpattern count = 3
                   4223: Options: anchored dotall
                   4224: No first char
                   4225: Need char = 'z'
                   4226: 
                   4227: /((.*)a|(.*)b)z\1/Is
                   4228: Capturing subpattern count = 3
                   4229: Max back reference = 1
                   4230: Options: dotall
                   4231: No first char
                   4232: Need char = 'z'
                   4233: 
                   4234: /((.*)a|(.*)b)z\2/Is
                   4235: Capturing subpattern count = 3
                   4236: Max back reference = 2
                   4237: Options: dotall
                   4238: No first char
                   4239: Need char = 'z'
                   4240: 
                   4241: /((.*)a|(.*)b)z\3/Is
                   4242: Capturing subpattern count = 3
                   4243: Max back reference = 3
                   4244: Options: dotall
                   4245: No first char
                   4246: Need char = 'z'
                   4247: 
                   4248: /((.*)a|^(.*)b)z\3/Is
                   4249: Capturing subpattern count = 3
                   4250: Max back reference = 3
                   4251: Options: anchored dotall
                   4252: No first char
                   4253: Need char = 'z'
                   4254: 
                   4255: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
                   4256: Capturing subpattern count = 31
                   4257: Options: anchored dotall
                   4258: No first char
                   4259: No need char
                   4260: 
                   4261: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
                   4262: Capturing subpattern count = 31
                   4263: Max back reference = 31
                   4264: Options: dotall
                   4265: No first char
                   4266: No need char
                   4267: 
                   4268: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
                   4269: Capturing subpattern count = 32
                   4270: Max back reference = 32
                   4271: Options: dotall
                   4272: No first char
                   4273: No need char
                   4274: 
                   4275: /(a)(bc)/INDZ
                   4276: ------------------------------------------------------------------
                   4277:         Bra
                   4278:         Bra
                   4279:         a
                   4280:         Ket
                   4281:         Bra
                   4282:         bc
                   4283:         Ket
                   4284:         Ket
                   4285:         End
                   4286: ------------------------------------------------------------------
                   4287: Capturing subpattern count = 0
                   4288: Options: no_auto_capture
                   4289: First char = 'a'
                   4290: Need char = 'c'
                   4291:   abc
                   4292:  0: abc
                   4293: 
                   4294: /(?P<one>a)(bc)/INDZ
                   4295: ------------------------------------------------------------------
                   4296:         Bra
                   4297:         CBra 1
                   4298:         a
                   4299:         Ket
                   4300:         Bra
                   4301:         bc
                   4302:         Ket
                   4303:         Ket
                   4304:         End
                   4305: ------------------------------------------------------------------
                   4306: Capturing subpattern count = 1
                   4307: Named capturing subpatterns:
                   4308:   one   1
                   4309: Options: no_auto_capture
                   4310: First char = 'a'
                   4311: Need char = 'c'
                   4312:   abc
                   4313:  0: abc
                   4314:  1: a
                   4315: 
                   4316: /(a)(?P<named>bc)/INDZ
                   4317: ------------------------------------------------------------------
                   4318:         Bra
                   4319:         Bra
                   4320:         a
                   4321:         Ket
                   4322:         CBra 1
                   4323:         bc
                   4324:         Ket
                   4325:         Ket
                   4326:         End
                   4327: ------------------------------------------------------------------
                   4328: Capturing subpattern count = 1
                   4329: Named capturing subpatterns:
                   4330:   named   1
                   4331: Options: no_auto_capture
                   4332: First char = 'a'
                   4333: Need char = 'c'
                   4334: 
                   4335: /(a+)*zz/I
                   4336: Capturing subpattern count = 1
                   4337: No options
                   4338: No first char
                   4339: Need char = 'z'
                   4340:   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
                   4341: Minimum match() limit = 8
                   4342: Minimum match() recursion limit = 6
                   4343:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
                   4344:  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   4345:   aaaaaaaaaaaaaz\M
                   4346: Minimum match() limit = 32768
                   4347: Minimum match() recursion limit = 42
                   4348: No match
                   4349: 
                   4350: /(aaa(?C1)bbb|ab)/I
                   4351: Capturing subpattern count = 1
                   4352: No options
                   4353: First char = 'a'
                   4354: Need char = 'b'
                   4355:    aaabbb
                   4356: --->aaabbb
                   4357:   1 ^  ^       b
                   4358:  0: aaabbb
                   4359:  1: aaabbb
                   4360:    aaabbb\C*0
                   4361: --->aaabbb
                   4362:   1 ^  ^       b
                   4363:  0: aaabbb
                   4364:  1: aaabbb
                   4365:    aaabbb\C*1
                   4366: --->aaabbb
                   4367:   1 ^  ^       b
                   4368: Callout data = 1
                   4369:  0: ab
                   4370:  1: ab
                   4371:    aaabbb\C*-1
                   4372: --->aaabbb
                   4373:   1 ^  ^       b
                   4374: Callout data = -1
                   4375: No match
                   4376: 
                   4377: /ab(?P<one>cd)ef(?P<two>gh)/I
                   4378: Capturing subpattern count = 2
                   4379: Named capturing subpatterns:
                   4380:   one   1
                   4381:   two   2
                   4382: No options
                   4383: First char = 'a'
                   4384: Need char = 'h'
                   4385:     abcdefgh
                   4386:  0: abcdefgh
                   4387:  1: cd
                   4388:  2: gh
                   4389:     abcdefgh\C1\Gtwo
                   4390:  0: abcdefgh
                   4391:  1: cd
                   4392:  2: gh
                   4393:  1C cd (2)
                   4394:   G gh (2) two
                   4395:     abcdefgh\Cone\Ctwo
                   4396:  0: abcdefgh
                   4397:  1: cd
                   4398:  2: gh
                   4399:   C cd (2) one
                   4400:   C gh (2) two
                   4401:     abcdefgh\Cthree
                   4402: no parentheses with name "three"
                   4403:  0: abcdefgh
                   4404:  1: cd
                   4405:  2: gh
                   4406: copy substring three failed -7
                   4407: 
                   4408: /(?P<Tes>)(?P<Test>)/DZ
                   4409: ------------------------------------------------------------------
                   4410:         Bra
                   4411:         CBra 1
                   4412:         Ket
                   4413:         CBra 2
                   4414:         Ket
                   4415:         Ket
                   4416:         End
                   4417: ------------------------------------------------------------------
                   4418: Capturing subpattern count = 2
                   4419: Named capturing subpatterns:
                   4420:   Tes    1
                   4421:   Test   2
                   4422: No options
                   4423: No first char
                   4424: No need char
                   4425: 
                   4426: /(?P<Test>)(?P<Tes>)/DZ
                   4427: ------------------------------------------------------------------
                   4428:         Bra
                   4429:         CBra 1
                   4430:         Ket
                   4431:         CBra 2
                   4432:         Ket
                   4433:         Ket
                   4434:         End
                   4435: ------------------------------------------------------------------
                   4436: Capturing subpattern count = 2
                   4437: Named capturing subpatterns:
                   4438:   Tes    2
                   4439:   Test   1
                   4440: No options
                   4441: No first char
                   4442: No need char
                   4443: 
                   4444: /(?P<Z>zz)(?P<A>aa)/I
                   4445: Capturing subpattern count = 2
                   4446: Named capturing subpatterns:
                   4447:   A   2
                   4448:   Z   1
                   4449: No options
                   4450: First char = 'z'
                   4451: Need char = 'a'
                   4452:     zzaa\CZ
                   4453:  0: zzaa
                   4454:  1: zz
                   4455:  2: aa
                   4456:   C zz (2) Z
                   4457:     zzaa\CA
                   4458:  0: zzaa
                   4459:  1: zz
                   4460:  2: aa
                   4461:   C aa (2) A
                   4462: 
                   4463: /(?P<x>eks)(?P<x>eccs)/I
                   4464: Failed: two named subpatterns have the same name at offset 15
                   4465: 
                   4466: /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
                   4467: Failed: two named subpatterns have the same name at offset 30
                   4468: 
                   4469: "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
                   4470: Capturing subpattern count = 3
                   4471: Named capturing subpatterns:
                   4472:   elem   2
                   4473: No options
                   4474: First char = '['
                   4475: Need char = ']'
                   4476:     [10,20,30,5,5,4,4,2,43,23,4234]
                   4477:  0: [10,20,30,5,5,4,4,2,43,23,4234]
                   4478:  1: 10,20,30,5,5,4,4,2,43,23,4234
                   4479:  2: 10
                   4480:  3: ,4234
                   4481:     *** Failers
                   4482: No match
                   4483:     []
                   4484: No match
                   4485: 
                   4486: "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
                   4487: Capturing subpattern count = 3
                   4488: Named capturing subpatterns:
                   4489:   elem   2
                   4490: No options
                   4491: First char = '['
                   4492: Need char = ']'
                   4493:     [10,20,30,5,5,4,4,2,43,23,4234]
                   4494:  0: [10,20,30,5,5,4,4,2,43,23,4234]
                   4495:  1: 10,20,30,5,5,4,4,2,43,23,4234
                   4496:  2: 10
                   4497:  3: ,4234
                   4498:     []
                   4499:  0: []
                   4500: 
                   4501: /(a(b(?2)c))?/DZ
                   4502: ------------------------------------------------------------------
                   4503:         Bra
                   4504:         Brazero
                   4505:         CBra 1
                   4506:         a
                   4507:         CBra 2
                   4508:         b
                   4509:         Recurse
                   4510:         c
                   4511:         Ket
                   4512:         Ket
                   4513:         Ket
                   4514:         End
                   4515: ------------------------------------------------------------------
                   4516: Capturing subpattern count = 2
                   4517: No options
                   4518: No first char
                   4519: No need char
                   4520: 
                   4521: /(a(b(?2)c))*/DZ
                   4522: ------------------------------------------------------------------
                   4523:         Bra
                   4524:         Brazero
                   4525:         CBra 1
                   4526:         a
                   4527:         CBra 2
                   4528:         b
                   4529:         Recurse
                   4530:         c
                   4531:         Ket
                   4532:         KetRmax
                   4533:         Ket
                   4534:         End
                   4535: ------------------------------------------------------------------
                   4536: Capturing subpattern count = 2
                   4537: No options
                   4538: No first char
                   4539: No need char
                   4540: 
                   4541: /(a(b(?2)c)){0,2}/DZ
                   4542: ------------------------------------------------------------------
                   4543:         Bra
                   4544:         Brazero
                   4545:         Bra
                   4546:         CBra 1
                   4547:         a
                   4548:         CBra 2
                   4549:         b
                   4550:         Recurse
                   4551:         c
                   4552:         Ket
                   4553:         Ket
                   4554:         Brazero
                   4555:         CBra 1
                   4556:         a
                   4557:         CBra 2
                   4558:         b
                   4559:         Recurse
                   4560:         c
                   4561:         Ket
                   4562:         Ket
                   4563:         Ket
                   4564:         Ket
                   4565:         End
                   4566: ------------------------------------------------------------------
                   4567: Capturing subpattern count = 2
                   4568: No options
                   4569: No first char
                   4570: No need char
                   4571: 
                   4572: /[ab]{1}+/DZ
                   4573: ------------------------------------------------------------------
                   4574:         Bra
                   4575:         Once
                   4576:         [ab]{1,1}
                   4577:         Ket
                   4578:         Ket
                   4579:         End
                   4580: ------------------------------------------------------------------
                   4581: Capturing subpattern count = 0
                   4582: No options
                   4583: No first char
                   4584: No need char
                   4585: 
                   4586: /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
                   4587: Capturing subpattern count = 3
                   4588: Options: caseless
                   4589: No first char
                   4590: Need char = 'g' (caseless)
                   4591:      Baby Bjorn Active Carrier - With free SHIPPING!!
                   4592:  0: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4593:  1: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4594: 
                   4595: /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
                   4596: Capturing subpattern count = 3
                   4597: Options: caseless
                   4598: No first char
                   4599: Need char = 'g' (caseless)
                   4600: Subject length lower bound = 8
                   4601: No set of starting bytes
                   4602:      Baby Bjorn Active Carrier - With free SHIPPING!!
                   4603:  0: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4604:  1: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4605: 
                   4606: /a*.*b/ISDZ
                   4607: ------------------------------------------------------------------
                   4608:         Bra
                   4609:         a*
                   4610:         Any*
                   4611:         b
                   4612:         Ket
                   4613:         End
                   4614: ------------------------------------------------------------------
                   4615: Capturing subpattern count = 0
                   4616: No options
                   4617: No first char
                   4618: Need char = 'b'
                   4619: Subject length lower bound = 1
                   4620: No set of starting bytes
                   4621: 
                   4622: /(a|b)*.?c/ISDZ
                   4623: ------------------------------------------------------------------
                   4624:         Bra
                   4625:         Brazero
                   4626:         CBra 1
                   4627:         a
                   4628:         Alt
                   4629:         b
                   4630:         KetRmax
                   4631:         Any?
                   4632:         c
                   4633:         Ket
                   4634:         End
                   4635: ------------------------------------------------------------------
                   4636: Capturing subpattern count = 1
                   4637: No options
                   4638: No first char
                   4639: Need char = 'c'
                   4640: Subject length lower bound = 1
                   4641: No set of starting bytes
                   4642: 
                   4643: /abc(?C255)de(?C)f/DZ
                   4644: ------------------------------------------------------------------
                   4645:         Bra
                   4646:         abc
                   4647:         Callout 255 10 1
                   4648:         de
                   4649:         Callout 0 16 1
                   4650:         f
                   4651:         Ket
                   4652:         End
                   4653: ------------------------------------------------------------------
                   4654: Capturing subpattern count = 0
                   4655: No options
                   4656: First char = 'a'
                   4657: Need char = 'f'
                   4658: 
                   4659: /abcde/ICDZ
                   4660: ------------------------------------------------------------------
                   4661:         Bra
                   4662:         Callout 255 0 1
                   4663:         a
                   4664:         Callout 255 1 1
                   4665:         b
                   4666:         Callout 255 2 1
                   4667:         c
                   4668:         Callout 255 3 1
                   4669:         d
                   4670:         Callout 255 4 1
                   4671:         e
                   4672:         Callout 255 5 0
                   4673:         Ket
                   4674:         End
                   4675: ------------------------------------------------------------------
                   4676: Capturing subpattern count = 0
                   4677: Options:
                   4678: First char = 'a'
                   4679: Need char = 'e'
                   4680:   abcde
                   4681: --->abcde
                   4682:  +0 ^         a
                   4683:  +1 ^^        b
                   4684:  +2 ^ ^       c
                   4685:  +3 ^  ^      d
                   4686:  +4 ^   ^     e
                   4687:  +5 ^    ^    
                   4688:  0: abcde
                   4689:   abcdfe
                   4690: --->abcdfe
                   4691:  +0 ^          a
                   4692:  +1 ^^         b
                   4693:  +2 ^ ^        c
                   4694:  +3 ^  ^       d
                   4695:  +4 ^   ^      e
                   4696: No match
                   4697: 
                   4698: /a*b/ICDZS
                   4699: ------------------------------------------------------------------
                   4700:         Bra
                   4701:         Callout 255 0 2
                   4702:         a*+
                   4703:         Callout 255 2 1
                   4704:         b
                   4705:         Callout 255 3 0
                   4706:         Ket
                   4707:         End
                   4708: ------------------------------------------------------------------
                   4709: Capturing subpattern count = 0
                   4710: Options:
                   4711: No first char
                   4712: Need char = 'b'
                   4713: Subject length lower bound = 1
                   4714: Starting byte set: a b 
                   4715:   ab
                   4716: --->ab
                   4717:  +0 ^      a*
                   4718:  +2 ^^     b
                   4719:  +3 ^ ^    
                   4720:  0: ab
                   4721:   aaaab
                   4722: --->aaaab
                   4723:  +0 ^         a*
                   4724:  +2 ^   ^     b
                   4725:  +3 ^    ^    
                   4726:  0: aaaab
                   4727:   aaaacb
                   4728: --->aaaacb
                   4729:  +0 ^          a*
                   4730:  +2 ^   ^      b
                   4731:  +0  ^         a*
                   4732:  +2  ^  ^      b
                   4733:  +0   ^        a*
                   4734:  +2   ^ ^      b
                   4735:  +0    ^       a*
                   4736:  +2    ^^      b
                   4737:  +0      ^     a*
                   4738:  +2      ^     b
                   4739:  +3      ^^    
                   4740:  0: b
                   4741: 
                   4742: /a*b/ICDZSS
                   4743: ------------------------------------------------------------------
                   4744:         Bra
                   4745:         Callout 255 0 2
                   4746:         a*+
                   4747:         Callout 255 2 1
                   4748:         b
                   4749:         Callout 255 3 0
                   4750:         Ket
                   4751:         End
                   4752: ------------------------------------------------------------------
                   4753: Capturing subpattern count = 0
                   4754: Options:
                   4755: No first char
                   4756: Need char = 'b'
                   4757:   ab
                   4758: --->ab
                   4759:  +0 ^      a*
                   4760:  +2 ^^     b
                   4761:  +3 ^ ^    
                   4762:  0: ab
                   4763:   aaaab
                   4764: --->aaaab
                   4765:  +0 ^         a*
                   4766:  +2 ^   ^     b
                   4767:  +3 ^    ^    
                   4768:  0: aaaab
                   4769:   aaaacb
                   4770: --->aaaacb
                   4771:  +0 ^          a*
                   4772:  +2 ^   ^      b
                   4773:  +0  ^         a*
                   4774:  +2  ^  ^      b
                   4775:  +0   ^        a*
                   4776:  +2   ^ ^      b
                   4777:  +0    ^       a*
                   4778:  +2    ^^      b
                   4779:  +0     ^      a*
                   4780:  +2     ^      b
                   4781:  +0      ^     a*
                   4782:  +2      ^     b
                   4783:  +3      ^^    
                   4784:  0: b
                   4785: 
                   4786: /a+b/ICDZ
                   4787: ------------------------------------------------------------------
                   4788:         Bra
                   4789:         Callout 255 0 2
                   4790:         a++
                   4791:         Callout 255 2 1
                   4792:         b
                   4793:         Callout 255 3 0
                   4794:         Ket
                   4795:         End
                   4796: ------------------------------------------------------------------
                   4797: Capturing subpattern count = 0
                   4798: Options:
                   4799: First char = 'a'
                   4800: Need char = 'b'
                   4801:   ab
                   4802: --->ab
                   4803:  +0 ^      a+
                   4804:  +2 ^^     b
                   4805:  +3 ^ ^    
                   4806:  0: ab
                   4807:   aaaab
                   4808: --->aaaab
                   4809:  +0 ^         a+
                   4810:  +2 ^   ^     b
                   4811:  +3 ^    ^    
                   4812:  0: aaaab
                   4813:   aaaacb
                   4814: --->aaaacb
                   4815:  +0 ^          a+
                   4816:  +2 ^   ^      b
                   4817:  +0  ^         a+
                   4818:  +2  ^  ^      b
                   4819:  +0   ^        a+
                   4820:  +2   ^ ^      b
                   4821:  +0    ^       a+
                   4822:  +2    ^^      b
                   4823: No match
                   4824: 
                   4825: /(abc|def)x/ICDZS
                   4826: ------------------------------------------------------------------
                   4827:         Bra
                   4828:         Callout 255 0 9
                   4829:         CBra 1
                   4830:         Callout 255 1 1
                   4831:         a
                   4832:         Callout 255 2 1
                   4833:         b
                   4834:         Callout 255 3 1
                   4835:         c
                   4836:         Callout 255 4 0
                   4837:         Alt
                   4838:         Callout 255 5 1
                   4839:         d
                   4840:         Callout 255 6 1
                   4841:         e
                   4842:         Callout 255 7 1
                   4843:         f
                   4844:         Callout 255 8 0
                   4845:         Ket
                   4846:         Callout 255 9 1
                   4847:         x
                   4848:         Callout 255 10 0
                   4849:         Ket
                   4850:         End
                   4851: ------------------------------------------------------------------
                   4852: Capturing subpattern count = 1
                   4853: Options:
                   4854: No first char
                   4855: Need char = 'x'
                   4856: Subject length lower bound = 4
                   4857: Starting byte set: a d 
                   4858:   abcx
                   4859: --->abcx
                   4860:  +0 ^        (abc|def)
                   4861:  +1 ^        a
                   4862:  +2 ^^       b
                   4863:  +3 ^ ^      c
                   4864:  +4 ^  ^     |
                   4865:  +9 ^  ^     x
                   4866: +10 ^   ^    
                   4867:  0: abcx
                   4868:  1: abc
                   4869:   defx
                   4870: --->defx
                   4871:  +0 ^        (abc|def)
                   4872:  +1 ^        a
                   4873:  +5 ^        d
                   4874:  +6 ^^       e
                   4875:  +7 ^ ^      f
                   4876:  +8 ^  ^     )
                   4877:  +9 ^  ^     x
                   4878: +10 ^   ^    
                   4879:  0: defx
                   4880:  1: def
                   4881:   ** Failers 
                   4882: No match
                   4883:   abcdefzx
                   4884: --->abcdefzx
                   4885:  +0 ^            (abc|def)
                   4886:  +1 ^            a
                   4887:  +2 ^^           b
                   4888:  +3 ^ ^          c
                   4889:  +4 ^  ^         |
                   4890:  +9 ^  ^         x
                   4891:  +5 ^            d
                   4892:  +0    ^         (abc|def)
                   4893:  +1    ^         a
                   4894:  +5    ^         d
                   4895:  +6    ^^        e
                   4896:  +7    ^ ^       f
                   4897:  +8    ^  ^      )
                   4898:  +9    ^  ^      x
                   4899: No match
                   4900: 
                   4901: /(abc|def)x/ICDZSS
                   4902: ------------------------------------------------------------------
                   4903:         Bra
                   4904:         Callout 255 0 9
                   4905:         CBra 1
                   4906:         Callout 255 1 1
                   4907:         a
                   4908:         Callout 255 2 1
                   4909:         b
                   4910:         Callout 255 3 1
                   4911:         c
                   4912:         Callout 255 4 0
                   4913:         Alt
                   4914:         Callout 255 5 1
                   4915:         d
                   4916:         Callout 255 6 1
                   4917:         e
                   4918:         Callout 255 7 1
                   4919:         f
                   4920:         Callout 255 8 0
                   4921:         Ket
                   4922:         Callout 255 9 1
                   4923:         x
                   4924:         Callout 255 10 0
                   4925:         Ket
                   4926:         End
                   4927: ------------------------------------------------------------------
                   4928: Capturing subpattern count = 1
                   4929: Options:
                   4930: No first char
                   4931: Need char = 'x'
                   4932:   abcx
                   4933: --->abcx
                   4934:  +0 ^        (abc|def)
                   4935:  +1 ^        a
                   4936:  +2 ^^       b
                   4937:  +3 ^ ^      c
                   4938:  +4 ^  ^     |
                   4939:  +9 ^  ^     x
                   4940: +10 ^   ^    
                   4941:  0: abcx
                   4942:  1: abc
                   4943:   defx
                   4944: --->defx
                   4945:  +0 ^        (abc|def)
                   4946:  +1 ^        a
                   4947:  +5 ^        d
                   4948:  +6 ^^       e
                   4949:  +7 ^ ^      f
                   4950:  +8 ^  ^     )
                   4951:  +9 ^  ^     x
                   4952: +10 ^   ^    
                   4953:  0: defx
                   4954:  1: def
                   4955:   ** Failers 
                   4956: No match
                   4957:   abcdefzx
                   4958: --->abcdefzx
                   4959:  +0 ^            (abc|def)
                   4960:  +1 ^            a
                   4961:  +2 ^^           b
                   4962:  +3 ^ ^          c
                   4963:  +4 ^  ^         |
                   4964:  +9 ^  ^         x
                   4965:  +5 ^            d
                   4966:  +0  ^           (abc|def)
                   4967:  +1  ^           a
                   4968:  +5  ^           d
                   4969:  +0   ^          (abc|def)
                   4970:  +1   ^          a
                   4971:  +5   ^          d
                   4972:  +0    ^         (abc|def)
                   4973:  +1    ^         a
                   4974:  +5    ^         d
                   4975:  +6    ^^        e
                   4976:  +7    ^ ^       f
                   4977:  +8    ^  ^      )
                   4978:  +9    ^  ^      x
                   4979:  +0     ^        (abc|def)
                   4980:  +1     ^        a
                   4981:  +5     ^        d
                   4982:  +0      ^       (abc|def)
                   4983:  +1      ^       a
                   4984:  +5      ^       d
                   4985:  +0       ^      (abc|def)
                   4986:  +1       ^      a
                   4987:  +5       ^      d
                   4988:  +0        ^     (abc|def)
                   4989:  +1        ^     a
                   4990:  +5        ^     d
                   4991: No match
                   4992: 
                   4993: /(ab|cd){3,4}/IC
                   4994: Capturing subpattern count = 1
                   4995: Options:
                   4996: No first char
                   4997: No need char
                   4998:   ababab
                   4999: --->ababab
                   5000:  +0 ^          (ab|cd){3,4}
                   5001:  +1 ^          a
                   5002:  +2 ^^         b
                   5003:  +3 ^ ^        |
                   5004:  +1 ^ ^        a
                   5005:  +2 ^  ^       b
                   5006:  +3 ^   ^      |
                   5007:  +1 ^   ^      a
                   5008:  +2 ^    ^     b
                   5009:  +3 ^     ^    |
                   5010:  +1 ^     ^    a
                   5011:  +4 ^     ^    c
                   5012: +12 ^     ^    
                   5013:  0: ababab
                   5014:  1: ab
                   5015:   abcdabcd
                   5016: --->abcdabcd
                   5017:  +0 ^            (ab|cd){3,4}
                   5018:  +1 ^            a
                   5019:  +2 ^^           b
                   5020:  +3 ^ ^          |
                   5021:  +1 ^ ^          a
                   5022:  +4 ^ ^          c
                   5023:  +5 ^  ^         d
                   5024:  +6 ^   ^        )
                   5025:  +1 ^   ^        a
                   5026:  +2 ^    ^       b
                   5027:  +3 ^     ^      |
                   5028:  +1 ^     ^      a
                   5029:  +4 ^     ^      c
                   5030:  +5 ^      ^     d
                   5031:  +6 ^       ^    )
                   5032: +12 ^       ^    
                   5033:  0: abcdabcd
                   5034:  1: cd
                   5035:   abcdcdcdcdcd
                   5036: --->abcdcdcdcdcd
                   5037:  +0 ^                (ab|cd){3,4}
                   5038:  +1 ^                a
                   5039:  +2 ^^               b
                   5040:  +3 ^ ^              |
                   5041:  +1 ^ ^              a
                   5042:  +4 ^ ^              c
                   5043:  +5 ^  ^             d
                   5044:  +6 ^   ^            )
                   5045:  +1 ^   ^            a
                   5046:  +4 ^   ^            c
                   5047:  +5 ^    ^           d
                   5048:  +6 ^     ^          )
                   5049:  +1 ^     ^          a
                   5050:  +4 ^     ^          c
                   5051:  +5 ^      ^         d
                   5052:  +6 ^       ^        )
                   5053: +12 ^       ^        
                   5054:  0: abcdcdcd
                   5055:  1: cd
                   5056: 
                   5057: /([ab]{,4}c|xy)/ICDZS
                   5058: ------------------------------------------------------------------
                   5059:         Bra
                   5060:         Callout 255 0 14
                   5061:         CBra 1
                   5062:         Callout 255 1 4
                   5063:         [ab]
                   5064:         Callout 255 5 1
                   5065:         {
                   5066:         Callout 255 6 1
                   5067:         ,
                   5068:         Callout 255 7 1
                   5069:         4
                   5070:         Callout 255 8 1
                   5071:         }
                   5072:         Callout 255 9 1
                   5073:         c
                   5074:         Callout 255 10 0
                   5075:         Alt
                   5076:         Callout 255 11 1
                   5077:         x
                   5078:         Callout 255 12 1
                   5079:         y
                   5080:         Callout 255 13 0
                   5081:         Ket
                   5082:         Callout 255 14 0
                   5083:         Ket
                   5084:         End
                   5085: ------------------------------------------------------------------
                   5086: Capturing subpattern count = 1
                   5087: Options:
                   5088: No first char
                   5089: No need char
                   5090: Subject length lower bound = 2
                   5091: Starting byte set: a b x 
                   5092:     Note: that { does NOT introduce a quantifier
                   5093: --->Note: that { does NOT introduce a quantifier
                   5094:  +0         ^                                        ([ab]{,4}c|xy)
                   5095:  +1         ^                                        [ab]
                   5096:  +5         ^^                                       {
                   5097: +11         ^                                        x
                   5098:  +0                                 ^                ([ab]{,4}c|xy)
                   5099:  +1                                 ^                [ab]
                   5100:  +5                                 ^^               {
                   5101: +11                                 ^                x
                   5102:  +0                                     ^            ([ab]{,4}c|xy)
                   5103:  +1                                     ^            [ab]
                   5104:  +5                                     ^^           {
                   5105: +11                                     ^            x
                   5106: No match
                   5107: 
                   5108: /([ab]{,4}c|xy)/ICDZSS
                   5109: ------------------------------------------------------------------
                   5110:         Bra
                   5111:         Callout 255 0 14
                   5112:         CBra 1
                   5113:         Callout 255 1 4
                   5114:         [ab]
                   5115:         Callout 255 5 1
                   5116:         {
                   5117:         Callout 255 6 1
                   5118:         ,
                   5119:         Callout 255 7 1
                   5120:         4
                   5121:         Callout 255 8 1
                   5122:         }
                   5123:         Callout 255 9 1
                   5124:         c
                   5125:         Callout 255 10 0
                   5126:         Alt
                   5127:         Callout 255 11 1
                   5128:         x
                   5129:         Callout 255 12 1
                   5130:         y
                   5131:         Callout 255 13 0
                   5132:         Ket
                   5133:         Callout 255 14 0
                   5134:         Ket
                   5135:         End
                   5136: ------------------------------------------------------------------
                   5137: Capturing subpattern count = 1
                   5138: Options:
                   5139: No first char
                   5140: No need char
                   5141:     Note: that { does NOT introduce a quantifier
                   5142: --->Note: that { does NOT introduce a quantifier
                   5143:  +0 ^                                                ([ab]{,4}c|xy)
                   5144:  +1 ^                                                [ab]
                   5145: +11 ^                                                x
                   5146:  +0  ^                                               ([ab]{,4}c|xy)
                   5147:  +1  ^                                               [ab]
                   5148: +11  ^                                               x
                   5149:  +0   ^                                              ([ab]{,4}c|xy)
                   5150:  +1   ^                                              [ab]
                   5151: +11   ^                                              x
                   5152:  +0    ^                                             ([ab]{,4}c|xy)
                   5153:  +1    ^                                             [ab]
                   5154: +11    ^                                             x
                   5155:  +0     ^                                            ([ab]{,4}c|xy)
                   5156:  +1     ^                                            [ab]
                   5157: +11     ^                                            x
                   5158:  +0      ^                                           ([ab]{,4}c|xy)
                   5159:  +1      ^                                           [ab]
                   5160: +11      ^                                           x
                   5161:  +0       ^                                          ([ab]{,4}c|xy)
                   5162:  +1       ^                                          [ab]
                   5163: +11       ^                                          x
                   5164:  +0        ^                                         ([ab]{,4}c|xy)
                   5165:  +1        ^                                         [ab]
                   5166: +11        ^                                         x
                   5167:  +0         ^                                        ([ab]{,4}c|xy)
                   5168:  +1         ^                                        [ab]
                   5169:  +5         ^^                                       {
                   5170: +11         ^                                        x
                   5171:  +0          ^                                       ([ab]{,4}c|xy)
                   5172:  +1          ^                                       [ab]
                   5173: +11          ^                                       x
                   5174:  +0           ^                                      ([ab]{,4}c|xy)
                   5175:  +1           ^                                      [ab]
                   5176: +11           ^                                      x
                   5177:  +0            ^                                     ([ab]{,4}c|xy)
                   5178:  +1            ^                                     [ab]
                   5179: +11            ^                                     x
                   5180:  +0             ^                                    ([ab]{,4}c|xy)
                   5181:  +1             ^                                    [ab]
                   5182: +11             ^                                    x
                   5183:  +0              ^                                   ([ab]{,4}c|xy)
                   5184:  +1              ^                                   [ab]
                   5185: +11              ^                                   x
                   5186:  +0               ^                                  ([ab]{,4}c|xy)
                   5187:  +1               ^                                  [ab]
                   5188: +11               ^                                  x
                   5189:  +0                ^                                 ([ab]{,4}c|xy)
                   5190:  +1                ^                                 [ab]
                   5191: +11                ^                                 x
                   5192:  +0                 ^                                ([ab]{,4}c|xy)
                   5193:  +1                 ^                                [ab]
                   5194: +11                 ^                                x
                   5195:  +0                  ^                               ([ab]{,4}c|xy)
                   5196:  +1                  ^                               [ab]
                   5197: +11                  ^                               x
                   5198:  +0                   ^                              ([ab]{,4}c|xy)
                   5199:  +1                   ^                              [ab]
                   5200: +11                   ^                              x
                   5201:  +0                    ^                             ([ab]{,4}c|xy)
                   5202:  +1                    ^                             [ab]
                   5203: +11                    ^                             x
                   5204:  +0                     ^                            ([ab]{,4}c|xy)
                   5205:  +1                     ^                            [ab]
                   5206: +11                     ^                            x
                   5207:  +0                      ^                           ([ab]{,4}c|xy)
                   5208:  +1                      ^                           [ab]
                   5209: +11                      ^                           x
                   5210:  +0                       ^                          ([ab]{,4}c|xy)
                   5211:  +1                       ^                          [ab]
                   5212: +11                       ^                          x
                   5213:  +0                        ^                         ([ab]{,4}c|xy)
                   5214:  +1                        ^                         [ab]
                   5215: +11                        ^                         x
                   5216:  +0                         ^                        ([ab]{,4}c|xy)
                   5217:  +1                         ^                        [ab]
                   5218: +11                         ^                        x
                   5219:  +0                          ^                       ([ab]{,4}c|xy)
                   5220:  +1                          ^                       [ab]
                   5221: +11                          ^                       x
                   5222:  +0                           ^                      ([ab]{,4}c|xy)
                   5223:  +1                           ^                      [ab]
                   5224: +11                           ^                      x
                   5225:  +0                            ^                     ([ab]{,4}c|xy)
                   5226:  +1                            ^                     [ab]
                   5227: +11                            ^                     x
                   5228:  +0                             ^                    ([ab]{,4}c|xy)
                   5229:  +1                             ^                    [ab]
                   5230: +11                             ^                    x
                   5231:  +0                              ^                   ([ab]{,4}c|xy)
                   5232:  +1                              ^                   [ab]
                   5233: +11                              ^                   x
                   5234:  +0                               ^                  ([ab]{,4}c|xy)
                   5235:  +1                               ^                  [ab]
                   5236: +11                               ^                  x
                   5237:  +0                                ^                 ([ab]{,4}c|xy)
                   5238:  +1                                ^                 [ab]
                   5239: +11                                ^                 x
                   5240:  +0                                 ^                ([ab]{,4}c|xy)
                   5241:  +1                                 ^                [ab]
                   5242:  +5                                 ^^               {
                   5243: +11                                 ^                x
                   5244:  +0                                  ^               ([ab]{,4}c|xy)
                   5245:  +1                                  ^               [ab]
                   5246: +11                                  ^               x
                   5247:  +0                                   ^              ([ab]{,4}c|xy)
                   5248:  +1                                   ^              [ab]
                   5249: +11                                   ^              x
                   5250:  +0                                    ^             ([ab]{,4}c|xy)
                   5251:  +1                                    ^             [ab]
                   5252: +11                                    ^             x
                   5253:  +0                                     ^            ([ab]{,4}c|xy)
                   5254:  +1                                     ^            [ab]
                   5255:  +5                                     ^^           {
                   5256: +11                                     ^            x
                   5257:  +0                                      ^           ([ab]{,4}c|xy)
                   5258:  +1                                      ^           [ab]
                   5259: +11                                      ^           x
                   5260:  +0                                       ^          ([ab]{,4}c|xy)
                   5261:  +1                                       ^          [ab]
                   5262: +11                                       ^          x
                   5263:  +0                                        ^         ([ab]{,4}c|xy)
                   5264:  +1                                        ^         [ab]
                   5265: +11                                        ^         x
                   5266:  +0                                         ^        ([ab]{,4}c|xy)
                   5267:  +1                                         ^        [ab]
                   5268: +11                                         ^        x
                   5269:  +0                                          ^       ([ab]{,4}c|xy)
                   5270:  +1                                          ^       [ab]
                   5271: +11                                          ^       x
                   5272:  +0                                           ^      ([ab]{,4}c|xy)
                   5273:  +1                                           ^      [ab]
                   5274: +11                                           ^      x
                   5275:  +0                                            ^     ([ab]{,4}c|xy)
                   5276:  +1                                            ^     [ab]
                   5277: +11                                            ^     x
                   5278:  +0                                             ^    ([ab]{,4}c|xy)
                   5279:  +1                                             ^    [ab]
                   5280: +11                                             ^    x
                   5281: No match
                   5282: 
                   5283: /([ab]{1,4}c|xy){4,5}?123/ICDZ
                   5284: ------------------------------------------------------------------
                   5285:         Bra
                   5286:         Callout 255 0 21
                   5287:         CBra 1
                   5288:         Callout 255 1 9
                   5289:         [ab]{1,4}
                   5290:         Callout 255 10 1
                   5291:         c
                   5292:         Callout 255 11 0
                   5293:         Alt
                   5294:         Callout 255 12 1
                   5295:         x
                   5296:         Callout 255 13 1
                   5297:         y
                   5298:         Callout 255 14 0
                   5299:         Ket
                   5300:         CBra 1
                   5301:         Callout 255 1 9
                   5302:         [ab]{1,4}
                   5303:         Callout 255 10 1
                   5304:         c
                   5305:         Callout 255 11 0
                   5306:         Alt
                   5307:         Callout 255 12 1
                   5308:         x
                   5309:         Callout 255 13 1
                   5310:         y
                   5311:         Callout 255 14 0
                   5312:         Ket
                   5313:         CBra 1
                   5314:         Callout 255 1 9
                   5315:         [ab]{1,4}
                   5316:         Callout 255 10 1
                   5317:         c
                   5318:         Callout 255 11 0
                   5319:         Alt
                   5320:         Callout 255 12 1
                   5321:         x
                   5322:         Callout 255 13 1
                   5323:         y
                   5324:         Callout 255 14 0
                   5325:         Ket
                   5326:         CBra 1
                   5327:         Callout 255 1 9
                   5328:         [ab]{1,4}
                   5329:         Callout 255 10 1
                   5330:         c
                   5331:         Callout 255 11 0
                   5332:         Alt
                   5333:         Callout 255 12 1
                   5334:         x
                   5335:         Callout 255 13 1
                   5336:         y
                   5337:         Callout 255 14 0
                   5338:         Ket
                   5339:         Braminzero
                   5340:         CBra 1
                   5341:         Callout 255 1 9
                   5342:         [ab]{1,4}
                   5343:         Callout 255 10 1
                   5344:         c
                   5345:         Callout 255 11 0
                   5346:         Alt
                   5347:         Callout 255 12 1
                   5348:         x
                   5349:         Callout 255 13 1
                   5350:         y
                   5351:         Callout 255 14 0
                   5352:         Ket
                   5353:         Callout 255 21 1
                   5354:         1
                   5355:         Callout 255 22 1
                   5356:         2
                   5357:         Callout 255 23 1
                   5358:         3
                   5359:         Callout 255 24 0
                   5360:         Ket
                   5361:         End
                   5362: ------------------------------------------------------------------
                   5363: Capturing subpattern count = 1
                   5364: Options:
                   5365: No first char
                   5366: Need char = '3'
                   5367:     aacaacaacaacaac123
                   5368: --->aacaacaacaacaac123
                   5369:  +0 ^                      ([ab]{1,4}c|xy){4,5}?
                   5370:  +1 ^                      [ab]{1,4}
                   5371: +10 ^ ^                    c
                   5372: +11 ^  ^                   |
                   5373:  +1 ^  ^                   [ab]{1,4}
                   5374: +10 ^    ^                 c
                   5375: +11 ^     ^                |
                   5376:  +1 ^     ^                [ab]{1,4}
                   5377: +10 ^       ^              c
                   5378: +11 ^        ^             |
                   5379:  +1 ^        ^             [ab]{1,4}
                   5380: +10 ^          ^           c
                   5381: +11 ^           ^          |
                   5382: +21 ^           ^          1
                   5383:  +1 ^           ^          [ab]{1,4}
                   5384: +10 ^             ^        c
                   5385: +11 ^              ^       |
                   5386: +21 ^              ^       1
                   5387: +22 ^               ^      2
                   5388: +23 ^                ^     3
                   5389: +24 ^                 ^    
                   5390:  0: aacaacaacaacaac123
                   5391:  1: aac
                   5392: 
                   5393: /\b.*/I
                   5394: Capturing subpattern count = 0
                   5395: No options
                   5396: No first char
                   5397: No need char
                   5398:   ab cd\>1
                   5399:  0:  cd
                   5400: 
                   5401: /\b.*/Is
                   5402: Capturing subpattern count = 0
                   5403: Options: dotall
                   5404: No first char
                   5405: No need char
                   5406:   ab cd\>1
                   5407:  0:  cd
                   5408: 
                   5409: /(?!.bcd).*/I
                   5410: Capturing subpattern count = 0
                   5411: No options
                   5412: No first char
                   5413: No need char
                   5414:   Xbcd12345
                   5415:  0: bcd12345
                   5416: 
                   5417: /abcde/I
                   5418: Capturing subpattern count = 0
                   5419: No options
                   5420: First char = 'a'
                   5421: Need char = 'e'
                   5422:     ab\P
                   5423: Partial match: ab
                   5424:     abc\P
                   5425: Partial match: abc
                   5426:     abcd\P
                   5427: Partial match: abcd
                   5428:     abcde\P
                   5429:  0: abcde
                   5430:     the quick brown abc\P
                   5431: Partial match: abc
                   5432:     ** Failers\P
                   5433: No match
                   5434:     the quick brown abxyz fox\P
                   5435: No match
                   5436: 
                   5437: "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
                   5438: Capturing subpattern count = 3
                   5439: Options: anchored
                   5440: No first char
                   5441: Need char = '/'
                   5442:     13/05/04\P
                   5443:  0: 13/05/04
                   5444:  1: 13
                   5445:  2: 05
                   5446:     13/5/2004\P
                   5447:  0: 13/5/2004
                   5448:  1: 13
                   5449:  2: 5
                   5450:  3: 20
                   5451:     02/05/09\P
                   5452:  0: 02/05/09
                   5453:  1: 02
                   5454:  2: 05
                   5455:     1\P
                   5456: Partial match: 1
                   5457:     1/2\P
                   5458: Partial match: 1/2
                   5459:     1/2/0\P
                   5460: Partial match: 1/2/0
                   5461:     1/2/04\P
                   5462:  0: 1/2/04
                   5463:  1: 1
                   5464:  2: 2
                   5465:     0\P
                   5466: Partial match: 0
                   5467:     02/\P
                   5468: Partial match: 02/
                   5469:     02/0\P
                   5470: Partial match: 02/0
                   5471:     02/1\P
                   5472: Partial match: 02/1
                   5473:     ** Failers\P
                   5474: No match
                   5475:     \P
                   5476: No match
                   5477:     123\P
                   5478: No match
                   5479:     33/4/04\P
                   5480: No match
                   5481:     3/13/04\P
                   5482: No match
                   5483:     0/1/2003\P
                   5484: No match
                   5485:     0/\P
                   5486: No match
                   5487:     02/0/\P
                   5488: No match
                   5489:     02/13\P
                   5490: No match
                   5491: 
                   5492: /0{0,2}ABC/I
                   5493: Capturing subpattern count = 0
                   5494: No options
                   5495: No first char
                   5496: Need char = 'C'
                   5497: 
                   5498: /\d{3,}ABC/I
                   5499: Capturing subpattern count = 0
                   5500: No options
                   5501: No first char
                   5502: Need char = 'C'
                   5503: 
                   5504: /\d*ABC/I
                   5505: Capturing subpattern count = 0
                   5506: No options
                   5507: No first char
                   5508: Need char = 'C'
                   5509: 
                   5510: /[abc]+DE/I
                   5511: Capturing subpattern count = 0
                   5512: No options
                   5513: No first char
                   5514: Need char = 'E'
                   5515: 
                   5516: /[abc]?123/I
                   5517: Capturing subpattern count = 0
                   5518: No options
                   5519: No first char
                   5520: Need char = '3'
                   5521:     123\P
                   5522:  0: 123
                   5523:     a\P
                   5524: Partial match: a
                   5525:     b\P
                   5526: Partial match: b
                   5527:     c\P
                   5528: Partial match: c
                   5529:     c12\P
                   5530: Partial match: c12
                   5531:     c123\P
                   5532:  0: c123
                   5533: 
                   5534: /^(?:\d){3,5}X/I
                   5535: Capturing subpattern count = 0
                   5536: Options: anchored
                   5537: No first char
                   5538: Need char = 'X'
                   5539:     1\P
                   5540: Partial match: 1
                   5541:     123\P
                   5542: Partial match: 123
                   5543:     123X
                   5544:  0: 123X
                   5545:     1234\P
                   5546: Partial match: 1234
                   5547:     1234X
                   5548:  0: 1234X
                   5549:     12345\P
                   5550: Partial match: 12345
                   5551:     12345X
                   5552:  0: 12345X
                   5553:     *** Failers
                   5554: No match
                   5555:     1X
                   5556: No match
                   5557:     123456\P
                   5558: No match
                   5559: 
                   5560: /abc/IS>testsavedregex
                   5561: Capturing subpattern count = 0
                   5562: No options
                   5563: First char = 'a'
                   5564: Need char = 'c'
                   5565: Subject length lower bound = 3
                   5566: No set of starting bytes
                   5567: Compiled pattern written to testsavedregex
                   5568: Study data written to testsavedregex
                   5569: <testsavedregex
                   5570: Compiled pattern loaded from testsavedregex
                   5571: Study data loaded from testsavedregex
                   5572:     abc
                   5573:  0: abc
                   5574:     ** Failers
                   5575: No match
                   5576:     bca
                   5577: No match
                   5578: 
                   5579: /abc/ISS>testsavedregex
                   5580: Capturing subpattern count = 0
                   5581: No options
                   5582: First char = 'a'
                   5583: Need char = 'c'
                   5584: Compiled pattern written to testsavedregex
                   5585: <testsavedregex
                   5586: Compiled pattern loaded from testsavedregex
                   5587: No study data
                   5588:     abc
                   5589:  0: abc
                   5590:     ** Failers
                   5591: No match
                   5592:     bca
                   5593: No match
                   5594: 
                   5595: /abc/IFS>testsavedregex
                   5596: Capturing subpattern count = 0
                   5597: No options
                   5598: First char = 'a'
                   5599: Need char = 'c'
                   5600: Subject length lower bound = 3
                   5601: No set of starting bytes
                   5602: Compiled pattern written to testsavedregex
                   5603: Study data written to testsavedregex
                   5604: <testsavedregex
                   5605: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5606: Study data loaded from testsavedregex
                   5607:     abc
                   5608:  0: abc
                   5609:     ** Failers
                   5610: No match
                   5611:     bca
                   5612: No match
                   5613: 
                   5614: /abc/IFSS>testsavedregex
                   5615: Capturing subpattern count = 0
                   5616: No options
                   5617: First char = 'a'
                   5618: Need char = 'c'
                   5619: Compiled pattern written to testsavedregex
                   5620: <testsavedregex
                   5621: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5622: No study data
                   5623:     abc
                   5624:  0: abc
                   5625:     ** Failers
                   5626: No match
                   5627:     bca
                   5628: No match
                   5629: 
                   5630: /(a|b)/IS>testsavedregex
                   5631: Capturing subpattern count = 1
                   5632: No options
                   5633: No first char
                   5634: No need char
                   5635: Subject length lower bound = 1
                   5636: Starting byte set: a b 
                   5637: Compiled pattern written to testsavedregex
                   5638: Study data written to testsavedregex
                   5639: <testsavedregex
                   5640: Compiled pattern loaded from testsavedregex
                   5641: Study data loaded from testsavedregex
                   5642:     abc
                   5643:  0: a
                   5644:  1: a
                   5645:     ** Failers
                   5646:  0: a
                   5647:  1: a
                   5648:     def
                   5649: No match
                   5650: 
                   5651: /(a|b)/ISS>testsavedregex
                   5652: Capturing subpattern count = 1
                   5653: No options
                   5654: No first char
                   5655: No need char
                   5656: Compiled pattern written to testsavedregex
                   5657: <testsavedregex
                   5658: Compiled pattern loaded from testsavedregex
                   5659: No study data
                   5660:     abc
                   5661:  0: a
                   5662:  1: a
                   5663:     ** Failers
                   5664:  0: a
                   5665:  1: a
                   5666:     def
                   5667: No match
                   5668: 
                   5669: /(a|b)/ISF>testsavedregex
                   5670: Capturing subpattern count = 1
                   5671: No options
                   5672: No first char
                   5673: No need char
                   5674: Subject length lower bound = 1
                   5675: Starting byte set: a b 
                   5676: Compiled pattern written to testsavedregex
                   5677: Study data written to testsavedregex
                   5678: <testsavedregex
                   5679: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5680: Study data loaded from testsavedregex
                   5681:     abc
                   5682:  0: a
                   5683:  1: a
                   5684:     ** Failers
                   5685:  0: a
                   5686:  1: a
                   5687:     def
                   5688: No match
                   5689: 
                   5690: /(a|b)/ISSF>testsavedregex
                   5691: Capturing subpattern count = 1
                   5692: No options
                   5693: No first char
                   5694: No need char
                   5695: Compiled pattern written to testsavedregex
                   5696: <testsavedregex
                   5697: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5698: No study data
                   5699:     abc
                   5700:  0: a
                   5701:  1: a
                   5702:     ** Failers
                   5703:  0: a
                   5704:  1: a
                   5705:     def
                   5706: No match
                   5707: 
                   5708: ~<(\w+)/?>(.)*</(\1)>~smgI
                   5709: Capturing subpattern count = 3
                   5710: Max back reference = 1
                   5711: Options: multiline dotall
                   5712: First char = '<'
                   5713: Need char = '>'
                   5714:     \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>
                   5715:  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>
                   5716:  1: seite
                   5717:  2: \x0a
                   5718:  3: seite
                   5719: 
                   5720: /^a/IF
                   5721: Capturing subpattern count = 0
                   5722: Options: anchored
                   5723: No first char
                   5724: No need char
                   5725: 
                   5726: /line\nbreak/I
                   5727: Capturing subpattern count = 0
                   5728: Contains explicit CR or LF match
                   5729: No options
                   5730: First char = 'l'
                   5731: Need char = 'k'
                   5732:     this is a line\nbreak
                   5733:  0: line\x0abreak
                   5734:     line one\nthis is a line\nbreak in the second line
                   5735:  0: line\x0abreak
                   5736: 
                   5737: /line\nbreak/If
                   5738: Capturing subpattern count = 0
                   5739: Contains explicit CR or LF match
                   5740: Options: firstline
                   5741: First char = 'l'
                   5742: Need char = 'k'
                   5743:     this is a line\nbreak
                   5744:  0: line\x0abreak
                   5745:     ** Failers
                   5746: No match
                   5747:     line one\nthis is a line\nbreak in the second line
                   5748: No match
                   5749: 
                   5750: /line\nbreak/Imf
                   5751: Capturing subpattern count = 0
                   5752: Contains explicit CR or LF match
                   5753: Options: multiline firstline
                   5754: First char = 'l'
                   5755: Need char = 'k'
                   5756:     this is a line\nbreak
                   5757:  0: line\x0abreak
                   5758:     ** Failers
                   5759: No match
                   5760:     line one\nthis is a line\nbreak in the second line
                   5761: No match
                   5762: 
                   5763: /(?i)(?-i)AbCd/I
                   5764: Capturing subpattern count = 0
                   5765: No options
                   5766: First char = 'A'
                   5767: Need char = 'd'
                   5768:     AbCd
                   5769:  0: AbCd
                   5770:     ** Failers
                   5771: No match
                   5772:     abcd
                   5773: No match
                   5774: 
                   5775: /a{11111111111111111111}/I
                   5776: Failed: number too big in {} quantifier at offset 22
                   5777: 
                   5778: /(){64294967295}/I
                   5779: Failed: number too big in {} quantifier at offset 14
                   5780: 
                   5781: /(){2,4294967295}/I
                   5782: Failed: number too big in {} quantifier at offset 15
                   5783: 
                   5784: "(?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
                   5785: Capturing subpattern count = 1
                   5786: Max back reference = 1
                   5787: No options
                   5788: First char = 'a' (caseless)
                   5789: Need char = 'B'
                   5790:     abcdefghijklAkB
                   5791:  0: abcdefghijklAkB
                   5792:  1: k
                   5793: 
                   5794: "(?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
                   5795: Capturing subpattern count = 12
                   5796: Max back reference = 11
                   5797: Named capturing subpatterns:
                   5798:   n0    1
                   5799:   n1    2
                   5800:   n10  11
                   5801:   n11  12
                   5802:   n2    3
                   5803:   n3    4
                   5804:   n4    5
                   5805:   n5    6
                   5806:   n6    7
                   5807:   n7    8
                   5808:   n8    9
                   5809:   n9   10
                   5810: No options
                   5811: First char = 'a'
                   5812: Need char = 'B'
                   5813:     abcdefghijklAkB
                   5814:  0: abcdefghijklAkB
                   5815:  1: a
                   5816:  2: b
                   5817:  3: c
                   5818:  4: d
                   5819:  5: e
                   5820:  6: f
                   5821:  7: g
                   5822:  8: h
                   5823:  9: i
                   5824: 10: j
                   5825: 11: k
                   5826: 12: l
                   5827: 
                   5828: "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
                   5829: Capturing subpattern count = 12
                   5830: Max back reference = 11
                   5831: No options
                   5832: First char = 'a'
                   5833: Need char = 'B'
                   5834:     abcdefghijklAkB
                   5835:  0: abcdefghijklAkB
                   5836:  1: a
                   5837:  2: b
                   5838:  3: c
                   5839:  4: d
                   5840:  5: e
                   5841:  6: f
                   5842:  7: g
                   5843:  8: h
                   5844:  9: i
                   5845: 10: j
                   5846: 11: k
                   5847: 12: l
                   5848: 
                   5849: "(?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
                   5850: Capturing subpattern count = 101
                   5851: Named capturing subpatterns:
                   5852:   name0     1
                   5853:   name1     2
                   5854:   name10   11
                   5855:   name100 101
                   5856:   name11   12
                   5857:   name12   13
                   5858:   name13   14
                   5859:   name14   15
                   5860:   name15   16
                   5861:   name16   17
                   5862:   name17   18
                   5863:   name18   19
                   5864:   name19   20
                   5865:   name2     3
                   5866:   name20   21
                   5867:   name21   22
                   5868:   name22   23
                   5869:   name23   24
                   5870:   name24   25
                   5871:   name25   26
                   5872:   name26   27
                   5873:   name27   28
                   5874:   name28   29
                   5875:   name29   30
                   5876:   name3     4
                   5877:   name30   31
                   5878:   name31   32
                   5879:   name32   33
                   5880:   name33   34
                   5881:   name34   35
                   5882:   name35   36
                   5883:   name36   37
                   5884:   name37   38
                   5885:   name38   39
                   5886:   name39   40
                   5887:   name4     5
                   5888:   name40   41
                   5889:   name41   42
                   5890:   name42   43
                   5891:   name43   44
                   5892:   name44   45
                   5893:   name45   46
                   5894:   name46   47
                   5895:   name47   48
                   5896:   name48   49
                   5897:   name49   50
                   5898:   name5     6
                   5899:   name50   51
                   5900:   name51   52
                   5901:   name52   53
                   5902:   name53   54
                   5903:   name54   55
                   5904:   name55   56
                   5905:   name56   57
                   5906:   name57   58
                   5907:   name58   59
                   5908:   name59   60
                   5909:   name6     7
                   5910:   name60   61
                   5911:   name61   62
                   5912:   name62   63
                   5913:   name63   64
                   5914:   name64   65
                   5915:   name65   66
                   5916:   name66   67
                   5917:   name67   68
                   5918:   name68   69
                   5919:   name69   70
                   5920:   name7     8
                   5921:   name70   71
                   5922:   name71   72
                   5923:   name72   73
                   5924:   name73   74
                   5925:   name74   75
                   5926:   name75   76
                   5927:   name76   77
                   5928:   name77   78
                   5929:   name78   79
                   5930:   name79   80
                   5931:   name8     9
                   5932:   name80   81
                   5933:   name81   82
                   5934:   name82   83
                   5935:   name83   84
                   5936:   name84   85
                   5937:   name85   86
                   5938:   name86   87
                   5939:   name87   88
                   5940:   name88   89
                   5941:   name89   90
                   5942:   name9    10
                   5943:   name90   91
                   5944:   name91   92
                   5945:   name92   93
                   5946:   name93   94
                   5947:   name94   95
                   5948:   name95   96
                   5949:   name96   97
                   5950:   name97   98
                   5951:   name98   99
                   5952:   name99  100
                   5953: No options
                   5954: First char = 'a'
                   5955: Need char = 'a'
                   5956:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   5957: Matched, but too many substrings
                   5958:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   5959:  1: a
                   5960:  2: a
                   5961:  3: a
                   5962:  4: a
                   5963:  5: a
                   5964:  6: a
                   5965:  7: a
                   5966:  8: a
                   5967:  9: a
                   5968: 10: a
                   5969: 11: a
                   5970: 12: a
                   5971: 13: a
                   5972: 14: a
                   5973: 
                   5974: "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
                   5975: Capturing subpattern count = 101
                   5976: No options
                   5977: First char = 'a'
                   5978: Need char = 'a'
                   5979:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   5980: Matched, but too many substrings
                   5981:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   5982:  1: a
                   5983:  2: a
                   5984:  3: a
                   5985:  4: a
                   5986:  5: a
                   5987:  6: a
                   5988:  7: a
                   5989:  8: a
                   5990:  9: a
                   5991: 10: a
                   5992: 11: a
                   5993: 12: a
                   5994: 13: a
                   5995: 14: a
                   5996: 
                   5997: /[^()]*(?:\((?R)\)[^()]*)*/I
                   5998: Capturing subpattern count = 0
                   5999: No options
                   6000: No first char
                   6001: No need char
                   6002:     (this(and)that
                   6003:  0: 
                   6004:     (this(and)that)
                   6005:  0: (this(and)that)
                   6006:     (this(and)that)stuff
                   6007:  0: (this(and)that)stuff
                   6008: 
                   6009: /[^()]*(?:\((?>(?R))\)[^()]*)*/I
                   6010: Capturing subpattern count = 0
                   6011: No options
                   6012: No first char
                   6013: No need char
                   6014:     (this(and)that
                   6015:  0: 
                   6016:     (this(and)that)
                   6017:  0: (this(and)that)
                   6018: 
                   6019: /[^()]*(?:\((?R)\))*[^()]*/I
                   6020: Capturing subpattern count = 0
                   6021: No options
                   6022: No first char
                   6023: No need char
                   6024:     (this(and)that
                   6025:  0: 
                   6026:     (this(and)that)
                   6027:  0: (this(and)that)
                   6028: 
                   6029: /(?:\((?R)\))*[^()]*/I
                   6030: Capturing subpattern count = 0
                   6031: No options
                   6032: No first char
                   6033: No need char
                   6034:     (this(and)that
                   6035:  0: 
                   6036:     (this(and)that)
                   6037:  0: 
                   6038:     ((this))
                   6039:  0: ((this))
                   6040: 
                   6041: /(?:\((?R)\))|[^()]*/I
                   6042: Capturing subpattern count = 0
                   6043: No options
                   6044: No first char
                   6045: No need char
                   6046:     (this(and)that
                   6047:  0: 
                   6048:     (this(and)that)
                   6049:  0: 
                   6050:     (this)
                   6051:  0: (this)
                   6052:     ((this))
                   6053:  0: ((this))
                   6054: 
                   6055: /\x{0000ff}/I
                   6056: Capturing subpattern count = 0
                   6057: No options
1.1.1.2 ! misho    6058: First char = \xff
1.1       misho    6059: No need char
                   6060: 
                   6061: /^((?P<A>a1)|(?P<A>a2)b)/I
                   6062: Failed: two named subpatterns have the same name at offset 17
                   6063: 
                   6064: /^((?P<A>a1)|(?P<A>a2)b)/IJ
                   6065: Capturing subpattern count = 3
                   6066: Named capturing subpatterns:
                   6067:   A   2
                   6068:   A   3
                   6069: Options: anchored dupnames
                   6070: No first char
                   6071: No need char
                   6072:     a1b\CA
                   6073:  0: a1
                   6074:  1: a1
                   6075:  2: a1
                   6076:   C a1 (2) A
                   6077:     a2b\CA
                   6078:  0: a2b
                   6079:  1: a2b
                   6080:  2: <unset>
                   6081:  3: a2
                   6082:   C a2 (2) A
                   6083:     ** Failers
                   6084: No match
                   6085:     a1b\CZ\CA
                   6086: no parentheses with name "Z"
                   6087:  0: a1
                   6088:  1: a1
                   6089:  2: a1
                   6090: copy substring Z failed -7
                   6091:   C a1 (2) A
                   6092: 
                   6093: /^(?P<A>a)(?P<A>b)/IJ
                   6094: Capturing subpattern count = 2
                   6095: Named capturing subpatterns:
                   6096:   A   1
                   6097:   A   2
                   6098: Options: anchored dupnames
                   6099: No first char
                   6100: No need char
                   6101:     ab\CA
                   6102:  0: ab
                   6103:  1: a
                   6104:  2: b
                   6105:   C a (1) A
                   6106: 
                   6107: /^(?P<A>a)(?P<A>b)|cd/IJ
                   6108: Capturing subpattern count = 2
                   6109: Named capturing subpatterns:
                   6110:   A   1
                   6111:   A   2
                   6112: Options: dupnames
                   6113: No first char
                   6114: No need char
                   6115:     ab\CA
                   6116:  0: ab
                   6117:  1: a
                   6118:  2: b
                   6119:   C a (1) A
                   6120:     cd\CA
                   6121:  0: cd
                   6122: copy substring A failed -7
                   6123: 
                   6124: /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
                   6125: Capturing subpattern count = 4
                   6126: Named capturing subpatterns:
                   6127:   A   1
                   6128:   A   2
                   6129:   A   3
                   6130:   A   4
                   6131: Options: dupnames
                   6132: No first char
                   6133: No need char
                   6134:     cdefgh\CA
                   6135:  0: cdefgh
                   6136:  1: <unset>
                   6137:  2: <unset>
                   6138:  3: ef
                   6139:  4: gh
                   6140:   C ef (2) A
                   6141: 
                   6142: /^((?P<A>a1)|(?P<A>a2)b)/IJ
                   6143: Capturing subpattern count = 3
                   6144: Named capturing subpatterns:
                   6145:   A   2
                   6146:   A   3
                   6147: Options: anchored dupnames
                   6148: No first char
                   6149: No need char
                   6150:     a1b\GA
                   6151:  0: a1
                   6152:  1: a1
                   6153:  2: a1
                   6154:   G a1 (2) A
                   6155:     a2b\GA
                   6156:  0: a2b
                   6157:  1: a2b
                   6158:  2: <unset>
                   6159:  3: a2
                   6160:   G a2 (2) A
                   6161:     ** Failers
                   6162: No match
                   6163:     a1b\GZ\GA
                   6164: no parentheses with name "Z"
                   6165:  0: a1
                   6166:  1: a1
                   6167:  2: a1
1.1.1.2 ! misho    6168: get substring Z failed -7
1.1       misho    6169:   G a1 (2) A
                   6170: 
                   6171: /^(?P<A>a)(?P<A>b)/IJ
                   6172: Capturing subpattern count = 2
                   6173: Named capturing subpatterns:
                   6174:   A   1
                   6175:   A   2
                   6176: Options: anchored dupnames
                   6177: No first char
                   6178: No need char
                   6179:     ab\GA
                   6180:  0: ab
                   6181:  1: a
                   6182:  2: b
                   6183:   G a (1) A
                   6184: 
                   6185: /^(?P<A>a)(?P<A>b)|cd/IJ
                   6186: Capturing subpattern count = 2
                   6187: Named capturing subpatterns:
                   6188:   A   1
                   6189:   A   2
                   6190: Options: dupnames
                   6191: No first char
                   6192: No need char
                   6193:     ab\GA
                   6194:  0: ab
                   6195:  1: a
                   6196:  2: b
                   6197:   G a (1) A
                   6198:     cd\GA
                   6199:  0: cd
1.1.1.2 ! misho    6200: get substring A failed -7
1.1       misho    6201: 
                   6202: /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
                   6203: Capturing subpattern count = 4
                   6204: Named capturing subpatterns:
                   6205:   A   1
                   6206:   A   2
                   6207:   A   3
                   6208:   A   4
                   6209: Options: dupnames
                   6210: No first char
                   6211: No need char
                   6212:     cdefgh\GA
                   6213:  0: cdefgh
                   6214:  1: <unset>
                   6215:  2: <unset>
                   6216:  3: ef
                   6217:  4: gh
                   6218:   G ef (2) A
                   6219: 
                   6220: /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
                   6221: Capturing subpattern count = 3
                   6222: Named capturing subpatterns:
                   6223:   A   2
                   6224:   A   3
                   6225: Options: anchored dupnames
                   6226: Duplicate name status changes
                   6227: No first char
                   6228: No need char
                   6229:     a1b\CA
                   6230:  0: a1
                   6231:  1: a1
                   6232:  2: a1
                   6233:   C a1 (2) A
                   6234:     a2b\CA
                   6235:  0: a2b
                   6236:  1: a2b
                   6237:  2: <unset>
                   6238:  3: a2
                   6239:   C a2 (2) A
                   6240: 
                   6241: /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
                   6242: Failed: two named subpatterns have the same name at offset 37
                   6243: 
                   6244: / In this next test, J is not set at the outer level; consequently it isn't
                   6245: set in the pattern's options; consequently pcre_get_named_substring() produces
                   6246: a random value. /Ix
                   6247: Capturing subpattern count = 1
                   6248: Options: extended
                   6249: First char = 'I'
                   6250: Need char = 'e'
                   6251: 
                   6252: /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
                   6253: Capturing subpattern count = 4
                   6254: Named capturing subpatterns:
                   6255:   A   1
                   6256:   B   2
                   6257:   B   3
                   6258:   C   4
                   6259: Options: anchored
                   6260: Duplicate name status changes
                   6261: No first char
                   6262: No need char
                   6263:     a bc d\CA\CB\CC
                   6264:  0: a bc d
                   6265:  1: a
                   6266:  2: b
                   6267:  3: c
                   6268:  4: d
                   6269:   C a (1) A
                   6270:   C b (1) B
                   6271:   C d (1) C
                   6272: 
                   6273: /^(?P<A>a)?(?(A)a|b)/I
                   6274: Capturing subpattern count = 1
                   6275: Named capturing subpatterns:
                   6276:   A   1
                   6277: Options: anchored
                   6278: No first char
                   6279: No need char
                   6280:     aabc
                   6281:  0: aa
                   6282:  1: a
                   6283:     bc
                   6284:  0: b
                   6285:     ** Failers
                   6286: No match
                   6287:     abc
                   6288: No match
                   6289: 
                   6290: /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
                   6291: Capturing subpattern count = 1
                   6292: Named capturing subpatterns:
                   6293:   ZZ   1
                   6294: No options
                   6295: No first char
                   6296: Need char = 'X'
                   6297:     bXaX
                   6298:  0: bXaX
                   6299:  1: X
                   6300: 
                   6301: /(?:(?(2y)a|b)(X))+/I
                   6302: Failed: reference to non-existent subpattern at offset 9
                   6303: 
                   6304: /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
                   6305: Failed: reference to non-existent subpattern at offset 9
                   6306: 
                   6307: /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
                   6308: Capturing subpattern count = 1
                   6309: Named capturing subpatterns:
                   6310:   ZZ   1
                   6311: No options
                   6312: No first char
                   6313: Need char = 'X'
                   6314:     bbXaaX
                   6315:  0: bbXaaX
                   6316:  1: X
                   6317: 
                   6318: /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
                   6319: Capturing subpattern count = 1
                   6320: Named capturing subpatterns:
                   6321:   ZZ   1
                   6322: No options
                   6323: No first char
                   6324: Need char = 'X'
                   6325:     (b)\\Xa\\X
                   6326:  0: (b)\Xa\X
                   6327:  1: X
                   6328: 
                   6329: /(?P<ABC/I
                   6330: Failed: syntax error in subpattern name (missing terminator) at offset 7
                   6331: 
                   6332: /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
                   6333: Capturing subpattern count = 1
                   6334: Max back reference = 1
                   6335: Named capturing subpatterns:
                   6336:   A   1
                   6337: No options
                   6338: No first char
                   6339: No need char
                   6340:     bXXaYYaY
                   6341:  0: bXXaYYaY
                   6342:  1: Y
                   6343:     bXYaXXaX
                   6344:  0: bX
                   6345:  1: X
                   6346: 
                   6347: /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
                   6348: Capturing subpattern count = 10
                   6349: Max back reference = 10
                   6350: Named capturing subpatterns:
                   6351:   A  10
                   6352: No options
                   6353: No first char
                   6354: No need char
                   6355:     bXXaYYaY
                   6356:  0: bXXaYYaY
                   6357:  1: 
                   6358:  2: 
                   6359:  3: 
                   6360:  4: 
                   6361:  5: 
                   6362:  6: 
                   6363:  7: 
                   6364:  8: 
                   6365:  9: 
                   6366: 10: Y
                   6367: 
                   6368: /\s*,\s*/IS
                   6369: Capturing subpattern count = 0
                   6370: No options
                   6371: No first char
                   6372: Need char = ','
                   6373: Subject length lower bound = 1
                   6374: Starting byte set: \x09 \x0a \x0c \x0d \x20 , 
                   6375:     \x0b,\x0b
                   6376:  0: ,
                   6377:     \x0c,\x0d
                   6378:  0: \x0c,\x0d
                   6379: 
                   6380: /^abc/Im
                   6381: Capturing subpattern count = 0
                   6382: Options: multiline
                   6383: First char at start or follows newline
                   6384: Need char = 'c'
                   6385:     xyz\nabc
                   6386:  0: abc
                   6387:     xyz\nabc\<lf>
                   6388:  0: abc
                   6389:     xyz\r\nabc\<lf>
                   6390:  0: abc
                   6391:     xyz\rabc\<cr>
                   6392:  0: abc
                   6393:     xyz\r\nabc\<crlf>
                   6394:  0: abc
                   6395:     ** Failers
                   6396: No match
                   6397:     xyz\nabc\<cr>
                   6398: No match
                   6399:     xyz\r\nabc\<cr>
                   6400: No match
                   6401:     xyz\nabc\<crlf>
                   6402: No match
                   6403:     xyz\rabc\<crlf>
                   6404: No match
                   6405:     xyz\rabc\<lf>
                   6406: No match
                   6407: 
                   6408: /abc$/Im<lf>
                   6409: Capturing subpattern count = 0
                   6410: Options: multiline
                   6411: Forced newline sequence: LF
                   6412: First char = 'a'
                   6413: Need char = 'c'
                   6414:     xyzabc
                   6415:  0: abc
                   6416:     xyzabc\n
                   6417:  0: abc
                   6418:     xyzabc\npqr
                   6419:  0: abc
                   6420:     xyzabc\r\<cr>
                   6421:  0: abc
                   6422:     xyzabc\rpqr\<cr>
                   6423:  0: abc
                   6424:     xyzabc\r\n\<crlf>
                   6425:  0: abc
                   6426:     xyzabc\r\npqr\<crlf>
                   6427:  0: abc
                   6428:     ** Failers
                   6429: No match
                   6430:     xyzabc\r
                   6431: No match
                   6432:     xyzabc\rpqr
                   6433: No match
                   6434:     xyzabc\r\n
                   6435: No match
                   6436:     xyzabc\r\npqr
                   6437: No match
                   6438: 
                   6439: /^abc/Im<cr>
                   6440: Capturing subpattern count = 0
                   6441: Options: multiline
                   6442: Forced newline sequence: CR
                   6443: First char at start or follows newline
                   6444: Need char = 'c'
                   6445:     xyz\rabcdef
                   6446:  0: abc
                   6447:     xyz\nabcdef\<lf>
                   6448:  0: abc
                   6449:     ** Failers
                   6450: No match
                   6451:     xyz\nabcdef
                   6452: No match
                   6453: 
                   6454: /^abc/Im<lf>
                   6455: Capturing subpattern count = 0
                   6456: Options: multiline
                   6457: Forced newline sequence: LF
                   6458: First char at start or follows newline
                   6459: Need char = 'c'
                   6460:     xyz\nabcdef
                   6461:  0: abc
                   6462:     xyz\rabcdef\<cr>
                   6463:  0: abc
                   6464:     ** Failers
                   6465: No match
                   6466:     xyz\rabcdef
                   6467: No match
                   6468: 
                   6469: /^abc/Im<crlf>
                   6470: Capturing subpattern count = 0
                   6471: Options: multiline
                   6472: Forced newline sequence: CRLF
                   6473: First char at start or follows newline
                   6474: Need char = 'c'
                   6475:     xyz\r\nabcdef
                   6476:  0: abc
                   6477:     xyz\rabcdef\<cr>
                   6478:  0: abc
                   6479:     ** Failers
                   6480: No match
                   6481:     xyz\rabcdef
                   6482: No match
                   6483: 
                   6484: /^abc/Im<bad>
                   6485: Unknown newline type at: <bad>
                   6486: 
                   6487: 
                   6488: /abc/I
                   6489: Capturing subpattern count = 0
                   6490: No options
                   6491: First char = 'a'
                   6492: Need char = 'c'
                   6493:     xyz\rabc\<bad>
                   6494: Unknown newline type at: <bad>
                   6495:     abc
                   6496:  0: abc
                   6497: 
                   6498: /.*/I<lf>
                   6499: Capturing subpattern count = 0
                   6500: Options:
                   6501: Forced newline sequence: LF
                   6502: First char at start or follows newline
                   6503: No need char
                   6504:     abc\ndef
                   6505:  0: abc
                   6506:     abc\rdef
                   6507:  0: abc\x0ddef
                   6508:     abc\r\ndef
                   6509:  0: abc\x0d
                   6510:     \<cr>abc\ndef
                   6511:  0: abc\x0adef
                   6512:     \<cr>abc\rdef
                   6513:  0: abc
                   6514:     \<cr>abc\r\ndef
                   6515:  0: abc
                   6516:     \<crlf>abc\ndef
                   6517:  0: abc\x0adef
                   6518:     \<crlf>abc\rdef
                   6519:  0: abc\x0ddef
                   6520:     \<crlf>abc\r\ndef
                   6521:  0: abc
                   6522: 
                   6523: /\w+(.)(.)?def/Is
                   6524: Capturing subpattern count = 2
                   6525: Options: dotall
                   6526: No first char
                   6527: Need char = 'f'
                   6528:     abc\ndef
                   6529:  0: abc\x0adef
                   6530:  1: \x0a
                   6531:     abc\rdef
                   6532:  0: abc\x0ddef
                   6533:  1: \x0d
                   6534:     abc\r\ndef
                   6535:  0: abc\x0d\x0adef
                   6536:  1: \x0d
                   6537:  2: \x0a
                   6538: 
                   6539: +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
                   6540: Capturing subpattern count = 1
                   6541: No options
                   6542: No first char
                   6543: No need char
                   6544:    /* this is a C style comment */\M
                   6545: Minimum match() limit = 120
                   6546: Minimum match() recursion limit = 6
                   6547:  0: /* this is a C style comment */
                   6548:  1: /* this is a C style comment */
                   6549: 
                   6550: /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
                   6551: Capturing subpattern count = 1
                   6552: Named capturing subpatterns:
                   6553:   B   1
                   6554: No options
                   6555: No first char
                   6556: Need char = '.'
                   6557: 
                   6558: /()()()()()()()()()()()()()()()()()()()()
                   6559:  ()()()()()()()()()()()()()()()()()()()()
                   6560:  ()()()()()()()()()()()()()()()()()()()()
                   6561:  ()()()()()()()()()()()()()()()()()()()()
                   6562:  ()()()()()()()()()()()()()()()()()()()()
                   6563:  (.(.))/Ix
                   6564: Capturing subpattern count = 102
                   6565: Options: extended
                   6566: No first char
                   6567: No need char
                   6568:     XY\O400
                   6569:  0: XY
                   6570:  1: 
                   6571:  2: 
                   6572:  3: 
                   6573:  4: 
                   6574:  5: 
                   6575:  6: 
                   6576:  7: 
                   6577:  8: 
                   6578:  9: 
                   6579: 10: 
                   6580: 11: 
                   6581: 12: 
                   6582: 13: 
                   6583: 14: 
                   6584: 15: 
                   6585: 16: 
                   6586: 17: 
                   6587: 18: 
                   6588: 19: 
                   6589: 20: 
                   6590: 21: 
                   6591: 22: 
                   6592: 23: 
                   6593: 24: 
                   6594: 25: 
                   6595: 26: 
                   6596: 27: 
                   6597: 28: 
                   6598: 29: 
                   6599: 30: 
                   6600: 31: 
                   6601: 32: 
                   6602: 33: 
                   6603: 34: 
                   6604: 35: 
                   6605: 36: 
                   6606: 37: 
                   6607: 38: 
                   6608: 39: 
                   6609: 40: 
                   6610: 41: 
                   6611: 42: 
                   6612: 43: 
                   6613: 44: 
                   6614: 45: 
                   6615: 46: 
                   6616: 47: 
                   6617: 48: 
                   6618: 49: 
                   6619: 50: 
                   6620: 51: 
                   6621: 52: 
                   6622: 53: 
                   6623: 54: 
                   6624: 55: 
                   6625: 56: 
                   6626: 57: 
                   6627: 58: 
                   6628: 59: 
                   6629: 60: 
                   6630: 61: 
                   6631: 62: 
                   6632: 63: 
                   6633: 64: 
                   6634: 65: 
                   6635: 66: 
                   6636: 67: 
                   6637: 68: 
                   6638: 69: 
                   6639: 70: 
                   6640: 71: 
                   6641: 72: 
                   6642: 73: 
                   6643: 74: 
                   6644: 75: 
                   6645: 76: 
                   6646: 77: 
                   6647: 78: 
                   6648: 79: 
                   6649: 80: 
                   6650: 81: 
                   6651: 82: 
                   6652: 83: 
                   6653: 84: 
                   6654: 85: 
                   6655: 86: 
                   6656: 87: 
                   6657: 88: 
                   6658: 89: 
                   6659: 90: 
                   6660: 91: 
                   6661: 92: 
                   6662: 93: 
                   6663: 94: 
                   6664: 95: 
                   6665: 96: 
                   6666: 97: 
                   6667: 98: 
                   6668: 99: 
                   6669: 100: 
                   6670: 101: XY
                   6671: 102: Y
                   6672: 
                   6673: /(a*b|(?i:c*(?-i)d))/IS
                   6674: Capturing subpattern count = 1
                   6675: No options
                   6676: No first char
                   6677: No need char
                   6678: Subject length lower bound = 1
                   6679: Starting byte set: C a b c d 
                   6680: 
                   6681: /()[ab]xyz/IS
                   6682: Capturing subpattern count = 1
                   6683: No options
                   6684: No first char
                   6685: Need char = 'z'
                   6686: Subject length lower bound = 4
                   6687: Starting byte set: a b 
                   6688: 
                   6689: /(|)[ab]xyz/IS
                   6690: Capturing subpattern count = 1
                   6691: No options
                   6692: No first char
                   6693: Need char = 'z'
                   6694: Subject length lower bound = 4
                   6695: Starting byte set: a b 
                   6696: 
                   6697: /(|c)[ab]xyz/IS
                   6698: Capturing subpattern count = 1
                   6699: No options
                   6700: No first char
                   6701: Need char = 'z'
                   6702: Subject length lower bound = 4
                   6703: Starting byte set: a b c 
                   6704: 
                   6705: /(|c?)[ab]xyz/IS
                   6706: Capturing subpattern count = 1
                   6707: No options
                   6708: No first char
                   6709: Need char = 'z'
                   6710: Subject length lower bound = 4
                   6711: Starting byte set: a b c 
                   6712: 
                   6713: /(d?|c?)[ab]xyz/IS
                   6714: Capturing subpattern count = 1
                   6715: No options
                   6716: No first char
                   6717: Need char = 'z'
                   6718: Subject length lower bound = 4
                   6719: Starting byte set: a b c d 
                   6720: 
                   6721: /(d?|c)[ab]xyz/IS
                   6722: Capturing subpattern count = 1
                   6723: No options
                   6724: No first char
                   6725: Need char = 'z'
                   6726: Subject length lower bound = 4
                   6727: Starting byte set: a b c d 
                   6728: 
                   6729: /^a*b\d/DZ
                   6730: ------------------------------------------------------------------
                   6731:         Bra
                   6732:         ^
                   6733:         a*+
                   6734:         b
                   6735:         \d
                   6736:         Ket
                   6737:         End
                   6738: ------------------------------------------------------------------
                   6739: Capturing subpattern count = 0
                   6740: Options: anchored
                   6741: No first char
                   6742: Need char = 'b'
                   6743: 
                   6744: /^a*+b\d/DZ
                   6745: ------------------------------------------------------------------
                   6746:         Bra
                   6747:         ^
                   6748:         a*+
                   6749:         b
                   6750:         \d
                   6751:         Ket
                   6752:         End
                   6753: ------------------------------------------------------------------
                   6754: Capturing subpattern count = 0
                   6755: Options: anchored
                   6756: No first char
                   6757: Need char = 'b'
                   6758: 
                   6759: /^a*?b\d/DZ
                   6760: ------------------------------------------------------------------
                   6761:         Bra
                   6762:         ^
                   6763:         a*+
                   6764:         b
                   6765:         \d
                   6766:         Ket
                   6767:         End
                   6768: ------------------------------------------------------------------
                   6769: Capturing subpattern count = 0
                   6770: Options: anchored
                   6771: No first char
                   6772: Need char = 'b'
                   6773: 
                   6774: /^a+A\d/DZ
                   6775: ------------------------------------------------------------------
                   6776:         Bra
                   6777:         ^
                   6778:         a++
                   6779:         A
                   6780:         \d
                   6781:         Ket
                   6782:         End
                   6783: ------------------------------------------------------------------
                   6784: Capturing subpattern count = 0
                   6785: Options: anchored
                   6786: No first char
                   6787: Need char = 'A'
                   6788:     aaaA5
                   6789:  0: aaaA5
                   6790:     ** Failers
                   6791: No match
                   6792:     aaaa5
                   6793: No match
                   6794: 
                   6795: /^a*A\d/IiDZ
                   6796: ------------------------------------------------------------------
                   6797:         Bra
                   6798:         ^
                   6799:      /i a*
                   6800:      /i A
                   6801:         \d
                   6802:         Ket
                   6803:         End
                   6804: ------------------------------------------------------------------
                   6805: Capturing subpattern count = 0
                   6806: Options: anchored caseless
                   6807: No first char
                   6808: Need char = 'A' (caseless)
                   6809:     aaaA5
                   6810:  0: aaaA5
                   6811:     aaaa5
                   6812:  0: aaaa5
                   6813: 
                   6814: /(a*|b*)[cd]/IS
                   6815: Capturing subpattern count = 1
                   6816: No options
                   6817: No first char
                   6818: No need char
                   6819: Subject length lower bound = 1
                   6820: Starting byte set: a b c d 
                   6821: 
                   6822: /(a+|b*)[cd]/IS
                   6823: Capturing subpattern count = 1
                   6824: No options
                   6825: No first char
                   6826: No need char
                   6827: Subject length lower bound = 1
                   6828: Starting byte set: a b c d 
                   6829: 
                   6830: /(a*|b+)[cd]/IS
                   6831: Capturing subpattern count = 1
                   6832: No options
                   6833: No first char
                   6834: No need char
                   6835: Subject length lower bound = 1
                   6836: Starting byte set: a b c d 
                   6837: 
                   6838: /(a+|b+)[cd]/IS
                   6839: Capturing subpattern count = 1
                   6840: No options
                   6841: No first char
                   6842: No need char
                   6843: Subject length lower bound = 2
                   6844: Starting byte set: a b 
                   6845: 
                   6846: /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
                   6847:  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
                   6848:  (((
                   6849:  a
                   6850:  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
                   6851:  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
                   6852:  )))
                   6853: /Ix
                   6854: Capturing subpattern count = 203
                   6855: Options: extended
                   6856: First char = 'a'
                   6857: No need char
                   6858:   large nest
                   6859: Matched, but too many substrings
                   6860:  0: a
                   6861:  1: a
                   6862:  2: a
                   6863:  3: a
                   6864:  4: a
                   6865:  5: a
                   6866:  6: a
                   6867:  7: a
                   6868:  8: a
                   6869:  9: a
                   6870: 10: a
                   6871: 11: a
                   6872: 12: a
                   6873: 13: a
                   6874: 14: a
                   6875: 
                   6876: /a*\d/BZ
                   6877: ------------------------------------------------------------------
                   6878:         Bra
                   6879:         a*+
                   6880:         \d
                   6881:         Ket
                   6882:         End
                   6883: ------------------------------------------------------------------
                   6884: 
                   6885: /a*\D/BZ
                   6886: ------------------------------------------------------------------
                   6887:         Bra
                   6888:         a*
                   6889:         \D
                   6890:         Ket
                   6891:         End
                   6892: ------------------------------------------------------------------
                   6893: 
                   6894: /0*\d/BZ
                   6895: ------------------------------------------------------------------
                   6896:         Bra
                   6897:         0*
                   6898:         \d
                   6899:         Ket
                   6900:         End
                   6901: ------------------------------------------------------------------
                   6902: 
                   6903: /0*\D/BZ
                   6904: ------------------------------------------------------------------
                   6905:         Bra
                   6906:         0*+
                   6907:         \D
                   6908:         Ket
                   6909:         End
                   6910: ------------------------------------------------------------------
                   6911: 
                   6912: /a*\s/BZ
                   6913: ------------------------------------------------------------------
                   6914:         Bra
                   6915:         a*+
                   6916:         \s
                   6917:         Ket
                   6918:         End
                   6919: ------------------------------------------------------------------
                   6920: 
                   6921: /a*\S/BZ
                   6922: ------------------------------------------------------------------
                   6923:         Bra
                   6924:         a*
                   6925:         \S
                   6926:         Ket
                   6927:         End
                   6928: ------------------------------------------------------------------
                   6929: 
                   6930: / *\s/BZ
                   6931: ------------------------------------------------------------------
                   6932:         Bra
                   6933:          *
                   6934:         \s
                   6935:         Ket
                   6936:         End
                   6937: ------------------------------------------------------------------
                   6938: 
                   6939: / *\S/BZ
                   6940: ------------------------------------------------------------------
                   6941:         Bra
                   6942:          *+
                   6943:         \S
                   6944:         Ket
                   6945:         End
                   6946: ------------------------------------------------------------------
                   6947: 
                   6948: /a*\w/BZ
                   6949: ------------------------------------------------------------------
                   6950:         Bra
                   6951:         a*
                   6952:         \w
                   6953:         Ket
                   6954:         End
                   6955: ------------------------------------------------------------------
                   6956: 
                   6957: /a*\W/BZ
                   6958: ------------------------------------------------------------------
                   6959:         Bra
                   6960:         a*+
                   6961:         \W
                   6962:         Ket
                   6963:         End
                   6964: ------------------------------------------------------------------
                   6965: 
                   6966: /=*\w/BZ
                   6967: ------------------------------------------------------------------
                   6968:         Bra
                   6969:         =*+
                   6970:         \w
                   6971:         Ket
                   6972:         End
                   6973: ------------------------------------------------------------------
                   6974: 
                   6975: /=*\W/BZ
                   6976: ------------------------------------------------------------------
                   6977:         Bra
                   6978:         =*
                   6979:         \W
                   6980:         Ket
                   6981:         End
                   6982: ------------------------------------------------------------------
                   6983: 
                   6984: /\d*a/BZ
                   6985: ------------------------------------------------------------------
                   6986:         Bra
                   6987:         \d*+
                   6988:         a
                   6989:         Ket
                   6990:         End
                   6991: ------------------------------------------------------------------
                   6992: 
                   6993: /\d*2/BZ
                   6994: ------------------------------------------------------------------
                   6995:         Bra
                   6996:         \d*
                   6997:         2
                   6998:         Ket
                   6999:         End
                   7000: ------------------------------------------------------------------
                   7001: 
                   7002: /\d*\d/BZ
                   7003: ------------------------------------------------------------------
                   7004:         Bra
                   7005:         \d*
                   7006:         \d
                   7007:         Ket
                   7008:         End
                   7009: ------------------------------------------------------------------
                   7010: 
                   7011: /\d*\D/BZ
                   7012: ------------------------------------------------------------------
                   7013:         Bra
                   7014:         \d*+
                   7015:         \D
                   7016:         Ket
                   7017:         End
                   7018: ------------------------------------------------------------------
                   7019: 
                   7020: /\d*\s/BZ
                   7021: ------------------------------------------------------------------
                   7022:         Bra
                   7023:         \d*+
                   7024:         \s
                   7025:         Ket
                   7026:         End
                   7027: ------------------------------------------------------------------
                   7028: 
                   7029: /\d*\S/BZ
                   7030: ------------------------------------------------------------------
                   7031:         Bra
                   7032:         \d*
                   7033:         \S
                   7034:         Ket
                   7035:         End
                   7036: ------------------------------------------------------------------
                   7037: 
                   7038: /\d*\w/BZ
                   7039: ------------------------------------------------------------------
                   7040:         Bra
                   7041:         \d*
                   7042:         \w
                   7043:         Ket
                   7044:         End
                   7045: ------------------------------------------------------------------
                   7046: 
                   7047: /\d*\W/BZ
                   7048: ------------------------------------------------------------------
                   7049:         Bra
                   7050:         \d*+
                   7051:         \W
                   7052:         Ket
                   7053:         End
                   7054: ------------------------------------------------------------------
                   7055: 
                   7056: /\D*a/BZ
                   7057: ------------------------------------------------------------------
                   7058:         Bra
                   7059:         \D*
                   7060:         a
                   7061:         Ket
                   7062:         End
                   7063: ------------------------------------------------------------------
                   7064: 
                   7065: /\D*2/BZ
                   7066: ------------------------------------------------------------------
                   7067:         Bra
                   7068:         \D*+
                   7069:         2
                   7070:         Ket
                   7071:         End
                   7072: ------------------------------------------------------------------
                   7073: 
                   7074: /\D*\d/BZ
                   7075: ------------------------------------------------------------------
                   7076:         Bra
                   7077:         \D*+
                   7078:         \d
                   7079:         Ket
                   7080:         End
                   7081: ------------------------------------------------------------------
                   7082: 
                   7083: /\D*\D/BZ
                   7084: ------------------------------------------------------------------
                   7085:         Bra
                   7086:         \D*
                   7087:         \D
                   7088:         Ket
                   7089:         End
                   7090: ------------------------------------------------------------------
                   7091: 
                   7092: /\D*\s/BZ
                   7093: ------------------------------------------------------------------
                   7094:         Bra
                   7095:         \D*
                   7096:         \s
                   7097:         Ket
                   7098:         End
                   7099: ------------------------------------------------------------------
                   7100: 
                   7101: /\D*\S/BZ
                   7102: ------------------------------------------------------------------
                   7103:         Bra
                   7104:         \D*
                   7105:         \S
                   7106:         Ket
                   7107:         End
                   7108: ------------------------------------------------------------------
                   7109: 
                   7110: /\D*\w/BZ
                   7111: ------------------------------------------------------------------
                   7112:         Bra
                   7113:         \D*
                   7114:         \w
                   7115:         Ket
                   7116:         End
                   7117: ------------------------------------------------------------------
                   7118: 
                   7119: /\D*\W/BZ
                   7120: ------------------------------------------------------------------
                   7121:         Bra
                   7122:         \D*
                   7123:         \W
                   7124:         Ket
                   7125:         End
                   7126: ------------------------------------------------------------------
                   7127: 
                   7128: /\s*a/BZ
                   7129: ------------------------------------------------------------------
                   7130:         Bra
                   7131:         \s*+
                   7132:         a
                   7133:         Ket
                   7134:         End
                   7135: ------------------------------------------------------------------
                   7136: 
                   7137: /\s*2/BZ
                   7138: ------------------------------------------------------------------
                   7139:         Bra
                   7140:         \s*+
                   7141:         2
                   7142:         Ket
                   7143:         End
                   7144: ------------------------------------------------------------------
                   7145: 
                   7146: /\s*\d/BZ
                   7147: ------------------------------------------------------------------
                   7148:         Bra
                   7149:         \s*+
                   7150:         \d
                   7151:         Ket
                   7152:         End
                   7153: ------------------------------------------------------------------
                   7154: 
                   7155: /\s*\D/BZ
                   7156: ------------------------------------------------------------------
                   7157:         Bra
                   7158:         \s*
                   7159:         \D
                   7160:         Ket
                   7161:         End
                   7162: ------------------------------------------------------------------
                   7163: 
                   7164: /\s*\s/BZ
                   7165: ------------------------------------------------------------------
                   7166:         Bra
                   7167:         \s*
                   7168:         \s
                   7169:         Ket
                   7170:         End
                   7171: ------------------------------------------------------------------
                   7172: 
                   7173: /\s*\S/BZ
                   7174: ------------------------------------------------------------------
                   7175:         Bra
                   7176:         \s*+
                   7177:         \S
                   7178:         Ket
                   7179:         End
                   7180: ------------------------------------------------------------------
                   7181: 
                   7182: /\s*\w/BZ
                   7183: ------------------------------------------------------------------
                   7184:         Bra
                   7185:         \s*+
                   7186:         \w
                   7187:         Ket
                   7188:         End
                   7189: ------------------------------------------------------------------
                   7190: 
                   7191: /\s*\W/BZ
                   7192: ------------------------------------------------------------------
                   7193:         Bra
                   7194:         \s*
                   7195:         \W
                   7196:         Ket
                   7197:         End
                   7198: ------------------------------------------------------------------
                   7199: 
                   7200: /\S*a/BZ
                   7201: ------------------------------------------------------------------
                   7202:         Bra
                   7203:         \S*
                   7204:         a
                   7205:         Ket
                   7206:         End
                   7207: ------------------------------------------------------------------
                   7208: 
                   7209: /\S*2/BZ
                   7210: ------------------------------------------------------------------
                   7211:         Bra
                   7212:         \S*
                   7213:         2
                   7214:         Ket
                   7215:         End
                   7216: ------------------------------------------------------------------
                   7217: 
                   7218: /\S*\d/BZ
                   7219: ------------------------------------------------------------------
                   7220:         Bra
                   7221:         \S*
                   7222:         \d
                   7223:         Ket
                   7224:         End
                   7225: ------------------------------------------------------------------
                   7226: 
                   7227: /\S*\D/BZ
                   7228: ------------------------------------------------------------------
                   7229:         Bra
                   7230:         \S*
                   7231:         \D
                   7232:         Ket
                   7233:         End
                   7234: ------------------------------------------------------------------
                   7235: 
                   7236: /\S*\s/BZ
                   7237: ------------------------------------------------------------------
                   7238:         Bra
                   7239:         \S*+
                   7240:         \s
                   7241:         Ket
                   7242:         End
                   7243: ------------------------------------------------------------------
                   7244: 
                   7245: /\S*\S/BZ
                   7246: ------------------------------------------------------------------
                   7247:         Bra
                   7248:         \S*
                   7249:         \S
                   7250:         Ket
                   7251:         End
                   7252: ------------------------------------------------------------------
                   7253: 
                   7254: /\S*\w/BZ
                   7255: ------------------------------------------------------------------
                   7256:         Bra
                   7257:         \S*
                   7258:         \w
                   7259:         Ket
                   7260:         End
                   7261: ------------------------------------------------------------------
                   7262: 
                   7263: /\S*\W/BZ
                   7264: ------------------------------------------------------------------
                   7265:         Bra
                   7266:         \S*
                   7267:         \W
                   7268:         Ket
                   7269:         End
                   7270: ------------------------------------------------------------------
                   7271: 
                   7272: /\w*a/BZ
                   7273: ------------------------------------------------------------------
                   7274:         Bra
                   7275:         \w*
                   7276:         a
                   7277:         Ket
                   7278:         End
                   7279: ------------------------------------------------------------------
                   7280: 
                   7281: /\w*2/BZ
                   7282: ------------------------------------------------------------------
                   7283:         Bra
                   7284:         \w*
                   7285:         2
                   7286:         Ket
                   7287:         End
                   7288: ------------------------------------------------------------------
                   7289: 
                   7290: /\w*\d/BZ
                   7291: ------------------------------------------------------------------
                   7292:         Bra
                   7293:         \w*
                   7294:         \d
                   7295:         Ket
                   7296:         End
                   7297: ------------------------------------------------------------------
                   7298: 
                   7299: /\w*\D/BZ
                   7300: ------------------------------------------------------------------
                   7301:         Bra
                   7302:         \w*
                   7303:         \D
                   7304:         Ket
                   7305:         End
                   7306: ------------------------------------------------------------------
                   7307: 
                   7308: /\w*\s/BZ
                   7309: ------------------------------------------------------------------
                   7310:         Bra
                   7311:         \w*+
                   7312:         \s
                   7313:         Ket
                   7314:         End
                   7315: ------------------------------------------------------------------
                   7316: 
                   7317: /\w*\S/BZ
                   7318: ------------------------------------------------------------------
                   7319:         Bra
                   7320:         \w*
                   7321:         \S
                   7322:         Ket
                   7323:         End
                   7324: ------------------------------------------------------------------
                   7325: 
                   7326: /\w*\w/BZ
                   7327: ------------------------------------------------------------------
                   7328:         Bra
                   7329:         \w*
                   7330:         \w
                   7331:         Ket
                   7332:         End
                   7333: ------------------------------------------------------------------
                   7334: 
                   7335: /\w*\W/BZ
                   7336: ------------------------------------------------------------------
                   7337:         Bra
                   7338:         \w*+
                   7339:         \W
                   7340:         Ket
                   7341:         End
                   7342: ------------------------------------------------------------------
                   7343: 
                   7344: /\W*a/BZ
                   7345: ------------------------------------------------------------------
                   7346:         Bra
                   7347:         \W*+
                   7348:         a
                   7349:         Ket
                   7350:         End
                   7351: ------------------------------------------------------------------
                   7352: 
                   7353: /\W*2/BZ
                   7354: ------------------------------------------------------------------
                   7355:         Bra
                   7356:         \W*+
                   7357:         2
                   7358:         Ket
                   7359:         End
                   7360: ------------------------------------------------------------------
                   7361: 
                   7362: /\W*\d/BZ
                   7363: ------------------------------------------------------------------
                   7364:         Bra
                   7365:         \W*+
                   7366:         \d
                   7367:         Ket
                   7368:         End
                   7369: ------------------------------------------------------------------
                   7370: 
                   7371: /\W*\D/BZ
                   7372: ------------------------------------------------------------------
                   7373:         Bra
                   7374:         \W*
                   7375:         \D
                   7376:         Ket
                   7377:         End
                   7378: ------------------------------------------------------------------
                   7379: 
                   7380: /\W*\s/BZ
                   7381: ------------------------------------------------------------------
                   7382:         Bra
                   7383:         \W*
                   7384:         \s
                   7385:         Ket
                   7386:         End
                   7387: ------------------------------------------------------------------
                   7388: 
                   7389: /\W*\S/BZ
                   7390: ------------------------------------------------------------------
                   7391:         Bra
                   7392:         \W*
                   7393:         \S
                   7394:         Ket
                   7395:         End
                   7396: ------------------------------------------------------------------
                   7397: 
                   7398: /\W*\w/BZ
                   7399: ------------------------------------------------------------------
                   7400:         Bra
                   7401:         \W*+
                   7402:         \w
                   7403:         Ket
                   7404:         End
                   7405: ------------------------------------------------------------------
                   7406: 
                   7407: /\W*\W/BZ
                   7408: ------------------------------------------------------------------
                   7409:         Bra
                   7410:         \W*
                   7411:         \W
                   7412:         Ket
                   7413:         End
                   7414: ------------------------------------------------------------------
                   7415: 
                   7416: /[^a]+a/BZ
                   7417: ------------------------------------------------------------------
                   7418:         Bra
                   7419:         [^a]++
                   7420:         a
                   7421:         Ket
                   7422:         End
                   7423: ------------------------------------------------------------------
                   7424: 
                   7425: /[^a]+a/BZi
                   7426: ------------------------------------------------------------------
                   7427:         Bra
1.1.1.2 ! misho    7428:      /i [^a]++
1.1       misho    7429:      /i a
                   7430:         Ket
                   7431:         End
                   7432: ------------------------------------------------------------------
                   7433: 
                   7434: /[^a]+A/BZi
                   7435: ------------------------------------------------------------------
                   7436:         Bra
1.1.1.2 ! misho    7437:      /i [^a]++
1.1       misho    7438:      /i A
                   7439:         Ket
                   7440:         End
                   7441: ------------------------------------------------------------------
                   7442: 
                   7443: /[^a]+b/BZ
                   7444: ------------------------------------------------------------------
                   7445:         Bra
                   7446:         [^a]+
                   7447:         b
                   7448:         Ket
                   7449:         End
                   7450: ------------------------------------------------------------------
                   7451: 
                   7452: /[^a]+\d/BZ
                   7453: ------------------------------------------------------------------
                   7454:         Bra
                   7455:         [^a]+
                   7456:         \d
                   7457:         Ket
                   7458:         End
                   7459: ------------------------------------------------------------------
                   7460: 
                   7461: /a*[^a]/BZ
                   7462: ------------------------------------------------------------------
                   7463:         Bra
                   7464:         a*
                   7465:         [^a]
                   7466:         Ket
                   7467:         End
                   7468: ------------------------------------------------------------------
                   7469: 
                   7470: /(?P<abc>x)(?P<xyz>y)/I
                   7471: Capturing subpattern count = 2
                   7472: Named capturing subpatterns:
                   7473:   abc   1
                   7474:   xyz   2
                   7475: No options
                   7476: First char = 'x'
                   7477: Need char = 'y'
                   7478:     xy\Cabc\Cxyz
                   7479:  0: xy
                   7480:  1: x
                   7481:  2: y
                   7482:   C x (1) abc
                   7483:   C y (1) xyz
                   7484: 
                   7485: /(?<abc>x)(?'xyz'y)/I
                   7486: Capturing subpattern count = 2
                   7487: Named capturing subpatterns:
                   7488:   abc   1
                   7489:   xyz   2
                   7490: No options
                   7491: First char = 'x'
                   7492: Need char = 'y'
                   7493:     xy\Cabc\Cxyz
                   7494:  0: xy
                   7495:  1: x
                   7496:  2: y
                   7497:   C x (1) abc
                   7498:   C y (1) xyz
                   7499: 
                   7500: /(?<abc'x)(?'xyz'y)/I
                   7501: Failed: syntax error in subpattern name (missing terminator) at offset 6
                   7502: 
                   7503: /(?<abc>x)(?'xyz>y)/I
                   7504: Failed: syntax error in subpattern name (missing terminator) at offset 15
                   7505: 
                   7506: /(?P'abc'x)(?P<xyz>y)/I
                   7507: Failed: unrecognized character after (?P at offset 3
                   7508: 
                   7509: /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
                   7510:     bXaX
                   7511:  0: bXaX
                   7512:  1: X
                   7513:     bXbX
                   7514:  0: bX
                   7515:  1: X
                   7516:     ** Failers
                   7517: No match
                   7518:     aXaX
                   7519: No match
                   7520:     aXbX
                   7521: No match
                   7522: 
                   7523: /^(?P>abc)(?<abcd>xxx)/
                   7524: Failed: reference to non-existent subpattern at offset 8
                   7525: 
                   7526: /^(?P>abc)(?<abc>x|y)/
                   7527:     xx
                   7528:  0: xx
                   7529:  1: x
                   7530:     xy
                   7531:  0: xy
                   7532:  1: y
                   7533:     yy
                   7534:  0: yy
                   7535:  1: y
                   7536:     yx
                   7537:  0: yx
                   7538:  1: x
                   7539: 
                   7540: /^(?P>abc)(?P<abc>x|y)/
                   7541:     xx
                   7542:  0: xx
                   7543:  1: x
                   7544:     xy
                   7545:  0: xy
                   7546:  1: y
                   7547:     yy
                   7548:  0: yy
                   7549:  1: y
                   7550:     yx
                   7551:  0: yx
                   7552:  1: x
                   7553: 
                   7554: /^((?(abc)a|b)(?<abc>x|y))+/
                   7555:     bxay
                   7556:  0: bxay
                   7557:  1: ay
                   7558:  2: y
                   7559:     bxby
                   7560:  0: bx
                   7561:  1: bx
                   7562:  2: x
                   7563:     ** Failers
                   7564: No match
                   7565:     axby
                   7566: No match
                   7567: 
                   7568: /^(((?P=abc)|X)(?<abc>x|y))+/
                   7569:     XxXxxx
                   7570:  0: XxXxxx
                   7571:  1: xx
                   7572:  2: x
                   7573:  3: x
                   7574:     XxXyyx
                   7575:  0: XxXyyx
                   7576:  1: yx
                   7577:  2: y
                   7578:  3: x
                   7579:     XxXyxx
                   7580:  0: XxXy
                   7581:  1: Xy
                   7582:  2: X
                   7583:  3: y
                   7584:     ** Failers
                   7585: No match
                   7586:     x
                   7587: No match
                   7588: 
                   7589: /^(?1)(abc)/
                   7590:     abcabc
                   7591:  0: abcabc
                   7592:  1: abc
                   7593: 
                   7594: /^(?:(?:\1|X)(a|b))+/
                   7595:     Xaaa
                   7596:  0: Xaaa
                   7597:  1: a
                   7598:     Xaba
                   7599:  0: Xa
                   7600:  1: a
                   7601: 
                   7602: /^[\E\Qa\E-\Qz\E]+/BZ
                   7603: ------------------------------------------------------------------
                   7604:         Bra
                   7605:         ^
                   7606:         [a-z]+
                   7607:         Ket
                   7608:         End
                   7609: ------------------------------------------------------------------
                   7610: 
                   7611: /^[a\Q]bc\E]/BZ
                   7612: ------------------------------------------------------------------
                   7613:         Bra
                   7614:         ^
                   7615:         [\]a-c]
                   7616:         Ket
                   7617:         End
                   7618: ------------------------------------------------------------------
                   7619: 
                   7620: /^[a-\Q\E]/BZ
                   7621: ------------------------------------------------------------------
                   7622:         Bra
                   7623:         ^
                   7624:         [\-a]
                   7625:         Ket
                   7626:         End
                   7627: ------------------------------------------------------------------
                   7628: 
                   7629: /^(?P>abc)[()](?<abc>)/BZ
                   7630: ------------------------------------------------------------------
                   7631:         Bra
                   7632:         ^
                   7633:         Recurse
                   7634:         [()]
                   7635:         CBra 1
                   7636:         Ket
                   7637:         Ket
                   7638:         End
                   7639: ------------------------------------------------------------------
                   7640: 
                   7641: /^((?(abc)y)[()](?P<abc>x))+/BZ
                   7642: ------------------------------------------------------------------
                   7643:         Bra
                   7644:         ^
                   7645:         CBra 1
                   7646:         Cond
                   7647:       2 Cond nref
                   7648:         y
                   7649:         Ket
                   7650:         [()]
                   7651:         CBra 2
                   7652:         x
                   7653:         Ket
                   7654:         KetRmax
                   7655:         Ket
                   7656:         End
                   7657: ------------------------------------------------------------------
                   7658:     (xy)x
                   7659:  0: (xy)x
                   7660:  1: y)x
                   7661:  2: x
                   7662: 
                   7663: /^(?P>abc)\Q()\E(?<abc>)/BZ
                   7664: ------------------------------------------------------------------
                   7665:         Bra
                   7666:         ^
                   7667:         Recurse
                   7668:         ()
                   7669:         CBra 1
                   7670:         Ket
                   7671:         Ket
                   7672:         End
                   7673: ------------------------------------------------------------------
                   7674: 
                   7675: /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
                   7676: ------------------------------------------------------------------
                   7677:         Bra
                   7678:         ^
                   7679:         Recurse
                   7680:         [(\]a]
                   7681:         CBra 1
                   7682:         Ket
                   7683:         Ket
                   7684:         End
                   7685: ------------------------------------------------------------------
                   7686: 
                   7687: /^(?P>abc) # this is (a comment)
                   7688:   (?<abc>)/BZx
                   7689: ------------------------------------------------------------------
                   7690:         Bra
                   7691:         ^
                   7692:         Recurse
                   7693:         CBra 1
                   7694:         Ket
                   7695:         Ket
                   7696:         End
                   7697: ------------------------------------------------------------------
                   7698: 
                   7699: /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
                   7700: Capturing subpattern count = 4
                   7701: Max back reference = 4
                   7702: Named capturing subpatterns:
                   7703:   four    4
                   7704:   one     1
                   7705:   three   3
                   7706:   two     2
                   7707: Options: anchored caseless
                   7708: No first char
                   7709: No need char
                   7710:     1221
                   7711:  0: 1221
                   7712:  1: 1221
                   7713:  2: 1
                   7714:     Satan, oscillate my metallic sonatas!
                   7715:  0: Satan, oscillate my metallic sonatas!
                   7716:  1: <unset>
                   7717:  2: <unset>
                   7718:  3: Satan, oscillate my metallic sonatas
                   7719:  4: S
                   7720:     A man, a plan, a canal: Panama!
                   7721:  0: A man, a plan, a canal: Panama!
                   7722:  1: <unset>
                   7723:  2: <unset>
                   7724:  3: A man, a plan, a canal: Panama
                   7725:  4: A
                   7726:     Able was I ere I saw Elba.
                   7727:  0: Able was I ere I saw Elba.
                   7728:  1: <unset>
                   7729:  2: <unset>
                   7730:  3: Able was I ere I saw Elba
                   7731:  4: A
                   7732:     *** Failers
                   7733: No match
                   7734:     The quick brown fox
                   7735: No match
                   7736: 
                   7737: /(?=(\w+))\1:/I
                   7738: Capturing subpattern count = 1
                   7739: Max back reference = 1
                   7740: No options
                   7741: No first char
                   7742: Need char = ':'
                   7743:     abcd:
                   7744:  0: abcd:
                   7745:  1: abcd
                   7746: 
                   7747: /(?=(?'abc'\w+))\k<abc>:/I
                   7748: Capturing subpattern count = 1
                   7749: Max back reference = 1
                   7750: Named capturing subpatterns:
                   7751:   abc   1
                   7752: No options
                   7753: No first char
                   7754: Need char = ':'
                   7755:     abcd:
                   7756:  0: abcd:
                   7757:  1: abcd
                   7758: 
                   7759: /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
                   7760:     adaa
                   7761:  0: adaa
                   7762:  1: a
                   7763:  2: d
                   7764:     ** Failers
                   7765: No match
                   7766:     addd
                   7767: No match
                   7768:     adbb
                   7769: No match
                   7770: 
                   7771: /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
                   7772:     bdaa
                   7773:  0: bdaa
                   7774:  1: b
                   7775:  2: d
                   7776:     bdab
                   7777:  0: bdab
                   7778:  1: b
                   7779:  2: d
                   7780:     ** Failers
                   7781: No match
                   7782:     bddd
                   7783: No match
                   7784: 
                   7785: /(?(<bc))/
                   7786: Failed: malformed number or name after (?( at offset 6
                   7787: 
                   7788: /(?(''))/
                   7789: Failed: assertion expected after (?( at offset 4
                   7790: 
                   7791: /(?('R')stuff)/
                   7792: Failed: reference to non-existent subpattern at offset 7
                   7793: 
                   7794: /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7795:     abcabc1Xabc2XabcXabcabc
                   7796:  0: abcabc1Xabc2XabcX
                   7797:  1: abcabc1Xabc2XabcX
                   7798:  2: abcabc1Xabc2XabcX
                   7799: 
                   7800: /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7801:     abcabc1Xabc2XabcXabcabc
                   7802:  0: abcabc1Xabc2XabcX
                   7803:  1: abcabc1Xabc2XabcX
                   7804:  2: abcabc1Xabc2XabcX
                   7805: 
                   7806: /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7807: Failed: reference to non-existent subpattern at offset 29
                   7808: 
                   7809: /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7810:     abcabc1Xabc2XabcXabcabc
                   7811:  0: abcabc1Xabc2XabcX
                   7812:  1: abcabc1Xabc2XabcX
                   7813:  2: abcabc1Xabc2XabcX
                   7814: 
                   7815: /^(?(DEFINE) abc | xyz ) /x
                   7816: Failed: DEFINE group contains more than one branch at offset 22
                   7817: 
                   7818: /(?(DEFINE) abc) xyz/xI
                   7819: Capturing subpattern count = 0
                   7820: Options: extended
                   7821: First char = 'x'
                   7822: Need char = 'z'
                   7823: 
                   7824: /(a|)*\d/
                   7825:   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   7826: No match
                   7827:   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
                   7828: Matched, but too many substrings
                   7829: 
                   7830: /^a.b/<lf>
                   7831:     a\rb
                   7832:  0: a\x0db
                   7833:     a\nb\<cr>
                   7834:  0: a\x0ab
                   7835:     a\x85b\<anycrlf> 
                   7836:  0: a\x85b
                   7837:     ** Failers
                   7838: No match
                   7839:     a\nb
                   7840: No match
                   7841:     a\nb\<any>
                   7842: No match
                   7843:     a\rb\<cr>
                   7844: No match
                   7845:     a\rb\<any>
                   7846: No match
                   7847:     a\x85b\<any> 
                   7848: No match
                   7849:     a\rb\<anycrlf>
                   7850: No match
                   7851: 
                   7852: /^abc./mgx<any>
                   7853:     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
                   7854:  0: abc1
                   7855:  0: abc2
                   7856:  0: abc3
                   7857:  0: abc4
                   7858:  0: abc5
                   7859:  0: abc6
                   7860:  0: abc7
                   7861: 
                   7862: /abc.$/mgx<any>
                   7863:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
                   7864:  0: abc1
                   7865:  0: abc2
                   7866:  0: abc3
                   7867:  0: abc4
                   7868:  0: abc5
                   7869:  0: abc6
                   7870:  0: abc9
                   7871: 
                   7872: /a/<cr><any>
                   7873: 
                   7874: /a/<any><crlf>
                   7875: Failed: inconsistent NEWLINE options at offset 0
                   7876: 
                   7877: /^a\Rb/<bsr_unicode>
                   7878:     a\nb
                   7879:  0: a\x0ab
                   7880:     a\rb
                   7881:  0: a\x0db
                   7882:     a\r\nb
                   7883:  0: a\x0d\x0ab
                   7884:     a\x0bb
                   7885:  0: a\x0bb
                   7886:     a\x0cb
                   7887:  0: a\x0cb
                   7888:     a\x85b
                   7889:  0: a\x85b
                   7890:     ** Failers
                   7891: No match
                   7892:     a\n\rb
                   7893: No match
                   7894: 
                   7895: /^a\R*b/<bsr_unicode>
                   7896:     ab
                   7897:  0: ab
                   7898:     a\nb
                   7899:  0: a\x0ab
                   7900:     a\rb
                   7901:  0: a\x0db
                   7902:     a\r\nb
                   7903:  0: a\x0d\x0ab
                   7904:     a\x0bb
                   7905:  0: a\x0bb
                   7906:     a\x0cb
                   7907:  0: a\x0cb
                   7908:     a\x85b
                   7909:  0: a\x85b
                   7910:     a\n\rb
                   7911:  0: a\x0a\x0db
                   7912:     a\n\r\x85\x0cb
                   7913:  0: a\x0a\x0d\x85\x0cb
                   7914: 
                   7915: /^a\R+b/<bsr_unicode>
                   7916:     a\nb
                   7917:  0: a\x0ab
                   7918:     a\rb
                   7919:  0: a\x0db
                   7920:     a\r\nb
                   7921:  0: a\x0d\x0ab
                   7922:     a\x0bb
                   7923:  0: a\x0bb
                   7924:     a\x0cb
                   7925:  0: a\x0cb
                   7926:     a\x85b
                   7927:  0: a\x85b
                   7928:     a\n\rb
                   7929:  0: a\x0a\x0db
                   7930:     a\n\r\x85\x0cb
                   7931:  0: a\x0a\x0d\x85\x0cb
                   7932:     ** Failers
                   7933: No match
                   7934:     ab
                   7935: No match
                   7936: 
                   7937: /^a\R{1,3}b/<bsr_unicode>
                   7938:     a\nb
                   7939:  0: a\x0ab
                   7940:     a\n\rb
                   7941:  0: a\x0a\x0db
                   7942:     a\n\r\x85b
                   7943:  0: a\x0a\x0d\x85b
                   7944:     a\r\n\r\nb
                   7945:  0: a\x0d\x0a\x0d\x0ab
                   7946:     a\r\n\r\n\r\nb
                   7947:  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
                   7948:     a\n\r\n\rb
                   7949:  0: a\x0a\x0d\x0a\x0db
                   7950:     a\n\n\r\nb
                   7951:  0: a\x0a\x0a\x0d\x0ab
                   7952:     ** Failers
                   7953: No match
                   7954:     a\n\n\n\rb
                   7955: No match
                   7956:     a\r
                   7957: No match
                   7958: 
                   7959: /^a[\R]b/<bsr_unicode>
                   7960:     aRb
                   7961:  0: aRb
                   7962:     ** Failers
                   7963: No match
                   7964:     a\nb
                   7965: No match
                   7966: 
                   7967: /(?&abc)X(?<abc>P)/I
                   7968: Capturing subpattern count = 1
                   7969: Named capturing subpatterns:
                   7970:   abc   1
                   7971: No options
                   7972: No first char
                   7973: Need char = 'P'
                   7974:     abcPXP123
                   7975:  0: PXP
                   7976:  1: P
                   7977: 
                   7978: /(?1)X(?<abc>P)/I
                   7979: Capturing subpattern count = 1
                   7980: Named capturing subpatterns:
                   7981:   abc   1
                   7982: No options
                   7983: No first char
                   7984: Need char = 'P'
                   7985:     abcPXP123
                   7986:  0: PXP
                   7987:  1: P
                   7988: 
                   7989: /(?:a(?&abc)b)*(?<abc>x)/
                   7990:     123axbaxbaxbx456
                   7991:  0: axbaxbaxbx
                   7992:  1: x
                   7993:     123axbaxbaxb456
                   7994:  0: x
                   7995:  1: x
                   7996: 
                   7997: /(?:a(?&abc)b){1,5}(?<abc>x)/
                   7998:     123axbaxbaxbx456
                   7999:  0: axbaxbaxbx
                   8000:  1: x
                   8001: 
                   8002: /(?:a(?&abc)b){2,5}(?<abc>x)/
                   8003:     123axbaxbaxbx456
                   8004:  0: axbaxbaxbx
                   8005:  1: x
                   8006: 
                   8007: /(?:a(?&abc)b){2,}(?<abc>x)/
                   8008:     123axbaxbaxbx456
                   8009:  0: axbaxbaxbx
                   8010:  1: x
                   8011: 
                   8012: /(abc)(?i:(?1))/
                   8013:    defabcabcxyz
                   8014:  0: abcabc
                   8015:  1: abc
                   8016:    DEFabcABCXYZ
                   8017: No match
                   8018: 
                   8019: /(abc)(?:(?i)(?1))/
                   8020:    defabcabcxyz
                   8021:  0: abcabc
                   8022:  1: abc
                   8023:    DEFabcABCXYZ
                   8024: No match
                   8025: 
                   8026: /^(a)\g-2/
                   8027: Failed: reference to non-existent subpattern at offset 7
                   8028: 
                   8029: /^(a)\g/
                   8030: Failed: a numbered reference must not be zero at offset 5
                   8031: 
                   8032: /^(a)\g{0}/
                   8033: Failed: a numbered reference must not be zero at offset 8
                   8034: 
                   8035: /^(a)\g{3/
                   8036: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
                   8037: 
                   8038: /^(a)\g{4a}/
                   8039: Failed: reference to non-existent subpattern at offset 9
                   8040: 
                   8041: /^a.b/<lf>
                   8042:     a\rb
                   8043:  0: a\x0db
                   8044:     *** Failers
                   8045: No match
                   8046:     a\nb
                   8047: No match
                   8048: 
                   8049: /.+foo/
                   8050:     afoo
                   8051:  0: afoo
                   8052:     ** Failers
                   8053: No match
                   8054:     \r\nfoo
                   8055: No match
                   8056:     \nfoo
                   8057: No match
                   8058: 
                   8059: /.+foo/<crlf>
                   8060:     afoo
                   8061:  0: afoo
                   8062:     \nfoo
                   8063:  0: \x0afoo
                   8064:     ** Failers
                   8065: No match
                   8066:     \r\nfoo
                   8067: No match
                   8068: 
                   8069: /.+foo/<any>
                   8070:     afoo
                   8071:  0: afoo
                   8072:     ** Failers
                   8073: No match
                   8074:     \nfoo
                   8075: No match
                   8076:     \r\nfoo
                   8077: No match
                   8078: 
                   8079: /.+foo/s
                   8080:     afoo
                   8081:  0: afoo
                   8082:     \r\nfoo
                   8083:  0: \x0d\x0afoo
                   8084:     \nfoo
                   8085:  0: \x0afoo
                   8086:     
                   8087: /^$/mg<any>
                   8088:     abc\r\rxyz
                   8089:  0: 
                   8090:     abc\n\rxyz  
                   8091:  0: 
                   8092:     ** Failers 
                   8093: No match
                   8094:     abc\r\nxyz
                   8095: No match
                   8096: 
                   8097: /(?m)^$/<any>g+
                   8098:     abc\r\n\r\n
                   8099:  0: 
                   8100:  0+ \x0d\x0a
                   8101: 
                   8102: /(?m)^$|^\r\n/<any>g+ 
                   8103:     abc\r\n\r\n
                   8104:  0: 
                   8105:  0+ \x0d\x0a
                   8106:  0: \x0d\x0a
                   8107:  0+ 
                   8108:     
                   8109: /(?m)$/<any>g+ 
                   8110:     abc\r\n\r\n
                   8111:  0: 
                   8112:  0+ \x0d\x0a\x0d\x0a
                   8113:  0: 
                   8114:  0+ \x0d\x0a
                   8115:  0: 
                   8116:  0+ 
                   8117: 
                   8118: /abc.$/mgx<anycrlf>
                   8119:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
                   8120:  0: abc1
                   8121:  0: abc4
                   8122:  0: abc5
                   8123:  0: abc9
                   8124: 
                   8125: /^X/m
                   8126:     XABC
                   8127:  0: X
                   8128:     ** Failers 
                   8129: No match
                   8130:     XABC\B
                   8131: No match
                   8132: 
                   8133: /(ab|c)(?-1)/BZ
                   8134: ------------------------------------------------------------------
                   8135:         Bra
                   8136:         CBra 1
                   8137:         ab
                   8138:         Alt
                   8139:         c
                   8140:         Ket
                   8141:         Recurse
                   8142:         Ket
                   8143:         End
                   8144: ------------------------------------------------------------------
                   8145:     abc
                   8146:  0: abc
                   8147:  1: ab
                   8148: 
                   8149: /xy(?+1)(abc)/BZ
                   8150: ------------------------------------------------------------------
                   8151:         Bra
                   8152:         xy
                   8153:         Recurse
                   8154:         CBra 1
                   8155:         abc
                   8156:         Ket
                   8157:         Ket
                   8158:         End
                   8159: ------------------------------------------------------------------
                   8160:     xyabcabc
                   8161:  0: xyabcabc
                   8162:  1: abc
                   8163:     ** Failers
                   8164: No match
                   8165:     xyabc  
                   8166: No match
                   8167:     
                   8168: /x(?-0)y/
                   8169: Failed: a numbered reference must not be zero at offset 5
                   8170: 
                   8171: /x(?-1)y/
                   8172: Failed: reference to non-existent subpattern at offset 5
                   8173: 
                   8174: /x(?+0)y/ 
                   8175: Failed: a numbered reference must not be zero at offset 5
                   8176: 
                   8177: /x(?+1)y/
                   8178: Failed: reference to non-existent subpattern at offset 5
                   8179: 
                   8180: /^(abc)?(?(-1)X|Y)/BZ
                   8181: ------------------------------------------------------------------
                   8182:         Bra
                   8183:         ^
                   8184:         Brazero
                   8185:         CBra 1
                   8186:         abc
                   8187:         Ket
                   8188:         Cond
                   8189:       1 Cond ref
                   8190:         X
                   8191:         Alt
                   8192:         Y
                   8193:         Ket
                   8194:         Ket
                   8195:         End
                   8196: ------------------------------------------------------------------
                   8197:     abcX
                   8198:  0: abcX
                   8199:  1: abc
                   8200:     Y
                   8201:  0: Y
                   8202:     ** Failers
                   8203: No match
                   8204:     abcY   
                   8205: No match
                   8206:     
                   8207: /^((?(+1)X|Y)(abc))+/BZ 
                   8208: ------------------------------------------------------------------
                   8209:         Bra
                   8210:         ^
                   8211:         CBra 1
                   8212:         Cond
                   8213:       2 Cond ref
                   8214:         X
                   8215:         Alt
                   8216:         Y
                   8217:         Ket
                   8218:         CBra 2
                   8219:         abc
                   8220:         Ket
                   8221:         KetRmax
                   8222:         Ket
                   8223:         End
                   8224: ------------------------------------------------------------------
                   8225:     YabcXabc
                   8226:  0: YabcXabc
                   8227:  1: Xabc
                   8228:  2: abc
                   8229:     YabcXabcXabc
                   8230:  0: YabcXabcXabc
                   8231:  1: Xabc
                   8232:  2: abc
                   8233:     ** Failers
                   8234: No match
                   8235:     XabcXabc  
                   8236: No match
                   8237: 
                   8238: /(?(-1)a)/BZ
                   8239: Failed: reference to non-existent subpattern at offset 6
                   8240: 
                   8241: /((?(-1)a))/BZ
                   8242: ------------------------------------------------------------------
                   8243:         Bra
                   8244:         CBra 1
                   8245:         Cond
                   8246:       1 Cond ref
                   8247:         a
                   8248:         Ket
                   8249:         Ket
                   8250:         Ket
                   8251:         End
                   8252: ------------------------------------------------------------------
                   8253: 
                   8254: /((?(-2)a))/BZ
                   8255: Failed: reference to non-existent subpattern at offset 7
                   8256: 
                   8257: /^(?(+1)X|Y)(.)/BZ
                   8258: ------------------------------------------------------------------
                   8259:         Bra
                   8260:         ^
                   8261:         Cond
                   8262:       1 Cond ref
                   8263:         X
                   8264:         Alt
                   8265:         Y
                   8266:         Ket
                   8267:         CBra 1
                   8268:         Any
                   8269:         Ket
                   8270:         Ket
                   8271:         End
                   8272: ------------------------------------------------------------------
                   8273:     Y!
                   8274:  0: Y!
                   8275:  1: !
                   8276: 
                   8277: /(?<A>tom|bon)-\k{A}/
                   8278:     tom-tom
                   8279:  0: tom-tom
                   8280:  1: tom
                   8281:     bon-bon 
                   8282:  0: bon-bon
                   8283:  1: bon
                   8284:     ** Failers
                   8285: No match
                   8286:     tom-bon  
                   8287: No match
                   8288: 
                   8289: /\g{A/ 
                   8290: Failed: syntax error in subpattern name (missing terminator) at offset 4
                   8291: 
                   8292: /(?|(abc)|(xyz))/BZ
                   8293: ------------------------------------------------------------------
                   8294:         Bra
                   8295:         Bra
                   8296:         CBra 1
                   8297:         abc
                   8298:         Ket
                   8299:         Alt
                   8300:         CBra 1
                   8301:         xyz
                   8302:         Ket
                   8303:         Ket
                   8304:         Ket
                   8305:         End
                   8306: ------------------------------------------------------------------
                   8307:    >abc<
                   8308:  0: abc
                   8309:  1: abc
                   8310:    >xyz< 
                   8311:  0: xyz
                   8312:  1: xyz
                   8313: 
                   8314: /(x)(?|(abc)|(xyz))(x)/BZ
                   8315: ------------------------------------------------------------------
                   8316:         Bra
                   8317:         CBra 1
                   8318:         x
                   8319:         Ket
                   8320:         Bra
                   8321:         CBra 2
                   8322:         abc
                   8323:         Ket
                   8324:         Alt
                   8325:         CBra 2
                   8326:         xyz
                   8327:         Ket
                   8328:         Ket
                   8329:         CBra 3
                   8330:         x
                   8331:         Ket
                   8332:         Ket
                   8333:         End
                   8334: ------------------------------------------------------------------
                   8335:     xabcx
                   8336:  0: xabcx
                   8337:  1: x
                   8338:  2: abc
                   8339:  3: x
                   8340:     xxyzx 
                   8341:  0: xxyzx
                   8342:  1: x
                   8343:  2: xyz
                   8344:  3: x
                   8345: 
                   8346: /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
                   8347: ------------------------------------------------------------------
                   8348:         Bra
                   8349:         CBra 1
                   8350:         x
                   8351:         Ket
                   8352:         Bra
                   8353:         CBra 2
                   8354:         abc
                   8355:         Ket
                   8356:         CBra 3
                   8357:         pqr
                   8358:         Ket
                   8359:         Alt
                   8360:         CBra 2
                   8361:         xyz
                   8362:         Ket
                   8363:         Ket
                   8364:         CBra 4
                   8365:         x
                   8366:         Ket
                   8367:         Ket
                   8368:         End
                   8369: ------------------------------------------------------------------
                   8370:     xabcpqrx
                   8371:  0: xabcpqrx
                   8372:  1: x
                   8373:  2: abc
                   8374:  3: pqr
                   8375:  4: x
                   8376:     xxyzx 
                   8377:  0: xxyzx
                   8378:  1: x
                   8379:  2: xyz
                   8380:  3: <unset>
                   8381:  4: x
                   8382: 
                   8383: /\H++X/BZ
                   8384: ------------------------------------------------------------------
                   8385:         Bra
                   8386:         \H++
                   8387:         X
                   8388:         Ket
                   8389:         End
                   8390: ------------------------------------------------------------------
                   8391:     ** Failers
                   8392: No match
                   8393:     XXXX
                   8394: No match
                   8395:     
                   8396: /\H+\hY/BZ
                   8397: ------------------------------------------------------------------
                   8398:         Bra
                   8399:         \H++
                   8400:         \h
                   8401:         Y
                   8402:         Ket
                   8403:         End
                   8404: ------------------------------------------------------------------
                   8405:     XXXX Y 
                   8406:  0: XXXX Y
                   8407: 
                   8408: /\H+ Y/BZ
                   8409: ------------------------------------------------------------------
                   8410:         Bra
                   8411:         \H++
                   8412:          Y
                   8413:         Ket
                   8414:         End
                   8415: ------------------------------------------------------------------
                   8416: 
                   8417: /\h+A/BZ
                   8418: ------------------------------------------------------------------
                   8419:         Bra
                   8420:         \h++
                   8421:         A
                   8422:         Ket
                   8423:         End
                   8424: ------------------------------------------------------------------
                   8425: 
                   8426: /\v*B/BZ
                   8427: ------------------------------------------------------------------
                   8428:         Bra
                   8429:         \v*+
                   8430:         B
                   8431:         Ket
                   8432:         End
                   8433: ------------------------------------------------------------------
                   8434: 
                   8435: /\V+\x0a/BZ
                   8436: ------------------------------------------------------------------
                   8437:         Bra
                   8438:         \V++
                   8439:         \x0a
                   8440:         Ket
                   8441:         End
                   8442: ------------------------------------------------------------------
                   8443: 
                   8444: /A+\h/BZ
                   8445: ------------------------------------------------------------------
                   8446:         Bra
                   8447:         A++
                   8448:         \h
                   8449:         Ket
                   8450:         End
                   8451: ------------------------------------------------------------------
                   8452: 
                   8453: / *\H/BZ
                   8454: ------------------------------------------------------------------
                   8455:         Bra
                   8456:          *+
                   8457:         \H
                   8458:         Ket
                   8459:         End
                   8460: ------------------------------------------------------------------
                   8461: 
                   8462: /A*\v/BZ
                   8463: ------------------------------------------------------------------
                   8464:         Bra
                   8465:         A*+
                   8466:         \v
                   8467:         Ket
                   8468:         End
                   8469: ------------------------------------------------------------------
                   8470: 
                   8471: /\x0b*\V/BZ
                   8472: ------------------------------------------------------------------
                   8473:         Bra
                   8474:         \x0b*+
                   8475:         \V
                   8476:         Ket
                   8477:         End
                   8478: ------------------------------------------------------------------
                   8479: 
                   8480: /\d+\h/BZ
                   8481: ------------------------------------------------------------------
                   8482:         Bra
                   8483:         \d++
                   8484:         \h
                   8485:         Ket
                   8486:         End
                   8487: ------------------------------------------------------------------
                   8488: 
                   8489: /\d*\v/BZ
                   8490: ------------------------------------------------------------------
                   8491:         Bra
                   8492:         \d*+
                   8493:         \v
                   8494:         Ket
                   8495:         End
                   8496: ------------------------------------------------------------------
                   8497: 
                   8498: /S+\h\S+\v/BZ
                   8499: ------------------------------------------------------------------
                   8500:         Bra
                   8501:         S++
                   8502:         \h
                   8503:         \S++
                   8504:         \v
                   8505:         Ket
                   8506:         End
                   8507: ------------------------------------------------------------------
                   8508: 
                   8509: /\w{3,}\h\w+\v/BZ
                   8510: ------------------------------------------------------------------
                   8511:         Bra
                   8512:         \w{3}
                   8513:         \w*+
                   8514:         \h
                   8515:         \w++
                   8516:         \v
                   8517:         Ket
                   8518:         End
                   8519: ------------------------------------------------------------------
                   8520: 
                   8521: /\h+\d\h+\w\h+\S\h+\H/BZ
                   8522: ------------------------------------------------------------------
                   8523:         Bra
                   8524:         \h++
                   8525:         \d
                   8526:         \h++
                   8527:         \w
                   8528:         \h++
                   8529:         \S
                   8530:         \h++
                   8531:         \H
                   8532:         Ket
                   8533:         End
                   8534: ------------------------------------------------------------------
                   8535: 
                   8536: /\v+\d\v+\w\v+\S\v+\V/BZ
                   8537: ------------------------------------------------------------------
                   8538:         Bra
                   8539:         \v++
                   8540:         \d
                   8541:         \v++
                   8542:         \w
                   8543:         \v+
                   8544:         \S
                   8545:         \v++
                   8546:         \V
                   8547:         Ket
                   8548:         End
                   8549: ------------------------------------------------------------------
                   8550: 
                   8551: /\H+\h\H+\d/BZ
                   8552: ------------------------------------------------------------------
                   8553:         Bra
                   8554:         \H++
                   8555:         \h
                   8556:         \H+
                   8557:         \d
                   8558:         Ket
                   8559:         End
                   8560: ------------------------------------------------------------------
                   8561: 
                   8562: /\V+\v\V+\w/BZ
                   8563: ------------------------------------------------------------------
                   8564:         Bra
                   8565:         \V++
                   8566:         \v
                   8567:         \V+
                   8568:         \w
                   8569:         Ket
                   8570:         End
                   8571: ------------------------------------------------------------------
                   8572: 
                   8573: /\( (?: [^()]* | (?R) )* \)/x
                   8574: \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)
                   8575:  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
                   8576: 
                   8577: /[\E]AAA/
                   8578: Failed: missing terminating ] for character class at offset 7
                   8579: 
                   8580: /[\Q\E]AAA/
                   8581: Failed: missing terminating ] for character class at offset 9
                   8582: 
                   8583: /[^\E]AAA/
                   8584: Failed: missing terminating ] for character class at offset 8
                   8585: 
                   8586: /[^\Q\E]AAA/
                   8587: Failed: missing terminating ] for character class at offset 10
                   8588: 
                   8589: /[\E^]AAA/
                   8590: Failed: missing terminating ] for character class at offset 8
                   8591: 
                   8592: /[\Q\E^]AAA/
                   8593: Failed: missing terminating ] for character class at offset 10
                   8594: 
                   8595: /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
                   8596: ------------------------------------------------------------------
                   8597:         Bra
                   8598:         A
                   8599:         *PRUNE
                   8600:         B
                   8601:         *SKIP
                   8602:         C
                   8603:         *THEN
                   8604:         D
                   8605:         *COMMIT
                   8606:         E
                   8607:         *FAIL
                   8608:         F
                   8609:         *FAIL
                   8610:         G
                   8611:         *FAIL
                   8612:         H
                   8613:         *ACCEPT
                   8614:         I
                   8615:         Ket
                   8616:         End
                   8617: ------------------------------------------------------------------
                   8618: 
                   8619: /^a+(*FAIL)/C
                   8620:     aaaaaa
                   8621: --->aaaaaa
                   8622:  +0 ^          ^
                   8623:  +1 ^          a+
                   8624:  +3 ^     ^    (*FAIL)
                   8625:  +3 ^    ^     (*FAIL)
                   8626:  +3 ^   ^      (*FAIL)
                   8627:  +3 ^  ^       (*FAIL)
                   8628:  +3 ^ ^        (*FAIL)
                   8629:  +3 ^^         (*FAIL)
                   8630: No match
                   8631:     
                   8632: /a+b?c+(*FAIL)/C
                   8633:     aaabccc
                   8634: --->aaabccc
                   8635:  +0 ^           a+
                   8636:  +2 ^  ^        b?
                   8637:  +4 ^   ^       c+
                   8638:  +6 ^      ^    (*FAIL)
                   8639:  +6 ^     ^     (*FAIL)
                   8640:  +6 ^    ^      (*FAIL)
                   8641:  +4 ^  ^        c+
                   8642:  +2 ^ ^         b?
                   8643:  +4 ^ ^         c+
                   8644:  +2 ^^          b?
                   8645:  +4 ^^          c+
                   8646:  +0  ^          a+
                   8647:  +2  ^ ^        b?
                   8648:  +4  ^  ^       c+
                   8649:  +6  ^     ^    (*FAIL)
                   8650:  +6  ^    ^     (*FAIL)
                   8651:  +6  ^   ^      (*FAIL)
                   8652:  +4  ^ ^        c+
                   8653:  +2  ^^         b?
                   8654:  +4  ^^         c+
                   8655:  +0   ^         a+
                   8656:  +2   ^^        b?
                   8657:  +4   ^ ^       c+
                   8658:  +6   ^    ^    (*FAIL)
                   8659:  +6   ^   ^     (*FAIL)
                   8660:  +6   ^  ^      (*FAIL)
                   8661:  +4   ^^        c+
                   8662: No match
                   8663: 
                   8664: /a+b?(*PRUNE)c+(*FAIL)/C
                   8665:     aaabccc
                   8666: --->aaabccc
                   8667:  +0 ^           a+
                   8668:  +2 ^  ^        b?
                   8669:  +4 ^   ^       (*PRUNE)
                   8670: +12 ^   ^       c+
                   8671: +14 ^      ^    (*FAIL)
                   8672: +14 ^     ^     (*FAIL)
                   8673: +14 ^    ^      (*FAIL)
                   8674:  +0  ^          a+
                   8675:  +2  ^ ^        b?
                   8676:  +4  ^  ^       (*PRUNE)
                   8677: +12  ^  ^       c+
                   8678: +14  ^     ^    (*FAIL)
                   8679: +14  ^    ^     (*FAIL)
                   8680: +14  ^   ^      (*FAIL)
                   8681:  +0   ^         a+
                   8682:  +2   ^^        b?
                   8683:  +4   ^ ^       (*PRUNE)
                   8684: +12   ^ ^       c+
                   8685: +14   ^    ^    (*FAIL)
                   8686: +14   ^   ^     (*FAIL)
                   8687: +14   ^  ^      (*FAIL)
                   8688: No match
                   8689: 
                   8690: /a+b?(*COMMIT)c+(*FAIL)/C
                   8691:     aaabccc
                   8692: --->aaabccc
                   8693:  +0 ^           a+
                   8694:  +2 ^  ^        b?
                   8695:  +4 ^   ^       (*COMMIT)
                   8696: +13 ^   ^       c+
                   8697: +15 ^      ^    (*FAIL)
                   8698: +15 ^     ^     (*FAIL)
                   8699: +15 ^    ^      (*FAIL)
                   8700: No match
                   8701:     
                   8702: /a+b?(*SKIP)c+(*FAIL)/C
                   8703:     aaabcccaaabccc
                   8704: --->aaabcccaaabccc
                   8705:  +0 ^                  a+
                   8706:  +2 ^  ^               b?
                   8707:  +4 ^   ^              (*SKIP)
                   8708: +11 ^   ^              c+
                   8709: +13 ^      ^           (*FAIL)
                   8710: +13 ^     ^            (*FAIL)
                   8711: +13 ^    ^             (*FAIL)
                   8712:  +0        ^           a+
                   8713:  +2        ^  ^        b?
                   8714:  +4        ^   ^       (*SKIP)
                   8715: +11        ^   ^       c+
                   8716: +13        ^      ^    (*FAIL)
                   8717: +13        ^     ^     (*FAIL)
                   8718: +13        ^    ^      (*FAIL)
                   8719: No match
                   8720: 
                   8721: /a+b?(*THEN)c+(*FAIL)/C
                   8722:     aaabccc
                   8723: --->aaabccc
                   8724:  +0 ^           a+
                   8725:  +2 ^  ^        b?
                   8726:  +4 ^   ^       (*THEN)
                   8727: +11 ^   ^       c+
                   8728: +13 ^      ^    (*FAIL)
                   8729: +13 ^     ^     (*FAIL)
                   8730: +13 ^    ^      (*FAIL)
                   8731:  +0  ^          a+
                   8732:  +2  ^ ^        b?
                   8733:  +4  ^  ^       (*THEN)
                   8734: +11  ^  ^       c+
                   8735: +13  ^     ^    (*FAIL)
                   8736: +13  ^    ^     (*FAIL)
                   8737: +13  ^   ^      (*FAIL)
                   8738:  +0   ^         a+
                   8739:  +2   ^^        b?
                   8740:  +4   ^ ^       (*THEN)
                   8741: +11   ^ ^       c+
                   8742: +13   ^    ^    (*FAIL)
                   8743: +13   ^   ^     (*FAIL)
                   8744: +13   ^  ^      (*FAIL)
                   8745: No match
                   8746:     
                   8747: /a(*MARK)b/ 
                   8748: Failed: (*MARK) must have an argument at offset 7
                   8749: 
                   8750: /(?i:A{1,}\6666666666)/
                   8751: Failed: number is too big at offset 19
                   8752: 
                   8753: /\g6666666666/
                   8754: Failed: number is too big at offset 11
                   8755: 
                   8756: /[\g6666666666]/BZ
                   8757: ------------------------------------------------------------------
                   8758:         Bra
                   8759:         [6g]
                   8760:         Ket
                   8761:         End
                   8762: ------------------------------------------------------------------
                   8763: 
                   8764: /(?1)\c[/
                   8765: Failed: reference to non-existent subpattern at offset 3
                   8766: 
                   8767: /.+A/<crlf>
                   8768:     \r\nA
                   8769: No match
                   8770:     
                   8771: /\nA/<crlf>
                   8772:     \r\nA 
                   8773:  0: \x0aA
                   8774: 
                   8775: /[\r\n]A/<crlf>
                   8776:     \r\nA 
                   8777:  0: \x0aA
                   8778: 
                   8779: /(\r|\n)A/<crlf>
                   8780:     \r\nA 
                   8781:  0: \x0aA
                   8782:  1: \x0a
                   8783: 
                   8784: /a(*CR)b/
                   8785: Failed: (*VERB) not recognized at offset 5
                   8786: 
                   8787: /(*CR)a.b/
                   8788:     a\nb
                   8789:  0: a\x0ab
                   8790:     ** Failers
                   8791: No match
                   8792:     a\rb  
                   8793: No match
                   8794: 
                   8795: /(*CR)a.b/<lf>
                   8796:     a\nb
                   8797:  0: a\x0ab
                   8798:     ** Failers
                   8799: No match
                   8800:     a\rb  
                   8801: No match
                   8802: 
                   8803: /(*LF)a.b/<CRLF>
                   8804:     a\rb
                   8805:  0: a\x0db
                   8806:     ** Failers
                   8807: No match
                   8808:     a\nb  
                   8809: No match
                   8810: 
                   8811: /(*CRLF)a.b/
                   8812:     a\rb
                   8813:  0: a\x0db
                   8814:     a\nb  
                   8815:  0: a\x0ab
                   8816:     ** Failers
                   8817: No match
                   8818:     a\r\nb  
                   8819: No match
                   8820: 
                   8821: /(*ANYCRLF)a.b/<CR>
                   8822:     ** Failers
                   8823: No match
                   8824:     a\rb
                   8825: No match
                   8826:     a\nb  
                   8827: No match
                   8828:     a\r\nb  
                   8829: No match
                   8830: 
                   8831: /(*ANY)a.b/<cr>
                   8832:     ** Failers
                   8833: No match
                   8834:     a\rb
                   8835: No match
                   8836:     a\nb  
                   8837: No match
                   8838:     a\r\nb  
                   8839: No match
                   8840:     a\x85b 
                   8841: No match
                   8842:     
                   8843: /(*ANY).*/g
                   8844:     abc\r\ndef
                   8845:  0: abc
                   8846:  0: 
                   8847:  0: def
                   8848:  0: 
                   8849: 
                   8850: /(*ANYCRLF).*/g
                   8851:     abc\r\ndef
                   8852:  0: abc
                   8853:  0: 
                   8854:  0: def
                   8855:  0: 
                   8856: 
                   8857: /(*CRLF).*/g
                   8858:     abc\r\ndef
                   8859:  0: abc
                   8860:  0: 
                   8861:  0: def
                   8862:  0: 
                   8863: 
                   8864: /a\Rb/I<bsr_anycrlf>
                   8865: Capturing subpattern count = 0
                   8866: Options: bsr_anycrlf
                   8867: First char = 'a'
                   8868: Need char = 'b'
                   8869:     a\rb
                   8870:  0: a\x0db
                   8871:     a\nb
                   8872:  0: a\x0ab
                   8873:     a\r\nb
                   8874:  0: a\x0d\x0ab
                   8875:     ** Failers
                   8876: No match
                   8877:     a\x85b
                   8878: No match
                   8879:     a\x0bb     
                   8880: No match
                   8881: 
                   8882: /a\Rb/I<bsr_unicode>
                   8883: Capturing subpattern count = 0
                   8884: Options: bsr_unicode
                   8885: First char = 'a'
                   8886: Need char = 'b'
                   8887:     a\rb
                   8888:  0: a\x0db
                   8889:     a\nb
                   8890:  0: a\x0ab
                   8891:     a\r\nb
                   8892:  0: a\x0d\x0ab
                   8893:     a\x85b
                   8894:  0: a\x85b
                   8895:     a\x0bb     
                   8896:  0: a\x0bb
                   8897:     ** Failers 
                   8898: No match
                   8899:     a\x85b\<bsr_anycrlf>
                   8900: No match
                   8901:     a\x0bb\<bsr_anycrlf>
                   8902: No match
                   8903:     
                   8904: /a\R?b/I<bsr_anycrlf>
                   8905: Capturing subpattern count = 0
                   8906: Options: bsr_anycrlf
                   8907: First char = 'a'
                   8908: Need char = 'b'
                   8909:     a\rb
                   8910:  0: a\x0db
                   8911:     a\nb
                   8912:  0: a\x0ab
                   8913:     a\r\nb
                   8914:  0: a\x0d\x0ab
                   8915:     ** Failers
                   8916: No match
                   8917:     a\x85b
                   8918: No match
                   8919:     a\x0bb     
                   8920: No match
                   8921: 
                   8922: /a\R?b/I<bsr_unicode>
                   8923: Capturing subpattern count = 0
                   8924: Options: bsr_unicode
                   8925: First char = 'a'
                   8926: Need char = 'b'
                   8927:     a\rb
                   8928:  0: a\x0db
                   8929:     a\nb
                   8930:  0: a\x0ab
                   8931:     a\r\nb
                   8932:  0: a\x0d\x0ab
                   8933:     a\x85b
                   8934:  0: a\x85b
                   8935:     a\x0bb     
                   8936:  0: a\x0bb
                   8937:     ** Failers 
                   8938: No match
                   8939:     a\x85b\<bsr_anycrlf>
                   8940: No match
                   8941:     a\x0bb\<bsr_anycrlf>
                   8942: No match
                   8943:     
                   8944: /a\R{2,4}b/I<bsr_anycrlf>
                   8945: Capturing subpattern count = 0
                   8946: Options: bsr_anycrlf
                   8947: First char = 'a'
                   8948: Need char = 'b'
                   8949:     a\r\n\nb
                   8950:  0: a\x0d\x0a\x0ab
                   8951:     a\n\r\rb
                   8952:  0: a\x0a\x0d\x0db
                   8953:     a\r\n\r\n\r\n\r\nb
                   8954:  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
                   8955:     ** Failers
                   8956: No match
                   8957:     a\x85\85b
                   8958: No match
                   8959:     a\x0b\0bb     
                   8960: No match
                   8961: 
                   8962: /a\R{2,4}b/I<bsr_unicode>
                   8963: Capturing subpattern count = 0
                   8964: Options: bsr_unicode
                   8965: First char = 'a'
                   8966: Need char = 'b'
                   8967:     a\r\rb
                   8968:  0: a\x0d\x0db
                   8969:     a\n\n\nb
                   8970:  0: a\x0a\x0a\x0ab
                   8971:     a\r\n\n\r\rb
                   8972:  0: a\x0d\x0a\x0a\x0d\x0db
                   8973:     a\x85\85b
                   8974: No match
                   8975:     a\x0b\0bb     
                   8976: No match
                   8977:     ** Failers 
                   8978: No match
                   8979:     a\r\r\r\r\rb 
                   8980: No match
                   8981:     a\x85\85b\<bsr_anycrlf>
                   8982: No match
                   8983:     a\x0b\0bb\<bsr_anycrlf>
                   8984: No match
                   8985:  
                   8986: /(*BSR_ANYCRLF)a\Rb/I
                   8987: Capturing subpattern count = 0
                   8988: Options: bsr_anycrlf
                   8989: First char = 'a'
                   8990: Need char = 'b'
                   8991:     a\nb
                   8992:  0: a\x0ab
                   8993:     a\rb 
                   8994:  0: a\x0db
                   8995: 
                   8996: /(*BSR_UNICODE)a\Rb/I
                   8997: Capturing subpattern count = 0
                   8998: Options: bsr_unicode
                   8999: First char = 'a'
                   9000: Need char = 'b'
                   9001:     a\x85b
                   9002:  0: a\x85b
                   9003: 
                   9004: /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
                   9005: Capturing subpattern count = 0
                   9006: Options: bsr_anycrlf
                   9007: Forced newline sequence: CRLF
                   9008: First char = 'a'
                   9009: Need char = 'b'
                   9010:     a\nb
                   9011:  0: a\x0ab
                   9012:     a\rb 
                   9013:  0: a\x0db
                   9014: 
                   9015: /(*CRLF)(*BSR_UNICODE)a\Rb/I
                   9016: Capturing subpattern count = 0
                   9017: Options: bsr_unicode
                   9018: Forced newline sequence: CRLF
                   9019: First char = 'a'
                   9020: Need char = 'b'
                   9021:     a\x85b
                   9022:  0: a\x85b
                   9023: 
                   9024: /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
                   9025: Capturing subpattern count = 0
                   9026: Options: bsr_anycrlf
                   9027: Forced newline sequence: CR
                   9028: First char = 'a'
                   9029: Need char = 'b'
                   9030: 
                   9031: /(?<a>)(?&)/
                   9032: Failed: subpattern name expected at offset 9
                   9033: 
                   9034: /(?<abc>)(?&a)/
                   9035: Failed: reference to non-existent subpattern at offset 12
                   9036: 
                   9037: /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
                   9038: Failed: reference to non-existent subpattern at offset 32
                   9039: 
                   9040: /(?+-a)/
                   9041: Failed: digit expected after (?+ at offset 3
                   9042: 
                   9043: /(?-+a)/
                   9044: Failed: unrecognized character after (? or (?- at offset 3
                   9045: 
                   9046: /(?(-1))/
                   9047: Failed: reference to non-existent subpattern at offset 6
                   9048: 
                   9049: /(?(+10))/
                   9050: Failed: reference to non-existent subpattern at offset 7
                   9051: 
                   9052: /(?(10))/
                   9053: Failed: reference to non-existent subpattern at offset 6
                   9054: 
                   9055: /(?(+2))()()/
                   9056: 
                   9057: /(?(2))()()/
                   9058: 
                   9059: /\k''/
                   9060: Failed: subpattern name expected at offset 3
                   9061: 
                   9062: /\k<>/
                   9063: Failed: subpattern name expected at offset 3
                   9064: 
                   9065: /\k{}/
                   9066: Failed: subpattern name expected at offset 3
                   9067: 
                   9068: /\k/
                   9069: Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
                   9070: 
                   9071: /\kabc/
                   9072: Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
                   9073: 
                   9074: /(?P=)/
                   9075: Failed: subpattern name expected at offset 4
                   9076: 
                   9077: /(?P>)/
                   9078: Failed: subpattern name expected at offset 4
                   9079: 
                   9080: /(?!\w)(?R)/
                   9081: Failed: recursive call could loop indefinitely at offset 9
                   9082: 
                   9083: /(?=\w)(?R)/
                   9084: Failed: recursive call could loop indefinitely at offset 9
                   9085: 
                   9086: /(?<!\w)(?R)/
                   9087: Failed: recursive call could loop indefinitely at offset 10
                   9088: 
                   9089: /(?<=\w)(?R)/
                   9090: Failed: recursive call could loop indefinitely at offset 10
                   9091: 
                   9092: /[[:foo:]]/
                   9093: Failed: unknown POSIX class name at offset 3
                   9094: 
                   9095: /[[:1234:]]/
                   9096: Failed: unknown POSIX class name at offset 3
                   9097: 
                   9098: /[[:f\oo:]]/
                   9099: Failed: unknown POSIX class name at offset 3
                   9100: 
                   9101: /[[: :]]/
                   9102: Failed: unknown POSIX class name at offset 3
                   9103: 
                   9104: /[[:...:]]/
                   9105: Failed: unknown POSIX class name at offset 3
                   9106: 
                   9107: /[[:l\ower:]]/
                   9108: Failed: unknown POSIX class name at offset 3
                   9109: 
                   9110: /[[:abc\:]]/
                   9111: Failed: unknown POSIX class name at offset 3
                   9112: 
                   9113: /[abc[:x\]pqr:]]/
                   9114: Failed: unknown POSIX class name at offset 6
                   9115: 
                   9116: /[[:a\dz:]]/
                   9117: Failed: unknown POSIX class name at offset 3
                   9118: 
                   9119: /(^(a|b\g<-1'c))/
                   9120: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
                   9121: 
                   9122: /^(?+1)(?<a>x|y){0}z/
                   9123:     xzxx
                   9124:  0: xz
                   9125:     yzyy 
                   9126:  0: yz
                   9127:     ** Failers
                   9128: No match
                   9129:     xxz  
                   9130: No match
                   9131: 
                   9132: /(\3)(\1)(a)/
                   9133:     cat
                   9134: No match
                   9135: 
                   9136: /(\3)(\1)(a)/<JS>
                   9137:     cat
                   9138:  0: a
                   9139:  1: 
                   9140:  2: 
                   9141:  3: a
                   9142:     
                   9143: /TA]/
                   9144:     The ACTA] comes 
                   9145:  0: TA]
                   9146: 
                   9147: /TA]/<JS>
                   9148: Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
                   9149: 
                   9150: /(?2)[]a()b](abc)/
                   9151: Failed: reference to non-existent subpattern at offset 3
                   9152: 
                   9153: /(?2)[^]a()b](abc)/
                   9154: Failed: reference to non-existent subpattern at offset 3
                   9155: 
                   9156: /(?1)[]a()b](abc)/
                   9157:     abcbabc
                   9158:  0: abcbabc
                   9159:  1: abc
                   9160:     ** Failers 
                   9161: No match
                   9162:     abcXabc
                   9163: No match
                   9164: 
                   9165: /(?1)[^]a()b](abc)/
                   9166:     abcXabc
                   9167:  0: abcXabc
                   9168:  1: abc
                   9169:     ** Failers 
                   9170: No match
                   9171:     abcbabc
                   9172: No match
                   9173: 
                   9174: /(?2)[]a()b](abc)(xyz)/
                   9175:     xyzbabcxyz
                   9176:  0: xyzbabcxyz
                   9177:  1: abc
                   9178:  2: xyz
                   9179: 
                   9180: /(?&N)[]a(?<N>)](?<M>abc)/
                   9181: Failed: reference to non-existent subpattern at offset 4
                   9182: 
                   9183: /(?&N)[]a(?<N>)](abc)/
                   9184: Failed: reference to non-existent subpattern at offset 4
                   9185: 
                   9186: /a[]b/
                   9187: Failed: missing terminating ] for character class at offset 4
                   9188: 
                   9189: /a[^]b/
                   9190: Failed: missing terminating ] for character class at offset 5
                   9191: 
                   9192: /a[]b/<JS>
                   9193:     ** Failers
                   9194: No match
                   9195:     ab
                   9196: No match
                   9197: 
                   9198: /a[]+b/<JS>
                   9199:     ** Failers
                   9200: No match
                   9201:     ab 
                   9202: No match
                   9203: 
                   9204: /a[]*+b/<JS>
                   9205:     ** Failers
                   9206: No match
                   9207:     ab 
                   9208: No match
                   9209: 
                   9210: /a[^]b/<JS>
                   9211:     aXb
                   9212:  0: aXb
                   9213:     a\nb 
                   9214:  0: a\x0ab
                   9215:     ** Failers
                   9216: No match
                   9217:     ab  
                   9218: No match
                   9219:     
                   9220: /a[^]+b/<JS> 
                   9221:     aXb
                   9222:  0: aXb
                   9223:     a\nX\nXb 
                   9224:  0: a\x0aX\x0aXb
                   9225:     ** Failers
                   9226: No match
                   9227:     ab  
                   9228: No match
                   9229: 
                   9230: /a(?!)+b/
                   9231: Failed: nothing to repeat at offset 5
                   9232: 
                   9233: /a(*FAIL)+b/
                   9234: Failed: nothing to repeat at offset 8
                   9235: 
                   9236: /(abc|pqr|123){0}[xyz]/SI
                   9237: Capturing subpattern count = 1
                   9238: No options
                   9239: No first char
                   9240: No need char
                   9241: Subject length lower bound = 1
                   9242: Starting byte set: x y z 
                   9243: 
                   9244: /(?(?=.*b)b|^)/CI
                   9245: Capturing subpattern count = 0
                   9246: Options:
                   9247: No first char
                   9248: No need char
                   9249:    adc
                   9250: --->adc
                   9251:  +0 ^       (?(?=.*b)b|^)
                   9252:  +2 ^       (?=.*b)
                   9253:  +5 ^       .*
                   9254:  +7 ^  ^    b
                   9255:  +7 ^ ^     b
                   9256:  +7 ^^      b
                   9257:  +7 ^       b
                   9258: +12 ^       )
                   9259: +13 ^       
                   9260:  0: 
                   9261:    abc 
                   9262: --->abc
                   9263:  +0 ^       (?(?=.*b)b|^)
                   9264:  +2 ^       (?=.*b)
                   9265:  +5 ^       .*
                   9266:  +7 ^  ^    b
                   9267:  +7 ^ ^     b
                   9268:  +7 ^^      b
                   9269:  +8 ^ ^     )
                   9270:  +9 ^       b
                   9271:  +0  ^      (?(?=.*b)b|^)
                   9272:  +2  ^      (?=.*b)
                   9273:  +5  ^      .*
                   9274:  +7  ^ ^    b
                   9275:  +7  ^^     b
                   9276:  +7  ^      b
                   9277:  +8  ^^     )
                   9278:  +9  ^      b
                   9279: +10  ^^     |
                   9280: +13  ^^     
                   9281:  0: b
                   9282:    
                   9283: /(?(?=b).*b|^d)/I
                   9284: Capturing subpattern count = 0
                   9285: No options
                   9286: No first char
                   9287: No need char
                   9288: 
                   9289: /(?(?=.*b).*b|^d)/I
                   9290: Capturing subpattern count = 0
                   9291: No options
                   9292: First char at start or follows newline
                   9293: No need char
                   9294: 
                   9295: /xyz/C
                   9296:   xyz 
                   9297: --->xyz
                   9298:  +0 ^       x
                   9299:  +1 ^^      y
                   9300:  +2 ^ ^     z
                   9301:  +3 ^  ^    
                   9302:  0: xyz
                   9303:   abcxyz 
                   9304: --->abcxyz
                   9305:  +0    ^       x
                   9306:  +1    ^^      y
                   9307:  +2    ^ ^     z
                   9308:  +3    ^  ^    
                   9309:  0: xyz
                   9310:   abcxyz\Y
                   9311: --->abcxyz
                   9312:  +0 ^          x
                   9313:  +0  ^         x
                   9314:  +0   ^        x
                   9315:  +0    ^       x
                   9316:  +1    ^^      y
                   9317:  +2    ^ ^     z
                   9318:  +3    ^  ^    
                   9319:  0: xyz
                   9320:   ** Failers 
                   9321: No match
                   9322:   abc
                   9323: No match
                   9324:   abc\Y
                   9325: --->abc
                   9326:  +0 ^       x
                   9327:  +0  ^      x
                   9328:  +0   ^     x
                   9329:  +0    ^    x
                   9330: No match
                   9331:   abcxypqr  
                   9332: No match
                   9333:   abcxypqr\Y  
                   9334: --->abcxypqr
                   9335:  +0 ^            x
                   9336:  +0  ^           x
                   9337:  +0   ^          x
                   9338:  +0    ^         x
                   9339:  +1    ^^        y
                   9340:  +2    ^ ^       z
                   9341:  +0     ^        x
                   9342:  +0      ^       x
                   9343:  +0       ^      x
                   9344:  +0        ^     x
                   9345:  +0         ^    x
                   9346: No match
                   9347:   
                   9348: /(*NO_START_OPT)xyz/C
                   9349:   abcxyz 
                   9350: --->abcxyz
                   9351: +15 ^          x
                   9352: +15  ^         x
                   9353: +15   ^        x
                   9354: +15    ^       x
                   9355: +16    ^^      y
                   9356: +17    ^ ^     z
                   9357: +18    ^  ^    
                   9358:  0: xyz
                   9359: 
                   9360: /xyz/CY
                   9361:   abcxyz 
                   9362: --->abcxyz
                   9363:  +0 ^          x
                   9364:  +0  ^         x
                   9365:  +0   ^        x
                   9366:  +0    ^       x
                   9367:  +1    ^^      y
                   9368:  +2    ^ ^     z
                   9369:  +3    ^  ^    
                   9370:  0: xyz
                   9371: 
                   9372: /^"((?(?=[a])[^"])|b)*"$/C
                   9373:     "ab"
                   9374: --->"ab"
                   9375:  +0 ^        ^
                   9376:  +1 ^        "
                   9377:  +2 ^^       ((?(?=[a])[^"])|b)*
                   9378:  +3 ^^       (?(?=[a])[^"])
                   9379:  +5 ^^       (?=[a])
                   9380:  +8 ^^       [a]
                   9381: +11 ^ ^      )
                   9382: +12 ^^       [^"]
                   9383: +16 ^ ^      )
                   9384: +17 ^ ^      |
                   9385:  +3 ^ ^      (?(?=[a])[^"])
                   9386:  +5 ^ ^      (?=[a])
                   9387:  +8 ^ ^      [a]
                   9388: +21 ^ ^      "
                   9389: +18 ^ ^      b
                   9390: +19 ^  ^     )
                   9391:  +3 ^  ^     (?(?=[a])[^"])
                   9392:  +5 ^  ^     (?=[a])
                   9393:  +8 ^  ^     [a]
                   9394: +21 ^  ^     "
                   9395: +22 ^   ^    $
                   9396: +23 ^   ^    
                   9397:  0: "ab"
                   9398:  1: 
                   9399: 
                   9400: /^"((?(?=[a])[^"])|b)*"$/
                   9401:     "ab"
                   9402:  0: "ab"
                   9403:  1: 
                   9404: 
                   9405: /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
                   9406: Failed: reference to non-existent subpattern at offset 5
                   9407: 
                   9408: /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
                   9409:     XYabcdY
                   9410:  0: XYabcdY
                   9411:  1: a
                   9412:  2: b
                   9413:  3: c
                   9414:  4: d
                   9415:  5: Y
                   9416:  
                   9417: /Xa{2,4}b/
                   9418:     X\P
                   9419: Partial match: X
                   9420:     Xa\P
                   9421: Partial match: Xa
                   9422:     Xaa\P 
                   9423: Partial match: Xaa
                   9424:     Xaaa\P
                   9425: Partial match: Xaaa
                   9426:     Xaaaa\P 
                   9427: Partial match: Xaaaa
                   9428:     
                   9429: /Xa{2,4}?b/
                   9430:     X\P
                   9431: Partial match: X
                   9432:     Xa\P
                   9433: Partial match: Xa
                   9434:     Xaa\P 
                   9435: Partial match: Xaa
                   9436:     Xaaa\P
                   9437: Partial match: Xaaa
                   9438:     Xaaaa\P 
                   9439: Partial match: Xaaaa
                   9440:     
                   9441: /Xa{2,4}+b/
                   9442:     X\P
                   9443: Partial match: X
                   9444:     Xa\P
                   9445: Partial match: Xa
                   9446:     Xaa\P 
                   9447: Partial match: Xaa
                   9448:     Xaaa\P
                   9449: Partial match: Xaaa
                   9450:     Xaaaa\P 
                   9451: Partial match: Xaaaa
                   9452:     
                   9453: /X\d{2,4}b/
                   9454:     X\P
                   9455: Partial match: X
                   9456:     X3\P
                   9457: Partial match: X3
                   9458:     X33\P 
                   9459: Partial match: X33
                   9460:     X333\P
                   9461: Partial match: X333
                   9462:     X3333\P 
                   9463: Partial match: X3333
                   9464:     
                   9465: /X\d{2,4}?b/
                   9466:     X\P
                   9467: Partial match: X
                   9468:     X3\P
                   9469: Partial match: X3
                   9470:     X33\P 
                   9471: Partial match: X33
                   9472:     X333\P
                   9473: Partial match: X333
                   9474:     X3333\P 
                   9475: Partial match: X3333
                   9476:     
                   9477: /X\d{2,4}+b/
                   9478:     X\P
                   9479: Partial match: X
                   9480:     X3\P
                   9481: Partial match: X3
                   9482:     X33\P 
                   9483: Partial match: X33
                   9484:     X333\P
                   9485: Partial match: X333
                   9486:     X3333\P 
                   9487: Partial match: X3333
                   9488:     
                   9489: /X\D{2,4}b/
                   9490:     X\P
                   9491: Partial match: X
                   9492:     Xa\P
                   9493: Partial match: Xa
                   9494:     Xaa\P 
                   9495: Partial match: Xaa
                   9496:     Xaaa\P
                   9497: Partial match: Xaaa
                   9498:     Xaaaa\P 
                   9499: Partial match: Xaaaa
                   9500:     
                   9501: /X\D{2,4}?b/
                   9502:     X\P
                   9503: Partial match: X
                   9504:     Xa\P
                   9505: Partial match: Xa
                   9506:     Xaa\P 
                   9507: Partial match: Xaa
                   9508:     Xaaa\P
                   9509: Partial match: Xaaa
                   9510:     Xaaaa\P 
                   9511: Partial match: Xaaaa
                   9512:     
                   9513: /X\D{2,4}+b/
                   9514:     X\P
                   9515: Partial match: X
                   9516:     Xa\P
                   9517: Partial match: Xa
                   9518:     Xaa\P 
                   9519: Partial match: Xaa
                   9520:     Xaaa\P
                   9521: Partial match: Xaaa
                   9522:     Xaaaa\P 
                   9523: Partial match: Xaaaa
                   9524:     
                   9525: /X[abc]{2,4}b/
                   9526:     X\P
                   9527: Partial match: X
                   9528:     Xa\P
                   9529: Partial match: Xa
                   9530:     Xaa\P 
                   9531: Partial match: Xaa
                   9532:     Xaaa\P
                   9533: Partial match: Xaaa
                   9534:     Xaaaa\P 
                   9535: Partial match: Xaaaa
                   9536:     
                   9537: /X[abc]{2,4}?b/
                   9538:     X\P
                   9539: Partial match: X
                   9540:     Xa\P
                   9541: Partial match: Xa
                   9542:     Xaa\P 
                   9543: Partial match: Xaa
                   9544:     Xaaa\P
                   9545: Partial match: Xaaa
                   9546:     Xaaaa\P 
                   9547: Partial match: Xaaaa
                   9548:     
                   9549: /X[abc]{2,4}+b/
                   9550:     X\P
                   9551: Partial match: X
                   9552:     Xa\P
                   9553: Partial match: Xa
                   9554:     Xaa\P 
                   9555: Partial match: Xaa
                   9556:     Xaaa\P
                   9557: Partial match: Xaaa
                   9558:     Xaaaa\P 
                   9559: Partial match: Xaaaa
                   9560:     
                   9561: /X[^a]{2,4}b/
                   9562:     X\P
                   9563: Partial match: X
                   9564:     Xz\P
                   9565: Partial match: Xz
                   9566:     Xzz\P 
                   9567: Partial match: Xzz
                   9568:     Xzzz\P
                   9569: Partial match: Xzzz
                   9570:     Xzzzz\P 
                   9571: Partial match: Xzzzz
                   9572:     
                   9573: /X[^a]{2,4}?b/
                   9574:     X\P
                   9575: Partial match: X
                   9576:     Xz\P
                   9577: Partial match: Xz
                   9578:     Xzz\P 
                   9579: Partial match: Xzz
                   9580:     Xzzz\P
                   9581: Partial match: Xzzz
                   9582:     Xzzzz\P 
                   9583: Partial match: Xzzzz
                   9584:     
                   9585: /X[^a]{2,4}+b/
                   9586:     X\P
                   9587: Partial match: X
                   9588:     Xz\P
                   9589: Partial match: Xz
                   9590:     Xzz\P 
                   9591: Partial match: Xzz
                   9592:     Xzzz\P
                   9593: Partial match: Xzzz
                   9594:     Xzzzz\P 
                   9595: Partial match: Xzzzz
                   9596:     
                   9597: /(Y)X\1{2,4}b/
                   9598:     YX\P
                   9599: Partial match: YX
                   9600:     YXY\P
                   9601: Partial match: YXY
                   9602:     YXYY\P 
                   9603: Partial match: YXYY
                   9604:     YXYYY\P
                   9605: Partial match: YXYYY
                   9606:     YXYYYY\P 
                   9607: Partial match: YXYYYY
                   9608:     
                   9609: /(Y)X\1{2,4}?b/
                   9610:     YX\P
                   9611: Partial match: YX
                   9612:     YXY\P
                   9613: Partial match: YXY
                   9614:     YXYY\P 
                   9615: Partial match: YXYY
                   9616:     YXYYY\P
                   9617: Partial match: YXYYY
                   9618:     YXYYYY\P 
                   9619: Partial match: YXYYYY
                   9620:     
                   9621: /(Y)X\1{2,4}+b/
                   9622:     YX\P
                   9623: Partial match: YX
                   9624:     YXY\P
                   9625: Partial match: YXY
                   9626:     YXYY\P 
                   9627: Partial match: YXYY
                   9628:     YXYYY\P
                   9629: Partial match: YXYYY
                   9630:     YXYYYY\P 
                   9631: Partial match: YXYYYY
                   9632:     
                   9633: /\++\KZ|\d+X|9+Y/
                   9634:     ++++123999\P
                   9635: Partial match: 123999
                   9636:     ++++123999Y\P
                   9637:  0: 999Y
                   9638:     ++++Z1234\P 
                   9639:  0: Z
                   9640: 
                   9641: /Z(*F)/
                   9642:     Z\P
                   9643: No match
                   9644:     ZA\P 
                   9645: No match
                   9646:     
                   9647: /Z(?!)/
                   9648:     Z\P 
                   9649: No match
                   9650:     ZA\P 
                   9651: No match
                   9652: 
                   9653: /dog(sbody)?/
                   9654:     dogs\P
                   9655:  0: dog
                   9656:     dogs\P\P 
                   9657: Partial match: dogs
                   9658:     
                   9659: /dog(sbody)??/
                   9660:     dogs\P
                   9661:  0: dog
                   9662:     dogs\P\P 
                   9663:  0: dog
                   9664: 
                   9665: /dog|dogsbody/
                   9666:     dogs\P
                   9667:  0: dog
                   9668:     dogs\P\P 
                   9669:  0: dog
                   9670:  
                   9671: /dogsbody|dog/
                   9672:     dogs\P
                   9673:  0: dog
                   9674:     dogs\P\P 
                   9675: Partial match: dogs
                   9676: 
                   9677: /\bthe cat\b/
                   9678:     the cat\P
                   9679:  0: the cat
                   9680:     the cat\P\P
                   9681: Partial match: the cat
                   9682: 
                   9683: /abc/
                   9684:    abc\P
                   9685:  0: abc
                   9686:    abc\P\P
                   9687:  0: abc
                   9688:    
                   9689: /abc\K123/
                   9690:     xyzabc123pqr
                   9691:  0: 123
                   9692:     xyzabc12\P
                   9693: Partial match: abc12
                   9694:     xyzabc12\P\P
                   9695: Partial match: abc12
                   9696:     
                   9697: /(?<=abc)123/
                   9698:     xyzabc123pqr 
                   9699:  0: 123
                   9700:     xyzabc12\P
                   9701: Partial match: abc12
                   9702:     xyzabc12\P\P
                   9703: Partial match: abc12
                   9704: 
                   9705: /\babc\b/
                   9706:     +++abc+++
                   9707:  0: abc
                   9708:     +++ab\P
                   9709: Partial match: +ab
                   9710:     +++ab\P\P  
                   9711: Partial match: +ab
                   9712: 
                   9713: /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
                   9714: ------------------------------------------------------------------
                   9715:         Bra
                   9716:         Recurse
                   9717:         Recurse
                   9718:         Cond
                   9719:         Cond def
                   9720:         CBra 1
                   9721:         <
                   9722:         [^m]
                   9723:         [^>]
                   9724:         >
                   9725:         [^<]
                   9726:         Ket
                   9727:         CBra 2
                   9728:         \w*+
                   9729:         Ket
                   9730:         Ket
                   9731:         Ket
                   9732:         End
                   9733: ------------------------------------------------------------------
                   9734: 
                   9735: /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
                   9736: ------------------------------------------------------------------
                   9737:         Bra
                   9738:         Recurse
                   9739:         Recurse
                   9740:         Cond
                   9741:         Cond def
                   9742:         CBra 1
                   9743:         <
                   9744:         [\x00-/:-\xff] (neg)
                   9745:         [^>]
                   9746:         >
                   9747:         [^<]
                   9748:         Ket
                   9749:         CBra 2
                   9750:         \w*+
                   9751:         Ket
                   9752:         Ket
                   9753:         Ket
                   9754:         End
                   9755: ------------------------------------------------------------------
                   9756: 
                   9757: /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
                   9758: ------------------------------------------------------------------
                   9759:         Bra
                   9760:         CBra 1
                   9761:         ab
                   9762:         Ket
                   9763:         CBra 2
                   9764:         x
                   9765:         CBra 3
                   9766:         y
                   9767:         Ket
                   9768:         z
                   9769:         CBra 4
                   9770:         cd
                   9771:         Close 4
                   9772:         Close 2
                   9773:         *ACCEPT
                   9774:         Ket
                   9775:         Ket
                   9776:         pq
                   9777:         Ket
                   9778:         End
                   9779: ------------------------------------------------------------------
                   9780: 
                   9781: /abc\K/+
                   9782:     abcdef
                   9783:  0: 
                   9784:  0+ def
                   9785:     abcdef\N\N
                   9786:  0: 
                   9787:  0+ def
                   9788:     xyzabcdef\N\N
                   9789:  0: 
                   9790:  0+ def
                   9791:     ** Failers
                   9792: No match
                   9793:     abcdef\N 
                   9794: No match
                   9795:     xyzabcdef\N
                   9796: No match
                   9797:     
                   9798: /^(?:(?=abc)|abc\K)/+
                   9799:     abcdef
                   9800:  0: 
                   9801:  0+ abcdef
                   9802:     abcdef\N\N 
                   9803:  0: 
                   9804:  0+ def
                   9805:     ** Failers 
                   9806: No match
                   9807:     abcdef\N 
                   9808: No match
                   9809: 
                   9810: /a?b?/+
                   9811:     xyz
                   9812:  0: 
                   9813:  0+ xyz
                   9814:     xyzabc
                   9815:  0: 
                   9816:  0+ xyzabc
                   9817:     xyzabc\N
                   9818:  0: ab
                   9819:  0+ c
                   9820:     xyzabc\N\N
                   9821:  0: 
                   9822:  0+ yzabc
                   9823:     xyz\N\N    
                   9824:  0: 
                   9825:  0+ yz
                   9826:     ** Failers 
                   9827:  0: 
                   9828:  0+ ** Failers
                   9829:     xyz\N 
                   9830: No match
                   9831: 
                   9832: /^a?b?/+
                   9833:     xyz
                   9834:  0: 
                   9835:  0+ xyz
                   9836:     xyzabc
                   9837:  0: 
                   9838:  0+ xyzabc
                   9839:     ** Failers 
                   9840:  0: 
                   9841:  0+ ** Failers
                   9842:     xyzabc\N
                   9843: No match
                   9844:     xyzabc\N\N
                   9845: No match
                   9846:     xyz\N\N    
                   9847: No match
                   9848:     xyz\N 
                   9849: No match
                   9850:     
                   9851: /^(?<name>a|b\g<name>c)/
                   9852:     aaaa
                   9853:  0: a
                   9854:  1: a
                   9855:     bacxxx
                   9856:  0: bac
                   9857:  1: bac
                   9858:     bbaccxxx 
                   9859:  0: bbacc
                   9860:  1: bbacc
                   9861:     bbbacccxx
                   9862:  0: bbbaccc
                   9863:  1: bbbaccc
                   9864: 
                   9865: /^(?<name>a|b\g'name'c)/
                   9866:     aaaa
                   9867:  0: a
                   9868:  1: a
                   9869:     bacxxx
                   9870:  0: bac
                   9871:  1: bac
                   9872:     bbaccxxx 
                   9873:  0: bbacc
                   9874:  1: bbacc
                   9875:     bbbacccxx
                   9876:  0: bbbaccc
                   9877:  1: bbbaccc
                   9878: 
                   9879: /^(a|b\g<1>c)/
                   9880:     aaaa
                   9881:  0: a
                   9882:  1: a
                   9883:     bacxxx
                   9884:  0: bac
                   9885:  1: bac
                   9886:     bbaccxxx 
                   9887:  0: bbacc
                   9888:  1: bbacc
                   9889:     bbbacccxx
                   9890:  0: bbbaccc
                   9891:  1: bbbaccc
                   9892: 
                   9893: /^(a|b\g'1'c)/
                   9894:     aaaa
                   9895:  0: a
                   9896:  1: a
                   9897:     bacxxx
                   9898:  0: bac
                   9899:  1: bac
                   9900:     bbaccxxx 
                   9901:  0: bbacc
                   9902:  1: bbacc
                   9903:     bbbacccxx
                   9904:  0: bbbaccc
                   9905:  1: bbbaccc
                   9906: 
                   9907: /^(a|b\g'-1'c)/
                   9908:     aaaa
                   9909:  0: a
                   9910:  1: a
                   9911:     bacxxx
                   9912:  0: bac
                   9913:  1: bac
                   9914:     bbaccxxx 
                   9915:  0: bbacc
                   9916:  1: bbacc
                   9917:     bbbacccxx
                   9918:  0: bbbaccc
                   9919:  1: bbbaccc
                   9920: 
                   9921: /(^(a|b\g<-1>c))/
                   9922:     aaaa
                   9923:  0: a
                   9924:  1: a
                   9925:  2: a
                   9926:     bacxxx
                   9927:  0: bac
                   9928:  1: bac
                   9929:  2: bac
                   9930:     bbaccxxx 
                   9931:  0: bbacc
                   9932:  1: bbacc
                   9933:  2: bbacc
                   9934:     bbbacccxx
                   9935:  0: bbbaccc
                   9936:  1: bbbaccc
                   9937:  2: bbbaccc
                   9938: 
                   9939: /(?-i:\g<name>)(?i:(?<name>a))/
                   9940:     XaaX
                   9941:  0: aa
                   9942:  1: a
                   9943:     XAAX 
                   9944:  0: AA
                   9945:  1: A
                   9946: 
                   9947: /(?i:\g<name>)(?-i:(?<name>a))/
                   9948:     XaaX
                   9949:  0: aa
                   9950:  1: a
                   9951:     ** Failers 
                   9952: No match
                   9953:     XAAX 
                   9954: No match
                   9955: 
                   9956: /(?-i:\g<+1>)(?i:(a))/
                   9957:     XaaX
                   9958:  0: aa
                   9959:  1: a
                   9960:     XAAX 
                   9961:  0: AA
                   9962:  1: A
                   9963: 
                   9964: /(?=(?<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>\})\}))\{/
                   9965: 
                   9966: /(?<n>a|b|c)\g<n>*/
                   9967:    abc
                   9968:  0: abc
                   9969:  1: a
                   9970:    accccbbb 
                   9971:  0: accccbbb
                   9972:  1: a
                   9973: 
                   9974: /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
                   9975:     XYabcdY
                   9976:  0: XYabcdY
                   9977:  1: a
                   9978:  2: b
                   9979:  3: <unset>
                   9980:  4: <unset>
                   9981:  5: c
                   9982:  6: d
                   9983:  7: Y
                   9984: 
                   9985: /(?<=b(?1)|zzz)(a)/
                   9986:     xbaax
                   9987:  0: a
                   9988:  1: a
                   9989:     xzzzax 
                   9990:  0: a
                   9991:  1: a
                   9992: 
                   9993: /(a)(?<=b\1)/
                   9994: Failed: lookbehind assertion is not fixed length at offset 10
                   9995: 
                   9996: /(a)(?<=b+(?1))/
                   9997: Failed: lookbehind assertion is not fixed length at offset 13
                   9998: 
                   9999: /(a+)(?<=b(?1))/
                   10000: Failed: lookbehind assertion is not fixed length at offset 14
                   10001: 
                   10002: /(a(?<=b(?1)))/
                   10003: Failed: lookbehind assertion is not fixed length at offset 13
                   10004: 
                   10005: /(?<=b(?1))xyz/
                   10006: Failed: reference to non-existent subpattern at offset 8
                   10007: 
                   10008: /(?<=b(?1))xyz(b+)pqrstuvew/
                   10009: Failed: lookbehind assertion is not fixed length at offset 26
                   10010: 
                   10011: /(a|bc)\1/SI
                   10012: Capturing subpattern count = 1
                   10013: Max back reference = 1
                   10014: No options
                   10015: No first char
                   10016: No need char
                   10017: Subject length lower bound = 2
                   10018: Starting byte set: a b 
                   10019: 
                   10020: /(a|bc)\1{2,3}/SI
                   10021: Capturing subpattern count = 1
                   10022: Max back reference = 1
                   10023: No options
                   10024: No first char
                   10025: No need char
                   10026: Subject length lower bound = 3
                   10027: Starting byte set: a b 
                   10028: 
                   10029: /(a|bc)(?1)/SI
                   10030: Capturing subpattern count = 1
                   10031: No options
                   10032: No first char
                   10033: No need char
                   10034: Subject length lower bound = 2
                   10035: Starting byte set: a b 
                   10036: 
                   10037: /(a|b\1)(a|b\1)/SI
                   10038: Capturing subpattern count = 2
                   10039: Max back reference = 1
                   10040: No options
                   10041: No first char
                   10042: No need char
                   10043: Subject length lower bound = 2
                   10044: Starting byte set: a b 
                   10045: 
                   10046: /(a|b\1){2}/SI
                   10047: Capturing subpattern count = 1
                   10048: Max back reference = 1
                   10049: No options
                   10050: No first char
                   10051: No need char
                   10052: Subject length lower bound = 2
                   10053: Starting byte set: a b 
                   10054: 
                   10055: /(a|bbbb\1)(a|bbbb\1)/SI
                   10056: Capturing subpattern count = 2
                   10057: Max back reference = 1
                   10058: No options
                   10059: No first char
                   10060: No need char
                   10061: Subject length lower bound = 2
                   10062: Starting byte set: a b 
                   10063: 
                   10064: /(a|bbbb\1){2}/SI
                   10065: Capturing subpattern count = 1
                   10066: Max back reference = 1
                   10067: No options
                   10068: No first char
                   10069: No need char
                   10070: Subject length lower bound = 2
                   10071: Starting byte set: a b 
                   10072: 
                   10073: /^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
                   10074: Capturing subpattern count = 1
                   10075: Options: anchored
                   10076: No first char
                   10077: Need char = ':'
                   10078: Subject length lower bound = 22
                   10079: No set of starting bytes
                   10080: 
                   10081: /<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
                   10082: Capturing subpattern count = 11
                   10083: Options: caseless dotall
                   10084: First char = '<'
                   10085: Need char = '>'
                   10086: Subject length lower bound = 47
                   10087: No set of starting bytes
                   10088: 
                   10089: "(?>.*/)foo"SI
                   10090: Capturing subpattern count = 0
                   10091: No options
                   10092: First char at start or follows newline
                   10093: Need char = 'o'
                   10094: Subject length lower bound = 4
                   10095: No set of starting bytes
                   10096: 
                   10097: /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
                   10098: Capturing subpattern count = 0
                   10099: Options: extended
                   10100: No first char
                   10101: Need char = '-'
                   10102: Subject length lower bound = 8
                   10103: No set of starting bytes
                   10104: 
                   10105: /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
                   10106: Capturing subpattern count = 1
                   10107: Options: caseless
                   10108: No first char
                   10109: No need char
                   10110: Subject length lower bound = 1
                   10111: Starting byte set: A B C a b c 
                   10112: 
                   10113: /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
                   10114: Capturing subpattern count = 0
                   10115: No options
                   10116: No first char
                   10117: Need char = 'b'
                   10118: Subject length lower bound = 41
                   10119: Starting byte set: c d 
                   10120: 
                   10121: /<a[\s]+href[\s]*=[\s]*          # find <a href=
                   10122:  ([\"\'])?                       # find single or double quote
                   10123:  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
                   10124:                                  # quote, otherwise match up to next space
                   10125: /isxSI
                   10126: Capturing subpattern count = 3
                   10127: Max back reference = 1
                   10128: Options: caseless extended dotall
                   10129: First char = '<'
                   10130: Need char = '='
                   10131: Subject length lower bound = 9
                   10132: No set of starting bytes
                   10133: 
                   10134: /^(?!:)                       # colon disallowed at start
                   10135:   (?:                         # start of item
                   10136:     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
                   10137:     (?(1)0 | () ) )           # if null previously matched, fail; else null
                   10138:     :                         # followed by colon
                   10139:   ){1,7}                      # end item; 1-7 of them required               
                   10140:   [0-9a-f]{1,4} $             # final hex number at end of string
                   10141:   (?(1)|.)                    # check that there was an empty component
                   10142:   /xiIS
                   10143: Capturing subpattern count = 1
                   10144: Options: anchored caseless extended
                   10145: No first char
                   10146: Need char = ':'
                   10147: Subject length lower bound = 2
                   10148: No set of starting bytes
                   10149: 
                   10150: /(?|(?<a>A)|(?<a>B))/I
                   10151: Capturing subpattern count = 1
                   10152: Named capturing subpatterns:
                   10153:   a   1
                   10154:   a   1
                   10155: No options
                   10156: No first char
                   10157: No need char
                   10158:     AB\Ca
                   10159:  0: A
                   10160:  1: A
                   10161:   C A (1) a
                   10162:     BA\Ca
                   10163:  0: B
                   10164:  1: B
                   10165:   C B (1) a
                   10166: 
                   10167: /(?|(?<a>A)|(?<b>B))/ 
                   10168: Failed: different names for subpatterns of the same number are not allowed at offset 15
                   10169: 
                   10170: /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
                   10171:     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
                   10172:     (?('quote')[a-z]+|[0-9]+)/JIx
                   10173: Capturing subpattern count = 6
                   10174: Named capturing subpatterns:
                   10175:   apostrophe   2
                   10176:   apostrophe   5
                   10177:   quote        1
                   10178:   quote        4
                   10179:   realquote    3
                   10180:   realquote    6
                   10181: Options: extended dupnames
                   10182: No first char
                   10183: No need char
                   10184:     a"aaaaa
                   10185:  0: a"aaaaa
                   10186:  1: "
                   10187:  2: <unset>
                   10188:  3: "
                   10189:     b"aaaaa 
                   10190:  0: b"aaaaa
                   10191:  1: <unset>
                   10192:  2: <unset>
                   10193:  3: <unset>
                   10194:  4: "
                   10195:  5: <unset>
                   10196:  6: "
                   10197:     ** Failers 
                   10198: No match
                   10199:     b"11111
                   10200: No match
                   10201:     a"11111 
                   10202: No match
                   10203:     
                   10204: /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
                   10205: ------------------------------------------------------------------
                   10206:         Bra
                   10207:         ^
                   10208:         Bra
                   10209:         CBra 1
                   10210:         a
                   10211:         Ket
                   10212:         CBra 2
                   10213:         b
                   10214:         Ket
                   10215:         CBra 3
                   10216:         c
                   10217:         Ket
                   10218:         CBra 4
                   10219:         d
                   10220:         Ket
                   10221:         Alt
                   10222:         CBra 1
                   10223:         e
                   10224:         Ket
                   10225:         Ket
                   10226:         Cond
                   10227:       4 Cond nref
                   10228:         X
                   10229:         Alt
                   10230:         Y
                   10231:         Ket
                   10232:         Ket
                   10233:         End
                   10234: ------------------------------------------------------------------
                   10235: Capturing subpattern count = 4
                   10236: Named capturing subpatterns:
                   10237:   D   4
                   10238:   D   1
                   10239: Options: anchored extended dupnames
                   10240: No first char
                   10241: No need char
                   10242:     abcdX
                   10243:  0: abcdX
                   10244:  1: a
                   10245:  2: b
                   10246:  3: c
                   10247:  4: d
                   10248:     eX
                   10249:  0: eX
                   10250:  1: e
                   10251:     ** Failers
                   10252: No match
                   10253:     abcdY
                   10254: No match
                   10255:     ey     
                   10256: No match
                   10257:     
                   10258: /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
                   10259: ------------------------------------------------------------------
                   10260:         Bra
                   10261:         CBra 1
                   10262:         a
                   10263:         Ket
                   10264:         CBra 2
                   10265:         b
                   10266:         Ket
                   10267:         CBra 3
                   10268:         c
                   10269:         Ket
                   10270:         CBra 4
                   10271:         d
                   10272:         Cond
                   10273:         Cond nrecurse 1
                   10274:         $
                   10275:         Alt
                   10276:         Recurse
                   10277:         Ket
                   10278:         Ket
                   10279:         Ket
                   10280:         End
                   10281: ------------------------------------------------------------------
                   10282: Capturing subpattern count = 4
                   10283: Named capturing subpatterns:
                   10284:   A   1
                   10285:   A   4
                   10286: Options: extended dupnames
                   10287: First char = 'a'
                   10288: Need char = 'd'
                   10289:     abcdd
                   10290:  0: abcdd
                   10291:  1: a
                   10292:  2: b
                   10293:  3: c
                   10294:  4: dd
                   10295:     ** Failers
                   10296: No match
                   10297:     abcdde  
                   10298: No match
                   10299: 
                   10300: /abcd*/
                   10301:     xxxxabcd\P
                   10302:  0: abcd
                   10303:     xxxxabcd\P\P
                   10304: Partial match: abcd
                   10305: 
                   10306: /abcd*/i
                   10307:     xxxxabcd\P
                   10308:  0: abcd
                   10309:     xxxxabcd\P\P
                   10310: Partial match: abcd
                   10311:     XXXXABCD\P
                   10312:  0: ABCD
                   10313:     XXXXABCD\P\P
                   10314: Partial match: ABCD
                   10315: 
                   10316: /abc\d*/
                   10317:     xxxxabc1\P
                   10318:  0: abc1
                   10319:     xxxxabc1\P\P
                   10320: Partial match: abc1
                   10321: 
                   10322: /(a)bc\1*/
                   10323:     xxxxabca\P
                   10324:  0: abca
                   10325:  1: a
                   10326:     xxxxabca\P\P
                   10327: Partial match: abca
                   10328: 
                   10329: /abc[de]*/
                   10330:     xxxxabcde\P
                   10331:  0: abcde
                   10332:     xxxxabcde\P\P
                   10333: Partial match: abcde
                   10334: 
                   10335: /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
                   10336:     broken and not behaving as specified in that it *does* bumpalong after
                   10337:     hitting (*COMMIT). --/
                   10338: 
                   10339: /(?1)(A(*COMMIT)|B)D/
                   10340:     ABD
                   10341:  0: ABD
                   10342:  1: B
                   10343:     XABD
                   10344:  0: ABD
                   10345:  1: B
                   10346:     BAD
                   10347:  0: BAD
                   10348:  1: A
                   10349:     ABXABD  
                   10350:  0: ABD
                   10351:  1: B
                   10352:     ** Failers 
                   10353: No match
                   10354:     ABX 
                   10355: No match
                   10356:     BAXBAD  
                   10357: No match
                   10358: 
                   10359: /(\3)(\1)(a)/<JS>
                   10360:     cat
                   10361:  0: a
                   10362:  1: 
                   10363:  2: 
                   10364:  3: a
                   10365: 
                   10366: /(\3)(\1)(a)/SI<JS>
                   10367: Capturing subpattern count = 3
                   10368: Max back reference = 3
                   10369: Options:
                   10370: No first char
                   10371: Need char = 'a'
                   10372: Subject length lower bound = 1
                   10373: No set of starting bytes
                   10374:     cat
                   10375:  0: a
                   10376:  1: 
                   10377:  2: 
                   10378:  3: a
                   10379: 
                   10380: /(\3)(\1)(a)/SI
                   10381: Capturing subpattern count = 3
                   10382: Max back reference = 3
                   10383: No options
                   10384: No first char
                   10385: Need char = 'a'
                   10386: Subject length lower bound = 3
                   10387: No set of starting bytes
                   10388:     cat
                   10389: No match
                   10390: 
                   10391: /i(?(DEFINE)(?<s>a))/SI
                   10392: Capturing subpattern count = 1
                   10393: Named capturing subpatterns:
                   10394:   s   1
                   10395: No options
                   10396: First char = 'i'
                   10397: No need char
                   10398: Subject length lower bound = 1
                   10399: No set of starting bytes
                   10400:     i
                   10401:  0: i
                   10402:     
                   10403: /()i(?(1)a)/SI 
                   10404: Capturing subpattern count = 1
                   10405: No options
                   10406: No first char
                   10407: Need char = 'i'
                   10408: Subject length lower bound = 1
                   10409: Starting byte set: i 
                   10410:     ia
                   10411:  0: ia
                   10412:  1: 
                   10413: 
                   10414: /(?i)a(?-i)b|c/BZ
                   10415: ------------------------------------------------------------------
                   10416:         Bra
                   10417:      /i a
                   10418:         b
                   10419:         Alt
                   10420:         c
                   10421:         Ket
                   10422:         End
                   10423: ------------------------------------------------------------------
                   10424:     XabX
                   10425:  0: ab
                   10426:     XAbX
                   10427:  0: Ab
                   10428:     CcC 
                   10429:  0: c
                   10430:     ** Failers
                   10431: No match
                   10432:     XABX   
                   10433: No match
                   10434: 
                   10435: /(?i)a(?s)b|c/BZ
                   10436: ------------------------------------------------------------------
                   10437:         Bra
                   10438:      /i ab
                   10439:         Alt
                   10440:      /i c
                   10441:         Ket
                   10442:         End
                   10443: ------------------------------------------------------------------
                   10444: 
                   10445: /(?i)a(?s-i)b|c/BZ
                   10446: ------------------------------------------------------------------
                   10447:         Bra
                   10448:      /i a
                   10449:         b
                   10450:         Alt
                   10451:         c
                   10452:         Ket
                   10453:         End
                   10454: ------------------------------------------------------------------
                   10455: 
                   10456: /^(ab(c\1)d|x){2}$/BZ
                   10457: ------------------------------------------------------------------
                   10458:         Bra
                   10459:         ^
                   10460:         Once
                   10461:         CBra 1
                   10462:         ab
                   10463:         CBra 2
                   10464:         c
                   10465:         \1
                   10466:         Ket
                   10467:         d
                   10468:         Alt
                   10469:         x
                   10470:         Ket
                   10471:         Ket
                   10472:         Once
                   10473:         CBra 1
                   10474:         ab
                   10475:         CBra 2
                   10476:         c
                   10477:         \1
                   10478:         Ket
                   10479:         d
                   10480:         Alt
                   10481:         x
                   10482:         Ket
                   10483:         Ket
                   10484:         $
                   10485:         Ket
                   10486:         End
                   10487: ------------------------------------------------------------------
                   10488:     xabcxd
                   10489:  0: xabcxd
                   10490:  1: abcxd
                   10491:  2: cx
                   10492:     
                   10493: /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
                   10494: ------------------------------------------------------------------
                   10495:         Bra
                   10496:         ^
                   10497:         Braposzero
                   10498:         SBraPos
                   10499:         Recurse
                   10500:         KetRpos
                   10501:         Cond
                   10502:         Cond def
                   10503:         CBra 1
                   10504:         Any
                   10505:         Ket
                   10506:         Ket
                   10507:         $
                   10508:         Ket
                   10509:         End
                   10510: ------------------------------------------------------------------
                   10511: 
                   10512: /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
                   10513: ------------------------------------------------------------------
                   10514:         Bra
                   10515:         ^
                   10516:         Brazero
                   10517:         Once
                   10518:         Recurse
                   10519:         KetRmax
                   10520:         Cond
                   10521:         Cond def
                   10522:         CBra 1
                   10523:         Any
                   10524:         Ket
                   10525:         Ket
                   10526:         $
                   10527:         Ket
                   10528:         End
                   10529: ------------------------------------------------------------------
                   10530: 
                   10531: / -- The first four of these are not in the Perl >= 5.10 test because Perl 
                   10532:      documents that the use of \K in assertions is "not well defined". The
                   10533:      last is here because Perl gives the match as "b" rather than "ab". I
                   10534:      believe this to be a Perl bug. --/  
                   10535:       
                   10536: /(?=a\Kb)ab/
                   10537:     ab 
                   10538:  0: b
                   10539: 
                   10540: /(?!a\Kb)ac/
                   10541:     ac 
                   10542:  0: ac
                   10543:     
                   10544: /^abc(?<=b\Kc)d/
                   10545:     abcd
                   10546:  0: cd
                   10547: 
                   10548: /^abc(?<!b\Kq)d/
                   10549:     abcd
                   10550:  0: abcd
                   10551: 
                   10552: /(?>a\Kb)z|(ab)/
                   10553:     ab 
                   10554:  0: ab
                   10555:  1: ab
                   10556: 
                   10557: /----------------------/
                   10558: 
                   10559: /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
                   10560: Failed: recursive call could loop indefinitely at offset 31
                   10561: 
                   10562: /abc(*MARK:)pqr/
                   10563: Failed: (*MARK) must have an argument at offset 10
                   10564: 
                   10565: /abc(*:)pqr/
                   10566: Failed: (*MARK) must have an argument at offset 6
                   10567: 
                   10568: /abc(*FAIL:123)xyz/
                   10569: Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
                   10570: 
                   10571: /--- This should, and does, fail. In Perl, it does not, which I think is a 
                   10572:      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
                   10573: 
                   10574: /A(*COMMIT)B/+K
                   10575:     ACABX
                   10576: No match
                   10577: 
                   10578: /--- These should be different, but in Perl 5.11 are not, which I think
                   10579:      is a bug in Perl. ---/
                   10580: 
                   10581: /A(*THEN)B|A(*THEN)C/K
                   10582:     AC
                   10583:  0: AC
                   10584: 
                   10585: /A(*PRUNE)B|A(*PRUNE)C/K
                   10586:     AC
                   10587: No match
                   10588:     
                   10589: /--- This should fail; the SKIP advances by one, but when we get to AC, the
                   10590:      PRUNE kills it. Perl behaves differently. ---/ 
                   10591:     
                   10592: /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
                   10593:     AAAC
                   10594: No match, mark = A
                   10595: 
                   10596: /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
                   10597: though PCRE does. ---/
                   10598: 
                   10599: /^A(*:A)B|^X(*:A)Y/K
                   10600:     ** Failers
                   10601: No match
                   10602:     XAQQ
                   10603: No match, mark = A
                   10604:     
                   10605: /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
                   10606: optimizations defeat this. So does the PCRE optimization unless we disable it 
                   10607: with \Y. ---/
                   10608: 
                   10609: /(*COMMIT)ABC/
                   10610:     ABCDEFG
                   10611:  0: ABC
                   10612:     ** Failers
                   10613: No match
                   10614:     DEFGABC\Y  
                   10615: No match
                   10616:     
                   10617: /^(ab (c+(*THEN)cd) | xyz)/x
                   10618:     abcccd  
                   10619: No match
                   10620: 
                   10621: /^(ab (c+(*PRUNE)cd) | xyz)/x
                   10622:     abcccd  
                   10623: No match
                   10624: 
                   10625: /^(ab (c+(*FAIL)cd) | xyz)/x
                   10626:     abcccd  
                   10627: No match
                   10628:     
                   10629: /--- Perl 5.11 gets some of these wrong ---/ 
                   10630: 
                   10631: /(?>.(*ACCEPT))*?5/
                   10632:     abcde
                   10633:  0: a
                   10634: 
                   10635: /(.(*ACCEPT))*?5/
                   10636:     abcde
                   10637:  0: a
                   10638:  1: a
                   10639: 
                   10640: /(.(*ACCEPT))5/
                   10641:     abcde
                   10642:  0: a
                   10643:  1: a
                   10644: 
                   10645: /(.(*ACCEPT))*5/
                   10646:     abcde
                   10647:  0: a
                   10648:  1: a
                   10649: 
                   10650: /A\NB./BZ
                   10651: ------------------------------------------------------------------
                   10652:         Bra
                   10653:         A
                   10654:         Any
                   10655:         B
                   10656:         Any
                   10657:         Ket
                   10658:         End
                   10659: ------------------------------------------------------------------
                   10660:     ACBD
                   10661:  0: ACBD
                   10662:     *** Failers
                   10663: No match
                   10664:     A\nB
                   10665: No match
                   10666:     ACB\n   
                   10667: No match
                   10668: 
                   10669: /A\NB./sBZ
                   10670: ------------------------------------------------------------------
                   10671:         Bra
                   10672:         A
                   10673:         Any
                   10674:         B
                   10675:         AllAny
                   10676:         Ket
                   10677:         End
                   10678: ------------------------------------------------------------------
                   10679:     ACBD
                   10680:  0: ACBD
                   10681:     ACB\n 
                   10682:  0: ACB\x0a
                   10683:     *** Failers
                   10684: No match
                   10685:     A\nB  
                   10686: No match
                   10687:   
                   10688: /A\NB/<crlf>
                   10689:     A\nB
                   10690:  0: A\x0aB
                   10691:     A\rB
                   10692:  0: A\x0dB
                   10693:     ** Failers
                   10694: No match
                   10695:     A\r\nB    
                   10696: No match
                   10697: 
                   10698: /\R+b/BZ
                   10699: ------------------------------------------------------------------
                   10700:         Bra
                   10701:         \R++
                   10702:         b
                   10703:         Ket
                   10704:         End
                   10705: ------------------------------------------------------------------
                   10706: 
                   10707: /\R+\n/BZ
                   10708: ------------------------------------------------------------------
                   10709:         Bra
                   10710:         \R+
                   10711:         \x0a
                   10712:         Ket
                   10713:         End
                   10714: ------------------------------------------------------------------
                   10715: 
                   10716: /\R+\d/BZ
                   10717: ------------------------------------------------------------------
                   10718:         Bra
                   10719:         \R++
                   10720:         \d
                   10721:         Ket
                   10722:         End
                   10723: ------------------------------------------------------------------
                   10724: 
                   10725: /\d*\R/BZ
                   10726: ------------------------------------------------------------------
                   10727:         Bra
                   10728:         \d*+
                   10729:         \R
                   10730:         Ket
                   10731:         End
                   10732: ------------------------------------------------------------------
                   10733: 
                   10734: /\s*\R/BZ
                   10735: ------------------------------------------------------------------
                   10736:         Bra
                   10737:         \s*+
                   10738:         \R
                   10739:         Ket
                   10740:         End
                   10741: ------------------------------------------------------------------
                   10742: 
                   10743: /-- Perl treats this one differently, not failing the second string. I believe
                   10744:     that is a bug in Perl. --/
                   10745: 
                   10746: /^((abc|abcx)(*THEN)y|abcd)/
                   10747:     abcd
                   10748:  0: abcd
                   10749:  1: abcd
                   10750:     *** Failers 
                   10751: No match
                   10752:     abcxy 
                   10753: No match
                   10754: 
                   10755: /(?<=abc)def/
                   10756:     abc\P\P
                   10757: Partial match: abc
                   10758: 
                   10759: /abc$/
                   10760:     abc
                   10761:  0: abc
                   10762:     abc\P
                   10763:  0: abc
                   10764:     abc\P\P
                   10765: Partial match: abc
                   10766: 
                   10767: /abc$/m
                   10768:     abc
                   10769:  0: abc
                   10770:     abc\n
                   10771:  0: abc
                   10772:     abc\P\P
                   10773: Partial match: abc
                   10774:     abc\n\P\P 
                   10775:  0: abc
                   10776:     abc\P
                   10777:  0: abc
                   10778:     abc\n\P
                   10779:  0: abc
                   10780: 
                   10781: /abc\z/
                   10782:     abc
                   10783:  0: abc
                   10784:     abc\P
                   10785:  0: abc
                   10786:     abc\P\P
                   10787: Partial match: abc
                   10788: 
                   10789: /abc\Z/
                   10790:     abc
                   10791:  0: abc
                   10792:     abc\P
                   10793:  0: abc
                   10794:     abc\P\P
                   10795: Partial match: abc
                   10796: 
                   10797: /abc\b/
                   10798:     abc
                   10799:  0: abc
                   10800:     abc\P
                   10801:  0: abc
                   10802:     abc\P\P
                   10803: Partial match: abc
                   10804: 
                   10805: /abc\B/
                   10806:     abc
                   10807: No match
                   10808:     abc\P
                   10809: Partial match: abc
                   10810:     abc\P\P
                   10811: Partial match: abc
                   10812: 
                   10813: /.+/
                   10814:     abc\>0
                   10815:  0: abc
                   10816:     abc\>1
                   10817:  0: bc
                   10818:     abc\>2
                   10819:  0: c
                   10820:     abc\>3
                   10821: No match
                   10822:     abc\>4
                   10823: Error -24 (bad offset value)
                   10824:     abc\>-4 
                   10825: Error -24 (bad offset value)
                   10826: 
                   10827: /^\cÄ£/
                   10828: Failed: \c must be followed by an ASCII character at offset 3
                   10829: 
                   10830: /(?P<abn>(?P=abn)xxx)/BZ
                   10831: ------------------------------------------------------------------
                   10832:         Bra
                   10833:         Once
                   10834:         CBra 1
                   10835:         \1
                   10836:         xxx
                   10837:         Ket
                   10838:         Ket
                   10839:         Ket
                   10840:         End
                   10841: ------------------------------------------------------------------
                   10842: 
                   10843: /(a\1z)/BZ
                   10844: ------------------------------------------------------------------
                   10845:         Bra
                   10846:         Once
                   10847:         CBra 1
                   10848:         a
                   10849:         \1
                   10850:         z
                   10851:         Ket
                   10852:         Ket
                   10853:         Ket
                   10854:         End
                   10855: ------------------------------------------------------------------
                   10856: 
                   10857: /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
                   10858: Failed: syntax error in subpattern name (missing terminator) at offset 29
                   10859: 
                   10860: /(?P<abn>(?P=axn)xxx)/BZ
                   10861: Failed: reference to non-existent subpattern at offset 15
                   10862: 
                   10863: /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
                   10864: ------------------------------------------------------------------
                   10865:         Bra
                   10866:         CBra 1
                   10867:         \2
                   10868:         xxx
                   10869:         Ket
                   10870:         CBra 2
                   10871:         yy
                   10872:         Ket
                   10873:         Ket
                   10874:         End
                   10875: ------------------------------------------------------------------
                   10876: 
                   10877: /-- These tests are here because Perl gets the first one wrong. --/
                   10878: 
                   10879: /(\R*)(.)/s
                   10880:     \r\n
                   10881:  0: \x0d
                   10882:  1: 
                   10883:  2: \x0d
                   10884:     \r\r\n\n\r 
                   10885:  0: \x0d\x0d\x0a\x0a\x0d
                   10886:  1: \x0d\x0d\x0a\x0a
                   10887:  2: \x0d
                   10888:     \r\r\n\n\r\n 
                   10889:  0: \x0d\x0d\x0a\x0a\x0d
                   10890:  1: \x0d\x0d\x0a\x0a
                   10891:  2: \x0d
                   10892: 
                   10893: /(\R)*(.)/s
                   10894:     \r\n
                   10895:  0: \x0d
                   10896:  1: <unset>
                   10897:  2: \x0d
                   10898:     \r\r\n\n\r 
                   10899:  0: \x0d\x0d\x0a\x0a\x0d
                   10900:  1: \x0a
                   10901:  2: \x0d
                   10902:     \r\r\n\n\r\n 
                   10903:  0: \x0d\x0d\x0a\x0a\x0d
                   10904:  1: \x0a
                   10905:  2: \x0d
                   10906: 
                   10907: /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
                   10908:     \r\n
                   10909:  0: \x0d
                   10910:  1: 
                   10911:  2: \x0d
                   10912:     \r\r\n\n\r 
                   10913:  0: \x0d\x0d\x0a\x0a\x0d
                   10914:  1: \x0d\x0d\x0a\x0a
                   10915:  2: \x0d
                   10916:     \r\r\n\n\r\n 
                   10917:  0: \x0d\x0d\x0a\x0a\x0d
                   10918:  1: \x0d\x0d\x0a\x0a
                   10919:  2: \x0d
                   10920: 
                   10921: /-- --/
                   10922: 
                   10923: /^abc$/BZ
                   10924: ------------------------------------------------------------------
                   10925:         Bra
                   10926:         ^
                   10927:         abc
                   10928:         $
                   10929:         Ket
                   10930:         End
                   10931: ------------------------------------------------------------------
                   10932: 
                   10933: /^abc$/BZm
                   10934: ------------------------------------------------------------------
                   10935:         Bra
                   10936:      /m ^
                   10937:         abc
                   10938:      /m $
                   10939:         Ket
                   10940:         End
                   10941: ------------------------------------------------------------------
                   10942: 
                   10943: /^(a)*+(\w)/S
                   10944:     aaaaX
                   10945:  0: aaaaX
                   10946:  1: a
                   10947:  2: X
                   10948:     ** Failers 
                   10949: No match
                   10950:     aaaa
                   10951: No match
                   10952: 
                   10953: /^(?:a)*+(\w)/S
                   10954:     aaaaX
                   10955:  0: aaaaX
                   10956:  1: X
                   10957:     ** Failers 
                   10958: No match
                   10959:     aaaa
                   10960: No match
                   10961: 
                   10962: /(a)++1234/SDZ
                   10963: ------------------------------------------------------------------
                   10964:         Bra
                   10965:         CBraPos 1
                   10966:         a
                   10967:         KetRpos
                   10968:         1234
                   10969:         Ket
                   10970:         End
                   10971: ------------------------------------------------------------------
                   10972: Capturing subpattern count = 1
                   10973: No options
                   10974: First char = 'a'
                   10975: Need char = '4'
                   10976: Subject length lower bound = 5
                   10977: No set of starting bytes
                   10978: 
                   10979: /([abc])++1234/SI
                   10980: Capturing subpattern count = 1
                   10981: No options
                   10982: No first char
                   10983: Need char = '4'
                   10984: Subject length lower bound = 5
                   10985: Starting byte set: a b c 
                   10986: 
                   10987: /(?<=(abc)+)X/
                   10988: Failed: lookbehind assertion is not fixed length at offset 10
                   10989: 
                   10990: /(^ab)/I
                   10991: Capturing subpattern count = 1
                   10992: Options: anchored
                   10993: No first char
                   10994: No need char
                   10995: 
                   10996: /(^ab)++/I
                   10997: Capturing subpattern count = 1
                   10998: Options: anchored
                   10999: No first char
                   11000: No need char
                   11001: 
                   11002: /(^ab|^)+/I
                   11003: Capturing subpattern count = 1
                   11004: Options: anchored
                   11005: No first char
                   11006: No need char
                   11007: 
                   11008: /(^ab|^)++/I
                   11009: Capturing subpattern count = 1
                   11010: Options: anchored
                   11011: No first char
                   11012: No need char
                   11013: 
                   11014: /(?:^ab)/I
                   11015: Capturing subpattern count = 0
                   11016: Options: anchored
                   11017: No first char
                   11018: No need char
                   11019: 
                   11020: /(?:^ab)++/I
                   11021: Capturing subpattern count = 0
                   11022: Options: anchored
                   11023: No first char
                   11024: No need char
                   11025: 
                   11026: /(?:^ab|^)+/I
                   11027: Capturing subpattern count = 0
                   11028: Options: anchored
                   11029: No first char
                   11030: No need char
                   11031: 
                   11032: /(?:^ab|^)++/I
                   11033: Capturing subpattern count = 0
                   11034: Options: anchored
                   11035: No first char
                   11036: No need char
                   11037: 
                   11038: /(.*ab)/I
                   11039: Capturing subpattern count = 1
                   11040: No options
                   11041: First char at start or follows newline
                   11042: Need char = 'b'
                   11043: 
                   11044: /(.*ab)++/I
                   11045: Capturing subpattern count = 1
                   11046: No options
                   11047: First char at start or follows newline
                   11048: Need char = 'b'
                   11049: 
                   11050: /(.*ab|.*)+/I
                   11051: Capturing subpattern count = 1
                   11052: No options
                   11053: First char at start or follows newline
                   11054: No need char
                   11055: 
                   11056: /(.*ab|.*)++/I
                   11057: Capturing subpattern count = 1
                   11058: No options
                   11059: First char at start or follows newline
                   11060: No need char
                   11061: 
                   11062: /(?:.*ab)/I
                   11063: Capturing subpattern count = 0
                   11064: No options
                   11065: First char at start or follows newline
                   11066: Need char = 'b'
                   11067: 
                   11068: /(?:.*ab)++/I
                   11069: Capturing subpattern count = 0
                   11070: No options
                   11071: First char at start or follows newline
                   11072: Need char = 'b'
                   11073: 
                   11074: /(?:.*ab|.*)+/I
                   11075: Capturing subpattern count = 0
                   11076: No options
                   11077: First char at start or follows newline
                   11078: No need char
                   11079: 
                   11080: /(?:.*ab|.*)++/I
                   11081: Capturing subpattern count = 0
                   11082: No options
                   11083: First char at start or follows newline
                   11084: No need char
                   11085: 
                   11086: /(?=a)[bcd]/I
                   11087: Capturing subpattern count = 0
                   11088: No options
                   11089: First char = 'a'
                   11090: No need char
                   11091: 
                   11092: /((?=a))[bcd]/I
                   11093: Capturing subpattern count = 1
                   11094: No options
                   11095: First char = 'a'
                   11096: No need char
                   11097: 
                   11098: /((?=a))+[bcd]/I
                   11099: Capturing subpattern count = 1
                   11100: No options
                   11101: First char = 'a'
                   11102: No need char
                   11103: 
                   11104: /((?=a))++[bcd]/I
                   11105: Capturing subpattern count = 1
                   11106: No options
                   11107: First char = 'a'
                   11108: No need char
                   11109: 
                   11110: /(?=a+)[bcd]/iI
                   11111: Capturing subpattern count = 0
                   11112: Options: caseless
                   11113: First char = 'a' (caseless)
                   11114: No need char
                   11115: 
                   11116: /(?=a+?)[bcd]/iI
                   11117: Capturing subpattern count = 0
                   11118: Options: caseless
                   11119: First char = 'a' (caseless)
                   11120: No need char
                   11121: 
                   11122: /(?=a++)[bcd]/iI
                   11123: Capturing subpattern count = 0
                   11124: Options: caseless
                   11125: First char = 'a' (caseless)
                   11126: No need char
                   11127: 
                   11128: /(?=a{3})[bcd]/iI
                   11129: Capturing subpattern count = 0
                   11130: Options: caseless
                   11131: First char = 'a' (caseless)
                   11132: Need char = 'a' (caseless)
                   11133: 
                   11134: /(abc)\1+/S
                   11135: 
                   11136: /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
                   11137: 
                   11138: /(?1)(?:(b(*ACCEPT))){0}/
                   11139:     b
                   11140:  0: b
                   11141: 
                   11142: /(?1)(?:(b(*ACCEPT))){0}c/
                   11143:     bc
                   11144:  0: bc
                   11145:     ** Failers 
                   11146: No match
                   11147:     b 
                   11148: No match
                   11149: 
                   11150: /(?1)(?:((*ACCEPT))){0}c/
                   11151:     c
                   11152:  0: c
                   11153:     c\N 
                   11154:  0: c
                   11155: 
                   11156: /^.*?(?(?=a)a|b(*THEN)c)/
                   11157:     ba
                   11158: No match
                   11159: 
                   11160: /^.*?(?(?=a)a|bc)/
                   11161:     ba
                   11162:  0: ba
                   11163: 
                   11164: /^.*?(?(?=a)a(*THEN)b|c)/
                   11165:     ac
                   11166: No match
                   11167: 
                   11168: /^.*?(?(?=a)a(*THEN)b)c/
                   11169:     ac
                   11170: No match
                   11171: 
                   11172: /^.*?(a(*THEN)b)c/
                   11173:     aabc
                   11174: No match
                   11175:     
                   11176: /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
                   11177:     aabc
                   11178:  0: aabc
                   11179: 
                   11180: /^.*?(a(*THEN)b|z)c/
                   11181:     aabc
                   11182:  0: aabc
                   11183:  1: ab
                   11184: 
                   11185: /^.*?(z|a(*THEN)b)c/
                   11186:     aabc
                   11187:  0: aabc
                   11188:  1: ab
                   11189: 
                   11190: /-- --/
                   11191: 
                   11192: /-- These studied versions are here because they are not Perl-compatible; the
                   11193:     studying means the mark is not seen. --/
                   11194: 
                   11195: /(*MARK:A)(*SKIP:B)(C|X)/KS
                   11196:     C
                   11197:  0: C
                   11198:  1: C
                   11199: MK: A
                   11200:     D
                   11201: No match, mark = A
                   11202:      
                   11203: /(*:A)A+(*SKIP:A)(B|Z)/KS
                   11204:     AAAC
                   11205: No match, mark = A
                   11206: 
                   11207: /-- --/
                   11208: 
                   11209: "(?=a*(*ACCEPT)b)c"
                   11210:     c
                   11211:  0: c
                   11212:     c\N 
                   11213:  0: c
                   11214:     
                   11215: /(?1)c(?(DEFINE)((*ACCEPT)b))/
                   11216:     c
                   11217:  0: c
                   11218:     c\N  
                   11219:  0: c
                   11220:     
                   11221: /(?>(*ACCEPT)b)c/
                   11222:     c
                   11223:  0: 
                   11224:     c\N  
                   11225: No match
                   11226: 
                   11227: /(?:(?>(a)))+a%/++
                   11228:     %aa%
                   11229:  0: aa%
                   11230:  0+ 
                   11231:  1: a
                   11232:  1+ a%
                   11233: 
                   11234: /(a)b|ac/++SS
                   11235:     ac\O3
                   11236: Matched, but too many substrings
                   11237:  0: ac
                   11238:  0+ 
                   11239:     
                   11240: /(a)(b)x|abc/++
                   11241:      abc\O6
                   11242:  0: abc
                   11243:  0+ 
                   11244: 
                   11245: /(a)bc|(a)(b)\2/
                   11246:     \O3abc
                   11247: Matched, but too many substrings
                   11248:  0: abc
                   11249:     \O4abc 
                   11250: Matched, but too many substrings
                   11251:  0: abc
                   11252: 
                   11253: /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
                   11254: Capturing subpattern count = 2
                   11255: No options
                   11256: No first char
                   11257: No need char
                   11258: Subject length lower bound = 1
                   11259: No set of starting bytes
                   11260: 
                   11261: /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
                   11262: Capturing subpattern count = 2
                   11263: No options
                   11264: No first char
                   11265: No need char
                   11266: Subject length lower bound = 3
                   11267: Starting byte set: a b 
                   11268: 
                   11269: /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
                   11270: Capturing subpattern count = 2
                   11271: No options
                   11272: No first char
                   11273: No need char
                   11274: Subject length lower bound = 4
                   11275: Starting byte set: a b 
                   11276: 
                   11277: /(abc)(?1)/SI
                   11278: Capturing subpattern count = 1
                   11279: No options
                   11280: First char = 'a'
                   11281: Need char = 'c'
                   11282: Subject length lower bound = 6
                   11283: No set of starting bytes
                   11284: 
                   11285: /^(?>a)++/
                   11286:     aa\M
                   11287: Minimum match() limit = 5
                   11288: Minimum match() recursion limit = 2
                   11289:  0: aa
                   11290:     aaaaaaaaa\M 
                   11291: Minimum match() limit = 12
                   11292: Minimum match() recursion limit = 2
                   11293:  0: aaaaaaaaa
                   11294:     
                   11295: /(a)(?1)++/
                   11296:     aa\M
                   11297: Minimum match() limit = 7
                   11298: Minimum match() recursion limit = 4
                   11299:  0: aa
                   11300:  1: a
                   11301:     aaaaaaaaa\M  
                   11302: Minimum match() limit = 21
                   11303: Minimum match() recursion limit = 4
                   11304:  0: aaaaaaaaa
                   11305:  1: a
                   11306: 
                   11307: /(?:(foo)|(bar)|(baz))X/SS=
                   11308:     bazfooX
                   11309:  0: fooX
                   11310:  1: foo
                   11311:  2: <unset>
                   11312:  3: <unset>
                   11313:     foobazbarX
                   11314:  0: barX
                   11315:  1: <unset>
                   11316:  2: bar
                   11317:  3: <unset>
                   11318:     barfooX
                   11319:  0: fooX
                   11320:  1: foo
                   11321:  2: <unset>
                   11322:  3: <unset>
                   11323:     bazX
                   11324:  0: bazX
                   11325:  1: <unset>
                   11326:  2: <unset>
                   11327:  3: baz
                   11328:     foobarbazX    
                   11329:  0: bazX
                   11330:  1: <unset>
                   11331:  2: <unset>
                   11332:  3: baz
                   11333:     bazfooX\O0
                   11334: Matched, but too many substrings
                   11335:     bazfooX\O2
                   11336: Matched, but too many substrings
                   11337:  0: fooX
                   11338:     bazfooX\O4
                   11339: Matched, but too many substrings
                   11340:  0: fooX
                   11341:  1: <unset>
                   11342:     bazfooX\O6
                   11343: Matched, but too many substrings
                   11344:  0: fooX
                   11345:  1: foo
                   11346:  2: <unset>
                   11347:     bazfooX\O8
                   11348: Matched, but too many substrings
                   11349:  0: fooX
                   11350:  1: foo
                   11351:  2: <unset>
                   11352:  3: <unset>
                   11353:     bazfooX\O10
                   11354:  0: fooX
                   11355:  1: foo
                   11356:  2: <unset>
                   11357:  3: <unset>
                   11358: 
                   11359: /(?=abc){3}abc/BZ
                   11360: ------------------------------------------------------------------
                   11361:         Bra
                   11362:         Assert
                   11363:         abc
                   11364:         Ket
                   11365:         abc
                   11366:         Ket
                   11367:         End
                   11368: ------------------------------------------------------------------
                   11369: 
                   11370: /(?=abc)+abc/BZ
                   11371: ------------------------------------------------------------------
                   11372:         Bra
                   11373:         Assert
                   11374:         abc
                   11375:         Ket
                   11376:         abc
                   11377:         Ket
                   11378:         End
                   11379: ------------------------------------------------------------------
                   11380: 
                   11381: /(?=abc)++abc/BZ
                   11382: ------------------------------------------------------------------
                   11383:         Bra
                   11384:         Assert
                   11385:         abc
                   11386:         Ket
                   11387:         abc
                   11388:         Ket
                   11389:         End
                   11390: ------------------------------------------------------------------
                   11391: 
                   11392: /(?=abc){0}xyz/BZ
                   11393: ------------------------------------------------------------------
                   11394:         Bra
                   11395:         Skip zero
                   11396:         Assert
                   11397:         abc
                   11398:         Ket
                   11399:         xyz
                   11400:         Ket
                   11401:         End
                   11402: ------------------------------------------------------------------
                   11403: 
                   11404: /(?=(a))?./BZ
                   11405: ------------------------------------------------------------------
                   11406:         Bra
                   11407:         Brazero
                   11408:         Assert
                   11409:         CBra 1
                   11410:         a
                   11411:         Ket
                   11412:         Ket
                   11413:         Any
                   11414:         Ket
                   11415:         End
                   11416: ------------------------------------------------------------------
                   11417: 
                   11418: /(?=(a))??./BZ
                   11419: ------------------------------------------------------------------
                   11420:         Bra
                   11421:         Braminzero
                   11422:         Assert
                   11423:         CBra 1
                   11424:         a
                   11425:         Ket
                   11426:         Ket
                   11427:         Any
                   11428:         Ket
                   11429:         End
                   11430: ------------------------------------------------------------------
                   11431: 
                   11432: /^(?=(a)){0}b(?1)/BZ
                   11433: ------------------------------------------------------------------
                   11434:         Bra
                   11435:         ^
                   11436:         Skip zero
                   11437:         Assert
                   11438:         CBra 1
                   11439:         a
                   11440:         Ket
                   11441:         Ket
                   11442:         b
                   11443:         Recurse
                   11444:         Ket
                   11445:         End
                   11446: ------------------------------------------------------------------
                   11447: 
                   11448: /(?(DEFINE)(a))?b(?1)/BZ
                   11449: ------------------------------------------------------------------
                   11450:         Bra
                   11451:         Cond
                   11452:         Cond def
                   11453:         CBra 1
                   11454:         a
                   11455:         Ket
                   11456:         Ket
                   11457:         b
                   11458:         Recurse
                   11459:         Ket
                   11460:         End
                   11461: ------------------------------------------------------------------
                   11462: 
                   11463: /^(?=(?1))?[az]([abc])d/BZ
                   11464: ------------------------------------------------------------------
                   11465:         Bra
                   11466:         ^
                   11467:         Brazero
                   11468:         Assert
                   11469:         Recurse
                   11470:         Ket
                   11471:         [az]
                   11472:         CBra 1
                   11473:         [a-c]
                   11474:         Ket
                   11475:         d
                   11476:         Ket
                   11477:         End
                   11478: ------------------------------------------------------------------
                   11479: 
                   11480: /^(?!a){0}\w+/BZ
                   11481: ------------------------------------------------------------------
                   11482:         Bra
                   11483:         ^
                   11484:         Skip zero
                   11485:         Assert not
                   11486:         a
                   11487:         Ket
                   11488:         \w+
                   11489:         Ket
                   11490:         End
                   11491: ------------------------------------------------------------------
                   11492: 
                   11493: /(?<=(abc))?xyz/BZ
                   11494: ------------------------------------------------------------------
                   11495:         Bra
                   11496:         Brazero
                   11497:         AssertB
                   11498:         Reverse
                   11499:         CBra 1
                   11500:         abc
                   11501:         Ket
                   11502:         Ket
                   11503:         xyz
                   11504:         Ket
                   11505:         End
                   11506: ------------------------------------------------------------------
                   11507: 
                   11508: /[:a[:abc]b:]/BZ
                   11509: ------------------------------------------------------------------
                   11510:         Bra
                   11511:         [:[a-c]
                   11512:         b:]
                   11513:         Ket
                   11514:         End
                   11515: ------------------------------------------------------------------
                   11516: 
                   11517: /((?2))((?1))/SS
                   11518:     abc
                   11519: Error -26 (nested recursion at the same subject position)
                   11520: 
                   11521: /((?(R2)a+|(?1)b))/SS
                   11522:     aaaabcde
                   11523: Error -26 (nested recursion at the same subject position)
                   11524: 
                   11525: /(?(R)a*(?1)|((?R))b)/SS
                   11526:     aaaabcde
                   11527: Error -26 (nested recursion at the same subject position)
                   11528: 
                   11529: /(a+|(?R)b)/
                   11530: Failed: recursive call could loop indefinitely at offset 7
                   11531: 
                   11532: /^(a(*:A)(d|e(*:B))z|aeq)/C
                   11533:     adz
                   11534: --->adz
                   11535:  +0 ^       ^
                   11536:  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
                   11537:  +2 ^       a
                   11538:  +3 ^^      (*:A)
                   11539:  +8 ^^      (d|e(*:B))
                   11540: Latest Mark: A
                   11541:  +9 ^^      d
                   11542: +10 ^ ^     |
                   11543: +18 ^ ^     z
                   11544: +19 ^  ^    |
                   11545: +24 ^  ^    
                   11546:  0: adz
                   11547:  1: adz
                   11548:  2: d
                   11549:     aez
                   11550: --->aez
                   11551:  +0 ^       ^
                   11552:  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
                   11553:  +2 ^       a
                   11554:  +3 ^^      (*:A)
                   11555:  +8 ^^      (d|e(*:B))
                   11556: Latest Mark: A
                   11557:  +9 ^^      d
                   11558: +11 ^^      e
                   11559: +12 ^ ^     (*:B)
                   11560: +17 ^ ^     )
                   11561: Latest Mark: B
                   11562: +18 ^ ^     z
                   11563: +19 ^  ^    |
                   11564: +24 ^  ^    
                   11565:  0: aez
                   11566:  1: aez
                   11567:  2: e
                   11568:     aeqwerty
                   11569: --->aeqwerty
                   11570:  +0 ^            ^
                   11571:  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
                   11572:  +2 ^            a
                   11573:  +3 ^^           (*:A)
                   11574:  +8 ^^           (d|e(*:B))
                   11575: Latest Mark: A
                   11576:  +9 ^^           d
                   11577: +11 ^^           e
                   11578: +12 ^ ^          (*:B)
                   11579: +17 ^ ^          )
                   11580: Latest Mark: B
                   11581: +18 ^ ^          z
                   11582: +20 ^            a
                   11583: +21 ^^           e
                   11584: +22 ^ ^          q
                   11585: +23 ^  ^         )
                   11586: +24 ^  ^         
                   11587:  0: aeq
                   11588:  1: aeq
                   11589: 
                   11590: /.(*F)/
                   11591:     \P\Pabc
                   11592: No match
                   11593: 
                   11594: /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
                   11595: Capturing subpattern count = 0
                   11596: No options
                   11597: First char = 't'
                   11598: Need char = 't'
                   11599: Subject length lower bound = 18
                   11600: No set of starting bytes
                   11601: 
                   11602: /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
                   11603: Capturing subpattern count = 0
                   11604: No options
                   11605: No first char
                   11606: No need char
                   11607: Subject length lower bound = 8
                   11608: Starting byte set: < o t u 
                   11609: 
                   11610: /a(*SKIP)c|b(*ACCEPT)|/+SI
                   11611: Capturing subpattern count = 0
                   11612: No options
                   11613: No first char
                   11614: No need char
                   11615: Study returned NULL
                   11616:     a
                   11617:  0: 
                   11618:  0+ 
                   11619: 
                   11620: /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
                   11621: Capturing subpattern count = 0
                   11622: No options
                   11623: No first char
                   11624: No need char
                   11625: Subject length lower bound = -1
                   11626: Starting byte set: a b x 
                   11627:     ax
                   11628:  0: x
                   11629: 
                   11630: 'a*(*ACCEPT)b'+
                   11631:     \N\N
                   11632: No match
                   11633:     abc\N\N
                   11634:  0: a
                   11635:  0+ bc
                   11636:     bbb\N\N 
                   11637:  0: 
                   11638:  0+ bb
                   11639: 
                   11640: /(*ACCEPT)a/+I
                   11641: Capturing subpattern count = 0
                   11642: No options
                   11643: No first char
                   11644: No need char
                   11645:     bax
                   11646:  0: 
                   11647:  0+ bax
                   11648: 
                   11649: /z(*ACCEPT)a/+I
                   11650: Capturing subpattern count = 0
                   11651: No options
                   11652: First char = 'z'
                   11653: No need char
                   11654:     baxzbx
                   11655:  0: z
                   11656:  0+ bx
                   11657: 
                   11658: /a(?:.)*?a/ims                                                                  
                   11659:     \Mabbbbbbbbbbbbbbbbbbbbba
                   11660: Minimum match() limit = 65
                   11661: Minimum match() recursion limit = 2
                   11662:  0: abbbbbbbbbbbbbbbbbbbbba
                   11663:     
                   11664: /a(?:.(*THEN))*?a/ims
                   11665:     \Mabbbbbbbbbbbbbbbbbbbbba
                   11666: Minimum match() limit = 86
                   11667: Minimum match() recursion limit = 45
                   11668:  0: abbbbbbbbbbbbbbbbbbbbba
                   11669: 
                   11670: /a(?:.(*THEN:ABC))*?a/ims
                   11671:     \Mabbbbbbbbbbbbbbbbbbbbba
                   11672: Minimum match() limit = 86
                   11673: Minimum match() recursion limit = 45
                   11674:  0: abbbbbbbbbbbbbbbbbbbbba
                   11675: 
                   11676: /-- These tests are in agreement with development Perl 5.015, which has fixed
                   11677:     some things, but they don't all work with 5.012, so they aren't in the
                   11678:     Perl-compatible tests. Those after the first come from Perl's own test
                   11679:     files. --/
                   11680:     
                   11681: /^((yes|no)(*THEN)(*F))?/
                   11682:   yes
                   11683: No match
                   11684: 
                   11685: /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x
                   11686: AbcdCBefgBhiBqz
                   11687: No match
                   11688: 
                   11689: /(A (.*)   C? (*THEN)  | A D) z/x
                   11690: AbcdCBefgBhiBqz
                   11691: No match
                   11692: 
                   11693: /(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x
                   11694: AbcdCBefgBhiBqz
                   11695: No match
                   11696: 
                   11697: /(A (.*)   C? (*THEN)  | A D) \s* z/x
                   11698: AbcdCBefgBhiBqz
                   11699: No match
                   11700: 
                   11701: /(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x
                   11702: AbcdCBefgBhiBqz
                   11703: No match
                   11704: 
                   11705: /(A (.*)   (?:C|) (*THEN)  | A D) z/x
                   11706: AbcdCBefgBhiBqz
                   11707: No match
                   11708: 
                   11709: /(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x
                   11710: AbcdCBefgBhiBqz
                   11711: No match
                   11712: 
                   11713: /(A (.*)   C{0,6} (*THEN)  | A D) z/x
                   11714: AbcdCBefgBhiBqz
                   11715: No match
                   11716: 
                   11717: /(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x
                   11718: AbcdCEBefgBhiBqz
                   11719: No match
                   11720: 
                   11721: /(A (.*)   (CE){0,6} (*THEN)  | A D) z/x
                   11722: AbcdCEBefgBhiBqz
                   11723: No match
                   11724: 
                   11725: /(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x
                   11726: AbcdCBefgBhiBqz
                   11727: No match
                   11728: 
                   11729: /(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x
                   11730: AbcdCBefgBhiBqz
                   11731: No match
                   11732: 
                   11733: /-----------------------------------------------/  
                   11734: 
                   11735: /^(?>a+)(?>(z+))\w/BZ
                   11736: ------------------------------------------------------------------
                   11737:         Bra
                   11738:         ^
                   11739:         Once_NC
                   11740:         a+
                   11741:         Ket
                   11742:         Once
                   11743:         CBra 1
                   11744:         z+
                   11745:         Ket
                   11746:         Ket
                   11747:         \w
                   11748:         Ket
                   11749:         End
                   11750: ------------------------------------------------------------------
                   11751:     aaaazzzzb
                   11752:  0: aaaazzzzb
                   11753:  1: zzzz
                   11754:     ** Failers
                   11755: No match
                   11756:     aazz  
                   11757: No match
                   11758: 
                   11759: /(.)(\1|a(?2))/
                   11760:     bab
                   11761:  0: bab
                   11762:  1: b
                   11763:  2: ab
                   11764:     
                   11765: /\1|(.)(?R)\1/
                   11766:     cbbbc
                   11767:  0: cbbbc
                   11768:  1: c
                   11769:     
                   11770: /(.)((?(1)c|a)|a(?2))/
                   11771:     baa  
                   11772: No match
                   11773: 
                   11774: /(?P<abn>(?P=abn)xxx)/BZ
                   11775: ------------------------------------------------------------------
                   11776:         Bra
                   11777:         Once
                   11778:         CBra 1
                   11779:         \1
                   11780:         xxx
                   11781:         Ket
                   11782:         Ket
                   11783:         Ket
                   11784:         End
                   11785: ------------------------------------------------------------------
                   11786: 
                   11787: /(a\1z)/BZ
                   11788: ------------------------------------------------------------------
                   11789:         Bra
                   11790:         Once
                   11791:         CBra 1
                   11792:         a
                   11793:         \1
                   11794:         z
                   11795:         Ket
                   11796:         Ket
                   11797:         Ket
                   11798:         End
                   11799: ------------------------------------------------------------------
                   11800: 
                   11801: /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
                   11802:      \Maabbccddee
                   11803: Minimum match() limit = 12
                   11804: Minimum match() recursion limit = 3
                   11805:  0: aabbccddee
                   11806: 
                   11807: /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
                   11808:      \Maabbccddee
                   11809: Minimum match() limit = 22
                   11810: Minimum match() recursion limit = 21
                   11811:  0: aabbccddee
                   11812:  1: aa
                   11813:  2: bb
                   11814:  3: cc
                   11815:  4: dd
                   11816:  5: ee
                   11817: 
                   11818: /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
                   11819:      \Maabbccddee
                   11820: Minimum match() limit = 18
                   11821: Minimum match() recursion limit = 13
                   11822:  0: aabbccddee
                   11823:  1: aa
                   11824:  2: cc
                   11825:  3: ee
                   11826: 
                   11827: /^a\x41z/<JS>
                   11828:     aAz
                   11829:  0: aAz
                   11830:     *** Failers
                   11831: No match
                   11832:     ax41z
                   11833: No match
                   11834: 
                   11835: /^a[m\x41]z/<JS>
                   11836:     aAz
                   11837:  0: aAz
                   11838: 
                   11839: /^a\x1z/<JS>
                   11840:     ax1z
                   11841:  0: ax1z
                   11842: 
                   11843: /^a\u0041z/<JS>
                   11844:     aAz
                   11845:  0: aAz
                   11846:     *** Failers
                   11847: No match
                   11848:     au0041z
                   11849: No match
                   11850: 
                   11851: /^a[m\u0041]z/<JS>
                   11852:     aAz
                   11853:  0: aAz
                   11854: 
                   11855: /^a\u041z/<JS>
                   11856:     au041z
                   11857:  0: au041z
                   11858:     *** Failers
                   11859: No match
                   11860:     aAz
                   11861: No match
                   11862: 
                   11863: /^a\U0041z/<JS>
                   11864:     aU0041z
                   11865:  0: aU0041z
                   11866:     *** Failers
                   11867: No match
                   11868:     aAz
                   11869: No match
                   11870: 
                   11871: /(?(?=c)c|d)++Y/BZ
                   11872: ------------------------------------------------------------------
                   11873:         Bra
                   11874:         BraPos
                   11875:         Cond
                   11876:         Assert
                   11877:         c
                   11878:         Ket
                   11879:         c
                   11880:         Alt
                   11881:         d
                   11882:         Ket
                   11883:         KetRpos
                   11884:         Y
                   11885:         Ket
                   11886:         End
                   11887: ------------------------------------------------------------------
                   11888: 
                   11889: /(?(?=c)c|d)*+Y/BZ
                   11890: ------------------------------------------------------------------
                   11891:         Bra
                   11892:         Braposzero
                   11893:         BraPos
                   11894:         Cond
                   11895:         Assert
                   11896:         c
                   11897:         Ket
                   11898:         c
                   11899:         Alt
                   11900:         d
                   11901:         Ket
                   11902:         KetRpos
                   11903:         Y
                   11904:         Ket
                   11905:         End
                   11906: ------------------------------------------------------------------
                   11907: 
                   11908: /a[\NB]c/
                   11909: Failed: \N is not supported in a class at offset 3
                   11910: 
                   11911: /a[B-\Nc]/ 
                   11912: Failed: \N is not supported in a class at offset 5
                   11913: 
                   11914: /(a)(?2){0,1999}?(b)/
                   11915: 
                   11916: /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
                   11917: 
                   11918: /--- This test, with something more complicated than individual letters, causes
                   11919: different behaviour in Perl. Perhaps it disables some optimization; no tag is
                   11920: passed back for the failures, whereas in PCRE there is a tag. ---/
                   11921:     
                   11922: /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
                   11923:     AABC
                   11924:  0: AB
                   11925:  1: A
                   11926:  2: B
                   11927: MK: A
                   11928:     XXYZ 
                   11929:  0: XXY
                   11930:  1: <unset>
                   11931:  2: <unset>
                   11932:  3: X
                   11933:  4: X
                   11934:  5: Y
                   11935: MK: B
                   11936:     ** Failers
                   11937: No match
                   11938:     XAQQ  
                   11939: No match, mark = A
                   11940:     XAQQXZZ  
                   11941: No match, mark = A
                   11942:     AXQQQ 
                   11943: No match, mark = A
                   11944:     AXXQQQ 
                   11945: No match, mark = B
                   11946: 
                   11947: /-- Perl doesn't give marks for these, though it does if the alternatives are
                   11948: replaced by single letters. --/
                   11949:     
                   11950: /(b|q)(*:m)f|a(*:n)w/K
                   11951:     aw 
                   11952:  0: aw
                   11953: MK: n
                   11954:     ** Failers 
                   11955: No match, mark = n
                   11956:     abc
                   11957: No match, mark = m
                   11958: 
                   11959: /(q|b)(*:m)f|a(*:n)w/K
                   11960:     aw 
                   11961:  0: aw
                   11962: MK: n
                   11963:     ** Failers 
                   11964: No match, mark = n
                   11965:     abc
                   11966: No match, mark = m
                   11967: 
                   11968: /-- After a partial match, the behaviour is as for a failure. --/
                   11969: 
                   11970: /^a(*:X)bcde/K
                   11971:    abc\P
                   11972: Partial match, mark=X: abc
1.1.1.2 ! misho    11973:    
        !          11974: /-- These are here because Perl doesn't return a mark, except for the first --/
        !          11975: 
        !          11976: /(?=(*:x))(q|)/K+
        !          11977:     abc
        !          11978:  0: 
        !          11979:  0+ abc
        !          11980:  1: 
        !          11981: MK: x
        !          11982: 
        !          11983: /(?=(*:x))((*:y)q|)/K+
        !          11984:     abc
        !          11985:  0: 
        !          11986:  0+ abc
        !          11987:  1: 
        !          11988: MK: x
        !          11989: 
        !          11990: /(?=(*:x))(?:(*:y)q|)/K+
        !          11991:     abc
        !          11992:  0: 
        !          11993:  0+ abc
        !          11994: MK: x
        !          11995: 
        !          11996: /(?=(*:x))(?>(*:y)q|)/K+
        !          11997:     abc
        !          11998:  0: 
        !          11999:  0+ abc
        !          12000: MK: x
        !          12001: 
        !          12002: /(?=a(*:x))(?!a(*:y)c)/K+
        !          12003:     ab
        !          12004:  0: 
        !          12005:  0+ ab
        !          12006: MK: x
        !          12007: 
        !          12008: /(?=a(*:x))(?=a(*:y)c|)/K+
        !          12009:     ab
        !          12010:  0: 
        !          12011:  0+ ab
        !          12012: MK: x
1.1       misho    12013: 
                   12014: /-- End of testinput2 --/

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