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

1.1       misho       1: /-- This set of tests is not Perl-compatible. It checks on special features
                      2:     of PCRE's API, error diagnostics, and the compiled code of some patterns.
                      3:     It also checks the non-Perl syntax the PCRE supports (Python, .NET, 
                      4:     Oniguruma). Finally, there are some tests where PCRE and Perl differ, 
                      5:     either because PCRE can't be compatible, or there is a possible Perl 
                      6:     bug.
                      7:     
1.1.1.2   misho       8:     NOTE: This is a non-UTF set of tests. When UTF support is needed, use
                      9:     test 5, and if Unicode Property Support is needed, use test 7. --/
1.1       misho      10:   
                     11: /(a)b|/I
                     12: Capturing subpattern count = 1
                     13: No options
                     14: No first char
                     15: No need char
                     16: 
                     17: /abc/I
                     18: Capturing subpattern count = 0
                     19: No options
                     20: First char = 'a'
                     21: Need char = 'c'
                     22:     abc
                     23:  0: abc
                     24:     defabc
                     25:  0: abc
                     26:     \Aabc
                     27:  0: abc
                     28:     *** Failers
                     29: No match
                     30:     \Adefabc
                     31: No match
                     32:     ABC
                     33: No match
                     34: 
                     35: /^abc/I
                     36: Capturing subpattern count = 0
                     37: Options: anchored
                     38: No first char
                     39: No need char
                     40:     abc
                     41:  0: abc
                     42:     \Aabc
                     43:  0: abc
                     44:     *** Failers
                     45: No match
                     46:     defabc
                     47: No match
                     48:     \Adefabc
                     49: No match
                     50: 
                     51: /a+bc/I
                     52: Capturing subpattern count = 0
                     53: No options
                     54: First char = 'a'
                     55: Need char = 'c'
                     56: 
                     57: /a*bc/I
                     58: Capturing subpattern count = 0
                     59: No options
                     60: No first char
                     61: Need char = 'c'
                     62: 
                     63: /a{3}bc/I
                     64: Capturing subpattern count = 0
                     65: No options
                     66: First char = 'a'
                     67: Need char = 'c'
                     68: 
                     69: /(abc|a+z)/I
                     70: Capturing subpattern count = 1
                     71: No options
                     72: First char = 'a'
                     73: No need char
                     74: 
                     75: /^abc$/I
                     76: Capturing subpattern count = 0
                     77: Options: anchored
                     78: No first char
                     79: No need char
                     80:     abc
                     81:  0: abc
                     82:     *** Failers
                     83: No match
                     84:     def\nabc
                     85: No match
                     86: 
                     87: /ab\idef/X
                     88: Failed: unrecognized character follows \ at offset 3
                     89: 
                     90: /(?X)ab\idef/X
                     91: Failed: unrecognized character follows \ at offset 7
                     92: 
                     93: /x{5,4}/
                     94: Failed: numbers out of order in {} quantifier at offset 5
                     95: 
                     96: /z{65536}/
                     97: Failed: number too big in {} quantifier at offset 7
                     98: 
                     99: /[abcd/
                    100: Failed: missing terminating ] for character class at offset 5
                    101: 
                    102: /(?X)[\B]/
                    103: Failed: invalid escape sequence in character class at offset 6
                    104: 
                    105: /(?X)[\R]/
                    106: Failed: invalid escape sequence in character class at offset 6
                    107: 
                    108: /(?X)[\X]/
                    109: Failed: invalid escape sequence in character class at offset 6
                    110: 
                    111: /[\B]/BZ
                    112: ------------------------------------------------------------------
                    113:         Bra
                    114:         B
                    115:         Ket
                    116:         End
                    117: ------------------------------------------------------------------
                    118: 
                    119: /[\R]/BZ
                    120: ------------------------------------------------------------------
                    121:         Bra
                    122:         R
                    123:         Ket
                    124:         End
                    125: ------------------------------------------------------------------
                    126: 
                    127: /[\X]/BZ
                    128: ------------------------------------------------------------------
                    129:         Bra
                    130:         X
                    131:         Ket
                    132:         End
                    133: ------------------------------------------------------------------
                    134: 
                    135: /[z-a]/
                    136: Failed: range out of order in character class at offset 3
                    137: 
                    138: /^*/
                    139: Failed: nothing to repeat at offset 1
                    140: 
                    141: /(abc/
                    142: Failed: missing ) at offset 4
                    143: 
                    144: /(?# abc/
                    145: Failed: missing ) after comment at offset 7
                    146: 
                    147: /(?z)abc/
                    148: Failed: unrecognized character after (? or (?- at offset 2
                    149: 
                    150: /.*b/I
                    151: Capturing subpattern count = 0
                    152: No options
                    153: First char at start or follows newline
                    154: Need char = 'b'
                    155: 
                    156: /.*?b/I
                    157: Capturing subpattern count = 0
                    158: No options
                    159: First char at start or follows newline
                    160: Need char = 'b'
                    161: 
                    162: /cat|dog|elephant/I
                    163: Capturing subpattern count = 0
                    164: No options
                    165: No first char
                    166: No need char
                    167:     this sentence eventually mentions a cat
                    168:  0: cat
                    169:     this sentences rambles on and on for a while and then reaches elephant
                    170:  0: elephant
                    171: 
                    172: /cat|dog|elephant/IS
                    173: Capturing subpattern count = 0
                    174: No options
                    175: No first char
                    176: No need char
                    177: Subject length lower bound = 3
                    178: Starting byte set: c d e 
                    179:     this sentence eventually mentions a cat
                    180:  0: cat
                    181:     this sentences rambles on and on for a while and then reaches elephant
                    182:  0: elephant
                    183: 
                    184: /cat|dog|elephant/IiS
                    185: Capturing subpattern count = 0
                    186: Options: caseless
                    187: No first char
                    188: No need char
                    189: Subject length lower bound = 3
                    190: Starting byte set: C D E c d e 
                    191:     this sentence eventually mentions a CAT cat
                    192:  0: CAT
                    193:     this sentences rambles on and on for a while to elephant ElePhant
                    194:  0: elephant
                    195: 
                    196: /a|[bcd]/IS
                    197: Capturing subpattern count = 0
                    198: No options
                    199: No first char
                    200: No need char
                    201: Subject length lower bound = 1
                    202: Starting byte set: a b c d 
                    203: 
                    204: /(a|[^\dZ])/IS
                    205: Capturing subpattern count = 1
                    206: No options
                    207: No first char
                    208: No need char
                    209: Subject length lower bound = 1
                    210: Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
                    211:   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
                    212:   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
                    213:   ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d 
                    214:   e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 
                    215:   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
                    216:   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
                    217:   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
                    218:   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
                    219:   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
                    220:   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
                    221:   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
                    222:   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
                    223:   \xfc \xfd \xfe \xff 
                    224: 
                    225: /(a|b)*[\s]/IS
                    226: Capturing subpattern count = 1
                    227: No options
                    228: No first char
                    229: No need char
                    230: Subject length lower bound = 1
                    231: Starting byte set: \x09 \x0a \x0c \x0d \x20 a b 
                    232: 
                    233: /(ab\2)/
                    234: Failed: reference to non-existent subpattern at offset 6
                    235: 
                    236: /{4,5}abc/
                    237: Failed: nothing to repeat at offset 4
                    238: 
                    239: /(a)(b)(c)\2/I
                    240: Capturing subpattern count = 3
                    241: Max back reference = 2
                    242: No options
                    243: First char = 'a'
                    244: Need char = 'c'
                    245:     abcb
                    246:  0: abcb
                    247:  1: a
                    248:  2: b
                    249:  3: c
                    250:     \O0abcb
                    251: Matched, but too many substrings
                    252:     \O3abcb
                    253: Matched, but too many substrings
                    254:  0: abcb
                    255:     \O6abcb
                    256: Matched, but too many substrings
                    257:  0: abcb
                    258:  1: a
                    259:     \O9abcb
                    260: Matched, but too many substrings
                    261:  0: abcb
                    262:  1: a
                    263:  2: b
                    264:     \O12abcb
                    265:  0: abcb
                    266:  1: a
                    267:  2: b
                    268:  3: c
                    269: 
                    270: /(a)bc|(a)(b)\2/I
                    271: Capturing subpattern count = 3
                    272: Max back reference = 2
                    273: No options
                    274: First char = 'a'
                    275: No need char
                    276:     abc
                    277:  0: abc
                    278:  1: a
                    279:     \O0abc
                    280: Matched, but too many substrings
                    281:     \O3abc
                    282: Matched, but too many substrings
                    283:  0: abc
                    284:     \O6abc
                    285:  0: abc
                    286:  1: a
                    287:     aba
                    288:  0: aba
                    289:  1: <unset>
                    290:  2: a
                    291:  3: b
                    292:     \O0aba
                    293: Matched, but too many substrings
                    294:     \O3aba
                    295: Matched, but too many substrings
                    296:  0: aba
                    297:     \O6aba
                    298: Matched, but too many substrings
                    299:  0: aba
                    300:  1: <unset>
                    301:     \O9aba
                    302: Matched, but too many substrings
                    303:  0: aba
                    304:  1: <unset>
                    305:  2: a
                    306:     \O12aba
                    307:  0: aba
                    308:  1: <unset>
                    309:  2: a
                    310:  3: b
                    311: 
                    312: /abc$/IE
                    313: Capturing subpattern count = 0
                    314: Options: dollar_endonly
                    315: First char = 'a'
                    316: Need char = 'c'
                    317:     abc
                    318:  0: abc
                    319:     *** Failers
                    320: No match
                    321:     abc\n
                    322: No match
                    323:     abc\ndef
                    324: No match
                    325: 
                    326: /(a)(b)(c)(d)(e)\6/
                    327: Failed: reference to non-existent subpattern at offset 17
                    328: 
                    329: /the quick brown fox/I
                    330: Capturing subpattern count = 0
                    331: No options
                    332: First char = 't'
                    333: Need char = 'x'
                    334:     the quick brown fox
                    335:  0: the quick brown fox
                    336:     this is a line with the quick brown fox
                    337:  0: the quick brown fox
                    338: 
                    339: /the quick brown fox/IA
                    340: Capturing subpattern count = 0
                    341: Options: anchored
                    342: No first char
                    343: No need char
                    344:     the quick brown fox
                    345:  0: the quick brown fox
                    346:     *** Failers
                    347: No match
                    348:     this is a line with the quick brown fox
                    349: No match
                    350: 
                    351: /ab(?z)cd/
                    352: Failed: unrecognized character after (? or (?- at offset 4
                    353: 
                    354: /^abc|def/I
                    355: Capturing subpattern count = 0
                    356: No options
                    357: No first char
                    358: No need char
                    359:     abcdef
                    360:  0: abc
                    361:     abcdef\B
                    362:  0: def
                    363: 
                    364: /.*((abc)$|(def))/I
                    365: Capturing subpattern count = 3
                    366: No options
                    367: First char at start or follows newline
                    368: No need char
                    369:     defabc
                    370:  0: defabc
                    371:  1: abc
                    372:  2: abc
                    373:     \Zdefabc
                    374:  0: def
                    375:  1: def
                    376:  2: <unset>
                    377:  3: def
                    378: 
                    379: /)/
                    380: Failed: unmatched parentheses at offset 0
                    381: 
                    382: /a[]b/
                    383: Failed: missing terminating ] for character class at offset 4
                    384: 
                    385: /[^aeiou ]{3,}/I
                    386: Capturing subpattern count = 0
                    387: No options
                    388: No first char
                    389: No need char
                    390:     co-processors, and for
                    391:  0: -pr
                    392: 
                    393: /<.*>/I
                    394: Capturing subpattern count = 0
                    395: No options
                    396: First char = '<'
                    397: Need char = '>'
                    398:     abc<def>ghi<klm>nop
                    399:  0: <def>ghi<klm>
                    400: 
                    401: /<.*?>/I
                    402: Capturing subpattern count = 0
                    403: No options
                    404: First char = '<'
                    405: Need char = '>'
                    406:     abc<def>ghi<klm>nop
                    407:  0: <def>
                    408: 
                    409: /<.*>/IU
                    410: Capturing subpattern count = 0
                    411: Options: ungreedy
                    412: First char = '<'
                    413: Need char = '>'
                    414:     abc<def>ghi<klm>nop
                    415:  0: <def>
                    416: 
                    417: /(?U)<.*>/I
                    418: Capturing subpattern count = 0
                    419: Options: ungreedy
                    420: First char = '<'
                    421: Need char = '>'
                    422:     abc<def>ghi<klm>nop
                    423:  0: <def>
                    424: 
                    425: /<.*?>/IU
                    426: Capturing subpattern count = 0
                    427: Options: ungreedy
                    428: First char = '<'
                    429: Need char = '>'
                    430:     abc<def>ghi<klm>nop
                    431:  0: <def>ghi<klm>
                    432: 
                    433: /={3,}/IU
                    434: Capturing subpattern count = 0
                    435: Options: ungreedy
                    436: First char = '='
                    437: Need char = '='
                    438:     abc========def
                    439:  0: ===
                    440: 
                    441: /(?U)={3,}?/I
                    442: Capturing subpattern count = 0
                    443: Options: ungreedy
                    444: First char = '='
                    445: Need char = '='
                    446:     abc========def
                    447:  0: ========
                    448: 
                    449: /(?<!bar|cattle)foo/I
                    450: Capturing subpattern count = 0
1.1.1.4 ! misho     451: Max lookbehind = 6
1.1       misho     452: No options
                    453: First char = 'f'
                    454: Need char = 'o'
                    455:     foo
                    456:  0: foo
                    457:     catfoo
                    458:  0: foo
                    459:     *** Failers
                    460: No match
                    461:     the barfoo
                    462: No match
                    463:     and cattlefoo
                    464: No match
                    465: 
                    466: /(?<=a+)b/
                    467: Failed: lookbehind assertion is not fixed length at offset 6
                    468: 
                    469: /(?<=aaa|b{0,3})b/
                    470: Failed: lookbehind assertion is not fixed length at offset 14
                    471: 
                    472: /(?<!(foo)a\1)bar/
                    473: Failed: lookbehind assertion is not fixed length at offset 12
                    474: 
                    475: /(?i)abc/I
                    476: Capturing subpattern count = 0
                    477: Options: caseless
                    478: First char = 'a' (caseless)
                    479: Need char = 'c' (caseless)
                    480: 
                    481: /(a|(?m)a)/I
                    482: Capturing subpattern count = 1
                    483: No options
                    484: First char = 'a'
                    485: No need char
                    486: 
                    487: /(?i)^1234/I
                    488: Capturing subpattern count = 0
                    489: Options: anchored caseless
                    490: No first char
                    491: No need char
                    492: 
                    493: /(^b|(?i)^d)/I
                    494: Capturing subpattern count = 1
                    495: Options: anchored
                    496: No first char
                    497: No need char
                    498: 
                    499: /(?s).*/I
                    500: Capturing subpattern count = 0
                    501: Options: anchored dotall
                    502: No first char
                    503: No need char
                    504: 
                    505: /[abcd]/IS
                    506: Capturing subpattern count = 0
                    507: No options
                    508: No first char
                    509: No need char
                    510: Subject length lower bound = 1
                    511: Starting byte set: a b c d 
                    512: 
                    513: /(?i)[abcd]/IS
                    514: Capturing subpattern count = 0
                    515: Options: caseless
                    516: No first char
                    517: No need char
                    518: Subject length lower bound = 1
                    519: Starting byte set: A B C D a b c d 
                    520: 
                    521: /(?m)[xy]|(b|c)/IS
                    522: Capturing subpattern count = 1
                    523: Options: multiline
                    524: No first char
                    525: No need char
                    526: Subject length lower bound = 1
                    527: Starting byte set: b c x y 
                    528: 
                    529: /(^a|^b)/Im
                    530: Capturing subpattern count = 1
                    531: Options: multiline
                    532: First char at start or follows newline
                    533: No need char
                    534: 
                    535: /(?i)(^a|^b)/Im
                    536: Capturing subpattern count = 1
                    537: Options: caseless multiline
                    538: First char at start or follows newline
                    539: No need char
                    540: 
                    541: /(a)(?(1)a|b|c)/
                    542: Failed: conditional group contains more than two branches at offset 13
                    543: 
                    544: /(?(?=a)a|b|c)/
                    545: Failed: conditional group contains more than two branches at offset 12
                    546: 
                    547: /(?(1a)/
                    548: Failed: missing ) at offset 6
                    549: 
                    550: /(?(1a))/
                    551: Failed: reference to non-existent subpattern at offset 6
                    552: 
                    553: /(?(?i))/
                    554: Failed: assertion expected after (?( at offset 3
                    555: 
                    556: /(?(abc))/
                    557: Failed: reference to non-existent subpattern at offset 7
                    558: 
                    559: /(?(?<ab))/
                    560: Failed: syntax error in subpattern name (missing terminator) at offset 7
                    561: 
                    562: /((?s)blah)\s+\1/I
                    563: Capturing subpattern count = 1
                    564: Max back reference = 1
                    565: No options
                    566: First char = 'b'
                    567: Need char = 'h'
                    568: 
                    569: /((?i)blah)\s+\1/I
                    570: Capturing subpattern count = 1
                    571: Max back reference = 1
                    572: No options
                    573: First char = 'b' (caseless)
                    574: Need char = 'h' (caseless)
                    575: 
                    576: /((?i)b)/IDZS
                    577: ------------------------------------------------------------------
                    578:         Bra
                    579:         CBra 1
                    580:      /i b
                    581:         Ket
                    582:         Ket
                    583:         End
                    584: ------------------------------------------------------------------
                    585: Capturing subpattern count = 1
                    586: No options
                    587: First char = 'b' (caseless)
                    588: No need char
                    589: Subject length lower bound = 1
                    590: No set of starting bytes
                    591: 
                    592: /(a*b|(?i:c*(?-i)d))/IS
                    593: Capturing subpattern count = 1
                    594: No options
                    595: No first char
                    596: No need char
                    597: Subject length lower bound = 1
                    598: Starting byte set: C a b c d 
                    599: 
                    600: /a$/I
                    601: Capturing subpattern count = 0
                    602: No options
                    603: First char = 'a'
                    604: No need char
                    605:     a
                    606:  0: a
                    607:     a\n
                    608:  0: a
                    609:     *** Failers
                    610: No match
                    611:     \Za
                    612: No match
                    613:     \Za\n
                    614: No match
                    615: 
                    616: /a$/Im
                    617: Capturing subpattern count = 0
                    618: Options: multiline
                    619: First char = 'a'
                    620: No need char
                    621:     a
                    622:  0: a
                    623:     a\n
                    624:  0: a
                    625:     \Za\n
                    626:  0: a
                    627:     *** Failers
                    628: No match
                    629:     \Za
                    630: No match
                    631: 
                    632: /\Aabc/Im
                    633: Capturing subpattern count = 0
1.1.1.4 ! misho     634: Max lookbehind = 1
1.1       misho     635: Options: anchored multiline
                    636: No first char
                    637: No need char
                    638: 
                    639: /^abc/Im
                    640: Capturing subpattern count = 0
                    641: Options: multiline
                    642: First char at start or follows newline
                    643: Need char = 'c'
                    644: 
                    645: /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
                    646: Capturing subpattern count = 5
                    647: Options: anchored
                    648: No first char
                    649: No need char
                    650:   aaaaabbbbbcccccdef
                    651:  0: aaaaabbbbbcccccdef
                    652:  1: aaaaabbbbbcccccdef
                    653:  2: aaaaa
                    654:  3: b
                    655:  4: bbbbccccc
                    656:  5: def
                    657: 
                    658: /(?<=foo)[ab]/IS
                    659: Capturing subpattern count = 0
1.1.1.4 ! misho     660: Max lookbehind = 3
1.1       misho     661: No options
                    662: No first char
                    663: No need char
                    664: Subject length lower bound = 1
                    665: Starting byte set: a b 
                    666: 
                    667: /(?<!foo)(alpha|omega)/IS
                    668: Capturing subpattern count = 1
1.1.1.4 ! misho     669: Max lookbehind = 3
1.1       misho     670: No options
                    671: No first char
                    672: Need char = 'a'
                    673: Subject length lower bound = 5
                    674: Starting byte set: a o 
                    675: 
                    676: /(?!alphabet)[ab]/IS
                    677: Capturing subpattern count = 0
                    678: No options
                    679: No first char
                    680: No need char
                    681: Subject length lower bound = 1
                    682: Starting byte set: a b 
                    683: 
                    684: /(?<=foo\n)^bar/Im
                    685: Capturing subpattern count = 0
1.1.1.4 ! misho     686: Max lookbehind = 4
1.1       misho     687: Contains explicit CR or LF match
                    688: Options: multiline
                    689: No first char
                    690: Need char = 'r'
                    691:     foo\nbarbar
                    692:  0: bar
                    693:     ***Failers
                    694: No match
                    695:     rhubarb
                    696: No match
                    697:     barbell
                    698: No match
                    699:     abc\nbarton
                    700: No match
                    701: 
                    702: /^(?<=foo\n)bar/Im
                    703: Capturing subpattern count = 0
1.1.1.4 ! misho     704: Max lookbehind = 4
1.1       misho     705: Contains explicit CR or LF match
                    706: Options: multiline
                    707: First char at start or follows newline
                    708: Need char = 'r'
                    709:     foo\nbarbar
                    710:  0: bar
                    711:     ***Failers
                    712: No match
                    713:     rhubarb
                    714: No match
                    715:     barbell
                    716: No match
                    717:     abc\nbarton
                    718: No match
                    719: 
                    720: /(?>^abc)/Im
                    721: Capturing subpattern count = 0
                    722: Options: multiline
                    723: First char at start or follows newline
                    724: Need char = 'c'
                    725:     abc
                    726:  0: abc
                    727:     def\nabc
                    728:  0: abc
                    729:     *** Failers
                    730: No match
                    731:     defabc
                    732: No match
                    733: 
                    734: /(?<=ab(c+)d)ef/
                    735: Failed: lookbehind assertion is not fixed length at offset 11
                    736: 
                    737: /(?<=ab(?<=c+)d)ef/
                    738: Failed: lookbehind assertion is not fixed length at offset 12
                    739: 
                    740: /(?<=ab(c|de)f)g/
                    741: Failed: lookbehind assertion is not fixed length at offset 13
                    742: 
                    743: /The next three are in testinput2 because they have variable length branches/
                    744: 
                    745: /(?<=bullock|donkey)-cart/I
                    746: Capturing subpattern count = 0
1.1.1.4 ! misho     747: Max lookbehind = 7
1.1       misho     748: No options
                    749: First char = '-'
                    750: Need char = 't'
                    751:     the bullock-cart
                    752:  0: -cart
                    753:     a donkey-cart race
                    754:  0: -cart
                    755:     *** Failers
                    756: No match
                    757:     cart
                    758: No match
                    759:     horse-and-cart
                    760: No match
                    761: 
                    762: /(?<=ab(?i)x|y|z)/I
                    763: Capturing subpattern count = 0
1.1.1.4 ! misho     764: Max lookbehind = 3
1.1       misho     765: No options
                    766: No first char
                    767: No need char
                    768: 
                    769: /(?>.*)(?<=(abcd)|(xyz))/I
                    770: Capturing subpattern count = 2
1.1.1.4 ! misho     771: Max lookbehind = 4
1.1       misho     772: No options
1.1.1.4 ! misho     773: No first char
1.1       misho     774: No need char
                    775:     alphabetabcd
                    776:  0: alphabetabcd
                    777:  1: abcd
                    778:     endingxyz
                    779:  0: endingxyz
                    780:  1: <unset>
                    781:  2: xyz
                    782: 
                    783: /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
                    784: Capturing subpattern count = 0
1.1.1.4 ! misho     785: Max lookbehind = 4
1.1       misho     786: No options
                    787: First char = 'Z'
                    788: Need char = 'Z'
                    789:     abxyZZ
                    790:  0: ZZ
                    791:     abXyZZ
                    792:  0: ZZ
                    793:     ZZZ
                    794:  0: ZZ
                    795:     zZZ
                    796:  0: ZZ
                    797:     bZZ
                    798:  0: ZZ
                    799:     BZZ
                    800:  0: ZZ
                    801:     *** Failers
                    802: No match
                    803:     ZZ
                    804: No match
                    805:     abXYZZ
                    806: No match
                    807:     zzz
                    808: No match
                    809:     bzz
                    810: No match
                    811: 
                    812: /(?<!(foo)a)bar/I
                    813: Capturing subpattern count = 1
1.1.1.4 ! misho     814: Max lookbehind = 4
1.1       misho     815: No options
                    816: First char = 'b'
                    817: Need char = 'r'
                    818:     bar
                    819:  0: bar
                    820:     foobbar
                    821:  0: bar
                    822:     *** Failers
                    823: No match
                    824:     fooabar
                    825: No match
                    826: 
                    827: /This one is here because Perl behaves differently; see also the following/I
                    828: Capturing subpattern count = 0
                    829: No options
                    830: First char = 'T'
                    831: Need char = 'g'
                    832: 
                    833: /^(a\1?){4}$/I
                    834: Capturing subpattern count = 1
                    835: Max back reference = 1
                    836: Options: anchored
                    837: No first char
                    838: No need char
                    839:     aaaa
                    840: No match
                    841:     aaaaaa
                    842: No match
                    843:     
                    844: /Perl does not fail these two for the final subjects. Neither did PCRE until/
                    845: /release 8.01. The problem is in backtracking into a subpattern that contains/
                    846: No match
                    847: /a recursive reference to itself. PCRE has now made these into atomic patterns./
                    848: No match
                    849: 
                    850: /^(xa|=?\1a){2}$/
                    851:     xa=xaa
                    852:  0: xa=xaa
                    853:  1: =xaa
                    854:     ** Failers
                    855: No match
                    856:     xa=xaaa
                    857: No match
                    858: 
                    859: /^(xa|=?\1a)+$/
                    860:     xa=xaa
                    861:  0: xa=xaa
                    862:  1: =xaa
                    863:     ** Failers
                    864: No match
                    865:     xa=xaaa
                    866: No match
                    867: 
                    868: /These are syntax tests from Perl 5.005/I
                    869: Capturing subpattern count = 0
                    870: No options
                    871: First char = 'T'
                    872: Need char = '5'
                    873: 
                    874: /a[b-a]/
                    875: Failed: range out of order in character class at offset 4
                    876: 
                    877: /a[]b/
                    878: Failed: missing terminating ] for character class at offset 4
                    879: 
                    880: /a[/
                    881: Failed: missing terminating ] for character class at offset 2
                    882: 
                    883: /*a/
                    884: Failed: nothing to repeat at offset 0
                    885: 
                    886: /(*)b/
                    887: Failed: nothing to repeat at offset 1
                    888: 
                    889: /abc)/
                    890: Failed: unmatched parentheses at offset 3
                    891: 
                    892: /(abc/
                    893: Failed: missing ) at offset 4
                    894: 
                    895: /a**/
                    896: Failed: nothing to repeat at offset 2
                    897: 
                    898: /)(/
                    899: Failed: unmatched parentheses at offset 0
                    900: 
                    901: /\1/
                    902: Failed: reference to non-existent subpattern at offset 2
                    903: 
                    904: /\2/
                    905: Failed: reference to non-existent subpattern at offset 2
                    906: 
                    907: /(a)|\2/
                    908: Failed: reference to non-existent subpattern at offset 6
                    909: 
                    910: /a[b-a]/Ii
                    911: Failed: range out of order in character class at offset 4
                    912: 
                    913: /a[]b/Ii
                    914: Failed: missing terminating ] for character class at offset 4
                    915: 
                    916: /a[/Ii
                    917: Failed: missing terminating ] for character class at offset 2
                    918: 
                    919: /*a/Ii
                    920: Failed: nothing to repeat at offset 0
                    921: 
                    922: /(*)b/Ii
                    923: Failed: nothing to repeat at offset 1
                    924: 
                    925: /abc)/Ii
                    926: Failed: unmatched parentheses at offset 3
                    927: 
                    928: /(abc/Ii
                    929: Failed: missing ) at offset 4
                    930: 
                    931: /a**/Ii
                    932: Failed: nothing to repeat at offset 2
                    933: 
                    934: /)(/Ii
                    935: Failed: unmatched parentheses at offset 0
                    936: 
                    937: /:(?:/
                    938: Failed: missing ) at offset 4
                    939: 
                    940: /(?<%)b/
                    941: Failed: unrecognized character after (?< at offset 3
                    942: 
                    943: /a(?{)b/
                    944: Failed: unrecognized character after (? or (?- at offset 3
                    945: 
                    946: /a(?{{})b/
                    947: Failed: unrecognized character after (? or (?- 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: /(?(1?)a|b)/
                    959: Failed: malformed number or name after (?( at offset 4
                    960: 
                    961: /[a[:xyz:/
                    962: Failed: missing terminating ] for character class at offset 8
                    963: 
                    964: /(?<=x+)y/
                    965: Failed: lookbehind assertion is not fixed length at offset 6
                    966: 
                    967: /a{37,17}/
                    968: Failed: numbers out of order in {} quantifier at offset 7
                    969: 
                    970: /abc/\
                    971: Failed: \ at end of pattern at offset 4
                    972: 
                    973: /abc/\i
                    974: Failed: \ at end of pattern at offset 4
                    975: 
                    976: /(a)bc(d)/I
                    977: Capturing subpattern count = 2
                    978: No options
                    979: First char = 'a'
                    980: Need char = 'd'
                    981:     abcd
                    982:  0: abcd
                    983:  1: a
                    984:  2: d
                    985:     abcd\C2
                    986:  0: abcd
                    987:  1: a
                    988:  2: d
                    989:  2C d (1)
                    990:     abcd\C5
                    991:  0: abcd
                    992:  1: a
                    993:  2: d
                    994: copy substring 5 failed -7
                    995: 
                    996: /(.{20})/I
                    997: Capturing subpattern count = 1
                    998: No options
                    999: No first char
                   1000: No need char
                   1001:     abcdefghijklmnopqrstuvwxyz
                   1002:  0: abcdefghijklmnopqrst
                   1003:  1: abcdefghijklmnopqrst
                   1004:     abcdefghijklmnopqrstuvwxyz\C1
                   1005:  0: abcdefghijklmnopqrst
                   1006:  1: abcdefghijklmnopqrst
                   1007:  1C abcdefghijklmnopqrst (20)
                   1008:     abcdefghijklmnopqrstuvwxyz\G1
                   1009:  0: abcdefghijklmnopqrst
                   1010:  1: abcdefghijklmnopqrst
                   1011:  1G abcdefghijklmnopqrst (20)
                   1012: 
                   1013: /(.{15})/I
                   1014: Capturing subpattern count = 1
                   1015: No options
                   1016: No first char
                   1017: No need char
                   1018:     abcdefghijklmnopqrstuvwxyz
                   1019:  0: abcdefghijklmno
                   1020:  1: abcdefghijklmno
                   1021:     abcdefghijklmnopqrstuvwxyz\C1\G1
                   1022:  0: abcdefghijklmno
                   1023:  1: abcdefghijklmno
                   1024:  1C abcdefghijklmno (15)
                   1025:  1G abcdefghijklmno (15)
                   1026: 
                   1027: /(.{16})/I
                   1028: Capturing subpattern count = 1
                   1029: No options
                   1030: No first char
                   1031: No need char
                   1032:     abcdefghijklmnopqrstuvwxyz
                   1033:  0: abcdefghijklmnop
                   1034:  1: abcdefghijklmnop
                   1035:     abcdefghijklmnopqrstuvwxyz\C1\G1\L
                   1036:  0: abcdefghijklmnop
                   1037:  1: abcdefghijklmnop
                   1038:  1C abcdefghijklmnop (16)
                   1039:  1G abcdefghijklmnop (16)
                   1040:  0L abcdefghijklmnop
                   1041:  1L abcdefghijklmnop
                   1042: 
                   1043: /^(a|(bc))de(f)/I
                   1044: Capturing subpattern count = 3
                   1045: Options: anchored
                   1046: No first char
                   1047: No need char
                   1048:     adef\G1\G2\G3\G4\L
                   1049:  0: adef
                   1050:  1: a
                   1051:  2: <unset>
                   1052:  3: f
                   1053:  1G a (1)
                   1054:  2G  (0)
                   1055:  3G f (1)
                   1056: get substring 4 failed -7
                   1057:  0L adef
                   1058:  1L a
                   1059:  2L 
                   1060:  3L f
                   1061:     bcdef\G1\G2\G3\G4\L
                   1062:  0: bcdef
                   1063:  1: bc
                   1064:  2: bc
                   1065:  3: f
                   1066:  1G bc (2)
                   1067:  2G bc (2)
                   1068:  3G f (1)
                   1069: get substring 4 failed -7
                   1070:  0L bcdef
                   1071:  1L bc
                   1072:  2L bc
                   1073:  3L f
                   1074:     adefghijk\C0
                   1075:  0: adef
                   1076:  1: a
                   1077:  2: <unset>
                   1078:  3: f
                   1079:  0C adef (4)
                   1080: 
                   1081: /^abc\00def/I
                   1082: Capturing subpattern count = 0
                   1083: Options: anchored
                   1084: No first char
                   1085: No need char
                   1086:     abc\00def\L\C0
                   1087:  0: abc\x00def
1.1.1.2   misho    1088:  0C abc\x00def (7)
1.1       misho    1089:  0L abc
                   1090: 
                   1091: /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
                   1092: )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
                   1093: )?)?)?)?)?)?)?)?)?otherword/I
                   1094: Capturing subpattern count = 8
                   1095: Contains explicit CR or LF match
                   1096: No options
                   1097: First char = 'w'
                   1098: Need char = 'd'
                   1099: 
                   1100: /.*X/IDZ
                   1101: ------------------------------------------------------------------
                   1102:         Bra
                   1103:         Any*
                   1104:         X
                   1105:         Ket
                   1106:         End
                   1107: ------------------------------------------------------------------
                   1108: Capturing subpattern count = 0
                   1109: No options
                   1110: First char at start or follows newline
                   1111: Need char = 'X'
                   1112: 
                   1113: /.*X/IDZs
                   1114: ------------------------------------------------------------------
                   1115:         Bra
                   1116:         AllAny*
                   1117:         X
                   1118:         Ket
                   1119:         End
                   1120: ------------------------------------------------------------------
                   1121: Capturing subpattern count = 0
                   1122: Options: anchored dotall
                   1123: No first char
                   1124: Need char = 'X'
                   1125: 
                   1126: /(.*X|^B)/IDZ
                   1127: ------------------------------------------------------------------
                   1128:         Bra
                   1129:         CBra 1
                   1130:         Any*
                   1131:         X
                   1132:         Alt
                   1133:         ^
                   1134:         B
                   1135:         Ket
                   1136:         Ket
                   1137:         End
                   1138: ------------------------------------------------------------------
                   1139: Capturing subpattern count = 1
                   1140: No options
                   1141: First char at start or follows newline
                   1142: No need char
                   1143: 
                   1144: /(.*X|^B)/IDZs
                   1145: ------------------------------------------------------------------
                   1146:         Bra
                   1147:         CBra 1
                   1148:         AllAny*
                   1149:         X
                   1150:         Alt
                   1151:         ^
                   1152:         B
                   1153:         Ket
                   1154:         Ket
                   1155:         End
                   1156: ------------------------------------------------------------------
                   1157: Capturing subpattern count = 1
                   1158: Options: anchored dotall
                   1159: No first char
                   1160: No need char
                   1161: 
                   1162: /(?s)(.*X|^B)/IDZ
                   1163: ------------------------------------------------------------------
                   1164:         Bra
                   1165:         CBra 1
                   1166:         AllAny*
                   1167:         X
                   1168:         Alt
                   1169:         ^
                   1170:         B
                   1171:         Ket
                   1172:         Ket
                   1173:         End
                   1174: ------------------------------------------------------------------
                   1175: Capturing subpattern count = 1
                   1176: Options: anchored dotall
                   1177: No first char
                   1178: No need char
                   1179: 
                   1180: /(?s:.*X|^B)/IDZ
                   1181: ------------------------------------------------------------------
                   1182:         Bra
                   1183:         Bra
                   1184:         AllAny*
                   1185:         X
                   1186:         Alt
                   1187:         ^
                   1188:         B
                   1189:         Ket
                   1190:         Ket
                   1191:         End
                   1192: ------------------------------------------------------------------
                   1193: Capturing subpattern count = 0
                   1194: Options: anchored
                   1195: No first char
                   1196: No need char
                   1197: 
                   1198: /\Biss\B/I+
                   1199: Capturing subpattern count = 0
1.1.1.4 ! misho    1200: Max lookbehind = 1
1.1       misho    1201: No options
                   1202: First char = 'i'
                   1203: Need char = 's'
                   1204:     Mississippi
                   1205:  0: iss
                   1206:  0+ issippi
                   1207: 
                   1208: /iss/IG+
                   1209: Capturing subpattern count = 0
                   1210: No options
                   1211: First char = 'i'
                   1212: Need char = 's'
                   1213:     Mississippi
                   1214:  0: iss
                   1215:  0+ issippi
                   1216:  0: iss
                   1217:  0+ ippi
                   1218: 
                   1219: /\Biss\B/IG+
                   1220: Capturing subpattern count = 0
1.1.1.4 ! misho    1221: Max lookbehind = 1
1.1       misho    1222: No options
                   1223: First char = 'i'
                   1224: Need char = 's'
                   1225:     Mississippi
                   1226:  0: iss
                   1227:  0+ issippi
                   1228: 
                   1229: /\Biss\B/Ig+
                   1230: Capturing subpattern count = 0
1.1.1.4 ! misho    1231: Max lookbehind = 1
1.1       misho    1232: No options
                   1233: First char = 'i'
                   1234: Need char = 's'
                   1235:     Mississippi
                   1236:  0: iss
                   1237:  0+ issippi
                   1238:  0: iss
                   1239:  0+ ippi
                   1240:     *** Failers
                   1241: No match
                   1242:     Mississippi\A
                   1243: No match
                   1244: 
                   1245: /(?<=[Ms])iss/Ig+
                   1246: Capturing subpattern count = 0
1.1.1.4 ! misho    1247: Max lookbehind = 1
1.1       misho    1248: No options
                   1249: First char = 'i'
                   1250: Need char = 's'
                   1251:     Mississippi
                   1252:  0: iss
                   1253:  0+ issippi
                   1254:  0: iss
                   1255:  0+ ippi
                   1256: 
                   1257: /(?<=[Ms])iss/IG+
                   1258: Capturing subpattern count = 0
1.1.1.4 ! misho    1259: Max lookbehind = 1
1.1       misho    1260: No options
                   1261: First char = 'i'
                   1262: Need char = 's'
                   1263:     Mississippi
                   1264:  0: iss
                   1265:  0+ issippi
                   1266: 
                   1267: /^iss/Ig+
                   1268: Capturing subpattern count = 0
                   1269: Options: anchored
                   1270: No first char
                   1271: No need char
                   1272:     ississippi
                   1273:  0: iss
                   1274:  0+ issippi
                   1275: 
                   1276: /.*iss/Ig+
                   1277: Capturing subpattern count = 0
                   1278: No options
                   1279: First char at start or follows newline
                   1280: Need char = 's'
                   1281:     abciss\nxyzisspqr
                   1282:  0: abciss
                   1283:  0+ \x0axyzisspqr
                   1284:  0: xyziss
                   1285:  0+ pqr
                   1286: 
                   1287: /.i./I+g
                   1288: Capturing subpattern count = 0
                   1289: No options
                   1290: No first char
                   1291: Need char = 'i'
                   1292:     Mississippi
                   1293:  0: Mis
                   1294:  0+ sissippi
                   1295:  0: sis
                   1296:  0+ sippi
                   1297:  0: sip
                   1298:  0+ pi
                   1299:     Mississippi\A
                   1300:  0: Mis
                   1301:  0+ sissippi
                   1302:  0: sis
                   1303:  0+ sippi
                   1304:  0: sip
                   1305:  0+ pi
                   1306:     Missouri river
                   1307:  0: Mis
                   1308:  0+ souri river
                   1309:  0: ri 
                   1310:  0+ river
                   1311:  0: riv
                   1312:  0+ er
                   1313:     Missouri river\A
                   1314:  0: Mis
                   1315:  0+ souri river
                   1316: 
                   1317: /^.is/I+g
                   1318: Capturing subpattern count = 0
                   1319: Options: anchored
                   1320: No first char
                   1321: No need char
                   1322:     Mississippi
                   1323:  0: Mis
                   1324:  0+ sissippi
                   1325: 
                   1326: /^ab\n/Ig+
                   1327: Capturing subpattern count = 0
                   1328: Contains explicit CR or LF match
                   1329: Options: anchored
                   1330: No first char
                   1331: No need char
                   1332:     ab\nab\ncd
                   1333:  0: ab\x0a
                   1334:  0+ ab\x0acd
                   1335: 
                   1336: /^ab\n/Img+
                   1337: Capturing subpattern count = 0
                   1338: Contains explicit CR or LF match
                   1339: Options: multiline
                   1340: First char at start or follows newline
1.1.1.2   misho    1341: Need char = \x0a
1.1       misho    1342:     ab\nab\ncd
                   1343:  0: ab\x0a
                   1344:  0+ ab\x0acd
                   1345:  0: ab\x0a
                   1346:  0+ cd
                   1347: 
                   1348: /abc/I
                   1349: Capturing subpattern count = 0
                   1350: No options
                   1351: First char = 'a'
                   1352: Need char = 'c'
                   1353: 
                   1354: /abc|bac/I
                   1355: Capturing subpattern count = 0
                   1356: No options
                   1357: No first char
                   1358: Need char = 'c'
                   1359: 
                   1360: /(abc|bac)/I
                   1361: Capturing subpattern count = 1
                   1362: No options
                   1363: No first char
                   1364: Need char = 'c'
                   1365: 
                   1366: /(abc|(c|dc))/I
                   1367: Capturing subpattern count = 2
                   1368: No options
                   1369: No first char
                   1370: Need char = 'c'
                   1371: 
                   1372: /(abc|(d|de)c)/I
                   1373: Capturing subpattern count = 2
                   1374: No options
                   1375: No first char
                   1376: Need char = 'c'
                   1377: 
                   1378: /a*/I
                   1379: Capturing subpattern count = 0
                   1380: No options
                   1381: No first char
                   1382: No need char
                   1383: 
                   1384: /a+/I
                   1385: Capturing subpattern count = 0
                   1386: No options
                   1387: First char = 'a'
                   1388: No need char
                   1389: 
                   1390: /(baa|a+)/I
                   1391: Capturing subpattern count = 1
                   1392: No options
                   1393: No first char
                   1394: Need char = 'a'
                   1395: 
                   1396: /a{0,3}/I
                   1397: Capturing subpattern count = 0
                   1398: No options
                   1399: No first char
                   1400: No need char
                   1401: 
                   1402: /baa{3,}/I
                   1403: Capturing subpattern count = 0
                   1404: No options
                   1405: First char = 'b'
                   1406: Need char = 'a'
                   1407: 
                   1408: /"([^\\"]+|\\.)*"/I
                   1409: Capturing subpattern count = 1
                   1410: No options
                   1411: First char = '"'
                   1412: Need char = '"'
                   1413: 
                   1414: /(abc|ab[cd])/I
                   1415: Capturing subpattern count = 1
                   1416: No options
                   1417: First char = 'a'
                   1418: No need char
                   1419: 
                   1420: /(a|.)/I
                   1421: Capturing subpattern count = 1
                   1422: No options
                   1423: No first char
                   1424: No need char
                   1425: 
                   1426: /a|ba|\w/I
                   1427: Capturing subpattern count = 0
                   1428: No options
                   1429: No first char
                   1430: No need char
                   1431: 
                   1432: /abc(?=pqr)/I
                   1433: Capturing subpattern count = 0
                   1434: No options
                   1435: First char = 'a'
                   1436: Need char = 'r'
                   1437: 
                   1438: /...(?<=abc)/I
                   1439: Capturing subpattern count = 0
1.1.1.4 ! misho    1440: Max lookbehind = 3
1.1       misho    1441: No options
                   1442: No first char
                   1443: No need char
                   1444: 
                   1445: /abc(?!pqr)/I
                   1446: Capturing subpattern count = 0
                   1447: No options
                   1448: First char = 'a'
                   1449: Need char = 'c'
                   1450: 
                   1451: /ab./I
                   1452: Capturing subpattern count = 0
                   1453: No options
                   1454: First char = 'a'
                   1455: Need char = 'b'
                   1456: 
                   1457: /ab[xyz]/I
                   1458: Capturing subpattern count = 0
                   1459: No options
                   1460: First char = 'a'
                   1461: Need char = 'b'
                   1462: 
                   1463: /abc*/I
                   1464: Capturing subpattern count = 0
                   1465: No options
                   1466: First char = 'a'
                   1467: Need char = 'b'
                   1468: 
                   1469: /ab.c*/I
                   1470: Capturing subpattern count = 0
                   1471: No options
                   1472: First char = 'a'
                   1473: Need char = 'b'
                   1474: 
                   1475: /a.c*/I
                   1476: Capturing subpattern count = 0
                   1477: No options
                   1478: First char = 'a'
                   1479: No need char
                   1480: 
                   1481: /.c*/I
                   1482: Capturing subpattern count = 0
                   1483: No options
                   1484: No first char
                   1485: No need char
                   1486: 
                   1487: /ac*/I
                   1488: Capturing subpattern count = 0
                   1489: No options
                   1490: First char = 'a'
                   1491: No need char
                   1492: 
                   1493: /(a.c*|b.c*)/I
                   1494: Capturing subpattern count = 1
                   1495: No options
                   1496: No first char
                   1497: No need char
                   1498: 
                   1499: /a.c*|aba/I
                   1500: Capturing subpattern count = 0
                   1501: No options
                   1502: First char = 'a'
                   1503: No need char
                   1504: 
                   1505: /.+a/I
                   1506: Capturing subpattern count = 0
                   1507: No options
                   1508: No first char
                   1509: Need char = 'a'
                   1510: 
                   1511: /(?=abcda)a.*/I
                   1512: Capturing subpattern count = 0
                   1513: No options
                   1514: First char = 'a'
                   1515: Need char = 'a'
                   1516: 
                   1517: /(?=a)a.*/I
                   1518: Capturing subpattern count = 0
                   1519: No options
                   1520: First char = 'a'
                   1521: No need char
                   1522: 
                   1523: /a(b)*/I
                   1524: Capturing subpattern count = 1
                   1525: No options
                   1526: First char = 'a'
                   1527: No need char
                   1528: 
                   1529: /a\d*/I
                   1530: Capturing subpattern count = 0
                   1531: No options
                   1532: First char = 'a'
                   1533: No need char
                   1534: 
                   1535: /ab\d*/I
                   1536: Capturing subpattern count = 0
                   1537: No options
                   1538: First char = 'a'
                   1539: Need char = 'b'
                   1540: 
                   1541: /a(\d)*/I
                   1542: Capturing subpattern count = 1
                   1543: No options
                   1544: First char = 'a'
                   1545: No need char
                   1546: 
                   1547: /abcde{0,0}/I
                   1548: Capturing subpattern count = 0
                   1549: No options
                   1550: First char = 'a'
                   1551: Need char = 'd'
                   1552: 
                   1553: /ab\d+/I
                   1554: Capturing subpattern count = 0
                   1555: No options
                   1556: First char = 'a'
                   1557: Need char = 'b'
                   1558: 
                   1559: /a(?(1)b)(.)/I
                   1560: Capturing subpattern count = 1
                   1561: No options
                   1562: First char = 'a'
                   1563: No need char
                   1564: 
                   1565: /a(?(1)bag|big)(.)/I
                   1566: Capturing subpattern count = 1
                   1567: No options
                   1568: First char = 'a'
                   1569: Need char = 'g'
                   1570: 
                   1571: /a(?(1)bag|big)*(.)/I
                   1572: Capturing subpattern count = 1
                   1573: No options
                   1574: First char = 'a'
                   1575: No need char
                   1576: 
                   1577: /a(?(1)bag|big)+(.)/I
                   1578: Capturing subpattern count = 1
                   1579: No options
                   1580: First char = 'a'
                   1581: Need char = 'g'
                   1582: 
                   1583: /a(?(1)b..|b..)(.)/I
                   1584: Capturing subpattern count = 1
                   1585: No options
                   1586: First char = 'a'
                   1587: Need char = 'b'
                   1588: 
                   1589: /ab\d{0}e/I
                   1590: Capturing subpattern count = 0
                   1591: No options
                   1592: First char = 'a'
                   1593: Need char = 'e'
                   1594: 
                   1595: /a?b?/I
                   1596: Capturing subpattern count = 0
                   1597: No options
                   1598: No first char
                   1599: No need char
                   1600:     a
                   1601:  0: a
                   1602:     b
                   1603:  0: b
                   1604:     ab
                   1605:  0: ab
                   1606:     \
                   1607:  0: 
                   1608:     *** Failers
                   1609:  0: 
                   1610:     \N
                   1611: No match
                   1612: 
                   1613: /|-/I
                   1614: Capturing subpattern count = 0
                   1615: No options
                   1616: No first char
                   1617: No need char
                   1618:     abcd
                   1619:  0: 
                   1620:     -abc
                   1621:  0: 
                   1622:     \Nab-c
                   1623:  0: -
                   1624:     *** Failers
                   1625:  0: 
                   1626:     \Nabc
                   1627: No match
                   1628: 
                   1629: /^.?abcd/IS
                   1630: Capturing subpattern count = 0
                   1631: Options: anchored
                   1632: No first char
                   1633: Need char = 'd'
                   1634: Subject length lower bound = 4
                   1635: No set of starting bytes
                   1636: 
                   1637: /\(             # ( at start
                   1638:   (?:           # Non-capturing bracket
                   1639:   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
                   1640:   |             # Or
                   1641:   (?R)          # Recurse - i.e. nested bracketed string
                   1642:   )*            # Zero or more contents
                   1643:   \)            # Closing )
                   1644:   /Ix
                   1645: Capturing subpattern count = 0
                   1646: Options: extended
                   1647: First char = '('
                   1648: Need char = ')'
                   1649:     (abcd)
                   1650:  0: (abcd)
                   1651:     (abcd)xyz
                   1652:  0: (abcd)
                   1653:     xyz(abcd)
                   1654:  0: (abcd)
                   1655:     (ab(xy)cd)pqr
                   1656:  0: (ab(xy)cd)
                   1657:     (ab(xycd)pqr
                   1658:  0: (xycd)
                   1659:     () abc ()
                   1660:  0: ()
                   1661:     12(abcde(fsh)xyz(foo(bar))lmno)89
                   1662:  0: (abcde(fsh)xyz(foo(bar))lmno)
                   1663:     *** Failers
                   1664: No match
                   1665:     abcd
                   1666: No match
                   1667:     abcd)
                   1668: No match
                   1669:     (abcd
                   1670: No match
                   1671: 
                   1672: /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
                   1673: Capturing subpattern count = 1
                   1674: Options: extended
                   1675: First char = '('
                   1676: Need char = ')'
                   1677:     (ab(xy)cd)pqr
                   1678:  0: (ab(xy)cd)
                   1679:  1: cd
                   1680:     1(abcd)(x(y)z)pqr
                   1681:  0: (abcd)
                   1682:  1: abcd
                   1683:  0: (x(y)z)
                   1684:  1: z
                   1685: 
                   1686: /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
                   1687: Capturing subpattern count = 0
                   1688: Options: extended
                   1689: First char = '('
                   1690: Need char = ')'
                   1691:     (abcd)
                   1692:  0: (abcd)
                   1693:     (ab(xy)cd)
                   1694:  0: (xy)
                   1695:     (a(b(c)d)e)
                   1696:  0: (c)
                   1697:     ((ab))
                   1698:  0: ((ab))
                   1699:     *** Failers
                   1700: No match
                   1701:     ()
                   1702: No match
                   1703: 
                   1704: /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
                   1705: Capturing subpattern count = 0
                   1706: Options: extended
                   1707: First char = '('
                   1708: Need char = ')'
                   1709:     ()
                   1710:  0: ()
                   1711:     12(abcde(fsh)xyz(foo(bar))lmno)89
                   1712:  0: (fsh)
                   1713: 
                   1714: /\(  ( (?>[^()]+) | (?R) )* \) /Ix
                   1715: Capturing subpattern count = 1
                   1716: Options: extended
                   1717: First char = '('
                   1718: Need char = ')'
                   1719:     (ab(xy)cd)
                   1720:  0: (ab(xy)cd)
                   1721:  1: cd
                   1722: 
                   1723: /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1724: Capturing subpattern count = 2
                   1725: Options: extended
                   1726: First char = '('
                   1727: Need char = ')'
                   1728:     (ab(xy)cd)
                   1729:  0: (ab(xy)cd)
                   1730:  1: ab(xy)cd
                   1731:  2: cd
                   1732: 
                   1733: /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1734: Capturing subpattern count = 3
                   1735: Options: extended
                   1736: First char = '('
                   1737: Need char = ')'
                   1738:     (ab(xy)cd)
                   1739:  0: (ab(xy)cd)
                   1740:  1: <unset>
                   1741:  2: ab(xy)cd
                   1742:  3: cd
                   1743:     (123ab(xy)cd)
                   1744:  0: (123ab(xy)cd)
                   1745:  1: 123
                   1746:  2: ab(xy)cd
                   1747:  3: cd
                   1748: 
                   1749: /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
                   1750: Capturing subpattern count = 3
                   1751: Options: extended
                   1752: First char = '('
                   1753: Need char = ')'
                   1754:     (ab(xy)cd)
                   1755:  0: (ab(xy)cd)
                   1756:  1: ab(xy)cd
                   1757:  2: <unset>
                   1758:  3: cd
                   1759:     (123ab(xy)cd)
                   1760:  0: (123ab(xy)cd)
                   1761:  1: 123ab(xy)cd
                   1762:  2: 123
                   1763:  3: cd
                   1764: 
                   1765: /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
                   1766: Capturing subpattern count = 11
                   1767: Options: extended
                   1768: First char = '('
                   1769: Need char = ')'
                   1770:     (ab(xy)cd)
                   1771:  0: (ab(xy)cd)
                   1772:  1: ab(xy)cd
                   1773:  2: ab(xy)cd
                   1774:  3: ab(xy)cd
                   1775:  4: ab(xy)cd
                   1776:  5: ab(xy)cd
                   1777:  6: ab(xy)cd
                   1778:  7: ab(xy)cd
                   1779:  8: ab(xy)cd
                   1780:  9: ab(xy)cd
                   1781: 10: ab(xy)cd
                   1782: 11: cd
                   1783: 
                   1784: /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
                   1785: Capturing subpattern count = 3
                   1786: Options: extended
                   1787: First char = '('
                   1788: Need char = ')'
                   1789:     (abcd(xyz<p>qrs)123)
                   1790:  0: (abcd(xyz<p>qrs)123)
                   1791:  1: abcd(xyz<p>qrs)123
                   1792:  2: 123
                   1793: 
                   1794: /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
                   1795: Capturing subpattern count = 3
                   1796: Options: extended
                   1797: First char = '('
                   1798: Need char = ')'
                   1799:     (ab(cd)ef)
                   1800:  0: (ab(cd)ef)
                   1801:  1: ab(cd)ef
                   1802:  2: ef
                   1803:  3: (cd)
                   1804:     (ab(cd(ef)gh)ij)
                   1805:  0: (ab(cd(ef)gh)ij)
                   1806:  1: ab(cd(ef)gh)ij
                   1807:  2: ij
                   1808:  3: (cd(ef)gh)
                   1809: 
                   1810: /^[[:alnum:]]/DZ
                   1811: ------------------------------------------------------------------
                   1812:         Bra
                   1813:         ^
                   1814:         [0-9A-Za-z]
                   1815:         Ket
                   1816:         End
                   1817: ------------------------------------------------------------------
                   1818: Capturing subpattern count = 0
                   1819: Options: anchored
                   1820: No first char
                   1821: No need char
                   1822: 
                   1823: /^[[:^alnum:]]/DZ
                   1824: ------------------------------------------------------------------
                   1825:         Bra
                   1826:         ^
                   1827:         [\x00-/:-@[-`{-\xff] (neg)
                   1828:         Ket
                   1829:         End
                   1830: ------------------------------------------------------------------
                   1831: Capturing subpattern count = 0
                   1832: Options: anchored
                   1833: No first char
                   1834: No need char
                   1835: 
                   1836: /^[[:alpha:]]/DZ
                   1837: ------------------------------------------------------------------
                   1838:         Bra
                   1839:         ^
                   1840:         [A-Za-z]
                   1841:         Ket
                   1842:         End
                   1843: ------------------------------------------------------------------
                   1844: Capturing subpattern count = 0
                   1845: Options: anchored
                   1846: No first char
                   1847: No need char
                   1848: 
                   1849: /^[[:^alpha:]]/DZ
                   1850: ------------------------------------------------------------------
                   1851:         Bra
                   1852:         ^
                   1853:         [\x00-@[-`{-\xff] (neg)
                   1854:         Ket
                   1855:         End
                   1856: ------------------------------------------------------------------
                   1857: Capturing subpattern count = 0
                   1858: Options: anchored
                   1859: No first char
                   1860: No need char
                   1861: 
                   1862: /[_[:alpha:]]/IS
                   1863: Capturing subpattern count = 0
                   1864: No options
                   1865: No first char
                   1866: No need char
                   1867: Subject length lower bound = 1
                   1868: 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 
                   1869:   _ 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 
                   1870: 
                   1871: /^[[:ascii:]]/DZ
                   1872: ------------------------------------------------------------------
                   1873:         Bra
                   1874:         ^
                   1875:         [\x00-\x7f]
                   1876:         Ket
                   1877:         End
                   1878: ------------------------------------------------------------------
                   1879: Capturing subpattern count = 0
                   1880: Options: anchored
                   1881: No first char
                   1882: No need char
                   1883: 
                   1884: /^[[:^ascii:]]/DZ
                   1885: ------------------------------------------------------------------
                   1886:         Bra
                   1887:         ^
                   1888:         [\x80-\xff] (neg)
                   1889:         Ket
                   1890:         End
                   1891: ------------------------------------------------------------------
                   1892: Capturing subpattern count = 0
                   1893: Options: anchored
                   1894: No first char
                   1895: No need char
                   1896: 
                   1897: /^[[:blank:]]/DZ
                   1898: ------------------------------------------------------------------
                   1899:         Bra
                   1900:         ^
                   1901:         [\x09 ]
                   1902:         Ket
                   1903:         End
                   1904: ------------------------------------------------------------------
                   1905: Capturing subpattern count = 0
                   1906: Options: anchored
                   1907: No first char
                   1908: No need char
                   1909: 
                   1910: /^[[:^blank:]]/DZ
                   1911: ------------------------------------------------------------------
                   1912:         Bra
                   1913:         ^
                   1914:         [\x00-\x08\x0a-\x1f!-\xff] (neg)
                   1915:         Ket
                   1916:         End
                   1917: ------------------------------------------------------------------
                   1918: Capturing subpattern count = 0
                   1919: Options: anchored
                   1920: No first char
                   1921: No need char
                   1922: 
                   1923: /[\n\x0b\x0c\x0d[:blank:]]/IS
                   1924: Capturing subpattern count = 0
                   1925: Contains explicit CR or LF match
                   1926: No options
                   1927: No first char
                   1928: No need char
                   1929: Subject length lower bound = 1
                   1930: Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 
                   1931: 
                   1932: /^[[:cntrl:]]/DZ
                   1933: ------------------------------------------------------------------
                   1934:         Bra
                   1935:         ^
                   1936:         [\x00-\x1f\x7f]
                   1937:         Ket
                   1938:         End
                   1939: ------------------------------------------------------------------
                   1940: Capturing subpattern count = 0
                   1941: Options: anchored
                   1942: No first char
                   1943: No need char
                   1944: 
                   1945: /^[[:digit:]]/DZ
                   1946: ------------------------------------------------------------------
                   1947:         Bra
                   1948:         ^
                   1949:         [0-9]
                   1950:         Ket
                   1951:         End
                   1952: ------------------------------------------------------------------
                   1953: Capturing subpattern count = 0
                   1954: Options: anchored
                   1955: No first char
                   1956: No need char
                   1957: 
                   1958: /^[[:graph:]]/DZ
                   1959: ------------------------------------------------------------------
                   1960:         Bra
                   1961:         ^
                   1962:         [!-~]
                   1963:         Ket
                   1964:         End
                   1965: ------------------------------------------------------------------
                   1966: Capturing subpattern count = 0
                   1967: Options: anchored
                   1968: No first char
                   1969: No need char
                   1970: 
                   1971: /^[[:lower:]]/DZ
                   1972: ------------------------------------------------------------------
                   1973:         Bra
                   1974:         ^
                   1975:         [a-z]
                   1976:         Ket
                   1977:         End
                   1978: ------------------------------------------------------------------
                   1979: Capturing subpattern count = 0
                   1980: Options: anchored
                   1981: No first char
                   1982: No need char
                   1983: 
                   1984: /^[[:print:]]/DZ
                   1985: ------------------------------------------------------------------
                   1986:         Bra
                   1987:         ^
                   1988:         [ -~]
                   1989:         Ket
                   1990:         End
                   1991: ------------------------------------------------------------------
                   1992: Capturing subpattern count = 0
                   1993: Options: anchored
                   1994: No first char
                   1995: No need char
                   1996: 
                   1997: /^[[:punct:]]/DZ
                   1998: ------------------------------------------------------------------
                   1999:         Bra
                   2000:         ^
                   2001:         [!-/:-@[-`{-~]
                   2002:         Ket
                   2003:         End
                   2004: ------------------------------------------------------------------
                   2005: Capturing subpattern count = 0
                   2006: Options: anchored
                   2007: No first char
                   2008: No need char
                   2009: 
                   2010: /^[[:space:]]/DZ
                   2011: ------------------------------------------------------------------
                   2012:         Bra
                   2013:         ^
                   2014:         [\x09-\x0d ]
                   2015:         Ket
                   2016:         End
                   2017: ------------------------------------------------------------------
                   2018: Capturing subpattern count = 0
                   2019: Options: anchored
                   2020: No first char
                   2021: No need char
                   2022: 
                   2023: /^[[:upper:]]/DZ
                   2024: ------------------------------------------------------------------
                   2025:         Bra
                   2026:         ^
                   2027:         [A-Z]
                   2028:         Ket
                   2029:         End
                   2030: ------------------------------------------------------------------
                   2031: Capturing subpattern count = 0
                   2032: Options: anchored
                   2033: No first char
                   2034: No need char
                   2035: 
                   2036: /^[[:xdigit:]]/DZ
                   2037: ------------------------------------------------------------------
                   2038:         Bra
                   2039:         ^
                   2040:         [0-9A-Fa-f]
                   2041:         Ket
                   2042:         End
                   2043: ------------------------------------------------------------------
                   2044: Capturing subpattern count = 0
                   2045: Options: anchored
                   2046: No first char
                   2047: No need char
                   2048: 
                   2049: /^[[:word:]]/DZ
                   2050: ------------------------------------------------------------------
                   2051:         Bra
                   2052:         ^
                   2053:         [0-9A-Z_a-z]
                   2054:         Ket
                   2055:         End
                   2056: ------------------------------------------------------------------
                   2057: Capturing subpattern count = 0
                   2058: Options: anchored
                   2059: No first char
                   2060: No need char
                   2061: 
                   2062: /^[[:^cntrl:]]/DZ
                   2063: ------------------------------------------------------------------
                   2064:         Bra
                   2065:         ^
                   2066:         [ -~\x80-\xff] (neg)
                   2067:         Ket
                   2068:         End
                   2069: ------------------------------------------------------------------
                   2070: Capturing subpattern count = 0
                   2071: Options: anchored
                   2072: No first char
                   2073: No need char
                   2074: 
                   2075: /^[12[:^digit:]]/DZ
                   2076: ------------------------------------------------------------------
                   2077:         Bra
                   2078:         ^
                   2079:         [\x00-/12:-\xff] (neg)
                   2080:         Ket
                   2081:         End
                   2082: ------------------------------------------------------------------
                   2083: Capturing subpattern count = 0
                   2084: Options: anchored
                   2085: No first char
                   2086: No need char
                   2087: 
                   2088: /^[[:^blank:]]/DZ
                   2089: ------------------------------------------------------------------
                   2090:         Bra
                   2091:         ^
                   2092:         [\x00-\x08\x0a-\x1f!-\xff] (neg)
                   2093:         Ket
                   2094:         End
                   2095: ------------------------------------------------------------------
                   2096: Capturing subpattern count = 0
                   2097: Options: anchored
                   2098: No first char
                   2099: No need char
                   2100: 
                   2101: /[01[:alpha:]%]/DZ
                   2102: ------------------------------------------------------------------
                   2103:         Bra
                   2104:         [%01A-Za-z]
                   2105:         Ket
                   2106:         End
                   2107: ------------------------------------------------------------------
                   2108: Capturing subpattern count = 0
                   2109: No options
                   2110: No first char
                   2111: No need char
                   2112: 
                   2113: /[[.ch.]]/I
                   2114: Failed: POSIX collating elements are not supported at offset 1
                   2115: 
                   2116: /[[=ch=]]/I
                   2117: Failed: POSIX collating elements are not supported at offset 1
                   2118: 
                   2119: /[[:rhubarb:]]/I
                   2120: Failed: unknown POSIX class name at offset 3
                   2121: 
                   2122: /[[:upper:]]/Ii
                   2123: Capturing subpattern count = 0
                   2124: Options: caseless
                   2125: No first char
                   2126: No need char
                   2127:     A
                   2128:  0: A
                   2129:     a
                   2130:  0: a
                   2131: 
                   2132: /[[:lower:]]/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: /((?-i)[[:lower:]])[[:lower:]]/Ii
                   2143: Capturing subpattern count = 1
                   2144: Options: caseless
                   2145: No first char
                   2146: No need char
                   2147:     ab
                   2148:  0: ab
                   2149:  1: a
                   2150:     aB
                   2151:  0: aB
                   2152:  1: a
                   2153:     *** Failers
                   2154:  0: ai
                   2155:  1: a
                   2156:     Ab
                   2157: No match
                   2158:     AB
                   2159: No match
                   2160: 
                   2161: /[\200-\110]/I
                   2162: Failed: range out of order in character class at offset 9
                   2163: 
                   2164: /^(?(0)f|b)oo/I
                   2165: Failed: invalid condition (?(0) at offset 6
                   2166: 
                   2167: /This one's here because of the large output vector needed/I
                   2168: Capturing subpattern count = 0
                   2169: No options
                   2170: First char = 'T'
                   2171: Need char = 'd'
                   2172: 
                   2173: /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
                   2174: Capturing subpattern count = 271
                   2175: Max back reference = 270
                   2176: No options
                   2177: No first char
                   2178: No need char
                   2179:     \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
                   2180:  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
                   2181:  1: 1 
                   2182:  2: 2 
                   2183:  3: 3 
                   2184:  4: 4 
                   2185:  5: 5 
                   2186:  6: 6 
                   2187:  7: 7 
                   2188:  8: 8 
                   2189:  9: 9 
                   2190: 10: 10 
                   2191: 11: 11 
                   2192: 12: 12 
                   2193: 13: 13 
                   2194: 14: 14 
                   2195: 15: 15 
                   2196: 16: 16 
                   2197: 17: 17 
                   2198: 18: 18 
                   2199: 19: 19 
                   2200: 20: 20 
                   2201: 21: 21 
                   2202: 22: 22 
                   2203: 23: 23 
                   2204: 24: 24 
                   2205: 25: 25 
                   2206: 26: 26 
                   2207: 27: 27 
                   2208: 28: 28 
                   2209: 29: 29 
                   2210: 30: 30 
                   2211: 31: 31 
                   2212: 32: 32 
                   2213: 33: 33 
                   2214: 34: 34 
                   2215: 35: 35 
                   2216: 36: 36 
                   2217: 37: 37 
                   2218: 38: 38 
                   2219: 39: 39 
                   2220: 40: 40 
                   2221: 41: 41 
                   2222: 42: 42 
                   2223: 43: 43 
                   2224: 44: 44 
                   2225: 45: 45 
                   2226: 46: 46 
                   2227: 47: 47 
                   2228: 48: 48 
                   2229: 49: 49 
                   2230: 50: 50 
                   2231: 51: 51 
                   2232: 52: 52 
                   2233: 53: 53 
                   2234: 54: 54 
                   2235: 55: 55 
                   2236: 56: 56 
                   2237: 57: 57 
                   2238: 58: 58 
                   2239: 59: 59 
                   2240: 60: 60 
                   2241: 61: 61 
                   2242: 62: 62 
                   2243: 63: 63 
                   2244: 64: 64 
                   2245: 65: 65 
                   2246: 66: 66 
                   2247: 67: 67 
                   2248: 68: 68 
                   2249: 69: 69 
                   2250: 70: 70 
                   2251: 71: 71 
                   2252: 72: 72 
                   2253: 73: 73 
                   2254: 74: 74 
                   2255: 75: 75 
                   2256: 76: 76 
                   2257: 77: 77 
                   2258: 78: 78 
                   2259: 79: 79 
                   2260: 80: 80 
                   2261: 81: 81 
                   2262: 82: 82 
                   2263: 83: 83 
                   2264: 84: 84 
                   2265: 85: 85 
                   2266: 86: 86 
                   2267: 87: 87 
                   2268: 88: 88 
                   2269: 89: 89 
                   2270: 90: 90 
                   2271: 91: 91 
                   2272: 92: 92 
                   2273: 93: 93 
                   2274: 94: 94 
                   2275: 95: 95 
                   2276: 96: 96 
                   2277: 97: 97 
                   2278: 98: 98 
                   2279: 99: 99 
                   2280: 100: 100 
                   2281: 101: 101 
                   2282: 102: 102 
                   2283: 103: 103 
                   2284: 104: 104 
                   2285: 105: 105 
                   2286: 106: 106 
                   2287: 107: 107 
                   2288: 108: 108 
                   2289: 109: 109 
                   2290: 110: 110 
                   2291: 111: 111 
                   2292: 112: 112 
                   2293: 113: 113 
                   2294: 114: 114 
                   2295: 115: 115 
                   2296: 116: 116 
                   2297: 117: 117 
                   2298: 118: 118 
                   2299: 119: 119 
                   2300: 120: 120 
                   2301: 121: 121 
                   2302: 122: 122 
                   2303: 123: 123 
                   2304: 124: 124 
                   2305: 125: 125 
                   2306: 126: 126 
                   2307: 127: 127 
                   2308: 128: 128 
                   2309: 129: 129 
                   2310: 130: 130 
                   2311: 131: 131 
                   2312: 132: 132 
                   2313: 133: 133 
                   2314: 134: 134 
                   2315: 135: 135 
                   2316: 136: 136 
                   2317: 137: 137 
                   2318: 138: 138 
                   2319: 139: 139 
                   2320: 140: 140 
                   2321: 141: 141 
                   2322: 142: 142 
                   2323: 143: 143 
                   2324: 144: 144 
                   2325: 145: 145 
                   2326: 146: 146 
                   2327: 147: 147 
                   2328: 148: 148 
                   2329: 149: 149 
                   2330: 150: 150 
                   2331: 151: 151 
                   2332: 152: 152 
                   2333: 153: 153 
                   2334: 154: 154 
                   2335: 155: 155 
                   2336: 156: 156 
                   2337: 157: 157 
                   2338: 158: 158 
                   2339: 159: 159 
                   2340: 160: 160 
                   2341: 161: 161 
                   2342: 162: 162 
                   2343: 163: 163 
                   2344: 164: 164 
                   2345: 165: 165 
                   2346: 166: 166 
                   2347: 167: 167 
                   2348: 168: 168 
                   2349: 169: 169 
                   2350: 170: 170 
                   2351: 171: 171 
                   2352: 172: 172 
                   2353: 173: 173 
                   2354: 174: 174 
                   2355: 175: 175 
                   2356: 176: 176 
                   2357: 177: 177 
                   2358: 178: 178 
                   2359: 179: 179 
                   2360: 180: 180 
                   2361: 181: 181 
                   2362: 182: 182 
                   2363: 183: 183 
                   2364: 184: 184 
                   2365: 185: 185 
                   2366: 186: 186 
                   2367: 187: 187 
                   2368: 188: 188 
                   2369: 189: 189 
                   2370: 190: 190 
                   2371: 191: 191 
                   2372: 192: 192 
                   2373: 193: 193 
                   2374: 194: 194 
                   2375: 195: 195 
                   2376: 196: 196 
                   2377: 197: 197 
                   2378: 198: 198 
                   2379: 199: 199 
                   2380: 200: 200 
                   2381: 201: 201 
                   2382: 202: 202 
                   2383: 203: 203 
                   2384: 204: 204 
                   2385: 205: 205 
                   2386: 206: 206 
                   2387: 207: 207 
                   2388: 208: 208 
                   2389: 209: 209 
                   2390: 210: 210 
                   2391: 211: 211 
                   2392: 212: 212 
                   2393: 213: 213 
                   2394: 214: 214 
                   2395: 215: 215 
                   2396: 216: 216 
                   2397: 217: 217 
                   2398: 218: 218 
                   2399: 219: 219 
                   2400: 220: 220 
                   2401: 221: 221 
                   2402: 222: 222 
                   2403: 223: 223 
                   2404: 224: 224 
                   2405: 225: 225 
                   2406: 226: 226 
                   2407: 227: 227 
                   2408: 228: 228 
                   2409: 229: 229 
                   2410: 230: 230 
                   2411: 231: 231 
                   2412: 232: 232 
                   2413: 233: 233 
                   2414: 234: 234 
                   2415: 235: 235 
                   2416: 236: 236 
                   2417: 237: 237 
                   2418: 238: 238 
                   2419: 239: 239 
                   2420: 240: 240 
                   2421: 241: 241 
                   2422: 242: 242 
                   2423: 243: 243 
                   2424: 244: 244 
                   2425: 245: 245 
                   2426: 246: 246 
                   2427: 247: 247 
                   2428: 248: 248 
                   2429: 249: 249 
                   2430: 250: 250 
                   2431: 251: 251 
                   2432: 252: 252 
                   2433: 253: 253 
                   2434: 254: 254 
                   2435: 255: 255 
                   2436: 256: 256 
                   2437: 257: 257 
                   2438: 258: 258 
                   2439: 259: 259 
                   2440: 260: 260 
                   2441: 261: 261 
                   2442: 262: 262 
                   2443: 263: 263 
                   2444: 264: 264 
                   2445: 265: 265 
                   2446: 266: 266 
                   2447: 267: 267 
                   2448: 268: 268 
                   2449: 269: 269 
                   2450: 270: ABC
                   2451: 271: ABC
                   2452: 
                   2453: /This one's here because Perl does this differently and PCRE can't at present/I
                   2454: Capturing subpattern count = 0
                   2455: No options
                   2456: First char = 'T'
                   2457: Need char = 't'
                   2458: 
                   2459: /(main(O)?)+/I
                   2460: Capturing subpattern count = 2
                   2461: No options
                   2462: First char = 'm'
                   2463: Need char = 'n'
                   2464:     mainmain
                   2465:  0: mainmain
                   2466:  1: main
                   2467:     mainOmain
                   2468:  0: mainOmain
                   2469:  1: main
                   2470:  2: O
                   2471: 
                   2472: /These are all cases where Perl does it differently (nested captures)/I
                   2473: Capturing subpattern count = 1
                   2474: No options
                   2475: First char = 'T'
                   2476: Need char = 's'
                   2477: 
                   2478: /^(a(b)?)+$/I
                   2479: Capturing subpattern count = 2
                   2480: Options: anchored
                   2481: No first char
                   2482: No need char
                   2483:     aba
                   2484:  0: aba
                   2485:  1: a
                   2486:  2: b
                   2487: 
                   2488: /^(aa(bb)?)+$/I
                   2489: Capturing subpattern count = 2
                   2490: Options: anchored
                   2491: No first char
                   2492: No need char
                   2493:     aabbaa
                   2494:  0: aabbaa
                   2495:  1: aa
                   2496:  2: bb
                   2497: 
                   2498: /^(aa|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(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 = 1
                   2520: Options: anchored
                   2521: No first char
                   2522: No need char
                   2523:     aabbaa
                   2524:  0: aabbaa
                   2525:  1: bb
                   2526: 
                   2527: /^(aa(b(b))?)+$/I
                   2528: Capturing subpattern count = 3
                   2529: Options: anchored
                   2530: No first char
                   2531: No need char
                   2532:     aabbaa
                   2533:  0: aabbaa
                   2534:  1: aa
                   2535:  2: bb
                   2536:  3: b
                   2537: 
                   2538: /^(?:aa(b(b))?)+$/I
                   2539: Capturing subpattern count = 2
                   2540: Options: anchored
                   2541: No first char
                   2542: No need char
                   2543:     aabbaa
                   2544:  0: aabbaa
                   2545:  1: bb
                   2546:  2: b
                   2547: 
                   2548: /^(?:aa(b(?:b))?)+$/I
                   2549: Capturing subpattern count = 1
                   2550: Options: anchored
                   2551: No first char
                   2552: No need char
                   2553:     aabbaa
                   2554:  0: aabbaa
                   2555:  1: bb
                   2556: 
                   2557: /^(?:aa(bb(?:b))?)+$/I
                   2558: Capturing subpattern count = 1
                   2559: Options: anchored
                   2560: No first char
                   2561: No need char
                   2562:     aabbbaa
                   2563:  0: aabbbaa
                   2564:  1: bbb
                   2565: 
                   2566: /^(?:aa(b(?:bb))?)+$/I
                   2567: Capturing subpattern count = 1
                   2568: Options: anchored
                   2569: No first char
                   2570: No need char
                   2571:     aabbbaa
                   2572:  0: aabbbaa
                   2573:  1: bbb
                   2574: 
                   2575: /^(?:aa(?:b(b))?)+$/I
                   2576: Capturing subpattern count = 1
                   2577: Options: anchored
                   2578: No first char
                   2579: No need char
                   2580:     aabbaa
                   2581:  0: aabbaa
                   2582:  1: b
                   2583: 
                   2584: /^(?:aa(?:b(bb))?)+$/I
                   2585: Capturing subpattern count = 1
                   2586: Options: anchored
                   2587: No first char
                   2588: No need char
                   2589:     aabbbaa
                   2590:  0: aabbbaa
                   2591:  1: bb
                   2592: 
                   2593: /^(aa(b(bb))?)+$/I
                   2594: Capturing subpattern count = 3
                   2595: Options: anchored
                   2596: No first char
                   2597: No need char
                   2598:     aabbbaa
                   2599:  0: aabbbaa
                   2600:  1: aa
                   2601:  2: bbb
                   2602:  3: bb
                   2603: 
                   2604: /^(aa(bb(bb))?)+$/I
                   2605: Capturing subpattern count = 3
                   2606: Options: anchored
                   2607: No first char
                   2608: No need char
                   2609:     aabbbbaa
                   2610:  0: aabbbbaa
                   2611:  1: aa
                   2612:  2: bbbb
                   2613:  3: bb
                   2614: 
                   2615: /--------------------------------------------------------------------/I
                   2616: Capturing subpattern count = 0
                   2617: No options
                   2618: First char = '-'
                   2619: Need char = '-'
                   2620: 
                   2621: /#/IxDZ
                   2622: ------------------------------------------------------------------
                   2623:         Bra
                   2624:         Ket
                   2625:         End
                   2626: ------------------------------------------------------------------
                   2627: Capturing subpattern count = 0
                   2628: Options: extended
                   2629: No first char
                   2630: No need char
                   2631: 
                   2632: /a#/IxDZ
                   2633: ------------------------------------------------------------------
                   2634:         Bra
                   2635:         a
                   2636:         Ket
                   2637:         End
                   2638: ------------------------------------------------------------------
                   2639: Capturing subpattern count = 0
                   2640: Options: extended
                   2641: First char = 'a'
                   2642: No need char
                   2643: 
                   2644: /[\s]/DZ
                   2645: ------------------------------------------------------------------
                   2646:         Bra
                   2647:         [\x09\x0a\x0c\x0d ]
                   2648:         Ket
                   2649:         End
                   2650: ------------------------------------------------------------------
                   2651: Capturing subpattern count = 0
                   2652: No options
                   2653: No first char
                   2654: No need char
                   2655: 
                   2656: /[\S]/DZ
                   2657: ------------------------------------------------------------------
                   2658:         Bra
                   2659:         [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
                   2660:         Ket
                   2661:         End
                   2662: ------------------------------------------------------------------
                   2663: Capturing subpattern count = 0
                   2664: No options
                   2665: No first char
                   2666: No need char
                   2667: 
                   2668: /a(?i)b/DZ
                   2669: ------------------------------------------------------------------
                   2670:         Bra
                   2671:         a
                   2672:      /i b
                   2673:         Ket
                   2674:         End
                   2675: ------------------------------------------------------------------
                   2676: Capturing subpattern count = 0
                   2677: No options
                   2678: First char = 'a'
                   2679: Need char = 'b' (caseless)
                   2680:     ab
                   2681:  0: ab
                   2682:     aB
                   2683:  0: aB
                   2684:     *** Failers
                   2685: No match
                   2686:     AB
                   2687: No match
                   2688: 
                   2689: /(a(?i)b)/DZ
                   2690: ------------------------------------------------------------------
                   2691:         Bra
                   2692:         CBra 1
                   2693:         a
                   2694:      /i b
                   2695:         Ket
                   2696:         Ket
                   2697:         End
                   2698: ------------------------------------------------------------------
                   2699: Capturing subpattern count = 1
                   2700: No options
                   2701: First char = 'a'
                   2702: Need char = 'b' (caseless)
                   2703:     ab
                   2704:  0: ab
                   2705:  1: ab
                   2706:     aB
                   2707:  0: aB
                   2708:  1: aB
                   2709:     *** Failers
                   2710: No match
                   2711:     AB
                   2712: No match
                   2713: 
                   2714: /   (?i)abc/IxDZ
                   2715: ------------------------------------------------------------------
                   2716:         Bra
                   2717:      /i abc
                   2718:         Ket
                   2719:         End
                   2720: ------------------------------------------------------------------
                   2721: Capturing subpattern count = 0
                   2722: Options: caseless extended
                   2723: First char = 'a' (caseless)
                   2724: Need char = 'c' (caseless)
                   2725: 
                   2726: /#this is a comment
                   2727:   (?i)abc/IxDZ
                   2728: ------------------------------------------------------------------
                   2729:         Bra
                   2730:      /i abc
                   2731:         Ket
                   2732:         End
                   2733: ------------------------------------------------------------------
                   2734: Capturing subpattern count = 0
                   2735: Options: caseless extended
                   2736: First char = 'a' (caseless)
                   2737: Need char = 'c' (caseless)
                   2738: 
                   2739: /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
                   2740: ------------------------------------------------------------------
                   2741:         Bra
                   2742:         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
                   2743:         Ket
                   2744:         End
                   2745: ------------------------------------------------------------------
                   2746: Capturing subpattern count = 0
                   2747: No options
                   2748: First char = '1'
                   2749: Need char = '0'
                   2750: 
                   2751: /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
                   2752: ------------------------------------------------------------------
                   2753:         Bra
                   2754:         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
                   2755:         Ket
                   2756:         End
                   2757: ------------------------------------------------------------------
                   2758: Capturing subpattern count = 0
                   2759: No options
                   2760: First char = '1'
                   2761: Need char = '0'
                   2762: 
                   2763: /\Q\E/DZ
                   2764: ------------------------------------------------------------------
                   2765:         Bra
                   2766:         Ket
                   2767:         End
                   2768: ------------------------------------------------------------------
                   2769: Capturing subpattern count = 0
                   2770: No options
                   2771: No first char
                   2772: No need char
                   2773:     \
                   2774:  0: 
                   2775: 
                   2776: /\Q\Ex/DZ
                   2777: ------------------------------------------------------------------
                   2778:         Bra
                   2779:         x
                   2780:         Ket
                   2781:         End
                   2782: ------------------------------------------------------------------
                   2783: Capturing subpattern count = 0
                   2784: No options
                   2785: First char = 'x'
                   2786: No need char
                   2787: 
                   2788: / \Q\E/DZ
                   2789: ------------------------------------------------------------------
                   2790:         Bra
                   2791:          
                   2792:         Ket
                   2793:         End
                   2794: ------------------------------------------------------------------
                   2795: Capturing subpattern count = 0
                   2796: No options
                   2797: First char = ' '
                   2798: No need char
                   2799: 
                   2800: /a\Q\E/DZ
                   2801: ------------------------------------------------------------------
                   2802:         Bra
                   2803:         a
                   2804:         Ket
                   2805:         End
                   2806: ------------------------------------------------------------------
                   2807: Capturing subpattern count = 0
                   2808: No options
                   2809: First char = 'a'
                   2810: No need char
                   2811:   abc
                   2812:  0: a
                   2813:   bca
                   2814:  0: a
                   2815:   bac
                   2816:  0: a
                   2817: 
                   2818: /a\Q\Eb/DZ
                   2819: ------------------------------------------------------------------
                   2820:         Bra
                   2821:         ab
                   2822:         Ket
                   2823:         End
                   2824: ------------------------------------------------------------------
                   2825: Capturing subpattern count = 0
                   2826: No options
                   2827: First char = 'a'
                   2828: Need char = 'b'
                   2829:   abc
                   2830:  0: ab
                   2831: 
                   2832: /\Q\Eabc/DZ
                   2833: ------------------------------------------------------------------
                   2834:         Bra
                   2835:         abc
                   2836:         Ket
                   2837:         End
                   2838: ------------------------------------------------------------------
                   2839: Capturing subpattern count = 0
                   2840: No options
                   2841: First char = 'a'
                   2842: Need char = 'c'
                   2843: 
                   2844: /x*+\w/DZ
                   2845: ------------------------------------------------------------------
                   2846:         Bra
                   2847:         x*+
                   2848:         \w
                   2849:         Ket
                   2850:         End
                   2851: ------------------------------------------------------------------
                   2852: Capturing subpattern count = 0
                   2853: No options
                   2854: No first char
                   2855: No need char
                   2856:     *** Failers
                   2857:  0: F
                   2858:     xxxxx
                   2859: No match
                   2860: 
                   2861: /x?+/DZ
                   2862: ------------------------------------------------------------------
                   2863:         Bra
                   2864:         x?+
                   2865:         Ket
                   2866:         End
                   2867: ------------------------------------------------------------------
                   2868: Capturing subpattern count = 0
                   2869: No options
                   2870: No first char
                   2871: No need char
                   2872: 
                   2873: /x++/DZ
                   2874: ------------------------------------------------------------------
                   2875:         Bra
                   2876:         x++
                   2877:         Ket
                   2878:         End
                   2879: ------------------------------------------------------------------
                   2880: Capturing subpattern count = 0
                   2881: No options
                   2882: First char = 'x'
                   2883: No need char
                   2884: 
                   2885: /x{1,3}+/DZ
                   2886: ------------------------------------------------------------------
                   2887:         Bra
                   2888:         Once
                   2889:         x
                   2890:         x{0,2}
                   2891:         Ket
                   2892:         Ket
                   2893:         End
                   2894: ------------------------------------------------------------------
                   2895: Capturing subpattern count = 0
                   2896: No options
                   2897: First char = 'x'
                   2898: No need char
                   2899: 
                   2900: /(x)*+/DZ
                   2901: ------------------------------------------------------------------
                   2902:         Bra
                   2903:         Braposzero
                   2904:         CBraPos 1
                   2905:         x
                   2906:         KetRpos
                   2907:         Ket
                   2908:         End
                   2909: ------------------------------------------------------------------
                   2910: Capturing subpattern count = 1
                   2911: No options
                   2912: No first char
                   2913: No need char
                   2914: 
                   2915: /^(\w++|\s++)*$/I
                   2916: Capturing subpattern count = 1
                   2917: Options: anchored
                   2918: No first char
                   2919: No need char
                   2920:     now is the time for all good men to come to the aid of the party
                   2921:  0: now is the time for all good men to come to the aid of the party
                   2922:  1: party
                   2923:     *** Failers
                   2924: No match
                   2925:     this is not a line with only words and spaces!
                   2926: No match
                   2927: 
                   2928: /(\d++)(\w)/I
                   2929: Capturing subpattern count = 2
                   2930: No options
                   2931: No first char
                   2932: No need char
                   2933:     12345a
                   2934:  0: 12345a
                   2935:  1: 12345
                   2936:  2: a
                   2937:     *** Failers
                   2938: No match
                   2939:     12345+
                   2940: No match
                   2941: 
                   2942: /a++b/I
                   2943: Capturing subpattern count = 0
                   2944: No options
                   2945: First char = 'a'
                   2946: Need char = 'b'
                   2947:     aaab
                   2948:  0: aaab
                   2949: 
                   2950: /(a++b)/I
                   2951: Capturing subpattern count = 1
                   2952: No options
                   2953: First char = 'a'
                   2954: Need char = 'b'
                   2955:     aaab
                   2956:  0: aaab
                   2957:  1: aaab
                   2958: 
                   2959: /(a++)b/I
                   2960: Capturing subpattern count = 1
                   2961: No options
                   2962: First char = 'a'
                   2963: Need char = 'b'
                   2964:     aaab
                   2965:  0: aaab
                   2966:  1: aaa
                   2967: 
                   2968: /([^()]++|\([^()]*\))+/I
                   2969: Capturing subpattern count = 1
                   2970: No options
                   2971: No first char
                   2972: No need char
                   2973:     ((abc(ade)ufh()()x
                   2974:  0: abc(ade)ufh()()x
                   2975:  1: x
                   2976: 
                   2977: /\(([^()]++|\([^()]+\))+\)/I
                   2978: Capturing subpattern count = 1
                   2979: No options
                   2980: First char = '('
                   2981: Need char = ')'
                   2982:     (abc)
                   2983:  0: (abc)
                   2984:  1: abc
                   2985:     (abc(def)xyz)
                   2986:  0: (abc(def)xyz)
                   2987:  1: xyz
                   2988:     *** Failers
                   2989: No match
                   2990:     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   2991: No match
                   2992: 
                   2993: /(abc){1,3}+/DZ
                   2994: ------------------------------------------------------------------
                   2995:         Bra
                   2996:         Once
                   2997:         CBra 1
                   2998:         abc
                   2999:         Ket
                   3000:         Brazero
                   3001:         Bra
                   3002:         CBra 1
                   3003:         abc
                   3004:         Ket
                   3005:         Brazero
                   3006:         CBra 1
                   3007:         abc
                   3008:         Ket
                   3009:         Ket
                   3010:         Ket
                   3011:         Ket
                   3012:         End
                   3013: ------------------------------------------------------------------
                   3014: Capturing subpattern count = 1
                   3015: No options
                   3016: First char = 'a'
                   3017: Need char = 'c'
                   3018: 
                   3019: /a+?+/I
                   3020: Failed: nothing to repeat at offset 3
                   3021: 
                   3022: /a{2,3}?+b/I
                   3023: Failed: nothing to repeat at offset 7
                   3024: 
                   3025: /(?U)a+?+/I
                   3026: Failed: nothing to repeat at offset 7
                   3027: 
                   3028: /a{2,3}?+b/IU
                   3029: Failed: nothing to repeat at offset 7
                   3030: 
                   3031: /x(?U)a++b/DZ
                   3032: ------------------------------------------------------------------
                   3033:         Bra
                   3034:         x
                   3035:         a++
                   3036:         b
                   3037:         Ket
                   3038:         End
                   3039: ------------------------------------------------------------------
                   3040: Capturing subpattern count = 0
                   3041: No options
                   3042: First char = 'x'
                   3043: Need char = 'b'
                   3044:     xaaaab
                   3045:  0: xaaaab
                   3046: 
                   3047: /(?U)xa++b/DZ
                   3048: ------------------------------------------------------------------
                   3049:         Bra
                   3050:         x
                   3051:         a++
                   3052:         b
                   3053:         Ket
                   3054:         End
                   3055: ------------------------------------------------------------------
                   3056: Capturing subpattern count = 0
                   3057: Options: ungreedy
                   3058: First char = 'x'
                   3059: Need char = 'b'
                   3060:     xaaaab
                   3061:  0: xaaaab
                   3062: 
                   3063: /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
                   3064: ------------------------------------------------------------------
                   3065:         Bra
                   3066:         ^
                   3067:         CBra 1
                   3068:         CBra 2
                   3069:         a+
                   3070:         Ket
                   3071:         CBra 3
                   3072:         [ab]+?
                   3073:         Ket
                   3074:         CBra 4
                   3075:         [bc]+
                   3076:         Ket
                   3077:         CBra 5
                   3078:         \w*
                   3079:         Ket
                   3080:         Ket
                   3081:         Ket
                   3082:         End
                   3083: ------------------------------------------------------------------
                   3084: Capturing subpattern count = 5
                   3085: Options: anchored
                   3086: No first char
                   3087: No need char
                   3088: 
                   3089: /^x(?U)a+b/DZ
                   3090: ------------------------------------------------------------------
                   3091:         Bra
                   3092:         ^
                   3093:         x
                   3094:         a++
                   3095:         b
                   3096:         Ket
                   3097:         End
                   3098: ------------------------------------------------------------------
                   3099: Capturing subpattern count = 0
                   3100: Options: anchored
                   3101: No first char
                   3102: Need char = 'b'
                   3103: 
                   3104: /^x(?U)(a+)b/DZ
                   3105: ------------------------------------------------------------------
                   3106:         Bra
                   3107:         ^
                   3108:         x
                   3109:         CBra 1
                   3110:         a+?
                   3111:         Ket
                   3112:         b
                   3113:         Ket
                   3114:         End
                   3115: ------------------------------------------------------------------
                   3116: Capturing subpattern count = 1
                   3117: Options: anchored
                   3118: No first char
                   3119: Need char = 'b'
                   3120: 
                   3121: /[.x.]/I
                   3122: Failed: POSIX collating elements are not supported at offset 0
                   3123: 
                   3124: /[=x=]/I
                   3125: Failed: POSIX collating elements are not supported at offset 0
                   3126: 
                   3127: /[:x:]/I
                   3128: Failed: POSIX named classes are supported only within a class at offset 0
                   3129: 
                   3130: /\l/I
                   3131: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3132: 
                   3133: /\L/I
                   3134: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3135: 
                   3136: /\N{name}/I
                   3137: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3138: 
                   3139: /\u/I
                   3140: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3141: 
                   3142: /\U/I
                   3143: Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
                   3144: 
                   3145: /[/I
                   3146: Failed: missing terminating ] for character class at offset 1
                   3147: 
                   3148: /[a-/I
                   3149: Failed: missing terminating ] for character class at offset 3
                   3150: 
                   3151: /[[:space:]/I
                   3152: Failed: missing terminating ] for character class at offset 10
                   3153: 
                   3154: /[\s]/IDZ
                   3155: ------------------------------------------------------------------
                   3156:         Bra
                   3157:         [\x09\x0a\x0c\x0d ]
                   3158:         Ket
                   3159:         End
                   3160: ------------------------------------------------------------------
                   3161: Capturing subpattern count = 0
                   3162: No options
                   3163: No first char
                   3164: No need char
                   3165: 
                   3166: /[[:space:]]/IDZ
                   3167: ------------------------------------------------------------------
                   3168:         Bra
                   3169:         [\x09-\x0d ]
                   3170:         Ket
                   3171:         End
                   3172: ------------------------------------------------------------------
                   3173: Capturing subpattern count = 0
                   3174: No options
                   3175: No first char
                   3176: No need char
                   3177: 
                   3178: /[[:space:]abcde]/IDZ
                   3179: ------------------------------------------------------------------
                   3180:         Bra
                   3181:         [\x09-\x0d a-e]
                   3182:         Ket
                   3183:         End
                   3184: ------------------------------------------------------------------
                   3185: Capturing subpattern count = 0
                   3186: No options
                   3187: No first char
                   3188: No need char
                   3189: 
                   3190: /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
                   3191: Capturing subpattern count = 0
                   3192: Options: extended
                   3193: First char = '<'
                   3194: Need char = '>'
                   3195:     <>
                   3196:  0: <>
                   3197:     <abcd>
                   3198:  0: <abcd>
                   3199:     <abc <123> hij>
                   3200:  0: <abc <123> hij>
                   3201:     <abc <def> hij>
                   3202:  0: <def>
                   3203:     <abc<>def>
                   3204:  0: <abc<>def>
                   3205:     <abc<>
                   3206:  0: <>
                   3207:     *** Failers
                   3208: No match
                   3209:     <abc
                   3210: No match
                   3211: 
                   3212: |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
                   3213: ------------------------------------------------------------------
                   3214:         Bra
                   3215:         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
                   3216:         \b
                   3217:         Ket
                   3218:         End
                   3219: ------------------------------------------------------------------
                   3220: Capturing subpattern count = 0
1.1.1.4 ! misho    3221: Max lookbehind = 1
1.1       misho    3222: No options
                   3223: First char = '8'
                   3224: Need char = 'X'
                   3225: 
                   3226: |\$\<\.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
                   3227: ------------------------------------------------------------------
                   3228:         Bra
                   3229:         $<.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
                   3230:         \b
                   3231:         Ket
                   3232:         End
                   3233: ------------------------------------------------------------------
                   3234: Capturing subpattern count = 0
1.1.1.4 ! misho    3235: Max lookbehind = 1
1.1       misho    3236: No options
                   3237: First char = '$'
                   3238: Need char = 'X'
                   3239: 
                   3240: /(.*)\d+\1/I
                   3241: Capturing subpattern count = 1
                   3242: Max back reference = 1
                   3243: No options
                   3244: No first char
                   3245: No need char
                   3246: 
                   3247: /(.*)\d+/I
                   3248: Capturing subpattern count = 1
                   3249: No options
                   3250: First char at start or follows newline
                   3251: No need char
                   3252: 
                   3253: /(.*)\d+\1/Is
                   3254: Capturing subpattern count = 1
                   3255: Max back reference = 1
                   3256: Options: dotall
                   3257: No first char
                   3258: No need char
                   3259: 
                   3260: /(.*)\d+/Is
                   3261: Capturing subpattern count = 1
                   3262: Options: anchored dotall
                   3263: No first char
                   3264: No need char
                   3265: 
                   3266: /(.*(xyz))\d+\2/I
                   3267: Capturing subpattern count = 2
                   3268: Max back reference = 2
                   3269: No options
                   3270: First char at start or follows newline
                   3271: Need char = 'z'
                   3272: 
                   3273: /((.*))\d+\1/I
                   3274: Capturing subpattern count = 2
                   3275: Max back reference = 1
                   3276: No options
                   3277: No first char
                   3278: No need char
                   3279:     abc123bc
                   3280:  0: bc123bc
                   3281:  1: bc
                   3282:  2: bc
                   3283: 
                   3284: /a[b]/I
                   3285: Capturing subpattern count = 0
                   3286: No options
                   3287: First char = 'a'
                   3288: Need char = 'b'
                   3289: 
                   3290: /(?=a).*/I
                   3291: Capturing subpattern count = 0
                   3292: No options
                   3293: First char = 'a'
                   3294: No need char
                   3295: 
                   3296: /(?=abc).xyz/IiI
                   3297: Capturing subpattern count = 0
                   3298: Options: caseless
                   3299: First char = 'a' (caseless)
                   3300: Need char = 'z' (caseless)
                   3301: 
                   3302: /(?=abc)(?i).xyz/I
                   3303: Capturing subpattern count = 0
                   3304: No options
                   3305: First char = 'a'
                   3306: Need char = 'z' (caseless)
                   3307: 
                   3308: /(?=a)(?=b)/I
                   3309: Capturing subpattern count = 0
                   3310: No options
                   3311: First char = 'a'
                   3312: No need char
                   3313: 
                   3314: /(?=.)a/I
                   3315: Capturing subpattern count = 0
                   3316: No options
                   3317: First char = 'a'
                   3318: No need char
                   3319: 
                   3320: /((?=abcda)a)/I
                   3321: Capturing subpattern count = 1
                   3322: No options
                   3323: First char = 'a'
                   3324: Need char = 'a'
                   3325: 
                   3326: /((?=abcda)ab)/I
                   3327: Capturing subpattern count = 1
                   3328: No options
                   3329: First char = 'a'
                   3330: Need char = 'b'
                   3331: 
                   3332: /()a/I
                   3333: Capturing subpattern count = 1
                   3334: No options
                   3335: No first char
                   3336: Need char = 'a'
                   3337: 
                   3338: /(?(1)ab|ac)(.)/I
                   3339: Capturing subpattern count = 1
                   3340: No options
                   3341: First char = 'a'
                   3342: No need char
                   3343: 
                   3344: /(?(1)abz|acz)(.)/I
                   3345: Capturing subpattern count = 1
                   3346: No options
                   3347: First char = 'a'
                   3348: Need char = 'z'
                   3349: 
                   3350: /(?(1)abz)(.)/I
                   3351: Capturing subpattern count = 1
                   3352: No options
                   3353: No first char
                   3354: No need char
                   3355: 
                   3356: /(?(1)abz)(1)23/I
                   3357: Capturing subpattern count = 1
                   3358: No options
                   3359: No first char
                   3360: Need char = '3'
                   3361: 
                   3362: /(a)+/I
                   3363: Capturing subpattern count = 1
                   3364: No options
                   3365: First char = 'a'
                   3366: No need char
                   3367: 
                   3368: /(a){2,3}/I
                   3369: Capturing subpattern count = 1
                   3370: No options
                   3371: First char = 'a'
                   3372: Need char = 'a'
                   3373: 
                   3374: /(a)*/I
                   3375: Capturing subpattern count = 1
                   3376: No options
                   3377: No first char
                   3378: No need char
                   3379: 
                   3380: /[a]/I
                   3381: Capturing subpattern count = 0
                   3382: No options
                   3383: First char = 'a'
                   3384: No need char
                   3385: 
                   3386: /[ab]/I
                   3387: Capturing subpattern count = 0
                   3388: No options
                   3389: No first char
                   3390: No need char
                   3391: 
                   3392: /[ab]/IS
                   3393: Capturing subpattern count = 0
                   3394: No options
                   3395: No first char
                   3396: No need char
                   3397: Subject length lower bound = 1
                   3398: Starting byte set: a b 
                   3399: 
                   3400: /[^a]/I
                   3401: Capturing subpattern count = 0
                   3402: No options
                   3403: No first char
                   3404: No need char
                   3405: 
                   3406: /\d456/I
                   3407: Capturing subpattern count = 0
                   3408: No options
                   3409: No first char
                   3410: Need char = '6'
                   3411: 
                   3412: /\d456/IS
                   3413: Capturing subpattern count = 0
                   3414: No options
                   3415: No first char
                   3416: Need char = '6'
                   3417: Subject length lower bound = 4
                   3418: Starting byte set: 0 1 2 3 4 5 6 7 8 9 
                   3419: 
                   3420: /a^b/I
                   3421: Capturing subpattern count = 0
                   3422: No options
                   3423: First char = 'a'
                   3424: Need char = 'b'
                   3425: 
                   3426: /^a/Im
                   3427: Capturing subpattern count = 0
                   3428: Options: multiline
                   3429: First char at start or follows newline
                   3430: Need char = 'a'
                   3431:   abcde
                   3432:  0: a
                   3433:   xy\nabc
                   3434:  0: a
                   3435:   *** Failers
                   3436: No match
                   3437:   xyabc
                   3438: No match
                   3439: 
                   3440: /c|abc/I
                   3441: Capturing subpattern count = 0
                   3442: No options
                   3443: No first char
                   3444: Need char = 'c'
                   3445: 
                   3446: /(?i)[ab]/IS
                   3447: Capturing subpattern count = 0
                   3448: Options: caseless
                   3449: No first char
                   3450: No need char
                   3451: Subject length lower bound = 1
                   3452: Starting byte set: A B a b 
                   3453: 
                   3454: /[ab](?i)cd/IS
                   3455: Capturing subpattern count = 0
                   3456: No options
                   3457: No first char
                   3458: Need char = 'd' (caseless)
                   3459: Subject length lower bound = 3
                   3460: Starting byte set: a b 
                   3461: 
                   3462: /abc(?C)def/I
                   3463: Capturing subpattern count = 0
                   3464: No options
                   3465: First char = 'a'
                   3466: Need char = 'f'
                   3467:     abcdef
                   3468: --->abcdef
                   3469:   0 ^  ^       d
                   3470:  0: abcdef
                   3471:     1234abcdef
                   3472: --->1234abcdef
                   3473:   0     ^  ^       d
                   3474:  0: abcdef
                   3475:     *** Failers
                   3476: No match
                   3477:     abcxyz
                   3478: No match
                   3479:     abcxyzf
                   3480: --->abcxyzf
                   3481:   0 ^  ^        d
                   3482: No match
                   3483: 
                   3484: /abc(?C)de(?C1)f/I
                   3485: Capturing subpattern count = 0
                   3486: No options
                   3487: First char = 'a'
                   3488: Need char = 'f'
                   3489:     123abcdef
                   3490: --->123abcdef
                   3491:   0    ^  ^       d
                   3492:   1    ^    ^     f
                   3493:  0: abcdef
                   3494: 
                   3495: /(?C1)\dabc(?C2)def/IS
                   3496: Capturing subpattern count = 0
                   3497: No options
                   3498: No first char
                   3499: Need char = 'f'
                   3500: Subject length lower bound = 7
                   3501: Starting byte set: 0 1 2 3 4 5 6 7 8 9 
                   3502:     1234abcdef
                   3503: --->1234abcdef
                   3504:   1 ^              \d
                   3505:   1  ^             \d
                   3506:   1   ^            \d
                   3507:   1    ^           \d
                   3508:   2    ^   ^       d
                   3509:  0: 4abcdef
                   3510:     *** Failers
                   3511: No match
                   3512:     abcdef
                   3513: No match
                   3514: 
                   3515: /(?C1)\dabc(?C2)def/ISS
                   3516: Capturing subpattern count = 0
                   3517: No options
                   3518: No first char
                   3519: Need char = 'f'
                   3520:     1234abcdef
                   3521: --->1234abcdef
                   3522:   1 ^              \d
                   3523:   1  ^             \d
                   3524:   1   ^            \d
                   3525:   1    ^           \d
                   3526:   2    ^   ^       d
                   3527:  0: 4abcdef
                   3528:     *** Failers
                   3529: No match
                   3530:     abcdef
                   3531: --->abcdef
                   3532:   1 ^          \d
                   3533:   1  ^         \d
                   3534:   1   ^        \d
                   3535:   1    ^       \d
                   3536:   1     ^      \d
                   3537:   1      ^     \d
                   3538: No match
                   3539: 
                   3540: /(?C255)ab/I
                   3541: Capturing subpattern count = 0
                   3542: No options
                   3543: First char = 'a'
                   3544: Need char = 'b'
                   3545: 
                   3546: /(?C256)ab/I
                   3547: Failed: number after (?C is > 255 at offset 6
                   3548: 
                   3549: /(?Cab)xx/I
                   3550: Failed: closing ) for (?C expected at offset 3
                   3551: 
                   3552: /(?C12vr)x/I
                   3553: Failed: closing ) for (?C expected at offset 5
                   3554: 
                   3555: /abc(?C)def/I
                   3556: Capturing subpattern count = 0
                   3557: No options
                   3558: First char = 'a'
                   3559: Need char = 'f'
                   3560:     *** Failers
                   3561: No match
                   3562:     \x83\x0\x61bcdef
                   3563: --->\x83\x00abcdef
                   3564:   0         ^  ^       d
                   3565:  0: abcdef
                   3566: 
                   3567: /(abc)(?C)de(?C1)f/I
                   3568: Capturing subpattern count = 1
                   3569: No options
                   3570: First char = 'a'
                   3571: Need char = 'f'
                   3572:     123abcdef
                   3573: --->123abcdef
                   3574:   0    ^  ^       d
                   3575:   1    ^    ^     f
                   3576:  0: abcdef
                   3577:  1: abc
                   3578:     123abcdef\C+
                   3579: Callout 0: last capture = 1
                   3580:  0: <unset>
                   3581:  1: abc
                   3582: --->123abcdef
                   3583:        ^  ^       d
                   3584: Callout 1: last capture = 1
                   3585:  0: <unset>
                   3586:  1: abc
                   3587: --->123abcdef
                   3588:        ^    ^     f
                   3589:  0: abcdef
                   3590:  1: abc
                   3591:     123abcdef\C-
                   3592:  0: abcdef
                   3593:  1: abc
                   3594:     *** Failers
                   3595: No match
                   3596:     123abcdef\C!1
                   3597: --->123abcdef
                   3598:   0    ^  ^       d
                   3599:   1    ^    ^     f
                   3600: No match
                   3601: 
                   3602: /(?C0)(abc(?C1))*/I
                   3603: Capturing subpattern count = 1
                   3604: No options
                   3605: No first char
                   3606: No need char
                   3607:     abcabcabc
                   3608: --->abcabcabc
                   3609:   0 ^             (abc(?C1))*
                   3610:   1 ^  ^          )
                   3611:   1 ^     ^       )
                   3612:   1 ^        ^    )
                   3613:  0: abcabcabc
                   3614:  1: abc
                   3615:     abcabc\C!1!3
                   3616: --->abcabc
                   3617:   0 ^          (abc(?C1))*
                   3618:   1 ^  ^       )
                   3619:   1 ^     ^    )
                   3620:  0: abcabc
                   3621:  1: abc
                   3622:     *** Failers
                   3623: --->*** Failers
                   3624:   0 ^               (abc(?C1))*
                   3625:  0: 
                   3626:     abcabcabc\C!1!3
                   3627: --->abcabcabc
                   3628:   0 ^             (abc(?C1))*
                   3629:   1 ^  ^          )
                   3630:   1 ^     ^       )
                   3631:   1 ^        ^    )
                   3632:  0: abcabc
                   3633:  1: abc
                   3634: 
                   3635: /(\d{3}(?C))*/I
                   3636: Capturing subpattern count = 1
                   3637: No options
                   3638: No first char
                   3639: No need char
                   3640:     123\C+
                   3641: Callout 0: last capture = -1
                   3642:  0: <unset>
                   3643: --->123
                   3644:     ^  ^    )
                   3645:  0: 123
                   3646:  1: 123
                   3647:     123456\C+
                   3648: Callout 0: last capture = -1
                   3649:  0: <unset>
                   3650: --->123456
                   3651:     ^  ^       )
                   3652: Callout 0: last capture = 1
                   3653:  0: <unset>
                   3654:  1: 123
                   3655: --->123456
                   3656:     ^     ^    )
                   3657:  0: 123456
                   3658:  1: 456
                   3659:     123456789\C+
                   3660: Callout 0: last capture = -1
                   3661:  0: <unset>
                   3662: --->123456789
                   3663:     ^  ^          )
                   3664: Callout 0: last capture = 1
                   3665:  0: <unset>
                   3666:  1: 123
                   3667: --->123456789
                   3668:     ^     ^       )
                   3669: Callout 0: last capture = 1
                   3670:  0: <unset>
                   3671:  1: 456
                   3672: --->123456789
                   3673:     ^        ^    )
                   3674:  0: 123456789
                   3675:  1: 789
                   3676: 
                   3677: /((xyz)(?C)p|(?C1)xyzabc)/I
                   3678: Capturing subpattern count = 2
                   3679: No options
                   3680: First char = 'x'
                   3681: No need char
                   3682:     xyzabc\C+
                   3683: Callout 0: last capture = 2
                   3684:  0: <unset>
                   3685:  1: <unset>
                   3686:  2: xyz
                   3687: --->xyzabc
                   3688:     ^  ^       p
                   3689: Callout 1: last capture = -1
                   3690:  0: <unset>
                   3691: --->xyzabc
                   3692:     ^          x
                   3693:  0: xyzabc
                   3694:  1: xyzabc
                   3695: 
                   3696: /(X)((xyz)(?C)p|(?C1)xyzabc)/I
                   3697: Capturing subpattern count = 3
                   3698: No options
                   3699: First char = 'X'
                   3700: Need char = 'x'
                   3701:     Xxyzabc\C+
                   3702: Callout 0: last capture = 3
                   3703:  0: <unset>
                   3704:  1: X
                   3705:  2: <unset>
                   3706:  3: xyz
                   3707: --->Xxyzabc
                   3708:     ^   ^       p
                   3709: Callout 1: last capture = 1
                   3710:  0: <unset>
                   3711:  1: X
                   3712: --->Xxyzabc
                   3713:     ^^          x
                   3714:  0: Xxyzabc
                   3715:  1: X
                   3716:  2: xyzabc
                   3717: 
                   3718: /(?=(abc))(?C)abcdef/I
                   3719: Capturing subpattern count = 1
                   3720: No options
                   3721: First char = 'a'
                   3722: Need char = 'f'
                   3723:     abcdef\C+
                   3724: Callout 0: last capture = 1
                   3725:  0: <unset>
                   3726:  1: abc
                   3727: --->abcdef
                   3728:     ^          a
                   3729:  0: abcdef
                   3730:  1: abc
                   3731: 
                   3732: /(?!(abc)(?C1)d)(?C2)abcxyz/I
                   3733: Capturing subpattern count = 1
                   3734: No options
                   3735: First char = 'a'
                   3736: Need char = 'z'
                   3737:     abcxyz\C+
                   3738: Callout 1: last capture = 1
                   3739:  0: <unset>
                   3740:  1: abc
                   3741: --->abcxyz
                   3742:     ^  ^       d
                   3743: Callout 2: last capture = -1
                   3744:  0: <unset>
                   3745: --->abcxyz
                   3746:     ^          a
                   3747:  0: abcxyz
                   3748: 
                   3749: /(?<=(abc)(?C))xyz/I
                   3750: Capturing subpattern count = 1
1.1.1.4 ! misho    3751: Max lookbehind = 3
1.1       misho    3752: No options
                   3753: First char = 'x'
                   3754: Need char = 'z'
                   3755:    abcxyz\C+
                   3756: Callout 0: last capture = 1
                   3757:  0: <unset>
                   3758:  1: abc
                   3759: --->abcxyz
                   3760:        ^       )
                   3761:  0: xyz
                   3762:  1: abc
                   3763: 
                   3764: /a(b+)(c*)(?C1)/I
                   3765: Capturing subpattern count = 2
                   3766: No options
                   3767: First char = 'a'
                   3768: Need char = 'b'
                   3769:     abbbbbccc\C*1
                   3770: --->abbbbbccc
                   3771:   1 ^        ^    
                   3772: Callout data = 1
                   3773:   1 ^       ^     
                   3774: Callout data = 1
                   3775:   1 ^      ^      
                   3776: Callout data = 1
                   3777:   1 ^     ^       
                   3778: Callout data = 1
                   3779:   1 ^    ^        
                   3780: Callout data = 1
                   3781:   1 ^   ^         
                   3782: Callout data = 1
                   3783:   1 ^  ^          
                   3784: Callout data = 1
                   3785:   1 ^ ^           
                   3786: Callout data = 1
                   3787: No match
                   3788: 
                   3789: /a(b+?)(c*?)(?C1)/I
                   3790: Capturing subpattern count = 2
                   3791: No options
                   3792: First char = 'a'
                   3793: Need char = 'b'
                   3794:     abbbbbccc\C*1
                   3795: --->abbbbbccc
                   3796:   1 ^ ^           
                   3797: Callout data = 1
                   3798:   1 ^  ^          
                   3799: Callout data = 1
                   3800:   1 ^   ^         
                   3801: Callout data = 1
                   3802:   1 ^    ^        
                   3803: Callout data = 1
                   3804:   1 ^     ^       
                   3805: Callout data = 1
                   3806:   1 ^      ^      
                   3807: Callout data = 1
                   3808:   1 ^       ^     
                   3809: Callout data = 1
                   3810:   1 ^        ^    
                   3811: Callout data = 1
                   3812: No match
                   3813: 
                   3814: /(?C)abc/I
                   3815: Capturing subpattern count = 0
                   3816: No options
                   3817: First char = 'a'
                   3818: Need char = 'c'
                   3819: 
                   3820: /(?C)^abc/I
                   3821: Capturing subpattern count = 0
                   3822: Options: anchored
                   3823: No first char
                   3824: No need char
                   3825: 
                   3826: /(?C)a|b/IS
                   3827: Capturing subpattern count = 0
                   3828: No options
                   3829: No first char
                   3830: No need char
                   3831: Subject length lower bound = 1
                   3832: Starting byte set: a b 
                   3833: 
                   3834: /(?R)/I
                   3835: Failed: recursive call could loop indefinitely at offset 3
                   3836: 
                   3837: /(a|(?R))/I
                   3838: Failed: recursive call could loop indefinitely at offset 6
                   3839: 
                   3840: /(ab|(bc|(de|(?R))))/I
                   3841: Failed: recursive call could loop indefinitely at offset 15
                   3842: 
                   3843: /x(ab|(bc|(de|(?R))))/I
                   3844: Capturing subpattern count = 3
                   3845: No options
                   3846: First char = 'x'
                   3847: No need char
                   3848:     xab
                   3849:  0: xab
                   3850:  1: ab
                   3851:     xbc
                   3852:  0: xbc
                   3853:  1: bc
                   3854:  2: bc
                   3855:     xde
                   3856:  0: xde
                   3857:  1: de
                   3858:  2: de
                   3859:  3: de
                   3860:     xxab
                   3861:  0: xxab
                   3862:  1: xab
                   3863:  2: xab
                   3864:  3: xab
                   3865:     xxxab
                   3866:  0: xxxab
                   3867:  1: xxab
                   3868:  2: xxab
                   3869:  3: xxab
                   3870:     *** Failers
                   3871: No match
                   3872:     xyab
                   3873: No match
                   3874: 
                   3875: /(ab|(bc|(de|(?1))))/I
                   3876: Failed: recursive call could loop indefinitely at offset 15
                   3877: 
                   3878: /x(ab|(bc|(de|(?1)x)x)x)/I
                   3879: Failed: recursive call could loop indefinitely at offset 16
                   3880: 
                   3881: /^([^()]|\((?1)*\))*$/I
                   3882: Capturing subpattern count = 1
                   3883: Options: anchored
                   3884: No first char
                   3885: No need char
                   3886:     abc
                   3887:  0: abc
                   3888:  1: c
                   3889:     a(b)c
                   3890:  0: a(b)c
                   3891:  1: c
                   3892:     a(b(c))d
                   3893:  0: a(b(c))d
                   3894:  1: d
                   3895:     *** Failers)
                   3896: No match
                   3897:     a(b(c)d
                   3898: No match
                   3899: 
                   3900: /^>abc>([^()]|\((?1)*\))*<xyz<$/I
                   3901: Capturing subpattern count = 1
                   3902: Options: anchored
                   3903: No first char
                   3904: Need char = '<'
                   3905:    >abc>123<xyz<
                   3906:  0: >abc>123<xyz<
                   3907:  1: 3
                   3908:    >abc>1(2)3<xyz<
                   3909:  0: >abc>1(2)3<xyz<
                   3910:  1: 3
                   3911:    >abc>(1(2)3)<xyz<
                   3912:  0: >abc>(1(2)3)<xyz<
                   3913:  1: (1(2)3)
                   3914: 
                   3915: /(a(?1)b)/DZ
                   3916: ------------------------------------------------------------------
                   3917:         Bra
                   3918:         CBra 1
                   3919:         a
                   3920:         Recurse
                   3921:         b
                   3922:         Ket
                   3923:         Ket
                   3924:         End
                   3925: ------------------------------------------------------------------
                   3926: Capturing subpattern count = 1
                   3927: No options
                   3928: First char = 'a'
                   3929: Need char = 'b'
                   3930: 
                   3931: /(a(?1)+b)/DZ
                   3932: ------------------------------------------------------------------
                   3933:         Bra
                   3934:         CBra 1
                   3935:         a
                   3936:         Once
                   3937:         Recurse
                   3938:         KetRmax
                   3939:         b
                   3940:         Ket
                   3941:         Ket
                   3942:         End
                   3943: ------------------------------------------------------------------
                   3944: Capturing subpattern count = 1
                   3945: No options
                   3946: First char = 'a'
                   3947: Need char = 'b'
                   3948: 
                   3949: /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
                   3950: Capturing subpattern count = 2
                   3951: Options: anchored
                   3952: No first char
                   3953: No need char
                   3954:     12
                   3955:  0: 12
                   3956:  1: 12
                   3957:     (((2+2)*-3)-7)
                   3958:  0: (((2+2)*-3)-7)
                   3959:  1: (((2+2)*-3)-7)
                   3960:  2: -
                   3961:     -12
                   3962:  0: -12
                   3963:  1: -12
                   3964:     *** Failers
                   3965: No match
                   3966:     ((2+2)*-3)-7)
                   3967: No match
                   3968: 
                   3969: /^(x(y|(?1){2})z)/I
                   3970: Capturing subpattern count = 2
                   3971: Options: anchored
                   3972: No first char
                   3973: No need char
                   3974:     xyz
                   3975:  0: xyz
                   3976:  1: xyz
                   3977:  2: y
                   3978:     xxyzxyzz
                   3979:  0: xxyzxyzz
                   3980:  1: xxyzxyzz
                   3981:  2: xyzxyz
                   3982:     *** Failers
                   3983: No match
                   3984:     xxyzz
                   3985: No match
                   3986:     xxyzxyzxyzz
                   3987: No match
                   3988: 
                   3989: /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
                   3990: Capturing subpattern count = 2
                   3991: Options: extended
                   3992: First char = '<'
                   3993: Need char = '>'
                   3994:     <>
                   3995:  0: <>
                   3996:  1: <>
                   3997:  2: <>
                   3998:     <abcd>
                   3999:  0: <abcd>
                   4000:  1: <abcd>
                   4001:  2: <abcd>
                   4002:     <abc <123> hij>
                   4003:  0: <abc <123> hij>
                   4004:  1: <abc <123> hij>
                   4005:  2: <abc <123> hij>
                   4006:     <abc <def> hij>
                   4007:  0: <def>
                   4008:  1: <def>
                   4009:  2: <def>
                   4010:     <abc<>def>
                   4011:  0: <abc<>def>
                   4012:  1: <abc<>def>
                   4013:  2: <abc<>def>
                   4014:     <abc<>
                   4015:  0: <>
                   4016:  1: <>
                   4017:  2: <>
                   4018:     *** Failers
                   4019: No match
                   4020:     <abc
                   4021: No match
                   4022: 
                   4023: /(?1)/I
                   4024: Failed: reference to non-existent subpattern at offset 3
                   4025: 
                   4026: /((?2)(abc)/I
                   4027: Failed: missing ) at offset 10
                   4028: 
                   4029: /^(abc)def(?1)/I
                   4030: Capturing subpattern count = 1
                   4031: Options: anchored
                   4032: No first char
                   4033: No need char
                   4034:     abcdefabc
                   4035:  0: abcdefabc
                   4036:  1: abc
                   4037: 
                   4038: /^(a|b|c)=(?1)+/I
                   4039: Capturing subpattern count = 1
                   4040: Options: anchored
                   4041: No first char
                   4042: No need char
                   4043:     a=a
                   4044:  0: a=a
                   4045:  1: a
                   4046:     a=b
                   4047:  0: a=b
                   4048:  1: a
                   4049:     a=bc
                   4050:  0: a=bc
                   4051:  1: a
                   4052: 
                   4053: /^(a|b|c)=((?1))+/I
                   4054: Capturing subpattern count = 2
                   4055: Options: anchored
                   4056: No first char
                   4057: No need char
                   4058:     a=a
                   4059:  0: a=a
                   4060:  1: a
                   4061:  2: a
                   4062:     a=b
                   4063:  0: a=b
                   4064:  1: a
                   4065:  2: b
                   4066:     a=bc
                   4067:  0: a=bc
                   4068:  1: a
                   4069:  2: c
                   4070: 
                   4071: /a(?P<name1>b|c)d(?P<longername2>e)/DZ
                   4072: ------------------------------------------------------------------
                   4073:         Bra
                   4074:         a
                   4075:         CBra 1
                   4076:         b
                   4077:         Alt
                   4078:         c
                   4079:         Ket
                   4080:         d
                   4081:         CBra 2
                   4082:         e
                   4083:         Ket
                   4084:         Ket
                   4085:         End
                   4086: ------------------------------------------------------------------
                   4087: Capturing subpattern count = 2
                   4088: Named capturing subpatterns:
                   4089:   longername2   2
                   4090:   name1         1
                   4091: No options
                   4092: First char = 'a'
                   4093: Need char = 'e'
                   4094:     abde
                   4095:  0: abde
                   4096:  1: b
                   4097:  2: e
                   4098:     acde
                   4099:  0: acde
                   4100:  1: c
                   4101:  2: e
                   4102: 
                   4103: /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
                   4104: ------------------------------------------------------------------
                   4105:         Bra
                   4106:         Bra
                   4107:         a
                   4108:         CBra 1
                   4109:         c
                   4110:         CBra 2
                   4111:         d
                   4112:         Ket
                   4113:         Ket
                   4114:         Ket
                   4115:         CBra 3
                   4116:         a
                   4117:         Ket
                   4118:         Ket
                   4119:         End
                   4120: ------------------------------------------------------------------
                   4121: Capturing subpattern count = 3
                   4122: Named capturing subpatterns:
                   4123:   a   3
                   4124:   c   1
                   4125:   d   2
                   4126: No options
                   4127: First char = 'a'
                   4128: Need char = 'a'
                   4129: 
                   4130: /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
                   4131: ------------------------------------------------------------------
                   4132:         Bra
                   4133:         CBra 1
                   4134:         a
                   4135:         Ket
                   4136:         Any
                   4137:         Any
                   4138:         Any
                   4139:         \1
                   4140:         bbb
                   4141:         Recurse
                   4142:         d
                   4143:         Ket
                   4144:         End
                   4145: ------------------------------------------------------------------
                   4146: Capturing subpattern count = 1
                   4147: Max back reference = 1
                   4148: Named capturing subpatterns:
                   4149:   a   1
                   4150: No options
                   4151: First char = 'a'
                   4152: Need char = 'd'
                   4153: 
                   4154: /^\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
                   4155: Capturing subpattern count = 4
                   4156: Max back reference = 4
                   4157: Named capturing subpatterns:
                   4158:   four    4
                   4159:   one     1
                   4160:   three   3
                   4161:   two     2
                   4162: Options: anchored caseless
                   4163: No first char
                   4164: No need char
                   4165:     1221
                   4166:  0: 1221
                   4167:  1: 1221
                   4168:  2: 1
                   4169:     Satan, oscillate my metallic sonatas!
                   4170:  0: Satan, oscillate my metallic sonatas!
                   4171:  1: <unset>
                   4172:  2: <unset>
                   4173:  3: Satan, oscillate my metallic sonatas
                   4174:  4: S
                   4175:     A man, a plan, a canal: Panama!
                   4176:  0: A man, a plan, a canal: Panama!
                   4177:  1: <unset>
                   4178:  2: <unset>
                   4179:  3: A man, a plan, a canal: Panama
                   4180:  4: A
                   4181:     Able was I ere I saw Elba.
                   4182:  0: Able was I ere I saw Elba.
                   4183:  1: <unset>
                   4184:  2: <unset>
                   4185:  3: Able was I ere I saw Elba
                   4186:  4: A
                   4187:     *** Failers
                   4188: No match
                   4189:     The quick brown fox
                   4190: No match
                   4191: 
                   4192: /((?(R)a|b))\1(?1)?/I
                   4193: Capturing subpattern count = 1
                   4194: Max back reference = 1
                   4195: No options
                   4196: No first char
                   4197: No need char
                   4198:   bb
                   4199:  0: bb
                   4200:  1: b
                   4201:   bbaa
                   4202:  0: bba
                   4203:  1: b
                   4204: 
                   4205: /(.*)a/Is
                   4206: Capturing subpattern count = 1
                   4207: Options: anchored dotall
                   4208: No first char
                   4209: Need char = 'a'
                   4210: 
                   4211: /(.*)a\1/Is
                   4212: Capturing subpattern count = 1
                   4213: Max back reference = 1
                   4214: Options: dotall
                   4215: No first char
                   4216: Need char = 'a'
                   4217: 
                   4218: /(.*)a(b)\2/Is
                   4219: Capturing subpattern count = 2
                   4220: Max back reference = 2
                   4221: Options: anchored dotall
                   4222: No first char
                   4223: Need char = 'b'
                   4224: 
                   4225: /((.*)a|(.*)b)z/Is
                   4226: Capturing subpattern count = 3
                   4227: Options: anchored dotall
                   4228: No first char
                   4229: Need char = 'z'
                   4230: 
                   4231: /((.*)a|(.*)b)z\1/Is
                   4232: Capturing subpattern count = 3
                   4233: Max back reference = 1
                   4234: Options: dotall
                   4235: No first char
                   4236: Need char = 'z'
                   4237: 
                   4238: /((.*)a|(.*)b)z\2/Is
                   4239: Capturing subpattern count = 3
                   4240: Max back reference = 2
                   4241: Options: dotall
                   4242: No first char
                   4243: Need char = 'z'
                   4244: 
                   4245: /((.*)a|(.*)b)z\3/Is
                   4246: Capturing subpattern count = 3
                   4247: Max back reference = 3
                   4248: Options: dotall
                   4249: No first char
                   4250: Need char = 'z'
                   4251: 
                   4252: /((.*)a|^(.*)b)z\3/Is
                   4253: Capturing subpattern count = 3
                   4254: Max back reference = 3
                   4255: Options: anchored dotall
                   4256: No first char
                   4257: Need char = 'z'
                   4258: 
                   4259: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
                   4260: Capturing subpattern count = 31
                   4261: Options: anchored dotall
                   4262: No first char
                   4263: No need char
                   4264: 
                   4265: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
                   4266: Capturing subpattern count = 31
                   4267: Max back reference = 31
                   4268: Options: dotall
                   4269: No first char
                   4270: No need char
                   4271: 
                   4272: /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
                   4273: Capturing subpattern count = 32
                   4274: Max back reference = 32
                   4275: Options: dotall
                   4276: No first char
                   4277: No need char
                   4278: 
                   4279: /(a)(bc)/INDZ
                   4280: ------------------------------------------------------------------
                   4281:         Bra
                   4282:         Bra
                   4283:         a
                   4284:         Ket
                   4285:         Bra
                   4286:         bc
                   4287:         Ket
                   4288:         Ket
                   4289:         End
                   4290: ------------------------------------------------------------------
                   4291: Capturing subpattern count = 0
                   4292: Options: no_auto_capture
                   4293: First char = 'a'
                   4294: Need char = 'c'
                   4295:   abc
                   4296:  0: abc
                   4297: 
                   4298: /(?P<one>a)(bc)/INDZ
                   4299: ------------------------------------------------------------------
                   4300:         Bra
                   4301:         CBra 1
                   4302:         a
                   4303:         Ket
                   4304:         Bra
                   4305:         bc
                   4306:         Ket
                   4307:         Ket
                   4308:         End
                   4309: ------------------------------------------------------------------
                   4310: Capturing subpattern count = 1
                   4311: Named capturing subpatterns:
                   4312:   one   1
                   4313: Options: no_auto_capture
                   4314: First char = 'a'
                   4315: Need char = 'c'
                   4316:   abc
                   4317:  0: abc
                   4318:  1: a
                   4319: 
                   4320: /(a)(?P<named>bc)/INDZ
                   4321: ------------------------------------------------------------------
                   4322:         Bra
                   4323:         Bra
                   4324:         a
                   4325:         Ket
                   4326:         CBra 1
                   4327:         bc
                   4328:         Ket
                   4329:         Ket
                   4330:         End
                   4331: ------------------------------------------------------------------
                   4332: Capturing subpattern count = 1
                   4333: Named capturing subpatterns:
                   4334:   named   1
                   4335: Options: no_auto_capture
                   4336: First char = 'a'
                   4337: Need char = 'c'
                   4338: 
                   4339: /(a+)*zz/I
                   4340: Capturing subpattern count = 1
                   4341: No options
                   4342: No first char
                   4343: Need char = 'z'
                   4344:   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
                   4345: Minimum match() limit = 8
                   4346: Minimum match() recursion limit = 6
                   4347:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
                   4348:  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   4349:   aaaaaaaaaaaaaz\M
                   4350: Minimum match() limit = 32768
1.1.1.4 ! misho    4351: Minimum match() recursion limit = 29
1.1       misho    4352: No match
                   4353: 
                   4354: /(aaa(?C1)bbb|ab)/I
                   4355: Capturing subpattern count = 1
                   4356: No options
                   4357: First char = 'a'
                   4358: Need char = 'b'
                   4359:    aaabbb
                   4360: --->aaabbb
                   4361:   1 ^  ^       b
                   4362:  0: aaabbb
                   4363:  1: aaabbb
                   4364:    aaabbb\C*0
                   4365: --->aaabbb
                   4366:   1 ^  ^       b
                   4367:  0: aaabbb
                   4368:  1: aaabbb
                   4369:    aaabbb\C*1
                   4370: --->aaabbb
                   4371:   1 ^  ^       b
                   4372: Callout data = 1
                   4373:  0: ab
                   4374:  1: ab
                   4375:    aaabbb\C*-1
                   4376: --->aaabbb
                   4377:   1 ^  ^       b
                   4378: Callout data = -1
                   4379: No match
                   4380: 
                   4381: /ab(?P<one>cd)ef(?P<two>gh)/I
                   4382: Capturing subpattern count = 2
                   4383: Named capturing subpatterns:
                   4384:   one   1
                   4385:   two   2
                   4386: No options
                   4387: First char = 'a'
                   4388: Need char = 'h'
                   4389:     abcdefgh
                   4390:  0: abcdefgh
                   4391:  1: cd
                   4392:  2: gh
                   4393:     abcdefgh\C1\Gtwo
                   4394:  0: abcdefgh
                   4395:  1: cd
                   4396:  2: gh
                   4397:  1C cd (2)
                   4398:   G gh (2) two
                   4399:     abcdefgh\Cone\Ctwo
                   4400:  0: abcdefgh
                   4401:  1: cd
                   4402:  2: gh
                   4403:   C cd (2) one
                   4404:   C gh (2) two
                   4405:     abcdefgh\Cthree
                   4406: no parentheses with name "three"
                   4407:  0: abcdefgh
                   4408:  1: cd
                   4409:  2: gh
                   4410: copy substring three failed -7
                   4411: 
                   4412: /(?P<Tes>)(?P<Test>)/DZ
                   4413: ------------------------------------------------------------------
                   4414:         Bra
                   4415:         CBra 1
                   4416:         Ket
                   4417:         CBra 2
                   4418:         Ket
                   4419:         Ket
                   4420:         End
                   4421: ------------------------------------------------------------------
                   4422: Capturing subpattern count = 2
                   4423: Named capturing subpatterns:
                   4424:   Tes    1
                   4425:   Test   2
                   4426: No options
                   4427: No first char
                   4428: No need char
                   4429: 
                   4430: /(?P<Test>)(?P<Tes>)/DZ
                   4431: ------------------------------------------------------------------
                   4432:         Bra
                   4433:         CBra 1
                   4434:         Ket
                   4435:         CBra 2
                   4436:         Ket
                   4437:         Ket
                   4438:         End
                   4439: ------------------------------------------------------------------
                   4440: Capturing subpattern count = 2
                   4441: Named capturing subpatterns:
                   4442:   Tes    2
                   4443:   Test   1
                   4444: No options
                   4445: No first char
                   4446: No need char
                   4447: 
                   4448: /(?P<Z>zz)(?P<A>aa)/I
                   4449: Capturing subpattern count = 2
                   4450: Named capturing subpatterns:
                   4451:   A   2
                   4452:   Z   1
                   4453: No options
                   4454: First char = 'z'
                   4455: Need char = 'a'
                   4456:     zzaa\CZ
                   4457:  0: zzaa
                   4458:  1: zz
                   4459:  2: aa
                   4460:   C zz (2) Z
                   4461:     zzaa\CA
                   4462:  0: zzaa
                   4463:  1: zz
                   4464:  2: aa
                   4465:   C aa (2) A
                   4466: 
                   4467: /(?P<x>eks)(?P<x>eccs)/I
                   4468: Failed: two named subpatterns have the same name at offset 15
                   4469: 
                   4470: /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
                   4471: Failed: two named subpatterns have the same name at offset 30
                   4472: 
                   4473: "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
                   4474: Capturing subpattern count = 3
                   4475: Named capturing subpatterns:
                   4476:   elem   2
                   4477: No options
                   4478: First char = '['
                   4479: Need char = ']'
                   4480:     [10,20,30,5,5,4,4,2,43,23,4234]
                   4481:  0: [10,20,30,5,5,4,4,2,43,23,4234]
                   4482:  1: 10,20,30,5,5,4,4,2,43,23,4234
                   4483:  2: 10
                   4484:  3: ,4234
                   4485:     *** Failers
                   4486: No match
                   4487:     []
                   4488: No match
                   4489: 
                   4490: "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
                   4491: Capturing subpattern count = 3
                   4492: Named capturing subpatterns:
                   4493:   elem   2
                   4494: No options
                   4495: First char = '['
                   4496: Need char = ']'
                   4497:     [10,20,30,5,5,4,4,2,43,23,4234]
                   4498:  0: [10,20,30,5,5,4,4,2,43,23,4234]
                   4499:  1: 10,20,30,5,5,4,4,2,43,23,4234
                   4500:  2: 10
                   4501:  3: ,4234
                   4502:     []
                   4503:  0: []
                   4504: 
                   4505: /(a(b(?2)c))?/DZ
                   4506: ------------------------------------------------------------------
                   4507:         Bra
                   4508:         Brazero
                   4509:         CBra 1
                   4510:         a
                   4511:         CBra 2
                   4512:         b
                   4513:         Recurse
                   4514:         c
                   4515:         Ket
                   4516:         Ket
                   4517:         Ket
                   4518:         End
                   4519: ------------------------------------------------------------------
                   4520: Capturing subpattern count = 2
                   4521: No options
                   4522: No first char
                   4523: No need char
                   4524: 
                   4525: /(a(b(?2)c))*/DZ
                   4526: ------------------------------------------------------------------
                   4527:         Bra
                   4528:         Brazero
                   4529:         CBra 1
                   4530:         a
                   4531:         CBra 2
                   4532:         b
                   4533:         Recurse
                   4534:         c
                   4535:         Ket
                   4536:         KetRmax
                   4537:         Ket
                   4538:         End
                   4539: ------------------------------------------------------------------
                   4540: Capturing subpattern count = 2
                   4541: No options
                   4542: No first char
                   4543: No need char
                   4544: 
                   4545: /(a(b(?2)c)){0,2}/DZ
                   4546: ------------------------------------------------------------------
                   4547:         Bra
                   4548:         Brazero
                   4549:         Bra
                   4550:         CBra 1
                   4551:         a
                   4552:         CBra 2
                   4553:         b
                   4554:         Recurse
                   4555:         c
                   4556:         Ket
                   4557:         Ket
                   4558:         Brazero
                   4559:         CBra 1
                   4560:         a
                   4561:         CBra 2
                   4562:         b
                   4563:         Recurse
                   4564:         c
                   4565:         Ket
                   4566:         Ket
                   4567:         Ket
                   4568:         Ket
                   4569:         End
                   4570: ------------------------------------------------------------------
                   4571: Capturing subpattern count = 2
                   4572: No options
                   4573: No first char
                   4574: No need char
                   4575: 
                   4576: /[ab]{1}+/DZ
                   4577: ------------------------------------------------------------------
                   4578:         Bra
                   4579:         Once
                   4580:         [ab]{1,1}
                   4581:         Ket
                   4582:         Ket
                   4583:         End
                   4584: ------------------------------------------------------------------
                   4585: Capturing subpattern count = 0
                   4586: No options
                   4587: No first char
                   4588: No need char
                   4589: 
                   4590: /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
                   4591: Capturing subpattern count = 3
                   4592: Options: caseless
                   4593: No first char
                   4594: Need char = 'g' (caseless)
                   4595:      Baby Bjorn Active Carrier - With free SHIPPING!!
                   4596:  0: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4597:  1: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4598: 
                   4599: /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
                   4600: Capturing subpattern count = 3
                   4601: Options: caseless
                   4602: No first char
                   4603: Need char = 'g' (caseless)
                   4604: Subject length lower bound = 8
                   4605: No set of starting bytes
                   4606:      Baby Bjorn Active Carrier - With free SHIPPING!!
                   4607:  0: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4608:  1: Baby Bjorn Active Carrier - With free SHIPPING!!
                   4609: 
                   4610: /a*.*b/ISDZ
                   4611: ------------------------------------------------------------------
                   4612:         Bra
                   4613:         a*
                   4614:         Any*
                   4615:         b
                   4616:         Ket
                   4617:         End
                   4618: ------------------------------------------------------------------
                   4619: Capturing subpattern count = 0
                   4620: No options
                   4621: No first char
                   4622: Need char = 'b'
                   4623: Subject length lower bound = 1
                   4624: No set of starting bytes
                   4625: 
                   4626: /(a|b)*.?c/ISDZ
                   4627: ------------------------------------------------------------------
                   4628:         Bra
                   4629:         Brazero
                   4630:         CBra 1
                   4631:         a
                   4632:         Alt
                   4633:         b
                   4634:         KetRmax
                   4635:         Any?
                   4636:         c
                   4637:         Ket
                   4638:         End
                   4639: ------------------------------------------------------------------
                   4640: Capturing subpattern count = 1
                   4641: No options
                   4642: No first char
                   4643: Need char = 'c'
                   4644: Subject length lower bound = 1
                   4645: No set of starting bytes
                   4646: 
                   4647: /abc(?C255)de(?C)f/DZ
                   4648: ------------------------------------------------------------------
                   4649:         Bra
                   4650:         abc
                   4651:         Callout 255 10 1
                   4652:         de
                   4653:         Callout 0 16 1
                   4654:         f
                   4655:         Ket
                   4656:         End
                   4657: ------------------------------------------------------------------
                   4658: Capturing subpattern count = 0
                   4659: No options
                   4660: First char = 'a'
                   4661: Need char = 'f'
                   4662: 
                   4663: /abcde/ICDZ
                   4664: ------------------------------------------------------------------
                   4665:         Bra
                   4666:         Callout 255 0 1
                   4667:         a
                   4668:         Callout 255 1 1
                   4669:         b
                   4670:         Callout 255 2 1
                   4671:         c
                   4672:         Callout 255 3 1
                   4673:         d
                   4674:         Callout 255 4 1
                   4675:         e
                   4676:         Callout 255 5 0
                   4677:         Ket
                   4678:         End
                   4679: ------------------------------------------------------------------
                   4680: Capturing subpattern count = 0
                   4681: Options:
                   4682: First char = 'a'
                   4683: Need char = 'e'
                   4684:   abcde
                   4685: --->abcde
                   4686:  +0 ^         a
                   4687:  +1 ^^        b
                   4688:  +2 ^ ^       c
                   4689:  +3 ^  ^      d
                   4690:  +4 ^   ^     e
                   4691:  +5 ^    ^    
                   4692:  0: abcde
                   4693:   abcdfe
                   4694: --->abcdfe
                   4695:  +0 ^          a
                   4696:  +1 ^^         b
                   4697:  +2 ^ ^        c
                   4698:  +3 ^  ^       d
                   4699:  +4 ^   ^      e
                   4700: No match
                   4701: 
                   4702: /a*b/ICDZS
                   4703: ------------------------------------------------------------------
                   4704:         Bra
                   4705:         Callout 255 0 2
                   4706:         a*+
                   4707:         Callout 255 2 1
                   4708:         b
                   4709:         Callout 255 3 0
                   4710:         Ket
                   4711:         End
                   4712: ------------------------------------------------------------------
                   4713: Capturing subpattern count = 0
                   4714: Options:
                   4715: No first char
                   4716: Need char = 'b'
                   4717: Subject length lower bound = 1
                   4718: Starting byte set: a b 
                   4719:   ab
                   4720: --->ab
                   4721:  +0 ^      a*
                   4722:  +2 ^^     b
                   4723:  +3 ^ ^    
                   4724:  0: ab
                   4725:   aaaab
                   4726: --->aaaab
                   4727:  +0 ^         a*
                   4728:  +2 ^   ^     b
                   4729:  +3 ^    ^    
                   4730:  0: aaaab
                   4731:   aaaacb
                   4732: --->aaaacb
                   4733:  +0 ^          a*
                   4734:  +2 ^   ^      b
                   4735:  +0  ^         a*
                   4736:  +2  ^  ^      b
                   4737:  +0   ^        a*
                   4738:  +2   ^ ^      b
                   4739:  +0    ^       a*
                   4740:  +2    ^^      b
                   4741:  +0      ^     a*
                   4742:  +2      ^     b
                   4743:  +3      ^^    
                   4744:  0: b
                   4745: 
                   4746: /a*b/ICDZSS
                   4747: ------------------------------------------------------------------
                   4748:         Bra
                   4749:         Callout 255 0 2
                   4750:         a*+
                   4751:         Callout 255 2 1
                   4752:         b
                   4753:         Callout 255 3 0
                   4754:         Ket
                   4755:         End
                   4756: ------------------------------------------------------------------
                   4757: Capturing subpattern count = 0
                   4758: Options:
                   4759: No first char
                   4760: Need char = 'b'
                   4761:   ab
                   4762: --->ab
                   4763:  +0 ^      a*
                   4764:  +2 ^^     b
                   4765:  +3 ^ ^    
                   4766:  0: ab
                   4767:   aaaab
                   4768: --->aaaab
                   4769:  +0 ^         a*
                   4770:  +2 ^   ^     b
                   4771:  +3 ^    ^    
                   4772:  0: aaaab
                   4773:   aaaacb
                   4774: --->aaaacb
                   4775:  +0 ^          a*
                   4776:  +2 ^   ^      b
                   4777:  +0  ^         a*
                   4778:  +2  ^  ^      b
                   4779:  +0   ^        a*
                   4780:  +2   ^ ^      b
                   4781:  +0    ^       a*
                   4782:  +2    ^^      b
                   4783:  +0     ^      a*
                   4784:  +2     ^      b
                   4785:  +0      ^     a*
                   4786:  +2      ^     b
                   4787:  +3      ^^    
                   4788:  0: b
                   4789: 
                   4790: /a+b/ICDZ
                   4791: ------------------------------------------------------------------
                   4792:         Bra
                   4793:         Callout 255 0 2
                   4794:         a++
                   4795:         Callout 255 2 1
                   4796:         b
                   4797:         Callout 255 3 0
                   4798:         Ket
                   4799:         End
                   4800: ------------------------------------------------------------------
                   4801: Capturing subpattern count = 0
                   4802: Options:
                   4803: First char = 'a'
                   4804: Need char = 'b'
                   4805:   ab
                   4806: --->ab
                   4807:  +0 ^      a+
                   4808:  +2 ^^     b
                   4809:  +3 ^ ^    
                   4810:  0: ab
                   4811:   aaaab
                   4812: --->aaaab
                   4813:  +0 ^         a+
                   4814:  +2 ^   ^     b
                   4815:  +3 ^    ^    
                   4816:  0: aaaab
                   4817:   aaaacb
                   4818: --->aaaacb
                   4819:  +0 ^          a+
                   4820:  +2 ^   ^      b
                   4821:  +0  ^         a+
                   4822:  +2  ^  ^      b
                   4823:  +0   ^        a+
                   4824:  +2   ^ ^      b
                   4825:  +0    ^       a+
                   4826:  +2    ^^      b
                   4827: No match
                   4828: 
                   4829: /(abc|def)x/ICDZS
                   4830: ------------------------------------------------------------------
                   4831:         Bra
                   4832:         Callout 255 0 9
                   4833:         CBra 1
                   4834:         Callout 255 1 1
                   4835:         a
                   4836:         Callout 255 2 1
                   4837:         b
                   4838:         Callout 255 3 1
                   4839:         c
                   4840:         Callout 255 4 0
                   4841:         Alt
                   4842:         Callout 255 5 1
                   4843:         d
                   4844:         Callout 255 6 1
                   4845:         e
                   4846:         Callout 255 7 1
                   4847:         f
                   4848:         Callout 255 8 0
                   4849:         Ket
                   4850:         Callout 255 9 1
                   4851:         x
                   4852:         Callout 255 10 0
                   4853:         Ket
                   4854:         End
                   4855: ------------------------------------------------------------------
                   4856: Capturing subpattern count = 1
                   4857: Options:
                   4858: No first char
                   4859: Need char = 'x'
                   4860: Subject length lower bound = 4
                   4861: Starting byte set: a d 
                   4862:   abcx
                   4863: --->abcx
                   4864:  +0 ^        (abc|def)
                   4865:  +1 ^        a
                   4866:  +2 ^^       b
                   4867:  +3 ^ ^      c
                   4868:  +4 ^  ^     |
                   4869:  +9 ^  ^     x
                   4870: +10 ^   ^    
                   4871:  0: abcx
                   4872:  1: abc
                   4873:   defx
                   4874: --->defx
                   4875:  +0 ^        (abc|def)
                   4876:  +1 ^        a
                   4877:  +5 ^        d
                   4878:  +6 ^^       e
                   4879:  +7 ^ ^      f
                   4880:  +8 ^  ^     )
                   4881:  +9 ^  ^     x
                   4882: +10 ^   ^    
                   4883:  0: defx
                   4884:  1: def
                   4885:   ** Failers 
                   4886: No match
                   4887:   abcdefzx
                   4888: --->abcdefzx
                   4889:  +0 ^            (abc|def)
                   4890:  +1 ^            a
                   4891:  +2 ^^           b
                   4892:  +3 ^ ^          c
                   4893:  +4 ^  ^         |
                   4894:  +9 ^  ^         x
                   4895:  +5 ^            d
                   4896:  +0    ^         (abc|def)
                   4897:  +1    ^         a
                   4898:  +5    ^         d
                   4899:  +6    ^^        e
                   4900:  +7    ^ ^       f
                   4901:  +8    ^  ^      )
                   4902:  +9    ^  ^      x
                   4903: No match
                   4904: 
                   4905: /(abc|def)x/ICDZSS
                   4906: ------------------------------------------------------------------
                   4907:         Bra
                   4908:         Callout 255 0 9
                   4909:         CBra 1
                   4910:         Callout 255 1 1
                   4911:         a
                   4912:         Callout 255 2 1
                   4913:         b
                   4914:         Callout 255 3 1
                   4915:         c
                   4916:         Callout 255 4 0
                   4917:         Alt
                   4918:         Callout 255 5 1
                   4919:         d
                   4920:         Callout 255 6 1
                   4921:         e
                   4922:         Callout 255 7 1
                   4923:         f
                   4924:         Callout 255 8 0
                   4925:         Ket
                   4926:         Callout 255 9 1
                   4927:         x
                   4928:         Callout 255 10 0
                   4929:         Ket
                   4930:         End
                   4931: ------------------------------------------------------------------
                   4932: Capturing subpattern count = 1
                   4933: Options:
                   4934: No first char
                   4935: Need char = 'x'
                   4936:   abcx
                   4937: --->abcx
                   4938:  +0 ^        (abc|def)
                   4939:  +1 ^        a
                   4940:  +2 ^^       b
                   4941:  +3 ^ ^      c
                   4942:  +4 ^  ^     |
                   4943:  +9 ^  ^     x
                   4944: +10 ^   ^    
                   4945:  0: abcx
                   4946:  1: abc
                   4947:   defx
                   4948: --->defx
                   4949:  +0 ^        (abc|def)
                   4950:  +1 ^        a
                   4951:  +5 ^        d
                   4952:  +6 ^^       e
                   4953:  +7 ^ ^      f
                   4954:  +8 ^  ^     )
                   4955:  +9 ^  ^     x
                   4956: +10 ^   ^    
                   4957:  0: defx
                   4958:  1: def
                   4959:   ** Failers 
                   4960: No match
                   4961:   abcdefzx
                   4962: --->abcdefzx
                   4963:  +0 ^            (abc|def)
                   4964:  +1 ^            a
                   4965:  +2 ^^           b
                   4966:  +3 ^ ^          c
                   4967:  +4 ^  ^         |
                   4968:  +9 ^  ^         x
                   4969:  +5 ^            d
                   4970:  +0  ^           (abc|def)
                   4971:  +1  ^           a
                   4972:  +5  ^           d
                   4973:  +0   ^          (abc|def)
                   4974:  +1   ^          a
                   4975:  +5   ^          d
                   4976:  +0    ^         (abc|def)
                   4977:  +1    ^         a
                   4978:  +5    ^         d
                   4979:  +6    ^^        e
                   4980:  +7    ^ ^       f
                   4981:  +8    ^  ^      )
                   4982:  +9    ^  ^      x
                   4983:  +0     ^        (abc|def)
                   4984:  +1     ^        a
                   4985:  +5     ^        d
                   4986:  +0      ^       (abc|def)
                   4987:  +1      ^       a
                   4988:  +5      ^       d
                   4989:  +0       ^      (abc|def)
                   4990:  +1       ^      a
                   4991:  +5       ^      d
                   4992:  +0        ^     (abc|def)
                   4993:  +1        ^     a
                   4994:  +5        ^     d
                   4995: No match
                   4996: 
                   4997: /(ab|cd){3,4}/IC
                   4998: Capturing subpattern count = 1
                   4999: Options:
                   5000: No first char
                   5001: No need char
                   5002:   ababab
                   5003: --->ababab
                   5004:  +0 ^          (ab|cd){3,4}
                   5005:  +1 ^          a
                   5006:  +2 ^^         b
                   5007:  +3 ^ ^        |
                   5008:  +1 ^ ^        a
                   5009:  +2 ^  ^       b
                   5010:  +3 ^   ^      |
                   5011:  +1 ^   ^      a
                   5012:  +2 ^    ^     b
                   5013:  +3 ^     ^    |
                   5014:  +1 ^     ^    a
                   5015:  +4 ^     ^    c
                   5016: +12 ^     ^    
                   5017:  0: ababab
                   5018:  1: ab
                   5019:   abcdabcd
                   5020: --->abcdabcd
                   5021:  +0 ^            (ab|cd){3,4}
                   5022:  +1 ^            a
                   5023:  +2 ^^           b
                   5024:  +3 ^ ^          |
                   5025:  +1 ^ ^          a
                   5026:  +4 ^ ^          c
                   5027:  +5 ^  ^         d
                   5028:  +6 ^   ^        )
                   5029:  +1 ^   ^        a
                   5030:  +2 ^    ^       b
                   5031:  +3 ^     ^      |
                   5032:  +1 ^     ^      a
                   5033:  +4 ^     ^      c
                   5034:  +5 ^      ^     d
                   5035:  +6 ^       ^    )
                   5036: +12 ^       ^    
                   5037:  0: abcdabcd
                   5038:  1: cd
                   5039:   abcdcdcdcdcd
                   5040: --->abcdcdcdcdcd
                   5041:  +0 ^                (ab|cd){3,4}
                   5042:  +1 ^                a
                   5043:  +2 ^^               b
                   5044:  +3 ^ ^              |
                   5045:  +1 ^ ^              a
                   5046:  +4 ^ ^              c
                   5047:  +5 ^  ^             d
                   5048:  +6 ^   ^            )
                   5049:  +1 ^   ^            a
                   5050:  +4 ^   ^            c
                   5051:  +5 ^    ^           d
                   5052:  +6 ^     ^          )
                   5053:  +1 ^     ^          a
                   5054:  +4 ^     ^          c
                   5055:  +5 ^      ^         d
                   5056:  +6 ^       ^        )
                   5057: +12 ^       ^        
                   5058:  0: abcdcdcd
                   5059:  1: cd
                   5060: 
                   5061: /([ab]{,4}c|xy)/ICDZS
                   5062: ------------------------------------------------------------------
                   5063:         Bra
                   5064:         Callout 255 0 14
                   5065:         CBra 1
                   5066:         Callout 255 1 4
                   5067:         [ab]
                   5068:         Callout 255 5 1
                   5069:         {
                   5070:         Callout 255 6 1
                   5071:         ,
                   5072:         Callout 255 7 1
                   5073:         4
                   5074:         Callout 255 8 1
                   5075:         }
                   5076:         Callout 255 9 1
                   5077:         c
                   5078:         Callout 255 10 0
                   5079:         Alt
                   5080:         Callout 255 11 1
                   5081:         x
                   5082:         Callout 255 12 1
                   5083:         y
                   5084:         Callout 255 13 0
                   5085:         Ket
                   5086:         Callout 255 14 0
                   5087:         Ket
                   5088:         End
                   5089: ------------------------------------------------------------------
                   5090: Capturing subpattern count = 1
                   5091: Options:
                   5092: No first char
                   5093: No need char
                   5094: Subject length lower bound = 2
                   5095: Starting byte set: a b x 
                   5096:     Note: that { does NOT introduce a quantifier
                   5097: --->Note: that { does NOT introduce a quantifier
                   5098:  +0         ^                                        ([ab]{,4}c|xy)
                   5099:  +1         ^                                        [ab]
                   5100:  +5         ^^                                       {
                   5101: +11         ^                                        x
                   5102:  +0                                 ^                ([ab]{,4}c|xy)
                   5103:  +1                                 ^                [ab]
                   5104:  +5                                 ^^               {
                   5105: +11                                 ^                x
                   5106:  +0                                     ^            ([ab]{,4}c|xy)
                   5107:  +1                                     ^            [ab]
                   5108:  +5                                     ^^           {
                   5109: +11                                     ^            x
                   5110: No match
                   5111: 
                   5112: /([ab]{,4}c|xy)/ICDZSS
                   5113: ------------------------------------------------------------------
                   5114:         Bra
                   5115:         Callout 255 0 14
                   5116:         CBra 1
                   5117:         Callout 255 1 4
                   5118:         [ab]
                   5119:         Callout 255 5 1
                   5120:         {
                   5121:         Callout 255 6 1
                   5122:         ,
                   5123:         Callout 255 7 1
                   5124:         4
                   5125:         Callout 255 8 1
                   5126:         }
                   5127:         Callout 255 9 1
                   5128:         c
                   5129:         Callout 255 10 0
                   5130:         Alt
                   5131:         Callout 255 11 1
                   5132:         x
                   5133:         Callout 255 12 1
                   5134:         y
                   5135:         Callout 255 13 0
                   5136:         Ket
                   5137:         Callout 255 14 0
                   5138:         Ket
                   5139:         End
                   5140: ------------------------------------------------------------------
                   5141: Capturing subpattern count = 1
                   5142: Options:
                   5143: No first char
                   5144: No need char
                   5145:     Note: that { does NOT introduce a quantifier
                   5146: --->Note: that { does NOT introduce a quantifier
                   5147:  +0 ^                                                ([ab]{,4}c|xy)
                   5148:  +1 ^                                                [ab]
                   5149: +11 ^                                                x
                   5150:  +0  ^                                               ([ab]{,4}c|xy)
                   5151:  +1  ^                                               [ab]
                   5152: +11  ^                                               x
                   5153:  +0   ^                                              ([ab]{,4}c|xy)
                   5154:  +1   ^                                              [ab]
                   5155: +11   ^                                              x
                   5156:  +0    ^                                             ([ab]{,4}c|xy)
                   5157:  +1    ^                                             [ab]
                   5158: +11    ^                                             x
                   5159:  +0     ^                                            ([ab]{,4}c|xy)
                   5160:  +1     ^                                            [ab]
                   5161: +11     ^                                            x
                   5162:  +0      ^                                           ([ab]{,4}c|xy)
                   5163:  +1      ^                                           [ab]
                   5164: +11      ^                                           x
                   5165:  +0       ^                                          ([ab]{,4}c|xy)
                   5166:  +1       ^                                          [ab]
                   5167: +11       ^                                          x
                   5168:  +0        ^                                         ([ab]{,4}c|xy)
                   5169:  +1        ^                                         [ab]
                   5170: +11        ^                                         x
                   5171:  +0         ^                                        ([ab]{,4}c|xy)
                   5172:  +1         ^                                        [ab]
                   5173:  +5         ^^                                       {
                   5174: +11         ^                                        x
                   5175:  +0          ^                                       ([ab]{,4}c|xy)
                   5176:  +1          ^                                       [ab]
                   5177: +11          ^                                       x
                   5178:  +0           ^                                      ([ab]{,4}c|xy)
                   5179:  +1           ^                                      [ab]
                   5180: +11           ^                                      x
                   5181:  +0            ^                                     ([ab]{,4}c|xy)
                   5182:  +1            ^                                     [ab]
                   5183: +11            ^                                     x
                   5184:  +0             ^                                    ([ab]{,4}c|xy)
                   5185:  +1             ^                                    [ab]
                   5186: +11             ^                                    x
                   5187:  +0              ^                                   ([ab]{,4}c|xy)
                   5188:  +1              ^                                   [ab]
                   5189: +11              ^                                   x
                   5190:  +0               ^                                  ([ab]{,4}c|xy)
                   5191:  +1               ^                                  [ab]
                   5192: +11               ^                                  x
                   5193:  +0                ^                                 ([ab]{,4}c|xy)
                   5194:  +1                ^                                 [ab]
                   5195: +11                ^                                 x
                   5196:  +0                 ^                                ([ab]{,4}c|xy)
                   5197:  +1                 ^                                [ab]
                   5198: +11                 ^                                x
                   5199:  +0                  ^                               ([ab]{,4}c|xy)
                   5200:  +1                  ^                               [ab]
                   5201: +11                  ^                               x
                   5202:  +0                   ^                              ([ab]{,4}c|xy)
                   5203:  +1                   ^                              [ab]
                   5204: +11                   ^                              x
                   5205:  +0                    ^                             ([ab]{,4}c|xy)
                   5206:  +1                    ^                             [ab]
                   5207: +11                    ^                             x
                   5208:  +0                     ^                            ([ab]{,4}c|xy)
                   5209:  +1                     ^                            [ab]
                   5210: +11                     ^                            x
                   5211:  +0                      ^                           ([ab]{,4}c|xy)
                   5212:  +1                      ^                           [ab]
                   5213: +11                      ^                           x
                   5214:  +0                       ^                          ([ab]{,4}c|xy)
                   5215:  +1                       ^                          [ab]
                   5216: +11                       ^                          x
                   5217:  +0                        ^                         ([ab]{,4}c|xy)
                   5218:  +1                        ^                         [ab]
                   5219: +11                        ^                         x
                   5220:  +0                         ^                        ([ab]{,4}c|xy)
                   5221:  +1                         ^                        [ab]
                   5222: +11                         ^                        x
                   5223:  +0                          ^                       ([ab]{,4}c|xy)
                   5224:  +1                          ^                       [ab]
                   5225: +11                          ^                       x
                   5226:  +0                           ^                      ([ab]{,4}c|xy)
                   5227:  +1                           ^                      [ab]
                   5228: +11                           ^                      x
                   5229:  +0                            ^                     ([ab]{,4}c|xy)
                   5230:  +1                            ^                     [ab]
                   5231: +11                            ^                     x
                   5232:  +0                             ^                    ([ab]{,4}c|xy)
                   5233:  +1                             ^                    [ab]
                   5234: +11                             ^                    x
                   5235:  +0                              ^                   ([ab]{,4}c|xy)
                   5236:  +1                              ^                   [ab]
                   5237: +11                              ^                   x
                   5238:  +0                               ^                  ([ab]{,4}c|xy)
                   5239:  +1                               ^                  [ab]
                   5240: +11                               ^                  x
                   5241:  +0                                ^                 ([ab]{,4}c|xy)
                   5242:  +1                                ^                 [ab]
                   5243: +11                                ^                 x
                   5244:  +0                                 ^                ([ab]{,4}c|xy)
                   5245:  +1                                 ^                [ab]
                   5246:  +5                                 ^^               {
                   5247: +11                                 ^                x
                   5248:  +0                                  ^               ([ab]{,4}c|xy)
                   5249:  +1                                  ^               [ab]
                   5250: +11                                  ^               x
                   5251:  +0                                   ^              ([ab]{,4}c|xy)
                   5252:  +1                                   ^              [ab]
                   5253: +11                                   ^              x
                   5254:  +0                                    ^             ([ab]{,4}c|xy)
                   5255:  +1                                    ^             [ab]
                   5256: +11                                    ^             x
                   5257:  +0                                     ^            ([ab]{,4}c|xy)
                   5258:  +1                                     ^            [ab]
                   5259:  +5                                     ^^           {
                   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: +11                                            ^     x
                   5282:  +0                                             ^    ([ab]{,4}c|xy)
                   5283:  +1                                             ^    [ab]
                   5284: +11                                             ^    x
                   5285: No match
                   5286: 
                   5287: /([ab]{1,4}c|xy){4,5}?123/ICDZ
                   5288: ------------------------------------------------------------------
                   5289:         Bra
                   5290:         Callout 255 0 21
                   5291:         CBra 1
                   5292:         Callout 255 1 9
                   5293:         [ab]{1,4}
                   5294:         Callout 255 10 1
                   5295:         c
                   5296:         Callout 255 11 0
                   5297:         Alt
                   5298:         Callout 255 12 1
                   5299:         x
                   5300:         Callout 255 13 1
                   5301:         y
                   5302:         Callout 255 14 0
                   5303:         Ket
                   5304:         CBra 1
                   5305:         Callout 255 1 9
                   5306:         [ab]{1,4}
                   5307:         Callout 255 10 1
                   5308:         c
                   5309:         Callout 255 11 0
                   5310:         Alt
                   5311:         Callout 255 12 1
                   5312:         x
                   5313:         Callout 255 13 1
                   5314:         y
                   5315:         Callout 255 14 0
                   5316:         Ket
                   5317:         CBra 1
                   5318:         Callout 255 1 9
                   5319:         [ab]{1,4}
                   5320:         Callout 255 10 1
                   5321:         c
                   5322:         Callout 255 11 0
                   5323:         Alt
                   5324:         Callout 255 12 1
                   5325:         x
                   5326:         Callout 255 13 1
                   5327:         y
                   5328:         Callout 255 14 0
                   5329:         Ket
                   5330:         CBra 1
                   5331:         Callout 255 1 9
                   5332:         [ab]{1,4}
                   5333:         Callout 255 10 1
                   5334:         c
                   5335:         Callout 255 11 0
                   5336:         Alt
                   5337:         Callout 255 12 1
                   5338:         x
                   5339:         Callout 255 13 1
                   5340:         y
                   5341:         Callout 255 14 0
                   5342:         Ket
                   5343:         Braminzero
                   5344:         CBra 1
                   5345:         Callout 255 1 9
                   5346:         [ab]{1,4}
                   5347:         Callout 255 10 1
                   5348:         c
                   5349:         Callout 255 11 0
                   5350:         Alt
                   5351:         Callout 255 12 1
                   5352:         x
                   5353:         Callout 255 13 1
                   5354:         y
                   5355:         Callout 255 14 0
                   5356:         Ket
                   5357:         Callout 255 21 1
                   5358:         1
                   5359:         Callout 255 22 1
                   5360:         2
                   5361:         Callout 255 23 1
                   5362:         3
                   5363:         Callout 255 24 0
                   5364:         Ket
                   5365:         End
                   5366: ------------------------------------------------------------------
                   5367: Capturing subpattern count = 1
                   5368: Options:
                   5369: No first char
                   5370: Need char = '3'
                   5371:     aacaacaacaacaac123
                   5372: --->aacaacaacaacaac123
                   5373:  +0 ^                      ([ab]{1,4}c|xy){4,5}?
                   5374:  +1 ^                      [ab]{1,4}
                   5375: +10 ^ ^                    c
                   5376: +11 ^  ^                   |
                   5377:  +1 ^  ^                   [ab]{1,4}
                   5378: +10 ^    ^                 c
                   5379: +11 ^     ^                |
                   5380:  +1 ^     ^                [ab]{1,4}
                   5381: +10 ^       ^              c
                   5382: +11 ^        ^             |
                   5383:  +1 ^        ^             [ab]{1,4}
                   5384: +10 ^          ^           c
                   5385: +11 ^           ^          |
                   5386: +21 ^           ^          1
                   5387:  +1 ^           ^          [ab]{1,4}
                   5388: +10 ^             ^        c
                   5389: +11 ^              ^       |
                   5390: +21 ^              ^       1
                   5391: +22 ^               ^      2
                   5392: +23 ^                ^     3
                   5393: +24 ^                 ^    
                   5394:  0: aacaacaacaacaac123
                   5395:  1: aac
                   5396: 
                   5397: /\b.*/I
                   5398: Capturing subpattern count = 0
1.1.1.4 ! misho    5399: Max lookbehind = 1
1.1       misho    5400: No options
                   5401: No first char
                   5402: No need char
                   5403:   ab cd\>1
                   5404:  0:  cd
                   5405: 
                   5406: /\b.*/Is
                   5407: Capturing subpattern count = 0
1.1.1.4 ! misho    5408: Max lookbehind = 1
1.1       misho    5409: Options: dotall
                   5410: No first char
                   5411: No need char
                   5412:   ab cd\>1
                   5413:  0:  cd
                   5414: 
                   5415: /(?!.bcd).*/I
                   5416: Capturing subpattern count = 0
                   5417: No options
                   5418: No first char
                   5419: No need char
                   5420:   Xbcd12345
                   5421:  0: bcd12345
                   5422: 
                   5423: /abcde/I
                   5424: Capturing subpattern count = 0
                   5425: No options
                   5426: First char = 'a'
                   5427: Need char = 'e'
                   5428:     ab\P
                   5429: Partial match: ab
                   5430:     abc\P
                   5431: Partial match: abc
                   5432:     abcd\P
                   5433: Partial match: abcd
                   5434:     abcde\P
                   5435:  0: abcde
                   5436:     the quick brown abc\P
                   5437: Partial match: abc
                   5438:     ** Failers\P
                   5439: No match
                   5440:     the quick brown abxyz fox\P
                   5441: No match
                   5442: 
                   5443: "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
                   5444: Capturing subpattern count = 3
                   5445: Options: anchored
                   5446: No first char
                   5447: Need char = '/'
                   5448:     13/05/04\P
                   5449:  0: 13/05/04
                   5450:  1: 13
                   5451:  2: 05
                   5452:     13/5/2004\P
                   5453:  0: 13/5/2004
                   5454:  1: 13
                   5455:  2: 5
                   5456:  3: 20
                   5457:     02/05/09\P
                   5458:  0: 02/05/09
                   5459:  1: 02
                   5460:  2: 05
                   5461:     1\P
                   5462: Partial match: 1
                   5463:     1/2\P
                   5464: Partial match: 1/2
                   5465:     1/2/0\P
                   5466: Partial match: 1/2/0
                   5467:     1/2/04\P
                   5468:  0: 1/2/04
                   5469:  1: 1
                   5470:  2: 2
                   5471:     0\P
                   5472: Partial match: 0
                   5473:     02/\P
                   5474: Partial match: 02/
                   5475:     02/0\P
                   5476: Partial match: 02/0
                   5477:     02/1\P
                   5478: Partial match: 02/1
                   5479:     ** Failers\P
                   5480: No match
                   5481:     \P
                   5482: No match
                   5483:     123\P
                   5484: No match
                   5485:     33/4/04\P
                   5486: No match
                   5487:     3/13/04\P
                   5488: No match
                   5489:     0/1/2003\P
                   5490: No match
                   5491:     0/\P
                   5492: No match
                   5493:     02/0/\P
                   5494: No match
                   5495:     02/13\P
                   5496: No match
                   5497: 
                   5498: /0{0,2}ABC/I
                   5499: Capturing subpattern count = 0
                   5500: No options
                   5501: No first char
                   5502: Need char = 'C'
                   5503: 
                   5504: /\d{3,}ABC/I
                   5505: Capturing subpattern count = 0
                   5506: No options
                   5507: No first char
                   5508: Need char = 'C'
                   5509: 
                   5510: /\d*ABC/I
                   5511: Capturing subpattern count = 0
                   5512: No options
                   5513: No first char
                   5514: Need char = 'C'
                   5515: 
                   5516: /[abc]+DE/I
                   5517: Capturing subpattern count = 0
                   5518: No options
                   5519: No first char
                   5520: Need char = 'E'
                   5521: 
                   5522: /[abc]?123/I
                   5523: Capturing subpattern count = 0
                   5524: No options
                   5525: No first char
                   5526: Need char = '3'
                   5527:     123\P
                   5528:  0: 123
                   5529:     a\P
                   5530: Partial match: a
                   5531:     b\P
                   5532: Partial match: b
                   5533:     c\P
                   5534: Partial match: c
                   5535:     c12\P
                   5536: Partial match: c12
                   5537:     c123\P
                   5538:  0: c123
                   5539: 
                   5540: /^(?:\d){3,5}X/I
                   5541: Capturing subpattern count = 0
                   5542: Options: anchored
                   5543: No first char
                   5544: Need char = 'X'
                   5545:     1\P
                   5546: Partial match: 1
                   5547:     123\P
                   5548: Partial match: 123
                   5549:     123X
                   5550:  0: 123X
                   5551:     1234\P
                   5552: Partial match: 1234
                   5553:     1234X
                   5554:  0: 1234X
                   5555:     12345\P
                   5556: Partial match: 12345
                   5557:     12345X
                   5558:  0: 12345X
                   5559:     *** Failers
                   5560: No match
                   5561:     1X
                   5562: No match
                   5563:     123456\P
                   5564: No match
                   5565: 
                   5566: /abc/IS>testsavedregex
                   5567: Capturing subpattern count = 0
                   5568: No options
                   5569: First char = 'a'
                   5570: Need char = 'c'
                   5571: Subject length lower bound = 3
                   5572: No set of starting bytes
                   5573: Compiled pattern written to testsavedregex
                   5574: Study data written to testsavedregex
                   5575: <testsavedregex
                   5576: Compiled pattern loaded from testsavedregex
                   5577: Study data loaded from testsavedregex
                   5578:     abc
                   5579:  0: abc
                   5580:     ** Failers
                   5581: No match
                   5582:     bca
                   5583: No match
                   5584: 
                   5585: /abc/ISS>testsavedregex
                   5586: Capturing subpattern count = 0
                   5587: No options
                   5588: First char = 'a'
                   5589: Need char = 'c'
                   5590: Compiled pattern written to testsavedregex
                   5591: <testsavedregex
                   5592: Compiled pattern loaded from testsavedregex
                   5593: No study data
                   5594:     abc
                   5595:  0: abc
                   5596:     ** Failers
                   5597: No match
                   5598:     bca
                   5599: No match
                   5600: 
                   5601: /abc/IFS>testsavedregex
                   5602: Capturing subpattern count = 0
                   5603: No options
                   5604: First char = 'a'
                   5605: Need char = 'c'
                   5606: Subject length lower bound = 3
                   5607: No set of starting bytes
                   5608: Compiled pattern written to testsavedregex
                   5609: Study data written to testsavedregex
                   5610: <testsavedregex
                   5611: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5612: Study data loaded from testsavedregex
                   5613:     abc
                   5614:  0: abc
                   5615:     ** Failers
                   5616: No match
                   5617:     bca
                   5618: No match
                   5619: 
                   5620: /abc/IFSS>testsavedregex
                   5621: Capturing subpattern count = 0
                   5622: No options
                   5623: First char = 'a'
                   5624: Need char = 'c'
                   5625: Compiled pattern written to testsavedregex
                   5626: <testsavedregex
                   5627: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5628: No study data
                   5629:     abc
                   5630:  0: abc
                   5631:     ** Failers
                   5632: No match
                   5633:     bca
                   5634: No match
                   5635: 
                   5636: /(a|b)/IS>testsavedregex
                   5637: Capturing subpattern count = 1
                   5638: No options
                   5639: No first char
                   5640: No need char
                   5641: Subject length lower bound = 1
                   5642: Starting byte set: a b 
                   5643: Compiled pattern written to testsavedregex
                   5644: Study data written to testsavedregex
                   5645: <testsavedregex
                   5646: Compiled pattern loaded from testsavedregex
                   5647: Study data loaded from testsavedregex
                   5648:     abc
                   5649:  0: a
                   5650:  1: a
                   5651:     ** Failers
                   5652:  0: a
                   5653:  1: a
                   5654:     def
                   5655: No match
                   5656: 
                   5657: /(a|b)/ISS>testsavedregex
                   5658: Capturing subpattern count = 1
                   5659: No options
                   5660: No first char
                   5661: No need char
                   5662: Compiled pattern written to testsavedregex
                   5663: <testsavedregex
                   5664: Compiled pattern loaded from testsavedregex
                   5665: No study data
                   5666:     abc
                   5667:  0: a
                   5668:  1: a
                   5669:     ** Failers
                   5670:  0: a
                   5671:  1: a
                   5672:     def
                   5673: No match
                   5674: 
                   5675: /(a|b)/ISF>testsavedregex
                   5676: Capturing subpattern count = 1
                   5677: No options
                   5678: No first char
                   5679: No need char
                   5680: Subject length lower bound = 1
                   5681: Starting byte set: a b 
                   5682: Compiled pattern written to testsavedregex
                   5683: Study data written to testsavedregex
                   5684: <testsavedregex
                   5685: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5686: Study data loaded from testsavedregex
                   5687:     abc
                   5688:  0: a
                   5689:  1: a
                   5690:     ** Failers
                   5691:  0: a
                   5692:  1: a
                   5693:     def
                   5694: No match
                   5695: 
                   5696: /(a|b)/ISSF>testsavedregex
                   5697: Capturing subpattern count = 1
                   5698: No options
                   5699: No first char
                   5700: No need char
                   5701: Compiled pattern written to testsavedregex
                   5702: <testsavedregex
                   5703: Compiled pattern (byte-inverted) loaded from testsavedregex
                   5704: No study data
                   5705:     abc
                   5706:  0: a
                   5707:  1: a
                   5708:     ** Failers
                   5709:  0: a
                   5710:  1: a
                   5711:     def
                   5712: No match
                   5713: 
                   5714: ~<(\w+)/?>(.)*</(\1)>~smgI
                   5715: Capturing subpattern count = 3
                   5716: Max back reference = 1
                   5717: Options: multiline dotall
                   5718: First char = '<'
                   5719: Need char = '>'
                   5720:     \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>
                   5721:  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>
                   5722:  1: seite
                   5723:  2: \x0a
                   5724:  3: seite
                   5725: 
                   5726: /^a/IF
                   5727: Capturing subpattern count = 0
                   5728: Options: anchored
                   5729: No first char
                   5730: No need char
                   5731: 
                   5732: /line\nbreak/I
                   5733: Capturing subpattern count = 0
                   5734: Contains explicit CR or LF match
                   5735: No options
                   5736: First char = 'l'
                   5737: Need char = 'k'
                   5738:     this is a line\nbreak
                   5739:  0: line\x0abreak
                   5740:     line one\nthis is a line\nbreak in the second line
                   5741:  0: line\x0abreak
                   5742: 
                   5743: /line\nbreak/If
                   5744: Capturing subpattern count = 0
                   5745: Contains explicit CR or LF match
                   5746: Options: firstline
                   5747: First char = 'l'
                   5748: Need char = 'k'
                   5749:     this is a line\nbreak
                   5750:  0: line\x0abreak
                   5751:     ** Failers
                   5752: No match
                   5753:     line one\nthis is a line\nbreak in the second line
                   5754: No match
                   5755: 
                   5756: /line\nbreak/Imf
                   5757: Capturing subpattern count = 0
                   5758: Contains explicit CR or LF match
                   5759: Options: multiline firstline
                   5760: First char = 'l'
                   5761: Need char = 'k'
                   5762:     this is a line\nbreak
                   5763:  0: line\x0abreak
                   5764:     ** Failers
                   5765: No match
                   5766:     line one\nthis is a line\nbreak in the second line
                   5767: No match
                   5768: 
                   5769: /(?i)(?-i)AbCd/I
                   5770: Capturing subpattern count = 0
                   5771: No options
                   5772: First char = 'A'
                   5773: Need char = 'd'
                   5774:     AbCd
                   5775:  0: AbCd
                   5776:     ** Failers
                   5777: No match
                   5778:     abcd
                   5779: No match
                   5780: 
                   5781: /a{11111111111111111111}/I
                   5782: Failed: number too big in {} quantifier at offset 22
                   5783: 
                   5784: /(){64294967295}/I
                   5785: Failed: number too big in {} quantifier at offset 14
                   5786: 
                   5787: /(){2,4294967295}/I
                   5788: Failed: number too big in {} quantifier at offset 15
                   5789: 
                   5790: "(?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
                   5791: Capturing subpattern count = 1
                   5792: Max back reference = 1
                   5793: No options
                   5794: First char = 'a' (caseless)
                   5795: Need char = 'B'
                   5796:     abcdefghijklAkB
                   5797:  0: abcdefghijklAkB
                   5798:  1: k
                   5799: 
                   5800: "(?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
                   5801: Capturing subpattern count = 12
                   5802: Max back reference = 11
                   5803: Named capturing subpatterns:
                   5804:   n0    1
                   5805:   n1    2
                   5806:   n10  11
                   5807:   n11  12
                   5808:   n2    3
                   5809:   n3    4
                   5810:   n4    5
                   5811:   n5    6
                   5812:   n6    7
                   5813:   n7    8
                   5814:   n8    9
                   5815:   n9   10
                   5816: No options
                   5817: First char = 'a'
                   5818: Need char = 'B'
                   5819:     abcdefghijklAkB
                   5820:  0: abcdefghijklAkB
                   5821:  1: a
                   5822:  2: b
                   5823:  3: c
                   5824:  4: d
                   5825:  5: e
                   5826:  6: f
                   5827:  7: g
                   5828:  8: h
                   5829:  9: i
                   5830: 10: j
                   5831: 11: k
                   5832: 12: l
                   5833: 
                   5834: "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
                   5835: Capturing subpattern count = 12
                   5836: Max back reference = 11
                   5837: No options
                   5838: First char = 'a'
                   5839: Need char = 'B'
                   5840:     abcdefghijklAkB
                   5841:  0: abcdefghijklAkB
                   5842:  1: a
                   5843:  2: b
                   5844:  3: c
                   5845:  4: d
                   5846:  5: e
                   5847:  6: f
                   5848:  7: g
                   5849:  8: h
                   5850:  9: i
                   5851: 10: j
                   5852: 11: k
                   5853: 12: l
                   5854: 
                   5855: "(?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
                   5856: Capturing subpattern count = 101
                   5857: Named capturing subpatterns:
                   5858:   name0     1
                   5859:   name1     2
                   5860:   name10   11
                   5861:   name100 101
                   5862:   name11   12
                   5863:   name12   13
                   5864:   name13   14
                   5865:   name14   15
                   5866:   name15   16
                   5867:   name16   17
                   5868:   name17   18
                   5869:   name18   19
                   5870:   name19   20
                   5871:   name2     3
                   5872:   name20   21
                   5873:   name21   22
                   5874:   name22   23
                   5875:   name23   24
                   5876:   name24   25
                   5877:   name25   26
                   5878:   name26   27
                   5879:   name27   28
                   5880:   name28   29
                   5881:   name29   30
                   5882:   name3     4
                   5883:   name30   31
                   5884:   name31   32
                   5885:   name32   33
                   5886:   name33   34
                   5887:   name34   35
                   5888:   name35   36
                   5889:   name36   37
                   5890:   name37   38
                   5891:   name38   39
                   5892:   name39   40
                   5893:   name4     5
                   5894:   name40   41
                   5895:   name41   42
                   5896:   name42   43
                   5897:   name43   44
                   5898:   name44   45
                   5899:   name45   46
                   5900:   name46   47
                   5901:   name47   48
                   5902:   name48   49
                   5903:   name49   50
                   5904:   name5     6
                   5905:   name50   51
                   5906:   name51   52
                   5907:   name52   53
                   5908:   name53   54
                   5909:   name54   55
                   5910:   name55   56
                   5911:   name56   57
                   5912:   name57   58
                   5913:   name58   59
                   5914:   name59   60
                   5915:   name6     7
                   5916:   name60   61
                   5917:   name61   62
                   5918:   name62   63
                   5919:   name63   64
                   5920:   name64   65
                   5921:   name65   66
                   5922:   name66   67
                   5923:   name67   68
                   5924:   name68   69
                   5925:   name69   70
                   5926:   name7     8
                   5927:   name70   71
                   5928:   name71   72
                   5929:   name72   73
                   5930:   name73   74
                   5931:   name74   75
                   5932:   name75   76
                   5933:   name76   77
                   5934:   name77   78
                   5935:   name78   79
                   5936:   name79   80
                   5937:   name8     9
                   5938:   name80   81
                   5939:   name81   82
                   5940:   name82   83
                   5941:   name83   84
                   5942:   name84   85
                   5943:   name85   86
                   5944:   name86   87
                   5945:   name87   88
                   5946:   name88   89
                   5947:   name89   90
                   5948:   name9    10
                   5949:   name90   91
                   5950:   name91   92
                   5951:   name92   93
                   5952:   name93   94
                   5953:   name94   95
                   5954:   name95   96
                   5955:   name96   97
                   5956:   name97   98
                   5957:   name98   99
                   5958:   name99  100
                   5959: No options
                   5960: First char = 'a'
                   5961: Need char = 'a'
                   5962:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   5963: Matched, but too many substrings
                   5964:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   5965:  1: a
                   5966:  2: a
                   5967:  3: a
                   5968:  4: a
                   5969:  5: a
                   5970:  6: a
                   5971:  7: a
                   5972:  8: a
                   5973:  9: a
                   5974: 10: a
                   5975: 11: a
                   5976: 12: a
                   5977: 13: a
                   5978: 14: a
                   5979: 
                   5980: "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
                   5981: Capturing subpattern count = 101
                   5982: No options
                   5983: First char = 'a'
                   5984: Need char = 'a'
                   5985:     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   5986: Matched, but too many substrings
                   5987:  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   5988:  1: a
                   5989:  2: a
                   5990:  3: a
                   5991:  4: a
                   5992:  5: a
                   5993:  6: a
                   5994:  7: a
                   5995:  8: a
                   5996:  9: a
                   5997: 10: a
                   5998: 11: a
                   5999: 12: a
                   6000: 13: a
                   6001: 14: a
                   6002: 
                   6003: /[^()]*(?:\((?R)\)[^()]*)*/I
                   6004: Capturing subpattern count = 0
                   6005: No options
                   6006: No first char
                   6007: No need char
                   6008:     (this(and)that
                   6009:  0: 
                   6010:     (this(and)that)
                   6011:  0: (this(and)that)
                   6012:     (this(and)that)stuff
                   6013:  0: (this(and)that)stuff
                   6014: 
                   6015: /[^()]*(?:\((?>(?R))\)[^()]*)*/I
                   6016: Capturing subpattern count = 0
                   6017: No options
                   6018: No first char
                   6019: No need char
                   6020:     (this(and)that
                   6021:  0: 
                   6022:     (this(and)that)
                   6023:  0: (this(and)that)
                   6024: 
                   6025: /[^()]*(?:\((?R)\))*[^()]*/I
                   6026: Capturing subpattern count = 0
                   6027: No options
                   6028: No first char
                   6029: No need char
                   6030:     (this(and)that
                   6031:  0: 
                   6032:     (this(and)that)
                   6033:  0: (this(and)that)
                   6034: 
                   6035: /(?:\((?R)\))*[^()]*/I
                   6036: Capturing subpattern count = 0
                   6037: No options
                   6038: No first char
                   6039: No need char
                   6040:     (this(and)that
                   6041:  0: 
                   6042:     (this(and)that)
                   6043:  0: 
                   6044:     ((this))
                   6045:  0: ((this))
                   6046: 
                   6047: /(?:\((?R)\))|[^()]*/I
                   6048: Capturing subpattern count = 0
                   6049: No options
                   6050: No first char
                   6051: No need char
                   6052:     (this(and)that
                   6053:  0: 
                   6054:     (this(and)that)
                   6055:  0: 
                   6056:     (this)
                   6057:  0: (this)
                   6058:     ((this))
                   6059:  0: ((this))
                   6060: 
                   6061: /\x{0000ff}/I
                   6062: Capturing subpattern count = 0
                   6063: No options
1.1.1.2   misho    6064: First char = \xff
1.1       misho    6065: No need char
                   6066: 
                   6067: /^((?P<A>a1)|(?P<A>a2)b)/I
                   6068: Failed: two named subpatterns have the same name at offset 17
                   6069: 
                   6070: /^((?P<A>a1)|(?P<A>a2)b)/IJ
                   6071: Capturing subpattern count = 3
                   6072: Named capturing subpatterns:
                   6073:   A   2
                   6074:   A   3
                   6075: Options: anchored dupnames
                   6076: No first char
                   6077: No need char
                   6078:     a1b\CA
                   6079:  0: a1
                   6080:  1: a1
                   6081:  2: a1
                   6082:   C a1 (2) A
                   6083:     a2b\CA
                   6084:  0: a2b
                   6085:  1: a2b
                   6086:  2: <unset>
                   6087:  3: a2
                   6088:   C a2 (2) A
                   6089:     ** Failers
                   6090: No match
                   6091:     a1b\CZ\CA
                   6092: no parentheses with name "Z"
                   6093:  0: a1
                   6094:  1: a1
                   6095:  2: a1
                   6096: copy substring Z failed -7
                   6097:   C a1 (2) A
                   6098: 
                   6099: /^(?P<A>a)(?P<A>b)/IJ
                   6100: Capturing subpattern count = 2
                   6101: Named capturing subpatterns:
                   6102:   A   1
                   6103:   A   2
                   6104: Options: anchored dupnames
                   6105: No first char
                   6106: No need char
                   6107:     ab\CA
                   6108:  0: ab
                   6109:  1: a
                   6110:  2: b
                   6111:   C a (1) A
                   6112: 
                   6113: /^(?P<A>a)(?P<A>b)|cd/IJ
                   6114: Capturing subpattern count = 2
                   6115: Named capturing subpatterns:
                   6116:   A   1
                   6117:   A   2
                   6118: Options: dupnames
                   6119: No first char
                   6120: No need char
                   6121:     ab\CA
                   6122:  0: ab
                   6123:  1: a
                   6124:  2: b
                   6125:   C a (1) A
                   6126:     cd\CA
                   6127:  0: cd
                   6128: copy substring A failed -7
                   6129: 
                   6130: /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
                   6131: Capturing subpattern count = 4
                   6132: Named capturing subpatterns:
                   6133:   A   1
                   6134:   A   2
                   6135:   A   3
                   6136:   A   4
                   6137: Options: dupnames
                   6138: No first char
                   6139: No need char
                   6140:     cdefgh\CA
                   6141:  0: cdefgh
                   6142:  1: <unset>
                   6143:  2: <unset>
                   6144:  3: ef
                   6145:  4: gh
                   6146:   C ef (2) A
                   6147: 
                   6148: /^((?P<A>a1)|(?P<A>a2)b)/IJ
                   6149: Capturing subpattern count = 3
                   6150: Named capturing subpatterns:
                   6151:   A   2
                   6152:   A   3
                   6153: Options: anchored dupnames
                   6154: No first char
                   6155: No need char
                   6156:     a1b\GA
                   6157:  0: a1
                   6158:  1: a1
                   6159:  2: a1
                   6160:   G a1 (2) A
                   6161:     a2b\GA
                   6162:  0: a2b
                   6163:  1: a2b
                   6164:  2: <unset>
                   6165:  3: a2
                   6166:   G a2 (2) A
                   6167:     ** Failers
                   6168: No match
                   6169:     a1b\GZ\GA
                   6170: no parentheses with name "Z"
                   6171:  0: a1
                   6172:  1: a1
                   6173:  2: a1
1.1.1.2   misho    6174: get substring Z failed -7
1.1       misho    6175:   G a1 (2) A
                   6176: 
                   6177: /^(?P<A>a)(?P<A>b)/IJ
                   6178: Capturing subpattern count = 2
                   6179: Named capturing subpatterns:
                   6180:   A   1
                   6181:   A   2
                   6182: Options: anchored dupnames
                   6183: No first char
                   6184: No need char
                   6185:     ab\GA
                   6186:  0: ab
                   6187:  1: a
                   6188:  2: b
                   6189:   G a (1) A
                   6190: 
                   6191: /^(?P<A>a)(?P<A>b)|cd/IJ
                   6192: Capturing subpattern count = 2
                   6193: Named capturing subpatterns:
                   6194:   A   1
                   6195:   A   2
                   6196: Options: dupnames
                   6197: No first char
                   6198: No need char
                   6199:     ab\GA
                   6200:  0: ab
                   6201:  1: a
                   6202:  2: b
                   6203:   G a (1) A
                   6204:     cd\GA
                   6205:  0: cd
1.1.1.2   misho    6206: get substring A failed -7
1.1       misho    6207: 
                   6208: /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
                   6209: Capturing subpattern count = 4
                   6210: Named capturing subpatterns:
                   6211:   A   1
                   6212:   A   2
                   6213:   A   3
                   6214:   A   4
                   6215: Options: dupnames
                   6216: No first char
                   6217: No need char
                   6218:     cdefgh\GA
                   6219:  0: cdefgh
                   6220:  1: <unset>
                   6221:  2: <unset>
                   6222:  3: ef
                   6223:  4: gh
                   6224:   G ef (2) A
                   6225: 
                   6226: /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
                   6227: Capturing subpattern count = 3
                   6228: Named capturing subpatterns:
                   6229:   A   2
                   6230:   A   3
                   6231: Options: anchored dupnames
                   6232: Duplicate name status changes
                   6233: No first char
                   6234: No need char
                   6235:     a1b\CA
                   6236:  0: a1
                   6237:  1: a1
                   6238:  2: a1
                   6239:   C a1 (2) A
                   6240:     a2b\CA
                   6241:  0: a2b
                   6242:  1: a2b
                   6243:  2: <unset>
                   6244:  3: a2
                   6245:   C a2 (2) A
                   6246: 
                   6247: /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
                   6248: Failed: two named subpatterns have the same name at offset 37
                   6249: 
                   6250: / In this next test, J is not set at the outer level; consequently it isn't
                   6251: set in the pattern's options; consequently pcre_get_named_substring() produces
                   6252: a random value. /Ix
                   6253: Capturing subpattern count = 1
                   6254: Options: extended
                   6255: First char = 'I'
                   6256: Need char = 'e'
                   6257: 
                   6258: /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
                   6259: Capturing subpattern count = 4
                   6260: Named capturing subpatterns:
                   6261:   A   1
                   6262:   B   2
                   6263:   B   3
                   6264:   C   4
                   6265: Options: anchored
                   6266: Duplicate name status changes
                   6267: No first char
                   6268: No need char
                   6269:     a bc d\CA\CB\CC
                   6270:  0: a bc d
                   6271:  1: a
                   6272:  2: b
                   6273:  3: c
                   6274:  4: d
                   6275:   C a (1) A
                   6276:   C b (1) B
                   6277:   C d (1) C
                   6278: 
                   6279: /^(?P<A>a)?(?(A)a|b)/I
                   6280: Capturing subpattern count = 1
                   6281: Named capturing subpatterns:
                   6282:   A   1
                   6283: Options: anchored
                   6284: No first char
                   6285: No need char
                   6286:     aabc
                   6287:  0: aa
                   6288:  1: a
                   6289:     bc
                   6290:  0: b
                   6291:     ** Failers
                   6292: No match
                   6293:     abc
                   6294: No match
                   6295: 
                   6296: /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
                   6297: Capturing subpattern count = 1
                   6298: Named capturing subpatterns:
                   6299:   ZZ   1
                   6300: No options
                   6301: No first char
                   6302: Need char = 'X'
                   6303:     bXaX
                   6304:  0: bXaX
                   6305:  1: X
                   6306: 
                   6307: /(?:(?(2y)a|b)(X))+/I
                   6308: Failed: reference to non-existent subpattern at offset 9
                   6309: 
                   6310: /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
                   6311: Failed: reference to non-existent subpattern at offset 9
                   6312: 
                   6313: /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
                   6314: Capturing subpattern count = 1
                   6315: Named capturing subpatterns:
                   6316:   ZZ   1
                   6317: No options
                   6318: No first char
                   6319: Need char = 'X'
                   6320:     bbXaaX
                   6321:  0: bbXaaX
                   6322:  1: X
                   6323: 
                   6324: /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
                   6325: Capturing subpattern count = 1
                   6326: Named capturing subpatterns:
                   6327:   ZZ   1
                   6328: No options
                   6329: No first char
                   6330: Need char = 'X'
                   6331:     (b)\\Xa\\X
                   6332:  0: (b)\Xa\X
                   6333:  1: X
                   6334: 
                   6335: /(?P<ABC/I
                   6336: Failed: syntax error in subpattern name (missing terminator) at offset 7
                   6337: 
                   6338: /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
                   6339: Capturing subpattern count = 1
                   6340: Max back reference = 1
                   6341: Named capturing subpatterns:
                   6342:   A   1
                   6343: No options
                   6344: No first char
                   6345: No need char
                   6346:     bXXaYYaY
                   6347:  0: bXXaYYaY
                   6348:  1: Y
                   6349:     bXYaXXaX
                   6350:  0: bX
                   6351:  1: X
                   6352: 
                   6353: /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
                   6354: Capturing subpattern count = 10
                   6355: Max back reference = 10
                   6356: Named capturing subpatterns:
                   6357:   A  10
                   6358: No options
                   6359: No first char
                   6360: No need char
                   6361:     bXXaYYaY
                   6362:  0: bXXaYYaY
                   6363:  1: 
                   6364:  2: 
                   6365:  3: 
                   6366:  4: 
                   6367:  5: 
                   6368:  6: 
                   6369:  7: 
                   6370:  8: 
                   6371:  9: 
                   6372: 10: Y
                   6373: 
                   6374: /\s*,\s*/IS
                   6375: Capturing subpattern count = 0
                   6376: No options
                   6377: No first char
                   6378: Need char = ','
                   6379: Subject length lower bound = 1
                   6380: Starting byte set: \x09 \x0a \x0c \x0d \x20 , 
                   6381:     \x0b,\x0b
                   6382:  0: ,
                   6383:     \x0c,\x0d
                   6384:  0: \x0c,\x0d
                   6385: 
                   6386: /^abc/Im
                   6387: Capturing subpattern count = 0
                   6388: Options: multiline
                   6389: First char at start or follows newline
                   6390: Need char = 'c'
                   6391:     xyz\nabc
                   6392:  0: abc
                   6393:     xyz\nabc\<lf>
                   6394:  0: abc
                   6395:     xyz\r\nabc\<lf>
                   6396:  0: abc
                   6397:     xyz\rabc\<cr>
                   6398:  0: abc
                   6399:     xyz\r\nabc\<crlf>
                   6400:  0: abc
                   6401:     ** Failers
                   6402: No match
                   6403:     xyz\nabc\<cr>
                   6404: No match
                   6405:     xyz\r\nabc\<cr>
                   6406: No match
                   6407:     xyz\nabc\<crlf>
                   6408: No match
                   6409:     xyz\rabc\<crlf>
                   6410: No match
                   6411:     xyz\rabc\<lf>
                   6412: No match
                   6413: 
                   6414: /abc$/Im<lf>
                   6415: Capturing subpattern count = 0
                   6416: Options: multiline
                   6417: Forced newline sequence: LF
                   6418: First char = 'a'
                   6419: Need char = 'c'
                   6420:     xyzabc
                   6421:  0: abc
                   6422:     xyzabc\n
                   6423:  0: abc
                   6424:     xyzabc\npqr
                   6425:  0: abc
                   6426:     xyzabc\r\<cr>
                   6427:  0: abc
                   6428:     xyzabc\rpqr\<cr>
                   6429:  0: abc
                   6430:     xyzabc\r\n\<crlf>
                   6431:  0: abc
                   6432:     xyzabc\r\npqr\<crlf>
                   6433:  0: abc
                   6434:     ** Failers
                   6435: No match
                   6436:     xyzabc\r
                   6437: No match
                   6438:     xyzabc\rpqr
                   6439: No match
                   6440:     xyzabc\r\n
                   6441: No match
                   6442:     xyzabc\r\npqr
                   6443: No match
                   6444: 
                   6445: /^abc/Im<cr>
                   6446: Capturing subpattern count = 0
                   6447: Options: multiline
                   6448: Forced newline sequence: CR
                   6449: First char at start or follows newline
                   6450: Need char = 'c'
                   6451:     xyz\rabcdef
                   6452:  0: abc
                   6453:     xyz\nabcdef\<lf>
                   6454:  0: abc
                   6455:     ** Failers
                   6456: No match
                   6457:     xyz\nabcdef
                   6458: No match
                   6459: 
                   6460: /^abc/Im<lf>
                   6461: Capturing subpattern count = 0
                   6462: Options: multiline
                   6463: Forced newline sequence: LF
                   6464: First char at start or follows newline
                   6465: Need char = 'c'
                   6466:     xyz\nabcdef
                   6467:  0: abc
                   6468:     xyz\rabcdef\<cr>
                   6469:  0: abc
                   6470:     ** Failers
                   6471: No match
                   6472:     xyz\rabcdef
                   6473: No match
                   6474: 
                   6475: /^abc/Im<crlf>
                   6476: Capturing subpattern count = 0
                   6477: Options: multiline
                   6478: Forced newline sequence: CRLF
                   6479: First char at start or follows newline
                   6480: Need char = 'c'
                   6481:     xyz\r\nabcdef
                   6482:  0: abc
                   6483:     xyz\rabcdef\<cr>
                   6484:  0: abc
                   6485:     ** Failers
                   6486: No match
                   6487:     xyz\rabcdef
                   6488: No match
                   6489: 
                   6490: /^abc/Im<bad>
                   6491: Unknown newline type at: <bad>
                   6492: 
                   6493: 
                   6494: /abc/I
                   6495: Capturing subpattern count = 0
                   6496: No options
                   6497: First char = 'a'
                   6498: Need char = 'c'
                   6499:     xyz\rabc\<bad>
                   6500: Unknown newline type at: <bad>
                   6501:     abc
                   6502:  0: abc
                   6503: 
                   6504: /.*/I<lf>
                   6505: Capturing subpattern count = 0
                   6506: Options:
                   6507: Forced newline sequence: LF
                   6508: First char at start or follows newline
                   6509: No need char
                   6510:     abc\ndef
                   6511:  0: abc
                   6512:     abc\rdef
                   6513:  0: abc\x0ddef
                   6514:     abc\r\ndef
                   6515:  0: abc\x0d
                   6516:     \<cr>abc\ndef
                   6517:  0: abc\x0adef
                   6518:     \<cr>abc\rdef
                   6519:  0: abc
                   6520:     \<cr>abc\r\ndef
                   6521:  0: abc
                   6522:     \<crlf>abc\ndef
                   6523:  0: abc\x0adef
                   6524:     \<crlf>abc\rdef
                   6525:  0: abc\x0ddef
                   6526:     \<crlf>abc\r\ndef
                   6527:  0: abc
                   6528: 
                   6529: /\w+(.)(.)?def/Is
                   6530: Capturing subpattern count = 2
                   6531: Options: dotall
                   6532: No first char
                   6533: Need char = 'f'
                   6534:     abc\ndef
                   6535:  0: abc\x0adef
                   6536:  1: \x0a
                   6537:     abc\rdef
                   6538:  0: abc\x0ddef
                   6539:  1: \x0d
                   6540:     abc\r\ndef
                   6541:  0: abc\x0d\x0adef
                   6542:  1: \x0d
                   6543:  2: \x0a
                   6544: 
                   6545: +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
                   6546: Capturing subpattern count = 1
                   6547: No options
                   6548: No first char
                   6549: No need char
                   6550:    /* this is a C style comment */\M
                   6551: Minimum match() limit = 120
                   6552: Minimum match() recursion limit = 6
                   6553:  0: /* this is a C style comment */
                   6554:  1: /* this is a C style comment */
                   6555: 
                   6556: /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
                   6557: Capturing subpattern count = 1
                   6558: Named capturing subpatterns:
                   6559:   B   1
                   6560: No options
                   6561: No first char
                   6562: Need char = '.'
                   6563: 
                   6564: /()()()()()()()()()()()()()()()()()()()()
                   6565:  ()()()()()()()()()()()()()()()()()()()()
                   6566:  ()()()()()()()()()()()()()()()()()()()()
                   6567:  ()()()()()()()()()()()()()()()()()()()()
                   6568:  ()()()()()()()()()()()()()()()()()()()()
                   6569:  (.(.))/Ix
                   6570: Capturing subpattern count = 102
                   6571: Options: extended
                   6572: No first char
                   6573: No need char
                   6574:     XY\O400
                   6575:  0: XY
                   6576:  1: 
                   6577:  2: 
                   6578:  3: 
                   6579:  4: 
                   6580:  5: 
                   6581:  6: 
                   6582:  7: 
                   6583:  8: 
                   6584:  9: 
                   6585: 10: 
                   6586: 11: 
                   6587: 12: 
                   6588: 13: 
                   6589: 14: 
                   6590: 15: 
                   6591: 16: 
                   6592: 17: 
                   6593: 18: 
                   6594: 19: 
                   6595: 20: 
                   6596: 21: 
                   6597: 22: 
                   6598: 23: 
                   6599: 24: 
                   6600: 25: 
                   6601: 26: 
                   6602: 27: 
                   6603: 28: 
                   6604: 29: 
                   6605: 30: 
                   6606: 31: 
                   6607: 32: 
                   6608: 33: 
                   6609: 34: 
                   6610: 35: 
                   6611: 36: 
                   6612: 37: 
                   6613: 38: 
                   6614: 39: 
                   6615: 40: 
                   6616: 41: 
                   6617: 42: 
                   6618: 43: 
                   6619: 44: 
                   6620: 45: 
                   6621: 46: 
                   6622: 47: 
                   6623: 48: 
                   6624: 49: 
                   6625: 50: 
                   6626: 51: 
                   6627: 52: 
                   6628: 53: 
                   6629: 54: 
                   6630: 55: 
                   6631: 56: 
                   6632: 57: 
                   6633: 58: 
                   6634: 59: 
                   6635: 60: 
                   6636: 61: 
                   6637: 62: 
                   6638: 63: 
                   6639: 64: 
                   6640: 65: 
                   6641: 66: 
                   6642: 67: 
                   6643: 68: 
                   6644: 69: 
                   6645: 70: 
                   6646: 71: 
                   6647: 72: 
                   6648: 73: 
                   6649: 74: 
                   6650: 75: 
                   6651: 76: 
                   6652: 77: 
                   6653: 78: 
                   6654: 79: 
                   6655: 80: 
                   6656: 81: 
                   6657: 82: 
                   6658: 83: 
                   6659: 84: 
                   6660: 85: 
                   6661: 86: 
                   6662: 87: 
                   6663: 88: 
                   6664: 89: 
                   6665: 90: 
                   6666: 91: 
                   6667: 92: 
                   6668: 93: 
                   6669: 94: 
                   6670: 95: 
                   6671: 96: 
                   6672: 97: 
                   6673: 98: 
                   6674: 99: 
                   6675: 100: 
                   6676: 101: XY
                   6677: 102: Y
                   6678: 
                   6679: /(a*b|(?i:c*(?-i)d))/IS
                   6680: Capturing subpattern count = 1
                   6681: No options
                   6682: No first char
                   6683: No need char
                   6684: Subject length lower bound = 1
                   6685: Starting byte set: C a b c d 
                   6686: 
                   6687: /()[ab]xyz/IS
                   6688: Capturing subpattern count = 1
                   6689: No options
                   6690: No first char
                   6691: Need char = 'z'
                   6692: Subject length lower bound = 4
                   6693: Starting byte set: a b 
                   6694: 
                   6695: /(|)[ab]xyz/IS
                   6696: Capturing subpattern count = 1
                   6697: No options
                   6698: No first char
                   6699: Need char = 'z'
                   6700: Subject length lower bound = 4
                   6701: Starting byte set: a b 
                   6702: 
                   6703: /(|c)[ab]xyz/IS
                   6704: Capturing subpattern count = 1
                   6705: No options
                   6706: No first char
                   6707: Need char = 'z'
                   6708: Subject length lower bound = 4
                   6709: Starting byte set: a b c 
                   6710: 
                   6711: /(|c?)[ab]xyz/IS
                   6712: Capturing subpattern count = 1
                   6713: No options
                   6714: No first char
                   6715: Need char = 'z'
                   6716: Subject length lower bound = 4
                   6717: Starting byte set: a b c 
                   6718: 
                   6719: /(d?|c?)[ab]xyz/IS
                   6720: Capturing subpattern count = 1
                   6721: No options
                   6722: No first char
                   6723: Need char = 'z'
                   6724: Subject length lower bound = 4
                   6725: Starting byte set: a b c d 
                   6726: 
                   6727: /(d?|c)[ab]xyz/IS
                   6728: Capturing subpattern count = 1
                   6729: No options
                   6730: No first char
                   6731: Need char = 'z'
                   6732: Subject length lower bound = 4
                   6733: Starting byte set: a b c d 
                   6734: 
                   6735: /^a*b\d/DZ
                   6736: ------------------------------------------------------------------
                   6737:         Bra
                   6738:         ^
                   6739:         a*+
                   6740:         b
                   6741:         \d
                   6742:         Ket
                   6743:         End
                   6744: ------------------------------------------------------------------
                   6745: Capturing subpattern count = 0
                   6746: Options: anchored
                   6747: No first char
                   6748: Need char = 'b'
                   6749: 
                   6750: /^a*+b\d/DZ
                   6751: ------------------------------------------------------------------
                   6752:         Bra
                   6753:         ^
                   6754:         a*+
                   6755:         b
                   6756:         \d
                   6757:         Ket
                   6758:         End
                   6759: ------------------------------------------------------------------
                   6760: Capturing subpattern count = 0
                   6761: Options: anchored
                   6762: No first char
                   6763: Need char = 'b'
                   6764: 
                   6765: /^a*?b\d/DZ
                   6766: ------------------------------------------------------------------
                   6767:         Bra
                   6768:         ^
                   6769:         a*+
                   6770:         b
                   6771:         \d
                   6772:         Ket
                   6773:         End
                   6774: ------------------------------------------------------------------
                   6775: Capturing subpattern count = 0
                   6776: Options: anchored
                   6777: No first char
                   6778: Need char = 'b'
                   6779: 
                   6780: /^a+A\d/DZ
                   6781: ------------------------------------------------------------------
                   6782:         Bra
                   6783:         ^
                   6784:         a++
                   6785:         A
                   6786:         \d
                   6787:         Ket
                   6788:         End
                   6789: ------------------------------------------------------------------
                   6790: Capturing subpattern count = 0
                   6791: Options: anchored
                   6792: No first char
                   6793: Need char = 'A'
                   6794:     aaaA5
                   6795:  0: aaaA5
                   6796:     ** Failers
                   6797: No match
                   6798:     aaaa5
                   6799: No match
                   6800: 
                   6801: /^a*A\d/IiDZ
                   6802: ------------------------------------------------------------------
                   6803:         Bra
                   6804:         ^
                   6805:      /i a*
                   6806:      /i A
                   6807:         \d
                   6808:         Ket
                   6809:         End
                   6810: ------------------------------------------------------------------
                   6811: Capturing subpattern count = 0
                   6812: Options: anchored caseless
                   6813: No first char
                   6814: Need char = 'A' (caseless)
                   6815:     aaaA5
                   6816:  0: aaaA5
                   6817:     aaaa5
                   6818:  0: aaaa5
                   6819: 
                   6820: /(a*|b*)[cd]/IS
                   6821: Capturing subpattern count = 1
                   6822: No options
                   6823: No first char
                   6824: No need char
                   6825: Subject length lower bound = 1
                   6826: Starting byte set: a b c d 
                   6827: 
                   6828: /(a+|b*)[cd]/IS
                   6829: Capturing subpattern count = 1
                   6830: No options
                   6831: No first char
                   6832: No need char
                   6833: Subject length lower bound = 1
                   6834: Starting byte set: a b c d 
                   6835: 
                   6836: /(a*|b+)[cd]/IS
                   6837: Capturing subpattern count = 1
                   6838: No options
                   6839: No first char
                   6840: No need char
                   6841: Subject length lower bound = 1
                   6842: Starting byte set: a b c d 
                   6843: 
                   6844: /(a+|b+)[cd]/IS
                   6845: Capturing subpattern count = 1
                   6846: No options
                   6847: No first char
                   6848: No need char
                   6849: Subject length lower bound = 2
                   6850: Starting byte set: a b 
                   6851: 
                   6852: /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
                   6853:  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
                   6854:  (((
                   6855:  a
                   6856:  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
                   6857:  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
                   6858:  )))
                   6859: /Ix
                   6860: Capturing subpattern count = 203
                   6861: Options: extended
                   6862: First char = 'a'
                   6863: No need char
                   6864:   large nest
                   6865: Matched, but too many substrings
                   6866:  0: a
                   6867:  1: a
                   6868:  2: a
                   6869:  3: a
                   6870:  4: a
                   6871:  5: a
                   6872:  6: a
                   6873:  7: a
                   6874:  8: a
                   6875:  9: a
                   6876: 10: a
                   6877: 11: a
                   6878: 12: a
                   6879: 13: a
                   6880: 14: a
                   6881: 
                   6882: /a*\d/BZ
                   6883: ------------------------------------------------------------------
                   6884:         Bra
                   6885:         a*+
                   6886:         \d
                   6887:         Ket
                   6888:         End
                   6889: ------------------------------------------------------------------
                   6890: 
                   6891: /a*\D/BZ
                   6892: ------------------------------------------------------------------
                   6893:         Bra
                   6894:         a*
                   6895:         \D
                   6896:         Ket
                   6897:         End
                   6898: ------------------------------------------------------------------
                   6899: 
                   6900: /0*\d/BZ
                   6901: ------------------------------------------------------------------
                   6902:         Bra
                   6903:         0*
                   6904:         \d
                   6905:         Ket
                   6906:         End
                   6907: ------------------------------------------------------------------
                   6908: 
                   6909: /0*\D/BZ
                   6910: ------------------------------------------------------------------
                   6911:         Bra
                   6912:         0*+
                   6913:         \D
                   6914:         Ket
                   6915:         End
                   6916: ------------------------------------------------------------------
                   6917: 
                   6918: /a*\s/BZ
                   6919: ------------------------------------------------------------------
                   6920:         Bra
                   6921:         a*+
                   6922:         \s
                   6923:         Ket
                   6924:         End
                   6925: ------------------------------------------------------------------
                   6926: 
                   6927: /a*\S/BZ
                   6928: ------------------------------------------------------------------
                   6929:         Bra
                   6930:         a*
                   6931:         \S
                   6932:         Ket
                   6933:         End
                   6934: ------------------------------------------------------------------
                   6935: 
                   6936: / *\s/BZ
                   6937: ------------------------------------------------------------------
                   6938:         Bra
                   6939:          *
                   6940:         \s
                   6941:         Ket
                   6942:         End
                   6943: ------------------------------------------------------------------
                   6944: 
                   6945: / *\S/BZ
                   6946: ------------------------------------------------------------------
                   6947:         Bra
                   6948:          *+
                   6949:         \S
                   6950:         Ket
                   6951:         End
                   6952: ------------------------------------------------------------------
                   6953: 
                   6954: /a*\w/BZ
                   6955: ------------------------------------------------------------------
                   6956:         Bra
                   6957:         a*
                   6958:         \w
                   6959:         Ket
                   6960:         End
                   6961: ------------------------------------------------------------------
                   6962: 
                   6963: /a*\W/BZ
                   6964: ------------------------------------------------------------------
                   6965:         Bra
                   6966:         a*+
                   6967:         \W
                   6968:         Ket
                   6969:         End
                   6970: ------------------------------------------------------------------
                   6971: 
                   6972: /=*\w/BZ
                   6973: ------------------------------------------------------------------
                   6974:         Bra
                   6975:         =*+
                   6976:         \w
                   6977:         Ket
                   6978:         End
                   6979: ------------------------------------------------------------------
                   6980: 
                   6981: /=*\W/BZ
                   6982: ------------------------------------------------------------------
                   6983:         Bra
                   6984:         =*
                   6985:         \W
                   6986:         Ket
                   6987:         End
                   6988: ------------------------------------------------------------------
                   6989: 
                   6990: /\d*a/BZ
                   6991: ------------------------------------------------------------------
                   6992:         Bra
                   6993:         \d*+
                   6994:         a
                   6995:         Ket
                   6996:         End
                   6997: ------------------------------------------------------------------
                   6998: 
                   6999: /\d*2/BZ
                   7000: ------------------------------------------------------------------
                   7001:         Bra
                   7002:         \d*
                   7003:         2
                   7004:         Ket
                   7005:         End
                   7006: ------------------------------------------------------------------
                   7007: 
                   7008: /\d*\d/BZ
                   7009: ------------------------------------------------------------------
                   7010:         Bra
                   7011:         \d*
                   7012:         \d
                   7013:         Ket
                   7014:         End
                   7015: ------------------------------------------------------------------
                   7016: 
                   7017: /\d*\D/BZ
                   7018: ------------------------------------------------------------------
                   7019:         Bra
                   7020:         \d*+
                   7021:         \D
                   7022:         Ket
                   7023:         End
                   7024: ------------------------------------------------------------------
                   7025: 
                   7026: /\d*\s/BZ
                   7027: ------------------------------------------------------------------
                   7028:         Bra
                   7029:         \d*+
                   7030:         \s
                   7031:         Ket
                   7032:         End
                   7033: ------------------------------------------------------------------
                   7034: 
                   7035: /\d*\S/BZ
                   7036: ------------------------------------------------------------------
                   7037:         Bra
                   7038:         \d*
                   7039:         \S
                   7040:         Ket
                   7041:         End
                   7042: ------------------------------------------------------------------
                   7043: 
                   7044: /\d*\w/BZ
                   7045: ------------------------------------------------------------------
                   7046:         Bra
                   7047:         \d*
                   7048:         \w
                   7049:         Ket
                   7050:         End
                   7051: ------------------------------------------------------------------
                   7052: 
                   7053: /\d*\W/BZ
                   7054: ------------------------------------------------------------------
                   7055:         Bra
                   7056:         \d*+
                   7057:         \W
                   7058:         Ket
                   7059:         End
                   7060: ------------------------------------------------------------------
                   7061: 
                   7062: /\D*a/BZ
                   7063: ------------------------------------------------------------------
                   7064:         Bra
                   7065:         \D*
                   7066:         a
                   7067:         Ket
                   7068:         End
                   7069: ------------------------------------------------------------------
                   7070: 
                   7071: /\D*2/BZ
                   7072: ------------------------------------------------------------------
                   7073:         Bra
                   7074:         \D*+
                   7075:         2
                   7076:         Ket
                   7077:         End
                   7078: ------------------------------------------------------------------
                   7079: 
                   7080: /\D*\d/BZ
                   7081: ------------------------------------------------------------------
                   7082:         Bra
                   7083:         \D*+
                   7084:         \d
                   7085:         Ket
                   7086:         End
                   7087: ------------------------------------------------------------------
                   7088: 
                   7089: /\D*\D/BZ
                   7090: ------------------------------------------------------------------
                   7091:         Bra
                   7092:         \D*
                   7093:         \D
                   7094:         Ket
                   7095:         End
                   7096: ------------------------------------------------------------------
                   7097: 
                   7098: /\D*\s/BZ
                   7099: ------------------------------------------------------------------
                   7100:         Bra
                   7101:         \D*
                   7102:         \s
                   7103:         Ket
                   7104:         End
                   7105: ------------------------------------------------------------------
                   7106: 
                   7107: /\D*\S/BZ
                   7108: ------------------------------------------------------------------
                   7109:         Bra
                   7110:         \D*
                   7111:         \S
                   7112:         Ket
                   7113:         End
                   7114: ------------------------------------------------------------------
                   7115: 
                   7116: /\D*\w/BZ
                   7117: ------------------------------------------------------------------
                   7118:         Bra
                   7119:         \D*
                   7120:         \w
                   7121:         Ket
                   7122:         End
                   7123: ------------------------------------------------------------------
                   7124: 
                   7125: /\D*\W/BZ
                   7126: ------------------------------------------------------------------
                   7127:         Bra
                   7128:         \D*
                   7129:         \W
                   7130:         Ket
                   7131:         End
                   7132: ------------------------------------------------------------------
                   7133: 
                   7134: /\s*a/BZ
                   7135: ------------------------------------------------------------------
                   7136:         Bra
                   7137:         \s*+
                   7138:         a
                   7139:         Ket
                   7140:         End
                   7141: ------------------------------------------------------------------
                   7142: 
                   7143: /\s*2/BZ
                   7144: ------------------------------------------------------------------
                   7145:         Bra
                   7146:         \s*+
                   7147:         2
                   7148:         Ket
                   7149:         End
                   7150: ------------------------------------------------------------------
                   7151: 
                   7152: /\s*\d/BZ
                   7153: ------------------------------------------------------------------
                   7154:         Bra
                   7155:         \s*+
                   7156:         \d
                   7157:         Ket
                   7158:         End
                   7159: ------------------------------------------------------------------
                   7160: 
                   7161: /\s*\D/BZ
                   7162: ------------------------------------------------------------------
                   7163:         Bra
                   7164:         \s*
                   7165:         \D
                   7166:         Ket
                   7167:         End
                   7168: ------------------------------------------------------------------
                   7169: 
                   7170: /\s*\s/BZ
                   7171: ------------------------------------------------------------------
                   7172:         Bra
                   7173:         \s*
                   7174:         \s
                   7175:         Ket
                   7176:         End
                   7177: ------------------------------------------------------------------
                   7178: 
                   7179: /\s*\S/BZ
                   7180: ------------------------------------------------------------------
                   7181:         Bra
                   7182:         \s*+
                   7183:         \S
                   7184:         Ket
                   7185:         End
                   7186: ------------------------------------------------------------------
                   7187: 
                   7188: /\s*\w/BZ
                   7189: ------------------------------------------------------------------
                   7190:         Bra
                   7191:         \s*+
                   7192:         \w
                   7193:         Ket
                   7194:         End
                   7195: ------------------------------------------------------------------
                   7196: 
                   7197: /\s*\W/BZ
                   7198: ------------------------------------------------------------------
                   7199:         Bra
                   7200:         \s*
                   7201:         \W
                   7202:         Ket
                   7203:         End
                   7204: ------------------------------------------------------------------
                   7205: 
                   7206: /\S*a/BZ
                   7207: ------------------------------------------------------------------
                   7208:         Bra
                   7209:         \S*
                   7210:         a
                   7211:         Ket
                   7212:         End
                   7213: ------------------------------------------------------------------
                   7214: 
                   7215: /\S*2/BZ
                   7216: ------------------------------------------------------------------
                   7217:         Bra
                   7218:         \S*
                   7219:         2
                   7220:         Ket
                   7221:         End
                   7222: ------------------------------------------------------------------
                   7223: 
                   7224: /\S*\d/BZ
                   7225: ------------------------------------------------------------------
                   7226:         Bra
                   7227:         \S*
                   7228:         \d
                   7229:         Ket
                   7230:         End
                   7231: ------------------------------------------------------------------
                   7232: 
                   7233: /\S*\D/BZ
                   7234: ------------------------------------------------------------------
                   7235:         Bra
                   7236:         \S*
                   7237:         \D
                   7238:         Ket
                   7239:         End
                   7240: ------------------------------------------------------------------
                   7241: 
                   7242: /\S*\s/BZ
                   7243: ------------------------------------------------------------------
                   7244:         Bra
                   7245:         \S*+
                   7246:         \s
                   7247:         Ket
                   7248:         End
                   7249: ------------------------------------------------------------------
                   7250: 
                   7251: /\S*\S/BZ
                   7252: ------------------------------------------------------------------
                   7253:         Bra
                   7254:         \S*
                   7255:         \S
                   7256:         Ket
                   7257:         End
                   7258: ------------------------------------------------------------------
                   7259: 
                   7260: /\S*\w/BZ
                   7261: ------------------------------------------------------------------
                   7262:         Bra
                   7263:         \S*
                   7264:         \w
                   7265:         Ket
                   7266:         End
                   7267: ------------------------------------------------------------------
                   7268: 
                   7269: /\S*\W/BZ
                   7270: ------------------------------------------------------------------
                   7271:         Bra
                   7272:         \S*
                   7273:         \W
                   7274:         Ket
                   7275:         End
                   7276: ------------------------------------------------------------------
                   7277: 
                   7278: /\w*a/BZ
                   7279: ------------------------------------------------------------------
                   7280:         Bra
                   7281:         \w*
                   7282:         a
                   7283:         Ket
                   7284:         End
                   7285: ------------------------------------------------------------------
                   7286: 
                   7287: /\w*2/BZ
                   7288: ------------------------------------------------------------------
                   7289:         Bra
                   7290:         \w*
                   7291:         2
                   7292:         Ket
                   7293:         End
                   7294: ------------------------------------------------------------------
                   7295: 
                   7296: /\w*\d/BZ
                   7297: ------------------------------------------------------------------
                   7298:         Bra
                   7299:         \w*
                   7300:         \d
                   7301:         Ket
                   7302:         End
                   7303: ------------------------------------------------------------------
                   7304: 
                   7305: /\w*\D/BZ
                   7306: ------------------------------------------------------------------
                   7307:         Bra
                   7308:         \w*
                   7309:         \D
                   7310:         Ket
                   7311:         End
                   7312: ------------------------------------------------------------------
                   7313: 
                   7314: /\w*\s/BZ
                   7315: ------------------------------------------------------------------
                   7316:         Bra
                   7317:         \w*+
                   7318:         \s
                   7319:         Ket
                   7320:         End
                   7321: ------------------------------------------------------------------
                   7322: 
                   7323: /\w*\S/BZ
                   7324: ------------------------------------------------------------------
                   7325:         Bra
                   7326:         \w*
                   7327:         \S
                   7328:         Ket
                   7329:         End
                   7330: ------------------------------------------------------------------
                   7331: 
                   7332: /\w*\w/BZ
                   7333: ------------------------------------------------------------------
                   7334:         Bra
                   7335:         \w*
                   7336:         \w
                   7337:         Ket
                   7338:         End
                   7339: ------------------------------------------------------------------
                   7340: 
                   7341: /\w*\W/BZ
                   7342: ------------------------------------------------------------------
                   7343:         Bra
                   7344:         \w*+
                   7345:         \W
                   7346:         Ket
                   7347:         End
                   7348: ------------------------------------------------------------------
                   7349: 
                   7350: /\W*a/BZ
                   7351: ------------------------------------------------------------------
                   7352:         Bra
                   7353:         \W*+
                   7354:         a
                   7355:         Ket
                   7356:         End
                   7357: ------------------------------------------------------------------
                   7358: 
                   7359: /\W*2/BZ
                   7360: ------------------------------------------------------------------
                   7361:         Bra
                   7362:         \W*+
                   7363:         2
                   7364:         Ket
                   7365:         End
                   7366: ------------------------------------------------------------------
                   7367: 
                   7368: /\W*\d/BZ
                   7369: ------------------------------------------------------------------
                   7370:         Bra
                   7371:         \W*+
                   7372:         \d
                   7373:         Ket
                   7374:         End
                   7375: ------------------------------------------------------------------
                   7376: 
                   7377: /\W*\D/BZ
                   7378: ------------------------------------------------------------------
                   7379:         Bra
                   7380:         \W*
                   7381:         \D
                   7382:         Ket
                   7383:         End
                   7384: ------------------------------------------------------------------
                   7385: 
                   7386: /\W*\s/BZ
                   7387: ------------------------------------------------------------------
                   7388:         Bra
                   7389:         \W*
                   7390:         \s
                   7391:         Ket
                   7392:         End
                   7393: ------------------------------------------------------------------
                   7394: 
                   7395: /\W*\S/BZ
                   7396: ------------------------------------------------------------------
                   7397:         Bra
                   7398:         \W*
                   7399:         \S
                   7400:         Ket
                   7401:         End
                   7402: ------------------------------------------------------------------
                   7403: 
                   7404: /\W*\w/BZ
                   7405: ------------------------------------------------------------------
                   7406:         Bra
                   7407:         \W*+
                   7408:         \w
                   7409:         Ket
                   7410:         End
                   7411: ------------------------------------------------------------------
                   7412: 
                   7413: /\W*\W/BZ
                   7414: ------------------------------------------------------------------
                   7415:         Bra
                   7416:         \W*
                   7417:         \W
                   7418:         Ket
                   7419:         End
                   7420: ------------------------------------------------------------------
                   7421: 
                   7422: /[^a]+a/BZ
                   7423: ------------------------------------------------------------------
                   7424:         Bra
                   7425:         [^a]++
                   7426:         a
                   7427:         Ket
                   7428:         End
                   7429: ------------------------------------------------------------------
                   7430: 
                   7431: /[^a]+a/BZi
                   7432: ------------------------------------------------------------------
                   7433:         Bra
1.1.1.2   misho    7434:      /i [^a]++
1.1       misho    7435:      /i a
                   7436:         Ket
                   7437:         End
                   7438: ------------------------------------------------------------------
                   7439: 
                   7440: /[^a]+A/BZi
                   7441: ------------------------------------------------------------------
                   7442:         Bra
1.1.1.2   misho    7443:      /i [^a]++
1.1       misho    7444:      /i A
                   7445:         Ket
                   7446:         End
                   7447: ------------------------------------------------------------------
                   7448: 
                   7449: /[^a]+b/BZ
                   7450: ------------------------------------------------------------------
                   7451:         Bra
                   7452:         [^a]+
                   7453:         b
                   7454:         Ket
                   7455:         End
                   7456: ------------------------------------------------------------------
                   7457: 
                   7458: /[^a]+\d/BZ
                   7459: ------------------------------------------------------------------
                   7460:         Bra
                   7461:         [^a]+
                   7462:         \d
                   7463:         Ket
                   7464:         End
                   7465: ------------------------------------------------------------------
                   7466: 
                   7467: /a*[^a]/BZ
                   7468: ------------------------------------------------------------------
                   7469:         Bra
                   7470:         a*
                   7471:         [^a]
                   7472:         Ket
                   7473:         End
                   7474: ------------------------------------------------------------------
                   7475: 
                   7476: /(?P<abc>x)(?P<xyz>y)/I
                   7477: Capturing subpattern count = 2
                   7478: Named capturing subpatterns:
                   7479:   abc   1
                   7480:   xyz   2
                   7481: No options
                   7482: First char = 'x'
                   7483: Need char = 'y'
                   7484:     xy\Cabc\Cxyz
                   7485:  0: xy
                   7486:  1: x
                   7487:  2: y
                   7488:   C x (1) abc
                   7489:   C y (1) xyz
                   7490: 
                   7491: /(?<abc>x)(?'xyz'y)/I
                   7492: Capturing subpattern count = 2
                   7493: Named capturing subpatterns:
                   7494:   abc   1
                   7495:   xyz   2
                   7496: No options
                   7497: First char = 'x'
                   7498: Need char = 'y'
                   7499:     xy\Cabc\Cxyz
                   7500:  0: xy
                   7501:  1: x
                   7502:  2: y
                   7503:   C x (1) abc
                   7504:   C y (1) xyz
                   7505: 
                   7506: /(?<abc'x)(?'xyz'y)/I
                   7507: Failed: syntax error in subpattern name (missing terminator) at offset 6
                   7508: 
                   7509: /(?<abc>x)(?'xyz>y)/I
                   7510: Failed: syntax error in subpattern name (missing terminator) at offset 15
                   7511: 
                   7512: /(?P'abc'x)(?P<xyz>y)/I
                   7513: Failed: unrecognized character after (?P at offset 3
                   7514: 
                   7515: /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
                   7516:     bXaX
                   7517:  0: bXaX
                   7518:  1: X
                   7519:     bXbX
                   7520:  0: bX
                   7521:  1: X
                   7522:     ** Failers
                   7523: No match
                   7524:     aXaX
                   7525: No match
                   7526:     aXbX
                   7527: No match
                   7528: 
                   7529: /^(?P>abc)(?<abcd>xxx)/
                   7530: Failed: reference to non-existent subpattern at offset 8
                   7531: 
                   7532: /^(?P>abc)(?<abc>x|y)/
                   7533:     xx
                   7534:  0: xx
                   7535:  1: x
                   7536:     xy
                   7537:  0: xy
                   7538:  1: y
                   7539:     yy
                   7540:  0: yy
                   7541:  1: y
                   7542:     yx
                   7543:  0: yx
                   7544:  1: x
                   7545: 
                   7546: /^(?P>abc)(?P<abc>x|y)/
                   7547:     xx
                   7548:  0: xx
                   7549:  1: x
                   7550:     xy
                   7551:  0: xy
                   7552:  1: y
                   7553:     yy
                   7554:  0: yy
                   7555:  1: y
                   7556:     yx
                   7557:  0: yx
                   7558:  1: x
                   7559: 
                   7560: /^((?(abc)a|b)(?<abc>x|y))+/
                   7561:     bxay
                   7562:  0: bxay
                   7563:  1: ay
                   7564:  2: y
                   7565:     bxby
                   7566:  0: bx
                   7567:  1: bx
                   7568:  2: x
                   7569:     ** Failers
                   7570: No match
                   7571:     axby
                   7572: No match
                   7573: 
                   7574: /^(((?P=abc)|X)(?<abc>x|y))+/
                   7575:     XxXxxx
                   7576:  0: XxXxxx
                   7577:  1: xx
                   7578:  2: x
                   7579:  3: x
                   7580:     XxXyyx
                   7581:  0: XxXyyx
                   7582:  1: yx
                   7583:  2: y
                   7584:  3: x
                   7585:     XxXyxx
                   7586:  0: XxXy
                   7587:  1: Xy
                   7588:  2: X
                   7589:  3: y
                   7590:     ** Failers
                   7591: No match
                   7592:     x
                   7593: No match
                   7594: 
                   7595: /^(?1)(abc)/
                   7596:     abcabc
                   7597:  0: abcabc
                   7598:  1: abc
                   7599: 
                   7600: /^(?:(?:\1|X)(a|b))+/
                   7601:     Xaaa
                   7602:  0: Xaaa
                   7603:  1: a
                   7604:     Xaba
                   7605:  0: Xa
                   7606:  1: a
                   7607: 
                   7608: /^[\E\Qa\E-\Qz\E]+/BZ
                   7609: ------------------------------------------------------------------
                   7610:         Bra
                   7611:         ^
                   7612:         [a-z]+
                   7613:         Ket
                   7614:         End
                   7615: ------------------------------------------------------------------
                   7616: 
                   7617: /^[a\Q]bc\E]/BZ
                   7618: ------------------------------------------------------------------
                   7619:         Bra
                   7620:         ^
                   7621:         [\]a-c]
                   7622:         Ket
                   7623:         End
                   7624: ------------------------------------------------------------------
                   7625: 
                   7626: /^[a-\Q\E]/BZ
                   7627: ------------------------------------------------------------------
                   7628:         Bra
                   7629:         ^
                   7630:         [\-a]
                   7631:         Ket
                   7632:         End
                   7633: ------------------------------------------------------------------
                   7634: 
                   7635: /^(?P>abc)[()](?<abc>)/BZ
                   7636: ------------------------------------------------------------------
                   7637:         Bra
                   7638:         ^
                   7639:         Recurse
                   7640:         [()]
                   7641:         CBra 1
                   7642:         Ket
                   7643:         Ket
                   7644:         End
                   7645: ------------------------------------------------------------------
                   7646: 
                   7647: /^((?(abc)y)[()](?P<abc>x))+/BZ
                   7648: ------------------------------------------------------------------
                   7649:         Bra
                   7650:         ^
                   7651:         CBra 1
                   7652:         Cond
                   7653:       2 Cond nref
                   7654:         y
                   7655:         Ket
                   7656:         [()]
                   7657:         CBra 2
                   7658:         x
                   7659:         Ket
                   7660:         KetRmax
                   7661:         Ket
                   7662:         End
                   7663: ------------------------------------------------------------------
                   7664:     (xy)x
                   7665:  0: (xy)x
                   7666:  1: y)x
                   7667:  2: x
                   7668: 
                   7669: /^(?P>abc)\Q()\E(?<abc>)/BZ
                   7670: ------------------------------------------------------------------
                   7671:         Bra
                   7672:         ^
                   7673:         Recurse
                   7674:         ()
                   7675:         CBra 1
                   7676:         Ket
                   7677:         Ket
                   7678:         End
                   7679: ------------------------------------------------------------------
                   7680: 
                   7681: /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
                   7682: ------------------------------------------------------------------
                   7683:         Bra
                   7684:         ^
                   7685:         Recurse
                   7686:         [(\]a]
                   7687:         CBra 1
                   7688:         Ket
                   7689:         Ket
                   7690:         End
                   7691: ------------------------------------------------------------------
                   7692: 
                   7693: /^(?P>abc) # this is (a comment)
                   7694:   (?<abc>)/BZx
                   7695: ------------------------------------------------------------------
                   7696:         Bra
                   7697:         ^
                   7698:         Recurse
                   7699:         CBra 1
                   7700:         Ket
                   7701:         Ket
                   7702:         End
                   7703: ------------------------------------------------------------------
                   7704: 
                   7705: /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
                   7706: Capturing subpattern count = 4
                   7707: Max back reference = 4
                   7708: Named capturing subpatterns:
                   7709:   four    4
                   7710:   one     1
                   7711:   three   3
                   7712:   two     2
                   7713: Options: anchored caseless
                   7714: No first char
                   7715: No need char
                   7716:     1221
                   7717:  0: 1221
                   7718:  1: 1221
                   7719:  2: 1
                   7720:     Satan, oscillate my metallic sonatas!
                   7721:  0: Satan, oscillate my metallic sonatas!
                   7722:  1: <unset>
                   7723:  2: <unset>
                   7724:  3: Satan, oscillate my metallic sonatas
                   7725:  4: S
                   7726:     A man, a plan, a canal: Panama!
                   7727:  0: A man, a plan, a canal: Panama!
                   7728:  1: <unset>
                   7729:  2: <unset>
                   7730:  3: A man, a plan, a canal: Panama
                   7731:  4: A
                   7732:     Able was I ere I saw Elba.
                   7733:  0: Able was I ere I saw Elba.
                   7734:  1: <unset>
                   7735:  2: <unset>
                   7736:  3: Able was I ere I saw Elba
                   7737:  4: A
                   7738:     *** Failers
                   7739: No match
                   7740:     The quick brown fox
                   7741: No match
                   7742: 
                   7743: /(?=(\w+))\1:/I
                   7744: Capturing subpattern count = 1
                   7745: Max back reference = 1
                   7746: No options
                   7747: No first char
                   7748: Need char = ':'
                   7749:     abcd:
                   7750:  0: abcd:
                   7751:  1: abcd
                   7752: 
                   7753: /(?=(?'abc'\w+))\k<abc>:/I
                   7754: Capturing subpattern count = 1
                   7755: Max back reference = 1
                   7756: Named capturing subpatterns:
                   7757:   abc   1
                   7758: No options
                   7759: No first char
                   7760: Need char = ':'
                   7761:     abcd:
                   7762:  0: abcd:
                   7763:  1: abcd
                   7764: 
                   7765: /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
                   7766:     adaa
                   7767:  0: adaa
                   7768:  1: a
                   7769:  2: d
                   7770:     ** Failers
                   7771: No match
                   7772:     addd
                   7773: No match
                   7774:     adbb
                   7775: No match
                   7776: 
                   7777: /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
                   7778:     bdaa
                   7779:  0: bdaa
                   7780:  1: b
                   7781:  2: d
                   7782:     bdab
                   7783:  0: bdab
                   7784:  1: b
                   7785:  2: d
                   7786:     ** Failers
                   7787: No match
                   7788:     bddd
                   7789: No match
                   7790: 
                   7791: /(?(<bc))/
                   7792: Failed: malformed number or name after (?( at offset 6
                   7793: 
                   7794: /(?(''))/
                   7795: Failed: assertion expected after (?( at offset 4
                   7796: 
                   7797: /(?('R')stuff)/
                   7798: Failed: reference to non-existent subpattern at offset 7
                   7799: 
                   7800: /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7801:     abcabc1Xabc2XabcXabcabc
                   7802:  0: abcabc1Xabc2XabcX
                   7803:  1: abcabc1Xabc2XabcX
                   7804:  2: abcabc1Xabc2XabcX
                   7805: 
                   7806: /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7807:     abcabc1Xabc2XabcXabcabc
                   7808:  0: abcabc1Xabc2XabcX
                   7809:  1: abcabc1Xabc2XabcX
                   7810:  2: abcabc1Xabc2XabcX
                   7811: 
                   7812: /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7813: Failed: reference to non-existent subpattern at offset 29
                   7814: 
                   7815: /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
                   7816:     abcabc1Xabc2XabcXabcabc
                   7817:  0: abcabc1Xabc2XabcX
                   7818:  1: abcabc1Xabc2XabcX
                   7819:  2: abcabc1Xabc2XabcX
                   7820: 
                   7821: /^(?(DEFINE) abc | xyz ) /x
                   7822: Failed: DEFINE group contains more than one branch at offset 22
                   7823: 
                   7824: /(?(DEFINE) abc) xyz/xI
                   7825: Capturing subpattern count = 0
                   7826: Options: extended
                   7827: First char = 'x'
                   7828: Need char = 'z'
                   7829: 
                   7830: /(a|)*\d/
                   7831:   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                   7832: No match
                   7833:   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
                   7834: Matched, but too many substrings
                   7835: 
                   7836: /^a.b/<lf>
                   7837:     a\rb
                   7838:  0: a\x0db
                   7839:     a\nb\<cr>
                   7840:  0: a\x0ab
                   7841:     a\x85b\<anycrlf> 
                   7842:  0: a\x85b
                   7843:     ** Failers
                   7844: No match
                   7845:     a\nb
                   7846: No match
                   7847:     a\nb\<any>
                   7848: No match
                   7849:     a\rb\<cr>
                   7850: No match
                   7851:     a\rb\<any>
                   7852: No match
                   7853:     a\x85b\<any> 
                   7854: No match
                   7855:     a\rb\<anycrlf>
                   7856: No match
                   7857: 
                   7858: /^abc./mgx<any>
                   7859:     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
                   7860:  0: abc1
                   7861:  0: abc2
                   7862:  0: abc3
                   7863:  0: abc4
                   7864:  0: abc5
                   7865:  0: abc6
                   7866:  0: abc7
                   7867: 
                   7868: /abc.$/mgx<any>
                   7869:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
                   7870:  0: abc1
                   7871:  0: abc2
                   7872:  0: abc3
                   7873:  0: abc4
                   7874:  0: abc5
                   7875:  0: abc6
                   7876:  0: abc9
                   7877: 
                   7878: /a/<cr><any>
                   7879: 
                   7880: /a/<any><crlf>
                   7881: Failed: inconsistent NEWLINE options at offset 0
                   7882: 
                   7883: /^a\Rb/<bsr_unicode>
                   7884:     a\nb
                   7885:  0: a\x0ab
                   7886:     a\rb
                   7887:  0: a\x0db
                   7888:     a\r\nb
                   7889:  0: a\x0d\x0ab
                   7890:     a\x0bb
                   7891:  0: a\x0bb
                   7892:     a\x0cb
                   7893:  0: a\x0cb
                   7894:     a\x85b
                   7895:  0: a\x85b
                   7896:     ** Failers
                   7897: No match
                   7898:     a\n\rb
                   7899: No match
                   7900: 
                   7901: /^a\R*b/<bsr_unicode>
                   7902:     ab
                   7903:  0: ab
                   7904:     a\nb
                   7905:  0: a\x0ab
                   7906:     a\rb
                   7907:  0: a\x0db
                   7908:     a\r\nb
                   7909:  0: a\x0d\x0ab
                   7910:     a\x0bb
                   7911:  0: a\x0bb
                   7912:     a\x0cb
                   7913:  0: a\x0cb
                   7914:     a\x85b
                   7915:  0: a\x85b
                   7916:     a\n\rb
                   7917:  0: a\x0a\x0db
                   7918:     a\n\r\x85\x0cb
                   7919:  0: a\x0a\x0d\x85\x0cb
                   7920: 
                   7921: /^a\R+b/<bsr_unicode>
                   7922:     a\nb
                   7923:  0: a\x0ab
                   7924:     a\rb
                   7925:  0: a\x0db
                   7926:     a\r\nb
                   7927:  0: a\x0d\x0ab
                   7928:     a\x0bb
                   7929:  0: a\x0bb
                   7930:     a\x0cb
                   7931:  0: a\x0cb
                   7932:     a\x85b
                   7933:  0: a\x85b
                   7934:     a\n\rb
                   7935:  0: a\x0a\x0db
                   7936:     a\n\r\x85\x0cb
                   7937:  0: a\x0a\x0d\x85\x0cb
                   7938:     ** Failers
                   7939: No match
                   7940:     ab
                   7941: No match
                   7942: 
                   7943: /^a\R{1,3}b/<bsr_unicode>
                   7944:     a\nb
                   7945:  0: a\x0ab
                   7946:     a\n\rb
                   7947:  0: a\x0a\x0db
                   7948:     a\n\r\x85b
                   7949:  0: a\x0a\x0d\x85b
                   7950:     a\r\n\r\nb
                   7951:  0: a\x0d\x0a\x0d\x0ab
                   7952:     a\r\n\r\n\r\nb
                   7953:  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
                   7954:     a\n\r\n\rb
                   7955:  0: a\x0a\x0d\x0a\x0db
                   7956:     a\n\n\r\nb
                   7957:  0: a\x0a\x0a\x0d\x0ab
                   7958:     ** Failers
                   7959: No match
                   7960:     a\n\n\n\rb
                   7961: No match
                   7962:     a\r
                   7963: No match
                   7964: 
                   7965: /^a[\R]b/<bsr_unicode>
                   7966:     aRb
                   7967:  0: aRb
                   7968:     ** Failers
                   7969: No match
                   7970:     a\nb
                   7971: No match
                   7972: 
                   7973: /(?&abc)X(?<abc>P)/I
                   7974: Capturing subpattern count = 1
                   7975: Named capturing subpatterns:
                   7976:   abc   1
                   7977: No options
                   7978: No first char
                   7979: Need char = 'P'
                   7980:     abcPXP123
                   7981:  0: PXP
                   7982:  1: P
                   7983: 
                   7984: /(?1)X(?<abc>P)/I
                   7985: Capturing subpattern count = 1
                   7986: Named capturing subpatterns:
                   7987:   abc   1
                   7988: No options
                   7989: No first char
                   7990: Need char = 'P'
                   7991:     abcPXP123
                   7992:  0: PXP
                   7993:  1: P
                   7994: 
                   7995: /(?:a(?&abc)b)*(?<abc>x)/
                   7996:     123axbaxbaxbx456
                   7997:  0: axbaxbaxbx
                   7998:  1: x
                   7999:     123axbaxbaxb456
                   8000:  0: x
                   8001:  1: x
                   8002: 
                   8003: /(?:a(?&abc)b){1,5}(?<abc>x)/
                   8004:     123axbaxbaxbx456
                   8005:  0: axbaxbaxbx
                   8006:  1: x
                   8007: 
                   8008: /(?:a(?&abc)b){2,5}(?<abc>x)/
                   8009:     123axbaxbaxbx456
                   8010:  0: axbaxbaxbx
                   8011:  1: x
                   8012: 
                   8013: /(?:a(?&abc)b){2,}(?<abc>x)/
                   8014:     123axbaxbaxbx456
                   8015:  0: axbaxbaxbx
                   8016:  1: x
                   8017: 
                   8018: /(abc)(?i:(?1))/
                   8019:    defabcabcxyz
                   8020:  0: abcabc
                   8021:  1: abc
                   8022:    DEFabcABCXYZ
                   8023: No match
                   8024: 
                   8025: /(abc)(?:(?i)(?1))/
                   8026:    defabcabcxyz
                   8027:  0: abcabc
                   8028:  1: abc
                   8029:    DEFabcABCXYZ
                   8030: No match
                   8031: 
                   8032: /^(a)\g-2/
                   8033: Failed: reference to non-existent subpattern at offset 7
                   8034: 
                   8035: /^(a)\g/
                   8036: Failed: a numbered reference must not be zero at offset 5
                   8037: 
                   8038: /^(a)\g{0}/
                   8039: Failed: a numbered reference must not be zero at offset 8
                   8040: 
                   8041: /^(a)\g{3/
                   8042: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
                   8043: 
                   8044: /^(a)\g{4a}/
                   8045: Failed: reference to non-existent subpattern at offset 9
                   8046: 
                   8047: /^a.b/<lf>
                   8048:     a\rb
                   8049:  0: a\x0db
                   8050:     *** Failers
                   8051: No match
                   8052:     a\nb
                   8053: No match
                   8054: 
                   8055: /.+foo/
                   8056:     afoo
                   8057:  0: afoo
                   8058:     ** Failers
                   8059: No match
                   8060:     \r\nfoo
                   8061: No match
                   8062:     \nfoo
                   8063: No match
                   8064: 
                   8065: /.+foo/<crlf>
                   8066:     afoo
                   8067:  0: afoo
                   8068:     \nfoo
                   8069:  0: \x0afoo
                   8070:     ** Failers
                   8071: No match
                   8072:     \r\nfoo
                   8073: No match
                   8074: 
                   8075: /.+foo/<any>
                   8076:     afoo
                   8077:  0: afoo
                   8078:     ** Failers
                   8079: No match
                   8080:     \nfoo
                   8081: No match
                   8082:     \r\nfoo
                   8083: No match
                   8084: 
                   8085: /.+foo/s
                   8086:     afoo
                   8087:  0: afoo
                   8088:     \r\nfoo
                   8089:  0: \x0d\x0afoo
                   8090:     \nfoo
                   8091:  0: \x0afoo
                   8092:     
                   8093: /^$/mg<any>
                   8094:     abc\r\rxyz
                   8095:  0: 
                   8096:     abc\n\rxyz  
                   8097:  0: 
                   8098:     ** Failers 
                   8099: No match
                   8100:     abc\r\nxyz
                   8101: No match
                   8102: 
                   8103: /(?m)^$/<any>g+
                   8104:     abc\r\n\r\n
                   8105:  0: 
                   8106:  0+ \x0d\x0a
                   8107: 
                   8108: /(?m)^$|^\r\n/<any>g+ 
                   8109:     abc\r\n\r\n
                   8110:  0: 
                   8111:  0+ \x0d\x0a
                   8112:  0: \x0d\x0a
                   8113:  0+ 
                   8114:     
                   8115: /(?m)$/<any>g+ 
                   8116:     abc\r\n\r\n
                   8117:  0: 
                   8118:  0+ \x0d\x0a\x0d\x0a
                   8119:  0: 
                   8120:  0+ \x0d\x0a
                   8121:  0: 
                   8122:  0+ 
                   8123: 
                   8124: /abc.$/mgx<anycrlf>
                   8125:     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
                   8126:  0: abc1
                   8127:  0: abc4
                   8128:  0: abc5
                   8129:  0: abc9
                   8130: 
                   8131: /^X/m
                   8132:     XABC
                   8133:  0: X
                   8134:     ** Failers 
                   8135: No match
                   8136:     XABC\B
                   8137: No match
                   8138: 
                   8139: /(ab|c)(?-1)/BZ
                   8140: ------------------------------------------------------------------
                   8141:         Bra
                   8142:         CBra 1
                   8143:         ab
                   8144:         Alt
                   8145:         c
                   8146:         Ket
                   8147:         Recurse
                   8148:         Ket
                   8149:         End
                   8150: ------------------------------------------------------------------
                   8151:     abc
                   8152:  0: abc
                   8153:  1: ab
                   8154: 
                   8155: /xy(?+1)(abc)/BZ
                   8156: ------------------------------------------------------------------
                   8157:         Bra
                   8158:         xy
                   8159:         Recurse
                   8160:         CBra 1
                   8161:         abc
                   8162:         Ket
                   8163:         Ket
                   8164:         End
                   8165: ------------------------------------------------------------------
                   8166:     xyabcabc
                   8167:  0: xyabcabc
                   8168:  1: abc
                   8169:     ** Failers
                   8170: No match
                   8171:     xyabc  
                   8172: No match
                   8173:     
                   8174: /x(?-0)y/
                   8175: Failed: a numbered reference must not be zero at offset 5
                   8176: 
                   8177: /x(?-1)y/
                   8178: Failed: reference to non-existent subpattern at offset 5
                   8179: 
                   8180: /x(?+0)y/ 
                   8181: Failed: a numbered reference must not be zero at offset 5
                   8182: 
                   8183: /x(?+1)y/
                   8184: Failed: reference to non-existent subpattern at offset 5
                   8185: 
                   8186: /^(abc)?(?(-1)X|Y)/BZ
                   8187: ------------------------------------------------------------------
                   8188:         Bra
                   8189:         ^
                   8190:         Brazero
                   8191:         CBra 1
                   8192:         abc
                   8193:         Ket
                   8194:         Cond
                   8195:       1 Cond ref
                   8196:         X
                   8197:         Alt
                   8198:         Y
                   8199:         Ket
                   8200:         Ket
                   8201:         End
                   8202: ------------------------------------------------------------------
                   8203:     abcX
                   8204:  0: abcX
                   8205:  1: abc
                   8206:     Y
                   8207:  0: Y
                   8208:     ** Failers
                   8209: No match
                   8210:     abcY   
                   8211: No match
                   8212:     
                   8213: /^((?(+1)X|Y)(abc))+/BZ 
                   8214: ------------------------------------------------------------------
                   8215:         Bra
                   8216:         ^
                   8217:         CBra 1
                   8218:         Cond
                   8219:       2 Cond ref
                   8220:         X
                   8221:         Alt
                   8222:         Y
                   8223:         Ket
                   8224:         CBra 2
                   8225:         abc
                   8226:         Ket
                   8227:         KetRmax
                   8228:         Ket
                   8229:         End
                   8230: ------------------------------------------------------------------
                   8231:     YabcXabc
                   8232:  0: YabcXabc
                   8233:  1: Xabc
                   8234:  2: abc
                   8235:     YabcXabcXabc
                   8236:  0: YabcXabcXabc
                   8237:  1: Xabc
                   8238:  2: abc
                   8239:     ** Failers
                   8240: No match
                   8241:     XabcXabc  
                   8242: No match
                   8243: 
                   8244: /(?(-1)a)/BZ
                   8245: Failed: reference to non-existent subpattern at offset 6
                   8246: 
                   8247: /((?(-1)a))/BZ
                   8248: ------------------------------------------------------------------
                   8249:         Bra
                   8250:         CBra 1
                   8251:         Cond
                   8252:       1 Cond ref
                   8253:         a
                   8254:         Ket
                   8255:         Ket
                   8256:         Ket
                   8257:         End
                   8258: ------------------------------------------------------------------
                   8259: 
                   8260: /((?(-2)a))/BZ
                   8261: Failed: reference to non-existent subpattern at offset 7
                   8262: 
                   8263: /^(?(+1)X|Y)(.)/BZ
                   8264: ------------------------------------------------------------------
                   8265:         Bra
                   8266:         ^
                   8267:         Cond
                   8268:       1 Cond ref
                   8269:         X
                   8270:         Alt
                   8271:         Y
                   8272:         Ket
                   8273:         CBra 1
                   8274:         Any
                   8275:         Ket
                   8276:         Ket
                   8277:         End
                   8278: ------------------------------------------------------------------
                   8279:     Y!
                   8280:  0: Y!
                   8281:  1: !
                   8282: 
                   8283: /(?<A>tom|bon)-\k{A}/
                   8284:     tom-tom
                   8285:  0: tom-tom
                   8286:  1: tom
                   8287:     bon-bon 
                   8288:  0: bon-bon
                   8289:  1: bon
                   8290:     ** Failers
                   8291: No match
                   8292:     tom-bon  
                   8293: No match
                   8294: 
                   8295: /\g{A/ 
                   8296: Failed: syntax error in subpattern name (missing terminator) at offset 4
                   8297: 
                   8298: /(?|(abc)|(xyz))/BZ
                   8299: ------------------------------------------------------------------
                   8300:         Bra
                   8301:         Bra
                   8302:         CBra 1
                   8303:         abc
                   8304:         Ket
                   8305:         Alt
                   8306:         CBra 1
                   8307:         xyz
                   8308:         Ket
                   8309:         Ket
                   8310:         Ket
                   8311:         End
                   8312: ------------------------------------------------------------------
                   8313:    >abc<
                   8314:  0: abc
                   8315:  1: abc
                   8316:    >xyz< 
                   8317:  0: xyz
                   8318:  1: xyz
                   8319: 
                   8320: /(x)(?|(abc)|(xyz))(x)/BZ
                   8321: ------------------------------------------------------------------
                   8322:         Bra
                   8323:         CBra 1
                   8324:         x
                   8325:         Ket
                   8326:         Bra
                   8327:         CBra 2
                   8328:         abc
                   8329:         Ket
                   8330:         Alt
                   8331:         CBra 2
                   8332:         xyz
                   8333:         Ket
                   8334:         Ket
                   8335:         CBra 3
                   8336:         x
                   8337:         Ket
                   8338:         Ket
                   8339:         End
                   8340: ------------------------------------------------------------------
                   8341:     xabcx
                   8342:  0: xabcx
                   8343:  1: x
                   8344:  2: abc
                   8345:  3: x
                   8346:     xxyzx 
                   8347:  0: xxyzx
                   8348:  1: x
                   8349:  2: xyz
                   8350:  3: x
                   8351: 
                   8352: /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
                   8353: ------------------------------------------------------------------
                   8354:         Bra
                   8355:         CBra 1
                   8356:         x
                   8357:         Ket
                   8358:         Bra
                   8359:         CBra 2
                   8360:         abc
                   8361:         Ket
                   8362:         CBra 3
                   8363:         pqr
                   8364:         Ket
                   8365:         Alt
                   8366:         CBra 2
                   8367:         xyz
                   8368:         Ket
                   8369:         Ket
                   8370:         CBra 4
                   8371:         x
                   8372:         Ket
                   8373:         Ket
                   8374:         End
                   8375: ------------------------------------------------------------------
                   8376:     xabcpqrx
                   8377:  0: xabcpqrx
                   8378:  1: x
                   8379:  2: abc
                   8380:  3: pqr
                   8381:  4: x
                   8382:     xxyzx 
                   8383:  0: xxyzx
                   8384:  1: x
                   8385:  2: xyz
                   8386:  3: <unset>
                   8387:  4: x
                   8388: 
                   8389: /\H++X/BZ
                   8390: ------------------------------------------------------------------
                   8391:         Bra
                   8392:         \H++
                   8393:         X
                   8394:         Ket
                   8395:         End
                   8396: ------------------------------------------------------------------
                   8397:     ** Failers
                   8398: No match
                   8399:     XXXX
                   8400: No match
                   8401:     
                   8402: /\H+\hY/BZ
                   8403: ------------------------------------------------------------------
                   8404:         Bra
                   8405:         \H++
                   8406:         \h
                   8407:         Y
                   8408:         Ket
                   8409:         End
                   8410: ------------------------------------------------------------------
                   8411:     XXXX Y 
                   8412:  0: XXXX Y
                   8413: 
                   8414: /\H+ Y/BZ
                   8415: ------------------------------------------------------------------
                   8416:         Bra
                   8417:         \H++
                   8418:          Y
                   8419:         Ket
                   8420:         End
                   8421: ------------------------------------------------------------------
                   8422: 
                   8423: /\h+A/BZ
                   8424: ------------------------------------------------------------------
                   8425:         Bra
                   8426:         \h++
                   8427:         A
                   8428:         Ket
                   8429:         End
                   8430: ------------------------------------------------------------------
                   8431: 
                   8432: /\v*B/BZ
                   8433: ------------------------------------------------------------------
                   8434:         Bra
                   8435:         \v*+
                   8436:         B
                   8437:         Ket
                   8438:         End
                   8439: ------------------------------------------------------------------
                   8440: 
                   8441: /\V+\x0a/BZ
                   8442: ------------------------------------------------------------------
                   8443:         Bra
                   8444:         \V++
                   8445:         \x0a
                   8446:         Ket
                   8447:         End
                   8448: ------------------------------------------------------------------
                   8449: 
                   8450: /A+\h/BZ
                   8451: ------------------------------------------------------------------
                   8452:         Bra
                   8453:         A++
                   8454:         \h
                   8455:         Ket
                   8456:         End
                   8457: ------------------------------------------------------------------
                   8458: 
                   8459: / *\H/BZ
                   8460: ------------------------------------------------------------------
                   8461:         Bra
                   8462:          *+
                   8463:         \H
                   8464:         Ket
                   8465:         End
                   8466: ------------------------------------------------------------------
                   8467: 
                   8468: /A*\v/BZ
                   8469: ------------------------------------------------------------------
                   8470:         Bra
                   8471:         A*+
                   8472:         \v
                   8473:         Ket
                   8474:         End
                   8475: ------------------------------------------------------------------
                   8476: 
                   8477: /\x0b*\V/BZ
                   8478: ------------------------------------------------------------------
                   8479:         Bra
                   8480:         \x0b*+
                   8481:         \V
                   8482:         Ket
                   8483:         End
                   8484: ------------------------------------------------------------------
                   8485: 
                   8486: /\d+\h/BZ
                   8487: ------------------------------------------------------------------
                   8488:         Bra
                   8489:         \d++
                   8490:         \h
                   8491:         Ket
                   8492:         End
                   8493: ------------------------------------------------------------------
                   8494: 
                   8495: /\d*\v/BZ
                   8496: ------------------------------------------------------------------
                   8497:         Bra
                   8498:         \d*+
                   8499:         \v
                   8500:         Ket
                   8501:         End
                   8502: ------------------------------------------------------------------
                   8503: 
                   8504: /S+\h\S+\v/BZ
                   8505: ------------------------------------------------------------------
                   8506:         Bra
                   8507:         S++
                   8508:         \h
                   8509:         \S++
                   8510:         \v
                   8511:         Ket
                   8512:         End
                   8513: ------------------------------------------------------------------
                   8514: 
                   8515: /\w{3,}\h\w+\v/BZ
                   8516: ------------------------------------------------------------------
                   8517:         Bra
                   8518:         \w{3}
                   8519:         \w*+
                   8520:         \h
                   8521:         \w++
                   8522:         \v
                   8523:         Ket
                   8524:         End
                   8525: ------------------------------------------------------------------
                   8526: 
                   8527: /\h+\d\h+\w\h+\S\h+\H/BZ
                   8528: ------------------------------------------------------------------
                   8529:         Bra
                   8530:         \h++
                   8531:         \d
                   8532:         \h++
                   8533:         \w
                   8534:         \h++
                   8535:         \S
                   8536:         \h++
                   8537:         \H
                   8538:         Ket
                   8539:         End
                   8540: ------------------------------------------------------------------
                   8541: 
                   8542: /\v+\d\v+\w\v+\S\v+\V/BZ
                   8543: ------------------------------------------------------------------
                   8544:         Bra
                   8545:         \v++
                   8546:         \d
                   8547:         \v++
                   8548:         \w
                   8549:         \v+
                   8550:         \S
                   8551:         \v++
                   8552:         \V
                   8553:         Ket
                   8554:         End
                   8555: ------------------------------------------------------------------
                   8556: 
                   8557: /\H+\h\H+\d/BZ
                   8558: ------------------------------------------------------------------
                   8559:         Bra
                   8560:         \H++
                   8561:         \h
                   8562:         \H+
                   8563:         \d
                   8564:         Ket
                   8565:         End
                   8566: ------------------------------------------------------------------
                   8567: 
                   8568: /\V+\v\V+\w/BZ
                   8569: ------------------------------------------------------------------
                   8570:         Bra
                   8571:         \V++
                   8572:         \v
                   8573:         \V+
                   8574:         \w
                   8575:         Ket
                   8576:         End
                   8577: ------------------------------------------------------------------
                   8578: 
                   8579: /\( (?: [^()]* | (?R) )* \)/x
                   8580: \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)
                   8581:  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
                   8582: 
                   8583: /[\E]AAA/
                   8584: Failed: missing terminating ] for character class at offset 7
                   8585: 
                   8586: /[\Q\E]AAA/
                   8587: Failed: missing terminating ] for character class at offset 9
                   8588: 
                   8589: /[^\E]AAA/
                   8590: Failed: missing terminating ] for character class at offset 8
                   8591: 
                   8592: /[^\Q\E]AAA/
                   8593: Failed: missing terminating ] for character class at offset 10
                   8594: 
                   8595: /[\E^]AAA/
                   8596: Failed: missing terminating ] for character class at offset 8
                   8597: 
                   8598: /[\Q\E^]AAA/
                   8599: Failed: missing terminating ] for character class at offset 10
                   8600: 
                   8601: /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
                   8602: ------------------------------------------------------------------
                   8603:         Bra
                   8604:         A
                   8605:         *PRUNE
                   8606:         B
                   8607:         *SKIP
                   8608:         C
                   8609:         *THEN
                   8610:         D
                   8611:         *COMMIT
                   8612:         E
                   8613:         *FAIL
                   8614:         F
                   8615:         *FAIL
                   8616:         G
                   8617:         *FAIL
                   8618:         H
                   8619:         *ACCEPT
                   8620:         I
                   8621:         Ket
                   8622:         End
                   8623: ------------------------------------------------------------------
                   8624: 
                   8625: /^a+(*FAIL)/C
                   8626:     aaaaaa
                   8627: --->aaaaaa
                   8628:  +0 ^          ^
                   8629:  +1 ^          a+
                   8630:  +3 ^     ^    (*FAIL)
                   8631:  +3 ^    ^     (*FAIL)
                   8632:  +3 ^   ^      (*FAIL)
                   8633:  +3 ^  ^       (*FAIL)
                   8634:  +3 ^ ^        (*FAIL)
                   8635:  +3 ^^         (*FAIL)
                   8636: No match
                   8637:     
                   8638: /a+b?c+(*FAIL)/C
                   8639:     aaabccc
                   8640: --->aaabccc
                   8641:  +0 ^           a+
                   8642:  +2 ^  ^        b?
                   8643:  +4 ^   ^       c+
                   8644:  +6 ^      ^    (*FAIL)
                   8645:  +6 ^     ^     (*FAIL)
                   8646:  +6 ^    ^      (*FAIL)
                   8647:  +4 ^  ^        c+
                   8648:  +2 ^ ^         b?
                   8649:  +4 ^ ^         c+
                   8650:  +2 ^^          b?
                   8651:  +4 ^^          c+
                   8652:  +0  ^          a+
                   8653:  +2  ^ ^        b?
                   8654:  +4  ^  ^       c+
                   8655:  +6  ^     ^    (*FAIL)
                   8656:  +6  ^    ^     (*FAIL)
                   8657:  +6  ^   ^      (*FAIL)
                   8658:  +4  ^ ^        c+
                   8659:  +2  ^^         b?
                   8660:  +4  ^^         c+
                   8661:  +0   ^         a+
                   8662:  +2   ^^        b?
                   8663:  +4   ^ ^       c+
                   8664:  +6   ^    ^    (*FAIL)
                   8665:  +6   ^   ^     (*FAIL)
                   8666:  +6   ^  ^      (*FAIL)
                   8667:  +4   ^^        c+
                   8668: No match
                   8669: 
                   8670: /a+b?(*PRUNE)c+(*FAIL)/C
                   8671:     aaabccc
                   8672: --->aaabccc
                   8673:  +0 ^           a+
                   8674:  +2 ^  ^        b?
                   8675:  +4 ^   ^       (*PRUNE)
                   8676: +12 ^   ^       c+
                   8677: +14 ^      ^    (*FAIL)
                   8678: +14 ^     ^     (*FAIL)
                   8679: +14 ^    ^      (*FAIL)
                   8680:  +0  ^          a+
                   8681:  +2  ^ ^        b?
                   8682:  +4  ^  ^       (*PRUNE)
                   8683: +12  ^  ^       c+
                   8684: +14  ^     ^    (*FAIL)
                   8685: +14  ^    ^     (*FAIL)
                   8686: +14  ^   ^      (*FAIL)
                   8687:  +0   ^         a+
                   8688:  +2   ^^        b?
                   8689:  +4   ^ ^       (*PRUNE)
                   8690: +12   ^ ^       c+
                   8691: +14   ^    ^    (*FAIL)
                   8692: +14   ^   ^     (*FAIL)
                   8693: +14   ^  ^      (*FAIL)
                   8694: No match
                   8695: 
                   8696: /a+b?(*COMMIT)c+(*FAIL)/C
                   8697:     aaabccc
                   8698: --->aaabccc
                   8699:  +0 ^           a+
                   8700:  +2 ^  ^        b?
                   8701:  +4 ^   ^       (*COMMIT)
                   8702: +13 ^   ^       c+
                   8703: +15 ^      ^    (*FAIL)
                   8704: +15 ^     ^     (*FAIL)
                   8705: +15 ^    ^      (*FAIL)
                   8706: No match
                   8707:     
                   8708: /a+b?(*SKIP)c+(*FAIL)/C
                   8709:     aaabcccaaabccc
                   8710: --->aaabcccaaabccc
                   8711:  +0 ^                  a+
                   8712:  +2 ^  ^               b?
                   8713:  +4 ^   ^              (*SKIP)
                   8714: +11 ^   ^              c+
                   8715: +13 ^      ^           (*FAIL)
                   8716: +13 ^     ^            (*FAIL)
                   8717: +13 ^    ^             (*FAIL)
                   8718:  +0        ^           a+
                   8719:  +2        ^  ^        b?
                   8720:  +4        ^   ^       (*SKIP)
                   8721: +11        ^   ^       c+
                   8722: +13        ^      ^    (*FAIL)
                   8723: +13        ^     ^     (*FAIL)
                   8724: +13        ^    ^      (*FAIL)
                   8725: No match
                   8726: 
                   8727: /a+b?(*THEN)c+(*FAIL)/C
                   8728:     aaabccc
                   8729: --->aaabccc
                   8730:  +0 ^           a+
                   8731:  +2 ^  ^        b?
                   8732:  +4 ^   ^       (*THEN)
                   8733: +11 ^   ^       c+
                   8734: +13 ^      ^    (*FAIL)
                   8735: +13 ^     ^     (*FAIL)
                   8736: +13 ^    ^      (*FAIL)
                   8737:  +0  ^          a+
                   8738:  +2  ^ ^        b?
                   8739:  +4  ^  ^       (*THEN)
                   8740: +11  ^  ^       c+
                   8741: +13  ^     ^    (*FAIL)
                   8742: +13  ^    ^     (*FAIL)
                   8743: +13  ^   ^      (*FAIL)
                   8744:  +0   ^         a+
                   8745:  +2   ^^        b?
                   8746:  +4   ^ ^       (*THEN)
                   8747: +11   ^ ^       c+
                   8748: +13   ^    ^    (*FAIL)
                   8749: +13   ^   ^     (*FAIL)
                   8750: +13   ^  ^      (*FAIL)
                   8751: No match
                   8752:     
                   8753: /a(*MARK)b/ 
                   8754: Failed: (*MARK) must have an argument at offset 7
                   8755: 
                   8756: /(?i:A{1,}\6666666666)/
                   8757: Failed: number is too big at offset 19
                   8758: 
                   8759: /\g6666666666/
                   8760: Failed: number is too big at offset 11
                   8761: 
                   8762: /[\g6666666666]/BZ
                   8763: ------------------------------------------------------------------
                   8764:         Bra
                   8765:         [6g]
                   8766:         Ket
                   8767:         End
                   8768: ------------------------------------------------------------------
                   8769: 
                   8770: /(?1)\c[/
                   8771: Failed: reference to non-existent subpattern at offset 3
                   8772: 
                   8773: /.+A/<crlf>
                   8774:     \r\nA
                   8775: No match
                   8776:     
                   8777: /\nA/<crlf>
                   8778:     \r\nA 
                   8779:  0: \x0aA
                   8780: 
                   8781: /[\r\n]A/<crlf>
                   8782:     \r\nA 
                   8783:  0: \x0aA
                   8784: 
                   8785: /(\r|\n)A/<crlf>
                   8786:     \r\nA 
                   8787:  0: \x0aA
                   8788:  1: \x0a
                   8789: 
                   8790: /a(*CR)b/
1.1.1.4 ! misho    8791: Failed: (*VERB) not recognized or malformed at offset 5
1.1       misho    8792: 
                   8793: /(*CR)a.b/
                   8794:     a\nb
                   8795:  0: a\x0ab
                   8796:     ** Failers
                   8797: No match
                   8798:     a\rb  
                   8799: No match
                   8800: 
                   8801: /(*CR)a.b/<lf>
                   8802:     a\nb
                   8803:  0: a\x0ab
                   8804:     ** Failers
                   8805: No match
                   8806:     a\rb  
                   8807: No match
                   8808: 
                   8809: /(*LF)a.b/<CRLF>
                   8810:     a\rb
                   8811:  0: a\x0db
                   8812:     ** Failers
                   8813: No match
                   8814:     a\nb  
                   8815: No match
                   8816: 
                   8817: /(*CRLF)a.b/
                   8818:     a\rb
                   8819:  0: a\x0db
                   8820:     a\nb  
                   8821:  0: a\x0ab
                   8822:     ** Failers
                   8823: No match
                   8824:     a\r\nb  
                   8825: No match
                   8826: 
                   8827: /(*ANYCRLF)a.b/<CR>
                   8828:     ** Failers
                   8829: No match
                   8830:     a\rb
                   8831: No match
                   8832:     a\nb  
                   8833: No match
                   8834:     a\r\nb  
                   8835: No match
                   8836: 
                   8837: /(*ANY)a.b/<cr>
                   8838:     ** Failers
                   8839: No match
                   8840:     a\rb
                   8841: No match
                   8842:     a\nb  
                   8843: No match
                   8844:     a\r\nb  
                   8845: No match
                   8846:     a\x85b 
                   8847: No match
                   8848:     
                   8849: /(*ANY).*/g
                   8850:     abc\r\ndef
                   8851:  0: abc
                   8852:  0: 
                   8853:  0: def
                   8854:  0: 
                   8855: 
                   8856: /(*ANYCRLF).*/g
                   8857:     abc\r\ndef
                   8858:  0: abc
                   8859:  0: 
                   8860:  0: def
                   8861:  0: 
                   8862: 
                   8863: /(*CRLF).*/g
                   8864:     abc\r\ndef
                   8865:  0: abc
                   8866:  0: 
                   8867:  0: def
                   8868:  0: 
                   8869: 
                   8870: /a\Rb/I<bsr_anycrlf>
                   8871: Capturing subpattern count = 0
                   8872: Options: bsr_anycrlf
                   8873: First char = 'a'
                   8874: Need char = 'b'
                   8875:     a\rb
                   8876:  0: a\x0db
                   8877:     a\nb
                   8878:  0: a\x0ab
                   8879:     a\r\nb
                   8880:  0: a\x0d\x0ab
                   8881:     ** Failers
                   8882: No match
                   8883:     a\x85b
                   8884: No match
                   8885:     a\x0bb     
                   8886: No match
                   8887: 
                   8888: /a\Rb/I<bsr_unicode>
                   8889: Capturing subpattern count = 0
                   8890: Options: bsr_unicode
                   8891: First char = 'a'
                   8892: Need char = 'b'
                   8893:     a\rb
                   8894:  0: a\x0db
                   8895:     a\nb
                   8896:  0: a\x0ab
                   8897:     a\r\nb
                   8898:  0: a\x0d\x0ab
                   8899:     a\x85b
                   8900:  0: a\x85b
                   8901:     a\x0bb     
                   8902:  0: a\x0bb
                   8903:     ** Failers 
                   8904: No match
                   8905:     a\x85b\<bsr_anycrlf>
                   8906: No match
                   8907:     a\x0bb\<bsr_anycrlf>
                   8908: No match
                   8909:     
                   8910: /a\R?b/I<bsr_anycrlf>
                   8911: Capturing subpattern count = 0
                   8912: Options: bsr_anycrlf
                   8913: First char = 'a'
                   8914: Need char = 'b'
                   8915:     a\rb
                   8916:  0: a\x0db
                   8917:     a\nb
                   8918:  0: a\x0ab
                   8919:     a\r\nb
                   8920:  0: a\x0d\x0ab
                   8921:     ** Failers
                   8922: No match
                   8923:     a\x85b
                   8924: No match
                   8925:     a\x0bb     
                   8926: No match
                   8927: 
                   8928: /a\R?b/I<bsr_unicode>
                   8929: Capturing subpattern count = 0
                   8930: Options: bsr_unicode
                   8931: First char = 'a'
                   8932: Need char = 'b'
                   8933:     a\rb
                   8934:  0: a\x0db
                   8935:     a\nb
                   8936:  0: a\x0ab
                   8937:     a\r\nb
                   8938:  0: a\x0d\x0ab
                   8939:     a\x85b
                   8940:  0: a\x85b
                   8941:     a\x0bb     
                   8942:  0: a\x0bb
                   8943:     ** Failers 
                   8944: No match
                   8945:     a\x85b\<bsr_anycrlf>
                   8946: No match
                   8947:     a\x0bb\<bsr_anycrlf>
                   8948: No match
                   8949:     
                   8950: /a\R{2,4}b/I<bsr_anycrlf>
                   8951: Capturing subpattern count = 0
                   8952: Options: bsr_anycrlf
                   8953: First char = 'a'
                   8954: Need char = 'b'
                   8955:     a\r\n\nb
                   8956:  0: a\x0d\x0a\x0ab
                   8957:     a\n\r\rb
                   8958:  0: a\x0a\x0d\x0db
                   8959:     a\r\n\r\n\r\n\r\nb
                   8960:  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
                   8961:     ** Failers
                   8962: No match
                   8963:     a\x85\85b
                   8964: No match
                   8965:     a\x0b\0bb     
                   8966: No match
                   8967: 
                   8968: /a\R{2,4}b/I<bsr_unicode>
                   8969: Capturing subpattern count = 0
                   8970: Options: bsr_unicode
                   8971: First char = 'a'
                   8972: Need char = 'b'
                   8973:     a\r\rb
                   8974:  0: a\x0d\x0db
                   8975:     a\n\n\nb
                   8976:  0: a\x0a\x0a\x0ab
                   8977:     a\r\n\n\r\rb
                   8978:  0: a\x0d\x0a\x0a\x0d\x0db
                   8979:     a\x85\85b
                   8980: No match
                   8981:     a\x0b\0bb     
                   8982: No match
                   8983:     ** Failers 
                   8984: No match
                   8985:     a\r\r\r\r\rb 
                   8986: No match
                   8987:     a\x85\85b\<bsr_anycrlf>
                   8988: No match
                   8989:     a\x0b\0bb\<bsr_anycrlf>
                   8990: No match
                   8991:  
                   8992: /(*BSR_ANYCRLF)a\Rb/I
                   8993: Capturing subpattern count = 0
                   8994: Options: bsr_anycrlf
                   8995: First char = 'a'
                   8996: Need char = 'b'
                   8997:     a\nb
                   8998:  0: a\x0ab
                   8999:     a\rb 
                   9000:  0: a\x0db
                   9001: 
                   9002: /(*BSR_UNICODE)a\Rb/I
                   9003: Capturing subpattern count = 0
                   9004: Options: bsr_unicode
                   9005: First char = 'a'
                   9006: Need char = 'b'
                   9007:     a\x85b
                   9008:  0: a\x85b
                   9009: 
                   9010: /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
                   9011: Capturing subpattern count = 0
                   9012: Options: bsr_anycrlf
                   9013: Forced newline sequence: CRLF
                   9014: First char = 'a'
                   9015: Need char = 'b'
                   9016:     a\nb
                   9017:  0: a\x0ab
                   9018:     a\rb 
                   9019:  0: a\x0db
                   9020: 
                   9021: /(*CRLF)(*BSR_UNICODE)a\Rb/I
                   9022: Capturing subpattern count = 0
                   9023: Options: bsr_unicode
                   9024: Forced newline sequence: CRLF
                   9025: First char = 'a'
                   9026: Need char = 'b'
                   9027:     a\x85b
                   9028:  0: a\x85b
                   9029: 
                   9030: /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
                   9031: Capturing subpattern count = 0
                   9032: Options: bsr_anycrlf
                   9033: Forced newline sequence: CR
                   9034: First char = 'a'
                   9035: Need char = 'b'
                   9036: 
                   9037: /(?<a>)(?&)/
                   9038: Failed: subpattern name expected at offset 9
                   9039: 
                   9040: /(?<abc>)(?&a)/
                   9041: Failed: reference to non-existent subpattern at offset 12
                   9042: 
                   9043: /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
                   9044: Failed: reference to non-existent subpattern at offset 32
                   9045: 
                   9046: /(?+-a)/
                   9047: Failed: digit expected after (?+ at offset 3
                   9048: 
                   9049: /(?-+a)/
                   9050: Failed: unrecognized character after (? or (?- at offset 3
                   9051: 
                   9052: /(?(-1))/
                   9053: Failed: reference to non-existent subpattern at offset 6
                   9054: 
                   9055: /(?(+10))/
                   9056: Failed: reference to non-existent subpattern at offset 7
                   9057: 
                   9058: /(?(10))/
                   9059: Failed: reference to non-existent subpattern at offset 6
                   9060: 
                   9061: /(?(+2))()()/
                   9062: 
                   9063: /(?(2))()()/
                   9064: 
                   9065: /\k''/
                   9066: Failed: subpattern name expected at offset 3
                   9067: 
                   9068: /\k<>/
                   9069: Failed: subpattern name expected at offset 3
                   9070: 
                   9071: /\k{}/
                   9072: Failed: subpattern name expected at offset 3
                   9073: 
                   9074: /\k/
                   9075: Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
                   9076: 
                   9077: /\kabc/
                   9078: Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
                   9079: 
                   9080: /(?P=)/
                   9081: Failed: subpattern name expected at offset 4
                   9082: 
                   9083: /(?P>)/
                   9084: Failed: subpattern name expected at offset 4
                   9085: 
                   9086: /(?!\w)(?R)/
                   9087: Failed: recursive call could loop indefinitely at offset 9
                   9088: 
                   9089: /(?=\w)(?R)/
                   9090: Failed: recursive call could loop indefinitely at offset 9
                   9091: 
                   9092: /(?<!\w)(?R)/
                   9093: Failed: recursive call could loop indefinitely at offset 10
                   9094: 
                   9095: /(?<=\w)(?R)/
                   9096: Failed: recursive call could loop indefinitely at offset 10
                   9097: 
                   9098: /[[:foo:]]/
                   9099: Failed: unknown POSIX class name at offset 3
                   9100: 
                   9101: /[[:1234:]]/
                   9102: Failed: unknown POSIX class name at offset 3
                   9103: 
                   9104: /[[:f\oo:]]/
                   9105: Failed: unknown POSIX class name at offset 3
                   9106: 
                   9107: /[[: :]]/
                   9108: Failed: unknown POSIX class name at offset 3
                   9109: 
                   9110: /[[:...:]]/
                   9111: Failed: unknown POSIX class name at offset 3
                   9112: 
                   9113: /[[:l\ower:]]/
                   9114: Failed: unknown POSIX class name at offset 3
                   9115: 
                   9116: /[[:abc\:]]/
                   9117: Failed: unknown POSIX class name at offset 3
                   9118: 
                   9119: /[abc[:x\]pqr:]]/
                   9120: Failed: unknown POSIX class name at offset 6
                   9121: 
                   9122: /[[:a\dz:]]/
                   9123: Failed: unknown POSIX class name at offset 3
                   9124: 
                   9125: /(^(a|b\g<-1'c))/
                   9126: Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
                   9127: 
                   9128: /^(?+1)(?<a>x|y){0}z/
                   9129:     xzxx
                   9130:  0: xz
                   9131:     yzyy 
                   9132:  0: yz
                   9133:     ** Failers
                   9134: No match
                   9135:     xxz  
                   9136: No match
                   9137: 
                   9138: /(\3)(\1)(a)/
                   9139:     cat
                   9140: No match
                   9141: 
                   9142: /(\3)(\1)(a)/<JS>
                   9143:     cat
                   9144:  0: a
                   9145:  1: 
                   9146:  2: 
                   9147:  3: a
                   9148:     
                   9149: /TA]/
                   9150:     The ACTA] comes 
                   9151:  0: TA]
                   9152: 
                   9153: /TA]/<JS>
                   9154: Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
                   9155: 
                   9156: /(?2)[]a()b](abc)/
                   9157: Failed: reference to non-existent subpattern at offset 3
                   9158: 
                   9159: /(?2)[^]a()b](abc)/
                   9160: Failed: reference to non-existent subpattern at offset 3
                   9161: 
                   9162: /(?1)[]a()b](abc)/
                   9163:     abcbabc
                   9164:  0: abcbabc
                   9165:  1: abc
                   9166:     ** Failers 
                   9167: No match
                   9168:     abcXabc
                   9169: No match
                   9170: 
                   9171: /(?1)[^]a()b](abc)/
                   9172:     abcXabc
                   9173:  0: abcXabc
                   9174:  1: abc
                   9175:     ** Failers 
                   9176: No match
                   9177:     abcbabc
                   9178: No match
                   9179: 
                   9180: /(?2)[]a()b](abc)(xyz)/
                   9181:     xyzbabcxyz
                   9182:  0: xyzbabcxyz
                   9183:  1: abc
                   9184:  2: xyz
                   9185: 
                   9186: /(?&N)[]a(?<N>)](?<M>abc)/
                   9187: Failed: reference to non-existent subpattern at offset 4
                   9188: 
                   9189: /(?&N)[]a(?<N>)](abc)/
                   9190: Failed: reference to non-existent subpattern at offset 4
                   9191: 
                   9192: /a[]b/
                   9193: Failed: missing terminating ] for character class at offset 4
                   9194: 
                   9195: /a[^]b/
                   9196: Failed: missing terminating ] for character class at offset 5
                   9197: 
                   9198: /a[]b/<JS>
                   9199:     ** Failers
                   9200: No match
                   9201:     ab
                   9202: No match
                   9203: 
                   9204: /a[]+b/<JS>
                   9205:     ** Failers
                   9206: No match
                   9207:     ab 
                   9208: No match
                   9209: 
                   9210: /a[]*+b/<JS>
                   9211:     ** Failers
                   9212: No match
                   9213:     ab 
                   9214: No match
                   9215: 
                   9216: /a[^]b/<JS>
                   9217:     aXb
                   9218:  0: aXb
                   9219:     a\nb 
                   9220:  0: a\x0ab
                   9221:     ** Failers
                   9222: No match
                   9223:     ab  
                   9224: No match
                   9225:     
                   9226: /a[^]+b/<JS> 
                   9227:     aXb
                   9228:  0: aXb
                   9229:     a\nX\nXb 
                   9230:  0: a\x0aX\x0aXb
                   9231:     ** Failers
                   9232: No match
                   9233:     ab  
                   9234: No match
                   9235: 
                   9236: /a(?!)+b/
                   9237: Failed: nothing to repeat at offset 5
                   9238: 
                   9239: /a(*FAIL)+b/
                   9240: Failed: nothing to repeat at offset 8
                   9241: 
                   9242: /(abc|pqr|123){0}[xyz]/SI
                   9243: Capturing subpattern count = 1
                   9244: No options
                   9245: No first char
                   9246: No need char
                   9247: Subject length lower bound = 1
                   9248: Starting byte set: x y z 
                   9249: 
                   9250: /(?(?=.*b)b|^)/CI
                   9251: Capturing subpattern count = 0
                   9252: Options:
                   9253: No first char
                   9254: No need char
                   9255:    adc
                   9256: --->adc
                   9257:  +0 ^       (?(?=.*b)b|^)
                   9258:  +2 ^       (?=.*b)
                   9259:  +5 ^       .*
                   9260:  +7 ^  ^    b
                   9261:  +7 ^ ^     b
                   9262:  +7 ^^      b
                   9263:  +7 ^       b
1.1.1.4 ! misho    9264: +11 ^       ^
1.1       misho    9265: +12 ^       )
                   9266: +13 ^       
                   9267:  0: 
                   9268:    abc 
                   9269: --->abc
                   9270:  +0 ^       (?(?=.*b)b|^)
                   9271:  +2 ^       (?=.*b)
                   9272:  +5 ^       .*
                   9273:  +7 ^  ^    b
                   9274:  +7 ^ ^     b
                   9275:  +7 ^^      b
                   9276:  +8 ^ ^     )
                   9277:  +9 ^       b
                   9278:  +0  ^      (?(?=.*b)b|^)
                   9279:  +2  ^      (?=.*b)
                   9280:  +5  ^      .*
                   9281:  +7  ^ ^    b
                   9282:  +7  ^^     b
                   9283:  +7  ^      b
                   9284:  +8  ^^     )
                   9285:  +9  ^      b
                   9286: +10  ^^     |
                   9287: +13  ^^     
                   9288:  0: b
                   9289:    
                   9290: /(?(?=b).*b|^d)/I
                   9291: Capturing subpattern count = 0
                   9292: No options
                   9293: No first char
                   9294: No need char
                   9295: 
                   9296: /(?(?=.*b).*b|^d)/I
                   9297: Capturing subpattern count = 0
                   9298: No options
                   9299: First char at start or follows newline
                   9300: No need char
                   9301: 
                   9302: /xyz/C
                   9303:   xyz 
                   9304: --->xyz
                   9305:  +0 ^       x
                   9306:  +1 ^^      y
                   9307:  +2 ^ ^     z
                   9308:  +3 ^  ^    
                   9309:  0: xyz
                   9310:   abcxyz 
                   9311: --->abcxyz
                   9312:  +0    ^       x
                   9313:  +1    ^^      y
                   9314:  +2    ^ ^     z
                   9315:  +3    ^  ^    
                   9316:  0: xyz
                   9317:   abcxyz\Y
                   9318: --->abcxyz
                   9319:  +0 ^          x
                   9320:  +0  ^         x
                   9321:  +0   ^        x
                   9322:  +0    ^       x
                   9323:  +1    ^^      y
                   9324:  +2    ^ ^     z
                   9325:  +3    ^  ^    
                   9326:  0: xyz
                   9327:   ** Failers 
                   9328: No match
                   9329:   abc
                   9330: No match
                   9331:   abc\Y
                   9332: --->abc
                   9333:  +0 ^       x
                   9334:  +0  ^      x
                   9335:  +0   ^     x
                   9336:  +0    ^    x
                   9337: No match
                   9338:   abcxypqr  
                   9339: No match
                   9340:   abcxypqr\Y  
                   9341: --->abcxypqr
                   9342:  +0 ^            x
                   9343:  +0  ^           x
                   9344:  +0   ^          x
                   9345:  +0    ^         x
                   9346:  +1    ^^        y
                   9347:  +2    ^ ^       z
                   9348:  +0     ^        x
                   9349:  +0      ^       x
                   9350:  +0       ^      x
                   9351:  +0        ^     x
                   9352:  +0         ^    x
                   9353: No match
                   9354:   
                   9355: /(*NO_START_OPT)xyz/C
                   9356:   abcxyz 
                   9357: --->abcxyz
                   9358: +15 ^          x
                   9359: +15  ^         x
                   9360: +15   ^        x
                   9361: +15    ^       x
                   9362: +16    ^^      y
                   9363: +17    ^ ^     z
                   9364: +18    ^  ^    
                   9365:  0: xyz
                   9366: 
                   9367: /xyz/CY
                   9368:   abcxyz 
                   9369: --->abcxyz
                   9370:  +0 ^          x
                   9371:  +0  ^         x
                   9372:  +0   ^        x
                   9373:  +0    ^       x
                   9374:  +1    ^^      y
                   9375:  +2    ^ ^     z
                   9376:  +3    ^  ^    
                   9377:  0: xyz
                   9378: 
                   9379: /^"((?(?=[a])[^"])|b)*"$/C
                   9380:     "ab"
                   9381: --->"ab"
                   9382:  +0 ^        ^
                   9383:  +1 ^        "
                   9384:  +2 ^^       ((?(?=[a])[^"])|b)*
                   9385:  +3 ^^       (?(?=[a])[^"])
                   9386:  +5 ^^       (?=[a])
                   9387:  +8 ^^       [a]
                   9388: +11 ^ ^      )
                   9389: +12 ^^       [^"]
                   9390: +16 ^ ^      )
                   9391: +17 ^ ^      |
                   9392:  +3 ^ ^      (?(?=[a])[^"])
                   9393:  +5 ^ ^      (?=[a])
                   9394:  +8 ^ ^      [a]
1.1.1.4 ! misho    9395: +17 ^ ^      |
1.1       misho    9396: +21 ^ ^      "
                   9397: +18 ^ ^      b
                   9398: +19 ^  ^     )
                   9399:  +3 ^  ^     (?(?=[a])[^"])
                   9400:  +5 ^  ^     (?=[a])
                   9401:  +8 ^  ^     [a]
1.1.1.4 ! misho    9402: +17 ^  ^     |
1.1       misho    9403: +21 ^  ^     "
                   9404: +22 ^   ^    $
                   9405: +23 ^   ^    
                   9406:  0: "ab"
                   9407:  1: 
                   9408: 
                   9409: /^"((?(?=[a])[^"])|b)*"$/
                   9410:     "ab"
                   9411:  0: "ab"
                   9412:  1: 
                   9413: 
                   9414: /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
                   9415: Failed: reference to non-existent subpattern at offset 5
                   9416: 
                   9417: /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
                   9418:     XYabcdY
                   9419:  0: XYabcdY
                   9420:  1: a
                   9421:  2: b
                   9422:  3: c
                   9423:  4: d
                   9424:  5: Y
                   9425:  
                   9426: /Xa{2,4}b/
                   9427:     X\P
                   9428: Partial match: X
                   9429:     Xa\P
                   9430: Partial match: Xa
                   9431:     Xaa\P 
                   9432: Partial match: Xaa
                   9433:     Xaaa\P
                   9434: Partial match: Xaaa
                   9435:     Xaaaa\P 
                   9436: Partial match: Xaaaa
                   9437:     
                   9438: /Xa{2,4}?b/
                   9439:     X\P
                   9440: Partial match: X
                   9441:     Xa\P
                   9442: Partial match: Xa
                   9443:     Xaa\P 
                   9444: Partial match: Xaa
                   9445:     Xaaa\P
                   9446: Partial match: Xaaa
                   9447:     Xaaaa\P 
                   9448: Partial match: Xaaaa
                   9449:     
                   9450: /Xa{2,4}+b/
                   9451:     X\P
                   9452: Partial match: X
                   9453:     Xa\P
                   9454: Partial match: Xa
                   9455:     Xaa\P 
                   9456: Partial match: Xaa
                   9457:     Xaaa\P
                   9458: Partial match: Xaaa
                   9459:     Xaaaa\P 
                   9460: Partial match: Xaaaa
                   9461:     
                   9462: /X\d{2,4}b/
                   9463:     X\P
                   9464: Partial match: X
                   9465:     X3\P
                   9466: Partial match: X3
                   9467:     X33\P 
                   9468: Partial match: X33
                   9469:     X333\P
                   9470: Partial match: X333
                   9471:     X3333\P 
                   9472: Partial match: X3333
                   9473:     
                   9474: /X\d{2,4}?b/
                   9475:     X\P
                   9476: Partial match: X
                   9477:     X3\P
                   9478: Partial match: X3
                   9479:     X33\P 
                   9480: Partial match: X33
                   9481:     X333\P
                   9482: Partial match: X333
                   9483:     X3333\P 
                   9484: Partial match: X3333
                   9485:     
                   9486: /X\d{2,4}+b/
                   9487:     X\P
                   9488: Partial match: X
                   9489:     X3\P
                   9490: Partial match: X3
                   9491:     X33\P 
                   9492: Partial match: X33
                   9493:     X333\P
                   9494: Partial match: X333
                   9495:     X3333\P 
                   9496: Partial match: X3333
                   9497:     
                   9498: /X\D{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: /X\D{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: /X\D{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[abc]{2,4}b/
                   9535:     X\P
                   9536: Partial match: X
                   9537:     Xa\P
                   9538: Partial match: Xa
                   9539:     Xaa\P 
                   9540: Partial match: Xaa
                   9541:     Xaaa\P
                   9542: Partial match: Xaaa
                   9543:     Xaaaa\P 
                   9544: Partial match: Xaaaa
                   9545:     
                   9546: /X[abc]{2,4}?b/
                   9547:     X\P
                   9548: Partial match: X
                   9549:     Xa\P
                   9550: Partial match: Xa
                   9551:     Xaa\P 
                   9552: Partial match: Xaa
                   9553:     Xaaa\P
                   9554: Partial match: Xaaa
                   9555:     Xaaaa\P 
                   9556: Partial match: Xaaaa
                   9557:     
                   9558: /X[abc]{2,4}+b/
                   9559:     X\P
                   9560: Partial match: X
                   9561:     Xa\P
                   9562: Partial match: Xa
                   9563:     Xaa\P 
                   9564: Partial match: Xaa
                   9565:     Xaaa\P
                   9566: Partial match: Xaaa
                   9567:     Xaaaa\P 
                   9568: Partial match: Xaaaa
                   9569:     
                   9570: /X[^a]{2,4}b/
                   9571:     X\P
                   9572: Partial match: X
                   9573:     Xz\P
                   9574: Partial match: Xz
                   9575:     Xzz\P 
                   9576: Partial match: Xzz
                   9577:     Xzzz\P
                   9578: Partial match: Xzzz
                   9579:     Xzzzz\P 
                   9580: Partial match: Xzzzz
                   9581:     
                   9582: /X[^a]{2,4}?b/
                   9583:     X\P
                   9584: Partial match: X
                   9585:     Xz\P
                   9586: Partial match: Xz
                   9587:     Xzz\P 
                   9588: Partial match: Xzz
                   9589:     Xzzz\P
                   9590: Partial match: Xzzz
                   9591:     Xzzzz\P 
                   9592: Partial match: Xzzzz
                   9593:     
                   9594: /X[^a]{2,4}+b/
                   9595:     X\P
                   9596: Partial match: X
                   9597:     Xz\P
                   9598: Partial match: Xz
                   9599:     Xzz\P 
                   9600: Partial match: Xzz
                   9601:     Xzzz\P
                   9602: Partial match: Xzzz
                   9603:     Xzzzz\P 
                   9604: Partial match: Xzzzz
                   9605:     
                   9606: /(Y)X\1{2,4}b/
                   9607:     YX\P
                   9608: Partial match: YX
                   9609:     YXY\P
                   9610: Partial match: YXY
                   9611:     YXYY\P 
                   9612: Partial match: YXYY
                   9613:     YXYYY\P
                   9614: Partial match: YXYYY
                   9615:     YXYYYY\P 
                   9616: Partial match: YXYYYY
                   9617:     
                   9618: /(Y)X\1{2,4}?b/
                   9619:     YX\P
                   9620: Partial match: YX
                   9621:     YXY\P
                   9622: Partial match: YXY
                   9623:     YXYY\P 
                   9624: Partial match: YXYY
                   9625:     YXYYY\P
                   9626: Partial match: YXYYY
                   9627:     YXYYYY\P 
                   9628: Partial match: YXYYYY
                   9629:     
                   9630: /(Y)X\1{2,4}+b/
                   9631:     YX\P
                   9632: Partial match: YX
                   9633:     YXY\P
                   9634: Partial match: YXY
                   9635:     YXYY\P 
                   9636: Partial match: YXYY
                   9637:     YXYYY\P
                   9638: Partial match: YXYYY
                   9639:     YXYYYY\P 
                   9640: Partial match: YXYYYY
                   9641:     
                   9642: /\++\KZ|\d+X|9+Y/
                   9643:     ++++123999\P
                   9644: Partial match: 123999
                   9645:     ++++123999Y\P
                   9646:  0: 999Y
                   9647:     ++++Z1234\P 
                   9648:  0: Z
                   9649: 
                   9650: /Z(*F)/
                   9651:     Z\P
                   9652: No match
                   9653:     ZA\P 
                   9654: No match
                   9655:     
                   9656: /Z(?!)/
                   9657:     Z\P 
                   9658: No match
                   9659:     ZA\P 
                   9660: No match
                   9661: 
                   9662: /dog(sbody)?/
                   9663:     dogs\P
                   9664:  0: dog
                   9665:     dogs\P\P 
                   9666: Partial match: dogs
                   9667:     
                   9668: /dog(sbody)??/
                   9669:     dogs\P
                   9670:  0: dog
                   9671:     dogs\P\P 
                   9672:  0: dog
                   9673: 
                   9674: /dog|dogsbody/
                   9675:     dogs\P
                   9676:  0: dog
                   9677:     dogs\P\P 
                   9678:  0: dog
                   9679:  
                   9680: /dogsbody|dog/
                   9681:     dogs\P
                   9682:  0: dog
                   9683:     dogs\P\P 
                   9684: Partial match: dogs
                   9685: 
                   9686: /\bthe cat\b/
                   9687:     the cat\P
                   9688:  0: the cat
                   9689:     the cat\P\P
                   9690: Partial match: the cat
                   9691: 
                   9692: /abc/
                   9693:    abc\P
                   9694:  0: abc
                   9695:    abc\P\P
                   9696:  0: abc
                   9697:    
                   9698: /abc\K123/
                   9699:     xyzabc123pqr
                   9700:  0: 123
                   9701:     xyzabc12\P
                   9702: Partial match: abc12
                   9703:     xyzabc12\P\P
                   9704: Partial match: abc12
                   9705:     
                   9706: /(?<=abc)123/
                   9707:     xyzabc123pqr 
                   9708:  0: 123
                   9709:     xyzabc12\P
1.1.1.4 ! misho    9710: Partial match at offset 6: abc12
1.1       misho    9711:     xyzabc12\P\P
1.1.1.4 ! misho    9712: Partial match at offset 6: abc12
1.1       misho    9713: 
                   9714: /\babc\b/
                   9715:     +++abc+++
                   9716:  0: abc
                   9717:     +++ab\P
1.1.1.4 ! misho    9718: Partial match at offset 3: +ab
1.1       misho    9719:     +++ab\P\P  
1.1.1.4 ! misho    9720: Partial match at offset 3: +ab
1.1       misho    9721: 
                   9722: /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
                   9723: ------------------------------------------------------------------
                   9724:         Bra
                   9725:         Recurse
                   9726:         Recurse
                   9727:         Cond
                   9728:         Cond def
                   9729:         CBra 1
                   9730:         <
                   9731:         [^m]
                   9732:         [^>]
                   9733:         >
                   9734:         [^<]
                   9735:         Ket
                   9736:         CBra 2
                   9737:         \w*+
                   9738:         Ket
                   9739:         Ket
                   9740:         Ket
                   9741:         End
                   9742: ------------------------------------------------------------------
                   9743: 
                   9744: /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
                   9745: ------------------------------------------------------------------
                   9746:         Bra
                   9747:         Recurse
                   9748:         Recurse
                   9749:         Cond
                   9750:         Cond def
                   9751:         CBra 1
                   9752:         <
                   9753:         [\x00-/:-\xff] (neg)
                   9754:         [^>]
                   9755:         >
                   9756:         [^<]
                   9757:         Ket
                   9758:         CBra 2
                   9759:         \w*+
                   9760:         Ket
                   9761:         Ket
                   9762:         Ket
                   9763:         End
                   9764: ------------------------------------------------------------------
                   9765: 
                   9766: /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
                   9767: ------------------------------------------------------------------
                   9768:         Bra
                   9769:         CBra 1
                   9770:         ab
                   9771:         Ket
                   9772:         CBra 2
                   9773:         x
                   9774:         CBra 3
                   9775:         y
                   9776:         Ket
                   9777:         z
                   9778:         CBra 4
                   9779:         cd
                   9780:         Close 4
                   9781:         Close 2
                   9782:         *ACCEPT
                   9783:         Ket
                   9784:         Ket
                   9785:         pq
                   9786:         Ket
                   9787:         End
                   9788: ------------------------------------------------------------------
                   9789: 
                   9790: /abc\K/+
                   9791:     abcdef
                   9792:  0: 
                   9793:  0+ def
                   9794:     abcdef\N\N
                   9795:  0: 
                   9796:  0+ def
                   9797:     xyzabcdef\N\N
                   9798:  0: 
                   9799:  0+ def
                   9800:     ** Failers
                   9801: No match
                   9802:     abcdef\N 
                   9803: No match
                   9804:     xyzabcdef\N
                   9805: No match
                   9806:     
                   9807: /^(?:(?=abc)|abc\K)/+
                   9808:     abcdef
                   9809:  0: 
                   9810:  0+ abcdef
                   9811:     abcdef\N\N 
                   9812:  0: 
                   9813:  0+ def
                   9814:     ** Failers 
                   9815: No match
                   9816:     abcdef\N 
                   9817: No match
                   9818: 
                   9819: /a?b?/+
                   9820:     xyz
                   9821:  0: 
                   9822:  0+ xyz
                   9823:     xyzabc
                   9824:  0: 
                   9825:  0+ xyzabc
                   9826:     xyzabc\N
                   9827:  0: ab
                   9828:  0+ c
                   9829:     xyzabc\N\N
                   9830:  0: 
                   9831:  0+ yzabc
                   9832:     xyz\N\N    
                   9833:  0: 
                   9834:  0+ yz
                   9835:     ** Failers 
                   9836:  0: 
                   9837:  0+ ** Failers
                   9838:     xyz\N 
                   9839: No match
                   9840: 
                   9841: /^a?b?/+
                   9842:     xyz
                   9843:  0: 
                   9844:  0+ xyz
                   9845:     xyzabc
                   9846:  0: 
                   9847:  0+ xyzabc
                   9848:     ** Failers 
                   9849:  0: 
                   9850:  0+ ** Failers
                   9851:     xyzabc\N
                   9852: No match
                   9853:     xyzabc\N\N
                   9854: No match
                   9855:     xyz\N\N    
                   9856: No match
                   9857:     xyz\N 
                   9858: No match
                   9859:     
                   9860: /^(?<name>a|b\g<name>c)/
                   9861:     aaaa
                   9862:  0: a
                   9863:  1: a
                   9864:     bacxxx
                   9865:  0: bac
                   9866:  1: bac
                   9867:     bbaccxxx 
                   9868:  0: bbacc
                   9869:  1: bbacc
                   9870:     bbbacccxx
                   9871:  0: bbbaccc
                   9872:  1: bbbaccc
                   9873: 
                   9874: /^(?<name>a|b\g'name'c)/
                   9875:     aaaa
                   9876:  0: a
                   9877:  1: a
                   9878:     bacxxx
                   9879:  0: bac
                   9880:  1: bac
                   9881:     bbaccxxx 
                   9882:  0: bbacc
                   9883:  1: bbacc
                   9884:     bbbacccxx
                   9885:  0: bbbaccc
                   9886:  1: bbbaccc
                   9887: 
                   9888: /^(a|b\g<1>c)/
                   9889:     aaaa
                   9890:  0: a
                   9891:  1: a
                   9892:     bacxxx
                   9893:  0: bac
                   9894:  1: bac
                   9895:     bbaccxxx 
                   9896:  0: bbacc
                   9897:  1: bbacc
                   9898:     bbbacccxx
                   9899:  0: bbbaccc
                   9900:  1: bbbaccc
                   9901: 
                   9902: /^(a|b\g'1'c)/
                   9903:     aaaa
                   9904:  0: a
                   9905:  1: a
                   9906:     bacxxx
                   9907:  0: bac
                   9908:  1: bac
                   9909:     bbaccxxx 
                   9910:  0: bbacc
                   9911:  1: bbacc
                   9912:     bbbacccxx
                   9913:  0: bbbaccc
                   9914:  1: bbbaccc
                   9915: 
                   9916: /^(a|b\g'-1'c)/
                   9917:     aaaa
                   9918:  0: a
                   9919:  1: a
                   9920:     bacxxx
                   9921:  0: bac
                   9922:  1: bac
                   9923:     bbaccxxx 
                   9924:  0: bbacc
                   9925:  1: bbacc
                   9926:     bbbacccxx
                   9927:  0: bbbaccc
                   9928:  1: bbbaccc
                   9929: 
                   9930: /(^(a|b\g<-1>c))/
                   9931:     aaaa
                   9932:  0: a
                   9933:  1: a
                   9934:  2: a
                   9935:     bacxxx
                   9936:  0: bac
                   9937:  1: bac
                   9938:  2: bac
                   9939:     bbaccxxx 
                   9940:  0: bbacc
                   9941:  1: bbacc
                   9942:  2: bbacc
                   9943:     bbbacccxx
                   9944:  0: bbbaccc
                   9945:  1: bbbaccc
                   9946:  2: bbbaccc
                   9947: 
                   9948: /(?-i:\g<name>)(?i:(?<name>a))/
                   9949:     XaaX
                   9950:  0: aa
                   9951:  1: a
                   9952:     XAAX 
                   9953:  0: AA
                   9954:  1: A
                   9955: 
                   9956: /(?i:\g<name>)(?-i:(?<name>a))/
                   9957:     XaaX
                   9958:  0: aa
                   9959:  1: a
                   9960:     ** Failers 
                   9961: No match
                   9962:     XAAX 
                   9963: No match
                   9964: 
                   9965: /(?-i:\g<+1>)(?i:(a))/
                   9966:     XaaX
                   9967:  0: aa
                   9968:  1: a
                   9969:     XAAX 
                   9970:  0: AA
                   9971:  1: A
                   9972: 
                   9973: /(?=(?<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>\})\}))\{/
                   9974: 
                   9975: /(?<n>a|b|c)\g<n>*/
                   9976:    abc
                   9977:  0: abc
                   9978:  1: a
                   9979:    accccbbb 
                   9980:  0: accccbbb
                   9981:  1: a
                   9982: 
                   9983: /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
                   9984:     XYabcdY
                   9985:  0: XYabcdY
                   9986:  1: a
                   9987:  2: b
                   9988:  3: <unset>
                   9989:  4: <unset>
                   9990:  5: c
                   9991:  6: d
                   9992:  7: Y
                   9993: 
                   9994: /(?<=b(?1)|zzz)(a)/
                   9995:     xbaax
                   9996:  0: a
                   9997:  1: a
                   9998:     xzzzax 
                   9999:  0: a
                   10000:  1: a
                   10001: 
                   10002: /(a)(?<=b\1)/
                   10003: Failed: lookbehind assertion is not fixed length at offset 10
                   10004: 
                   10005: /(a)(?<=b+(?1))/
                   10006: Failed: lookbehind assertion is not fixed length at offset 13
                   10007: 
                   10008: /(a+)(?<=b(?1))/
                   10009: Failed: lookbehind assertion is not fixed length at offset 14
                   10010: 
                   10011: /(a(?<=b(?1)))/
                   10012: Failed: lookbehind assertion is not fixed length at offset 13
                   10013: 
                   10014: /(?<=b(?1))xyz/
                   10015: Failed: reference to non-existent subpattern at offset 8
                   10016: 
                   10017: /(?<=b(?1))xyz(b+)pqrstuvew/
                   10018: Failed: lookbehind assertion is not fixed length at offset 26
                   10019: 
                   10020: /(a|bc)\1/SI
                   10021: Capturing subpattern count = 1
                   10022: Max back reference = 1
                   10023: No options
                   10024: No first char
                   10025: No need char
                   10026: Subject length lower bound = 2
                   10027: Starting byte set: a b 
                   10028: 
                   10029: /(a|bc)\1{2,3}/SI
                   10030: Capturing subpattern count = 1
                   10031: Max back reference = 1
                   10032: No options
                   10033: No first char
                   10034: No need char
                   10035: Subject length lower bound = 3
                   10036: Starting byte set: a b 
                   10037: 
                   10038: /(a|bc)(?1)/SI
                   10039: Capturing subpattern count = 1
                   10040: No options
                   10041: No first char
                   10042: No need char
                   10043: Subject length lower bound = 2
                   10044: Starting byte set: a b 
                   10045: 
                   10046: /(a|b\1)(a|b\1)/SI
                   10047: Capturing subpattern count = 2
                   10048: Max back reference = 1
                   10049: No options
                   10050: No first char
                   10051: No need char
                   10052: Subject length lower bound = 2
                   10053: Starting byte set: a b 
                   10054: 
                   10055: /(a|b\1){2}/SI
                   10056: Capturing subpattern count = 1
                   10057: Max back reference = 1
                   10058: No options
                   10059: No first char
                   10060: No need char
                   10061: Subject length lower bound = 2
                   10062: Starting byte set: a b 
                   10063: 
                   10064: /(a|bbbb\1)(a|bbbb\1)/SI
                   10065: Capturing subpattern count = 2
                   10066: Max back reference = 1
                   10067: No options
                   10068: No first char
                   10069: No need char
                   10070: Subject length lower bound = 2
                   10071: Starting byte set: a b 
                   10072: 
                   10073: /(a|bbbb\1){2}/SI
                   10074: Capturing subpattern count = 1
                   10075: Max back reference = 1
                   10076: No options
                   10077: No first char
                   10078: No need char
                   10079: Subject length lower bound = 2
                   10080: Starting byte set: a b 
                   10081: 
                   10082: /^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
                   10083: Capturing subpattern count = 1
                   10084: Options: anchored
                   10085: No first char
                   10086: Need char = ':'
                   10087: Subject length lower bound = 22
                   10088: No set of starting bytes
                   10089: 
                   10090: /<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
                   10091: Capturing subpattern count = 11
                   10092: Options: caseless dotall
                   10093: First char = '<'
                   10094: Need char = '>'
                   10095: Subject length lower bound = 47
                   10096: No set of starting bytes
                   10097: 
                   10098: "(?>.*/)foo"SI
                   10099: Capturing subpattern count = 0
                   10100: No options
1.1.1.4 ! misho    10101: No first char
1.1       misho    10102: Need char = 'o'
                   10103: Subject length lower bound = 4
                   10104: No set of starting bytes
                   10105: 
                   10106: /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
                   10107: Capturing subpattern count = 0
                   10108: Options: extended
                   10109: No first char
                   10110: Need char = '-'
                   10111: Subject length lower bound = 8
                   10112: No set of starting bytes
                   10113: 
                   10114: /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
                   10115: Capturing subpattern count = 1
                   10116: Options: caseless
                   10117: No first char
                   10118: No need char
                   10119: Subject length lower bound = 1
                   10120: Starting byte set: A B C a b c 
                   10121: 
                   10122: /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
                   10123: Capturing subpattern count = 0
                   10124: No options
                   10125: No first char
                   10126: Need char = 'b'
                   10127: Subject length lower bound = 41
                   10128: Starting byte set: c d 
                   10129: 
                   10130: /<a[\s]+href[\s]*=[\s]*          # find <a href=
                   10131:  ([\"\'])?                       # find single or double quote
                   10132:  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
                   10133:                                  # quote, otherwise match up to next space
                   10134: /isxSI
                   10135: Capturing subpattern count = 3
                   10136: Max back reference = 1
                   10137: Options: caseless extended dotall
                   10138: First char = '<'
                   10139: Need char = '='
                   10140: Subject length lower bound = 9
                   10141: No set of starting bytes
                   10142: 
                   10143: /^(?!:)                       # colon disallowed at start
                   10144:   (?:                         # start of item
                   10145:     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
                   10146:     (?(1)0 | () ) )           # if null previously matched, fail; else null
                   10147:     :                         # followed by colon
                   10148:   ){1,7}                      # end item; 1-7 of them required               
                   10149:   [0-9a-f]{1,4} $             # final hex number at end of string
                   10150:   (?(1)|.)                    # check that there was an empty component
                   10151:   /xiIS
                   10152: Capturing subpattern count = 1
                   10153: Options: anchored caseless extended
                   10154: No first char
                   10155: Need char = ':'
                   10156: Subject length lower bound = 2
                   10157: No set of starting bytes
                   10158: 
                   10159: /(?|(?<a>A)|(?<a>B))/I
                   10160: Capturing subpattern count = 1
                   10161: Named capturing subpatterns:
                   10162:   a   1
                   10163:   a   1
                   10164: No options
                   10165: No first char
                   10166: No need char
                   10167:     AB\Ca
                   10168:  0: A
                   10169:  1: A
                   10170:   C A (1) a
                   10171:     BA\Ca
                   10172:  0: B
                   10173:  1: B
                   10174:   C B (1) a
                   10175: 
                   10176: /(?|(?<a>A)|(?<b>B))/ 
                   10177: Failed: different names for subpatterns of the same number are not allowed at offset 15
                   10178: 
                   10179: /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
                   10180:     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
                   10181:     (?('quote')[a-z]+|[0-9]+)/JIx
                   10182: Capturing subpattern count = 6
                   10183: Named capturing subpatterns:
                   10184:   apostrophe   2
                   10185:   apostrophe   5
                   10186:   quote        1
                   10187:   quote        4
                   10188:   realquote    3
                   10189:   realquote    6
                   10190: Options: extended dupnames
                   10191: No first char
                   10192: No need char
                   10193:     a"aaaaa
                   10194:  0: a"aaaaa
                   10195:  1: "
                   10196:  2: <unset>
                   10197:  3: "
                   10198:     b"aaaaa 
                   10199:  0: b"aaaaa
                   10200:  1: <unset>
                   10201:  2: <unset>
                   10202:  3: <unset>
                   10203:  4: "
                   10204:  5: <unset>
                   10205:  6: "
                   10206:     ** Failers 
                   10207: No match
                   10208:     b"11111
                   10209: No match
                   10210:     a"11111 
                   10211: No match
                   10212:     
                   10213: /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
                   10214: ------------------------------------------------------------------
                   10215:         Bra
                   10216:         ^
                   10217:         Bra
                   10218:         CBra 1
                   10219:         a
                   10220:         Ket
                   10221:         CBra 2
                   10222:         b
                   10223:         Ket
                   10224:         CBra 3
                   10225:         c
                   10226:         Ket
                   10227:         CBra 4
                   10228:         d
                   10229:         Ket
                   10230:         Alt
                   10231:         CBra 1
                   10232:         e
                   10233:         Ket
                   10234:         Ket
                   10235:         Cond
                   10236:       4 Cond nref
                   10237:         X
                   10238:         Alt
                   10239:         Y
                   10240:         Ket
                   10241:         Ket
                   10242:         End
                   10243: ------------------------------------------------------------------
                   10244: Capturing subpattern count = 4
                   10245: Named capturing subpatterns:
                   10246:   D   4
                   10247:   D   1
                   10248: Options: anchored extended dupnames
                   10249: No first char
                   10250: No need char
                   10251:     abcdX
                   10252:  0: abcdX
                   10253:  1: a
                   10254:  2: b
                   10255:  3: c
                   10256:  4: d
                   10257:     eX
                   10258:  0: eX
                   10259:  1: e
                   10260:     ** Failers
                   10261: No match
                   10262:     abcdY
                   10263: No match
                   10264:     ey     
                   10265: No match
                   10266:     
                   10267: /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
                   10268: ------------------------------------------------------------------
                   10269:         Bra
                   10270:         CBra 1
                   10271:         a
                   10272:         Ket
                   10273:         CBra 2
                   10274:         b
                   10275:         Ket
                   10276:         CBra 3
                   10277:         c
                   10278:         Ket
                   10279:         CBra 4
                   10280:         d
                   10281:         Cond
                   10282:         Cond nrecurse 1
                   10283:         $
                   10284:         Alt
                   10285:         Recurse
                   10286:         Ket
                   10287:         Ket
                   10288:         Ket
                   10289:         End
                   10290: ------------------------------------------------------------------
                   10291: Capturing subpattern count = 4
                   10292: Named capturing subpatterns:
                   10293:   A   1
                   10294:   A   4
                   10295: Options: extended dupnames
                   10296: First char = 'a'
                   10297: Need char = 'd'
                   10298:     abcdd
                   10299:  0: abcdd
                   10300:  1: a
                   10301:  2: b
                   10302:  3: c
                   10303:  4: dd
                   10304:     ** Failers
                   10305: No match
                   10306:     abcdde  
                   10307: No match
                   10308: 
                   10309: /abcd*/
                   10310:     xxxxabcd\P
                   10311:  0: abcd
                   10312:     xxxxabcd\P\P
                   10313: Partial match: abcd
                   10314: 
                   10315: /abcd*/i
                   10316:     xxxxabcd\P
                   10317:  0: abcd
                   10318:     xxxxabcd\P\P
                   10319: Partial match: abcd
                   10320:     XXXXABCD\P
                   10321:  0: ABCD
                   10322:     XXXXABCD\P\P
                   10323: Partial match: ABCD
                   10324: 
                   10325: /abc\d*/
                   10326:     xxxxabc1\P
                   10327:  0: abc1
                   10328:     xxxxabc1\P\P
                   10329: Partial match: abc1
                   10330: 
                   10331: /(a)bc\1*/
                   10332:     xxxxabca\P
                   10333:  0: abca
                   10334:  1: a
                   10335:     xxxxabca\P\P
                   10336: Partial match: abca
                   10337: 
                   10338: /abc[de]*/
                   10339:     xxxxabcde\P
                   10340:  0: abcde
                   10341:     xxxxabcde\P\P
                   10342: Partial match: abcde
                   10343: 
1.1.1.4 ! misho    10344: /-- This is not in the Perl-compatible test because Perl seems currently to be
1.1       misho    10345:     broken and not behaving as specified in that it *does* bumpalong after
                   10346:     hitting (*COMMIT). --/
                   10347: 
                   10348: /(?1)(A(*COMMIT)|B)D/
                   10349:     ABD
                   10350:  0: ABD
                   10351:  1: B
                   10352:     XABD
                   10353:  0: ABD
                   10354:  1: B
                   10355:     BAD
                   10356:  0: BAD
                   10357:  1: A
                   10358:     ABXABD  
                   10359:  0: ABD
                   10360:  1: B
                   10361:     ** Failers 
                   10362: No match
                   10363:     ABX 
                   10364: No match
                   10365:     BAXBAD  
                   10366: No match
                   10367: 
                   10368: /(\3)(\1)(a)/<JS>
                   10369:     cat
                   10370:  0: a
                   10371:  1: 
                   10372:  2: 
                   10373:  3: a
                   10374: 
                   10375: /(\3)(\1)(a)/SI<JS>
                   10376: Capturing subpattern count = 3
                   10377: Max back reference = 3
                   10378: Options:
                   10379: No first char
                   10380: Need char = 'a'
                   10381: Subject length lower bound = 1
                   10382: No set of starting bytes
                   10383:     cat
                   10384:  0: a
                   10385:  1: 
                   10386:  2: 
                   10387:  3: a
                   10388: 
                   10389: /(\3)(\1)(a)/SI
                   10390: Capturing subpattern count = 3
                   10391: Max back reference = 3
                   10392: No options
                   10393: No first char
                   10394: Need char = 'a'
                   10395: Subject length lower bound = 3
                   10396: No set of starting bytes
                   10397:     cat
                   10398: No match
                   10399: 
                   10400: /i(?(DEFINE)(?<s>a))/SI
                   10401: Capturing subpattern count = 1
                   10402: Named capturing subpatterns:
                   10403:   s   1
                   10404: No options
                   10405: First char = 'i'
                   10406: No need char
                   10407: Subject length lower bound = 1
                   10408: No set of starting bytes
                   10409:     i
                   10410:  0: i
                   10411:     
                   10412: /()i(?(1)a)/SI 
                   10413: Capturing subpattern count = 1
                   10414: No options
                   10415: No first char
                   10416: Need char = 'i'
                   10417: Subject length lower bound = 1
                   10418: Starting byte set: i 
                   10419:     ia
                   10420:  0: ia
                   10421:  1: 
                   10422: 
                   10423: /(?i)a(?-i)b|c/BZ
                   10424: ------------------------------------------------------------------
                   10425:         Bra
                   10426:      /i a
                   10427:         b
                   10428:         Alt
                   10429:         c
                   10430:         Ket
                   10431:         End
                   10432: ------------------------------------------------------------------
                   10433:     XabX
                   10434:  0: ab
                   10435:     XAbX
                   10436:  0: Ab
                   10437:     CcC 
                   10438:  0: c
                   10439:     ** Failers
                   10440: No match
                   10441:     XABX   
                   10442: No match
                   10443: 
                   10444: /(?i)a(?s)b|c/BZ
                   10445: ------------------------------------------------------------------
                   10446:         Bra
                   10447:      /i ab
                   10448:         Alt
                   10449:      /i c
                   10450:         Ket
                   10451:         End
                   10452: ------------------------------------------------------------------
                   10453: 
                   10454: /(?i)a(?s-i)b|c/BZ
                   10455: ------------------------------------------------------------------
                   10456:         Bra
                   10457:      /i a
                   10458:         b
                   10459:         Alt
                   10460:         c
                   10461:         Ket
                   10462:         End
                   10463: ------------------------------------------------------------------
                   10464: 
                   10465: /^(ab(c\1)d|x){2}$/BZ
                   10466: ------------------------------------------------------------------
                   10467:         Bra
                   10468:         ^
                   10469:         Once
                   10470:         CBra 1
                   10471:         ab
                   10472:         CBra 2
                   10473:         c
                   10474:         \1
                   10475:         Ket
                   10476:         d
                   10477:         Alt
                   10478:         x
                   10479:         Ket
                   10480:         Ket
                   10481:         Once
                   10482:         CBra 1
                   10483:         ab
                   10484:         CBra 2
                   10485:         c
                   10486:         \1
                   10487:         Ket
                   10488:         d
                   10489:         Alt
                   10490:         x
                   10491:         Ket
                   10492:         Ket
                   10493:         $
                   10494:         Ket
                   10495:         End
                   10496: ------------------------------------------------------------------
                   10497:     xabcxd
                   10498:  0: xabcxd
                   10499:  1: abcxd
                   10500:  2: cx
                   10501:     
                   10502: /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
                   10503: ------------------------------------------------------------------
                   10504:         Bra
                   10505:         ^
                   10506:         Braposzero
                   10507:         SBraPos
                   10508:         Recurse
                   10509:         KetRpos
                   10510:         Cond
                   10511:         Cond def
                   10512:         CBra 1
                   10513:         Any
                   10514:         Ket
                   10515:         Ket
                   10516:         $
                   10517:         Ket
                   10518:         End
                   10519: ------------------------------------------------------------------
                   10520: 
                   10521: /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
                   10522: ------------------------------------------------------------------
                   10523:         Bra
                   10524:         ^
                   10525:         Brazero
                   10526:         Once
                   10527:         Recurse
                   10528:         KetRmax
                   10529:         Cond
                   10530:         Cond def
                   10531:         CBra 1
                   10532:         Any
                   10533:         Ket
                   10534:         Ket
                   10535:         $
                   10536:         Ket
                   10537:         End
                   10538: ------------------------------------------------------------------
                   10539: 
1.1.1.4 ! misho    10540: / -- This one is here because Perl gives the match as "b" rather than "ab". I
1.1       misho    10541:      believe this to be a Perl bug. --/  
                   10542:       
                   10543: /(?>a\Kb)z|(ab)/
                   10544:     ab 
                   10545:  0: ab
                   10546:  1: ab
                   10547: 
                   10548: /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
                   10549: Failed: recursive call could loop indefinitely at offset 31
                   10550: 
                   10551: /abc(*MARK:)pqr/
                   10552: Failed: (*MARK) must have an argument at offset 10
                   10553: 
                   10554: /abc(*:)pqr/
                   10555: Failed: (*MARK) must have an argument at offset 6
                   10556: 
                   10557: /abc(*FAIL:123)xyz/
                   10558: Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
                   10559: 
                   10560: /--- This should, and does, fail. In Perl, it does not, which I think is a 
                   10561:      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
                   10562: 
                   10563: /A(*COMMIT)B/+K
                   10564:     ACABX
                   10565: No match
                   10566: 
1.1.1.4 ! misho    10567: /--- These should be different, but in Perl they are not, which I think
1.1       misho    10568:      is a bug in Perl. ---/
                   10569: 
                   10570: /A(*THEN)B|A(*THEN)C/K
                   10571:     AC
                   10572:  0: AC
                   10573: 
                   10574: /A(*PRUNE)B|A(*PRUNE)C/K
                   10575:     AC
                   10576: No match
                   10577:     
                   10578: /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
                   10579: though PCRE does. ---/
                   10580: 
                   10581: /^A(*:A)B|^X(*:A)Y/K
                   10582:     ** Failers
                   10583: No match
                   10584:     XAQQ
                   10585: No match, mark = A
                   10586:     
                   10587: /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
                   10588: optimizations defeat this. So does the PCRE optimization unless we disable it 
                   10589: with \Y. ---/
                   10590: 
                   10591: /(*COMMIT)ABC/
                   10592:     ABCDEFG
                   10593:  0: ABC
                   10594:     ** Failers
                   10595: No match
                   10596:     DEFGABC\Y  
                   10597: No match
                   10598:     
                   10599: /^(ab (c+(*THEN)cd) | xyz)/x
                   10600:     abcccd  
                   10601: No match
                   10602: 
                   10603: /^(ab (c+(*PRUNE)cd) | xyz)/x
                   10604:     abcccd  
                   10605: No match
                   10606: 
                   10607: /^(ab (c+(*FAIL)cd) | xyz)/x
                   10608:     abcccd  
                   10609: No match
                   10610:     
1.1.1.4 ! misho    10611: /--- Perl gets some of these wrong ---/ 
1.1       misho    10612: 
                   10613: /(?>.(*ACCEPT))*?5/
                   10614:     abcde
                   10615:  0: a
                   10616: 
                   10617: /(.(*ACCEPT))*?5/
                   10618:     abcde
                   10619:  0: a
                   10620:  1: a
                   10621: 
                   10622: /(.(*ACCEPT))5/
                   10623:     abcde
                   10624:  0: a
                   10625:  1: a
                   10626: 
                   10627: /(.(*ACCEPT))*5/
                   10628:     abcde
                   10629:  0: a
                   10630:  1: a
                   10631: 
                   10632: /A\NB./BZ
                   10633: ------------------------------------------------------------------
                   10634:         Bra
                   10635:         A
                   10636:         Any
                   10637:         B
                   10638:         Any
                   10639:         Ket
                   10640:         End
                   10641: ------------------------------------------------------------------
                   10642:     ACBD
                   10643:  0: ACBD
                   10644:     *** Failers
                   10645: No match
                   10646:     A\nB
                   10647: No match
                   10648:     ACB\n   
                   10649: No match
                   10650: 
                   10651: /A\NB./sBZ
                   10652: ------------------------------------------------------------------
                   10653:         Bra
                   10654:         A
                   10655:         Any
                   10656:         B
                   10657:         AllAny
                   10658:         Ket
                   10659:         End
                   10660: ------------------------------------------------------------------
                   10661:     ACBD
                   10662:  0: ACBD
                   10663:     ACB\n 
                   10664:  0: ACB\x0a
                   10665:     *** Failers
                   10666: No match
                   10667:     A\nB  
                   10668: No match
                   10669:   
                   10670: /A\NB/<crlf>
                   10671:     A\nB
                   10672:  0: A\x0aB
                   10673:     A\rB
                   10674:  0: A\x0dB
                   10675:     ** Failers
                   10676: No match
                   10677:     A\r\nB    
                   10678: No match
                   10679: 
                   10680: /\R+b/BZ
                   10681: ------------------------------------------------------------------
                   10682:         Bra
                   10683:         \R++
                   10684:         b
                   10685:         Ket
                   10686:         End
                   10687: ------------------------------------------------------------------
                   10688: 
                   10689: /\R+\n/BZ
                   10690: ------------------------------------------------------------------
                   10691:         Bra
                   10692:         \R+
                   10693:         \x0a
                   10694:         Ket
                   10695:         End
                   10696: ------------------------------------------------------------------
                   10697: 
                   10698: /\R+\d/BZ
                   10699: ------------------------------------------------------------------
                   10700:         Bra
                   10701:         \R++
                   10702:         \d
                   10703:         Ket
                   10704:         End
                   10705: ------------------------------------------------------------------
                   10706: 
                   10707: /\d*\R/BZ
                   10708: ------------------------------------------------------------------
                   10709:         Bra
                   10710:         \d*+
                   10711:         \R
                   10712:         Ket
                   10713:         End
                   10714: ------------------------------------------------------------------
                   10715: 
                   10716: /\s*\R/BZ
                   10717: ------------------------------------------------------------------
                   10718:         Bra
1.1.1.3   misho    10719:         \s*
                   10720:         \R
                   10721:         Ket
                   10722:         End
                   10723: ------------------------------------------------------------------
                   10724:     \x20\x0a
                   10725:  0:  \x0a
                   10726:     \x20\x0d
                   10727:  0:  \x0d
                   10728:     \x20\x0d\x0a
                   10729:  0:  \x0d\x0a
                   10730: 
                   10731: /\S*\R/BZ
                   10732: ------------------------------------------------------------------
                   10733:         Bra
                   10734:         \S*+
                   10735:         \R
                   10736:         Ket
                   10737:         End
                   10738: ------------------------------------------------------------------
                   10739:     a\x0a
                   10740:  0: a\x0a
                   10741: 
                   10742: /X\h*\R/BZ
                   10743: ------------------------------------------------------------------
                   10744:         Bra
                   10745:         X
                   10746:         \h*+
                   10747:         \R
                   10748:         Ket
                   10749:         End
                   10750: ------------------------------------------------------------------
                   10751:     X\x20\x0a
                   10752:  0: X \x0a
                   10753: 
                   10754: /X\H*\R/BZ
                   10755: ------------------------------------------------------------------
                   10756:         Bra
                   10757:         X
                   10758:         \H*
1.1       misho    10759:         \R
                   10760:         Ket
                   10761:         End
                   10762: ------------------------------------------------------------------
1.1.1.3   misho    10763:     X\x0d\x0a
                   10764:  0: X\x0d\x0a
                   10765: 
                   10766: /X\H+\R/BZ
                   10767: ------------------------------------------------------------------
                   10768:         Bra
                   10769:         X
                   10770:         \H+
                   10771:         \R
                   10772:         Ket
                   10773:         End
                   10774: ------------------------------------------------------------------
                   10775:     X\x0d\x0a
                   10776:  0: X\x0d\x0a
                   10777: 
                   10778: /X\H++\R/BZ
                   10779: ------------------------------------------------------------------
                   10780:         Bra
                   10781:         X
                   10782:         \H++
                   10783:         \R
                   10784:         Ket
                   10785:         End
                   10786: ------------------------------------------------------------------
                   10787:     X\x0d\x0a
                   10788: No match
1.1       misho    10789: 
                   10790: /(?<=abc)def/
                   10791:     abc\P\P
1.1.1.4 ! misho    10792: Partial match at offset 3: abc
1.1       misho    10793: 
                   10794: /abc$/
                   10795:     abc
                   10796:  0: abc
                   10797:     abc\P
                   10798:  0: abc
                   10799:     abc\P\P
                   10800: Partial match: abc
                   10801: 
                   10802: /abc$/m
                   10803:     abc
                   10804:  0: abc
                   10805:     abc\n
                   10806:  0: abc
                   10807:     abc\P\P
                   10808: Partial match: abc
                   10809:     abc\n\P\P 
                   10810:  0: abc
                   10811:     abc\P
                   10812:  0: abc
                   10813:     abc\n\P
                   10814:  0: abc
                   10815: 
                   10816: /abc\z/
                   10817:     abc
                   10818:  0: abc
                   10819:     abc\P
                   10820:  0: abc
                   10821:     abc\P\P
                   10822: Partial match: abc
                   10823: 
                   10824: /abc\Z/
                   10825:     abc
                   10826:  0: abc
                   10827:     abc\P
                   10828:  0: abc
                   10829:     abc\P\P
                   10830: Partial match: abc
                   10831: 
                   10832: /abc\b/
                   10833:     abc
                   10834:  0: abc
                   10835:     abc\P
                   10836:  0: abc
                   10837:     abc\P\P
                   10838: Partial match: abc
                   10839: 
                   10840: /abc\B/
                   10841:     abc
                   10842: No match
                   10843:     abc\P
                   10844: Partial match: abc
                   10845:     abc\P\P
                   10846: Partial match: abc
                   10847: 
                   10848: /.+/
                   10849:     abc\>0
                   10850:  0: abc
                   10851:     abc\>1
                   10852:  0: bc
                   10853:     abc\>2
                   10854:  0: c
                   10855:     abc\>3
                   10856: No match
                   10857:     abc\>4
                   10858: Error -24 (bad offset value)
                   10859:     abc\>-4 
                   10860: Error -24 (bad offset value)
                   10861: 
                   10862: /^\cÄ£/
                   10863: Failed: \c must be followed by an ASCII character at offset 3
                   10864: 
                   10865: /(?P<abn>(?P=abn)xxx)/BZ
                   10866: ------------------------------------------------------------------
                   10867:         Bra
                   10868:         Once
                   10869:         CBra 1
                   10870:         \1
                   10871:         xxx
                   10872:         Ket
                   10873:         Ket
                   10874:         Ket
                   10875:         End
                   10876: ------------------------------------------------------------------
                   10877: 
                   10878: /(a\1z)/BZ
                   10879: ------------------------------------------------------------------
                   10880:         Bra
                   10881:         Once
                   10882:         CBra 1
                   10883:         a
                   10884:         \1
                   10885:         z
                   10886:         Ket
                   10887:         Ket
                   10888:         Ket
                   10889:         End
                   10890: ------------------------------------------------------------------
                   10891: 
                   10892: /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
                   10893: Failed: syntax error in subpattern name (missing terminator) at offset 29
                   10894: 
                   10895: /(?P<abn>(?P=axn)xxx)/BZ
                   10896: Failed: reference to non-existent subpattern at offset 15
                   10897: 
                   10898: /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
                   10899: ------------------------------------------------------------------
                   10900:         Bra
                   10901:         CBra 1
                   10902:         \2
                   10903:         xxx
                   10904:         Ket
                   10905:         CBra 2
                   10906:         yy
                   10907:         Ket
                   10908:         Ket
                   10909:         End
                   10910: ------------------------------------------------------------------
                   10911: 
                   10912: /-- These tests are here because Perl gets the first one wrong. --/
                   10913: 
                   10914: /(\R*)(.)/s
                   10915:     \r\n
                   10916:  0: \x0d
                   10917:  1: 
                   10918:  2: \x0d
                   10919:     \r\r\n\n\r 
                   10920:  0: \x0d\x0d\x0a\x0a\x0d
                   10921:  1: \x0d\x0d\x0a\x0a
                   10922:  2: \x0d
                   10923:     \r\r\n\n\r\n 
                   10924:  0: \x0d\x0d\x0a\x0a\x0d
                   10925:  1: \x0d\x0d\x0a\x0a
                   10926:  2: \x0d
                   10927: 
                   10928: /(\R)*(.)/s
                   10929:     \r\n
                   10930:  0: \x0d
                   10931:  1: <unset>
                   10932:  2: \x0d
                   10933:     \r\r\n\n\r 
                   10934:  0: \x0d\x0d\x0a\x0a\x0d
                   10935:  1: \x0a
                   10936:  2: \x0d
                   10937:     \r\r\n\n\r\n 
                   10938:  0: \x0d\x0d\x0a\x0a\x0d
                   10939:  1: \x0a
                   10940:  2: \x0d
                   10941: 
                   10942: /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
                   10943:     \r\n
                   10944:  0: \x0d
                   10945:  1: 
                   10946:  2: \x0d
                   10947:     \r\r\n\n\r 
                   10948:  0: \x0d\x0d\x0a\x0a\x0d
                   10949:  1: \x0d\x0d\x0a\x0a
                   10950:  2: \x0d
                   10951:     \r\r\n\n\r\n 
                   10952:  0: \x0d\x0d\x0a\x0a\x0d
                   10953:  1: \x0d\x0d\x0a\x0a
                   10954:  2: \x0d
                   10955: 
                   10956: /-- --/
                   10957: 
                   10958: /^abc$/BZ
                   10959: ------------------------------------------------------------------
                   10960:         Bra
                   10961:         ^
                   10962:         abc
                   10963:         $
                   10964:         Ket
                   10965:         End
                   10966: ------------------------------------------------------------------
                   10967: 
                   10968: /^abc$/BZm
                   10969: ------------------------------------------------------------------
                   10970:         Bra
                   10971:      /m ^
                   10972:         abc
                   10973:      /m $
                   10974:         Ket
                   10975:         End
                   10976: ------------------------------------------------------------------
                   10977: 
                   10978: /^(a)*+(\w)/S
                   10979:     aaaaX
                   10980:  0: aaaaX
                   10981:  1: a
                   10982:  2: X
                   10983:     ** Failers 
                   10984: No match
                   10985:     aaaa
                   10986: No match
                   10987: 
                   10988: /^(?:a)*+(\w)/S
                   10989:     aaaaX
                   10990:  0: aaaaX
                   10991:  1: X
                   10992:     ** Failers 
                   10993: No match
                   10994:     aaaa
                   10995: No match
                   10996: 
                   10997: /(a)++1234/SDZ
                   10998: ------------------------------------------------------------------
                   10999:         Bra
                   11000:         CBraPos 1
                   11001:         a
                   11002:         KetRpos
                   11003:         1234
                   11004:         Ket
                   11005:         End
                   11006: ------------------------------------------------------------------
                   11007: Capturing subpattern count = 1
                   11008: No options
                   11009: First char = 'a'
                   11010: Need char = '4'
                   11011: Subject length lower bound = 5
                   11012: No set of starting bytes
                   11013: 
                   11014: /([abc])++1234/SI
                   11015: Capturing subpattern count = 1
                   11016: No options
                   11017: No first char
                   11018: Need char = '4'
                   11019: Subject length lower bound = 5
                   11020: Starting byte set: a b c 
                   11021: 
                   11022: /(?<=(abc)+)X/
                   11023: Failed: lookbehind assertion is not fixed length at offset 10
                   11024: 
                   11025: /(^ab)/I
                   11026: Capturing subpattern count = 1
                   11027: Options: anchored
                   11028: No first char
                   11029: No need char
                   11030: 
                   11031: /(^ab)++/I
                   11032: Capturing subpattern count = 1
                   11033: Options: anchored
                   11034: No first char
                   11035: No need char
                   11036: 
                   11037: /(^ab|^)+/I
                   11038: Capturing subpattern count = 1
                   11039: Options: anchored
                   11040: No first char
                   11041: No need char
                   11042: 
                   11043: /(^ab|^)++/I
                   11044: Capturing subpattern count = 1
                   11045: Options: anchored
                   11046: No first char
                   11047: No need char
                   11048: 
                   11049: /(?:^ab)/I
                   11050: Capturing subpattern count = 0
                   11051: Options: anchored
                   11052: No first char
                   11053: No need char
                   11054: 
                   11055: /(?:^ab)++/I
                   11056: Capturing subpattern count = 0
                   11057: Options: anchored
                   11058: No first char
                   11059: No need char
                   11060: 
                   11061: /(?:^ab|^)+/I
                   11062: Capturing subpattern count = 0
                   11063: Options: anchored
                   11064: No first char
                   11065: No need char
                   11066: 
                   11067: /(?:^ab|^)++/I
                   11068: Capturing subpattern count = 0
                   11069: Options: anchored
                   11070: No first char
                   11071: No need char
                   11072: 
                   11073: /(.*ab)/I
                   11074: Capturing subpattern count = 1
                   11075: No options
                   11076: First char at start or follows newline
                   11077: Need char = 'b'
                   11078: 
                   11079: /(.*ab)++/I
                   11080: Capturing subpattern count = 1
                   11081: No options
                   11082: First char at start or follows newline
                   11083: Need char = 'b'
                   11084: 
                   11085: /(.*ab|.*)+/I
                   11086: Capturing subpattern count = 1
                   11087: No options
                   11088: First char at start or follows newline
                   11089: No need char
                   11090: 
                   11091: /(.*ab|.*)++/I
                   11092: Capturing subpattern count = 1
                   11093: No options
                   11094: First char at start or follows newline
                   11095: No need char
                   11096: 
                   11097: /(?:.*ab)/I
                   11098: Capturing subpattern count = 0
                   11099: No options
                   11100: First char at start or follows newline
                   11101: Need char = 'b'
                   11102: 
                   11103: /(?:.*ab)++/I
                   11104: Capturing subpattern count = 0
                   11105: No options
                   11106: First char at start or follows newline
                   11107: Need char = 'b'
                   11108: 
                   11109: /(?:.*ab|.*)+/I
                   11110: Capturing subpattern count = 0
                   11111: No options
                   11112: First char at start or follows newline
                   11113: No need char
                   11114: 
                   11115: /(?:.*ab|.*)++/I
                   11116: Capturing subpattern count = 0
                   11117: No options
                   11118: First char at start or follows newline
                   11119: No need char
                   11120: 
                   11121: /(?=a)[bcd]/I
                   11122: Capturing subpattern count = 0
                   11123: No options
                   11124: First char = 'a'
                   11125: No need char
                   11126: 
                   11127: /((?=a))[bcd]/I
                   11128: Capturing subpattern count = 1
                   11129: No options
                   11130: First char = 'a'
                   11131: No need char
                   11132: 
                   11133: /((?=a))+[bcd]/I
                   11134: Capturing subpattern count = 1
                   11135: No options
                   11136: First char = 'a'
                   11137: No need char
                   11138: 
                   11139: /((?=a))++[bcd]/I
                   11140: Capturing subpattern count = 1
                   11141: No options
                   11142: First char = 'a'
                   11143: No need char
                   11144: 
                   11145: /(?=a+)[bcd]/iI
                   11146: Capturing subpattern count = 0
                   11147: Options: caseless
                   11148: First char = 'a' (caseless)
                   11149: No need char
                   11150: 
                   11151: /(?=a+?)[bcd]/iI
                   11152: Capturing subpattern count = 0
                   11153: Options: caseless
                   11154: First char = 'a' (caseless)
                   11155: No need char
                   11156: 
                   11157: /(?=a++)[bcd]/iI
                   11158: Capturing subpattern count = 0
                   11159: Options: caseless
                   11160: First char = 'a' (caseless)
                   11161: No need char
                   11162: 
                   11163: /(?=a{3})[bcd]/iI
                   11164: Capturing subpattern count = 0
                   11165: Options: caseless
                   11166: First char = 'a' (caseless)
                   11167: Need char = 'a' (caseless)
                   11168: 
                   11169: /(abc)\1+/S
                   11170: 
                   11171: /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
                   11172: 
                   11173: /(?1)(?:(b(*ACCEPT))){0}/
                   11174:     b
                   11175:  0: b
                   11176: 
                   11177: /(?1)(?:(b(*ACCEPT))){0}c/
                   11178:     bc
                   11179:  0: bc
                   11180:     ** Failers 
                   11181: No match
                   11182:     b 
                   11183: No match
                   11184: 
                   11185: /(?1)(?:((*ACCEPT))){0}c/
                   11186:     c
                   11187:  0: c
                   11188:     c\N 
                   11189:  0: c
                   11190: 
                   11191: /^.*?(?(?=a)a|b(*THEN)c)/
                   11192:     ba
                   11193: No match
                   11194: 
                   11195: /^.*?(?(?=a)a|bc)/
                   11196:     ba
                   11197:  0: ba
                   11198: 
                   11199: /^.*?(?(?=a)a(*THEN)b|c)/
                   11200:     ac
                   11201: No match
                   11202: 
                   11203: /^.*?(?(?=a)a(*THEN)b)c/
                   11204:     ac
                   11205: No match
                   11206: 
                   11207: /^.*?(a(*THEN)b)c/
                   11208:     aabc
                   11209: No match
                   11210:     
                   11211: /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
                   11212:     aabc
                   11213:  0: aabc
                   11214: 
                   11215: /^.*?(a(*THEN)b|z)c/
                   11216:     aabc
                   11217:  0: aabc
                   11218:  1: ab
                   11219: 
                   11220: /^.*?(z|a(*THEN)b)c/
                   11221:     aabc
                   11222:  0: aabc
                   11223:  1: ab
                   11224: 
                   11225: /-- --/
                   11226: 
                   11227: /-- These studied versions are here because they are not Perl-compatible; the
                   11228:     studying means the mark is not seen. --/
                   11229: 
                   11230: /(*MARK:A)(*SKIP:B)(C|X)/KS
                   11231:     C
                   11232:  0: C
                   11233:  1: C
                   11234: MK: A
                   11235:     D
                   11236: No match, mark = A
                   11237:      
                   11238: /(*:A)A+(*SKIP:A)(B|Z)/KS
                   11239:     AAAC
                   11240: No match, mark = A
                   11241: 
                   11242: /-- --/
                   11243: 
                   11244: "(?=a*(*ACCEPT)b)c"
                   11245:     c
                   11246:  0: c
                   11247:     c\N 
                   11248:  0: c
                   11249:     
                   11250: /(?1)c(?(DEFINE)((*ACCEPT)b))/
                   11251:     c
                   11252:  0: c
                   11253:     c\N  
                   11254:  0: c
                   11255:     
                   11256: /(?>(*ACCEPT)b)c/
                   11257:     c
                   11258:  0: 
                   11259:     c\N  
                   11260: No match
                   11261: 
                   11262: /(?:(?>(a)))+a%/++
                   11263:     %aa%
                   11264:  0: aa%
                   11265:  0+ 
                   11266:  1: a
                   11267:  1+ a%
                   11268: 
                   11269: /(a)b|ac/++SS
                   11270:     ac\O3
                   11271:  0: ac
                   11272:  0+ 
                   11273:     
                   11274: /(a)(b)x|abc/++
                   11275:      abc\O6
                   11276:  0: abc
                   11277:  0+ 
                   11278: 
                   11279: /(a)bc|(a)(b)\2/
                   11280:     \O3abc
                   11281: Matched, but too many substrings
                   11282:  0: abc
                   11283:     \O4abc 
                   11284: Matched, but too many substrings
                   11285:  0: abc
                   11286: 
                   11287: /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
                   11288: Capturing subpattern count = 2
                   11289: No options
                   11290: No first char
                   11291: No need char
                   11292: Subject length lower bound = 1
                   11293: No set of starting bytes
                   11294: 
                   11295: /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
                   11296: Capturing subpattern count = 2
                   11297: No options
                   11298: No first char
                   11299: No need char
                   11300: Subject length lower bound = 3
                   11301: Starting byte set: a b 
                   11302: 
                   11303: /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
                   11304: Capturing subpattern count = 2
                   11305: No options
                   11306: No first char
                   11307: No need char
                   11308: Subject length lower bound = 4
                   11309: Starting byte set: a b 
                   11310: 
                   11311: /(abc)(?1)/SI
                   11312: Capturing subpattern count = 1
                   11313: No options
                   11314: First char = 'a'
                   11315: Need char = 'c'
                   11316: Subject length lower bound = 6
                   11317: No set of starting bytes
                   11318: 
                   11319: /^(?>a)++/
                   11320:     aa\M
                   11321: Minimum match() limit = 5
                   11322: Minimum match() recursion limit = 2
                   11323:  0: aa
                   11324:     aaaaaaaaa\M 
                   11325: Minimum match() limit = 12
                   11326: Minimum match() recursion limit = 2
                   11327:  0: aaaaaaaaa
                   11328:     
                   11329: /(a)(?1)++/
                   11330:     aa\M
                   11331: Minimum match() limit = 7
                   11332: Minimum match() recursion limit = 4
                   11333:  0: aa
                   11334:  1: a
                   11335:     aaaaaaaaa\M  
                   11336: Minimum match() limit = 21
                   11337: Minimum match() recursion limit = 4
                   11338:  0: aaaaaaaaa
                   11339:  1: a
                   11340: 
                   11341: /(?:(foo)|(bar)|(baz))X/SS=
                   11342:     bazfooX
                   11343:  0: fooX
                   11344:  1: foo
                   11345:  2: <unset>
                   11346:  3: <unset>
                   11347:     foobazbarX
                   11348:  0: barX
                   11349:  1: <unset>
                   11350:  2: bar
                   11351:  3: <unset>
                   11352:     barfooX
                   11353:  0: fooX
                   11354:  1: foo
                   11355:  2: <unset>
                   11356:  3: <unset>
                   11357:     bazX
                   11358:  0: bazX
                   11359:  1: <unset>
                   11360:  2: <unset>
                   11361:  3: baz
                   11362:     foobarbazX    
                   11363:  0: bazX
                   11364:  1: <unset>
                   11365:  2: <unset>
                   11366:  3: baz
                   11367:     bazfooX\O0
                   11368: Matched, but too many substrings
                   11369:     bazfooX\O2
                   11370: Matched, but too many substrings
                   11371:  0: fooX
                   11372:     bazfooX\O4
                   11373: Matched, but too many substrings
                   11374:  0: fooX
                   11375:  1: <unset>
                   11376:     bazfooX\O6
                   11377: Matched, but too many substrings
                   11378:  0: fooX
                   11379:  1: foo
                   11380:  2: <unset>
                   11381:     bazfooX\O8
                   11382: Matched, but too many substrings
                   11383:  0: fooX
                   11384:  1: foo
                   11385:  2: <unset>
                   11386:  3: <unset>
                   11387:     bazfooX\O10
                   11388:  0: fooX
                   11389:  1: foo
                   11390:  2: <unset>
                   11391:  3: <unset>
                   11392: 
                   11393: /(?=abc){3}abc/BZ
                   11394: ------------------------------------------------------------------
                   11395:         Bra
                   11396:         Assert
                   11397:         abc
                   11398:         Ket
                   11399:         abc
                   11400:         Ket
                   11401:         End
                   11402: ------------------------------------------------------------------
                   11403: 
                   11404: /(?=abc)+abc/BZ
                   11405: ------------------------------------------------------------------
                   11406:         Bra
                   11407:         Assert
                   11408:         abc
                   11409:         Ket
                   11410:         abc
                   11411:         Ket
                   11412:         End
                   11413: ------------------------------------------------------------------
                   11414: 
                   11415: /(?=abc)++abc/BZ
                   11416: ------------------------------------------------------------------
                   11417:         Bra
                   11418:         Assert
                   11419:         abc
                   11420:         Ket
                   11421:         abc
                   11422:         Ket
                   11423:         End
                   11424: ------------------------------------------------------------------
                   11425: 
                   11426: /(?=abc){0}xyz/BZ
                   11427: ------------------------------------------------------------------
                   11428:         Bra
                   11429:         Skip zero
                   11430:         Assert
                   11431:         abc
                   11432:         Ket
                   11433:         xyz
                   11434:         Ket
                   11435:         End
                   11436: ------------------------------------------------------------------
                   11437: 
                   11438: /(?=(a))?./BZ
                   11439: ------------------------------------------------------------------
                   11440:         Bra
                   11441:         Brazero
                   11442:         Assert
                   11443:         CBra 1
                   11444:         a
                   11445:         Ket
                   11446:         Ket
                   11447:         Any
                   11448:         Ket
                   11449:         End
                   11450: ------------------------------------------------------------------
                   11451: 
                   11452: /(?=(a))??./BZ
                   11453: ------------------------------------------------------------------
                   11454:         Bra
                   11455:         Braminzero
                   11456:         Assert
                   11457:         CBra 1
                   11458:         a
                   11459:         Ket
                   11460:         Ket
                   11461:         Any
                   11462:         Ket
                   11463:         End
                   11464: ------------------------------------------------------------------
                   11465: 
                   11466: /^(?=(a)){0}b(?1)/BZ
                   11467: ------------------------------------------------------------------
                   11468:         Bra
                   11469:         ^
                   11470:         Skip zero
                   11471:         Assert
                   11472:         CBra 1
                   11473:         a
                   11474:         Ket
                   11475:         Ket
                   11476:         b
                   11477:         Recurse
                   11478:         Ket
                   11479:         End
                   11480: ------------------------------------------------------------------
                   11481: 
                   11482: /(?(DEFINE)(a))?b(?1)/BZ
                   11483: ------------------------------------------------------------------
                   11484:         Bra
                   11485:         Cond
                   11486:         Cond def
                   11487:         CBra 1
                   11488:         a
                   11489:         Ket
                   11490:         Ket
                   11491:         b
                   11492:         Recurse
                   11493:         Ket
                   11494:         End
                   11495: ------------------------------------------------------------------
                   11496: 
                   11497: /^(?=(?1))?[az]([abc])d/BZ
                   11498: ------------------------------------------------------------------
                   11499:         Bra
                   11500:         ^
                   11501:         Brazero
                   11502:         Assert
                   11503:         Recurse
                   11504:         Ket
                   11505:         [az]
                   11506:         CBra 1
                   11507:         [a-c]
                   11508:         Ket
                   11509:         d
                   11510:         Ket
                   11511:         End
                   11512: ------------------------------------------------------------------
                   11513: 
                   11514: /^(?!a){0}\w+/BZ
                   11515: ------------------------------------------------------------------
                   11516:         Bra
                   11517:         ^
                   11518:         Skip zero
                   11519:         Assert not
                   11520:         a
                   11521:         Ket
                   11522:         \w+
                   11523:         Ket
                   11524:         End
                   11525: ------------------------------------------------------------------
                   11526: 
                   11527: /(?<=(abc))?xyz/BZ
                   11528: ------------------------------------------------------------------
                   11529:         Bra
                   11530:         Brazero
                   11531:         AssertB
                   11532:         Reverse
                   11533:         CBra 1
                   11534:         abc
                   11535:         Ket
                   11536:         Ket
                   11537:         xyz
                   11538:         Ket
                   11539:         End
                   11540: ------------------------------------------------------------------
                   11541: 
                   11542: /[:a[:abc]b:]/BZ
                   11543: ------------------------------------------------------------------
                   11544:         Bra
                   11545:         [:[a-c]
                   11546:         b:]
                   11547:         Ket
                   11548:         End
                   11549: ------------------------------------------------------------------
                   11550: 
                   11551: /((?2))((?1))/SS
                   11552:     abc
                   11553: Error -26 (nested recursion at the same subject position)
                   11554: 
                   11555: /((?(R2)a+|(?1)b))/SS
                   11556:     aaaabcde
                   11557: Error -26 (nested recursion at the same subject position)
                   11558: 
                   11559: /(?(R)a*(?1)|((?R))b)/SS
                   11560:     aaaabcde
                   11561: Error -26 (nested recursion at the same subject position)
                   11562: 
                   11563: /(a+|(?R)b)/
                   11564: Failed: recursive call could loop indefinitely at offset 7
                   11565: 
                   11566: /^(a(*:A)(d|e(*:B))z|aeq)/C
                   11567:     adz
                   11568: --->adz
                   11569:  +0 ^       ^
                   11570:  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
                   11571:  +2 ^       a
                   11572:  +3 ^^      (*:A)
                   11573:  +8 ^^      (d|e(*:B))
                   11574: Latest Mark: A
                   11575:  +9 ^^      d
                   11576: +10 ^ ^     |
                   11577: +18 ^ ^     z
                   11578: +19 ^  ^    |
                   11579: +24 ^  ^    
                   11580:  0: adz
                   11581:  1: adz
                   11582:  2: d
                   11583:     aez
                   11584: --->aez
                   11585:  +0 ^       ^
                   11586:  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
                   11587:  +2 ^       a
                   11588:  +3 ^^      (*:A)
                   11589:  +8 ^^      (d|e(*:B))
                   11590: Latest Mark: A
                   11591:  +9 ^^      d
                   11592: +11 ^^      e
                   11593: +12 ^ ^     (*:B)
                   11594: +17 ^ ^     )
                   11595: Latest Mark: B
                   11596: +18 ^ ^     z
                   11597: +19 ^  ^    |
                   11598: +24 ^  ^    
                   11599:  0: aez
                   11600:  1: aez
                   11601:  2: e
                   11602:     aeqwerty
                   11603: --->aeqwerty
                   11604:  +0 ^            ^
                   11605:  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
                   11606:  +2 ^            a
                   11607:  +3 ^^           (*:A)
                   11608:  +8 ^^           (d|e(*:B))
                   11609: Latest Mark: A
                   11610:  +9 ^^           d
                   11611: +11 ^^           e
                   11612: +12 ^ ^          (*:B)
                   11613: +17 ^ ^          )
                   11614: Latest Mark: B
                   11615: +18 ^ ^          z
                   11616: +20 ^            a
                   11617: +21 ^^           e
                   11618: +22 ^ ^          q
                   11619: +23 ^  ^         )
                   11620: +24 ^  ^         
                   11621:  0: aeq
                   11622:  1: aeq
                   11623: 
                   11624: /.(*F)/
                   11625:     \P\Pabc
                   11626: No match
                   11627: 
                   11628: /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
                   11629: Capturing subpattern count = 0
1.1.1.4 ! misho    11630: Max lookbehind = 1
1.1       misho    11631: No options
                   11632: First char = 't'
                   11633: Need char = 't'
                   11634: Subject length lower bound = 18
                   11635: No set of starting bytes
                   11636: 
                   11637: /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
                   11638: Capturing subpattern count = 0
1.1.1.4 ! misho    11639: Max lookbehind = 1
1.1       misho    11640: No options
                   11641: No first char
                   11642: No need char
                   11643: Subject length lower bound = 8
                   11644: Starting byte set: < o t u 
                   11645: 
1.1.1.4 ! misho    11646: /a(*SKIP)c|b(*ACCEPT)|/+S!I
1.1       misho    11647: Capturing subpattern count = 0
                   11648: No options
                   11649: No first char
                   11650: No need char
1.1.1.4 ! misho    11651: Subject length lower bound = -1
        !          11652: No set of starting bytes
1.1       misho    11653:     a
                   11654:  0: 
                   11655:  0+ 
                   11656: 
                   11657: /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
                   11658: Capturing subpattern count = 0
                   11659: No options
                   11660: No first char
                   11661: No need char
                   11662: Subject length lower bound = -1
                   11663: Starting byte set: a b x 
                   11664:     ax
                   11665:  0: x
                   11666: 
                   11667: 'a*(*ACCEPT)b'+
                   11668:     \N\N
                   11669: No match
                   11670:     abc\N\N
                   11671:  0: a
                   11672:  0+ bc
                   11673:     bbb\N\N 
                   11674:  0: 
                   11675:  0+ bb
                   11676: 
                   11677: /(*ACCEPT)a/+I
                   11678: Capturing subpattern count = 0
                   11679: No options
                   11680: No first char
                   11681: No need char
                   11682:     bax
                   11683:  0: 
                   11684:  0+ bax
                   11685: 
                   11686: /z(*ACCEPT)a/+I
                   11687: Capturing subpattern count = 0
                   11688: No options
                   11689: First char = 'z'
                   11690: No need char
                   11691:     baxzbx
                   11692:  0: z
                   11693:  0+ bx
                   11694: 
                   11695: /a(?:.)*?a/ims                                                                  
                   11696:     \Mabbbbbbbbbbbbbbbbbbbbba
                   11697: Minimum match() limit = 65
                   11698: Minimum match() recursion limit = 2
                   11699:  0: abbbbbbbbbbbbbbbbbbbbba
                   11700:     
                   11701: /a(?:.(*THEN))*?a/ims
                   11702:     \Mabbbbbbbbbbbbbbbbbbbbba
                   11703: Minimum match() limit = 86
                   11704: Minimum match() recursion limit = 45
                   11705:  0: abbbbbbbbbbbbbbbbbbbbba
                   11706: 
                   11707: /a(?:.(*THEN:ABC))*?a/ims
                   11708:     \Mabbbbbbbbbbbbbbbbbbbbba
                   11709: Minimum match() limit = 86
                   11710: Minimum match() recursion limit = 45
                   11711:  0: abbbbbbbbbbbbbbbbbbbbba
                   11712: 
                   11713: /^(?>a+)(?>(z+))\w/BZ
                   11714: ------------------------------------------------------------------
                   11715:         Bra
                   11716:         ^
                   11717:         Once_NC
                   11718:         a+
                   11719:         Ket
                   11720:         Once
                   11721:         CBra 1
                   11722:         z+
                   11723:         Ket
                   11724:         Ket
                   11725:         \w
                   11726:         Ket
                   11727:         End
                   11728: ------------------------------------------------------------------
                   11729:     aaaazzzzb
                   11730:  0: aaaazzzzb
                   11731:  1: zzzz
                   11732:     ** Failers
                   11733: No match
                   11734:     aazz  
                   11735: No match
                   11736: 
                   11737: /(.)(\1|a(?2))/
                   11738:     bab
                   11739:  0: bab
                   11740:  1: b
                   11741:  2: ab
                   11742:     
                   11743: /\1|(.)(?R)\1/
                   11744:     cbbbc
                   11745:  0: cbbbc
                   11746:  1: c
                   11747:     
                   11748: /(.)((?(1)c|a)|a(?2))/
                   11749:     baa  
                   11750: No match
                   11751: 
                   11752: /(?P<abn>(?P=abn)xxx)/BZ
                   11753: ------------------------------------------------------------------
                   11754:         Bra
                   11755:         Once
                   11756:         CBra 1
                   11757:         \1
                   11758:         xxx
                   11759:         Ket
                   11760:         Ket
                   11761:         Ket
                   11762:         End
                   11763: ------------------------------------------------------------------
                   11764: 
                   11765: /(a\1z)/BZ
                   11766: ------------------------------------------------------------------
                   11767:         Bra
                   11768:         Once
                   11769:         CBra 1
                   11770:         a
                   11771:         \1
                   11772:         z
                   11773:         Ket
                   11774:         Ket
                   11775:         Ket
                   11776:         End
                   11777: ------------------------------------------------------------------
                   11778: 
                   11779: /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
                   11780:      \Maabbccddee
                   11781: Minimum match() limit = 12
                   11782: Minimum match() recursion limit = 3
                   11783:  0: aabbccddee
                   11784: 
                   11785: /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
                   11786:      \Maabbccddee
                   11787: Minimum match() limit = 22
                   11788: Minimum match() recursion limit = 21
                   11789:  0: aabbccddee
                   11790:  1: aa
                   11791:  2: bb
                   11792:  3: cc
                   11793:  4: dd
                   11794:  5: ee
                   11795: 
                   11796: /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
                   11797:      \Maabbccddee
                   11798: Minimum match() limit = 18
                   11799: Minimum match() recursion limit = 13
                   11800:  0: aabbccddee
                   11801:  1: aa
                   11802:  2: cc
                   11803:  3: ee
                   11804: 
                   11805: /^a\x41z/<JS>
                   11806:     aAz
                   11807:  0: aAz
                   11808:     *** Failers
                   11809: No match
                   11810:     ax41z
                   11811: No match
                   11812: 
                   11813: /^a[m\x41]z/<JS>
                   11814:     aAz
                   11815:  0: aAz
                   11816: 
                   11817: /^a\x1z/<JS>
                   11818:     ax1z
                   11819:  0: ax1z
                   11820: 
                   11821: /^a\u0041z/<JS>
                   11822:     aAz
                   11823:  0: aAz
                   11824:     *** Failers
                   11825: No match
                   11826:     au0041z
                   11827: No match
                   11828: 
                   11829: /^a[m\u0041]z/<JS>
                   11830:     aAz
                   11831:  0: aAz
                   11832: 
                   11833: /^a\u041z/<JS>
                   11834:     au041z
                   11835:  0: au041z
                   11836:     *** Failers
                   11837: No match
                   11838:     aAz
                   11839: No match
                   11840: 
                   11841: /^a\U0041z/<JS>
                   11842:     aU0041z
                   11843:  0: aU0041z
                   11844:     *** Failers
                   11845: No match
                   11846:     aAz
                   11847: No match
                   11848: 
                   11849: /(?(?=c)c|d)++Y/BZ
                   11850: ------------------------------------------------------------------
                   11851:         Bra
                   11852:         BraPos
                   11853:         Cond
                   11854:         Assert
                   11855:         c
                   11856:         Ket
                   11857:         c
                   11858:         Alt
                   11859:         d
                   11860:         Ket
                   11861:         KetRpos
                   11862:         Y
                   11863:         Ket
                   11864:         End
                   11865: ------------------------------------------------------------------
                   11866: 
                   11867: /(?(?=c)c|d)*+Y/BZ
                   11868: ------------------------------------------------------------------
                   11869:         Bra
                   11870:         Braposzero
                   11871:         BraPos
                   11872:         Cond
                   11873:         Assert
                   11874:         c
                   11875:         Ket
                   11876:         c
                   11877:         Alt
                   11878:         d
                   11879:         Ket
                   11880:         KetRpos
                   11881:         Y
                   11882:         Ket
                   11883:         End
                   11884: ------------------------------------------------------------------
                   11885: 
                   11886: /a[\NB]c/
                   11887: Failed: \N is not supported in a class at offset 3
                   11888: 
                   11889: /a[B-\Nc]/ 
                   11890: Failed: \N is not supported in a class at offset 5
                   11891: 
                   11892: /(a)(?2){0,1999}?(b)/
                   11893: 
                   11894: /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
                   11895: 
                   11896: /--- This test, with something more complicated than individual letters, causes
                   11897: different behaviour in Perl. Perhaps it disables some optimization; no tag is
                   11898: passed back for the failures, whereas in PCRE there is a tag. ---/
                   11899:     
                   11900: /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
                   11901:     AABC
                   11902:  0: AB
                   11903:  1: A
                   11904:  2: B
                   11905: MK: A
                   11906:     XXYZ 
                   11907:  0: XXY
                   11908:  1: <unset>
                   11909:  2: <unset>
                   11910:  3: X
                   11911:  4: X
                   11912:  5: Y
                   11913: MK: B
                   11914:     ** Failers
                   11915: No match
                   11916:     XAQQ  
                   11917: No match, mark = A
                   11918:     XAQQXZZ  
                   11919: No match, mark = A
                   11920:     AXQQQ 
                   11921: No match, mark = A
                   11922:     AXXQQQ 
                   11923: No match, mark = B
                   11924: 
                   11925: /-- Perl doesn't give marks for these, though it does if the alternatives are
                   11926: replaced by single letters. --/
                   11927:     
                   11928: /(b|q)(*:m)f|a(*:n)w/K
                   11929:     aw 
                   11930:  0: aw
                   11931: MK: n
                   11932:     ** Failers 
                   11933: No match, mark = n
                   11934:     abc
                   11935: No match, mark = m
                   11936: 
                   11937: /(q|b)(*:m)f|a(*:n)w/K
                   11938:     aw 
                   11939:  0: aw
                   11940: MK: n
                   11941:     ** Failers 
                   11942: No match, mark = n
                   11943:     abc
                   11944: No match, mark = m
                   11945: 
                   11946: /-- After a partial match, the behaviour is as for a failure. --/
                   11947: 
                   11948: /^a(*:X)bcde/K
                   11949:    abc\P
                   11950: Partial match, mark=X: abc
1.1.1.2   misho    11951:    
                   11952: /-- These are here because Perl doesn't return a mark, except for the first --/
                   11953: 
                   11954: /(?=(*:x))(q|)/K+
                   11955:     abc
                   11956:  0: 
                   11957:  0+ abc
                   11958:  1: 
                   11959: MK: x
                   11960: 
                   11961: /(?=(*:x))((*:y)q|)/K+
                   11962:     abc
                   11963:  0: 
                   11964:  0+ abc
                   11965:  1: 
                   11966: MK: x
                   11967: 
                   11968: /(?=(*:x))(?:(*:y)q|)/K+
                   11969:     abc
                   11970:  0: 
                   11971:  0+ abc
                   11972: MK: x
                   11973: 
                   11974: /(?=(*:x))(?>(*:y)q|)/K+
                   11975:     abc
                   11976:  0: 
                   11977:  0+ abc
                   11978: MK: x
                   11979: 
                   11980: /(?=a(*:x))(?!a(*:y)c)/K+
                   11981:     ab
                   11982:  0: 
                   11983:  0+ ab
                   11984: MK: x
                   11985: 
                   11986: /(?=a(*:x))(?=a(*:y)c|)/K+
                   11987:     ab
                   11988:  0: 
                   11989:  0+ ab
                   11990: MK: x
1.1       misho    11991: 
1.1.1.3   misho    11992: /(..)\1/
                   11993:     ab\P
                   11994: Partial match: ab
                   11995:     aba\P
                   11996: Partial match: aba
                   11997:     abab\P
                   11998:  0: abab
                   11999:  1: ab
                   12000: 
                   12001: /(..)\1/i
                   12002:     ab\P
                   12003: Partial match: ab
                   12004:     abA\P
                   12005: Partial match: abA
                   12006:     aBAb\P
                   12007:  0: aBAb
                   12008:  1: aB
                   12009: 
                   12010: /(..)\1{2,}/
                   12011:     ab\P
                   12012: Partial match: ab
                   12013:     aba\P
                   12014: Partial match: aba
                   12015:     abab\P
                   12016: Partial match: abab
                   12017:     ababa\P
                   12018: Partial match: ababa
                   12019:     ababab\P
                   12020:  0: ababab
                   12021:  1: ab
                   12022:     ababab\P\P
                   12023: Partial match: ababab
                   12024:     abababa\P
                   12025:  0: ababab
                   12026:  1: ab
                   12027:     abababa\P\P
                   12028: Partial match: abababa
                   12029: 
                   12030: /(..)\1{2,}/i
                   12031:     ab\P
                   12032: Partial match: ab
                   12033:     aBa\P
                   12034: Partial match: aBa
                   12035:     aBAb\P
                   12036: Partial match: aBAb
                   12037:     AbaBA\P
                   12038: Partial match: AbaBA
                   12039:     abABAb\P
                   12040:  0: abABAb
                   12041:  1: ab
                   12042:     aBAbaB\P\P
                   12043: Partial match: aBAbaB
                   12044:     abABabA\P
                   12045:  0: abABab
                   12046:  1: ab
                   12047:     abaBABa\P\P
                   12048: Partial match: abaBABa
                   12049: 
                   12050: /(..)\1{2,}?x/i
                   12051:     ab\P
                   12052: Partial match: ab
                   12053:     abA\P
                   12054: Partial match: abA
                   12055:     aBAb\P
                   12056: Partial match: aBAb
                   12057:     abaBA\P
                   12058: Partial match: abaBA
                   12059:     abAbaB\P
                   12060: Partial match: abAbaB
                   12061:     abaBabA\P
                   12062: Partial match: abaBabA
                   12063:     abAbABaBx\P
                   12064:  0: abAbABaBx
                   12065:  1: ab
                   12066: 
                   12067: /^(..)\1/
                   12068:     aba\P
                   12069: Partial match: aba
                   12070: 
                   12071: /^(..)\1{2,3}x/
                   12072:     aba\P
                   12073: Partial match: aba
                   12074:     ababa\P
                   12075: Partial match: ababa
                   12076:     ababa\P\P
                   12077: Partial match: ababa
                   12078:     abababx
                   12079:  0: abababx
                   12080:  1: ab
                   12081:     ababababx  
                   12082:  0: ababababx
                   12083:  1: ab
                   12084: 
                   12085: /^(..)\1{2,3}?x/
                   12086:     aba\P
                   12087: Partial match: aba
                   12088:     ababa\P
                   12089: Partial match: ababa
                   12090:     ababa\P\P
                   12091: Partial match: ababa
                   12092:     abababx
                   12093:  0: abababx
                   12094:  1: ab
                   12095:     ababababx  
                   12096:  0: ababababx
                   12097:  1: ab
                   12098:     
                   12099: /^(..)(\1{2,3})ab/
                   12100:     abababab
                   12101:  0: abababab
                   12102:  1: ab
                   12103:  2: abab
                   12104: 
                   12105: /^\R/
                   12106:     \r\P
                   12107:  0: \x0d
                   12108:     \r\P\P
                   12109: Partial match: \x0d
                   12110:     
                   12111: /^\R{2,3}x/
                   12112:     \r\P
                   12113: Partial match: \x0d
                   12114:     \r\P\P
                   12115: Partial match: \x0d
                   12116:     \r\r\P 
                   12117: Partial match: \x0d\x0d
                   12118:     \r\r\P\P
                   12119: Partial match: \x0d\x0d
                   12120:     \r\r\r\P  
                   12121: Partial match: \x0d\x0d\x0d
                   12122:     \r\r\r\P\P
                   12123: Partial match: \x0d\x0d\x0d
                   12124:     \r\rx
                   12125:  0: \x0d\x0dx
                   12126:     \r\r\rx    
                   12127:  0: \x0d\x0d\x0dx
                   12128: 
                   12129: /^\R{2,3}?x/
                   12130:     \r\P
                   12131: Partial match: \x0d
                   12132:     \r\P\P
                   12133: Partial match: \x0d
                   12134:     \r\r\P 
                   12135: Partial match: \x0d\x0d
                   12136:     \r\r\P\P
                   12137: Partial match: \x0d\x0d
                   12138:     \r\r\r\P  
                   12139: Partial match: \x0d\x0d\x0d
                   12140:     \r\r\r\P\P
                   12141: Partial match: \x0d\x0d\x0d
                   12142:     \r\rx
                   12143:  0: \x0d\x0dx
                   12144:     \r\r\rx    
                   12145:  0: \x0d\x0d\x0dx
                   12146:     
                   12147: /^\R?x/
                   12148:     \r\P
                   12149: Partial match: \x0d
                   12150:     \r\P\P 
                   12151: Partial match: \x0d
                   12152:     x
                   12153:  0: x
                   12154:     \rx  
                   12155:  0: \x0dx
                   12156: 
                   12157: /^\R+x/
                   12158:     \r\P
                   12159: Partial match: \x0d
                   12160:     \r\P\P 
                   12161: Partial match: \x0d
                   12162:     \r\n\P
                   12163: Partial match: \x0d\x0a
                   12164:     \r\n\P\P  
                   12165: Partial match: \x0d\x0a
                   12166:     \rx  
                   12167:  0: \x0dx
                   12168: 
                   12169: /^a$/<CRLF>
                   12170:     a\r\P
                   12171: Partial match: a\x0d
                   12172:     a\r\P\P 
                   12173: Partial match: a\x0d
                   12174: 
                   12175: /^a$/m<CRLF>
                   12176:     a\r\P
                   12177: Partial match: a\x0d
                   12178:     a\r\P\P 
                   12179: Partial match: a\x0d
                   12180: 
                   12181: /^(a$|a\r)/<CRLF>
                   12182:     a\r\P
                   12183:  0: a\x0d
                   12184:  1: a\x0d
                   12185:     a\r\P\P 
                   12186: Partial match: a\x0d
                   12187: 
                   12188: /^(a$|a\r)/m<CRLF>
                   12189:     a\r\P
                   12190:  0: a\x0d
                   12191:  1: a\x0d
                   12192:     a\r\P\P 
                   12193: Partial match: a\x0d
                   12194: 
                   12195: /./<CRLF>
                   12196:     \r\P
                   12197:  0: \x0d
                   12198:     \r\P\P 
                   12199: Partial match: \x0d
                   12200:   
                   12201: /.{2,3}/<CRLF>
                   12202:     \r\P 
                   12203: Partial match: \x0d
                   12204:     \r\P\P
                   12205: Partial match: \x0d
                   12206:     \r\r\P
                   12207:  0: \x0d\x0d
                   12208:     \r\r\P\P
                   12209: Partial match: \x0d\x0d
                   12210:     \r\r\r\P
                   12211:  0: \x0d\x0d\x0d
                   12212:     \r\r\r\P\P     
                   12213: Partial match: \x0d\x0d\x0d
                   12214: 
                   12215: /.{2,3}?/<CRLF>
                   12216:     \r\P 
                   12217: Partial match: \x0d
                   12218:     \r\P\P
                   12219: Partial match: \x0d
                   12220:     \r\r\P
                   12221:  0: \x0d\x0d
                   12222:     \r\r\P\P
                   12223: Partial match: \x0d\x0d
                   12224:     \r\r\r\P
                   12225:  0: \x0d\x0d
                   12226:     \r\r\r\P\P     
                   12227:  0: \x0d\x0d
                   12228: 
1.1.1.4 ! misho    12229: "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
        !          12230:     ABCDGHI\O03
        !          12231: Matched, but too many substrings
        !          12232:  0: ABCD
        !          12233:     
        !          12234: /-- These are all run as real matches in test 1; here we are just checking the
        !          12235: settings of the anchored and startline bits. --/ 
1.1.1.3   misho    12236: 
1.1.1.4 ! misho    12237: /(?>.*?a)(?<=ba)/I
        !          12238: Capturing subpattern count = 0
        !          12239: Max lookbehind = 2
        !          12240: No options
        !          12241: No first char
        !          12242: Need char = 'a'
1.1.1.3   misho    12243: 
1.1.1.4 ! misho    12244: /(?:.*?a)(?<=ba)/I
        !          12245: Capturing subpattern count = 0
        !          12246: Max lookbehind = 2
        !          12247: No options
        !          12248: First char at start or follows newline
        !          12249: Need char = 'a'
        !          12250: 
        !          12251: /.*?a(*PRUNE)b/I
        !          12252: Capturing subpattern count = 0
        !          12253: No options
        !          12254: No first char
        !          12255: Need char = 'b'
        !          12256: 
        !          12257: /.*?a(*PRUNE)b/sI
        !          12258: Capturing subpattern count = 0
        !          12259: Options: dotall
        !          12260: No first char
        !          12261: Need char = 'b'
        !          12262: 
        !          12263: /^a(*PRUNE)b/sI
        !          12264: Capturing subpattern count = 0
        !          12265: Options: anchored dotall
        !          12266: No first char
        !          12267: No need char
        !          12268: 
        !          12269: /.*?a(*SKIP)b/I
        !          12270: Capturing subpattern count = 0
        !          12271: No options
        !          12272: No first char
        !          12273: Need char = 'b'
        !          12274: 
        !          12275: /(?>.*?a)b/sI
        !          12276: Capturing subpattern count = 0
        !          12277: Options: dotall
        !          12278: No first char
        !          12279: Need char = 'b'
        !          12280: 
        !          12281: /(?>.*?a)b/I
        !          12282: Capturing subpattern count = 0
        !          12283: No options
        !          12284: No first char
        !          12285: Need char = 'b'
        !          12286: 
        !          12287: /(?>^a)b/sI
        !          12288: Capturing subpattern count = 0
        !          12289: Options: anchored dotall
        !          12290: No first char
        !          12291: No need char
        !          12292: 
        !          12293: /(?>.*?)(?<=(abcd)|(wxyz))/I
        !          12294: Capturing subpattern count = 2
        !          12295: Max lookbehind = 4
        !          12296: No options
        !          12297: No first char
        !          12298: No need char
        !          12299: 
        !          12300: /(?>.*)(?<=(abcd)|(wxyz))/I
        !          12301: Capturing subpattern count = 2
        !          12302: Max lookbehind = 4
        !          12303: No options
        !          12304: No first char
        !          12305: No need char
        !          12306: 
        !          12307: "(?>.*)foo"I
        !          12308: Capturing subpattern count = 0
        !          12309: No options
        !          12310: No first char
        !          12311: Need char = 'o'
        !          12312: 
        !          12313: "(?>.*?)foo"I
        !          12314: Capturing subpattern count = 0
        !          12315: No options
        !          12316: No first char
        !          12317: Need char = 'o'
        !          12318: 
        !          12319: /(?>^abc)/mI
        !          12320: Capturing subpattern count = 0
        !          12321: Options: multiline
        !          12322: First char at start or follows newline
        !          12323: Need char = 'c'
        !          12324: 
        !          12325: /(?>.*abc)/mI
        !          12326: Capturing subpattern count = 0
        !          12327: Options: multiline
        !          12328: No first char
        !          12329: Need char = 'c'
        !          12330: 
        !          12331: /(?:.*abc)/mI
        !          12332: Capturing subpattern count = 0
        !          12333: Options: multiline
        !          12334: First char at start or follows newline
        !          12335: Need char = 'c'
        !          12336: 
        !          12337: /-- Check PCRE_STUDY_EXTRA_NEEDED --/
        !          12338: 
        !          12339: /.?/S-I
        !          12340: Capturing subpattern count = 0
        !          12341: No options
        !          12342: No first char
        !          12343: No need char
        !          12344: Study returned NULL
        !          12345: 
        !          12346: /.?/S!I
        !          12347: Capturing subpattern count = 0
        !          12348: No options
        !          12349: No first char
        !          12350: No need char
        !          12351: Subject length lower bound = -1
        !          12352: No set of starting bytes
        !          12353: 
        !          12354: /(?:(a)+(?C1)bb|aa(?C2)b)/
        !          12355:     aab\C+
        !          12356: Callout 1: last capture = 1
        !          12357:  0: <unset>
        !          12358:  1: a
        !          12359: --->aab
        !          12360:     ^ ^     b
        !          12361: Callout 1: last capture = 1
        !          12362:  0: <unset>
        !          12363:  1: a
        !          12364: --->aab
        !          12365:     ^^      b
        !          12366: Callout 2: last capture = -1
        !          12367:  0: <unset>
        !          12368: --->aab
        !          12369:     ^ ^     b
        !          12370:  0: aab
        !          12371:    
        !          12372: /(?:(a)++(?C1)bb|aa(?C2)b)/
        !          12373:     aab\C+ 
        !          12374: Callout 1: last capture = 1
        !          12375:  0: <unset>
        !          12376:  1: a
        !          12377: --->aab
        !          12378:     ^ ^     b
        !          12379: Callout 2: last capture = -1
        !          12380:  0: <unset>
        !          12381: --->aab
        !          12382:     ^ ^     b
        !          12383:  0: aab
        !          12384:     
        !          12385: /(?:(?>(a))(?C1)bb|aa(?C2)b)/
        !          12386:     aab\C+ 
        !          12387: Callout 1: last capture = 1
        !          12388:  0: <unset>
        !          12389:  1: a
        !          12390: --->aab
        !          12391:     ^^      b
        !          12392: Callout 2: last capture = -1
        !          12393:  0: <unset>
        !          12394: --->aab
        !          12395:     ^ ^     b
        !          12396:  0: aab
        !          12397: 
        !          12398: /(?:(?1)(?C1)x|ab(?C2))((a)){0}/                                                
        !          12399:     aab\C+ 
        !          12400: Callout 1: last capture = -1
        !          12401:  0: <unset>
        !          12402: --->aab
        !          12403:     ^^      x
        !          12404: Callout 1: last capture = -1
        !          12405:  0: <unset>
        !          12406: --->aab
        !          12407:      ^^     x
        !          12408: Callout 2: last capture = -1
        !          12409:  0: <unset>
        !          12410: --->aab
        !          12411:      ^ ^    )
        !          12412:  0: ab
        !          12413: 
        !          12414: /(?1)(?C1)((a)(?C2)){0}/   
        !          12415:     aab\C+ 
        !          12416: Callout 2: last capture = 2
        !          12417:  0: <unset>
1.1.1.3   misho    12418:  1: <unset>
                   12419:  2: a
1.1.1.4 ! misho    12420: --->aab
        !          12421:     ^^      )
        !          12422: Callout 1: last capture = -1
        !          12423:  0: <unset>
        !          12424: --->aab
        !          12425:     ^^      ((a)(?C2)){0}
        !          12426:  0: a
1.1.1.3   misho    12427: 
1.1.1.4 ! misho    12428: /(?:(a)+(?C1)bb|aa(?C2)b)++/
        !          12429:     aab\C+
        !          12430: Callout 1: last capture = 1
        !          12431:  0: <unset>
        !          12432:  1: a
        !          12433: --->aab
        !          12434:     ^ ^     b
        !          12435: Callout 1: last capture = 1
        !          12436:  0: <unset>
        !          12437:  1: a
        !          12438: --->aab
        !          12439:     ^^      b
        !          12440: Callout 2: last capture = -1
        !          12441:  0: <unset>
        !          12442: --->aab
        !          12443:     ^ ^     b
        !          12444:  0: aab
        !          12445:     aab\C+\O2
        !          12446: Callout 1: last capture = 1
        !          12447:  0: <unset>
        !          12448: --->aab
        !          12449:     ^ ^     b
        !          12450: Callout 1: last capture = 1
        !          12451:  0: <unset>
        !          12452: --->aab
        !          12453:     ^^      b
        !          12454: Callout 2: last capture = -1
        !          12455:  0: <unset>
        !          12456: --->aab
        !          12457:     ^ ^     b
        !          12458:  0: aab
        !          12459: 
        !          12460: /(ab)x|ab/
        !          12461:     ab\O3
        !          12462:  0: ab
        !          12463:     ab\O2 
        !          12464:  0: ab
        !          12465:   
        !          12466: /(ab)/
        !          12467:     ab\O3
1.1.1.3   misho    12468: Matched, but too many substrings
1.1.1.4 ! misho    12469:  0: ab
        !          12470:     ab\O2 
        !          12471: Matched, but too many substrings
        !          12472:  0: ab
1.1.1.3   misho    12473:     
1.1.1.4 ! misho    12474: /(?<=123)(*MARK:xx)abc/K
        !          12475:     xxxx123a\P\P
        !          12476: Partial match at offset 7, mark=xx: 123a
        !          12477:     xxxx123a\P
        !          12478: Partial match at offset 7, mark=xx: 123a
        !          12479:     
        !          12480: /123\Kabc/
        !          12481:     xxxx123a\P\P
        !          12482: Partial match: 123a
        !          12483:     xxxx123a\P
        !          12484: Partial match: 123a
        !          12485: 
        !          12486: /^(?(?=a)aa|bb)/C
        !          12487:     bb
        !          12488: --->bb
        !          12489:  +0 ^      ^
        !          12490:  +1 ^      (?(?=a)aa|bb)
        !          12491:  +3 ^      (?=a)
        !          12492:  +6 ^      a
        !          12493: +11 ^      b
        !          12494: +12 ^^     b
        !          12495: +13 ^ ^    )
        !          12496: +14 ^ ^    
        !          12497:  0: bb
        !          12498: 
        !          12499: /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
        !          12500:     bb
        !          12501: --->bb
        !          12502:   1 ^      ^
        !          12503:   2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
        !          12504:  99 ^      (?=(?C3)a(?C4))
        !          12505:   3 ^      a
        !          12506:   8 ^      b
        !          12507:   9 ^^     b
        !          12508:  10 ^ ^    )
        !          12509:  11 ^ ^    
        !          12510:  0: bb
        !          12511: 
        !          12512: /-- Perl seems to have a bug with this one --/
        !          12513: 
        !          12514: /aaaaa(*COMMIT)(*PRUNE)b|a+c/
        !          12515:     aaaaaac
        !          12516:  0: aaaac
1.1.1.3   misho    12517:     
1.1.1.4 ! misho    12518: /-- Here are some that Perl treats differently because of the way it handles
        !          12519: backtracking verbs. --/
        !          12520: 
        !          12521:  /(?!a(*COMMIT)b)ac|ad/
        !          12522:      ac
1.1.1.3   misho    12523:  0: ac
1.1.1.4 ! misho    12524:      ad 
        !          12525:  0: ad
        !          12526: 
        !          12527: /^(?!a(*THEN)b|ac)../
        !          12528:      ac
        !          12529: No match
        !          12530:      ad 
        !          12531:  0: ad
        !          12532: 
        !          12533: /^(?=a(*THEN)b|ac)/
        !          12534:     ac
        !          12535:  0: 
        !          12536:     
        !          12537: /\A.*?(?:a|b(*THEN)c)/
        !          12538:     ba
        !          12539:  0: ba
        !          12540: 
        !          12541: /\A.*?(?:a|b(*THEN)c)++/
        !          12542:     ba
        !          12543:  0: ba
        !          12544: 
        !          12545: /\A.*?(?:a|b(*THEN)c|d)/
        !          12546:     ba
        !          12547:  0: ba
        !          12548: 
        !          12549: /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
        !          12550:     aac 
        !          12551:  0: aac
        !          12552: 
        !          12553: /\A.*?(a|b(*THEN)c)/
        !          12554:     ba
        !          12555:  0: ba
        !          12556:  1: a
        !          12557: 
        !          12558: /^(A(*THEN)B|A(*THEN)D)/
        !          12559:     AD           
        !          12560:  0: AD
        !          12561:  1: AD
        !          12562:     
        !          12563: /(?!b(*THEN)a)bn|bnn/
        !          12564:     bnn
        !          12565:  0: bn
        !          12566: 
        !          12567: /(?(?=b(*SKIP)a)bn|bnn)/
        !          12568:     bnn
        !          12569: No match
        !          12570: 
        !          12571: /(?=b(*THEN)a|)bn|bnn/
        !          12572:     bnn
        !          12573:  0: bn
        !          12574: 
        !          12575: /-------------------------/ 
        !          12576: 
        !          12577: /(*LIMIT_MATCH=12bc)abc/
        !          12578: Failed: (*VERB) not recognized or malformed at offset 7
        !          12579: 
        !          12580: /(*LIMIT_MATCH=4294967290)abc/
        !          12581: Failed: (*VERB) not recognized or malformed at offset 7
        !          12582: 
        !          12583: /(*LIMIT_RECURSION=4294967280)abc/I
        !          12584: Capturing subpattern count = 0
        !          12585: Recursion limit = 4294967280
        !          12586: No options
        !          12587: First char = 'a'
        !          12588: Need char = 'c'
        !          12589: 
        !          12590: /(a+)*zz/
        !          12591:     aaaaaaaaaaaaaz
        !          12592: No match
        !          12593:     aaaaaaaaaaaaaz\q3000
        !          12594: Error -8 (match limit exceeded)
        !          12595: 
        !          12596: /(a+)*zz/S-
        !          12597:     aaaaaaaaaaaaaz\Q10 
        !          12598: Error -21 (recursion limit exceeded)
        !          12599: 
        !          12600: /(*LIMIT_MATCH=3000)(a+)*zz/I
        !          12601: Capturing subpattern count = 1
        !          12602: Match limit = 3000
        !          12603: No options
        !          12604: No first char
        !          12605: Need char = 'z'
        !          12606:     aaaaaaaaaaaaaz
        !          12607: Error -8 (match limit exceeded)
        !          12608:     aaaaaaaaaaaaaz\q60000
        !          12609: Error -8 (match limit exceeded)
        !          12610: 
        !          12611: /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
        !          12612: Capturing subpattern count = 1
        !          12613: Match limit = 3000
        !          12614: No options
        !          12615: No first char
        !          12616: Need char = 'z'
        !          12617:     aaaaaaaaaaaaaz
        !          12618: Error -8 (match limit exceeded)
        !          12619: 
        !          12620: /(*LIMIT_MATCH=60000)(a+)*zz/I
        !          12621: Capturing subpattern count = 1
        !          12622: Match limit = 60000
        !          12623: No options
        !          12624: No first char
        !          12625: Need char = 'z'
        !          12626:     aaaaaaaaaaaaaz
        !          12627: No match
        !          12628:     aaaaaaaaaaaaaz\q3000
        !          12629: Error -8 (match limit exceeded)
        !          12630: 
        !          12631: /(*LIMIT_RECURSION=10)(a+)*zz/IS-
        !          12632: Capturing subpattern count = 1
        !          12633: Recursion limit = 10
        !          12634: No options
        !          12635: No first char
        !          12636: Need char = 'z'
        !          12637: Subject length lower bound = 2
        !          12638: Starting byte set: a z 
        !          12639:     aaaaaaaaaaaaaz
        !          12640: Error -21 (recursion limit exceeded)
        !          12641:     aaaaaaaaaaaaaz\Q1000
        !          12642: Error -21 (recursion limit exceeded)
        !          12643: 
        !          12644: /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
        !          12645: Capturing subpattern count = 1
        !          12646: Recursion limit = 10
        !          12647: No options
        !          12648: No first char
        !          12649: Need char = 'z'
        !          12650: Subject length lower bound = 2
        !          12651: Starting byte set: a z 
        !          12652:     aaaaaaaaaaaaaz
        !          12653: Error -21 (recursion limit exceeded)
        !          12654: 
        !          12655: /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
        !          12656: Capturing subpattern count = 1
        !          12657: Recursion limit = 1000
        !          12658: No options
        !          12659: No first char
        !          12660: Need char = 'z'
        !          12661: Subject length lower bound = 2
        !          12662: Starting byte set: a z 
        !          12663:     aaaaaaaaaaaaaz
        !          12664: No match
        !          12665:     aaaaaaaaaaaaaz\Q10
        !          12666: Error -21 (recursion limit exceeded)
1.1.1.3   misho    12667: 
1.1       misho    12668: /-- End of testinput2 --/

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