Home | History | Annotate | Download | only in testdata
      1 /-- This set of tests is not Perl-compatible. It checks on special features
      2     of PCRE's API, error diagnostics, and the compiled code of some patterns.
      3     It also checks the non-Perl syntax the PCRE supports (Python, .NET, 
      4     Oniguruma). Finally, there are some tests where PCRE and Perl differ, 
      5     either because PCRE can't be compatible, or there is a possible Perl 
      6     bug.
      7     
      8     NOTE: This is a non-UTF set of tests. When UTF support is needed, use
      9     test 5, and if Unicode Property Support is needed, use test 7. --/
     10     
     11 < forbid 8W 
     12   
     13 /(a)b|/I
     14 Capturing subpattern count = 1
     15 May match empty string
     16 No options
     17 No first char
     18 No need char
     19 
     20 /abc/I
     21 Capturing subpattern count = 0
     22 No options
     23 First char = 'a'
     24 Need char = 'c'
     25     abc
     26  0: abc
     27     defabc
     28  0: abc
     29     \Aabc
     30  0: abc
     31     *** Failers
     32 No match
     33     \Adefabc
     34 No match
     35     ABC
     36 No match
     37 
     38 /^abc/I
     39 Capturing subpattern count = 0
     40 Options: anchored
     41 No first char
     42 No need char
     43     abc
     44  0: abc
     45     \Aabc
     46  0: abc
     47     *** Failers
     48 No match
     49     defabc
     50 No match
     51     \Adefabc
     52 No match
     53 
     54 /a+bc/I
     55 Capturing subpattern count = 0
     56 No options
     57 First char = 'a'
     58 Need char = 'c'
     59 
     60 /a*bc/I
     61 Capturing subpattern count = 0
     62 No options
     63 No first char
     64 Need char = 'c'
     65 
     66 /a{3}bc/I
     67 Capturing subpattern count = 0
     68 No options
     69 First char = 'a'
     70 Need char = 'c'
     71 
     72 /(abc|a+z)/I
     73 Capturing subpattern count = 1
     74 No options
     75 First char = 'a'
     76 No need char
     77 
     78 /^abc$/I
     79 Capturing subpattern count = 0
     80 Options: anchored
     81 No first char
     82 No need char
     83     abc
     84  0: abc
     85     *** Failers
     86 No match
     87     def\nabc
     88 No match
     89 
     90 /ab\idef/X
     91 Failed: unrecognized character follows \ at offset 3
     92 
     93 /(?X)ab\idef/X
     94 Failed: unrecognized character follows \ at offset 7
     95 
     96 /x{5,4}/
     97 Failed: numbers out of order in {} quantifier at offset 5
     98 
     99 /z{65536}/
    100 Failed: number too big in {} quantifier at offset 7
    101 
    102 /[abcd/
    103 Failed: missing terminating ] for character class at offset 5
    104 
    105 /(?X)[\B]/
    106 Failed: invalid escape sequence in character class at offset 6
    107 
    108 /(?X)[\R]/
    109 Failed: invalid escape sequence in character class at offset 6
    110 
    111 /(?X)[\X]/
    112 Failed: invalid escape sequence in character class at offset 6
    113 
    114 /[\B]/BZ
    115 ------------------------------------------------------------------
    116         Bra
    117         B
    118         Ket
    119         End
    120 ------------------------------------------------------------------
    121 
    122 /[\R]/BZ
    123 ------------------------------------------------------------------
    124         Bra
    125         R
    126         Ket
    127         End
    128 ------------------------------------------------------------------
    129 
    130 /[\X]/BZ
    131 ------------------------------------------------------------------
    132         Bra
    133         X
    134         Ket
    135         End
    136 ------------------------------------------------------------------
    137 
    138 /[z-a]/
    139 Failed: range out of order in character class at offset 3
    140 
    141 /^*/
    142 Failed: nothing to repeat at offset 1
    143 
    144 /(abc/
    145 Failed: missing ) at offset 4
    146 
    147 /(?# abc/
    148 Failed: missing ) after comment at offset 7
    149 
    150 /(?z)abc/
    151 Failed: unrecognized character after (? or (?- at offset 2
    152 
    153 /.*b/I
    154 Capturing subpattern count = 0
    155 No options
    156 First char at start or follows newline
    157 Need char = 'b'
    158 
    159 /.*?b/I
    160 Capturing subpattern count = 0
    161 No options
    162 First char at start or follows newline
    163 Need char = 'b'
    164 
    165 /cat|dog|elephant/I
    166 Capturing subpattern count = 0
    167 No options
    168 No first char
    169 No need char
    170     this sentence eventually mentions a cat
    171  0: cat
    172     this sentences rambles on and on for a while and then reaches elephant
    173  0: elephant
    174 
    175 /cat|dog|elephant/IS
    176 Capturing subpattern count = 0
    177 No options
    178 No first char
    179 No need char
    180 Subject length lower bound = 3
    181 Starting chars: c d e 
    182     this sentence eventually mentions a cat
    183  0: cat
    184     this sentences rambles on and on for a while and then reaches elephant
    185  0: elephant
    186 
    187 /cat|dog|elephant/IiS
    188 Capturing subpattern count = 0
    189 Options: caseless
    190 No first char
    191 No need char
    192 Subject length lower bound = 3
    193 Starting chars: C D E c d e 
    194     this sentence eventually mentions a CAT cat
    195  0: CAT
    196     this sentences rambles on and on for a while to elephant ElePhant
    197  0: elephant
    198 
    199 /a|[bcd]/IS
    200 Capturing subpattern count = 0
    201 No options
    202 No first char
    203 No need char
    204 Subject length lower bound = 1
    205 Starting chars: a b c d 
    206 
    207 /(a|[^\dZ])/IS
    208 Capturing subpattern count = 1
    209 No options
    210 No first char
    211 No need char
    212 Subject length lower bound = 1
    213 Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
    214   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
    215   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
    216   ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d 
    217   e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 
    218   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
    219   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
    220   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
    221   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
    222   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
    223   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
    224   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
    225   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
    226   \xfc \xfd \xfe \xff 
    227 
    228 /(a|b)*[\s]/IS
    229 Capturing subpattern count = 1
    230 No options
    231 No first char
    232 No need char
    233 Subject length lower bound = 1
    234 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 a b 
    235 
    236 /(ab\2)/
    237 Failed: reference to non-existent subpattern at offset 6
    238 
    239 /{4,5}abc/
    240 Failed: nothing to repeat at offset 4
    241 
    242 /(a)(b)(c)\2/I
    243 Capturing subpattern count = 3
    244 Max back reference = 2
    245 No options
    246 First char = 'a'
    247 Need char = 'c'
    248     abcb
    249  0: abcb
    250  1: a
    251  2: b
    252  3: c
    253     \O0abcb
    254 Matched, but too many substrings
    255     \O3abcb
    256 Matched, but too many substrings
    257  0: abcb
    258     \O6abcb
    259 Matched, but too many substrings
    260  0: abcb
    261  1: a
    262     \O9abcb
    263 Matched, but too many substrings
    264  0: abcb
    265  1: a
    266  2: b
    267     \O12abcb
    268  0: abcb
    269  1: a
    270  2: b
    271  3: c
    272 
    273 /(a)bc|(a)(b)\2/I
    274 Capturing subpattern count = 3
    275 Max back reference = 2
    276 No options
    277 First char = 'a'
    278 No need char
    279     abc
    280  0: abc
    281  1: a
    282     \O0abc
    283 Matched, but too many substrings
    284     \O3abc
    285 Matched, but too many substrings
    286  0: abc
    287     \O6abc
    288  0: abc
    289  1: a
    290     aba
    291  0: aba
    292  1: <unset>
    293  2: a
    294  3: b
    295     \O0aba
    296 Matched, but too many substrings
    297     \O3aba
    298 Matched, but too many substrings
    299  0: aba
    300     \O6aba
    301 Matched, but too many substrings
    302  0: aba
    303  1: <unset>
    304     \O9aba
    305 Matched, but too many substrings
    306  0: aba
    307  1: <unset>
    308  2: a
    309     \O12aba
    310  0: aba
    311  1: <unset>
    312  2: a
    313  3: b
    314 
    315 /abc$/IE
    316 Capturing subpattern count = 0
    317 Options: dollar_endonly
    318 First char = 'a'
    319 Need char = 'c'
    320     abc
    321  0: abc
    322     *** Failers
    323 No match
    324     abc\n
    325 No match
    326     abc\ndef
    327 No match
    328 
    329 /(a)(b)(c)(d)(e)\6/
    330 Failed: reference to non-existent subpattern at offset 17
    331 
    332 /the quick brown fox/I
    333 Capturing subpattern count = 0
    334 No options
    335 First char = 't'
    336 Need char = 'x'
    337     the quick brown fox
    338  0: the quick brown fox
    339     this is a line with the quick brown fox
    340  0: the quick brown fox
    341 
    342 /the quick brown fox/IA
    343 Capturing subpattern count = 0
    344 Options: anchored
    345 No first char
    346 No need char
    347     the quick brown fox
    348  0: the quick brown fox
    349     *** Failers
    350 No match
    351     this is a line with the quick brown fox
    352 No match
    353 
    354 /ab(?z)cd/
    355 Failed: unrecognized character after (? or (?- at offset 4
    356 
    357 /^abc|def/I
    358 Capturing subpattern count = 0
    359 No options
    360 No first char
    361 No need char
    362     abcdef
    363  0: abc
    364     abcdef\B
    365  0: def
    366 
    367 /.*((abc)$|(def))/I
    368 Capturing subpattern count = 3
    369 No options
    370 First char at start or follows newline
    371 No need char
    372     defabc
    373  0: defabc
    374  1: abc
    375  2: abc
    376     \Zdefabc
    377  0: def
    378  1: def
    379  2: <unset>
    380  3: def
    381 
    382 /)/
    383 Failed: unmatched parentheses at offset 0
    384 
    385 /a[]b/
    386 Failed: missing terminating ] for character class at offset 4
    387 
    388 /[^aeiou ]{3,}/I
    389 Capturing subpattern count = 0
    390 No options
    391 No first char
    392 No need char
    393     co-processors, and for
    394  0: -pr
    395 
    396 /<.*>/I
    397 Capturing subpattern count = 0
    398 No options
    399 First char = '<'
    400 Need char = '>'
    401     abc<def>ghi<klm>nop
    402  0: <def>ghi<klm>
    403 
    404 /<.*?>/I
    405 Capturing subpattern count = 0
    406 No options
    407 First char = '<'
    408 Need char = '>'
    409     abc<def>ghi<klm>nop
    410  0: <def>
    411 
    412 /<.*>/IU
    413 Capturing subpattern count = 0
    414 Options: ungreedy
    415 First char = '<'
    416 Need char = '>'
    417     abc<def>ghi<klm>nop
    418  0: <def>
    419 
    420 /(?U)<.*>/I
    421 Capturing subpattern count = 0
    422 Options: ungreedy
    423 First char = '<'
    424 Need char = '>'
    425     abc<def>ghi<klm>nop
    426  0: <def>
    427 
    428 /<.*?>/IU
    429 Capturing subpattern count = 0
    430 Options: ungreedy
    431 First char = '<'
    432 Need char = '>'
    433     abc<def>ghi<klm>nop
    434  0: <def>ghi<klm>
    435 
    436 /={3,}/IU
    437 Capturing subpattern count = 0
    438 Options: ungreedy
    439 First char = '='
    440 Need char = '='
    441     abc========def
    442  0: ===
    443 
    444 /(?U)={3,}?/I
    445 Capturing subpattern count = 0
    446 Options: ungreedy
    447 First char = '='
    448 Need char = '='
    449     abc========def
    450  0: ========
    451 
    452 /(?<!bar|cattle)foo/I
    453 Capturing subpattern count = 0
    454 Max lookbehind = 6
    455 No options
    456 First char = 'f'
    457 Need char = 'o'
    458     foo
    459  0: foo
    460     catfoo
    461  0: foo
    462     *** Failers
    463 No match
    464     the barfoo
    465 No match
    466     and cattlefoo
    467 No match
    468 
    469 /(?<=a+)b/
    470 Failed: lookbehind assertion is not fixed length at offset 6
    471 
    472 /(?<=aaa|b{0,3})b/
    473 Failed: lookbehind assertion is not fixed length at offset 14
    474 
    475 /(?<!(foo)a\1)bar/
    476 Failed: lookbehind assertion is not fixed length at offset 12
    477 
    478 /(?i)abc/I
    479 Capturing subpattern count = 0
    480 Options: caseless
    481 First char = 'a' (caseless)
    482 Need char = 'c' (caseless)
    483 
    484 /(a|(?m)a)/I
    485 Capturing subpattern count = 1
    486 No options
    487 First char = 'a'
    488 No need char
    489 
    490 /(?i)^1234/I
    491 Capturing subpattern count = 0
    492 Options: anchored caseless
    493 No first char
    494 No need char
    495 
    496 /(^b|(?i)^d)/I
    497 Capturing subpattern count = 1
    498 Options: anchored
    499 No first char
    500 No need char
    501 
    502 /(?s).*/I
    503 Capturing subpattern count = 0
    504 May match empty string
    505 Options: anchored dotall
    506 No first char
    507 No need char
    508 
    509 /[abcd]/IS
    510 Capturing subpattern count = 0
    511 No options
    512 No first char
    513 No need char
    514 Subject length lower bound = 1
    515 Starting chars: a b c d 
    516 
    517 /(?i)[abcd]/IS
    518 Capturing subpattern count = 0
    519 Options: caseless
    520 No first char
    521 No need char
    522 Subject length lower bound = 1
    523 Starting chars: A B C D a b c d 
    524 
    525 /(?m)[xy]|(b|c)/IS
    526 Capturing subpattern count = 1
    527 Options: multiline
    528 No first char
    529 No need char
    530 Subject length lower bound = 1
    531 Starting chars: b c x y 
    532 
    533 /(^a|^b)/Im
    534 Capturing subpattern count = 1
    535 Options: multiline
    536 First char at start or follows newline
    537 No need char
    538 
    539 /(?i)(^a|^b)/Im
    540 Capturing subpattern count = 1
    541 Options: caseless multiline
    542 First char at start or follows newline
    543 No need char
    544 
    545 /(a)(?(1)a|b|c)/
    546 Failed: conditional group contains more than two branches at offset 13
    547 
    548 /(?(?=a)a|b|c)/
    549 Failed: conditional group contains more than two branches at offset 12
    550 
    551 /(?(1a)/
    552 Failed: malformed number or name after (?( at offset 4
    553 
    554 /(?(1a))/
    555 Failed: malformed number or name after (?( at offset 4
    556 
    557 /(?(?i))/
    558 Failed: assertion expected after (?( at offset 3
    559 
    560 /(?(abc))/
    561 Failed: reference to non-existent subpattern at offset 7
    562 
    563 /(?(?<ab))/
    564 Failed: assertion expected after (?( at offset 3
    565 
    566 /((?s)blah)\s+\1/I
    567 Capturing subpattern count = 1
    568 Max back reference = 1
    569 No options
    570 First char = 'b'
    571 Need char = 'h'
    572 
    573 /((?i)blah)\s+\1/I
    574 Capturing subpattern count = 1
    575 Max back reference = 1
    576 No options
    577 First char = 'b' (caseless)
    578 Need char = 'h' (caseless)
    579 
    580 /((?i)b)/IDZS
    581 ------------------------------------------------------------------
    582         Bra
    583         CBra 1
    584      /i b
    585         Ket
    586         Ket
    587         End
    588 ------------------------------------------------------------------
    589 Capturing subpattern count = 1
    590 No options
    591 First char = 'b' (caseless)
    592 No need char
    593 Subject length lower bound = 1
    594 No starting char list
    595 
    596 /(a*b|(?i:c*(?-i)d))/IS
    597 Capturing subpattern count = 1
    598 No options
    599 No first char
    600 No need char
    601 Subject length lower bound = 1
    602 Starting chars: C a b c d 
    603 
    604 /a$/I
    605 Capturing subpattern count = 0
    606 No options
    607 First char = 'a'
    608 No need char
    609     a
    610  0: a
    611     a\n
    612  0: a
    613     *** Failers
    614 No match
    615     \Za
    616 No match
    617     \Za\n
    618 No match
    619 
    620 /a$/Im
    621 Capturing subpattern count = 0
    622 Options: multiline
    623 First char = 'a'
    624 No need char
    625     a
    626  0: a
    627     a\n
    628  0: a
    629     \Za\n
    630  0: a
    631     *** Failers
    632 No match
    633     \Za
    634 No match
    635 
    636 /\Aabc/Im
    637 Capturing subpattern count = 0
    638 Max lookbehind = 1
    639 Options: anchored multiline
    640 No first char
    641 No need char
    642 
    643 /^abc/Im
    644 Capturing subpattern count = 0
    645 Options: multiline
    646 First char at start or follows newline
    647 Need char = 'c'
    648 
    649 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
    650 Capturing subpattern count = 5
    651 Options: anchored
    652 No first char
    653 No need char
    654   aaaaabbbbbcccccdef
    655  0: aaaaabbbbbcccccdef
    656  1: aaaaabbbbbcccccdef
    657  2: aaaaa
    658  3: b
    659  4: bbbbccccc
    660  5: def
    661 
    662 /(?<=foo)[ab]/IS
    663 Capturing subpattern count = 0
    664 Max lookbehind = 3
    665 No options
    666 No first char
    667 No need char
    668 Subject length lower bound = 1
    669 Starting chars: a b 
    670 
    671 /(?<!foo)(alpha|omega)/IS
    672 Capturing subpattern count = 1
    673 Max lookbehind = 3
    674 No options
    675 No first char
    676 Need char = 'a'
    677 Subject length lower bound = 5
    678 Starting chars: a o 
    679 
    680 /(?!alphabet)[ab]/IS
    681 Capturing subpattern count = 0
    682 No options
    683 No first char
    684 No need char
    685 Subject length lower bound = 1
    686 Starting chars: a b 
    687 
    688 /(?<=foo\n)^bar/Im
    689 Capturing subpattern count = 0
    690 Max lookbehind = 4
    691 Contains explicit CR or LF match
    692 Options: multiline
    693 No first char
    694 Need char = 'r'
    695     foo\nbarbar
    696  0: bar
    697     ***Failers
    698 No match
    699     rhubarb
    700 No match
    701     barbell
    702 No match
    703     abc\nbarton
    704 No match
    705 
    706 /^(?<=foo\n)bar/Im
    707 Capturing subpattern count = 0
    708 Max lookbehind = 4
    709 Contains explicit CR or LF match
    710 Options: multiline
    711 First char at start or follows newline
    712 Need char = 'r'
    713     foo\nbarbar
    714  0: bar
    715     ***Failers
    716 No match
    717     rhubarb
    718 No match
    719     barbell
    720 No match
    721     abc\nbarton
    722 No match
    723 
    724 /(?>^abc)/Im
    725 Capturing subpattern count = 0
    726 Options: multiline
    727 First char at start or follows newline
    728 Need char = 'c'
    729     abc
    730  0: abc
    731     def\nabc
    732  0: abc
    733     *** Failers
    734 No match
    735     defabc
    736 No match
    737 
    738 /(?<=ab(c+)d)ef/
    739 Failed: lookbehind assertion is not fixed length at offset 11
    740 
    741 /(?<=ab(?<=c+)d)ef/
    742 Failed: lookbehind assertion is not fixed length at offset 12
    743 
    744 /(?<=ab(c|de)f)g/
    745 Failed: lookbehind assertion is not fixed length at offset 13
    746 
    747 /The next three are in testinput2 because they have variable length branches/
    748 
    749 /(?<=bullock|donkey)-cart/I
    750 Capturing subpattern count = 0
    751 Max lookbehind = 7
    752 No options
    753 First char = '-'
    754 Need char = 't'
    755     the bullock-cart
    756  0: -cart
    757     a donkey-cart race
    758  0: -cart
    759     *** Failers
    760 No match
    761     cart
    762 No match
    763     horse-and-cart
    764 No match
    765 
    766 /(?<=ab(?i)x|y|z)/I
    767 Capturing subpattern count = 0
    768 Max lookbehind = 3
    769 May match empty string
    770 No options
    771 No first char
    772 No need char
    773 
    774 /(?>.*)(?<=(abcd)|(xyz))/I
    775 Capturing subpattern count = 2
    776 Max lookbehind = 4
    777 May match empty string
    778 No options
    779 No first char
    780 No need char
    781     alphabetabcd
    782  0: alphabetabcd
    783  1: abcd
    784     endingxyz
    785  0: endingxyz
    786  1: <unset>
    787  2: xyz
    788 
    789 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
    790 Capturing subpattern count = 0
    791 Max lookbehind = 4
    792 No options
    793 First char = 'Z'
    794 Need char = 'Z'
    795     abxyZZ
    796  0: ZZ
    797     abXyZZ
    798  0: ZZ
    799     ZZZ
    800  0: ZZ
    801     zZZ
    802  0: ZZ
    803     bZZ
    804  0: ZZ
    805     BZZ
    806  0: ZZ
    807     *** Failers
    808 No match
    809     ZZ
    810 No match
    811     abXYZZ
    812 No match
    813     zzz
    814 No match
    815     bzz
    816 No match
    817 
    818 /(?<!(foo)a)bar/I
    819 Capturing subpattern count = 1
    820 Max lookbehind = 4
    821 No options
    822 First char = 'b'
    823 Need char = 'r'
    824     bar
    825  0: bar
    826     foobbar
    827  0: bar
    828     *** Failers
    829 No match
    830     fooabar
    831 No match
    832 
    833 /This one is here because Perl behaves differently; see also the following/I
    834 Capturing subpattern count = 0
    835 No options
    836 First char = 'T'
    837 Need char = 'g'
    838 
    839 /^(a\1?){4}$/I
    840 Capturing subpattern count = 1
    841 Max back reference = 1
    842 Options: anchored
    843 No first char
    844 No need char
    845     aaaa
    846 No match
    847     aaaaaa
    848 No match
    849     
    850 /Perl does not fail these two for the final subjects. Neither did PCRE until/
    851 /release 8.01. The problem is in backtracking into a subpattern that contains/
    852 No match
    853 /a recursive reference to itself. PCRE has now made these into atomic patterns./
    854 No match
    855 
    856 /^(xa|=?\1a){2}$/
    857     xa=xaa
    858  0: xa=xaa
    859  1: =xaa
    860     ** Failers
    861 No match
    862     xa=xaaa
    863 No match
    864 
    865 /^(xa|=?\1a)+$/
    866     xa=xaa
    867  0: xa=xaa
    868  1: =xaa
    869     ** Failers
    870 No match
    871     xa=xaaa
    872 No match
    873 
    874 /These are syntax tests from Perl 5.005/I
    875 Capturing subpattern count = 0
    876 No options
    877 First char = 'T'
    878 Need char = '5'
    879 
    880 /a[b-a]/
    881 Failed: range out of order in character class at offset 4
    882 
    883 /a[]b/
    884 Failed: missing terminating ] for character class at offset 4
    885 
    886 /a[/
    887 Failed: missing terminating ] for character class at offset 2
    888 
    889 /*a/
    890 Failed: nothing to repeat at offset 0
    891 
    892 /(*)b/
    893 Failed: nothing to repeat at offset 1
    894 
    895 /abc)/
    896 Failed: unmatched parentheses at offset 3
    897 
    898 /(abc/
    899 Failed: missing ) at offset 4
    900 
    901 /a**/
    902 Failed: nothing to repeat at offset 2
    903 
    904 /)(/
    905 Failed: unmatched parentheses at offset 0
    906 
    907 /\1/
    908 Failed: reference to non-existent subpattern at offset 2
    909 
    910 /\2/
    911 Failed: reference to non-existent subpattern at offset 2
    912 
    913 /(a)|\2/
    914 Failed: reference to non-existent subpattern at offset 6
    915 
    916 /a[b-a]/Ii
    917 Failed: range out of order in character class at offset 4
    918 
    919 /a[]b/Ii
    920 Failed: missing terminating ] for character class at offset 4
    921 
    922 /a[/Ii
    923 Failed: missing terminating ] for character class at offset 2
    924 
    925 /*a/Ii
    926 Failed: nothing to repeat at offset 0
    927 
    928 /(*)b/Ii
    929 Failed: nothing to repeat at offset 1
    930 
    931 /abc)/Ii
    932 Failed: unmatched parentheses at offset 3
    933 
    934 /(abc/Ii
    935 Failed: missing ) at offset 4
    936 
    937 /a**/Ii
    938 Failed: nothing to repeat at offset 2
    939 
    940 /)(/Ii
    941 Failed: unmatched parentheses at offset 0
    942 
    943 /:(?:/
    944 Failed: missing ) at offset 4
    945 
    946 /(?<%)b/
    947 Failed: unrecognized character after (?< at offset 3
    948 
    949 /a(?{)b/
    950 Failed: unrecognized character after (? or (?- at offset 3
    951 
    952 /a(?{{})b/
    953 Failed: unrecognized character after (? or (?- at offset 3
    954 
    955 /a(?{}})b/
    956 Failed: unrecognized character after (? or (?- at offset 3
    957 
    958 /a(?{"{"})b/
    959 Failed: unrecognized character after (? or (?- at offset 3
    960 
    961 /a(?{"{"}})b/
    962 Failed: unrecognized character after (? or (?- at offset 3
    963 
    964 /(?(1?)a|b)/
    965 Failed: malformed number or name after (?( at offset 4
    966 
    967 /[a[:xyz:/
    968 Failed: missing terminating ] for character class at offset 8
    969 
    970 /(?<=x+)y/
    971 Failed: lookbehind assertion is not fixed length at offset 6
    972 
    973 /a{37,17}/
    974 Failed: numbers out of order in {} quantifier at offset 7
    975 
    976 /abc/\
    977 Failed: \ at end of pattern at offset 4
    978 
    979 /abc/\i
    980 Failed: \ at end of pattern at offset 4
    981 
    982 /(a)bc(d)/I
    983 Capturing subpattern count = 2
    984 No options
    985 First char = 'a'
    986 Need char = 'd'
    987     abcd
    988  0: abcd
    989  1: a
    990  2: d
    991     abcd\C2
    992  0: abcd
    993  1: a
    994  2: d
    995  2C d (1)
    996     abcd\C5
    997  0: abcd
    998  1: a
    999  2: d
   1000 copy substring 5 failed -7
   1001 
   1002 /(.{20})/I
   1003 Capturing subpattern count = 1
   1004 No options
   1005 No first char
   1006 No need char
   1007     abcdefghijklmnopqrstuvwxyz
   1008  0: abcdefghijklmnopqrst
   1009  1: abcdefghijklmnopqrst
   1010     abcdefghijklmnopqrstuvwxyz\C1
   1011  0: abcdefghijklmnopqrst
   1012  1: abcdefghijklmnopqrst
   1013  1C abcdefghijklmnopqrst (20)
   1014     abcdefghijklmnopqrstuvwxyz\G1
   1015  0: abcdefghijklmnopqrst
   1016  1: abcdefghijklmnopqrst
   1017  1G abcdefghijklmnopqrst (20)
   1018 
   1019 /(.{15})/I
   1020 Capturing subpattern count = 1
   1021 No options
   1022 No first char
   1023 No need char
   1024     abcdefghijklmnopqrstuvwxyz
   1025  0: abcdefghijklmno
   1026  1: abcdefghijklmno
   1027     abcdefghijklmnopqrstuvwxyz\C1\G1
   1028  0: abcdefghijklmno
   1029  1: abcdefghijklmno
   1030  1C abcdefghijklmno (15)
   1031  1G abcdefghijklmno (15)
   1032 
   1033 /(.{16})/I
   1034 Capturing subpattern count = 1
   1035 No options
   1036 No first char
   1037 No need char
   1038     abcdefghijklmnopqrstuvwxyz
   1039  0: abcdefghijklmnop
   1040  1: abcdefghijklmnop
   1041     abcdefghijklmnopqrstuvwxyz\C1\G1\L
   1042  0: abcdefghijklmnop
   1043  1: abcdefghijklmnop
   1044  1C abcdefghijklmnop (16)
   1045  1G abcdefghijklmnop (16)
   1046  0L abcdefghijklmnop
   1047  1L abcdefghijklmnop
   1048 
   1049 /^(a|(bc))de(f)/I
   1050 Capturing subpattern count = 3
   1051 Options: anchored
   1052 No first char
   1053 No need char
   1054     adef\G1\G2\G3\G4\L
   1055  0: adef
   1056  1: a
   1057  2: <unset>
   1058  3: f
   1059  1G a (1)
   1060  2G  (0)
   1061  3G f (1)
   1062 get substring 4 failed -7
   1063  0L adef
   1064  1L a
   1065  2L 
   1066  3L f
   1067     bcdef\G1\G2\G3\G4\L
   1068  0: bcdef
   1069  1: bc
   1070  2: bc
   1071  3: f
   1072  1G bc (2)
   1073  2G bc (2)
   1074  3G f (1)
   1075 get substring 4 failed -7
   1076  0L bcdef
   1077  1L bc
   1078  2L bc
   1079  3L f
   1080     adefghijk\C0
   1081  0: adef
   1082  1: a
   1083  2: <unset>
   1084  3: f
   1085  0C adef (4)
   1086 
   1087 /^abc\00def/I
   1088 Capturing subpattern count = 0
   1089 Options: anchored
   1090 No first char
   1091 No need char
   1092     abc\00def\L\C0
   1093  0: abc\x00def
   1094  0C abc\x00def (7)
   1095  0L abc
   1096 
   1097 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
   1098 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
   1099 )?)?)?)?)?)?)?)?)?otherword/I
   1100 Capturing subpattern count = 8
   1101 Contains explicit CR or LF match
   1102 No options
   1103 First char = 'w'
   1104 Need char = 'd'
   1105 
   1106 /.*X/IDZ
   1107 ------------------------------------------------------------------
   1108         Bra
   1109         Any*
   1110         X
   1111         Ket
   1112         End
   1113 ------------------------------------------------------------------
   1114 Capturing subpattern count = 0
   1115 No options
   1116 First char at start or follows newline
   1117 Need char = 'X'
   1118 
   1119 /.*X/IDZs
   1120 ------------------------------------------------------------------
   1121         Bra
   1122         AllAny*
   1123         X
   1124         Ket
   1125         End
   1126 ------------------------------------------------------------------
   1127 Capturing subpattern count = 0
   1128 Options: anchored dotall
   1129 No first char
   1130 Need char = 'X'
   1131 
   1132 /(.*X|^B)/IDZ
   1133 ------------------------------------------------------------------
   1134         Bra
   1135         CBra 1
   1136         Any*
   1137         X
   1138         Alt
   1139         ^
   1140         B
   1141         Ket
   1142         Ket
   1143         End
   1144 ------------------------------------------------------------------
   1145 Capturing subpattern count = 1
   1146 No options
   1147 First char at start or follows newline
   1148 No need char
   1149 
   1150 /(.*X|^B)/IDZs
   1151 ------------------------------------------------------------------
   1152         Bra
   1153         CBra 1
   1154         AllAny*
   1155         X
   1156         Alt
   1157         ^
   1158         B
   1159         Ket
   1160         Ket
   1161         End
   1162 ------------------------------------------------------------------
   1163 Capturing subpattern count = 1
   1164 Options: anchored dotall
   1165 No first char
   1166 No need char
   1167 
   1168 /(?s)(.*X|^B)/IDZ
   1169 ------------------------------------------------------------------
   1170         Bra
   1171         CBra 1
   1172         AllAny*
   1173         X
   1174         Alt
   1175         ^
   1176         B
   1177         Ket
   1178         Ket
   1179         End
   1180 ------------------------------------------------------------------
   1181 Capturing subpattern count = 1
   1182 Options: anchored dotall
   1183 No first char
   1184 No need char
   1185 
   1186 /(?s:.*X|^B)/IDZ
   1187 ------------------------------------------------------------------
   1188         Bra
   1189         Bra
   1190         AllAny*
   1191         X
   1192         Alt
   1193         ^
   1194         B
   1195         Ket
   1196         Ket
   1197         End
   1198 ------------------------------------------------------------------
   1199 Capturing subpattern count = 0
   1200 Options: anchored
   1201 No first char
   1202 No need char
   1203 
   1204 /\Biss\B/I+
   1205 Capturing subpattern count = 0
   1206 Max lookbehind = 1
   1207 No options
   1208 First char = 'i'
   1209 Need char = 's'
   1210     Mississippi
   1211  0: iss
   1212  0+ issippi
   1213 
   1214 /iss/IG+
   1215 Capturing subpattern count = 0
   1216 No options
   1217 First char = 'i'
   1218 Need char = 's'
   1219     Mississippi
   1220  0: iss
   1221  0+ issippi
   1222  0: iss
   1223  0+ ippi
   1224 
   1225 /\Biss\B/IG+
   1226 Capturing subpattern count = 0
   1227 Max lookbehind = 1
   1228 No options
   1229 First char = 'i'
   1230 Need char = 's'
   1231     Mississippi
   1232  0: iss
   1233  0+ issippi
   1234 
   1235 /\Biss\B/Ig+
   1236 Capturing subpattern count = 0
   1237 Max lookbehind = 1
   1238 No options
   1239 First char = 'i'
   1240 Need char = 's'
   1241     Mississippi
   1242  0: iss
   1243  0+ issippi
   1244  0: iss
   1245  0+ ippi
   1246     *** Failers
   1247 No match
   1248     Mississippi\A
   1249 No match
   1250 
   1251 /(?<=[Ms])iss/Ig+
   1252 Capturing subpattern count = 0
   1253 Max lookbehind = 1
   1254 No options
   1255 First char = 'i'
   1256 Need char = 's'
   1257     Mississippi
   1258  0: iss
   1259  0+ issippi
   1260  0: iss
   1261  0+ ippi
   1262 
   1263 /(?<=[Ms])iss/IG+
   1264 Capturing subpattern count = 0
   1265 Max lookbehind = 1
   1266 No options
   1267 First char = 'i'
   1268 Need char = 's'
   1269     Mississippi
   1270  0: iss
   1271  0+ issippi
   1272 
   1273 /^iss/Ig+
   1274 Capturing subpattern count = 0
   1275 Options: anchored
   1276 No first char
   1277 No need char
   1278     ississippi
   1279  0: iss
   1280  0+ issippi
   1281 
   1282 /.*iss/Ig+
   1283 Capturing subpattern count = 0
   1284 No options
   1285 First char at start or follows newline
   1286 Need char = 's'
   1287     abciss\nxyzisspqr
   1288  0: abciss
   1289  0+ \x0axyzisspqr
   1290  0: xyziss
   1291  0+ pqr
   1292 
   1293 /.i./I+g
   1294 Capturing subpattern count = 0
   1295 No options
   1296 No first char
   1297 Need char = 'i'
   1298     Mississippi
   1299  0: Mis
   1300  0+ sissippi
   1301  0: sis
   1302  0+ sippi
   1303  0: sip
   1304  0+ pi
   1305     Mississippi\A
   1306  0: Mis
   1307  0+ sissippi
   1308  0: sis
   1309  0+ sippi
   1310  0: sip
   1311  0+ pi
   1312     Missouri river
   1313  0: Mis
   1314  0+ souri river
   1315  0: ri 
   1316  0+ river
   1317  0: riv
   1318  0+ er
   1319     Missouri river\A
   1320  0: Mis
   1321  0+ souri river
   1322 
   1323 /^.is/I+g
   1324 Capturing subpattern count = 0
   1325 Options: anchored
   1326 No first char
   1327 No need char
   1328     Mississippi
   1329  0: Mis
   1330  0+ sissippi
   1331 
   1332 /^ab\n/Ig+
   1333 Capturing subpattern count = 0
   1334 Contains explicit CR or LF match
   1335 Options: anchored
   1336 No first char
   1337 No need char
   1338     ab\nab\ncd
   1339  0: ab\x0a
   1340  0+ ab\x0acd
   1341 
   1342 /^ab\n/Img+
   1343 Capturing subpattern count = 0
   1344 Contains explicit CR or LF match
   1345 Options: multiline
   1346 First char at start or follows newline
   1347 Need char = \x0a
   1348     ab\nab\ncd
   1349  0: ab\x0a
   1350  0+ ab\x0acd
   1351  0: ab\x0a
   1352  0+ cd
   1353 
   1354 /abc/I
   1355 Capturing subpattern count = 0
   1356 No options
   1357 First char = 'a'
   1358 Need char = 'c'
   1359 
   1360 /abc|bac/I
   1361 Capturing subpattern count = 0
   1362 No options
   1363 No first char
   1364 Need char = 'c'
   1365 
   1366 /(abc|bac)/I
   1367 Capturing subpattern count = 1
   1368 No options
   1369 No first char
   1370 Need char = 'c'
   1371 
   1372 /(abc|(c|dc))/I
   1373 Capturing subpattern count = 2
   1374 No options
   1375 No first char
   1376 Need char = 'c'
   1377 
   1378 /(abc|(d|de)c)/I
   1379 Capturing subpattern count = 2
   1380 No options
   1381 No first char
   1382 Need char = 'c'
   1383 
   1384 /a*/I
   1385 Capturing subpattern count = 0
   1386 May match empty string
   1387 No options
   1388 No first char
   1389 No need char
   1390 
   1391 /a+/I
   1392 Capturing subpattern count = 0
   1393 No options
   1394 First char = 'a'
   1395 No need char
   1396 
   1397 /(baa|a+)/I
   1398 Capturing subpattern count = 1
   1399 No options
   1400 No first char
   1401 Need char = 'a'
   1402 
   1403 /a{0,3}/I
   1404 Capturing subpattern count = 0
   1405 May match empty string
   1406 No options
   1407 No first char
   1408 No need char
   1409 
   1410 /baa{3,}/I
   1411 Capturing subpattern count = 0
   1412 No options
   1413 First char = 'b'
   1414 Need char = 'a'
   1415 
   1416 /"([^\\"]+|\\.)*"/I
   1417 Capturing subpattern count = 1
   1418 No options
   1419 First char = '"'
   1420 Need char = '"'
   1421 
   1422 /(abc|ab[cd])/I
   1423 Capturing subpattern count = 1
   1424 No options
   1425 First char = 'a'
   1426 No need char
   1427 
   1428 /(a|.)/I
   1429 Capturing subpattern count = 1
   1430 No options
   1431 No first char
   1432 No need char
   1433 
   1434 /a|ba|\w/I
   1435 Capturing subpattern count = 0
   1436 No options
   1437 No first char
   1438 No need char
   1439 
   1440 /abc(?=pqr)/I
   1441 Capturing subpattern count = 0
   1442 No options
   1443 First char = 'a'
   1444 Need char = 'r'
   1445 
   1446 /...(?<=abc)/I
   1447 Capturing subpattern count = 0
   1448 Max lookbehind = 3
   1449 No options
   1450 No first char
   1451 No need char
   1452 
   1453 /abc(?!pqr)/I
   1454 Capturing subpattern count = 0
   1455 No options
   1456 First char = 'a'
   1457 Need char = 'c'
   1458 
   1459 /ab./I
   1460 Capturing subpattern count = 0
   1461 No options
   1462 First char = 'a'
   1463 Need char = 'b'
   1464 
   1465 /ab[xyz]/I
   1466 Capturing subpattern count = 0
   1467 No options
   1468 First char = 'a'
   1469 Need char = 'b'
   1470 
   1471 /abc*/I
   1472 Capturing subpattern count = 0
   1473 No options
   1474 First char = 'a'
   1475 Need char = 'b'
   1476 
   1477 /ab.c*/I
   1478 Capturing subpattern count = 0
   1479 No options
   1480 First char = 'a'
   1481 Need char = 'b'
   1482 
   1483 /a.c*/I
   1484 Capturing subpattern count = 0
   1485 No options
   1486 First char = 'a'
   1487 No need char
   1488 
   1489 /.c*/I
   1490 Capturing subpattern count = 0
   1491 No options
   1492 No first char
   1493 No need char
   1494 
   1495 /ac*/I
   1496 Capturing subpattern count = 0
   1497 No options
   1498 First char = 'a'
   1499 No need char
   1500 
   1501 /(a.c*|b.c*)/I
   1502 Capturing subpattern count = 1
   1503 No options
   1504 No first char
   1505 No need char
   1506 
   1507 /a.c*|aba/I
   1508 Capturing subpattern count = 0
   1509 No options
   1510 First char = 'a'
   1511 No need char
   1512 
   1513 /.+a/I
   1514 Capturing subpattern count = 0
   1515 No options
   1516 No first char
   1517 Need char = 'a'
   1518 
   1519 /(?=abcda)a.*/I
   1520 Capturing subpattern count = 0
   1521 No options
   1522 First char = 'a'
   1523 Need char = 'a'
   1524 
   1525 /(?=a)a.*/I
   1526 Capturing subpattern count = 0
   1527 No options
   1528 First char = 'a'
   1529 No need char
   1530 
   1531 /a(b)*/I
   1532 Capturing subpattern count = 1
   1533 No options
   1534 First char = 'a'
   1535 No need char
   1536 
   1537 /a\d*/I
   1538 Capturing subpattern count = 0
   1539 No options
   1540 First char = 'a'
   1541 No need char
   1542 
   1543 /ab\d*/I
   1544 Capturing subpattern count = 0
   1545 No options
   1546 First char = 'a'
   1547 Need char = 'b'
   1548 
   1549 /a(\d)*/I
   1550 Capturing subpattern count = 1
   1551 No options
   1552 First char = 'a'
   1553 No need char
   1554 
   1555 /abcde{0,0}/I
   1556 Capturing subpattern count = 0
   1557 No options
   1558 First char = 'a'
   1559 Need char = 'd'
   1560 
   1561 /ab\d+/I
   1562 Capturing subpattern count = 0
   1563 No options
   1564 First char = 'a'
   1565 Need char = 'b'
   1566 
   1567 /a(?(1)b)(.)/I
   1568 Capturing subpattern count = 1
   1569 Max back reference = 1
   1570 No options
   1571 First char = 'a'
   1572 No need char
   1573 
   1574 /a(?(1)bag|big)(.)/I
   1575 Capturing subpattern count = 1
   1576 Max back reference = 1
   1577 No options
   1578 First char = 'a'
   1579 Need char = 'g'
   1580 
   1581 /a(?(1)bag|big)*(.)/I
   1582 Capturing subpattern count = 1
   1583 Max back reference = 1
   1584 No options
   1585 First char = 'a'
   1586 No need char
   1587 
   1588 /a(?(1)bag|big)+(.)/I
   1589 Capturing subpattern count = 1
   1590 Max back reference = 1
   1591 No options
   1592 First char = 'a'
   1593 Need char = 'g'
   1594 
   1595 /a(?(1)b..|b..)(.)/I
   1596 Capturing subpattern count = 1
   1597 Max back reference = 1
   1598 No options
   1599 First char = 'a'
   1600 Need char = 'b'
   1601 
   1602 /ab\d{0}e/I
   1603 Capturing subpattern count = 0
   1604 No options
   1605 First char = 'a'
   1606 Need char = 'e'
   1607 
   1608 /a?b?/I
   1609 Capturing subpattern count = 0
   1610 May match empty string
   1611 No options
   1612 No first char
   1613 No need char
   1614     a
   1615  0: a
   1616     b
   1617  0: b
   1618     ab
   1619  0: ab
   1620     \
   1621  0: 
   1622     *** Failers
   1623  0: 
   1624     \N
   1625 No match
   1626 
   1627 /|-/I
   1628 Capturing subpattern count = 0
   1629 May match empty string
   1630 No options
   1631 No first char
   1632 No need char
   1633     abcd
   1634  0: 
   1635     -abc
   1636  0: 
   1637     \Nab-c
   1638  0: -
   1639     *** Failers
   1640  0: 
   1641     \Nabc
   1642 No match
   1643 
   1644 /^.?abcd/IS
   1645 Capturing subpattern count = 0
   1646 Options: anchored
   1647 No first char
   1648 Need char = 'd'
   1649 Subject length lower bound = 4
   1650 No starting char list
   1651 
   1652 /\(             # ( at start
   1653   (?:           # Non-capturing bracket
   1654   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
   1655   |             # Or
   1656   (?R)          # Recurse - i.e. nested bracketed string
   1657   )*            # Zero or more contents
   1658   \)            # Closing )
   1659   /Ix
   1660 Capturing subpattern count = 0
   1661 Options: extended
   1662 First char = '('
   1663 Need char = ')'
   1664     (abcd)
   1665  0: (abcd)
   1666     (abcd)xyz
   1667  0: (abcd)
   1668     xyz(abcd)
   1669  0: (abcd)
   1670     (ab(xy)cd)pqr
   1671  0: (ab(xy)cd)
   1672     (ab(xycd)pqr
   1673  0: (xycd)
   1674     () abc ()
   1675  0: ()
   1676     12(abcde(fsh)xyz(foo(bar))lmno)89
   1677  0: (abcde(fsh)xyz(foo(bar))lmno)
   1678     *** Failers
   1679 No match
   1680     abcd
   1681 No match
   1682     abcd)
   1683 No match
   1684     (abcd
   1685 No match
   1686 
   1687 /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
   1688 Capturing subpattern count = 1
   1689 Options: extended
   1690 First char = '('
   1691 Need char = ')'
   1692     (ab(xy)cd)pqr
   1693  0: (ab(xy)cd)
   1694  1: cd
   1695     1(abcd)(x(y)z)pqr
   1696  0: (abcd)
   1697  1: abcd
   1698  0: (x(y)z)
   1699  1: z
   1700 
   1701 /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
   1702 Capturing subpattern count = 0
   1703 Options: extended
   1704 First char = '('
   1705 Need char = ')'
   1706     (abcd)
   1707  0: (abcd)
   1708     (ab(xy)cd)
   1709  0: (xy)
   1710     (a(b(c)d)e)
   1711  0: (c)
   1712     ((ab))
   1713  0: ((ab))
   1714     *** Failers
   1715 No match
   1716     ()
   1717 No match
   1718 
   1719 /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
   1720 Capturing subpattern count = 0
   1721 Options: extended
   1722 First char = '('
   1723 Need char = ')'
   1724     ()
   1725  0: ()
   1726     12(abcde(fsh)xyz(foo(bar))lmno)89
   1727  0: (fsh)
   1728 
   1729 /\(  ( (?>[^()]+) | (?R) )* \) /Ix
   1730 Capturing subpattern count = 1
   1731 Options: extended
   1732 First char = '('
   1733 Need char = ')'
   1734     (ab(xy)cd)
   1735  0: (ab(xy)cd)
   1736  1: cd
   1737 
   1738 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
   1739 Capturing subpattern count = 2
   1740 Options: extended
   1741 First char = '('
   1742 Need char = ')'
   1743     (ab(xy)cd)
   1744  0: (ab(xy)cd)
   1745  1: ab(xy)cd
   1746  2: cd
   1747 
   1748 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
   1749 Capturing subpattern count = 3
   1750 Options: extended
   1751 First char = '('
   1752 Need char = ')'
   1753     (ab(xy)cd)
   1754  0: (ab(xy)cd)
   1755  1: <unset>
   1756  2: ab(xy)cd
   1757  3: cd
   1758     (123ab(xy)cd)
   1759  0: (123ab(xy)cd)
   1760  1: 123
   1761  2: ab(xy)cd
   1762  3: cd
   1763 
   1764 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
   1765 Capturing subpattern count = 3
   1766 Options: extended
   1767 First char = '('
   1768 Need char = ')'
   1769     (ab(xy)cd)
   1770  0: (ab(xy)cd)
   1771  1: ab(xy)cd
   1772  2: <unset>
   1773  3: cd
   1774     (123ab(xy)cd)
   1775  0: (123ab(xy)cd)
   1776  1: 123ab(xy)cd
   1777  2: 123
   1778  3: cd
   1779 
   1780 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
   1781 Capturing subpattern count = 11
   1782 Options: extended
   1783 First char = '('
   1784 Need char = ')'
   1785     (ab(xy)cd)
   1786  0: (ab(xy)cd)
   1787  1: ab(xy)cd
   1788  2: ab(xy)cd
   1789  3: ab(xy)cd
   1790  4: ab(xy)cd
   1791  5: ab(xy)cd
   1792  6: ab(xy)cd
   1793  7: ab(xy)cd
   1794  8: ab(xy)cd
   1795  9: ab(xy)cd
   1796 10: ab(xy)cd
   1797 11: cd
   1798 
   1799 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
   1800 Capturing subpattern count = 3
   1801 Options: extended
   1802 First char = '('
   1803 Need char = ')'
   1804     (abcd(xyz<p>qrs)123)
   1805  0: (abcd(xyz<p>qrs)123)
   1806  1: abcd(xyz<p>qrs)123
   1807  2: 123
   1808 
   1809 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
   1810 Capturing subpattern count = 3
   1811 Options: extended
   1812 First char = '('
   1813 Need char = ')'
   1814     (ab(cd)ef)
   1815  0: (ab(cd)ef)
   1816  1: ab(cd)ef
   1817  2: ef
   1818  3: (cd)
   1819     (ab(cd(ef)gh)ij)
   1820  0: (ab(cd(ef)gh)ij)
   1821  1: ab(cd(ef)gh)ij
   1822  2: ij
   1823  3: (cd(ef)gh)
   1824 
   1825 /^[[:alnum:]]/DZ
   1826 ------------------------------------------------------------------
   1827         Bra
   1828         ^
   1829         [0-9A-Za-z]
   1830         Ket
   1831         End
   1832 ------------------------------------------------------------------
   1833 Capturing subpattern count = 0
   1834 Options: anchored
   1835 No first char
   1836 No need char
   1837 
   1838 /^[[:^alnum:]]/DZ
   1839 ------------------------------------------------------------------
   1840         Bra
   1841         ^
   1842         [\x00-/:-@[-`{-\xff] (neg)
   1843         Ket
   1844         End
   1845 ------------------------------------------------------------------
   1846 Capturing subpattern count = 0
   1847 Options: anchored
   1848 No first char
   1849 No need char
   1850 
   1851 /^[[:alpha:]]/DZ
   1852 ------------------------------------------------------------------
   1853         Bra
   1854         ^
   1855         [A-Za-z]
   1856         Ket
   1857         End
   1858 ------------------------------------------------------------------
   1859 Capturing subpattern count = 0
   1860 Options: anchored
   1861 No first char
   1862 No need char
   1863 
   1864 /^[[:^alpha:]]/DZ
   1865 ------------------------------------------------------------------
   1866         Bra
   1867         ^
   1868         [\x00-@[-`{-\xff] (neg)
   1869         Ket
   1870         End
   1871 ------------------------------------------------------------------
   1872 Capturing subpattern count = 0
   1873 Options: anchored
   1874 No first char
   1875 No need char
   1876 
   1877 /[_[:alpha:]]/IS
   1878 Capturing subpattern count = 0
   1879 No options
   1880 No first char
   1881 No need char
   1882 Subject length lower bound = 1
   1883 Starting chars: 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 
   1884   _ 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 
   1885 
   1886 /^[[:ascii:]]/DZ
   1887 ------------------------------------------------------------------
   1888         Bra
   1889         ^
   1890         [\x00-\x7f]
   1891         Ket
   1892         End
   1893 ------------------------------------------------------------------
   1894 Capturing subpattern count = 0
   1895 Options: anchored
   1896 No first char
   1897 No need char
   1898 
   1899 /^[[:^ascii:]]/DZ
   1900 ------------------------------------------------------------------
   1901         Bra
   1902         ^
   1903         [\x80-\xff] (neg)
   1904         Ket
   1905         End
   1906 ------------------------------------------------------------------
   1907 Capturing subpattern count = 0
   1908 Options: anchored
   1909 No first char
   1910 No need char
   1911 
   1912 /^[[:blank:]]/DZ
   1913 ------------------------------------------------------------------
   1914         Bra
   1915         ^
   1916         [\x09 ]
   1917         Ket
   1918         End
   1919 ------------------------------------------------------------------
   1920 Capturing subpattern count = 0
   1921 Options: anchored
   1922 No first char
   1923 No need char
   1924 
   1925 /^[[:^blank:]]/DZ
   1926 ------------------------------------------------------------------
   1927         Bra
   1928         ^
   1929         [\x00-\x08\x0a-\x1f!-\xff] (neg)
   1930         Ket
   1931         End
   1932 ------------------------------------------------------------------
   1933 Capturing subpattern count = 0
   1934 Options: anchored
   1935 No first char
   1936 No need char
   1937 
   1938 /[\n\x0b\x0c\x0d[:blank:]]/IS
   1939 Capturing subpattern count = 0
   1940 Contains explicit CR or LF match
   1941 No options
   1942 No first char
   1943 No need char
   1944 Subject length lower bound = 1
   1945 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 
   1946 
   1947 /^[[:cntrl:]]/DZ
   1948 ------------------------------------------------------------------
   1949         Bra
   1950         ^
   1951         [\x00-\x1f\x7f]
   1952         Ket
   1953         End
   1954 ------------------------------------------------------------------
   1955 Capturing subpattern count = 0
   1956 Options: anchored
   1957 No first char
   1958 No need char
   1959 
   1960 /^[[:digit:]]/DZ
   1961 ------------------------------------------------------------------
   1962         Bra
   1963         ^
   1964         [0-9]
   1965         Ket
   1966         End
   1967 ------------------------------------------------------------------
   1968 Capturing subpattern count = 0
   1969 Options: anchored
   1970 No first char
   1971 No need char
   1972 
   1973 /^[[:graph:]]/DZ
   1974 ------------------------------------------------------------------
   1975         Bra
   1976         ^
   1977         [!-~]
   1978         Ket
   1979         End
   1980 ------------------------------------------------------------------
   1981 Capturing subpattern count = 0
   1982 Options: anchored
   1983 No first char
   1984 No need char
   1985 
   1986 /^[[:lower:]]/DZ
   1987 ------------------------------------------------------------------
   1988         Bra
   1989         ^
   1990         [a-z]
   1991         Ket
   1992         End
   1993 ------------------------------------------------------------------
   1994 Capturing subpattern count = 0
   1995 Options: anchored
   1996 No first char
   1997 No need char
   1998 
   1999 /^[[:print:]]/DZ
   2000 ------------------------------------------------------------------
   2001         Bra
   2002         ^
   2003         [ -~]
   2004         Ket
   2005         End
   2006 ------------------------------------------------------------------
   2007 Capturing subpattern count = 0
   2008 Options: anchored
   2009 No first char
   2010 No need char
   2011 
   2012 /^[[:punct:]]/DZ
   2013 ------------------------------------------------------------------
   2014         Bra
   2015         ^
   2016         [!-/:-@[-`{-~]
   2017         Ket
   2018         End
   2019 ------------------------------------------------------------------
   2020 Capturing subpattern count = 0
   2021 Options: anchored
   2022 No first char
   2023 No need char
   2024 
   2025 /^[[:space:]]/DZ
   2026 ------------------------------------------------------------------
   2027         Bra
   2028         ^
   2029         [\x09-\x0d ]
   2030         Ket
   2031         End
   2032 ------------------------------------------------------------------
   2033 Capturing subpattern count = 0
   2034 Options: anchored
   2035 No first char
   2036 No need char
   2037 
   2038 /^[[:upper:]]/DZ
   2039 ------------------------------------------------------------------
   2040         Bra
   2041         ^
   2042         [A-Z]
   2043         Ket
   2044         End
   2045 ------------------------------------------------------------------
   2046 Capturing subpattern count = 0
   2047 Options: anchored
   2048 No first char
   2049 No need char
   2050 
   2051 /^[[:xdigit:]]/DZ
   2052 ------------------------------------------------------------------
   2053         Bra
   2054         ^
   2055         [0-9A-Fa-f]
   2056         Ket
   2057         End
   2058 ------------------------------------------------------------------
   2059 Capturing subpattern count = 0
   2060 Options: anchored
   2061 No first char
   2062 No need char
   2063 
   2064 /^[[:word:]]/DZ
   2065 ------------------------------------------------------------------
   2066         Bra
   2067         ^
   2068         [0-9A-Z_a-z]
   2069         Ket
   2070         End
   2071 ------------------------------------------------------------------
   2072 Capturing subpattern count = 0
   2073 Options: anchored
   2074 No first char
   2075 No need char
   2076 
   2077 /^[[:^cntrl:]]/DZ
   2078 ------------------------------------------------------------------
   2079         Bra
   2080         ^
   2081         [ -~\x80-\xff] (neg)
   2082         Ket
   2083         End
   2084 ------------------------------------------------------------------
   2085 Capturing subpattern count = 0
   2086 Options: anchored
   2087 No first char
   2088 No need char
   2089 
   2090 /^[12[:^digit:]]/DZ
   2091 ------------------------------------------------------------------
   2092         Bra
   2093         ^
   2094         [\x00-/12:-\xff] (neg)
   2095         Ket
   2096         End
   2097 ------------------------------------------------------------------
   2098 Capturing subpattern count = 0
   2099 Options: anchored
   2100 No first char
   2101 No need char
   2102 
   2103 /^[[:^blank:]]/DZ
   2104 ------------------------------------------------------------------
   2105         Bra
   2106         ^
   2107         [\x00-\x08\x0a-\x1f!-\xff] (neg)
   2108         Ket
   2109         End
   2110 ------------------------------------------------------------------
   2111 Capturing subpattern count = 0
   2112 Options: anchored
   2113 No first char
   2114 No need char
   2115 
   2116 /[01[:alpha:]%]/DZ
   2117 ------------------------------------------------------------------
   2118         Bra
   2119         [%01A-Za-z]
   2120         Ket
   2121         End
   2122 ------------------------------------------------------------------
   2123 Capturing subpattern count = 0
   2124 No options
   2125 No first char
   2126 No need char
   2127 
   2128 /[[.ch.]]/I
   2129 Failed: POSIX collating elements are not supported at offset 1
   2130 
   2131 /[[=ch=]]/I
   2132 Failed: POSIX collating elements are not supported at offset 1
   2133 
   2134 /[[:rhubarb:]]/I
   2135 Failed: unknown POSIX class name at offset 3
   2136 
   2137 /[[:upper:]]/Ii
   2138 Capturing subpattern count = 0
   2139 Options: caseless
   2140 No first char
   2141 No need char
   2142     A
   2143  0: A
   2144     a
   2145  0: a
   2146 
   2147 /[[:lower:]]/Ii
   2148 Capturing subpattern count = 0
   2149 Options: caseless
   2150 No first char
   2151 No need char
   2152     A
   2153  0: A
   2154     a
   2155  0: a
   2156 
   2157 /((?-i)[[:lower:]])[[:lower:]]/Ii
   2158 Capturing subpattern count = 1
   2159 Options: caseless
   2160 No first char
   2161 No need char
   2162     ab
   2163  0: ab
   2164  1: a
   2165     aB
   2166  0: aB
   2167  1: a
   2168     *** Failers
   2169  0: ai
   2170  1: a
   2171     Ab
   2172 No match
   2173     AB
   2174 No match
   2175 
   2176 /[\200-\110]/I
   2177 Failed: range out of order in character class at offset 9
   2178 
   2179 /^(?(0)f|b)oo/I
   2180 Failed: invalid condition (?(0) at offset 6
   2181 
   2182 /This one's here because of the large output vector needed/I
   2183 Capturing subpattern count = 0
   2184 No options
   2185 First char = 'T'
   2186 Need char = 'd'
   2187 
   2188 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
   2189 Capturing subpattern count = 271
   2190 Max back reference = 270
   2191 No options
   2192 No first char
   2193 No need char
   2194     \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
   2195  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
   2196  1: 1 
   2197  2: 2 
   2198  3: 3 
   2199  4: 4 
   2200  5: 5 
   2201  6: 6 
   2202  7: 7 
   2203  8: 8 
   2204  9: 9 
   2205 10: 10 
   2206 11: 11 
   2207 12: 12 
   2208 13: 13 
   2209 14: 14 
   2210 15: 15 
   2211 16: 16 
   2212 17: 17 
   2213 18: 18 
   2214 19: 19 
   2215 20: 20 
   2216 21: 21 
   2217 22: 22 
   2218 23: 23 
   2219 24: 24 
   2220 25: 25 
   2221 26: 26 
   2222 27: 27 
   2223 28: 28 
   2224 29: 29 
   2225 30: 30 
   2226 31: 31 
   2227 32: 32 
   2228 33: 33 
   2229 34: 34 
   2230 35: 35 
   2231 36: 36 
   2232 37: 37 
   2233 38: 38 
   2234 39: 39 
   2235 40: 40 
   2236 41: 41 
   2237 42: 42 
   2238 43: 43 
   2239 44: 44 
   2240 45: 45 
   2241 46: 46 
   2242 47: 47 
   2243 48: 48 
   2244 49: 49 
   2245 50: 50 
   2246 51: 51 
   2247 52: 52 
   2248 53: 53 
   2249 54: 54 
   2250 55: 55 
   2251 56: 56 
   2252 57: 57 
   2253 58: 58 
   2254 59: 59 
   2255 60: 60 
   2256 61: 61 
   2257 62: 62 
   2258 63: 63 
   2259 64: 64 
   2260 65: 65 
   2261 66: 66 
   2262 67: 67 
   2263 68: 68 
   2264 69: 69 
   2265 70: 70 
   2266 71: 71 
   2267 72: 72 
   2268 73: 73 
   2269 74: 74 
   2270 75: 75 
   2271 76: 76 
   2272 77: 77 
   2273 78: 78 
   2274 79: 79 
   2275 80: 80 
   2276 81: 81 
   2277 82: 82 
   2278 83: 83 
   2279 84: 84 
   2280 85: 85 
   2281 86: 86 
   2282 87: 87 
   2283 88: 88 
   2284 89: 89 
   2285 90: 90 
   2286 91: 91 
   2287 92: 92 
   2288 93: 93 
   2289 94: 94 
   2290 95: 95 
   2291 96: 96 
   2292 97: 97 
   2293 98: 98 
   2294 99: 99 
   2295 100: 100 
   2296 101: 101 
   2297 102: 102 
   2298 103: 103 
   2299 104: 104 
   2300 105: 105 
   2301 106: 106 
   2302 107: 107 
   2303 108: 108 
   2304 109: 109 
   2305 110: 110 
   2306 111: 111 
   2307 112: 112 
   2308 113: 113 
   2309 114: 114 
   2310 115: 115 
   2311 116: 116 
   2312 117: 117 
   2313 118: 118 
   2314 119: 119 
   2315 120: 120 
   2316 121: 121 
   2317 122: 122 
   2318 123: 123 
   2319 124: 124 
   2320 125: 125 
   2321 126: 126 
   2322 127: 127 
   2323 128: 128 
   2324 129: 129 
   2325 130: 130 
   2326 131: 131 
   2327 132: 132 
   2328 133: 133 
   2329 134: 134 
   2330 135: 135 
   2331 136: 136 
   2332 137: 137 
   2333 138: 138 
   2334 139: 139 
   2335 140: 140 
   2336 141: 141 
   2337 142: 142 
   2338 143: 143 
   2339 144: 144 
   2340 145: 145 
   2341 146: 146 
   2342 147: 147 
   2343 148: 148 
   2344 149: 149 
   2345 150: 150 
   2346 151: 151 
   2347 152: 152 
   2348 153: 153 
   2349 154: 154 
   2350 155: 155 
   2351 156: 156 
   2352 157: 157 
   2353 158: 158 
   2354 159: 159 
   2355 160: 160 
   2356 161: 161 
   2357 162: 162 
   2358 163: 163 
   2359 164: 164 
   2360 165: 165 
   2361 166: 166 
   2362 167: 167 
   2363 168: 168 
   2364 169: 169 
   2365 170: 170 
   2366 171: 171 
   2367 172: 172 
   2368 173: 173 
   2369 174: 174 
   2370 175: 175 
   2371 176: 176 
   2372 177: 177 
   2373 178: 178 
   2374 179: 179 
   2375 180: 180 
   2376 181: 181 
   2377 182: 182 
   2378 183: 183 
   2379 184: 184 
   2380 185: 185 
   2381 186: 186 
   2382 187: 187 
   2383 188: 188 
   2384 189: 189 
   2385 190: 190 
   2386 191: 191 
   2387 192: 192 
   2388 193: 193 
   2389 194: 194 
   2390 195: 195 
   2391 196: 196 
   2392 197: 197 
   2393 198: 198 
   2394 199: 199 
   2395 200: 200 
   2396 201: 201 
   2397 202: 202 
   2398 203: 203 
   2399 204: 204 
   2400 205: 205 
   2401 206: 206 
   2402 207: 207 
   2403 208: 208 
   2404 209: 209 
   2405 210: 210 
   2406 211: 211 
   2407 212: 212 
   2408 213: 213 
   2409 214: 214 
   2410 215: 215 
   2411 216: 216 
   2412 217: 217 
   2413 218: 218 
   2414 219: 219 
   2415 220: 220 
   2416 221: 221 
   2417 222: 222 
   2418 223: 223 
   2419 224: 224 
   2420 225: 225 
   2421 226: 226 
   2422 227: 227 
   2423 228: 228 
   2424 229: 229 
   2425 230: 230 
   2426 231: 231 
   2427 232: 232 
   2428 233: 233 
   2429 234: 234 
   2430 235: 235 
   2431 236: 236 
   2432 237: 237 
   2433 238: 238 
   2434 239: 239 
   2435 240: 240 
   2436 241: 241 
   2437 242: 242 
   2438 243: 243 
   2439 244: 244 
   2440 245: 245 
   2441 246: 246 
   2442 247: 247 
   2443 248: 248 
   2444 249: 249 
   2445 250: 250 
   2446 251: 251 
   2447 252: 252 
   2448 253: 253 
   2449 254: 254 
   2450 255: 255 
   2451 256: 256 
   2452 257: 257 
   2453 258: 258 
   2454 259: 259 
   2455 260: 260 
   2456 261: 261 
   2457 262: 262 
   2458 263: 263 
   2459 264: 264 
   2460 265: 265 
   2461 266: 266 
   2462 267: 267 
   2463 268: 268 
   2464 269: 269 
   2465 270: ABC
   2466 271: ABC
   2467 
   2468 /This one's here because Perl does this differently and PCRE can't at present/I
   2469 Capturing subpattern count = 0
   2470 No options
   2471 First char = 'T'
   2472 Need char = 't'
   2473 
   2474 /(main(O)?)+/I
   2475 Capturing subpattern count = 2
   2476 No options
   2477 First char = 'm'
   2478 Need char = 'n'
   2479     mainmain
   2480  0: mainmain
   2481  1: main
   2482     mainOmain
   2483  0: mainOmain
   2484  1: main
   2485  2: O
   2486 
   2487 /These are all cases where Perl does it differently (nested captures)/I
   2488 Capturing subpattern count = 1
   2489 No options
   2490 First char = 'T'
   2491 Need char = 's'
   2492 
   2493 /^(a(b)?)+$/I
   2494 Capturing subpattern count = 2
   2495 Options: anchored
   2496 No first char
   2497 No need char
   2498     aba
   2499  0: aba
   2500  1: a
   2501  2: b
   2502 
   2503 /^(aa(bb)?)+$/I
   2504 Capturing subpattern count = 2
   2505 Options: anchored
   2506 No first char
   2507 No need char
   2508     aabbaa
   2509  0: aabbaa
   2510  1: aa
   2511  2: bb
   2512 
   2513 /^(aa|aa(bb))+$/I
   2514 Capturing subpattern count = 2
   2515 Options: anchored
   2516 No first char
   2517 No need char
   2518     aabbaa
   2519  0: aabbaa
   2520  1: aa
   2521  2: bb
   2522 
   2523 /^(aa(bb)??)+$/I
   2524 Capturing subpattern count = 2
   2525 Options: anchored
   2526 No first char
   2527 No need char
   2528     aabbaa
   2529  0: aabbaa
   2530  1: aa
   2531  2: bb
   2532 
   2533 /^(?:aa(bb)?)+$/I
   2534 Capturing subpattern count = 1
   2535 Options: anchored
   2536 No first char
   2537 No need char
   2538     aabbaa
   2539  0: aabbaa
   2540  1: bb
   2541 
   2542 /^(aa(b(b))?)+$/I
   2543 Capturing subpattern count = 3
   2544 Options: anchored
   2545 No first char
   2546 No need char
   2547     aabbaa
   2548  0: aabbaa
   2549  1: aa
   2550  2: bb
   2551  3: b
   2552 
   2553 /^(?:aa(b(b))?)+$/I
   2554 Capturing subpattern count = 2
   2555 Options: anchored
   2556 No first char
   2557 No need char
   2558     aabbaa
   2559  0: aabbaa
   2560  1: bb
   2561  2: b
   2562 
   2563 /^(?:aa(b(?:b))?)+$/I
   2564 Capturing subpattern count = 1
   2565 Options: anchored
   2566 No first char
   2567 No need char
   2568     aabbaa
   2569  0: aabbaa
   2570  1: bb
   2571 
   2572 /^(?:aa(bb(?:b))?)+$/I
   2573 Capturing subpattern count = 1
   2574 Options: anchored
   2575 No first char
   2576 No need char
   2577     aabbbaa
   2578  0: aabbbaa
   2579  1: bbb
   2580 
   2581 /^(?:aa(b(?:bb))?)+$/I
   2582 Capturing subpattern count = 1
   2583 Options: anchored
   2584 No first char
   2585 No need char
   2586     aabbbaa
   2587  0: aabbbaa
   2588  1: bbb
   2589 
   2590 /^(?:aa(?:b(b))?)+$/I
   2591 Capturing subpattern count = 1
   2592 Options: anchored
   2593 No first char
   2594 No need char
   2595     aabbaa
   2596  0: aabbaa
   2597  1: b
   2598 
   2599 /^(?:aa(?:b(bb))?)+$/I
   2600 Capturing subpattern count = 1
   2601 Options: anchored
   2602 No first char
   2603 No need char
   2604     aabbbaa
   2605  0: aabbbaa
   2606  1: bb
   2607 
   2608 /^(aa(b(bb))?)+$/I
   2609 Capturing subpattern count = 3
   2610 Options: anchored
   2611 No first char
   2612 No need char
   2613     aabbbaa
   2614  0: aabbbaa
   2615  1: aa
   2616  2: bbb
   2617  3: bb
   2618 
   2619 /^(aa(bb(bb))?)+$/I
   2620 Capturing subpattern count = 3
   2621 Options: anchored
   2622 No first char
   2623 No need char
   2624     aabbbbaa
   2625  0: aabbbbaa
   2626  1: aa
   2627  2: bbbb
   2628  3: bb
   2629 
   2630 /--------------------------------------------------------------------/I
   2631 Capturing subpattern count = 0
   2632 No options
   2633 First char = '-'
   2634 Need char = '-'
   2635 
   2636 /#/IxDZ
   2637 ------------------------------------------------------------------
   2638         Bra
   2639         Ket
   2640         End
   2641 ------------------------------------------------------------------
   2642 Capturing subpattern count = 0
   2643 May match empty string
   2644 Options: extended
   2645 No first char
   2646 No need char
   2647 
   2648 /a#/IxDZ
   2649 ------------------------------------------------------------------
   2650         Bra
   2651         a
   2652         Ket
   2653         End
   2654 ------------------------------------------------------------------
   2655 Capturing subpattern count = 0
   2656 Options: extended
   2657 First char = 'a'
   2658 No need char
   2659 
   2660 /[\s]/DZ
   2661 ------------------------------------------------------------------
   2662         Bra
   2663         [\x09-\x0d ]
   2664         Ket
   2665         End
   2666 ------------------------------------------------------------------
   2667 Capturing subpattern count = 0
   2668 No options
   2669 No first char
   2670 No need char
   2671 
   2672 /[\S]/DZ
   2673 ------------------------------------------------------------------
   2674         Bra
   2675         [\x00-\x08\x0e-\x1f!-\xff] (neg)
   2676         Ket
   2677         End
   2678 ------------------------------------------------------------------
   2679 Capturing subpattern count = 0
   2680 No options
   2681 No first char
   2682 No need char
   2683 
   2684 /a(?i)b/DZ
   2685 ------------------------------------------------------------------
   2686         Bra
   2687         a
   2688      /i b
   2689         Ket
   2690         End
   2691 ------------------------------------------------------------------
   2692 Capturing subpattern count = 0
   2693 No options
   2694 First char = 'a'
   2695 Need char = 'b' (caseless)
   2696     ab
   2697  0: ab
   2698     aB
   2699  0: aB
   2700     *** Failers
   2701 No match
   2702     AB
   2703 No match
   2704 
   2705 /(a(?i)b)/DZ
   2706 ------------------------------------------------------------------
   2707         Bra
   2708         CBra 1
   2709         a
   2710      /i b
   2711         Ket
   2712         Ket
   2713         End
   2714 ------------------------------------------------------------------
   2715 Capturing subpattern count = 1
   2716 No options
   2717 First char = 'a'
   2718 Need char = 'b' (caseless)
   2719     ab
   2720  0: ab
   2721  1: ab
   2722     aB
   2723  0: aB
   2724  1: aB
   2725     *** Failers
   2726 No match
   2727     AB
   2728 No match
   2729 
   2730 /   (?i)abc/IxDZ
   2731 ------------------------------------------------------------------
   2732         Bra
   2733      /i abc
   2734         Ket
   2735         End
   2736 ------------------------------------------------------------------
   2737 Capturing subpattern count = 0
   2738 Options: caseless extended
   2739 First char = 'a' (caseless)
   2740 Need char = 'c' (caseless)
   2741 
   2742 /#this is a comment
   2743   (?i)abc/IxDZ
   2744 ------------------------------------------------------------------
   2745         Bra
   2746      /i abc
   2747         Ket
   2748         End
   2749 ------------------------------------------------------------------
   2750 Capturing subpattern count = 0
   2751 Options: caseless extended
   2752 First char = 'a' (caseless)
   2753 Need char = 'c' (caseless)
   2754 
   2755 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
   2756 ------------------------------------------------------------------
   2757         Bra
   2758         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
   2759         Ket
   2760         End
   2761 ------------------------------------------------------------------
   2762 Capturing subpattern count = 0
   2763 No options
   2764 First char = '1'
   2765 Need char = '0'
   2766 
   2767 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
   2768 ------------------------------------------------------------------
   2769         Bra
   2770         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
   2771         Ket
   2772         End
   2773 ------------------------------------------------------------------
   2774 Capturing subpattern count = 0
   2775 No options
   2776 First char = '1'
   2777 Need char = '0'
   2778 
   2779 /\Q\E/DZ
   2780 ------------------------------------------------------------------
   2781         Bra
   2782         Ket
   2783         End
   2784 ------------------------------------------------------------------
   2785 Capturing subpattern count = 0
   2786 May match empty string
   2787 No options
   2788 No first char
   2789 No need char
   2790     \
   2791  0: 
   2792 
   2793 /\Q\Ex/DZ
   2794 ------------------------------------------------------------------
   2795         Bra
   2796         x
   2797         Ket
   2798         End
   2799 ------------------------------------------------------------------
   2800 Capturing subpattern count = 0
   2801 No options
   2802 First char = 'x'
   2803 No need char
   2804 
   2805 / \Q\E/DZ
   2806 ------------------------------------------------------------------
   2807         Bra
   2808          
   2809         Ket
   2810         End
   2811 ------------------------------------------------------------------
   2812 Capturing subpattern count = 0
   2813 No options
   2814 First char = ' '
   2815 No need char
   2816 
   2817 /a\Q\E/DZ
   2818 ------------------------------------------------------------------
   2819         Bra
   2820         a
   2821         Ket
   2822         End
   2823 ------------------------------------------------------------------
   2824 Capturing subpattern count = 0
   2825 No options
   2826 First char = 'a'
   2827 No need char
   2828   abc
   2829  0: a
   2830   bca
   2831  0: a
   2832   bac
   2833  0: a
   2834 
   2835 /a\Q\Eb/DZ
   2836 ------------------------------------------------------------------
   2837         Bra
   2838         ab
   2839         Ket
   2840         End
   2841 ------------------------------------------------------------------
   2842 Capturing subpattern count = 0
   2843 No options
   2844 First char = 'a'
   2845 Need char = 'b'
   2846   abc
   2847  0: ab
   2848 
   2849 /\Q\Eabc/DZ
   2850 ------------------------------------------------------------------
   2851         Bra
   2852         abc
   2853         Ket
   2854         End
   2855 ------------------------------------------------------------------
   2856 Capturing subpattern count = 0
   2857 No options
   2858 First char = 'a'
   2859 Need char = 'c'
   2860 
   2861 /x*+\w/DZ
   2862 ------------------------------------------------------------------
   2863         Bra
   2864         x*+
   2865         \w
   2866         Ket
   2867         End
   2868 ------------------------------------------------------------------
   2869 Capturing subpattern count = 0
   2870 No options
   2871 No first char
   2872 No need char
   2873     *** Failers
   2874  0: F
   2875     xxxxx
   2876 No match
   2877 
   2878 /x?+/DZ
   2879 ------------------------------------------------------------------
   2880         Bra
   2881         x?+
   2882         Ket
   2883         End
   2884 ------------------------------------------------------------------
   2885 Capturing subpattern count = 0
   2886 May match empty string
   2887 No options
   2888 No first char
   2889 No need char
   2890 
   2891 /x++/DZ
   2892 ------------------------------------------------------------------
   2893         Bra
   2894         x++
   2895         Ket
   2896         End
   2897 ------------------------------------------------------------------
   2898 Capturing subpattern count = 0
   2899 No options
   2900 First char = 'x'
   2901 No need char
   2902 
   2903 /x{1,3}+/BZO
   2904 ------------------------------------------------------------------
   2905         Bra
   2906         x
   2907         x{0,2}+
   2908         Ket
   2909         End
   2910 ------------------------------------------------------------------
   2911 
   2912 /x{1,3}+/BZOi
   2913 ------------------------------------------------------------------
   2914         Bra
   2915      /i x
   2916      /i x{0,2}+
   2917         Ket
   2918         End
   2919 ------------------------------------------------------------------
   2920 
   2921 /[^x]{1,3}+/BZO
   2922 ------------------------------------------------------------------
   2923         Bra
   2924         [^x]
   2925         [^x]{0,2}+
   2926         Ket
   2927         End
   2928 ------------------------------------------------------------------
   2929 
   2930 /[^x]{1,3}+/BZOi
   2931 ------------------------------------------------------------------
   2932         Bra
   2933      /i [^x]
   2934      /i [^x]{0,2}+
   2935         Ket
   2936         End
   2937 ------------------------------------------------------------------
   2938 
   2939 /(x)*+/DZ
   2940 ------------------------------------------------------------------
   2941         Bra
   2942         Braposzero
   2943         CBraPos 1
   2944         x
   2945         KetRpos
   2946         Ket
   2947         End
   2948 ------------------------------------------------------------------
   2949 Capturing subpattern count = 1
   2950 May match empty string
   2951 No options
   2952 No first char
   2953 No need char
   2954 
   2955 /^(\w++|\s++)*$/I
   2956 Capturing subpattern count = 1
   2957 May match empty string
   2958 Options: anchored
   2959 No first char
   2960 No need char
   2961     now is the time for all good men to come to the aid of the party
   2962  0: now is the time for all good men to come to the aid of the party
   2963  1: party
   2964     *** Failers
   2965 No match
   2966     this is not a line with only words and spaces!
   2967 No match
   2968 
   2969 /(\d++)(\w)/I
   2970 Capturing subpattern count = 2
   2971 No options
   2972 No first char
   2973 No need char
   2974     12345a
   2975  0: 12345a
   2976  1: 12345
   2977  2: a
   2978     *** Failers
   2979 No match
   2980     12345+
   2981 No match
   2982 
   2983 /a++b/I
   2984 Capturing subpattern count = 0
   2985 No options
   2986 First char = 'a'
   2987 Need char = 'b'
   2988     aaab
   2989  0: aaab
   2990 
   2991 /(a++b)/I
   2992 Capturing subpattern count = 1
   2993 No options
   2994 First char = 'a'
   2995 Need char = 'b'
   2996     aaab
   2997  0: aaab
   2998  1: aaab
   2999 
   3000 /(a++)b/I
   3001 Capturing subpattern count = 1
   3002 No options
   3003 First char = 'a'
   3004 Need char = 'b'
   3005     aaab
   3006  0: aaab
   3007  1: aaa
   3008 
   3009 /([^()]++|\([^()]*\))+/I
   3010 Capturing subpattern count = 1
   3011 No options
   3012 No first char
   3013 No need char
   3014     ((abc(ade)ufh()()x
   3015  0: abc(ade)ufh()()x
   3016  1: x
   3017 
   3018 /\(([^()]++|\([^()]+\))+\)/I
   3019 Capturing subpattern count = 1
   3020 No options
   3021 First char = '('
   3022 Need char = ')'
   3023     (abc)
   3024  0: (abc)
   3025  1: abc
   3026     (abc(def)xyz)
   3027  0: (abc(def)xyz)
   3028  1: xyz
   3029     *** Failers
   3030 No match
   3031     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   3032 No match
   3033 
   3034 /(abc){1,3}+/DZ
   3035 ------------------------------------------------------------------
   3036         Bra
   3037         Once
   3038         CBra 1
   3039         abc
   3040         Ket
   3041         Brazero
   3042         Bra
   3043         CBra 1
   3044         abc
   3045         Ket
   3046         Brazero
   3047         CBra 1
   3048         abc
   3049         Ket
   3050         Ket
   3051         Ket
   3052         Ket
   3053         End
   3054 ------------------------------------------------------------------
   3055 Capturing subpattern count = 1
   3056 No options
   3057 First char = 'a'
   3058 Need char = 'c'
   3059 
   3060 /a+?+/I
   3061 Failed: nothing to repeat at offset 3
   3062 
   3063 /a{2,3}?+b/I
   3064 Failed: nothing to repeat at offset 7
   3065 
   3066 /(?U)a+?+/I
   3067 Failed: nothing to repeat at offset 7
   3068 
   3069 /a{2,3}?+b/IU
   3070 Failed: nothing to repeat at offset 7
   3071 
   3072 /x(?U)a++b/DZ
   3073 ------------------------------------------------------------------
   3074         Bra
   3075         x
   3076         a++
   3077         b
   3078         Ket
   3079         End
   3080 ------------------------------------------------------------------
   3081 Capturing subpattern count = 0
   3082 No options
   3083 First char = 'x'
   3084 Need char = 'b'
   3085     xaaaab
   3086  0: xaaaab
   3087 
   3088 /(?U)xa++b/DZ
   3089 ------------------------------------------------------------------
   3090         Bra
   3091         x
   3092         a++
   3093         b
   3094         Ket
   3095         End
   3096 ------------------------------------------------------------------
   3097 Capturing subpattern count = 0
   3098 Options: ungreedy
   3099 First char = 'x'
   3100 Need char = 'b'
   3101     xaaaab
   3102  0: xaaaab
   3103 
   3104 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
   3105 ------------------------------------------------------------------
   3106         Bra
   3107         ^
   3108         CBra 1
   3109         CBra 2
   3110         a+
   3111         Ket
   3112         CBra 3
   3113         [ab]+?
   3114         Ket
   3115         CBra 4
   3116         [bc]+
   3117         Ket
   3118         CBra 5
   3119         \w*+
   3120         Ket
   3121         Ket
   3122         Ket
   3123         End
   3124 ------------------------------------------------------------------
   3125 Capturing subpattern count = 5
   3126 Options: anchored
   3127 No first char
   3128 No need char
   3129 
   3130 /^x(?U)a+b/DZ
   3131 ------------------------------------------------------------------
   3132         Bra
   3133         ^
   3134         x
   3135         a++
   3136         b
   3137         Ket
   3138         End
   3139 ------------------------------------------------------------------
   3140 Capturing subpattern count = 0
   3141 Options: anchored
   3142 No first char
   3143 Need char = 'b'
   3144 
   3145 /^x(?U)(a+)b/DZ
   3146 ------------------------------------------------------------------
   3147         Bra
   3148         ^
   3149         x
   3150         CBra 1
   3151         a+?
   3152         Ket
   3153         b
   3154         Ket
   3155         End
   3156 ------------------------------------------------------------------
   3157 Capturing subpattern count = 1
   3158 Options: anchored
   3159 No first char
   3160 Need char = 'b'
   3161 
   3162 /[.x.]/I
   3163 Failed: POSIX collating elements are not supported at offset 0
   3164 
   3165 /[=x=]/I
   3166 Failed: POSIX collating elements are not supported at offset 0
   3167 
   3168 /[:x:]/I
   3169 Failed: POSIX named classes are supported only within a class at offset 0
   3170 
   3171 /\l/I
   3172 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3173 
   3174 /\L/I
   3175 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3176 
   3177 /\N{name}/I
   3178 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3179 
   3180 /\u/I
   3181 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3182 
   3183 /\U/I
   3184 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3185 
   3186 /a{1,3}b/U
   3187     ab
   3188  0: ab
   3189 
   3190 /[/I
   3191 Failed: missing terminating ] for character class at offset 1
   3192 
   3193 /[a-/I
   3194 Failed: missing terminating ] for character class at offset 3
   3195 
   3196 /[[:space:]/I
   3197 Failed: missing terminating ] for character class at offset 10
   3198 
   3199 /[\s]/IDZ
   3200 ------------------------------------------------------------------
   3201         Bra
   3202         [\x09-\x0d ]
   3203         Ket
   3204         End
   3205 ------------------------------------------------------------------
   3206 Capturing subpattern count = 0
   3207 No options
   3208 No first char
   3209 No need char
   3210 
   3211 /[[:space:]]/IDZ
   3212 ------------------------------------------------------------------
   3213         Bra
   3214         [\x09-\x0d ]
   3215         Ket
   3216         End
   3217 ------------------------------------------------------------------
   3218 Capturing subpattern count = 0
   3219 No options
   3220 No first char
   3221 No need char
   3222 
   3223 /[[:space:]abcde]/IDZ
   3224 ------------------------------------------------------------------
   3225         Bra
   3226         [\x09-\x0d a-e]
   3227         Ket
   3228         End
   3229 ------------------------------------------------------------------
   3230 Capturing subpattern count = 0
   3231 No options
   3232 No first char
   3233 No need char
   3234 
   3235 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
   3236 Capturing subpattern count = 0
   3237 Options: extended
   3238 First char = '<'
   3239 Need char = '>'
   3240     <>
   3241  0: <>
   3242     <abcd>
   3243  0: <abcd>
   3244     <abc <123> hij>
   3245  0: <abc <123> hij>
   3246     <abc <def> hij>
   3247  0: <def>
   3248     <abc<>def>
   3249  0: <abc<>def>
   3250     <abc<>
   3251  0: <>
   3252     *** Failers
   3253 No match
   3254     <abc
   3255 No match
   3256 
   3257 |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
   3258 ------------------------------------------------------------------
   3259         Bra
   3260         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
   3261         \b
   3262         Ket
   3263         End
   3264 ------------------------------------------------------------------
   3265 Capturing subpattern count = 0
   3266 Max lookbehind = 1
   3267 No options
   3268 First char = '8'
   3269 Need char = 'X'
   3270 
   3271 |\$\<\.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
   3272 ------------------------------------------------------------------
   3273         Bra
   3274         $<.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
   3275         \b
   3276         Ket
   3277         End
   3278 ------------------------------------------------------------------
   3279 Capturing subpattern count = 0
   3280 Max lookbehind = 1
   3281 No options
   3282 First char = '$'
   3283 Need char = 'X'
   3284 
   3285 /(.*)\d+\1/I
   3286 Capturing subpattern count = 1
   3287 Max back reference = 1
   3288 No options
   3289 No first char
   3290 No need char
   3291 
   3292 /(.*)\d+/I
   3293 Capturing subpattern count = 1
   3294 No options
   3295 First char at start or follows newline
   3296 No need char
   3297 
   3298 /(.*)\d+\1/Is
   3299 Capturing subpattern count = 1
   3300 Max back reference = 1
   3301 Options: dotall
   3302 No first char
   3303 No need char
   3304 
   3305 /(.*)\d+/Is
   3306 Capturing subpattern count = 1
   3307 Options: anchored dotall
   3308 No first char
   3309 No need char
   3310 
   3311 /(.*(xyz))\d+\2/I
   3312 Capturing subpattern count = 2
   3313 Max back reference = 2
   3314 No options
   3315 First char at start or follows newline
   3316 Need char = 'z'
   3317 
   3318 /((.*))\d+\1/I
   3319 Capturing subpattern count = 2
   3320 Max back reference = 1
   3321 No options
   3322 No first char
   3323 No need char
   3324     abc123bc
   3325  0: bc123bc
   3326  1: bc
   3327  2: bc
   3328 
   3329 /a[b]/I
   3330 Capturing subpattern count = 0
   3331 No options
   3332 First char = 'a'
   3333 Need char = 'b'
   3334 
   3335 /(?=a).*/I
   3336 Capturing subpattern count = 0
   3337 May match empty string
   3338 No options
   3339 First char = 'a'
   3340 No need char
   3341 
   3342 /(?=abc).xyz/IiI
   3343 Capturing subpattern count = 0
   3344 Options: caseless
   3345 First char = 'a' (caseless)
   3346 Need char = 'z' (caseless)
   3347 
   3348 /(?=abc)(?i).xyz/I
   3349 Capturing subpattern count = 0
   3350 No options
   3351 First char = 'a'
   3352 Need char = 'z' (caseless)
   3353 
   3354 /(?=a)(?=b)/I
   3355 Capturing subpattern count = 0
   3356 May match empty string
   3357 No options
   3358 First char = 'a'
   3359 No need char
   3360 
   3361 /(?=.)a/I
   3362 Capturing subpattern count = 0
   3363 No options
   3364 First char = 'a'
   3365 No need char
   3366 
   3367 /((?=abcda)a)/I
   3368 Capturing subpattern count = 1
   3369 No options
   3370 First char = 'a'
   3371 Need char = 'a'
   3372 
   3373 /((?=abcda)ab)/I
   3374 Capturing subpattern count = 1
   3375 No options
   3376 First char = 'a'
   3377 Need char = 'b'
   3378 
   3379 /()a/I
   3380 Capturing subpattern count = 1
   3381 No options
   3382 No first char
   3383 Need char = 'a'
   3384 
   3385 /(?(1)ab|ac)(.)/I
   3386 Capturing subpattern count = 1
   3387 Max back reference = 1
   3388 No options
   3389 First char = 'a'
   3390 No need char
   3391 
   3392 /(?(1)abz|acz)(.)/I
   3393 Capturing subpattern count = 1
   3394 Max back reference = 1
   3395 No options
   3396 First char = 'a'
   3397 Need char = 'z'
   3398 
   3399 /(?(1)abz)(.)/I
   3400 Capturing subpattern count = 1
   3401 Max back reference = 1
   3402 No options
   3403 No first char
   3404 No need char
   3405 
   3406 /(?(1)abz)(1)23/I
   3407 Capturing subpattern count = 1
   3408 Max back reference = 1
   3409 No options
   3410 No first char
   3411 Need char = '3'
   3412 
   3413 /(a)+/I
   3414 Capturing subpattern count = 1
   3415 No options
   3416 First char = 'a'
   3417 No need char
   3418 
   3419 /(a){2,3}/I
   3420 Capturing subpattern count = 1
   3421 No options
   3422 First char = 'a'
   3423 Need char = 'a'
   3424 
   3425 /(a)*/I
   3426 Capturing subpattern count = 1
   3427 May match empty string
   3428 No options
   3429 No first char
   3430 No need char
   3431 
   3432 /[a]/I
   3433 Capturing subpattern count = 0
   3434 No options
   3435 First char = 'a'
   3436 No need char
   3437 
   3438 /[ab]/I
   3439 Capturing subpattern count = 0
   3440 No options
   3441 No first char
   3442 No need char
   3443 
   3444 /[ab]/IS
   3445 Capturing subpattern count = 0
   3446 No options
   3447 No first char
   3448 No need char
   3449 Subject length lower bound = 1
   3450 Starting chars: a b 
   3451 
   3452 /[^a]/I
   3453 Capturing subpattern count = 0
   3454 No options
   3455 No first char
   3456 No need char
   3457 
   3458 /\d456/I
   3459 Capturing subpattern count = 0
   3460 No options
   3461 No first char
   3462 Need char = '6'
   3463 
   3464 /\d456/IS
   3465 Capturing subpattern count = 0
   3466 No options
   3467 No first char
   3468 Need char = '6'
   3469 Subject length lower bound = 4
   3470 Starting chars: 0 1 2 3 4 5 6 7 8 9 
   3471 
   3472 /a^b/I
   3473 Capturing subpattern count = 0
   3474 No options
   3475 First char = 'a'
   3476 Need char = 'b'
   3477 
   3478 /^a/Im
   3479 Capturing subpattern count = 0
   3480 Options: multiline
   3481 First char at start or follows newline
   3482 Need char = 'a'
   3483   abcde
   3484  0: a
   3485   xy\nabc
   3486  0: a
   3487   *** Failers
   3488 No match
   3489   xyabc
   3490 No match
   3491 
   3492 /c|abc/I
   3493 Capturing subpattern count = 0
   3494 No options
   3495 No first char
   3496 Need char = 'c'
   3497 
   3498 /(?i)[ab]/IS
   3499 Capturing subpattern count = 0
   3500 Options: caseless
   3501 No first char
   3502 No need char
   3503 Subject length lower bound = 1
   3504 Starting chars: A B a b 
   3505 
   3506 /[ab](?i)cd/IS
   3507 Capturing subpattern count = 0
   3508 No options
   3509 No first char
   3510 Need char = 'd' (caseless)
   3511 Subject length lower bound = 3
   3512 Starting chars: a b 
   3513 
   3514 /abc(?C)def/I
   3515 Capturing subpattern count = 0
   3516 No options
   3517 First char = 'a'
   3518 Need char = 'f'
   3519     abcdef
   3520 --->abcdef
   3521   0 ^  ^       d
   3522  0: abcdef
   3523     1234abcdef
   3524 --->1234abcdef
   3525   0     ^  ^       d
   3526  0: abcdef
   3527     *** Failers
   3528 No match
   3529     abcxyz
   3530 No match
   3531     abcxyzf
   3532 --->abcxyzf
   3533   0 ^  ^        d
   3534 No match
   3535 
   3536 /abc(?C)de(?C1)f/I
   3537 Capturing subpattern count = 0
   3538 No options
   3539 First char = 'a'
   3540 Need char = 'f'
   3541     123abcdef
   3542 --->123abcdef
   3543   0    ^  ^       d
   3544   1    ^    ^     f
   3545  0: abcdef
   3546 
   3547 /(?C1)\dabc(?C2)def/IS
   3548 Capturing subpattern count = 0
   3549 No options
   3550 No first char
   3551 Need char = 'f'
   3552 Subject length lower bound = 7
   3553 Starting chars: 0 1 2 3 4 5 6 7 8 9 
   3554     1234abcdef
   3555 --->1234abcdef
   3556   1 ^              \d
   3557   1  ^             \d
   3558   1   ^            \d
   3559   1    ^           \d
   3560   2    ^   ^       d
   3561  0: 4abcdef
   3562     *** Failers
   3563 No match
   3564     abcdef
   3565 No match
   3566 
   3567 /(?C1)\dabc(?C2)def/ISS
   3568 Capturing subpattern count = 0
   3569 No options
   3570 No first char
   3571 Need char = 'f'
   3572     1234abcdef
   3573 --->1234abcdef
   3574   1 ^              \d
   3575   1  ^             \d
   3576   1   ^            \d
   3577   1    ^           \d
   3578   2    ^   ^       d
   3579  0: 4abcdef
   3580     *** Failers
   3581 No match
   3582     abcdef
   3583 --->abcdef
   3584   1 ^          \d
   3585   1  ^         \d
   3586   1   ^        \d
   3587   1    ^       \d
   3588   1     ^      \d
   3589   1      ^     \d
   3590 No match
   3591 
   3592 /(?C255)ab/I
   3593 Capturing subpattern count = 0
   3594 No options
   3595 First char = 'a'
   3596 Need char = 'b'
   3597 
   3598 /(?C256)ab/I
   3599 Failed: number after (?C is > 255 at offset 6
   3600 
   3601 /(?Cab)xx/I
   3602 Failed: closing ) for (?C expected at offset 3
   3603 
   3604 /(?C12vr)x/I
   3605 Failed: closing ) for (?C expected at offset 5
   3606 
   3607 /abc(?C)def/I
   3608 Capturing subpattern count = 0
   3609 No options
   3610 First char = 'a'
   3611 Need char = 'f'
   3612     *** Failers
   3613 No match
   3614     \x83\x0\x61bcdef
   3615 --->\x83\x00abcdef
   3616   0         ^  ^       d
   3617  0: abcdef
   3618 
   3619 /(abc)(?C)de(?C1)f/I
   3620 Capturing subpattern count = 1
   3621 No options
   3622 First char = 'a'
   3623 Need char = 'f'
   3624     123abcdef
   3625 --->123abcdef
   3626   0    ^  ^       d
   3627   1    ^    ^     f
   3628  0: abcdef
   3629  1: abc
   3630     123abcdef\C+
   3631 Callout 0: last capture = 1
   3632  0: <unset>
   3633  1: abc
   3634 --->123abcdef
   3635        ^  ^       d
   3636 Callout 1: last capture = 1
   3637  0: <unset>
   3638  1: abc
   3639 --->123abcdef
   3640        ^    ^     f
   3641  0: abcdef
   3642  1: abc
   3643     123abcdef\C-
   3644  0: abcdef
   3645  1: abc
   3646     *** Failers
   3647 No match
   3648     123abcdef\C!1
   3649 --->123abcdef
   3650   0    ^  ^       d
   3651   1    ^    ^     f
   3652 No match
   3653 
   3654 /(?C0)(abc(?C1))*/I
   3655 Capturing subpattern count = 1
   3656 May match empty string
   3657 No options
   3658 No first char
   3659 No need char
   3660     abcabcabc
   3661 --->abcabcabc
   3662   0 ^             (abc(?C1))*
   3663   1 ^  ^          )
   3664   1 ^     ^       )
   3665   1 ^        ^    )
   3666  0: abcabcabc
   3667  1: abc
   3668     abcabc\C!1!3
   3669 --->abcabc
   3670   0 ^          (abc(?C1))*
   3671   1 ^  ^       )
   3672   1 ^     ^    )
   3673  0: abcabc
   3674  1: abc
   3675     *** Failers
   3676 --->*** Failers
   3677   0 ^               (abc(?C1))*
   3678  0: 
   3679     abcabcabc\C!1!3
   3680 --->abcabcabc
   3681   0 ^             (abc(?C1))*
   3682   1 ^  ^          )
   3683   1 ^     ^       )
   3684   1 ^        ^    )
   3685  0: abcabc
   3686  1: abc
   3687 
   3688 /(\d{3}(?C))*/I
   3689 Capturing subpattern count = 1
   3690 May match empty string
   3691 No options
   3692 No first char
   3693 No need char
   3694     123\C+
   3695 Callout 0: last capture = -1
   3696  0: <unset>
   3697 --->123
   3698     ^  ^    )
   3699  0: 123
   3700  1: 123
   3701     123456\C+
   3702 Callout 0: last capture = -1
   3703  0: <unset>
   3704 --->123456
   3705     ^  ^       )
   3706 Callout 0: last capture = 1
   3707  0: <unset>
   3708  1: 123
   3709 --->123456
   3710     ^     ^    )
   3711  0: 123456
   3712  1: 456
   3713     123456789\C+
   3714 Callout 0: last capture = -1
   3715  0: <unset>
   3716 --->123456789
   3717     ^  ^          )
   3718 Callout 0: last capture = 1
   3719  0: <unset>
   3720  1: 123
   3721 --->123456789
   3722     ^     ^       )
   3723 Callout 0: last capture = 1
   3724  0: <unset>
   3725  1: 456
   3726 --->123456789
   3727     ^        ^    )
   3728  0: 123456789
   3729  1: 789
   3730 
   3731 /((xyz)(?C)p|(?C1)xyzabc)/I
   3732 Capturing subpattern count = 2
   3733 No options
   3734 First char = 'x'
   3735 No need char
   3736     xyzabc\C+
   3737 Callout 0: last capture = 2
   3738  0: <unset>
   3739  1: <unset>
   3740  2: xyz
   3741 --->xyzabc
   3742     ^  ^       p
   3743 Callout 1: last capture = -1
   3744  0: <unset>
   3745 --->xyzabc
   3746     ^          x
   3747  0: xyzabc
   3748  1: xyzabc
   3749 
   3750 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
   3751 Capturing subpattern count = 3
   3752 No options
   3753 First char = 'X'
   3754 Need char = 'x'
   3755     Xxyzabc\C+
   3756 Callout 0: last capture = 3
   3757  0: <unset>
   3758  1: X
   3759  2: <unset>
   3760  3: xyz
   3761 --->Xxyzabc
   3762     ^   ^       p
   3763 Callout 1: last capture = 1
   3764  0: <unset>
   3765  1: X
   3766 --->Xxyzabc
   3767     ^^          x
   3768  0: Xxyzabc
   3769  1: X
   3770  2: xyzabc
   3771 
   3772 /(?=(abc))(?C)abcdef/I
   3773 Capturing subpattern count = 1
   3774 No options
   3775 First char = 'a'
   3776 Need char = 'f'
   3777     abcdef\C+
   3778 Callout 0: last capture = 1
   3779  0: <unset>
   3780  1: abc
   3781 --->abcdef
   3782     ^          a
   3783  0: abcdef
   3784  1: abc
   3785 
   3786 /(?!(abc)(?C1)d)(?C2)abcxyz/I
   3787 Capturing subpattern count = 1
   3788 No options
   3789 First char = 'a'
   3790 Need char = 'z'
   3791     abcxyz\C+
   3792 Callout 1: last capture = 1
   3793  0: <unset>
   3794  1: abc
   3795 --->abcxyz
   3796     ^  ^       d
   3797 Callout 2: last capture = -1
   3798  0: <unset>
   3799 --->abcxyz
   3800     ^          a
   3801  0: abcxyz
   3802 
   3803 /(?<=(abc)(?C))xyz/I
   3804 Capturing subpattern count = 1
   3805 Max lookbehind = 3
   3806 No options
   3807 First char = 'x'
   3808 Need char = 'z'
   3809    abcxyz\C+
   3810 Callout 0: last capture = 1
   3811  0: <unset>
   3812  1: abc
   3813 --->abcxyz
   3814        ^       )
   3815  0: xyz
   3816  1: abc
   3817 
   3818 /a(b+)(c*)(?C1)/I
   3819 Capturing subpattern count = 2
   3820 No options
   3821 First char = 'a'
   3822 Need char = 'b'
   3823     abbbbbccc\C*1
   3824 --->abbbbbccc
   3825   1 ^        ^    
   3826 Callout data = 1
   3827 No match
   3828 
   3829 /a(b+?)(c*?)(?C1)/I
   3830 Capturing subpattern count = 2
   3831 No options
   3832 First char = 'a'
   3833 Need char = 'b'
   3834     abbbbbccc\C*1
   3835 --->abbbbbccc
   3836   1 ^ ^           
   3837 Callout data = 1
   3838   1 ^  ^          
   3839 Callout data = 1
   3840   1 ^   ^         
   3841 Callout data = 1
   3842   1 ^    ^        
   3843 Callout data = 1
   3844   1 ^     ^       
   3845 Callout data = 1
   3846   1 ^      ^      
   3847 Callout data = 1
   3848   1 ^       ^     
   3849 Callout data = 1
   3850   1 ^        ^    
   3851 Callout data = 1
   3852 No match
   3853 
   3854 /(?C)abc/I
   3855 Capturing subpattern count = 0
   3856 No options
   3857 First char = 'a'
   3858 Need char = 'c'
   3859 
   3860 /(?C)^abc/I
   3861 Capturing subpattern count = 0
   3862 Options: anchored
   3863 No first char
   3864 No need char
   3865 
   3866 /(?C)a|b/IS
   3867 Capturing subpattern count = 0
   3868 No options
   3869 No first char
   3870 No need char
   3871 Subject length lower bound = 1
   3872 Starting chars: a b 
   3873 
   3874 /(?R)/I
   3875 Failed: recursive call could loop indefinitely at offset 3
   3876 
   3877 /(a|(?R))/I
   3878 Failed: recursive call could loop indefinitely at offset 6
   3879 
   3880 /(ab|(bc|(de|(?R))))/I
   3881 Failed: recursive call could loop indefinitely at offset 15
   3882 
   3883 /x(ab|(bc|(de|(?R))))/I
   3884 Capturing subpattern count = 3
   3885 No options
   3886 First char = 'x'
   3887 No need char
   3888     xab
   3889  0: xab
   3890  1: ab
   3891     xbc
   3892  0: xbc
   3893  1: bc
   3894  2: bc
   3895     xde
   3896  0: xde
   3897  1: de
   3898  2: de
   3899  3: de
   3900     xxab
   3901  0: xxab
   3902  1: xab
   3903  2: xab
   3904  3: xab
   3905     xxxab
   3906  0: xxxab
   3907  1: xxab
   3908  2: xxab
   3909  3: xxab
   3910     *** Failers
   3911 No match
   3912     xyab
   3913 No match
   3914 
   3915 /(ab|(bc|(de|(?1))))/I
   3916 Failed: recursive call could loop indefinitely at offset 15
   3917 
   3918 /x(ab|(bc|(de|(?1)x)x)x)/I
   3919 Failed: recursive call could loop indefinitely at offset 16
   3920 
   3921 /^([^()]|\((?1)*\))*$/I
   3922 Capturing subpattern count = 1
   3923 May match empty string
   3924 Options: anchored
   3925 No first char
   3926 No need char
   3927     abc
   3928  0: abc
   3929  1: c
   3930     a(b)c
   3931  0: a(b)c
   3932  1: c
   3933     a(b(c))d
   3934  0: a(b(c))d
   3935  1: d
   3936     *** Failers)
   3937 No match
   3938     a(b(c)d
   3939 No match
   3940 
   3941 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
   3942 Capturing subpattern count = 1
   3943 Options: anchored
   3944 No first char
   3945 Need char = '<'
   3946    >abc>123<xyz<
   3947  0: >abc>123<xyz<
   3948  1: 3
   3949    >abc>1(2)3<xyz<
   3950  0: >abc>1(2)3<xyz<
   3951  1: 3
   3952    >abc>(1(2)3)<xyz<
   3953  0: >abc>(1(2)3)<xyz<
   3954  1: (1(2)3)
   3955 
   3956 /(a(?1)b)/DZ
   3957 ------------------------------------------------------------------
   3958         Bra
   3959         CBra 1
   3960         a
   3961         Recurse
   3962         b
   3963         Ket
   3964         Ket
   3965         End
   3966 ------------------------------------------------------------------
   3967 Capturing subpattern count = 1
   3968 No options
   3969 First char = 'a'
   3970 Need char = 'b'
   3971 
   3972 /(a(?1)+b)/DZ
   3973 ------------------------------------------------------------------
   3974         Bra
   3975         CBra 1
   3976         a
   3977         Once
   3978         Recurse
   3979         KetRmax
   3980         b
   3981         Ket
   3982         Ket
   3983         End
   3984 ------------------------------------------------------------------
   3985 Capturing subpattern count = 1
   3986 No options
   3987 First char = 'a'
   3988 Need char = 'b'
   3989 
   3990 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
   3991 Capturing subpattern count = 2
   3992 Options: anchored
   3993 No first char
   3994 No need char
   3995     12
   3996  0: 12
   3997  1: 12
   3998     (((2+2)*-3)-7)
   3999  0: (((2+2)*-3)-7)
   4000  1: (((2+2)*-3)-7)
   4001  2: -
   4002     -12
   4003  0: -12
   4004  1: -12
   4005     *** Failers
   4006 No match
   4007     ((2+2)*-3)-7)
   4008 No match
   4009 
   4010 /^(x(y|(?1){2})z)/I
   4011 Capturing subpattern count = 2
   4012 Options: anchored
   4013 No first char
   4014 No need char
   4015     xyz
   4016  0: xyz
   4017  1: xyz
   4018  2: y
   4019     xxyzxyzz
   4020  0: xxyzxyzz
   4021  1: xxyzxyzz
   4022  2: xyzxyz
   4023     *** Failers
   4024 No match
   4025     xxyzz
   4026 No match
   4027     xxyzxyzxyzz
   4028 No match
   4029 
   4030 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
   4031 Capturing subpattern count = 2
   4032 Options: extended
   4033 First char = '<'
   4034 Need char = '>'
   4035     <>
   4036  0: <>
   4037  1: <>
   4038  2: <>
   4039     <abcd>
   4040  0: <abcd>
   4041  1: <abcd>
   4042  2: <abcd>
   4043     <abc <123> hij>
   4044  0: <abc <123> hij>
   4045  1: <abc <123> hij>
   4046  2: <abc <123> hij>
   4047     <abc <def> hij>
   4048  0: <def>
   4049  1: <def>
   4050  2: <def>
   4051     <abc<>def>
   4052  0: <abc<>def>
   4053  1: <abc<>def>
   4054  2: <abc<>def>
   4055     <abc<>
   4056  0: <>
   4057  1: <>
   4058  2: <>
   4059     *** Failers
   4060 No match
   4061     <abc
   4062 No match
   4063 
   4064 /(?1)/I
   4065 Failed: reference to non-existent subpattern at offset 3
   4066 
   4067 /((?2)(abc)/I
   4068 Failed: missing ) at offset 10
   4069 
   4070 /^(abc)def(?1)/I
   4071 Capturing subpattern count = 1
   4072 Options: anchored
   4073 No first char
   4074 No need char
   4075     abcdefabc
   4076  0: abcdefabc
   4077  1: abc
   4078 
   4079 /^(a|b|c)=(?1)+/I
   4080 Capturing subpattern count = 1
   4081 Options: anchored
   4082 No first char
   4083 No need char
   4084     a=a
   4085  0: a=a
   4086  1: a
   4087     a=b
   4088  0: a=b
   4089  1: a
   4090     a=bc
   4091  0: a=bc
   4092  1: a
   4093 
   4094 /^(a|b|c)=((?1))+/I
   4095 Capturing subpattern count = 2
   4096 Options: anchored
   4097 No first char
   4098 No need char
   4099     a=a
   4100  0: a=a
   4101  1: a
   4102  2: a
   4103     a=b
   4104  0: a=b
   4105  1: a
   4106  2: b
   4107     a=bc
   4108  0: a=bc
   4109  1: a
   4110  2: c
   4111 
   4112 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
   4113 ------------------------------------------------------------------
   4114         Bra
   4115         a
   4116         CBra 1
   4117         b
   4118         Alt
   4119         c
   4120         Ket
   4121         d
   4122         CBra 2
   4123         e
   4124         Ket
   4125         Ket
   4126         End
   4127 ------------------------------------------------------------------
   4128 Capturing subpattern count = 2
   4129 Named capturing subpatterns:
   4130   longername2   2
   4131   name1         1
   4132 No options
   4133 First char = 'a'
   4134 Need char = 'e'
   4135     abde
   4136  0: abde
   4137  1: b
   4138  2: e
   4139     acde
   4140  0: acde
   4141  1: c
   4142  2: e
   4143 
   4144 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
   4145 ------------------------------------------------------------------
   4146         Bra
   4147         Bra
   4148         a
   4149         CBra 1
   4150         c
   4151         CBra 2
   4152         d
   4153         Ket
   4154         Ket
   4155         Ket
   4156         CBra 3
   4157         a
   4158         Ket
   4159         Ket
   4160         End
   4161 ------------------------------------------------------------------
   4162 Capturing subpattern count = 3
   4163 Named capturing subpatterns:
   4164   a   3
   4165   c   1
   4166   d   2
   4167 No options
   4168 First char = 'a'
   4169 Need char = 'a'
   4170 
   4171 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
   4172 ------------------------------------------------------------------
   4173         Bra
   4174         CBra 1
   4175         a
   4176         Ket
   4177         Any
   4178         Any
   4179         Any
   4180         \1
   4181         bbb
   4182         Recurse
   4183         d
   4184         Ket
   4185         End
   4186 ------------------------------------------------------------------
   4187 Capturing subpattern count = 1
   4188 Max back reference = 1
   4189 Named capturing subpatterns:
   4190   a   1
   4191 No options
   4192 First char = 'a'
   4193 Need char = 'd'
   4194 
   4195 /^\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
   4196 Capturing subpattern count = 4
   4197 Max back reference = 4
   4198 Named capturing subpatterns:
   4199   four    4
   4200   one     1
   4201   three   3
   4202   two     2
   4203 May match empty string
   4204 Options: anchored caseless
   4205 No first char
   4206 No need char
   4207     1221
   4208  0: 1221
   4209  1: 1221
   4210  2: 1
   4211     Satan, oscillate my metallic sonatas!
   4212  0: Satan, oscillate my metallic sonatas!
   4213  1: <unset>
   4214  2: <unset>
   4215  3: Satan, oscillate my metallic sonatas
   4216  4: S
   4217     A man, a plan, a canal: Panama!
   4218  0: A man, a plan, a canal: Panama!
   4219  1: <unset>
   4220  2: <unset>
   4221  3: A man, a plan, a canal: Panama
   4222  4: A
   4223     Able was I ere I saw Elba.
   4224  0: Able was I ere I saw Elba.
   4225  1: <unset>
   4226  2: <unset>
   4227  3: Able was I ere I saw Elba
   4228  4: A
   4229     *** Failers
   4230 No match
   4231     The quick brown fox
   4232 No match
   4233 
   4234 /((?(R)a|b))\1(?1)?/I
   4235 Capturing subpattern count = 1
   4236 Max back reference = 1
   4237 No options
   4238 No first char
   4239 No need char
   4240   bb
   4241  0: bb
   4242  1: b
   4243   bbaa
   4244  0: bba
   4245  1: b
   4246 
   4247 /(.*)a/Is
   4248 Capturing subpattern count = 1
   4249 Options: anchored dotall
   4250 No first char
   4251 Need char = 'a'
   4252 
   4253 /(.*)a\1/Is
   4254 Capturing subpattern count = 1
   4255 Max back reference = 1
   4256 Options: dotall
   4257 No first char
   4258 Need char = 'a'
   4259 
   4260 /(.*)a(b)\2/Is
   4261 Capturing subpattern count = 2
   4262 Max back reference = 2
   4263 Options: anchored dotall
   4264 No first char
   4265 Need char = 'b'
   4266 
   4267 /((.*)a|(.*)b)z/Is
   4268 Capturing subpattern count = 3
   4269 Options: anchored dotall
   4270 No first char
   4271 Need char = 'z'
   4272 
   4273 /((.*)a|(.*)b)z\1/Is
   4274 Capturing subpattern count = 3
   4275 Max back reference = 1
   4276 Options: dotall
   4277 No first char
   4278 Need char = 'z'
   4279 
   4280 /((.*)a|(.*)b)z\2/Is
   4281 Capturing subpattern count = 3
   4282 Max back reference = 2
   4283 Options: dotall
   4284 No first char
   4285 Need char = 'z'
   4286 
   4287 /((.*)a|(.*)b)z\3/Is
   4288 Capturing subpattern count = 3
   4289 Max back reference = 3
   4290 Options: dotall
   4291 No first char
   4292 Need char = 'z'
   4293 
   4294 /((.*)a|^(.*)b)z\3/Is
   4295 Capturing subpattern count = 3
   4296 Max back reference = 3
   4297 Options: anchored dotall
   4298 No first char
   4299 Need char = 'z'
   4300 
   4301 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
   4302 Capturing subpattern count = 31
   4303 May match empty string
   4304 Options: anchored dotall
   4305 No first char
   4306 No need char
   4307 
   4308 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
   4309 Capturing subpattern count = 31
   4310 Max back reference = 31
   4311 May match empty string
   4312 Options: dotall
   4313 No first char
   4314 No need char
   4315 
   4316 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
   4317 Capturing subpattern count = 32
   4318 Max back reference = 32
   4319 May match empty string
   4320 Options: dotall
   4321 No first char
   4322 No need char
   4323 
   4324 /(a)(bc)/INDZ
   4325 ------------------------------------------------------------------
   4326         Bra
   4327         Bra
   4328         a
   4329         Ket
   4330         Bra
   4331         bc
   4332         Ket
   4333         Ket
   4334         End
   4335 ------------------------------------------------------------------
   4336 Capturing subpattern count = 0
   4337 Options: no_auto_capture
   4338 First char = 'a'
   4339 Need char = 'c'
   4340   abc
   4341  0: abc
   4342 
   4343 /(?P<one>a)(bc)/INDZ
   4344 ------------------------------------------------------------------
   4345         Bra
   4346         CBra 1
   4347         a
   4348         Ket
   4349         Bra
   4350         bc
   4351         Ket
   4352         Ket
   4353         End
   4354 ------------------------------------------------------------------
   4355 Capturing subpattern count = 1
   4356 Named capturing subpatterns:
   4357   one   1
   4358 Options: no_auto_capture
   4359 First char = 'a'
   4360 Need char = 'c'
   4361   abc
   4362  0: abc
   4363  1: a
   4364 
   4365 /(a)(?P<named>bc)/INDZ
   4366 ------------------------------------------------------------------
   4367         Bra
   4368         Bra
   4369         a
   4370         Ket
   4371         CBra 1
   4372         bc
   4373         Ket
   4374         Ket
   4375         End
   4376 ------------------------------------------------------------------
   4377 Capturing subpattern count = 1
   4378 Named capturing subpatterns:
   4379   named   1
   4380 Options: no_auto_capture
   4381 First char = 'a'
   4382 Need char = 'c'
   4383 
   4384 /(a+)*zz/I
   4385 Capturing subpattern count = 1
   4386 No options
   4387 No first char
   4388 Need char = 'z'
   4389   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
   4390 Minimum match() limit = 8
   4391 Minimum match() recursion limit = 6
   4392  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
   4393  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   4394   aaaaaaaaaaaaaz\M
   4395 Minimum match() limit = 32768
   4396 Minimum match() recursion limit = 29
   4397 No match
   4398 
   4399 /(aaa(?C1)bbb|ab)/I
   4400 Capturing subpattern count = 1
   4401 No options
   4402 First char = 'a'
   4403 Need char = 'b'
   4404    aaabbb
   4405 --->aaabbb
   4406   1 ^  ^       b
   4407  0: aaabbb
   4408  1: aaabbb
   4409    aaabbb\C*0
   4410 --->aaabbb
   4411   1 ^  ^       b
   4412  0: aaabbb
   4413  1: aaabbb
   4414    aaabbb\C*1
   4415 --->aaabbb
   4416   1 ^  ^       b
   4417 Callout data = 1
   4418  0: ab
   4419  1: ab
   4420    aaabbb\C*-1
   4421 --->aaabbb
   4422   1 ^  ^       b
   4423 Callout data = -1
   4424 No match
   4425 
   4426 /ab(?P<one>cd)ef(?P<two>gh)/I
   4427 Capturing subpattern count = 2
   4428 Named capturing subpatterns:
   4429   one   1
   4430   two   2
   4431 No options
   4432 First char = 'a'
   4433 Need char = 'h'
   4434     abcdefgh
   4435  0: abcdefgh
   4436  1: cd
   4437  2: gh
   4438     abcdefgh\C1\Gtwo
   4439  0: abcdefgh
   4440  1: cd
   4441  2: gh
   4442  1C cd (2)
   4443   G gh (2) two
   4444     abcdefgh\Cone\Ctwo
   4445  0: abcdefgh
   4446  1: cd
   4447  2: gh
   4448   C cd (2) one
   4449   C gh (2) two
   4450     abcdefgh\Cthree
   4451 no parentheses with name "three"
   4452  0: abcdefgh
   4453  1: cd
   4454  2: gh
   4455 copy substring three failed -7
   4456 
   4457 /(?P<Tes>)(?P<Test>)/DZ
   4458 ------------------------------------------------------------------
   4459         Bra
   4460         CBra 1
   4461         Ket
   4462         CBra 2
   4463         Ket
   4464         Ket
   4465         End
   4466 ------------------------------------------------------------------
   4467 Capturing subpattern count = 2
   4468 Named capturing subpatterns:
   4469   Tes    1
   4470   Test   2
   4471 May match empty string
   4472 No options
   4473 No first char
   4474 No need char
   4475 
   4476 /(?P<Test>)(?P<Tes>)/DZ
   4477 ------------------------------------------------------------------
   4478         Bra
   4479         CBra 1
   4480         Ket
   4481         CBra 2
   4482         Ket
   4483         Ket
   4484         End
   4485 ------------------------------------------------------------------
   4486 Capturing subpattern count = 2
   4487 Named capturing subpatterns:
   4488   Tes    2
   4489   Test   1
   4490 May match empty string
   4491 No options
   4492 No first char
   4493 No need char
   4494 
   4495 /(?P<Z>zz)(?P<A>aa)/I
   4496 Capturing subpattern count = 2
   4497 Named capturing subpatterns:
   4498   A   2
   4499   Z   1
   4500 No options
   4501 First char = 'z'
   4502 Need char = 'a'
   4503     zzaa\CZ
   4504  0: zzaa
   4505  1: zz
   4506  2: aa
   4507   C zz (2) Z
   4508     zzaa\CA
   4509  0: zzaa
   4510  1: zz
   4511  2: aa
   4512   C aa (2) A
   4513 
   4514 /(?P<x>eks)(?P<x>eccs)/I
   4515 Failed: two named subpatterns have the same name at offset 15
   4516 
   4517 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
   4518 Failed: two named subpatterns have the same name at offset 30
   4519 
   4520 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
   4521 Capturing subpattern count = 3
   4522 Named capturing subpatterns:
   4523   elem   2
   4524 No options
   4525 First char = '['
   4526 Need char = ']'
   4527     [10,20,30,5,5,4,4,2,43,23,4234]
   4528  0: [10,20,30,5,5,4,4,2,43,23,4234]
   4529  1: 10,20,30,5,5,4,4,2,43,23,4234
   4530  2: 10
   4531  3: ,4234
   4532     *** Failers
   4533 No match
   4534     []
   4535 No match
   4536 
   4537 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
   4538 Capturing subpattern count = 3
   4539 Named capturing subpatterns:
   4540   elem   2
   4541 No options
   4542 First char = '['
   4543 Need char = ']'
   4544     [10,20,30,5,5,4,4,2,43,23,4234]
   4545  0: [10,20,30,5,5,4,4,2,43,23,4234]
   4546  1: 10,20,30,5,5,4,4,2,43,23,4234
   4547  2: 10
   4548  3: ,4234
   4549     []
   4550  0: []
   4551 
   4552 /(a(b(?2)c))?/DZ
   4553 ------------------------------------------------------------------
   4554         Bra
   4555         Brazero
   4556         CBra 1
   4557         a
   4558         CBra 2
   4559         b
   4560         Recurse
   4561         c
   4562         Ket
   4563         Ket
   4564         Ket
   4565         End
   4566 ------------------------------------------------------------------
   4567 Capturing subpattern count = 2
   4568 May match empty string
   4569 No options
   4570 No first char
   4571 No need char
   4572 
   4573 /(a(b(?2)c))*/DZ
   4574 ------------------------------------------------------------------
   4575         Bra
   4576         Brazero
   4577         CBra 1
   4578         a
   4579         CBra 2
   4580         b
   4581         Recurse
   4582         c
   4583         Ket
   4584         KetRmax
   4585         Ket
   4586         End
   4587 ------------------------------------------------------------------
   4588 Capturing subpattern count = 2
   4589 May match empty string
   4590 No options
   4591 No first char
   4592 No need char
   4593 
   4594 /(a(b(?2)c)){0,2}/DZ
   4595 ------------------------------------------------------------------
   4596         Bra
   4597         Brazero
   4598         Bra
   4599         CBra 1
   4600         a
   4601         CBra 2
   4602         b
   4603         Recurse
   4604         c
   4605         Ket
   4606         Ket
   4607         Brazero
   4608         CBra 1
   4609         a
   4610         CBra 2
   4611         b
   4612         Recurse
   4613         c
   4614         Ket
   4615         Ket
   4616         Ket
   4617         Ket
   4618         End
   4619 ------------------------------------------------------------------
   4620 Capturing subpattern count = 2
   4621 May match empty string
   4622 No options
   4623 No first char
   4624 No need char
   4625 
   4626 /[ab]{1}+/DZ
   4627 ------------------------------------------------------------------
   4628         Bra
   4629         [ab]{1,1}+
   4630         Ket
   4631         End
   4632 ------------------------------------------------------------------
   4633 Capturing subpattern count = 0
   4634 No options
   4635 No first char
   4636 No need char
   4637 
   4638 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
   4639 Capturing subpattern count = 3
   4640 Options: caseless
   4641 No first char
   4642 Need char = 'g' (caseless)
   4643      Baby Bjorn Active Carrier - With free SHIPPING!!
   4644  0: Baby Bjorn Active Carrier - With free SHIPPING!!
   4645  1: Baby Bjorn Active Carrier - With free SHIPPING!!
   4646 
   4647 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
   4648 Capturing subpattern count = 3
   4649 Options: caseless
   4650 No first char
   4651 Need char = 'g' (caseless)
   4652 Subject length lower bound = 8
   4653 No starting char list
   4654      Baby Bjorn Active Carrier - With free SHIPPING!!
   4655  0: Baby Bjorn Active Carrier - With free SHIPPING!!
   4656  1: Baby Bjorn Active Carrier - With free SHIPPING!!
   4657 
   4658 /a*.*b/ISDZ
   4659 ------------------------------------------------------------------
   4660         Bra
   4661         a*
   4662         Any*
   4663         b
   4664         Ket
   4665         End
   4666 ------------------------------------------------------------------
   4667 Capturing subpattern count = 0
   4668 No options
   4669 No first char
   4670 Need char = 'b'
   4671 Subject length lower bound = 1
   4672 No starting char list
   4673 
   4674 /(a|b)*.?c/ISDZ
   4675 ------------------------------------------------------------------
   4676         Bra
   4677         Brazero
   4678         CBra 1
   4679         a
   4680         Alt
   4681         b
   4682         KetRmax
   4683         Any?
   4684         c
   4685         Ket
   4686         End
   4687 ------------------------------------------------------------------
   4688 Capturing subpattern count = 1
   4689 No options
   4690 No first char
   4691 Need char = 'c'
   4692 Subject length lower bound = 1
   4693 No starting char list
   4694 
   4695 /abc(?C255)de(?C)f/DZ
   4696 ------------------------------------------------------------------
   4697         Bra
   4698         abc
   4699         Callout 255 10 1
   4700         de
   4701         Callout 0 16 1
   4702         f
   4703         Ket
   4704         End
   4705 ------------------------------------------------------------------
   4706 Capturing subpattern count = 0
   4707 No options
   4708 First char = 'a'
   4709 Need char = 'f'
   4710 
   4711 /abcde/ICDZ
   4712 ------------------------------------------------------------------
   4713         Bra
   4714         Callout 255 0 1
   4715         a
   4716         Callout 255 1 1
   4717         b
   4718         Callout 255 2 1
   4719         c
   4720         Callout 255 3 1
   4721         d
   4722         Callout 255 4 1
   4723         e
   4724         Callout 255 5 0
   4725         Ket
   4726         End
   4727 ------------------------------------------------------------------
   4728 Capturing subpattern count = 0
   4729 Options:
   4730 First char = 'a'
   4731 Need char = 'e'
   4732   abcde
   4733 --->abcde
   4734  +0 ^         a
   4735  +1 ^^        b
   4736  +2 ^ ^       c
   4737  +3 ^  ^      d
   4738  +4 ^   ^     e
   4739  +5 ^    ^    
   4740  0: abcde
   4741   abcdfe
   4742 --->abcdfe
   4743  +0 ^          a
   4744  +1 ^^         b
   4745  +2 ^ ^        c
   4746  +3 ^  ^       d
   4747  +4 ^   ^      e
   4748 No match
   4749 
   4750 /a*b/ICDZS
   4751 ------------------------------------------------------------------
   4752         Bra
   4753         Callout 255 0 2
   4754         a*+
   4755         Callout 255 2 1
   4756         b
   4757         Callout 255 3 0
   4758         Ket
   4759         End
   4760 ------------------------------------------------------------------
   4761 Capturing subpattern count = 0
   4762 Options:
   4763 No first char
   4764 Need char = 'b'
   4765 Subject length lower bound = 1
   4766 Starting chars: a b 
   4767   ab
   4768 --->ab
   4769  +0 ^      a*
   4770  +2 ^^     b
   4771  +3 ^ ^    
   4772  0: ab
   4773   aaaab
   4774 --->aaaab
   4775  +0 ^         a*
   4776  +2 ^   ^     b
   4777  +3 ^    ^    
   4778  0: aaaab
   4779   aaaacb
   4780 --->aaaacb
   4781  +0 ^          a*
   4782  +2 ^   ^      b
   4783  +0  ^         a*
   4784  +2  ^  ^      b
   4785  +0   ^        a*
   4786  +2   ^ ^      b
   4787  +0    ^       a*
   4788  +2    ^^      b
   4789  +0      ^     a*
   4790  +2      ^     b
   4791  +3      ^^    
   4792  0: b
   4793 
   4794 /a*b/ICDZSS
   4795 ------------------------------------------------------------------
   4796         Bra
   4797         Callout 255 0 2
   4798         a*+
   4799         Callout 255 2 1
   4800         b
   4801         Callout 255 3 0
   4802         Ket
   4803         End
   4804 ------------------------------------------------------------------
   4805 Capturing subpattern count = 0
   4806 Options:
   4807 No first char
   4808 Need char = 'b'
   4809   ab
   4810 --->ab
   4811  +0 ^      a*
   4812  +2 ^^     b
   4813  +3 ^ ^    
   4814  0: ab
   4815   aaaab
   4816 --->aaaab
   4817  +0 ^         a*
   4818  +2 ^   ^     b
   4819  +3 ^    ^    
   4820  0: aaaab
   4821   aaaacb
   4822 --->aaaacb
   4823  +0 ^          a*
   4824  +2 ^   ^      b
   4825  +0  ^         a*
   4826  +2  ^  ^      b
   4827  +0   ^        a*
   4828  +2   ^ ^      b
   4829  +0    ^       a*
   4830  +2    ^^      b
   4831  +0     ^      a*
   4832  +2     ^      b
   4833  +0      ^     a*
   4834  +2      ^     b
   4835  +3      ^^    
   4836  0: b
   4837 
   4838 /a+b/ICDZ
   4839 ------------------------------------------------------------------
   4840         Bra
   4841         Callout 255 0 2
   4842         a++
   4843         Callout 255 2 1
   4844         b
   4845         Callout 255 3 0
   4846         Ket
   4847         End
   4848 ------------------------------------------------------------------
   4849 Capturing subpattern count = 0
   4850 Options:
   4851 First char = 'a'
   4852 Need char = 'b'
   4853   ab
   4854 --->ab
   4855  +0 ^      a+
   4856  +2 ^^     b
   4857  +3 ^ ^    
   4858  0: ab
   4859   aaaab
   4860 --->aaaab
   4861  +0 ^         a+
   4862  +2 ^   ^     b
   4863  +3 ^    ^    
   4864  0: aaaab
   4865   aaaacb
   4866 --->aaaacb
   4867  +0 ^          a+
   4868  +2 ^   ^      b
   4869  +0  ^         a+
   4870  +2  ^  ^      b
   4871  +0   ^        a+
   4872  +2   ^ ^      b
   4873  +0    ^       a+
   4874  +2    ^^      b
   4875 No match
   4876 
   4877 /(abc|def)x/ICDZS
   4878 ------------------------------------------------------------------
   4879         Bra
   4880         Callout 255 0 9
   4881         CBra 1
   4882         Callout 255 1 1
   4883         a
   4884         Callout 255 2 1
   4885         b
   4886         Callout 255 3 1
   4887         c
   4888         Callout 255 4 0
   4889         Alt
   4890         Callout 255 5 1
   4891         d
   4892         Callout 255 6 1
   4893         e
   4894         Callout 255 7 1
   4895         f
   4896         Callout 255 8 0
   4897         Ket
   4898         Callout 255 9 1
   4899         x
   4900         Callout 255 10 0
   4901         Ket
   4902         End
   4903 ------------------------------------------------------------------
   4904 Capturing subpattern count = 1
   4905 Options:
   4906 No first char
   4907 Need char = 'x'
   4908 Subject length lower bound = 4
   4909 Starting chars: a d 
   4910   abcx
   4911 --->abcx
   4912  +0 ^        (abc|def)
   4913  +1 ^        a
   4914  +2 ^^       b
   4915  +3 ^ ^      c
   4916  +4 ^  ^     |
   4917  +9 ^  ^     x
   4918 +10 ^   ^    
   4919  0: abcx
   4920  1: abc
   4921   defx
   4922 --->defx
   4923  +0 ^        (abc|def)
   4924  +1 ^        a
   4925  +5 ^        d
   4926  +6 ^^       e
   4927  +7 ^ ^      f
   4928  +8 ^  ^     )
   4929  +9 ^  ^     x
   4930 +10 ^   ^    
   4931  0: defx
   4932  1: def
   4933   ** Failers 
   4934 No match
   4935   abcdefzx
   4936 --->abcdefzx
   4937  +0 ^            (abc|def)
   4938  +1 ^            a
   4939  +2 ^^           b
   4940  +3 ^ ^          c
   4941  +4 ^  ^         |
   4942  +9 ^  ^         x
   4943  +5 ^            d
   4944  +0    ^         (abc|def)
   4945  +1    ^         a
   4946  +5    ^         d
   4947  +6    ^^        e
   4948  +7    ^ ^       f
   4949  +8    ^  ^      )
   4950  +9    ^  ^      x
   4951 No match
   4952 
   4953 /(abc|def)x/ICDZSS
   4954 ------------------------------------------------------------------
   4955         Bra
   4956         Callout 255 0 9
   4957         CBra 1
   4958         Callout 255 1 1
   4959         a
   4960         Callout 255 2 1
   4961         b
   4962         Callout 255 3 1
   4963         c
   4964         Callout 255 4 0
   4965         Alt
   4966         Callout 255 5 1
   4967         d
   4968         Callout 255 6 1
   4969         e
   4970         Callout 255 7 1
   4971         f
   4972         Callout 255 8 0
   4973         Ket
   4974         Callout 255 9 1
   4975         x
   4976         Callout 255 10 0
   4977         Ket
   4978         End
   4979 ------------------------------------------------------------------
   4980 Capturing subpattern count = 1
   4981 Options:
   4982 No first char
   4983 Need char = 'x'
   4984   abcx
   4985 --->abcx
   4986  +0 ^        (abc|def)
   4987  +1 ^        a
   4988  +2 ^^       b
   4989  +3 ^ ^      c
   4990  +4 ^  ^     |
   4991  +9 ^  ^     x
   4992 +10 ^   ^    
   4993  0: abcx
   4994  1: abc
   4995   defx
   4996 --->defx
   4997  +0 ^        (abc|def)
   4998  +1 ^        a
   4999  +5 ^        d
   5000  +6 ^^       e
   5001  +7 ^ ^      f
   5002  +8 ^  ^     )
   5003  +9 ^  ^     x
   5004 +10 ^   ^    
   5005  0: defx
   5006  1: def
   5007   ** Failers 
   5008 No match
   5009   abcdefzx
   5010 --->abcdefzx
   5011  +0 ^            (abc|def)
   5012  +1 ^            a
   5013  +2 ^^           b
   5014  +3 ^ ^          c
   5015  +4 ^  ^         |
   5016  +9 ^  ^         x
   5017  +5 ^            d
   5018  +0  ^           (abc|def)
   5019  +1  ^           a
   5020  +5  ^           d
   5021  +0   ^          (abc|def)
   5022  +1   ^          a
   5023  +5   ^          d
   5024  +0    ^         (abc|def)
   5025  +1    ^         a
   5026  +5    ^         d
   5027  +6    ^^        e
   5028  +7    ^ ^       f
   5029  +8    ^  ^      )
   5030  +9    ^  ^      x
   5031  +0     ^        (abc|def)
   5032  +1     ^        a
   5033  +5     ^        d
   5034  +0      ^       (abc|def)
   5035  +1      ^       a
   5036  +5      ^       d
   5037  +0       ^      (abc|def)
   5038  +1       ^      a
   5039  +5       ^      d
   5040  +0        ^     (abc|def)
   5041  +1        ^     a
   5042  +5        ^     d
   5043 No match
   5044 
   5045 /(ab|cd){3,4}/IC
   5046 Capturing subpattern count = 1
   5047 Options:
   5048 No first char
   5049 No need char
   5050   ababab
   5051 --->ababab
   5052  +0 ^          (ab|cd){3,4}
   5053  +1 ^          a
   5054  +2 ^^         b
   5055  +3 ^ ^        |
   5056  +1 ^ ^        a
   5057  +2 ^  ^       b
   5058  +3 ^   ^      |
   5059  +1 ^   ^      a
   5060  +2 ^    ^     b
   5061  +3 ^     ^    |
   5062  +1 ^     ^    a
   5063  +4 ^     ^    c
   5064 +12 ^     ^    
   5065  0: ababab
   5066  1: ab
   5067   abcdabcd
   5068 --->abcdabcd
   5069  +0 ^            (ab|cd){3,4}
   5070  +1 ^            a
   5071  +2 ^^           b
   5072  +3 ^ ^          |
   5073  +1 ^ ^          a
   5074  +4 ^ ^          c
   5075  +5 ^  ^         d
   5076  +6 ^   ^        )
   5077  +1 ^   ^        a
   5078  +2 ^    ^       b
   5079  +3 ^     ^      |
   5080  +1 ^     ^      a
   5081  +4 ^     ^      c
   5082  +5 ^      ^     d
   5083  +6 ^       ^    )
   5084 +12 ^       ^    
   5085  0: abcdabcd
   5086  1: cd
   5087   abcdcdcdcdcd
   5088 --->abcdcdcdcdcd
   5089  +0 ^                (ab|cd){3,4}
   5090  +1 ^                a
   5091  +2 ^^               b
   5092  +3 ^ ^              |
   5093  +1 ^ ^              a
   5094  +4 ^ ^              c
   5095  +5 ^  ^             d
   5096  +6 ^   ^            )
   5097  +1 ^   ^            a
   5098  +4 ^   ^            c
   5099  +5 ^    ^           d
   5100  +6 ^     ^          )
   5101  +1 ^     ^          a
   5102  +4 ^     ^          c
   5103  +5 ^      ^         d
   5104  +6 ^       ^        )
   5105 +12 ^       ^        
   5106  0: abcdcdcd
   5107  1: cd
   5108 
   5109 /([ab]{,4}c|xy)/ICDZS
   5110 ------------------------------------------------------------------
   5111         Bra
   5112         Callout 255 0 14
   5113         CBra 1
   5114         Callout 255 1 4
   5115         [ab]
   5116         Callout 255 5 1
   5117         {
   5118         Callout 255 6 1
   5119         ,
   5120         Callout 255 7 1
   5121         4
   5122         Callout 255 8 1
   5123         }
   5124         Callout 255 9 1
   5125         c
   5126         Callout 255 10 0
   5127         Alt
   5128         Callout 255 11 1
   5129         x
   5130         Callout 255 12 1
   5131         y
   5132         Callout 255 13 0
   5133         Ket
   5134         Callout 255 14 0
   5135         Ket
   5136         End
   5137 ------------------------------------------------------------------
   5138 Capturing subpattern count = 1
   5139 Options:
   5140 No first char
   5141 No need char
   5142 Subject length lower bound = 2
   5143 Starting chars: a b x 
   5144     Note: that { does NOT introduce a quantifier
   5145 --->Note: that { does NOT introduce a quantifier
   5146  +0         ^                                        ([ab]{,4}c|xy)
   5147  +1         ^                                        [ab]
   5148  +5         ^^                                       {
   5149 +11         ^                                        x
   5150  +0                                 ^                ([ab]{,4}c|xy)
   5151  +1                                 ^                [ab]
   5152  +5                                 ^^               {
   5153 +11                                 ^                x
   5154  +0                                     ^            ([ab]{,4}c|xy)
   5155  +1                                     ^            [ab]
   5156  +5                                     ^^           {
   5157 +11                                     ^            x
   5158 No match
   5159 
   5160 /([ab]{,4}c|xy)/ICDZSS
   5161 ------------------------------------------------------------------
   5162         Bra
   5163         Callout 255 0 14
   5164         CBra 1
   5165         Callout 255 1 4
   5166         [ab]
   5167         Callout 255 5 1
   5168         {
   5169         Callout 255 6 1
   5170         ,
   5171         Callout 255 7 1
   5172         4
   5173         Callout 255 8 1
   5174         }
   5175         Callout 255 9 1
   5176         c
   5177         Callout 255 10 0
   5178         Alt
   5179         Callout 255 11 1
   5180         x
   5181         Callout 255 12 1
   5182         y
   5183         Callout 255 13 0
   5184         Ket
   5185         Callout 255 14 0
   5186         Ket
   5187         End
   5188 ------------------------------------------------------------------
   5189 Capturing subpattern count = 1
   5190 Options:
   5191 No first char
   5192 No need char
   5193     Note: that { does NOT introduce a quantifier
   5194 --->Note: that { does NOT introduce a quantifier
   5195  +0 ^                                                ([ab]{,4}c|xy)
   5196  +1 ^                                                [ab]
   5197 +11 ^                                                x
   5198  +0  ^                                               ([ab]{,4}c|xy)
   5199  +1  ^                                               [ab]
   5200 +11  ^                                               x
   5201  +0   ^                                              ([ab]{,4}c|xy)
   5202  +1   ^                                              [ab]
   5203 +11   ^                                              x
   5204  +0    ^                                             ([ab]{,4}c|xy)
   5205  +1    ^                                             [ab]
   5206 +11    ^                                             x
   5207  +0     ^                                            ([ab]{,4}c|xy)
   5208  +1     ^                                            [ab]
   5209 +11     ^                                            x
   5210  +0      ^                                           ([ab]{,4}c|xy)
   5211  +1      ^                                           [ab]
   5212 +11      ^                                           x
   5213  +0       ^                                          ([ab]{,4}c|xy)
   5214  +1       ^                                          [ab]
   5215 +11       ^                                          x
   5216  +0        ^                                         ([ab]{,4}c|xy)
   5217  +1        ^                                         [ab]
   5218 +11        ^                                         x
   5219  +0         ^                                        ([ab]{,4}c|xy)
   5220  +1         ^                                        [ab]
   5221  +5         ^^                                       {
   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 +11                 ^                                x
   5247  +0                  ^                               ([ab]{,4}c|xy)
   5248  +1                  ^                               [ab]
   5249 +11                  ^                               x
   5250  +0                   ^                              ([ab]{,4}c|xy)
   5251  +1                   ^                              [ab]
   5252 +11                   ^                              x
   5253  +0                    ^                             ([ab]{,4}c|xy)
   5254  +1                    ^                             [ab]
   5255 +11                    ^                             x
   5256  +0                     ^                            ([ab]{,4}c|xy)
   5257  +1                     ^                            [ab]
   5258 +11                     ^                            x
   5259  +0                      ^                           ([ab]{,4}c|xy)
   5260  +1                      ^                           [ab]
   5261 +11                      ^                           x
   5262  +0                       ^                          ([ab]{,4}c|xy)
   5263  +1                       ^                          [ab]
   5264 +11                       ^                          x
   5265  +0                        ^                         ([ab]{,4}c|xy)
   5266  +1                        ^                         [ab]
   5267 +11                        ^                         x
   5268  +0                         ^                        ([ab]{,4}c|xy)
   5269  +1                         ^                        [ab]
   5270 +11                         ^                        x
   5271  +0                          ^                       ([ab]{,4}c|xy)
   5272  +1                          ^                       [ab]
   5273 +11                          ^                       x
   5274  +0                           ^                      ([ab]{,4}c|xy)
   5275  +1                           ^                      [ab]
   5276 +11                           ^                      x
   5277  +0                            ^                     ([ab]{,4}c|xy)
   5278  +1                            ^                     [ab]
   5279 +11                            ^                     x
   5280  +0                             ^                    ([ab]{,4}c|xy)
   5281  +1                             ^                    [ab]
   5282 +11                             ^                    x
   5283  +0                              ^                   ([ab]{,4}c|xy)
   5284  +1                              ^                   [ab]
   5285 +11                              ^                   x
   5286  +0                               ^                  ([ab]{,4}c|xy)
   5287  +1                               ^                  [ab]
   5288 +11                               ^                  x
   5289  +0                                ^                 ([ab]{,4}c|xy)
   5290  +1                                ^                 [ab]
   5291 +11                                ^                 x
   5292  +0                                 ^                ([ab]{,4}c|xy)
   5293  +1                                 ^                [ab]
   5294  +5                                 ^^               {
   5295 +11                                 ^                x
   5296  +0                                  ^               ([ab]{,4}c|xy)
   5297  +1                                  ^               [ab]
   5298 +11                                  ^               x
   5299  +0                                   ^              ([ab]{,4}c|xy)
   5300  +1                                   ^              [ab]
   5301 +11                                   ^              x
   5302  +0                                    ^             ([ab]{,4}c|xy)
   5303  +1                                    ^             [ab]
   5304 +11                                    ^             x
   5305  +0                                     ^            ([ab]{,4}c|xy)
   5306  +1                                     ^            [ab]
   5307  +5                                     ^^           {
   5308 +11                                     ^            x
   5309  +0                                      ^           ([ab]{,4}c|xy)
   5310  +1                                      ^           [ab]
   5311 +11                                      ^           x
   5312  +0                                       ^          ([ab]{,4}c|xy)
   5313  +1                                       ^          [ab]
   5314 +11                                       ^          x
   5315  +0                                        ^         ([ab]{,4}c|xy)
   5316  +1                                        ^         [ab]
   5317 +11                                        ^         x
   5318  +0                                         ^        ([ab]{,4}c|xy)
   5319  +1                                         ^        [ab]
   5320 +11                                         ^        x
   5321  +0                                          ^       ([ab]{,4}c|xy)
   5322  +1                                          ^       [ab]
   5323 +11                                          ^       x
   5324  +0                                           ^      ([ab]{,4}c|xy)
   5325  +1                                           ^      [ab]
   5326 +11                                           ^      x
   5327  +0                                            ^     ([ab]{,4}c|xy)
   5328  +1                                            ^     [ab]
   5329 +11                                            ^     x
   5330  +0                                             ^    ([ab]{,4}c|xy)
   5331  +1                                             ^    [ab]
   5332 +11                                             ^    x
   5333 No match
   5334 
   5335 /([ab]{1,4}c|xy){4,5}?123/ICDZ
   5336 ------------------------------------------------------------------
   5337         Bra
   5338         Callout 255 0 21
   5339         CBra 1
   5340         Callout 255 1 9
   5341         [ab]{1,4}+
   5342         Callout 255 10 1
   5343         c
   5344         Callout 255 11 0
   5345         Alt
   5346         Callout 255 12 1
   5347         x
   5348         Callout 255 13 1
   5349         y
   5350         Callout 255 14 0
   5351         Ket
   5352         CBra 1
   5353         Callout 255 1 9
   5354         [ab]{1,4}+
   5355         Callout 255 10 1
   5356         c
   5357         Callout 255 11 0
   5358         Alt
   5359         Callout 255 12 1
   5360         x
   5361         Callout 255 13 1
   5362         y
   5363         Callout 255 14 0
   5364         Ket
   5365         CBra 1
   5366         Callout 255 1 9
   5367         [ab]{1,4}+
   5368         Callout 255 10 1
   5369         c
   5370         Callout 255 11 0
   5371         Alt
   5372         Callout 255 12 1
   5373         x
   5374         Callout 255 13 1
   5375         y
   5376         Callout 255 14 0
   5377         Ket
   5378         CBra 1
   5379         Callout 255 1 9
   5380         [ab]{1,4}+
   5381         Callout 255 10 1
   5382         c
   5383         Callout 255 11 0
   5384         Alt
   5385         Callout 255 12 1
   5386         x
   5387         Callout 255 13 1
   5388         y
   5389         Callout 255 14 0
   5390         Ket
   5391         Braminzero
   5392         CBra 1
   5393         Callout 255 1 9
   5394         [ab]{1,4}+
   5395         Callout 255 10 1
   5396         c
   5397         Callout 255 11 0
   5398         Alt
   5399         Callout 255 12 1
   5400         x
   5401         Callout 255 13 1
   5402         y
   5403         Callout 255 14 0
   5404         Ket
   5405         Callout 255 21 1
   5406         1
   5407         Callout 255 22 1
   5408         2
   5409         Callout 255 23 1
   5410         3
   5411         Callout 255 24 0
   5412         Ket
   5413         End
   5414 ------------------------------------------------------------------
   5415 Capturing subpattern count = 1
   5416 Options:
   5417 No first char
   5418 Need char = '3'
   5419     aacaacaacaacaac123
   5420 --->aacaacaacaacaac123
   5421  +0 ^                      ([ab]{1,4}c|xy){4,5}?
   5422  +1 ^                      [ab]{1,4}
   5423 +10 ^ ^                    c
   5424 +11 ^  ^                   |
   5425  +1 ^  ^                   [ab]{1,4}
   5426 +10 ^    ^                 c
   5427 +11 ^     ^                |
   5428  +1 ^     ^                [ab]{1,4}
   5429 +10 ^       ^              c
   5430 +11 ^        ^             |
   5431  +1 ^        ^             [ab]{1,4}
   5432 +10 ^          ^           c
   5433 +11 ^           ^          |
   5434 +21 ^           ^          1
   5435  +1 ^           ^          [ab]{1,4}
   5436 +10 ^             ^        c
   5437 +11 ^              ^       |
   5438 +21 ^              ^       1
   5439 +22 ^               ^      2
   5440 +23 ^                ^     3
   5441 +24 ^                 ^    
   5442  0: aacaacaacaacaac123
   5443  1: aac
   5444 
   5445 /\b.*/I
   5446 Capturing subpattern count = 0
   5447 Max lookbehind = 1
   5448 May match empty string
   5449 No options
   5450 No first char
   5451 No need char
   5452   ab cd\>1
   5453  0:  cd
   5454 
   5455 /\b.*/Is
   5456 Capturing subpattern count = 0
   5457 Max lookbehind = 1
   5458 May match empty string
   5459 Options: dotall
   5460 No first char
   5461 No need char
   5462   ab cd\>1
   5463  0:  cd
   5464 
   5465 /(?!.bcd).*/I
   5466 Capturing subpattern count = 0
   5467 May match empty string
   5468 No options
   5469 No first char
   5470 No need char
   5471   Xbcd12345
   5472  0: bcd12345
   5473 
   5474 /abcde/I
   5475 Capturing subpattern count = 0
   5476 No options
   5477 First char = 'a'
   5478 Need char = 'e'
   5479     ab\P
   5480 Partial match: ab
   5481     abc\P
   5482 Partial match: abc
   5483     abcd\P
   5484 Partial match: abcd
   5485     abcde\P
   5486  0: abcde
   5487     the quick brown abc\P
   5488 Partial match: abc
   5489     ** Failers\P
   5490 No match
   5491     the quick brown abxyz fox\P
   5492 No match
   5493 
   5494 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
   5495 Capturing subpattern count = 3
   5496 Options: anchored
   5497 No first char
   5498 Need char = '/'
   5499     13/05/04\P
   5500  0: 13/05/04
   5501  1: 13
   5502  2: 05
   5503     13/5/2004\P
   5504  0: 13/5/2004
   5505  1: 13
   5506  2: 5
   5507  3: 20
   5508     02/05/09\P
   5509  0: 02/05/09
   5510  1: 02
   5511  2: 05
   5512     1\P
   5513 Partial match: 1
   5514     1/2\P
   5515 Partial match: 1/2
   5516     1/2/0\P
   5517 Partial match: 1/2/0
   5518     1/2/04\P
   5519  0: 1/2/04
   5520  1: 1
   5521  2: 2
   5522     0\P
   5523 Partial match: 0
   5524     02/\P
   5525 Partial match: 02/
   5526     02/0\P
   5527 Partial match: 02/0
   5528     02/1\P
   5529 Partial match: 02/1
   5530     ** Failers\P
   5531 No match
   5532     \P
   5533 No match
   5534     123\P
   5535 No match
   5536     33/4/04\P
   5537 No match
   5538     3/13/04\P
   5539 No match
   5540     0/1/2003\P
   5541 No match
   5542     0/\P
   5543 No match
   5544     02/0/\P
   5545 No match
   5546     02/13\P
   5547 No match
   5548 
   5549 /0{0,2}ABC/I
   5550 Capturing subpattern count = 0
   5551 No options
   5552 No first char
   5553 Need char = 'C'
   5554 
   5555 /\d{3,}ABC/I
   5556 Capturing subpattern count = 0
   5557 No options
   5558 No first char
   5559 Need char = 'C'
   5560 
   5561 /\d*ABC/I
   5562 Capturing subpattern count = 0
   5563 No options
   5564 No first char
   5565 Need char = 'C'
   5566 
   5567 /[abc]+DE/I
   5568 Capturing subpattern count = 0
   5569 No options
   5570 No first char
   5571 Need char = 'E'
   5572 
   5573 /[abc]?123/I
   5574 Capturing subpattern count = 0
   5575 No options
   5576 No first char
   5577 Need char = '3'
   5578     123\P
   5579  0: 123
   5580     a\P
   5581 Partial match: a
   5582     b\P
   5583 Partial match: b
   5584     c\P
   5585 Partial match: c
   5586     c12\P
   5587 Partial match: c12
   5588     c123\P
   5589  0: c123
   5590 
   5591 /^(?:\d){3,5}X/I
   5592 Capturing subpattern count = 0
   5593 Options: anchored
   5594 No first char
   5595 Need char = 'X'
   5596     1\P
   5597 Partial match: 1
   5598     123\P
   5599 Partial match: 123
   5600     123X
   5601  0: 123X
   5602     1234\P
   5603 Partial match: 1234
   5604     1234X
   5605  0: 1234X
   5606     12345\P
   5607 Partial match: 12345
   5608     12345X
   5609  0: 12345X
   5610     *** Failers
   5611 No match
   5612     1X
   5613 No match
   5614     123456\P
   5615 No match
   5616 
   5617 //KF>testsavedregex
   5618 Compiled pattern written to testsavedregex
   5619 Study data written to testsavedregex
   5620 
   5621 /abc/IS>testsavedregex
   5622 Capturing subpattern count = 0
   5623 No options
   5624 First char = 'a'
   5625 Need char = 'c'
   5626 Subject length lower bound = 3
   5627 No starting char list
   5628 Compiled pattern written to testsavedregex
   5629 Study data written to testsavedregex
   5630 <testsavedregex
   5631 Compiled pattern loaded from testsavedregex
   5632 Study data loaded from testsavedregex
   5633     abc
   5634  0: abc
   5635     ** Failers
   5636 No match
   5637     bca
   5638 No match
   5639 
   5640 /abc/ISS>testsavedregex
   5641 Capturing subpattern count = 0
   5642 No options
   5643 First char = 'a'
   5644 Need char = 'c'
   5645 Compiled pattern written to testsavedregex
   5646 <testsavedregex
   5647 Compiled pattern loaded from testsavedregex
   5648 No study data
   5649     abc
   5650  0: abc
   5651     ** Failers
   5652 No match
   5653     bca
   5654 No match
   5655 
   5656 /abc/IFS>testsavedregex
   5657 Capturing subpattern count = 0
   5658 No options
   5659 First char = 'a'
   5660 Need char = 'c'
   5661 Subject length lower bound = 3
   5662 No starting char list
   5663 Compiled pattern written to testsavedregex
   5664 Study data written to testsavedregex
   5665 <testsavedregex
   5666 Compiled pattern (byte-inverted) loaded from testsavedregex
   5667 Study data loaded from testsavedregex
   5668     abc
   5669  0: abc
   5670     ** Failers
   5671 No match
   5672     bca
   5673 No match
   5674 
   5675 /abc/IFSS>testsavedregex
   5676 Capturing subpattern count = 0
   5677 No options
   5678 First char = 'a'
   5679 Need char = 'c'
   5680 Compiled pattern written to testsavedregex
   5681 <testsavedregex
   5682 Compiled pattern (byte-inverted) loaded from testsavedregex
   5683 No study data
   5684     abc
   5685  0: abc
   5686     ** Failers
   5687 No match
   5688     bca
   5689 No match
   5690 
   5691 /(a|b)/IS>testsavedregex
   5692 Capturing subpattern count = 1
   5693 No options
   5694 No first char
   5695 No need char
   5696 Subject length lower bound = 1
   5697 Starting chars: a b 
   5698 Compiled pattern written to testsavedregex
   5699 Study data written to testsavedregex
   5700 <testsavedregex
   5701 Compiled pattern loaded from testsavedregex
   5702 Study data loaded from testsavedregex
   5703     abc
   5704  0: a
   5705  1: a
   5706     ** Failers
   5707  0: a
   5708  1: a
   5709     def
   5710 No match
   5711 
   5712 /(a|b)/ISS>testsavedregex
   5713 Capturing subpattern count = 1
   5714 No options
   5715 No first char
   5716 No need char
   5717 Compiled pattern written to testsavedregex
   5718 <testsavedregex
   5719 Compiled pattern loaded from testsavedregex
   5720 No study data
   5721     abc
   5722  0: a
   5723  1: a
   5724     ** Failers
   5725  0: a
   5726  1: a
   5727     def
   5728 No match
   5729 
   5730 /(a|b)/ISF>testsavedregex
   5731 Capturing subpattern count = 1
   5732 No options
   5733 No first char
   5734 No need char
   5735 Subject length lower bound = 1
   5736 Starting chars: a b 
   5737 Compiled pattern written to testsavedregex
   5738 Study data written to testsavedregex
   5739 <testsavedregex
   5740 Compiled pattern (byte-inverted) loaded from testsavedregex
   5741 Study data loaded from testsavedregex
   5742     abc
   5743  0: a
   5744  1: a
   5745     ** Failers
   5746  0: a
   5747  1: a
   5748     def
   5749 No match
   5750 
   5751 /(a|b)/ISSF>testsavedregex
   5752 Capturing subpattern count = 1
   5753 No options
   5754 No first char
   5755 No need char
   5756 Compiled pattern written to testsavedregex
   5757 <testsavedregex
   5758 Compiled pattern (byte-inverted) loaded from testsavedregex
   5759 No study data
   5760     abc
   5761  0: a
   5762  1: a
   5763     ** Failers
   5764  0: a
   5765  1: a
   5766     def
   5767 No match
   5768 
   5769 ~<(\w+)/?>(.)*</(\1)>~smgI
   5770 Capturing subpattern count = 3
   5771 Max back reference = 1
   5772 Options: multiline dotall
   5773 First char = '<'
   5774 Need char = '>'
   5775     \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>
   5776  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>
   5777  1: seite
   5778  2: \x0a
   5779  3: seite
   5780 
   5781 /^a/IF
   5782 Capturing subpattern count = 0
   5783 Options: anchored
   5784 No first char
   5785 No need char
   5786 
   5787 /line\nbreak/I
   5788 Capturing subpattern count = 0
   5789 Contains explicit CR or LF match
   5790 No options
   5791 First char = 'l'
   5792 Need char = 'k'
   5793     this is a line\nbreak
   5794  0: line\x0abreak
   5795     line one\nthis is a line\nbreak in the second line
   5796  0: line\x0abreak
   5797 
   5798 /line\nbreak/If
   5799 Capturing subpattern count = 0
   5800 Contains explicit CR or LF match
   5801 Options: firstline
   5802 First char = 'l'
   5803 Need char = 'k'
   5804     this is a line\nbreak
   5805  0: line\x0abreak
   5806     ** Failers
   5807 No match
   5808     line one\nthis is a line\nbreak in the second line
   5809 No match
   5810 
   5811 /line\nbreak/Imf
   5812 Capturing subpattern count = 0
   5813 Contains explicit CR or LF match
   5814 Options: multiline firstline
   5815 First char = 'l'
   5816 Need char = 'k'
   5817     this is a line\nbreak
   5818  0: line\x0abreak
   5819     ** Failers
   5820 No match
   5821     line one\nthis is a line\nbreak in the second line
   5822 No match
   5823 
   5824 /(?i)(?-i)AbCd/I
   5825 Capturing subpattern count = 0
   5826 No options
   5827 First char = 'A'
   5828 Need char = 'd'
   5829     AbCd
   5830  0: AbCd
   5831     ** Failers
   5832 No match
   5833     abcd
   5834 No match
   5835 
   5836 /a{11111111111111111111}/I
   5837 Failed: number too big in {} quantifier at offset 8
   5838 
   5839 /(){64294967295}/I
   5840 Failed: number too big in {} quantifier at offset 9
   5841 
   5842 /(){2,4294967295}/I
   5843 Failed: number too big in {} quantifier at offset 11
   5844 
   5845 "(?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
   5846 Capturing subpattern count = 1
   5847 Max back reference = 1
   5848 No options
   5849 First char = 'a' (caseless)
   5850 Need char = 'B'
   5851     abcdefghijklAkB
   5852  0: abcdefghijklAkB
   5853  1: k
   5854 
   5855 "(?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
   5856 Capturing subpattern count = 12
   5857 Max back reference = 11
   5858 Named capturing subpatterns:
   5859   n0    1
   5860   n1    2
   5861   n10  11
   5862   n11  12
   5863   n2    3
   5864   n3    4
   5865   n4    5
   5866   n5    6
   5867   n6    7
   5868   n7    8
   5869   n8    9
   5870   n9   10
   5871 No options
   5872 First char = 'a'
   5873 Need char = 'B'
   5874     abcdefghijklAkB
   5875  0: abcdefghijklAkB
   5876  1: a
   5877  2: b
   5878  3: c
   5879  4: d
   5880  5: e
   5881  6: f
   5882  7: g
   5883  8: h
   5884  9: i
   5885 10: j
   5886 11: k
   5887 12: l
   5888 
   5889 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
   5890 Capturing subpattern count = 12
   5891 Max back reference = 11
   5892 No options
   5893 First char = 'a'
   5894 Need char = 'B'
   5895     abcdefghijklAkB
   5896  0: abcdefghijklAkB
   5897  1: a
   5898  2: b
   5899  3: c
   5900  4: d
   5901  5: e
   5902  6: f
   5903  7: g
   5904  8: h
   5905  9: i
   5906 10: j
   5907 11: k
   5908 12: l
   5909 
   5910 "(?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
   5911 Capturing subpattern count = 101
   5912 Named capturing subpatterns:
   5913   name0     1
   5914   name1     2
   5915   name10   11
   5916   name100 101
   5917   name11   12
   5918   name12   13
   5919   name13   14
   5920   name14   15
   5921   name15   16
   5922   name16   17
   5923   name17   18
   5924   name18   19
   5925   name19   20
   5926   name2     3
   5927   name20   21
   5928   name21   22
   5929   name22   23
   5930   name23   24
   5931   name24   25
   5932   name25   26
   5933   name26   27
   5934   name27   28
   5935   name28   29
   5936   name29   30
   5937   name3     4
   5938   name30   31
   5939   name31   32
   5940   name32   33
   5941   name33   34
   5942   name34   35
   5943   name35   36
   5944   name36   37
   5945   name37   38
   5946   name38   39
   5947   name39   40
   5948   name4     5
   5949   name40   41
   5950   name41   42
   5951   name42   43
   5952   name43   44
   5953   name44   45
   5954   name45   46
   5955   name46   47
   5956   name47   48
   5957   name48   49
   5958   name49   50
   5959   name5     6
   5960   name50   51
   5961   name51   52
   5962   name52   53
   5963   name53   54
   5964   name54   55
   5965   name55   56
   5966   name56   57
   5967   name57   58
   5968   name58   59
   5969   name59   60
   5970   name6     7
   5971   name60   61
   5972   name61   62
   5973   name62   63
   5974   name63   64
   5975   name64   65
   5976   name65   66
   5977   name66   67
   5978   name67   68
   5979   name68   69
   5980   name69   70
   5981   name7     8
   5982   name70   71
   5983   name71   72
   5984   name72   73
   5985   name73   74
   5986   name74   75
   5987   name75   76
   5988   name76   77
   5989   name77   78
   5990   name78   79
   5991   name79   80
   5992   name8     9
   5993   name80   81
   5994   name81   82
   5995   name82   83
   5996   name83   84
   5997   name84   85
   5998   name85   86
   5999   name86   87
   6000   name87   88
   6001   name88   89
   6002   name89   90
   6003   name9    10
   6004   name90   91
   6005   name91   92
   6006   name92   93
   6007   name93   94
   6008   name94   95
   6009   name95   96
   6010   name96   97
   6011   name97   98
   6012   name98   99
   6013   name99  100
   6014 No options
   6015 First char = 'a'
   6016 Need char = 'a'
   6017     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   6018 Matched, but too many substrings
   6019  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   6020  1: a
   6021  2: a
   6022  3: a
   6023  4: a
   6024  5: a
   6025  6: a
   6026  7: a
   6027  8: a
   6028  9: a
   6029 10: a
   6030 11: a
   6031 12: a
   6032 13: a
   6033 14: a
   6034 
   6035 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
   6036 Capturing subpattern count = 101
   6037 No options
   6038 First char = 'a'
   6039 Need char = 'a'
   6040     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   6041 Matched, but too many substrings
   6042  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   6043  1: a
   6044  2: a
   6045  3: a
   6046  4: a
   6047  5: a
   6048  6: a
   6049  7: a
   6050  8: a
   6051  9: a
   6052 10: a
   6053 11: a
   6054 12: a
   6055 13: a
   6056 14: a
   6057 
   6058 /[^()]*(?:\((?R)\)[^()]*)*/I
   6059 Capturing subpattern count = 0
   6060 May match empty string
   6061 No options
   6062 No first char
   6063 No need char
   6064     (this(and)that
   6065  0: 
   6066     (this(and)that)
   6067  0: (this(and)that)
   6068     (this(and)that)stuff
   6069  0: (this(and)that)stuff
   6070 
   6071 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
   6072 Capturing subpattern count = 0
   6073 May match empty string
   6074 No options
   6075 No first char
   6076 No need char
   6077     (this(and)that
   6078  0: 
   6079     (this(and)that)
   6080  0: (this(and)that)
   6081 
   6082 /[^()]*(?:\((?R)\))*[^()]*/I
   6083 Capturing subpattern count = 0
   6084 May match empty string
   6085 No options
   6086 No first char
   6087 No need char
   6088     (this(and)that
   6089  0: 
   6090     (this(and)that)
   6091  0: (this(and)that)
   6092 
   6093 /(?:\((?R)\))*[^()]*/I
   6094 Capturing subpattern count = 0
   6095 May match empty string
   6096 No options
   6097 No first char
   6098 No need char
   6099     (this(and)that
   6100  0: 
   6101     (this(and)that)
   6102  0: 
   6103     ((this))
   6104  0: ((this))
   6105 
   6106 /(?:\((?R)\))|[^()]*/I
   6107 Capturing subpattern count = 0
   6108 May match empty string
   6109 No options
   6110 No first char
   6111 No need char
   6112     (this(and)that
   6113  0: 
   6114     (this(and)that)
   6115  0: 
   6116     (this)
   6117  0: (this)
   6118     ((this))
   6119  0: ((this))
   6120 
   6121 /\x{0000ff}/I
   6122 Capturing subpattern count = 0
   6123 No options
   6124 First char = \xff
   6125 No need char
   6126 
   6127 /^((?P<A>a1)|(?P<A>a2)b)/I
   6128 Failed: two named subpatterns have the same name at offset 17
   6129 
   6130 /^((?P<A>a1)|(?P<A>a2)b)/IJ
   6131 Capturing subpattern count = 3
   6132 Named capturing subpatterns:
   6133   A   2
   6134   A   3
   6135 Options: anchored dupnames
   6136 No first char
   6137 No need char
   6138     a1b\CA
   6139  0: a1
   6140  1: a1
   6141  2: a1
   6142   C a1 (2) A
   6143     a2b\CA
   6144  0: a2b
   6145  1: a2b
   6146  2: <unset>
   6147  3: a2
   6148   C a2 (2) A
   6149     ** Failers
   6150 No match
   6151     a1b\CZ\CA
   6152 no parentheses with name "Z"
   6153  0: a1
   6154  1: a1
   6155  2: a1
   6156 copy substring Z failed -7
   6157   C a1 (2) A
   6158     
   6159 /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
   6160 Capturing subpattern count = 3
   6161 Named capturing subpatterns:
   6162   a   1
   6163   a   3
   6164   b   2
   6165 May match empty string
   6166 Options: dupnames
   6167 No first char
   6168 No need char
   6169 
   6170 /^(?P<A>a)(?P<A>b)/IJ
   6171 Capturing subpattern count = 2
   6172 Named capturing subpatterns:
   6173   A   1
   6174   A   2
   6175 Options: anchored dupnames
   6176 No first char
   6177 No need char
   6178     ab\CA
   6179  0: ab
   6180  1: a
   6181  2: b
   6182   C a (1) A
   6183 
   6184 /^(?P<A>a)(?P<A>b)|cd/IJ
   6185 Capturing subpattern count = 2
   6186 Named capturing subpatterns:
   6187   A   1
   6188   A   2
   6189 Options: dupnames
   6190 No first char
   6191 No need char
   6192     ab\CA
   6193  0: ab
   6194  1: a
   6195  2: b
   6196   C a (1) A
   6197     cd\CA
   6198  0: cd
   6199 copy substring A failed -7
   6200 
   6201 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
   6202 Capturing subpattern count = 4
   6203 Named capturing subpatterns:
   6204   A   1
   6205   A   2
   6206   A   3
   6207   A   4
   6208 Options: dupnames
   6209 No first char
   6210 No need char
   6211     cdefgh\CA
   6212  0: cdefgh
   6213  1: <unset>
   6214  2: <unset>
   6215  3: ef
   6216  4: gh
   6217   C ef (2) A
   6218 
   6219 /^((?P<A>a1)|(?P<A>a2)b)/IJ
   6220 Capturing subpattern count = 3
   6221 Named capturing subpatterns:
   6222   A   2
   6223   A   3
   6224 Options: anchored dupnames
   6225 No first char
   6226 No need char
   6227     a1b\GA
   6228  0: a1
   6229  1: a1
   6230  2: a1
   6231   G a1 (2) A
   6232     a2b\GA
   6233  0: a2b
   6234  1: a2b
   6235  2: <unset>
   6236  3: a2
   6237   G a2 (2) A
   6238     ** Failers
   6239 No match
   6240     a1b\GZ\GA
   6241 no parentheses with name "Z"
   6242  0: a1
   6243  1: a1
   6244  2: a1
   6245 get substring Z failed -7
   6246   G a1 (2) A
   6247 
   6248 /^(?P<A>a)(?P<A>b)/IJ
   6249 Capturing subpattern count = 2
   6250 Named capturing subpatterns:
   6251   A   1
   6252   A   2
   6253 Options: anchored dupnames
   6254 No first char
   6255 No need char
   6256     ab\GA
   6257  0: ab
   6258  1: a
   6259  2: b
   6260   G a (1) A
   6261 
   6262 /^(?P<A>a)(?P<A>b)|cd/IJ
   6263 Capturing subpattern count = 2
   6264 Named capturing subpatterns:
   6265   A   1
   6266   A   2
   6267 Options: dupnames
   6268 No first char
   6269 No need char
   6270     ab\GA
   6271  0: ab
   6272  1: a
   6273  2: b
   6274   G a (1) A
   6275     cd\GA
   6276  0: cd
   6277 get substring A failed -7
   6278 
   6279 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
   6280 Capturing subpattern count = 4
   6281 Named capturing subpatterns:
   6282   A   1
   6283   A   2
   6284   A   3
   6285   A   4
   6286 Options: dupnames
   6287 No first char
   6288 No need char
   6289     cdefgh\GA
   6290  0: cdefgh
   6291  1: <unset>
   6292  2: <unset>
   6293  3: ef
   6294  4: gh
   6295   G ef (2) A
   6296 
   6297 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
   6298 Capturing subpattern count = 3
   6299 Named capturing subpatterns:
   6300   A   2
   6301   A   3
   6302 Options: anchored dupnames
   6303 Duplicate name status changes
   6304 No first char
   6305 No need char
   6306     a1b\CA
   6307  0: a1
   6308  1: a1
   6309  2: a1
   6310   C a1 (2) A
   6311     a2b\CA
   6312  0: a2b
   6313  1: a2b
   6314  2: <unset>
   6315  3: a2
   6316   C a2 (2) A
   6317 
   6318 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
   6319 Failed: two named subpatterns have the same name at offset 37
   6320 
   6321 / In this next test, J is not set at the outer level; consequently it isn't
   6322 set in the pattern's options; consequently pcre_get_named_substring() produces
   6323 a random value. /Ix
   6324 Capturing subpattern count = 1
   6325 Options: extended
   6326 First char = 'I'
   6327 Need char = 'e'
   6328 
   6329 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
   6330 Capturing subpattern count = 4
   6331 Named capturing subpatterns:
   6332   A   1
   6333   B   2
   6334   B   3
   6335   C   4
   6336 Options: anchored
   6337 Duplicate name status changes
   6338 No first char
   6339 No need char
   6340     a bc d\CA\CB\CC
   6341  0: a bc d
   6342  1: a
   6343  2: b
   6344  3: c
   6345  4: d
   6346   C a (1) A
   6347   C b (1) B
   6348   C d (1) C
   6349 
   6350 /^(?P<A>a)?(?(A)a|b)/I
   6351 Capturing subpattern count = 1
   6352 Max back reference = 1
   6353 Named capturing subpatterns:
   6354   A   1
   6355 Options: anchored
   6356 No first char
   6357 No need char
   6358     aabc
   6359  0: aa
   6360  1: a
   6361     bc
   6362  0: b
   6363     ** Failers
   6364 No match
   6365     abc
   6366 No match
   6367 
   6368 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
   6369 Capturing subpattern count = 1
   6370 Max back reference = 1
   6371 Named capturing subpatterns:
   6372   ZZ   1
   6373 No options
   6374 No first char
   6375 Need char = 'X'
   6376     bXaX
   6377  0: bXaX
   6378  1: X
   6379 
   6380 /(?:(?(2y)a|b)(X))+/I
   6381 Failed: malformed number or name after (?( at offset 7
   6382 
   6383 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
   6384 Failed: reference to non-existent subpattern at offset 9
   6385 
   6386 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
   6387 Capturing subpattern count = 1
   6388 Max back reference = 1
   6389 Named capturing subpatterns:
   6390   ZZ   1
   6391 No options
   6392 No first char
   6393 Need char = 'X'
   6394     bbXaaX
   6395  0: bbXaaX
   6396  1: X
   6397 
   6398 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
   6399 Capturing subpattern count = 1
   6400 Max back reference = 1
   6401 Named capturing subpatterns:
   6402   ZZ   1
   6403 No options
   6404 No first char
   6405 Need char = 'X'
   6406     (b)\\Xa\\X
   6407  0: (b)\Xa\X
   6408  1: X
   6409 
   6410 /(?P<ABC/I
   6411 Failed: syntax error in subpattern name (missing terminator) at offset 7
   6412 
   6413 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
   6414 Capturing subpattern count = 1
   6415 Max back reference = 1
   6416 Named capturing subpatterns:
   6417   A   1
   6418 No options
   6419 No first char
   6420 No need char
   6421     bXXaYYaY
   6422  0: bXXaYYaY
   6423  1: Y
   6424     bXYaXXaX
   6425  0: bX
   6426  1: X
   6427 
   6428 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
   6429 Capturing subpattern count = 10
   6430 Max back reference = 10
   6431 Named capturing subpatterns:
   6432   A  10
   6433 No options
   6434 No first char
   6435 No need char
   6436     bXXaYYaY
   6437  0: bXXaYYaY
   6438  1: 
   6439  2: 
   6440  3: 
   6441  4: 
   6442  5: 
   6443  6: 
   6444  7: 
   6445  8: 
   6446  9: 
   6447 10: Y
   6448 
   6449 /\s*,\s*/IS
   6450 Capturing subpattern count = 0
   6451 No options
   6452 No first char
   6453 Need char = ','
   6454 Subject length lower bound = 1
   6455 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 , 
   6456     \x0b,\x0b
   6457  0: \x0b,\x0b
   6458     \x0c,\x0d
   6459  0: \x0c,\x0d
   6460 
   6461 /^abc/Im
   6462 Capturing subpattern count = 0
   6463 Options: multiline
   6464 First char at start or follows newline
   6465 Need char = 'c'
   6466     xyz\nabc
   6467  0: abc
   6468     xyz\nabc\<lf>
   6469  0: abc
   6470     xyz\r\nabc\<lf>
   6471  0: abc
   6472     xyz\rabc\<cr>
   6473  0: abc
   6474     xyz\r\nabc\<crlf>
   6475  0: abc
   6476     ** Failers
   6477 No match
   6478     xyz\nabc\<cr>
   6479 No match
   6480     xyz\r\nabc\<cr>
   6481 No match
   6482     xyz\nabc\<crlf>
   6483 No match
   6484     xyz\rabc\<crlf>
   6485 No match
   6486     xyz\rabc\<lf>
   6487 No match
   6488 
   6489 /abc$/Im<lf>
   6490 Capturing subpattern count = 0
   6491 Options: multiline
   6492 Forced newline sequence: LF
   6493 First char = 'a'
   6494 Need char = 'c'
   6495     xyzabc
   6496  0: abc
   6497     xyzabc\n
   6498  0: abc
   6499     xyzabc\npqr
   6500  0: abc
   6501     xyzabc\r\<cr>
   6502  0: abc
   6503     xyzabc\rpqr\<cr>
   6504  0: abc
   6505     xyzabc\r\n\<crlf>
   6506  0: abc
   6507     xyzabc\r\npqr\<crlf>
   6508  0: abc
   6509     ** Failers
   6510 No match
   6511     xyzabc\r
   6512 No match
   6513     xyzabc\rpqr
   6514 No match
   6515     xyzabc\r\n
   6516 No match
   6517     xyzabc\r\npqr
   6518 No match
   6519 
   6520 /^abc/Im<cr>
   6521 Capturing subpattern count = 0
   6522 Options: multiline
   6523 Forced newline sequence: CR
   6524 First char at start or follows newline
   6525 Need char = 'c'
   6526     xyz\rabcdef
   6527  0: abc
   6528     xyz\nabcdef\<lf>
   6529  0: abc
   6530     ** Failers
   6531 No match
   6532     xyz\nabcdef
   6533 No match
   6534 
   6535 /^abc/Im<lf>
   6536 Capturing subpattern count = 0
   6537 Options: multiline
   6538 Forced newline sequence: LF
   6539 First char at start or follows newline
   6540 Need char = 'c'
   6541     xyz\nabcdef
   6542  0: abc
   6543     xyz\rabcdef\<cr>
   6544  0: abc
   6545     ** Failers
   6546 No match
   6547     xyz\rabcdef
   6548 No match
   6549 
   6550 /^abc/Im<crlf>
   6551 Capturing subpattern count = 0
   6552 Options: multiline
   6553 Forced newline sequence: CRLF
   6554 First char at start or follows newline
   6555 Need char = 'c'
   6556     xyz\r\nabcdef
   6557  0: abc
   6558     xyz\rabcdef\<cr>
   6559  0: abc
   6560     ** Failers
   6561 No match
   6562     xyz\rabcdef
   6563 No match
   6564 
   6565 /^abc/Im<bad>
   6566 Unknown modifier at: <bad>
   6567 
   6568 
   6569 /abc/I
   6570 Capturing subpattern count = 0
   6571 No options
   6572 First char = 'a'
   6573 Need char = 'c'
   6574     xyz\rabc\<bad>
   6575 Unknown escape sequence at: <bad>
   6576     abc
   6577  0: abc
   6578 
   6579 /.*/I<lf>
   6580 Capturing subpattern count = 0
   6581 May match empty string
   6582 Options:
   6583 Forced newline sequence: LF
   6584 First char at start or follows newline
   6585 No need char
   6586     abc\ndef
   6587  0: abc
   6588     abc\rdef
   6589  0: abc\x0ddef
   6590     abc\r\ndef
   6591  0: abc\x0d
   6592     \<cr>abc\ndef
   6593  0: abc\x0adef
   6594     \<cr>abc\rdef
   6595  0: abc
   6596     \<cr>abc\r\ndef
   6597  0: abc
   6598     \<crlf>abc\ndef
   6599  0: abc\x0adef
   6600     \<crlf>abc\rdef
   6601  0: abc\x0ddef
   6602     \<crlf>abc\r\ndef
   6603  0: abc
   6604 
   6605 /\w+(.)(.)?def/Is
   6606 Capturing subpattern count = 2
   6607 Options: dotall
   6608 No first char
   6609 Need char = 'f'
   6610     abc\ndef
   6611  0: abc\x0adef
   6612  1: \x0a
   6613     abc\rdef
   6614  0: abc\x0ddef
   6615  1: \x0d
   6616     abc\r\ndef
   6617  0: abc\x0d\x0adef
   6618  1: \x0d
   6619  2: \x0a
   6620 
   6621 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
   6622 Capturing subpattern count = 1
   6623 May match empty string
   6624 No options
   6625 No first char
   6626 No need char
   6627    /* this is a C style comment */\M
   6628 Minimum match() limit = 120
   6629 Minimum match() recursion limit = 6
   6630  0: /* this is a C style comment */
   6631  1: /* this is a C style comment */
   6632 
   6633 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
   6634 Capturing subpattern count = 1
   6635 Named capturing subpatterns:
   6636   B   1
   6637 No options
   6638 No first char
   6639 Need char = '.'
   6640 
   6641 /()()()()()()()()()()()()()()()()()()()()
   6642  ()()()()()()()()()()()()()()()()()()()()
   6643  ()()()()()()()()()()()()()()()()()()()()
   6644  ()()()()()()()()()()()()()()()()()()()()
   6645  ()()()()()()()()()()()()()()()()()()()()
   6646  (.(.))/Ix
   6647 Capturing subpattern count = 102
   6648 Options: extended
   6649 No first char
   6650 No need char
   6651     XY\O400
   6652  0: XY
   6653  1: 
   6654  2: 
   6655  3: 
   6656  4: 
   6657  5: 
   6658  6: 
   6659  7: 
   6660  8: 
   6661  9: 
   6662 10: 
   6663 11: 
   6664 12: 
   6665 13: 
   6666 14: 
   6667 15: 
   6668 16: 
   6669 17: 
   6670 18: 
   6671 19: 
   6672 20: 
   6673 21: 
   6674 22: 
   6675 23: 
   6676 24: 
   6677 25: 
   6678 26: 
   6679 27: 
   6680 28: 
   6681 29: 
   6682 30: 
   6683 31: 
   6684 32: 
   6685 33: 
   6686 34: 
   6687 35: 
   6688 36: 
   6689 37: 
   6690 38: 
   6691 39: 
   6692 40: 
   6693 41: 
   6694 42: 
   6695 43: 
   6696 44: 
   6697 45: 
   6698 46: 
   6699 47: 
   6700 48: 
   6701 49: 
   6702 50: 
   6703 51: 
   6704 52: 
   6705 53: 
   6706 54: 
   6707 55: 
   6708 56: 
   6709 57: 
   6710 58: 
   6711 59: 
   6712 60: 
   6713 61: 
   6714 62: 
   6715 63: 
   6716 64: 
   6717 65: 
   6718 66: 
   6719 67: 
   6720 68: 
   6721 69: 
   6722 70: 
   6723 71: 
   6724 72: 
   6725 73: 
   6726 74: 
   6727 75: 
   6728 76: 
   6729 77: 
   6730 78: 
   6731 79: 
   6732 80: 
   6733 81: 
   6734 82: 
   6735 83: 
   6736 84: 
   6737 85: 
   6738 86: 
   6739 87: 
   6740 88: 
   6741 89: 
   6742 90: 
   6743 91: 
   6744 92: 
   6745 93: 
   6746 94: 
   6747 95: 
   6748 96: 
   6749 97: 
   6750 98: 
   6751 99: 
   6752 100: 
   6753 101: XY
   6754 102: Y
   6755 
   6756 /(a*b|(?i:c*(?-i)d))/IS
   6757 Capturing subpattern count = 1
   6758 No options
   6759 No first char
   6760 No need char
   6761 Subject length lower bound = 1
   6762 Starting chars: C a b c d 
   6763 
   6764 /()[ab]xyz/IS
   6765 Capturing subpattern count = 1
   6766 No options
   6767 No first char
   6768 Need char = 'z'
   6769 Subject length lower bound = 4
   6770 Starting chars: a b 
   6771 
   6772 /(|)[ab]xyz/IS
   6773 Capturing subpattern count = 1
   6774 No options
   6775 No first char
   6776 Need char = 'z'
   6777 Subject length lower bound = 4
   6778 Starting chars: a b 
   6779 
   6780 /(|c)[ab]xyz/IS
   6781 Capturing subpattern count = 1
   6782 No options
   6783 No first char
   6784 Need char = 'z'
   6785 Subject length lower bound = 4
   6786 Starting chars: a b c 
   6787 
   6788 /(|c?)[ab]xyz/IS
   6789 Capturing subpattern count = 1
   6790 No options
   6791 No first char
   6792 Need char = 'z'
   6793 Subject length lower bound = 4
   6794 Starting chars: a b c 
   6795 
   6796 /(d?|c?)[ab]xyz/IS
   6797 Capturing subpattern count = 1
   6798 No options
   6799 No first char
   6800 Need char = 'z'
   6801 Subject length lower bound = 4
   6802 Starting chars: a b c d 
   6803 
   6804 /(d?|c)[ab]xyz/IS
   6805 Capturing subpattern count = 1
   6806 No options
   6807 No first char
   6808 Need char = 'z'
   6809 Subject length lower bound = 4
   6810 Starting chars: a b c d 
   6811 
   6812 /^a*b\d/DZ
   6813 ------------------------------------------------------------------
   6814         Bra
   6815         ^
   6816         a*+
   6817         b
   6818         \d
   6819         Ket
   6820         End
   6821 ------------------------------------------------------------------
   6822 Capturing subpattern count = 0
   6823 Options: anchored
   6824 No first char
   6825 Need char = 'b'
   6826 
   6827 /^a*+b\d/DZ
   6828 ------------------------------------------------------------------
   6829         Bra
   6830         ^
   6831         a*+
   6832         b
   6833         \d
   6834         Ket
   6835         End
   6836 ------------------------------------------------------------------
   6837 Capturing subpattern count = 0
   6838 Options: anchored
   6839 No first char
   6840 Need char = 'b'
   6841 
   6842 /^a*?b\d/DZ
   6843 ------------------------------------------------------------------
   6844         Bra
   6845         ^
   6846         a*+
   6847         b
   6848         \d
   6849         Ket
   6850         End
   6851 ------------------------------------------------------------------
   6852 Capturing subpattern count = 0
   6853 Options: anchored
   6854 No first char
   6855 Need char = 'b'
   6856 
   6857 /^a+A\d/DZ
   6858 ------------------------------------------------------------------
   6859         Bra
   6860         ^
   6861         a++
   6862         A
   6863         \d
   6864         Ket
   6865         End
   6866 ------------------------------------------------------------------
   6867 Capturing subpattern count = 0
   6868 Options: anchored
   6869 No first char
   6870 Need char = 'A'
   6871     aaaA5
   6872  0: aaaA5
   6873     ** Failers
   6874 No match
   6875     aaaa5
   6876 No match
   6877 
   6878 /^a*A\d/IiDZ
   6879 ------------------------------------------------------------------
   6880         Bra
   6881         ^
   6882      /i a*
   6883      /i A
   6884         \d
   6885         Ket
   6886         End
   6887 ------------------------------------------------------------------
   6888 Capturing subpattern count = 0
   6889 Options: anchored caseless
   6890 No first char
   6891 Need char = 'A' (caseless)
   6892     aaaA5
   6893  0: aaaA5
   6894     aaaa5
   6895  0: aaaa5
   6896 
   6897 /(a*|b*)[cd]/IS
   6898 Capturing subpattern count = 1
   6899 No options
   6900 No first char
   6901 No need char
   6902 Subject length lower bound = 1
   6903 Starting chars: a b c d 
   6904 
   6905 /(a+|b*)[cd]/IS
   6906 Capturing subpattern count = 1
   6907 No options
   6908 No first char
   6909 No need char
   6910 Subject length lower bound = 1
   6911 Starting chars: a b c d 
   6912 
   6913 /(a*|b+)[cd]/IS
   6914 Capturing subpattern count = 1
   6915 No options
   6916 No first char
   6917 No need char
   6918 Subject length lower bound = 1
   6919 Starting chars: a b c d 
   6920 
   6921 /(a+|b+)[cd]/IS
   6922 Capturing subpattern count = 1
   6923 No options
   6924 No first char
   6925 No need char
   6926 Subject length lower bound = 2
   6927 Starting chars: a b 
   6928 
   6929 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
   6930  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
   6931  (((
   6932  a
   6933  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
   6934  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
   6935  )))
   6936 /Ix
   6937 Capturing subpattern count = 203
   6938 Options: extended
   6939 First char = 'a'
   6940 No need char
   6941   large nest
   6942 Matched, but too many substrings
   6943  0: a
   6944  1: a
   6945  2: a
   6946  3: a
   6947  4: a
   6948  5: a
   6949  6: a
   6950  7: a
   6951  8: a
   6952  9: a
   6953 10: a
   6954 11: a
   6955 12: a
   6956 13: a
   6957 14: a
   6958 
   6959 /a*\d/BZ
   6960 ------------------------------------------------------------------
   6961         Bra
   6962         a*+
   6963         \d
   6964         Ket
   6965         End
   6966 ------------------------------------------------------------------
   6967 
   6968 /a*\D/BZ
   6969 ------------------------------------------------------------------
   6970         Bra
   6971         a*
   6972         \D
   6973         Ket
   6974         End
   6975 ------------------------------------------------------------------
   6976 
   6977 /0*\d/BZ
   6978 ------------------------------------------------------------------
   6979         Bra
   6980         0*
   6981         \d
   6982         Ket
   6983         End
   6984 ------------------------------------------------------------------
   6985 
   6986 /0*\D/BZ
   6987 ------------------------------------------------------------------
   6988         Bra
   6989         0*+
   6990         \D
   6991         Ket
   6992         End
   6993 ------------------------------------------------------------------
   6994 
   6995 /a*\s/BZ
   6996 ------------------------------------------------------------------
   6997         Bra
   6998         a*+
   6999         \s
   7000         Ket
   7001         End
   7002 ------------------------------------------------------------------
   7003 
   7004 /a*\S/BZ
   7005 ------------------------------------------------------------------
   7006         Bra
   7007         a*
   7008         \S
   7009         Ket
   7010         End
   7011 ------------------------------------------------------------------
   7012 
   7013 / *\s/BZ
   7014 ------------------------------------------------------------------
   7015         Bra
   7016          *
   7017         \s
   7018         Ket
   7019         End
   7020 ------------------------------------------------------------------
   7021 
   7022 / *\S/BZ
   7023 ------------------------------------------------------------------
   7024         Bra
   7025          *+
   7026         \S
   7027         Ket
   7028         End
   7029 ------------------------------------------------------------------
   7030 
   7031 /a*\w/BZ
   7032 ------------------------------------------------------------------
   7033         Bra
   7034         a*
   7035         \w
   7036         Ket
   7037         End
   7038 ------------------------------------------------------------------
   7039 
   7040 /a*\W/BZ
   7041 ------------------------------------------------------------------
   7042         Bra
   7043         a*+
   7044         \W
   7045         Ket
   7046         End
   7047 ------------------------------------------------------------------
   7048 
   7049 /=*\w/BZ
   7050 ------------------------------------------------------------------
   7051         Bra
   7052         =*+
   7053         \w
   7054         Ket
   7055         End
   7056 ------------------------------------------------------------------
   7057 
   7058 /=*\W/BZ
   7059 ------------------------------------------------------------------
   7060         Bra
   7061         =*
   7062         \W
   7063         Ket
   7064         End
   7065 ------------------------------------------------------------------
   7066 
   7067 /\d*a/BZ
   7068 ------------------------------------------------------------------
   7069         Bra
   7070         \d*+
   7071         a
   7072         Ket
   7073         End
   7074 ------------------------------------------------------------------
   7075 
   7076 /\d*2/BZ
   7077 ------------------------------------------------------------------
   7078         Bra
   7079         \d*
   7080         2
   7081         Ket
   7082         End
   7083 ------------------------------------------------------------------
   7084 
   7085 /\d*\d/BZ
   7086 ------------------------------------------------------------------
   7087         Bra
   7088         \d*
   7089         \d
   7090         Ket
   7091         End
   7092 ------------------------------------------------------------------
   7093 
   7094 /\d*\D/BZ
   7095 ------------------------------------------------------------------
   7096         Bra
   7097         \d*+
   7098         \D
   7099         Ket
   7100         End
   7101 ------------------------------------------------------------------
   7102 
   7103 /\d*\s/BZ
   7104 ------------------------------------------------------------------
   7105         Bra
   7106         \d*+
   7107         \s
   7108         Ket
   7109         End
   7110 ------------------------------------------------------------------
   7111 
   7112 /\d*\S/BZ
   7113 ------------------------------------------------------------------
   7114         Bra
   7115         \d*
   7116         \S
   7117         Ket
   7118         End
   7119 ------------------------------------------------------------------
   7120 
   7121 /\d*\w/BZ
   7122 ------------------------------------------------------------------
   7123         Bra
   7124         \d*
   7125         \w
   7126         Ket
   7127         End
   7128 ------------------------------------------------------------------
   7129 
   7130 /\d*\W/BZ
   7131 ------------------------------------------------------------------
   7132         Bra
   7133         \d*+
   7134         \W
   7135         Ket
   7136         End
   7137 ------------------------------------------------------------------
   7138 
   7139 /\D*a/BZ
   7140 ------------------------------------------------------------------
   7141         Bra
   7142         \D*
   7143         a
   7144         Ket
   7145         End
   7146 ------------------------------------------------------------------
   7147 
   7148 /\D*2/BZ
   7149 ------------------------------------------------------------------
   7150         Bra
   7151         \D*+
   7152         2
   7153         Ket
   7154         End
   7155 ------------------------------------------------------------------
   7156 
   7157 /\D*\d/BZ
   7158 ------------------------------------------------------------------
   7159         Bra
   7160         \D*+
   7161         \d
   7162         Ket
   7163         End
   7164 ------------------------------------------------------------------
   7165 
   7166 /\D*\D/BZ
   7167 ------------------------------------------------------------------
   7168         Bra
   7169         \D*
   7170         \D
   7171         Ket
   7172         End
   7173 ------------------------------------------------------------------
   7174 
   7175 /\D*\s/BZ
   7176 ------------------------------------------------------------------
   7177         Bra
   7178         \D*
   7179         \s
   7180         Ket
   7181         End
   7182 ------------------------------------------------------------------
   7183 
   7184 /\D*\S/BZ
   7185 ------------------------------------------------------------------
   7186         Bra
   7187         \D*
   7188         \S
   7189         Ket
   7190         End
   7191 ------------------------------------------------------------------
   7192 
   7193 /\D*\w/BZ
   7194 ------------------------------------------------------------------
   7195         Bra
   7196         \D*
   7197         \w
   7198         Ket
   7199         End
   7200 ------------------------------------------------------------------
   7201 
   7202 /\D*\W/BZ
   7203 ------------------------------------------------------------------
   7204         Bra
   7205         \D*
   7206         \W
   7207         Ket
   7208         End
   7209 ------------------------------------------------------------------
   7210 
   7211 /\s*a/BZ
   7212 ------------------------------------------------------------------
   7213         Bra
   7214         \s*+
   7215         a
   7216         Ket
   7217         End
   7218 ------------------------------------------------------------------
   7219 
   7220 /\s*2/BZ
   7221 ------------------------------------------------------------------
   7222         Bra
   7223         \s*+
   7224         2
   7225         Ket
   7226         End
   7227 ------------------------------------------------------------------
   7228 
   7229 /\s*\d/BZ
   7230 ------------------------------------------------------------------
   7231         Bra
   7232         \s*+
   7233         \d
   7234         Ket
   7235         End
   7236 ------------------------------------------------------------------
   7237 
   7238 /\s*\D/BZ
   7239 ------------------------------------------------------------------
   7240         Bra
   7241         \s*
   7242         \D
   7243         Ket
   7244         End
   7245 ------------------------------------------------------------------
   7246 
   7247 /\s*\s/BZ
   7248 ------------------------------------------------------------------
   7249         Bra
   7250         \s*
   7251         \s
   7252         Ket
   7253         End
   7254 ------------------------------------------------------------------
   7255 
   7256 /\s*\S/BZ
   7257 ------------------------------------------------------------------
   7258         Bra
   7259         \s*+
   7260         \S
   7261         Ket
   7262         End
   7263 ------------------------------------------------------------------
   7264 
   7265 /\s*\w/BZ
   7266 ------------------------------------------------------------------
   7267         Bra
   7268         \s*+
   7269         \w
   7270         Ket
   7271         End
   7272 ------------------------------------------------------------------
   7273 
   7274 /\s*\W/BZ
   7275 ------------------------------------------------------------------
   7276         Bra
   7277         \s*
   7278         \W
   7279         Ket
   7280         End
   7281 ------------------------------------------------------------------
   7282 
   7283 /\S*a/BZ
   7284 ------------------------------------------------------------------
   7285         Bra
   7286         \S*
   7287         a
   7288         Ket
   7289         End
   7290 ------------------------------------------------------------------
   7291 
   7292 /\S*2/BZ
   7293 ------------------------------------------------------------------
   7294         Bra
   7295         \S*
   7296         2
   7297         Ket
   7298         End
   7299 ------------------------------------------------------------------
   7300 
   7301 /\S*\d/BZ
   7302 ------------------------------------------------------------------
   7303         Bra
   7304         \S*
   7305         \d
   7306         Ket
   7307         End
   7308 ------------------------------------------------------------------
   7309 
   7310 /\S*\D/BZ
   7311 ------------------------------------------------------------------
   7312         Bra
   7313         \S*
   7314         \D
   7315         Ket
   7316         End
   7317 ------------------------------------------------------------------
   7318 
   7319 /\S*\s/BZ
   7320 ------------------------------------------------------------------
   7321         Bra
   7322         \S*+
   7323         \s
   7324         Ket
   7325         End
   7326 ------------------------------------------------------------------
   7327 
   7328 /\S*\S/BZ
   7329 ------------------------------------------------------------------
   7330         Bra
   7331         \S*
   7332         \S
   7333         Ket
   7334         End
   7335 ------------------------------------------------------------------
   7336 
   7337 /\S*\w/BZ
   7338 ------------------------------------------------------------------
   7339         Bra
   7340         \S*
   7341         \w
   7342         Ket
   7343         End
   7344 ------------------------------------------------------------------
   7345 
   7346 /\S*\W/BZ
   7347 ------------------------------------------------------------------
   7348         Bra
   7349         \S*
   7350         \W
   7351         Ket
   7352         End
   7353 ------------------------------------------------------------------
   7354 
   7355 /\w*a/BZ
   7356 ------------------------------------------------------------------
   7357         Bra
   7358         \w*
   7359         a
   7360         Ket
   7361         End
   7362 ------------------------------------------------------------------
   7363 
   7364 /\w*2/BZ
   7365 ------------------------------------------------------------------
   7366         Bra
   7367         \w*
   7368         2
   7369         Ket
   7370         End
   7371 ------------------------------------------------------------------
   7372 
   7373 /\w*\d/BZ
   7374 ------------------------------------------------------------------
   7375         Bra
   7376         \w*
   7377         \d
   7378         Ket
   7379         End
   7380 ------------------------------------------------------------------
   7381 
   7382 /\w*\D/BZ
   7383 ------------------------------------------------------------------
   7384         Bra
   7385         \w*
   7386         \D
   7387         Ket
   7388         End
   7389 ------------------------------------------------------------------
   7390 
   7391 /\w*\s/BZ
   7392 ------------------------------------------------------------------
   7393         Bra
   7394         \w*+
   7395         \s
   7396         Ket
   7397         End
   7398 ------------------------------------------------------------------
   7399 
   7400 /\w*\S/BZ
   7401 ------------------------------------------------------------------
   7402         Bra
   7403         \w*
   7404         \S
   7405         Ket
   7406         End
   7407 ------------------------------------------------------------------
   7408 
   7409 /\w*\w/BZ
   7410 ------------------------------------------------------------------
   7411         Bra
   7412         \w*
   7413         \w
   7414         Ket
   7415         End
   7416 ------------------------------------------------------------------
   7417 
   7418 /\w*\W/BZ
   7419 ------------------------------------------------------------------
   7420         Bra
   7421         \w*+
   7422         \W
   7423         Ket
   7424         End
   7425 ------------------------------------------------------------------
   7426 
   7427 /\W*a/BZ
   7428 ------------------------------------------------------------------
   7429         Bra
   7430         \W*+
   7431         a
   7432         Ket
   7433         End
   7434 ------------------------------------------------------------------
   7435 
   7436 /\W*2/BZ
   7437 ------------------------------------------------------------------
   7438         Bra
   7439         \W*+
   7440         2
   7441         Ket
   7442         End
   7443 ------------------------------------------------------------------
   7444 
   7445 /\W*\d/BZ
   7446 ------------------------------------------------------------------
   7447         Bra
   7448         \W*+
   7449         \d
   7450         Ket
   7451         End
   7452 ------------------------------------------------------------------
   7453 
   7454 /\W*\D/BZ
   7455 ------------------------------------------------------------------
   7456         Bra
   7457         \W*
   7458         \D
   7459         Ket
   7460         End
   7461 ------------------------------------------------------------------
   7462 
   7463 /\W*\s/BZ
   7464 ------------------------------------------------------------------
   7465         Bra
   7466         \W*
   7467         \s
   7468         Ket
   7469         End
   7470 ------------------------------------------------------------------
   7471 
   7472 /\W*\S/BZ
   7473 ------------------------------------------------------------------
   7474         Bra
   7475         \W*
   7476         \S
   7477         Ket
   7478         End
   7479 ------------------------------------------------------------------
   7480 
   7481 /\W*\w/BZ
   7482 ------------------------------------------------------------------
   7483         Bra
   7484         \W*+
   7485         \w
   7486         Ket
   7487         End
   7488 ------------------------------------------------------------------
   7489 
   7490 /\W*\W/BZ
   7491 ------------------------------------------------------------------
   7492         Bra
   7493         \W*
   7494         \W
   7495         Ket
   7496         End
   7497 ------------------------------------------------------------------
   7498 
   7499 /[^a]+a/BZ
   7500 ------------------------------------------------------------------
   7501         Bra
   7502         [^a]++
   7503         a
   7504         Ket
   7505         End
   7506 ------------------------------------------------------------------
   7507 
   7508 /[^a]+a/BZi
   7509 ------------------------------------------------------------------
   7510         Bra
   7511      /i [^a]++
   7512      /i a
   7513         Ket
   7514         End
   7515 ------------------------------------------------------------------
   7516 
   7517 /[^a]+A/BZi
   7518 ------------------------------------------------------------------
   7519         Bra
   7520      /i [^a]++
   7521      /i A
   7522         Ket
   7523         End
   7524 ------------------------------------------------------------------
   7525 
   7526 /[^a]+b/BZ
   7527 ------------------------------------------------------------------
   7528         Bra
   7529         [^a]+
   7530         b
   7531         Ket
   7532         End
   7533 ------------------------------------------------------------------
   7534 
   7535 /[^a]+\d/BZ
   7536 ------------------------------------------------------------------
   7537         Bra
   7538         [^a]+
   7539         \d
   7540         Ket
   7541         End
   7542 ------------------------------------------------------------------
   7543 
   7544 /a*[^a]/BZ
   7545 ------------------------------------------------------------------
   7546         Bra
   7547         a*+
   7548         [^a]
   7549         Ket
   7550         End
   7551 ------------------------------------------------------------------
   7552 
   7553 /(?P<abc>x)(?P<xyz>y)/I
   7554 Capturing subpattern count = 2
   7555 Named capturing subpatterns:
   7556   abc   1
   7557   xyz   2
   7558 No options
   7559 First char = 'x'
   7560 Need char = 'y'
   7561     xy\Cabc\Cxyz
   7562  0: xy
   7563  1: x
   7564  2: y
   7565   C x (1) abc
   7566   C y (1) xyz
   7567 
   7568 /(?<abc>x)(?'xyz'y)/I
   7569 Capturing subpattern count = 2
   7570 Named capturing subpatterns:
   7571   abc   1
   7572   xyz   2
   7573 No options
   7574 First char = 'x'
   7575 Need char = 'y'
   7576     xy\Cabc\Cxyz
   7577  0: xy
   7578  1: x
   7579  2: y
   7580   C x (1) abc
   7581   C y (1) xyz
   7582 
   7583 /(?<abc'x)(?'xyz'y)/I
   7584 Failed: syntax error in subpattern name (missing terminator) at offset 6
   7585 
   7586 /(?<abc>x)(?'xyz>y)/I
   7587 Failed: syntax error in subpattern name (missing terminator) at offset 15
   7588 
   7589 /(?P'abc'x)(?P<xyz>y)/I
   7590 Failed: unrecognized character after (?P at offset 3
   7591 
   7592 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
   7593     bXaX
   7594  0: bXaX
   7595  1: X
   7596     bXbX
   7597  0: bX
   7598  1: X
   7599     ** Failers
   7600 No match
   7601     aXaX
   7602 No match
   7603     aXbX
   7604 No match
   7605 
   7606 /^(?P>abc)(?<abcd>xxx)/
   7607 Failed: reference to non-existent subpattern at offset 8
   7608 
   7609 /^(?P>abc)(?<abc>x|y)/
   7610     xx
   7611  0: xx
   7612  1: x
   7613     xy
   7614  0: xy
   7615  1: y
   7616     yy
   7617  0: yy
   7618  1: y
   7619     yx
   7620  0: yx
   7621  1: x
   7622 
   7623 /^(?P>abc)(?P<abc>x|y)/
   7624     xx
   7625  0: xx
   7626  1: x
   7627     xy
   7628  0: xy
   7629  1: y
   7630     yy
   7631  0: yy
   7632  1: y
   7633     yx
   7634  0: yx
   7635  1: x
   7636 
   7637 /^((?(abc)a|b)(?<abc>x|y))+/
   7638     bxay
   7639  0: bxay
   7640  1: ay
   7641  2: y
   7642     bxby
   7643  0: bx
   7644  1: bx
   7645  2: x
   7646     ** Failers
   7647 No match
   7648     axby
   7649 No match
   7650 
   7651 /^(((?P=abc)|X)(?<abc>x|y))+/
   7652     XxXxxx
   7653  0: XxXxxx
   7654  1: xx
   7655  2: x
   7656  3: x
   7657     XxXyyx
   7658  0: XxXyyx
   7659  1: yx
   7660  2: y
   7661  3: x
   7662     XxXyxx
   7663  0: XxXy
   7664  1: Xy
   7665  2: X
   7666  3: y
   7667     ** Failers
   7668 No match
   7669     x
   7670 No match
   7671 
   7672 /^(?1)(abc)/
   7673     abcabc
   7674  0: abcabc
   7675  1: abc
   7676 
   7677 /^(?:(?:\1|X)(a|b))+/
   7678     Xaaa
   7679  0: Xaaa
   7680  1: a
   7681     Xaba
   7682  0: Xa
   7683  1: a
   7684 
   7685 /^[\E\Qa\E-\Qz\E]+/BZ
   7686 ------------------------------------------------------------------
   7687         Bra
   7688         ^
   7689         [a-z]++
   7690         Ket
   7691         End
   7692 ------------------------------------------------------------------
   7693 
   7694 /^[a\Q]bc\E]/BZ
   7695 ------------------------------------------------------------------
   7696         Bra
   7697         ^
   7698         [\]a-c]
   7699         Ket
   7700         End
   7701 ------------------------------------------------------------------
   7702 
   7703 /^[a-\Q\E]/BZ
   7704 ------------------------------------------------------------------
   7705         Bra
   7706         ^
   7707         [\-a]
   7708         Ket
   7709         End
   7710 ------------------------------------------------------------------
   7711 
   7712 /^(?P>abc)[()](?<abc>)/BZ
   7713 ------------------------------------------------------------------
   7714         Bra
   7715         ^
   7716         Recurse
   7717         [()]
   7718         CBra 1
   7719         Ket
   7720         Ket
   7721         End
   7722 ------------------------------------------------------------------
   7723 
   7724 /^((?(abc)y)[()](?P<abc>x))+/BZ
   7725 ------------------------------------------------------------------
   7726         Bra
   7727         ^
   7728         CBra 1
   7729         Cond
   7730       2 Cond ref
   7731         y
   7732         Ket
   7733         [()]
   7734         CBra 2
   7735         x
   7736         Ket
   7737         KetRmax
   7738         Ket
   7739         End
   7740 ------------------------------------------------------------------
   7741     (xy)x
   7742  0: (xy)x
   7743  1: y)x
   7744  2: x
   7745 
   7746 /^(?P>abc)\Q()\E(?<abc>)/BZ
   7747 ------------------------------------------------------------------
   7748         Bra
   7749         ^
   7750         Recurse
   7751         ()
   7752         CBra 1
   7753         Ket
   7754         Ket
   7755         End
   7756 ------------------------------------------------------------------
   7757 
   7758 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
   7759 ------------------------------------------------------------------
   7760         Bra
   7761         ^
   7762         Recurse
   7763         [(\]a]
   7764         CBra 1
   7765         Ket
   7766         Ket
   7767         End
   7768 ------------------------------------------------------------------
   7769 
   7770 /^(?P>abc) # this is (a comment)
   7771   (?<abc>)/BZx
   7772 ------------------------------------------------------------------
   7773         Bra
   7774         ^
   7775         Recurse
   7776         CBra 1
   7777         Ket
   7778         Ket
   7779         End
   7780 ------------------------------------------------------------------
   7781 
   7782 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
   7783 Capturing subpattern count = 4
   7784 Max back reference = 4
   7785 Named capturing subpatterns:
   7786   four    4
   7787   one     1
   7788   three   3
   7789   two     2
   7790 May match empty string
   7791 Options: anchored caseless
   7792 No first char
   7793 No need char
   7794     1221
   7795  0: 1221
   7796  1: 1221
   7797  2: 1
   7798     Satan, oscillate my metallic sonatas!
   7799  0: Satan, oscillate my metallic sonatas!
   7800  1: <unset>
   7801  2: <unset>
   7802  3: Satan, oscillate my metallic sonatas
   7803  4: S
   7804     A man, a plan, a canal: Panama!
   7805  0: A man, a plan, a canal: Panama!
   7806  1: <unset>
   7807  2: <unset>
   7808  3: A man, a plan, a canal: Panama
   7809  4: A
   7810     Able was I ere I saw Elba.
   7811  0: Able was I ere I saw Elba.
   7812  1: <unset>
   7813  2: <unset>
   7814  3: Able was I ere I saw Elba
   7815  4: A
   7816     *** Failers
   7817 No match
   7818     The quick brown fox
   7819 No match
   7820 
   7821 /(?=(\w+))\1:/I
   7822 Capturing subpattern count = 1
   7823 Max back reference = 1
   7824 No options
   7825 No first char
   7826 Need char = ':'
   7827     abcd:
   7828  0: abcd:
   7829  1: abcd
   7830 
   7831 /(?=(?'abc'\w+))\k<abc>:/I
   7832 Capturing subpattern count = 1
   7833 Max back reference = 1
   7834 Named capturing subpatterns:
   7835   abc   1
   7836 No options
   7837 No first char
   7838 Need char = ':'
   7839     abcd:
   7840  0: abcd:
   7841  1: abcd
   7842 
   7843 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
   7844     adaa
   7845  0: adaa
   7846  1: a
   7847  2: d
   7848     ** Failers
   7849 No match
   7850     addd
   7851 No match
   7852     adbb
   7853 No match
   7854 
   7855 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
   7856     bdaa
   7857  0: bdaa
   7858  1: b
   7859  2: d
   7860     bdab
   7861  0: bdab
   7862  1: b
   7863  2: d
   7864     ** Failers
   7865 No match
   7866     bddd
   7867 No match
   7868 
   7869 /(?(<bc))/
   7870 Failed: malformed number or name after (?( at offset 6
   7871 
   7872 /(?(''))/
   7873 Failed: assertion expected after (?( at offset 4
   7874 
   7875 /(?('R')stuff)/
   7876 Failed: reference to non-existent subpattern at offset 7
   7877 
   7878 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
   7879     abcabc1Xabc2XabcXabcabc
   7880  0: abcabc1Xabc2XabcX
   7881  1: abcabc1Xabc2XabcX
   7882  2: abcabc1Xabc2XabcX
   7883 
   7884 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   7885     abcabc1Xabc2XabcXabcabc
   7886  0: abcabc1Xabc2XabcX
   7887  1: abcabc1Xabc2XabcX
   7888  2: abcabc1Xabc2XabcX
   7889 
   7890 /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   7891 Failed: reference to non-existent subpattern at offset 29
   7892 
   7893 /^(?(DEFINE) abc | xyz ) /x
   7894 Failed: DEFINE group contains more than one branch at offset 22
   7895 
   7896 /(?(DEFINE) abc) xyz/xI
   7897 Capturing subpattern count = 0
   7898 Options: extended
   7899 First char = 'x'
   7900 Need char = 'z'
   7901 
   7902 /(a|)*\d/
   7903   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   7904 No match
   7905   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
   7906 Matched, but too many substrings
   7907 
   7908 /^a.b/<lf>
   7909     a\rb
   7910  0: a\x0db
   7911     a\nb\<cr>
   7912  0: a\x0ab
   7913     a\x85b\<anycrlf> 
   7914  0: a\x85b
   7915     ** Failers
   7916 No match
   7917     a\nb
   7918 No match
   7919     a\nb\<any>
   7920 No match
   7921     a\rb\<cr>
   7922 No match
   7923     a\rb\<any>
   7924 No match
   7925     a\x85b\<any> 
   7926 No match
   7927     a\rb\<anycrlf>
   7928 No match
   7929 
   7930 /^abc./mgx<any>
   7931     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
   7932  0: abc1
   7933  0: abc2
   7934  0: abc3
   7935  0: abc4
   7936  0: abc5
   7937  0: abc6
   7938  0: abc7
   7939 
   7940 /abc.$/mgx<any>
   7941     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
   7942  0: abc1
   7943  0: abc2
   7944  0: abc3
   7945  0: abc4
   7946  0: abc5
   7947  0: abc6
   7948  0: abc9
   7949 
   7950 /a/<cr><any>
   7951 
   7952 /a/<any><crlf>
   7953 Failed: inconsistent NEWLINE options at offset 0
   7954 
   7955 /^a\Rb/<bsr_unicode>
   7956     a\nb
   7957  0: a\x0ab
   7958     a\rb
   7959  0: a\x0db
   7960     a\r\nb
   7961  0: a\x0d\x0ab
   7962     a\x0bb
   7963  0: a\x0bb
   7964     a\x0cb
   7965  0: a\x0cb
   7966     a\x85b
   7967  0: a\x85b
   7968     ** Failers
   7969 No match
   7970     a\n\rb
   7971 No match
   7972 
   7973 /^a\R*b/<bsr_unicode>
   7974     ab
   7975  0: ab
   7976     a\nb
   7977  0: a\x0ab
   7978     a\rb
   7979  0: a\x0db
   7980     a\r\nb
   7981  0: a\x0d\x0ab
   7982     a\x0bb
   7983  0: a\x0bb
   7984     a\x0cb
   7985  0: a\x0cb
   7986     a\x85b
   7987  0: a\x85b
   7988     a\n\rb
   7989  0: a\x0a\x0db
   7990     a\n\r\x85\x0cb
   7991  0: a\x0a\x0d\x85\x0cb
   7992 
   7993 /^a\R+b/<bsr_unicode>
   7994     a\nb
   7995  0: a\x0ab
   7996     a\rb
   7997  0: a\x0db
   7998     a\r\nb
   7999  0: a\x0d\x0ab
   8000     a\x0bb
   8001  0: a\x0bb
   8002     a\x0cb
   8003  0: a\x0cb
   8004     a\x85b
   8005  0: a\x85b
   8006     a\n\rb
   8007  0: a\x0a\x0db
   8008     a\n\r\x85\x0cb
   8009  0: a\x0a\x0d\x85\x0cb
   8010     ** Failers
   8011 No match
   8012     ab
   8013 No match
   8014 
   8015 /^a\R{1,3}b/<bsr_unicode>
   8016     a\nb
   8017  0: a\x0ab
   8018     a\n\rb
   8019  0: a\x0a\x0db
   8020     a\n\r\x85b
   8021  0: a\x0a\x0d\x85b
   8022     a\r\n\r\nb
   8023  0: a\x0d\x0a\x0d\x0ab
   8024     a\r\n\r\n\r\nb
   8025  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
   8026     a\n\r\n\rb
   8027  0: a\x0a\x0d\x0a\x0db
   8028     a\n\n\r\nb
   8029  0: a\x0a\x0a\x0d\x0ab
   8030     ** Failers
   8031 No match
   8032     a\n\n\n\rb
   8033 No match
   8034     a\r
   8035 No match
   8036 
   8037 /^a[\R]b/<bsr_unicode>
   8038     aRb
   8039  0: aRb
   8040     ** Failers
   8041 No match
   8042     a\nb
   8043 No match
   8044 
   8045 /(?&abc)X(?<abc>P)/I
   8046 Capturing subpattern count = 1
   8047 Named capturing subpatterns:
   8048   abc   1
   8049 No options
   8050 No first char
   8051 Need char = 'P'
   8052     abcPXP123
   8053  0: PXP
   8054  1: P
   8055 
   8056 /(?1)X(?<abc>P)/I
   8057 Capturing subpattern count = 1
   8058 Named capturing subpatterns:
   8059   abc   1
   8060 No options
   8061 No first char
   8062 Need char = 'P'
   8063     abcPXP123
   8064  0: PXP
   8065  1: P
   8066 
   8067 /(?:a(?&abc)b)*(?<abc>x)/
   8068     123axbaxbaxbx456
   8069  0: axbaxbaxbx
   8070  1: x
   8071     123axbaxbaxb456
   8072  0: x
   8073  1: x
   8074 
   8075 /(?:a(?&abc)b){1,5}(?<abc>x)/
   8076     123axbaxbaxbx456
   8077  0: axbaxbaxbx
   8078  1: x
   8079 
   8080 /(?:a(?&abc)b){2,5}(?<abc>x)/
   8081     123axbaxbaxbx456
   8082  0: axbaxbaxbx
   8083  1: x
   8084 
   8085 /(?:a(?&abc)b){2,}(?<abc>x)/
   8086     123axbaxbaxbx456
   8087  0: axbaxbaxbx
   8088  1: x
   8089 
   8090 /(abc)(?i:(?1))/
   8091    defabcabcxyz
   8092  0: abcabc
   8093  1: abc
   8094    DEFabcABCXYZ
   8095 No match
   8096 
   8097 /(abc)(?:(?i)(?1))/
   8098    defabcabcxyz
   8099  0: abcabc
   8100  1: abc
   8101    DEFabcABCXYZ
   8102 No match
   8103 
   8104 /^(a)\g-2/
   8105 Failed: reference to non-existent subpattern at offset 7
   8106 
   8107 /^(a)\g/
   8108 Failed: a numbered reference must not be zero at offset 5
   8109 
   8110 /^(a)\g{0}/
   8111 Failed: a numbered reference must not be zero at offset 8
   8112 
   8113 /^(a)\g{3/
   8114 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
   8115 
   8116 /^(a)\g{aa}/
   8117 Failed: reference to non-existent subpattern at offset 9
   8118 
   8119 /^a.b/<lf>
   8120     a\rb
   8121  0: a\x0db
   8122     *** Failers
   8123 No match
   8124     a\nb
   8125 No match
   8126 
   8127 /.+foo/
   8128     afoo
   8129  0: afoo
   8130     ** Failers
   8131 No match
   8132     \r\nfoo
   8133 No match
   8134     \nfoo
   8135 No match
   8136 
   8137 /.+foo/<crlf>
   8138     afoo
   8139  0: afoo
   8140     \nfoo
   8141  0: \x0afoo
   8142     ** Failers
   8143 No match
   8144     \r\nfoo
   8145 No match
   8146 
   8147 /.+foo/<any>
   8148     afoo
   8149  0: afoo
   8150     ** Failers
   8151 No match
   8152     \nfoo
   8153 No match
   8154     \r\nfoo
   8155 No match
   8156 
   8157 /.+foo/s
   8158     afoo
   8159  0: afoo
   8160     \r\nfoo
   8161  0: \x0d\x0afoo
   8162     \nfoo
   8163  0: \x0afoo
   8164     
   8165 /^$/mg<any>
   8166     abc\r\rxyz
   8167  0: 
   8168     abc\n\rxyz  
   8169  0: 
   8170     ** Failers 
   8171 No match
   8172     abc\r\nxyz
   8173 No match
   8174 
   8175 /(?m)^$/<any>g+
   8176     abc\r\n\r\n
   8177  0: 
   8178  0+ \x0d\x0a
   8179 
   8180 /(?m)^$|^\r\n/<any>g+ 
   8181     abc\r\n\r\n
   8182  0: 
   8183  0+ \x0d\x0a
   8184  0: \x0d\x0a
   8185  0+ 
   8186     
   8187 /(?m)$/<any>g+ 
   8188     abc\r\n\r\n
   8189  0: 
   8190  0+ \x0d\x0a\x0d\x0a
   8191  0: 
   8192  0+ \x0d\x0a
   8193  0: 
   8194  0+ 
   8195 
   8196 /abc.$/mgx<anycrlf>
   8197     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
   8198  0: abc1
   8199  0: abc4
   8200  0: abc5
   8201  0: abc9
   8202 
   8203 /^X/m
   8204     XABC
   8205  0: X
   8206     ** Failers 
   8207 No match
   8208     XABC\B
   8209 No match
   8210 
   8211 /(ab|c)(?-1)/BZ
   8212 ------------------------------------------------------------------
   8213         Bra
   8214         CBra 1
   8215         ab
   8216         Alt
   8217         c
   8218         Ket
   8219         Recurse
   8220         Ket
   8221         End
   8222 ------------------------------------------------------------------
   8223     abc
   8224  0: abc
   8225  1: ab
   8226 
   8227 /xy(?+1)(abc)/BZ
   8228 ------------------------------------------------------------------
   8229         Bra
   8230         xy
   8231         Recurse
   8232         CBra 1
   8233         abc
   8234         Ket
   8235         Ket
   8236         End
   8237 ------------------------------------------------------------------
   8238     xyabcabc
   8239  0: xyabcabc
   8240  1: abc
   8241     ** Failers
   8242 No match
   8243     xyabc  
   8244 No match
   8245     
   8246 /x(?-0)y/
   8247 Failed: a numbered reference must not be zero at offset 5
   8248 
   8249 /x(?-1)y/
   8250 Failed: reference to non-existent subpattern at offset 5
   8251 
   8252 /x(?+0)y/ 
   8253 Failed: a numbered reference must not be zero at offset 5
   8254 
   8255 /x(?+1)y/
   8256 Failed: reference to non-existent subpattern at offset 5
   8257 
   8258 /^(abc)?(?(-1)X|Y)/BZ
   8259 ------------------------------------------------------------------
   8260         Bra
   8261         ^
   8262         Brazero
   8263         CBra 1
   8264         abc
   8265         Ket
   8266         Cond
   8267       1 Cond ref
   8268         X
   8269         Alt
   8270         Y
   8271         Ket
   8272         Ket
   8273         End
   8274 ------------------------------------------------------------------
   8275     abcX
   8276  0: abcX
   8277  1: abc
   8278     Y
   8279  0: Y
   8280     ** Failers
   8281 No match
   8282     abcY   
   8283 No match
   8284     
   8285 /^((?(+1)X|Y)(abc))+/BZ 
   8286 ------------------------------------------------------------------
   8287         Bra
   8288         ^
   8289         CBra 1
   8290         Cond
   8291       2 Cond ref
   8292         X
   8293         Alt
   8294         Y
   8295         Ket
   8296         CBra 2
   8297         abc
   8298         Ket
   8299         KetRmax
   8300         Ket
   8301         End
   8302 ------------------------------------------------------------------
   8303     YabcXabc
   8304  0: YabcXabc
   8305  1: Xabc
   8306  2: abc
   8307     YabcXabcXabc
   8308  0: YabcXabcXabc
   8309  1: Xabc
   8310  2: abc
   8311     ** Failers
   8312 No match
   8313     XabcXabc  
   8314 No match
   8315 
   8316 /(?(-1)a)/BZ
   8317 Failed: reference to non-existent subpattern at offset 6
   8318 
   8319 /((?(-1)a))/BZ
   8320 ------------------------------------------------------------------
   8321         Bra
   8322         CBra 1
   8323         Cond
   8324       1 Cond ref
   8325         a
   8326         Ket
   8327         Ket
   8328         Ket
   8329         End
   8330 ------------------------------------------------------------------
   8331 
   8332 /((?(-2)a))/BZ
   8333 Failed: reference to non-existent subpattern at offset 7
   8334 
   8335 /^(?(+1)X|Y)(.)/BZ
   8336 ------------------------------------------------------------------
   8337         Bra
   8338         ^
   8339         Cond
   8340       1 Cond ref
   8341         X
   8342         Alt
   8343         Y
   8344         Ket
   8345         CBra 1
   8346         Any
   8347         Ket
   8348         Ket
   8349         End
   8350 ------------------------------------------------------------------
   8351     Y!
   8352  0: Y!
   8353  1: !
   8354 
   8355 /(?<A>tom|bon)-\k{A}/
   8356     tom-tom
   8357  0: tom-tom
   8358  1: tom
   8359     bon-bon 
   8360  0: bon-bon
   8361  1: bon
   8362     ** Failers
   8363 No match
   8364     tom-bon  
   8365 No match
   8366 
   8367 /\g{A/ 
   8368 Failed: syntax error in subpattern name (missing terminator) at offset 4
   8369 
   8370 /(?|(abc)|(xyz))/BZ
   8371 ------------------------------------------------------------------
   8372         Bra
   8373         Bra
   8374         CBra 1
   8375         abc
   8376         Ket
   8377         Alt
   8378         CBra 1
   8379         xyz
   8380         Ket
   8381         Ket
   8382         Ket
   8383         End
   8384 ------------------------------------------------------------------
   8385    >abc<
   8386  0: abc
   8387  1: abc
   8388    >xyz< 
   8389  0: xyz
   8390  1: xyz
   8391 
   8392 /(x)(?|(abc)|(xyz))(x)/BZ
   8393 ------------------------------------------------------------------
   8394         Bra
   8395         CBra 1
   8396         x
   8397         Ket
   8398         Bra
   8399         CBra 2
   8400         abc
   8401         Ket
   8402         Alt
   8403         CBra 2
   8404         xyz
   8405         Ket
   8406         Ket
   8407         CBra 3
   8408         x
   8409         Ket
   8410         Ket
   8411         End
   8412 ------------------------------------------------------------------
   8413     xabcx
   8414  0: xabcx
   8415  1: x
   8416  2: abc
   8417  3: x
   8418     xxyzx 
   8419  0: xxyzx
   8420  1: x
   8421  2: xyz
   8422  3: x
   8423 
   8424 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
   8425 ------------------------------------------------------------------
   8426         Bra
   8427         CBra 1
   8428         x
   8429         Ket
   8430         Bra
   8431         CBra 2
   8432         abc
   8433         Ket
   8434         CBra 3
   8435         pqr
   8436         Ket
   8437         Alt
   8438         CBra 2
   8439         xyz
   8440         Ket
   8441         Ket
   8442         CBra 4
   8443         x
   8444         Ket
   8445         Ket
   8446         End
   8447 ------------------------------------------------------------------
   8448     xabcpqrx
   8449  0: xabcpqrx
   8450  1: x
   8451  2: abc
   8452  3: pqr
   8453  4: x
   8454     xxyzx 
   8455  0: xxyzx
   8456  1: x
   8457  2: xyz
   8458  3: <unset>
   8459  4: x
   8460 
   8461 /\H++X/BZ
   8462 ------------------------------------------------------------------
   8463         Bra
   8464         \H++
   8465         X
   8466         Ket
   8467         End
   8468 ------------------------------------------------------------------
   8469     ** Failers
   8470 No match
   8471     XXXX
   8472 No match
   8473     
   8474 /\H+\hY/BZ
   8475 ------------------------------------------------------------------
   8476         Bra
   8477         \H++
   8478         \h
   8479         Y
   8480         Ket
   8481         End
   8482 ------------------------------------------------------------------
   8483     XXXX Y 
   8484  0: XXXX Y
   8485 
   8486 /\H+ Y/BZ
   8487 ------------------------------------------------------------------
   8488         Bra
   8489         \H++
   8490          Y
   8491         Ket
   8492         End
   8493 ------------------------------------------------------------------
   8494 
   8495 /\h+A/BZ
   8496 ------------------------------------------------------------------
   8497         Bra
   8498         \h++
   8499         A
   8500         Ket
   8501         End
   8502 ------------------------------------------------------------------
   8503 
   8504 /\v*B/BZ
   8505 ------------------------------------------------------------------
   8506         Bra
   8507         \v*+
   8508         B
   8509         Ket
   8510         End
   8511 ------------------------------------------------------------------
   8512 
   8513 /\V+\x0a/BZ
   8514 ------------------------------------------------------------------
   8515         Bra
   8516         \V++
   8517         \x0a
   8518         Ket
   8519         End
   8520 ------------------------------------------------------------------
   8521 
   8522 /A+\h/BZ
   8523 ------------------------------------------------------------------
   8524         Bra
   8525         A++
   8526         \h
   8527         Ket
   8528         End
   8529 ------------------------------------------------------------------
   8530 
   8531 / *\H/BZ
   8532 ------------------------------------------------------------------
   8533         Bra
   8534          *+
   8535         \H
   8536         Ket
   8537         End
   8538 ------------------------------------------------------------------
   8539 
   8540 /A*\v/BZ
   8541 ------------------------------------------------------------------
   8542         Bra
   8543         A*+
   8544         \v
   8545         Ket
   8546         End
   8547 ------------------------------------------------------------------
   8548 
   8549 /\x0b*\V/BZ
   8550 ------------------------------------------------------------------
   8551         Bra
   8552         \x0b*+
   8553         \V
   8554         Ket
   8555         End
   8556 ------------------------------------------------------------------
   8557 
   8558 /\d+\h/BZ
   8559 ------------------------------------------------------------------
   8560         Bra
   8561         \d++
   8562         \h
   8563         Ket
   8564         End
   8565 ------------------------------------------------------------------
   8566 
   8567 /\d*\v/BZ
   8568 ------------------------------------------------------------------
   8569         Bra
   8570         \d*+
   8571         \v
   8572         Ket
   8573         End
   8574 ------------------------------------------------------------------
   8575 
   8576 /S+\h\S+\v/BZ
   8577 ------------------------------------------------------------------
   8578         Bra
   8579         S++
   8580         \h
   8581         \S++
   8582         \v
   8583         Ket
   8584         End
   8585 ------------------------------------------------------------------
   8586 
   8587 /\w{3,}\h\w+\v/BZ
   8588 ------------------------------------------------------------------
   8589         Bra
   8590         \w{3}
   8591         \w*+
   8592         \h
   8593         \w++
   8594         \v
   8595         Ket
   8596         End
   8597 ------------------------------------------------------------------
   8598 
   8599 /\h+\d\h+\w\h+\S\h+\H/BZ
   8600 ------------------------------------------------------------------
   8601         Bra
   8602         \h++
   8603         \d
   8604         \h++
   8605         \w
   8606         \h++
   8607         \S
   8608         \h++
   8609         \H
   8610         Ket
   8611         End
   8612 ------------------------------------------------------------------
   8613 
   8614 /\v+\d\v+\w\v+\S\v+\V/BZ
   8615 ------------------------------------------------------------------
   8616         Bra
   8617         \v++
   8618         \d
   8619         \v++
   8620         \w
   8621         \v++
   8622         \S
   8623         \v++
   8624         \V
   8625         Ket
   8626         End
   8627 ------------------------------------------------------------------
   8628 
   8629 /\H+\h\H+\d/BZ
   8630 ------------------------------------------------------------------
   8631         Bra
   8632         \H++
   8633         \h
   8634         \H+
   8635         \d
   8636         Ket
   8637         End
   8638 ------------------------------------------------------------------
   8639 
   8640 /\V+\v\V+\w/BZ
   8641 ------------------------------------------------------------------
   8642         Bra
   8643         \V++
   8644         \v
   8645         \V+
   8646         \w
   8647         Ket
   8648         End
   8649 ------------------------------------------------------------------
   8650 
   8651 /\( (?: [^()]* | (?R) )* \)/x
   8652 \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)
   8653  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
   8654 
   8655 /[\E]AAA/
   8656 Failed: missing terminating ] for character class at offset 7
   8657 
   8658 /[\Q\E]AAA/
   8659 Failed: missing terminating ] for character class at offset 9
   8660 
   8661 /[^\E]AAA/
   8662 Failed: missing terminating ] for character class at offset 8
   8663 
   8664 /[^\Q\E]AAA/
   8665 Failed: missing terminating ] for character class at offset 10
   8666 
   8667 /[\E^]AAA/
   8668 Failed: missing terminating ] for character class at offset 8
   8669 
   8670 /[\Q\E^]AAA/
   8671 Failed: missing terminating ] for character class at offset 10
   8672 
   8673 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
   8674 ------------------------------------------------------------------
   8675         Bra
   8676         A
   8677         *PRUNE
   8678         B
   8679         *SKIP
   8680         C
   8681         *THEN
   8682         D
   8683         *COMMIT
   8684         E
   8685         *FAIL
   8686         F
   8687         *FAIL
   8688         G
   8689         *FAIL
   8690         H
   8691         *ACCEPT
   8692         I
   8693         Ket
   8694         End
   8695 ------------------------------------------------------------------
   8696 
   8697 /^a+(*FAIL)/C
   8698     aaaaaa
   8699 --->aaaaaa
   8700  +0 ^          ^
   8701  +1 ^          a+
   8702  +3 ^     ^    (*FAIL)
   8703  +3 ^    ^     (*FAIL)
   8704  +3 ^   ^      (*FAIL)
   8705  +3 ^  ^       (*FAIL)
   8706  +3 ^ ^        (*FAIL)
   8707  +3 ^^         (*FAIL)
   8708 No match
   8709     
   8710 /a+b?c+(*FAIL)/C
   8711     aaabccc
   8712 --->aaabccc
   8713  +0 ^           a+
   8714  +2 ^  ^        b?
   8715  +4 ^   ^       c+
   8716  +6 ^      ^    (*FAIL)
   8717  +6 ^     ^     (*FAIL)
   8718  +6 ^    ^      (*FAIL)
   8719  +0  ^          a+
   8720  +2  ^ ^        b?
   8721  +4  ^  ^       c+
   8722  +6  ^     ^    (*FAIL)
   8723  +6  ^    ^     (*FAIL)
   8724  +6  ^   ^      (*FAIL)
   8725  +0   ^         a+
   8726  +2   ^^        b?
   8727  +4   ^ ^       c+
   8728  +6   ^    ^    (*FAIL)
   8729  +6   ^   ^     (*FAIL)
   8730  +6   ^  ^      (*FAIL)
   8731 No match
   8732 
   8733 /a+b?(*PRUNE)c+(*FAIL)/C
   8734     aaabccc
   8735 --->aaabccc
   8736  +0 ^           a+
   8737  +2 ^  ^        b?
   8738  +4 ^   ^       (*PRUNE)
   8739 +12 ^   ^       c+
   8740 +14 ^      ^    (*FAIL)
   8741 +14 ^     ^     (*FAIL)
   8742 +14 ^    ^      (*FAIL)
   8743  +0  ^          a+
   8744  +2  ^ ^        b?
   8745  +4  ^  ^       (*PRUNE)
   8746 +12  ^  ^       c+
   8747 +14  ^     ^    (*FAIL)
   8748 +14  ^    ^     (*FAIL)
   8749 +14  ^   ^      (*FAIL)
   8750  +0   ^         a+
   8751  +2   ^^        b?
   8752  +4   ^ ^       (*PRUNE)
   8753 +12   ^ ^       c+
   8754 +14   ^    ^    (*FAIL)
   8755 +14   ^   ^     (*FAIL)
   8756 +14   ^  ^      (*FAIL)
   8757 No match
   8758 
   8759 /a+b?(*COMMIT)c+(*FAIL)/C
   8760     aaabccc
   8761 --->aaabccc
   8762  +0 ^           a+
   8763  +2 ^  ^        b?
   8764  +4 ^   ^       (*COMMIT)
   8765 +13 ^   ^       c+
   8766 +15 ^      ^    (*FAIL)
   8767 +15 ^     ^     (*FAIL)
   8768 +15 ^    ^      (*FAIL)
   8769 No match
   8770     
   8771 /a+b?(*SKIP)c+(*FAIL)/C
   8772     aaabcccaaabccc
   8773 --->aaabcccaaabccc
   8774  +0 ^                  a+
   8775  +2 ^  ^               b?
   8776  +4 ^   ^              (*SKIP)
   8777 +11 ^   ^              c+
   8778 +13 ^      ^           (*FAIL)
   8779 +13 ^     ^            (*FAIL)
   8780 +13 ^    ^             (*FAIL)
   8781  +0        ^           a+
   8782  +2        ^  ^        b?
   8783  +4        ^   ^       (*SKIP)
   8784 +11        ^   ^       c+
   8785 +13        ^      ^    (*FAIL)
   8786 +13        ^     ^     (*FAIL)
   8787 +13        ^    ^      (*FAIL)
   8788 No match
   8789 
   8790 /a+b?(*THEN)c+(*FAIL)/C
   8791     aaabccc
   8792 --->aaabccc
   8793  +0 ^           a+
   8794  +2 ^  ^        b?
   8795  +4 ^   ^       (*THEN)
   8796 +11 ^   ^       c+
   8797 +13 ^      ^    (*FAIL)
   8798 +13 ^     ^     (*FAIL)
   8799 +13 ^    ^      (*FAIL)
   8800  +0  ^          a+
   8801  +2  ^ ^        b?
   8802  +4  ^  ^       (*THEN)
   8803 +11  ^  ^       c+
   8804 +13  ^     ^    (*FAIL)
   8805 +13  ^    ^     (*FAIL)
   8806 +13  ^   ^      (*FAIL)
   8807  +0   ^         a+
   8808  +2   ^^        b?
   8809  +4   ^ ^       (*THEN)
   8810 +11   ^ ^       c+
   8811 +13   ^    ^    (*FAIL)
   8812 +13   ^   ^     (*FAIL)
   8813 +13   ^  ^      (*FAIL)
   8814 No match
   8815     
   8816 /a(*MARK)b/ 
   8817 Failed: (*MARK) must have an argument at offset 7
   8818 
   8819 /(?i:A{1,}\6666666666)/
   8820 Failed: number is too big at offset 19
   8821 
   8822 /\g6666666666/
   8823 Failed: number is too big at offset 11
   8824 
   8825 /[\g6666666666]/BZ
   8826 ------------------------------------------------------------------
   8827         Bra
   8828         [6g]
   8829         Ket
   8830         End
   8831 ------------------------------------------------------------------
   8832 
   8833 /(?1)\c[/
   8834 Failed: reference to non-existent subpattern at offset 3
   8835 
   8836 /.+A/<crlf>
   8837     \r\nA
   8838 No match
   8839     
   8840 /\nA/<crlf>
   8841     \r\nA 
   8842  0: \x0aA
   8843 
   8844 /[\r\n]A/<crlf>
   8845     \r\nA 
   8846  0: \x0aA
   8847 
   8848 /(\r|\n)A/<crlf>
   8849     \r\nA 
   8850  0: \x0aA
   8851  1: \x0a
   8852 
   8853 /a(*CR)b/
   8854 Failed: (*VERB) not recognized or malformed at offset 5
   8855 
   8856 /(*CR)a.b/
   8857     a\nb
   8858  0: a\x0ab
   8859     ** Failers
   8860 No match
   8861     a\rb  
   8862 No match
   8863 
   8864 /(*CR)a.b/<lf>
   8865     a\nb
   8866  0: a\x0ab
   8867     ** Failers
   8868 No match
   8869     a\rb  
   8870 No match
   8871 
   8872 /(*LF)a.b/<CRLF>
   8873     a\rb
   8874  0: a\x0db
   8875     ** Failers
   8876 No match
   8877     a\nb  
   8878 No match
   8879 
   8880 /(*CRLF)a.b/
   8881     a\rb
   8882  0: a\x0db
   8883     a\nb  
   8884  0: a\x0ab
   8885     ** Failers
   8886 No match
   8887     a\r\nb  
   8888 No match
   8889 
   8890 /(*ANYCRLF)a.b/<CR>
   8891     ** Failers
   8892 No match
   8893     a\rb
   8894 No match
   8895     a\nb  
   8896 No match
   8897     a\r\nb  
   8898 No match
   8899 
   8900 /(*ANY)a.b/<cr>
   8901     ** Failers
   8902 No match
   8903     a\rb
   8904 No match
   8905     a\nb  
   8906 No match
   8907     a\r\nb  
   8908 No match
   8909     a\x85b 
   8910 No match
   8911     
   8912 /(*ANY).*/g
   8913     abc\r\ndef
   8914  0: abc
   8915  0: 
   8916  0: def
   8917  0: 
   8918 
   8919 /(*ANYCRLF).*/g
   8920     abc\r\ndef
   8921  0: abc
   8922  0: 
   8923  0: def
   8924  0: 
   8925 
   8926 /(*CRLF).*/g
   8927     abc\r\ndef
   8928  0: abc
   8929  0: 
   8930  0: def
   8931  0: 
   8932 
   8933 /a\Rb/I<bsr_anycrlf>
   8934 Capturing subpattern count = 0
   8935 Options: bsr_anycrlf
   8936 First char = 'a'
   8937 Need char = 'b'
   8938     a\rb
   8939  0: a\x0db
   8940     a\nb
   8941  0: a\x0ab
   8942     a\r\nb
   8943  0: a\x0d\x0ab
   8944     ** Failers
   8945 No match
   8946     a\x85b
   8947 No match
   8948     a\x0bb     
   8949 No match
   8950 
   8951 /a\Rb/I<bsr_unicode>
   8952 Capturing subpattern count = 0
   8953 Options: bsr_unicode
   8954 First char = 'a'
   8955 Need char = 'b'
   8956     a\rb
   8957  0: a\x0db
   8958     a\nb
   8959  0: a\x0ab
   8960     a\r\nb
   8961  0: a\x0d\x0ab
   8962     a\x85b
   8963  0: a\x85b
   8964     a\x0bb     
   8965  0: a\x0bb
   8966     ** Failers 
   8967 No match
   8968     a\x85b\<bsr_anycrlf>
   8969 No match
   8970     a\x0bb\<bsr_anycrlf>
   8971 No match
   8972     
   8973 /a\R?b/I<bsr_anycrlf>
   8974 Capturing subpattern count = 0
   8975 Options: bsr_anycrlf
   8976 First char = 'a'
   8977 Need char = 'b'
   8978     a\rb
   8979  0: a\x0db
   8980     a\nb
   8981  0: a\x0ab
   8982     a\r\nb
   8983  0: a\x0d\x0ab
   8984     ** Failers
   8985 No match
   8986     a\x85b
   8987 No match
   8988     a\x0bb     
   8989 No match
   8990 
   8991 /a\R?b/I<bsr_unicode>
   8992 Capturing subpattern count = 0
   8993 Options: bsr_unicode
   8994 First char = 'a'
   8995 Need char = 'b'
   8996     a\rb
   8997  0: a\x0db
   8998     a\nb
   8999  0: a\x0ab
   9000     a\r\nb
   9001  0: a\x0d\x0ab
   9002     a\x85b
   9003  0: a\x85b
   9004     a\x0bb     
   9005  0: a\x0bb
   9006     ** Failers 
   9007 No match
   9008     a\x85b\<bsr_anycrlf>
   9009 No match
   9010     a\x0bb\<bsr_anycrlf>
   9011 No match
   9012     
   9013 /a\R{2,4}b/I<bsr_anycrlf>
   9014 Capturing subpattern count = 0
   9015 Options: bsr_anycrlf
   9016 First char = 'a'
   9017 Need char = 'b'
   9018     a\r\n\nb
   9019  0: a\x0d\x0a\x0ab
   9020     a\n\r\rb
   9021  0: a\x0a\x0d\x0db
   9022     a\r\n\r\n\r\n\r\nb
   9023  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
   9024     ** Failers
   9025 No match
   9026     a\x85\85b
   9027 No match
   9028     a\x0b\0bb     
   9029 No match
   9030 
   9031 /a\R{2,4}b/I<bsr_unicode>
   9032 Capturing subpattern count = 0
   9033 Options: bsr_unicode
   9034 First char = 'a'
   9035 Need char = 'b'
   9036     a\r\rb
   9037  0: a\x0d\x0db
   9038     a\n\n\nb
   9039  0: a\x0a\x0a\x0ab
   9040     a\r\n\n\r\rb
   9041  0: a\x0d\x0a\x0a\x0d\x0db
   9042     a\x85\85b
   9043 No match
   9044     a\x0b\0bb     
   9045 No match
   9046     ** Failers 
   9047 No match
   9048     a\r\r\r\r\rb 
   9049 No match
   9050     a\x85\85b\<bsr_anycrlf>
   9051 No match
   9052     a\x0b\0bb\<bsr_anycrlf>
   9053 No match
   9054  
   9055 /(*BSR_ANYCRLF)a\Rb/I
   9056 Capturing subpattern count = 0
   9057 Options: bsr_anycrlf
   9058 First char = 'a'
   9059 Need char = 'b'
   9060     a\nb
   9061  0: a\x0ab
   9062     a\rb 
   9063  0: a\x0db
   9064 
   9065 /(*BSR_UNICODE)a\Rb/I
   9066 Capturing subpattern count = 0
   9067 Options: bsr_unicode
   9068 First char = 'a'
   9069 Need char = 'b'
   9070     a\x85b
   9071  0: a\x85b
   9072 
   9073 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
   9074 Capturing subpattern count = 0
   9075 Options: bsr_anycrlf
   9076 Forced newline sequence: CRLF
   9077 First char = 'a'
   9078 Need char = 'b'
   9079     a\nb
   9080  0: a\x0ab
   9081     a\rb 
   9082  0: a\x0db
   9083 
   9084 /(*CRLF)(*BSR_UNICODE)a\Rb/I
   9085 Capturing subpattern count = 0
   9086 Options: bsr_unicode
   9087 Forced newline sequence: CRLF
   9088 First char = 'a'
   9089 Need char = 'b'
   9090     a\x85b
   9091  0: a\x85b
   9092 
   9093 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
   9094 Capturing subpattern count = 0
   9095 Options: bsr_anycrlf
   9096 Forced newline sequence: CR
   9097 First char = 'a'
   9098 Need char = 'b'
   9099 
   9100 /(?<a>)(?&)/
   9101 Failed: subpattern name expected at offset 9
   9102 
   9103 /(?<abc>)(?&a)/
   9104 Failed: reference to non-existent subpattern at offset 12
   9105 
   9106 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
   9107 Failed: reference to non-existent subpattern at offset 32
   9108 
   9109 /(?+-a)/
   9110 Failed: digit expected after (?+ at offset 3
   9111 
   9112 /(?-+a)/
   9113 Failed: unrecognized character after (? or (?- at offset 3
   9114 
   9115 /(?(-1))/
   9116 Failed: reference to non-existent subpattern at offset 6
   9117 
   9118 /(?(+10))/
   9119 Failed: reference to non-existent subpattern at offset 7
   9120 
   9121 /(?(10))/
   9122 Failed: reference to non-existent subpattern at offset 6
   9123 
   9124 /(?(+2))()()/
   9125 
   9126 /(?(2))()()/
   9127 
   9128 /\k''/
   9129 Failed: subpattern name expected at offset 3
   9130 
   9131 /\k<>/
   9132 Failed: subpattern name expected at offset 3
   9133 
   9134 /\k{}/
   9135 Failed: subpattern name expected at offset 3
   9136 
   9137 /\k/
   9138 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1
   9139 
   9140 /\kabc/
   9141 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1
   9142 
   9143 /(?P=)/
   9144 Failed: subpattern name expected at offset 4
   9145 
   9146 /(?P>)/
   9147 Failed: subpattern name expected at offset 4
   9148 
   9149 /(?!\w)(?R)/
   9150 Failed: recursive call could loop indefinitely at offset 9
   9151 
   9152 /(?=\w)(?R)/
   9153 Failed: recursive call could loop indefinitely at offset 9
   9154 
   9155 /(?<!\w)(?R)/
   9156 Failed: recursive call could loop indefinitely at offset 10
   9157 
   9158 /(?<=\w)(?R)/
   9159 Failed: recursive call could loop indefinitely at offset 10
   9160 
   9161 /[[:foo:]]/
   9162 Failed: unknown POSIX class name at offset 3
   9163 
   9164 /[[:1234:]]/
   9165 Failed: unknown POSIX class name at offset 3
   9166 
   9167 /[[:f\oo:]]/
   9168 Failed: unknown POSIX class name at offset 3
   9169 
   9170 /[[: :]]/
   9171 Failed: unknown POSIX class name at offset 3
   9172 
   9173 /[[:...:]]/
   9174 Failed: unknown POSIX class name at offset 3
   9175 
   9176 /[[:l\ower:]]/
   9177 Failed: unknown POSIX class name at offset 3
   9178 
   9179 /[[:abc\:]]/
   9180 Failed: unknown POSIX class name at offset 3
   9181 
   9182 /[abc[:x\]pqr:]]/
   9183 Failed: unknown POSIX class name at offset 6
   9184 
   9185 /[[:a\dz:]]/
   9186 Failed: unknown POSIX class name at offset 3
   9187 
   9188 /(^(a|b\g<-1'c))/
   9189 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
   9190 
   9191 /^(?+1)(?<a>x|y){0}z/
   9192     xzxx
   9193  0: xz
   9194     yzyy 
   9195  0: yz
   9196     ** Failers
   9197 No match
   9198     xxz  
   9199 No match
   9200 
   9201 /(\3)(\1)(a)/
   9202     cat
   9203 No match
   9204 
   9205 /(\3)(\1)(a)/<JS>
   9206     cat
   9207  0: a
   9208  1: 
   9209  2: 
   9210  3: a
   9211     
   9212 /TA]/
   9213     The ACTA] comes 
   9214  0: TA]
   9215 
   9216 /TA]/<JS>
   9217 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
   9218 
   9219 /(?2)[]a()b](abc)/
   9220 Failed: reference to non-existent subpattern at offset 3
   9221 
   9222 /(?2)[^]a()b](abc)/
   9223 Failed: reference to non-existent subpattern at offset 3
   9224 
   9225 /(?1)[]a()b](abc)/
   9226     abcbabc
   9227  0: abcbabc
   9228  1: abc
   9229     ** Failers 
   9230 No match
   9231     abcXabc
   9232 No match
   9233 
   9234 /(?1)[^]a()b](abc)/
   9235     abcXabc
   9236  0: abcXabc
   9237  1: abc
   9238     ** Failers 
   9239 No match
   9240     abcbabc
   9241 No match
   9242 
   9243 /(?2)[]a()b](abc)(xyz)/
   9244     xyzbabcxyz
   9245  0: xyzbabcxyz
   9246  1: abc
   9247  2: xyz
   9248 
   9249 /(?&N)[]a(?<N>)](?<M>abc)/
   9250 Failed: reference to non-existent subpattern at offset 4
   9251 
   9252 /(?&N)[]a(?<N>)](abc)/
   9253 Failed: reference to non-existent subpattern at offset 4
   9254 
   9255 /a[]b/
   9256 Failed: missing terminating ] for character class at offset 4
   9257 
   9258 /a[^]b/
   9259 Failed: missing terminating ] for character class at offset 5
   9260 
   9261 /a[]b/<JS>
   9262     ** Failers
   9263 No match
   9264     ab
   9265 No match
   9266 
   9267 /a[]+b/<JS>
   9268     ** Failers
   9269 No match
   9270     ab 
   9271 No match
   9272 
   9273 /a[]*+b/<JS>
   9274     ** Failers
   9275 No match
   9276     ab 
   9277 No match
   9278 
   9279 /a[^]b/<JS>
   9280     aXb
   9281  0: aXb
   9282     a\nb 
   9283  0: a\x0ab
   9284     ** Failers
   9285 No match
   9286     ab  
   9287 No match
   9288     
   9289 /a[^]+b/<JS> 
   9290     aXb
   9291  0: aXb
   9292     a\nX\nXb 
   9293  0: a\x0aX\x0aXb
   9294     ** Failers
   9295 No match
   9296     ab  
   9297 No match
   9298 
   9299 /a(?!)b/BZ
   9300 ------------------------------------------------------------------
   9301         Bra
   9302         a
   9303         *FAIL
   9304         b
   9305         Ket
   9306         End
   9307 ------------------------------------------------------------------
   9308 
   9309 /(?!)?a/BZ
   9310 ------------------------------------------------------------------
   9311         Bra
   9312         Brazero
   9313         Assert not
   9314         Ket
   9315         a
   9316         Ket
   9317         End
   9318 ------------------------------------------------------------------
   9319     ab
   9320  0: a
   9321 
   9322 /a(*FAIL)+b/
   9323 Failed: nothing to repeat at offset 8
   9324 
   9325 /(abc|pqr|123){0}[xyz]/SI
   9326 Capturing subpattern count = 1
   9327 No options
   9328 No first char
   9329 No need char
   9330 Subject length lower bound = 1
   9331 Starting chars: x y z 
   9332 
   9333 /(?(?=.*b)b|^)/CI
   9334 Capturing subpattern count = 0
   9335 May match empty string
   9336 Options:
   9337 No first char
   9338 No need char
   9339    adc
   9340 --->adc
   9341  +0 ^       (?(?=.*b)b|^)
   9342  +2 ^       (?=.*b)
   9343  +5 ^       .*
   9344  +7 ^  ^    b
   9345  +7 ^ ^     b
   9346  +7 ^^      b
   9347  +7 ^       b
   9348 +11 ^       ^
   9349 +12 ^       )
   9350 +13 ^       
   9351  0: 
   9352    abc 
   9353 --->abc
   9354  +0 ^       (?(?=.*b)b|^)
   9355  +2 ^       (?=.*b)
   9356  +5 ^       .*
   9357  +7 ^  ^    b
   9358  +7 ^ ^     b
   9359  +7 ^^      b
   9360  +8 ^ ^     )
   9361  +9 ^       b
   9362  +0  ^      (?(?=.*b)b|^)
   9363  +2  ^      (?=.*b)
   9364  +5  ^      .*
   9365  +7  ^ ^    b
   9366  +7  ^^     b
   9367  +7  ^      b
   9368  +8  ^^     )
   9369  +9  ^      b
   9370 +10  ^^     |
   9371 +13  ^^     
   9372  0: b
   9373    
   9374 /(?(?=b).*b|^d)/I
   9375 Capturing subpattern count = 0
   9376 No options
   9377 No first char
   9378 No need char
   9379 
   9380 /(?(?=.*b).*b|^d)/I
   9381 Capturing subpattern count = 0
   9382 No options
   9383 First char at start or follows newline
   9384 No need char
   9385 
   9386 /xyz/C
   9387   xyz 
   9388 --->xyz
   9389  +0 ^       x
   9390  +1 ^^      y
   9391  +2 ^ ^     z
   9392  +3 ^  ^    
   9393  0: xyz
   9394   abcxyz 
   9395 --->abcxyz
   9396  +0    ^       x
   9397  +1    ^^      y
   9398  +2    ^ ^     z
   9399  +3    ^  ^    
   9400  0: xyz
   9401   abcxyz\Y
   9402 --->abcxyz
   9403  +0 ^          x
   9404  +0  ^         x
   9405  +0   ^        x
   9406  +0    ^       x
   9407  +1    ^^      y
   9408  +2    ^ ^     z
   9409  +3    ^  ^    
   9410  0: xyz
   9411   ** Failers 
   9412 No match
   9413   abc
   9414 No match
   9415   abc\Y
   9416 --->abc
   9417  +0 ^       x
   9418  +0  ^      x
   9419  +0   ^     x
   9420  +0    ^    x
   9421 No match
   9422   abcxypqr  
   9423 No match
   9424   abcxypqr\Y  
   9425 --->abcxypqr
   9426  +0 ^            x
   9427  +0  ^           x
   9428  +0   ^          x
   9429  +0    ^         x
   9430  +1    ^^        y
   9431  +2    ^ ^       z
   9432  +0     ^        x
   9433  +0      ^       x
   9434  +0       ^      x
   9435  +0        ^     x
   9436  +0         ^    x
   9437 No match
   9438   
   9439 /(*NO_START_OPT)xyz/C
   9440   abcxyz
   9441 --->abcxyz
   9442 +15 ^          x
   9443 +15  ^         x
   9444 +15   ^        x
   9445 +15    ^       x
   9446 +16    ^^      y
   9447 +17    ^ ^     z
   9448 +18    ^  ^    
   9449  0: xyz
   9450   
   9451 /(*NO_AUTO_POSSESS)a+b/BZ  
   9452 ------------------------------------------------------------------
   9453         Bra
   9454         a+
   9455         b
   9456         Ket
   9457         End
   9458 ------------------------------------------------------------------
   9459 
   9460 /xyz/CY
   9461   abcxyz 
   9462 --->abcxyz
   9463  +0 ^          x
   9464  +0  ^         x
   9465  +0   ^        x
   9466  +0    ^       x
   9467  +1    ^^      y
   9468  +2    ^ ^     z
   9469  +3    ^  ^    
   9470  0: xyz
   9471 
   9472 /^"((?(?=[a])[^"])|b)*"$/C
   9473     "ab"
   9474 --->"ab"
   9475  +0 ^        ^
   9476  +1 ^        "
   9477  +2 ^^       ((?(?=[a])[^"])|b)*
   9478  +3 ^^       (?(?=[a])[^"])
   9479  +5 ^^       (?=[a])
   9480  +8 ^^       [a]
   9481 +11 ^ ^      )
   9482 +12 ^^       [^"]
   9483 +16 ^ ^      )
   9484 +17 ^ ^      |
   9485  +3 ^ ^      (?(?=[a])[^"])
   9486  +5 ^ ^      (?=[a])
   9487  +8 ^ ^      [a]
   9488 +17 ^ ^      |
   9489 +21 ^ ^      "
   9490 +18 ^ ^      b
   9491 +19 ^  ^     )
   9492  +3 ^  ^     (?(?=[a])[^"])
   9493  +5 ^  ^     (?=[a])
   9494  +8 ^  ^     [a]
   9495 +17 ^  ^     |
   9496 +21 ^  ^     "
   9497 +22 ^   ^    $
   9498 +23 ^   ^    
   9499  0: "ab"
   9500  1: 
   9501 
   9502 /^"((?(?=[a])[^"])|b)*"$/
   9503     "ab"
   9504  0: "ab"
   9505  1: 
   9506 
   9507 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
   9508 Failed: reference to non-existent subpattern at offset 5
   9509 
   9510 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
   9511     XYabcdY
   9512  0: XYabcdY
   9513  1: a
   9514  2: b
   9515  3: c
   9516  4: d
   9517  5: Y
   9518  
   9519 /Xa{2,4}b/
   9520     X\P
   9521 Partial match: X
   9522     Xa\P
   9523 Partial match: Xa
   9524     Xaa\P 
   9525 Partial match: Xaa
   9526     Xaaa\P
   9527 Partial match: Xaaa
   9528     Xaaaa\P 
   9529 Partial match: Xaaaa
   9530     
   9531 /Xa{2,4}?b/
   9532     X\P
   9533 Partial match: X
   9534     Xa\P
   9535 Partial match: Xa
   9536     Xaa\P 
   9537 Partial match: Xaa
   9538     Xaaa\P
   9539 Partial match: Xaaa
   9540     Xaaaa\P 
   9541 Partial match: Xaaaa
   9542     
   9543 /Xa{2,4}+b/
   9544     X\P
   9545 Partial match: X
   9546     Xa\P
   9547 Partial match: Xa
   9548     Xaa\P 
   9549 Partial match: Xaa
   9550     Xaaa\P
   9551 Partial match: Xaaa
   9552     Xaaaa\P 
   9553 Partial match: Xaaaa
   9554     
   9555 /X\d{2,4}b/
   9556     X\P
   9557 Partial match: X
   9558     X3\P
   9559 Partial match: X3
   9560     X33\P 
   9561 Partial match: X33
   9562     X333\P
   9563 Partial match: X333
   9564     X3333\P 
   9565 Partial match: X3333
   9566     
   9567 /X\d{2,4}?b/
   9568     X\P
   9569 Partial match: X
   9570     X3\P
   9571 Partial match: X3
   9572     X33\P 
   9573 Partial match: X33
   9574     X333\P
   9575 Partial match: X333
   9576     X3333\P 
   9577 Partial match: X3333
   9578     
   9579 /X\d{2,4}+b/
   9580     X\P
   9581 Partial match: X
   9582     X3\P
   9583 Partial match: X3
   9584     X33\P 
   9585 Partial match: X33
   9586     X333\P
   9587 Partial match: X333
   9588     X3333\P 
   9589 Partial match: X3333
   9590     
   9591 /X\D{2,4}b/
   9592     X\P
   9593 Partial match: X
   9594     Xa\P
   9595 Partial match: Xa
   9596     Xaa\P 
   9597 Partial match: Xaa
   9598     Xaaa\P
   9599 Partial match: Xaaa
   9600     Xaaaa\P 
   9601 Partial match: Xaaaa
   9602     
   9603 /X\D{2,4}?b/
   9604     X\P
   9605 Partial match: X
   9606     Xa\P
   9607 Partial match: Xa
   9608     Xaa\P 
   9609 Partial match: Xaa
   9610     Xaaa\P
   9611 Partial match: Xaaa
   9612     Xaaaa\P 
   9613 Partial match: Xaaaa
   9614     
   9615 /X\D{2,4}+b/
   9616     X\P
   9617 Partial match: X
   9618     Xa\P
   9619 Partial match: Xa
   9620     Xaa\P 
   9621 Partial match: Xaa
   9622     Xaaa\P
   9623 Partial match: Xaaa
   9624     Xaaaa\P 
   9625 Partial match: Xaaaa
   9626     
   9627 /X[abc]{2,4}b/
   9628     X\P
   9629 Partial match: X
   9630     Xa\P
   9631 Partial match: Xa
   9632     Xaa\P 
   9633 Partial match: Xaa
   9634     Xaaa\P
   9635 Partial match: Xaaa
   9636     Xaaaa\P 
   9637 Partial match: Xaaaa
   9638     
   9639 /X[abc]{2,4}?b/
   9640     X\P
   9641 Partial match: X
   9642     Xa\P
   9643 Partial match: Xa
   9644     Xaa\P 
   9645 Partial match: Xaa
   9646     Xaaa\P
   9647 Partial match: Xaaa
   9648     Xaaaa\P 
   9649 Partial match: Xaaaa
   9650     
   9651 /X[abc]{2,4}+b/
   9652     X\P
   9653 Partial match: X
   9654     Xa\P
   9655 Partial match: Xa
   9656     Xaa\P 
   9657 Partial match: Xaa
   9658     Xaaa\P
   9659 Partial match: Xaaa
   9660     Xaaaa\P 
   9661 Partial match: Xaaaa
   9662     
   9663 /X[^a]{2,4}b/
   9664     X\P
   9665 Partial match: X
   9666     Xz\P
   9667 Partial match: Xz
   9668     Xzz\P 
   9669 Partial match: Xzz
   9670     Xzzz\P
   9671 Partial match: Xzzz
   9672     Xzzzz\P 
   9673 Partial match: Xzzzz
   9674     
   9675 /X[^a]{2,4}?b/
   9676     X\P
   9677 Partial match: X
   9678     Xz\P
   9679 Partial match: Xz
   9680     Xzz\P 
   9681 Partial match: Xzz
   9682     Xzzz\P
   9683 Partial match: Xzzz
   9684     Xzzzz\P 
   9685 Partial match: Xzzzz
   9686     
   9687 /X[^a]{2,4}+b/
   9688     X\P
   9689 Partial match: X
   9690     Xz\P
   9691 Partial match: Xz
   9692     Xzz\P 
   9693 Partial match: Xzz
   9694     Xzzz\P
   9695 Partial match: Xzzz
   9696     Xzzzz\P 
   9697 Partial match: Xzzzz
   9698     
   9699 /(Y)X\1{2,4}b/
   9700     YX\P
   9701 Partial match: YX
   9702     YXY\P
   9703 Partial match: YXY
   9704     YXYY\P 
   9705 Partial match: YXYY
   9706     YXYYY\P
   9707 Partial match: YXYYY
   9708     YXYYYY\P 
   9709 Partial match: YXYYYY
   9710     
   9711 /(Y)X\1{2,4}?b/
   9712     YX\P
   9713 Partial match: YX
   9714     YXY\P
   9715 Partial match: YXY
   9716     YXYY\P 
   9717 Partial match: YXYY
   9718     YXYYY\P
   9719 Partial match: YXYYY
   9720     YXYYYY\P 
   9721 Partial match: YXYYYY
   9722     
   9723 /(Y)X\1{2,4}+b/
   9724     YX\P
   9725 Partial match: YX
   9726     YXY\P
   9727 Partial match: YXY
   9728     YXYY\P 
   9729 Partial match: YXYY
   9730     YXYYY\P
   9731 Partial match: YXYYY
   9732     YXYYYY\P 
   9733 Partial match: YXYYYY
   9734     
   9735 /\++\KZ|\d+X|9+Y/
   9736     ++++123999\P
   9737 Partial match: 123999
   9738     ++++123999Y\P
   9739  0: 999Y
   9740     ++++Z1234\P 
   9741  0: Z
   9742 
   9743 /Z(*F)/
   9744     Z\P
   9745 No match
   9746     ZA\P 
   9747 No match
   9748     
   9749 /Z(?!)/
   9750     Z\P 
   9751 No match
   9752     ZA\P 
   9753 No match
   9754 
   9755 /dog(sbody)?/
   9756     dogs\P
   9757  0: dog
   9758     dogs\P\P 
   9759 Partial match: dogs
   9760     
   9761 /dog(sbody)??/
   9762     dogs\P
   9763  0: dog
   9764     dogs\P\P 
   9765  0: dog
   9766 
   9767 /dog|dogsbody/
   9768     dogs\P
   9769  0: dog
   9770     dogs\P\P 
   9771  0: dog
   9772  
   9773 /dogsbody|dog/
   9774     dogs\P
   9775  0: dog
   9776     dogs\P\P 
   9777 Partial match: dogs
   9778 
   9779 /\bthe cat\b/
   9780     the cat\P
   9781  0: the cat
   9782     the cat\P\P
   9783 Partial match: the cat
   9784 
   9785 /abc/
   9786    abc\P
   9787  0: abc
   9788    abc\P\P
   9789  0: abc
   9790    
   9791 /abc\K123/
   9792     xyzabc123pqr
   9793  0: 123
   9794     xyzabc12\P
   9795 Partial match: abc12
   9796     xyzabc12\P\P
   9797 Partial match: abc12
   9798     
   9799 /(?<=abc)123/
   9800     xyzabc123pqr 
   9801  0: 123
   9802     xyzabc12\P
   9803 Partial match at offset 6: abc12
   9804     xyzabc12\P\P
   9805 Partial match at offset 6: abc12
   9806 
   9807 /\babc\b/
   9808     +++abc+++
   9809  0: abc
   9810     +++ab\P
   9811 Partial match at offset 3: +ab
   9812     +++ab\P\P  
   9813 Partial match at offset 3: +ab
   9814 
   9815 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
   9816 ------------------------------------------------------------------
   9817         Bra
   9818         Recurse
   9819         Recurse
   9820         Cond
   9821         Cond def
   9822         CBra 1
   9823         <
   9824         [^m]
   9825         [^>]
   9826         >
   9827         [^<]
   9828         Ket
   9829         CBra 2
   9830         \w*+
   9831         Ket
   9832         Ket
   9833         Ket
   9834         End
   9835 ------------------------------------------------------------------
   9836 
   9837 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
   9838 ------------------------------------------------------------------
   9839         Bra
   9840         Recurse
   9841         Recurse
   9842         Cond
   9843         Cond def
   9844         CBra 1
   9845         <
   9846         [\x00-/:-\xff] (neg)
   9847         [^>]
   9848         >
   9849         [^<]
   9850         Ket
   9851         CBra 2
   9852         \w*+
   9853         Ket
   9854         Ket
   9855         Ket
   9856         End
   9857 ------------------------------------------------------------------
   9858 
   9859 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
   9860 ------------------------------------------------------------------
   9861         Bra
   9862         CBra 1
   9863         ab
   9864         Ket
   9865         CBra 2
   9866         x
   9867         CBra 3
   9868         y
   9869         Ket
   9870         z
   9871         CBra 4
   9872         cd
   9873         Close 4
   9874         Close 2
   9875         *ACCEPT
   9876         Ket
   9877         Ket
   9878         pq
   9879         Ket
   9880         End
   9881 ------------------------------------------------------------------
   9882 
   9883 /abc\K/+
   9884     abcdef
   9885  0: 
   9886  0+ def
   9887     abcdef\N\N
   9888  0: 
   9889  0+ def
   9890     xyzabcdef\N\N
   9891  0: 
   9892  0+ def
   9893     ** Failers
   9894 No match
   9895     abcdef\N 
   9896 No match
   9897     xyzabcdef\N
   9898 No match
   9899     
   9900 /^(?:(?=abc)|abc\K)/+
   9901     abcdef
   9902  0: 
   9903  0+ abcdef
   9904     abcdef\N\N 
   9905  0: 
   9906  0+ def
   9907     ** Failers 
   9908 No match
   9909     abcdef\N 
   9910 No match
   9911 
   9912 /a?b?/+
   9913     xyz
   9914  0: 
   9915  0+ xyz
   9916     xyzabc
   9917  0: 
   9918  0+ xyzabc
   9919     xyzabc\N
   9920  0: ab
   9921  0+ c
   9922     xyzabc\N\N
   9923  0: 
   9924  0+ yzabc
   9925     xyz\N\N    
   9926  0: 
   9927  0+ yz
   9928     ** Failers 
   9929  0: 
   9930  0+ ** Failers
   9931     xyz\N 
   9932 No match
   9933 
   9934 /^a?b?/+
   9935     xyz
   9936  0: 
   9937  0+ xyz
   9938     xyzabc
   9939  0: 
   9940  0+ xyzabc
   9941     ** Failers 
   9942  0: 
   9943  0+ ** Failers
   9944     xyzabc\N
   9945 No match
   9946     xyzabc\N\N
   9947 No match
   9948     xyz\N\N    
   9949 No match
   9950     xyz\N 
   9951 No match
   9952     
   9953 /^(?<name>a|b\g<name>c)/
   9954     aaaa
   9955  0: a
   9956  1: a
   9957     bacxxx
   9958  0: bac
   9959  1: bac
   9960     bbaccxxx 
   9961  0: bbacc
   9962  1: bbacc
   9963     bbbacccxx
   9964  0: bbbaccc
   9965  1: bbbaccc
   9966 
   9967 /^(?<name>a|b\g'name'c)/
   9968     aaaa
   9969  0: a
   9970  1: a
   9971     bacxxx
   9972  0: bac
   9973  1: bac
   9974     bbaccxxx 
   9975  0: bbacc
   9976  1: bbacc
   9977     bbbacccxx
   9978  0: bbbaccc
   9979  1: bbbaccc
   9980 
   9981 /^(a|b\g<1>c)/
   9982     aaaa
   9983  0: a
   9984  1: a
   9985     bacxxx
   9986  0: bac
   9987  1: bac
   9988     bbaccxxx 
   9989  0: bbacc
   9990  1: bbacc
   9991     bbbacccxx
   9992  0: bbbaccc
   9993  1: bbbaccc
   9994 
   9995 /^(a|b\g'1'c)/
   9996     aaaa
   9997  0: a
   9998  1: a
   9999     bacxxx
   10000  0: bac
   10001  1: bac
   10002     bbaccxxx 
   10003  0: bbacc
   10004  1: bbacc
   10005     bbbacccxx
   10006  0: bbbaccc
   10007  1: bbbaccc
   10008 
   10009 /^(a|b\g'-1'c)/
   10010     aaaa
   10011  0: a
   10012  1: a
   10013     bacxxx
   10014  0: bac
   10015  1: bac
   10016     bbaccxxx 
   10017  0: bbacc
   10018  1: bbacc
   10019     bbbacccxx
   10020  0: bbbaccc
   10021  1: bbbaccc
   10022 
   10023 /(^(a|b\g<-1>c))/
   10024     aaaa
   10025  0: a
   10026  1: a
   10027  2: a
   10028     bacxxx
   10029  0: bac
   10030  1: bac
   10031  2: bac
   10032     bbaccxxx 
   10033  0: bbacc
   10034  1: bbacc
   10035  2: bbacc
   10036     bbbacccxx
   10037  0: bbbaccc
   10038  1: bbbaccc
   10039  2: bbbaccc
   10040 
   10041 /(?-i:\g<name>)(?i:(?<name>a))/
   10042     XaaX
   10043  0: aa
   10044  1: a
   10045     XAAX 
   10046  0: AA
   10047  1: A
   10048 
   10049 /(?i:\g<name>)(?-i:(?<name>a))/
   10050     XaaX
   10051  0: aa
   10052  1: a
   10053     ** Failers 
   10054 No match
   10055     XAAX 
   10056 No match
   10057 
   10058 /(?-i:\g<+1>)(?i:(a))/
   10059     XaaX
   10060  0: aa
   10061  1: a
   10062     XAAX 
   10063  0: AA
   10064  1: A
   10065 
   10066 /(?=(?<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>\})\}))\{/
   10067 
   10068 /(?<n>a|b|c)\g<n>*/
   10069    abc
   10070  0: abc
   10071  1: a
   10072    accccbbb 
   10073  0: accccbbb
   10074  1: a
   10075 
   10076 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
   10077     XYabcdY
   10078  0: XYabcdY
   10079  1: a
   10080  2: b
   10081  3: <unset>
   10082  4: <unset>
   10083  5: c
   10084  6: d
   10085  7: Y
   10086 
   10087 /(?<=b(?1)|zzz)(a)/
   10088     xbaax
   10089  0: a
   10090  1: a
   10091     xzzzax 
   10092  0: a
   10093  1: a
   10094 
   10095 /(a)(?<=b\1)/
   10096 Failed: lookbehind assertion is not fixed length at offset 10
   10097 
   10098 /(a)(?<=b+(?1))/
   10099 Failed: lookbehind assertion is not fixed length at offset 13
   10100 
   10101 /(a+)(?<=b(?1))/
   10102 Failed: lookbehind assertion is not fixed length at offset 14
   10103 
   10104 /(a(?<=b(?1)))/
   10105 Failed: lookbehind assertion is not fixed length at offset 13
   10106 
   10107 /(?<=b(?1))xyz/
   10108 Failed: reference to non-existent subpattern at offset 8
   10109 
   10110 /(?<=b(?1))xyz(b+)pqrstuvew/
   10111 Failed: lookbehind assertion is not fixed length at offset 26
   10112 
   10113 /(a|bc)\1/SI
   10114 Capturing subpattern count = 1
   10115 Max back reference = 1
   10116 No options
   10117 No first char
   10118 No need char
   10119 Subject length lower bound = 2
   10120 Starting chars: a b 
   10121 
   10122 /(a|bc)\1{2,3}/SI
   10123 Capturing subpattern count = 1
   10124 Max back reference = 1
   10125 No options
   10126 No first char
   10127 No need char
   10128 Subject length lower bound = 3
   10129 Starting chars: a b 
   10130 
   10131 /(a|bc)(?1)/SI
   10132 Capturing subpattern count = 1
   10133 No options
   10134 No first char
   10135 No need char
   10136 Subject length lower bound = 2
   10137 Starting chars: a b 
   10138 
   10139 /(a|b\1)(a|b\1)/SI
   10140 Capturing subpattern count = 2
   10141 Max back reference = 1
   10142 No options
   10143 No first char
   10144 No need char
   10145 Subject length lower bound = 2
   10146 Starting chars: a b 
   10147 
   10148 /(a|b\1){2}/SI
   10149 Capturing subpattern count = 1
   10150 Max back reference = 1
   10151 No options
   10152 No first char
   10153 No need char
   10154 Subject length lower bound = 2
   10155 Starting chars: a b 
   10156 
   10157 /(a|bbbb\1)(a|bbbb\1)/SI
   10158 Capturing subpattern count = 2
   10159 Max back reference = 1
   10160 No options
   10161 No first char
   10162 No need char
   10163 Subject length lower bound = 2
   10164 Starting chars: a b 
   10165 
   10166 /(a|bbbb\1){2}/SI
   10167 Capturing subpattern count = 1
   10168 Max back reference = 1
   10169 No options
   10170 No first char
   10171 No need char
   10172 Subject length lower bound = 2
   10173 Starting chars: a b 
   10174 
   10175 /^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
   10176 Capturing subpattern count = 1
   10177 Options: anchored
   10178 No first char
   10179 Need char = ':'
   10180 Subject length lower bound = 22
   10181 No starting char list
   10182 
   10183 /<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
   10184 Capturing subpattern count = 11
   10185 Options: caseless dotall
   10186 First char = '<'
   10187 Need char = '>'
   10188 Subject length lower bound = 47
   10189 No starting char list
   10190 
   10191 "(?>.*/)foo"SI
   10192 Capturing subpattern count = 0
   10193 No options
   10194 No first char
   10195 Need char = 'o'
   10196 Subject length lower bound = 4
   10197 No starting char list
   10198 
   10199 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
   10200 Capturing subpattern count = 0
   10201 Options: extended
   10202 No first char
   10203 Need char = '-'
   10204 Subject length lower bound = 8
   10205 No starting char list
   10206 
   10207 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
   10208 Capturing subpattern count = 1
   10209 Options: caseless
   10210 No first char
   10211 No need char
   10212 Subject length lower bound = 1
   10213 Starting chars: A B C a b c 
   10214 
   10215 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
   10216 Capturing subpattern count = 0
   10217 No options
   10218 No first char
   10219 Need char = 'b'
   10220 Subject length lower bound = 41
   10221 Starting chars: c d 
   10222 
   10223 /<a[\s]+href[\s]*=[\s]*          # find <a href=
   10224  ([\"\'])?                       # find single or double quote
   10225  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
   10226                                  # quote, otherwise match up to next space
   10227 /isxSI
   10228 Capturing subpattern count = 3
   10229 Max back reference = 1
   10230 Options: caseless extended dotall
   10231 First char = '<'
   10232 Need char = '='
   10233 Subject length lower bound = 9
   10234 No starting char list
   10235 
   10236 /^(?!:)                       # colon disallowed at start
   10237   (?:                         # start of item
   10238     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
   10239     (?(1)0 | () ) )           # if null previously matched, fail; else null
   10240     :                         # followed by colon
   10241   ){1,7}                      # end item; 1-7 of them required               
   10242   [0-9a-f]{1,4} $             # final hex number at end of string
   10243   (?(1)|.)                    # check that there was an empty component
   10244   /xiIS
   10245 Capturing subpattern count = 1
   10246 Max back reference = 1
   10247 Options: anchored caseless extended
   10248 No first char
   10249 Need char = ':'
   10250 Subject length lower bound = 2
   10251 No starting char list
   10252 
   10253 /(?|(?<a>A)|(?<a>B))/I
   10254 Capturing subpattern count = 1
   10255 Named capturing subpatterns:
   10256   a   1
   10257 No options
   10258 No first char
   10259 No need char
   10260     AB\Ca
   10261  0: A
   10262  1: A
   10263   C A (1) a
   10264     BA\Ca
   10265  0: B
   10266  1: B
   10267   C B (1) a
   10268 
   10269 /(?|(?<a>A)|(?<b>B))/ 
   10270 Failed: different names for subpatterns of the same number are not allowed at offset 15
   10271 
   10272 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
   10273     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
   10274     (?('quote')[a-z]+|[0-9]+)/JIx
   10275 Capturing subpattern count = 6
   10276 Max back reference = 1
   10277 Named capturing subpatterns:
   10278   apostrophe   2
   10279   apostrophe   5
   10280   quote        1
   10281   quote        4
   10282   realquote    3
   10283   realquote    6
   10284 Options: extended dupnames
   10285 No first char
   10286 No need char
   10287     a"aaaaa
   10288  0: a"aaaaa
   10289  1: "
   10290  2: <unset>
   10291  3: "
   10292     b"aaaaa 
   10293  0: b"aaaaa
   10294  1: <unset>
   10295  2: <unset>
   10296  3: <unset>
   10297  4: "
   10298  5: <unset>
   10299  6: "
   10300     ** Failers 
   10301 No match
   10302     b"11111
   10303 No match
   10304     a"11111 
   10305 No match
   10306     
   10307 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
   10308 ------------------------------------------------------------------
   10309         Bra
   10310         ^
   10311         Bra
   10312         CBra 1
   10313         a
   10314         Ket
   10315         CBra 2
   10316         b
   10317         Ket
   10318         CBra 3
   10319         c
   10320         Ket
   10321         CBra 4
   10322         d
   10323         Ket
   10324         Alt
   10325         CBra 1
   10326         e
   10327         Ket
   10328         Ket
   10329         Cond
   10330         Cond ref <D>2
   10331         X
   10332         Alt
   10333         Y
   10334         Ket
   10335         Ket
   10336         End
   10337 ------------------------------------------------------------------
   10338 Capturing subpattern count = 4
   10339 Max back reference = 4
   10340 Named capturing subpatterns:
   10341   D   4
   10342   D   1
   10343 Options: anchored extended dupnames
   10344 No first char
   10345 No need char
   10346     abcdX
   10347  0: abcdX
   10348  1: a
   10349  2: b
   10350  3: c
   10351  4: d
   10352     eX
   10353  0: eX
   10354  1: e
   10355     ** Failers
   10356 No match
   10357     abcdY
   10358 No match
   10359     ey     
   10360 No match
   10361     
   10362 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
   10363 ------------------------------------------------------------------
   10364         Bra
   10365         CBra 1
   10366         a
   10367         Ket
   10368         CBra 2
   10369         b
   10370         Ket
   10371         CBra 3
   10372         c
   10373         Ket
   10374         CBra 4
   10375         d
   10376         Cond
   10377         Cond recurse <A>2
   10378         $
   10379         Alt
   10380         Recurse
   10381         Ket
   10382         Ket
   10383         Ket
   10384         End
   10385 ------------------------------------------------------------------
   10386 Capturing subpattern count = 4
   10387 Max back reference = 1
   10388 Named capturing subpatterns:
   10389   A   1
   10390   A   4
   10391 Options: extended dupnames
   10392 First char = 'a'
   10393 Need char = 'd'
   10394     abcdd
   10395  0: abcdd
   10396  1: a
   10397  2: b
   10398  3: c
   10399  4: dd
   10400     ** Failers
   10401 No match
   10402     abcdde  
   10403 No match
   10404 
   10405 /abcd*/
   10406     xxxxabcd\P
   10407  0: abcd
   10408     xxxxabcd\P\P
   10409 Partial match: abcd
   10410 
   10411 /abcd*/i
   10412     xxxxabcd\P
   10413  0: abcd
   10414     xxxxabcd\P\P
   10415 Partial match: abcd
   10416     XXXXABCD\P
   10417  0: ABCD
   10418     XXXXABCD\P\P
   10419 Partial match: ABCD
   10420 
   10421 /abc\d*/
   10422     xxxxabc1\P
   10423  0: abc1
   10424     xxxxabc1\P\P
   10425 Partial match: abc1
   10426 
   10427 /(a)bc\1*/
   10428     xxxxabca\P
   10429  0: abca
   10430  1: a
   10431     xxxxabca\P\P
   10432 Partial match: abca
   10433 
   10434 /abc[de]*/
   10435     xxxxabcde\P
   10436  0: abcde
   10437     xxxxabcde\P\P
   10438 Partial match: abcde
   10439 
   10440 /-- This is not in the Perl-compatible test because Perl seems currently to be
   10441     broken and not behaving as specified in that it *does* bumpalong after
   10442     hitting (*COMMIT). --/
   10443 
   10444 /(?1)(A(*COMMIT)|B)D/
   10445     ABD
   10446  0: ABD
   10447  1: B
   10448     XABD
   10449  0: ABD
   10450  1: B
   10451     BAD
   10452  0: BAD
   10453  1: A
   10454     ABXABD  
   10455  0: ABD
   10456  1: B
   10457     ** Failers 
   10458 No match
   10459     ABX 
   10460 No match
   10461     BAXBAD  
   10462 No match
   10463 
   10464 /(\3)(\1)(a)/<JS>
   10465     cat
   10466  0: a
   10467  1: 
   10468  2: 
   10469  3: a
   10470 
   10471 /(\3)(\1)(a)/SI<JS>
   10472 Capturing subpattern count = 3
   10473 Max back reference = 3
   10474 Options:
   10475 No first char
   10476 Need char = 'a'
   10477 Subject length lower bound = 1
   10478 No starting char list
   10479     cat
   10480  0: a
   10481  1: 
   10482  2: 
   10483  3: a
   10484 
   10485 /(\3)(\1)(a)/SI
   10486 Capturing subpattern count = 3
   10487 Max back reference = 3
   10488 No options
   10489 No first char
   10490 Need char = 'a'
   10491 Subject length lower bound = 3
   10492 No starting char list
   10493     cat
   10494 No match
   10495 
   10496 /i(?(DEFINE)(?<s>a))/SI
   10497 Capturing subpattern count = 1
   10498 Named capturing subpatterns:
   10499   s   1
   10500 No options
   10501 First char = 'i'
   10502 No need char
   10503 Subject length lower bound = 1
   10504 No starting char list
   10505     i
   10506  0: i
   10507     
   10508 /()i(?(1)a)/SI 
   10509 Capturing subpattern count = 1
   10510 Max back reference = 1
   10511 No options
   10512 No first char
   10513 Need char = 'i'
   10514 Subject length lower bound = 1
   10515 Starting chars: i 
   10516     ia
   10517  0: ia
   10518  1: 
   10519 
   10520 /(?i)a(?-i)b|c/BZ
   10521 ------------------------------------------------------------------
   10522         Bra
   10523      /i a
   10524         b
   10525         Alt
   10526         c
   10527         Ket
   10528         End
   10529 ------------------------------------------------------------------
   10530     XabX
   10531  0: ab
   10532     XAbX
   10533  0: Ab
   10534     CcC 
   10535  0: c
   10536     ** Failers
   10537 No match
   10538     XABX   
   10539 No match
   10540 
   10541 /(?i)a(?s)b|c/BZ
   10542 ------------------------------------------------------------------
   10543         Bra
   10544      /i ab
   10545         Alt
   10546      /i c
   10547         Ket
   10548         End
   10549 ------------------------------------------------------------------
   10550 
   10551 /(?i)a(?s-i)b|c/BZ
   10552 ------------------------------------------------------------------
   10553         Bra
   10554      /i a
   10555         b
   10556         Alt
   10557         c
   10558         Ket
   10559         End
   10560 ------------------------------------------------------------------
   10561 
   10562 /^(ab(c\1)d|x){2}$/BZ
   10563 ------------------------------------------------------------------
   10564         Bra
   10565         ^
   10566         Once
   10567         CBra 1
   10568         ab
   10569         CBra 2
   10570         c
   10571         \1
   10572         Ket
   10573         d
   10574         Alt
   10575         x
   10576         Ket
   10577         Ket
   10578         Once
   10579         CBra 1
   10580         ab
   10581         CBra 2
   10582         c
   10583         \1
   10584         Ket
   10585         d
   10586         Alt
   10587         x
   10588         Ket
   10589         Ket
   10590         $
   10591         Ket
   10592         End
   10593 ------------------------------------------------------------------
   10594     xabcxd
   10595  0: xabcxd
   10596  1: abcxd
   10597  2: cx
   10598     
   10599 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
   10600 ------------------------------------------------------------------
   10601         Bra
   10602         ^
   10603         Braposzero
   10604         SBraPos
   10605         Recurse
   10606         KetRpos
   10607         Cond
   10608         Cond def
   10609         CBra 1
   10610         Any
   10611         Ket
   10612         Ket
   10613         $
   10614         Ket
   10615         End
   10616 ------------------------------------------------------------------
   10617 
   10618 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
   10619 ------------------------------------------------------------------
   10620         Bra
   10621         ^
   10622         Brazero
   10623         Once
   10624         Recurse
   10625         KetRmax
   10626         Cond
   10627         Cond def
   10628         CBra 1
   10629         Any
   10630         Ket
   10631         Ket
   10632         $
   10633         Ket
   10634         End
   10635 ------------------------------------------------------------------
   10636 
   10637 / -- This one is here because Perl gives the match as "b" rather than "ab". I
   10638      believe this to be a Perl bug. --/  
   10639       
   10640 /(?>a\Kb)z|(ab)/
   10641     ab 
   10642  0: ab
   10643  1: ab
   10644 
   10645 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
   10646 Failed: recursive call could loop indefinitely at offset 31
   10647 
   10648 /abc(*MARK:)pqr/
   10649 Failed: (*MARK) must have an argument at offset 10
   10650 
   10651 /abc(*:)pqr/
   10652 Failed: (*MARK) must have an argument at offset 6
   10653 
   10654 /abc(*FAIL:123)xyz/
   10655 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
   10656 
   10657 /--- This should, and does, fail. In Perl, it does not, which I think is a 
   10658      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
   10659 
   10660 /A(*COMMIT)B/+K
   10661     ACABX
   10662 No match
   10663 
   10664 /--- These should be different, but in Perl they are not, which I think
   10665      is a bug in Perl. ---/
   10666 
   10667 /A(*THEN)B|A(*THEN)C/K
   10668     AC
   10669  0: AC
   10670 
   10671 /A(*PRUNE)B|A(*PRUNE)C/K
   10672     AC
   10673 No match
   10674     
   10675 /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
   10676 though PCRE does. ---/
   10677 
   10678 /^A(*:A)B|^X(*:A)Y/K
   10679     ** Failers
   10680 No match
   10681     XAQQ
   10682 No match, mark = A
   10683     
   10684 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
   10685 optimizations defeat this. So does the PCRE optimization unless we disable it 
   10686 with \Y. ---/
   10687 
   10688 /(*COMMIT)ABC/
   10689     ABCDEFG
   10690  0: ABC
   10691     ** Failers
   10692 No match
   10693     DEFGABC\Y  
   10694 No match
   10695     
   10696 /^(ab (c+(*THEN)cd) | xyz)/x
   10697     abcccd  
   10698 No match
   10699 
   10700 /^(ab (c+(*PRUNE)cd) | xyz)/x
   10701     abcccd  
   10702 No match
   10703 
   10704 /^(ab (c+(*FAIL)cd) | xyz)/x
   10705     abcccd  
   10706 No match
   10707     
   10708 /--- Perl gets some of these wrong ---/ 
   10709 
   10710 /(?>.(*ACCEPT))*?5/
   10711     abcde
   10712  0: a
   10713 
   10714 /(.(*ACCEPT))*?5/
   10715     abcde
   10716  0: a
   10717  1: a
   10718 
   10719 /(.(*ACCEPT))5/
   10720     abcde
   10721  0: a
   10722  1: a
   10723 
   10724 /(.(*ACCEPT))*5/
   10725     abcde
   10726  0: a
   10727  1: a
   10728 
   10729 /A\NB./BZ
   10730 ------------------------------------------------------------------
   10731         Bra
   10732         A
   10733         Any
   10734         B
   10735         Any
   10736         Ket
   10737         End
   10738 ------------------------------------------------------------------
   10739     ACBD
   10740  0: ACBD
   10741     *** Failers
   10742 No match
   10743     A\nB
   10744 No match
   10745     ACB\n   
   10746 No match
   10747 
   10748 /A\NB./sBZ
   10749 ------------------------------------------------------------------
   10750         Bra
   10751         A
   10752         Any
   10753         B
   10754         AllAny
   10755         Ket
   10756         End
   10757 ------------------------------------------------------------------
   10758     ACBD
   10759  0: ACBD
   10760     ACB\n 
   10761  0: ACB\x0a
   10762     *** Failers
   10763 No match
   10764     A\nB  
   10765 No match
   10766   
   10767 /A\NB/<crlf>
   10768     A\nB
   10769  0: A\x0aB
   10770     A\rB
   10771  0: A\x0dB
   10772     ** Failers
   10773 No match
   10774     A\r\nB    
   10775 No match
   10776 
   10777 /\R+b/BZ
   10778 ------------------------------------------------------------------
   10779         Bra
   10780         \R++
   10781         b
   10782         Ket
   10783         End
   10784 ------------------------------------------------------------------
   10785 
   10786 /\R+\n/BZ
   10787 ------------------------------------------------------------------
   10788         Bra
   10789         \R+
   10790         \x0a
   10791         Ket
   10792         End
   10793 ------------------------------------------------------------------
   10794 
   10795 /\R+\d/BZ
   10796 ------------------------------------------------------------------
   10797         Bra
   10798         \R++
   10799         \d
   10800         Ket
   10801         End
   10802 ------------------------------------------------------------------
   10803 
   10804 /\d*\R/BZ
   10805 ------------------------------------------------------------------
   10806         Bra
   10807         \d*+
   10808         \R
   10809         Ket
   10810         End
   10811 ------------------------------------------------------------------
   10812 
   10813 /\s*\R/BZ
   10814 ------------------------------------------------------------------
   10815         Bra
   10816         \s*
   10817         \R
   10818         Ket
   10819         End
   10820 ------------------------------------------------------------------
   10821     \x20\x0a
   10822  0:  \x0a
   10823     \x20\x0d
   10824  0:  \x0d
   10825     \x20\x0d\x0a
   10826  0:  \x0d\x0a
   10827 
   10828 /\S*\R/BZ
   10829 ------------------------------------------------------------------
   10830         Bra
   10831         \S*+
   10832         \R
   10833         Ket
   10834         End
   10835 ------------------------------------------------------------------
   10836     a\x0a
   10837  0: a\x0a
   10838 
   10839 /X\h*\R/BZ
   10840 ------------------------------------------------------------------
   10841         Bra
   10842         X
   10843         \h*+
   10844         \R
   10845         Ket
   10846         End
   10847 ------------------------------------------------------------------
   10848     X\x20\x0a
   10849  0: X \x0a
   10850 
   10851 /X\H*\R/BZ
   10852 ------------------------------------------------------------------
   10853         Bra
   10854         X
   10855         \H*
   10856         \R
   10857         Ket
   10858         End
   10859 ------------------------------------------------------------------
   10860     X\x0d\x0a
   10861  0: X\x0d\x0a
   10862 
   10863 /X\H+\R/BZ
   10864 ------------------------------------------------------------------
   10865         Bra
   10866         X
   10867         \H+
   10868         \R
   10869         Ket
   10870         End
   10871 ------------------------------------------------------------------
   10872     X\x0d\x0a
   10873  0: X\x0d\x0a
   10874 
   10875 /X\H++\R/BZ
   10876 ------------------------------------------------------------------
   10877         Bra
   10878         X
   10879         \H++
   10880         \R
   10881         Ket
   10882         End
   10883 ------------------------------------------------------------------
   10884     X\x0d\x0a
   10885 No match
   10886 
   10887 /(?<=abc)def/
   10888     abc\P\P
   10889 Partial match at offset 3: abc
   10890 
   10891 /abc$/
   10892     abc
   10893  0: abc
   10894     abc\P
   10895  0: abc
   10896     abc\P\P
   10897 Partial match: abc
   10898 
   10899 /abc$/m
   10900     abc
   10901  0: abc
   10902     abc\n
   10903  0: abc
   10904     abc\P\P
   10905 Partial match: abc
   10906     abc\n\P\P 
   10907  0: abc
   10908     abc\P
   10909  0: abc
   10910     abc\n\P
   10911  0: abc
   10912 
   10913 /abc\z/
   10914     abc
   10915  0: abc
   10916     abc\P
   10917  0: abc
   10918     abc\P\P
   10919 Partial match: abc
   10920 
   10921 /abc\Z/
   10922     abc
   10923  0: abc
   10924     abc\P
   10925  0: abc
   10926     abc\P\P
   10927 Partial match: abc
   10928 
   10929 /abc\b/
   10930     abc
   10931  0: abc
   10932     abc\P
   10933  0: abc
   10934     abc\P\P
   10935 Partial match: abc
   10936 
   10937 /abc\B/
   10938     abc
   10939 No match
   10940     abc\P
   10941 Partial match: abc
   10942     abc\P\P
   10943 Partial match: abc
   10944 
   10945 /.+/
   10946     abc\>0
   10947  0: abc
   10948     abc\>1
   10949  0: bc
   10950     abc\>2
   10951  0: c
   10952     abc\>3
   10953 No match
   10954     abc\>4
   10955 Error -24 (bad offset value)
   10956     abc\>-4 
   10957 Error -24 (bad offset value)
   10958 
   10959 /^\c/
   10960 Failed: \c must be followed by an ASCII character at offset 3
   10961 
   10962 /(?P<abn>(?P=abn)xxx)/BZ
   10963 ------------------------------------------------------------------
   10964         Bra
   10965         Once
   10966         CBra 1
   10967         \1
   10968         xxx
   10969         Ket
   10970         Ket
   10971         Ket
   10972         End
   10973 ------------------------------------------------------------------
   10974 
   10975 /(a\1z)/BZ
   10976 ------------------------------------------------------------------
   10977         Bra
   10978         Once
   10979         CBra 1
   10980         a
   10981         \1
   10982         z
   10983         Ket
   10984         Ket
   10985         Ket
   10986         End
   10987 ------------------------------------------------------------------
   10988 
   10989 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
   10990 Failed: syntax error in subpattern name (missing terminator) at offset 29
   10991 
   10992 /(?P<abn>(?P=axn)xxx)/BZ
   10993 Failed: reference to non-existent subpattern at offset 15
   10994 
   10995 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
   10996 ------------------------------------------------------------------
   10997         Bra
   10998         CBra 1
   10999         \2
   11000         xxx
   11001         Ket
   11002         CBra 2
   11003         yy
   11004         Ket
   11005         Ket
   11006         End
   11007 ------------------------------------------------------------------
   11008 
   11009 /-- These tests are here because Perl gets the first one wrong. --/
   11010 
   11011 /(\R*)(.)/s
   11012     \r\n
   11013  0: \x0d
   11014  1: 
   11015  2: \x0d
   11016     \r\r\n\n\r 
   11017  0: \x0d\x0d\x0a\x0a\x0d
   11018  1: \x0d\x0d\x0a\x0a
   11019  2: \x0d
   11020     \r\r\n\n\r\n 
   11021  0: \x0d\x0d\x0a\x0a\x0d
   11022  1: \x0d\x0d\x0a\x0a
   11023  2: \x0d
   11024 
   11025 /(\R)*(.)/s
   11026     \r\n
   11027  0: \x0d
   11028  1: <unset>
   11029  2: \x0d
   11030     \r\r\n\n\r 
   11031  0: \x0d\x0d\x0a\x0a\x0d
   11032  1: \x0a
   11033  2: \x0d
   11034     \r\r\n\n\r\n 
   11035  0: \x0d\x0d\x0a\x0a\x0d
   11036  1: \x0a
   11037  2: \x0d
   11038 
   11039 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
   11040     \r\n
   11041  0: \x0d
   11042  1: 
   11043  2: \x0d
   11044     \r\r\n\n\r 
   11045  0: \x0d\x0d\x0a\x0a\x0d
   11046  1: \x0d\x0d\x0a\x0a
   11047  2: \x0d
   11048     \r\r\n\n\r\n 
   11049  0: \x0d\x0d\x0a\x0a\x0d
   11050  1: \x0d\x0d\x0a\x0a
   11051  2: \x0d
   11052 
   11053 /-- --/
   11054 
   11055 /^abc$/BZ
   11056 ------------------------------------------------------------------
   11057         Bra
   11058         ^
   11059         abc
   11060         $
   11061         Ket
   11062         End
   11063 ------------------------------------------------------------------
   11064 
   11065 /^abc$/BZm
   11066 ------------------------------------------------------------------
   11067         Bra
   11068      /m ^
   11069         abc
   11070      /m $
   11071         Ket
   11072         End
   11073 ------------------------------------------------------------------
   11074 
   11075 /^(a)*+(\w)/S
   11076     aaaaX
   11077  0: aaaaX
   11078  1: a
   11079  2: X
   11080     ** Failers 
   11081 No match
   11082     aaaa
   11083 No match
   11084 
   11085 /^(?:a)*+(\w)/S
   11086     aaaaX
   11087  0: aaaaX
   11088  1: X
   11089     ** Failers 
   11090 No match
   11091     aaaa
   11092 No match
   11093 
   11094 /(a)++1234/SDZ
   11095 ------------------------------------------------------------------
   11096         Bra
   11097         CBraPos 1
   11098         a
   11099         KetRpos
   11100         1234
   11101         Ket
   11102         End
   11103 ------------------------------------------------------------------
   11104 Capturing subpattern count = 1
   11105 No options
   11106 First char = 'a'
   11107 Need char = '4'
   11108 Subject length lower bound = 5
   11109 No starting char list
   11110 
   11111 /([abc])++1234/SI
   11112 Capturing subpattern count = 1
   11113 No options
   11114 No first char
   11115 Need char = '4'
   11116 Subject length lower bound = 5
   11117 Starting chars: a b c 
   11118 
   11119 /(?<=(abc)+)X/
   11120 Failed: lookbehind assertion is not fixed length at offset 10
   11121 
   11122 /(^ab)/I
   11123 Capturing subpattern count = 1
   11124 Options: anchored
   11125 No first char
   11126 No need char
   11127 
   11128 /(^ab)++/I
   11129 Capturing subpattern count = 1
   11130 Options: anchored
   11131 No first char
   11132 No need char
   11133 
   11134 /(^ab|^)+/I
   11135 Capturing subpattern count = 1
   11136 May match empty string
   11137 Options: anchored
   11138 No first char
   11139 No need char
   11140 
   11141 /(^ab|^)++/I
   11142 Capturing subpattern count = 1
   11143 May match empty string
   11144 Options: anchored
   11145 No first char
   11146 No need char
   11147 
   11148 /(?:^ab)/I
   11149 Capturing subpattern count = 0
   11150 Options: anchored
   11151 No first char
   11152 No need char
   11153 
   11154 /(?:^ab)++/I
   11155 Capturing subpattern count = 0
   11156 Options: anchored
   11157 No first char
   11158 No need char
   11159 
   11160 /(?:^ab|^)+/I
   11161 Capturing subpattern count = 0
   11162 May match empty string
   11163 Options: anchored
   11164 No first char
   11165 No need char
   11166 
   11167 /(?:^ab|^)++/I
   11168 Capturing subpattern count = 0
   11169 May match empty string
   11170 Options: anchored
   11171 No first char
   11172 No need char
   11173 
   11174 /(.*ab)/I
   11175 Capturing subpattern count = 1
   11176 No options
   11177 First char at start or follows newline
   11178 Need char = 'b'
   11179 
   11180 /(.*ab)++/I
   11181 Capturing subpattern count = 1
   11182 No options
   11183 First char at start or follows newline
   11184 Need char = 'b'
   11185 
   11186 /(.*ab|.*)+/I
   11187 Capturing subpattern count = 1
   11188 May match empty string
   11189 No options
   11190 First char at start or follows newline
   11191 No need char
   11192 
   11193 /(.*ab|.*)++/I
   11194 Capturing subpattern count = 1
   11195 May match empty string
   11196 No options
   11197 First char at start or follows newline
   11198 No need char
   11199 
   11200 /(?:.*ab)/I
   11201 Capturing subpattern count = 0
   11202 No options
   11203 First char at start or follows newline
   11204 Need char = 'b'
   11205 
   11206 /(?:.*ab)++/I
   11207 Capturing subpattern count = 0
   11208 No options
   11209 First char at start or follows newline
   11210 Need char = 'b'
   11211 
   11212 /(?:.*ab|.*)+/I
   11213 Capturing subpattern count = 0
   11214 May match empty string
   11215 No options
   11216 First char at start or follows newline
   11217 No need char
   11218 
   11219 /(?:.*ab|.*)++/I
   11220 Capturing subpattern count = 0
   11221 May match empty string
   11222 No options
   11223 First char at start or follows newline
   11224 No need char
   11225 
   11226 /(?=a)[bcd]/I
   11227 Capturing subpattern count = 0
   11228 No options
   11229 First char = 'a'
   11230 No need char
   11231 
   11232 /((?=a))[bcd]/I
   11233 Capturing subpattern count = 1
   11234 No options
   11235 First char = 'a'
   11236 No need char
   11237 
   11238 /((?=a))+[bcd]/I
   11239 Capturing subpattern count = 1
   11240 No options
   11241 First char = 'a'
   11242 No need char
   11243 
   11244 /((?=a))++[bcd]/I
   11245 Capturing subpattern count = 1
   11246 No options
   11247 First char = 'a'
   11248 No need char
   11249 
   11250 /(?=a+)[bcd]/iI
   11251 Capturing subpattern count = 0
   11252 Options: caseless
   11253 First char = 'a' (caseless)
   11254 No need char
   11255 
   11256 /(?=a+?)[bcd]/iI
   11257 Capturing subpattern count = 0
   11258 Options: caseless
   11259 First char = 'a' (caseless)
   11260 No need char
   11261 
   11262 /(?=a++)[bcd]/iI
   11263 Capturing subpattern count = 0
   11264 Options: caseless
   11265 First char = 'a' (caseless)
   11266 No need char
   11267 
   11268 /(?=a{3})[bcd]/iI
   11269 Capturing subpattern count = 0
   11270 Options: caseless
   11271 First char = 'a' (caseless)
   11272 Need char = 'a' (caseless)
   11273 
   11274 /(abc)\1+/S
   11275 
   11276 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
   11277 
   11278 /(?1)(?:(b(*ACCEPT))){0}/
   11279     b
   11280  0: b
   11281 
   11282 /(?1)(?:(b(*ACCEPT))){0}c/
   11283     bc
   11284  0: bc
   11285     ** Failers 
   11286 No match
   11287     b 
   11288 No match
   11289 
   11290 /(?1)(?:((*ACCEPT))){0}c/
   11291     c
   11292  0: c
   11293     c\N 
   11294  0: c
   11295 
   11296 /^.*?(?(?=a)a|b(*THEN)c)/
   11297     ba
   11298 No match
   11299 
   11300 /^.*?(?(?=a)a|bc)/
   11301     ba
   11302  0: ba
   11303 
   11304 /^.*?(?(?=a)a(*THEN)b|c)/
   11305     ac
   11306 No match
   11307 
   11308 /^.*?(?(?=a)a(*THEN)b)c/
   11309     ac
   11310 No match
   11311 
   11312 /^.*?(a(*THEN)b)c/
   11313     aabc
   11314 No match
   11315     
   11316 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
   11317     aabc
   11318  0: aabc
   11319 
   11320 /^.*?(a(*THEN)b|z)c/
   11321     aabc
   11322  0: aabc
   11323  1: ab
   11324 
   11325 /^.*?(z|a(*THEN)b)c/
   11326     aabc
   11327  0: aabc
   11328  1: ab
   11329 
   11330 /-- --/
   11331 
   11332 /-- These studied versions are here because they are not Perl-compatible; the
   11333     studying means the mark is not seen. --/
   11334 
   11335 /(*MARK:A)(*SKIP:B)(C|X)/KS
   11336     C
   11337  0: C
   11338  1: C
   11339 MK: A
   11340     D
   11341 No match, mark = A
   11342      
   11343 /(*:A)A+(*SKIP:A)(B|Z)/KS
   11344     AAAC
   11345 No match, mark = A
   11346 
   11347 /-- --/
   11348 
   11349 "(?=a*(*ACCEPT)b)c"
   11350     c
   11351  0: c
   11352     c\N 
   11353  0: c
   11354     
   11355 /(?1)c(?(DEFINE)((*ACCEPT)b))/
   11356     c
   11357  0: c
   11358     c\N  
   11359  0: c
   11360     
   11361 /(?>(*ACCEPT)b)c/
   11362     c
   11363  0: 
   11364     c\N  
   11365 No match
   11366 
   11367 /(?:(?>(a)))+a%/++
   11368     %aa%
   11369  0: aa%
   11370  0+ 
   11371  1: a
   11372  1+ a%
   11373 
   11374 /(a)b|ac/++SS
   11375     ac\O3
   11376  0: ac
   11377  0+ 
   11378     
   11379 /(a)(b)x|abc/++
   11380      abc\O6
   11381  0: abc
   11382  0+ 
   11383 
   11384 /(a)bc|(a)(b)\2/
   11385     \O3abc
   11386 Matched, but too many substrings
   11387  0: abc
   11388     \O4abc 
   11389 Matched, but too many substrings
   11390  0: abc
   11391 
   11392 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
   11393 Capturing subpattern count = 2
   11394 No options
   11395 No first char
   11396 No need char
   11397 Subject length lower bound = 1
   11398 No starting char list
   11399 
   11400 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
   11401 Capturing subpattern count = 2
   11402 No options
   11403 No first char
   11404 No need char
   11405 Subject length lower bound = 3
   11406 Starting chars: a b 
   11407 
   11408 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
   11409 Capturing subpattern count = 2
   11410 No options
   11411 No first char
   11412 No need char
   11413 Subject length lower bound = 4
   11414 Starting chars: a b 
   11415 
   11416 /(abc)(?1)/SI
   11417 Capturing subpattern count = 1
   11418 No options
   11419 First char = 'a'
   11420 Need char = 'c'
   11421 Subject length lower bound = 6
   11422 No starting char list
   11423 
   11424 /^(?>a)++/
   11425     aa\M
   11426 Minimum match() limit = 5
   11427 Minimum match() recursion limit = 2
   11428  0: aa
   11429     aaaaaaaaa\M 
   11430 Minimum match() limit = 12
   11431 Minimum match() recursion limit = 2
   11432  0: aaaaaaaaa
   11433     
   11434 /(a)(?1)++/
   11435     aa\M
   11436 Minimum match() limit = 7
   11437 Minimum match() recursion limit = 4
   11438  0: aa
   11439  1: a
   11440     aaaaaaaaa\M  
   11441 Minimum match() limit = 21
   11442 Minimum match() recursion limit = 4
   11443  0: aaaaaaaaa
   11444  1: a
   11445 
   11446 /(?:(foo)|(bar)|(baz))X/SS=
   11447     bazfooX
   11448  0: fooX
   11449  1: foo
   11450  2: <unset>
   11451  3: <unset>
   11452     foobazbarX
   11453  0: barX
   11454  1: <unset>
   11455  2: bar
   11456  3: <unset>
   11457     barfooX
   11458  0: fooX
   11459  1: foo
   11460  2: <unset>
   11461  3: <unset>
   11462     bazX
   11463  0: bazX
   11464  1: <unset>
   11465  2: <unset>
   11466  3: baz
   11467     foobarbazX    
   11468  0: bazX
   11469  1: <unset>
   11470  2: <unset>
   11471  3: baz
   11472     bazfooX\O0
   11473 Matched, but too many substrings
   11474     bazfooX\O2
   11475 Matched, but too many substrings
   11476  0: fooX
   11477     bazfooX\O4
   11478 Matched, but too many substrings
   11479  0: fooX
   11480  1: <unset>
   11481     bazfooX\O6
   11482 Matched, but too many substrings
   11483  0: fooX
   11484  1: foo
   11485  2: <unset>
   11486     bazfooX\O8
   11487 Matched, but too many substrings
   11488  0: fooX
   11489  1: foo
   11490  2: <unset>
   11491  3: <unset>
   11492     bazfooX\O10
   11493  0: fooX
   11494  1: foo
   11495  2: <unset>
   11496  3: <unset>
   11497 
   11498 /(?=abc){3}abc/BZ
   11499 ------------------------------------------------------------------
   11500         Bra
   11501         Assert
   11502         abc
   11503         Ket
   11504         abc
   11505         Ket
   11506         End
   11507 ------------------------------------------------------------------
   11508 
   11509 /(?=abc)+abc/BZ
   11510 ------------------------------------------------------------------
   11511         Bra
   11512         Assert
   11513         abc
   11514         Ket
   11515         abc
   11516         Ket
   11517         End
   11518 ------------------------------------------------------------------
   11519 
   11520 /(?=abc)++abc/BZ
   11521 ------------------------------------------------------------------
   11522         Bra
   11523         Assert
   11524         abc
   11525         Ket
   11526         abc
   11527         Ket
   11528         End
   11529 ------------------------------------------------------------------
   11530 
   11531 /(?=abc){0}xyz/BZ
   11532 ------------------------------------------------------------------
   11533         Bra
   11534         Skip zero
   11535         Assert
   11536         abc
   11537         Ket
   11538         xyz
   11539         Ket
   11540         End
   11541 ------------------------------------------------------------------
   11542 
   11543 /(?=(a))?./BZ
   11544 ------------------------------------------------------------------
   11545         Bra
   11546         Brazero
   11547         Assert
   11548         CBra 1
   11549         a
   11550         Ket
   11551         Ket
   11552         Any
   11553         Ket
   11554         End
   11555 ------------------------------------------------------------------
   11556 
   11557 /(?=(a))??./BZ
   11558 ------------------------------------------------------------------
   11559         Bra
   11560         Braminzero
   11561         Assert
   11562         CBra 1
   11563         a
   11564         Ket
   11565         Ket
   11566         Any
   11567         Ket
   11568         End
   11569 ------------------------------------------------------------------
   11570 
   11571 /^(?=(a)){0}b(?1)/BZ
   11572 ------------------------------------------------------------------
   11573         Bra
   11574         ^
   11575         Skip zero
   11576         Assert
   11577         CBra 1
   11578         a
   11579         Ket
   11580         Ket
   11581         b
   11582         Recurse
   11583         Ket
   11584         End
   11585 ------------------------------------------------------------------
   11586 
   11587 /(?(DEFINE)(a))?b(?1)/BZ
   11588 ------------------------------------------------------------------
   11589         Bra
   11590         Cond
   11591         Cond def
   11592         CBra 1
   11593         a
   11594         Ket
   11595         Ket
   11596         b
   11597         Recurse
   11598         Ket
   11599         End
   11600 ------------------------------------------------------------------
   11601 
   11602 /^(?=(?1))?[az]([abc])d/BZ
   11603 ------------------------------------------------------------------
   11604         Bra
   11605         ^
   11606         Brazero
   11607         Assert
   11608         Recurse
   11609         Ket
   11610         [az]
   11611         CBra 1
   11612         [a-c]
   11613         Ket
   11614         d
   11615         Ket
   11616         End
   11617 ------------------------------------------------------------------
   11618 
   11619 /^(?!a){0}\w+/BZ
   11620 ------------------------------------------------------------------
   11621         Bra
   11622         ^
   11623         Skip zero
   11624         Assert not
   11625         a
   11626         Ket
   11627         \w++
   11628         Ket
   11629         End
   11630 ------------------------------------------------------------------
   11631 
   11632 /(?<=(abc))?xyz/BZ
   11633 ------------------------------------------------------------------
   11634         Bra
   11635         Brazero
   11636         AssertB
   11637         Reverse
   11638         CBra 1
   11639         abc
   11640         Ket
   11641         Ket
   11642         xyz
   11643         Ket
   11644         End
   11645 ------------------------------------------------------------------
   11646 
   11647 /[:a[:abc]b:]/BZ
   11648 ------------------------------------------------------------------
   11649         Bra
   11650         [:[a-c]
   11651         b:]
   11652         Ket
   11653         End
   11654 ------------------------------------------------------------------
   11655 
   11656 /((?2))((?1))/SS
   11657     abc
   11658 Error -26 (nested recursion at the same subject position)
   11659 
   11660 /((?(R2)a+|(?1)b))/SS
   11661     aaaabcde
   11662 Error -26 (nested recursion at the same subject position)
   11663 
   11664 /(?(R)a*(?1)|((?R))b)/SS
   11665     aaaabcde
   11666 Error -26 (nested recursion at the same subject position)
   11667 
   11668 /(a+|(?R)b)/
   11669 Failed: recursive call could loop indefinitely at offset 7
   11670 
   11671 /^(a(*:A)(d|e(*:B))z|aeq)/C
   11672     adz
   11673 --->adz
   11674  +0 ^       ^
   11675  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
   11676  +2 ^       a
   11677  +3 ^^      (*:A)
   11678  +8 ^^      (d|e(*:B))
   11679 Latest Mark: A
   11680  +9 ^^      d
   11681 +10 ^ ^     |
   11682 +18 ^ ^     z
   11683 +19 ^  ^    |
   11684 +24 ^  ^    
   11685  0: adz
   11686  1: adz
   11687  2: d
   11688     aez
   11689 --->aez
   11690  +0 ^       ^
   11691  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
   11692  +2 ^       a
   11693  +3 ^^      (*:A)
   11694  +8 ^^      (d|e(*:B))
   11695 Latest Mark: A
   11696  +9 ^^      d
   11697 +11 ^^      e
   11698 +12 ^ ^     (*:B)
   11699 +17 ^ ^     )
   11700 Latest Mark: B
   11701 +18 ^ ^     z
   11702 +19 ^  ^    |
   11703 +24 ^  ^    
   11704  0: aez
   11705  1: aez
   11706  2: e
   11707     aeqwerty
   11708 --->aeqwerty
   11709  +0 ^            ^
   11710  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
   11711  +2 ^            a
   11712  +3 ^^           (*:A)
   11713  +8 ^^           (d|e(*:B))
   11714 Latest Mark: A
   11715  +9 ^^           d
   11716 +11 ^^           e
   11717 +12 ^ ^          (*:B)
   11718 +17 ^ ^          )
   11719 Latest Mark: B
   11720 +18 ^ ^          z
   11721 +20 ^            a
   11722 +21 ^^           e
   11723 +22 ^ ^          q
   11724 +23 ^  ^         )
   11725 +24 ^  ^         
   11726  0: aeq
   11727  1: aeq
   11728 
   11729 /.(*F)/
   11730     \P\Pabc
   11731 No match
   11732 
   11733 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
   11734 Capturing subpattern count = 0
   11735 Max lookbehind = 1
   11736 No options
   11737 First char = 't'
   11738 Need char = 't'
   11739 Subject length lower bound = 18
   11740 No starting char list
   11741 
   11742 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
   11743 Capturing subpattern count = 0
   11744 Max lookbehind = 1
   11745 No options
   11746 No first char
   11747 No need char
   11748 Subject length lower bound = 8
   11749 Starting chars: < o t u 
   11750 
   11751 /a(*SKIP)c|b(*ACCEPT)|/+S!I
   11752 Capturing subpattern count = 0
   11753 May match empty string
   11754 No options
   11755 No first char
   11756 No need char
   11757 Subject length lower bound = -1
   11758 No starting char list
   11759     a
   11760  0: 
   11761  0+ 
   11762 
   11763 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
   11764 Capturing subpattern count = 0
   11765 No options
   11766 No first char
   11767 No need char
   11768 Subject length lower bound = -1
   11769 Starting chars: a b x 
   11770     ax
   11771  0: x
   11772 
   11773 'a*(*ACCEPT)b'+
   11774     \N\N
   11775 No match
   11776     abc\N\N
   11777  0: a
   11778  0+ bc
   11779     bbb\N\N 
   11780  0: 
   11781  0+ bb
   11782 
   11783 /(*ACCEPT)a/+I
   11784 Capturing subpattern count = 0
   11785 No options
   11786 No first char
   11787 No need char
   11788     bax
   11789  0: 
   11790  0+ bax
   11791 
   11792 /z(*ACCEPT)a/+I
   11793 Capturing subpattern count = 0
   11794 No options
   11795 First char = 'z'
   11796 No need char
   11797     baxzbx
   11798  0: z
   11799  0+ bx
   11800 
   11801 /a(?:.)*?a/ims                                                                  
   11802     \Mabbbbbbbbbbbbbbbbbbbbba
   11803 Minimum match() limit = 65
   11804 Minimum match() recursion limit = 2
   11805  0: abbbbbbbbbbbbbbbbbbbbba
   11806     
   11807 /a(?:.(*THEN))*?a/ims
   11808     \Mabbbbbbbbbbbbbbbbbbbbba
   11809 Minimum match() limit = 86
   11810 Minimum match() recursion limit = 45
   11811  0: abbbbbbbbbbbbbbbbbbbbba
   11812 
   11813 /a(?:.(*THEN:ABC))*?a/ims
   11814     \Mabbbbbbbbbbbbbbbbbbbbba
   11815 Minimum match() limit = 86
   11816 Minimum match() recursion limit = 45
   11817  0: abbbbbbbbbbbbbbbbbbbbba
   11818 
   11819 /^(?>a+)(?>(z+))\w/BZ
   11820 ------------------------------------------------------------------
   11821         Bra
   11822         ^
   11823         Once_NC
   11824         a++
   11825         Ket
   11826         Once
   11827         CBra 1
   11828         z++
   11829         Ket
   11830         Ket
   11831         \w
   11832         Ket
   11833         End
   11834 ------------------------------------------------------------------
   11835     aaaazzzzb
   11836  0: aaaazzzzb
   11837  1: zzzz
   11838     ** Failers
   11839 No match
   11840     aazz  
   11841 No match
   11842 
   11843 /(.)(\1|a(?2))/
   11844     bab
   11845  0: bab
   11846  1: b
   11847  2: ab
   11848     
   11849 /\1|(.)(?R)\1/
   11850     cbbbc
   11851  0: cbbbc
   11852  1: c
   11853     
   11854 /(.)((?(1)c|a)|a(?2))/
   11855     baa  
   11856 No match
   11857 
   11858 /(?P<abn>(?P=abn)xxx)/BZ
   11859 ------------------------------------------------------------------
   11860         Bra
   11861         Once
   11862         CBra 1
   11863         \1
   11864         xxx
   11865         Ket
   11866         Ket
   11867         Ket
   11868         End
   11869 ------------------------------------------------------------------
   11870 
   11871 /(a\1z)/BZ
   11872 ------------------------------------------------------------------
   11873         Bra
   11874         Once
   11875         CBra 1
   11876         a
   11877         \1
   11878         z
   11879         Ket
   11880         Ket
   11881         Ket
   11882         End
   11883 ------------------------------------------------------------------
   11884 
   11885 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
   11886      \Maabbccddee
   11887 Minimum match() limit = 7
   11888 Minimum match() recursion limit = 2
   11889  0: aabbccddee
   11890 
   11891 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
   11892      \Maabbccddee
   11893 Minimum match() limit = 17
   11894 Minimum match() recursion limit = 16
   11895  0: aabbccddee
   11896  1: aa
   11897  2: bb
   11898  3: cc
   11899  4: dd
   11900  5: ee
   11901 
   11902 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
   11903      \Maabbccddee
   11904 Minimum match() limit = 13
   11905 Minimum match() recursion limit = 10
   11906  0: aabbccddee
   11907  1: aa
   11908  2: cc
   11909  3: ee
   11910 
   11911 /^a\x41z/<JS>
   11912     aAz
   11913  0: aAz
   11914     *** Failers
   11915 No match
   11916     ax41z
   11917 No match
   11918 
   11919 /^a[m\x41]z/<JS>
   11920     aAz
   11921  0: aAz
   11922 
   11923 /^a\x1z/<JS>
   11924     ax1z
   11925  0: ax1z
   11926 
   11927 /^a\u0041z/<JS>
   11928     aAz
   11929  0: aAz
   11930     *** Failers
   11931 No match
   11932     au0041z
   11933 No match
   11934 
   11935 /^a[m\u0041]z/<JS>
   11936     aAz
   11937  0: aAz
   11938 
   11939 /^a\u041z/<JS>
   11940     au041z
   11941  0: au041z
   11942     *** Failers
   11943 No match
   11944     aAz
   11945 No match
   11946 
   11947 /^a\U0041z/<JS>
   11948     aU0041z
   11949  0: aU0041z
   11950     *** Failers
   11951 No match
   11952     aAz
   11953 No match
   11954 
   11955 /(?(?=c)c|d)++Y/BZ
   11956 ------------------------------------------------------------------
   11957         Bra
   11958         BraPos
   11959         Cond
   11960         Assert
   11961         c
   11962         Ket
   11963         c
   11964         Alt
   11965         d
   11966         Ket
   11967         KetRpos
   11968         Y
   11969         Ket
   11970         End
   11971 ------------------------------------------------------------------
   11972 
   11973 /(?(?=c)c|d)*+Y/BZ
   11974 ------------------------------------------------------------------
   11975         Bra
   11976         Braposzero
   11977         BraPos
   11978         Cond
   11979         Assert
   11980         c
   11981         Ket
   11982         c
   11983         Alt
   11984         d
   11985         Ket
   11986         KetRpos
   11987         Y
   11988         Ket
   11989         End
   11990 ------------------------------------------------------------------
   11991 
   11992 /a[\NB]c/
   11993 Failed: \N is not supported in a class at offset 3
   11994 
   11995 /a[B-\Nc]/ 
   11996 Failed: invalid range in character class at offset 5
   11997 
   11998 /a[B\Nc]/ 
   11999 Failed: \N is not supported in a class at offset 4
   12000 
   12001 /(a)(?2){0,1999}?(b)/
   12002 
   12003 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
   12004 
   12005 /--- This test, with something more complicated than individual letters, causes
   12006 different behaviour in Perl. Perhaps it disables some optimization; no tag is
   12007 passed back for the failures, whereas in PCRE there is a tag. ---/
   12008     
   12009 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
   12010     AABC
   12011  0: AB
   12012  1: A
   12013  2: B
   12014 MK: A
   12015     XXYZ 
   12016  0: XXY
   12017  1: <unset>
   12018  2: <unset>
   12019  3: X
   12020  4: X
   12021  5: Y
   12022 MK: B
   12023     ** Failers
   12024 No match
   12025     XAQQ  
   12026 No match, mark = A
   12027     XAQQXZZ  
   12028 No match, mark = A
   12029     AXQQQ 
   12030 No match, mark = A
   12031     AXXQQQ 
   12032 No match, mark = B
   12033 
   12034 /-- Perl doesn't give marks for these, though it does if the alternatives are
   12035 replaced by single letters. --/
   12036     
   12037 /(b|q)(*:m)f|a(*:n)w/K
   12038     aw 
   12039  0: aw
   12040 MK: n
   12041     ** Failers 
   12042 No match, mark = n
   12043     abc
   12044 No match, mark = m
   12045 
   12046 /(q|b)(*:m)f|a(*:n)w/K
   12047     aw 
   12048  0: aw
   12049 MK: n
   12050     ** Failers 
   12051 No match, mark = n
   12052     abc
   12053 No match, mark = m
   12054 
   12055 /-- After a partial match, the behaviour is as for a failure. --/
   12056 
   12057 /^a(*:X)bcde/K
   12058    abc\P
   12059 Partial match, mark=X: abc
   12060    
   12061 /-- These are here because Perl doesn't return a mark, except for the first --/
   12062 
   12063 /(?=(*:x))(q|)/K+
   12064     abc
   12065  0: 
   12066  0+ abc
   12067  1: 
   12068 MK: x
   12069 
   12070 /(?=(*:x))((*:y)q|)/K+
   12071     abc
   12072  0: 
   12073  0+ abc
   12074  1: 
   12075 MK: x
   12076 
   12077 /(?=(*:x))(?:(*:y)q|)/K+
   12078     abc
   12079  0: 
   12080  0+ abc
   12081 MK: x
   12082 
   12083 /(?=(*:x))(?>(*:y)q|)/K+
   12084     abc
   12085  0: 
   12086  0+ abc
   12087 MK: x
   12088 
   12089 /(?=a(*:x))(?!a(*:y)c)/K+
   12090     ab
   12091  0: 
   12092  0+ ab
   12093 MK: x
   12094 
   12095 /(?=a(*:x))(?=a(*:y)c|)/K+
   12096     ab
   12097  0: 
   12098  0+ ab
   12099 MK: x
   12100 
   12101 /(..)\1/
   12102     ab\P
   12103 Partial match: ab
   12104     aba\P
   12105 Partial match: aba
   12106     abab\P
   12107  0: abab
   12108  1: ab
   12109 
   12110 /(..)\1/i
   12111     ab\P
   12112 Partial match: ab
   12113     abA\P
   12114 Partial match: abA
   12115     aBAb\P
   12116  0: aBAb
   12117  1: aB
   12118 
   12119 /(..)\1{2,}/
   12120     ab\P
   12121 Partial match: ab
   12122     aba\P
   12123 Partial match: aba
   12124     abab\P
   12125 Partial match: abab
   12126     ababa\P
   12127 Partial match: ababa
   12128     ababab\P
   12129  0: ababab
   12130  1: ab
   12131     ababab\P\P
   12132 Partial match: ababab
   12133     abababa\P
   12134  0: ababab
   12135  1: ab
   12136     abababa\P\P
   12137 Partial match: abababa
   12138 
   12139 /(..)\1{2,}/i
   12140     ab\P
   12141 Partial match: ab
   12142     aBa\P
   12143 Partial match: aBa
   12144     aBAb\P
   12145 Partial match: aBAb
   12146     AbaBA\P
   12147 Partial match: AbaBA
   12148     abABAb\P
   12149  0: abABAb
   12150  1: ab
   12151     aBAbaB\P\P
   12152 Partial match: aBAbaB
   12153     abABabA\P
   12154  0: abABab
   12155  1: ab
   12156     abaBABa\P\P
   12157 Partial match: abaBABa
   12158 
   12159 /(..)\1{2,}?x/i
   12160     ab\P
   12161 Partial match: ab
   12162     abA\P
   12163 Partial match: abA
   12164     aBAb\P
   12165 Partial match: aBAb
   12166     abaBA\P
   12167 Partial match: abaBA
   12168     abAbaB\P
   12169 Partial match: abAbaB
   12170     abaBabA\P
   12171 Partial match: abaBabA
   12172     abAbABaBx\P
   12173  0: abAbABaBx
   12174  1: ab
   12175 
   12176 /^(..)\1/
   12177     aba\P
   12178 Partial match: aba
   12179 
   12180 /^(..)\1{2,3}x/
   12181     aba\P
   12182 Partial match: aba
   12183     ababa\P
   12184 Partial match: ababa
   12185     ababa\P\P
   12186 Partial match: ababa
   12187     abababx
   12188  0: abababx
   12189  1: ab
   12190     ababababx  
   12191  0: ababababx
   12192  1: ab
   12193 
   12194 /^(..)\1{2,3}?x/
   12195     aba\P
   12196 Partial match: aba
   12197     ababa\P
   12198 Partial match: ababa
   12199     ababa\P\P
   12200 Partial match: ababa
   12201     abababx
   12202  0: abababx
   12203  1: ab
   12204     ababababx  
   12205  0: ababababx
   12206  1: ab
   12207     
   12208 /^(..)(\1{2,3})ab/
   12209     abababab
   12210  0: abababab
   12211  1: ab
   12212  2: abab
   12213 
   12214 /^\R/
   12215     \r\P
   12216  0: \x0d
   12217     \r\P\P
   12218 Partial match: \x0d
   12219     
   12220 /^\R{2,3}x/
   12221     \r\P
   12222 Partial match: \x0d
   12223     \r\P\P
   12224 Partial match: \x0d
   12225     \r\r\P 
   12226 Partial match: \x0d\x0d
   12227     \r\r\P\P
   12228 Partial match: \x0d\x0d
   12229     \r\r\r\P  
   12230 Partial match: \x0d\x0d\x0d
   12231     \r\r\r\P\P
   12232 Partial match: \x0d\x0d\x0d
   12233     \r\rx
   12234  0: \x0d\x0dx
   12235     \r\r\rx    
   12236  0: \x0d\x0d\x0dx
   12237 
   12238 /^\R{2,3}?x/
   12239     \r\P
   12240 Partial match: \x0d
   12241     \r\P\P
   12242 Partial match: \x0d
   12243     \r\r\P 
   12244 Partial match: \x0d\x0d
   12245     \r\r\P\P
   12246 Partial match: \x0d\x0d
   12247     \r\r\r\P  
   12248 Partial match: \x0d\x0d\x0d
   12249     \r\r\r\P\P
   12250 Partial match: \x0d\x0d\x0d
   12251     \r\rx
   12252  0: \x0d\x0dx
   12253     \r\r\rx    
   12254  0: \x0d\x0d\x0dx
   12255     
   12256 /^\R?x/
   12257     \r\P
   12258 Partial match: \x0d
   12259     \r\P\P 
   12260 Partial match: \x0d
   12261     x
   12262  0: x
   12263     \rx  
   12264  0: \x0dx
   12265 
   12266 /^\R+x/
   12267     \r\P
   12268 Partial match: \x0d
   12269     \r\P\P 
   12270 Partial match: \x0d
   12271     \r\n\P
   12272 Partial match: \x0d\x0a
   12273     \r\n\P\P  
   12274 Partial match: \x0d\x0a
   12275     \rx  
   12276  0: \x0dx
   12277 
   12278 /^a$/<CRLF>
   12279     a\r\P
   12280 Partial match: a\x0d
   12281     a\r\P\P 
   12282 Partial match: a\x0d
   12283 
   12284 /^a$/m<CRLF>
   12285     a\r\P
   12286 Partial match: a\x0d
   12287     a\r\P\P 
   12288 Partial match: a\x0d
   12289 
   12290 /^(a$|a\r)/<CRLF>
   12291     a\r\P
   12292  0: a\x0d
   12293  1: a\x0d
   12294     a\r\P\P 
   12295 Partial match: a\x0d
   12296 
   12297 /^(a$|a\r)/m<CRLF>
   12298     a\r\P
   12299  0: a\x0d
   12300  1: a\x0d
   12301     a\r\P\P 
   12302 Partial match: a\x0d
   12303 
   12304 /./<CRLF>
   12305     \r\P
   12306  0: \x0d
   12307     \r\P\P 
   12308 Partial match: \x0d
   12309   
   12310 /.{2,3}/<CRLF>
   12311     \r\P 
   12312 Partial match: \x0d
   12313     \r\P\P
   12314 Partial match: \x0d
   12315     \r\r\P
   12316  0: \x0d\x0d
   12317     \r\r\P\P
   12318 Partial match: \x0d\x0d
   12319     \r\r\r\P
   12320  0: \x0d\x0d\x0d
   12321     \r\r\r\P\P     
   12322 Partial match: \x0d\x0d\x0d
   12323 
   12324 /.{2,3}?/<CRLF>
   12325     \r\P 
   12326 Partial match: \x0d
   12327     \r\P\P
   12328 Partial match: \x0d
   12329     \r\r\P
   12330  0: \x0d\x0d
   12331     \r\r\P\P
   12332 Partial match: \x0d\x0d
   12333     \r\r\r\P
   12334  0: \x0d\x0d
   12335     \r\r\r\P\P     
   12336  0: \x0d\x0d
   12337 
   12338 "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
   12339     ABCDGHI\O03
   12340 Matched, but too many substrings
   12341  0: ABCD
   12342     
   12343 /-- These are all run as real matches in test 1; here we are just checking the
   12344 settings of the anchored and startline bits. --/ 
   12345 
   12346 /(?>.*?a)(?<=ba)/I
   12347 Capturing subpattern count = 0
   12348 Max lookbehind = 2
   12349 No options
   12350 No first char
   12351 Need char = 'a'
   12352 
   12353 /(?:.*?a)(?<=ba)/I
   12354 Capturing subpattern count = 0
   12355 Max lookbehind = 2
   12356 No options
   12357 First char at start or follows newline
   12358 Need char = 'a'
   12359 
   12360 /.*?a(*PRUNE)b/I
   12361 Capturing subpattern count = 0
   12362 No options
   12363 No first char
   12364 Need char = 'b'
   12365 
   12366 /.*?a(*PRUNE)b/sI
   12367 Capturing subpattern count = 0
   12368 Options: dotall
   12369 No first char
   12370 Need char = 'b'
   12371 
   12372 /^a(*PRUNE)b/sI
   12373 Capturing subpattern count = 0
   12374 Options: anchored dotall
   12375 No first char
   12376 No need char
   12377 
   12378 /.*?a(*SKIP)b/I
   12379 Capturing subpattern count = 0
   12380 No options
   12381 No first char
   12382 Need char = 'b'
   12383 
   12384 /(?>.*?a)b/sI
   12385 Capturing subpattern count = 0
   12386 Options: dotall
   12387 No first char
   12388 Need char = 'b'
   12389 
   12390 /(?>.*?a)b/I
   12391 Capturing subpattern count = 0
   12392 No options
   12393 No first char
   12394 Need char = 'b'
   12395 
   12396 /(?>^a)b/sI
   12397 Capturing subpattern count = 0
   12398 Options: anchored dotall
   12399 No first char
   12400 No need char
   12401 
   12402 /(?>.*?)(?<=(abcd)|(wxyz))/I
   12403 Capturing subpattern count = 2
   12404 Max lookbehind = 4
   12405 May match empty string
   12406 No options
   12407 No first char
   12408 No need char
   12409 
   12410 /(?>.*)(?<=(abcd)|(wxyz))/I
   12411 Capturing subpattern count = 2
   12412 Max lookbehind = 4
   12413 May match empty string
   12414 No options
   12415 No first char
   12416 No need char
   12417 
   12418 "(?>.*)foo"I
   12419 Capturing subpattern count = 0
   12420 No options
   12421 No first char
   12422 Need char = 'o'
   12423 
   12424 "(?>.*?)foo"I
   12425 Capturing subpattern count = 0
   12426 No options
   12427 No first char
   12428 Need char = 'o'
   12429 
   12430 /(?>^abc)/mI
   12431 Capturing subpattern count = 0
   12432 Options: multiline
   12433 First char at start or follows newline
   12434 Need char = 'c'
   12435 
   12436 /(?>.*abc)/mI
   12437 Capturing subpattern count = 0
   12438 Options: multiline
   12439 No first char
   12440 Need char = 'c'
   12441 
   12442 /(?:.*abc)/mI
   12443 Capturing subpattern count = 0
   12444 Options: multiline
   12445 First char at start or follows newline
   12446 Need char = 'c'
   12447 
   12448 /-- Check PCRE_STUDY_EXTRA_NEEDED --/
   12449 
   12450 /.?/S-I
   12451 Capturing subpattern count = 0
   12452 May match empty string
   12453 No options
   12454 No first char
   12455 No need char
   12456 Study returned NULL
   12457 
   12458 /.?/S!I
   12459 Capturing subpattern count = 0
   12460 May match empty string
   12461 No options
   12462 No first char
   12463 No need char
   12464 Subject length lower bound = -1
   12465 No starting char list
   12466 
   12467 /(?:(a)+(?C1)bb|aa(?C2)b)/
   12468     aab\C+
   12469 Callout 1: last capture = 1
   12470  0: <unset>
   12471  1: a
   12472 --->aab
   12473     ^ ^     b
   12474 Callout 1: last capture = 1
   12475  0: <unset>
   12476  1: a
   12477 --->aab
   12478     ^^      b
   12479 Callout 2: last capture = -1
   12480  0: <unset>
   12481 --->aab
   12482     ^ ^     b
   12483  0: aab
   12484    
   12485 /(?:(a)++(?C1)bb|aa(?C2)b)/
   12486     aab\C+ 
   12487 Callout 1: last capture = 1
   12488  0: <unset>
   12489  1: a
   12490 --->aab
   12491     ^ ^     b
   12492 Callout 2: last capture = -1
   12493  0: <unset>
   12494 --->aab
   12495     ^ ^     b
   12496  0: aab
   12497     
   12498 /(?:(?>(a))(?C1)bb|aa(?C2)b)/
   12499     aab\C+ 
   12500 Callout 1: last capture = 1
   12501  0: <unset>
   12502  1: a
   12503 --->aab
   12504     ^^      b
   12505 Callout 2: last capture = -1
   12506  0: <unset>
   12507 --->aab
   12508     ^ ^     b
   12509  0: aab
   12510 
   12511 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/                                                
   12512     aab\C+ 
   12513 Callout 1: last capture = -1
   12514  0: <unset>
   12515 --->aab
   12516     ^^      x
   12517 Callout 1: last capture = -1
   12518  0: <unset>
   12519 --->aab
   12520      ^^     x
   12521 Callout 2: last capture = -1
   12522  0: <unset>
   12523 --->aab
   12524      ^ ^    )
   12525  0: ab
   12526 
   12527 /(?1)(?C1)((a)(?C2)){0}/   
   12528     aab\C+ 
   12529 Callout 2: last capture = 2
   12530  0: <unset>
   12531  1: <unset>
   12532  2: a
   12533 --->aab
   12534     ^^      )
   12535 Callout 1: last capture = -1
   12536  0: <unset>
   12537 --->aab
   12538     ^^      ((a)(?C2)){0}
   12539  0: a
   12540 
   12541 /(?:(a)+(?C1)bb|aa(?C2)b)++/
   12542     aab\C+
   12543 Callout 1: last capture = 1
   12544  0: <unset>
   12545  1: a
   12546 --->aab
   12547     ^ ^     b
   12548 Callout 1: last capture = 1
   12549  0: <unset>
   12550  1: a
   12551 --->aab
   12552     ^^      b
   12553 Callout 2: last capture = -1
   12554  0: <unset>
   12555 --->aab
   12556     ^ ^     b
   12557  0: aab
   12558     aab\C+\O2
   12559 Callout 1: last capture = 1
   12560  0: <unset>
   12561 --->aab
   12562     ^ ^     b
   12563 Callout 1: last capture = 1
   12564  0: <unset>
   12565 --->aab
   12566     ^^      b
   12567 Callout 2: last capture = -1
   12568  0: <unset>
   12569 --->aab
   12570     ^ ^     b
   12571  0: aab
   12572 
   12573 /(ab)x|ab/
   12574     ab\O3
   12575  0: ab
   12576     ab\O2 
   12577  0: ab
   12578   
   12579 /(ab)/
   12580     ab\O3
   12581 Matched, but too many substrings
   12582  0: ab
   12583     ab\O2 
   12584 Matched, but too many substrings
   12585  0: ab
   12586     
   12587 /(?<=123)(*MARK:xx)abc/K
   12588     xxxx123a\P\P
   12589 Partial match at offset 7, mark=xx: 123a
   12590     xxxx123a\P
   12591 Partial match at offset 7, mark=xx: 123a
   12592     
   12593 /123\Kabc/
   12594     xxxx123a\P\P
   12595 Partial match: 123a
   12596     xxxx123a\P
   12597 Partial match: 123a
   12598 
   12599 /^(?(?=a)aa|bb)/C
   12600     bb
   12601 --->bb
   12602  +0 ^      ^
   12603  +1 ^      (?(?=a)aa|bb)
   12604  +3 ^      (?=a)
   12605  +6 ^      a
   12606 +11 ^      b
   12607 +12 ^^     b
   12608 +13 ^ ^    )
   12609 +14 ^ ^    
   12610  0: bb
   12611 
   12612 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
   12613     bb
   12614 --->bb
   12615   1 ^      ^
   12616   2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
   12617  99 ^      (?=(?C3)a(?C4))
   12618   3 ^      a
   12619   8 ^      b
   12620   9 ^^     b
   12621  10 ^ ^    )
   12622  11 ^ ^    
   12623  0: bb
   12624 
   12625 /-- Perl seems to have a bug with this one --/
   12626 
   12627 /aaaaa(*COMMIT)(*PRUNE)b|a+c/
   12628     aaaaaac
   12629  0: aaaac
   12630     
   12631 /-- Here are some that Perl treats differently because of the way it handles
   12632 backtracking verbs. --/
   12633 
   12634  /(?!a(*COMMIT)b)ac|ad/
   12635      ac
   12636  0: ac
   12637      ad 
   12638  0: ad
   12639 
   12640 /^(?!a(*THEN)b|ac)../
   12641      ac
   12642 No match
   12643      ad 
   12644  0: ad
   12645 
   12646 /^(?=a(*THEN)b|ac)/
   12647     ac
   12648  0: 
   12649     
   12650 /\A.*?(?:a|b(*THEN)c)/
   12651     ba
   12652  0: ba
   12653 
   12654 /\A.*?(?:a|b(*THEN)c)++/
   12655     ba
   12656  0: ba
   12657 
   12658 /\A.*?(?:a|b(*THEN)c|d)/
   12659     ba
   12660  0: ba
   12661 
   12662 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
   12663     aac 
   12664  0: aac
   12665 
   12666 /\A.*?(a|b(*THEN)c)/
   12667     ba
   12668  0: ba
   12669  1: a
   12670 
   12671 /^(A(*THEN)B|A(*THEN)D)/
   12672     AD           
   12673  0: AD
   12674  1: AD
   12675     
   12676 /(?!b(*THEN)a)bn|bnn/
   12677     bnn
   12678  0: bn
   12679 
   12680 /(?(?=b(*SKIP)a)bn|bnn)/
   12681     bnn
   12682 No match
   12683 
   12684 /(?=b(*THEN)a|)bn|bnn/
   12685     bnn
   12686  0: bn
   12687 
   12688 /-------------------------/ 
   12689 
   12690 /(*LIMIT_MATCH=12bc)abc/
   12691 Failed: (*VERB) not recognized or malformed at offset 7
   12692 
   12693 /(*LIMIT_MATCH=4294967290)abc/
   12694 Failed: (*VERB) not recognized or malformed at offset 7
   12695 
   12696 /(*LIMIT_RECURSION=4294967280)abc/I
   12697 Capturing subpattern count = 0
   12698 Recursion limit = 4294967280
   12699 No options
   12700 First char = 'a'
   12701 Need char = 'c'
   12702 
   12703 /(a+)*zz/
   12704     aaaaaaaaaaaaaz
   12705 No match
   12706     aaaaaaaaaaaaaz\q3000
   12707 Error -8 (match limit exceeded)
   12708 
   12709 /(a+)*zz/S-
   12710     aaaaaaaaaaaaaz\Q10 
   12711 Error -21 (recursion limit exceeded)
   12712 
   12713 /(*LIMIT_MATCH=3000)(a+)*zz/I
   12714 Capturing subpattern count = 1
   12715 Match limit = 3000
   12716 No options
   12717 No first char
   12718 Need char = 'z'
   12719     aaaaaaaaaaaaaz
   12720 Error -8 (match limit exceeded)
   12721     aaaaaaaaaaaaaz\q60000
   12722 Error -8 (match limit exceeded)
   12723 
   12724 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
   12725 Capturing subpattern count = 1
   12726 Match limit = 3000
   12727 No options
   12728 No first char
   12729 Need char = 'z'
   12730     aaaaaaaaaaaaaz
   12731 Error -8 (match limit exceeded)
   12732 
   12733 /(*LIMIT_MATCH=60000)(a+)*zz/I
   12734 Capturing subpattern count = 1
   12735 Match limit = 60000
   12736 No options
   12737 No first char
   12738 Need char = 'z'
   12739     aaaaaaaaaaaaaz
   12740 No match
   12741     aaaaaaaaaaaaaz\q3000
   12742 Error -8 (match limit exceeded)
   12743 
   12744 /(*LIMIT_RECURSION=10)(a+)*zz/IS-
   12745 Capturing subpattern count = 1
   12746 Recursion limit = 10
   12747 No options
   12748 No first char
   12749 Need char = 'z'
   12750 Subject length lower bound = 2
   12751 Starting chars: a z 
   12752     aaaaaaaaaaaaaz
   12753 Error -21 (recursion limit exceeded)
   12754     aaaaaaaaaaaaaz\Q1000
   12755 Error -21 (recursion limit exceeded)
   12756 
   12757 /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
   12758 Capturing subpattern count = 1
   12759 Recursion limit = 10
   12760 No options
   12761 No first char
   12762 Need char = 'z'
   12763 Subject length lower bound = 2
   12764 Starting chars: a z 
   12765     aaaaaaaaaaaaaz
   12766 Error -21 (recursion limit exceeded)
   12767 
   12768 /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
   12769 Capturing subpattern count = 1
   12770 Recursion limit = 1000
   12771 No options
   12772 No first char
   12773 Need char = 'z'
   12774 Subject length lower bound = 2
   12775 Starting chars: a z 
   12776     aaaaaaaaaaaaaz
   12777 No match
   12778     aaaaaaaaaaaaaz\Q10
   12779 Error -21 (recursion limit exceeded)
   12780 
   12781 /-- This test causes a segfault with Perl 5.18.0 --/
   12782 
   12783 /^(?=(a)){0}b(?1)/
   12784     backgammon
   12785  0: ba
   12786 
   12787 /(?|(?<n>f)|(?<n>b))/JI
   12788 Capturing subpattern count = 1
   12789 Named capturing subpatterns:
   12790   n   1
   12791 Options: dupnames
   12792 No first char
   12793 No need char
   12794 
   12795 /(?<a>abc)(?<a>z)\k<a>()/JDZS
   12796 ------------------------------------------------------------------
   12797         Bra
   12798         CBra 1
   12799         abc
   12800         Ket
   12801         CBra 2
   12802         z
   12803         Ket
   12804         \k<a>2
   12805         CBra 3
   12806         Ket
   12807         Ket
   12808         End
   12809 ------------------------------------------------------------------
   12810 Capturing subpattern count = 3
   12811 Max back reference = 2
   12812 Named capturing subpatterns:
   12813   a   1
   12814   a   2
   12815 Options: dupnames
   12816 First char = 'a'
   12817 Need char = 'z'
   12818 Subject length lower bound = 5
   12819 No starting char list
   12820 
   12821 /a*[bcd]/BZ
   12822 ------------------------------------------------------------------
   12823         Bra
   12824         a*+
   12825         [b-d]
   12826         Ket
   12827         End
   12828 ------------------------------------------------------------------
   12829 
   12830 /[bcd]*a/BZ
   12831 ------------------------------------------------------------------
   12832         Bra
   12833         [b-d]*+
   12834         a
   12835         Ket
   12836         End
   12837 ------------------------------------------------------------------
   12838 
   12839 /-- A complete set of tests for auto-possessification of character types --/
   12840 
   12841 /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx
   12842 ------------------------------------------------------------------
   12843         Bra
   12844         \D+
   12845         \D
   12846         \D++
   12847         \d
   12848         \D+
   12849         \S
   12850         \D+
   12851         \s
   12852         \D+
   12853         \W
   12854         \D+
   12855         \w
   12856         \D+
   12857         Any
   12858         \D+
   12859         AllAny
   12860         \D+
   12861         \R
   12862         \D+
   12863         \H
   12864         \D+
   12865         \h
   12866         \D+
   12867         \V
   12868         \D+
   12869         \v
   12870         \D+
   12871         \Z
   12872         \D++
   12873         \z
   12874         \D+
   12875         $
   12876         Ket
   12877         End
   12878 ------------------------------------------------------------------
   12879 
   12880 /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx
   12881 ------------------------------------------------------------------
   12882         Bra
   12883         \d++
   12884         \D
   12885         \d+
   12886         \d
   12887         \d+
   12888         \S
   12889         \d++
   12890         \s
   12891         \d++
   12892         \W
   12893         \d+
   12894         \w
   12895         \d+
   12896         Any
   12897         \d+
   12898         AllAny
   12899         \d++
   12900         \R
   12901         \d+
   12902         \H
   12903         \d++
   12904         \h
   12905         \d+
   12906         \V
   12907         \d++
   12908         \v
   12909         \d++
   12910         \Z
   12911         \d++
   12912         \z
   12913         \d++
   12914         $
   12915         Ket
   12916         End
   12917 ------------------------------------------------------------------
   12918 
   12919 /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx
   12920 ------------------------------------------------------------------
   12921         Bra
   12922         \S+
   12923         \D
   12924         \S+
   12925         \d
   12926         \S+
   12927         \S
   12928         \S++
   12929         \s
   12930         \S+
   12931         \W
   12932         \S+
   12933         \w
   12934         \S+
   12935         Any
   12936         \S+
   12937         AllAny
   12938         \S++
   12939         \R
   12940         \S+
   12941         \H
   12942         \S++
   12943         \h
   12944         \S+
   12945         \V
   12946         \S++
   12947         \v
   12948         \S++
   12949         \Z
   12950         \S++
   12951         \z
   12952         \S++
   12953         $
   12954         Ket
   12955         End
   12956 ------------------------------------------------------------------
   12957 
   12958 /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx
   12959 ------------------------------------------------------------------
   12960         Bra
   12961         \s+
   12962         \D
   12963         \s++
   12964         \d
   12965         \s++
   12966         \S
   12967         \s+
   12968         \s
   12969         \s+
   12970         \W
   12971         \s++
   12972         \w
   12973         \s+
   12974         Any
   12975         \s+
   12976         AllAny
   12977         \s+
   12978         \R
   12979         \s+
   12980         \H
   12981         \s+
   12982         \h
   12983         \s+
   12984         \V
   12985         \s+
   12986         \v
   12987         \s+
   12988         \Z
   12989         \s++
   12990         \z
   12991         \s+
   12992         $
   12993         Ket
   12994         End
   12995 ------------------------------------------------------------------
   12996 
   12997 /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx
   12998 ------------------------------------------------------------------
   12999         Bra
   13000         \W+
   13001         \D
   13002         \W++
   13003         \d
   13004         \W+
   13005         \S
   13006         \W+
   13007         \s
   13008         \W+
   13009         \W
   13010         \W++
   13011         \w
   13012         \W+
   13013         Any
   13014         \W+
   13015         AllAny
   13016         \W+
   13017         \R
   13018         \W+
   13019         \H
   13020         \W+
   13021         \h
   13022         \W+
   13023         \V
   13024         \W+
   13025         \v
   13026         \W+
   13027         \Z
   13028         \W++
   13029         \z
   13030         \W+
   13031         $
   13032         Ket
   13033         End
   13034 ------------------------------------------------------------------
   13035 
   13036 /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx
   13037 ------------------------------------------------------------------
   13038         Bra
   13039         \w+
   13040         \D
   13041         \w+
   13042         \d
   13043         \w+
   13044         \S
   13045         \w++
   13046         \s
   13047         \w++
   13048         \W
   13049         \w+
   13050         \w
   13051         \w+
   13052         Any
   13053         \w+
   13054         AllAny
   13055         \w++
   13056         \R
   13057         \w+
   13058         \H
   13059         \w++
   13060         \h
   13061         \w+
   13062         \V
   13063         \w++
   13064         \v
   13065         \w++
   13066         \Z
   13067         \w++
   13068         \z
   13069         \w++
   13070         $
   13071         Ket
   13072         End
   13073 ------------------------------------------------------------------
   13074 
   13075 /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx
   13076 ------------------------------------------------------------------
   13077         Bra
   13078         AllAny+
   13079         \D
   13080         AllAny+
   13081         \d
   13082         AllAny+
   13083         \S
   13084         AllAny+
   13085         \s
   13086         AllAny+
   13087         \W
   13088         AllAny+
   13089         \w
   13090         AllAny+
   13091         Any
   13092         AllAny+
   13093         AllAny
   13094         AllAny+
   13095         \R
   13096         AllAny+
   13097         \H
   13098         AllAny+
   13099         \h
   13100         AllAny+
   13101         \V
   13102         AllAny+
   13103         \v
   13104         AllAny+
   13105         \Z
   13106         AllAny++
   13107         \z
   13108         AllAny+
   13109         $
   13110         Ket
   13111         End
   13112 ------------------------------------------------------------------
   13113 
   13114 /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx
   13115 ------------------------------------------------------------------
   13116         Bra
   13117         \R+
   13118         \D
   13119         \R++
   13120         \d
   13121         \R+
   13122         \S
   13123         \R++
   13124         \s
   13125         \R+
   13126         \W
   13127         \R++
   13128         \w
   13129         \R++
   13130         Any
   13131         \R+
   13132         AllAny
   13133         \R+
   13134         \R
   13135         \R+
   13136         \H
   13137         \R++
   13138         \h
   13139         \R+
   13140         \V
   13141         \R+
   13142         \v
   13143         \R+
   13144         \Z
   13145         \R++
   13146         \z
   13147         \R+
   13148         $
   13149         Ket
   13150         End
   13151 ------------------------------------------------------------------
   13152 
   13153 /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx
   13154 ------------------------------------------------------------------
   13155         Bra
   13156         \H+
   13157         \D
   13158         \H+
   13159         \d
   13160         \H+
   13161         \S
   13162         \H+
   13163         \s
   13164         \H+
   13165         \W
   13166         \H+
   13167         \w
   13168         \H+
   13169         Any
   13170         \H+
   13171         AllAny
   13172         \H+
   13173         \R
   13174         \H+
   13175         \H
   13176         \H++
   13177         \h
   13178         \H+
   13179         \V
   13180         \H+
   13181         \v
   13182         \H+
   13183         \Z
   13184         \H++
   13185         \z
   13186         \H+
   13187         $
   13188         Ket
   13189         End
   13190 ------------------------------------------------------------------
   13191 
   13192 /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx
   13193 ------------------------------------------------------------------
   13194         Bra
   13195         \h+
   13196         \D
   13197         \h++
   13198         \d
   13199         \h++
   13200         \S
   13201         \h+
   13202         \s
   13203         \h+
   13204         \W
   13205         \h++
   13206         \w
   13207         \h+
   13208         Any
   13209         \h+
   13210         AllAny
   13211         \h++
   13212         \R
   13213         \h++
   13214         \H
   13215         \h+
   13216         \h
   13217         \h+
   13218         \V
   13219         \h++
   13220         \v
   13221         \h+
   13222         \Z
   13223         \h++
   13224         \z
   13225         \h+
   13226         $
   13227         Ket
   13228         End
   13229 ------------------------------------------------------------------
   13230 
   13231 /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx
   13232 ------------------------------------------------------------------
   13233         Bra
   13234         \V+
   13235         \D
   13236         \V+
   13237         \d
   13238         \V+
   13239         \S
   13240         \V+
   13241         \s
   13242         \V+
   13243         \W
   13244         \V+
   13245         \w
   13246         \V+
   13247         Any
   13248         \V+
   13249         AllAny
   13250         \V++
   13251         \R
   13252         \V+
   13253         \H
   13254         \V+
   13255         \h
   13256         \V+
   13257         \V
   13258         \V++
   13259         \v
   13260         \V+
   13261         \Z
   13262         \V++
   13263         \z
   13264         \V+
   13265         $
   13266         Ket
   13267         End
   13268 ------------------------------------------------------------------
   13269 
   13270 /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx
   13271 ------------------------------------------------------------------
   13272         Bra
   13273         \v+
   13274         \D
   13275         \v++
   13276         \d
   13277         \v++
   13278         \S
   13279         \v+
   13280         \s
   13281         \v+
   13282         \W
   13283         \v++
   13284         \w
   13285         \v+
   13286         Any
   13287         \v+
   13288         AllAny
   13289         \v+
   13290         \R
   13291         \v+
   13292         \H
   13293         \v++
   13294         \h
   13295         \v++
   13296         \V
   13297         \v+
   13298         \v
   13299         \v+
   13300         \Z
   13301         \v++
   13302         \z
   13303         \v+
   13304         $
   13305         Ket
   13306         End
   13307 ------------------------------------------------------------------
   13308 
   13309 / a+\D  a+\d  a+\S  a+\s  a+\W  a+\w  a+.  a+\C  a+\R  a+\H  a+\h  a+\V  a+\v  a+\Z  a+\z  a+$/BZx
   13310 ------------------------------------------------------------------
   13311         Bra
   13312         a+
   13313         \D
   13314         a++
   13315         \d
   13316         a+
   13317         \S
   13318         a++
   13319         \s
   13320         a++
   13321         \W
   13322         a+
   13323         \w
   13324         a+
   13325         Any
   13326         a+
   13327         AllAny
   13328         a++
   13329         \R
   13330         a+
   13331         \H
   13332         a++
   13333         \h
   13334         a+
   13335         \V
   13336         a++
   13337         \v
   13338         a++
   13339         \Z
   13340         a++
   13341         \z
   13342         a++
   13343         $
   13344         Ket
   13345         End
   13346 ------------------------------------------------------------------
   13347 
   13348 /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx
   13349 ------------------------------------------------------------------
   13350         Bra
   13351         \x0a+
   13352         \D
   13353         \x0a++
   13354         \d
   13355         \x0a++
   13356         \S
   13357         \x0a+
   13358         \s
   13359         \x0a+
   13360         \W
   13361         \x0a++
   13362         \w
   13363         \x0a+
   13364         Any
   13365         \x0a+
   13366         AllAny
   13367         \x0a+
   13368         \R
   13369         \x0a+
   13370         \H
   13371         \x0a++
   13372         \h
   13373         \x0a++
   13374         \V
   13375         \x0a+
   13376         \v
   13377         \x0a+
   13378         \Z
   13379         \x0a++
   13380         \z
   13381         \x0a+
   13382         $
   13383         Ket
   13384         End
   13385 ------------------------------------------------------------------
   13386 
   13387 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZx
   13388 ------------------------------------------------------------------
   13389         Bra
   13390         Any+
   13391         \D
   13392         Any+
   13393         \d
   13394         Any+
   13395         \S
   13396         Any+
   13397         \s
   13398         Any+
   13399         \W
   13400         Any+
   13401         \w
   13402         Any+
   13403         Any
   13404         Any+
   13405         AllAny
   13406         Any++
   13407         \R
   13408         Any+
   13409         \H
   13410         Any+
   13411         \h
   13412         Any+
   13413         \V
   13414         Any+
   13415         \v
   13416         Any+
   13417         \Z
   13418         Any++
   13419         \z
   13420         Any+
   13421         $
   13422         Ket
   13423         End
   13424 ------------------------------------------------------------------
   13425 
   13426 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZxs
   13427 ------------------------------------------------------------------
   13428         Bra
   13429         AllAny+
   13430         \D
   13431         AllAny+
   13432         \d
   13433         AllAny+
   13434         \S
   13435         AllAny+
   13436         \s
   13437         AllAny+
   13438         \W
   13439         AllAny+
   13440         \w
   13441         AllAny+
   13442         AllAny
   13443         AllAny+
   13444         AllAny
   13445         AllAny+
   13446         \R
   13447         AllAny+
   13448         \H
   13449         AllAny+
   13450         \h
   13451         AllAny+
   13452         \V
   13453         AllAny+
   13454         \v
   13455         AllAny+
   13456         \Z
   13457         AllAny++
   13458         \z
   13459         AllAny+
   13460         $
   13461         Ket
   13462         End
   13463 ------------------------------------------------------------------
   13464 
   13465 /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$   a+$  \n+$   .+$  .+$/BZxm
   13466 ------------------------------------------------------------------
   13467         Bra
   13468         \D+
   13469      /m $
   13470         \d++
   13471      /m $
   13472         \S++
   13473      /m $
   13474         \s+
   13475      /m $
   13476         \W+
   13477      /m $
   13478         \w++
   13479      /m $
   13480         AllAny+
   13481      /m $
   13482         \R+
   13483      /m $
   13484         \H+
   13485      /m $
   13486         \h+
   13487      /m $
   13488         \V+
   13489      /m $
   13490         \v+
   13491      /m $
   13492         a+
   13493      /m $
   13494         \x0a+
   13495      /m $
   13496         Any+
   13497      /m $
   13498         Any+
   13499      /m $
   13500         Ket
   13501         End
   13502 ------------------------------------------------------------------
   13503 
   13504 /(?=a+)a(a+)++a/BZ
   13505 ------------------------------------------------------------------
   13506         Bra
   13507         Assert
   13508         a++
   13509         Ket
   13510         a
   13511         CBraPos 1
   13512         a++
   13513         KetRpos
   13514         a
   13515         Ket
   13516         End
   13517 ------------------------------------------------------------------
   13518 
   13519 /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
   13520 ------------------------------------------------------------------
   13521         Bra
   13522         a++
   13523         CBra 1
   13524         bb
   13525         Alt
   13526         cc
   13527         Ket
   13528         a++
   13529         Bra
   13530         bb
   13531         Alt
   13532         cc
   13533         Ket
   13534         a++
   13535         Once_NC
   13536         bb
   13537         Alt
   13538         cc
   13539         Ket
   13540         a++
   13541         Bra
   13542         bb
   13543         Alt
   13544         cc
   13545         KetRmax
   13546         a+
   13547         CBra 2
   13548         aa
   13549         Ket
   13550         a+
   13551         Bra
   13552         bb
   13553         Alt
   13554         aa
   13555         Ket
   13556         Ket
   13557         End
   13558 ------------------------------------------------------------------
   13559 
   13560 /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
   13561 ------------------------------------------------------------------
   13562         Bra
   13563         a++
   13564         Brazero
   13565         CBra 1
   13566         bb
   13567         Alt
   13568         cc
   13569         Ket
   13570         #
   13571         a++
   13572         Braminzero
   13573         Bra
   13574         bb
   13575         Alt
   13576         cc
   13577         Ket
   13578         #
   13579         a++
   13580         Once
   13581         Brazero
   13582         Bra
   13583         bb
   13584         Alt
   13585         cc
   13586         Ket
   13587         Ket
   13588         #
   13589         a++
   13590         Brazero
   13591         Bra
   13592         bb
   13593         Alt
   13594         cc
   13595         KetRmax
   13596         #
   13597         a+
   13598         Brazero
   13599         CBra 2
   13600         bb
   13601         Alt
   13602         cc
   13603         Ket
   13604         a#
   13605         a+
   13606         Brazero
   13607         Bra
   13608         aa
   13609         Ket
   13610         Ket
   13611         End
   13612 ------------------------------------------------------------------
   13613 
   13614 /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
   13615 ------------------------------------------------------------------
   13616         Bra
   13617         a+
   13618         Brazero
   13619         Bra
   13620         bb
   13621         Ket
   13622         a#
   13623         a++
   13624         Bra
   13625         Alt
   13626         Alt
   13627         Alt
   13628         Ket
   13629         #
   13630         a+
   13631         Bra
   13632         Alt
   13633         b
   13634         Ket
   13635         a#
   13636         a+
   13637         Brazero
   13638         Bra
   13639         Alt
   13640         Alt
   13641         Alt
   13642         Ket
   13643         a
   13644         Ket
   13645         End
   13646 ------------------------------------------------------------------
   13647 
   13648 /[ab]*/BZ
   13649 ------------------------------------------------------------------
   13650         Bra
   13651         [ab]*+
   13652         Ket
   13653         End
   13654 ------------------------------------------------------------------
   13655     aaaa
   13656  0: aaaa
   13657 
   13658 /[ab]*?/BZ
   13659 ------------------------------------------------------------------
   13660         Bra
   13661         [ab]*?
   13662         Ket
   13663         End
   13664 ------------------------------------------------------------------
   13665     aaaa
   13666  0: 
   13667 
   13668 /[ab]?/BZ
   13669 ------------------------------------------------------------------
   13670         Bra
   13671         [ab]?+
   13672         Ket
   13673         End
   13674 ------------------------------------------------------------------
   13675     aaaa
   13676  0: a
   13677 
   13678 /[ab]??/BZ
   13679 ------------------------------------------------------------------
   13680         Bra
   13681         [ab]??
   13682         Ket
   13683         End
   13684 ------------------------------------------------------------------
   13685     aaaa
   13686  0: 
   13687 
   13688 /[ab]+/BZ
   13689 ------------------------------------------------------------------
   13690         Bra
   13691         [ab]++
   13692         Ket
   13693         End
   13694 ------------------------------------------------------------------
   13695     aaaa
   13696  0: aaaa
   13697 
   13698 /[ab]+?/BZ
   13699 ------------------------------------------------------------------
   13700         Bra
   13701         [ab]+?
   13702         Ket
   13703         End
   13704 ------------------------------------------------------------------
   13705     aaaa
   13706  0: a
   13707 
   13708 /[ab]{2,3}/BZ
   13709 ------------------------------------------------------------------
   13710         Bra
   13711         [ab]{2,3}+
   13712         Ket
   13713         End
   13714 ------------------------------------------------------------------
   13715     aaaa
   13716  0: aaa
   13717 
   13718 /[ab]{2,3}?/BZ
   13719 ------------------------------------------------------------------
   13720         Bra
   13721         [ab]{2,3}?
   13722         Ket
   13723         End
   13724 ------------------------------------------------------------------
   13725     aaaa
   13726  0: aa
   13727 
   13728 /[ab]{2,}/BZ
   13729 ------------------------------------------------------------------
   13730         Bra
   13731         [ab]{2,}+
   13732         Ket
   13733         End
   13734 ------------------------------------------------------------------
   13735     aaaa
   13736  0: aaaa
   13737 
   13738 /[ab]{2,}?/BZ
   13739 ------------------------------------------------------------------
   13740         Bra
   13741         [ab]{2,}?
   13742         Ket
   13743         End
   13744 ------------------------------------------------------------------
   13745     aaaa
   13746  0: aa
   13747 
   13748 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
   13749 ------------------------------------------------------------------
   13750         Bra
   13751         \d++
   13752         \s{0,5}+
   13753         =
   13754         \s*+
   13755         \S?
   13756         =
   13757         \w{0,4}+
   13758         \W*+
   13759         Ket
   13760         End
   13761 ------------------------------------------------------------------
   13762 
   13763 /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
   13764 ------------------------------------------------------------------
   13765         Bra
   13766         [a-d]{5,12}+
   13767         [0-9e-z]*+
   13768         #
   13769         [\x00-`{-\xff] (neg)++
   13770         [b-y]*+
   13771         a
   13772         [2-7]?+
   13773         [\x00-/:-`{-\xff] (neg)++
   13774         Ket
   13775         End
   13776 ------------------------------------------------------------------
   13777 
   13778 /[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ
   13779 ------------------------------------------------------------------
   13780         Bra
   13781         [a-z]*+
   13782         \s
   13783         #
   13784         [\x09 ]?+
   13785         \S
   13786         #
   13787         [a-c]*
   13788         \S
   13789         #
   13790         [C-G]++
   13791         \d
   13792         #
   13793         [4-8]*+
   13794         \D
   13795         #
   13796         [,4-9]*
   13797         \D
   13798         #
   13799         [!$]{0,5}+
   13800         \w
   13801         #
   13802         [M-Xf-l]++
   13803         \W
   13804         #
   13805         [,a-c]?
   13806         \W
   13807         Ket
   13808         End
   13809 ------------------------------------------------------------------
   13810 
   13811 /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
   13812 ------------------------------------------------------------------
   13813         Bra
   13814         a+
   13815         Brazero
   13816         CBra 1
   13817         aa
   13818         Alt
   13819         bb
   13820         KetRmax
   13821         c#
   13822         a*
   13823         Brazero
   13824         CBra 2
   13825         bb
   13826         Alt
   13827         cc
   13828         KetRmax
   13829         a#
   13830         a?+
   13831         Brazero
   13832         CBra 3
   13833         bb
   13834         Alt
   13835         cc
   13836         KetRmax
   13837         d#
   13838         [a-f]*
   13839         Brazero
   13840         CBra 4
   13841         g
   13842         Alt
   13843         hh
   13844         KetRmax
   13845         f
   13846         Ket
   13847         End
   13848 ------------------------------------------------------------------
   13849 
   13850 /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
   13851 ------------------------------------------------------------------
   13852         Bra
   13853         [a-f]*+
   13854         Brazero
   13855         CBra 1
   13856         g
   13857         Alt
   13858         hh
   13859         Alt
   13860         i
   13861         KetRmax
   13862         i#
   13863         [a-x]{4,}
   13864         Brazero
   13865         SCBra 2
   13866         y{0,6}
   13867         KetRmax
   13868         y#
   13869         [a-k]++
   13870         CBra 3
   13871         ll
   13872         Alt
   13873         mm
   13874         KetRmax
   13875         n
   13876         Ket
   13877         End
   13878 ------------------------------------------------------------------
   13879 
   13880 /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
   13881 ------------------------------------------------------------------
   13882         Bra
   13883         [a-f]*+
   13884         Once_NC
   13885         gg
   13886         Alt
   13887         hh
   13888         KetRmax
   13889         #
   13890         [a-f]*+
   13891         Brazero
   13892         Once_NC
   13893         gg
   13894         Alt
   13895         hh
   13896         Ket
   13897         #
   13898         [a-f]*
   13899         Brazero
   13900         Once_NC
   13901         gg
   13902         Alt
   13903         hh
   13904         KetRmax
   13905         a#
   13906         [a-f]*+
   13907         Brazero
   13908         Once_NC
   13909         gg
   13910         Alt
   13911         hh
   13912         KetRmax
   13913         h
   13914         Ket
   13915         End
   13916 ------------------------------------------------------------------
   13917 
   13918 /[a-c]*d/DZS
   13919 ------------------------------------------------------------------
   13920         Bra
   13921         [a-c]*+
   13922         d
   13923         Ket
   13924         End
   13925 ------------------------------------------------------------------
   13926 Capturing subpattern count = 0
   13927 No options
   13928 No first char
   13929 Need char = 'd'
   13930 Subject length lower bound = 1
   13931 Starting chars: a b c d 
   13932 
   13933 /[a-c]+d/DZS
   13934 ------------------------------------------------------------------
   13935         Bra
   13936         [a-c]++
   13937         d
   13938         Ket
   13939         End
   13940 ------------------------------------------------------------------
   13941 Capturing subpattern count = 0
   13942 No options
   13943 No first char
   13944 Need char = 'd'
   13945 Subject length lower bound = 2
   13946 Starting chars: a b c 
   13947 
   13948 /[a-c]?d/DZS
   13949 ------------------------------------------------------------------
   13950         Bra
   13951         [a-c]?+
   13952         d
   13953         Ket
   13954         End
   13955 ------------------------------------------------------------------
   13956 Capturing subpattern count = 0
   13957 No options
   13958 No first char
   13959 Need char = 'd'
   13960 Subject length lower bound = 1
   13961 Starting chars: a b c d 
   13962 
   13963 /[a-c]{4,6}d/DZS
   13964 ------------------------------------------------------------------
   13965         Bra
   13966         [a-c]{4,6}+
   13967         d
   13968         Ket
   13969         End
   13970 ------------------------------------------------------------------
   13971 Capturing subpattern count = 0
   13972 No options
   13973 No first char
   13974 Need char = 'd'
   13975 Subject length lower bound = 5
   13976 Starting chars: a b c 
   13977 
   13978 /[a-c]{0,6}d/DZS
   13979 ------------------------------------------------------------------
   13980         Bra
   13981         [a-c]{0,6}+
   13982         d
   13983         Ket
   13984         End
   13985 ------------------------------------------------------------------
   13986 Capturing subpattern count = 0
   13987 No options
   13988 No first char
   13989 Need char = 'd'
   13990 Subject length lower bound = 1
   13991 Starting chars: a b c d 
   13992 
   13993 /-- End of special auto-possessive tests --/
   13994 
   13995 /^A\o{1239}B/
   13996 Failed: non-octal character in \o{} (closing brace missing?) at offset 8
   13997 
   13998 /^A\oB/
   13999 Failed: missing opening brace after \o at offset 3
   14000 
   14001 /^A\x{zz}B/ 
   14002 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
   14003 
   14004 /^A\x{12Z/
   14005 Failed: non-hex character in \x{} (closing brace missing?) at offset 7
   14006 
   14007 /^A\x{/
   14008 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
   14009 
   14010 /[ab]++/BZO
   14011 ------------------------------------------------------------------
   14012         Bra
   14013         [ab]++
   14014         Ket
   14015         End
   14016 ------------------------------------------------------------------
   14017 
   14018 /[^ab]*+/BZO
   14019 ------------------------------------------------------------------
   14020         Bra
   14021         [\x00-`c-\xff] (neg)*+
   14022         Ket
   14023         End
   14024 ------------------------------------------------------------------
   14025 
   14026 /a{4}+/BZO
   14027 ------------------------------------------------------------------
   14028         Bra
   14029         a{4}
   14030         Ket
   14031         End
   14032 ------------------------------------------------------------------
   14033 
   14034 /a{4}+/BZOi
   14035 ------------------------------------------------------------------
   14036         Bra
   14037      /i a{4}
   14038         Ket
   14039         End
   14040 ------------------------------------------------------------------
   14041 
   14042 /[a-[:digit:]]+/
   14043 Failed: invalid range in character class at offset 3
   14044 
   14045 /[A-[:digit:]]+/
   14046 Failed: invalid range in character class at offset 3
   14047 
   14048 /[a-[.xxx.]]+/
   14049 Failed: invalid range in character class at offset 3
   14050 
   14051 /[a-[=xxx=]]+/
   14052 Failed: invalid range in character class at offset 3
   14053 
   14054 /[a-[!xxx!]]+/
   14055 Failed: range out of order in character class at offset 3
   14056 
   14057 /[A-[!xxx!]]+/
   14058     A]]]
   14059  0: A]]]
   14060 
   14061 /[a-\d]+/
   14062 Failed: invalid range in character class at offset 4
   14063 
   14064 /(?<0abc>xx)/
   14065 Failed: group name must start with a non-digit at offset 3
   14066 
   14067 /(?&1abc)xx(?<1abc>y)/
   14068 Failed: group name must start with a non-digit at offset 3
   14069 
   14070 /(?<ab-cd>xx)/
   14071 Failed: syntax error in subpattern name (missing terminator) at offset 5
   14072 
   14073 /(?'0abc'xx)/
   14074 Failed: group name must start with a non-digit at offset 3
   14075 
   14076 /(?P<0abc>xx)/
   14077 Failed: group name must start with a non-digit at offset 4
   14078 
   14079 /\k<5ghj>/
   14080 Failed: group name must start with a non-digit at offset 3
   14081 
   14082 /\k'5ghj'/
   14083 Failed: group name must start with a non-digit at offset 3
   14084 
   14085 /\k{2fgh}/
   14086 Failed: group name must start with a non-digit at offset 3
   14087 
   14088 /(?P=8yuki)/
   14089 Failed: group name must start with a non-digit at offset 4
   14090 
   14091 /\g{4df}/
   14092 Failed: group name must start with a non-digit at offset 3
   14093 
   14094 /(?&1abc)xx(?<1abc>y)/
   14095 Failed: group name must start with a non-digit at offset 3
   14096 
   14097 /(?P>1abc)xx(?<1abc>y)/
   14098 Failed: group name must start with a non-digit at offset 4
   14099 
   14100 /\g'3gh'/
   14101 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2
   14102 
   14103 /\g<5fg>/
   14104 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2
   14105 
   14106 /(?(<4gh>)abc)/
   14107 Failed: group name must start with a non-digit at offset 4
   14108 
   14109 /(?('4gh')abc)/
   14110 Failed: group name must start with a non-digit at offset 4
   14111 
   14112 /(?(4gh)abc)/
   14113 Failed: malformed number or name after (?( at offset 4
   14114 
   14115 /(?(R&6yh)abc)/
   14116 Failed: group name must start with a non-digit at offset 5
   14117 
   14118 /(((a\2)|(a*)\g<-1>))*a?/BZ
   14119 ------------------------------------------------------------------
   14120         Bra
   14121         Brazero
   14122         SCBra 1
   14123         Once
   14124         CBra 2
   14125         CBra 3
   14126         a
   14127         \2
   14128         Ket
   14129         Alt
   14130         CBra 4
   14131         a*
   14132         Ket
   14133         Recurse
   14134         Ket
   14135         Ket
   14136         KetRmax
   14137         a?+
   14138         Ket
   14139         End
   14140 ------------------------------------------------------------------
   14141 
   14142 /-- Test the ugly "start or end of word" compatibility syntax --/
   14143 
   14144 /[[:<:]]red[[:>:]]/BZ
   14145 ------------------------------------------------------------------
   14146         Bra
   14147         \b
   14148         Assert
   14149         \w
   14150         Ket
   14151         red
   14152         \b
   14153         AssertB
   14154         Reverse
   14155         \w
   14156         Ket
   14157         Ket
   14158         End
   14159 ------------------------------------------------------------------
   14160     little red riding hood
   14161  0: red
   14162     a /red/ thing 
   14163  0: red
   14164     red is a colour
   14165  0: red
   14166     put it all on red  
   14167  0: red
   14168     ** Failers
   14169 No match
   14170     no reduction
   14171 No match
   14172     Alfred Winifred
   14173 No match
   14174     
   14175 /[a[:<:]] should give error/ 
   14176 Failed: unknown POSIX class name at offset 4
   14177 
   14178 /(?=ab\K)/+
   14179     abcd
   14180 Start of matched string is beyond its end - displaying from end to start.
   14181  0: ab
   14182  0+ abcd
   14183 
   14184 /abcd/f<lf>
   14185     xx\nxabcd
   14186 No match
   14187     
   14188 / -- Test stack check external calls --/ 
   14189 
   14190 /(((((a)))))/Q0
   14191 
   14192 /(((((a)))))/Q1
   14193 Failed: parentheses are too deeply nested (stack check) at offset 0
   14194 
   14195 /(((((a)))))/Q
   14196 ** Missing 0 or 1 after /Q
   14197 
   14198 /^\w+(?>\s*)(?<=\w)/BZ
   14199 ------------------------------------------------------------------
   14200         Bra
   14201         ^
   14202         \w+
   14203         Once_NC
   14204         \s*+
   14205         Ket
   14206         AssertB
   14207         Reverse
   14208         \w
   14209         Ket
   14210         Ket
   14211         End
   14212 ------------------------------------------------------------------
   14213 
   14214 /\othing/
   14215 Failed: missing opening brace after \o at offset 1
   14216 
   14217 /\o{}/
   14218 Failed: digits missing in \x{} or \o{} at offset 1
   14219 
   14220 /\o{whatever}/
   14221 Failed: non-octal character in \o{} (closing brace missing?) at offset 3
   14222 
   14223 /\xthing/
   14224 
   14225 /\x{}/
   14226 Failed: digits missing in \x{} or \o{} at offset 3
   14227 
   14228 /\x{whatever}/
   14229 Failed: non-hex character in \x{} (closing brace missing?) at offset 3
   14230 
   14231 "((?=(?(?=(?(?=(?(?=()))))))))"
   14232     a
   14233  0: 
   14234  1: 
   14235  2: 
   14236 
   14237 "(?(?=)==)(((((((((?=)))))))))"
   14238     a
   14239 No match
   14240 
   14241 /^(?:(a)|b)(?(1)A|B)/I
   14242 Capturing subpattern count = 1
   14243 Max back reference = 1
   14244 Options: anchored
   14245 No first char
   14246 No need char
   14247     aA123\O3
   14248 Matched, but too many substrings
   14249  0: aA
   14250     aA123\O6
   14251  0: aA
   14252  1: a
   14253 
   14254 '^(?:(?<AA>a)|b)(?(<AA>)A|B)'
   14255     aA123\O3
   14256 Matched, but too many substrings
   14257  0: aA
   14258     aA123\O6
   14259  0: aA
   14260  1: a
   14261 
   14262 '^(?<AA>)(?:(?<AA>a)|b)(?(<AA>)A|B)'J
   14263     aA123\O3
   14264 Matched, but too many substrings
   14265  0: aA
   14266     aA123\O6
   14267 Matched, but too many substrings
   14268  0: aA
   14269  1: 
   14270 
   14271 '^(?:(?<AA>X)|)(?:(?<AA>a)|b)\k{AA}'J
   14272     aa123\O3
   14273 Matched, but too many substrings
   14274  0: aa
   14275     aa123\O6
   14276 Matched, but too many substrings
   14277  0: aa
   14278  1: <unset>
   14279 
   14280 /(?<N111>(?J)(?<N111>1(111111)11|)1|1|)(?(<N111>)1)/
   14281 
   14282 /(?(?=0)?)+/
   14283 Failed: nothing to repeat at offset 7
   14284 
   14285 /(?(?=0)(?=00)?00765)/
   14286      00765
   14287  0: 00765
   14288 
   14289 /(?(?=0)(?=00)?00765|(?!3).56)/
   14290      00765
   14291  0: 00765
   14292      456
   14293  0: 456
   14294      ** Failers
   14295 No match
   14296      356   
   14297 No match
   14298 
   14299 '^(a)*+(\w)'
   14300     g
   14301  0: g
   14302  1: <unset>
   14303  2: g
   14304     g\O3
   14305 Matched, but too many substrings
   14306  0: g
   14307 
   14308 '^(?:a)*+(\w)'
   14309     g
   14310  0: g
   14311  1: g
   14312     g\O3
   14313 Matched, but too many substrings
   14314  0: g
   14315 
   14316 //C
   14317     \O\C+
   14318 Callout 255: last capture = -1
   14319 --->
   14320  +0 ^    
   14321 Matched, but too many substrings
   14322 
   14323 "((?2){0,1999}())?"
   14324 
   14325 /((?+1)(\1))/BZ
   14326 ------------------------------------------------------------------
   14327         Bra
   14328         Once
   14329         CBra 1
   14330         Recurse
   14331         CBra 2
   14332         \1
   14333         Ket
   14334         Ket
   14335         Ket
   14336         Ket
   14337         End
   14338 ------------------------------------------------------------------
   14339 
   14340 /(?(?!)a|b)/
   14341     bbb
   14342  0: b
   14343     aaa 
   14344 No match
   14345 
   14346 "((?2)+)((?1))"
   14347 
   14348 "(?(?<E>.*!.*)?)"
   14349 Failed: assertion expected after (?( at offset 3
   14350 
   14351 "X((?2)()*+){2}+"BZ
   14352 ------------------------------------------------------------------
   14353         Bra
   14354         X
   14355         Once
   14356         CBra 1
   14357         Recurse
   14358         Braposzero
   14359         SCBraPos 2
   14360         KetRpos
   14361         Ket
   14362         CBra 1
   14363         Recurse
   14364         Braposzero
   14365         SCBraPos 2
   14366         KetRpos
   14367         Ket
   14368         Ket
   14369         Ket
   14370         End
   14371 ------------------------------------------------------------------
   14372 
   14373 "X((?2)()*+){2}"BZ
   14374 ------------------------------------------------------------------
   14375         Bra
   14376         X
   14377         CBra 1
   14378         Recurse
   14379         Braposzero
   14380         SCBraPos 2
   14381         KetRpos
   14382         Ket
   14383         CBra 1
   14384         Recurse
   14385         Braposzero
   14386         SCBraPos 2
   14387         KetRpos
   14388         Ket
   14389         Ket
   14390         End
   14391 ------------------------------------------------------------------
   14392 
   14393 "(?<=((?2))((?1)))"
   14394 Failed: lookbehind assertion is not fixed length at offset 17
   14395 
   14396 /(?<=\Ka)/g+
   14397     aaaaa
   14398  0: a
   14399  0+ aaaa
   14400  0: a
   14401  0+ aaaa
   14402  0: a
   14403  0+ aaa
   14404  0: a
   14405  0+ aa
   14406  0: a
   14407  0+ a
   14408  0: a
   14409  0+ 
   14410 
   14411 /(?<=\Ka)/G+
   14412     aaaaa
   14413  0: a
   14414  0+ aaaa
   14415  0: a
   14416  0+ aaa
   14417  0: a
   14418  0+ aa
   14419  0: a
   14420  0+ a
   14421  0: a
   14422  0+ 
   14423 
   14424 /((?2){73}(?2))((?1))/
   14425 
   14426 /.((?2)(?R)\1)()/BZ
   14427 ------------------------------------------------------------------
   14428         Bra
   14429         Any
   14430         Once
   14431         CBra 1
   14432         Recurse
   14433         Recurse
   14434         \1
   14435         Ket
   14436         Ket
   14437         CBra 2
   14438         Ket
   14439         Ket
   14440         End
   14441 ------------------------------------------------------------------
   14442 
   14443 /(?1)()((((((\1++))\x85)+)|))/
   14444 
   14445 /(\9*+(?2);\3++()2|)++{/
   14446 Failed: reference to non-existent subpattern at offset 22
   14447 
   14448 /\V\x85\9*+((?2)\3++()2)*:2/
   14449 Failed: reference to non-existent subpattern at offset 26
   14450 
   14451 /(((?(R)){0,2}) (?''((?'R')((?'R')))))/J
   14452 
   14453 /(((?(X)){0,2}) (?''((?'X')((?'X')))))/J
   14454 
   14455 /(((?(R)){0,2}) (?''((?'X')((?'R')))))/
   14456 
   14457 "(?J)(?'d'(?'d'\g{d}))"
   14458 
   14459 ".*?\h.+.\.+\R*?\xd(?i)(?=!(?=b`b`b`\`b\xa9b!)`\a`bbbbbbbbbbbbb`bbbbbbbbbbbb*R\x85bbbbbbb\C?{((?2)(?))((
   14460 \H){8(?<=(?1){29}\xa8bbbb\x16\xd\xc6^($(?<! )(\xa9H4){4}h}1)B))\x15')"
   14461 
   14462 "(?J:(?|(?'R')(\k'R')|((?'R'))))"
   14463 
   14464 /(?<=|(\,\$(?73591620449005828816)\xa8.{7}){6}\x09)/
   14465 Failed: number is too big at offset 32
   14466 
   14467 //
   14468 \O1
   14469 Matched, but too many substrings
   14470 
   14471 /^(?:(?(1)x|)+)+$()/BZ
   14472 ------------------------------------------------------------------
   14473         Bra
   14474         ^
   14475         SBra
   14476         SCond
   14477       1 Cond ref
   14478         x
   14479         Alt
   14480         KetRmax
   14481         KetRmax
   14482         $
   14483         CBra 1
   14484         Ket
   14485         Ket
   14486         End
   14487 ------------------------------------------------------------------
   14488 
   14489 /(?=di(?<=(?1))|(?=(.))))/
   14490 Failed: unmatched parentheses at offset 23
   14491 
   14492 /(?(R))*+/BZ
   14493 ------------------------------------------------------------------
   14494         Bra
   14495         Braposzero
   14496         SBraPos
   14497         SCond
   14498         Cond recurse any
   14499         Ket
   14500         KetRpos
   14501         Ket
   14502         End
   14503 ------------------------------------------------------------------
   14504 
   14505 /[[:\\](?'abc')[a:]/
   14506 
   14507 "[[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[:::::::::::::::::[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[[[:::E[[[:[:[[:[:::[[:::E[[[:[:[[:'[:::::E[[[:[::::::[[[:[[[[[[[::E[[[:[::::::[[[:[[[[[[[[:[[::[::::[[:::::::[[:[[[[[[[:[[::[:[[:[~"
   14508 Failed: missing terminating ] for character class at offset 353
   14509 
   14510 /()(?(R)0)*+/BZ
   14511 ------------------------------------------------------------------
   14512         Bra
   14513         CBra 1
   14514         Ket
   14515         Braposzero
   14516         SBraPos
   14517         SCond
   14518         Cond recurse any
   14519         0
   14520         Ket
   14521         KetRpos
   14522         Ket
   14523         End
   14524 ------------------------------------------------------------------
   14525 
   14526 /(?R-:(?</
   14527 Failed: (?R or (?[+-]digits must be followed by ) at offset 3
   14528 
   14529 /(?1){3918}(((((0(\k'R'))))(?J)(?'R'(?'R'\3){99})))/I
   14530 Capturing subpattern count = 8
   14531 Max back reference = 8
   14532 Named capturing subpatterns:
   14533   R   7
   14534   R   8
   14535 No options
   14536 Duplicate name status changes
   14537 No first char
   14538 Need char = '0'
   14539 
   14540 /(?J:(?|(:(?|(?'R')(\k'R')|((?'R')))H'Rk'Rf)|s(?'R')))/
   14541 
   14542 /0(?0)|(1)(*THEN)(*SKIP:0)(*FAIL)/
   14543     01
   14544 No match
   14545 
   14546 /((?(R8000000000)))/ 
   14547 Failed: number is too big at offset 16
   14548 
   14549 /(?(8000000000/
   14550 Failed: number is too big at offset 13
   14551 
   14552 /(?:ab)?(?:ab)(?:ab)/
   14553     abab
   14554  0: abab
   14555     ababab
   14556  0: ababab
   14557     aba
   14558 No match
   14559 
   14560 /((*MARK:A))++a(*SKIP:B)b/
   14561     aacb
   14562 No match
   14563 
   14564 /(?J:(?|(:(?|(?'R')(\z(?|(?'R')(\k'R')|((?'R')))k'R')|((?'R')))H'Ak'Rf)|s(?'R')))/
   14565 
   14566 /(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?<a>1)/
   14567 
   14568 /a[[:punct:]b]/BZ
   14569 ------------------------------------------------------------------
   14570         Bra
   14571         a
   14572         [!-/:-@[-`b{-~]
   14573         Ket
   14574         End
   14575 ------------------------------------------------------------------
   14576 
   14577 /-- End of testinput2 --/
   14578