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

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.1.5 ! misho      10:     
        !            11: < forbid 8W 
1.1       misho      12:   
                     13: /(a)b|/I
                     14: Capturing subpattern count = 1
1.1.1.5 ! misho      15: May match empty string
1.1       misho      16: No options
                     17: No first char
                     18: No need char
                     19: 
                     20: /abc/I
                     21: Capturing subpattern count = 0
                     22: No options
                     23: First char = 'a'
                     24: Need char = 'c'
                     25:     abc
                     26:  0: abc
                     27:     defabc
                     28:  0: abc
                     29:     \Aabc
                     30:  0: abc
                     31:     *** Failers
                     32: No match
                     33:     \Adefabc
                     34: No match
                     35:     ABC
                     36: No match
                     37: 
                     38: /^abc/I
                     39: Capturing subpattern count = 0
                     40: Options: anchored
                     41: No first char
                     42: No need char
                     43:     abc
                     44:  0: abc
                     45:     \Aabc
                     46:  0: abc
                     47:     *** Failers
                     48: No match
                     49:     defabc
                     50: No match
                     51:     \Adefabc
                     52: No match
                     53: 
                     54: /a+bc/I
                     55: Capturing subpattern count = 0
                     56: No options
                     57: First char = 'a'
                     58: Need char = 'c'
                     59: 
                     60: /a*bc/I
                     61: Capturing subpattern count = 0
                     62: No options
                     63: No first char
                     64: Need char = 'c'
                     65: 
                     66: /a{3}bc/I
                     67: Capturing subpattern count = 0
                     68: No options
                     69: First char = 'a'
                     70: Need char = 'c'
                     71: 
                     72: /(abc|a+z)/I
                     73: Capturing subpattern count = 1
                     74: No options
                     75: First char = 'a'
                     76: No need char
                     77: 
                     78: /^abc$/I
                     79: Capturing subpattern count = 0
                     80: Options: anchored
                     81: No first char
                     82: No need char
                     83:     abc
                     84:  0: abc
                     85:     *** Failers
                     86: No match
                     87:     def\nabc
                     88: No match
                     89: 
                     90: /ab\idef/X
                     91: Failed: unrecognized character follows \ at offset 3
                     92: 
                     93: /(?X)ab\idef/X
                     94: Failed: unrecognized character follows \ at offset 7
                     95: 
                     96: /x{5,4}/
                     97: Failed: numbers out of order in {} quantifier at offset 5
                     98: 
                     99: /z{65536}/
                    100: Failed: number too big in {} quantifier at offset 7
                    101: 
                    102: /[abcd/
                    103: Failed: missing terminating ] for character class at offset 5
                    104: 
                    105: /(?X)[\B]/
                    106: Failed: invalid escape sequence in character class at offset 6
                    107: 
                    108: /(?X)[\R]/
                    109: Failed: invalid escape sequence in character class at offset 6
                    110: 
                    111: /(?X)[\X]/
                    112: Failed: invalid escape sequence in character class at offset 6
                    113: 
                    114: /[\B]/BZ
                    115: ------------------------------------------------------------------
                    116:         Bra
                    117:         B
                    118:         Ket
                    119:         End
                    120: ------------------------------------------------------------------
                    121: 
                    122: /[\R]/BZ
                    123: ------------------------------------------------------------------
                    124:         Bra
                    125:         R
                    126:         Ket
                    127:         End
                    128: ------------------------------------------------------------------
                    129: 
                    130: /[\X]/BZ
                    131: ------------------------------------------------------------------
                    132:         Bra
                    133:         X
                    134:         Ket
                    135:         End
                    136: ------------------------------------------------------------------
                    137: 
                    138: /[z-a]/
                    139: Failed: range out of order in character class at offset 3
                    140: 
                    141: /^*/
                    142: Failed: nothing to repeat at offset 1
                    143: 
                    144: /(abc/
                    145: Failed: missing ) at offset 4
                    146: 
                    147: /(?# abc/
                    148: Failed: missing ) after comment at offset 7
                    149: 
                    150: /(?z)abc/
                    151: Failed: unrecognized character after (? or (?- at offset 2
                    152: 
                    153: /.*b/I
                    154: Capturing subpattern count = 0
                    155: No options
                    156: First char at start or follows newline
                    157: Need char = 'b'
                    158: 
                    159: /.*?b/I
                    160: Capturing subpattern count = 0
                    161: No options
                    162: First char at start or follows newline
                    163: Need char = 'b'
                    164: 
                    165: /cat|dog|elephant/I
                    166: Capturing subpattern count = 0
                    167: No options
                    168: No first char
                    169: No need char
                    170:     this sentence eventually mentions a cat
                    171:  0: cat
                    172:     this sentences rambles on and on for a while and then reaches elephant
                    173:  0: elephant
                    174: 
                    175: /cat|dog|elephant/IS
                    176: Capturing subpattern count = 0
                    177: No options
                    178: No first char
                    179: No need char
                    180: Subject length lower bound = 3
                    181: Starting byte set: c d e 
                    182:     this sentence eventually mentions a cat
                    183:  0: cat
                    184:     this sentences rambles on and on for a while and then reaches elephant
                    185:  0: elephant
                    186: 
                    187: /cat|dog|elephant/IiS
                    188: Capturing subpattern count = 0
                    189: Options: caseless
                    190: No first char
                    191: No need char
                    192: Subject length lower bound = 3
                    193: Starting byte set: C D E c d e 
                    194:     this sentence eventually mentions a CAT cat
                    195:  0: CAT
                    196:     this sentences rambles on and on for a while to elephant ElePhant
                    197:  0: elephant
                    198: 
                    199: /a|[bcd]/IS
                    200: Capturing subpattern count = 0
                    201: No options
                    202: No first char
                    203: No need char
                    204: Subject length lower bound = 1
                    205: Starting byte set: a b c d 
                    206: 
                    207: /(a|[^\dZ])/IS
                    208: Capturing subpattern count = 1
                    209: No options
                    210: No first char
                    211: No need char
                    212: Subject length lower bound = 1
                    213: Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
                    214:   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
                    215:   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
                    216:   ? @ 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 
                    217:   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 
                    218:   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
                    219:   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
                    220:   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
                    221:   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
                    222:   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
                    223:   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
                    224:   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
                    225:   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
                    226:   \xfc \xfd \xfe \xff 
                    227: 
                    228: /(a|b)*[\s]/IS
                    229: Capturing subpattern count = 1
                    230: No options
                    231: No first char
                    232: No need char
                    233: Subject length lower bound = 1
1.1.1.5 ! misho     234: Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 a b 
1.1       misho     235: 
                    236: /(ab\2)/
                    237: Failed: reference to non-existent subpattern at offset 6
                    238: 
                    239: /{4,5}abc/
                    240: Failed: nothing to repeat at offset 4
                    241: 
                    242: /(a)(b)(c)\2/I
                    243: Capturing subpattern count = 3
                    244: Max back reference = 2
                    245: No options
                    246: First char = 'a'
                    247: Need char = 'c'
                    248:     abcb
                    249:  0: abcb
                    250:  1: a
                    251:  2: b
                    252:  3: c
                    253:     \O0abcb
                    254: Matched, but too many substrings
                    255:     \O3abcb
                    256: Matched, but too many substrings
                    257:  0: abcb
                    258:     \O6abcb
                    259: Matched, but too many substrings
                    260:  0: abcb
                    261:  1: a
                    262:     \O9abcb
                    263: Matched, but too many substrings
                    264:  0: abcb
                    265:  1: a
                    266:  2: b
                    267:     \O12abcb
                    268:  0: abcb
                    269:  1: a
                    270:  2: b
                    271:  3: c
                    272: 
                    273: /(a)bc|(a)(b)\2/I
                    274: Capturing subpattern count = 3
                    275: Max back reference = 2
                    276: No options
                    277: First char = 'a'
                    278: No need char
                    279:     abc
                    280:  0: abc
                    281:  1: a
                    282:     \O0abc
                    283: Matched, but too many substrings
                    284:     \O3abc
                    285: Matched, but too many substrings
                    286:  0: abc
                    287:     \O6abc
                    288:  0: abc
                    289:  1: a
                    290:     aba
                    291:  0: aba
                    292:  1: <unset>
                    293:  2: a
                    294:  3: b
                    295:     \O0aba
                    296: Matched, but too many substrings
                    297:     \O3aba
                    298: Matched, but too many substrings
                    299:  0: aba
                    300:     \O6aba
                    301: Matched, but too many substrings
                    302:  0: aba
                    303:  1: <unset>
                    304:     \O9aba
                    305: Matched, but too many substrings
                    306:  0: aba
                    307:  1: <unset>
                    308:  2: a
                    309:     \O12aba
                    310:  0: aba
                    311:  1: <unset>
                    312:  2: a
                    313:  3: b
                    314: 
                    315: /abc$/IE
                    316: Capturing subpattern count = 0
                    317: Options: dollar_endonly
                    318: First char = 'a'
                    319: Need char = 'c'
                    320:     abc
                    321:  0: abc
                    322:     *** Failers
                    323: No match
                    324:     abc\n
                    325: No match
                    326:     abc\ndef
                    327: No match
                    328: 
                    329: /(a)(b)(c)(d)(e)\6/
                    330: Failed: reference to non-existent subpattern at offset 17
                    331: 
                    332: /the quick brown fox/I
                    333: Capturing subpattern count = 0
                    334: No options
                    335: First char = 't'
                    336: Need char = 'x'
                    337:     the quick brown fox
                    338:  0: the quick brown fox
                    339:     this is a line with the quick brown fox
                    340:  0: the quick brown fox
                    341: 
                    342: /the quick brown fox/IA
                    343: Capturing subpattern count = 0
                    344: Options: anchored
                    345: No first char
                    346: No need char
                    347:     the quick brown fox
                    348:  0: the quick brown fox
                    349:     *** Failers
                    350: No match
                    351:     this is a line with the quick brown fox
                    352: No match
                    353: 
                    354: /ab(?z)cd/
                    355: Failed: unrecognized character after (? or (?- at offset 4
                    356: 
                    357: /^abc|def/I
                    358: Capturing subpattern count = 0
                    359: No options
                    360: No first char
                    361: No need char
                    362:     abcdef
                    363:  0: abc
                    364:     abcdef\B
                    365:  0: def
                    366: 
                    367: /.*((abc)$|(def))/I
                    368: Capturing subpattern count = 3
                    369: No options
                    370: First char at start or follows newline
                    371: No need char
                    372:     defabc
                    373:  0: defabc
                    374:  1: abc
                    375:  2: abc
                    376:     \Zdefabc
                    377:  0: def
                    378:  1: def
                    379:  2: <unset>
                    380:  3: def
                    381: 
                    382: /)/
                    383: Failed: unmatched parentheses at offset 0
                    384: 
                    385: /a[]b/
                    386: Failed: missing terminating ] for character class at offset 4
                    387: 
                    388: /[^aeiou ]{3,}/I
                    389: Capturing subpattern count = 0
                    390: No options
                    391: No first char
                    392: No need char
                    393:     co-processors, and for
                    394:  0: -pr
                    395: 
                    396: /<.*>/I
                    397: Capturing subpattern count = 0
                    398: No options
                    399: First char = '<'
                    400: Need char = '>'
                    401:     abc<def>ghi<klm>nop
                    402:  0: <def>ghi<klm>
                    403: 
                    404: /<.*?>/I
                    405: Capturing subpattern count = 0
                    406: No options
                    407: First char = '<'
                    408: Need char = '>'
                    409:     abc<def>ghi<klm>nop
                    410:  0: <def>
                    411: 
                    412: /<.*>/IU
                    413: Capturing subpattern count = 0
                    414: Options: ungreedy
                    415: First char = '<'
                    416: Need char = '>'
                    417:     abc<def>ghi<klm>nop
                    418:  0: <def>
                    419: 
                    420: /(?U)<.*>/I
                    421: Capturing subpattern count = 0
                    422: Options: ungreedy
                    423: First char = '<'
                    424: Need char = '>'
                    425:     abc<def>ghi<klm>nop
                    426:  0: <def>
                    427: 
                    428: /<.*?>/IU
                    429: Capturing subpattern count = 0
                    430: Options: ungreedy
                    431: First char = '<'
                    432: Need char = '>'
                    433:     abc<def>ghi<klm>nop
                    434:  0: <def>ghi<klm>
                    435: 
                    436: /={3,}/IU
                    437: Capturing subpattern count = 0
                    438: Options: ungreedy
                    439: First char = '='
                    440: Need char = '='
                    441:     abc========def
                    442:  0: ===
                    443: 
                    444: /(?U)={3,}?/I
                    445: Capturing subpattern count = 0
                    446: Options: ungreedy
                    447: First char = '='
                    448: Need char = '='
                    449:     abc========def
                    450:  0: ========
                    451: 
                    452: /(?<!bar|cattle)foo/I
                    453: Capturing subpattern count = 0
1.1.1.4   misho     454: Max lookbehind = 6
1.1       misho     455: No options
                    456: First char = 'f'
                    457: Need char = 'o'
                    458:     foo
                    459:  0: foo
                    460:     catfoo
                    461:  0: foo
                    462:     *** Failers
                    463: No match
                    464:     the barfoo
                    465: No match
                    466:     and cattlefoo
                    467: No match
                    468: 
                    469: /(?<=a+)b/
                    470: Failed: lookbehind assertion is not fixed length at offset 6
                    471: 
                    472: /(?<=aaa|b{0,3})b/
                    473: Failed: lookbehind assertion is not fixed length at offset 14
                    474: 
                    475: /(?<!(foo)a\1)bar/
                    476: Failed: lookbehind assertion is not fixed length at offset 12
                    477: 
                    478: /(?i)abc/I
                    479: Capturing subpattern count = 0
                    480: Options: caseless
                    481: First char = 'a' (caseless)
                    482: Need char = 'c' (caseless)
                    483: 
                    484: /(a|(?m)a)/I
                    485: Capturing subpattern count = 1
                    486: No options
                    487: First char = 'a'
                    488: No need char
                    489: 
                    490: /(?i)^1234/I
                    491: Capturing subpattern count = 0
                    492: Options: anchored caseless
                    493: No first char
                    494: No need char
                    495: 
                    496: /(^b|(?i)^d)/I
                    497: Capturing subpattern count = 1
                    498: Options: anchored
                    499: No first char
                    500: No need char
                    501: 
                    502: /(?s).*/I
                    503: Capturing subpattern count = 0
1.1.1.5 ! misho     504: May match empty string
1.1       misho     505: Options: anchored dotall
                    506: No first char
                    507: No need char
                    508: 
                    509: /[abcd]/IS
                    510: Capturing subpattern count = 0
                    511: No options
                    512: No first char
                    513: No need char
                    514: Subject length lower bound = 1
                    515: Starting byte set: a b c d 
                    516: 
                    517: /(?i)[abcd]/IS
                    518: Capturing subpattern count = 0
                    519: Options: caseless
                    520: No first char
                    521: No need char
                    522: Subject length lower bound = 1
                    523: Starting byte set: A B C D a b c d 
                    524: 
                    525: /(?m)[xy]|(b|c)/IS
                    526: Capturing subpattern count = 1
                    527: Options: multiline
                    528: No first char
                    529: No need char
                    530: Subject length lower bound = 1
                    531: Starting byte set: b c x y 
                    532: 
                    533: /(^a|^b)/Im
                    534: Capturing subpattern count = 1
                    535: Options: multiline
                    536: First char at start or follows newline
                    537: No need char
                    538: 
                    539: /(?i)(^a|^b)/Im
                    540: Capturing subpattern count = 1
                    541: Options: caseless multiline
                    542: First char at start or follows newline
                    543: No need char
                    544: 
                    545: /(a)(?(1)a|b|c)/
                    546: Failed: conditional group contains more than two branches at offset 13
                    547: 
                    548: /(?(?=a)a|b|c)/
                    549: Failed: conditional group contains more than two branches at offset 12
                    550: 
                    551: /(?(1a)/
1.1.1.5 ! misho     552: Failed: malformed number or name after (?( at offset 4
1.1       misho     553: 
                    554: /(?(1a))/
1.1.1.5 ! misho     555: Failed: malformed number or name after (?( at offset 4
1.1       misho     556: 
                    557: /(?(?i))/
                    558: Failed: assertion expected after (?( at offset 3
                    559: 
                    560: /(?(abc))/
                    561: Failed: reference to non-existent subpattern at offset 7
                    562: 
                    563: /(?(?<ab))/
                    564: Failed: syntax error in subpattern name (missing terminator) at offset 7
                    565: 
                    566: /((?s)blah)\s+\1/I
                    567: Capturing subpattern count = 1
                    568: Max back reference = 1
                    569: No options
                    570: First char = 'b'
                    571: Need char = 'h'
                    572: 
                    573: /((?i)blah)\s+\1/I
                    574: Capturing subpattern count = 1
                    575: Max back reference = 1
                    576: No options
                    577: First char = 'b' (caseless)
                    578: Need char = 'h' (caseless)
                    579: 
                    580: /((?i)b)/IDZS
                    581: ------------------------------------------------------------------
                    582:         Bra
                    583:         CBra 1
                    584:      /i b
                    585:         Ket
                    586:         Ket
                    587:         End
                    588: ------------------------------------------------------------------
                    589: Capturing subpattern count = 1
                    590: No options
                    591: First char = 'b' (caseless)
                    592: No need char
                    593: Subject length lower bound = 1
                    594: No set of starting bytes
                    595: 
                    596: /(a*b|(?i:c*(?-i)d))/IS
                    597: Capturing subpattern count = 1
                    598: No options
                    599: No first char
                    600: No need char
                    601: Subject length lower bound = 1
                    602: Starting byte set: C a b c d 
                    603: 
                    604: /a$/I
                    605: Capturing subpattern count = 0
                    606: No options
                    607: First char = 'a'
                    608: No need char
                    609:     a
                    610:  0: a
                    611:     a\n
                    612:  0: a
                    613:     *** Failers
                    614: No match
                    615:     \Za
                    616: No match
                    617:     \Za\n
                    618: No match
                    619: 
                    620: /a$/Im
                    621: Capturing subpattern count = 0
                    622: Options: multiline
                    623: First char = 'a'
                    624: No need char
                    625:     a
                    626:  0: a
                    627:     a\n
                    628:  0: a
                    629:     \Za\n
                    630:  0: a
                    631:     *** Failers
                    632: No match
                    633:     \Za
                    634: No match
                    635: 
                    636: /\Aabc/Im
                    637: Capturing subpattern count = 0
1.1.1.4   misho     638: Max lookbehind = 1
1.1       misho     639: Options: anchored multiline
                    640: No first char
                    641: No need char
                    642: 
                    643: /^abc/Im
                    644: Capturing subpattern count = 0
                    645: Options: multiline
                    646: First char at start or follows newline
                    647: Need char = 'c'
                    648: 
                    649: /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
                    650: Capturing subpattern count = 5
                    651: Options: anchored
                    652: No first char
                    653: No need char
                    654:   aaaaabbbbbcccccdef
                    655:  0: aaaaabbbbbcccccdef
                    656:  1: aaaaabbbbbcccccdef
                    657:  2: aaaaa
                    658:  3: b
                    659:  4: bbbbccccc
                    660:  5: def
                    661: 
                    662: /(?<=foo)[ab]/IS
                    663: Capturing subpattern count = 0
1.1.1.4   misho     664: Max lookbehind = 3
1.1       misho     665: No options
                    666: No first char
                    667: No need char
                    668: Subject length lower bound = 1
                    669: Starting byte set: a b 
                    670: 
                    671: /(?<!foo)(alpha|omega)/IS
                    672: Capturing subpattern count = 1
1.1.1.4   misho     673: Max lookbehind = 3
1.1       misho     674: No options
                    675: No first char
                    676: Need char = 'a'
                    677: Subject length lower bound = 5
                    678: Starting byte set: a o 
                    679: 
                    680: /(?!alphabet)[ab]/IS
                    681: Capturing subpattern count = 0
                    682: No options
                    683: No first char
                    684: No need char
                    685: Subject length lower bound = 1
                    686: Starting byte set: a b 
                    687: 
                    688: /(?<=foo\n)^bar/Im
                    689: Capturing subpattern count = 0
1.1.1.4   misho     690: Max lookbehind = 4
1.1       misho     691: Contains explicit CR or LF match
                    692: Options: multiline
                    693: No first char
                    694: Need char = 'r'
                    695:     foo\nbarbar
                    696:  0: bar
                    697:     ***Failers
                    698: No match
                    699:     rhubarb
                    700: No match
                    701:     barbell
                    702: No match
                    703:     abc\nbarton
                    704: No match
                    705: 
                    706: /^(?<=foo\n)bar/Im
                    707: Capturing subpattern count = 0
1.1.1.4   misho     708: Max lookbehind = 4
1.1       misho     709: Contains explicit CR or LF match
                    710: Options: multiline
                    711: First char at start or follows newline
                    712: Need char = 'r'
                    713:     foo\nbarbar
                    714:  0: bar
                    715:     ***Failers
                    716: No match
                    717:     rhubarb
                    718: No match
                    719:     barbell
                    720: No match
                    721:     abc\nbarton
                    722: No match
                    723: 
                    724: /(?>^abc)/Im
                    725: Capturing subpattern count = 0
                    726: Options: multiline
                    727: First char at start or follows newline
                    728: Need char = 'c'
                    729:     abc
                    730:  0: abc
                    731:     def\nabc
                    732:  0: abc
                    733:     *** Failers
                    734: No match
                    735:     defabc
                    736: No match
                    737: 
                    738: /(?<=ab(c+)d)ef/
                    739: Failed: lookbehind assertion is not fixed length at offset 11
                    740: 
                    741: /(?<=ab(?<=c+)d)ef/
                    742: Failed: lookbehind assertion is not fixed length at offset 12
                    743: 
                    744: /(?<=ab(c|de)f)g/
                    745: Failed: lookbehind assertion is not fixed length at offset 13
                    746: 
                    747: /The next three are in testinput2 because they have variable length branches/
                    748: 
                    749: /(?<=bullock|donkey)-cart/I
                    750: Capturing subpattern count = 0
1.1.1.4   misho     751: Max lookbehind = 7
1.1       misho     752: No options
                    753: First char = '-'
                    754: Need char = 't'
                    755:     the bullock-cart
                    756:  0: -cart
                    757:     a donkey-cart race
                    758:  0: -cart
                    759:     *** Failers
                    760: No match
                    761:     cart
                    762: No match
                    763:     horse-and-cart
                    764: No match
                    765: 
                    766: /(?<=ab(?i)x|y|z)/I
                    767: Capturing subpattern count = 0
1.1.1.4   misho     768: Max lookbehind = 3
1.1.1.5 ! misho     769: May match empty string
1.1       misho     770: No options
                    771: No first char
                    772: No need char
                    773: 
                    774: /(?>.*)(?<=(abcd)|(xyz))/I
                    775: Capturing subpattern count = 2
1.1.1.4   misho     776: Max lookbehind = 4
1.1.1.5 ! misho     777: May match empty string
1.1       misho     778: No options
1.1.1.4   misho     779: No first char
1.1       misho     780: No need char
                    781:     alphabetabcd
                    782:  0: alphabetabcd
                    783:  1: abcd
                    784:     endingxyz
                    785:  0: endingxyz
                    786:  1: <unset>
                    787:  2: xyz
                    788: 
                    789: /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
                    790: Capturing subpattern count = 0
1.1.1.4   misho     791: Max lookbehind = 4
1.1       misho     792: No options
                    793: First char = 'Z'
                    794: Need char = 'Z'
                    795:     abxyZZ
                    796:  0: ZZ
                    797:     abXyZZ
                    798:  0: ZZ
                    799:     ZZZ
                    800:  0: ZZ
                    801:     zZZ
                    802:  0: ZZ
                    803:     bZZ
                    804:  0: ZZ
                    805:     BZZ
                    806:  0: ZZ
                    807:     *** Failers
                    808: No match
                    809:     ZZ
                    810: No match
                    811:     abXYZZ
                    812: No match
                    813:     zzz
                    814: No match
                    815:     bzz
                    816: No match
                    817: 
                    818: /(?<!(foo)a)bar/I
                    819: Capturing subpattern count = 1
1.1.1.4   misho     820: Max lookbehind = 4
1.1       misho     821: No options
                    822: First char = 'b'
                    823: Need char = 'r'
                    824:     bar
                    825:  0: bar
                    826:     foobbar
                    827:  0: bar
                    828:     *** Failers
                    829: No match
                    830:     fooabar
                    831: No match
                    832: 
                    833: /This one is here because Perl behaves differently; see also the following/I
                    834: Capturing subpattern count = 0
                    835: No options
                    836: First char = 'T'
                    837: Need char = 'g'
                    838: 
                    839: /^(a\1?){4}$/I
                    840: Capturing subpattern count = 1
                    841: Max back reference = 1
                    842: Options: anchored
                    843: No first char
                    844: No need char
                    845:     aaaa
                    846: No match
                    847:     aaaaaa
                    848: No match
                    849:     
                    850: /Perl does not fail these two for the final subjects. Neither did PCRE until/
                    851: /release 8.01. The problem is in backtracking into a subpattern that contains/
                    852: No match
                    853: /a recursive reference to itself. PCRE has now made these into atomic patterns./
                    854: No match
                    855: 
                    856: /^(xa|=?\1a){2}$/
                    857:     xa=xaa
                    858:  0: xa=xaa
                    859:  1: =xaa
                    860:     ** Failers
                    861: No match
                    862:     xa=xaaa
                    863: No match
                    864: 
                    865: /^(xa|=?\1a)+$/
                    866:     xa=xaa
                    867:  0: xa=xaa
                    868:  1: =xaa
                    869:     ** Failers
                    870: No match
                    871:     xa=xaaa
                    872: No match
                    873: 
                    874: /These are syntax tests from Perl 5.005/I
                    875: Capturing subpattern count = 0
                    876: No options
                    877: First char = 'T'
                    878: Need char = '5'
                    879: 
                    880: /a[b-a]/
                    881: Failed: range out of order in character class at offset 4
                    882: 
                    883: /a[]b/
                    884: Failed: missing terminating ] for character class at offset 4
                    885: 
                    886: /a[/
                    887: Failed: missing terminating ] for character class at offset 2
                    888: 
                    889: /*a/
                    890: Failed: nothing to repeat at offset 0
                    891: 
                    892: /(*)b/
                    893: Failed: nothing to repeat at offset 1
                    894: 
                    895: /abc)/
                    896: Failed: unmatched parentheses at offset 3
                    897: 
                    898: /(abc/
                    899: Failed: missing ) at offset 4
                    900: 
                    901: /a**/
                    902: Failed: nothing to repeat at offset 2
                    903: 
                    904: /)(/
                    905: Failed: unmatched parentheses at offset 0
                    906: 
                    907: /\1/
                    908: Failed: reference to non-existent subpattern at offset 2
                    909: 
                    910: /\2/
                    911: Failed: reference to non-existent subpattern at offset 2
                    912: 
                    913: /(a)|\2/
                    914: Failed: reference to non-existent subpattern at offset 6
                    915: 
                    916: /a[b-a]/Ii
                    917: Failed: range out of order in character class at offset 4
                    918: 
                    919: /a[]b/Ii
                    920: Failed: missing terminating ] for character class at offset 4
                    921: 
                    922: /a[/Ii
                    923: Failed: missing terminating ] for character class at offset 2
                    924: 
                    925: /*a/Ii
                    926: Failed: nothing to repeat at offset 0
                    927: 
                    928: /(*)b/Ii
                    929: Failed: nothing to repeat at offset 1
                    930: 
                    931: /abc)/Ii
                    932: Failed: unmatched parentheses at offset 3
                    933: 
                    934: /(abc/Ii
                    935: Failed: missing ) at offset 4
                    936: 
                    937: /a**/Ii
                    938: Failed: nothing to repeat at offset 2
                    939: 
                    940: /)(/Ii
                    941: Failed: unmatched parentheses at offset 0
                    942: 
                    943: /:(?:/
                    944: Failed: missing ) at offset 4
                    945: 
                    946: /(?<%)b/
                    947: Failed: unrecognized character after (?< at offset 3
                    948: 
                    949: /a(?{)b/
                    950: Failed: unrecognized character after (? or (?- at offset 3
                    951: 
                    952: /a(?{{})b/
                    953: Failed: unrecognized character after (? or (?- at offset 3
                    954: 
                    955: /a(?{}})b/
                    956: Failed: unrecognized character after (? or (?- at offset 3
                    957: 
                    958: /a(?{"{"})b/
                    959: Failed: unrecognized character after (? or (?- at offset 3
                    960: 
                    961: /a(?{"{"}})b/
                    962: Failed: unrecognized character after (? or (?- at offset 3
                    963: 
                    964: /(?(1?)a|b)/
                    965: Failed: malformed number or name after (?( at offset 4
                    966: 
                    967: /[a[:xyz:/
                    968: Failed: missing terminating ] for character class at offset 8
                    969: 
                    970: /(?<=x+)y/
                    971: Failed: lookbehind assertion is not fixed length at offset 6
                    972: 
                    973: /a{37,17}/
                    974: Failed: numbers out of order in {} quantifier at offset 7
                    975: 
                    976: /abc/\
                    977: Failed: \ at end of pattern at offset 4
                    978: 
                    979: /abc/\i
                    980: Failed: \ at end of pattern at offset 4
                    981: 
                    982: /(a)bc(d)/I
                    983: Capturing subpattern count = 2
                    984: No options
                    985: First char = 'a'
                    986: Need char = 'd'
                    987:     abcd
                    988:  0: abcd
                    989:  1: a
                    990:  2: d
                    991:     abcd\C2
                    992:  0: abcd
                    993:  1: a
                    994:  2: d
                    995:  2C d (1)
                    996:     abcd\C5
                    997:  0: abcd
                    998:  1: a
                    999:  2: d
                   1000: copy substring 5 failed -7
                   1001: 
                   1002: /(.{20})/I
                   1003: Capturing subpattern count = 1
                   1004: No options
                   1005: No first char
                   1006: No need char
                   1007:     abcdefghijklmnopqrstuvwxyz
                   1008:  0: abcdefghijklmnopqrst
                   1009:  1: abcdefghijklmnopqrst
                   1010:     abcdefghijklmnopqrstuvwxyz\C1
                   1011:  0: abcdefghijklmnopqrst
                   1012:  1: abcdefghijklmnopqrst
                   1013:  1C abcdefghijklmnopqrst (20)
                   1014:     abcdefghijklmnopqrstuvwxyz\G1
                   1015:  0: abcdefghijklmnopqrst
                   1016:  1: abcdefghijklmnopqrst
                   1017:  1G abcdefghijklmnopqrst (20)
                   1018: 
                   1019: /(.{15})/I
                   1020: Capturing subpattern count = 1
                   1021: No options
                   1022: No first char
                   1023: No need char
                   1024:     abcdefghijklmnopqrstuvwxyz
                   1025:  0: abcdefghijklmno
                   1026:  1: abcdefghijklmno
                   1027:     abcdefghijklmnopqrstuvwxyz\C1\G1
                   1028:  0: abcdefghijklmno
                   1029:  1: abcdefghijklmno
                   1030:  1C abcdefghijklmno (15)
                   1031:  1G abcdefghijklmno (15)
                   1032: 
                   1033: /(.{16})/I
                   1034: Capturing subpattern count = 1
                   1035: No options
                   1036: No first char
                   1037: No need char
                   1038:     abcdefghijklmnopqrstuvwxyz
                   1039:  0: abcdefghijklmnop
                   1040:  1: abcdefghijklmnop
                   1041:     abcdefghijklmnopqrstuvwxyz\C1\G1\L
                   1042:  0: abcdefghijklmnop
                   1043:  1: abcdefghijklmnop
                   1044:  1C abcdefghijklmnop (16)
                   1045:  1G abcdefghijklmnop (16)
                   1046:  0L abcdefghijklmnop
                   1047:  1L abcdefghijklmnop
                   1048: 
                   1049: /^(a|(bc))de(f)/I
                   1050: Capturing subpattern count = 3
                   1051: Options: anchored
                   1052: No first char
                   1053: No need char
                   1054:     adef\G1\G2\G3\G4\L
                   1055:  0: adef
                   1056:  1: a
                   1057:  2: <unset>
                   1058:  3: f
                   1059:  1G a (1)
                   1060:  2G  (0)
                   1061:  3G f (1)
                   1062: get substring 4 failed -7
                   1063:  0L adef
                   1064:  1L a
                   1065:  2L 
                   1066:  3L f
                   1067:     bcdef\G1\G2\G3\G4\L
                   1068:  0: bcdef
                   1069:  1: bc
                   1070:  2: bc
                   1071:  3: f
                   1072:  1G bc (2)
                   1073:  2G bc (2)
                   1074:  3G f (1)
                   1075: get substring 4 failed -7
                   1076:  0L bcdef
                   1077:  1L bc
                   1078:  2L bc
                   1079:  3L f
                   1080:     adefghijk\C0
                   1081:  0: adef
                   1082:  1: a
                   1083:  2: <unset>
                   1084:  3: f
                   1085:  0C adef (4)
                   1086: 
                   1087: /^abc\00def/I
                   1088: Capturing subpattern count = 0
                   1089: Options: anchored
                   1090: No first char
                   1091: No need char
                   1092:     abc\00def\L\C0
                   1093:  0: abc\x00def
1.1.1.2   misho    1094:  0C abc\x00def (7)
1.1       misho    1095:  0L abc
                   1096: 
                   1097: /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
                   1098: )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
                   1099: )?)?)?)?)?)?)?)?)?otherword/I
                   1100: Capturing subpattern count = 8
                   1101: Contains explicit CR or LF match
                   1102: No options
                   1103: First char = 'w'
                   1104: Need char = 'd'
                   1105: 
                   1106: /.*X/IDZ
                   1107: ------------------------------------------------------------------
                   1108:         Bra
                   1109:         Any*
                   1110:         X
                   1111:         Ket
                   1112:         End
                   1113: ------------------------------------------------------------------
                   1114: Capturing subpattern count = 0
                   1115: No options
                   1116: First char at start or follows newline
                   1117: Need char = 'X'
                   1118: 
                   1119: /.*X/IDZs
                   1120: ------------------------------------------------------------------
                   1121:         Bra
                   1122:         AllAny*
                   1123:         X
                   1124:         Ket
                   1125:         End
                   1126: ------------------------------------------------------------------
                   1127: Capturing subpattern count = 0
                   1128: Options: anchored dotall
                   1129: No first char
                   1130: Need char = 'X'
                   1131: 
                   1132: /(.*X|^B)/IDZ
                   1133: ------------------------------------------------------------------
                   1134:         Bra
                   1135:         CBra 1
                   1136:         Any*
                   1137:         X
                   1138:         Alt
                   1139:         ^
                   1140:         B
                   1141:         Ket
                   1142:         Ket
                   1143:         End
                   1144: ------------------------------------------------------------------
                   1145: Capturing subpattern count = 1
                   1146: No options
                   1147: First char at start or follows newline
                   1148: No need char
                   1149: 
                   1150: /(.*X|^B)/IDZs
                   1151: ------------------------------------------------------------------
                   1152:         Bra
                   1153:         CBra 1
                   1154:         AllAny*
                   1155:         X
                   1156:         Alt
                   1157:         ^
                   1158:         B
                   1159:         Ket
                   1160:         Ket
                   1161:         End
                   1162: ------------------------------------------------------------------
                   1163: Capturing subpattern count = 1
                   1164: Options: anchored dotall
                   1165: No first char
                   1166: No need char
                   1167: 
                   1168: /(?s)(.*X|^B)/IDZ
                   1169: ------------------------------------------------------------------
                   1170:         Bra
                   1171:         CBra 1
                   1172:         AllAny*
                   1173:         X
                   1174:         Alt
                   1175:         ^
                   1176:         B
                   1177:         Ket
                   1178:         Ket
                   1179:         End
                   1180: ------------------------------------------------------------------
                   1181: Capturing subpattern count = 1
                   1182: Options: anchored dotall
                   1183: No first char
                   1184: No need char
                   1185: 
                   1186: /(?s:.*X|^B)/IDZ
                   1187: ------------------------------------------------------------------
                   1188:         Bra
                   1189:         Bra
                   1190:         AllAny*
                   1191:         X
                   1192:         Alt
                   1193:         ^
                   1194:         B
                   1195:         Ket
                   1196:         Ket
                   1197:         End
                   1198: ------------------------------------------------------------------
                   1199: Capturing subpattern count = 0
                   1200: Options: anchored
                   1201: No first char
                   1202: No need char
                   1203: 
                   1204: /\Biss\B/I+
                   1205: Capturing subpattern count = 0
1.1.1.4   misho    1206: Max lookbehind = 1
1.1       misho    1207: No options
                   1208: First char = 'i'
                   1209: Need char = 's'
                   1210:     Mississippi
                   1211:  0: iss
                   1212:  0+ issippi
                   1213: 
                   1214: /iss/IG+
                   1215: Capturing subpattern count = 0
                   1216: No options
                   1217: First char = 'i'
                   1218: Need char = 's'
                   1219:     Mississippi
                   1220:  0: iss
                   1221:  0+ issippi
                   1222:  0: iss
                   1223:  0+ ippi
                   1224: 
                   1225: /\Biss\B/IG+
                   1226: Capturing subpattern count = 0
1.1.1.4   misho    1227: Max lookbehind = 1
1.1       misho    1228: No options
                   1229: First char = 'i'
                   1230: Need char = 's'
                   1231:     Mississippi
                   1232:  0: iss
                   1233:  0+ issippi
                   1234: 
                   1235: /\Biss\B/Ig+
                   1236: Capturing subpattern count = 0
1.1.1.4   misho    1237: Max lookbehind = 1
1.1       misho    1238: No options
                   1239: First char = 'i'
                   1240: Need char = 's'
                   1241:     Mississippi
                   1242:  0: iss
                   1243:  0+ issippi
                   1244:  0: iss
                   1245:  0+ ippi
                   1246:     *** Failers
                   1247: No match
                   1248:     Mississippi\A
                   1249: No match
                   1250: 
                   1251: /(?<=[Ms])iss/Ig+
                   1252: Capturing subpattern count = 0
1.1.1.4   misho    1253: Max lookbehind = 1
1.1       misho    1254: No options
                   1255: First char = 'i'
                   1256: Need char = 's'
                   1257:     Mississippi
                   1258:  0: iss
                   1259:  0+ issippi
                   1260:  0: iss
                   1261:  0+ ippi
                   1262: 
                   1263: /(?<=[Ms])iss/IG+
                   1264: Capturing subpattern count = 0
1.1.1.4   misho    1265: Max lookbehind = 1
1.1       misho    1266: No options
                   1267: First char = 'i'
                   1268: Need char = 's'
                   1269:     Mississippi
                   1270:  0: iss
                   1271:  0+ issippi
                   1272: 
                   1273: /^iss/Ig+
                   1274: Capturing subpattern count = 0
                   1275: Options: anchored
                   1276: No first char
                   1277: No need char
                   1278:     ississippi
                   1279:  0: iss
                   1280:  0+ issippi
                   1281: 
                   1282: /.*iss/Ig+
                   1283: Capturing subpattern count = 0
                   1284: No options
                   1285: First char at start or follows newline
                   1286: Need char = 's'
                   1287:     abciss\nxyzisspqr
                   1288:  0: abciss
                   1289:  0+ \x0axyzisspqr
                   1290:  0: xyziss
                   1291:  0+ pqr
                   1292: 
                   1293: /.i./I+g
                   1294: Capturing subpattern count = 0
                   1295: No options
                   1296: No first char
                   1297: Need char = 'i'
                   1298:     Mississippi
                   1299:  0: Mis
                   1300:  0+ sissippi
                   1301:  0: sis
                   1302:  0+ sippi
                   1303:  0: sip
                   1304:  0+ pi
                   1305:     Mississippi\A
                   1306:  0: Mis
                   1307:  0+ sissippi
                   1308:  0: sis
                   1309:  0+ sippi
                   1310:  0: sip
                   1311:  0+ pi
                   1312:     Missouri river
                   1313:  0: Mis
                   1314:  0+ souri river
                   1315:  0: ri 
                   1316:  0+ river
                   1317:  0: riv
                   1318:  0+ er
                   1319:     Missouri river\A
                   1320:  0: Mis
                   1321:  0+ souri river
                   1322: 
                   1323: /^.is/I+g
                   1324: Capturing subpattern count = 0
                   1325: Options: anchored
                   1326: No first char
                   1327: No need char
                   1328:     Mississippi
                   1329:  0: Mis
                   1330:  0+ sissippi
                   1331: 
                   1332: /^ab\n/Ig+
                   1333: Capturing subpattern count = 0
                   1334: Contains explicit CR or LF match
                   1335: Options: anchored
                   1336: No first char
                   1337: No need char
                   1338:     ab\nab\ncd
                   1339:  0: ab\x0a
                   1340:  0+ ab\x0acd
                   1341: 
                   1342: /^ab\n/Img+
                   1343: Capturing subpattern count = 0
                   1344: Contains explicit CR or LF match
                   1345: Options: multiline
                   1346: First char at start or follows newline
1.1.1.2   misho    1347: Need char = \x0a
1.1       misho    1348:     ab\nab\ncd
                   1349:  0: ab\x0a
                   1350:  0+ ab\x0acd
                   1351:  0: ab\x0a
                   1352:  0+ cd
                   1353: 
                   1354: /abc/I
                   1355: Capturing subpattern count = 0
                   1356: No options
                   1357: First char = 'a'
                   1358: Need char = 'c'
                   1359: 
                   1360: /abc|bac/I
                   1361: Capturing subpattern count = 0
                   1362: No options
                   1363: No first char
                   1364: Need char = 'c'
                   1365: 
                   1366: /(abc|bac)/I
                   1367: Capturing subpattern count = 1
                   1368: No options
                   1369: No first char
                   1370: Need char = 'c'
                   1371: 
                   1372: /(abc|(c|dc))/I
                   1373: Capturing subpattern count = 2
                   1374: No options
                   1375: No first char
                   1376: Need char = 'c'
                   1377: 
                   1378: /(abc|(d|de)c)/I
                   1379: Capturing subpattern count = 2
                   1380: No options
                   1381: No first char
                   1382: Need char = 'c'
                   1383: 
                   1384: /a*/I
                   1385: Capturing subpattern count = 0
1.1.1.5 ! misho    1386: May match empty string
1.1       misho    1387: No options
                   1388: No first char
                   1389: No need char
                   1390: 
                   1391: /a+/I
                   1392: Capturing subpattern count = 0
                   1393: No options
                   1394: First char = 'a'
                   1395: No need char
                   1396: 
                   1397: /(baa|a+)/I
                   1398: Capturing subpattern count = 1
                   1399: No options
                   1400: No first char
                   1401: Need char = 'a'
                   1402: 
                   1403: /a{0,3}/I
                   1404: Capturing subpattern count = 0
1.1.1.5 ! misho    1405: May match empty string
1.1       misho    1406: No options
                   1407: No first char
                   1408: No need char
                   1409: 
                   1410: /baa{3,}/I
                   1411: Capturing subpattern count = 0
                   1412: No options
                   1413: First char = 'b'
                   1414: Need char = 'a'
                   1415: 
                   1416: /"([^\\"]+|\\.)*"/I
                   1417: Capturing subpattern count = 1
                   1418: No options
                   1419: First char = '"'
                   1420: Need char = '"'
                   1421: 
                   1422: /(abc|ab[cd])/I
                   1423: Capturing subpattern count = 1
                   1424: No options
                   1425: First char = 'a'
                   1426: No need char
                   1427: 
                   1428: /(a|.)/I
                   1429: Capturing subpattern count = 1
                   1430: No options
                   1431: No first char
                   1432: No need char
                   1433: 
                   1434: /a|ba|\w/I
                   1435: Capturing subpattern count = 0
                   1436: No options
                   1437: No first char
                   1438: No need char
                   1439: 
                   1440: /abc(?=pqr)/I
                   1441: Capturing subpattern count = 0
                   1442: No options
                   1443: First char = 'a'
                   1444: Need char = 'r'
                   1445: 
                   1446: /...(?<=abc)/I
                   1447: Capturing subpattern count = 0
1.1.1.4   misho    1448: Max lookbehind = 3
1.1       misho    1449: No options
                   1450: No first char
                   1451: No need char
                   1452: 
                   1453: /abc(?!pqr)/I
                   1454: Capturing subpattern count = 0
                   1455: No options
                   1456: First char = 'a'
                   1457: Need char = 'c'
                   1458: 
                   1459: /ab./I
                   1460: Capturing subpattern count = 0
                   1461: No options
                   1462: First char = 'a'
                   1463: Need char = 'b'
                   1464: 
                   1465: /ab[xyz]/I
                   1466: Capturing subpattern count = 0
                   1467: No options
                   1468: First char = 'a'
                   1469: Need char = 'b'
                   1470: 
                   1471: /abc*/I
                   1472: Capturing subpattern count = 0
                   1473: No options
                   1474: First char = 'a'
                   1475: Need char = 'b'
                   1476: 
                   1477: /ab.c*/I
                   1478: Capturing subpattern count = 0
                   1479: No options
                   1480: First char = 'a'
                   1481: Need char = 'b'
                   1482: 
                   1483: /a.c*/I
                   1484: Capturing subpattern count = 0
                   1485: No options
                   1486: First char = 'a'
                   1487: No need char
                   1488: 
                   1489: /.c*/I
                   1490: Capturing subpattern count = 0
                   1491: No options
                   1492: No first char
                   1493: No need char
                   1494: 
                   1495: /ac*/I
                   1496: Capturing subpattern count = 0
                   1497: No options
                   1498: First char = 'a'
                   1499: No need char
                   1500: 
                   1501: /(a.c*|b.c*)/I
                   1502: Capturing subpattern count = 1
                   1503: No options
                   1504: No first char
                   1505: No need char
                   1506: 
                   1507: /a.c*|aba/I
                   1508: Capturing subpattern count = 0
                   1509: No options
                   1510: First char = 'a'
                   1511: No need char
                   1512: 
                   1513: /.+a/I
                   1514: Capturing subpattern count = 0
                   1515: No options
                   1516: No first char
                   1517: Need char = 'a'
                   1518: 
                   1519: /(?=abcda)a.*/I
                   1520: Capturing subpattern count = 0
                   1521: No options
                   1522: First char = 'a'
                   1523: Need char = 'a'
                   1524: 
                   1525: /(?=a)a.*/I
                   1526: Capturing subpattern count = 0
                   1527: No options
                   1528: First char = 'a'
                   1529: No need char
                   1530: 
                   1531: /a(b)*/I
                   1532: Capturing subpattern count = 1
                   1533: No options
                   1534: First char = 'a'
                   1535: No need char
                   1536: 
                   1537: /a\d*/I
                   1538: Capturing subpattern count = 0
                   1539: No options
                   1540: First char = 'a'
                   1541: No need char
                   1542: 
                   1543: /ab\d*/I
                   1544: Capturing subpattern count = 0
                   1545: No options
                   1546: First char = 'a'
                   1547: Need char = 'b'
                   1548: 
                   1549: /a(\d)*/I
                   1550: Capturing subpattern count = 1
                   1551: No options
                   1552: First char = 'a'
                   1553: No need char
                   1554: 
                   1555: /abcde{0,0}/I
                   1556: Capturing subpattern count = 0
                   1557: No options
                   1558: First char = 'a'
                   1559: Need char = 'd'
                   1560: 
                   1561: /ab\d+/I
                   1562: Capturing subpattern count = 0
                   1563: No options
                   1564: First char = 'a'
                   1565: Need char = 'b'
                   1566: 
                   1567: /a(?(1)b)(.)/I
                   1568: Capturing subpattern count = 1
                   1569: No options
                   1570: First char = 'a'
                   1571: No need char
                   1572: 
                   1573: /a(?(1)bag|big)(.)/I
                   1574: Capturing subpattern count = 1
                   1575: No options
                   1576: First char = 'a'
                   1577: Need char = 'g'
                   1578: 
                   1579: /a(?(1)bag|big)*(.)/I
                   1580: Capturing subpattern count = 1
                   1581: No options
                   1582: First char = 'a'
                   1583: No need char
                   1584: 
                   1585: /a(?(1)bag|big)+(.)/I
                   1586: Capturing subpattern count = 1
                   1587: No options
                   1588: First char = 'a'
                   1589: Need char = 'g'
                   1590: 
                   1591: /a(?(1)b..|b..)(.)/I
                   1592: Capturing subpattern count = 1
                   1593: No options
                   1594: First char = 'a'
                   1595: Need char = 'b'
                   1596: 
                   1597: /ab\d{0}e/I
                   1598: Capturing subpattern count = 0
                   1599: No options
                   1600: First char = 'a'
                   1601: Need char = 'e'
                   1602: 
                   1603: /a?b?/I
                   1604: Capturing subpattern count = 0
1.1.1.5 ! misho    1605: May match empty string
1.1       misho    1606: No options
                   1607: No first char
                   1608: No need char
                   1609:     a
                   1610:  0: a
                   1611:     b
                   1612:  0: b
                   1613:     ab
                   1614:  0: ab
                   1615:     \
                   1616:  0: 
                   1617:     *** Failers
                   1618:  0: 
                   1619:     \N
                   1620: No match
                   1621: 
                   1622: /|-/I
                   1623: Capturing subpattern count = 0
1.1.1.5 ! misho    1624: May match empty string
1.1       misho    1625: No options
                   1626: No first char
                   1627: No need char
                   1628:     abcd
                   1629:  0: 
                   1630:     -abc
                   1631:  0: 
                   1632:     \Nab-c
                   1633:  0: -
                   1634:     *** Failers
                   1635:  0: 
                   1636:     \Nabc
                   1637: No match
                   1638: 
                   1639: /^.?abcd/IS
                   1640: Capturing subpattern count = 0
                   1641: Options: anchored
                   1642: No first char
                   1643: Need char = 'd'
                   1644: Subject length lower bound = 4
                   1645: No set of starting bytes
                   1646: 
                   1647: /\(             # ( at start
                   1648:   (?:           # Non-capturing bracket
                   1649:   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
                   1650:   |             # Or
                   1651:   (?R)          # Recurse - i.e. nested bracketed string
                   1652:   )*            # Zero or more contents
                   1653:   \)            # Closing )
                   1654:   /Ix
                   1655: Capturing subpattern count = 0
                   1656: Options: extended
                   1657: First char = '('
                   1658: Need char = ')'
                   1659:     (abcd)
                   1660:  0: (abcd)
                   1661:     (abcd)xyz
                   1662:  0: (abcd)
                   1663:     xyz(abcd)
                   1664:  0: (abcd)
                   1665:     (ab(xy)cd)pqr
                   1666:  0: (ab(xy)cd)
                   1667:     (ab(xycd)pqr
                   1668:  0: (xycd)
                   1669:     () abc ()
                   1670:  0: ()
                   1671:     12(abcde(fsh)xyz(foo(bar))lmno)89
                   1672:  0: (abcde(fsh)xyz(foo(bar))lmno)
                   1673:     *** Failers
                   1674: No match
                   1675:     abcd
                   1676: No match
                   1677:     abcd)
                   1678: No match
                   1679:     (abcd
                   1680: No match
                   1681: 
                   1682: /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
                   1683: Capturing subpattern count = 1
                   1684: Options: extended
                   1685: First char = '('
                   1686: Need char = ')'
                   1687:     (ab(xy)cd)pqr
                   1688:  0: (ab(xy)cd)
                   1689:  1: cd
                   1690:     1(abcd)(x(y)z)pqr
                   1691:  0: (abcd)
                   1692:  1: abcd
                   1693:  0: (x(y)z)
                   1694:  1: z
                   1695: 
                   1696: /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
                   1697: Capturing subpattern count = 0
                   1698: Options: extended
                   1699: First char = '('
                   1700: Need char = ')'
                   1701:     (abcd)
                   1702:  0: (abcd)
                   1703:     (ab(xy)cd)
                   1704:  0: (xy)
                   1705:     (a(b(c)d)e)
                   1706:  0: (c)
                   1707:     ((ab))
                   1708:  0: ((ab))
                   1709:     *** Failers
                   1710: No match
                   1711:     ()
                   1712: No match
                   1713: 
                   1714: /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
                   1715: Capturing subpattern count = 0
                   1716: Options: extended
                   1717: First char = '('
                   1718: Need char = ')'
                   1719:     ()
                   1720:  0: ()
                   1721:     12(abcde(fsh)xyz(foo(bar))lmno)89
                   1722:  0: (fsh)
                   1723: 
                   1724: /\(  ( (?>[^()]+) | (?R) )* \) /Ix
                   1725: Capturing subpattern count = 1
                   1726: Options: extended
                   1727: First char = '('
                   1728: Need char = ')'
                   1729:     (ab(xy)cd)
                   1730:  0: (ab(xy)cd)
                   1731:  1: cd
                   1732: 
                   1733: /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1734: Capturing subpattern count = 2
                   1735: Options: extended
                   1736: First char = '('
                   1737: Need char = ')'
                   1738:     (ab(xy)cd)
                   1739:  0: (ab(xy)cd)
                   1740:  1: ab(xy)cd
                   1741:  2: cd
                   1742: 
                   1743: /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1744: Capturing subpattern count = 3
                   1745: Options: extended
                   1746: First char = '('
                   1747: Need char = ')'
                   1748:     (ab(xy)cd)
                   1749:  0: (ab(xy)cd)
                   1750:  1: <unset>
                   1751:  2: ab(xy)cd
                   1752:  3: cd
                   1753:     (123ab(xy)cd)
                   1754:  0: (123ab(xy)cd)
                   1755:  1: 123
                   1756:  2: ab(xy)cd
                   1757:  3: cd
                   1758: 
                   1759: /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1760: Capturing subpattern count = 3
                   1761: Options: extended
                   1762: First char = '('
                   1763: Need char = ')'
                   1764:     (ab(xy)cd)
                   1765:  0: (ab(xy)cd)
                   1766:  1: ab(xy)cd
                   1767:  2: <unset>
                   1768:  3: cd
                   1769:     (123ab(xy)cd)
                   1770:  0: (123ab(xy)cd)
                   1771:  1: 123ab(xy)cd
                   1772:  2: 123
                   1773:  3: cd
                   1774: 
                   1775: /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
                   1776: Capturing subpattern count = 11
                   1777: Options: extended
                   1778: First char = '('
                   1779: Need char = ')'
                   1780:     (ab(xy)cd)
                   1781:  0: (ab(xy)cd)
                   1782:  1: ab(xy)cd
                   1783:  2: ab(xy)cd
                   1784:  3: ab(xy)cd
                   1785:  4: ab(xy)cd
                   1786:  5: ab(xy)cd
                   1787:  6: ab(xy)cd
                   1788:  7: ab(xy)cd
                   1789:  8: ab(xy)cd
                   1790:  9: ab(xy)cd
                   1791: 10: ab(xy)cd
                   1792: 11: cd
                   1793: 
                   1794: /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
                   1795: Capturing subpattern count = 3
                   1796: Options: extended
                   1797: First char = '('
                   1798: Need char = ')'
                   1799:     (abcd(xyz<p>qrs)123)
                   1800:  0: (abcd(xyz<p>qrs)123)
                   1801:  1: abcd(xyz<p>qrs)123
                   1802:  2: 123
                   1803: 
                   1804: /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
                   1805: Capturing subpattern count = 3
                   1806: Options: extended
                   1807: First char = '('
                   1808: Need char = ')'
                   1809:     (ab(cd)ef)
                   1810:  0: (ab(cd)ef)
                   1811:  1: ab(cd)ef
                   1812:  2: ef
                   1813:  3: (cd)
                   1814:     (ab(cd(ef)gh)ij)
                   1815:  0: (ab(cd(ef)gh)ij)
                   1816:  1: ab(cd(ef)gh)ij
                   1817:  2: ij
                   1818:  3: (cd(ef)gh)
                   1819: 
                   1820: /^[[:alnum:]]/DZ
                   1821: ------------------------------------------------------------------
                   1822:         Bra
                   1823:         ^
                   1824:         [0-9A-Za-z]
                   1825:         Ket
                   1826:         End
                   1827: ------------------------------------------------------------------
                   1828: Capturing subpattern count = 0
                   1829: Options: anchored
                   1830: No first char
                   1831: No need char
                   1832: 
                   1833: /^[[:^alnum:]]/DZ
                   1834: ------------------------------------------------------------------
                   1835:         Bra
                   1836:         ^
                   1837:         [\x00-/:-@[-`{-\xff] (neg)
                   1838:         Ket
                   1839:         End
                   1840: ------------------------------------------------------------------
                   1841: Capturing subpattern count = 0
                   1842: Options: anchored
                   1843: No first char
                   1844: No need char
                   1845: 
                   1846: /^[[:alpha:]]/DZ
                   1847: ------------------------------------------------------------------
                   1848:         Bra
                   1849:         ^
                   1850:         [A-Za-z]
                   1851:         Ket
                   1852:         End
                   1853: ------------------------------------------------------------------
                   1854: Capturing subpattern count = 0
                   1855: Options: anchored
                   1856: No first char
                   1857: No need char
                   1858: 
                   1859: /^[[:^alpha:]]/DZ
                   1860: ------------------------------------------------------------------
                   1861:         Bra
                   1862:         ^
                   1863:         [\x00-@[-`{-\xff] (neg)
                   1864:         Ket
                   1865:         End
                   1866: ------------------------------------------------------------------
                   1867: Capturing subpattern count = 0
                   1868: Options: anchored
                   1869: No first char
                   1870: No need char
                   1871: 
                   1872: /[_[:alpha:]]/IS
                   1873: Capturing subpattern count = 0
                   1874: No options
                   1875: No first char
                   1876: No need char
                   1877: Subject length lower bound = 1
                   1878: 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 
                   1879:   _ 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 
                   1880: 
                   1881: /^[[:ascii:]]/DZ
                   1882: ------------------------------------------------------------------
                   1883:         Bra
                   1884:         ^
                   1885:         [\x00-\x7f]
                   1886:         Ket
                   1887:         End
                   1888: ------------------------------------------------------------------
                   1889: Capturing subpattern count = 0
                   1890: Options: anchored
                   1891: No first char
                   1892: No need char
                   1893: 
                   1894: /^[[:^ascii:]]/DZ
                   1895: ------------------------------------------------------------------
                   1896:         Bra
                   1897:         ^
                   1898:         [\x80-\xff] (neg)
                   1899:         Ket
                   1900:         End
                   1901: ------------------------------------------------------------------
                   1902: Capturing subpattern count = 0
                   1903: Options: anchored
                   1904: No first char
                   1905: No need char
                   1906: 
                   1907: /^[[:blank:]]/DZ
                   1908: ------------------------------------------------------------------
                   1909:         Bra
                   1910:         ^
                   1911:         [\x09 ]
                   1912:         Ket
                   1913:         End
                   1914: ------------------------------------------------------------------
                   1915: Capturing subpattern count = 0
                   1916: Options: anchored
                   1917: No first char
                   1918: No need char
                   1919: 
                   1920: /^[[:^blank:]]/DZ
                   1921: ------------------------------------------------------------------
                   1922:         Bra
                   1923:         ^
                   1924:         [\x00-\x08\x0a-\x1f!-\xff] (neg)
                   1925:         Ket
                   1926:         End
                   1927: ------------------------------------------------------------------
                   1928: Capturing subpattern count = 0
                   1929: Options: anchored
                   1930: No first char
                   1931: No need char
                   1932: 
                   1933: /[\n\x0b\x0c\x0d[:blank:]]/IS
                   1934: Capturing subpattern count = 0
                   1935: Contains explicit CR or LF match
                   1936: No options
                   1937: No first char
                   1938: No need char
                   1939: Subject length lower bound = 1
                   1940: Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 
                   1941: 
                   1942: /^[[:cntrl:]]/DZ
                   1943: ------------------------------------------------------------------
                   1944:         Bra
                   1945:         ^
                   1946:         [\x00-\x1f\x7f]
                   1947:         Ket
                   1948:         End
                   1949: ------------------------------------------------------------------
                   1950: Capturing subpattern count = 0
                   1951: Options: anchored
                   1952: No first char
                   1953: No need char
                   1954: 
                   1955: /^[[:digit:]]/DZ
                   1956: ------------------------------------------------------------------
                   1957:         Bra
                   1958:         ^
                   1959:         [0-9]
                   1960:         Ket
                   1961:         End
                   1962: ------------------------------------------------------------------
                   1963: Capturing subpattern count = 0
                   1964: Options: anchored
                   1965: No first char
                   1966: No need char
                   1967: 
                   1968: /^[[:graph:]]/DZ
                   1969: ------------------------------------------------------------------
                   1970:         Bra
                   1971:         ^
                   1972:         [!-~]
                   1973:         Ket
                   1974:         End
                   1975: ------------------------------------------------------------------
                   1976: Capturing subpattern count = 0
                   1977: Options: anchored
                   1978: No first char
                   1979: No need char
                   1980: 
                   1981: /^[[:lower:]]/DZ
                   1982: ------------------------------------------------------------------
                   1983:         Bra
                   1984:         ^
                   1985:         [a-z]
                   1986:         Ket
                   1987:         End
                   1988: ------------------------------------------------------------------
                   1989: Capturing subpattern count = 0
                   1990: Options: anchored
                   1991: No first char
                   1992: No need char
                   1993: 
                   1994: /^[[:print:]]/DZ
                   1995: ------------------------------------------------------------------
                   1996:         Bra
                   1997:         ^
                   1998:         [ -~]
                   1999:         Ket
                   2000:         End
                   2001: ------------------------------------------------------------------
                   2002: Capturing subpattern count = 0
                   2003: Options: anchored
                   2004: No first char
                   2005: No need char
                   2006: 
                   2007: /^[[:punct:]]/DZ
                   2008: ------------------------------------------------------------------
                   2009:         Bra
                   2010:         ^
                   2011:         [!-/:-@[-`{-~]
                   2012:         Ket
                   2013:         End
                   2014: ------------------------------------------------------------------
                   2015: Capturing subpattern count = 0
                   2016: Options: anchored
                   2017: No first char
                   2018: No need char
                   2019: 
                   2020: /^[[:space:]]/DZ
                   2021: ------------------------------------------------------------------
                   2022:         Bra
                   2023:         ^
                   2024:         [\x09-\x0d ]
                   2025:         Ket
                   2026:         End
                   2027: ------------------------------------------------------------------
                   2028: Capturing subpattern count = 0
                   2029: Options: anchored
                   2030: No first char
                   2031: No need char
                   2032: 
                   2033: /^[[:upper:]]/DZ
                   2034: ------------------------------------------------------------------
                   2035:         Bra
                   2036:         ^
                   2037:         [A-Z]
                   2038:         Ket
                   2039:         End
                   2040: ------------------------------------------------------------------
                   2041: Capturing subpattern count = 0
                   2042: Options: anchored
                   2043: No first char
                   2044: No need char
                   2045: 
                   2046: /^[[:xdigit:]]/DZ
                   2047: ------------------------------------------------------------------
                   2048:         Bra
                   2049:         ^
                   2050:         [0-9A-Fa-f]
                   2051:         Ket
                   2052:         End
                   2053: ------------------------------------------------------------------
                   2054: Capturing subpattern count = 0
                   2055: Options: anchored
                   2056: No first char
                   2057: No need char
                   2058: 
                   2059: /^[[:word:]]/DZ
                   2060: ------------------------------------------------------------------
                   2061:         Bra
                   2062:         ^
                   2063:         [0-9A-Z_a-z]
                   2064:         Ket
                   2065:         End
                   2066: ------------------------------------------------------------------
                   2067: Capturing subpattern count = 0
                   2068: Options: anchored
                   2069: No first char
                   2070: No need char
                   2071: 
                   2072: /^[[:^cntrl:]]/DZ
                   2073: ------------------------------------------------------------------
                   2074:         Bra
                   2075:         ^
                   2076:         [ -~\x80-\xff] (neg)
                   2077:         Ket
                   2078:         End
                   2079: ------------------------------------------------------------------
                   2080: Capturing subpattern count = 0
                   2081: Options: anchored
                   2082: No first char
                   2083: No need char
                   2084: 
                   2085: /^[12[:^digit:]]/DZ
                   2086: ------------------------------------------------------------------
                   2087:         Bra
                   2088:         ^
                   2089:         [\x00-/12:-\xff] (neg)
                   2090:         Ket
                   2091:         End
                   2092: ------------------------------------------------------------------
                   2093: Capturing subpattern count = 0
                   2094: Options: anchored
                   2095: No first char
                   2096: No need char
                   2097: 
                   2098: /^[[:^blank:]]/DZ
                   2099: ------------------------------------------------------------------
                   2100:         Bra
                   2101:         ^
                   2102:         [\x00-\x08\x0a-\x1f!-\xff] (neg)
                   2103:         Ket
                   2104:         End
                   2105: ------------------------------------------------------------------
                   2106: Capturing subpattern count = 0
                   2107: Options: anchored
                   2108: No first char
                   2109: No need char
                   2110: 
                   2111: /[01[:alpha:]%]/DZ
                   2112: ------------------------------------------------------------------
                   2113:         Bra
                   2114:         [%01A-Za-z]
                   2115:         Ket
                   2116:         End
                   2117: ------------------------------------------------------------------
                   2118: Capturing subpattern count = 0
                   2119: No options
                   2120: No first char
                   2121: No need char
                   2122: 
                   2123: /[[.ch.]]/I
                   2124: Failed: POSIX collating elements are not supported at offset 1
                   2125: 
                   2126: /[[=ch=]]/I
                   2127: Failed: POSIX collating elements are not supported at offset 1
                   2128: 
                   2129: /[[:rhubarb:]]/I
                   2130: Failed: unknown POSIX class name at offset 3
                   2131: 
                   2132: /[[:upper:]]/Ii
                   2133: Capturing subpattern count = 0
                   2134: Options: caseless
                   2135: No first char
                   2136: No need char
                   2137:     A
                   2138:  0: A
                   2139:     a
                   2140:  0: a
                   2141: 
                   2142: /[[:lower:]]/Ii
                   2143: Capturing subpattern count = 0
                   2144: Options: caseless
                   2145: No first char
                   2146: No need char
                   2147:     A
                   2148:  0: A
                   2149:     a
                   2150:  0: a
                   2151: 
                   2152: /((?-i)[[:lower:]])[[:lower:]]/Ii
                   2153: Capturing subpattern count = 1
                   2154: Options: caseless
                   2155: No first char
                   2156: No need char
                   2157:     ab
                   2158:  0: ab
                   2159:  1: a
                   2160:     aB
                   2161:  0: aB
                   2162:  1: a
                   2163:     *** Failers
                   2164:  0: ai
                   2165:  1: a
                   2166:     Ab
                   2167: No match
                   2168:     AB
                   2169: No match
                   2170: 
                   2171: /[\200-\110]/I
                   2172: Failed: range out of order in character class at offset 9
                   2173: 
                   2174: /^(?(0)f|b)oo/I
                   2175: Failed: invalid condition (?(0) at offset 6
                   2176: 
                   2177: /This one's here because of the large output vector needed/I
                   2178: Capturing subpattern count = 0
                   2179: No options
                   2180: First char = 'T'
                   2181: Need char = 'd'
                   2182: 
                   2183: /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
                   2184: Capturing subpattern count = 271
                   2185: Max back reference = 270
                   2186: No options
                   2187: No first char
                   2188: No need char
                   2189:     \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
                   2190:  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
                   2191:  1: 1 
                   2192:  2: 2 
                   2193:  3: 3 
                   2194:  4: 4 
                   2195:  5: 5 
                   2196:  6: 6 
                   2197:  7: 7 
                   2198:  8: 8 
                   2199:  9: 9 
                   2200: 10: 10 
                   2201: 11: 11 
                   2202: 12: 12 
                   2203: 13: 13 
                   2204: 14: 14 
                   2205: 15: 15 
                   2206: 16: 16 
                   2207: 17: 17 
                   2208: 18: 18 
                   2209: 19: 19 
                   2210: 20: 20 
                   2211: 21: 21 
                   2212: 22: 22 
                   2213: 23: 23 
                   2214: 24: 24 
                   2215: 25: 25 
                   2216: 26: 26 
                   2217: 27: 27 
                   2218: 28: 28 
                   2219: 29: 29 
                   2220: 30: 30 
                   2221: 31: 31 
                   2222: 32: 32 
                   2223: 33: 33 
                   2224: 34: 34 
                   2225: 35: 35 
                   2226: 36: 36 
                   2227: 37: 37 
                   2228: 38: 38 
                   2229: 39: 39 
                   2230: 40: 40 
                   2231: 41: 41 
                   2232: 42: 42 
                   2233: 43: 43 
                   2234: 44: 44 
                   2235: 45: 45 
                   2236: 46: 46 
                   2237: 47: 47 
                   2238: 48: 48 
                   2239: 49: 49 
                   2240: 50: 50 
                   2241: 51: 51 
                   2242: 52: 52 
                   2243: 53: 53 
                   2244: 54: 54 
                   2245: 55: 55 
                   2246: 56: 56 
                   2247: 57: 57 
                   2248: 58: 58 
                   2249: 59: 59 
                   2250: 60: 60 
                   2251: 61: 61 
                   2252: 62: 62 
                   2253: 63: 63 
                   2254: 64: 64 
                   2255: 65: 65 
                   2256: 66: 66 
                   2257: 67: 67 
                   2258: 68: 68 
                   2259: 69: 69 
                   2260: 70: 70 
                   2261: 71: 71 
                   2262: 72: 72 
                   2263: 73: 73 
                   2264: 74: 74 
                   2265: 75: 75 
                   2266: 76: 76 
                   2267: 77: 77 
                   2268: 78: 78 
                   2269: 79: 79 
                   2270: 80: 80 
                   2271: 81: 81 
                   2272: 82: 82 
                   2273: 83: 83 
                   2274: 84: 84 
                   2275: 85: 85 
                   2276: 86: 86 
                   2277: 87: 87 
                   2278: 88: 88 
                   2279: 89: 89 
                   2280: 90: 90 
                   2281: 91: 91 
                   2282: 92: 92 
                   2283: 93: 93 
                   2284: 94: 94 
                   2285: 95: 95 
                   2286: 96: 96 
                   2287: 97: 97 
                   2288: 98: 98 
                   2289: 99: 99 
                   2290: 100: 100 
                   2291: 101: 101 
                   2292: 102: 102 
                   2293: 103: 103 
                   2294: 104: 104 
                   2295: 105: 105 
                   2296: 106: 106 
                   2297: 107: 107 
                   2298: 108: 108 
                   2299: 109: 109 
                   2300: 110: 110 
                   2301: 111: 111 
                   2302: 112: 112 
                   2303: 113: 113 
                   2304: 114: 114 
                   2305: 115: 115 
                   2306: 116: 116 
                   2307: 117: 117 
                   2308: 118: 118 
                   2309: 119: 119 
                   2310: 120: 120 
                   2311: 121: 121 
                   2312: 122: 122 
                   2313: 123: 123 
                   2314: 124: 124 
                   2315: 125: 125 
                   2316: 126: 126 
                   2317: 127: 127 
                   2318: 128: 128 
                   2319: 129: 129 
                   2320: 130: 130 
                   2321: 131: 131 
                   2322: 132: 132 
                   2323: 133: 133 
                   2324: 134: 134 
                   2325: 135: 135 
                   2326: 136: 136 
                   2327: 137: 137 
                   2328: 138: 138 
                   2329: 139: 139 
                   2330: 140: 140 
                   2331: 141: 141 
                   2332: 142: 142 
                   2333: 143: 143 
                   2334: 144: 144 
                   2335: 145: 145 
                   2336: 146: 146 
                   2337: 147: 147 
                   2338: 148: 148 
                   2339: 149: 149 
                   2340: 150: 150 
                   2341: 151: 151 
                   2342: 152: 152 
                   2343: 153: 153 
                   2344: 154: 154 
                   2345: 155: 155 
                   2346: 156: 156 
                   2347: 157: 157 
                   2348: 158: 158 
                   2349: 159: 159 
                   2350: 160: 160 
                   2351: 161: 161 
                   2352: 162: 162 
                   2353: 163: 163 
                   2354: 164: 164 
                   2355: 165: 165 
                   2356: 166: 166 
                   2357: 167: 167 
                   2358: 168: 168 
                   2359: 169: 169 
                   2360: 170: 170 
                   2361: 171: 171 
                   2362: 172: 172 
                   2363: 173: 173 
                   2364: 174: 174 
                   2365: 175: 175 
                   2366: 176: 176 
                   2367: 177: 177 
                   2368: 178: 178 
                   2369: 179: 179 
                   2370: 180: 180 
                   2371: 181: 181 
                   2372: 182: 182 
                   2373: 183: 183 
                   2374: 184: 184 
                   2375: 185: 185 
                   2376: 186: 186 
                   2377: 187: 187 
                   2378: 188: 188 
                   2379: 189: 189 
                   2380: 190: 190 
                   2381: 191: 191 
                   2382: 192: 192 
                   2383: 193: 193 
                   2384: 194: 194 
                   2385: 195: 195 
                   2386: 196: 196 
                   2387: 197: 197 
                   2388: 198: 198 
                   2389: 199: 199 
                   2390: 200: 200 
                   2391: 201: 201 
                   2392: 202: 202 
                   2393: 203: 203 
                   2394: 204: 204 
                   2395: 205: 205 
                   2396: 206: 206 
                   2397: 207: 207 
                   2398: 208: 208 
                   2399: 209: 209 
                   2400: 210: 210 
                   2401: 211: 211 
                   2402: 212: 212 
                   2403: 213: 213 
                   2404: 214: 214 
                   2405: 215: 215 
                   2406: 216: 216 
                   2407: 217: 217 
                   2408: 218: 218 
                   2409: 219: 219 
                   2410: 220: 220 
                   2411: 221: 221 
                   2412: 222: 222 
                   2413: 223: 223 
                   2414: 224: 224 
                   2415: 225: 225 
                   2416: 226: 226 
                   2417: 227: 227 
                   2418: 228: 228 
                   2419: 229: 229 
                   2420: 230: 230 
                   2421: 231: 231 
                   2422: 232: 232 
                   2423: 233: 233 
                   2424: 234: 234 
                   2425: 235: 235 
                   2426: 236: 236 
                   2427: 237: 237 
                   2428: 238: 238 
                   2429: 239: 239 
                   2430: 240: 240 
                   2431: 241: 241 
                   2432: 242: 242 
                   2433: 243: 243 
                   2434: 244: 244 
                   2435: 245: 245 
                   2436: 246: 246 
                   2437: 247: 247 
                   2438: 248: 248 
                   2439: 249: 249 
                   2440: 250: 250 
                   2441: 251: 251 
                   2442: 252: 252 
                   2443: 253: 253 
                   2444: 254: 254 
                   2445: 255: 255 
                   2446: 256: 256 
                   2447: 257: 257 
                   2448: 258: 258 
                   2449: 259: 259 
                   2450: 260: 260 
                   2451: 261: 261 
                   2452: 262: 262 
                   2453: 263: 263 
                   2454: 264: 264 
                   2455: 265: 265 
                   2456: 266: 266 
                   2457: 267: 267 
                   2458: 268: 268 
                   2459: 269: 269 
                   2460: 270: ABC
                   2461: 271: ABC
                   2462: 
                   2463: /This one's here because Perl does this differently and PCRE can't at present/I
                   2464: Capturing subpattern count = 0
                   2465: No options
                   2466: First char = 'T'
                   2467: Need char = 't'
                   2468: 
                   2469: /(main(O)?)+/I
                   2470: Capturing subpattern count = 2
                   2471: No options
                   2472: First char = 'm'
                   2473: Need char = 'n'
                   2474:     mainmain
                   2475:  0: mainmain
                   2476:  1: main
                   2477:     mainOmain
                   2478:  0: mainOmain
                   2479:  1: main
                   2480:  2: O
                   2481: 
                   2482: /These are all cases where Perl does it differently (nested captures)/I
                   2483: Capturing subpattern count = 1
                   2484: No options
                   2485: First char = 'T'
                   2486: Need char = 's'
                   2487: 
                   2488: /^(a(b)?)+$/I
                   2489: Capturing subpattern count = 2
                   2490: Options: anchored
                   2491: No first char
                   2492: No need char
                   2493:     aba
                   2494:  0: aba
                   2495:  1: a
                   2496:  2: b
                   2497: 
                   2498: /^(aa(bb)?)+$/I
                   2499: Capturing subpattern count = 2
                   2500: Options: anchored
                   2501: No first char
                   2502: No need char
                   2503:     aabbaa
                   2504:  0: aabbaa
                   2505:  1: aa
                   2506:  2: bb
                   2507: 
                   2508: /^(aa|aa(bb))+$/I
                   2509: Capturing subpattern count = 2
                   2510: Options: anchored
                   2511: No first char
                   2512: No need char
                   2513:     aabbaa
                   2514:  0: aabbaa
                   2515:  1: aa
                   2516:  2: bb
                   2517: 
                   2518: /^(aa(bb)??)+$/I
                   2519: Capturing subpattern count = 2
                   2520: Options: anchored
                   2521: No first char
                   2522: No need char
                   2523:     aabbaa
                   2524:  0: aabbaa
                   2525:  1: aa
                   2526:  2: bb
                   2527: 
                   2528: /^(?:aa(bb)?)+$/I
                   2529: Capturing subpattern count = 1
                   2530: Options: anchored
                   2531: No first char
                   2532: No need char
                   2533:     aabbaa
                   2534:  0: aabbaa
                   2535:  1: bb
                   2536: 
                   2537: /^(aa(b(b))?)+$/I
                   2538: Capturing subpattern count = 3
                   2539: Options: anchored
                   2540: No first char
                   2541: No need char
                   2542:     aabbaa
                   2543:  0: aabbaa
                   2544:  1: aa
                   2545:  2: bb
                   2546:  3: b
                   2547: 
                   2548: /^(?:aa(b(b))?)+$/I
                   2549: Capturing subpattern count = 2
                   2550: Options: anchored
                   2551: No first char
                   2552: No need char
                   2553:     aabbaa
                   2554:  0: aabbaa
                   2555:  1: bb
                   2556:  2: b
                   2557: 
                   2558: /^(?:aa(b(?:b))?)+$/I
                   2559: Capturing subpattern count = 1
                   2560: Options: anchored
                   2561: No first char
                   2562: No need char
                   2563:     aabbaa
                   2564:  0: aabbaa
                   2565:  1: bb
                   2566: 
                   2567: /^(?:aa(bb(?:b))?)+$/I
                   2568: Capturing subpattern count = 1
                   2569: Options: anchored
                   2570: No first char
                   2571: No need char
                   2572:     aabbbaa
                   2573:  0: aabbbaa
                   2574:  1: bbb
                   2575: 
                   2576: /^(?:aa(b(?:bb))?)+$/I
                   2577: Capturing subpattern count = 1
                   2578: Options: anchored
                   2579: No first char
                   2580: No need char
                   2581:     aabbbaa
                   2582:  0: aabbbaa
                   2583:  1: bbb
                   2584: 
                   2585: /^(?:aa(?:b(b))?)+$/I
                   2586: Capturing subpattern count = 1
                   2587: Options: anchored
                   2588: No first char
                   2589: No need char
                   2590:     aabbaa
                   2591:  0: aabbaa
                   2592:  1: b
                   2593: 
                   2594: /^(?:aa(?:b(bb))?)+$/I
                   2595: Capturing subpattern count = 1
                   2596: Options: anchored
                   2597: No first char
                   2598: No need char
                   2599:     aabbbaa
                   2600:  0: aabbbaa
                   2601:  1: bb
                   2602: 
                   2603: /^(aa(b(bb))?)+$/I
                   2604: Capturing subpattern count = 3
                   2605: Options: anchored
                   2606: No first char
                   2607: No need char
                   2608:     aabbbaa
                   2609:  0: aabbbaa
                   2610:  1: aa
                   2611:  2: bbb
                   2612:  3: bb
                   2613: 
                   2614: /^(aa(bb(bb))?)+$/I
                   2615: Capturing subpattern count = 3
                   2616: Options: anchored
                   2617: No first char
                   2618: No need char
                   2619:     aabbbbaa
                   2620:  0: aabbbbaa
                   2621:  1: aa
                   2622:  2: bbbb
                   2623:  3: bb
                   2624: 
                   2625: /--------------------------------------------------------------------/I
                   2626: Capturing subpattern count = 0
                   2627: No options
                   2628: First char = '-'
                   2629: Need char = '-'
                   2630: 
                   2631: /#/IxDZ
                   2632: ------------------------------------------------------------------
                   2633:         Bra
                   2634:         Ket
                   2635:         End
                   2636: ------------------------------------------------------------------
                   2637: Capturing subpattern count = 0
1.1.1.5 ! misho    2638: May match empty string
1.1       misho    2639: Options: extended
                   2640: No first char
                   2641: No need char
                   2642: 
                   2643: /a#/IxDZ
                   2644: ------------------------------------------------------------------
                   2645:         Bra
                   2646:         a
                   2647:         Ket
                   2648:         End
                   2649: ------------------------------------------------------------------
                   2650: Capturing subpattern count = 0
                   2651: Options: extended
                   2652: First char = 'a'
                   2653: No need char
                   2654: 
                   2655: /[\s]/DZ
                   2656: ------------------------------------------------------------------
                   2657:         Bra
1.1.1.5 ! misho    2658:         [\x09-\x0d ]
1.1       misho    2659:         Ket
                   2660:         End
                   2661: ------------------------------------------------------------------
                   2662: Capturing subpattern count = 0
                   2663: No options
                   2664: No first char
                   2665: No need char
                   2666: 
                   2667: /[\S]/DZ
                   2668: ------------------------------------------------------------------
                   2669:         Bra
1.1.1.5 ! misho    2670:         [\x00-\x08\x0e-\x1f!-\xff] (neg)
1.1       misho    2671:         Ket
                   2672:         End
                   2673: ------------------------------------------------------------------
                   2674: Capturing subpattern count = 0
                   2675: No options
                   2676: No first char
                   2677: No need char
                   2678: 
                   2679: /a(?i)b/DZ
                   2680: ------------------------------------------------------------------
                   2681:         Bra
                   2682:         a
                   2683:      /i b
                   2684:         Ket
                   2685:         End
                   2686: ------------------------------------------------------------------
                   2687: Capturing subpattern count = 0
                   2688: No options
                   2689: First char = 'a'
                   2690: Need char = 'b' (caseless)
                   2691:     ab
                   2692:  0: ab
                   2693:     aB
                   2694:  0: aB
                   2695:     *** Failers
                   2696: No match
                   2697:     AB
                   2698: No match
                   2699: 
                   2700: /(a(?i)b)/DZ
                   2701: ------------------------------------------------------------------
                   2702:         Bra
                   2703:         CBra 1
                   2704:         a
                   2705:      /i b
                   2706:         Ket
                   2707:         Ket
                   2708:         End
                   2709: ------------------------------------------------------------------
                   2710: Capturing subpattern count = 1
                   2711: No options
                   2712: First char = 'a'
                   2713: Need char = 'b' (caseless)
                   2714:     ab
                   2715:  0: ab
                   2716:  1: ab
                   2717:     aB
                   2718:  0: aB
                   2719:  1: aB
                   2720:     *** Failers
                   2721: No match
                   2722:     AB
                   2723: No match
                   2724: 
                   2725: /   (?i)abc/IxDZ
                   2726: ------------------------------------------------------------------
                   2727:         Bra
                   2728:      /i abc
                   2729:         Ket
                   2730:         End
                   2731: ------------------------------------------------------------------
                   2732: Capturing subpattern count = 0
                   2733: Options: caseless extended
                   2734: First char = 'a' (caseless)
                   2735: Need char = 'c' (caseless)
                   2736: 
                   2737: /#this is a comment
                   2738:   (?i)abc/IxDZ
                   2739: ------------------------------------------------------------------
                   2740:         Bra
                   2741:      /i abc
                   2742:         Ket
                   2743:         End
                   2744: ------------------------------------------------------------------
                   2745: Capturing subpattern count = 0
                   2746: Options: caseless extended
                   2747: First char = 'a' (caseless)
                   2748: Need char = 'c' (caseless)
                   2749: 
                   2750: /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/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: /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
                   2763: ------------------------------------------------------------------
                   2764:         Bra
                   2765:         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
                   2766:         Ket
                   2767:         End
                   2768: ------------------------------------------------------------------
                   2769: Capturing subpattern count = 0
                   2770: No options
                   2771: First char = '1'
                   2772: Need char = '0'
                   2773: 
                   2774: /\Q\E/DZ
                   2775: ------------------------------------------------------------------
                   2776:         Bra
                   2777:         Ket
                   2778:         End
                   2779: ------------------------------------------------------------------
                   2780: Capturing subpattern count = 0
1.1.1.5 ! misho    2781: May match empty string
1.1       misho    2782: No options
                   2783: No first char
                   2784: No need char
                   2785:     \
                   2786:  0: 
                   2787: 
                   2788: /\Q\Ex/DZ
                   2789: ------------------------------------------------------------------
                   2790:         Bra
                   2791:         x
                   2792:         Ket
                   2793:         End
                   2794: ------------------------------------------------------------------
                   2795: Capturing subpattern count = 0
                   2796: No options
                   2797: First char = 'x'
                   2798: No need char
                   2799: 
                   2800: / \Q\E/DZ
                   2801: ------------------------------------------------------------------
                   2802:         Bra
                   2803:          
                   2804:         Ket
                   2805:         End
                   2806: ------------------------------------------------------------------
                   2807: Capturing subpattern count = 0
                   2808: No options
                   2809: First char = ' '
                   2810: No need char
                   2811: 
                   2812: /a\Q\E/DZ
                   2813: ------------------------------------------------------------------
                   2814:         Bra
                   2815:         a
                   2816:         Ket
                   2817:         End
                   2818: ------------------------------------------------------------------
                   2819: Capturing subpattern count = 0
                   2820: No options
                   2821: First char = 'a'
                   2822: No need char
                   2823:   abc
                   2824:  0: a
                   2825:   bca
                   2826:  0: a
                   2827:   bac
                   2828:  0: a
                   2829: 
                   2830: /a\Q\Eb/DZ
                   2831: ------------------------------------------------------------------
                   2832:         Bra
                   2833:         ab
                   2834:         Ket
                   2835:         End
                   2836: ------------------------------------------------------------------
                   2837: Capturing subpattern count = 0
                   2838: No options
                   2839: First char = 'a'
                   2840: Need char = 'b'
                   2841:   abc
                   2842:  0: ab
                   2843: 
                   2844: /\Q\Eabc/DZ
                   2845: ------------------------------------------------------------------
                   2846:         Bra
                   2847:         abc
                   2848:         Ket
                   2849:         End
                   2850: ------------------------------------------------------------------
                   2851: Capturing subpattern count = 0
                   2852: No options
                   2853: First char = 'a'
                   2854: Need char = 'c'
                   2855: 
                   2856: /x*+\w/DZ
                   2857: ------------------------------------------------------------------
                   2858:         Bra
                   2859:         x*+
                   2860:         \w
                   2861:         Ket
                   2862:         End
                   2863: ------------------------------------------------------------------
                   2864: Capturing subpattern count = 0
                   2865: No options
                   2866: No first char
                   2867: No need char
                   2868:     *** Failers
                   2869:  0: F
                   2870:     xxxxx
                   2871: No match
                   2872: 
                   2873: /x?+/DZ
                   2874: ------------------------------------------------------------------
                   2875:         Bra
                   2876:         x?+
                   2877:         Ket
                   2878:         End
                   2879: ------------------------------------------------------------------
                   2880: Capturing subpattern count = 0
1.1.1.5 ! misho    2881: May match empty string
1.1       misho    2882: No options
                   2883: No first char
                   2884: No need char
                   2885: 
                   2886: /x++/DZ
                   2887: ------------------------------------------------------------------
                   2888:         Bra
                   2889:         x++
                   2890:         Ket
                   2891:         End
                   2892: ------------------------------------------------------------------
                   2893: Capturing subpattern count = 0
                   2894: No options
                   2895: First char = 'x'
                   2896: No need char
                   2897: 
1.1.1.5 ! misho    2898: /x{1,3}+/BZO
1.1       misho    2899: ------------------------------------------------------------------
                   2900:         Bra
                   2901:         x
1.1.1.5 ! misho    2902:         x{0,2}+
1.1       misho    2903:         Ket
1.1.1.5 ! misho    2904:         End
        !          2905: ------------------------------------------------------------------
        !          2906: 
        !          2907: /x{1,3}+/BZOi
        !          2908: ------------------------------------------------------------------
        !          2909:         Bra
        !          2910:      /i x
        !          2911:      /i x{0,2}+
        !          2912:         Ket
        !          2913:         End
        !          2914: ------------------------------------------------------------------
        !          2915: 
        !          2916: /[^x]{1,3}+/BZO
        !          2917: ------------------------------------------------------------------
        !          2918:         Bra
        !          2919:         [^x]
        !          2920:         [^x]{0,2}+
        !          2921:         Ket
        !          2922:         End
        !          2923: ------------------------------------------------------------------
        !          2924: 
        !          2925: /[^x]{1,3}+/BZOi
        !          2926: ------------------------------------------------------------------
        !          2927:         Bra
        !          2928:      /i [^x]
        !          2929:      /i [^x]{0,2}+
1.1       misho    2930:         Ket
                   2931:         End
                   2932: ------------------------------------------------------------------
                   2933: 
                   2934: /(x)*+/DZ
                   2935: ------------------------------------------------------------------
                   2936:         Bra
                   2937:         Braposzero
                   2938:         CBraPos 1
                   2939:         x
                   2940:         KetRpos
                   2941:         Ket
                   2942:         End
                   2943: ------------------------------------------------------------------
                   2944: Capturing subpattern count = 1
1.1.1.5 ! misho    2945: May match empty string
1.1       misho    2946: No options
                   2947: No first char
                   2948: No need char
                   2949: 
                   2950: /^(\w++|\s++)*$/I
                   2951: Capturing subpattern count = 1
1.1.1.5 ! misho    2952: May match empty string
1.1       misho    2953: Options: anchored
                   2954: No first char
                   2955: No need char
                   2956:     now is the time for all good men to come to the aid of the party
                   2957:  0: now is the time for all good men to come to the aid of the party
                   2958:  1: party
                   2959:     *** Failers
                   2960: No match
                   2961:     this is not a line with only words and spaces!
                   2962: No match
                   2963: 
                   2964: /(\d++)(\w)/I
                   2965: Capturing subpattern count = 2
                   2966: No options
                   2967: No first char
                   2968: No need char
                   2969:     12345a
                   2970:  0: 12345a
                   2971:  1: 12345
                   2972:  2: a
                   2973:     *** Failers
                   2974: No match
                   2975:     12345+
                   2976: No match
                   2977: 
                   2978: /a++b/I
                   2979: Capturing subpattern count = 0
                   2980: No options
                   2981: First char = 'a'
                   2982: Need char = 'b'
                   2983:     aaab
                   2984:  0: aaab
                   2985: 
                   2986: /(a++b)/I
                   2987: Capturing subpattern count = 1
                   2988: No options
                   2989: First char = 'a'
                   2990: Need char = 'b'
                   2991:     aaab
                   2992:  0: aaab
                   2993:  1: aaab
                   2994: 
                   2995: /(a++)b/I
                   2996: Capturing subpattern count = 1
                   2997: No options
                   2998: First char = 'a'
                   2999: Need char = 'b'
                   3000:     aaab
                   3001:  0: aaab
                   3002:  1: aaa
                   3003: 
                   3004: /([^()]++|\([^()]*\))+/I
                   3005: Capturing subpattern count = 1
                   3006: No options
                   3007: No first char
                   3008: No need char
                   3009:     ((abc(ade)ufh()()x
                   3010:  0: abc(ade)ufh()()x
                   3011:  1: x
                   3012: 
                   3013: /\(([^()]++|\([^()]+\))+\)/I
                   3014: Capturing subpattern count = 1
                   3015: No options
                   3016: First char = '('
                   3017: Need char = ')'
                   3018:     (abc)
                   3019:  0: (abc)
                   3020:  1: abc
                   3021:     (abc(def)xyz)
                   3022:  0: (abc(def)xyz)
                   3023:  1: xyz
                   3024:     *** Failers
                   3025: No match
                   3026:     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   3027: No match
                   3028: 
                   3029: /(abc){1,3}+/DZ
                   3030: ------------------------------------------------------------------
                   3031:         Bra
                   3032:         Once
                   3033:         CBra 1
                   3034:         abc
                   3035:         Ket
                   3036:         Brazero
                   3037:         Bra
                   3038:         CBra 1
                   3039:         abc
                   3040:         Ket
                   3041:         Brazero
                   3042:         CBra 1
                   3043:         abc
                   3044:         Ket
                   3045:         Ket
                   3046:         Ket
                   3047:         Ket
                   3048:         End
                   3049: ------------------------------------------------------------------
                   3050: Capturing subpattern count = 1
                   3051: No options
                   3052: First char = 'a'
                   3053: Need char = 'c'
                   3054: 
                   3055: /a+?+/I
                   3056: Failed: nothing to repeat at offset 3
                   3057: 
                   3058: /a{2,3}?+b/I
                   3059: Failed: nothing to repeat at offset 7
                   3060: 
                   3061: /(?U)a+?+/I
                   3062: Failed: nothing to repeat at offset 7
                   3063: 
                   3064: /a{2,3}?+b/IU
                   3065: Failed: nothing to repeat at offset 7
                   3066: 
                   3067: /x(?U)a++b/DZ
                   3068: ------------------------------------------------------------------
                   3069:         Bra
                   3070:         x
                   3071:         a++
                   3072:         b
                   3073:         Ket
                   3074:         End
                   3075: ------------------------------------------------------------------
                   3076: Capturing subpattern count = 0
                   3077: No options
                   3078: First char = 'x'
                   3079: Need char = 'b'
                   3080:     xaaaab
                   3081:  0: xaaaab
                   3082: 
                   3083: /(?U)xa++b/DZ
                   3084: ------------------------------------------------------------------
                   3085:         Bra
                   3086:         x
                   3087:         a++
                   3088:         b
                   3089:         Ket
                   3090:         End
                   3091: ------------------------------------------------------------------
                   3092: Capturing subpattern count = 0
                   3093: Options: ungreedy
                   3094: First char = 'x'
                   3095: Need char = 'b'
                   3096:     xaaaab
                   3097:  0: xaaaab
                   3098: 
                   3099: /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
                   3100: ------------------------------------------------------------------
                   3101:         Bra
                   3102:         ^
                   3103:         CBra 1
                   3104:         CBra 2
                   3105:         a+
                   3106:         Ket
                   3107:         CBra 3
                   3108:         [ab]+?
                   3109:         Ket
                   3110:         CBra 4
                   3111:         [bc]+
                   3112:         Ket
                   3113:         CBra 5
1.1.1.5 ! misho    3114:         \w*+
1.1       misho    3115:         Ket
                   3116:         Ket
                   3117:         Ket
                   3118:         End
                   3119: ------------------------------------------------------------------
                   3120: Capturing subpattern count = 5
                   3121: Options: anchored
                   3122: No first char
                   3123: No need char
                   3124: 
                   3125: /^x(?U)a+b/DZ
                   3126: ------------------------------------------------------------------
                   3127:         Bra
                   3128:         ^
                   3129:         x
                   3130:         a++
                   3131:         b
                   3132:         Ket
                   3133:         End
                   3134: ------------------------------------------------------------------
                   3135: Capturing subpattern count = 0
                   3136: Options: anchored
                   3137: No first char
                   3138: Need char = 'b'
                   3139: 
                   3140: /^x(?U)(a+)b/DZ
                   3141: ------------------------------------------------------------------
                   3142:         Bra
                   3143:         ^
                   3144:         x
                   3145:         CBra 1
                   3146:         a+?
                   3147:         Ket
                   3148:         b
                   3149:         Ket
                   3150:         End
                   3151: ------------------------------------------------------------------
                   3152: Capturing subpattern count = 1
                   3153: Options: anchored
                   3154: No first char
                   3155: Need char = 'b'
                   3156: 
                   3157: /[.x.]/I
                   3158: Failed: POSIX collating elements are not supported at offset 0
                   3159: 
                   3160: /[=x=]/I
                   3161: Failed: POSIX collating elements are not supported at offset 0
                   3162: 
                   3163: /[:x:]/I
                   3164: Failed: POSIX named classes are supported only within a class at offset 0
                   3165: 
                   3166: /\l/I
                   3167: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3168: 
                   3169: /\L/I
                   3170: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3171: 
                   3172: /\N{name}/I
                   3173: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3174: 
                   3175: /\u/I
                   3176: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3177: 
                   3178: /\U/I
                   3179: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3180: 
                   3181: /[/I
                   3182: Failed: missing terminating ] for character class at offset 1
                   3183: 
                   3184: /[a-/I
                   3185: Failed: missing terminating ] for character class at offset 3
                   3186: 
                   3187: /[[:space:]/I
                   3188: Failed: missing terminating ] for character class at offset 10
                   3189: 
                   3190: /[\s]/IDZ
                   3191: ------------------------------------------------------------------
                   3192:         Bra
1.1.1.5 ! misho    3193:         [\x09-\x0d ]
1.1       misho    3194:         Ket
                   3195:         End
                   3196: ------------------------------------------------------------------
                   3197: Capturing subpattern count = 0
                   3198: No options
                   3199: No first char
                   3200: No need char
                   3201: 
                   3202: /[[:space:]]/IDZ
                   3203: ------------------------------------------------------------------
                   3204:         Bra
                   3205:         [\x09-\x0d ]
                   3206:         Ket
                   3207:         End
                   3208: ------------------------------------------------------------------
                   3209: Capturing subpattern count = 0
                   3210: No options
                   3211: No first char
                   3212: No need char
                   3213: 
                   3214: /[[:space:]abcde]/IDZ
                   3215: ------------------------------------------------------------------
                   3216:         Bra
                   3217:         [\x09-\x0d a-e]
                   3218:         Ket
                   3219:         End
                   3220: ------------------------------------------------------------------
                   3221: Capturing subpattern count = 0
                   3222: No options
                   3223: No first char
                   3224: No need char
                   3225: 
                   3226: /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
                   3227: Capturing subpattern count = 0
                   3228: Options: extended
                   3229: First char = '<'
                   3230: Need char = '>'
                   3231:     <>
                   3232:  0: <>
                   3233:     <abcd>
                   3234:  0: <abcd>
                   3235:     <abc <123> hij>
                   3236:  0: <abc <123> hij>
                   3237:     <abc <def> hij>
                   3238:  0: <def>
                   3239:     <abc<>def>
                   3240:  0: <abc<>def>
                   3241:     <abc<>
                   3242:  0: <>
                   3243:     *** Failers
                   3244: No match
                   3245:     <abc
                   3246: No match
                   3247: 
                   3248: |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
                   3249: ------------------------------------------------------------------
                   3250:         Bra
                   3251:         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
                   3252:         \b
                   3253:         Ket
                   3254:         End
                   3255: ------------------------------------------------------------------
                   3256: Capturing subpattern count = 0
1.1.1.4   misho    3257: Max lookbehind = 1
1.1       misho    3258: No options
                   3259: First char = '8'
                   3260: Need char = 'X'
                   3261: 
                   3262: |\$\<\.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
                   3263: ------------------------------------------------------------------
                   3264:         Bra
                   3265:         $<.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
                   3266:         \b
                   3267:         Ket
                   3268:         End
                   3269: ------------------------------------------------------------------
                   3270: Capturing subpattern count = 0
1.1.1.4   misho    3271: Max lookbehind = 1
1.1       misho    3272: No options
                   3273: First char = '$'
                   3274: Need char = 'X'
                   3275: 
                   3276: /(.*)\d+\1/I
                   3277: Capturing subpattern count = 1
                   3278: Max back reference = 1
                   3279: No options
                   3280: No first char
                   3281: No need char
                   3282: 
                   3283: /(.*)\d+/I
                   3284: Capturing subpattern count = 1
                   3285: No options
                   3286: First char at start or follows newline
                   3287: No need char
                   3288: 
                   3289: /(.*)\d+\1/Is
                   3290: Capturing subpattern count = 1
                   3291: Max back reference = 1
                   3292: Options: dotall
                   3293: No first char
                   3294: No need char
                   3295: 
                   3296: /(.*)\d+/Is
                   3297: Capturing subpattern count = 1
                   3298: Options: anchored dotall
                   3299: No first char
                   3300: No need char
                   3301: 
                   3302: /(.*(xyz))\d+\2/I
                   3303: Capturing subpattern count = 2
                   3304: Max back reference = 2
                   3305: No options
                   3306: First char at start or follows newline
                   3307: Need char = 'z'
                   3308: 
                   3309: /((.*))\d+\1/I
                   3310: Capturing subpattern count = 2
                   3311: Max back reference = 1
                   3312: No options
                   3313: No first char
                   3314: No need char
                   3315:     abc123bc
                   3316:  0: bc123bc
                   3317:  1: bc
                   3318:  2: bc
                   3319: 
                   3320: /a[b]/I
                   3321: Capturing subpattern count = 0
                   3322: No options
                   3323: First char = 'a'
                   3324: Need char = 'b'
                   3325: 
                   3326: /(?=a).*/I
                   3327: Capturing subpattern count = 0
1.1.1.5 ! misho    3328: May match empty string
1.1       misho    3329: No options
                   3330: First char = 'a'
                   3331: No need char
                   3332: 
                   3333: /(?=abc).xyz/IiI
                   3334: Capturing subpattern count = 0
                   3335: Options: caseless
                   3336: First char = 'a' (caseless)
                   3337: Need char = 'z' (caseless)
                   3338: 
                   3339: /(?=abc)(?i).xyz/I
                   3340: Capturing subpattern count = 0
                   3341: No options
                   3342: First char = 'a'
                   3343: Need char = 'z' (caseless)
                   3344: 
                   3345: /(?=a)(?=b)/I
                   3346: Capturing subpattern count = 0
1.1.1.5 ! misho    3347: May match empty string
1.1       misho    3348: No options
                   3349: First char = 'a'
                   3350: No need char
                   3351: 
                   3352: /(?=.)a/I
                   3353: Capturing subpattern count = 0
                   3354: No options
                   3355: First char = 'a'
                   3356: No need char
                   3357: 
                   3358: /((?=abcda)a)/I
                   3359: Capturing subpattern count = 1
                   3360: No options
                   3361: First char = 'a'
                   3362: Need char = 'a'
                   3363: 
                   3364: /((?=abcda)ab)/I
                   3365: Capturing subpattern count = 1
                   3366: No options
                   3367: First char = 'a'
                   3368: Need char = 'b'
                   3369: 
                   3370: /()a/I
                   3371: Capturing subpattern count = 1
                   3372: No options
                   3373: No first char
                   3374: Need char = 'a'
                   3375: 
                   3376: /(?(1)ab|ac)(.)/I
                   3377: Capturing subpattern count = 1
                   3378: No options
                   3379: First char = 'a'
                   3380: No need char
                   3381: 
                   3382: /(?(1)abz|acz)(.)/I
                   3383: Capturing subpattern count = 1
                   3384: No options
                   3385: First char = 'a'
                   3386: Need char = 'z'
                   3387: 
                   3388: /(?(1)abz)(.)/I
                   3389: Capturing subpattern count = 1
                   3390: No options
                   3391: No first char
                   3392: No need char
                   3393: 
                   3394: /(?(1)abz)(1)23/I
                   3395: Capturing subpattern count = 1
                   3396: No options
                   3397: No first char
                   3398: Need char = '3'
                   3399: 
                   3400: /(a)+/I
                   3401: Capturing subpattern count = 1
                   3402: No options
                   3403: First char = 'a'
                   3404: No need char
                   3405: 
                   3406: /(a){2,3}/I
                   3407: Capturing subpattern count = 1
                   3408: No options
                   3409: First char = 'a'
                   3410: Need char = 'a'
                   3411: 
                   3412: /(a)*/I
                   3413: Capturing subpattern count = 1
1.1.1.5 ! misho    3414: May match empty string
1.1       misho    3415: No options
                   3416: No first char
                   3417: No need char
                   3418: 
                   3419: /[a]/I
                   3420: Capturing subpattern count = 0
                   3421: No options
                   3422: First char = 'a'
                   3423: No need char
                   3424: 
                   3425: /[ab]/I
                   3426: Capturing subpattern count = 0
                   3427: No options
                   3428: No first char
                   3429: No need char
                   3430: 
                   3431: /[ab]/IS
                   3432: Capturing subpattern count = 0
                   3433: No options
                   3434: No first char
                   3435: No need char
                   3436: Subject length lower bound = 1
                   3437: Starting byte set: a b 
                   3438: 
                   3439: /[^a]/I
                   3440: Capturing subpattern count = 0
                   3441: No options
                   3442: No first char
                   3443: No need char
                   3444: 
                   3445: /\d456/I
                   3446: Capturing subpattern count = 0
                   3447: No options
                   3448: No first char
                   3449: Need char = '6'
                   3450: 
                   3451: /\d456/IS
                   3452: Capturing subpattern count = 0
                   3453: No options
                   3454: No first char
                   3455: Need char = '6'
                   3456: Subject length lower bound = 4
                   3457: Starting byte set: 0 1 2 3 4 5 6 7 8 9 
                   3458: 
                   3459: /a^b/I
                   3460: Capturing subpattern count = 0
                   3461: No options
                   3462: First char = 'a'
                   3463: Need char = 'b'
                   3464: 
                   3465: /^a/Im
                   3466: Capturing subpattern count = 0
                   3467: Options: multiline
                   3468: First char at start or follows newline
                   3469: Need char = 'a'
                   3470:   abcde
                   3471:  0: a
                   3472:   xy\nabc
                   3473:  0: a
                   3474:   *** Failers
                   3475: No match
                   3476:   xyabc
                   3477: No match
                   3478: 
                   3479: /c|abc/I
                   3480: Capturing subpattern count = 0
                   3481: No options
                   3482: No first char
                   3483: Need char = 'c'
                   3484: 
                   3485: /(?i)[ab]/IS
                   3486: Capturing subpattern count = 0
                   3487: Options: caseless
                   3488: No first char
                   3489: No need char
                   3490: Subject length lower bound = 1
                   3491: Starting byte set: A B a b 
                   3492: 
                   3493: /[ab](?i)cd/IS
                   3494: Capturing subpattern count = 0
                   3495: No options
                   3496: No first char
                   3497: Need char = 'd' (caseless)
                   3498: Subject length lower bound = 3
                   3499: Starting byte set: a b 
                   3500: 
                   3501: /abc(?C)def/I
                   3502: Capturing subpattern count = 0
                   3503: No options
                   3504: First char = 'a'
                   3505: Need char = 'f'
                   3506:     abcdef
                   3507: --->abcdef
                   3508:   0 ^  ^       d
                   3509:  0: abcdef
                   3510:     1234abcdef
                   3511: --->1234abcdef
                   3512:   0     ^  ^       d
                   3513:  0: abcdef
                   3514:     *** Failers
                   3515: No match
                   3516:     abcxyz
                   3517: No match
                   3518:     abcxyzf
                   3519: --->abcxyzf
                   3520:   0 ^  ^        d
                   3521: No match
                   3522: 
                   3523: /abc(?C)de(?C1)f/I
                   3524: Capturing subpattern count = 0
                   3525: No options
                   3526: First char = 'a'
                   3527: Need char = 'f'
                   3528:     123abcdef
                   3529: --->123abcdef
                   3530:   0    ^  ^       d
                   3531:   1    ^    ^     f
                   3532:  0: abcdef
                   3533: 
                   3534: /(?C1)\dabc(?C2)def/IS
                   3535: Capturing subpattern count = 0
                   3536: No options
                   3537: No first char
                   3538: Need char = 'f'
                   3539: Subject length lower bound = 7
                   3540: Starting byte set: 0 1 2 3 4 5 6 7 8 9 
                   3541:     1234abcdef
                   3542: --->1234abcdef
                   3543:   1 ^              \d
                   3544:   1  ^             \d
                   3545:   1   ^            \d
                   3546:   1    ^           \d
                   3547:   2    ^   ^       d
                   3548:  0: 4abcdef
                   3549:     *** Failers
                   3550: No match
                   3551:     abcdef
                   3552: No match
                   3553: 
                   3554: /(?C1)\dabc(?C2)def/ISS
                   3555: Capturing subpattern count = 0
                   3556: No options
                   3557: No first char
                   3558: Need char = 'f'
                   3559:     1234abcdef
                   3560: --->1234abcdef
                   3561:   1 ^              \d
                   3562:   1  ^             \d
                   3563:   1   ^            \d
                   3564:   1    ^           \d
                   3565:   2    ^   ^       d
                   3566:  0: 4abcdef
                   3567:     *** Failers
                   3568: No match
                   3569:     abcdef
                   3570: --->abcdef
                   3571:   1 ^          \d
                   3572:   1  ^         \d
                   3573:   1   ^        \d
                   3574:   1    ^       \d
                   3575:   1     ^      \d
                   3576:   1      ^     \d
                   3577: No match
                   3578: 
                   3579: /(?C255)ab/I
                   3580: Capturing subpattern count = 0
                   3581: No options
                   3582: First char = 'a'
                   3583: Need char = 'b'
                   3584: 
                   3585: /(?C256)ab/I
                   3586: Failed: number after (?C is > 255 at offset 6
                   3587: 
                   3588: /(?Cab)xx/I
                   3589: Failed: closing ) for (?C expected at offset 3
                   3590: 
                   3591: /(?C12vr)x/I
                   3592: Failed: closing ) for (?C expected at offset 5
                   3593: 
                   3594: /abc(?C)def/I
                   3595: Capturing subpattern count = 0
                   3596: No options
                   3597: First char = 'a'
                   3598: Need char = 'f'
                   3599:     *** Failers
                   3600: No match
                   3601:     \x83\x0\x61bcdef
                   3602: --->\x83\x00abcdef
                   3603:   0         ^  ^       d
                   3604:  0: abcdef
                   3605: 
                   3606: /(abc)(?C)de(?C1)f/I
                   3607: Capturing subpattern count = 1
                   3608: No options
                   3609: First char = 'a'
                   3610: Need char = 'f'
                   3611:     123abcdef
                   3612: --->123abcdef
                   3613:   0    ^  ^       d
                   3614:   1    ^    ^     f
                   3615:  0: abcdef
                   3616:  1: abc
                   3617:     123abcdef\C+
                   3618: Callout 0: last capture = 1
                   3619:  0: <unset>
                   3620:  1: abc
                   3621: --->123abcdef
                   3622:        ^  ^       d
                   3623: Callout 1: last capture = 1
                   3624:  0: <unset>
                   3625:  1: abc
                   3626: --->123abcdef
                   3627:        ^    ^     f
                   3628:  0: abcdef
                   3629:  1: abc
                   3630:     123abcdef\C-
                   3631:  0: abcdef
                   3632:  1: abc
                   3633:     *** Failers
                   3634: No match
                   3635:     123abcdef\C!1
                   3636: --->123abcdef
                   3637:   0    ^  ^       d
                   3638:   1    ^    ^     f
                   3639: No match
                   3640: 
                   3641: /(?C0)(abc(?C1))*/I
                   3642: Capturing subpattern count = 1
1.1.1.5 ! misho    3643: May match empty string
1.1       misho    3644: No options
                   3645: No first char
                   3646: No need char
                   3647:     abcabcabc
                   3648: --->abcabcabc
                   3649:   0 ^             (abc(?C1))*
                   3650:   1 ^  ^          )
                   3651:   1 ^     ^       )
                   3652:   1 ^        ^    )
                   3653:  0: abcabcabc
                   3654:  1: abc
                   3655:     abcabc\C!1!3
                   3656: --->abcabc
                   3657:   0 ^          (abc(?C1))*
                   3658:   1 ^  ^       )
                   3659:   1 ^     ^    )
                   3660:  0: abcabc
                   3661:  1: abc
                   3662:     *** Failers
                   3663: --->*** Failers
                   3664:   0 ^               (abc(?C1))*
                   3665:  0: 
                   3666:     abcabcabc\C!1!3
                   3667: --->abcabcabc
                   3668:   0 ^             (abc(?C1))*
                   3669:   1 ^  ^          )
                   3670:   1 ^     ^       )
                   3671:   1 ^        ^    )
                   3672:  0: abcabc
                   3673:  1: abc
                   3674: 
                   3675: /(\d{3}(?C))*/I
                   3676: Capturing subpattern count = 1
1.1.1.5 ! misho    3677: May match empty string
1.1       misho    3678: No options
                   3679: No first char
                   3680: No need char
                   3681:     123\C+
                   3682: Callout 0: last capture = -1
                   3683:  0: <unset>
                   3684: --->123
                   3685:     ^  ^    )
                   3686:  0: 123
                   3687:  1: 123
                   3688:     123456\C+
                   3689: Callout 0: last capture = -1
                   3690:  0: <unset>
                   3691: --->123456
                   3692:     ^  ^       )
                   3693: Callout 0: last capture = 1
                   3694:  0: <unset>
                   3695:  1: 123
                   3696: --->123456
                   3697:     ^     ^    )
                   3698:  0: 123456
                   3699:  1: 456
                   3700:     123456789\C+
                   3701: Callout 0: last capture = -1
                   3702:  0: <unset>
                   3703: --->123456789
                   3704:     ^  ^          )
                   3705: Callout 0: last capture = 1
                   3706:  0: <unset>
                   3707:  1: 123
                   3708: --->123456789
                   3709:     ^     ^       )
                   3710: Callout 0: last capture = 1
                   3711:  0: <unset>
                   3712:  1: 456
                   3713: --->123456789
                   3714:     ^        ^    )
                   3715:  0: 123456789
                   3716:  1: 789
                   3717: 
                   3718: /((xyz)(?C)p|(?C1)xyzabc)/I
                   3719: Capturing subpattern count = 2
                   3720: No options
                   3721: First char = 'x'
                   3722: No need char
                   3723:     xyzabc\C+
                   3724: Callout 0: last capture = 2
                   3725:  0: <unset>
                   3726:  1: <unset>
                   3727:  2: xyz
                   3728: --->xyzabc
                   3729:     ^  ^       p
                   3730: Callout 1: last capture = -1
                   3731:  0: <unset>
                   3732: --->xyzabc
                   3733:     ^          x
                   3734:  0: xyzabc
                   3735:  1: xyzabc
                   3736: 
                   3737: /(X)((xyz)(?C)p|(?C1)xyzabc)/I
                   3738: Capturing subpattern count = 3
                   3739: No options
                   3740: First char = 'X'
                   3741: Need char = 'x'
                   3742:     Xxyzabc\C+
                   3743: Callout 0: last capture = 3
                   3744:  0: <unset>
                   3745:  1: X
                   3746:  2: <unset>
                   3747:  3: xyz
                   3748: --->Xxyzabc
                   3749:     ^   ^       p
                   3750: Callout 1: last capture = 1
                   3751:  0: <unset>
                   3752:  1: X
                   3753: --->Xxyzabc
                   3754:     ^^          x
                   3755:  0: Xxyzabc
                   3756:  1: X
                   3757:  2: xyzabc
                   3758: 
                   3759: /(?=(abc))(?C)abcdef/I
                   3760: Capturing subpattern count = 1
                   3761: No options
                   3762: First char = 'a'
                   3763: Need char = 'f'
                   3764:     abcdef\C+
                   3765: Callout 0: last capture = 1
                   3766:  0: <unset>
                   3767:  1: abc
                   3768: --->abcdef
                   3769:     ^          a
                   3770:  0: abcdef
                   3771:  1: abc
                   3772: 
                   3773: /(?!(abc)(?C1)d)(?C2)abcxyz/I
                   3774: Capturing subpattern count = 1
                   3775: No options
                   3776: First char = 'a'
                   3777: Need char = 'z'
                   3778:     abcxyz\C+
                   3779: Callout 1: last capture = 1
                   3780:  0: <unset>
                   3781:  1: abc
                   3782: --->abcxyz
                   3783:     ^  ^       d
                   3784: Callout 2: last capture = -1
                   3785:  0: <unset>
                   3786: --->abcxyz
                   3787:     ^          a
                   3788:  0: abcxyz
                   3789: 
                   3790: /(?<=(abc)(?C))xyz/I
                   3791: Capturing subpattern count = 1
1.1.1.4   misho    3792: Max lookbehind = 3
1.1       misho    3793: No options
                   3794: First char = 'x'
                   3795: Need char = 'z'
                   3796:    abcxyz\C+
                   3797: Callout 0: last capture = 1
                   3798:  0: <unset>
                   3799:  1: abc
                   3800: --->abcxyz
                   3801:        ^       )
                   3802:  0: xyz
                   3803:  1: abc
                   3804: 
                   3805: /a(b+)(c*)(?C1)/I
                   3806: Capturing subpattern count = 2
                   3807: No options
                   3808: First char = 'a'
                   3809: Need char = 'b'
                   3810:     abbbbbccc\C*1
                   3811: --->abbbbbccc
                   3812:   1 ^        ^    
                   3813: Callout data = 1
                   3814: No match
                   3815: 
                   3816: /a(b+?)(c*?)(?C1)/I
                   3817: Capturing subpattern count = 2
                   3818: No options
                   3819: First char = 'a'
                   3820: Need char = 'b'
                   3821:     abbbbbccc\C*1
                   3822: --->abbbbbccc
                   3823:   1 ^ ^           
                   3824: Callout data = 1
                   3825:   1 ^  ^          
                   3826: Callout data = 1
                   3827:   1 ^   ^         
                   3828: Callout data = 1
                   3829:   1 ^    ^        
                   3830: Callout data = 1
                   3831:   1 ^     ^       
                   3832: Callout data = 1
                   3833:   1 ^      ^      
                   3834: Callout data = 1
                   3835:   1 ^       ^     
                   3836: Callout data = 1
                   3837:   1 ^        ^    
                   3838: Callout data = 1
                   3839: No match
                   3840: 
                   3841: /(?C)abc/I
                   3842: Capturing subpattern count = 0
                   3843: No options
                   3844: First char = 'a'
                   3845: Need char = 'c'
                   3846: 
                   3847: /(?C)^abc/I
                   3848: Capturing subpattern count = 0
                   3849: Options: anchored
                   3850: No first char
                   3851: No need char
                   3852: 
                   3853: /(?C)a|b/IS
                   3854: Capturing subpattern count = 0
                   3855: No options
                   3856: No first char
                   3857: No need char
                   3858: Subject length lower bound = 1
                   3859: Starting byte set: a b 
                   3860: 
                   3861: /(?R)/I
                   3862: Failed: recursive call could loop indefinitely at offset 3
                   3863: 
                   3864: /(a|(?R))/I
                   3865: Failed: recursive call could loop indefinitely at offset 6
                   3866: 
                   3867: /(ab|(bc|(de|(?R))))/I
                   3868: Failed: recursive call could loop indefinitely at offset 15
                   3869: 
                   3870: /x(ab|(bc|(de|(?R))))/I
                   3871: Capturing subpattern count = 3
                   3872: No options
                   3873: First char = 'x'
                   3874: No need char
                   3875:     xab
                   3876:  0: xab
                   3877:  1: ab
                   3878:     xbc
                   3879:  0: xbc
                   3880:  1: bc
                   3881:  2: bc
                   3882:     xde
                   3883:  0: xde
                   3884:  1: de
                   3885:  2: de
                   3886:  3: de
                   3887:     xxab
                   3888:  0: xxab
                   3889:  1: xab
                   3890:  2: xab
                   3891:  3: xab
                   3892:     xxxab
                   3893:  0: xxxab
                   3894:  1: xxab
                   3895:  2: xxab
                   3896:  3: xxab
                   3897:     *** Failers
                   3898: No match
                   3899:     xyab
                   3900: No match
                   3901: 
                   3902: /(ab|(bc|(de|(?1))))/I
                   3903: Failed: recursive call could loop indefinitely at offset 15
                   3904: 
                   3905: /x(ab|(bc|(de|(?1)x)x)x)/I
                   3906: Failed: recursive call could loop indefinitely at offset 16
                   3907: 
                   3908: /^([^()]|\((?1)*\))*$/I
                   3909: Capturing subpattern count = 1
1.1.1.5 ! misho    3910: May match empty string
1.1       misho    3911: Options: anchored
                   3912: No first char
                   3913: No need char
                   3914:     abc
                   3915:  0: abc
                   3916:  1: c
                   3917:     a(b)c
                   3918:  0: a(b)c
                   3919:  1: c
                   3920:     a(b(c))d
                   3921:  0: a(b(c))d
                   3922:  1: d
                   3923:     *** Failers)
                   3924: No match
                   3925:     a(b(c)d
                   3926: No match
                   3927: 
                   3928: /^>abc>([^()]|\((?1)*\))*<xyz<$/I
                   3929: Capturing subpattern count = 1
                   3930: Options: anchored
                   3931: No first char
                   3932: Need char = '<'
                   3933:    >abc>123<xyz<
                   3934:  0: >abc>123<xyz<
                   3935:  1: 3
                   3936:    >abc>1(2)3<xyz<
                   3937:  0: >abc>1(2)3<xyz<
                   3938:  1: 3
                   3939:    >abc>(1(2)3)<xyz<
                   3940:  0: >abc>(1(2)3)<xyz<
                   3941:  1: (1(2)3)
                   3942: 
                   3943: /(a(?1)b)/DZ
                   3944: ------------------------------------------------------------------
                   3945:         Bra
                   3946:         CBra 1
                   3947:         a
                   3948:         Recurse
                   3949:         b
                   3950:         Ket
                   3951:         Ket
                   3952:         End
                   3953: ------------------------------------------------------------------
                   3954: Capturing subpattern count = 1
                   3955: No options
                   3956: First char = 'a'
                   3957: Need char = 'b'
                   3958: 
                   3959: /(a(?1)+b)/DZ
                   3960: ------------------------------------------------------------------
                   3961:         Bra
                   3962:         CBra 1
                   3963:         a
                   3964:         Once
                   3965:         Recurse
                   3966:         KetRmax
                   3967:         b
                   3968:         Ket
                   3969:         Ket
                   3970:         End
                   3971: ------------------------------------------------------------------
                   3972: Capturing subpattern count = 1
                   3973: No options
                   3974: First char = 'a'
                   3975: Need char = 'b'
                   3976: 
                   3977: /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
                   3978: Capturing subpattern count = 2
                   3979: Options: anchored
                   3980: No first char
                   3981: No need char
                   3982:     12
                   3983:  0: 12
                   3984:  1: 12
                   3985:     (((2+2)*-3)-7)
                   3986:  0: (((2+2)*-3)-7)
                   3987:  1: (((2+2)*-3)-7)
                   3988:  2: -
                   3989:     -12
                   3990:  0: -12
                   3991:  1: -12
                   3992:     *** Failers
                   3993: No match
                   3994:     ((2+2)*-3)-7)
                   3995: No match
                   3996: 
                   3997: /^(x(y|(?1){2})z)/I
                   3998: Capturing subpattern count = 2
                   3999: Options: anchored
                   4000: No first char
                   4001: No need char
                   4002:     xyz
                   4003:  0: xyz
                   4004:  1: xyz
                   4005:  2: y
                   4006:     xxyzxyzz
                   4007:  0: xxyzxyzz
                   4008:  1: xxyzxyzz
                   4009:  2: xyzxyz
                   4010:     *** Failers
                   4011: No match
                   4012:     xxyzz
                   4013: No match
                   4014:     xxyzxyzxyzz
                   4015: No match
                   4016: 
                   4017: /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
                   4018: Capturing subpattern count = 2
                   4019: Options: extended
                   4020: First char = '<'
                   4021: Need char = '>'
                   4022:     <>
                   4023:  0: <>
                   4024:  1: <>
                   4025:  2: <>
                   4026:     <abcd>
                   4027:  0: <abcd>
                   4028:  1: <abcd>
                   4029:  2: <abcd>
                   4030:     <abc <123> hij>
                   4031:  0: <abc <123> hij>
                   4032:  1: <abc <123> hij>
                   4033:  2: <abc <123> hij>
                   4034:     <abc <def> hij>
                   4035:  0: <def>
                   4036:  1: <def>
                   4037:  2: <def>
                   4038:     <abc<>def>
                   4039:  0: <abc<>def>
                   4040:  1: <abc<>def>
                   4041:  2: <abc<>def>
                   4042:     <abc<>
                   4043:  0: <>
                   4044:  1: <>
                   4045:  2: <>
                   4046:     *** Failers
                   4047: No match
                   4048:     <abc
                   4049: No match
                   4050: 
                   4051: /(?1)/I
                   4052: Failed: reference to non-existent subpattern at offset 3
                   4053: 
                   4054: /((?2)(abc)/I
                   4055: Failed: missing ) at offset 10
                   4056: 
                   4057: /^(abc)def(?1)/I
                   4058: Capturing subpattern count = 1
                   4059: Options: anchored
                   4060: No first char
                   4061: No need char
                   4062:     abcdefabc
                   4063:  0: abcdefabc
                   4064:  1: abc
                   4065: 
                   4066: /^(a|b|c)=(?1)+/I
                   4067: Capturing subpattern count = 1
                   4068: Options: anchored
                   4069: No first char
                   4070: No need char
                   4071:     a=a
                   4072:  0: a=a
                   4073:  1: a
                   4074:     a=b
                   4075:  0: a=b
                   4076:  1: a
                   4077:     a=bc
                   4078:  0: a=bc
                   4079:  1: a
                   4080: 
                   4081: /^(a|b|c)=((?1))+/I
                   4082: Capturing subpattern count = 2
                   4083: Options: anchored
                   4084: No first char
                   4085: No need char
                   4086:     a=a
                   4087:  0: a=a
                   4088:  1: a
                   4089:  2: a
                   4090:     a=b
                   4091:  0: a=b
                   4092:  1: a
                   4093:  2: b
                   4094:     a=bc
                   4095:  0: a=bc
                   4096:  1: a
                   4097:  2: c
                   4098: 
                   4099: /a(?P<name1>b|c)d(?P<longername2>e)/DZ
                   4100: ------------------------------------------------------------------
                   4101:         Bra
                   4102:         a
                   4103:         CBra 1
                   4104:         b
                   4105:         Alt
                   4106:         c
                   4107:         Ket
                   4108:         d
                   4109:         CBra 2
                   4110:         e
                   4111:         Ket
                   4112:         Ket
                   4113:         End
                   4114: ------------------------------------------------------------------
                   4115: Capturing subpattern count = 2
                   4116: Named capturing subpatterns:
                   4117:   longername2   2
                   4118:   name1         1
                   4119: No options
                   4120: First char = 'a'
                   4121: Need char = 'e'
                   4122:     abde
                   4123:  0: abde
                   4124:  1: b
                   4125:  2: e
                   4126:     acde
                   4127:  0: acde
                   4128:  1: c
                   4129:  2: e
                   4130: 
                   4131: /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
                   4132: ------------------------------------------------------------------
                   4133:         Bra
                   4134:         Bra
                   4135:         a
                   4136:         CBra 1
                   4137:         c
                   4138:         CBra 2
                   4139:         d
                   4140:         Ket
                   4141:         Ket
                   4142:         Ket
                   4143:         CBra 3
                   4144:         a
                   4145:         Ket
                   4146:         Ket
                   4147:         End
                   4148: ------------------------------------------------------------------
                   4149: Capturing subpattern count = 3
                   4150: Named capturing subpatterns:
                   4151:   a   3
                   4152:   c   1
                   4153:   d   2
                   4154: No options
                   4155: First char = 'a'
                   4156: Need char = 'a'
                   4157: 
                   4158: /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
                   4159: ------------------------------------------------------------------
                   4160:         Bra
                   4161:         CBra 1
                   4162:         a
                   4163:         Ket
                   4164:         Any
                   4165:         Any
                   4166:         Any
                   4167:         \1
                   4168:         bbb
                   4169:         Recurse
                   4170:         d
                   4171:         Ket
                   4172:         End
                   4173: ------------------------------------------------------------------
                   4174: Capturing subpattern count = 1
                   4175: Max back reference = 1
                   4176: Named capturing subpatterns:
                   4177:   a   1
                   4178: No options
                   4179: First char = 'a'
                   4180: Need char = 'd'
                   4181: 
                   4182: /^\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
                   4183: Capturing subpattern count = 4
                   4184: Max back reference = 4
                   4185: Named capturing subpatterns:
                   4186:   four    4
                   4187:   one     1
                   4188:   three   3
                   4189:   two     2
1.1.1.5 ! misho    4190: May match empty string
1.1       misho    4191: Options: anchored caseless
                   4192: No first char
                   4193: No need char
                   4194:     1221
                   4195:  0: 1221
                   4196:  1: 1221
                   4197:  2: 1
                   4198:     Satan, oscillate my metallic sonatas!
                   4199:  0: Satan, oscillate my metallic sonatas!
                   4200:  1: <unset>
                   4201:  2: <unset>
                   4202:  3: Satan, oscillate my metallic sonatas
                   4203:  4: S
                   4204:     A man, a plan, a canal: Panama!
                   4205:  0: A man, a plan, a canal: Panama!
                   4206:  1: <unset>
                   4207:  2: <unset>
                   4208:  3: A man, a plan, a canal: Panama
                   4209:  4: A
                   4210:     Able was I ere I saw Elba.
                   4211:  0: Able was I ere I saw Elba.
                   4212:  1: <unset>
                   4213:  2: <unset>
                   4214:  3: Able was I ere I saw Elba
                   4215:  4: A
                   4216:     *** Failers
                   4217: No match
                   4218:     The quick brown fox
                   4219: No match
                   4220: 
                   4221: /((?(R)a|b))\1(?1)?/I
                   4222: Capturing subpattern count = 1
                   4223: Max back reference = 1
                   4224: No options
                   4225: No first char
                   4226: No need char
                   4227:   bb
                   4228:  0: bb
                   4229:  1: b
                   4230:   bbaa
                   4231:  0: bba
                   4232:  1: b
                   4233: 
                   4234: /(.*)a/Is
                   4235: Capturing subpattern count = 1
                   4236: Options: anchored dotall
                   4237: No first char
                   4238: Need char = 'a'
                   4239: 
                   4240: /(.*)a\1/Is
                   4241: Capturing subpattern count = 1
                   4242: Max back reference = 1
                   4243: Options: dotall
                   4244: No first char
                   4245: Need char = 'a'
                   4246: 
                   4247: /(.*)a(b)\2/Is
                   4248: Capturing subpattern count = 2
                   4249: Max back reference = 2
                   4250: Options: anchored dotall
                   4251: No first char
                   4252: Need char = 'b'
                   4253: 
                   4254: /((.*)a|(.*)b)z/Is
                   4255: Capturing subpattern count = 3
                   4256: Options: anchored dotall
                   4257: No first char
                   4258: Need char = 'z'
                   4259: 
                   4260: /((.*)a|(.*)b)z\1/Is
                   4261: Capturing subpattern count = 3
                   4262: Max back reference = 1
                   4263: Options: dotall
                   4264: No first char
                   4265: Need char = 'z'
                   4266: 
                   4267: /((.*)a|(.*)b)z\2/Is
                   4268: Capturing subpattern count = 3
                   4269: Max back reference = 2
                   4270: Options: dotall
                   4271: No first char
                   4272: Need char = 'z'
                   4273: 
                   4274: /((.*)a|(.*)b)z\3/Is
                   4275: Capturing subpattern count = 3
                   4276: Max back reference = 3
                   4277: Options: dotall
                   4278: No first char
                   4279: Need char = 'z'
                   4280: 
                   4281: /((.*)a|^(.*)b)z\3/Is
                   4282: Capturing subpattern count = 3
                   4283: Max back reference = 3
                   4284: Options: anchored dotall
                   4285: No first char
                   4286: Need char = 'z'
                   4287: 
                   4288: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
                   4289: Capturing subpattern count = 31
1.1.1.5 ! misho    4290: May match empty string
1.1       misho    4291: Options: anchored dotall
                   4292: No first char
                   4293: No need char
                   4294: 
                   4295: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
                   4296: Capturing subpattern count = 31
                   4297: Max back reference = 31
1.1.1.5 ! misho    4298: May match empty string
1.1       misho    4299: Options: dotall
                   4300: No first char
                   4301: No need char
                   4302: 
                   4303: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
                   4304: Capturing subpattern count = 32
                   4305: Max back reference = 32
1.1.1.5 ! misho    4306: May match empty string
1.1       misho    4307: Options: dotall
                   4308: No first char
                   4309: No need char
                   4310: 
                   4311: /(a)(bc)/INDZ
                   4312: ------------------------------------------------------------------
                   4313:         Bra
                   4314:         Bra
                   4315:         a
                   4316:         Ket
                   4317:         Bra
                   4318:         bc
                   4319:         Ket
                   4320:         Ket
                   4321:         End
                   4322: ------------------------------------------------------------------
                   4323: Capturing subpattern count = 0
                   4324: Options: no_auto_capture
                   4325: First char = 'a'
                   4326: Need char = 'c'
                   4327:   abc
                   4328:  0: abc
                   4329: 
                   4330: /(?P<one>a)(bc)/INDZ
                   4331: ------------------------------------------------------------------
                   4332:         Bra
                   4333:         CBra 1
                   4334:         a
                   4335:         Ket
                   4336:         Bra
                   4337:         bc
                   4338:         Ket
                   4339:         Ket
                   4340:         End
                   4341: ------------------------------------------------------------------
                   4342: Capturing subpattern count = 1
                   4343: Named capturing subpatterns:
                   4344:   one   1
                   4345: Options: no_auto_capture
                   4346: First char = 'a'
                   4347: Need char = 'c'
                   4348:   abc
                   4349:  0: abc
                   4350:  1: a
                   4351: 
                   4352: /(a)(?P<named>bc)/INDZ
                   4353: ------------------------------------------------------------------
                   4354:         Bra
                   4355:         Bra
                   4356:         a
                   4357:         Ket
                   4358:         CBra 1
                   4359:         bc
                   4360:         Ket
                   4361:         Ket
                   4362:         End
                   4363: ------------------------------------------------------------------
                   4364: Capturing subpattern count = 1
                   4365: Named capturing subpatterns:
                   4366:   named   1
                   4367: Options: no_auto_capture
                   4368: First char = 'a'
                   4369: Need char = 'c'
                   4370: 
                   4371: /(a+)*zz/I
                   4372: Capturing subpattern count = 1
                   4373: No options
                   4374: No first char
                   4375: Need char = 'z'
                   4376:   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
                   4377: Minimum match() limit = 8
                   4378: Minimum match() recursion limit = 6
                   4379:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
                   4380:  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   4381:   aaaaaaaaaaaaaz\M
                   4382: Minimum match() limit = 32768
1.1.1.4   misho    4383: Minimum match() recursion limit = 29
1.1       misho    4384: No match
                   4385: 
                   4386: /(aaa(?C1)bbb|ab)/I
                   4387: Capturing subpattern count = 1
                   4388: No options
                   4389: First char = 'a'
                   4390: Need char = 'b'
                   4391:    aaabbb
                   4392: --->aaabbb
                   4393:   1 ^  ^       b
                   4394:  0: aaabbb
                   4395:  1: aaabbb
                   4396:    aaabbb\C*0
                   4397: --->aaabbb
                   4398:   1 ^  ^       b
                   4399:  0: aaabbb
                   4400:  1: aaabbb
                   4401:    aaabbb\C*1
                   4402: --->aaabbb
                   4403:   1 ^  ^       b
                   4404: Callout data = 1
                   4405:  0: ab
                   4406:  1: ab
                   4407:    aaabbb\C*-1
                   4408: --->aaabbb
                   4409:   1 ^  ^       b
                   4410: Callout data = -1
                   4411: No match
                   4412: 
                   4413: /ab(?P<one>cd)ef(?P<two>gh)/I
                   4414: Capturing subpattern count = 2
                   4415: Named capturing subpatterns:
                   4416:   one   1
                   4417:   two   2
                   4418: No options
                   4419: First char = 'a'
                   4420: Need char = 'h'
                   4421:     abcdefgh
                   4422:  0: abcdefgh
                   4423:  1: cd
                   4424:  2: gh
                   4425:     abcdefgh\C1\Gtwo
                   4426:  0: abcdefgh
                   4427:  1: cd
                   4428:  2: gh
                   4429:  1C cd (2)
                   4430:   G gh (2) two
                   4431:     abcdefgh\Cone\Ctwo
                   4432:  0: abcdefgh
                   4433:  1: cd
                   4434:  2: gh
                   4435:   C cd (2) one
                   4436:   C gh (2) two
                   4437:     abcdefgh\Cthree
                   4438: no parentheses with name "three"
                   4439:  0: abcdefgh
                   4440:  1: cd
                   4441:  2: gh
                   4442: copy substring three failed -7
                   4443: 
                   4444: /(?P<Tes>)(?P<Test>)/DZ
                   4445: ------------------------------------------------------------------
                   4446:         Bra
                   4447:         CBra 1
                   4448:         Ket
                   4449:         CBra 2
                   4450:         Ket
                   4451:         Ket
                   4452:         End
                   4453: ------------------------------------------------------------------
                   4454: Capturing subpattern count = 2
                   4455: Named capturing subpatterns:
                   4456:   Tes    1
                   4457:   Test   2
1.1.1.5 ! misho    4458: May match empty string
1.1       misho    4459: No options
                   4460: No first char
                   4461: No need char
                   4462: 
                   4463: /(?P<Test>)(?P<Tes>)/DZ
                   4464: ------------------------------------------------------------------
                   4465:         Bra
                   4466:         CBra 1
                   4467:         Ket
                   4468:         CBra 2
                   4469:         Ket
                   4470:         Ket
                   4471:         End
                   4472: ------------------------------------------------------------------
                   4473: Capturing subpattern count = 2
                   4474: Named capturing subpatterns:
                   4475:   Tes    2
                   4476:   Test   1
1.1.1.5 ! misho    4477: May match empty string
1.1       misho    4478: No options
                   4479: No first char
                   4480: No need char
                   4481: 
                   4482: /(?P<Z>zz)(?P<A>aa)/I
                   4483: Capturing subpattern count = 2
                   4484: Named capturing subpatterns:
                   4485:   A   2
                   4486:   Z   1
                   4487: No options
                   4488: First char = 'z'
                   4489: Need char = 'a'
                   4490:     zzaa\CZ
                   4491:  0: zzaa
                   4492:  1: zz
                   4493:  2: aa
                   4494:   C zz (2) Z
                   4495:     zzaa\CA
                   4496:  0: zzaa
                   4497:  1: zz
                   4498:  2: aa
                   4499:   C aa (2) A
                   4500: 
                   4501: /(?P<x>eks)(?P<x>eccs)/I
                   4502: Failed: two named subpatterns have the same name at offset 15
                   4503: 
                   4504: /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
                   4505: Failed: two named subpatterns have the same name at offset 30
                   4506: 
                   4507: "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
                   4508: Capturing subpattern count = 3
                   4509: Named capturing subpatterns:
                   4510:   elem   2
                   4511: No options
                   4512: First char = '['
                   4513: Need char = ']'
                   4514:     [10,20,30,5,5,4,4,2,43,23,4234]
                   4515:  0: [10,20,30,5,5,4,4,2,43,23,4234]
                   4516:  1: 10,20,30,5,5,4,4,2,43,23,4234
                   4517:  2: 10
                   4518:  3: ,4234
                   4519:     *** Failers
                   4520: No match
                   4521:     []
                   4522: No match
                   4523: 
                   4524: "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
                   4525: Capturing subpattern count = 3
                   4526: Named capturing subpatterns:
                   4527:   elem   2
                   4528: No options
                   4529: First char = '['
                   4530: Need char = ']'
                   4531:     [10,20,30,5,5,4,4,2,43,23,4234]
                   4532:  0: [10,20,30,5,5,4,4,2,43,23,4234]
                   4533:  1: 10,20,30,5,5,4,4,2,43,23,4234
                   4534:  2: 10
                   4535:  3: ,4234
                   4536:     []
                   4537:  0: []
                   4538: 
                   4539: /(a(b(?2)c))?/DZ
                   4540: ------------------------------------------------------------------
                   4541:         Bra
                   4542:         Brazero
                   4543:         CBra 1
                   4544:         a
                   4545:         CBra 2
                   4546:         b
                   4547:         Recurse
                   4548:         c
                   4549:         Ket
                   4550:         Ket
                   4551:         Ket
                   4552:         End
                   4553: ------------------------------------------------------------------
                   4554: Capturing subpattern count = 2
1.1.1.5 ! misho    4555: May match empty string
1.1       misho    4556: No options
                   4557: No first char
                   4558: No need char
                   4559: 
                   4560: /(a(b(?2)c))*/DZ
                   4561: ------------------------------------------------------------------
                   4562:         Bra
                   4563:         Brazero
                   4564:         CBra 1
                   4565:         a
                   4566:         CBra 2
                   4567:         b
                   4568:         Recurse
                   4569:         c
                   4570:         Ket
                   4571:         KetRmax
                   4572:         Ket
                   4573:         End
                   4574: ------------------------------------------------------------------
                   4575: Capturing subpattern count = 2
1.1.1.5 ! misho    4576: May match empty string
1.1       misho    4577: No options
                   4578: No first char
                   4579: No need char
                   4580: 
                   4581: /(a(b(?2)c)){0,2}/DZ
                   4582: ------------------------------------------------------------------
                   4583:         Bra
                   4584:         Brazero
                   4585:         Bra
                   4586:         CBra 1
                   4587:         a
                   4588:         CBra 2
                   4589:         b
                   4590:         Recurse
                   4591:         c
                   4592:         Ket
                   4593:         Ket
                   4594:         Brazero
                   4595:         CBra 1
                   4596:         a
                   4597:         CBra 2
                   4598:         b
                   4599:         Recurse
                   4600:         c
                   4601:         Ket
                   4602:         Ket
                   4603:         Ket
                   4604:         Ket
                   4605:         End
                   4606: ------------------------------------------------------------------
                   4607: Capturing subpattern count = 2
1.1.1.5 ! misho    4608: May match empty string
1.1       misho    4609: No options
                   4610: No first char
                   4611: No need char
                   4612: 
                   4613: /[ab]{1}+/DZ
                   4614: ------------------------------------------------------------------
                   4615:         Bra
1.1.1.5 ! misho    4616:         [ab]{1,1}+
1.1       misho    4617:         Ket
                   4618:         End
                   4619: ------------------------------------------------------------------
                   4620: Capturing subpattern count = 0
                   4621: No options
                   4622: No first char
                   4623: No need char
                   4624: 
                   4625: /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
                   4626: Capturing subpattern count = 3
                   4627: Options: caseless
                   4628: No first char
                   4629: Need char = 'g' (caseless)
                   4630:      Baby Bjorn Active Carrier - With free SHIPPING!!
                   4631:  0: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4632:  1: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4633: 
                   4634: /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
                   4635: Capturing subpattern count = 3
                   4636: Options: caseless
                   4637: No first char
                   4638: Need char = 'g' (caseless)
                   4639: Subject length lower bound = 8
                   4640: No set of starting bytes
                   4641:      Baby Bjorn Active Carrier - With free SHIPPING!!
                   4642:  0: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4643:  1: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4644: 
                   4645: /a*.*b/ISDZ
                   4646: ------------------------------------------------------------------
                   4647:         Bra
                   4648:         a*
                   4649:         Any*
                   4650:         b
                   4651:         Ket
                   4652:         End
                   4653: ------------------------------------------------------------------
                   4654: Capturing subpattern count = 0
                   4655: No options
                   4656: No first char
                   4657: Need char = 'b'
                   4658: Subject length lower bound = 1
                   4659: No set of starting bytes
                   4660: 
                   4661: /(a|b)*.?c/ISDZ
                   4662: ------------------------------------------------------------------
                   4663:         Bra
                   4664:         Brazero
                   4665:         CBra 1
                   4666:         a
                   4667:         Alt
                   4668:         b
                   4669:         KetRmax
                   4670:         Any?
                   4671:         c
                   4672:         Ket
                   4673:         End
                   4674: ------------------------------------------------------------------
                   4675: Capturing subpattern count = 1
                   4676: No options
                   4677: No first char
                   4678: Need char = 'c'
                   4679: Subject length lower bound = 1
                   4680: No set of starting bytes
                   4681: 
                   4682: /abc(?C255)de(?C)f/DZ
                   4683: ------------------------------------------------------------------
                   4684:         Bra
                   4685:         abc
                   4686:         Callout 255 10 1
                   4687:         de
                   4688:         Callout 0 16 1
                   4689:         f
                   4690:         Ket
                   4691:         End
                   4692: ------------------------------------------------------------------
                   4693: Capturing subpattern count = 0
                   4694: No options
                   4695: First char = 'a'
                   4696: Need char = 'f'
                   4697: 
                   4698: /abcde/ICDZ
                   4699: ------------------------------------------------------------------
                   4700:         Bra
                   4701:         Callout 255 0 1
                   4702:         a
                   4703:         Callout 255 1 1
                   4704:         b
                   4705:         Callout 255 2 1
                   4706:         c
                   4707:         Callout 255 3 1
                   4708:         d
                   4709:         Callout 255 4 1
                   4710:         e
                   4711:         Callout 255 5 0
                   4712:         Ket
                   4713:         End
                   4714: ------------------------------------------------------------------
                   4715: Capturing subpattern count = 0
                   4716: Options:
                   4717: First char = 'a'
                   4718: Need char = 'e'
                   4719:   abcde
                   4720: --->abcde
                   4721:  +0 ^         a
                   4722:  +1 ^^        b
                   4723:  +2 ^ ^       c
                   4724:  +3 ^  ^      d
                   4725:  +4 ^   ^     e
                   4726:  +5 ^    ^    
                   4727:  0: abcde
                   4728:   abcdfe
                   4729: --->abcdfe
                   4730:  +0 ^          a
                   4731:  +1 ^^         b
                   4732:  +2 ^ ^        c
                   4733:  +3 ^  ^       d
                   4734:  +4 ^   ^      e
                   4735: No match
                   4736: 
                   4737: /a*b/ICDZS
                   4738: ------------------------------------------------------------------
                   4739:         Bra
                   4740:         Callout 255 0 2
                   4741:         a*+
                   4742:         Callout 255 2 1
                   4743:         b
                   4744:         Callout 255 3 0
                   4745:         Ket
                   4746:         End
                   4747: ------------------------------------------------------------------
                   4748: Capturing subpattern count = 0
                   4749: Options:
                   4750: No first char
                   4751: Need char = 'b'
                   4752: Subject length lower bound = 1
                   4753: Starting byte set: a b 
                   4754:   ab
                   4755: --->ab
                   4756:  +0 ^      a*
                   4757:  +2 ^^     b
                   4758:  +3 ^ ^    
                   4759:  0: ab
                   4760:   aaaab
                   4761: --->aaaab
                   4762:  +0 ^         a*
                   4763:  +2 ^   ^     b
                   4764:  +3 ^    ^    
                   4765:  0: aaaab
                   4766:   aaaacb
                   4767: --->aaaacb
                   4768:  +0 ^          a*
                   4769:  +2 ^   ^      b
                   4770:  +0  ^         a*
                   4771:  +2  ^  ^      b
                   4772:  +0   ^        a*
                   4773:  +2   ^ ^      b
                   4774:  +0    ^       a*
                   4775:  +2    ^^      b
                   4776:  +0      ^     a*
                   4777:  +2      ^     b
                   4778:  +3      ^^    
                   4779:  0: b
                   4780: 
                   4781: /a*b/ICDZSS
                   4782: ------------------------------------------------------------------
                   4783:         Bra
                   4784:         Callout 255 0 2
                   4785:         a*+
                   4786:         Callout 255 2 1
                   4787:         b
                   4788:         Callout 255 3 0
                   4789:         Ket
                   4790:         End
                   4791: ------------------------------------------------------------------
                   4792: Capturing subpattern count = 0
                   4793: Options:
                   4794: No first char
                   4795: Need char = 'b'
                   4796:   ab
                   4797: --->ab
                   4798:  +0 ^      a*
                   4799:  +2 ^^     b
                   4800:  +3 ^ ^    
                   4801:  0: ab
                   4802:   aaaab
                   4803: --->aaaab
                   4804:  +0 ^         a*
                   4805:  +2 ^   ^     b
                   4806:  +3 ^    ^    
                   4807:  0: aaaab
                   4808:   aaaacb
                   4809: --->aaaacb
                   4810:  +0 ^          a*
                   4811:  +2 ^   ^      b
                   4812:  +0  ^         a*
                   4813:  +2  ^  ^      b
                   4814:  +0   ^        a*
                   4815:  +2   ^ ^      b
                   4816:  +0    ^       a*
                   4817:  +2    ^^      b
                   4818:  +0     ^      a*
                   4819:  +2     ^      b
                   4820:  +0      ^     a*
                   4821:  +2      ^     b
                   4822:  +3      ^^    
                   4823:  0: b
                   4824: 
                   4825: /a+b/ICDZ
                   4826: ------------------------------------------------------------------
                   4827:         Bra
                   4828:         Callout 255 0 2
                   4829:         a++
                   4830:         Callout 255 2 1
                   4831:         b
                   4832:         Callout 255 3 0
                   4833:         Ket
                   4834:         End
                   4835: ------------------------------------------------------------------
                   4836: Capturing subpattern count = 0
                   4837: Options:
                   4838: First char = 'a'
                   4839: Need char = 'b'
                   4840:   ab
                   4841: --->ab
                   4842:  +0 ^      a+
                   4843:  +2 ^^     b
                   4844:  +3 ^ ^    
                   4845:  0: ab
                   4846:   aaaab
                   4847: --->aaaab
                   4848:  +0 ^         a+
                   4849:  +2 ^   ^     b
                   4850:  +3 ^    ^    
                   4851:  0: aaaab
                   4852:   aaaacb
                   4853: --->aaaacb
                   4854:  +0 ^          a+
                   4855:  +2 ^   ^      b
                   4856:  +0  ^         a+
                   4857:  +2  ^  ^      b
                   4858:  +0   ^        a+
                   4859:  +2   ^ ^      b
                   4860:  +0    ^       a+
                   4861:  +2    ^^      b
                   4862: No match
                   4863: 
                   4864: /(abc|def)x/ICDZS
                   4865: ------------------------------------------------------------------
                   4866:         Bra
                   4867:         Callout 255 0 9
                   4868:         CBra 1
                   4869:         Callout 255 1 1
                   4870:         a
                   4871:         Callout 255 2 1
                   4872:         b
                   4873:         Callout 255 3 1
                   4874:         c
                   4875:         Callout 255 4 0
                   4876:         Alt
                   4877:         Callout 255 5 1
                   4878:         d
                   4879:         Callout 255 6 1
                   4880:         e
                   4881:         Callout 255 7 1
                   4882:         f
                   4883:         Callout 255 8 0
                   4884:         Ket
                   4885:         Callout 255 9 1
                   4886:         x
                   4887:         Callout 255 10 0
                   4888:         Ket
                   4889:         End
                   4890: ------------------------------------------------------------------
                   4891: Capturing subpattern count = 1
                   4892: Options:
                   4893: No first char
                   4894: Need char = 'x'
                   4895: Subject length lower bound = 4
                   4896: Starting byte set: a d 
                   4897:   abcx
                   4898: --->abcx
                   4899:  +0 ^        (abc|def)
                   4900:  +1 ^        a
                   4901:  +2 ^^       b
                   4902:  +3 ^ ^      c
                   4903:  +4 ^  ^     |
                   4904:  +9 ^  ^     x
                   4905: +10 ^   ^    
                   4906:  0: abcx
                   4907:  1: abc
                   4908:   defx
                   4909: --->defx
                   4910:  +0 ^        (abc|def)
                   4911:  +1 ^        a
                   4912:  +5 ^        d
                   4913:  +6 ^^       e
                   4914:  +7 ^ ^      f
                   4915:  +8 ^  ^     )
                   4916:  +9 ^  ^     x
                   4917: +10 ^   ^    
                   4918:  0: defx
                   4919:  1: def
                   4920:   ** Failers 
                   4921: No match
                   4922:   abcdefzx
                   4923: --->abcdefzx
                   4924:  +0 ^            (abc|def)
                   4925:  +1 ^            a
                   4926:  +2 ^^           b
                   4927:  +3 ^ ^          c
                   4928:  +4 ^  ^         |
                   4929:  +9 ^  ^         x
                   4930:  +5 ^            d
                   4931:  +0    ^         (abc|def)
                   4932:  +1    ^         a
                   4933:  +5    ^         d
                   4934:  +6    ^^        e
                   4935:  +7    ^ ^       f
                   4936:  +8    ^  ^      )
                   4937:  +9    ^  ^      x
                   4938: No match
                   4939: 
                   4940: /(abc|def)x/ICDZSS
                   4941: ------------------------------------------------------------------
                   4942:         Bra
                   4943:         Callout 255 0 9
                   4944:         CBra 1
                   4945:         Callout 255 1 1
                   4946:         a
                   4947:         Callout 255 2 1
                   4948:         b
                   4949:         Callout 255 3 1
                   4950:         c
                   4951:         Callout 255 4 0
                   4952:         Alt
                   4953:         Callout 255 5 1
                   4954:         d
                   4955:         Callout 255 6 1
                   4956:         e
                   4957:         Callout 255 7 1
                   4958:         f
                   4959:         Callout 255 8 0
                   4960:         Ket
                   4961:         Callout 255 9 1
                   4962:         x
                   4963:         Callout 255 10 0
                   4964:         Ket
                   4965:         End
                   4966: ------------------------------------------------------------------
                   4967: Capturing subpattern count = 1
                   4968: Options:
                   4969: No first char
                   4970: Need char = 'x'
                   4971:   abcx
                   4972: --->abcx
                   4973:  +0 ^        (abc|def)
                   4974:  +1 ^        a
                   4975:  +2 ^^       b
                   4976:  +3 ^ ^      c
                   4977:  +4 ^  ^     |
                   4978:  +9 ^  ^     x
                   4979: +10 ^   ^    
                   4980:  0: abcx
                   4981:  1: abc
                   4982:   defx
                   4983: --->defx
                   4984:  +0 ^        (abc|def)
                   4985:  +1 ^        a
                   4986:  +5 ^        d
                   4987:  +6 ^^       e
                   4988:  +7 ^ ^      f
                   4989:  +8 ^  ^     )
                   4990:  +9 ^  ^     x
                   4991: +10 ^   ^    
                   4992:  0: defx
                   4993:  1: def
                   4994:   ** Failers 
                   4995: No match
                   4996:   abcdefzx
                   4997: --->abcdefzx
                   4998:  +0 ^            (abc|def)
                   4999:  +1 ^            a
                   5000:  +2 ^^           b
                   5001:  +3 ^ ^          c
                   5002:  +4 ^  ^         |
                   5003:  +9 ^  ^         x
                   5004:  +5 ^            d
                   5005:  +0  ^           (abc|def)
                   5006:  +1  ^           a
                   5007:  +5  ^           d
                   5008:  +0   ^          (abc|def)
                   5009:  +1   ^          a
                   5010:  +5   ^          d
                   5011:  +0    ^         (abc|def)
                   5012:  +1    ^         a
                   5013:  +5    ^         d
                   5014:  +6    ^^        e
                   5015:  +7    ^ ^       f
                   5016:  +8    ^  ^      )
                   5017:  +9    ^  ^      x
                   5018:  +0     ^        (abc|def)
                   5019:  +1     ^        a
                   5020:  +5     ^        d
                   5021:  +0      ^       (abc|def)
                   5022:  +1      ^       a
                   5023:  +5      ^       d
                   5024:  +0       ^      (abc|def)
                   5025:  +1       ^      a
                   5026:  +5       ^      d
                   5027:  +0        ^     (abc|def)
                   5028:  +1        ^     a
                   5029:  +5        ^     d
                   5030: No match
                   5031: 
                   5032: /(ab|cd){3,4}/IC
                   5033: Capturing subpattern count = 1
                   5034: Options:
                   5035: No first char
                   5036: No need char
                   5037:   ababab
                   5038: --->ababab
                   5039:  +0 ^          (ab|cd){3,4}
                   5040:  +1 ^          a
                   5041:  +2 ^^         b
                   5042:  +3 ^ ^        |
                   5043:  +1 ^ ^        a
                   5044:  +2 ^  ^       b
                   5045:  +3 ^   ^      |
                   5046:  +1 ^   ^      a
                   5047:  +2 ^    ^     b
                   5048:  +3 ^     ^    |
                   5049:  +1 ^     ^    a
                   5050:  +4 ^     ^    c
                   5051: +12 ^     ^    
                   5052:  0: ababab
                   5053:  1: ab
                   5054:   abcdabcd
                   5055: --->abcdabcd
                   5056:  +0 ^            (ab|cd){3,4}
                   5057:  +1 ^            a
                   5058:  +2 ^^           b
                   5059:  +3 ^ ^          |
                   5060:  +1 ^ ^          a
                   5061:  +4 ^ ^          c
                   5062:  +5 ^  ^         d
                   5063:  +6 ^   ^        )
                   5064:  +1 ^   ^        a
                   5065:  +2 ^    ^       b
                   5066:  +3 ^     ^      |
                   5067:  +1 ^     ^      a
                   5068:  +4 ^     ^      c
                   5069:  +5 ^      ^     d
                   5070:  +6 ^       ^    )
                   5071: +12 ^       ^    
                   5072:  0: abcdabcd
                   5073:  1: cd
                   5074:   abcdcdcdcdcd
                   5075: --->abcdcdcdcdcd
                   5076:  +0 ^                (ab|cd){3,4}
                   5077:  +1 ^                a
                   5078:  +2 ^^               b
                   5079:  +3 ^ ^              |
                   5080:  +1 ^ ^              a
                   5081:  +4 ^ ^              c
                   5082:  +5 ^  ^             d
                   5083:  +6 ^   ^            )
                   5084:  +1 ^   ^            a
                   5085:  +4 ^   ^            c
                   5086:  +5 ^    ^           d
                   5087:  +6 ^     ^          )
                   5088:  +1 ^     ^          a
                   5089:  +4 ^     ^          c
                   5090:  +5 ^      ^         d
                   5091:  +6 ^       ^        )
                   5092: +12 ^       ^        
                   5093:  0: abcdcdcd
                   5094:  1: cd
                   5095: 
                   5096: /([ab]{,4}c|xy)/ICDZS
                   5097: ------------------------------------------------------------------
                   5098:         Bra
                   5099:         Callout 255 0 14
                   5100:         CBra 1
                   5101:         Callout 255 1 4
                   5102:         [ab]
                   5103:         Callout 255 5 1
                   5104:         {
                   5105:         Callout 255 6 1
                   5106:         ,
                   5107:         Callout 255 7 1
                   5108:         4
                   5109:         Callout 255 8 1
                   5110:         }
                   5111:         Callout 255 9 1
                   5112:         c
                   5113:         Callout 255 10 0
                   5114:         Alt
                   5115:         Callout 255 11 1
                   5116:         x
                   5117:         Callout 255 12 1
                   5118:         y
                   5119:         Callout 255 13 0
                   5120:         Ket
                   5121:         Callout 255 14 0
                   5122:         Ket
                   5123:         End
                   5124: ------------------------------------------------------------------
                   5125: Capturing subpattern count = 1
                   5126: Options:
                   5127: No first char
                   5128: No need char
                   5129: Subject length lower bound = 2
                   5130: Starting byte set: a b x 
                   5131:     Note: that { does NOT introduce a quantifier
                   5132: --->Note: that { does NOT introduce a quantifier
                   5133:  +0         ^                                        ([ab]{,4}c|xy)
                   5134:  +1         ^                                        [ab]
                   5135:  +5         ^^                                       {
                   5136: +11         ^                                        x
                   5137:  +0                                 ^                ([ab]{,4}c|xy)
                   5138:  +1                                 ^                [ab]
                   5139:  +5                                 ^^               {
                   5140: +11                                 ^                x
                   5141:  +0                                     ^            ([ab]{,4}c|xy)
                   5142:  +1                                     ^            [ab]
                   5143:  +5                                     ^^           {
                   5144: +11                                     ^            x
                   5145: No match
                   5146: 
                   5147: /([ab]{,4}c|xy)/ICDZSS
                   5148: ------------------------------------------------------------------
                   5149:         Bra
                   5150:         Callout 255 0 14
                   5151:         CBra 1
                   5152:         Callout 255 1 4
                   5153:         [ab]
                   5154:         Callout 255 5 1
                   5155:         {
                   5156:         Callout 255 6 1
                   5157:         ,
                   5158:         Callout 255 7 1
                   5159:         4
                   5160:         Callout 255 8 1
                   5161:         }
                   5162:         Callout 255 9 1
                   5163:         c
                   5164:         Callout 255 10 0
                   5165:         Alt
                   5166:         Callout 255 11 1
                   5167:         x
                   5168:         Callout 255 12 1
                   5169:         y
                   5170:         Callout 255 13 0
                   5171:         Ket
                   5172:         Callout 255 14 0
                   5173:         Ket
                   5174:         End
                   5175: ------------------------------------------------------------------
                   5176: Capturing subpattern count = 1
                   5177: Options:
                   5178: No first char
                   5179: No need char
                   5180:     Note: that { does NOT introduce a quantifier
                   5181: --->Note: that { does NOT introduce a quantifier
                   5182:  +0 ^                                                ([ab]{,4}c|xy)
                   5183:  +1 ^                                                [ab]
                   5184: +11 ^                                                x
                   5185:  +0  ^                                               ([ab]{,4}c|xy)
                   5186:  +1  ^                                               [ab]
                   5187: +11  ^                                               x
                   5188:  +0   ^                                              ([ab]{,4}c|xy)
                   5189:  +1   ^                                              [ab]
                   5190: +11   ^                                              x
                   5191:  +0    ^                                             ([ab]{,4}c|xy)
                   5192:  +1    ^                                             [ab]
                   5193: +11    ^                                             x
                   5194:  +0     ^                                            ([ab]{,4}c|xy)
                   5195:  +1     ^                                            [ab]
                   5196: +11     ^                                            x
                   5197:  +0      ^                                           ([ab]{,4}c|xy)
                   5198:  +1      ^                                           [ab]
                   5199: +11      ^                                           x
                   5200:  +0       ^                                          ([ab]{,4}c|xy)
                   5201:  +1       ^                                          [ab]
                   5202: +11       ^                                          x
                   5203:  +0        ^                                         ([ab]{,4}c|xy)
                   5204:  +1        ^                                         [ab]
                   5205: +11        ^                                         x
                   5206:  +0         ^                                        ([ab]{,4}c|xy)
                   5207:  +1         ^                                        [ab]
                   5208:  +5         ^^                                       {
                   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: +11                    ^                             x
                   5243:  +0                     ^                            ([ab]{,4}c|xy)
                   5244:  +1                     ^                            [ab]
                   5245: +11                     ^                            x
                   5246:  +0                      ^                           ([ab]{,4}c|xy)
                   5247:  +1                      ^                           [ab]
                   5248: +11                      ^                           x
                   5249:  +0                       ^                          ([ab]{,4}c|xy)
                   5250:  +1                       ^                          [ab]
                   5251: +11                       ^                          x
                   5252:  +0                        ^                         ([ab]{,4}c|xy)
                   5253:  +1                        ^                         [ab]
                   5254: +11                        ^                         x
                   5255:  +0                         ^                        ([ab]{,4}c|xy)
                   5256:  +1                         ^                        [ab]
                   5257: +11                         ^                        x
                   5258:  +0                          ^                       ([ab]{,4}c|xy)
                   5259:  +1                          ^                       [ab]
                   5260: +11                          ^                       x
                   5261:  +0                           ^                      ([ab]{,4}c|xy)
                   5262:  +1                           ^                      [ab]
                   5263: +11                           ^                      x
                   5264:  +0                            ^                     ([ab]{,4}c|xy)
                   5265:  +1                            ^                     [ab]
                   5266: +11                            ^                     x
                   5267:  +0                             ^                    ([ab]{,4}c|xy)
                   5268:  +1                             ^                    [ab]
                   5269: +11                             ^                    x
                   5270:  +0                              ^                   ([ab]{,4}c|xy)
                   5271:  +1                              ^                   [ab]
                   5272: +11                              ^                   x
                   5273:  +0                               ^                  ([ab]{,4}c|xy)
                   5274:  +1                               ^                  [ab]
                   5275: +11                               ^                  x
                   5276:  +0                                ^                 ([ab]{,4}c|xy)
                   5277:  +1                                ^                 [ab]
                   5278: +11                                ^                 x
                   5279:  +0                                 ^                ([ab]{,4}c|xy)
                   5280:  +1                                 ^                [ab]
                   5281:  +5                                 ^^               {
                   5282: +11                                 ^                x
                   5283:  +0                                  ^               ([ab]{,4}c|xy)
                   5284:  +1                                  ^               [ab]
                   5285: +11                                  ^               x
                   5286:  +0                                   ^              ([ab]{,4}c|xy)
                   5287:  +1                                   ^              [ab]
                   5288: +11                                   ^              x
                   5289:  +0                                    ^             ([ab]{,4}c|xy)
                   5290:  +1                                    ^             [ab]
                   5291: +11                                    ^             x
                   5292:  +0                                     ^            ([ab]{,4}c|xy)
                   5293:  +1                                     ^            [ab]
                   5294:  +5                                     ^^           {
                   5295: +11                                     ^            x
                   5296:  +0                                      ^           ([ab]{,4}c|xy)
                   5297:  +1                                      ^           [ab]
                   5298: +11                                      ^           x
                   5299:  +0                                       ^          ([ab]{,4}c|xy)
                   5300:  +1                                       ^          [ab]
                   5301: +11                                       ^          x
                   5302:  +0                                        ^         ([ab]{,4}c|xy)
                   5303:  +1                                        ^         [ab]
                   5304: +11                                        ^         x
                   5305:  +0                                         ^        ([ab]{,4}c|xy)
                   5306:  +1                                         ^        [ab]
                   5307: +11                                         ^        x
                   5308:  +0                                          ^       ([ab]{,4}c|xy)
                   5309:  +1                                          ^       [ab]
                   5310: +11                                          ^       x
                   5311:  +0                                           ^      ([ab]{,4}c|xy)
                   5312:  +1                                           ^      [ab]
                   5313: +11                                           ^      x
                   5314:  +0                                            ^     ([ab]{,4}c|xy)
                   5315:  +1                                            ^     [ab]
                   5316: +11                                            ^     x
                   5317:  +0                                             ^    ([ab]{,4}c|xy)
                   5318:  +1                                             ^    [ab]
                   5319: +11                                             ^    x
                   5320: No match
                   5321: 
                   5322: /([ab]{1,4}c|xy){4,5}?123/ICDZ
                   5323: ------------------------------------------------------------------
                   5324:         Bra
                   5325:         Callout 255 0 21
                   5326:         CBra 1
                   5327:         Callout 255 1 9
1.1.1.5 ! misho    5328:         [ab]{1,4}+
1.1       misho    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:         CBra 1
                   5340:         Callout 255 1 9
1.1.1.5 ! misho    5341:         [ab]{1,4}+
1.1       misho    5342:         Callout 255 10 1
                   5343:         c
                   5344:         Callout 255 11 0
                   5345:         Alt
                   5346:         Callout 255 12 1
                   5347:         x
                   5348:         Callout 255 13 1
                   5349:         y
                   5350:         Callout 255 14 0
                   5351:         Ket
                   5352:         CBra 1
                   5353:         Callout 255 1 9
1.1.1.5 ! misho    5354:         [ab]{1,4}+
1.1       misho    5355:         Callout 255 10 1
                   5356:         c
                   5357:         Callout 255 11 0
                   5358:         Alt
                   5359:         Callout 255 12 1
                   5360:         x
                   5361:         Callout 255 13 1
                   5362:         y
                   5363:         Callout 255 14 0
                   5364:         Ket
                   5365:         CBra 1
                   5366:         Callout 255 1 9
1.1.1.5 ! misho    5367:         [ab]{1,4}+
1.1       misho    5368:         Callout 255 10 1
                   5369:         c
                   5370:         Callout 255 11 0
                   5371:         Alt
                   5372:         Callout 255 12 1
                   5373:         x
                   5374:         Callout 255 13 1
                   5375:         y
                   5376:         Callout 255 14 0
                   5377:         Ket
                   5378:         Braminzero
                   5379:         CBra 1
                   5380:         Callout 255 1 9
1.1.1.5 ! misho    5381:         [ab]{1,4}+
1.1       misho    5382:         Callout 255 10 1
                   5383:         c
                   5384:         Callout 255 11 0
                   5385:         Alt
                   5386:         Callout 255 12 1
                   5387:         x
                   5388:         Callout 255 13 1
                   5389:         y
                   5390:         Callout 255 14 0
                   5391:         Ket
                   5392:         Callout 255 21 1
                   5393:         1
                   5394:         Callout 255 22 1
                   5395:         2
                   5396:         Callout 255 23 1
                   5397:         3
                   5398:         Callout 255 24 0
                   5399:         Ket
                   5400:         End
                   5401: ------------------------------------------------------------------
                   5402: Capturing subpattern count = 1
                   5403: Options:
                   5404: No first char
                   5405: Need char = '3'
                   5406:     aacaacaacaacaac123
                   5407: --->aacaacaacaacaac123
                   5408:  +0 ^                      ([ab]{1,4}c|xy){4,5}?
                   5409:  +1 ^                      [ab]{1,4}
                   5410: +10 ^ ^                    c
                   5411: +11 ^  ^                   |
                   5412:  +1 ^  ^                   [ab]{1,4}
                   5413: +10 ^    ^                 c
                   5414: +11 ^     ^                |
                   5415:  +1 ^     ^                [ab]{1,4}
                   5416: +10 ^       ^              c
                   5417: +11 ^        ^             |
                   5418:  +1 ^        ^             [ab]{1,4}
                   5419: +10 ^          ^           c
                   5420: +11 ^           ^          |
                   5421: +21 ^           ^          1
                   5422:  +1 ^           ^          [ab]{1,4}
                   5423: +10 ^             ^        c
                   5424: +11 ^              ^       |
                   5425: +21 ^              ^       1
                   5426: +22 ^               ^      2
                   5427: +23 ^                ^     3
                   5428: +24 ^                 ^    
                   5429:  0: aacaacaacaacaac123
                   5430:  1: aac
                   5431: 
                   5432: /\b.*/I
                   5433: Capturing subpattern count = 0
1.1.1.4   misho    5434: Max lookbehind = 1
1.1.1.5 ! misho    5435: May match empty string
1.1       misho    5436: No options
                   5437: No first char
                   5438: No need char
                   5439:   ab cd\>1
                   5440:  0:  cd
                   5441: 
                   5442: /\b.*/Is
                   5443: Capturing subpattern count = 0
1.1.1.4   misho    5444: Max lookbehind = 1
1.1.1.5 ! misho    5445: May match empty string
1.1       misho    5446: Options: dotall
                   5447: No first char
                   5448: No need char
                   5449:   ab cd\>1
                   5450:  0:  cd
                   5451: 
                   5452: /(?!.bcd).*/I
                   5453: Capturing subpattern count = 0
1.1.1.5 ! misho    5454: May match empty string
1.1       misho    5455: No options
                   5456: No first char
                   5457: No need char
                   5458:   Xbcd12345
                   5459:  0: bcd12345
                   5460: 
                   5461: /abcde/I
                   5462: Capturing subpattern count = 0
                   5463: No options
                   5464: First char = 'a'
                   5465: Need char = 'e'
                   5466:     ab\P
                   5467: Partial match: ab
                   5468:     abc\P
                   5469: Partial match: abc
                   5470:     abcd\P
                   5471: Partial match: abcd
                   5472:     abcde\P
                   5473:  0: abcde
                   5474:     the quick brown abc\P
                   5475: Partial match: abc
                   5476:     ** Failers\P
                   5477: No match
                   5478:     the quick brown abxyz fox\P
                   5479: No match
                   5480: 
                   5481: "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
                   5482: Capturing subpattern count = 3
                   5483: Options: anchored
                   5484: No first char
                   5485: Need char = '/'
                   5486:     13/05/04\P
                   5487:  0: 13/05/04
                   5488:  1: 13
                   5489:  2: 05
                   5490:     13/5/2004\P
                   5491:  0: 13/5/2004
                   5492:  1: 13
                   5493:  2: 5
                   5494:  3: 20
                   5495:     02/05/09\P
                   5496:  0: 02/05/09
                   5497:  1: 02
                   5498:  2: 05
                   5499:     1\P
                   5500: Partial match: 1
                   5501:     1/2\P
                   5502: Partial match: 1/2
                   5503:     1/2/0\P
                   5504: Partial match: 1/2/0
                   5505:     1/2/04\P
                   5506:  0: 1/2/04
                   5507:  1: 1
                   5508:  2: 2
                   5509:     0\P
                   5510: Partial match: 0
                   5511:     02/\P
                   5512: Partial match: 02/
                   5513:     02/0\P
                   5514: Partial match: 02/0
                   5515:     02/1\P
                   5516: Partial match: 02/1
                   5517:     ** Failers\P
                   5518: No match
                   5519:     \P
                   5520: No match
                   5521:     123\P
                   5522: No match
                   5523:     33/4/04\P
                   5524: No match
                   5525:     3/13/04\P
                   5526: No match
                   5527:     0/1/2003\P
                   5528: No match
                   5529:     0/\P
                   5530: No match
                   5531:     02/0/\P
                   5532: No match
                   5533:     02/13\P
                   5534: No match
                   5535: 
                   5536: /0{0,2}ABC/I
                   5537: Capturing subpattern count = 0
                   5538: No options
                   5539: No first char
                   5540: Need char = 'C'
                   5541: 
                   5542: /\d{3,}ABC/I
                   5543: Capturing subpattern count = 0
                   5544: No options
                   5545: No first char
                   5546: Need char = 'C'
                   5547: 
                   5548: /\d*ABC/I
                   5549: Capturing subpattern count = 0
                   5550: No options
                   5551: No first char
                   5552: Need char = 'C'
                   5553: 
                   5554: /[abc]+DE/I
                   5555: Capturing subpattern count = 0
                   5556: No options
                   5557: No first char
                   5558: Need char = 'E'
                   5559: 
                   5560: /[abc]?123/I
                   5561: Capturing subpattern count = 0
                   5562: No options
                   5563: No first char
                   5564: Need char = '3'
                   5565:     123\P
                   5566:  0: 123
                   5567:     a\P
                   5568: Partial match: a
                   5569:     b\P
                   5570: Partial match: b
                   5571:     c\P
                   5572: Partial match: c
                   5573:     c12\P
                   5574: Partial match: c12
                   5575:     c123\P
                   5576:  0: c123
                   5577: 
                   5578: /^(?:\d){3,5}X/I
                   5579: Capturing subpattern count = 0
                   5580: Options: anchored
                   5581: No first char
                   5582: Need char = 'X'
                   5583:     1\P
                   5584: Partial match: 1
                   5585:     123\P
                   5586: Partial match: 123
                   5587:     123X
                   5588:  0: 123X
                   5589:     1234\P
                   5590: Partial match: 1234
                   5591:     1234X
                   5592:  0: 1234X
                   5593:     12345\P
                   5594: Partial match: 12345
                   5595:     12345X
                   5596:  0: 12345X
                   5597:     *** Failers
                   5598: No match
                   5599:     1X
                   5600: No match
                   5601:     123456\P
                   5602: No match
                   5603: 
                   5604: /abc/IS>testsavedregex
                   5605: Capturing subpattern count = 0
                   5606: No options
                   5607: First char = 'a'
                   5608: Need char = 'c'
                   5609: Subject length lower bound = 3
                   5610: No set of starting bytes
                   5611: Compiled pattern written to testsavedregex
                   5612: Study data written to testsavedregex
                   5613: <testsavedregex
                   5614: Compiled pattern loaded from testsavedregex
                   5615: Study data loaded from testsavedregex
                   5616:     abc
                   5617:  0: abc
                   5618:     ** Failers
                   5619: No match
                   5620:     bca
                   5621: No match
                   5622: 
                   5623: /abc/ISS>testsavedregex
                   5624: Capturing subpattern count = 0
                   5625: No options
                   5626: First char = 'a'
                   5627: Need char = 'c'
                   5628: Compiled pattern written to testsavedregex
                   5629: <testsavedregex
                   5630: Compiled pattern loaded from testsavedregex
                   5631: No study data
                   5632:     abc
                   5633:  0: abc
                   5634:     ** Failers
                   5635: No match
                   5636:     bca
                   5637: No match
                   5638: 
                   5639: /abc/IFS>testsavedregex
                   5640: Capturing subpattern count = 0
                   5641: No options
                   5642: First char = 'a'
                   5643: Need char = 'c'
                   5644: Subject length lower bound = 3
                   5645: No set of starting bytes
                   5646: Compiled pattern written to testsavedregex
                   5647: Study data written to testsavedregex
                   5648: <testsavedregex
                   5649: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5650: Study data loaded from testsavedregex
                   5651:     abc
                   5652:  0: abc
                   5653:     ** Failers
                   5654: No match
                   5655:     bca
                   5656: No match
                   5657: 
                   5658: /abc/IFSS>testsavedregex
                   5659: Capturing subpattern count = 0
                   5660: No options
                   5661: First char = 'a'
                   5662: Need char = 'c'
                   5663: Compiled pattern written to testsavedregex
                   5664: <testsavedregex
                   5665: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5666: No study data
                   5667:     abc
                   5668:  0: abc
                   5669:     ** Failers
                   5670: No match
                   5671:     bca
                   5672: No match
                   5673: 
                   5674: /(a|b)/IS>testsavedregex
                   5675: Capturing subpattern count = 1
                   5676: No options
                   5677: No first char
                   5678: No need char
                   5679: Subject length lower bound = 1
                   5680: Starting byte set: a b 
                   5681: Compiled pattern written to testsavedregex
                   5682: Study data written to testsavedregex
                   5683: <testsavedregex
                   5684: Compiled pattern loaded from testsavedregex
                   5685: Study data loaded from testsavedregex
                   5686:     abc
                   5687:  0: a
                   5688:  1: a
                   5689:     ** Failers
                   5690:  0: a
                   5691:  1: a
                   5692:     def
                   5693: No match
                   5694: 
                   5695: /(a|b)/ISS>testsavedregex
                   5696: Capturing subpattern count = 1
                   5697: No options
                   5698: No first char
                   5699: No need char
                   5700: Compiled pattern written to testsavedregex
                   5701: <testsavedregex
                   5702: Compiled pattern loaded from testsavedregex
                   5703: No study data
                   5704:     abc
                   5705:  0: a
                   5706:  1: a
                   5707:     ** Failers
                   5708:  0: a
                   5709:  1: a
                   5710:     def
                   5711: No match
                   5712: 
                   5713: /(a|b)/ISF>testsavedregex
                   5714: Capturing subpattern count = 1
                   5715: No options
                   5716: No first char
                   5717: No need char
                   5718: Subject length lower bound = 1
                   5719: Starting byte set: a b 
                   5720: Compiled pattern written to testsavedregex
                   5721: Study data written to testsavedregex
                   5722: <testsavedregex
                   5723: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5724: Study data loaded from testsavedregex
                   5725:     abc
                   5726:  0: a
                   5727:  1: a
                   5728:     ** Failers
                   5729:  0: a
                   5730:  1: a
                   5731:     def
                   5732: No match
                   5733: 
                   5734: /(a|b)/ISSF>testsavedregex
                   5735: Capturing subpattern count = 1
                   5736: No options
                   5737: No first char
                   5738: No need char
                   5739: Compiled pattern written to testsavedregex
                   5740: <testsavedregex
                   5741: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5742: No study data
                   5743:     abc
                   5744:  0: a
                   5745:  1: a
                   5746:     ** Failers
                   5747:  0: a
                   5748:  1: a
                   5749:     def
                   5750: No match
                   5751: 
                   5752: ~<(\w+)/?>(.)*</(\1)>~smgI
                   5753: Capturing subpattern count = 3
                   5754: Max back reference = 1
                   5755: Options: multiline dotall
                   5756: First char = '<'
                   5757: Need char = '>'
                   5758:     \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>
                   5759:  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>
                   5760:  1: seite
                   5761:  2: \x0a
                   5762:  3: seite
                   5763: 
                   5764: /^a/IF
                   5765: Capturing subpattern count = 0
                   5766: Options: anchored
                   5767: No first char
                   5768: No need char
                   5769: 
                   5770: /line\nbreak/I
                   5771: Capturing subpattern count = 0
                   5772: Contains explicit CR or LF match
                   5773: No options
                   5774: First char = 'l'
                   5775: Need char = 'k'
                   5776:     this is a line\nbreak
                   5777:  0: line\x0abreak
                   5778:     line one\nthis is a line\nbreak in the second line
                   5779:  0: line\x0abreak
                   5780: 
                   5781: /line\nbreak/If
                   5782: Capturing subpattern count = 0
                   5783: Contains explicit CR or LF match
                   5784: Options: firstline
                   5785: First char = 'l'
                   5786: Need char = 'k'
                   5787:     this is a line\nbreak
                   5788:  0: line\x0abreak
                   5789:     ** Failers
                   5790: No match
                   5791:     line one\nthis is a line\nbreak in the second line
                   5792: No match
                   5793: 
                   5794: /line\nbreak/Imf
                   5795: Capturing subpattern count = 0
                   5796: Contains explicit CR or LF match
                   5797: Options: multiline firstline
                   5798: First char = 'l'
                   5799: Need char = 'k'
                   5800:     this is a line\nbreak
                   5801:  0: line\x0abreak
                   5802:     ** Failers
                   5803: No match
                   5804:     line one\nthis is a line\nbreak in the second line
                   5805: No match
                   5806: 
                   5807: /(?i)(?-i)AbCd/I
                   5808: Capturing subpattern count = 0
                   5809: No options
                   5810: First char = 'A'
                   5811: Need char = 'd'
                   5812:     AbCd
                   5813:  0: AbCd
                   5814:     ** Failers
                   5815: No match
                   5816:     abcd
                   5817: No match
                   5818: 
                   5819: /a{11111111111111111111}/I
                   5820: Failed: number too big in {} quantifier at offset 22
                   5821: 
                   5822: /(){64294967295}/I
                   5823: Failed: number too big in {} quantifier at offset 14
                   5824: 
                   5825: /(){2,4294967295}/I
                   5826: Failed: number too big in {} quantifier at offset 15
                   5827: 
                   5828: "(?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
                   5829: Capturing subpattern count = 1
                   5830: Max back reference = 1
                   5831: No options
                   5832: First char = 'a' (caseless)
                   5833: Need char = 'B'
                   5834:     abcdefghijklAkB
                   5835:  0: abcdefghijklAkB
                   5836:  1: k
                   5837: 
                   5838: "(?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
                   5839: Capturing subpattern count = 12
                   5840: Max back reference = 11
                   5841: Named capturing subpatterns:
                   5842:   n0    1
                   5843:   n1    2
                   5844:   n10  11
                   5845:   n11  12
                   5846:   n2    3
                   5847:   n3    4
                   5848:   n4    5
                   5849:   n5    6
                   5850:   n6    7
                   5851:   n7    8
                   5852:   n8    9
                   5853:   n9   10
                   5854: No options
                   5855: First char = 'a'
                   5856: Need char = 'B'
                   5857:     abcdefghijklAkB
                   5858:  0: abcdefghijklAkB
                   5859:  1: a
                   5860:  2: b
                   5861:  3: c
                   5862:  4: d
                   5863:  5: e
                   5864:  6: f
                   5865:  7: g
                   5866:  8: h
                   5867:  9: i
                   5868: 10: j
                   5869: 11: k
                   5870: 12: l
                   5871: 
                   5872: "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
                   5873: Capturing subpattern count = 12
                   5874: Max back reference = 11
                   5875: No options
                   5876: First char = 'a'
                   5877: Need char = 'B'
                   5878:     abcdefghijklAkB
                   5879:  0: abcdefghijklAkB
                   5880:  1: a
                   5881:  2: b
                   5882:  3: c
                   5883:  4: d
                   5884:  5: e
                   5885:  6: f
                   5886:  7: g
                   5887:  8: h
                   5888:  9: i
                   5889: 10: j
                   5890: 11: k
                   5891: 12: l
                   5892: 
                   5893: "(?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
                   5894: Capturing subpattern count = 101
                   5895: Named capturing subpatterns:
                   5896:   name0     1
                   5897:   name1     2
                   5898:   name10   11
                   5899:   name100 101
                   5900:   name11   12
                   5901:   name12   13
                   5902:   name13   14
                   5903:   name14   15
                   5904:   name15   16
                   5905:   name16   17
                   5906:   name17   18
                   5907:   name18   19
                   5908:   name19   20
                   5909:   name2     3
                   5910:   name20   21
                   5911:   name21   22
                   5912:   name22   23
                   5913:   name23   24
                   5914:   name24   25
                   5915:   name25   26
                   5916:   name26   27
                   5917:   name27   28
                   5918:   name28   29
                   5919:   name29   30
                   5920:   name3     4
                   5921:   name30   31
                   5922:   name31   32
                   5923:   name32   33
                   5924:   name33   34
                   5925:   name34   35
                   5926:   name35   36
                   5927:   name36   37
                   5928:   name37   38
                   5929:   name38   39
                   5930:   name39   40
                   5931:   name4     5
                   5932:   name40   41
                   5933:   name41   42
                   5934:   name42   43
                   5935:   name43   44
                   5936:   name44   45
                   5937:   name45   46
                   5938:   name46   47
                   5939:   name47   48
                   5940:   name48   49
                   5941:   name49   50
                   5942:   name5     6
                   5943:   name50   51
                   5944:   name51   52
                   5945:   name52   53
                   5946:   name53   54
                   5947:   name54   55
                   5948:   name55   56
                   5949:   name56   57
                   5950:   name57   58
                   5951:   name58   59
                   5952:   name59   60
                   5953:   name6     7
                   5954:   name60   61
                   5955:   name61   62
                   5956:   name62   63
                   5957:   name63   64
                   5958:   name64   65
                   5959:   name65   66
                   5960:   name66   67
                   5961:   name67   68
                   5962:   name68   69
                   5963:   name69   70
                   5964:   name7     8
                   5965:   name70   71
                   5966:   name71   72
                   5967:   name72   73
                   5968:   name73   74
                   5969:   name74   75
                   5970:   name75   76
                   5971:   name76   77
                   5972:   name77   78
                   5973:   name78   79
                   5974:   name79   80
                   5975:   name8     9
                   5976:   name80   81
                   5977:   name81   82
                   5978:   name82   83
                   5979:   name83   84
                   5980:   name84   85
                   5981:   name85   86
                   5982:   name86   87
                   5983:   name87   88
                   5984:   name88   89
                   5985:   name89   90
                   5986:   name9    10
                   5987:   name90   91
                   5988:   name91   92
                   5989:   name92   93
                   5990:   name93   94
                   5991:   name94   95
                   5992:   name95   96
                   5993:   name96   97
                   5994:   name97   98
                   5995:   name98   99
                   5996:   name99  100
                   5997: No options
                   5998: First char = 'a'
                   5999: Need char = 'a'
                   6000:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   6001: Matched, but too many substrings
                   6002:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   6003:  1: a
                   6004:  2: a
                   6005:  3: a
                   6006:  4: a
                   6007:  5: a
                   6008:  6: a
                   6009:  7: a
                   6010:  8: a
                   6011:  9: a
                   6012: 10: a
                   6013: 11: a
                   6014: 12: a
                   6015: 13: a
                   6016: 14: a
                   6017: 
                   6018: "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
                   6019: Capturing subpattern count = 101
                   6020: No options
                   6021: First char = 'a'
                   6022: Need char = 'a'
                   6023:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   6024: Matched, but too many substrings
                   6025:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   6026:  1: a
                   6027:  2: a
                   6028:  3: a
                   6029:  4: a
                   6030:  5: a
                   6031:  6: a
                   6032:  7: a
                   6033:  8: a
                   6034:  9: a
                   6035: 10: a
                   6036: 11: a
                   6037: 12: a
                   6038: 13: a
                   6039: 14: a
                   6040: 
                   6041: /[^()]*(?:\((?R)\)[^()]*)*/I
                   6042: Capturing subpattern count = 0
1.1.1.5 ! misho    6043: May match empty string
1.1       misho    6044: No options
                   6045: No first char
                   6046: No need char
                   6047:     (this(and)that
                   6048:  0: 
                   6049:     (this(and)that)
                   6050:  0: (this(and)that)
                   6051:     (this(and)that)stuff
                   6052:  0: (this(and)that)stuff
                   6053: 
                   6054: /[^()]*(?:\((?>(?R))\)[^()]*)*/I
                   6055: Capturing subpattern count = 0
1.1.1.5 ! misho    6056: May match empty string
1.1       misho    6057: No options
                   6058: No first char
                   6059: No need char
                   6060:     (this(and)that
                   6061:  0: 
                   6062:     (this(and)that)
                   6063:  0: (this(and)that)
                   6064: 
                   6065: /[^()]*(?:\((?R)\))*[^()]*/I
                   6066: Capturing subpattern count = 0
1.1.1.5 ! misho    6067: May match empty string
1.1       misho    6068: No options
                   6069: No first char
                   6070: No need char
                   6071:     (this(and)that
                   6072:  0: 
                   6073:     (this(and)that)
                   6074:  0: (this(and)that)
                   6075: 
                   6076: /(?:\((?R)\))*[^()]*/I
                   6077: Capturing subpattern count = 0
1.1.1.5 ! misho    6078: May match empty string
1.1       misho    6079: No options
                   6080: No first char
                   6081: No need char
                   6082:     (this(and)that
                   6083:  0: 
                   6084:     (this(and)that)
                   6085:  0: 
                   6086:     ((this))
                   6087:  0: ((this))
                   6088: 
                   6089: /(?:\((?R)\))|[^()]*/I
                   6090: Capturing subpattern count = 0
1.1.1.5 ! misho    6091: May match empty string
1.1       misho    6092: No options
                   6093: No first char
                   6094: No need char
                   6095:     (this(and)that
                   6096:  0: 
                   6097:     (this(and)that)
                   6098:  0: 
                   6099:     (this)
                   6100:  0: (this)
                   6101:     ((this))
                   6102:  0: ((this))
                   6103: 
                   6104: /\x{0000ff}/I
                   6105: Capturing subpattern count = 0
                   6106: No options
1.1.1.2   misho    6107: First char = \xff
1.1       misho    6108: No need char
                   6109: 
                   6110: /^((?P<A>a1)|(?P<A>a2)b)/I
                   6111: Failed: two named subpatterns have the same name at offset 17
                   6112: 
                   6113: /^((?P<A>a1)|(?P<A>a2)b)/IJ
                   6114: Capturing subpattern count = 3
                   6115: Named capturing subpatterns:
                   6116:   A   2
                   6117:   A   3
                   6118: Options: anchored dupnames
                   6119: No first char
                   6120: No need char
                   6121:     a1b\CA
                   6122:  0: a1
                   6123:  1: a1
                   6124:  2: a1
                   6125:   C a1 (2) A
                   6126:     a2b\CA
                   6127:  0: a2b
                   6128:  1: a2b
                   6129:  2: <unset>
                   6130:  3: a2
                   6131:   C a2 (2) A
                   6132:     ** Failers
                   6133: No match
                   6134:     a1b\CZ\CA
                   6135: no parentheses with name "Z"
                   6136:  0: a1
                   6137:  1: a1
                   6138:  2: a1
                   6139: copy substring Z failed -7
                   6140:   C a1 (2) A
1.1.1.5 ! misho    6141:     
        !          6142: /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
        !          6143: Capturing subpattern count = 3
        !          6144: Named capturing subpatterns:
        !          6145:   a   1
        !          6146:   a   3
        !          6147:   b   2
        !          6148: May match empty string
        !          6149: Options: dupnames
        !          6150: No first char
        !          6151: No need char
1.1       misho    6152: 
                   6153: /^(?P<A>a)(?P<A>b)/IJ
                   6154: Capturing subpattern count = 2
                   6155: Named capturing subpatterns:
                   6156:   A   1
                   6157:   A   2
                   6158: Options: anchored dupnames
                   6159: No first char
                   6160: No need char
                   6161:     ab\CA
                   6162:  0: ab
                   6163:  1: a
                   6164:  2: b
                   6165:   C a (1) A
                   6166: 
                   6167: /^(?P<A>a)(?P<A>b)|cd/IJ
                   6168: Capturing subpattern count = 2
                   6169: Named capturing subpatterns:
                   6170:   A   1
                   6171:   A   2
                   6172: Options: dupnames
                   6173: No first char
                   6174: No need char
                   6175:     ab\CA
                   6176:  0: ab
                   6177:  1: a
                   6178:  2: b
                   6179:   C a (1) A
                   6180:     cd\CA
                   6181:  0: cd
                   6182: copy substring A failed -7
                   6183: 
                   6184: /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
                   6185: Capturing subpattern count = 4
                   6186: Named capturing subpatterns:
                   6187:   A   1
                   6188:   A   2
                   6189:   A   3
                   6190:   A   4
                   6191: Options: dupnames
                   6192: No first char
                   6193: No need char
                   6194:     cdefgh\CA
                   6195:  0: cdefgh
                   6196:  1: <unset>
                   6197:  2: <unset>
                   6198:  3: ef
                   6199:  4: gh
                   6200:   C ef (2) A
                   6201: 
                   6202: /^((?P<A>a1)|(?P<A>a2)b)/IJ
                   6203: Capturing subpattern count = 3
                   6204: Named capturing subpatterns:
                   6205:   A   2
                   6206:   A   3
                   6207: Options: anchored dupnames
                   6208: No first char
                   6209: No need char
                   6210:     a1b\GA
                   6211:  0: a1
                   6212:  1: a1
                   6213:  2: a1
                   6214:   G a1 (2) A
                   6215:     a2b\GA
                   6216:  0: a2b
                   6217:  1: a2b
                   6218:  2: <unset>
                   6219:  3: a2
                   6220:   G a2 (2) A
                   6221:     ** Failers
                   6222: No match
                   6223:     a1b\GZ\GA
                   6224: no parentheses with name "Z"
                   6225:  0: a1
                   6226:  1: a1
                   6227:  2: a1
1.1.1.2   misho    6228: get substring Z failed -7
1.1       misho    6229:   G a1 (2) A
                   6230: 
                   6231: /^(?P<A>a)(?P<A>b)/IJ
                   6232: Capturing subpattern count = 2
                   6233: Named capturing subpatterns:
                   6234:   A   1
                   6235:   A   2
                   6236: Options: anchored dupnames
                   6237: No first char
                   6238: No need char
                   6239:     ab\GA
                   6240:  0: ab
                   6241:  1: a
                   6242:  2: b
                   6243:   G a (1) A
                   6244: 
                   6245: /^(?P<A>a)(?P<A>b)|cd/IJ
                   6246: Capturing subpattern count = 2
                   6247: Named capturing subpatterns:
                   6248:   A   1
                   6249:   A   2
                   6250: Options: dupnames
                   6251: No first char
                   6252: No need char
                   6253:     ab\GA
                   6254:  0: ab
                   6255:  1: a
                   6256:  2: b
                   6257:   G a (1) A
                   6258:     cd\GA
                   6259:  0: cd
1.1.1.2   misho    6260: get substring A failed -7
1.1       misho    6261: 
                   6262: /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
                   6263: Capturing subpattern count = 4
                   6264: Named capturing subpatterns:
                   6265:   A   1
                   6266:   A   2
                   6267:   A   3
                   6268:   A   4
                   6269: Options: dupnames
                   6270: No first char
                   6271: No need char
                   6272:     cdefgh\GA
                   6273:  0: cdefgh
                   6274:  1: <unset>
                   6275:  2: <unset>
                   6276:  3: ef
                   6277:  4: gh
                   6278:   G ef (2) A
                   6279: 
                   6280: /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
                   6281: Capturing subpattern count = 3
                   6282: Named capturing subpatterns:
                   6283:   A   2
                   6284:   A   3
                   6285: Options: anchored dupnames
                   6286: Duplicate name status changes
                   6287: No first char
                   6288: No need char
                   6289:     a1b\CA
                   6290:  0: a1
                   6291:  1: a1
                   6292:  2: a1
                   6293:   C a1 (2) A
                   6294:     a2b\CA
                   6295:  0: a2b
                   6296:  1: a2b
                   6297:  2: <unset>
                   6298:  3: a2
                   6299:   C a2 (2) A
                   6300: 
                   6301: /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
                   6302: Failed: two named subpatterns have the same name at offset 37
                   6303: 
                   6304: / In this next test, J is not set at the outer level; consequently it isn't
                   6305: set in the pattern's options; consequently pcre_get_named_substring() produces
                   6306: a random value. /Ix
                   6307: Capturing subpattern count = 1
                   6308: Options: extended
                   6309: First char = 'I'
                   6310: Need char = 'e'
                   6311: 
                   6312: /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
                   6313: Capturing subpattern count = 4
                   6314: Named capturing subpatterns:
                   6315:   A   1
                   6316:   B   2
                   6317:   B   3
                   6318:   C   4
                   6319: Options: anchored
                   6320: Duplicate name status changes
                   6321: No first char
                   6322: No need char
                   6323:     a bc d\CA\CB\CC
                   6324:  0: a bc d
                   6325:  1: a
                   6326:  2: b
                   6327:  3: c
                   6328:  4: d
                   6329:   C a (1) A
                   6330:   C b (1) B
                   6331:   C d (1) C
                   6332: 
                   6333: /^(?P<A>a)?(?(A)a|b)/I
                   6334: Capturing subpattern count = 1
                   6335: Named capturing subpatterns:
                   6336:   A   1
                   6337: Options: anchored
                   6338: No first char
                   6339: No need char
                   6340:     aabc
                   6341:  0: aa
                   6342:  1: a
                   6343:     bc
                   6344:  0: b
                   6345:     ** Failers
                   6346: No match
                   6347:     abc
                   6348: No match
                   6349: 
                   6350: /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
                   6351: Capturing subpattern count = 1
                   6352: Named capturing subpatterns:
                   6353:   ZZ   1
                   6354: No options
                   6355: No first char
                   6356: Need char = 'X'
                   6357:     bXaX
                   6358:  0: bXaX
                   6359:  1: X
                   6360: 
                   6361: /(?:(?(2y)a|b)(X))+/I
1.1.1.5 ! misho    6362: Failed: malformed number or name after (?( at offset 7
1.1       misho    6363: 
                   6364: /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
                   6365: Failed: reference to non-existent subpattern at offset 9
                   6366: 
                   6367: /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
                   6368: Capturing subpattern count = 1
                   6369: Named capturing subpatterns:
                   6370:   ZZ   1
                   6371: No options
                   6372: No first char
                   6373: Need char = 'X'
                   6374:     bbXaaX
                   6375:  0: bbXaaX
                   6376:  1: X
                   6377: 
                   6378: /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
                   6379: Capturing subpattern count = 1
                   6380: Named capturing subpatterns:
                   6381:   ZZ   1
                   6382: No options
                   6383: No first char
                   6384: Need char = 'X'
                   6385:     (b)\\Xa\\X
                   6386:  0: (b)\Xa\X
                   6387:  1: X
                   6388: 
                   6389: /(?P<ABC/I
                   6390: Failed: syntax error in subpattern name (missing terminator) at offset 7
                   6391: 
                   6392: /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
                   6393: Capturing subpattern count = 1
                   6394: Max back reference = 1
                   6395: Named capturing subpatterns:
                   6396:   A   1
                   6397: No options
                   6398: No first char
                   6399: No need char
                   6400:     bXXaYYaY
                   6401:  0: bXXaYYaY
                   6402:  1: Y
                   6403:     bXYaXXaX
                   6404:  0: bX
                   6405:  1: X
                   6406: 
                   6407: /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
                   6408: Capturing subpattern count = 10
                   6409: Max back reference = 10
                   6410: Named capturing subpatterns:
                   6411:   A  10
                   6412: No options
                   6413: No first char
                   6414: No need char
                   6415:     bXXaYYaY
                   6416:  0: bXXaYYaY
                   6417:  1: 
                   6418:  2: 
                   6419:  3: 
                   6420:  4: 
                   6421:  5: 
                   6422:  6: 
                   6423:  7: 
                   6424:  8: 
                   6425:  9: 
                   6426: 10: Y
                   6427: 
                   6428: /\s*,\s*/IS
                   6429: Capturing subpattern count = 0
                   6430: No options
                   6431: No first char
                   6432: Need char = ','
                   6433: Subject length lower bound = 1
1.1.1.5 ! misho    6434: Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 , 
1.1       misho    6435:     \x0b,\x0b
1.1.1.5 ! misho    6436:  0: \x0b,\x0b
1.1       misho    6437:     \x0c,\x0d
                   6438:  0: \x0c,\x0d
                   6439: 
                   6440: /^abc/Im
                   6441: Capturing subpattern count = 0
                   6442: Options: multiline
                   6443: First char at start or follows newline
                   6444: Need char = 'c'
                   6445:     xyz\nabc
                   6446:  0: abc
                   6447:     xyz\nabc\<lf>
                   6448:  0: abc
                   6449:     xyz\r\nabc\<lf>
                   6450:  0: abc
                   6451:     xyz\rabc\<cr>
                   6452:  0: abc
                   6453:     xyz\r\nabc\<crlf>
                   6454:  0: abc
                   6455:     ** Failers
                   6456: No match
                   6457:     xyz\nabc\<cr>
                   6458: No match
                   6459:     xyz\r\nabc\<cr>
                   6460: No match
                   6461:     xyz\nabc\<crlf>
                   6462: No match
                   6463:     xyz\rabc\<crlf>
                   6464: No match
                   6465:     xyz\rabc\<lf>
                   6466: No match
                   6467: 
                   6468: /abc$/Im<lf>
                   6469: Capturing subpattern count = 0
                   6470: Options: multiline
                   6471: Forced newline sequence: LF
                   6472: First char = 'a'
                   6473: Need char = 'c'
                   6474:     xyzabc
                   6475:  0: abc
                   6476:     xyzabc\n
                   6477:  0: abc
                   6478:     xyzabc\npqr
                   6479:  0: abc
                   6480:     xyzabc\r\<cr>
                   6481:  0: abc
                   6482:     xyzabc\rpqr\<cr>
                   6483:  0: abc
                   6484:     xyzabc\r\n\<crlf>
                   6485:  0: abc
                   6486:     xyzabc\r\npqr\<crlf>
                   6487:  0: abc
                   6488:     ** Failers
                   6489: No match
                   6490:     xyzabc\r
                   6491: No match
                   6492:     xyzabc\rpqr
                   6493: No match
                   6494:     xyzabc\r\n
                   6495: No match
                   6496:     xyzabc\r\npqr
                   6497: No match
                   6498: 
                   6499: /^abc/Im<cr>
                   6500: Capturing subpattern count = 0
                   6501: Options: multiline
                   6502: Forced newline sequence: CR
                   6503: First char at start or follows newline
                   6504: Need char = 'c'
                   6505:     xyz\rabcdef
                   6506:  0: abc
                   6507:     xyz\nabcdef\<lf>
                   6508:  0: abc
                   6509:     ** Failers
                   6510: No match
                   6511:     xyz\nabcdef
                   6512: No match
                   6513: 
                   6514: /^abc/Im<lf>
                   6515: Capturing subpattern count = 0
                   6516: Options: multiline
                   6517: Forced newline sequence: LF
                   6518: First char at start or follows newline
                   6519: Need char = 'c'
                   6520:     xyz\nabcdef
                   6521:  0: abc
                   6522:     xyz\rabcdef\<cr>
                   6523:  0: abc
                   6524:     ** Failers
                   6525: No match
                   6526:     xyz\rabcdef
                   6527: No match
                   6528: 
                   6529: /^abc/Im<crlf>
                   6530: Capturing subpattern count = 0
                   6531: Options: multiline
                   6532: Forced newline sequence: CRLF
                   6533: First char at start or follows newline
                   6534: Need char = 'c'
                   6535:     xyz\r\nabcdef
                   6536:  0: abc
                   6537:     xyz\rabcdef\<cr>
                   6538:  0: abc
                   6539:     ** Failers
                   6540: No match
                   6541:     xyz\rabcdef
                   6542: No match
                   6543: 
                   6544: /^abc/Im<bad>
1.1.1.5 ! misho    6545: Unknown modifier at: <bad>
1.1       misho    6546: 
                   6547: 
                   6548: /abc/I
                   6549: Capturing subpattern count = 0
                   6550: No options
                   6551: First char = 'a'
                   6552: Need char = 'c'
                   6553:     xyz\rabc\<bad>
1.1.1.5 ! misho    6554: Unknown escape sequence at: <bad>
1.1       misho    6555:     abc
                   6556:  0: abc
                   6557: 
                   6558: /.*/I<lf>
                   6559: Capturing subpattern count = 0
1.1.1.5 ! misho    6560: May match empty string
1.1       misho    6561: Options:
                   6562: Forced newline sequence: LF
                   6563: First char at start or follows newline
                   6564: No need char
                   6565:     abc\ndef
                   6566:  0: abc
                   6567:     abc\rdef
                   6568:  0: abc\x0ddef
                   6569:     abc\r\ndef
                   6570:  0: abc\x0d
                   6571:     \<cr>abc\ndef
                   6572:  0: abc\x0adef
                   6573:     \<cr>abc\rdef
                   6574:  0: abc
                   6575:     \<cr>abc\r\ndef
                   6576:  0: abc
                   6577:     \<crlf>abc\ndef
                   6578:  0: abc\x0adef
                   6579:     \<crlf>abc\rdef
                   6580:  0: abc\x0ddef
                   6581:     \<crlf>abc\r\ndef
                   6582:  0: abc
                   6583: 
                   6584: /\w+(.)(.)?def/Is
                   6585: Capturing subpattern count = 2
                   6586: Options: dotall
                   6587: No first char
                   6588: Need char = 'f'
                   6589:     abc\ndef
                   6590:  0: abc\x0adef
                   6591:  1: \x0a
                   6592:     abc\rdef
                   6593:  0: abc\x0ddef
                   6594:  1: \x0d
                   6595:     abc\r\ndef
                   6596:  0: abc\x0d\x0adef
                   6597:  1: \x0d
                   6598:  2: \x0a
                   6599: 
                   6600: +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
                   6601: Capturing subpattern count = 1
1.1.1.5 ! misho    6602: May match empty string
1.1       misho    6603: No options
                   6604: No first char
                   6605: No need char
                   6606:    /* this is a C style comment */\M
                   6607: Minimum match() limit = 120
                   6608: Minimum match() recursion limit = 6
                   6609:  0: /* this is a C style comment */
                   6610:  1: /* this is a C style comment */
                   6611: 
                   6612: /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
                   6613: Capturing subpattern count = 1
                   6614: Named capturing subpatterns:
                   6615:   B   1
                   6616: No options
                   6617: No first char
                   6618: Need char = '.'
                   6619: 
                   6620: /()()()()()()()()()()()()()()()()()()()()
                   6621:  ()()()()()()()()()()()()()()()()()()()()
                   6622:  ()()()()()()()()()()()()()()()()()()()()
                   6623:  ()()()()()()()()()()()()()()()()()()()()
                   6624:  ()()()()()()()()()()()()()()()()()()()()
                   6625:  (.(.))/Ix
                   6626: Capturing subpattern count = 102
                   6627: Options: extended
                   6628: No first char
                   6629: No need char
                   6630:     XY\O400
                   6631:  0: XY
                   6632:  1: 
                   6633:  2: 
                   6634:  3: 
                   6635:  4: 
                   6636:  5: 
                   6637:  6: 
                   6638:  7: 
                   6639:  8: 
                   6640:  9: 
                   6641: 10: 
                   6642: 11: 
                   6643: 12: 
                   6644: 13: 
                   6645: 14: 
                   6646: 15: 
                   6647: 16: 
                   6648: 17: 
                   6649: 18: 
                   6650: 19: 
                   6651: 20: 
                   6652: 21: 
                   6653: 22: 
                   6654: 23: 
                   6655: 24: 
                   6656: 25: 
                   6657: 26: 
                   6658: 27: 
                   6659: 28: 
                   6660: 29: 
                   6661: 30: 
                   6662: 31: 
                   6663: 32: 
                   6664: 33: 
                   6665: 34: 
                   6666: 35: 
                   6667: 36: 
                   6668: 37: 
                   6669: 38: 
                   6670: 39: 
                   6671: 40: 
                   6672: 41: 
                   6673: 42: 
                   6674: 43: 
                   6675: 44: 
                   6676: 45: 
                   6677: 46: 
                   6678: 47: 
                   6679: 48: 
                   6680: 49: 
                   6681: 50: 
                   6682: 51: 
                   6683: 52: 
                   6684: 53: 
                   6685: 54: 
                   6686: 55: 
                   6687: 56: 
                   6688: 57: 
                   6689: 58: 
                   6690: 59: 
                   6691: 60: 
                   6692: 61: 
                   6693: 62: 
                   6694: 63: 
                   6695: 64: 
                   6696: 65: 
                   6697: 66: 
                   6698: 67: 
                   6699: 68: 
                   6700: 69: 
                   6701: 70: 
                   6702: 71: 
                   6703: 72: 
                   6704: 73: 
                   6705: 74: 
                   6706: 75: 
                   6707: 76: 
                   6708: 77: 
                   6709: 78: 
                   6710: 79: 
                   6711: 80: 
                   6712: 81: 
                   6713: 82: 
                   6714: 83: 
                   6715: 84: 
                   6716: 85: 
                   6717: 86: 
                   6718: 87: 
                   6719: 88: 
                   6720: 89: 
                   6721: 90: 
                   6722: 91: 
                   6723: 92: 
                   6724: 93: 
                   6725: 94: 
                   6726: 95: 
                   6727: 96: 
                   6728: 97: 
                   6729: 98: 
                   6730: 99: 
                   6731: 100: 
                   6732: 101: XY
                   6733: 102: Y
                   6734: 
                   6735: /(a*b|(?i:c*(?-i)d))/IS
                   6736: Capturing subpattern count = 1
                   6737: No options
                   6738: No first char
                   6739: No need char
                   6740: Subject length lower bound = 1
                   6741: Starting byte set: C a b c d 
                   6742: 
                   6743: /()[ab]xyz/IS
                   6744: Capturing subpattern count = 1
                   6745: No options
                   6746: No first char
                   6747: Need char = 'z'
                   6748: Subject length lower bound = 4
                   6749: Starting byte set: a b 
                   6750: 
                   6751: /(|)[ab]xyz/IS
                   6752: Capturing subpattern count = 1
                   6753: No options
                   6754: No first char
                   6755: Need char = 'z'
                   6756: Subject length lower bound = 4
                   6757: Starting byte set: a b 
                   6758: 
                   6759: /(|c)[ab]xyz/IS
                   6760: Capturing subpattern count = 1
                   6761: No options
                   6762: No first char
                   6763: Need char = 'z'
                   6764: Subject length lower bound = 4
                   6765: Starting byte set: a b c 
                   6766: 
                   6767: /(|c?)[ab]xyz/IS
                   6768: Capturing subpattern count = 1
                   6769: No options
                   6770: No first char
                   6771: Need char = 'z'
                   6772: Subject length lower bound = 4
                   6773: Starting byte set: a b c 
                   6774: 
                   6775: /(d?|c?)[ab]xyz/IS
                   6776: Capturing subpattern count = 1
                   6777: No options
                   6778: No first char
                   6779: Need char = 'z'
                   6780: Subject length lower bound = 4
                   6781: Starting byte set: a b c d 
                   6782: 
                   6783: /(d?|c)[ab]xyz/IS
                   6784: Capturing subpattern count = 1
                   6785: No options
                   6786: No first char
                   6787: Need char = 'z'
                   6788: Subject length lower bound = 4
                   6789: Starting byte set: a b c d 
                   6790: 
                   6791: /^a*b\d/DZ
                   6792: ------------------------------------------------------------------
                   6793:         Bra
                   6794:         ^
                   6795:         a*+
                   6796:         b
                   6797:         \d
                   6798:         Ket
                   6799:         End
                   6800: ------------------------------------------------------------------
                   6801: Capturing subpattern count = 0
                   6802: Options: anchored
                   6803: No first char
                   6804: Need char = 'b'
                   6805: 
                   6806: /^a*+b\d/DZ
                   6807: ------------------------------------------------------------------
                   6808:         Bra
                   6809:         ^
                   6810:         a*+
                   6811:         b
                   6812:         \d
                   6813:         Ket
                   6814:         End
                   6815: ------------------------------------------------------------------
                   6816: Capturing subpattern count = 0
                   6817: Options: anchored
                   6818: No first char
                   6819: Need char = 'b'
                   6820: 
                   6821: /^a*?b\d/DZ
                   6822: ------------------------------------------------------------------
                   6823:         Bra
                   6824:         ^
                   6825:         a*+
                   6826:         b
                   6827:         \d
                   6828:         Ket
                   6829:         End
                   6830: ------------------------------------------------------------------
                   6831: Capturing subpattern count = 0
                   6832: Options: anchored
                   6833: No first char
                   6834: Need char = 'b'
                   6835: 
                   6836: /^a+A\d/DZ
                   6837: ------------------------------------------------------------------
                   6838:         Bra
                   6839:         ^
                   6840:         a++
                   6841:         A
                   6842:         \d
                   6843:         Ket
                   6844:         End
                   6845: ------------------------------------------------------------------
                   6846: Capturing subpattern count = 0
                   6847: Options: anchored
                   6848: No first char
                   6849: Need char = 'A'
                   6850:     aaaA5
                   6851:  0: aaaA5
                   6852:     ** Failers
                   6853: No match
                   6854:     aaaa5
                   6855: No match
                   6856: 
                   6857: /^a*A\d/IiDZ
                   6858: ------------------------------------------------------------------
                   6859:         Bra
                   6860:         ^
                   6861:      /i a*
                   6862:      /i A
                   6863:         \d
                   6864:         Ket
                   6865:         End
                   6866: ------------------------------------------------------------------
                   6867: Capturing subpattern count = 0
                   6868: Options: anchored caseless
                   6869: No first char
                   6870: Need char = 'A' (caseless)
                   6871:     aaaA5
                   6872:  0: aaaA5
                   6873:     aaaa5
                   6874:  0: aaaa5
                   6875: 
                   6876: /(a*|b*)[cd]/IS
                   6877: Capturing subpattern count = 1
                   6878: No options
                   6879: No first char
                   6880: No need char
                   6881: Subject length lower bound = 1
                   6882: Starting byte set: a b c d 
                   6883: 
                   6884: /(a+|b*)[cd]/IS
                   6885: Capturing subpattern count = 1
                   6886: No options
                   6887: No first char
                   6888: No need char
                   6889: Subject length lower bound = 1
                   6890: Starting byte set: a b c d 
                   6891: 
                   6892: /(a*|b+)[cd]/IS
                   6893: Capturing subpattern count = 1
                   6894: No options
                   6895: No first char
                   6896: No need char
                   6897: Subject length lower bound = 1
                   6898: Starting byte set: a b c d 
                   6899: 
                   6900: /(a+|b+)[cd]/IS
                   6901: Capturing subpattern count = 1
                   6902: No options
                   6903: No first char
                   6904: No need char
                   6905: Subject length lower bound = 2
                   6906: Starting byte set: a b 
                   6907: 
                   6908: /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
                   6909:  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
                   6910:  (((
                   6911:  a
                   6912:  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
                   6913:  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
                   6914:  )))
                   6915: /Ix
                   6916: Capturing subpattern count = 203
                   6917: Options: extended
                   6918: First char = 'a'
                   6919: No need char
                   6920:   large nest
                   6921: Matched, but too many substrings
                   6922:  0: a
                   6923:  1: a
                   6924:  2: a
                   6925:  3: a
                   6926:  4: a
                   6927:  5: a
                   6928:  6: a
                   6929:  7: a
                   6930:  8: a
                   6931:  9: a
                   6932: 10: a
                   6933: 11: a
                   6934: 12: a
                   6935: 13: a
                   6936: 14: a
                   6937: 
                   6938: /a*\d/BZ
                   6939: ------------------------------------------------------------------
                   6940:         Bra
                   6941:         a*+
                   6942:         \d
                   6943:         Ket
                   6944:         End
                   6945: ------------------------------------------------------------------
                   6946: 
                   6947: /a*\D/BZ
                   6948: ------------------------------------------------------------------
                   6949:         Bra
                   6950:         a*
                   6951:         \D
                   6952:         Ket
                   6953:         End
                   6954: ------------------------------------------------------------------
                   6955: 
                   6956: /0*\d/BZ
                   6957: ------------------------------------------------------------------
                   6958:         Bra
                   6959:         0*
                   6960:         \d
                   6961:         Ket
                   6962:         End
                   6963: ------------------------------------------------------------------
                   6964: 
                   6965: /0*\D/BZ
                   6966: ------------------------------------------------------------------
                   6967:         Bra
                   6968:         0*+
                   6969:         \D
                   6970:         Ket
                   6971:         End
                   6972: ------------------------------------------------------------------
                   6973: 
                   6974: /a*\s/BZ
                   6975: ------------------------------------------------------------------
                   6976:         Bra
                   6977:         a*+
                   6978:         \s
                   6979:         Ket
                   6980:         End
                   6981: ------------------------------------------------------------------
                   6982: 
                   6983: /a*\S/BZ
                   6984: ------------------------------------------------------------------
                   6985:         Bra
                   6986:         a*
                   6987:         \S
                   6988:         Ket
                   6989:         End
                   6990: ------------------------------------------------------------------
                   6991: 
                   6992: / *\s/BZ
                   6993: ------------------------------------------------------------------
                   6994:         Bra
                   6995:          *
                   6996:         \s
                   6997:         Ket
                   6998:         End
                   6999: ------------------------------------------------------------------
                   7000: 
                   7001: / *\S/BZ
                   7002: ------------------------------------------------------------------
                   7003:         Bra
                   7004:          *+
                   7005:         \S
                   7006:         Ket
                   7007:         End
                   7008: ------------------------------------------------------------------
                   7009: 
                   7010: /a*\w/BZ
                   7011: ------------------------------------------------------------------
                   7012:         Bra
                   7013:         a*
                   7014:         \w
                   7015:         Ket
                   7016:         End
                   7017: ------------------------------------------------------------------
                   7018: 
                   7019: /a*\W/BZ
                   7020: ------------------------------------------------------------------
                   7021:         Bra
                   7022:         a*+
                   7023:         \W
                   7024:         Ket
                   7025:         End
                   7026: ------------------------------------------------------------------
                   7027: 
                   7028: /=*\w/BZ
                   7029: ------------------------------------------------------------------
                   7030:         Bra
                   7031:         =*+
                   7032:         \w
                   7033:         Ket
                   7034:         End
                   7035: ------------------------------------------------------------------
                   7036: 
                   7037: /=*\W/BZ
                   7038: ------------------------------------------------------------------
                   7039:         Bra
                   7040:         =*
                   7041:         \W
                   7042:         Ket
                   7043:         End
                   7044: ------------------------------------------------------------------
                   7045: 
                   7046: /\d*a/BZ
                   7047: ------------------------------------------------------------------
                   7048:         Bra
                   7049:         \d*+
                   7050:         a
                   7051:         Ket
                   7052:         End
                   7053: ------------------------------------------------------------------
                   7054: 
                   7055: /\d*2/BZ
                   7056: ------------------------------------------------------------------
                   7057:         Bra
                   7058:         \d*
                   7059:         2
                   7060:         Ket
                   7061:         End
                   7062: ------------------------------------------------------------------
                   7063: 
                   7064: /\d*\d/BZ
                   7065: ------------------------------------------------------------------
                   7066:         Bra
                   7067:         \d*
                   7068:         \d
                   7069:         Ket
                   7070:         End
                   7071: ------------------------------------------------------------------
                   7072: 
                   7073: /\d*\D/BZ
                   7074: ------------------------------------------------------------------
                   7075:         Bra
                   7076:         \d*+
                   7077:         \D
                   7078:         Ket
                   7079:         End
                   7080: ------------------------------------------------------------------
                   7081: 
                   7082: /\d*\s/BZ
                   7083: ------------------------------------------------------------------
                   7084:         Bra
                   7085:         \d*+
                   7086:         \s
                   7087:         Ket
                   7088:         End
                   7089: ------------------------------------------------------------------
                   7090: 
                   7091: /\d*\S/BZ
                   7092: ------------------------------------------------------------------
                   7093:         Bra
                   7094:         \d*
                   7095:         \S
                   7096:         Ket
                   7097:         End
                   7098: ------------------------------------------------------------------
                   7099: 
                   7100: /\d*\w/BZ
                   7101: ------------------------------------------------------------------
                   7102:         Bra
                   7103:         \d*
                   7104:         \w
                   7105:         Ket
                   7106:         End
                   7107: ------------------------------------------------------------------
                   7108: 
                   7109: /\d*\W/BZ
                   7110: ------------------------------------------------------------------
                   7111:         Bra
                   7112:         \d*+
                   7113:         \W
                   7114:         Ket
                   7115:         End
                   7116: ------------------------------------------------------------------
                   7117: 
                   7118: /\D*a/BZ
                   7119: ------------------------------------------------------------------
                   7120:         Bra
                   7121:         \D*
                   7122:         a
                   7123:         Ket
                   7124:         End
                   7125: ------------------------------------------------------------------
                   7126: 
                   7127: /\D*2/BZ
                   7128: ------------------------------------------------------------------
                   7129:         Bra
                   7130:         \D*+
                   7131:         2
                   7132:         Ket
                   7133:         End
                   7134: ------------------------------------------------------------------
                   7135: 
                   7136: /\D*\d/BZ
                   7137: ------------------------------------------------------------------
                   7138:         Bra
                   7139:         \D*+
                   7140:         \d
                   7141:         Ket
                   7142:         End
                   7143: ------------------------------------------------------------------
                   7144: 
                   7145: /\D*\D/BZ
                   7146: ------------------------------------------------------------------
                   7147:         Bra
                   7148:         \D*
                   7149:         \D
                   7150:         Ket
                   7151:         End
                   7152: ------------------------------------------------------------------
                   7153: 
                   7154: /\D*\s/BZ
                   7155: ------------------------------------------------------------------
                   7156:         Bra
                   7157:         \D*
                   7158:         \s
                   7159:         Ket
                   7160:         End
                   7161: ------------------------------------------------------------------
                   7162: 
                   7163: /\D*\S/BZ
                   7164: ------------------------------------------------------------------
                   7165:         Bra
                   7166:         \D*
                   7167:         \S
                   7168:         Ket
                   7169:         End
                   7170: ------------------------------------------------------------------
                   7171: 
                   7172: /\D*\w/BZ
                   7173: ------------------------------------------------------------------
                   7174:         Bra
                   7175:         \D*
                   7176:         \w
                   7177:         Ket
                   7178:         End
                   7179: ------------------------------------------------------------------
                   7180: 
                   7181: /\D*\W/BZ
                   7182: ------------------------------------------------------------------
                   7183:         Bra
                   7184:         \D*
                   7185:         \W
                   7186:         Ket
                   7187:         End
                   7188: ------------------------------------------------------------------
                   7189: 
                   7190: /\s*a/BZ
                   7191: ------------------------------------------------------------------
                   7192:         Bra
                   7193:         \s*+
                   7194:         a
                   7195:         Ket
                   7196:         End
                   7197: ------------------------------------------------------------------
                   7198: 
                   7199: /\s*2/BZ
                   7200: ------------------------------------------------------------------
                   7201:         Bra
                   7202:         \s*+
                   7203:         2
                   7204:         Ket
                   7205:         End
                   7206: ------------------------------------------------------------------
                   7207: 
                   7208: /\s*\d/BZ
                   7209: ------------------------------------------------------------------
                   7210:         Bra
                   7211:         \s*+
                   7212:         \d
                   7213:         Ket
                   7214:         End
                   7215: ------------------------------------------------------------------
                   7216: 
                   7217: /\s*\D/BZ
                   7218: ------------------------------------------------------------------
                   7219:         Bra
                   7220:         \s*
                   7221:         \D
                   7222:         Ket
                   7223:         End
                   7224: ------------------------------------------------------------------
                   7225: 
                   7226: /\s*\s/BZ
                   7227: ------------------------------------------------------------------
                   7228:         Bra
                   7229:         \s*
                   7230:         \s
                   7231:         Ket
                   7232:         End
                   7233: ------------------------------------------------------------------
                   7234: 
                   7235: /\s*\S/BZ
                   7236: ------------------------------------------------------------------
                   7237:         Bra
                   7238:         \s*+
                   7239:         \S
                   7240:         Ket
                   7241:         End
                   7242: ------------------------------------------------------------------
                   7243: 
                   7244: /\s*\w/BZ
                   7245: ------------------------------------------------------------------
                   7246:         Bra
                   7247:         \s*+
                   7248:         \w
                   7249:         Ket
                   7250:         End
                   7251: ------------------------------------------------------------------
                   7252: 
                   7253: /\s*\W/BZ
                   7254: ------------------------------------------------------------------
                   7255:         Bra
                   7256:         \s*
                   7257:         \W
                   7258:         Ket
                   7259:         End
                   7260: ------------------------------------------------------------------
                   7261: 
                   7262: /\S*a/BZ
                   7263: ------------------------------------------------------------------
                   7264:         Bra
                   7265:         \S*
                   7266:         a
                   7267:         Ket
                   7268:         End
                   7269: ------------------------------------------------------------------
                   7270: 
                   7271: /\S*2/BZ
                   7272: ------------------------------------------------------------------
                   7273:         Bra
                   7274:         \S*
                   7275:         2
                   7276:         Ket
                   7277:         End
                   7278: ------------------------------------------------------------------
                   7279: 
                   7280: /\S*\d/BZ
                   7281: ------------------------------------------------------------------
                   7282:         Bra
                   7283:         \S*
                   7284:         \d
                   7285:         Ket
                   7286:         End
                   7287: ------------------------------------------------------------------
                   7288: 
                   7289: /\S*\D/BZ
                   7290: ------------------------------------------------------------------
                   7291:         Bra
                   7292:         \S*
                   7293:         \D
                   7294:         Ket
                   7295:         End
                   7296: ------------------------------------------------------------------
                   7297: 
                   7298: /\S*\s/BZ
                   7299: ------------------------------------------------------------------
                   7300:         Bra
                   7301:         \S*+
                   7302:         \s
                   7303:         Ket
                   7304:         End
                   7305: ------------------------------------------------------------------
                   7306: 
                   7307: /\S*\S/BZ
                   7308: ------------------------------------------------------------------
                   7309:         Bra
                   7310:         \S*
                   7311:         \S
                   7312:         Ket
                   7313:         End
                   7314: ------------------------------------------------------------------
                   7315: 
                   7316: /\S*\w/BZ
                   7317: ------------------------------------------------------------------
                   7318:         Bra
                   7319:         \S*
                   7320:         \w
                   7321:         Ket
                   7322:         End
                   7323: ------------------------------------------------------------------
                   7324: 
                   7325: /\S*\W/BZ
                   7326: ------------------------------------------------------------------
                   7327:         Bra
                   7328:         \S*
                   7329:         \W
                   7330:         Ket
                   7331:         End
                   7332: ------------------------------------------------------------------
                   7333: 
                   7334: /\w*a/BZ
                   7335: ------------------------------------------------------------------
                   7336:         Bra
                   7337:         \w*
                   7338:         a
                   7339:         Ket
                   7340:         End
                   7341: ------------------------------------------------------------------
                   7342: 
                   7343: /\w*2/BZ
                   7344: ------------------------------------------------------------------
                   7345:         Bra
                   7346:         \w*
                   7347:         2
                   7348:         Ket
                   7349:         End
                   7350: ------------------------------------------------------------------
                   7351: 
                   7352: /\w*\d/BZ
                   7353: ------------------------------------------------------------------
                   7354:         Bra
                   7355:         \w*
                   7356:         \d
                   7357:         Ket
                   7358:         End
                   7359: ------------------------------------------------------------------
                   7360: 
                   7361: /\w*\D/BZ
                   7362: ------------------------------------------------------------------
                   7363:         Bra
                   7364:         \w*
                   7365:         \D
                   7366:         Ket
                   7367:         End
                   7368: ------------------------------------------------------------------
                   7369: 
                   7370: /\w*\s/BZ
                   7371: ------------------------------------------------------------------
                   7372:         Bra
                   7373:         \w*+
                   7374:         \s
                   7375:         Ket
                   7376:         End
                   7377: ------------------------------------------------------------------
                   7378: 
                   7379: /\w*\S/BZ
                   7380: ------------------------------------------------------------------
                   7381:         Bra
                   7382:         \w*
                   7383:         \S
                   7384:         Ket
                   7385:         End
                   7386: ------------------------------------------------------------------
                   7387: 
                   7388: /\w*\w/BZ
                   7389: ------------------------------------------------------------------
                   7390:         Bra
                   7391:         \w*
                   7392:         \w
                   7393:         Ket
                   7394:         End
                   7395: ------------------------------------------------------------------
                   7396: 
                   7397: /\w*\W/BZ
                   7398: ------------------------------------------------------------------
                   7399:         Bra
                   7400:         \w*+
                   7401:         \W
                   7402:         Ket
                   7403:         End
                   7404: ------------------------------------------------------------------
                   7405: 
                   7406: /\W*a/BZ
                   7407: ------------------------------------------------------------------
                   7408:         Bra
                   7409:         \W*+
                   7410:         a
                   7411:         Ket
                   7412:         End
                   7413: ------------------------------------------------------------------
                   7414: 
                   7415: /\W*2/BZ
                   7416: ------------------------------------------------------------------
                   7417:         Bra
                   7418:         \W*+
                   7419:         2
                   7420:         Ket
                   7421:         End
                   7422: ------------------------------------------------------------------
                   7423: 
                   7424: /\W*\d/BZ
                   7425: ------------------------------------------------------------------
                   7426:         Bra
                   7427:         \W*+
                   7428:         \d
                   7429:         Ket
                   7430:         End
                   7431: ------------------------------------------------------------------
                   7432: 
                   7433: /\W*\D/BZ
                   7434: ------------------------------------------------------------------
                   7435:         Bra
                   7436:         \W*
                   7437:         \D
                   7438:         Ket
                   7439:         End
                   7440: ------------------------------------------------------------------
                   7441: 
                   7442: /\W*\s/BZ
                   7443: ------------------------------------------------------------------
                   7444:         Bra
                   7445:         \W*
                   7446:         \s
                   7447:         Ket
                   7448:         End
                   7449: ------------------------------------------------------------------
                   7450: 
                   7451: /\W*\S/BZ
                   7452: ------------------------------------------------------------------
                   7453:         Bra
                   7454:         \W*
                   7455:         \S
                   7456:         Ket
                   7457:         End
                   7458: ------------------------------------------------------------------
                   7459: 
                   7460: /\W*\w/BZ
                   7461: ------------------------------------------------------------------
                   7462:         Bra
                   7463:         \W*+
                   7464:         \w
                   7465:         Ket
                   7466:         End
                   7467: ------------------------------------------------------------------
                   7468: 
                   7469: /\W*\W/BZ
                   7470: ------------------------------------------------------------------
                   7471:         Bra
                   7472:         \W*
                   7473:         \W
                   7474:         Ket
                   7475:         End
                   7476: ------------------------------------------------------------------
                   7477: 
                   7478: /[^a]+a/BZ
                   7479: ------------------------------------------------------------------
                   7480:         Bra
                   7481:         [^a]++
                   7482:         a
                   7483:         Ket
                   7484:         End
                   7485: ------------------------------------------------------------------
                   7486: 
                   7487: /[^a]+a/BZi
                   7488: ------------------------------------------------------------------
                   7489:         Bra
1.1.1.2   misho    7490:      /i [^a]++
1.1       misho    7491:      /i a
                   7492:         Ket
                   7493:         End
                   7494: ------------------------------------------------------------------
                   7495: 
                   7496: /[^a]+A/BZi
                   7497: ------------------------------------------------------------------
                   7498:         Bra
1.1.1.2   misho    7499:      /i [^a]++
1.1       misho    7500:      /i A
                   7501:         Ket
                   7502:         End
                   7503: ------------------------------------------------------------------
                   7504: 
                   7505: /[^a]+b/BZ
                   7506: ------------------------------------------------------------------
                   7507:         Bra
                   7508:         [^a]+
                   7509:         b
                   7510:         Ket
                   7511:         End
                   7512: ------------------------------------------------------------------
                   7513: 
                   7514: /[^a]+\d/BZ
                   7515: ------------------------------------------------------------------
                   7516:         Bra
                   7517:         [^a]+
                   7518:         \d
                   7519:         Ket
                   7520:         End
                   7521: ------------------------------------------------------------------
                   7522: 
                   7523: /a*[^a]/BZ
                   7524: ------------------------------------------------------------------
                   7525:         Bra
1.1.1.5 ! misho    7526:         a*+
1.1       misho    7527:         [^a]
                   7528:         Ket
                   7529:         End
                   7530: ------------------------------------------------------------------
                   7531: 
                   7532: /(?P<abc>x)(?P<xyz>y)/I
                   7533: Capturing subpattern count = 2
                   7534: Named capturing subpatterns:
                   7535:   abc   1
                   7536:   xyz   2
                   7537: No options
                   7538: First char = 'x'
                   7539: Need char = 'y'
                   7540:     xy\Cabc\Cxyz
                   7541:  0: xy
                   7542:  1: x
                   7543:  2: y
                   7544:   C x (1) abc
                   7545:   C y (1) xyz
                   7546: 
                   7547: /(?<abc>x)(?'xyz'y)/I
                   7548: Capturing subpattern count = 2
                   7549: Named capturing subpatterns:
                   7550:   abc   1
                   7551:   xyz   2
                   7552: No options
                   7553: First char = 'x'
                   7554: Need char = 'y'
                   7555:     xy\Cabc\Cxyz
                   7556:  0: xy
                   7557:  1: x
                   7558:  2: y
                   7559:   C x (1) abc
                   7560:   C y (1) xyz
                   7561: 
                   7562: /(?<abc'x)(?'xyz'y)/I
                   7563: Failed: syntax error in subpattern name (missing terminator) at offset 6
                   7564: 
                   7565: /(?<abc>x)(?'xyz>y)/I
                   7566: Failed: syntax error in subpattern name (missing terminator) at offset 15
                   7567: 
                   7568: /(?P'abc'x)(?P<xyz>y)/I
                   7569: Failed: unrecognized character after (?P at offset 3
                   7570: 
                   7571: /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
                   7572:     bXaX
                   7573:  0: bXaX
                   7574:  1: X
                   7575:     bXbX
                   7576:  0: bX
                   7577:  1: X
                   7578:     ** Failers
                   7579: No match
                   7580:     aXaX
                   7581: No match
                   7582:     aXbX
                   7583: No match
                   7584: 
                   7585: /^(?P>abc)(?<abcd>xxx)/
                   7586: Failed: reference to non-existent subpattern at offset 8
                   7587: 
                   7588: /^(?P>abc)(?<abc>x|y)/
                   7589:     xx
                   7590:  0: xx
                   7591:  1: x
                   7592:     xy
                   7593:  0: xy
                   7594:  1: y
                   7595:     yy
                   7596:  0: yy
                   7597:  1: y
                   7598:     yx
                   7599:  0: yx
                   7600:  1: x
                   7601: 
                   7602: /^(?P>abc)(?P<abc>x|y)/
                   7603:     xx
                   7604:  0: xx
                   7605:  1: x
                   7606:     xy
                   7607:  0: xy
                   7608:  1: y
                   7609:     yy
                   7610:  0: yy
                   7611:  1: y
                   7612:     yx
                   7613:  0: yx
                   7614:  1: x
                   7615: 
                   7616: /^((?(abc)a|b)(?<abc>x|y))+/
                   7617:     bxay
                   7618:  0: bxay
                   7619:  1: ay
                   7620:  2: y
                   7621:     bxby
                   7622:  0: bx
                   7623:  1: bx
                   7624:  2: x
                   7625:     ** Failers
                   7626: No match
                   7627:     axby
                   7628: No match
                   7629: 
                   7630: /^(((?P=abc)|X)(?<abc>x|y))+/
                   7631:     XxXxxx
                   7632:  0: XxXxxx
                   7633:  1: xx
                   7634:  2: x
                   7635:  3: x
                   7636:     XxXyyx
                   7637:  0: XxXyyx
                   7638:  1: yx
                   7639:  2: y
                   7640:  3: x
                   7641:     XxXyxx
                   7642:  0: XxXy
                   7643:  1: Xy
                   7644:  2: X
                   7645:  3: y
                   7646:     ** Failers
                   7647: No match
                   7648:     x
                   7649: No match
                   7650: 
                   7651: /^(?1)(abc)/
                   7652:     abcabc
                   7653:  0: abcabc
                   7654:  1: abc
                   7655: 
                   7656: /^(?:(?:\1|X)(a|b))+/
                   7657:     Xaaa
                   7658:  0: Xaaa
                   7659:  1: a
                   7660:     Xaba
                   7661:  0: Xa
                   7662:  1: a
                   7663: 
                   7664: /^[\E\Qa\E-\Qz\E]+/BZ
                   7665: ------------------------------------------------------------------
                   7666:         Bra
                   7667:         ^
1.1.1.5 ! misho    7668:         [a-z]++
1.1       misho    7669:         Ket
                   7670:         End
                   7671: ------------------------------------------------------------------
                   7672: 
                   7673: /^[a\Q]bc\E]/BZ
                   7674: ------------------------------------------------------------------
                   7675:         Bra
                   7676:         ^
                   7677:         [\]a-c]
                   7678:         Ket
                   7679:         End
                   7680: ------------------------------------------------------------------
                   7681: 
                   7682: /^[a-\Q\E]/BZ
                   7683: ------------------------------------------------------------------
                   7684:         Bra
                   7685:         ^
                   7686:         [\-a]
                   7687:         Ket
                   7688:         End
                   7689: ------------------------------------------------------------------
                   7690: 
                   7691: /^(?P>abc)[()](?<abc>)/BZ
                   7692: ------------------------------------------------------------------
                   7693:         Bra
                   7694:         ^
                   7695:         Recurse
                   7696:         [()]
                   7697:         CBra 1
                   7698:         Ket
                   7699:         Ket
                   7700:         End
                   7701: ------------------------------------------------------------------
                   7702: 
                   7703: /^((?(abc)y)[()](?P<abc>x))+/BZ
                   7704: ------------------------------------------------------------------
                   7705:         Bra
                   7706:         ^
                   7707:         CBra 1
                   7708:         Cond
1.1.1.5 ! misho    7709:       2 Cond ref
1.1       misho    7710:         y
                   7711:         Ket
                   7712:         [()]
                   7713:         CBra 2
                   7714:         x
                   7715:         Ket
                   7716:         KetRmax
                   7717:         Ket
                   7718:         End
                   7719: ------------------------------------------------------------------
                   7720:     (xy)x
                   7721:  0: (xy)x
                   7722:  1: y)x
                   7723:  2: x
                   7724: 
                   7725: /^(?P>abc)\Q()\E(?<abc>)/BZ
                   7726: ------------------------------------------------------------------
                   7727:         Bra
                   7728:         ^
                   7729:         Recurse
                   7730:         ()
                   7731:         CBra 1
                   7732:         Ket
                   7733:         Ket
                   7734:         End
                   7735: ------------------------------------------------------------------
                   7736: 
                   7737: /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
                   7738: ------------------------------------------------------------------
                   7739:         Bra
                   7740:         ^
                   7741:         Recurse
                   7742:         [(\]a]
                   7743:         CBra 1
                   7744:         Ket
                   7745:         Ket
                   7746:         End
                   7747: ------------------------------------------------------------------
                   7748: 
                   7749: /^(?P>abc) # this is (a comment)
                   7750:   (?<abc>)/BZx
                   7751: ------------------------------------------------------------------
                   7752:         Bra
                   7753:         ^
                   7754:         Recurse
                   7755:         CBra 1
                   7756:         Ket
                   7757:         Ket
                   7758:         End
                   7759: ------------------------------------------------------------------
                   7760: 
                   7761: /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
                   7762: Capturing subpattern count = 4
                   7763: Max back reference = 4
                   7764: Named capturing subpatterns:
                   7765:   four    4
                   7766:   one     1
                   7767:   three   3
                   7768:   two     2
1.1.1.5 ! misho    7769: May match empty string
1.1       misho    7770: Options: anchored caseless
                   7771: No first char
                   7772: No need char
                   7773:     1221
                   7774:  0: 1221
                   7775:  1: 1221
                   7776:  2: 1
                   7777:     Satan, oscillate my metallic sonatas!
                   7778:  0: Satan, oscillate my metallic sonatas!
                   7779:  1: <unset>
                   7780:  2: <unset>
                   7781:  3: Satan, oscillate my metallic sonatas
                   7782:  4: S
                   7783:     A man, a plan, a canal: Panama!
                   7784:  0: A man, a plan, a canal: Panama!
                   7785:  1: <unset>
                   7786:  2: <unset>
                   7787:  3: A man, a plan, a canal: Panama
                   7788:  4: A
                   7789:     Able was I ere I saw Elba.
                   7790:  0: Able was I ere I saw Elba.
                   7791:  1: <unset>
                   7792:  2: <unset>
                   7793:  3: Able was I ere I saw Elba
                   7794:  4: A
                   7795:     *** Failers
                   7796: No match
                   7797:     The quick brown fox
                   7798: No match
                   7799: 
                   7800: /(?=(\w+))\1:/I
                   7801: Capturing subpattern count = 1
                   7802: Max back reference = 1
                   7803: No options
                   7804: No first char
                   7805: Need char = ':'
                   7806:     abcd:
                   7807:  0: abcd:
                   7808:  1: abcd
                   7809: 
                   7810: /(?=(?'abc'\w+))\k<abc>:/I
                   7811: Capturing subpattern count = 1
                   7812: Max back reference = 1
                   7813: Named capturing subpatterns:
                   7814:   abc   1
                   7815: No options
                   7816: No first char
                   7817: Need char = ':'
                   7818:     abcd:
                   7819:  0: abcd:
                   7820:  1: abcd
                   7821: 
                   7822: /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
                   7823:     adaa
                   7824:  0: adaa
                   7825:  1: a
                   7826:  2: d
                   7827:     ** Failers
                   7828: No match
                   7829:     addd
                   7830: No match
                   7831:     adbb
                   7832: No match
                   7833: 
                   7834: /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
                   7835:     bdaa
                   7836:  0: bdaa
                   7837:  1: b
                   7838:  2: d
                   7839:     bdab
                   7840:  0: bdab
                   7841:  1: b
                   7842:  2: d
                   7843:     ** Failers
                   7844: No match
                   7845:     bddd
                   7846: No match
                   7847: 
                   7848: /(?(<bc))/
                   7849: Failed: malformed number or name after (?( at offset 6
                   7850: 
                   7851: /(?(''))/
                   7852: Failed: assertion expected after (?( at offset 4
                   7853: 
                   7854: /(?('R')stuff)/
                   7855: Failed: reference to non-existent subpattern at offset 7
                   7856: 
                   7857: /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7858:     abcabc1Xabc2XabcXabcabc
                   7859:  0: abcabc1Xabc2XabcX
                   7860:  1: abcabc1Xabc2XabcX
                   7861:  2: abcabc1Xabc2XabcX
                   7862: 
                   7863: /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7864:     abcabc1Xabc2XabcXabcabc
                   7865:  0: abcabc1Xabc2XabcX
                   7866:  1: abcabc1Xabc2XabcX
                   7867:  2: abcabc1Xabc2XabcX
                   7868: 
1.1.1.5 ! misho    7869: /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
1.1       misho    7870: Failed: reference to non-existent subpattern at offset 29
                   7871: 
                   7872: /^(?(DEFINE) abc | xyz ) /x
                   7873: Failed: DEFINE group contains more than one branch at offset 22
                   7874: 
                   7875: /(?(DEFINE) abc) xyz/xI
                   7876: Capturing subpattern count = 0
                   7877: Options: extended
                   7878: First char = 'x'
                   7879: Need char = 'z'
                   7880: 
                   7881: /(a|)*\d/
                   7882:   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   7883: No match
                   7884:   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
                   7885: Matched, but too many substrings
                   7886: 
                   7887: /^a.b/<lf>
                   7888:     a\rb
                   7889:  0: a\x0db
                   7890:     a\nb\<cr>
                   7891:  0: a\x0ab
                   7892:     a\x85b\<anycrlf> 
                   7893:  0: a\x85b
                   7894:     ** Failers
                   7895: No match
                   7896:     a\nb
                   7897: No match
                   7898:     a\nb\<any>
                   7899: No match
                   7900:     a\rb\<cr>
                   7901: No match
                   7902:     a\rb\<any>
                   7903: No match
                   7904:     a\x85b\<any> 
                   7905: No match
                   7906:     a\rb\<anycrlf>
                   7907: No match
                   7908: 
                   7909: /^abc./mgx<any>
                   7910:     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
                   7911:  0: abc1
                   7912:  0: abc2
                   7913:  0: abc3
                   7914:  0: abc4
                   7915:  0: abc5
                   7916:  0: abc6
                   7917:  0: abc7
                   7918: 
                   7919: /abc.$/mgx<any>
                   7920:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
                   7921:  0: abc1
                   7922:  0: abc2
                   7923:  0: abc3
                   7924:  0: abc4
                   7925:  0: abc5
                   7926:  0: abc6
                   7927:  0: abc9
                   7928: 
                   7929: /a/<cr><any>
                   7930: 
                   7931: /a/<any><crlf>
                   7932: Failed: inconsistent NEWLINE options at offset 0
                   7933: 
                   7934: /^a\Rb/<bsr_unicode>
                   7935:     a\nb
                   7936:  0: a\x0ab
                   7937:     a\rb
                   7938:  0: a\x0db
                   7939:     a\r\nb
                   7940:  0: a\x0d\x0ab
                   7941:     a\x0bb
                   7942:  0: a\x0bb
                   7943:     a\x0cb
                   7944:  0: a\x0cb
                   7945:     a\x85b
                   7946:  0: a\x85b
                   7947:     ** Failers
                   7948: No match
                   7949:     a\n\rb
                   7950: No match
                   7951: 
                   7952: /^a\R*b/<bsr_unicode>
                   7953:     ab
                   7954:  0: ab
                   7955:     a\nb
                   7956:  0: a\x0ab
                   7957:     a\rb
                   7958:  0: a\x0db
                   7959:     a\r\nb
                   7960:  0: a\x0d\x0ab
                   7961:     a\x0bb
                   7962:  0: a\x0bb
                   7963:     a\x0cb
                   7964:  0: a\x0cb
                   7965:     a\x85b
                   7966:  0: a\x85b
                   7967:     a\n\rb
                   7968:  0: a\x0a\x0db
                   7969:     a\n\r\x85\x0cb
                   7970:  0: a\x0a\x0d\x85\x0cb
                   7971: 
                   7972: /^a\R+b/<bsr_unicode>
                   7973:     a\nb
                   7974:  0: a\x0ab
                   7975:     a\rb
                   7976:  0: a\x0db
                   7977:     a\r\nb
                   7978:  0: a\x0d\x0ab
                   7979:     a\x0bb
                   7980:  0: a\x0bb
                   7981:     a\x0cb
                   7982:  0: a\x0cb
                   7983:     a\x85b
                   7984:  0: a\x85b
                   7985:     a\n\rb
                   7986:  0: a\x0a\x0db
                   7987:     a\n\r\x85\x0cb
                   7988:  0: a\x0a\x0d\x85\x0cb
                   7989:     ** Failers
                   7990: No match
                   7991:     ab
                   7992: No match
                   7993: 
                   7994: /^a\R{1,3}b/<bsr_unicode>
                   7995:     a\nb
                   7996:  0: a\x0ab
                   7997:     a\n\rb
                   7998:  0: a\x0a\x0db
                   7999:     a\n\r\x85b
                   8000:  0: a\x0a\x0d\x85b
                   8001:     a\r\n\r\nb
                   8002:  0: a\x0d\x0a\x0d\x0ab
                   8003:     a\r\n\r\n\r\nb
                   8004:  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
                   8005:     a\n\r\n\rb
                   8006:  0: a\x0a\x0d\x0a\x0db
                   8007:     a\n\n\r\nb
                   8008:  0: a\x0a\x0a\x0d\x0ab
                   8009:     ** Failers
                   8010: No match
                   8011:     a\n\n\n\rb
                   8012: No match
                   8013:     a\r
                   8014: No match
                   8015: 
                   8016: /^a[\R]b/<bsr_unicode>
                   8017:     aRb
                   8018:  0: aRb
                   8019:     ** Failers
                   8020: No match
                   8021:     a\nb
                   8022: No match
                   8023: 
                   8024: /(?&abc)X(?<abc>P)/I
                   8025: Capturing subpattern count = 1
                   8026: Named capturing subpatterns:
                   8027:   abc   1
                   8028: No options
                   8029: No first char
                   8030: Need char = 'P'
                   8031:     abcPXP123
                   8032:  0: PXP
                   8033:  1: P
                   8034: 
                   8035: /(?1)X(?<abc>P)/I
                   8036: Capturing subpattern count = 1
                   8037: Named capturing subpatterns:
                   8038:   abc   1
                   8039: No options
                   8040: No first char
                   8041: Need char = 'P'
                   8042:     abcPXP123
                   8043:  0: PXP
                   8044:  1: P
                   8045: 
                   8046: /(?:a(?&abc)b)*(?<abc>x)/
                   8047:     123axbaxbaxbx456
                   8048:  0: axbaxbaxbx
                   8049:  1: x
                   8050:     123axbaxbaxb456
                   8051:  0: x
                   8052:  1: x
                   8053: 
                   8054: /(?:a(?&abc)b){1,5}(?<abc>x)/
                   8055:     123axbaxbaxbx456
                   8056:  0: axbaxbaxbx
                   8057:  1: x
                   8058: 
                   8059: /(?:a(?&abc)b){2,5}(?<abc>x)/
                   8060:     123axbaxbaxbx456
                   8061:  0: axbaxbaxbx
                   8062:  1: x
                   8063: 
                   8064: /(?:a(?&abc)b){2,}(?<abc>x)/
                   8065:     123axbaxbaxbx456
                   8066:  0: axbaxbaxbx
                   8067:  1: x
                   8068: 
                   8069: /(abc)(?i:(?1))/
                   8070:    defabcabcxyz
                   8071:  0: abcabc
                   8072:  1: abc
                   8073:    DEFabcABCXYZ
                   8074: No match
                   8075: 
                   8076: /(abc)(?:(?i)(?1))/
                   8077:    defabcabcxyz
                   8078:  0: abcabc
                   8079:  1: abc
                   8080:    DEFabcABCXYZ
                   8081: No match
                   8082: 
                   8083: /^(a)\g-2/
                   8084: Failed: reference to non-existent subpattern at offset 7
                   8085: 
                   8086: /^(a)\g/
                   8087: Failed: a numbered reference must not be zero at offset 5
                   8088: 
                   8089: /^(a)\g{0}/
                   8090: Failed: a numbered reference must not be zero at offset 8
                   8091: 
                   8092: /^(a)\g{3/
                   8093: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
                   8094: 
1.1.1.5 ! misho    8095: /^(a)\g{aa}/
1.1       misho    8096: Failed: reference to non-existent subpattern at offset 9
                   8097: 
                   8098: /^a.b/<lf>
                   8099:     a\rb
                   8100:  0: a\x0db
                   8101:     *** Failers
                   8102: No match
                   8103:     a\nb
                   8104: No match
                   8105: 
                   8106: /.+foo/
                   8107:     afoo
                   8108:  0: afoo
                   8109:     ** Failers
                   8110: No match
                   8111:     \r\nfoo
                   8112: No match
                   8113:     \nfoo
                   8114: No match
                   8115: 
                   8116: /.+foo/<crlf>
                   8117:     afoo
                   8118:  0: afoo
                   8119:     \nfoo
                   8120:  0: \x0afoo
                   8121:     ** Failers
                   8122: No match
                   8123:     \r\nfoo
                   8124: No match
                   8125: 
                   8126: /.+foo/<any>
                   8127:     afoo
                   8128:  0: afoo
                   8129:     ** Failers
                   8130: No match
                   8131:     \nfoo
                   8132: No match
                   8133:     \r\nfoo
                   8134: No match
                   8135: 
                   8136: /.+foo/s
                   8137:     afoo
                   8138:  0: afoo
                   8139:     \r\nfoo
                   8140:  0: \x0d\x0afoo
                   8141:     \nfoo
                   8142:  0: \x0afoo
                   8143:     
                   8144: /^$/mg<any>
                   8145:     abc\r\rxyz
                   8146:  0: 
                   8147:     abc\n\rxyz  
                   8148:  0: 
                   8149:     ** Failers 
                   8150: No match
                   8151:     abc\r\nxyz
                   8152: No match
                   8153: 
                   8154: /(?m)^$/<any>g+
                   8155:     abc\r\n\r\n
                   8156:  0: 
                   8157:  0+ \x0d\x0a
                   8158: 
                   8159: /(?m)^$|^\r\n/<any>g+ 
                   8160:     abc\r\n\r\n
                   8161:  0: 
                   8162:  0+ \x0d\x0a
                   8163:  0: \x0d\x0a
                   8164:  0+ 
                   8165:     
                   8166: /(?m)$/<any>g+ 
                   8167:     abc\r\n\r\n
                   8168:  0: 
                   8169:  0+ \x0d\x0a\x0d\x0a
                   8170:  0: 
                   8171:  0+ \x0d\x0a
                   8172:  0: 
                   8173:  0+ 
                   8174: 
                   8175: /abc.$/mgx<anycrlf>
                   8176:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
                   8177:  0: abc1
                   8178:  0: abc4
                   8179:  0: abc5
                   8180:  0: abc9
                   8181: 
                   8182: /^X/m
                   8183:     XABC
                   8184:  0: X
                   8185:     ** Failers 
                   8186: No match
                   8187:     XABC\B
                   8188: No match
                   8189: 
                   8190: /(ab|c)(?-1)/BZ
                   8191: ------------------------------------------------------------------
                   8192:         Bra
                   8193:         CBra 1
                   8194:         ab
                   8195:         Alt
                   8196:         c
                   8197:         Ket
                   8198:         Recurse
                   8199:         Ket
                   8200:         End
                   8201: ------------------------------------------------------------------
                   8202:     abc
                   8203:  0: abc
                   8204:  1: ab
                   8205: 
                   8206: /xy(?+1)(abc)/BZ
                   8207: ------------------------------------------------------------------
                   8208:         Bra
                   8209:         xy
                   8210:         Recurse
                   8211:         CBra 1
                   8212:         abc
                   8213:         Ket
                   8214:         Ket
                   8215:         End
                   8216: ------------------------------------------------------------------
                   8217:     xyabcabc
                   8218:  0: xyabcabc
                   8219:  1: abc
                   8220:     ** Failers
                   8221: No match
                   8222:     xyabc  
                   8223: No match
                   8224:     
                   8225: /x(?-0)y/
                   8226: Failed: a numbered reference must not be zero at offset 5
                   8227: 
                   8228: /x(?-1)y/
                   8229: Failed: reference to non-existent subpattern at offset 5
                   8230: 
                   8231: /x(?+0)y/ 
                   8232: Failed: a numbered reference must not be zero at offset 5
                   8233: 
                   8234: /x(?+1)y/
                   8235: Failed: reference to non-existent subpattern at offset 5
                   8236: 
                   8237: /^(abc)?(?(-1)X|Y)/BZ
                   8238: ------------------------------------------------------------------
                   8239:         Bra
                   8240:         ^
                   8241:         Brazero
                   8242:         CBra 1
                   8243:         abc
                   8244:         Ket
                   8245:         Cond
                   8246:       1 Cond ref
                   8247:         X
                   8248:         Alt
                   8249:         Y
                   8250:         Ket
                   8251:         Ket
                   8252:         End
                   8253: ------------------------------------------------------------------
                   8254:     abcX
                   8255:  0: abcX
                   8256:  1: abc
                   8257:     Y
                   8258:  0: Y
                   8259:     ** Failers
                   8260: No match
                   8261:     abcY   
                   8262: No match
                   8263:     
                   8264: /^((?(+1)X|Y)(abc))+/BZ 
                   8265: ------------------------------------------------------------------
                   8266:         Bra
                   8267:         ^
                   8268:         CBra 1
                   8269:         Cond
                   8270:       2 Cond ref
                   8271:         X
                   8272:         Alt
                   8273:         Y
                   8274:         Ket
                   8275:         CBra 2
                   8276:         abc
                   8277:         Ket
                   8278:         KetRmax
                   8279:         Ket
                   8280:         End
                   8281: ------------------------------------------------------------------
                   8282:     YabcXabc
                   8283:  0: YabcXabc
                   8284:  1: Xabc
                   8285:  2: abc
                   8286:     YabcXabcXabc
                   8287:  0: YabcXabcXabc
                   8288:  1: Xabc
                   8289:  2: abc
                   8290:     ** Failers
                   8291: No match
                   8292:     XabcXabc  
                   8293: No match
                   8294: 
                   8295: /(?(-1)a)/BZ
                   8296: Failed: reference to non-existent subpattern at offset 6
                   8297: 
                   8298: /((?(-1)a))/BZ
                   8299: ------------------------------------------------------------------
                   8300:         Bra
                   8301:         CBra 1
                   8302:         Cond
                   8303:       1 Cond ref
                   8304:         a
                   8305:         Ket
                   8306:         Ket
                   8307:         Ket
                   8308:         End
                   8309: ------------------------------------------------------------------
                   8310: 
                   8311: /((?(-2)a))/BZ
                   8312: Failed: reference to non-existent subpattern at offset 7
                   8313: 
                   8314: /^(?(+1)X|Y)(.)/BZ
                   8315: ------------------------------------------------------------------
                   8316:         Bra
                   8317:         ^
                   8318:         Cond
                   8319:       1 Cond ref
                   8320:         X
                   8321:         Alt
                   8322:         Y
                   8323:         Ket
                   8324:         CBra 1
                   8325:         Any
                   8326:         Ket
                   8327:         Ket
                   8328:         End
                   8329: ------------------------------------------------------------------
                   8330:     Y!
                   8331:  0: Y!
                   8332:  1: !
                   8333: 
                   8334: /(?<A>tom|bon)-\k{A}/
                   8335:     tom-tom
                   8336:  0: tom-tom
                   8337:  1: tom
                   8338:     bon-bon 
                   8339:  0: bon-bon
                   8340:  1: bon
                   8341:     ** Failers
                   8342: No match
                   8343:     tom-bon  
                   8344: No match
                   8345: 
                   8346: /\g{A/ 
                   8347: Failed: syntax error in subpattern name (missing terminator) at offset 4
                   8348: 
                   8349: /(?|(abc)|(xyz))/BZ
                   8350: ------------------------------------------------------------------
                   8351:         Bra
                   8352:         Bra
                   8353:         CBra 1
                   8354:         abc
                   8355:         Ket
                   8356:         Alt
                   8357:         CBra 1
                   8358:         xyz
                   8359:         Ket
                   8360:         Ket
                   8361:         Ket
                   8362:         End
                   8363: ------------------------------------------------------------------
                   8364:    >abc<
                   8365:  0: abc
                   8366:  1: abc
                   8367:    >xyz< 
                   8368:  0: xyz
                   8369:  1: xyz
                   8370: 
                   8371: /(x)(?|(abc)|(xyz))(x)/BZ
                   8372: ------------------------------------------------------------------
                   8373:         Bra
                   8374:         CBra 1
                   8375:         x
                   8376:         Ket
                   8377:         Bra
                   8378:         CBra 2
                   8379:         abc
                   8380:         Ket
                   8381:         Alt
                   8382:         CBra 2
                   8383:         xyz
                   8384:         Ket
                   8385:         Ket
                   8386:         CBra 3
                   8387:         x
                   8388:         Ket
                   8389:         Ket
                   8390:         End
                   8391: ------------------------------------------------------------------
                   8392:     xabcx
                   8393:  0: xabcx
                   8394:  1: x
                   8395:  2: abc
                   8396:  3: x
                   8397:     xxyzx 
                   8398:  0: xxyzx
                   8399:  1: x
                   8400:  2: xyz
                   8401:  3: x
                   8402: 
                   8403: /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
                   8404: ------------------------------------------------------------------
                   8405:         Bra
                   8406:         CBra 1
                   8407:         x
                   8408:         Ket
                   8409:         Bra
                   8410:         CBra 2
                   8411:         abc
                   8412:         Ket
                   8413:         CBra 3
                   8414:         pqr
                   8415:         Ket
                   8416:         Alt
                   8417:         CBra 2
                   8418:         xyz
                   8419:         Ket
                   8420:         Ket
                   8421:         CBra 4
                   8422:         x
                   8423:         Ket
                   8424:         Ket
                   8425:         End
                   8426: ------------------------------------------------------------------
                   8427:     xabcpqrx
                   8428:  0: xabcpqrx
                   8429:  1: x
                   8430:  2: abc
                   8431:  3: pqr
                   8432:  4: x
                   8433:     xxyzx 
                   8434:  0: xxyzx
                   8435:  1: x
                   8436:  2: xyz
                   8437:  3: <unset>
                   8438:  4: x
                   8439: 
                   8440: /\H++X/BZ
                   8441: ------------------------------------------------------------------
                   8442:         Bra
                   8443:         \H++
                   8444:         X
                   8445:         Ket
                   8446:         End
                   8447: ------------------------------------------------------------------
                   8448:     ** Failers
                   8449: No match
                   8450:     XXXX
                   8451: No match
                   8452:     
                   8453: /\H+\hY/BZ
                   8454: ------------------------------------------------------------------
                   8455:         Bra
                   8456:         \H++
                   8457:         \h
                   8458:         Y
                   8459:         Ket
                   8460:         End
                   8461: ------------------------------------------------------------------
                   8462:     XXXX Y 
                   8463:  0: XXXX Y
                   8464: 
                   8465: /\H+ Y/BZ
                   8466: ------------------------------------------------------------------
                   8467:         Bra
                   8468:         \H++
                   8469:          Y
                   8470:         Ket
                   8471:         End
                   8472: ------------------------------------------------------------------
                   8473: 
                   8474: /\h+A/BZ
                   8475: ------------------------------------------------------------------
                   8476:         Bra
                   8477:         \h++
                   8478:         A
                   8479:         Ket
                   8480:         End
                   8481: ------------------------------------------------------------------
                   8482: 
                   8483: /\v*B/BZ
                   8484: ------------------------------------------------------------------
                   8485:         Bra
                   8486:         \v*+
                   8487:         B
                   8488:         Ket
                   8489:         End
                   8490: ------------------------------------------------------------------
                   8491: 
                   8492: /\V+\x0a/BZ
                   8493: ------------------------------------------------------------------
                   8494:         Bra
                   8495:         \V++
                   8496:         \x0a
                   8497:         Ket
                   8498:         End
                   8499: ------------------------------------------------------------------
                   8500: 
                   8501: /A+\h/BZ
                   8502: ------------------------------------------------------------------
                   8503:         Bra
                   8504:         A++
                   8505:         \h
                   8506:         Ket
                   8507:         End
                   8508: ------------------------------------------------------------------
                   8509: 
                   8510: / *\H/BZ
                   8511: ------------------------------------------------------------------
                   8512:         Bra
                   8513:          *+
                   8514:         \H
                   8515:         Ket
                   8516:         End
                   8517: ------------------------------------------------------------------
                   8518: 
                   8519: /A*\v/BZ
                   8520: ------------------------------------------------------------------
                   8521:         Bra
                   8522:         A*+
                   8523:         \v
                   8524:         Ket
                   8525:         End
                   8526: ------------------------------------------------------------------
                   8527: 
                   8528: /\x0b*\V/BZ
                   8529: ------------------------------------------------------------------
                   8530:         Bra
                   8531:         \x0b*+
                   8532:         \V
                   8533:         Ket
                   8534:         End
                   8535: ------------------------------------------------------------------
                   8536: 
                   8537: /\d+\h/BZ
                   8538: ------------------------------------------------------------------
                   8539:         Bra
                   8540:         \d++
                   8541:         \h
                   8542:         Ket
                   8543:         End
                   8544: ------------------------------------------------------------------
                   8545: 
                   8546: /\d*\v/BZ
                   8547: ------------------------------------------------------------------
                   8548:         Bra
                   8549:         \d*+
                   8550:         \v
                   8551:         Ket
                   8552:         End
                   8553: ------------------------------------------------------------------
                   8554: 
                   8555: /S+\h\S+\v/BZ
                   8556: ------------------------------------------------------------------
                   8557:         Bra
                   8558:         S++
                   8559:         \h
                   8560:         \S++
                   8561:         \v
                   8562:         Ket
                   8563:         End
                   8564: ------------------------------------------------------------------
                   8565: 
                   8566: /\w{3,}\h\w+\v/BZ
                   8567: ------------------------------------------------------------------
                   8568:         Bra
                   8569:         \w{3}
                   8570:         \w*+
                   8571:         \h
                   8572:         \w++
                   8573:         \v
                   8574:         Ket
                   8575:         End
                   8576: ------------------------------------------------------------------
                   8577: 
                   8578: /\h+\d\h+\w\h+\S\h+\H/BZ
                   8579: ------------------------------------------------------------------
                   8580:         Bra
                   8581:         \h++
                   8582:         \d
                   8583:         \h++
                   8584:         \w
                   8585:         \h++
                   8586:         \S
                   8587:         \h++
                   8588:         \H
                   8589:         Ket
                   8590:         End
                   8591: ------------------------------------------------------------------
                   8592: 
                   8593: /\v+\d\v+\w\v+\S\v+\V/BZ
                   8594: ------------------------------------------------------------------
                   8595:         Bra
                   8596:         \v++
                   8597:         \d
                   8598:         \v++
                   8599:         \w
1.1.1.5 ! misho    8600:         \v++
1.1       misho    8601:         \S
                   8602:         \v++
                   8603:         \V
                   8604:         Ket
                   8605:         End
                   8606: ------------------------------------------------------------------
                   8607: 
                   8608: /\H+\h\H+\d/BZ
                   8609: ------------------------------------------------------------------
                   8610:         Bra
                   8611:         \H++
                   8612:         \h
                   8613:         \H+
                   8614:         \d
                   8615:         Ket
                   8616:         End
                   8617: ------------------------------------------------------------------
                   8618: 
                   8619: /\V+\v\V+\w/BZ
                   8620: ------------------------------------------------------------------
                   8621:         Bra
                   8622:         \V++
                   8623:         \v
                   8624:         \V+
                   8625:         \w
                   8626:         Ket
                   8627:         End
                   8628: ------------------------------------------------------------------
                   8629: 
                   8630: /\( (?: [^()]* | (?R) )* \)/x
                   8631: \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)
                   8632:  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
                   8633: 
                   8634: /[\E]AAA/
                   8635: Failed: missing terminating ] for character class at offset 7
                   8636: 
                   8637: /[\Q\E]AAA/
                   8638: Failed: missing terminating ] for character class at offset 9
                   8639: 
                   8640: /[^\E]AAA/
                   8641: Failed: missing terminating ] for character class at offset 8
                   8642: 
                   8643: /[^\Q\E]AAA/
                   8644: Failed: missing terminating ] for character class at offset 10
                   8645: 
                   8646: /[\E^]AAA/
                   8647: Failed: missing terminating ] for character class at offset 8
                   8648: 
                   8649: /[\Q\E^]AAA/
                   8650: Failed: missing terminating ] for character class at offset 10
                   8651: 
                   8652: /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
                   8653: ------------------------------------------------------------------
                   8654:         Bra
                   8655:         A
                   8656:         *PRUNE
                   8657:         B
                   8658:         *SKIP
                   8659:         C
                   8660:         *THEN
                   8661:         D
                   8662:         *COMMIT
                   8663:         E
                   8664:         *FAIL
                   8665:         F
                   8666:         *FAIL
                   8667:         G
                   8668:         *FAIL
                   8669:         H
                   8670:         *ACCEPT
                   8671:         I
                   8672:         Ket
                   8673:         End
                   8674: ------------------------------------------------------------------
                   8675: 
                   8676: /^a+(*FAIL)/C
                   8677:     aaaaaa
                   8678: --->aaaaaa
                   8679:  +0 ^          ^
                   8680:  +1 ^          a+
                   8681:  +3 ^     ^    (*FAIL)
                   8682:  +3 ^    ^     (*FAIL)
                   8683:  +3 ^   ^      (*FAIL)
                   8684:  +3 ^  ^       (*FAIL)
                   8685:  +3 ^ ^        (*FAIL)
                   8686:  +3 ^^         (*FAIL)
                   8687: No match
                   8688:     
                   8689: /a+b?c+(*FAIL)/C
                   8690:     aaabccc
                   8691: --->aaabccc
                   8692:  +0 ^           a+
                   8693:  +2 ^  ^        b?
                   8694:  +4 ^   ^       c+
                   8695:  +6 ^      ^    (*FAIL)
                   8696:  +6 ^     ^     (*FAIL)
                   8697:  +6 ^    ^      (*FAIL)
                   8698:  +0  ^          a+
                   8699:  +2  ^ ^        b?
                   8700:  +4  ^  ^       c+
                   8701:  +6  ^     ^    (*FAIL)
                   8702:  +6  ^    ^     (*FAIL)
                   8703:  +6  ^   ^      (*FAIL)
                   8704:  +0   ^         a+
                   8705:  +2   ^^        b?
                   8706:  +4   ^ ^       c+
                   8707:  +6   ^    ^    (*FAIL)
                   8708:  +6   ^   ^     (*FAIL)
                   8709:  +6   ^  ^      (*FAIL)
                   8710: No match
                   8711: 
                   8712: /a+b?(*PRUNE)c+(*FAIL)/C
                   8713:     aaabccc
                   8714: --->aaabccc
                   8715:  +0 ^           a+
                   8716:  +2 ^  ^        b?
                   8717:  +4 ^   ^       (*PRUNE)
                   8718: +12 ^   ^       c+
                   8719: +14 ^      ^    (*FAIL)
                   8720: +14 ^     ^     (*FAIL)
                   8721: +14 ^    ^      (*FAIL)
                   8722:  +0  ^          a+
                   8723:  +2  ^ ^        b?
                   8724:  +4  ^  ^       (*PRUNE)
                   8725: +12  ^  ^       c+
                   8726: +14  ^     ^    (*FAIL)
                   8727: +14  ^    ^     (*FAIL)
                   8728: +14  ^   ^      (*FAIL)
                   8729:  +0   ^         a+
                   8730:  +2   ^^        b?
                   8731:  +4   ^ ^       (*PRUNE)
                   8732: +12   ^ ^       c+
                   8733: +14   ^    ^    (*FAIL)
                   8734: +14   ^   ^     (*FAIL)
                   8735: +14   ^  ^      (*FAIL)
                   8736: No match
                   8737: 
                   8738: /a+b?(*COMMIT)c+(*FAIL)/C
                   8739:     aaabccc
                   8740: --->aaabccc
                   8741:  +0 ^           a+
                   8742:  +2 ^  ^        b?
                   8743:  +4 ^   ^       (*COMMIT)
                   8744: +13 ^   ^       c+
                   8745: +15 ^      ^    (*FAIL)
                   8746: +15 ^     ^     (*FAIL)
                   8747: +15 ^    ^      (*FAIL)
                   8748: No match
                   8749:     
                   8750: /a+b?(*SKIP)c+(*FAIL)/C
                   8751:     aaabcccaaabccc
                   8752: --->aaabcccaaabccc
                   8753:  +0 ^                  a+
                   8754:  +2 ^  ^               b?
                   8755:  +4 ^   ^              (*SKIP)
                   8756: +11 ^   ^              c+
                   8757: +13 ^      ^           (*FAIL)
                   8758: +13 ^     ^            (*FAIL)
                   8759: +13 ^    ^             (*FAIL)
                   8760:  +0        ^           a+
                   8761:  +2        ^  ^        b?
                   8762:  +4        ^   ^       (*SKIP)
                   8763: +11        ^   ^       c+
                   8764: +13        ^      ^    (*FAIL)
                   8765: +13        ^     ^     (*FAIL)
                   8766: +13        ^    ^      (*FAIL)
                   8767: No match
                   8768: 
                   8769: /a+b?(*THEN)c+(*FAIL)/C
                   8770:     aaabccc
                   8771: --->aaabccc
                   8772:  +0 ^           a+
                   8773:  +2 ^  ^        b?
                   8774:  +4 ^   ^       (*THEN)
                   8775: +11 ^   ^       c+
                   8776: +13 ^      ^    (*FAIL)
                   8777: +13 ^     ^     (*FAIL)
                   8778: +13 ^    ^      (*FAIL)
                   8779:  +0  ^          a+
                   8780:  +2  ^ ^        b?
                   8781:  +4  ^  ^       (*THEN)
                   8782: +11  ^  ^       c+
                   8783: +13  ^     ^    (*FAIL)
                   8784: +13  ^    ^     (*FAIL)
                   8785: +13  ^   ^      (*FAIL)
                   8786:  +0   ^         a+
                   8787:  +2   ^^        b?
                   8788:  +4   ^ ^       (*THEN)
                   8789: +11   ^ ^       c+
                   8790: +13   ^    ^    (*FAIL)
                   8791: +13   ^   ^     (*FAIL)
                   8792: +13   ^  ^      (*FAIL)
                   8793: No match
                   8794:     
                   8795: /a(*MARK)b/ 
                   8796: Failed: (*MARK) must have an argument at offset 7
                   8797: 
                   8798: /(?i:A{1,}\6666666666)/
                   8799: Failed: number is too big at offset 19
                   8800: 
                   8801: /\g6666666666/
                   8802: Failed: number is too big at offset 11
                   8803: 
                   8804: /[\g6666666666]/BZ
                   8805: ------------------------------------------------------------------
                   8806:         Bra
                   8807:         [6g]
                   8808:         Ket
                   8809:         End
                   8810: ------------------------------------------------------------------
                   8811: 
                   8812: /(?1)\c[/
                   8813: Failed: reference to non-existent subpattern at offset 3
                   8814: 
                   8815: /.+A/<crlf>
                   8816:     \r\nA
                   8817: No match
                   8818:     
                   8819: /\nA/<crlf>
                   8820:     \r\nA 
                   8821:  0: \x0aA
                   8822: 
                   8823: /[\r\n]A/<crlf>
                   8824:     \r\nA 
                   8825:  0: \x0aA
                   8826: 
                   8827: /(\r|\n)A/<crlf>
                   8828:     \r\nA 
                   8829:  0: \x0aA
                   8830:  1: \x0a
                   8831: 
                   8832: /a(*CR)b/
1.1.1.4   misho    8833: Failed: (*VERB) not recognized or malformed at offset 5
1.1       misho    8834: 
                   8835: /(*CR)a.b/
                   8836:     a\nb
                   8837:  0: a\x0ab
                   8838:     ** Failers
                   8839: No match
                   8840:     a\rb  
                   8841: No match
                   8842: 
                   8843: /(*CR)a.b/<lf>
                   8844:     a\nb
                   8845:  0: a\x0ab
                   8846:     ** Failers
                   8847: No match
                   8848:     a\rb  
                   8849: No match
                   8850: 
                   8851: /(*LF)a.b/<CRLF>
                   8852:     a\rb
                   8853:  0: a\x0db
                   8854:     ** Failers
                   8855: No match
                   8856:     a\nb  
                   8857: No match
                   8858: 
                   8859: /(*CRLF)a.b/
                   8860:     a\rb
                   8861:  0: a\x0db
                   8862:     a\nb  
                   8863:  0: a\x0ab
                   8864:     ** Failers
                   8865: No match
                   8866:     a\r\nb  
                   8867: No match
                   8868: 
                   8869: /(*ANYCRLF)a.b/<CR>
                   8870:     ** Failers
                   8871: No match
                   8872:     a\rb
                   8873: No match
                   8874:     a\nb  
                   8875: No match
                   8876:     a\r\nb  
                   8877: No match
                   8878: 
                   8879: /(*ANY)a.b/<cr>
                   8880:     ** Failers
                   8881: No match
                   8882:     a\rb
                   8883: No match
                   8884:     a\nb  
                   8885: No match
                   8886:     a\r\nb  
                   8887: No match
                   8888:     a\x85b 
                   8889: No match
                   8890:     
                   8891: /(*ANY).*/g
                   8892:     abc\r\ndef
                   8893:  0: abc
                   8894:  0: 
                   8895:  0: def
                   8896:  0: 
                   8897: 
                   8898: /(*ANYCRLF).*/g
                   8899:     abc\r\ndef
                   8900:  0: abc
                   8901:  0: 
                   8902:  0: def
                   8903:  0: 
                   8904: 
                   8905: /(*CRLF).*/g
                   8906:     abc\r\ndef
                   8907:  0: abc
                   8908:  0: 
                   8909:  0: def
                   8910:  0: 
                   8911: 
                   8912: /a\Rb/I<bsr_anycrlf>
                   8913: Capturing subpattern count = 0
                   8914: Options: bsr_anycrlf
                   8915: First char = 'a'
                   8916: Need char = 'b'
                   8917:     a\rb
                   8918:  0: a\x0db
                   8919:     a\nb
                   8920:  0: a\x0ab
                   8921:     a\r\nb
                   8922:  0: a\x0d\x0ab
                   8923:     ** Failers
                   8924: No match
                   8925:     a\x85b
                   8926: No match
                   8927:     a\x0bb     
                   8928: No match
                   8929: 
                   8930: /a\Rb/I<bsr_unicode>
                   8931: Capturing subpattern count = 0
                   8932: Options: bsr_unicode
                   8933: First char = 'a'
                   8934: Need char = 'b'
                   8935:     a\rb
                   8936:  0: a\x0db
                   8937:     a\nb
                   8938:  0: a\x0ab
                   8939:     a\r\nb
                   8940:  0: a\x0d\x0ab
                   8941:     a\x85b
                   8942:  0: a\x85b
                   8943:     a\x0bb     
                   8944:  0: a\x0bb
                   8945:     ** Failers 
                   8946: No match
                   8947:     a\x85b\<bsr_anycrlf>
                   8948: No match
                   8949:     a\x0bb\<bsr_anycrlf>
                   8950: No match
                   8951:     
                   8952: /a\R?b/I<bsr_anycrlf>
                   8953: Capturing subpattern count = 0
                   8954: Options: bsr_anycrlf
                   8955: First char = 'a'
                   8956: Need char = 'b'
                   8957:     a\rb
                   8958:  0: a\x0db
                   8959:     a\nb
                   8960:  0: a\x0ab
                   8961:     a\r\nb
                   8962:  0: a\x0d\x0ab
                   8963:     ** Failers
                   8964: No match
                   8965:     a\x85b
                   8966: No match
                   8967:     a\x0bb     
                   8968: No match
                   8969: 
                   8970: /a\R?b/I<bsr_unicode>
                   8971: Capturing subpattern count = 0
                   8972: Options: bsr_unicode
                   8973: First char = 'a'
                   8974: Need char = 'b'
                   8975:     a\rb
                   8976:  0: a\x0db
                   8977:     a\nb
                   8978:  0: a\x0ab
                   8979:     a\r\nb
                   8980:  0: a\x0d\x0ab
                   8981:     a\x85b
                   8982:  0: a\x85b
                   8983:     a\x0bb     
                   8984:  0: a\x0bb
                   8985:     ** Failers 
                   8986: No match
                   8987:     a\x85b\<bsr_anycrlf>
                   8988: No match
                   8989:     a\x0bb\<bsr_anycrlf>
                   8990: No match
                   8991:     
                   8992: /a\R{2,4}b/I<bsr_anycrlf>
                   8993: Capturing subpattern count = 0
                   8994: Options: bsr_anycrlf
                   8995: First char = 'a'
                   8996: Need char = 'b'
                   8997:     a\r\n\nb
                   8998:  0: a\x0d\x0a\x0ab
                   8999:     a\n\r\rb
                   9000:  0: a\x0a\x0d\x0db
                   9001:     a\r\n\r\n\r\n\r\nb
                   9002:  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
                   9003:     ** Failers
                   9004: No match
                   9005:     a\x85\85b
                   9006: No match
                   9007:     a\x0b\0bb     
                   9008: No match
                   9009: 
                   9010: /a\R{2,4}b/I<bsr_unicode>
                   9011: Capturing subpattern count = 0
                   9012: Options: bsr_unicode
                   9013: First char = 'a'
                   9014: Need char = 'b'
                   9015:     a\r\rb
                   9016:  0: a\x0d\x0db
                   9017:     a\n\n\nb
                   9018:  0: a\x0a\x0a\x0ab
                   9019:     a\r\n\n\r\rb
                   9020:  0: a\x0d\x0a\x0a\x0d\x0db
                   9021:     a\x85\85b
                   9022: No match
                   9023:     a\x0b\0bb     
                   9024: No match
                   9025:     ** Failers 
                   9026: No match
                   9027:     a\r\r\r\r\rb 
                   9028: No match
                   9029:     a\x85\85b\<bsr_anycrlf>
                   9030: No match
                   9031:     a\x0b\0bb\<bsr_anycrlf>
                   9032: No match
                   9033:  
                   9034: /(*BSR_ANYCRLF)a\Rb/I
                   9035: Capturing subpattern count = 0
                   9036: Options: bsr_anycrlf
                   9037: First char = 'a'
                   9038: Need char = 'b'
                   9039:     a\nb
                   9040:  0: a\x0ab
                   9041:     a\rb 
                   9042:  0: a\x0db
                   9043: 
                   9044: /(*BSR_UNICODE)a\Rb/I
                   9045: Capturing subpattern count = 0
                   9046: Options: bsr_unicode
                   9047: First char = 'a'
                   9048: Need char = 'b'
                   9049:     a\x85b
                   9050:  0: a\x85b
                   9051: 
                   9052: /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
                   9053: Capturing subpattern count = 0
                   9054: Options: bsr_anycrlf
                   9055: Forced newline sequence: CRLF
                   9056: First char = 'a'
                   9057: Need char = 'b'
                   9058:     a\nb
                   9059:  0: a\x0ab
                   9060:     a\rb 
                   9061:  0: a\x0db
                   9062: 
                   9063: /(*CRLF)(*BSR_UNICODE)a\Rb/I
                   9064: Capturing subpattern count = 0
                   9065: Options: bsr_unicode
                   9066: Forced newline sequence: CRLF
                   9067: First char = 'a'
                   9068: Need char = 'b'
                   9069:     a\x85b
                   9070:  0: a\x85b
                   9071: 
                   9072: /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
                   9073: Capturing subpattern count = 0
                   9074: Options: bsr_anycrlf
                   9075: Forced newline sequence: CR
                   9076: First char = 'a'
                   9077: Need char = 'b'
                   9078: 
                   9079: /(?<a>)(?&)/
                   9080: Failed: subpattern name expected at offset 9
                   9081: 
                   9082: /(?<abc>)(?&a)/
                   9083: Failed: reference to non-existent subpattern at offset 12
                   9084: 
                   9085: /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
                   9086: Failed: reference to non-existent subpattern at offset 32
                   9087: 
                   9088: /(?+-a)/
                   9089: Failed: digit expected after (?+ at offset 3
                   9090: 
                   9091: /(?-+a)/
                   9092: Failed: unrecognized character after (? or (?- at offset 3
                   9093: 
                   9094: /(?(-1))/
                   9095: Failed: reference to non-existent subpattern at offset 6
                   9096: 
                   9097: /(?(+10))/
                   9098: Failed: reference to non-existent subpattern at offset 7
                   9099: 
                   9100: /(?(10))/
                   9101: Failed: reference to non-existent subpattern at offset 6
                   9102: 
                   9103: /(?(+2))()()/
                   9104: 
                   9105: /(?(2))()()/
                   9106: 
                   9107: /\k''/
                   9108: Failed: subpattern name expected at offset 3
                   9109: 
                   9110: /\k<>/
                   9111: Failed: subpattern name expected at offset 3
                   9112: 
                   9113: /\k{}/
                   9114: Failed: subpattern name expected at offset 3
                   9115: 
                   9116: /\k/
                   9117: Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
                   9118: 
                   9119: /\kabc/
                   9120: Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
                   9121: 
                   9122: /(?P=)/
                   9123: Failed: subpattern name expected at offset 4
                   9124: 
                   9125: /(?P>)/
                   9126: Failed: subpattern name expected at offset 4
                   9127: 
                   9128: /(?!\w)(?R)/
                   9129: Failed: recursive call could loop indefinitely at offset 9
                   9130: 
                   9131: /(?=\w)(?R)/
                   9132: Failed: recursive call could loop indefinitely at offset 9
                   9133: 
                   9134: /(?<!\w)(?R)/
                   9135: Failed: recursive call could loop indefinitely at offset 10
                   9136: 
                   9137: /(?<=\w)(?R)/
                   9138: Failed: recursive call could loop indefinitely at offset 10
                   9139: 
                   9140: /[[:foo:]]/
                   9141: Failed: unknown POSIX class name at offset 3
                   9142: 
                   9143: /[[:1234:]]/
                   9144: Failed: unknown POSIX class name at offset 3
                   9145: 
                   9146: /[[:f\oo:]]/
                   9147: Failed: unknown POSIX class name at offset 3
                   9148: 
                   9149: /[[: :]]/
                   9150: Failed: unknown POSIX class name at offset 3
                   9151: 
                   9152: /[[:...:]]/
                   9153: Failed: unknown POSIX class name at offset 3
                   9154: 
                   9155: /[[:l\ower:]]/
                   9156: Failed: unknown POSIX class name at offset 3
                   9157: 
                   9158: /[[:abc\:]]/
                   9159: Failed: unknown POSIX class name at offset 3
                   9160: 
                   9161: /[abc[:x\]pqr:]]/
                   9162: Failed: unknown POSIX class name at offset 6
                   9163: 
                   9164: /[[:a\dz:]]/
                   9165: Failed: unknown POSIX class name at offset 3
                   9166: 
                   9167: /(^(a|b\g<-1'c))/
                   9168: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
                   9169: 
                   9170: /^(?+1)(?<a>x|y){0}z/
                   9171:     xzxx
                   9172:  0: xz
                   9173:     yzyy 
                   9174:  0: yz
                   9175:     ** Failers
                   9176: No match
                   9177:     xxz  
                   9178: No match
                   9179: 
                   9180: /(\3)(\1)(a)/
                   9181:     cat
                   9182: No match
                   9183: 
                   9184: /(\3)(\1)(a)/<JS>
                   9185:     cat
                   9186:  0: a
                   9187:  1: 
                   9188:  2: 
                   9189:  3: a
                   9190:     
                   9191: /TA]/
                   9192:     The ACTA] comes 
                   9193:  0: TA]
                   9194: 
                   9195: /TA]/<JS>
                   9196: Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
                   9197: 
                   9198: /(?2)[]a()b](abc)/
                   9199: Failed: reference to non-existent subpattern at offset 3
                   9200: 
                   9201: /(?2)[^]a()b](abc)/
                   9202: Failed: reference to non-existent subpattern at offset 3
                   9203: 
                   9204: /(?1)[]a()b](abc)/
                   9205:     abcbabc
                   9206:  0: abcbabc
                   9207:  1: abc
                   9208:     ** Failers 
                   9209: No match
                   9210:     abcXabc
                   9211: No match
                   9212: 
                   9213: /(?1)[^]a()b](abc)/
                   9214:     abcXabc
                   9215:  0: abcXabc
                   9216:  1: abc
                   9217:     ** Failers 
                   9218: No match
                   9219:     abcbabc
                   9220: No match
                   9221: 
                   9222: /(?2)[]a()b](abc)(xyz)/
                   9223:     xyzbabcxyz
                   9224:  0: xyzbabcxyz
                   9225:  1: abc
                   9226:  2: xyz
                   9227: 
                   9228: /(?&N)[]a(?<N>)](?<M>abc)/
                   9229: Failed: reference to non-existent subpattern at offset 4
                   9230: 
                   9231: /(?&N)[]a(?<N>)](abc)/
                   9232: Failed: reference to non-existent subpattern at offset 4
                   9233: 
                   9234: /a[]b/
                   9235: Failed: missing terminating ] for character class at offset 4
                   9236: 
                   9237: /a[^]b/
                   9238: Failed: missing terminating ] for character class at offset 5
                   9239: 
                   9240: /a[]b/<JS>
                   9241:     ** Failers
                   9242: No match
                   9243:     ab
                   9244: No match
                   9245: 
                   9246: /a[]+b/<JS>
                   9247:     ** Failers
                   9248: No match
                   9249:     ab 
                   9250: No match
                   9251: 
                   9252: /a[]*+b/<JS>
                   9253:     ** Failers
                   9254: No match
                   9255:     ab 
                   9256: No match
                   9257: 
                   9258: /a[^]b/<JS>
                   9259:     aXb
                   9260:  0: aXb
                   9261:     a\nb 
                   9262:  0: a\x0ab
                   9263:     ** Failers
                   9264: No match
                   9265:     ab  
                   9266: No match
                   9267:     
                   9268: /a[^]+b/<JS> 
                   9269:     aXb
                   9270:  0: aXb
                   9271:     a\nX\nXb 
                   9272:  0: a\x0aX\x0aXb
                   9273:     ** Failers
                   9274: No match
                   9275:     ab  
                   9276: No match
                   9277: 
1.1.1.5 ! misho    9278: /a(?!)b/BZ
        !          9279: ------------------------------------------------------------------
        !          9280:         Bra
        !          9281:         a
        !          9282:         *FAIL
        !          9283:         b
        !          9284:         Ket
        !          9285:         End
        !          9286: ------------------------------------------------------------------
        !          9287: 
        !          9288: /(?!)?a/BZ
        !          9289: ------------------------------------------------------------------
        !          9290:         Bra
        !          9291:         Brazero
        !          9292:         Assert not
        !          9293:         Ket
        !          9294:         a
        !          9295:         Ket
        !          9296:         End
        !          9297: ------------------------------------------------------------------
        !          9298:     ab
        !          9299:  0: a
1.1       misho    9300: 
                   9301: /a(*FAIL)+b/
                   9302: Failed: nothing to repeat at offset 8
                   9303: 
                   9304: /(abc|pqr|123){0}[xyz]/SI
                   9305: Capturing subpattern count = 1
                   9306: No options
                   9307: No first char
                   9308: No need char
                   9309: Subject length lower bound = 1
                   9310: Starting byte set: x y z 
                   9311: 
                   9312: /(?(?=.*b)b|^)/CI
                   9313: Capturing subpattern count = 0
1.1.1.5 ! misho    9314: May match empty string
1.1       misho    9315: Options:
                   9316: No first char
                   9317: No need char
                   9318:    adc
                   9319: --->adc
                   9320:  +0 ^       (?(?=.*b)b|^)
                   9321:  +2 ^       (?=.*b)
                   9322:  +5 ^       .*
                   9323:  +7 ^  ^    b
                   9324:  +7 ^ ^     b
                   9325:  +7 ^^      b
                   9326:  +7 ^       b
1.1.1.4   misho    9327: +11 ^       ^
1.1       misho    9328: +12 ^       )
                   9329: +13 ^       
                   9330:  0: 
                   9331:    abc 
                   9332: --->abc
                   9333:  +0 ^       (?(?=.*b)b|^)
                   9334:  +2 ^       (?=.*b)
                   9335:  +5 ^       .*
                   9336:  +7 ^  ^    b
                   9337:  +7 ^ ^     b
                   9338:  +7 ^^      b
                   9339:  +8 ^ ^     )
                   9340:  +9 ^       b
                   9341:  +0  ^      (?(?=.*b)b|^)
                   9342:  +2  ^      (?=.*b)
                   9343:  +5  ^      .*
                   9344:  +7  ^ ^    b
                   9345:  +7  ^^     b
                   9346:  +7  ^      b
                   9347:  +8  ^^     )
                   9348:  +9  ^      b
                   9349: +10  ^^     |
                   9350: +13  ^^     
                   9351:  0: b
                   9352:    
                   9353: /(?(?=b).*b|^d)/I
                   9354: Capturing subpattern count = 0
                   9355: No options
                   9356: No first char
                   9357: No need char
                   9358: 
                   9359: /(?(?=.*b).*b|^d)/I
                   9360: Capturing subpattern count = 0
                   9361: No options
                   9362: First char at start or follows newline
                   9363: No need char
                   9364: 
                   9365: /xyz/C
                   9366:   xyz 
                   9367: --->xyz
                   9368:  +0 ^       x
                   9369:  +1 ^^      y
                   9370:  +2 ^ ^     z
                   9371:  +3 ^  ^    
                   9372:  0: xyz
                   9373:   abcxyz 
                   9374: --->abcxyz
                   9375:  +0    ^       x
                   9376:  +1    ^^      y
                   9377:  +2    ^ ^     z
                   9378:  +3    ^  ^    
                   9379:  0: xyz
                   9380:   abcxyz\Y
                   9381: --->abcxyz
                   9382:  +0 ^          x
                   9383:  +0  ^         x
                   9384:  +0   ^        x
                   9385:  +0    ^       x
                   9386:  +1    ^^      y
                   9387:  +2    ^ ^     z
                   9388:  +3    ^  ^    
                   9389:  0: xyz
                   9390:   ** Failers 
                   9391: No match
                   9392:   abc
                   9393: No match
                   9394:   abc\Y
                   9395: --->abc
                   9396:  +0 ^       x
                   9397:  +0  ^      x
                   9398:  +0   ^     x
                   9399:  +0    ^    x
                   9400: No match
                   9401:   abcxypqr  
                   9402: No match
                   9403:   abcxypqr\Y  
                   9404: --->abcxypqr
                   9405:  +0 ^            x
                   9406:  +0  ^           x
                   9407:  +0   ^          x
                   9408:  +0    ^         x
                   9409:  +1    ^^        y
                   9410:  +2    ^ ^       z
                   9411:  +0     ^        x
                   9412:  +0      ^       x
                   9413:  +0       ^      x
                   9414:  +0        ^     x
                   9415:  +0         ^    x
                   9416: No match
                   9417:   
                   9418: /(*NO_START_OPT)xyz/C
1.1.1.5 ! misho    9419:   abcxyz
1.1       misho    9420: --->abcxyz
                   9421: +15 ^          x
                   9422: +15  ^         x
                   9423: +15   ^        x
                   9424: +15    ^       x
                   9425: +16    ^^      y
                   9426: +17    ^ ^     z
                   9427: +18    ^  ^    
                   9428:  0: xyz
1.1.1.5 ! misho    9429:   
        !          9430: /(*NO_AUTO_POSSESS)a+b/BZ  
        !          9431: ------------------------------------------------------------------
        !          9432:         Bra
        !          9433:         a+
        !          9434:         b
        !          9435:         Ket
        !          9436:         End
        !          9437: ------------------------------------------------------------------
1.1       misho    9438: 
                   9439: /xyz/CY
                   9440:   abcxyz 
                   9441: --->abcxyz
                   9442:  +0 ^          x
                   9443:  +0  ^         x
                   9444:  +0   ^        x
                   9445:  +0    ^       x
                   9446:  +1    ^^      y
                   9447:  +2    ^ ^     z
                   9448:  +3    ^  ^    
                   9449:  0: xyz
                   9450: 
                   9451: /^"((?(?=[a])[^"])|b)*"$/C
                   9452:     "ab"
                   9453: --->"ab"
                   9454:  +0 ^        ^
                   9455:  +1 ^        "
                   9456:  +2 ^^       ((?(?=[a])[^"])|b)*
                   9457:  +3 ^^       (?(?=[a])[^"])
                   9458:  +5 ^^       (?=[a])
                   9459:  +8 ^^       [a]
                   9460: +11 ^ ^      )
                   9461: +12 ^^       [^"]
                   9462: +16 ^ ^      )
                   9463: +17 ^ ^      |
                   9464:  +3 ^ ^      (?(?=[a])[^"])
                   9465:  +5 ^ ^      (?=[a])
                   9466:  +8 ^ ^      [a]
1.1.1.4   misho    9467: +17 ^ ^      |
1.1       misho    9468: +21 ^ ^      "
                   9469: +18 ^ ^      b
                   9470: +19 ^  ^     )
                   9471:  +3 ^  ^     (?(?=[a])[^"])
                   9472:  +5 ^  ^     (?=[a])
                   9473:  +8 ^  ^     [a]
1.1.1.4   misho    9474: +17 ^  ^     |
1.1       misho    9475: +21 ^  ^     "
                   9476: +22 ^   ^    $
                   9477: +23 ^   ^    
                   9478:  0: "ab"
                   9479:  1: 
                   9480: 
                   9481: /^"((?(?=[a])[^"])|b)*"$/
                   9482:     "ab"
                   9483:  0: "ab"
                   9484:  1: 
                   9485: 
                   9486: /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
                   9487: Failed: reference to non-existent subpattern at offset 5
                   9488: 
                   9489: /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
                   9490:     XYabcdY
                   9491:  0: XYabcdY
                   9492:  1: a
                   9493:  2: b
                   9494:  3: c
                   9495:  4: d
                   9496:  5: Y
                   9497:  
                   9498: /Xa{2,4}b/
                   9499:     X\P
                   9500: Partial match: X
                   9501:     Xa\P
                   9502: Partial match: Xa
                   9503:     Xaa\P 
                   9504: Partial match: Xaa
                   9505:     Xaaa\P
                   9506: Partial match: Xaaa
                   9507:     Xaaaa\P 
                   9508: Partial match: Xaaaa
                   9509:     
                   9510: /Xa{2,4}?b/
                   9511:     X\P
                   9512: Partial match: X
                   9513:     Xa\P
                   9514: Partial match: Xa
                   9515:     Xaa\P 
                   9516: Partial match: Xaa
                   9517:     Xaaa\P
                   9518: Partial match: Xaaa
                   9519:     Xaaaa\P 
                   9520: Partial match: Xaaaa
                   9521:     
                   9522: /Xa{2,4}+b/
                   9523:     X\P
                   9524: Partial match: X
                   9525:     Xa\P
                   9526: Partial match: Xa
                   9527:     Xaa\P 
                   9528: Partial match: Xaa
                   9529:     Xaaa\P
                   9530: Partial match: Xaaa
                   9531:     Xaaaa\P 
                   9532: Partial match: Xaaaa
                   9533:     
                   9534: /X\d{2,4}b/
                   9535:     X\P
                   9536: Partial match: X
                   9537:     X3\P
                   9538: Partial match: X3
                   9539:     X33\P 
                   9540: Partial match: X33
                   9541:     X333\P
                   9542: Partial match: X333
                   9543:     X3333\P 
                   9544: Partial match: X3333
                   9545:     
                   9546: /X\d{2,4}?b/
                   9547:     X\P
                   9548: Partial match: X
                   9549:     X3\P
                   9550: Partial match: X3
                   9551:     X33\P 
                   9552: Partial match: X33
                   9553:     X333\P
                   9554: Partial match: X333
                   9555:     X3333\P 
                   9556: Partial match: X3333
                   9557:     
                   9558: /X\d{2,4}+b/
                   9559:     X\P
                   9560: Partial match: X
                   9561:     X3\P
                   9562: Partial match: X3
                   9563:     X33\P 
                   9564: Partial match: X33
                   9565:     X333\P
                   9566: Partial match: X333
                   9567:     X3333\P 
                   9568: Partial match: X3333
                   9569:     
                   9570: /X\D{2,4}b/
                   9571:     X\P
                   9572: Partial match: X
                   9573:     Xa\P
                   9574: Partial match: Xa
                   9575:     Xaa\P 
                   9576: Partial match: Xaa
                   9577:     Xaaa\P
                   9578: Partial match: Xaaa
                   9579:     Xaaaa\P 
                   9580: Partial match: Xaaaa
                   9581:     
                   9582: /X\D{2,4}?b/
                   9583:     X\P
                   9584: Partial match: X
                   9585:     Xa\P
                   9586: Partial match: Xa
                   9587:     Xaa\P 
                   9588: Partial match: Xaa
                   9589:     Xaaa\P
                   9590: Partial match: Xaaa
                   9591:     Xaaaa\P 
                   9592: Partial match: Xaaaa
                   9593:     
                   9594: /X\D{2,4}+b/
                   9595:     X\P
                   9596: Partial match: X
                   9597:     Xa\P
                   9598: Partial match: Xa
                   9599:     Xaa\P 
                   9600: Partial match: Xaa
                   9601:     Xaaa\P
                   9602: Partial match: Xaaa
                   9603:     Xaaaa\P 
                   9604: Partial match: Xaaaa
                   9605:     
                   9606: /X[abc]{2,4}b/
                   9607:     X\P
                   9608: Partial match: X
                   9609:     Xa\P
                   9610: Partial match: Xa
                   9611:     Xaa\P 
                   9612: Partial match: Xaa
                   9613:     Xaaa\P
                   9614: Partial match: Xaaa
                   9615:     Xaaaa\P 
                   9616: Partial match: Xaaaa
                   9617:     
                   9618: /X[abc]{2,4}?b/
                   9619:     X\P
                   9620: Partial match: X
                   9621:     Xa\P
                   9622: Partial match: Xa
                   9623:     Xaa\P 
                   9624: Partial match: Xaa
                   9625:     Xaaa\P
                   9626: Partial match: Xaaa
                   9627:     Xaaaa\P 
                   9628: Partial match: Xaaaa
                   9629:     
                   9630: /X[abc]{2,4}+b/
                   9631:     X\P
                   9632: Partial match: X
                   9633:     Xa\P
                   9634: Partial match: Xa
                   9635:     Xaa\P 
                   9636: Partial match: Xaa
                   9637:     Xaaa\P
                   9638: Partial match: Xaaa
                   9639:     Xaaaa\P 
                   9640: Partial match: Xaaaa
                   9641:     
                   9642: /X[^a]{2,4}b/
                   9643:     X\P
                   9644: Partial match: X
                   9645:     Xz\P
                   9646: Partial match: Xz
                   9647:     Xzz\P 
                   9648: Partial match: Xzz
                   9649:     Xzzz\P
                   9650: Partial match: Xzzz
                   9651:     Xzzzz\P 
                   9652: Partial match: Xzzzz
                   9653:     
                   9654: /X[^a]{2,4}?b/
                   9655:     X\P
                   9656: Partial match: X
                   9657:     Xz\P
                   9658: Partial match: Xz
                   9659:     Xzz\P 
                   9660: Partial match: Xzz
                   9661:     Xzzz\P
                   9662: Partial match: Xzzz
                   9663:     Xzzzz\P 
                   9664: Partial match: Xzzzz
                   9665:     
                   9666: /X[^a]{2,4}+b/
                   9667:     X\P
                   9668: Partial match: X
                   9669:     Xz\P
                   9670: Partial match: Xz
                   9671:     Xzz\P 
                   9672: Partial match: Xzz
                   9673:     Xzzz\P
                   9674: Partial match: Xzzz
                   9675:     Xzzzz\P 
                   9676: Partial match: Xzzzz
                   9677:     
                   9678: /(Y)X\1{2,4}b/
                   9679:     YX\P
                   9680: Partial match: YX
                   9681:     YXY\P
                   9682: Partial match: YXY
                   9683:     YXYY\P 
                   9684: Partial match: YXYY
                   9685:     YXYYY\P
                   9686: Partial match: YXYYY
                   9687:     YXYYYY\P 
                   9688: Partial match: YXYYYY
                   9689:     
                   9690: /(Y)X\1{2,4}?b/
                   9691:     YX\P
                   9692: Partial match: YX
                   9693:     YXY\P
                   9694: Partial match: YXY
                   9695:     YXYY\P 
                   9696: Partial match: YXYY
                   9697:     YXYYY\P
                   9698: Partial match: YXYYY
                   9699:     YXYYYY\P 
                   9700: Partial match: YXYYYY
                   9701:     
                   9702: /(Y)X\1{2,4}+b/
                   9703:     YX\P
                   9704: Partial match: YX
                   9705:     YXY\P
                   9706: Partial match: YXY
                   9707:     YXYY\P 
                   9708: Partial match: YXYY
                   9709:     YXYYY\P
                   9710: Partial match: YXYYY
                   9711:     YXYYYY\P 
                   9712: Partial match: YXYYYY
                   9713:     
                   9714: /\++\KZ|\d+X|9+Y/
                   9715:     ++++123999\P
                   9716: Partial match: 123999
                   9717:     ++++123999Y\P
                   9718:  0: 999Y
                   9719:     ++++Z1234\P 
                   9720:  0: Z
                   9721: 
                   9722: /Z(*F)/
                   9723:     Z\P
                   9724: No match
                   9725:     ZA\P 
                   9726: No match
                   9727:     
                   9728: /Z(?!)/
                   9729:     Z\P 
                   9730: No match
                   9731:     ZA\P 
                   9732: No match
                   9733: 
                   9734: /dog(sbody)?/
                   9735:     dogs\P
                   9736:  0: dog
                   9737:     dogs\P\P 
                   9738: Partial match: dogs
                   9739:     
                   9740: /dog(sbody)??/
                   9741:     dogs\P
                   9742:  0: dog
                   9743:     dogs\P\P 
                   9744:  0: dog
                   9745: 
                   9746: /dog|dogsbody/
                   9747:     dogs\P
                   9748:  0: dog
                   9749:     dogs\P\P 
                   9750:  0: dog
                   9751:  
                   9752: /dogsbody|dog/
                   9753:     dogs\P
                   9754:  0: dog
                   9755:     dogs\P\P 
                   9756: Partial match: dogs
                   9757: 
                   9758: /\bthe cat\b/
                   9759:     the cat\P
                   9760:  0: the cat
                   9761:     the cat\P\P
                   9762: Partial match: the cat
                   9763: 
                   9764: /abc/
                   9765:    abc\P
                   9766:  0: abc
                   9767:    abc\P\P
                   9768:  0: abc
                   9769:    
                   9770: /abc\K123/
                   9771:     xyzabc123pqr
                   9772:  0: 123
                   9773:     xyzabc12\P
                   9774: Partial match: abc12
                   9775:     xyzabc12\P\P
                   9776: Partial match: abc12
                   9777:     
                   9778: /(?<=abc)123/
                   9779:     xyzabc123pqr 
                   9780:  0: 123
                   9781:     xyzabc12\P
1.1.1.4   misho    9782: Partial match at offset 6: abc12
1.1       misho    9783:     xyzabc12\P\P
1.1.1.4   misho    9784: Partial match at offset 6: abc12
1.1       misho    9785: 
                   9786: /\babc\b/
                   9787:     +++abc+++
                   9788:  0: abc
                   9789:     +++ab\P
1.1.1.4   misho    9790: Partial match at offset 3: +ab
1.1       misho    9791:     +++ab\P\P  
1.1.1.4   misho    9792: Partial match at offset 3: +ab
1.1       misho    9793: 
                   9794: /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
                   9795: ------------------------------------------------------------------
                   9796:         Bra
                   9797:         Recurse
                   9798:         Recurse
                   9799:         Cond
                   9800:         Cond def
                   9801:         CBra 1
                   9802:         <
                   9803:         [^m]
                   9804:         [^>]
                   9805:         >
                   9806:         [^<]
                   9807:         Ket
                   9808:         CBra 2
                   9809:         \w*+
                   9810:         Ket
                   9811:         Ket
                   9812:         Ket
                   9813:         End
                   9814: ------------------------------------------------------------------
                   9815: 
                   9816: /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
                   9817: ------------------------------------------------------------------
                   9818:         Bra
                   9819:         Recurse
                   9820:         Recurse
                   9821:         Cond
                   9822:         Cond def
                   9823:         CBra 1
                   9824:         <
                   9825:         [\x00-/:-\xff] (neg)
                   9826:         [^>]
                   9827:         >
                   9828:         [^<]
                   9829:         Ket
                   9830:         CBra 2
                   9831:         \w*+
                   9832:         Ket
                   9833:         Ket
                   9834:         Ket
                   9835:         End
                   9836: ------------------------------------------------------------------
                   9837: 
                   9838: /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
                   9839: ------------------------------------------------------------------
                   9840:         Bra
                   9841:         CBra 1
                   9842:         ab
                   9843:         Ket
                   9844:         CBra 2
                   9845:         x
                   9846:         CBra 3
                   9847:         y
                   9848:         Ket
                   9849:         z
                   9850:         CBra 4
                   9851:         cd
                   9852:         Close 4
                   9853:         Close 2
                   9854:         *ACCEPT
                   9855:         Ket
                   9856:         Ket
                   9857:         pq
                   9858:         Ket
                   9859:         End
                   9860: ------------------------------------------------------------------
                   9861: 
                   9862: /abc\K/+
                   9863:     abcdef
                   9864:  0: 
                   9865:  0+ def
                   9866:     abcdef\N\N
                   9867:  0: 
                   9868:  0+ def
                   9869:     xyzabcdef\N\N
                   9870:  0: 
                   9871:  0+ def
                   9872:     ** Failers
                   9873: No match
                   9874:     abcdef\N 
                   9875: No match
                   9876:     xyzabcdef\N
                   9877: No match
                   9878:     
                   9879: /^(?:(?=abc)|abc\K)/+
                   9880:     abcdef
                   9881:  0: 
                   9882:  0+ abcdef
                   9883:     abcdef\N\N 
                   9884:  0: 
                   9885:  0+ def
                   9886:     ** Failers 
                   9887: No match
                   9888:     abcdef\N 
                   9889: No match
                   9890: 
                   9891: /a?b?/+
                   9892:     xyz
                   9893:  0: 
                   9894:  0+ xyz
                   9895:     xyzabc
                   9896:  0: 
                   9897:  0+ xyzabc
                   9898:     xyzabc\N
                   9899:  0: ab
                   9900:  0+ c
                   9901:     xyzabc\N\N
                   9902:  0: 
                   9903:  0+ yzabc
                   9904:     xyz\N\N    
                   9905:  0: 
                   9906:  0+ yz
                   9907:     ** Failers 
                   9908:  0: 
                   9909:  0+ ** Failers
                   9910:     xyz\N 
                   9911: No match
                   9912: 
                   9913: /^a?b?/+
                   9914:     xyz
                   9915:  0: 
                   9916:  0+ xyz
                   9917:     xyzabc
                   9918:  0: 
                   9919:  0+ xyzabc
                   9920:     ** Failers 
                   9921:  0: 
                   9922:  0+ ** Failers
                   9923:     xyzabc\N
                   9924: No match
                   9925:     xyzabc\N\N
                   9926: No match
                   9927:     xyz\N\N    
                   9928: No match
                   9929:     xyz\N 
                   9930: No match
                   9931:     
                   9932: /^(?<name>a|b\g<name>c)/
                   9933:     aaaa
                   9934:  0: a
                   9935:  1: a
                   9936:     bacxxx
                   9937:  0: bac
                   9938:  1: bac
                   9939:     bbaccxxx 
                   9940:  0: bbacc
                   9941:  1: bbacc
                   9942:     bbbacccxx
                   9943:  0: bbbaccc
                   9944:  1: bbbaccc
                   9945: 
                   9946: /^(?<name>a|b\g'name'c)/
                   9947:     aaaa
                   9948:  0: a
                   9949:  1: a
                   9950:     bacxxx
                   9951:  0: bac
                   9952:  1: bac
                   9953:     bbaccxxx 
                   9954:  0: bbacc
                   9955:  1: bbacc
                   9956:     bbbacccxx
                   9957:  0: bbbaccc
                   9958:  1: bbbaccc
                   9959: 
                   9960: /^(a|b\g<1>c)/
                   9961:     aaaa
                   9962:  0: a
                   9963:  1: a
                   9964:     bacxxx
                   9965:  0: bac
                   9966:  1: bac
                   9967:     bbaccxxx 
                   9968:  0: bbacc
                   9969:  1: bbacc
                   9970:     bbbacccxx
                   9971:  0: bbbaccc
                   9972:  1: bbbaccc
                   9973: 
                   9974: /^(a|b\g'1'c)/
                   9975:     aaaa
                   9976:  0: a
                   9977:  1: a
                   9978:     bacxxx
                   9979:  0: bac
                   9980:  1: bac
                   9981:     bbaccxxx 
                   9982:  0: bbacc
                   9983:  1: bbacc
                   9984:     bbbacccxx
                   9985:  0: bbbaccc
                   9986:  1: bbbaccc
                   9987: 
                   9988: /^(a|b\g'-1'c)/
                   9989:     aaaa
                   9990:  0: a
                   9991:  1: a
                   9992:     bacxxx
                   9993:  0: bac
                   9994:  1: bac
                   9995:     bbaccxxx 
                   9996:  0: bbacc
                   9997:  1: bbacc
                   9998:     bbbacccxx
                   9999:  0: bbbaccc
                   10000:  1: bbbaccc
                   10001: 
                   10002: /(^(a|b\g<-1>c))/
                   10003:     aaaa
                   10004:  0: a
                   10005:  1: a
                   10006:  2: a
                   10007:     bacxxx
                   10008:  0: bac
                   10009:  1: bac
                   10010:  2: bac
                   10011:     bbaccxxx 
                   10012:  0: bbacc
                   10013:  1: bbacc
                   10014:  2: bbacc
                   10015:     bbbacccxx
                   10016:  0: bbbaccc
                   10017:  1: bbbaccc
                   10018:  2: bbbaccc
                   10019: 
                   10020: /(?-i:\g<name>)(?i:(?<name>a))/
                   10021:     XaaX
                   10022:  0: aa
                   10023:  1: a
                   10024:     XAAX 
                   10025:  0: AA
                   10026:  1: A
                   10027: 
                   10028: /(?i:\g<name>)(?-i:(?<name>a))/
                   10029:     XaaX
                   10030:  0: aa
                   10031:  1: a
                   10032:     ** Failers 
                   10033: No match
                   10034:     XAAX 
                   10035: No match
                   10036: 
                   10037: /(?-i:\g<+1>)(?i:(a))/
                   10038:     XaaX
                   10039:  0: aa
                   10040:  1: a
                   10041:     XAAX 
                   10042:  0: AA
                   10043:  1: A
                   10044: 
                   10045: /(?=(?<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>\})\}))\{/
                   10046: 
                   10047: /(?<n>a|b|c)\g<n>*/
                   10048:    abc
                   10049:  0: abc
                   10050:  1: a
                   10051:    accccbbb 
                   10052:  0: accccbbb
                   10053:  1: a
                   10054: 
                   10055: /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
                   10056:     XYabcdY
                   10057:  0: XYabcdY
                   10058:  1: a
                   10059:  2: b
                   10060:  3: <unset>
                   10061:  4: <unset>
                   10062:  5: c
                   10063:  6: d
                   10064:  7: Y
                   10065: 
                   10066: /(?<=b(?1)|zzz)(a)/
                   10067:     xbaax
                   10068:  0: a
                   10069:  1: a
                   10070:     xzzzax 
                   10071:  0: a
                   10072:  1: a
                   10073: 
                   10074: /(a)(?<=b\1)/
                   10075: Failed: lookbehind assertion is not fixed length at offset 10
                   10076: 
                   10077: /(a)(?<=b+(?1))/
                   10078: Failed: lookbehind assertion is not fixed length at offset 13
                   10079: 
                   10080: /(a+)(?<=b(?1))/
                   10081: Failed: lookbehind assertion is not fixed length at offset 14
                   10082: 
                   10083: /(a(?<=b(?1)))/
                   10084: Failed: lookbehind assertion is not fixed length at offset 13
                   10085: 
                   10086: /(?<=b(?1))xyz/
                   10087: Failed: reference to non-existent subpattern at offset 8
                   10088: 
                   10089: /(?<=b(?1))xyz(b+)pqrstuvew/
                   10090: Failed: lookbehind assertion is not fixed length at offset 26
                   10091: 
                   10092: /(a|bc)\1/SI
                   10093: Capturing subpattern count = 1
                   10094: Max back reference = 1
                   10095: No options
                   10096: No first char
                   10097: No need char
                   10098: Subject length lower bound = 2
                   10099: Starting byte set: a b 
                   10100: 
                   10101: /(a|bc)\1{2,3}/SI
                   10102: Capturing subpattern count = 1
                   10103: Max back reference = 1
                   10104: No options
                   10105: No first char
                   10106: No need char
                   10107: Subject length lower bound = 3
                   10108: Starting byte set: a b 
                   10109: 
                   10110: /(a|bc)(?1)/SI
                   10111: Capturing subpattern count = 1
                   10112: No options
                   10113: No first char
                   10114: No need char
                   10115: Subject length lower bound = 2
                   10116: Starting byte set: a b 
                   10117: 
                   10118: /(a|b\1)(a|b\1)/SI
                   10119: Capturing subpattern count = 2
                   10120: Max back reference = 1
                   10121: No options
                   10122: No first char
                   10123: No need char
                   10124: Subject length lower bound = 2
                   10125: Starting byte set: a b 
                   10126: 
                   10127: /(a|b\1){2}/SI
                   10128: Capturing subpattern count = 1
                   10129: Max back reference = 1
                   10130: No options
                   10131: No first char
                   10132: No need char
                   10133: Subject length lower bound = 2
                   10134: Starting byte set: a b 
                   10135: 
                   10136: /(a|bbbb\1)(a|bbbb\1)/SI
                   10137: Capturing subpattern count = 2
                   10138: Max back reference = 1
                   10139: No options
                   10140: No first char
                   10141: No need char
                   10142: Subject length lower bound = 2
                   10143: Starting byte set: a b 
                   10144: 
                   10145: /(a|bbbb\1){2}/SI
                   10146: Capturing subpattern count = 1
                   10147: Max back reference = 1
                   10148: No options
                   10149: No first char
                   10150: No need char
                   10151: Subject length lower bound = 2
                   10152: Starting byte set: a b 
                   10153: 
                   10154: /^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
                   10155: Capturing subpattern count = 1
                   10156: Options: anchored
                   10157: No first char
                   10158: Need char = ':'
                   10159: Subject length lower bound = 22
                   10160: No set of starting bytes
                   10161: 
                   10162: /<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
                   10163: Capturing subpattern count = 11
                   10164: Options: caseless dotall
                   10165: First char = '<'
                   10166: Need char = '>'
                   10167: Subject length lower bound = 47
                   10168: No set of starting bytes
                   10169: 
                   10170: "(?>.*/)foo"SI
                   10171: Capturing subpattern count = 0
                   10172: No options
1.1.1.4   misho    10173: No first char
1.1       misho    10174: Need char = 'o'
                   10175: Subject length lower bound = 4
                   10176: No set of starting bytes
                   10177: 
                   10178: /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
                   10179: Capturing subpattern count = 0
                   10180: Options: extended
                   10181: No first char
                   10182: Need char = '-'
                   10183: Subject length lower bound = 8
                   10184: No set of starting bytes
                   10185: 
                   10186: /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
                   10187: Capturing subpattern count = 1
                   10188: Options: caseless
                   10189: No first char
                   10190: No need char
                   10191: Subject length lower bound = 1
                   10192: Starting byte set: A B C a b c 
                   10193: 
                   10194: /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
                   10195: Capturing subpattern count = 0
                   10196: No options
                   10197: No first char
                   10198: Need char = 'b'
                   10199: Subject length lower bound = 41
                   10200: Starting byte set: c d 
                   10201: 
                   10202: /<a[\s]+href[\s]*=[\s]*          # find <a href=
                   10203:  ([\"\'])?                       # find single or double quote
                   10204:  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
                   10205:                                  # quote, otherwise match up to next space
                   10206: /isxSI
                   10207: Capturing subpattern count = 3
                   10208: Max back reference = 1
                   10209: Options: caseless extended dotall
                   10210: First char = '<'
                   10211: Need char = '='
                   10212: Subject length lower bound = 9
                   10213: No set of starting bytes
                   10214: 
                   10215: /^(?!:)                       # colon disallowed at start
                   10216:   (?:                         # start of item
                   10217:     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
                   10218:     (?(1)0 | () ) )           # if null previously matched, fail; else null
                   10219:     :                         # followed by colon
                   10220:   ){1,7}                      # end item; 1-7 of them required               
                   10221:   [0-9a-f]{1,4} $             # final hex number at end of string
                   10222:   (?(1)|.)                    # check that there was an empty component
                   10223:   /xiIS
                   10224: Capturing subpattern count = 1
                   10225: Options: anchored caseless extended
                   10226: No first char
                   10227: Need char = ':'
                   10228: Subject length lower bound = 2
                   10229: No set of starting bytes
                   10230: 
                   10231: /(?|(?<a>A)|(?<a>B))/I
                   10232: Capturing subpattern count = 1
                   10233: Named capturing subpatterns:
                   10234:   a   1
                   10235: No options
                   10236: No first char
                   10237: No need char
                   10238:     AB\Ca
                   10239:  0: A
                   10240:  1: A
                   10241:   C A (1) a
                   10242:     BA\Ca
                   10243:  0: B
                   10244:  1: B
                   10245:   C B (1) a
                   10246: 
                   10247: /(?|(?<a>A)|(?<b>B))/ 
                   10248: Failed: different names for subpatterns of the same number are not allowed at offset 15
                   10249: 
                   10250: /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
                   10251:     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
                   10252:     (?('quote')[a-z]+|[0-9]+)/JIx
                   10253: Capturing subpattern count = 6
                   10254: Named capturing subpatterns:
                   10255:   apostrophe   2
                   10256:   apostrophe   5
                   10257:   quote        1
                   10258:   quote        4
                   10259:   realquote    3
                   10260:   realquote    6
                   10261: Options: extended dupnames
                   10262: No first char
                   10263: No need char
                   10264:     a"aaaaa
                   10265:  0: a"aaaaa
                   10266:  1: "
                   10267:  2: <unset>
                   10268:  3: "
                   10269:     b"aaaaa 
                   10270:  0: b"aaaaa
                   10271:  1: <unset>
                   10272:  2: <unset>
                   10273:  3: <unset>
                   10274:  4: "
                   10275:  5: <unset>
                   10276:  6: "
                   10277:     ** Failers 
                   10278: No match
                   10279:     b"11111
                   10280: No match
                   10281:     a"11111 
                   10282: No match
                   10283:     
                   10284: /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
                   10285: ------------------------------------------------------------------
                   10286:         Bra
                   10287:         ^
                   10288:         Bra
                   10289:         CBra 1
                   10290:         a
                   10291:         Ket
                   10292:         CBra 2
                   10293:         b
                   10294:         Ket
                   10295:         CBra 3
                   10296:         c
                   10297:         Ket
                   10298:         CBra 4
                   10299:         d
                   10300:         Ket
                   10301:         Alt
                   10302:         CBra 1
                   10303:         e
                   10304:         Ket
                   10305:         Ket
                   10306:         Cond
1.1.1.5 ! misho    10307:         Cond ref <D>2
1.1       misho    10308:         X
                   10309:         Alt
                   10310:         Y
                   10311:         Ket
                   10312:         Ket
                   10313:         End
                   10314: ------------------------------------------------------------------
                   10315: Capturing subpattern count = 4
                   10316: Named capturing subpatterns:
                   10317:   D   4
                   10318:   D   1
                   10319: Options: anchored extended dupnames
                   10320: No first char
                   10321: No need char
                   10322:     abcdX
                   10323:  0: abcdX
                   10324:  1: a
                   10325:  2: b
                   10326:  3: c
                   10327:  4: d
                   10328:     eX
                   10329:  0: eX
                   10330:  1: e
                   10331:     ** Failers
                   10332: No match
                   10333:     abcdY
                   10334: No match
                   10335:     ey     
                   10336: No match
                   10337:     
                   10338: /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
                   10339: ------------------------------------------------------------------
                   10340:         Bra
                   10341:         CBra 1
                   10342:         a
                   10343:         Ket
                   10344:         CBra 2
                   10345:         b
                   10346:         Ket
                   10347:         CBra 3
                   10348:         c
                   10349:         Ket
                   10350:         CBra 4
                   10351:         d
                   10352:         Cond
1.1.1.5 ! misho    10353:         Cond recurse <A>2
1.1       misho    10354:         $
                   10355:         Alt
                   10356:         Recurse
                   10357:         Ket
                   10358:         Ket
                   10359:         Ket
                   10360:         End
                   10361: ------------------------------------------------------------------
                   10362: Capturing subpattern count = 4
                   10363: Named capturing subpatterns:
                   10364:   A   1
                   10365:   A   4
                   10366: Options: extended dupnames
                   10367: First char = 'a'
                   10368: Need char = 'd'
                   10369:     abcdd
                   10370:  0: abcdd
                   10371:  1: a
                   10372:  2: b
                   10373:  3: c
                   10374:  4: dd
                   10375:     ** Failers
                   10376: No match
                   10377:     abcdde  
                   10378: No match
                   10379: 
                   10380: /abcd*/
                   10381:     xxxxabcd\P
                   10382:  0: abcd
                   10383:     xxxxabcd\P\P
                   10384: Partial match: abcd
                   10385: 
                   10386: /abcd*/i
                   10387:     xxxxabcd\P
                   10388:  0: abcd
                   10389:     xxxxabcd\P\P
                   10390: Partial match: abcd
                   10391:     XXXXABCD\P
                   10392:  0: ABCD
                   10393:     XXXXABCD\P\P
                   10394: Partial match: ABCD
                   10395: 
                   10396: /abc\d*/
                   10397:     xxxxabc1\P
                   10398:  0: abc1
                   10399:     xxxxabc1\P\P
                   10400: Partial match: abc1
                   10401: 
                   10402: /(a)bc\1*/
                   10403:     xxxxabca\P
                   10404:  0: abca
                   10405:  1: a
                   10406:     xxxxabca\P\P
                   10407: Partial match: abca
                   10408: 
                   10409: /abc[de]*/
                   10410:     xxxxabcde\P
                   10411:  0: abcde
                   10412:     xxxxabcde\P\P
                   10413: Partial match: abcde
                   10414: 
1.1.1.4   misho    10415: /-- This is not in the Perl-compatible test because Perl seems currently to be
1.1       misho    10416:     broken and not behaving as specified in that it *does* bumpalong after
                   10417:     hitting (*COMMIT). --/
                   10418: 
                   10419: /(?1)(A(*COMMIT)|B)D/
                   10420:     ABD
                   10421:  0: ABD
                   10422:  1: B
                   10423:     XABD
                   10424:  0: ABD
                   10425:  1: B
                   10426:     BAD
                   10427:  0: BAD
                   10428:  1: A
                   10429:     ABXABD  
                   10430:  0: ABD
                   10431:  1: B
                   10432:     ** Failers 
                   10433: No match
                   10434:     ABX 
                   10435: No match
                   10436:     BAXBAD  
                   10437: No match
                   10438: 
                   10439: /(\3)(\1)(a)/<JS>
                   10440:     cat
                   10441:  0: a
                   10442:  1: 
                   10443:  2: 
                   10444:  3: a
                   10445: 
                   10446: /(\3)(\1)(a)/SI<JS>
                   10447: Capturing subpattern count = 3
                   10448: Max back reference = 3
                   10449: Options:
                   10450: No first char
                   10451: Need char = 'a'
                   10452: Subject length lower bound = 1
                   10453: No set of starting bytes
                   10454:     cat
                   10455:  0: a
                   10456:  1: 
                   10457:  2: 
                   10458:  3: a
                   10459: 
                   10460: /(\3)(\1)(a)/SI
                   10461: Capturing subpattern count = 3
                   10462: Max back reference = 3
                   10463: No options
                   10464: No first char
                   10465: Need char = 'a'
                   10466: Subject length lower bound = 3
                   10467: No set of starting bytes
                   10468:     cat
                   10469: No match
                   10470: 
                   10471: /i(?(DEFINE)(?<s>a))/SI
                   10472: Capturing subpattern count = 1
                   10473: Named capturing subpatterns:
                   10474:   s   1
                   10475: No options
                   10476: First char = 'i'
                   10477: No need char
                   10478: Subject length lower bound = 1
                   10479: No set of starting bytes
                   10480:     i
                   10481:  0: i
                   10482:     
                   10483: /()i(?(1)a)/SI 
                   10484: Capturing subpattern count = 1
                   10485: No options
                   10486: No first char
                   10487: Need char = 'i'
                   10488: Subject length lower bound = 1
                   10489: Starting byte set: i 
                   10490:     ia
                   10491:  0: ia
                   10492:  1: 
                   10493: 
                   10494: /(?i)a(?-i)b|c/BZ
                   10495: ------------------------------------------------------------------
                   10496:         Bra
                   10497:      /i a
                   10498:         b
                   10499:         Alt
                   10500:         c
                   10501:         Ket
                   10502:         End
                   10503: ------------------------------------------------------------------
                   10504:     XabX
                   10505:  0: ab
                   10506:     XAbX
                   10507:  0: Ab
                   10508:     CcC 
                   10509:  0: c
                   10510:     ** Failers
                   10511: No match
                   10512:     XABX   
                   10513: No match
                   10514: 
                   10515: /(?i)a(?s)b|c/BZ
                   10516: ------------------------------------------------------------------
                   10517:         Bra
                   10518:      /i ab
                   10519:         Alt
                   10520:      /i c
                   10521:         Ket
                   10522:         End
                   10523: ------------------------------------------------------------------
                   10524: 
                   10525: /(?i)a(?s-i)b|c/BZ
                   10526: ------------------------------------------------------------------
                   10527:         Bra
                   10528:      /i a
                   10529:         b
                   10530:         Alt
                   10531:         c
                   10532:         Ket
                   10533:         End
                   10534: ------------------------------------------------------------------
                   10535: 
                   10536: /^(ab(c\1)d|x){2}$/BZ
                   10537: ------------------------------------------------------------------
                   10538:         Bra
                   10539:         ^
                   10540:         Once
                   10541:         CBra 1
                   10542:         ab
                   10543:         CBra 2
                   10544:         c
                   10545:         \1
                   10546:         Ket
                   10547:         d
                   10548:         Alt
                   10549:         x
                   10550:         Ket
                   10551:         Ket
                   10552:         Once
                   10553:         CBra 1
                   10554:         ab
                   10555:         CBra 2
                   10556:         c
                   10557:         \1
                   10558:         Ket
                   10559:         d
                   10560:         Alt
                   10561:         x
                   10562:         Ket
                   10563:         Ket
                   10564:         $
                   10565:         Ket
                   10566:         End
                   10567: ------------------------------------------------------------------
                   10568:     xabcxd
                   10569:  0: xabcxd
                   10570:  1: abcxd
                   10571:  2: cx
                   10572:     
                   10573: /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
                   10574: ------------------------------------------------------------------
                   10575:         Bra
                   10576:         ^
                   10577:         Braposzero
                   10578:         SBraPos
                   10579:         Recurse
                   10580:         KetRpos
                   10581:         Cond
                   10582:         Cond def
                   10583:         CBra 1
                   10584:         Any
                   10585:         Ket
                   10586:         Ket
                   10587:         $
                   10588:         Ket
                   10589:         End
                   10590: ------------------------------------------------------------------
                   10591: 
                   10592: /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
                   10593: ------------------------------------------------------------------
                   10594:         Bra
                   10595:         ^
                   10596:         Brazero
                   10597:         Once
                   10598:         Recurse
                   10599:         KetRmax
                   10600:         Cond
                   10601:         Cond def
                   10602:         CBra 1
                   10603:         Any
                   10604:         Ket
                   10605:         Ket
                   10606:         $
                   10607:         Ket
                   10608:         End
                   10609: ------------------------------------------------------------------
                   10610: 
1.1.1.4   misho    10611: / -- This one is here because Perl gives the match as "b" rather than "ab". I
1.1       misho    10612:      believe this to be a Perl bug. --/  
                   10613:       
                   10614: /(?>a\Kb)z|(ab)/
                   10615:     ab 
                   10616:  0: ab
                   10617:  1: ab
                   10618: 
                   10619: /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
                   10620: Failed: recursive call could loop indefinitely at offset 31
                   10621: 
                   10622: /abc(*MARK:)pqr/
                   10623: Failed: (*MARK) must have an argument at offset 10
                   10624: 
                   10625: /abc(*:)pqr/
                   10626: Failed: (*MARK) must have an argument at offset 6
                   10627: 
                   10628: /abc(*FAIL:123)xyz/
                   10629: Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
                   10630: 
                   10631: /--- This should, and does, fail. In Perl, it does not, which I think is a 
                   10632:      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
                   10633: 
                   10634: /A(*COMMIT)B/+K
                   10635:     ACABX
                   10636: No match
                   10637: 
1.1.1.4   misho    10638: /--- These should be different, but in Perl they are not, which I think
1.1       misho    10639:      is a bug in Perl. ---/
                   10640: 
                   10641: /A(*THEN)B|A(*THEN)C/K
                   10642:     AC
                   10643:  0: AC
                   10644: 
                   10645: /A(*PRUNE)B|A(*PRUNE)C/K
                   10646:     AC
                   10647: No match
                   10648:     
                   10649: /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
                   10650: though PCRE does. ---/
                   10651: 
                   10652: /^A(*:A)B|^X(*:A)Y/K
                   10653:     ** Failers
                   10654: No match
                   10655:     XAQQ
                   10656: No match, mark = A
                   10657:     
                   10658: /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
                   10659: optimizations defeat this. So does the PCRE optimization unless we disable it 
                   10660: with \Y. ---/
                   10661: 
                   10662: /(*COMMIT)ABC/
                   10663:     ABCDEFG
                   10664:  0: ABC
                   10665:     ** Failers
                   10666: No match
                   10667:     DEFGABC\Y  
                   10668: No match
                   10669:     
                   10670: /^(ab (c+(*THEN)cd) | xyz)/x
                   10671:     abcccd  
                   10672: No match
                   10673: 
                   10674: /^(ab (c+(*PRUNE)cd) | xyz)/x
                   10675:     abcccd  
                   10676: No match
                   10677: 
                   10678: /^(ab (c+(*FAIL)cd) | xyz)/x
                   10679:     abcccd  
                   10680: No match
                   10681:     
1.1.1.4   misho    10682: /--- Perl gets some of these wrong ---/ 
1.1       misho    10683: 
                   10684: /(?>.(*ACCEPT))*?5/
                   10685:     abcde
                   10686:  0: a
                   10687: 
                   10688: /(.(*ACCEPT))*?5/
                   10689:     abcde
                   10690:  0: a
                   10691:  1: a
                   10692: 
                   10693: /(.(*ACCEPT))5/
                   10694:     abcde
                   10695:  0: a
                   10696:  1: a
                   10697: 
                   10698: /(.(*ACCEPT))*5/
                   10699:     abcde
                   10700:  0: a
                   10701:  1: a
                   10702: 
                   10703: /A\NB./BZ
                   10704: ------------------------------------------------------------------
                   10705:         Bra
                   10706:         A
                   10707:         Any
                   10708:         B
                   10709:         Any
                   10710:         Ket
                   10711:         End
                   10712: ------------------------------------------------------------------
                   10713:     ACBD
                   10714:  0: ACBD
                   10715:     *** Failers
                   10716: No match
                   10717:     A\nB
                   10718: No match
                   10719:     ACB\n   
                   10720: No match
                   10721: 
                   10722: /A\NB./sBZ
                   10723: ------------------------------------------------------------------
                   10724:         Bra
                   10725:         A
                   10726:         Any
                   10727:         B
                   10728:         AllAny
                   10729:         Ket
                   10730:         End
                   10731: ------------------------------------------------------------------
                   10732:     ACBD
                   10733:  0: ACBD
                   10734:     ACB\n 
                   10735:  0: ACB\x0a
                   10736:     *** Failers
                   10737: No match
                   10738:     A\nB  
                   10739: No match
                   10740:   
                   10741: /A\NB/<crlf>
                   10742:     A\nB
                   10743:  0: A\x0aB
                   10744:     A\rB
                   10745:  0: A\x0dB
                   10746:     ** Failers
                   10747: No match
                   10748:     A\r\nB    
                   10749: No match
                   10750: 
                   10751: /\R+b/BZ
                   10752: ------------------------------------------------------------------
                   10753:         Bra
                   10754:         \R++
                   10755:         b
                   10756:         Ket
                   10757:         End
                   10758: ------------------------------------------------------------------
                   10759: 
                   10760: /\R+\n/BZ
                   10761: ------------------------------------------------------------------
                   10762:         Bra
                   10763:         \R+
                   10764:         \x0a
                   10765:         Ket
                   10766:         End
                   10767: ------------------------------------------------------------------
                   10768: 
                   10769: /\R+\d/BZ
                   10770: ------------------------------------------------------------------
                   10771:         Bra
                   10772:         \R++
                   10773:         \d
                   10774:         Ket
                   10775:         End
                   10776: ------------------------------------------------------------------
                   10777: 
                   10778: /\d*\R/BZ
                   10779: ------------------------------------------------------------------
                   10780:         Bra
                   10781:         \d*+
                   10782:         \R
                   10783:         Ket
                   10784:         End
                   10785: ------------------------------------------------------------------
                   10786: 
                   10787: /\s*\R/BZ
                   10788: ------------------------------------------------------------------
                   10789:         Bra
1.1.1.3   misho    10790:         \s*
                   10791:         \R
                   10792:         Ket
                   10793:         End
                   10794: ------------------------------------------------------------------
                   10795:     \x20\x0a
                   10796:  0:  \x0a
                   10797:     \x20\x0d
                   10798:  0:  \x0d
                   10799:     \x20\x0d\x0a
                   10800:  0:  \x0d\x0a
                   10801: 
                   10802: /\S*\R/BZ
                   10803: ------------------------------------------------------------------
                   10804:         Bra
                   10805:         \S*+
                   10806:         \R
                   10807:         Ket
                   10808:         End
                   10809: ------------------------------------------------------------------
                   10810:     a\x0a
                   10811:  0: a\x0a
                   10812: 
                   10813: /X\h*\R/BZ
                   10814: ------------------------------------------------------------------
                   10815:         Bra
                   10816:         X
                   10817:         \h*+
                   10818:         \R
                   10819:         Ket
                   10820:         End
                   10821: ------------------------------------------------------------------
                   10822:     X\x20\x0a
                   10823:  0: X \x0a
                   10824: 
                   10825: /X\H*\R/BZ
                   10826: ------------------------------------------------------------------
                   10827:         Bra
                   10828:         X
                   10829:         \H*
1.1       misho    10830:         \R
                   10831:         Ket
                   10832:         End
                   10833: ------------------------------------------------------------------
1.1.1.3   misho    10834:     X\x0d\x0a
                   10835:  0: X\x0d\x0a
                   10836: 
                   10837: /X\H+\R/BZ
                   10838: ------------------------------------------------------------------
                   10839:         Bra
                   10840:         X
                   10841:         \H+
                   10842:         \R
                   10843:         Ket
                   10844:         End
                   10845: ------------------------------------------------------------------
                   10846:     X\x0d\x0a
                   10847:  0: X\x0d\x0a
                   10848: 
                   10849: /X\H++\R/BZ
                   10850: ------------------------------------------------------------------
                   10851:         Bra
                   10852:         X
                   10853:         \H++
                   10854:         \R
                   10855:         Ket
                   10856:         End
                   10857: ------------------------------------------------------------------
                   10858:     X\x0d\x0a
                   10859: No match
1.1       misho    10860: 
                   10861: /(?<=abc)def/
                   10862:     abc\P\P
1.1.1.4   misho    10863: Partial match at offset 3: abc
1.1       misho    10864: 
                   10865: /abc$/
                   10866:     abc
                   10867:  0: abc
                   10868:     abc\P
                   10869:  0: abc
                   10870:     abc\P\P
                   10871: Partial match: abc
                   10872: 
                   10873: /abc$/m
                   10874:     abc
                   10875:  0: abc
                   10876:     abc\n
                   10877:  0: abc
                   10878:     abc\P\P
                   10879: Partial match: abc
                   10880:     abc\n\P\P 
                   10881:  0: abc
                   10882:     abc\P
                   10883:  0: abc
                   10884:     abc\n\P
                   10885:  0: abc
                   10886: 
                   10887: /abc\z/
                   10888:     abc
                   10889:  0: abc
                   10890:     abc\P
                   10891:  0: abc
                   10892:     abc\P\P
                   10893: Partial match: abc
                   10894: 
                   10895: /abc\Z/
                   10896:     abc
                   10897:  0: abc
                   10898:     abc\P
                   10899:  0: abc
                   10900:     abc\P\P
                   10901: Partial match: abc
                   10902: 
                   10903: /abc\b/
                   10904:     abc
                   10905:  0: abc
                   10906:     abc\P
                   10907:  0: abc
                   10908:     abc\P\P
                   10909: Partial match: abc
                   10910: 
                   10911: /abc\B/
                   10912:     abc
                   10913: No match
                   10914:     abc\P
                   10915: Partial match: abc
                   10916:     abc\P\P
                   10917: Partial match: abc
                   10918: 
                   10919: /.+/
                   10920:     abc\>0
                   10921:  0: abc
                   10922:     abc\>1
                   10923:  0: bc
                   10924:     abc\>2
                   10925:  0: c
                   10926:     abc\>3
                   10927: No match
                   10928:     abc\>4
                   10929: Error -24 (bad offset value)
                   10930:     abc\>-4 
                   10931: Error -24 (bad offset value)
                   10932: 
                   10933: /^\cÄ£/
                   10934: Failed: \c must be followed by an ASCII character at offset 3
                   10935: 
                   10936: /(?P<abn>(?P=abn)xxx)/BZ
                   10937: ------------------------------------------------------------------
                   10938:         Bra
                   10939:         Once
                   10940:         CBra 1
                   10941:         \1
                   10942:         xxx
                   10943:         Ket
                   10944:         Ket
                   10945:         Ket
                   10946:         End
                   10947: ------------------------------------------------------------------
                   10948: 
                   10949: /(a\1z)/BZ
                   10950: ------------------------------------------------------------------
                   10951:         Bra
                   10952:         Once
                   10953:         CBra 1
                   10954:         a
                   10955:         \1
                   10956:         z
                   10957:         Ket
                   10958:         Ket
                   10959:         Ket
                   10960:         End
                   10961: ------------------------------------------------------------------
                   10962: 
                   10963: /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
                   10964: Failed: syntax error in subpattern name (missing terminator) at offset 29
                   10965: 
                   10966: /(?P<abn>(?P=axn)xxx)/BZ
                   10967: Failed: reference to non-existent subpattern at offset 15
                   10968: 
                   10969: /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
                   10970: ------------------------------------------------------------------
                   10971:         Bra
                   10972:         CBra 1
                   10973:         \2
                   10974:         xxx
                   10975:         Ket
                   10976:         CBra 2
                   10977:         yy
                   10978:         Ket
                   10979:         Ket
                   10980:         End
                   10981: ------------------------------------------------------------------
                   10982: 
                   10983: /-- These tests are here because Perl gets the first one wrong. --/
                   10984: 
                   10985: /(\R*)(.)/s
                   10986:     \r\n
                   10987:  0: \x0d
                   10988:  1: 
                   10989:  2: \x0d
                   10990:     \r\r\n\n\r 
                   10991:  0: \x0d\x0d\x0a\x0a\x0d
                   10992:  1: \x0d\x0d\x0a\x0a
                   10993:  2: \x0d
                   10994:     \r\r\n\n\r\n 
                   10995:  0: \x0d\x0d\x0a\x0a\x0d
                   10996:  1: \x0d\x0d\x0a\x0a
                   10997:  2: \x0d
                   10998: 
                   10999: /(\R)*(.)/s
                   11000:     \r\n
                   11001:  0: \x0d
                   11002:  1: <unset>
                   11003:  2: \x0d
                   11004:     \r\r\n\n\r 
                   11005:  0: \x0d\x0d\x0a\x0a\x0d
                   11006:  1: \x0a
                   11007:  2: \x0d
                   11008:     \r\r\n\n\r\n 
                   11009:  0: \x0d\x0d\x0a\x0a\x0d
                   11010:  1: \x0a
                   11011:  2: \x0d
                   11012: 
                   11013: /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
                   11014:     \r\n
                   11015:  0: \x0d
                   11016:  1: 
                   11017:  2: \x0d
                   11018:     \r\r\n\n\r 
                   11019:  0: \x0d\x0d\x0a\x0a\x0d
                   11020:  1: \x0d\x0d\x0a\x0a
                   11021:  2: \x0d
                   11022:     \r\r\n\n\r\n 
                   11023:  0: \x0d\x0d\x0a\x0a\x0d
                   11024:  1: \x0d\x0d\x0a\x0a
                   11025:  2: \x0d
                   11026: 
                   11027: /-- --/
                   11028: 
                   11029: /^abc$/BZ
                   11030: ------------------------------------------------------------------
                   11031:         Bra
                   11032:         ^
                   11033:         abc
                   11034:         $
                   11035:         Ket
                   11036:         End
                   11037: ------------------------------------------------------------------
                   11038: 
                   11039: /^abc$/BZm
                   11040: ------------------------------------------------------------------
                   11041:         Bra
                   11042:      /m ^
                   11043:         abc
                   11044:      /m $
                   11045:         Ket
                   11046:         End
                   11047: ------------------------------------------------------------------
                   11048: 
                   11049: /^(a)*+(\w)/S
                   11050:     aaaaX
                   11051:  0: aaaaX
                   11052:  1: a
                   11053:  2: X
                   11054:     ** Failers 
                   11055: No match
                   11056:     aaaa
                   11057: No match
                   11058: 
                   11059: /^(?:a)*+(\w)/S
                   11060:     aaaaX
                   11061:  0: aaaaX
                   11062:  1: X
                   11063:     ** Failers 
                   11064: No match
                   11065:     aaaa
                   11066: No match
                   11067: 
                   11068: /(a)++1234/SDZ
                   11069: ------------------------------------------------------------------
                   11070:         Bra
                   11071:         CBraPos 1
                   11072:         a
                   11073:         KetRpos
                   11074:         1234
                   11075:         Ket
                   11076:         End
                   11077: ------------------------------------------------------------------
                   11078: Capturing subpattern count = 1
                   11079: No options
                   11080: First char = 'a'
                   11081: Need char = '4'
                   11082: Subject length lower bound = 5
                   11083: No set of starting bytes
                   11084: 
                   11085: /([abc])++1234/SI
                   11086: Capturing subpattern count = 1
                   11087: No options
                   11088: No first char
                   11089: Need char = '4'
                   11090: Subject length lower bound = 5
                   11091: Starting byte set: a b c 
                   11092: 
                   11093: /(?<=(abc)+)X/
                   11094: Failed: lookbehind assertion is not fixed length at offset 10
                   11095: 
                   11096: /(^ab)/I
                   11097: Capturing subpattern count = 1
                   11098: Options: anchored
                   11099: No first char
                   11100: No need char
                   11101: 
                   11102: /(^ab)++/I
                   11103: Capturing subpattern count = 1
                   11104: Options: anchored
                   11105: No first char
                   11106: No need char
                   11107: 
                   11108: /(^ab|^)+/I
                   11109: Capturing subpattern count = 1
1.1.1.5 ! misho    11110: May match empty string
1.1       misho    11111: Options: anchored
                   11112: No first char
                   11113: No need char
                   11114: 
                   11115: /(^ab|^)++/I
                   11116: Capturing subpattern count = 1
1.1.1.5 ! misho    11117: May match empty string
1.1       misho    11118: Options: anchored
                   11119: No first char
                   11120: No need char
                   11121: 
                   11122: /(?:^ab)/I
                   11123: Capturing subpattern count = 0
                   11124: Options: anchored
                   11125: No first char
                   11126: No need char
                   11127: 
                   11128: /(?:^ab)++/I
                   11129: Capturing subpattern count = 0
                   11130: Options: anchored
                   11131: No first char
                   11132: No need char
                   11133: 
                   11134: /(?:^ab|^)+/I
                   11135: Capturing subpattern count = 0
1.1.1.5 ! misho    11136: May match empty string
1.1       misho    11137: Options: anchored
                   11138: No first char
                   11139: No need char
                   11140: 
                   11141: /(?:^ab|^)++/I
                   11142: Capturing subpattern count = 0
1.1.1.5 ! misho    11143: May match empty string
1.1       misho    11144: Options: anchored
                   11145: No first char
                   11146: No need char
                   11147: 
                   11148: /(.*ab)/I
                   11149: Capturing subpattern count = 1
                   11150: No options
                   11151: First char at start or follows newline
                   11152: Need char = 'b'
                   11153: 
                   11154: /(.*ab)++/I
                   11155: Capturing subpattern count = 1
                   11156: No options
                   11157: First char at start or follows newline
                   11158: Need char = 'b'
                   11159: 
                   11160: /(.*ab|.*)+/I
                   11161: Capturing subpattern count = 1
1.1.1.5 ! misho    11162: May match empty string
1.1       misho    11163: No options
                   11164: First char at start or follows newline
                   11165: No need char
                   11166: 
                   11167: /(.*ab|.*)++/I
                   11168: Capturing subpattern count = 1
1.1.1.5 ! misho    11169: May match empty string
1.1       misho    11170: No options
                   11171: First char at start or follows newline
                   11172: No need char
                   11173: 
                   11174: /(?:.*ab)/I
                   11175: Capturing subpattern count = 0
                   11176: No options
                   11177: First char at start or follows newline
                   11178: Need char = 'b'
                   11179: 
                   11180: /(?:.*ab)++/I
                   11181: Capturing subpattern count = 0
                   11182: No options
                   11183: First char at start or follows newline
                   11184: Need char = 'b'
                   11185: 
                   11186: /(?:.*ab|.*)+/I
                   11187: Capturing subpattern count = 0
1.1.1.5 ! misho    11188: May match empty string
1.1       misho    11189: No options
                   11190: First char at start or follows newline
                   11191: No need char
                   11192: 
                   11193: /(?:.*ab|.*)++/I
                   11194: Capturing subpattern count = 0
1.1.1.5 ! misho    11195: May match empty string
1.1       misho    11196: No options
                   11197: First char at start or follows newline
                   11198: No need char
                   11199: 
                   11200: /(?=a)[bcd]/I
                   11201: Capturing subpattern count = 0
                   11202: No options
                   11203: First char = 'a'
                   11204: No need char
                   11205: 
                   11206: /((?=a))[bcd]/I
                   11207: Capturing subpattern count = 1
                   11208: No options
                   11209: First char = 'a'
                   11210: No need char
                   11211: 
                   11212: /((?=a))+[bcd]/I
                   11213: Capturing subpattern count = 1
                   11214: No options
                   11215: First char = 'a'
                   11216: No need char
                   11217: 
                   11218: /((?=a))++[bcd]/I
                   11219: Capturing subpattern count = 1
                   11220: No options
                   11221: First char = 'a'
                   11222: No need char
                   11223: 
                   11224: /(?=a+)[bcd]/iI
                   11225: Capturing subpattern count = 0
                   11226: Options: caseless
                   11227: First char = 'a' (caseless)
                   11228: No need char
                   11229: 
                   11230: /(?=a+?)[bcd]/iI
                   11231: Capturing subpattern count = 0
                   11232: Options: caseless
                   11233: First char = 'a' (caseless)
                   11234: No need char
                   11235: 
                   11236: /(?=a++)[bcd]/iI
                   11237: Capturing subpattern count = 0
                   11238: Options: caseless
                   11239: First char = 'a' (caseless)
                   11240: No need char
                   11241: 
                   11242: /(?=a{3})[bcd]/iI
                   11243: Capturing subpattern count = 0
                   11244: Options: caseless
                   11245: First char = 'a' (caseless)
                   11246: Need char = 'a' (caseless)
                   11247: 
                   11248: /(abc)\1+/S
                   11249: 
                   11250: /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
                   11251: 
                   11252: /(?1)(?:(b(*ACCEPT))){0}/
                   11253:     b
                   11254:  0: b
                   11255: 
                   11256: /(?1)(?:(b(*ACCEPT))){0}c/
                   11257:     bc
                   11258:  0: bc
                   11259:     ** Failers 
                   11260: No match
                   11261:     b 
                   11262: No match
                   11263: 
                   11264: /(?1)(?:((*ACCEPT))){0}c/
                   11265:     c
                   11266:  0: c
                   11267:     c\N 
                   11268:  0: c
                   11269: 
                   11270: /^.*?(?(?=a)a|b(*THEN)c)/
                   11271:     ba
                   11272: No match
                   11273: 
                   11274: /^.*?(?(?=a)a|bc)/
                   11275:     ba
                   11276:  0: ba
                   11277: 
                   11278: /^.*?(?(?=a)a(*THEN)b|c)/
                   11279:     ac
                   11280: No match
                   11281: 
                   11282: /^.*?(?(?=a)a(*THEN)b)c/
                   11283:     ac
                   11284: No match
                   11285: 
                   11286: /^.*?(a(*THEN)b)c/
                   11287:     aabc
                   11288: No match
                   11289:     
                   11290: /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
                   11291:     aabc
                   11292:  0: aabc
                   11293: 
                   11294: /^.*?(a(*THEN)b|z)c/
                   11295:     aabc
                   11296:  0: aabc
                   11297:  1: ab
                   11298: 
                   11299: /^.*?(z|a(*THEN)b)c/
                   11300:     aabc
                   11301:  0: aabc
                   11302:  1: ab
                   11303: 
                   11304: /-- --/
                   11305: 
                   11306: /-- These studied versions are here because they are not Perl-compatible; the
                   11307:     studying means the mark is not seen. --/
                   11308: 
                   11309: /(*MARK:A)(*SKIP:B)(C|X)/KS
                   11310:     C
                   11311:  0: C
                   11312:  1: C
                   11313: MK: A
                   11314:     D
                   11315: No match, mark = A
                   11316:      
                   11317: /(*:A)A+(*SKIP:A)(B|Z)/KS
                   11318:     AAAC
                   11319: No match, mark = A
                   11320: 
                   11321: /-- --/
                   11322: 
                   11323: "(?=a*(*ACCEPT)b)c"
                   11324:     c
                   11325:  0: c
                   11326:     c\N 
                   11327:  0: c
                   11328:     
                   11329: /(?1)c(?(DEFINE)((*ACCEPT)b))/
                   11330:     c
                   11331:  0: c
                   11332:     c\N  
                   11333:  0: c
                   11334:     
                   11335: /(?>(*ACCEPT)b)c/
                   11336:     c
                   11337:  0: 
                   11338:     c\N  
                   11339: No match
                   11340: 
                   11341: /(?:(?>(a)))+a%/++
                   11342:     %aa%
                   11343:  0: aa%
                   11344:  0+ 
                   11345:  1: a
                   11346:  1+ a%
                   11347: 
                   11348: /(a)b|ac/++SS
                   11349:     ac\O3
                   11350:  0: ac
                   11351:  0+ 
                   11352:     
                   11353: /(a)(b)x|abc/++
                   11354:      abc\O6
                   11355:  0: abc
                   11356:  0+ 
                   11357: 
                   11358: /(a)bc|(a)(b)\2/
                   11359:     \O3abc
                   11360: Matched, but too many substrings
                   11361:  0: abc
                   11362:     \O4abc 
                   11363: Matched, but too many substrings
                   11364:  0: abc
                   11365: 
                   11366: /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
                   11367: Capturing subpattern count = 2
                   11368: No options
                   11369: No first char
                   11370: No need char
                   11371: Subject length lower bound = 1
                   11372: No set of starting bytes
                   11373: 
                   11374: /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
                   11375: Capturing subpattern count = 2
                   11376: No options
                   11377: No first char
                   11378: No need char
                   11379: Subject length lower bound = 3
                   11380: Starting byte set: a b 
                   11381: 
                   11382: /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
                   11383: Capturing subpattern count = 2
                   11384: No options
                   11385: No first char
                   11386: No need char
                   11387: Subject length lower bound = 4
                   11388: Starting byte set: a b 
                   11389: 
                   11390: /(abc)(?1)/SI
                   11391: Capturing subpattern count = 1
                   11392: No options
                   11393: First char = 'a'
                   11394: Need char = 'c'
                   11395: Subject length lower bound = 6
                   11396: No set of starting bytes
                   11397: 
                   11398: /^(?>a)++/
                   11399:     aa\M
                   11400: Minimum match() limit = 5
                   11401: Minimum match() recursion limit = 2
                   11402:  0: aa
                   11403:     aaaaaaaaa\M 
                   11404: Minimum match() limit = 12
                   11405: Minimum match() recursion limit = 2
                   11406:  0: aaaaaaaaa
                   11407:     
                   11408: /(a)(?1)++/
                   11409:     aa\M
                   11410: Minimum match() limit = 7
                   11411: Minimum match() recursion limit = 4
                   11412:  0: aa
                   11413:  1: a
                   11414:     aaaaaaaaa\M  
                   11415: Minimum match() limit = 21
                   11416: Minimum match() recursion limit = 4
                   11417:  0: aaaaaaaaa
                   11418:  1: a
                   11419: 
                   11420: /(?:(foo)|(bar)|(baz))X/SS=
                   11421:     bazfooX
                   11422:  0: fooX
                   11423:  1: foo
                   11424:  2: <unset>
                   11425:  3: <unset>
                   11426:     foobazbarX
                   11427:  0: barX
                   11428:  1: <unset>
                   11429:  2: bar
                   11430:  3: <unset>
                   11431:     barfooX
                   11432:  0: fooX
                   11433:  1: foo
                   11434:  2: <unset>
                   11435:  3: <unset>
                   11436:     bazX
                   11437:  0: bazX
                   11438:  1: <unset>
                   11439:  2: <unset>
                   11440:  3: baz
                   11441:     foobarbazX    
                   11442:  0: bazX
                   11443:  1: <unset>
                   11444:  2: <unset>
                   11445:  3: baz
                   11446:     bazfooX\O0
                   11447: Matched, but too many substrings
                   11448:     bazfooX\O2
                   11449: Matched, but too many substrings
                   11450:  0: fooX
                   11451:     bazfooX\O4
                   11452: Matched, but too many substrings
                   11453:  0: fooX
                   11454:  1: <unset>
                   11455:     bazfooX\O6
                   11456: Matched, but too many substrings
                   11457:  0: fooX
                   11458:  1: foo
                   11459:  2: <unset>
                   11460:     bazfooX\O8
                   11461: Matched, but too many substrings
                   11462:  0: fooX
                   11463:  1: foo
                   11464:  2: <unset>
                   11465:  3: <unset>
                   11466:     bazfooX\O10
                   11467:  0: fooX
                   11468:  1: foo
                   11469:  2: <unset>
                   11470:  3: <unset>
                   11471: 
                   11472: /(?=abc){3}abc/BZ
                   11473: ------------------------------------------------------------------
                   11474:         Bra
                   11475:         Assert
                   11476:         abc
                   11477:         Ket
                   11478:         abc
                   11479:         Ket
                   11480:         End
                   11481: ------------------------------------------------------------------
                   11482: 
                   11483: /(?=abc)+abc/BZ
                   11484: ------------------------------------------------------------------
                   11485:         Bra
                   11486:         Assert
                   11487:         abc
                   11488:         Ket
                   11489:         abc
                   11490:         Ket
                   11491:         End
                   11492: ------------------------------------------------------------------
                   11493: 
                   11494: /(?=abc)++abc/BZ
                   11495: ------------------------------------------------------------------
                   11496:         Bra
                   11497:         Assert
                   11498:         abc
                   11499:         Ket
                   11500:         abc
                   11501:         Ket
                   11502:         End
                   11503: ------------------------------------------------------------------
                   11504: 
                   11505: /(?=abc){0}xyz/BZ
                   11506: ------------------------------------------------------------------
                   11507:         Bra
                   11508:         Skip zero
                   11509:         Assert
                   11510:         abc
                   11511:         Ket
                   11512:         xyz
                   11513:         Ket
                   11514:         End
                   11515: ------------------------------------------------------------------
                   11516: 
                   11517: /(?=(a))?./BZ
                   11518: ------------------------------------------------------------------
                   11519:         Bra
                   11520:         Brazero
                   11521:         Assert
                   11522:         CBra 1
                   11523:         a
                   11524:         Ket
                   11525:         Ket
                   11526:         Any
                   11527:         Ket
                   11528:         End
                   11529: ------------------------------------------------------------------
                   11530: 
                   11531: /(?=(a))??./BZ
                   11532: ------------------------------------------------------------------
                   11533:         Bra
                   11534:         Braminzero
                   11535:         Assert
                   11536:         CBra 1
                   11537:         a
                   11538:         Ket
                   11539:         Ket
                   11540:         Any
                   11541:         Ket
                   11542:         End
                   11543: ------------------------------------------------------------------
                   11544: 
                   11545: /^(?=(a)){0}b(?1)/BZ
                   11546: ------------------------------------------------------------------
                   11547:         Bra
                   11548:         ^
                   11549:         Skip zero
                   11550:         Assert
                   11551:         CBra 1
                   11552:         a
                   11553:         Ket
                   11554:         Ket
                   11555:         b
                   11556:         Recurse
                   11557:         Ket
                   11558:         End
                   11559: ------------------------------------------------------------------
                   11560: 
                   11561: /(?(DEFINE)(a))?b(?1)/BZ
                   11562: ------------------------------------------------------------------
                   11563:         Bra
                   11564:         Cond
                   11565:         Cond def
                   11566:         CBra 1
                   11567:         a
                   11568:         Ket
                   11569:         Ket
                   11570:         b
                   11571:         Recurse
                   11572:         Ket
                   11573:         End
                   11574: ------------------------------------------------------------------
                   11575: 
                   11576: /^(?=(?1))?[az]([abc])d/BZ
                   11577: ------------------------------------------------------------------
                   11578:         Bra
                   11579:         ^
                   11580:         Brazero
                   11581:         Assert
                   11582:         Recurse
                   11583:         Ket
                   11584:         [az]
                   11585:         CBra 1
                   11586:         [a-c]
                   11587:         Ket
                   11588:         d
                   11589:         Ket
                   11590:         End
                   11591: ------------------------------------------------------------------
                   11592: 
                   11593: /^(?!a){0}\w+/BZ
                   11594: ------------------------------------------------------------------
                   11595:         Bra
                   11596:         ^
                   11597:         Skip zero
                   11598:         Assert not
                   11599:         a
                   11600:         Ket
1.1.1.5 ! misho    11601:         \w++
1.1       misho    11602:         Ket
                   11603:         End
                   11604: ------------------------------------------------------------------
                   11605: 
                   11606: /(?<=(abc))?xyz/BZ
                   11607: ------------------------------------------------------------------
                   11608:         Bra
                   11609:         Brazero
                   11610:         AssertB
                   11611:         Reverse
                   11612:         CBra 1
                   11613:         abc
                   11614:         Ket
                   11615:         Ket
                   11616:         xyz
                   11617:         Ket
                   11618:         End
                   11619: ------------------------------------------------------------------
                   11620: 
                   11621: /[:a[:abc]b:]/BZ
                   11622: ------------------------------------------------------------------
                   11623:         Bra
                   11624:         [:[a-c]
                   11625:         b:]
                   11626:         Ket
                   11627:         End
                   11628: ------------------------------------------------------------------
                   11629: 
                   11630: /((?2))((?1))/SS
                   11631:     abc
                   11632: Error -26 (nested recursion at the same subject position)
                   11633: 
                   11634: /((?(R2)a+|(?1)b))/SS
                   11635:     aaaabcde
                   11636: Error -26 (nested recursion at the same subject position)
                   11637: 
                   11638: /(?(R)a*(?1)|((?R))b)/SS
                   11639:     aaaabcde
                   11640: Error -26 (nested recursion at the same subject position)
                   11641: 
                   11642: /(a+|(?R)b)/
                   11643: Failed: recursive call could loop indefinitely at offset 7
                   11644: 
                   11645: /^(a(*:A)(d|e(*:B))z|aeq)/C
                   11646:     adz
                   11647: --->adz
                   11648:  +0 ^       ^
                   11649:  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
                   11650:  +2 ^       a
                   11651:  +3 ^^      (*:A)
                   11652:  +8 ^^      (d|e(*:B))
                   11653: Latest Mark: A
                   11654:  +9 ^^      d
                   11655: +10 ^ ^     |
                   11656: +18 ^ ^     z
                   11657: +19 ^  ^    |
                   11658: +24 ^  ^    
                   11659:  0: adz
                   11660:  1: adz
                   11661:  2: d
                   11662:     aez
                   11663: --->aez
                   11664:  +0 ^       ^
                   11665:  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
                   11666:  +2 ^       a
                   11667:  +3 ^^      (*:A)
                   11668:  +8 ^^      (d|e(*:B))
                   11669: Latest Mark: A
                   11670:  +9 ^^      d
                   11671: +11 ^^      e
                   11672: +12 ^ ^     (*:B)
                   11673: +17 ^ ^     )
                   11674: Latest Mark: B
                   11675: +18 ^ ^     z
                   11676: +19 ^  ^    |
                   11677: +24 ^  ^    
                   11678:  0: aez
                   11679:  1: aez
                   11680:  2: e
                   11681:     aeqwerty
                   11682: --->aeqwerty
                   11683:  +0 ^            ^
                   11684:  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
                   11685:  +2 ^            a
                   11686:  +3 ^^           (*:A)
                   11687:  +8 ^^           (d|e(*:B))
                   11688: Latest Mark: A
                   11689:  +9 ^^           d
                   11690: +11 ^^           e
                   11691: +12 ^ ^          (*:B)
                   11692: +17 ^ ^          )
                   11693: Latest Mark: B
                   11694: +18 ^ ^          z
                   11695: +20 ^            a
                   11696: +21 ^^           e
                   11697: +22 ^ ^          q
                   11698: +23 ^  ^         )
                   11699: +24 ^  ^         
                   11700:  0: aeq
                   11701:  1: aeq
                   11702: 
                   11703: /.(*F)/
                   11704:     \P\Pabc
                   11705: No match
                   11706: 
                   11707: /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
                   11708: Capturing subpattern count = 0
1.1.1.4   misho    11709: Max lookbehind = 1
1.1       misho    11710: No options
                   11711: First char = 't'
                   11712: Need char = 't'
                   11713: Subject length lower bound = 18
                   11714: No set of starting bytes
                   11715: 
                   11716: /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
                   11717: Capturing subpattern count = 0
1.1.1.4   misho    11718: Max lookbehind = 1
1.1       misho    11719: No options
                   11720: No first char
                   11721: No need char
                   11722: Subject length lower bound = 8
                   11723: Starting byte set: < o t u 
                   11724: 
1.1.1.4   misho    11725: /a(*SKIP)c|b(*ACCEPT)|/+S!I
1.1       misho    11726: Capturing subpattern count = 0
1.1.1.5 ! misho    11727: May match empty string
1.1       misho    11728: No options
                   11729: No first char
                   11730: No need char
1.1.1.4   misho    11731: Subject length lower bound = -1
                   11732: No set of starting bytes
1.1       misho    11733:     a
                   11734:  0: 
                   11735:  0+ 
                   11736: 
                   11737: /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
                   11738: Capturing subpattern count = 0
                   11739: No options
                   11740: No first char
                   11741: No need char
                   11742: Subject length lower bound = -1
                   11743: Starting byte set: a b x 
                   11744:     ax
                   11745:  0: x
                   11746: 
                   11747: 'a*(*ACCEPT)b'+
                   11748:     \N\N
                   11749: No match
                   11750:     abc\N\N
                   11751:  0: a
                   11752:  0+ bc
                   11753:     bbb\N\N 
                   11754:  0: 
                   11755:  0+ bb
                   11756: 
                   11757: /(*ACCEPT)a/+I
                   11758: Capturing subpattern count = 0
                   11759: No options
                   11760: No first char
                   11761: No need char
                   11762:     bax
                   11763:  0: 
                   11764:  0+ bax
                   11765: 
                   11766: /z(*ACCEPT)a/+I
                   11767: Capturing subpattern count = 0
                   11768: No options
                   11769: First char = 'z'
                   11770: No need char
                   11771:     baxzbx
                   11772:  0: z
                   11773:  0+ bx
                   11774: 
                   11775: /a(?:.)*?a/ims                                                                  
                   11776:     \Mabbbbbbbbbbbbbbbbbbbbba
                   11777: Minimum match() limit = 65
                   11778: Minimum match() recursion limit = 2
                   11779:  0: abbbbbbbbbbbbbbbbbbbbba
                   11780:     
                   11781: /a(?:.(*THEN))*?a/ims
                   11782:     \Mabbbbbbbbbbbbbbbbbbbbba
                   11783: Minimum match() limit = 86
                   11784: Minimum match() recursion limit = 45
                   11785:  0: abbbbbbbbbbbbbbbbbbbbba
                   11786: 
                   11787: /a(?:.(*THEN:ABC))*?a/ims
                   11788:     \Mabbbbbbbbbbbbbbbbbbbbba
                   11789: Minimum match() limit = 86
                   11790: Minimum match() recursion limit = 45
                   11791:  0: abbbbbbbbbbbbbbbbbbbbba
                   11792: 
                   11793: /^(?>a+)(?>(z+))\w/BZ
                   11794: ------------------------------------------------------------------
                   11795:         Bra
                   11796:         ^
                   11797:         Once_NC
1.1.1.5 ! misho    11798:         a++
1.1       misho    11799:         Ket
                   11800:         Once
                   11801:         CBra 1
1.1.1.5 ! misho    11802:         z++
1.1       misho    11803:         Ket
                   11804:         Ket
                   11805:         \w
                   11806:         Ket
                   11807:         End
                   11808: ------------------------------------------------------------------
                   11809:     aaaazzzzb
                   11810:  0: aaaazzzzb
                   11811:  1: zzzz
                   11812:     ** Failers
                   11813: No match
                   11814:     aazz  
                   11815: No match
                   11816: 
                   11817: /(.)(\1|a(?2))/
                   11818:     bab
                   11819:  0: bab
                   11820:  1: b
                   11821:  2: ab
                   11822:     
                   11823: /\1|(.)(?R)\1/
                   11824:     cbbbc
                   11825:  0: cbbbc
                   11826:  1: c
                   11827:     
                   11828: /(.)((?(1)c|a)|a(?2))/
                   11829:     baa  
                   11830: No match
                   11831: 
                   11832: /(?P<abn>(?P=abn)xxx)/BZ
                   11833: ------------------------------------------------------------------
                   11834:         Bra
                   11835:         Once
                   11836:         CBra 1
                   11837:         \1
                   11838:         xxx
                   11839:         Ket
                   11840:         Ket
                   11841:         Ket
                   11842:         End
                   11843: ------------------------------------------------------------------
                   11844: 
                   11845: /(a\1z)/BZ
                   11846: ------------------------------------------------------------------
                   11847:         Bra
                   11848:         Once
                   11849:         CBra 1
                   11850:         a
                   11851:         \1
                   11852:         z
                   11853:         Ket
                   11854:         Ket
                   11855:         Ket
                   11856:         End
                   11857: ------------------------------------------------------------------
                   11858: 
                   11859: /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
                   11860:      \Maabbccddee
1.1.1.5 ! misho    11861: Minimum match() limit = 7
        !          11862: Minimum match() recursion limit = 2
1.1       misho    11863:  0: aabbccddee
                   11864: 
                   11865: /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
                   11866:      \Maabbccddee
1.1.1.5 ! misho    11867: Minimum match() limit = 17
        !          11868: Minimum match() recursion limit = 16
1.1       misho    11869:  0: aabbccddee
                   11870:  1: aa
                   11871:  2: bb
                   11872:  3: cc
                   11873:  4: dd
                   11874:  5: ee
                   11875: 
                   11876: /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
                   11877:      \Maabbccddee
1.1.1.5 ! misho    11878: Minimum match() limit = 13
        !          11879: Minimum match() recursion limit = 10
1.1       misho    11880:  0: aabbccddee
                   11881:  1: aa
                   11882:  2: cc
                   11883:  3: ee
                   11884: 
                   11885: /^a\x41z/<JS>
                   11886:     aAz
                   11887:  0: aAz
                   11888:     *** Failers
                   11889: No match
                   11890:     ax41z
                   11891: No match
                   11892: 
                   11893: /^a[m\x41]z/<JS>
                   11894:     aAz
                   11895:  0: aAz
                   11896: 
                   11897: /^a\x1z/<JS>
                   11898:     ax1z
                   11899:  0: ax1z
                   11900: 
                   11901: /^a\u0041z/<JS>
                   11902:     aAz
                   11903:  0: aAz
                   11904:     *** Failers
                   11905: No match
                   11906:     au0041z
                   11907: No match
                   11908: 
                   11909: /^a[m\u0041]z/<JS>
                   11910:     aAz
                   11911:  0: aAz
                   11912: 
                   11913: /^a\u041z/<JS>
                   11914:     au041z
                   11915:  0: au041z
                   11916:     *** Failers
                   11917: No match
                   11918:     aAz
                   11919: No match
                   11920: 
                   11921: /^a\U0041z/<JS>
                   11922:     aU0041z
                   11923:  0: aU0041z
                   11924:     *** Failers
                   11925: No match
                   11926:     aAz
                   11927: No match
                   11928: 
                   11929: /(?(?=c)c|d)++Y/BZ
                   11930: ------------------------------------------------------------------
                   11931:         Bra
                   11932:         BraPos
                   11933:         Cond
                   11934:         Assert
                   11935:         c
                   11936:         Ket
                   11937:         c
                   11938:         Alt
                   11939:         d
                   11940:         Ket
                   11941:         KetRpos
                   11942:         Y
                   11943:         Ket
                   11944:         End
                   11945: ------------------------------------------------------------------
                   11946: 
                   11947: /(?(?=c)c|d)*+Y/BZ
                   11948: ------------------------------------------------------------------
                   11949:         Bra
                   11950:         Braposzero
                   11951:         BraPos
                   11952:         Cond
                   11953:         Assert
                   11954:         c
                   11955:         Ket
                   11956:         c
                   11957:         Alt
                   11958:         d
                   11959:         Ket
                   11960:         KetRpos
                   11961:         Y
                   11962:         Ket
                   11963:         End
                   11964: ------------------------------------------------------------------
                   11965: 
                   11966: /a[\NB]c/
                   11967: Failed: \N is not supported in a class at offset 3
                   11968: 
                   11969: /a[B-\Nc]/ 
1.1.1.5 ! misho    11970: Failed: invalid range in character class at offset 5
        !          11971: 
        !          11972: /a[B\Nc]/ 
        !          11973: Failed: \N is not supported in a class at offset 4
1.1       misho    11974: 
                   11975: /(a)(?2){0,1999}?(b)/
                   11976: 
                   11977: /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
                   11978: 
                   11979: /--- This test, with something more complicated than individual letters, causes
                   11980: different behaviour in Perl. Perhaps it disables some optimization; no tag is
                   11981: passed back for the failures, whereas in PCRE there is a tag. ---/
                   11982:     
                   11983: /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
                   11984:     AABC
                   11985:  0: AB
                   11986:  1: A
                   11987:  2: B
                   11988: MK: A
                   11989:     XXYZ 
                   11990:  0: XXY
                   11991:  1: <unset>
                   11992:  2: <unset>
                   11993:  3: X
                   11994:  4: X
                   11995:  5: Y
                   11996: MK: B
                   11997:     ** Failers
                   11998: No match
                   11999:     XAQQ  
                   12000: No match, mark = A
                   12001:     XAQQXZZ  
                   12002: No match, mark = A
                   12003:     AXQQQ 
                   12004: No match, mark = A
                   12005:     AXXQQQ 
                   12006: No match, mark = B
                   12007: 
                   12008: /-- Perl doesn't give marks for these, though it does if the alternatives are
                   12009: replaced by single letters. --/
                   12010:     
                   12011: /(b|q)(*:m)f|a(*:n)w/K
                   12012:     aw 
                   12013:  0: aw
                   12014: MK: n
                   12015:     ** Failers 
                   12016: No match, mark = n
                   12017:     abc
                   12018: No match, mark = m
                   12019: 
                   12020: /(q|b)(*:m)f|a(*:n)w/K
                   12021:     aw 
                   12022:  0: aw
                   12023: MK: n
                   12024:     ** Failers 
                   12025: No match, mark = n
                   12026:     abc
                   12027: No match, mark = m
                   12028: 
                   12029: /-- After a partial match, the behaviour is as for a failure. --/
                   12030: 
                   12031: /^a(*:X)bcde/K
                   12032:    abc\P
                   12033: Partial match, mark=X: abc
1.1.1.2   misho    12034:    
                   12035: /-- These are here because Perl doesn't return a mark, except for the first --/
                   12036: 
                   12037: /(?=(*:x))(q|)/K+
                   12038:     abc
                   12039:  0: 
                   12040:  0+ abc
                   12041:  1: 
                   12042: MK: x
                   12043: 
                   12044: /(?=(*:x))((*:y)q|)/K+
                   12045:     abc
                   12046:  0: 
                   12047:  0+ abc
                   12048:  1: 
                   12049: MK: x
                   12050: 
                   12051: /(?=(*:x))(?:(*:y)q|)/K+
                   12052:     abc
                   12053:  0: 
                   12054:  0+ abc
                   12055: MK: x
                   12056: 
                   12057: /(?=(*:x))(?>(*:y)q|)/K+
                   12058:     abc
                   12059:  0: 
                   12060:  0+ abc
                   12061: MK: x
                   12062: 
                   12063: /(?=a(*:x))(?!a(*:y)c)/K+
                   12064:     ab
                   12065:  0: 
                   12066:  0+ ab
                   12067: MK: x
                   12068: 
                   12069: /(?=a(*:x))(?=a(*:y)c|)/K+
                   12070:     ab
                   12071:  0: 
                   12072:  0+ ab
                   12073: MK: x
1.1       misho    12074: 
1.1.1.3   misho    12075: /(..)\1/
                   12076:     ab\P
                   12077: Partial match: ab
                   12078:     aba\P
                   12079: Partial match: aba
                   12080:     abab\P
                   12081:  0: abab
                   12082:  1: ab
                   12083: 
                   12084: /(..)\1/i
                   12085:     ab\P
                   12086: Partial match: ab
                   12087:     abA\P
                   12088: Partial match: abA
                   12089:     aBAb\P
                   12090:  0: aBAb
                   12091:  1: aB
                   12092: 
                   12093: /(..)\1{2,}/
                   12094:     ab\P
                   12095: Partial match: ab
                   12096:     aba\P
                   12097: Partial match: aba
                   12098:     abab\P
                   12099: Partial match: abab
                   12100:     ababa\P
                   12101: Partial match: ababa
                   12102:     ababab\P
                   12103:  0: ababab
                   12104:  1: ab
                   12105:     ababab\P\P
                   12106: Partial match: ababab
                   12107:     abababa\P
                   12108:  0: ababab
                   12109:  1: ab
                   12110:     abababa\P\P
                   12111: Partial match: abababa
                   12112: 
                   12113: /(..)\1{2,}/i
                   12114:     ab\P
                   12115: Partial match: ab
                   12116:     aBa\P
                   12117: Partial match: aBa
                   12118:     aBAb\P
                   12119: Partial match: aBAb
                   12120:     AbaBA\P
                   12121: Partial match: AbaBA
                   12122:     abABAb\P
                   12123:  0: abABAb
                   12124:  1: ab
                   12125:     aBAbaB\P\P
                   12126: Partial match: aBAbaB
                   12127:     abABabA\P
                   12128:  0: abABab
                   12129:  1: ab
                   12130:     abaBABa\P\P
                   12131: Partial match: abaBABa
                   12132: 
                   12133: /(..)\1{2,}?x/i
                   12134:     ab\P
                   12135: Partial match: ab
                   12136:     abA\P
                   12137: Partial match: abA
                   12138:     aBAb\P
                   12139: Partial match: aBAb
                   12140:     abaBA\P
                   12141: Partial match: abaBA
                   12142:     abAbaB\P
                   12143: Partial match: abAbaB
                   12144:     abaBabA\P
                   12145: Partial match: abaBabA
                   12146:     abAbABaBx\P
                   12147:  0: abAbABaBx
                   12148:  1: ab
                   12149: 
                   12150: /^(..)\1/
                   12151:     aba\P
                   12152: Partial match: aba
                   12153: 
                   12154: /^(..)\1{2,3}x/
                   12155:     aba\P
                   12156: Partial match: aba
                   12157:     ababa\P
                   12158: Partial match: ababa
                   12159:     ababa\P\P
                   12160: Partial match: ababa
                   12161:     abababx
                   12162:  0: abababx
                   12163:  1: ab
                   12164:     ababababx  
                   12165:  0: ababababx
                   12166:  1: ab
                   12167: 
                   12168: /^(..)\1{2,3}?x/
                   12169:     aba\P
                   12170: Partial match: aba
                   12171:     ababa\P
                   12172: Partial match: ababa
                   12173:     ababa\P\P
                   12174: Partial match: ababa
                   12175:     abababx
                   12176:  0: abababx
                   12177:  1: ab
                   12178:     ababababx  
                   12179:  0: ababababx
                   12180:  1: ab
                   12181:     
                   12182: /^(..)(\1{2,3})ab/
                   12183:     abababab
                   12184:  0: abababab
                   12185:  1: ab
                   12186:  2: abab
                   12187: 
                   12188: /^\R/
                   12189:     \r\P
                   12190:  0: \x0d
                   12191:     \r\P\P
                   12192: Partial match: \x0d
                   12193:     
                   12194: /^\R{2,3}x/
                   12195:     \r\P
                   12196: Partial match: \x0d
                   12197:     \r\P\P
                   12198: Partial match: \x0d
                   12199:     \r\r\P 
                   12200: Partial match: \x0d\x0d
                   12201:     \r\r\P\P
                   12202: Partial match: \x0d\x0d
                   12203:     \r\r\r\P  
                   12204: Partial match: \x0d\x0d\x0d
                   12205:     \r\r\r\P\P
                   12206: Partial match: \x0d\x0d\x0d
                   12207:     \r\rx
                   12208:  0: \x0d\x0dx
                   12209:     \r\r\rx    
                   12210:  0: \x0d\x0d\x0dx
                   12211: 
                   12212: /^\R{2,3}?x/
                   12213:     \r\P
                   12214: Partial match: \x0d
                   12215:     \r\P\P
                   12216: Partial match: \x0d
                   12217:     \r\r\P 
                   12218: Partial match: \x0d\x0d
                   12219:     \r\r\P\P
                   12220: Partial match: \x0d\x0d
                   12221:     \r\r\r\P  
                   12222: Partial match: \x0d\x0d\x0d
                   12223:     \r\r\r\P\P
                   12224: Partial match: \x0d\x0d\x0d
                   12225:     \r\rx
                   12226:  0: \x0d\x0dx
                   12227:     \r\r\rx    
                   12228:  0: \x0d\x0d\x0dx
                   12229:     
                   12230: /^\R?x/
                   12231:     \r\P
                   12232: Partial match: \x0d
                   12233:     \r\P\P 
                   12234: Partial match: \x0d
                   12235:     x
                   12236:  0: x
                   12237:     \rx  
                   12238:  0: \x0dx
                   12239: 
                   12240: /^\R+x/
                   12241:     \r\P
                   12242: Partial match: \x0d
                   12243:     \r\P\P 
                   12244: Partial match: \x0d
                   12245:     \r\n\P
                   12246: Partial match: \x0d\x0a
                   12247:     \r\n\P\P  
                   12248: Partial match: \x0d\x0a
                   12249:     \rx  
                   12250:  0: \x0dx
                   12251: 
                   12252: /^a$/<CRLF>
                   12253:     a\r\P
                   12254: Partial match: a\x0d
                   12255:     a\r\P\P 
                   12256: Partial match: a\x0d
                   12257: 
                   12258: /^a$/m<CRLF>
                   12259:     a\r\P
                   12260: Partial match: a\x0d
                   12261:     a\r\P\P 
                   12262: Partial match: a\x0d
                   12263: 
                   12264: /^(a$|a\r)/<CRLF>
                   12265:     a\r\P
                   12266:  0: a\x0d
                   12267:  1: a\x0d
                   12268:     a\r\P\P 
                   12269: Partial match: a\x0d
                   12270: 
                   12271: /^(a$|a\r)/m<CRLF>
                   12272:     a\r\P
                   12273:  0: a\x0d
                   12274:  1: a\x0d
                   12275:     a\r\P\P 
                   12276: Partial match: a\x0d
                   12277: 
                   12278: /./<CRLF>
                   12279:     \r\P
                   12280:  0: \x0d
                   12281:     \r\P\P 
                   12282: Partial match: \x0d
                   12283:   
                   12284: /.{2,3}/<CRLF>
                   12285:     \r\P 
                   12286: Partial match: \x0d
                   12287:     \r\P\P
                   12288: Partial match: \x0d
                   12289:     \r\r\P
                   12290:  0: \x0d\x0d
                   12291:     \r\r\P\P
                   12292: Partial match: \x0d\x0d
                   12293:     \r\r\r\P
                   12294:  0: \x0d\x0d\x0d
                   12295:     \r\r\r\P\P     
                   12296: Partial match: \x0d\x0d\x0d
                   12297: 
                   12298: /.{2,3}?/<CRLF>
                   12299:     \r\P 
                   12300: Partial match: \x0d
                   12301:     \r\P\P
                   12302: Partial match: \x0d
                   12303:     \r\r\P
                   12304:  0: \x0d\x0d
                   12305:     \r\r\P\P
                   12306: Partial match: \x0d\x0d
                   12307:     \r\r\r\P
                   12308:  0: \x0d\x0d
                   12309:     \r\r\r\P\P     
                   12310:  0: \x0d\x0d
                   12311: 
1.1.1.4   misho    12312: "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
                   12313:     ABCDGHI\O03
                   12314: Matched, but too many substrings
                   12315:  0: ABCD
                   12316:     
                   12317: /-- These are all run as real matches in test 1; here we are just checking the
                   12318: settings of the anchored and startline bits. --/ 
1.1.1.3   misho    12319: 
1.1.1.4   misho    12320: /(?>.*?a)(?<=ba)/I
                   12321: Capturing subpattern count = 0
                   12322: Max lookbehind = 2
                   12323: No options
                   12324: No first char
                   12325: Need char = 'a'
1.1.1.3   misho    12326: 
1.1.1.4   misho    12327: /(?:.*?a)(?<=ba)/I
                   12328: Capturing subpattern count = 0
                   12329: Max lookbehind = 2
                   12330: No options
                   12331: First char at start or follows newline
                   12332: Need char = 'a'
                   12333: 
                   12334: /.*?a(*PRUNE)b/I
                   12335: Capturing subpattern count = 0
                   12336: No options
                   12337: No first char
                   12338: Need char = 'b'
                   12339: 
                   12340: /.*?a(*PRUNE)b/sI
                   12341: Capturing subpattern count = 0
                   12342: Options: dotall
                   12343: No first char
                   12344: Need char = 'b'
                   12345: 
                   12346: /^a(*PRUNE)b/sI
                   12347: Capturing subpattern count = 0
                   12348: Options: anchored dotall
                   12349: No first char
                   12350: No need char
                   12351: 
                   12352: /.*?a(*SKIP)b/I
                   12353: Capturing subpattern count = 0
                   12354: No options
                   12355: No first char
                   12356: Need char = 'b'
                   12357: 
                   12358: /(?>.*?a)b/sI
                   12359: Capturing subpattern count = 0
                   12360: Options: dotall
                   12361: No first char
                   12362: Need char = 'b'
                   12363: 
                   12364: /(?>.*?a)b/I
                   12365: Capturing subpattern count = 0
                   12366: No options
                   12367: No first char
                   12368: Need char = 'b'
                   12369: 
                   12370: /(?>^a)b/sI
                   12371: Capturing subpattern count = 0
                   12372: Options: anchored dotall
                   12373: No first char
                   12374: No need char
                   12375: 
                   12376: /(?>.*?)(?<=(abcd)|(wxyz))/I
                   12377: Capturing subpattern count = 2
                   12378: Max lookbehind = 4
1.1.1.5 ! misho    12379: May match empty string
1.1.1.4   misho    12380: No options
                   12381: No first char
                   12382: No need char
                   12383: 
                   12384: /(?>.*)(?<=(abcd)|(wxyz))/I
                   12385: Capturing subpattern count = 2
                   12386: Max lookbehind = 4
1.1.1.5 ! misho    12387: May match empty string
1.1.1.4   misho    12388: No options
                   12389: No first char
                   12390: No need char
                   12391: 
                   12392: "(?>.*)foo"I
                   12393: Capturing subpattern count = 0
                   12394: No options
                   12395: No first char
                   12396: Need char = 'o'
                   12397: 
                   12398: "(?>.*?)foo"I
                   12399: Capturing subpattern count = 0
                   12400: No options
                   12401: No first char
                   12402: Need char = 'o'
                   12403: 
                   12404: /(?>^abc)/mI
                   12405: Capturing subpattern count = 0
                   12406: Options: multiline
                   12407: First char at start or follows newline
                   12408: Need char = 'c'
                   12409: 
                   12410: /(?>.*abc)/mI
                   12411: Capturing subpattern count = 0
                   12412: Options: multiline
                   12413: No first char
                   12414: Need char = 'c'
                   12415: 
                   12416: /(?:.*abc)/mI
                   12417: Capturing subpattern count = 0
                   12418: Options: multiline
                   12419: First char at start or follows newline
                   12420: Need char = 'c'
                   12421: 
                   12422: /-- Check PCRE_STUDY_EXTRA_NEEDED --/
                   12423: 
                   12424: /.?/S-I
                   12425: Capturing subpattern count = 0
1.1.1.5 ! misho    12426: May match empty string
1.1.1.4   misho    12427: No options
                   12428: No first char
                   12429: No need char
                   12430: Study returned NULL
                   12431: 
                   12432: /.?/S!I
                   12433: Capturing subpattern count = 0
1.1.1.5 ! misho    12434: May match empty string
1.1.1.4   misho    12435: No options
                   12436: No first char
                   12437: No need char
                   12438: Subject length lower bound = -1
                   12439: No set of starting bytes
                   12440: 
                   12441: /(?:(a)+(?C1)bb|aa(?C2)b)/
                   12442:     aab\C+
                   12443: Callout 1: last capture = 1
                   12444:  0: <unset>
                   12445:  1: a
                   12446: --->aab
                   12447:     ^ ^     b
                   12448: Callout 1: last capture = 1
                   12449:  0: <unset>
                   12450:  1: a
                   12451: --->aab
                   12452:     ^^      b
                   12453: Callout 2: last capture = -1
                   12454:  0: <unset>
                   12455: --->aab
                   12456:     ^ ^     b
                   12457:  0: aab
                   12458:    
                   12459: /(?:(a)++(?C1)bb|aa(?C2)b)/
                   12460:     aab\C+ 
                   12461: Callout 1: last capture = 1
                   12462:  0: <unset>
                   12463:  1: a
                   12464: --->aab
                   12465:     ^ ^     b
                   12466: Callout 2: last capture = -1
                   12467:  0: <unset>
                   12468: --->aab
                   12469:     ^ ^     b
                   12470:  0: aab
                   12471:     
                   12472: /(?:(?>(a))(?C1)bb|aa(?C2)b)/
                   12473:     aab\C+ 
                   12474: Callout 1: last capture = 1
                   12475:  0: <unset>
                   12476:  1: a
                   12477: --->aab
                   12478:     ^^      b
                   12479: Callout 2: last capture = -1
                   12480:  0: <unset>
                   12481: --->aab
                   12482:     ^ ^     b
                   12483:  0: aab
                   12484: 
                   12485: /(?:(?1)(?C1)x|ab(?C2))((a)){0}/                                                
                   12486:     aab\C+ 
                   12487: Callout 1: last capture = -1
                   12488:  0: <unset>
                   12489: --->aab
                   12490:     ^^      x
                   12491: Callout 1: last capture = -1
                   12492:  0: <unset>
                   12493: --->aab
                   12494:      ^^     x
                   12495: Callout 2: last capture = -1
                   12496:  0: <unset>
                   12497: --->aab
                   12498:      ^ ^    )
                   12499:  0: ab
                   12500: 
                   12501: /(?1)(?C1)((a)(?C2)){0}/   
                   12502:     aab\C+ 
                   12503: Callout 2: last capture = 2
                   12504:  0: <unset>
1.1.1.3   misho    12505:  1: <unset>
                   12506:  2: a
1.1.1.4   misho    12507: --->aab
                   12508:     ^^      )
                   12509: Callout 1: last capture = -1
                   12510:  0: <unset>
                   12511: --->aab
                   12512:     ^^      ((a)(?C2)){0}
                   12513:  0: a
1.1.1.3   misho    12514: 
1.1.1.4   misho    12515: /(?:(a)+(?C1)bb|aa(?C2)b)++/
                   12516:     aab\C+
                   12517: Callout 1: last capture = 1
                   12518:  0: <unset>
                   12519:  1: a
                   12520: --->aab
                   12521:     ^ ^     b
                   12522: Callout 1: last capture = 1
                   12523:  0: <unset>
                   12524:  1: a
                   12525: --->aab
                   12526:     ^^      b
                   12527: Callout 2: last capture = -1
                   12528:  0: <unset>
                   12529: --->aab
                   12530:     ^ ^     b
                   12531:  0: aab
                   12532:     aab\C+\O2
                   12533: Callout 1: last capture = 1
                   12534:  0: <unset>
                   12535: --->aab
                   12536:     ^ ^     b
                   12537: Callout 1: last capture = 1
                   12538:  0: <unset>
                   12539: --->aab
                   12540:     ^^      b
                   12541: Callout 2: last capture = -1
                   12542:  0: <unset>
                   12543: --->aab
                   12544:     ^ ^     b
                   12545:  0: aab
                   12546: 
                   12547: /(ab)x|ab/
                   12548:     ab\O3
                   12549:  0: ab
                   12550:     ab\O2 
                   12551:  0: ab
                   12552:   
                   12553: /(ab)/
                   12554:     ab\O3
1.1.1.3   misho    12555: Matched, but too many substrings
1.1.1.4   misho    12556:  0: ab
                   12557:     ab\O2 
                   12558: Matched, but too many substrings
                   12559:  0: ab
1.1.1.3   misho    12560:     
1.1.1.4   misho    12561: /(?<=123)(*MARK:xx)abc/K
                   12562:     xxxx123a\P\P
                   12563: Partial match at offset 7, mark=xx: 123a
                   12564:     xxxx123a\P
                   12565: Partial match at offset 7, mark=xx: 123a
                   12566:     
                   12567: /123\Kabc/
                   12568:     xxxx123a\P\P
                   12569: Partial match: 123a
                   12570:     xxxx123a\P
                   12571: Partial match: 123a
                   12572: 
                   12573: /^(?(?=a)aa|bb)/C
                   12574:     bb
                   12575: --->bb
                   12576:  +0 ^      ^
                   12577:  +1 ^      (?(?=a)aa|bb)
                   12578:  +3 ^      (?=a)
                   12579:  +6 ^      a
                   12580: +11 ^      b
                   12581: +12 ^^     b
                   12582: +13 ^ ^    )
                   12583: +14 ^ ^    
                   12584:  0: bb
                   12585: 
                   12586: /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
                   12587:     bb
                   12588: --->bb
                   12589:   1 ^      ^
                   12590:   2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
                   12591:  99 ^      (?=(?C3)a(?C4))
                   12592:   3 ^      a
                   12593:   8 ^      b
                   12594:   9 ^^     b
                   12595:  10 ^ ^    )
                   12596:  11 ^ ^    
                   12597:  0: bb
                   12598: 
                   12599: /-- Perl seems to have a bug with this one --/
                   12600: 
                   12601: /aaaaa(*COMMIT)(*PRUNE)b|a+c/
                   12602:     aaaaaac
                   12603:  0: aaaac
1.1.1.3   misho    12604:     
1.1.1.4   misho    12605: /-- Here are some that Perl treats differently because of the way it handles
                   12606: backtracking verbs. --/
                   12607: 
                   12608:  /(?!a(*COMMIT)b)ac|ad/
                   12609:      ac
1.1.1.3   misho    12610:  0: ac
1.1.1.4   misho    12611:      ad 
                   12612:  0: ad
                   12613: 
                   12614: /^(?!a(*THEN)b|ac)../
                   12615:      ac
                   12616: No match
                   12617:      ad 
                   12618:  0: ad
                   12619: 
                   12620: /^(?=a(*THEN)b|ac)/
                   12621:     ac
                   12622:  0: 
                   12623:     
                   12624: /\A.*?(?:a|b(*THEN)c)/
                   12625:     ba
                   12626:  0: ba
                   12627: 
                   12628: /\A.*?(?:a|b(*THEN)c)++/
                   12629:     ba
                   12630:  0: ba
                   12631: 
                   12632: /\A.*?(?:a|b(*THEN)c|d)/
                   12633:     ba
                   12634:  0: ba
                   12635: 
                   12636: /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
                   12637:     aac 
                   12638:  0: aac
                   12639: 
                   12640: /\A.*?(a|b(*THEN)c)/
                   12641:     ba
                   12642:  0: ba
                   12643:  1: a
                   12644: 
                   12645: /^(A(*THEN)B|A(*THEN)D)/
                   12646:     AD           
                   12647:  0: AD
                   12648:  1: AD
                   12649:     
                   12650: /(?!b(*THEN)a)bn|bnn/
                   12651:     bnn
                   12652:  0: bn
                   12653: 
                   12654: /(?(?=b(*SKIP)a)bn|bnn)/
                   12655:     bnn
                   12656: No match
                   12657: 
                   12658: /(?=b(*THEN)a|)bn|bnn/
                   12659:     bnn
                   12660:  0: bn
                   12661: 
                   12662: /-------------------------/ 
                   12663: 
                   12664: /(*LIMIT_MATCH=12bc)abc/
                   12665: Failed: (*VERB) not recognized or malformed at offset 7
                   12666: 
                   12667: /(*LIMIT_MATCH=4294967290)abc/
                   12668: Failed: (*VERB) not recognized or malformed at offset 7
                   12669: 
                   12670: /(*LIMIT_RECURSION=4294967280)abc/I
                   12671: Capturing subpattern count = 0
                   12672: Recursion limit = 4294967280
                   12673: No options
                   12674: First char = 'a'
                   12675: Need char = 'c'
                   12676: 
                   12677: /(a+)*zz/
                   12678:     aaaaaaaaaaaaaz
                   12679: No match
                   12680:     aaaaaaaaaaaaaz\q3000
                   12681: Error -8 (match limit exceeded)
                   12682: 
                   12683: /(a+)*zz/S-
                   12684:     aaaaaaaaaaaaaz\Q10 
                   12685: Error -21 (recursion limit exceeded)
                   12686: 
                   12687: /(*LIMIT_MATCH=3000)(a+)*zz/I
                   12688: Capturing subpattern count = 1
                   12689: Match limit = 3000
                   12690: No options
                   12691: No first char
                   12692: Need char = 'z'
                   12693:     aaaaaaaaaaaaaz
                   12694: Error -8 (match limit exceeded)
                   12695:     aaaaaaaaaaaaaz\q60000
                   12696: Error -8 (match limit exceeded)
                   12697: 
                   12698: /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
                   12699: Capturing subpattern count = 1
                   12700: Match limit = 3000
                   12701: No options
                   12702: No first char
                   12703: Need char = 'z'
                   12704:     aaaaaaaaaaaaaz
                   12705: Error -8 (match limit exceeded)
                   12706: 
                   12707: /(*LIMIT_MATCH=60000)(a+)*zz/I
                   12708: Capturing subpattern count = 1
                   12709: Match limit = 60000
                   12710: No options
                   12711: No first char
                   12712: Need char = 'z'
                   12713:     aaaaaaaaaaaaaz
                   12714: No match
                   12715:     aaaaaaaaaaaaaz\q3000
                   12716: Error -8 (match limit exceeded)
                   12717: 
                   12718: /(*LIMIT_RECURSION=10)(a+)*zz/IS-
                   12719: Capturing subpattern count = 1
                   12720: Recursion limit = 10
                   12721: No options
                   12722: No first char
                   12723: Need char = 'z'
                   12724: Subject length lower bound = 2
                   12725: Starting byte set: a z 
                   12726:     aaaaaaaaaaaaaz
                   12727: Error -21 (recursion limit exceeded)
                   12728:     aaaaaaaaaaaaaz\Q1000
                   12729: Error -21 (recursion limit exceeded)
                   12730: 
                   12731: /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
                   12732: Capturing subpattern count = 1
                   12733: Recursion limit = 10
                   12734: No options
                   12735: No first char
                   12736: Need char = 'z'
                   12737: Subject length lower bound = 2
                   12738: Starting byte set: a z 
                   12739:     aaaaaaaaaaaaaz
                   12740: Error -21 (recursion limit exceeded)
                   12741: 
                   12742: /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
                   12743: Capturing subpattern count = 1
                   12744: Recursion limit = 1000
                   12745: No options
                   12746: No first char
                   12747: Need char = 'z'
                   12748: Subject length lower bound = 2
                   12749: Starting byte set: a z 
                   12750:     aaaaaaaaaaaaaz
                   12751: No match
                   12752:     aaaaaaaaaaaaaz\Q10
                   12753: Error -21 (recursion limit exceeded)
1.1.1.3   misho    12754: 
1.1.1.5 ! misho    12755: /-- This test causes a segfault with Perl 5.18.0 --/
        !          12756: 
        !          12757: /^(?=(a)){0}b(?1)/
        !          12758:     backgammon
        !          12759:  0: ba
        !          12760: 
        !          12761: /(?|(?<n>f)|(?<n>b))/JI
        !          12762: Capturing subpattern count = 1
        !          12763: Named capturing subpatterns:
        !          12764:   n   1
        !          12765: Options: dupnames
        !          12766: No first char
        !          12767: No need char
        !          12768: 
        !          12769: /(?<a>abc)(?<a>z)\k<a>()/JDZS
        !          12770: ------------------------------------------------------------------
        !          12771:         Bra
        !          12772:         CBra 1
        !          12773:         abc
        !          12774:         Ket
        !          12775:         CBra 2
        !          12776:         z
        !          12777:         Ket
        !          12778:         \k<a>2
        !          12779:         CBra 3
        !          12780:         Ket
        !          12781:         Ket
        !          12782:         End
        !          12783: ------------------------------------------------------------------
        !          12784: Capturing subpattern count = 3
        !          12785: Max back reference = 2
        !          12786: Named capturing subpatterns:
        !          12787:   a   1
        !          12788:   a   2
        !          12789: Options: dupnames
        !          12790: First char = 'a'
        !          12791: Need char = 'z'
        !          12792: Subject length lower bound = 5
        !          12793: No set of starting bytes
        !          12794: 
        !          12795: /a*[bcd]/BZ
        !          12796: ------------------------------------------------------------------
        !          12797:         Bra
        !          12798:         a*+
        !          12799:         [b-d]
        !          12800:         Ket
        !          12801:         End
        !          12802: ------------------------------------------------------------------
        !          12803: 
        !          12804: /[bcd]*a/BZ
        !          12805: ------------------------------------------------------------------
        !          12806:         Bra
        !          12807:         [b-d]*+
        !          12808:         a
        !          12809:         Ket
        !          12810:         End
        !          12811: ------------------------------------------------------------------
        !          12812: 
        !          12813: /-- A complete set of tests for auto-possessification of character types --/
        !          12814: 
        !          12815: /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx
        !          12816: ------------------------------------------------------------------
        !          12817:         Bra
        !          12818:         \D+
        !          12819:         \D
        !          12820:         \D++
        !          12821:         \d
        !          12822:         \D+
        !          12823:         \S
        !          12824:         \D+
        !          12825:         \s
        !          12826:         \D+
        !          12827:         \W
        !          12828:         \D+
        !          12829:         \w
        !          12830:         \D+
        !          12831:         Any
        !          12832:         \D+
        !          12833:         AllAny
        !          12834:         \D+
        !          12835:         \R
        !          12836:         \D+
        !          12837:         \H
        !          12838:         \D+
        !          12839:         \h
        !          12840:         \D+
        !          12841:         \V
        !          12842:         \D+
        !          12843:         \v
        !          12844:         \D+
        !          12845:         \Z
        !          12846:         \D++
        !          12847:         \z
        !          12848:         \D+
        !          12849:         $
        !          12850:         Ket
        !          12851:         End
        !          12852: ------------------------------------------------------------------
        !          12853: 
        !          12854: /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx
        !          12855: ------------------------------------------------------------------
        !          12856:         Bra
        !          12857:         \d++
        !          12858:         \D
        !          12859:         \d+
        !          12860:         \d
        !          12861:         \d+
        !          12862:         \S
        !          12863:         \d++
        !          12864:         \s
        !          12865:         \d++
        !          12866:         \W
        !          12867:         \d+
        !          12868:         \w
        !          12869:         \d+
        !          12870:         Any
        !          12871:         \d+
        !          12872:         AllAny
        !          12873:         \d++
        !          12874:         \R
        !          12875:         \d+
        !          12876:         \H
        !          12877:         \d++
        !          12878:         \h
        !          12879:         \d+
        !          12880:         \V
        !          12881:         \d++
        !          12882:         \v
        !          12883:         \d++
        !          12884:         \Z
        !          12885:         \d++
        !          12886:         \z
        !          12887:         \d++
        !          12888:         $
        !          12889:         Ket
        !          12890:         End
        !          12891: ------------------------------------------------------------------
        !          12892: 
        !          12893: /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx
        !          12894: ------------------------------------------------------------------
        !          12895:         Bra
        !          12896:         \S+
        !          12897:         \D
        !          12898:         \S+
        !          12899:         \d
        !          12900:         \S+
        !          12901:         \S
        !          12902:         \S++
        !          12903:         \s
        !          12904:         \S+
        !          12905:         \W
        !          12906:         \S+
        !          12907:         \w
        !          12908:         \S+
        !          12909:         Any
        !          12910:         \S+
        !          12911:         AllAny
        !          12912:         \S++
        !          12913:         \R
        !          12914:         \S+
        !          12915:         \H
        !          12916:         \S++
        !          12917:         \h
        !          12918:         \S+
        !          12919:         \V
        !          12920:         \S++
        !          12921:         \v
        !          12922:         \S++
        !          12923:         \Z
        !          12924:         \S++
        !          12925:         \z
        !          12926:         \S++
        !          12927:         $
        !          12928:         Ket
        !          12929:         End
        !          12930: ------------------------------------------------------------------
        !          12931: 
        !          12932: /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx
        !          12933: ------------------------------------------------------------------
        !          12934:         Bra
        !          12935:         \s+
        !          12936:         \D
        !          12937:         \s++
        !          12938:         \d
        !          12939:         \s++
        !          12940:         \S
        !          12941:         \s+
        !          12942:         \s
        !          12943:         \s+
        !          12944:         \W
        !          12945:         \s++
        !          12946:         \w
        !          12947:         \s+
        !          12948:         Any
        !          12949:         \s+
        !          12950:         AllAny
        !          12951:         \s+
        !          12952:         \R
        !          12953:         \s+
        !          12954:         \H
        !          12955:         \s+
        !          12956:         \h
        !          12957:         \s+
        !          12958:         \V
        !          12959:         \s+
        !          12960:         \v
        !          12961:         \s+
        !          12962:         \Z
        !          12963:         \s++
        !          12964:         \z
        !          12965:         \s+
        !          12966:         $
        !          12967:         Ket
        !          12968:         End
        !          12969: ------------------------------------------------------------------
        !          12970: 
        !          12971: /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx
        !          12972: ------------------------------------------------------------------
        !          12973:         Bra
        !          12974:         \W+
        !          12975:         \D
        !          12976:         \W++
        !          12977:         \d
        !          12978:         \W+
        !          12979:         \S
        !          12980:         \W+
        !          12981:         \s
        !          12982:         \W+
        !          12983:         \W
        !          12984:         \W++
        !          12985:         \w
        !          12986:         \W+
        !          12987:         Any
        !          12988:         \W+
        !          12989:         AllAny
        !          12990:         \W+
        !          12991:         \R
        !          12992:         \W+
        !          12993:         \H
        !          12994:         \W+
        !          12995:         \h
        !          12996:         \W+
        !          12997:         \V
        !          12998:         \W+
        !          12999:         \v
        !          13000:         \W+
        !          13001:         \Z
        !          13002:         \W++
        !          13003:         \z
        !          13004:         \W+
        !          13005:         $
        !          13006:         Ket
        !          13007:         End
        !          13008: ------------------------------------------------------------------
        !          13009: 
        !          13010: /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx
        !          13011: ------------------------------------------------------------------
        !          13012:         Bra
        !          13013:         \w+
        !          13014:         \D
        !          13015:         \w+
        !          13016:         \d
        !          13017:         \w+
        !          13018:         \S
        !          13019:         \w++
        !          13020:         \s
        !          13021:         \w++
        !          13022:         \W
        !          13023:         \w+
        !          13024:         \w
        !          13025:         \w+
        !          13026:         Any
        !          13027:         \w+
        !          13028:         AllAny
        !          13029:         \w++
        !          13030:         \R
        !          13031:         \w+
        !          13032:         \H
        !          13033:         \w++
        !          13034:         \h
        !          13035:         \w+
        !          13036:         \V
        !          13037:         \w++
        !          13038:         \v
        !          13039:         \w++
        !          13040:         \Z
        !          13041:         \w++
        !          13042:         \z
        !          13043:         \w++
        !          13044:         $
        !          13045:         Ket
        !          13046:         End
        !          13047: ------------------------------------------------------------------
        !          13048: 
        !          13049: /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx
        !          13050: ------------------------------------------------------------------
        !          13051:         Bra
        !          13052:         AllAny+
        !          13053:         \D
        !          13054:         AllAny+
        !          13055:         \d
        !          13056:         AllAny+
        !          13057:         \S
        !          13058:         AllAny+
        !          13059:         \s
        !          13060:         AllAny+
        !          13061:         \W
        !          13062:         AllAny+
        !          13063:         \w
        !          13064:         AllAny+
        !          13065:         Any
        !          13066:         AllAny+
        !          13067:         AllAny
        !          13068:         AllAny+
        !          13069:         \R
        !          13070:         AllAny+
        !          13071:         \H
        !          13072:         AllAny+
        !          13073:         \h
        !          13074:         AllAny+
        !          13075:         \V
        !          13076:         AllAny+
        !          13077:         \v
        !          13078:         AllAny+
        !          13079:         \Z
        !          13080:         AllAny++
        !          13081:         \z
        !          13082:         AllAny+
        !          13083:         $
        !          13084:         Ket
        !          13085:         End
        !          13086: ------------------------------------------------------------------
        !          13087: 
        !          13088: /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx
        !          13089: ------------------------------------------------------------------
        !          13090:         Bra
        !          13091:         \R+
        !          13092:         \D
        !          13093:         \R++
        !          13094:         \d
        !          13095:         \R+
        !          13096:         \S
        !          13097:         \R++
        !          13098:         \s
        !          13099:         \R+
        !          13100:         \W
        !          13101:         \R++
        !          13102:         \w
        !          13103:         \R++
        !          13104:         Any
        !          13105:         \R+
        !          13106:         AllAny
        !          13107:         \R+
        !          13108:         \R
        !          13109:         \R+
        !          13110:         \H
        !          13111:         \R++
        !          13112:         \h
        !          13113:         \R+
        !          13114:         \V
        !          13115:         \R+
        !          13116:         \v
        !          13117:         \R+
        !          13118:         \Z
        !          13119:         \R++
        !          13120:         \z
        !          13121:         \R+
        !          13122:         $
        !          13123:         Ket
        !          13124:         End
        !          13125: ------------------------------------------------------------------
        !          13126: 
        !          13127: /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx
        !          13128: ------------------------------------------------------------------
        !          13129:         Bra
        !          13130:         \H+
        !          13131:         \D
        !          13132:         \H+
        !          13133:         \d
        !          13134:         \H+
        !          13135:         \S
        !          13136:         \H+
        !          13137:         \s
        !          13138:         \H+
        !          13139:         \W
        !          13140:         \H+
        !          13141:         \w
        !          13142:         \H+
        !          13143:         Any
        !          13144:         \H+
        !          13145:         AllAny
        !          13146:         \H+
        !          13147:         \R
        !          13148:         \H+
        !          13149:         \H
        !          13150:         \H++
        !          13151:         \h
        !          13152:         \H+
        !          13153:         \V
        !          13154:         \H+
        !          13155:         \v
        !          13156:         \H+
        !          13157:         \Z
        !          13158:         \H++
        !          13159:         \z
        !          13160:         \H+
        !          13161:         $
        !          13162:         Ket
        !          13163:         End
        !          13164: ------------------------------------------------------------------
        !          13165: 
        !          13166: /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx
        !          13167: ------------------------------------------------------------------
        !          13168:         Bra
        !          13169:         \h+
        !          13170:         \D
        !          13171:         \h++
        !          13172:         \d
        !          13173:         \h++
        !          13174:         \S
        !          13175:         \h+
        !          13176:         \s
        !          13177:         \h+
        !          13178:         \W
        !          13179:         \h++
        !          13180:         \w
        !          13181:         \h+
        !          13182:         Any
        !          13183:         \h+
        !          13184:         AllAny
        !          13185:         \h++
        !          13186:         \R
        !          13187:         \h++
        !          13188:         \H
        !          13189:         \h+
        !          13190:         \h
        !          13191:         \h+
        !          13192:         \V
        !          13193:         \h++
        !          13194:         \v
        !          13195:         \h+
        !          13196:         \Z
        !          13197:         \h++
        !          13198:         \z
        !          13199:         \h+
        !          13200:         $
        !          13201:         Ket
        !          13202:         End
        !          13203: ------------------------------------------------------------------
        !          13204: 
        !          13205: /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx
        !          13206: ------------------------------------------------------------------
        !          13207:         Bra
        !          13208:         \V+
        !          13209:         \D
        !          13210:         \V+
        !          13211:         \d
        !          13212:         \V+
        !          13213:         \S
        !          13214:         \V+
        !          13215:         \s
        !          13216:         \V+
        !          13217:         \W
        !          13218:         \V+
        !          13219:         \w
        !          13220:         \V+
        !          13221:         Any
        !          13222:         \V+
        !          13223:         AllAny
        !          13224:         \V++
        !          13225:         \R
        !          13226:         \V+
        !          13227:         \H
        !          13228:         \V+
        !          13229:         \h
        !          13230:         \V+
        !          13231:         \V
        !          13232:         \V++
        !          13233:         \v
        !          13234:         \V+
        !          13235:         \Z
        !          13236:         \V++
        !          13237:         \z
        !          13238:         \V+
        !          13239:         $
        !          13240:         Ket
        !          13241:         End
        !          13242: ------------------------------------------------------------------
        !          13243: 
        !          13244: /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx
        !          13245: ------------------------------------------------------------------
        !          13246:         Bra
        !          13247:         \v+
        !          13248:         \D
        !          13249:         \v++
        !          13250:         \d
        !          13251:         \v++
        !          13252:         \S
        !          13253:         \v+
        !          13254:         \s
        !          13255:         \v+
        !          13256:         \W
        !          13257:         \v++
        !          13258:         \w
        !          13259:         \v+
        !          13260:         Any
        !          13261:         \v+
        !          13262:         AllAny
        !          13263:         \v+
        !          13264:         \R
        !          13265:         \v+
        !          13266:         \H
        !          13267:         \v++
        !          13268:         \h
        !          13269:         \v++
        !          13270:         \V
        !          13271:         \v+
        !          13272:         \v
        !          13273:         \v+
        !          13274:         \Z
        !          13275:         \v++
        !          13276:         \z
        !          13277:         \v+
        !          13278:         $
        !          13279:         Ket
        !          13280:         End
        !          13281: ------------------------------------------------------------------
        !          13282: 
        !          13283: / a+\D  a+\d  a+\S  a+\s  a+\W  a+\w  a+.  a+\C  a+\R  a+\H  a+\h  a+\V  a+\v  a+\Z  a+\z  a+$/BZx
        !          13284: ------------------------------------------------------------------
        !          13285:         Bra
        !          13286:         a+
        !          13287:         \D
        !          13288:         a++
        !          13289:         \d
        !          13290:         a+
        !          13291:         \S
        !          13292:         a++
        !          13293:         \s
        !          13294:         a++
        !          13295:         \W
        !          13296:         a+
        !          13297:         \w
        !          13298:         a+
        !          13299:         Any
        !          13300:         a+
        !          13301:         AllAny
        !          13302:         a++
        !          13303:         \R
        !          13304:         a+
        !          13305:         \H
        !          13306:         a++
        !          13307:         \h
        !          13308:         a+
        !          13309:         \V
        !          13310:         a++
        !          13311:         \v
        !          13312:         a++
        !          13313:         \Z
        !          13314:         a++
        !          13315:         \z
        !          13316:         a++
        !          13317:         $
        !          13318:         Ket
        !          13319:         End
        !          13320: ------------------------------------------------------------------
        !          13321: 
        !          13322: /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx
        !          13323: ------------------------------------------------------------------
        !          13324:         Bra
        !          13325:         \x0a+
        !          13326:         \D
        !          13327:         \x0a++
        !          13328:         \d
        !          13329:         \x0a++
        !          13330:         \S
        !          13331:         \x0a+
        !          13332:         \s
        !          13333:         \x0a+
        !          13334:         \W
        !          13335:         \x0a++
        !          13336:         \w
        !          13337:         \x0a+
        !          13338:         Any
        !          13339:         \x0a+
        !          13340:         AllAny
        !          13341:         \x0a+
        !          13342:         \R
        !          13343:         \x0a+
        !          13344:         \H
        !          13345:         \x0a++
        !          13346:         \h
        !          13347:         \x0a++
        !          13348:         \V
        !          13349:         \x0a+
        !          13350:         \v
        !          13351:         \x0a+
        !          13352:         \Z
        !          13353:         \x0a++
        !          13354:         \z
        !          13355:         \x0a+
        !          13356:         $
        !          13357:         Ket
        !          13358:         End
        !          13359: ------------------------------------------------------------------
        !          13360: 
        !          13361: / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZx
        !          13362: ------------------------------------------------------------------
        !          13363:         Bra
        !          13364:         Any+
        !          13365:         \D
        !          13366:         Any+
        !          13367:         \d
        !          13368:         Any+
        !          13369:         \S
        !          13370:         Any+
        !          13371:         \s
        !          13372:         Any+
        !          13373:         \W
        !          13374:         Any+
        !          13375:         \w
        !          13376:         Any+
        !          13377:         Any
        !          13378:         Any+
        !          13379:         AllAny
        !          13380:         Any++
        !          13381:         \R
        !          13382:         Any+
        !          13383:         \H
        !          13384:         Any+
        !          13385:         \h
        !          13386:         Any+
        !          13387:         \V
        !          13388:         Any+
        !          13389:         \v
        !          13390:         Any+
        !          13391:         \Z
        !          13392:         Any++
        !          13393:         \z
        !          13394:         Any+
        !          13395:         $
        !          13396:         Ket
        !          13397:         End
        !          13398: ------------------------------------------------------------------
        !          13399: 
        !          13400: / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZxs
        !          13401: ------------------------------------------------------------------
        !          13402:         Bra
        !          13403:         AllAny+
        !          13404:         \D
        !          13405:         AllAny+
        !          13406:         \d
        !          13407:         AllAny+
        !          13408:         \S
        !          13409:         AllAny+
        !          13410:         \s
        !          13411:         AllAny+
        !          13412:         \W
        !          13413:         AllAny+
        !          13414:         \w
        !          13415:         AllAny+
        !          13416:         AllAny
        !          13417:         AllAny+
        !          13418:         AllAny
        !          13419:         AllAny+
        !          13420:         \R
        !          13421:         AllAny+
        !          13422:         \H
        !          13423:         AllAny+
        !          13424:         \h
        !          13425:         AllAny+
        !          13426:         \V
        !          13427:         AllAny+
        !          13428:         \v
        !          13429:         AllAny+
        !          13430:         \Z
        !          13431:         AllAny++
        !          13432:         \z
        !          13433:         AllAny+
        !          13434:         $
        !          13435:         Ket
        !          13436:         End
        !          13437: ------------------------------------------------------------------
        !          13438: 
        !          13439: /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$   a+$  \n+$   .+$  .+$/BZxm
        !          13440: ------------------------------------------------------------------
        !          13441:         Bra
        !          13442:         \D+
        !          13443:      /m $
        !          13444:         \d++
        !          13445:      /m $
        !          13446:         \S++
        !          13447:      /m $
        !          13448:         \s+
        !          13449:      /m $
        !          13450:         \W+
        !          13451:      /m $
        !          13452:         \w++
        !          13453:      /m $
        !          13454:         AllAny+
        !          13455:      /m $
        !          13456:         \R+
        !          13457:      /m $
        !          13458:         \H+
        !          13459:      /m $
        !          13460:         \h+
        !          13461:      /m $
        !          13462:         \V+
        !          13463:      /m $
        !          13464:         \v+
        !          13465:      /m $
        !          13466:         a+
        !          13467:      /m $
        !          13468:         \x0a+
        !          13469:      /m $
        !          13470:         Any+
        !          13471:      /m $
        !          13472:         Any+
        !          13473:      /m $
        !          13474:         Ket
        !          13475:         End
        !          13476: ------------------------------------------------------------------
        !          13477: 
        !          13478: /(?=a+)a(a+)++a/BZ
        !          13479: ------------------------------------------------------------------
        !          13480:         Bra
        !          13481:         Assert
        !          13482:         a++
        !          13483:         Ket
        !          13484:         a
        !          13485:         CBraPos 1
        !          13486:         a++
        !          13487:         KetRpos
        !          13488:         a
        !          13489:         Ket
        !          13490:         End
        !          13491: ------------------------------------------------------------------
        !          13492: 
        !          13493: /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
        !          13494: ------------------------------------------------------------------
        !          13495:         Bra
        !          13496:         a++
        !          13497:         CBra 1
        !          13498:         bb
        !          13499:         Alt
        !          13500:         cc
        !          13501:         Ket
        !          13502:         a++
        !          13503:         Bra
        !          13504:         bb
        !          13505:         Alt
        !          13506:         cc
        !          13507:         Ket
        !          13508:         a++
        !          13509:         Once_NC
        !          13510:         bb
        !          13511:         Alt
        !          13512:         cc
        !          13513:         Ket
        !          13514:         a++
        !          13515:         Bra
        !          13516:         bb
        !          13517:         Alt
        !          13518:         cc
        !          13519:         KetRmax
        !          13520:         a+
        !          13521:         CBra 2
        !          13522:         aa
        !          13523:         Ket
        !          13524:         a+
        !          13525:         Bra
        !          13526:         bb
        !          13527:         Alt
        !          13528:         aa
        !          13529:         Ket
        !          13530:         Ket
        !          13531:         End
        !          13532: ------------------------------------------------------------------
        !          13533: 
        !          13534: /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
        !          13535: ------------------------------------------------------------------
        !          13536:         Bra
        !          13537:         a++
        !          13538:         Brazero
        !          13539:         CBra 1
        !          13540:         bb
        !          13541:         Alt
        !          13542:         cc
        !          13543:         Ket
        !          13544:         #
        !          13545:         a++
        !          13546:         Braminzero
        !          13547:         Bra
        !          13548:         bb
        !          13549:         Alt
        !          13550:         cc
        !          13551:         Ket
        !          13552:         #
        !          13553:         a++
        !          13554:         Once
        !          13555:         Brazero
        !          13556:         Bra
        !          13557:         bb
        !          13558:         Alt
        !          13559:         cc
        !          13560:         Ket
        !          13561:         Ket
        !          13562:         #
        !          13563:         a++
        !          13564:         Brazero
        !          13565:         Bra
        !          13566:         bb
        !          13567:         Alt
        !          13568:         cc
        !          13569:         KetRmax
        !          13570:         #
        !          13571:         a+
        !          13572:         Brazero
        !          13573:         CBra 2
        !          13574:         bb
        !          13575:         Alt
        !          13576:         cc
        !          13577:         Ket
        !          13578:         a#
        !          13579:         a+
        !          13580:         Brazero
        !          13581:         Bra
        !          13582:         aa
        !          13583:         Ket
        !          13584:         Ket
        !          13585:         End
        !          13586: ------------------------------------------------------------------
        !          13587: 
        !          13588: /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
        !          13589: ------------------------------------------------------------------
        !          13590:         Bra
        !          13591:         a+
        !          13592:         Brazero
        !          13593:         Bra
        !          13594:         bb
        !          13595:         Ket
        !          13596:         a#
        !          13597:         a++
        !          13598:         Bra
        !          13599:         Alt
        !          13600:         Alt
        !          13601:         Alt
        !          13602:         Ket
        !          13603:         #
        !          13604:         a+
        !          13605:         Bra
        !          13606:         Alt
        !          13607:         b
        !          13608:         Ket
        !          13609:         a#
        !          13610:         a+
        !          13611:         Brazero
        !          13612:         Bra
        !          13613:         Alt
        !          13614:         Alt
        !          13615:         Alt
        !          13616:         Ket
        !          13617:         a
        !          13618:         Ket
        !          13619:         End
        !          13620: ------------------------------------------------------------------
        !          13621: 
        !          13622: /[ab]*/BZ
        !          13623: ------------------------------------------------------------------
        !          13624:         Bra
        !          13625:         [ab]*+
        !          13626:         Ket
        !          13627:         End
        !          13628: ------------------------------------------------------------------
        !          13629:     aaaa
        !          13630:  0: aaaa
        !          13631: 
        !          13632: /[ab]*?/BZ
        !          13633: ------------------------------------------------------------------
        !          13634:         Bra
        !          13635:         [ab]*?
        !          13636:         Ket
        !          13637:         End
        !          13638: ------------------------------------------------------------------
        !          13639:     aaaa
        !          13640:  0: 
        !          13641: 
        !          13642: /[ab]?/BZ
        !          13643: ------------------------------------------------------------------
        !          13644:         Bra
        !          13645:         [ab]?+
        !          13646:         Ket
        !          13647:         End
        !          13648: ------------------------------------------------------------------
        !          13649:     aaaa
        !          13650:  0: a
        !          13651: 
        !          13652: /[ab]??/BZ
        !          13653: ------------------------------------------------------------------
        !          13654:         Bra
        !          13655:         [ab]??
        !          13656:         Ket
        !          13657:         End
        !          13658: ------------------------------------------------------------------
        !          13659:     aaaa
        !          13660:  0: 
        !          13661: 
        !          13662: /[ab]+/BZ
        !          13663: ------------------------------------------------------------------
        !          13664:         Bra
        !          13665:         [ab]++
        !          13666:         Ket
        !          13667:         End
        !          13668: ------------------------------------------------------------------
        !          13669:     aaaa
        !          13670:  0: aaaa
        !          13671: 
        !          13672: /[ab]+?/BZ
        !          13673: ------------------------------------------------------------------
        !          13674:         Bra
        !          13675:         [ab]+?
        !          13676:         Ket
        !          13677:         End
        !          13678: ------------------------------------------------------------------
        !          13679:     aaaa
        !          13680:  0: a
        !          13681: 
        !          13682: /[ab]{2,3}/BZ
        !          13683: ------------------------------------------------------------------
        !          13684:         Bra
        !          13685:         [ab]{2,3}+
        !          13686:         Ket
        !          13687:         End
        !          13688: ------------------------------------------------------------------
        !          13689:     aaaa
        !          13690:  0: aaa
        !          13691: 
        !          13692: /[ab]{2,3}?/BZ
        !          13693: ------------------------------------------------------------------
        !          13694:         Bra
        !          13695:         [ab]{2,3}?
        !          13696:         Ket
        !          13697:         End
        !          13698: ------------------------------------------------------------------
        !          13699:     aaaa
        !          13700:  0: aa
        !          13701: 
        !          13702: /[ab]{2,}/BZ
        !          13703: ------------------------------------------------------------------
        !          13704:         Bra
        !          13705:         [ab]{2,}+
        !          13706:         Ket
        !          13707:         End
        !          13708: ------------------------------------------------------------------
        !          13709:     aaaa
        !          13710:  0: aaaa
        !          13711: 
        !          13712: /[ab]{2,}?/BZ
        !          13713: ------------------------------------------------------------------
        !          13714:         Bra
        !          13715:         [ab]{2,}?
        !          13716:         Ket
        !          13717:         End
        !          13718: ------------------------------------------------------------------
        !          13719:     aaaa
        !          13720:  0: aa
        !          13721: 
        !          13722: /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
        !          13723: ------------------------------------------------------------------
        !          13724:         Bra
        !          13725:         \d++
        !          13726:         \s{0,5}+
        !          13727:         =
        !          13728:         \s*+
        !          13729:         \S?
        !          13730:         =
        !          13731:         \w{0,4}+
        !          13732:         \W*+
        !          13733:         Ket
        !          13734:         End
        !          13735: ------------------------------------------------------------------
        !          13736: 
        !          13737: /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
        !          13738: ------------------------------------------------------------------
        !          13739:         Bra
        !          13740:         [a-d]{5,12}+
        !          13741:         [0-9e-z]*+
        !          13742:         #
        !          13743:         [\x00-`{-\xff] (neg)++
        !          13744:         [b-y]*+
        !          13745:         a
        !          13746:         [2-7]?+
        !          13747:         [\x00-/:-`{-\xff] (neg)++
        !          13748:         Ket
        !          13749:         End
        !          13750: ------------------------------------------------------------------
        !          13751: 
        !          13752: /[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ
        !          13753: ------------------------------------------------------------------
        !          13754:         Bra
        !          13755:         [a-z]*+
        !          13756:         \s
        !          13757:         #
        !          13758:         [\x09 ]?+
        !          13759:         \S
        !          13760:         #
        !          13761:         [a-c]*
        !          13762:         \S
        !          13763:         #
        !          13764:         [C-G]++
        !          13765:         \d
        !          13766:         #
        !          13767:         [4-8]*+
        !          13768:         \D
        !          13769:         #
        !          13770:         [,4-9]*
        !          13771:         \D
        !          13772:         #
        !          13773:         [!$]{0,5}+
        !          13774:         \w
        !          13775:         #
        !          13776:         [M-Xf-l]++
        !          13777:         \W
        !          13778:         #
        !          13779:         [,a-c]?
        !          13780:         \W
        !          13781:         Ket
        !          13782:         End
        !          13783: ------------------------------------------------------------------
        !          13784: 
        !          13785: /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
        !          13786: ------------------------------------------------------------------
        !          13787:         Bra
        !          13788:         a+
        !          13789:         Brazero
        !          13790:         CBra 1
        !          13791:         aa
        !          13792:         Alt
        !          13793:         bb
        !          13794:         KetRmax
        !          13795:         c#
        !          13796:         a*
        !          13797:         Brazero
        !          13798:         CBra 2
        !          13799:         bb
        !          13800:         Alt
        !          13801:         cc
        !          13802:         KetRmax
        !          13803:         a#
        !          13804:         a?+
        !          13805:         Brazero
        !          13806:         CBra 3
        !          13807:         bb
        !          13808:         Alt
        !          13809:         cc
        !          13810:         KetRmax
        !          13811:         d#
        !          13812:         [a-f]*
        !          13813:         Brazero
        !          13814:         CBra 4
        !          13815:         g
        !          13816:         Alt
        !          13817:         hh
        !          13818:         KetRmax
        !          13819:         f
        !          13820:         Ket
        !          13821:         End
        !          13822: ------------------------------------------------------------------
        !          13823: 
        !          13824: /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
        !          13825: ------------------------------------------------------------------
        !          13826:         Bra
        !          13827:         [a-f]*+
        !          13828:         Brazero
        !          13829:         CBra 1
        !          13830:         g
        !          13831:         Alt
        !          13832:         hh
        !          13833:         Alt
        !          13834:         i
        !          13835:         KetRmax
        !          13836:         i#
        !          13837:         [a-x]{4,}
        !          13838:         Brazero
        !          13839:         SCBra 2
        !          13840:         y{0,6}
        !          13841:         KetRmax
        !          13842:         y#
        !          13843:         [a-k]++
        !          13844:         CBra 3
        !          13845:         ll
        !          13846:         Alt
        !          13847:         mm
        !          13848:         KetRmax
        !          13849:         n
        !          13850:         Ket
        !          13851:         End
        !          13852: ------------------------------------------------------------------
        !          13853: 
        !          13854: /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
        !          13855: ------------------------------------------------------------------
        !          13856:         Bra
        !          13857:         [a-f]*+
        !          13858:         Once_NC
        !          13859:         gg
        !          13860:         Alt
        !          13861:         hh
        !          13862:         KetRmax
        !          13863:         #
        !          13864:         [a-f]*+
        !          13865:         Brazero
        !          13866:         Once_NC
        !          13867:         gg
        !          13868:         Alt
        !          13869:         hh
        !          13870:         Ket
        !          13871:         #
        !          13872:         [a-f]*
        !          13873:         Brazero
        !          13874:         Once_NC
        !          13875:         gg
        !          13876:         Alt
        !          13877:         hh
        !          13878:         KetRmax
        !          13879:         a#
        !          13880:         [a-f]*+
        !          13881:         Brazero
        !          13882:         Once_NC
        !          13883:         gg
        !          13884:         Alt
        !          13885:         hh
        !          13886:         KetRmax
        !          13887:         h
        !          13888:         Ket
        !          13889:         End
        !          13890: ------------------------------------------------------------------
        !          13891: 
        !          13892: /[a-c]*d/DZS
        !          13893: ------------------------------------------------------------------
        !          13894:         Bra
        !          13895:         [a-c]*+
        !          13896:         d
        !          13897:         Ket
        !          13898:         End
        !          13899: ------------------------------------------------------------------
        !          13900: Capturing subpattern count = 0
        !          13901: No options
        !          13902: No first char
        !          13903: Need char = 'd'
        !          13904: Subject length lower bound = 1
        !          13905: Starting byte set: a b c d 
        !          13906: 
        !          13907: /[a-c]+d/DZS
        !          13908: ------------------------------------------------------------------
        !          13909:         Bra
        !          13910:         [a-c]++
        !          13911:         d
        !          13912:         Ket
        !          13913:         End
        !          13914: ------------------------------------------------------------------
        !          13915: Capturing subpattern count = 0
        !          13916: No options
        !          13917: No first char
        !          13918: Need char = 'd'
        !          13919: Subject length lower bound = 2
        !          13920: Starting byte set: a b c 
        !          13921: 
        !          13922: /[a-c]?d/DZS
        !          13923: ------------------------------------------------------------------
        !          13924:         Bra
        !          13925:         [a-c]?+
        !          13926:         d
        !          13927:         Ket
        !          13928:         End
        !          13929: ------------------------------------------------------------------
        !          13930: Capturing subpattern count = 0
        !          13931: No options
        !          13932: No first char
        !          13933: Need char = 'd'
        !          13934: Subject length lower bound = 1
        !          13935: Starting byte set: a b c d 
        !          13936: 
        !          13937: /[a-c]{4,6}d/DZS
        !          13938: ------------------------------------------------------------------
        !          13939:         Bra
        !          13940:         [a-c]{4,6}+
        !          13941:         d
        !          13942:         Ket
        !          13943:         End
        !          13944: ------------------------------------------------------------------
        !          13945: Capturing subpattern count = 0
        !          13946: No options
        !          13947: No first char
        !          13948: Need char = 'd'
        !          13949: Subject length lower bound = 5
        !          13950: Starting byte set: a b c 
        !          13951: 
        !          13952: /[a-c]{0,6}d/DZS
        !          13953: ------------------------------------------------------------------
        !          13954:         Bra
        !          13955:         [a-c]{0,6}+
        !          13956:         d
        !          13957:         Ket
        !          13958:         End
        !          13959: ------------------------------------------------------------------
        !          13960: Capturing subpattern count = 0
        !          13961: No options
        !          13962: No first char
        !          13963: Need char = 'd'
        !          13964: Subject length lower bound = 1
        !          13965: Starting byte set: a b c d 
        !          13966: 
        !          13967: /-- End of special auto-possessive tests --/
        !          13968: 
        !          13969: /^A\o{1239}B/
        !          13970: Failed: non-octal character in \o{} (closing brace missing?) at offset 8
        !          13971: 
        !          13972: /^A\oB/
        !          13973: Failed: missing opening brace after \o at offset 3
        !          13974: 
        !          13975: /^A\x{zz}B/ 
        !          13976: Failed: non-hex character in \x{} (closing brace missing?) at offset 5
        !          13977: 
        !          13978: /^A\x{12Z/
        !          13979: Failed: non-hex character in \x{} (closing brace missing?) at offset 7
        !          13980: 
        !          13981: /^A\x{/
        !          13982: Failed: non-hex character in \x{} (closing brace missing?) at offset 5
        !          13983: 
        !          13984: /[ab]++/BZO
        !          13985: ------------------------------------------------------------------
        !          13986:         Bra
        !          13987:         [ab]++
        !          13988:         Ket
        !          13989:         End
        !          13990: ------------------------------------------------------------------
        !          13991: 
        !          13992: /[^ab]*+/BZO
        !          13993: ------------------------------------------------------------------
        !          13994:         Bra
        !          13995:         [\x00-`c-\xff] (neg)*+
        !          13996:         Ket
        !          13997:         End
        !          13998: ------------------------------------------------------------------
        !          13999: 
        !          14000: /a{4}+/BZO
        !          14001: ------------------------------------------------------------------
        !          14002:         Bra
        !          14003:         a{4}
        !          14004:         Ket
        !          14005:         End
        !          14006: ------------------------------------------------------------------
        !          14007: 
        !          14008: /a{4}+/BZOi
        !          14009: ------------------------------------------------------------------
        !          14010:         Bra
        !          14011:      /i a{4}
        !          14012:         Ket
        !          14013:         End
        !          14014: ------------------------------------------------------------------
        !          14015: 
        !          14016: /[a-[:digit:]]+/
        !          14017: Failed: invalid range in character class at offset 3
        !          14018: 
        !          14019: /[A-[:digit:]]+/
        !          14020: Failed: invalid range in character class at offset 3
        !          14021: 
        !          14022: /[a-[.xxx.]]+/
        !          14023: Failed: invalid range in character class at offset 3
        !          14024: 
        !          14025: /[a-[=xxx=]]+/
        !          14026: Failed: invalid range in character class at offset 3
        !          14027: 
        !          14028: /[a-[!xxx!]]+/
        !          14029: Failed: range out of order in character class at offset 3
        !          14030: 
        !          14031: /[A-[!xxx!]]+/
        !          14032:     A]]]
        !          14033:  0: A]]]
        !          14034: 
        !          14035: /[a-\d]+/
        !          14036: Failed: invalid range in character class at offset 4
        !          14037: 
        !          14038: /(?<0abc>xx)/
        !          14039: Failed: group name must start with a non-digit at offset 3
        !          14040: 
        !          14041: /(?&1abc)xx(?<1abc>y)/
        !          14042: Failed: group name must start with a non-digit at offset 3
        !          14043: 
        !          14044: /(?<ab-cd>xx)/
        !          14045: Failed: syntax error in subpattern name (missing terminator) at offset 5
        !          14046: 
        !          14047: /(?'0abc'xx)/
        !          14048: Failed: group name must start with a non-digit at offset 3
        !          14049: 
        !          14050: /(?P<0abc>xx)/
        !          14051: Failed: group name must start with a non-digit at offset 4
        !          14052: 
        !          14053: /\k<5ghj>/
        !          14054: Failed: group name must start with a non-digit at offset 3
        !          14055: 
        !          14056: /\k'5ghj'/
        !          14057: Failed: group name must start with a non-digit at offset 3
        !          14058: 
        !          14059: /\k{2fgh}/
        !          14060: Failed: group name must start with a non-digit at offset 3
        !          14061: 
        !          14062: /(?P=8yuki)/
        !          14063: Failed: group name must start with a non-digit at offset 4
        !          14064: 
        !          14065: /\g{4df}/
        !          14066: Failed: group name must start with a non-digit at offset 3
        !          14067: 
        !          14068: /(?&1abc)xx(?<1abc>y)/
        !          14069: Failed: group name must start with a non-digit at offset 3
        !          14070: 
        !          14071: /(?P>1abc)xx(?<1abc>y)/
        !          14072: Failed: group name must start with a non-digit at offset 4
        !          14073: 
        !          14074: /\g'3gh'/
        !          14075: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 7
        !          14076: 
        !          14077: /\g<5fg>/
        !          14078: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 7
        !          14079: 
        !          14080: /(?(<4gh>)abc)/
        !          14081: Failed: group name must start with a non-digit at offset 4
        !          14082: 
        !          14083: /(?('4gh')abc)/
        !          14084: Failed: group name must start with a non-digit at offset 4
        !          14085: 
        !          14086: /(?(4gh)abc)/
        !          14087: Failed: malformed number or name after (?( at offset 4
        !          14088: 
        !          14089: /(?(R&6yh)abc)/
        !          14090: Failed: group name must start with a non-digit at offset 5
        !          14091: 
        !          14092: /-- Test the ugly "start or end of word" compatibility syntax --/
        !          14093: 
        !          14094: /[[:<:]]red[[:>:]]/BZ
        !          14095: ------------------------------------------------------------------
        !          14096:         Bra
        !          14097:         \b
        !          14098:         Assert
        !          14099:         \w
        !          14100:         Ket
        !          14101:         red
        !          14102:         \b
        !          14103:         AssertB
        !          14104:         Reverse
        !          14105:         \w
        !          14106:         Ket
        !          14107:         Ket
        !          14108:         End
        !          14109: ------------------------------------------------------------------
        !          14110:     little red riding hood
        !          14111:  0: red
        !          14112:     a /red/ thing 
        !          14113:  0: red
        !          14114:     red is a colour
        !          14115:  0: red
        !          14116:     put it all on red  
        !          14117:  0: red
        !          14118:     ** Failers
        !          14119: No match
        !          14120:     no reduction
        !          14121: No match
        !          14122:     Alfred Winifred
        !          14123: No match
        !          14124:     
        !          14125: /[a[:<:]] should give error/ 
        !          14126: Failed: unknown POSIX class name at offset 4
        !          14127: 
1.1       misho    14128: /-- End of testinput2 --/

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