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: syntax error in subpattern name (missing terminator) at offset 7
    565 
    566 /((?s)blah)\s+\1/I
    567 Capturing subpattern count = 1
    568 Max back reference = 1
    569 No options
    570 First char = 'b'
    571 Need char = 'h'
    572 
    573 /((?i)blah)\s+\1/I
    574 Capturing subpattern count = 1
    575 Max back reference = 1
    576 No options
    577 First char = 'b' (caseless)
    578 Need char = 'h' (caseless)
    579 
    580 /((?i)b)/IDZS
    581 ------------------------------------------------------------------
    582         Bra
    583         CBra 1
    584      /i b
    585         Ket
    586         Ket
    587         End
    588 ------------------------------------------------------------------
    589 Capturing subpattern count = 1
    590 No options
    591 First char = 'b' (caseless)
    592 No need char
    593 Subject length lower bound = 1
    594 No 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 No options
   1570 First char = 'a'
   1571 No need char
   1572 
   1573 /a(?(1)bag|big)(.)/I
   1574 Capturing subpattern count = 1
   1575 No options
   1576 First char = 'a'
   1577 Need char = 'g'
   1578 
   1579 /a(?(1)bag|big)*(.)/I
   1580 Capturing subpattern count = 1
   1581 No options
   1582 First char = 'a'
   1583 No need char
   1584 
   1585 /a(?(1)bag|big)+(.)/I
   1586 Capturing subpattern count = 1
   1587 No options
   1588 First char = 'a'
   1589 Need char = 'g'
   1590 
   1591 /a(?(1)b..|b..)(.)/I
   1592 Capturing subpattern count = 1
   1593 No options
   1594 First char = 'a'
   1595 Need char = 'b'
   1596 
   1597 /ab\d{0}e/I
   1598 Capturing subpattern count = 0
   1599 No options
   1600 First char = 'a'
   1601 Need char = 'e'
   1602 
   1603 /a?b?/I
   1604 Capturing subpattern count = 0
   1605 May match empty string
   1606 No options
   1607 No first char
   1608 No need char
   1609     a
   1610  0: a
   1611     b
   1612  0: b
   1613     ab
   1614  0: ab
   1615     \
   1616  0: 
   1617     *** Failers
   1618  0: 
   1619     \N
   1620 No match
   1621 
   1622 /|-/I
   1623 Capturing subpattern count = 0
   1624 May match empty string
   1625 No options
   1626 No first char
   1627 No need char
   1628     abcd
   1629  0: 
   1630     -abc
   1631  0: 
   1632     \Nab-c
   1633  0: -
   1634     *** Failers
   1635  0: 
   1636     \Nabc
   1637 No match
   1638 
   1639 /^.?abcd/IS
   1640 Capturing subpattern count = 0
   1641 Options: anchored
   1642 No first char
   1643 Need char = 'd'
   1644 Subject length lower bound = 4
   1645 No starting char list
   1646 
   1647 /\(             # ( at start
   1648   (?:           # Non-capturing bracket
   1649   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
   1650   |             # Or
   1651   (?R)          # Recurse - i.e. nested bracketed string
   1652   )*            # Zero or more contents
   1653   \)            # Closing )
   1654   /Ix
   1655 Capturing subpattern count = 0
   1656 Options: extended
   1657 First char = '('
   1658 Need char = ')'
   1659     (abcd)
   1660  0: (abcd)
   1661     (abcd)xyz
   1662  0: (abcd)
   1663     xyz(abcd)
   1664  0: (abcd)
   1665     (ab(xy)cd)pqr
   1666  0: (ab(xy)cd)
   1667     (ab(xycd)pqr
   1668  0: (xycd)
   1669     () abc ()
   1670  0: ()
   1671     12(abcde(fsh)xyz(foo(bar))lmno)89
   1672  0: (abcde(fsh)xyz(foo(bar))lmno)
   1673     *** Failers
   1674 No match
   1675     abcd
   1676 No match
   1677     abcd)
   1678 No match
   1679     (abcd
   1680 No match
   1681 
   1682 /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
   1683 Capturing subpattern count = 1
   1684 Options: extended
   1685 First char = '('
   1686 Need char = ')'
   1687     (ab(xy)cd)pqr
   1688  0: (ab(xy)cd)
   1689  1: cd
   1690     1(abcd)(x(y)z)pqr
   1691  0: (abcd)
   1692  1: abcd
   1693  0: (x(y)z)
   1694  1: z
   1695 
   1696 /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
   1697 Capturing subpattern count = 0
   1698 Options: extended
   1699 First char = '('
   1700 Need char = ')'
   1701     (abcd)
   1702  0: (abcd)
   1703     (ab(xy)cd)
   1704  0: (xy)
   1705     (a(b(c)d)e)
   1706  0: (c)
   1707     ((ab))
   1708  0: ((ab))
   1709     *** Failers
   1710 No match
   1711     ()
   1712 No match
   1713 
   1714 /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
   1715 Capturing subpattern count = 0
   1716 Options: extended
   1717 First char = '('
   1718 Need char = ')'
   1719     ()
   1720  0: ()
   1721     12(abcde(fsh)xyz(foo(bar))lmno)89
   1722  0: (fsh)
   1723 
   1724 /\(  ( (?>[^()]+) | (?R) )* \) /Ix
   1725 Capturing subpattern count = 1
   1726 Options: extended
   1727 First char = '('
   1728 Need char = ')'
   1729     (ab(xy)cd)
   1730  0: (ab(xy)cd)
   1731  1: cd
   1732 
   1733 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
   1734 Capturing subpattern count = 2
   1735 Options: extended
   1736 First char = '('
   1737 Need char = ')'
   1738     (ab(xy)cd)
   1739  0: (ab(xy)cd)
   1740  1: ab(xy)cd
   1741  2: cd
   1742 
   1743 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
   1744 Capturing subpattern count = 3
   1745 Options: extended
   1746 First char = '('
   1747 Need char = ')'
   1748     (ab(xy)cd)
   1749  0: (ab(xy)cd)
   1750  1: <unset>
   1751  2: ab(xy)cd
   1752  3: cd
   1753     (123ab(xy)cd)
   1754  0: (123ab(xy)cd)
   1755  1: 123
   1756  2: ab(xy)cd
   1757  3: cd
   1758 
   1759 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
   1760 Capturing subpattern count = 3
   1761 Options: extended
   1762 First char = '('
   1763 Need char = ')'
   1764     (ab(xy)cd)
   1765  0: (ab(xy)cd)
   1766  1: ab(xy)cd
   1767  2: <unset>
   1768  3: cd
   1769     (123ab(xy)cd)
   1770  0: (123ab(xy)cd)
   1771  1: 123ab(xy)cd
   1772  2: 123
   1773  3: cd
   1774 
   1775 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
   1776 Capturing subpattern count = 11
   1777 Options: extended
   1778 First char = '('
   1779 Need char = ')'
   1780     (ab(xy)cd)
   1781  0: (ab(xy)cd)
   1782  1: ab(xy)cd
   1783  2: ab(xy)cd
   1784  3: ab(xy)cd
   1785  4: ab(xy)cd
   1786  5: ab(xy)cd
   1787  6: ab(xy)cd
   1788  7: ab(xy)cd
   1789  8: ab(xy)cd
   1790  9: ab(xy)cd
   1791 10: ab(xy)cd
   1792 11: cd
   1793 
   1794 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
   1795 Capturing subpattern count = 3
   1796 Options: extended
   1797 First char = '('
   1798 Need char = ')'
   1799     (abcd(xyz<p>qrs)123)
   1800  0: (abcd(xyz<p>qrs)123)
   1801  1: abcd(xyz<p>qrs)123
   1802  2: 123
   1803 
   1804 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
   1805 Capturing subpattern count = 3
   1806 Options: extended
   1807 First char = '('
   1808 Need char = ')'
   1809     (ab(cd)ef)
   1810  0: (ab(cd)ef)
   1811  1: ab(cd)ef
   1812  2: ef
   1813  3: (cd)
   1814     (ab(cd(ef)gh)ij)
   1815  0: (ab(cd(ef)gh)ij)
   1816  1: ab(cd(ef)gh)ij
   1817  2: ij
   1818  3: (cd(ef)gh)
   1819 
   1820 /^[[:alnum:]]/DZ
   1821 ------------------------------------------------------------------
   1822         Bra
   1823         ^
   1824         [0-9A-Za-z]
   1825         Ket
   1826         End
   1827 ------------------------------------------------------------------
   1828 Capturing subpattern count = 0
   1829 Options: anchored
   1830 No first char
   1831 No need char
   1832 
   1833 /^[[:^alnum:]]/DZ
   1834 ------------------------------------------------------------------
   1835         Bra
   1836         ^
   1837         [\x00-/:-@[-`{-\xff] (neg)
   1838         Ket
   1839         End
   1840 ------------------------------------------------------------------
   1841 Capturing subpattern count = 0
   1842 Options: anchored
   1843 No first char
   1844 No need char
   1845 
   1846 /^[[:alpha:]]/DZ
   1847 ------------------------------------------------------------------
   1848         Bra
   1849         ^
   1850         [A-Za-z]
   1851         Ket
   1852         End
   1853 ------------------------------------------------------------------
   1854 Capturing subpattern count = 0
   1855 Options: anchored
   1856 No first char
   1857 No need char
   1858 
   1859 /^[[:^alpha:]]/DZ
   1860 ------------------------------------------------------------------
   1861         Bra
   1862         ^
   1863         [\x00-@[-`{-\xff] (neg)
   1864         Ket
   1865         End
   1866 ------------------------------------------------------------------
   1867 Capturing subpattern count = 0
   1868 Options: anchored
   1869 No first char
   1870 No need char
   1871 
   1872 /[_[:alpha:]]/IS
   1873 Capturing subpattern count = 0
   1874 No options
   1875 No first char
   1876 No need char
   1877 Subject length lower bound = 1
   1878 Starting 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 
   1879   _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
   1880 
   1881 /^[[:ascii:]]/DZ
   1882 ------------------------------------------------------------------
   1883         Bra
   1884         ^
   1885         [\x00-\x7f]
   1886         Ket
   1887         End
   1888 ------------------------------------------------------------------
   1889 Capturing subpattern count = 0
   1890 Options: anchored
   1891 No first char
   1892 No need char
   1893 
   1894 /^[[:^ascii:]]/DZ
   1895 ------------------------------------------------------------------
   1896         Bra
   1897         ^
   1898         [\x80-\xff] (neg)
   1899         Ket
   1900         End
   1901 ------------------------------------------------------------------
   1902 Capturing subpattern count = 0
   1903 Options: anchored
   1904 No first char
   1905 No need char
   1906 
   1907 /^[[:blank:]]/DZ
   1908 ------------------------------------------------------------------
   1909         Bra
   1910         ^
   1911         [\x09 ]
   1912         Ket
   1913         End
   1914 ------------------------------------------------------------------
   1915 Capturing subpattern count = 0
   1916 Options: anchored
   1917 No first char
   1918 No need char
   1919 
   1920 /^[[:^blank:]]/DZ
   1921 ------------------------------------------------------------------
   1922         Bra
   1923         ^
   1924         [\x00-\x08\x0a-\x1f!-\xff] (neg)
   1925         Ket
   1926         End
   1927 ------------------------------------------------------------------
   1928 Capturing subpattern count = 0
   1929 Options: anchored
   1930 No first char
   1931 No need char
   1932 
   1933 /[\n\x0b\x0c\x0d[:blank:]]/IS
   1934 Capturing subpattern count = 0
   1935 Contains explicit CR or LF match
   1936 No options
   1937 No first char
   1938 No need char
   1939 Subject length lower bound = 1
   1940 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 
   1941 
   1942 /^[[:cntrl:]]/DZ
   1943 ------------------------------------------------------------------
   1944         Bra
   1945         ^
   1946         [\x00-\x1f\x7f]
   1947         Ket
   1948         End
   1949 ------------------------------------------------------------------
   1950 Capturing subpattern count = 0
   1951 Options: anchored
   1952 No first char
   1953 No need char
   1954 
   1955 /^[[:digit:]]/DZ
   1956 ------------------------------------------------------------------
   1957         Bra
   1958         ^
   1959         [0-9]
   1960         Ket
   1961         End
   1962 ------------------------------------------------------------------
   1963 Capturing subpattern count = 0
   1964 Options: anchored
   1965 No first char
   1966 No need char
   1967 
   1968 /^[[:graph:]]/DZ
   1969 ------------------------------------------------------------------
   1970         Bra
   1971         ^
   1972         [!-~]
   1973         Ket
   1974         End
   1975 ------------------------------------------------------------------
   1976 Capturing subpattern count = 0
   1977 Options: anchored
   1978 No first char
   1979 No need char
   1980 
   1981 /^[[:lower:]]/DZ
   1982 ------------------------------------------------------------------
   1983         Bra
   1984         ^
   1985         [a-z]
   1986         Ket
   1987         End
   1988 ------------------------------------------------------------------
   1989 Capturing subpattern count = 0
   1990 Options: anchored
   1991 No first char
   1992 No need char
   1993 
   1994 /^[[:print:]]/DZ
   1995 ------------------------------------------------------------------
   1996         Bra
   1997         ^
   1998         [ -~]
   1999         Ket
   2000         End
   2001 ------------------------------------------------------------------
   2002 Capturing subpattern count = 0
   2003 Options: anchored
   2004 No first char
   2005 No need char
   2006 
   2007 /^[[:punct:]]/DZ
   2008 ------------------------------------------------------------------
   2009         Bra
   2010         ^
   2011         [!-/:-@[-`{-~]
   2012         Ket
   2013         End
   2014 ------------------------------------------------------------------
   2015 Capturing subpattern count = 0
   2016 Options: anchored
   2017 No first char
   2018 No need char
   2019 
   2020 /^[[:space:]]/DZ
   2021 ------------------------------------------------------------------
   2022         Bra
   2023         ^
   2024         [\x09-\x0d ]
   2025         Ket
   2026         End
   2027 ------------------------------------------------------------------
   2028 Capturing subpattern count = 0
   2029 Options: anchored
   2030 No first char
   2031 No need char
   2032 
   2033 /^[[:upper:]]/DZ
   2034 ------------------------------------------------------------------
   2035         Bra
   2036         ^
   2037         [A-Z]
   2038         Ket
   2039         End
   2040 ------------------------------------------------------------------
   2041 Capturing subpattern count = 0
   2042 Options: anchored
   2043 No first char
   2044 No need char
   2045 
   2046 /^[[:xdigit:]]/DZ
   2047 ------------------------------------------------------------------
   2048         Bra
   2049         ^
   2050         [0-9A-Fa-f]
   2051         Ket
   2052         End
   2053 ------------------------------------------------------------------
   2054 Capturing subpattern count = 0
   2055 Options: anchored
   2056 No first char
   2057 No need char
   2058 
   2059 /^[[:word:]]/DZ
   2060 ------------------------------------------------------------------
   2061         Bra
   2062         ^
   2063         [0-9A-Z_a-z]
   2064         Ket
   2065         End
   2066 ------------------------------------------------------------------
   2067 Capturing subpattern count = 0
   2068 Options: anchored
   2069 No first char
   2070 No need char
   2071 
   2072 /^[[:^cntrl:]]/DZ
   2073 ------------------------------------------------------------------
   2074         Bra
   2075         ^
   2076         [ -~\x80-\xff] (neg)
   2077         Ket
   2078         End
   2079 ------------------------------------------------------------------
   2080 Capturing subpattern count = 0
   2081 Options: anchored
   2082 No first char
   2083 No need char
   2084 
   2085 /^[12[:^digit:]]/DZ
   2086 ------------------------------------------------------------------
   2087         Bra
   2088         ^
   2089         [\x00-/12:-\xff] (neg)
   2090         Ket
   2091         End
   2092 ------------------------------------------------------------------
   2093 Capturing subpattern count = 0
   2094 Options: anchored
   2095 No first char
   2096 No need char
   2097 
   2098 /^[[:^blank:]]/DZ
   2099 ------------------------------------------------------------------
   2100         Bra
   2101         ^
   2102         [\x00-\x08\x0a-\x1f!-\xff] (neg)
   2103         Ket
   2104         End
   2105 ------------------------------------------------------------------
   2106 Capturing subpattern count = 0
   2107 Options: anchored
   2108 No first char
   2109 No need char
   2110 
   2111 /[01[:alpha:]%]/DZ
   2112 ------------------------------------------------------------------
   2113         Bra
   2114         [%01A-Za-z]
   2115         Ket
   2116         End
   2117 ------------------------------------------------------------------
   2118 Capturing subpattern count = 0
   2119 No options
   2120 No first char
   2121 No need char
   2122 
   2123 /[[.ch.]]/I
   2124 Failed: POSIX collating elements are not supported at offset 1
   2125 
   2126 /[[=ch=]]/I
   2127 Failed: POSIX collating elements are not supported at offset 1
   2128 
   2129 /[[:rhubarb:]]/I
   2130 Failed: unknown POSIX class name at offset 3
   2131 
   2132 /[[:upper:]]/Ii
   2133 Capturing subpattern count = 0
   2134 Options: caseless
   2135 No first char
   2136 No need char
   2137     A
   2138  0: A
   2139     a
   2140  0: a
   2141 
   2142 /[[:lower:]]/Ii
   2143 Capturing subpattern count = 0
   2144 Options: caseless
   2145 No first char
   2146 No need char
   2147     A
   2148  0: A
   2149     a
   2150  0: a
   2151 
   2152 /((?-i)[[:lower:]])[[:lower:]]/Ii
   2153 Capturing subpattern count = 1
   2154 Options: caseless
   2155 No first char
   2156 No need char
   2157     ab
   2158  0: ab
   2159  1: a
   2160     aB
   2161  0: aB
   2162  1: a
   2163     *** Failers
   2164  0: ai
   2165  1: a
   2166     Ab
   2167 No match
   2168     AB
   2169 No match
   2170 
   2171 /[\200-\110]/I
   2172 Failed: range out of order in character class at offset 9
   2173 
   2174 /^(?(0)f|b)oo/I
   2175 Failed: invalid condition (?(0) at offset 6
   2176 
   2177 /This one's here because of the large output vector needed/I
   2178 Capturing subpattern count = 0
   2179 No options
   2180 First char = 'T'
   2181 Need char = 'd'
   2182 
   2183 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
   2184 Capturing subpattern count = 271
   2185 Max back reference = 270
   2186 No options
   2187 No first char
   2188 No need char
   2189     \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
   2190  0: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
   2191  1: 1 
   2192  2: 2 
   2193  3: 3 
   2194  4: 4 
   2195  5: 5 
   2196  6: 6 
   2197  7: 7 
   2198  8: 8 
   2199  9: 9 
   2200 10: 10 
   2201 11: 11 
   2202 12: 12 
   2203 13: 13 
   2204 14: 14 
   2205 15: 15 
   2206 16: 16 
   2207 17: 17 
   2208 18: 18 
   2209 19: 19 
   2210 20: 20 
   2211 21: 21 
   2212 22: 22 
   2213 23: 23 
   2214 24: 24 
   2215 25: 25 
   2216 26: 26 
   2217 27: 27 
   2218 28: 28 
   2219 29: 29 
   2220 30: 30 
   2221 31: 31 
   2222 32: 32 
   2223 33: 33 
   2224 34: 34 
   2225 35: 35 
   2226 36: 36 
   2227 37: 37 
   2228 38: 38 
   2229 39: 39 
   2230 40: 40 
   2231 41: 41 
   2232 42: 42 
   2233 43: 43 
   2234 44: 44 
   2235 45: 45 
   2236 46: 46 
   2237 47: 47 
   2238 48: 48 
   2239 49: 49 
   2240 50: 50 
   2241 51: 51 
   2242 52: 52 
   2243 53: 53 
   2244 54: 54 
   2245 55: 55 
   2246 56: 56 
   2247 57: 57 
   2248 58: 58 
   2249 59: 59 
   2250 60: 60 
   2251 61: 61 
   2252 62: 62 
   2253 63: 63 
   2254 64: 64 
   2255 65: 65 
   2256 66: 66 
   2257 67: 67 
   2258 68: 68 
   2259 69: 69 
   2260 70: 70 
   2261 71: 71 
   2262 72: 72 
   2263 73: 73 
   2264 74: 74 
   2265 75: 75 
   2266 76: 76 
   2267 77: 77 
   2268 78: 78 
   2269 79: 79 
   2270 80: 80 
   2271 81: 81 
   2272 82: 82 
   2273 83: 83 
   2274 84: 84 
   2275 85: 85 
   2276 86: 86 
   2277 87: 87 
   2278 88: 88 
   2279 89: 89 
   2280 90: 90 
   2281 91: 91 
   2282 92: 92 
   2283 93: 93 
   2284 94: 94 
   2285 95: 95 
   2286 96: 96 
   2287 97: 97 
   2288 98: 98 
   2289 99: 99 
   2290 100: 100 
   2291 101: 101 
   2292 102: 102 
   2293 103: 103 
   2294 104: 104 
   2295 105: 105 
   2296 106: 106 
   2297 107: 107 
   2298 108: 108 
   2299 109: 109 
   2300 110: 110 
   2301 111: 111 
   2302 112: 112 
   2303 113: 113 
   2304 114: 114 
   2305 115: 115 
   2306 116: 116 
   2307 117: 117 
   2308 118: 118 
   2309 119: 119 
   2310 120: 120 
   2311 121: 121 
   2312 122: 122 
   2313 123: 123 
   2314 124: 124 
   2315 125: 125 
   2316 126: 126 
   2317 127: 127 
   2318 128: 128 
   2319 129: 129 
   2320 130: 130 
   2321 131: 131 
   2322 132: 132 
   2323 133: 133 
   2324 134: 134 
   2325 135: 135 
   2326 136: 136 
   2327 137: 137 
   2328 138: 138 
   2329 139: 139 
   2330 140: 140 
   2331 141: 141 
   2332 142: 142 
   2333 143: 143 
   2334 144: 144 
   2335 145: 145 
   2336 146: 146 
   2337 147: 147 
   2338 148: 148 
   2339 149: 149 
   2340 150: 150 
   2341 151: 151 
   2342 152: 152 
   2343 153: 153 
   2344 154: 154 
   2345 155: 155 
   2346 156: 156 
   2347 157: 157 
   2348 158: 158 
   2349 159: 159 
   2350 160: 160 
   2351 161: 161 
   2352 162: 162 
   2353 163: 163 
   2354 164: 164 
   2355 165: 165 
   2356 166: 166 
   2357 167: 167 
   2358 168: 168 
   2359 169: 169 
   2360 170: 170 
   2361 171: 171 
   2362 172: 172 
   2363 173: 173 
   2364 174: 174 
   2365 175: 175 
   2366 176: 176 
   2367 177: 177 
   2368 178: 178 
   2369 179: 179 
   2370 180: 180 
   2371 181: 181 
   2372 182: 182 
   2373 183: 183 
   2374 184: 184 
   2375 185: 185 
   2376 186: 186 
   2377 187: 187 
   2378 188: 188 
   2379 189: 189 
   2380 190: 190 
   2381 191: 191 
   2382 192: 192 
   2383 193: 193 
   2384 194: 194 
   2385 195: 195 
   2386 196: 196 
   2387 197: 197 
   2388 198: 198 
   2389 199: 199 
   2390 200: 200 
   2391 201: 201 
   2392 202: 202 
   2393 203: 203 
   2394 204: 204 
   2395 205: 205 
   2396 206: 206 
   2397 207: 207 
   2398 208: 208 
   2399 209: 209 
   2400 210: 210 
   2401 211: 211 
   2402 212: 212 
   2403 213: 213 
   2404 214: 214 
   2405 215: 215 
   2406 216: 216 
   2407 217: 217 
   2408 218: 218 
   2409 219: 219 
   2410 220: 220 
   2411 221: 221 
   2412 222: 222 
   2413 223: 223 
   2414 224: 224 
   2415 225: 225 
   2416 226: 226 
   2417 227: 227 
   2418 228: 228 
   2419 229: 229 
   2420 230: 230 
   2421 231: 231 
   2422 232: 232 
   2423 233: 233 
   2424 234: 234 
   2425 235: 235 
   2426 236: 236 
   2427 237: 237 
   2428 238: 238 
   2429 239: 239 
   2430 240: 240 
   2431 241: 241 
   2432 242: 242 
   2433 243: 243 
   2434 244: 244 
   2435 245: 245 
   2436 246: 246 
   2437 247: 247 
   2438 248: 248 
   2439 249: 249 
   2440 250: 250 
   2441 251: 251 
   2442 252: 252 
   2443 253: 253 
   2444 254: 254 
   2445 255: 255 
   2446 256: 256 
   2447 257: 257 
   2448 258: 258 
   2449 259: 259 
   2450 260: 260 
   2451 261: 261 
   2452 262: 262 
   2453 263: 263 
   2454 264: 264 
   2455 265: 265 
   2456 266: 266 
   2457 267: 267 
   2458 268: 268 
   2459 269: 269 
   2460 270: ABC
   2461 271: ABC
   2462 
   2463 /This one's here because Perl does this differently and PCRE can't at present/I
   2464 Capturing subpattern count = 0
   2465 No options
   2466 First char = 'T'
   2467 Need char = 't'
   2468 
   2469 /(main(O)?)+/I
   2470 Capturing subpattern count = 2
   2471 No options
   2472 First char = 'm'
   2473 Need char = 'n'
   2474     mainmain
   2475  0: mainmain
   2476  1: main
   2477     mainOmain
   2478  0: mainOmain
   2479  1: main
   2480  2: O
   2481 
   2482 /These are all cases where Perl does it differently (nested captures)/I
   2483 Capturing subpattern count = 1
   2484 No options
   2485 First char = 'T'
   2486 Need char = 's'
   2487 
   2488 /^(a(b)?)+$/I
   2489 Capturing subpattern count = 2
   2490 Options: anchored
   2491 No first char
   2492 No need char
   2493     aba
   2494  0: aba
   2495  1: a
   2496  2: b
   2497 
   2498 /^(aa(bb)?)+$/I
   2499 Capturing subpattern count = 2
   2500 Options: anchored
   2501 No first char
   2502 No need char
   2503     aabbaa
   2504  0: aabbaa
   2505  1: aa
   2506  2: bb
   2507 
   2508 /^(aa|aa(bb))+$/I
   2509 Capturing subpattern count = 2
   2510 Options: anchored
   2511 No first char
   2512 No need char
   2513     aabbaa
   2514  0: aabbaa
   2515  1: aa
   2516  2: bb
   2517 
   2518 /^(aa(bb)??)+$/I
   2519 Capturing subpattern count = 2
   2520 Options: anchored
   2521 No first char
   2522 No need char
   2523     aabbaa
   2524  0: aabbaa
   2525  1: aa
   2526  2: bb
   2527 
   2528 /^(?:aa(bb)?)+$/I
   2529 Capturing subpattern count = 1
   2530 Options: anchored
   2531 No first char
   2532 No need char
   2533     aabbaa
   2534  0: aabbaa
   2535  1: bb
   2536 
   2537 /^(aa(b(b))?)+$/I
   2538 Capturing subpattern count = 3
   2539 Options: anchored
   2540 No first char
   2541 No need char
   2542     aabbaa
   2543  0: aabbaa
   2544  1: aa
   2545  2: bb
   2546  3: b
   2547 
   2548 /^(?:aa(b(b))?)+$/I
   2549 Capturing subpattern count = 2
   2550 Options: anchored
   2551 No first char
   2552 No need char
   2553     aabbaa
   2554  0: aabbaa
   2555  1: bb
   2556  2: b
   2557 
   2558 /^(?:aa(b(?:b))?)+$/I
   2559 Capturing subpattern count = 1
   2560 Options: anchored
   2561 No first char
   2562 No need char
   2563     aabbaa
   2564  0: aabbaa
   2565  1: bb
   2566 
   2567 /^(?:aa(bb(?:b))?)+$/I
   2568 Capturing subpattern count = 1
   2569 Options: anchored
   2570 No first char
   2571 No need char
   2572     aabbbaa
   2573  0: aabbbaa
   2574  1: bbb
   2575 
   2576 /^(?:aa(b(?:bb))?)+$/I
   2577 Capturing subpattern count = 1
   2578 Options: anchored
   2579 No first char
   2580 No need char
   2581     aabbbaa
   2582  0: aabbbaa
   2583  1: bbb
   2584 
   2585 /^(?:aa(?:b(b))?)+$/I
   2586 Capturing subpattern count = 1
   2587 Options: anchored
   2588 No first char
   2589 No need char
   2590     aabbaa
   2591  0: aabbaa
   2592  1: b
   2593 
   2594 /^(?:aa(?:b(bb))?)+$/I
   2595 Capturing subpattern count = 1
   2596 Options: anchored
   2597 No first char
   2598 No need char
   2599     aabbbaa
   2600  0: aabbbaa
   2601  1: bb
   2602 
   2603 /^(aa(b(bb))?)+$/I
   2604 Capturing subpattern count = 3
   2605 Options: anchored
   2606 No first char
   2607 No need char
   2608     aabbbaa
   2609  0: aabbbaa
   2610  1: aa
   2611  2: bbb
   2612  3: bb
   2613 
   2614 /^(aa(bb(bb))?)+$/I
   2615 Capturing subpattern count = 3
   2616 Options: anchored
   2617 No first char
   2618 No need char
   2619     aabbbbaa
   2620  0: aabbbbaa
   2621  1: aa
   2622  2: bbbb
   2623  3: bb
   2624 
   2625 /--------------------------------------------------------------------/I
   2626 Capturing subpattern count = 0
   2627 No options
   2628 First char = '-'
   2629 Need char = '-'
   2630 
   2631 /#/IxDZ
   2632 ------------------------------------------------------------------
   2633         Bra
   2634         Ket
   2635         End
   2636 ------------------------------------------------------------------
   2637 Capturing subpattern count = 0
   2638 May match empty string
   2639 Options: extended
   2640 No first char
   2641 No need char
   2642 
   2643 /a#/IxDZ
   2644 ------------------------------------------------------------------
   2645         Bra
   2646         a
   2647         Ket
   2648         End
   2649 ------------------------------------------------------------------
   2650 Capturing subpattern count = 0
   2651 Options: extended
   2652 First char = 'a'
   2653 No need char
   2654 
   2655 /[\s]/DZ
   2656 ------------------------------------------------------------------
   2657         Bra
   2658         [\x09-\x0d ]
   2659         Ket
   2660         End
   2661 ------------------------------------------------------------------
   2662 Capturing subpattern count = 0
   2663 No options
   2664 No first char
   2665 No need char
   2666 
   2667 /[\S]/DZ
   2668 ------------------------------------------------------------------
   2669         Bra
   2670         [\x00-\x08\x0e-\x1f!-\xff] (neg)
   2671         Ket
   2672         End
   2673 ------------------------------------------------------------------
   2674 Capturing subpattern count = 0
   2675 No options
   2676 No first char
   2677 No need char
   2678 
   2679 /a(?i)b/DZ
   2680 ------------------------------------------------------------------
   2681         Bra
   2682         a
   2683      /i b
   2684         Ket
   2685         End
   2686 ------------------------------------------------------------------
   2687 Capturing subpattern count = 0
   2688 No options
   2689 First char = 'a'
   2690 Need char = 'b' (caseless)
   2691     ab
   2692  0: ab
   2693     aB
   2694  0: aB
   2695     *** Failers
   2696 No match
   2697     AB
   2698 No match
   2699 
   2700 /(a(?i)b)/DZ
   2701 ------------------------------------------------------------------
   2702         Bra
   2703         CBra 1
   2704         a
   2705      /i b
   2706         Ket
   2707         Ket
   2708         End
   2709 ------------------------------------------------------------------
   2710 Capturing subpattern count = 1
   2711 No options
   2712 First char = 'a'
   2713 Need char = 'b' (caseless)
   2714     ab
   2715  0: ab
   2716  1: ab
   2717     aB
   2718  0: aB
   2719  1: aB
   2720     *** Failers
   2721 No match
   2722     AB
   2723 No match
   2724 
   2725 /   (?i)abc/IxDZ
   2726 ------------------------------------------------------------------
   2727         Bra
   2728      /i abc
   2729         Ket
   2730         End
   2731 ------------------------------------------------------------------
   2732 Capturing subpattern count = 0
   2733 Options: caseless extended
   2734 First char = 'a' (caseless)
   2735 Need char = 'c' (caseless)
   2736 
   2737 /#this is a comment
   2738   (?i)abc/IxDZ
   2739 ------------------------------------------------------------------
   2740         Bra
   2741      /i abc
   2742         Ket
   2743         End
   2744 ------------------------------------------------------------------
   2745 Capturing subpattern count = 0
   2746 Options: caseless extended
   2747 First char = 'a' (caseless)
   2748 Need char = 'c' (caseless)
   2749 
   2750 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
   2751 ------------------------------------------------------------------
   2752         Bra
   2753         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
   2754         Ket
   2755         End
   2756 ------------------------------------------------------------------
   2757 Capturing subpattern count = 0
   2758 No options
   2759 First char = '1'
   2760 Need char = '0'
   2761 
   2762 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
   2763 ------------------------------------------------------------------
   2764         Bra
   2765         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
   2766         Ket
   2767         End
   2768 ------------------------------------------------------------------
   2769 Capturing subpattern count = 0
   2770 No options
   2771 First char = '1'
   2772 Need char = '0'
   2773 
   2774 /\Q\E/DZ
   2775 ------------------------------------------------------------------
   2776         Bra
   2777         Ket
   2778         End
   2779 ------------------------------------------------------------------
   2780 Capturing subpattern count = 0
   2781 May match empty string
   2782 No options
   2783 No first char
   2784 No need char
   2785     \
   2786  0: 
   2787 
   2788 /\Q\Ex/DZ
   2789 ------------------------------------------------------------------
   2790         Bra
   2791         x
   2792         Ket
   2793         End
   2794 ------------------------------------------------------------------
   2795 Capturing subpattern count = 0
   2796 No options
   2797 First char = 'x'
   2798 No need char
   2799 
   2800 / \Q\E/DZ
   2801 ------------------------------------------------------------------
   2802         Bra
   2803          
   2804         Ket
   2805         End
   2806 ------------------------------------------------------------------
   2807 Capturing subpattern count = 0
   2808 No options
   2809 First char = ' '
   2810 No need char
   2811 
   2812 /a\Q\E/DZ
   2813 ------------------------------------------------------------------
   2814         Bra
   2815         a
   2816         Ket
   2817         End
   2818 ------------------------------------------------------------------
   2819 Capturing subpattern count = 0
   2820 No options
   2821 First char = 'a'
   2822 No need char
   2823   abc
   2824  0: a
   2825   bca
   2826  0: a
   2827   bac
   2828  0: a
   2829 
   2830 /a\Q\Eb/DZ
   2831 ------------------------------------------------------------------
   2832         Bra
   2833         ab
   2834         Ket
   2835         End
   2836 ------------------------------------------------------------------
   2837 Capturing subpattern count = 0
   2838 No options
   2839 First char = 'a'
   2840 Need char = 'b'
   2841   abc
   2842  0: ab
   2843 
   2844 /\Q\Eabc/DZ
   2845 ------------------------------------------------------------------
   2846         Bra
   2847         abc
   2848         Ket
   2849         End
   2850 ------------------------------------------------------------------
   2851 Capturing subpattern count = 0
   2852 No options
   2853 First char = 'a'
   2854 Need char = 'c'
   2855 
   2856 /x*+\w/DZ
   2857 ------------------------------------------------------------------
   2858         Bra
   2859         x*+
   2860         \w
   2861         Ket
   2862         End
   2863 ------------------------------------------------------------------
   2864 Capturing subpattern count = 0
   2865 No options
   2866 No first char
   2867 No need char
   2868     *** Failers
   2869  0: F
   2870     xxxxx
   2871 No match
   2872 
   2873 /x?+/DZ
   2874 ------------------------------------------------------------------
   2875         Bra
   2876         x?+
   2877         Ket
   2878         End
   2879 ------------------------------------------------------------------
   2880 Capturing subpattern count = 0
   2881 May match empty string
   2882 No options
   2883 No first char
   2884 No need char
   2885 
   2886 /x++/DZ
   2887 ------------------------------------------------------------------
   2888         Bra
   2889         x++
   2890         Ket
   2891         End
   2892 ------------------------------------------------------------------
   2893 Capturing subpattern count = 0
   2894 No options
   2895 First char = 'x'
   2896 No need char
   2897 
   2898 /x{1,3}+/BZO
   2899 ------------------------------------------------------------------
   2900         Bra
   2901         x
   2902         x{0,2}+
   2903         Ket
   2904         End
   2905 ------------------------------------------------------------------
   2906 
   2907 /x{1,3}+/BZOi
   2908 ------------------------------------------------------------------
   2909         Bra
   2910      /i x
   2911      /i x{0,2}+
   2912         Ket
   2913         End
   2914 ------------------------------------------------------------------
   2915 
   2916 /[^x]{1,3}+/BZO
   2917 ------------------------------------------------------------------
   2918         Bra
   2919         [^x]
   2920         [^x]{0,2}+
   2921         Ket
   2922         End
   2923 ------------------------------------------------------------------
   2924 
   2925 /[^x]{1,3}+/BZOi
   2926 ------------------------------------------------------------------
   2927         Bra
   2928      /i [^x]
   2929      /i [^x]{0,2}+
   2930         Ket
   2931         End
   2932 ------------------------------------------------------------------
   2933 
   2934 /(x)*+/DZ
   2935 ------------------------------------------------------------------
   2936         Bra
   2937         Braposzero
   2938         CBraPos 1
   2939         x
   2940         KetRpos
   2941         Ket
   2942         End
   2943 ------------------------------------------------------------------
   2944 Capturing subpattern count = 1
   2945 May match empty string
   2946 No options
   2947 No first char
   2948 No need char
   2949 
   2950 /^(\w++|\s++)*$/I
   2951 Capturing subpattern count = 1
   2952 May match empty string
   2953 Options: anchored
   2954 No first char
   2955 No need char
   2956     now is the time for all good men to come to the aid of the party
   2957  0: now is the time for all good men to come to the aid of the party
   2958  1: party
   2959     *** Failers
   2960 No match
   2961     this is not a line with only words and spaces!
   2962 No match
   2963 
   2964 /(\d++)(\w)/I
   2965 Capturing subpattern count = 2
   2966 No options
   2967 No first char
   2968 No need char
   2969     12345a
   2970  0: 12345a
   2971  1: 12345
   2972  2: a
   2973     *** Failers
   2974 No match
   2975     12345+
   2976 No match
   2977 
   2978 /a++b/I
   2979 Capturing subpattern count = 0
   2980 No options
   2981 First char = 'a'
   2982 Need char = 'b'
   2983     aaab
   2984  0: aaab
   2985 
   2986 /(a++b)/I
   2987 Capturing subpattern count = 1
   2988 No options
   2989 First char = 'a'
   2990 Need char = 'b'
   2991     aaab
   2992  0: aaab
   2993  1: aaab
   2994 
   2995 /(a++)b/I
   2996 Capturing subpattern count = 1
   2997 No options
   2998 First char = 'a'
   2999 Need char = 'b'
   3000     aaab
   3001  0: aaab
   3002  1: aaa
   3003 
   3004 /([^()]++|\([^()]*\))+/I
   3005 Capturing subpattern count = 1
   3006 No options
   3007 No first char
   3008 No need char
   3009     ((abc(ade)ufh()()x
   3010  0: abc(ade)ufh()()x
   3011  1: x
   3012 
   3013 /\(([^()]++|\([^()]+\))+\)/I
   3014 Capturing subpattern count = 1
   3015 No options
   3016 First char = '('
   3017 Need char = ')'
   3018     (abc)
   3019  0: (abc)
   3020  1: abc
   3021     (abc(def)xyz)
   3022  0: (abc(def)xyz)
   3023  1: xyz
   3024     *** Failers
   3025 No match
   3026     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   3027 No match
   3028 
   3029 /(abc){1,3}+/DZ
   3030 ------------------------------------------------------------------
   3031         Bra
   3032         Once
   3033         CBra 1
   3034         abc
   3035         Ket
   3036         Brazero
   3037         Bra
   3038         CBra 1
   3039         abc
   3040         Ket
   3041         Brazero
   3042         CBra 1
   3043         abc
   3044         Ket
   3045         Ket
   3046         Ket
   3047         Ket
   3048         End
   3049 ------------------------------------------------------------------
   3050 Capturing subpattern count = 1
   3051 No options
   3052 First char = 'a'
   3053 Need char = 'c'
   3054 
   3055 /a+?+/I
   3056 Failed: nothing to repeat at offset 3
   3057 
   3058 /a{2,3}?+b/I
   3059 Failed: nothing to repeat at offset 7
   3060 
   3061 /(?U)a+?+/I
   3062 Failed: nothing to repeat at offset 7
   3063 
   3064 /a{2,3}?+b/IU
   3065 Failed: nothing to repeat at offset 7
   3066 
   3067 /x(?U)a++b/DZ
   3068 ------------------------------------------------------------------
   3069         Bra
   3070         x
   3071         a++
   3072         b
   3073         Ket
   3074         End
   3075 ------------------------------------------------------------------
   3076 Capturing subpattern count = 0
   3077 No options
   3078 First char = 'x'
   3079 Need char = 'b'
   3080     xaaaab
   3081  0: xaaaab
   3082 
   3083 /(?U)xa++b/DZ
   3084 ------------------------------------------------------------------
   3085         Bra
   3086         x
   3087         a++
   3088         b
   3089         Ket
   3090         End
   3091 ------------------------------------------------------------------
   3092 Capturing subpattern count = 0
   3093 Options: ungreedy
   3094 First char = 'x'
   3095 Need char = 'b'
   3096     xaaaab
   3097  0: xaaaab
   3098 
   3099 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
   3100 ------------------------------------------------------------------
   3101         Bra
   3102         ^
   3103         CBra 1
   3104         CBra 2
   3105         a+
   3106         Ket
   3107         CBra 3
   3108         [ab]+?
   3109         Ket
   3110         CBra 4
   3111         [bc]+
   3112         Ket
   3113         CBra 5
   3114         \w*+
   3115         Ket
   3116         Ket
   3117         Ket
   3118         End
   3119 ------------------------------------------------------------------
   3120 Capturing subpattern count = 5
   3121 Options: anchored
   3122 No first char
   3123 No need char
   3124 
   3125 /^x(?U)a+b/DZ
   3126 ------------------------------------------------------------------
   3127         Bra
   3128         ^
   3129         x
   3130         a++
   3131         b
   3132         Ket
   3133         End
   3134 ------------------------------------------------------------------
   3135 Capturing subpattern count = 0
   3136 Options: anchored
   3137 No first char
   3138 Need char = 'b'
   3139 
   3140 /^x(?U)(a+)b/DZ
   3141 ------------------------------------------------------------------
   3142         Bra
   3143         ^
   3144         x
   3145         CBra 1
   3146         a+?
   3147         Ket
   3148         b
   3149         Ket
   3150         End
   3151 ------------------------------------------------------------------
   3152 Capturing subpattern count = 1
   3153 Options: anchored
   3154 No first char
   3155 Need char = 'b'
   3156 
   3157 /[.x.]/I
   3158 Failed: POSIX collating elements are not supported at offset 0
   3159 
   3160 /[=x=]/I
   3161 Failed: POSIX collating elements are not supported at offset 0
   3162 
   3163 /[:x:]/I
   3164 Failed: POSIX named classes are supported only within a class at offset 0
   3165 
   3166 /\l/I
   3167 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3168 
   3169 /\L/I
   3170 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3171 
   3172 /\N{name}/I
   3173 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3174 
   3175 /\u/I
   3176 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3177 
   3178 /\U/I
   3179 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3180 
   3181 /a{1,3}b/U
   3182     ab
   3183  0: ab
   3184 
   3185 /[/I
   3186 Failed: missing terminating ] for character class at offset 1
   3187 
   3188 /[a-/I
   3189 Failed: missing terminating ] for character class at offset 3
   3190 
   3191 /[[:space:]/I
   3192 Failed: missing terminating ] for character class at offset 10
   3193 
   3194 /[\s]/IDZ
   3195 ------------------------------------------------------------------
   3196         Bra
   3197         [\x09-\x0d ]
   3198         Ket
   3199         End
   3200 ------------------------------------------------------------------
   3201 Capturing subpattern count = 0
   3202 No options
   3203 No first char
   3204 No need char
   3205 
   3206 /[[:space:]]/IDZ
   3207 ------------------------------------------------------------------
   3208         Bra
   3209         [\x09-\x0d ]
   3210         Ket
   3211         End
   3212 ------------------------------------------------------------------
   3213 Capturing subpattern count = 0
   3214 No options
   3215 No first char
   3216 No need char
   3217 
   3218 /[[:space:]abcde]/IDZ
   3219 ------------------------------------------------------------------
   3220         Bra
   3221         [\x09-\x0d a-e]
   3222         Ket
   3223         End
   3224 ------------------------------------------------------------------
   3225 Capturing subpattern count = 0
   3226 No options
   3227 No first char
   3228 No need char
   3229 
   3230 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
   3231 Capturing subpattern count = 0
   3232 Options: extended
   3233 First char = '<'
   3234 Need char = '>'
   3235     <>
   3236  0: <>
   3237     <abcd>
   3238  0: <abcd>
   3239     <abc <123> hij>
   3240  0: <abc <123> hij>
   3241     <abc <def> hij>
   3242  0: <def>
   3243     <abc<>def>
   3244  0: <abc<>def>
   3245     <abc<>
   3246  0: <>
   3247     *** Failers
   3248 No match
   3249     <abc
   3250 No match
   3251 
   3252 |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
   3253 ------------------------------------------------------------------
   3254         Bra
   3255         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
   3256         \b
   3257         Ket
   3258         End
   3259 ------------------------------------------------------------------
   3260 Capturing subpattern count = 0
   3261 Max lookbehind = 1
   3262 No options
   3263 First char = '8'
   3264 Need char = 'X'
   3265 
   3266 |\$\<\.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
   3267 ------------------------------------------------------------------
   3268         Bra
   3269         $<.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
   3270         \b
   3271         Ket
   3272         End
   3273 ------------------------------------------------------------------
   3274 Capturing subpattern count = 0
   3275 Max lookbehind = 1
   3276 No options
   3277 First char = '$'
   3278 Need char = 'X'
   3279 
   3280 /(.*)\d+\1/I
   3281 Capturing subpattern count = 1
   3282 Max back reference = 1
   3283 No options
   3284 No first char
   3285 No need char
   3286 
   3287 /(.*)\d+/I
   3288 Capturing subpattern count = 1
   3289 No options
   3290 First char at start or follows newline
   3291 No need char
   3292 
   3293 /(.*)\d+\1/Is
   3294 Capturing subpattern count = 1
   3295 Max back reference = 1
   3296 Options: dotall
   3297 No first char
   3298 No need char
   3299 
   3300 /(.*)\d+/Is
   3301 Capturing subpattern count = 1
   3302 Options: anchored dotall
   3303 No first char
   3304 No need char
   3305 
   3306 /(.*(xyz))\d+\2/I
   3307 Capturing subpattern count = 2
   3308 Max back reference = 2
   3309 No options
   3310 First char at start or follows newline
   3311 Need char = 'z'
   3312 
   3313 /((.*))\d+\1/I
   3314 Capturing subpattern count = 2
   3315 Max back reference = 1
   3316 No options
   3317 No first char
   3318 No need char
   3319     abc123bc
   3320  0: bc123bc
   3321  1: bc
   3322  2: bc
   3323 
   3324 /a[b]/I
   3325 Capturing subpattern count = 0
   3326 No options
   3327 First char = 'a'
   3328 Need char = 'b'
   3329 
   3330 /(?=a).*/I
   3331 Capturing subpattern count = 0
   3332 May match empty string
   3333 No options
   3334 First char = 'a'
   3335 No need char
   3336 
   3337 /(?=abc).xyz/IiI
   3338 Capturing subpattern count = 0
   3339 Options: caseless
   3340 First char = 'a' (caseless)
   3341 Need char = 'z' (caseless)
   3342 
   3343 /(?=abc)(?i).xyz/I
   3344 Capturing subpattern count = 0
   3345 No options
   3346 First char = 'a'
   3347 Need char = 'z' (caseless)
   3348 
   3349 /(?=a)(?=b)/I
   3350 Capturing subpattern count = 0
   3351 May match empty string
   3352 No options
   3353 First char = 'a'
   3354 No need char
   3355 
   3356 /(?=.)a/I
   3357 Capturing subpattern count = 0
   3358 No options
   3359 First char = 'a'
   3360 No need char
   3361 
   3362 /((?=abcda)a)/I
   3363 Capturing subpattern count = 1
   3364 No options
   3365 First char = 'a'
   3366 Need char = 'a'
   3367 
   3368 /((?=abcda)ab)/I
   3369 Capturing subpattern count = 1
   3370 No options
   3371 First char = 'a'
   3372 Need char = 'b'
   3373 
   3374 /()a/I
   3375 Capturing subpattern count = 1
   3376 No options
   3377 No first char
   3378 Need char = 'a'
   3379 
   3380 /(?(1)ab|ac)(.)/I
   3381 Capturing subpattern count = 1
   3382 No options
   3383 First char = 'a'
   3384 No need char
   3385 
   3386 /(?(1)abz|acz)(.)/I
   3387 Capturing subpattern count = 1
   3388 No options
   3389 First char = 'a'
   3390 Need char = 'z'
   3391 
   3392 /(?(1)abz)(.)/I
   3393 Capturing subpattern count = 1
   3394 No options
   3395 No first char
   3396 No need char
   3397 
   3398 /(?(1)abz)(1)23/I
   3399 Capturing subpattern count = 1
   3400 No options
   3401 No first char
   3402 Need char = '3'
   3403 
   3404 /(a)+/I
   3405 Capturing subpattern count = 1
   3406 No options
   3407 First char = 'a'
   3408 No need char
   3409 
   3410 /(a){2,3}/I
   3411 Capturing subpattern count = 1
   3412 No options
   3413 First char = 'a'
   3414 Need char = 'a'
   3415 
   3416 /(a)*/I
   3417 Capturing subpattern count = 1
   3418 May match empty string
   3419 No options
   3420 No first char
   3421 No need char
   3422 
   3423 /[a]/I
   3424 Capturing subpattern count = 0
   3425 No options
   3426 First char = 'a'
   3427 No need char
   3428 
   3429 /[ab]/I
   3430 Capturing subpattern count = 0
   3431 No options
   3432 No first char
   3433 No need char
   3434 
   3435 /[ab]/IS
   3436 Capturing subpattern count = 0
   3437 No options
   3438 No first char
   3439 No need char
   3440 Subject length lower bound = 1
   3441 Starting chars: a b 
   3442 
   3443 /[^a]/I
   3444 Capturing subpattern count = 0
   3445 No options
   3446 No first char
   3447 No need char
   3448 
   3449 /\d456/I
   3450 Capturing subpattern count = 0
   3451 No options
   3452 No first char
   3453 Need char = '6'
   3454 
   3455 /\d456/IS
   3456 Capturing subpattern count = 0
   3457 No options
   3458 No first char
   3459 Need char = '6'
   3460 Subject length lower bound = 4
   3461 Starting chars: 0 1 2 3 4 5 6 7 8 9 
   3462 
   3463 /a^b/I
   3464 Capturing subpattern count = 0
   3465 No options
   3466 First char = 'a'
   3467 Need char = 'b'
   3468 
   3469 /^a/Im
   3470 Capturing subpattern count = 0
   3471 Options: multiline
   3472 First char at start or follows newline
   3473 Need char = 'a'
   3474   abcde
   3475  0: a
   3476   xy\nabc
   3477  0: a
   3478   *** Failers
   3479 No match
   3480   xyabc
   3481 No match
   3482 
   3483 /c|abc/I
   3484 Capturing subpattern count = 0
   3485 No options
   3486 No first char
   3487 Need char = 'c'
   3488 
   3489 /(?i)[ab]/IS
   3490 Capturing subpattern count = 0
   3491 Options: caseless
   3492 No first char
   3493 No need char
   3494 Subject length lower bound = 1
   3495 Starting chars: A B a b 
   3496 
   3497 /[ab](?i)cd/IS
   3498 Capturing subpattern count = 0
   3499 No options
   3500 No first char
   3501 Need char = 'd' (caseless)
   3502 Subject length lower bound = 3
   3503 Starting chars: a b 
   3504 
   3505 /abc(?C)def/I
   3506 Capturing subpattern count = 0
   3507 No options
   3508 First char = 'a'
   3509 Need char = 'f'
   3510     abcdef
   3511 --->abcdef
   3512   0 ^  ^       d
   3513  0: abcdef
   3514     1234abcdef
   3515 --->1234abcdef
   3516   0     ^  ^       d
   3517  0: abcdef
   3518     *** Failers
   3519 No match
   3520     abcxyz
   3521 No match
   3522     abcxyzf
   3523 --->abcxyzf
   3524   0 ^  ^        d
   3525 No match
   3526 
   3527 /abc(?C)de(?C1)f/I
   3528 Capturing subpattern count = 0
   3529 No options
   3530 First char = 'a'
   3531 Need char = 'f'
   3532     123abcdef
   3533 --->123abcdef
   3534   0    ^  ^       d
   3535   1    ^    ^     f
   3536  0: abcdef
   3537 
   3538 /(?C1)\dabc(?C2)def/IS
   3539 Capturing subpattern count = 0
   3540 No options
   3541 No first char
   3542 Need char = 'f'
   3543 Subject length lower bound = 7
   3544 Starting chars: 0 1 2 3 4 5 6 7 8 9 
   3545     1234abcdef
   3546 --->1234abcdef
   3547   1 ^              \d
   3548   1  ^             \d
   3549   1   ^            \d
   3550   1    ^           \d
   3551   2    ^   ^       d
   3552  0: 4abcdef
   3553     *** Failers
   3554 No match
   3555     abcdef
   3556 No match
   3557 
   3558 /(?C1)\dabc(?C2)def/ISS
   3559 Capturing subpattern count = 0
   3560 No options
   3561 No first char
   3562 Need char = 'f'
   3563     1234abcdef
   3564 --->1234abcdef
   3565   1 ^              \d
   3566   1  ^             \d
   3567   1   ^            \d
   3568   1    ^           \d
   3569   2    ^   ^       d
   3570  0: 4abcdef
   3571     *** Failers
   3572 No match
   3573     abcdef
   3574 --->abcdef
   3575   1 ^          \d
   3576   1  ^         \d
   3577   1   ^        \d
   3578   1    ^       \d
   3579   1     ^      \d
   3580   1      ^     \d
   3581 No match
   3582 
   3583 /(?C255)ab/I
   3584 Capturing subpattern count = 0
   3585 No options
   3586 First char = 'a'
   3587 Need char = 'b'
   3588 
   3589 /(?C256)ab/I
   3590 Failed: number after (?C is > 255 at offset 6
   3591 
   3592 /(?Cab)xx/I
   3593 Failed: closing ) for (?C expected at offset 3
   3594 
   3595 /(?C12vr)x/I
   3596 Failed: closing ) for (?C expected at offset 5
   3597 
   3598 /abc(?C)def/I
   3599 Capturing subpattern count = 0
   3600 No options
   3601 First char = 'a'
   3602 Need char = 'f'
   3603     *** Failers
   3604 No match
   3605     \x83\x0\x61bcdef
   3606 --->\x83\x00abcdef
   3607   0         ^  ^       d
   3608  0: abcdef
   3609 
   3610 /(abc)(?C)de(?C1)f/I
   3611 Capturing subpattern count = 1
   3612 No options
   3613 First char = 'a'
   3614 Need char = 'f'
   3615     123abcdef
   3616 --->123abcdef
   3617   0    ^  ^       d
   3618   1    ^    ^     f
   3619  0: abcdef
   3620  1: abc
   3621     123abcdef\C+
   3622 Callout 0: last capture = 1
   3623  0: <unset>
   3624  1: abc
   3625 --->123abcdef
   3626        ^  ^       d
   3627 Callout 1: last capture = 1
   3628  0: <unset>
   3629  1: abc
   3630 --->123abcdef
   3631        ^    ^     f
   3632  0: abcdef
   3633  1: abc
   3634     123abcdef\C-
   3635  0: abcdef
   3636  1: abc
   3637     *** Failers
   3638 No match
   3639     123abcdef\C!1
   3640 --->123abcdef
   3641   0    ^  ^       d
   3642   1    ^    ^     f
   3643 No match
   3644 
   3645 /(?C0)(abc(?C1))*/I
   3646 Capturing subpattern count = 1
   3647 May match empty string
   3648 No options
   3649 No first char
   3650 No need char
   3651     abcabcabc
   3652 --->abcabcabc
   3653   0 ^             (abc(?C1))*
   3654   1 ^  ^          )
   3655   1 ^     ^       )
   3656   1 ^        ^    )
   3657  0: abcabcabc
   3658  1: abc
   3659     abcabc\C!1!3
   3660 --->abcabc
   3661   0 ^          (abc(?C1))*
   3662   1 ^  ^       )
   3663   1 ^     ^    )
   3664  0: abcabc
   3665  1: abc
   3666     *** Failers
   3667 --->*** Failers
   3668   0 ^               (abc(?C1))*
   3669  0: 
   3670     abcabcabc\C!1!3
   3671 --->abcabcabc
   3672   0 ^             (abc(?C1))*
   3673   1 ^  ^          )
   3674   1 ^     ^       )
   3675   1 ^        ^    )
   3676  0: abcabc
   3677  1: abc
   3678 
   3679 /(\d{3}(?C))*/I
   3680 Capturing subpattern count = 1
   3681 May match empty string
   3682 No options
   3683 No first char
   3684 No need char
   3685     123\C+
   3686 Callout 0: last capture = -1
   3687  0: <unset>
   3688 --->123
   3689     ^  ^    )
   3690  0: 123
   3691  1: 123
   3692     123456\C+
   3693 Callout 0: last capture = -1
   3694  0: <unset>
   3695 --->123456
   3696     ^  ^       )
   3697 Callout 0: last capture = 1
   3698  0: <unset>
   3699  1: 123
   3700 --->123456
   3701     ^     ^    )
   3702  0: 123456
   3703  1: 456
   3704     123456789\C+
   3705 Callout 0: last capture = -1
   3706  0: <unset>
   3707 --->123456789
   3708     ^  ^          )
   3709 Callout 0: last capture = 1
   3710  0: <unset>
   3711  1: 123
   3712 --->123456789
   3713     ^     ^       )
   3714 Callout 0: last capture = 1
   3715  0: <unset>
   3716  1: 456
   3717 --->123456789
   3718     ^        ^    )
   3719  0: 123456789
   3720  1: 789
   3721 
   3722 /((xyz)(?C)p|(?C1)xyzabc)/I
   3723 Capturing subpattern count = 2
   3724 No options
   3725 First char = 'x'
   3726 No need char
   3727     xyzabc\C+
   3728 Callout 0: last capture = 2
   3729  0: <unset>
   3730  1: <unset>
   3731  2: xyz
   3732 --->xyzabc
   3733     ^  ^       p
   3734 Callout 1: last capture = -1
   3735  0: <unset>
   3736 --->xyzabc
   3737     ^          x
   3738  0: xyzabc
   3739  1: xyzabc
   3740 
   3741 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
   3742 Capturing subpattern count = 3
   3743 No options
   3744 First char = 'X'
   3745 Need char = 'x'
   3746     Xxyzabc\C+
   3747 Callout 0: last capture = 3
   3748  0: <unset>
   3749  1: X
   3750  2: <unset>
   3751  3: xyz
   3752 --->Xxyzabc
   3753     ^   ^       p
   3754 Callout 1: last capture = 1
   3755  0: <unset>
   3756  1: X
   3757 --->Xxyzabc
   3758     ^^          x
   3759  0: Xxyzabc
   3760  1: X
   3761  2: xyzabc
   3762 
   3763 /(?=(abc))(?C)abcdef/I
   3764 Capturing subpattern count = 1
   3765 No options
   3766 First char = 'a'
   3767 Need char = 'f'
   3768     abcdef\C+
   3769 Callout 0: last capture = 1
   3770  0: <unset>
   3771  1: abc
   3772 --->abcdef
   3773     ^          a
   3774  0: abcdef
   3775  1: abc
   3776 
   3777 /(?!(abc)(?C1)d)(?C2)abcxyz/I
   3778 Capturing subpattern count = 1
   3779 No options
   3780 First char = 'a'
   3781 Need char = 'z'
   3782     abcxyz\C+
   3783 Callout 1: last capture = 1
   3784  0: <unset>
   3785  1: abc
   3786 --->abcxyz
   3787     ^  ^       d
   3788 Callout 2: last capture = -1
   3789  0: <unset>
   3790 --->abcxyz
   3791     ^          a
   3792  0: abcxyz
   3793 
   3794 /(?<=(abc)(?C))xyz/I
   3795 Capturing subpattern count = 1
   3796 Max lookbehind = 3
   3797 No options
   3798 First char = 'x'
   3799 Need char = 'z'
   3800    abcxyz\C+
   3801 Callout 0: last capture = 1
   3802  0: <unset>
   3803  1: abc
   3804 --->abcxyz
   3805        ^       )
   3806  0: xyz
   3807  1: abc
   3808 
   3809 /a(b+)(c*)(?C1)/I
   3810 Capturing subpattern count = 2
   3811 No options
   3812 First char = 'a'
   3813 Need char = 'b'
   3814     abbbbbccc\C*1
   3815 --->abbbbbccc
   3816   1 ^        ^    
   3817 Callout data = 1
   3818 No match
   3819 
   3820 /a(b+?)(c*?)(?C1)/I
   3821 Capturing subpattern count = 2
   3822 No options
   3823 First char = 'a'
   3824 Need char = 'b'
   3825     abbbbbccc\C*1
   3826 --->abbbbbccc
   3827   1 ^ ^           
   3828 Callout data = 1
   3829   1 ^  ^          
   3830 Callout data = 1
   3831   1 ^   ^         
   3832 Callout data = 1
   3833   1 ^    ^        
   3834 Callout data = 1
   3835   1 ^     ^       
   3836 Callout data = 1
   3837   1 ^      ^      
   3838 Callout data = 1
   3839   1 ^       ^     
   3840 Callout data = 1
   3841   1 ^        ^    
   3842 Callout data = 1
   3843 No match
   3844 
   3845 /(?C)abc/I
   3846 Capturing subpattern count = 0
   3847 No options
   3848 First char = 'a'
   3849 Need char = 'c'
   3850 
   3851 /(?C)^abc/I
   3852 Capturing subpattern count = 0
   3853 Options: anchored
   3854 No first char
   3855 No need char
   3856 
   3857 /(?C)a|b/IS
   3858 Capturing subpattern count = 0
   3859 No options
   3860 No first char
   3861 No need char
   3862 Subject length lower bound = 1
   3863 Starting chars: a b 
   3864 
   3865 /(?R)/I
   3866 Failed: recursive call could loop indefinitely at offset 3
   3867 
   3868 /(a|(?R))/I
   3869 Failed: recursive call could loop indefinitely at offset 6
   3870 
   3871 /(ab|(bc|(de|(?R))))/I
   3872 Failed: recursive call could loop indefinitely at offset 15
   3873 
   3874 /x(ab|(bc|(de|(?R))))/I
   3875 Capturing subpattern count = 3
   3876 No options
   3877 First char = 'x'
   3878 No need char
   3879     xab
   3880  0: xab
   3881  1: ab
   3882     xbc
   3883  0: xbc
   3884  1: bc
   3885  2: bc
   3886     xde
   3887  0: xde
   3888  1: de
   3889  2: de
   3890  3: de
   3891     xxab
   3892  0: xxab
   3893  1: xab
   3894  2: xab
   3895  3: xab
   3896     xxxab
   3897  0: xxxab
   3898  1: xxab
   3899  2: xxab
   3900  3: xxab
   3901     *** Failers
   3902 No match
   3903     xyab
   3904 No match
   3905 
   3906 /(ab|(bc|(de|(?1))))/I
   3907 Failed: recursive call could loop indefinitely at offset 15
   3908 
   3909 /x(ab|(bc|(de|(?1)x)x)x)/I
   3910 Failed: recursive call could loop indefinitely at offset 16
   3911 
   3912 /^([^()]|\((?1)*\))*$/I
   3913 Capturing subpattern count = 1
   3914 May match empty string
   3915 Options: anchored
   3916 No first char
   3917 No need char
   3918     abc
   3919  0: abc
   3920  1: c
   3921     a(b)c
   3922  0: a(b)c
   3923  1: c
   3924     a(b(c))d
   3925  0: a(b(c))d
   3926  1: d
   3927     *** Failers)
   3928 No match
   3929     a(b(c)d
   3930 No match
   3931 
   3932 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
   3933 Capturing subpattern count = 1
   3934 Options: anchored
   3935 No first char
   3936 Need char = '<'
   3937    >abc>123<xyz<
   3938  0: >abc>123<xyz<
   3939  1: 3
   3940    >abc>1(2)3<xyz<
   3941  0: >abc>1(2)3<xyz<
   3942  1: 3
   3943    >abc>(1(2)3)<xyz<
   3944  0: >abc>(1(2)3)<xyz<
   3945  1: (1(2)3)
   3946 
   3947 /(a(?1)b)/DZ
   3948 ------------------------------------------------------------------
   3949         Bra
   3950         CBra 1
   3951         a
   3952         Recurse
   3953         b
   3954         Ket
   3955         Ket
   3956         End
   3957 ------------------------------------------------------------------
   3958 Capturing subpattern count = 1
   3959 No options
   3960 First char = 'a'
   3961 Need char = 'b'
   3962 
   3963 /(a(?1)+b)/DZ
   3964 ------------------------------------------------------------------
   3965         Bra
   3966         CBra 1
   3967         a
   3968         Once
   3969         Recurse
   3970         KetRmax
   3971         b
   3972         Ket
   3973         Ket
   3974         End
   3975 ------------------------------------------------------------------
   3976 Capturing subpattern count = 1
   3977 No options
   3978 First char = 'a'
   3979 Need char = 'b'
   3980 
   3981 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
   3982 Capturing subpattern count = 2
   3983 Options: anchored
   3984 No first char
   3985 No need char
   3986     12
   3987  0: 12
   3988  1: 12
   3989     (((2+2)*-3)-7)
   3990  0: (((2+2)*-3)-7)
   3991  1: (((2+2)*-3)-7)
   3992  2: -
   3993     -12
   3994  0: -12
   3995  1: -12
   3996     *** Failers
   3997 No match
   3998     ((2+2)*-3)-7)
   3999 No match
   4000 
   4001 /^(x(y|(?1){2})z)/I
   4002 Capturing subpattern count = 2
   4003 Options: anchored
   4004 No first char
   4005 No need char
   4006     xyz
   4007  0: xyz
   4008  1: xyz
   4009  2: y
   4010     xxyzxyzz
   4011  0: xxyzxyzz
   4012  1: xxyzxyzz
   4013  2: xyzxyz
   4014     *** Failers
   4015 No match
   4016     xxyzz
   4017 No match
   4018     xxyzxyzxyzz
   4019 No match
   4020 
   4021 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
   4022 Capturing subpattern count = 2
   4023 Options: extended
   4024 First char = '<'
   4025 Need char = '>'
   4026     <>
   4027  0: <>
   4028  1: <>
   4029  2: <>
   4030     <abcd>
   4031  0: <abcd>
   4032  1: <abcd>
   4033  2: <abcd>
   4034     <abc <123> hij>
   4035  0: <abc <123> hij>
   4036  1: <abc <123> hij>
   4037  2: <abc <123> hij>
   4038     <abc <def> hij>
   4039  0: <def>
   4040  1: <def>
   4041  2: <def>
   4042     <abc<>def>
   4043  0: <abc<>def>
   4044  1: <abc<>def>
   4045  2: <abc<>def>
   4046     <abc<>
   4047  0: <>
   4048  1: <>
   4049  2: <>
   4050     *** Failers
   4051 No match
   4052     <abc
   4053 No match
   4054 
   4055 /(?1)/I
   4056 Failed: reference to non-existent subpattern at offset 3
   4057 
   4058 /((?2)(abc)/I
   4059 Failed: missing ) at offset 10
   4060 
   4061 /^(abc)def(?1)/I
   4062 Capturing subpattern count = 1
   4063 Options: anchored
   4064 No first char
   4065 No need char
   4066     abcdefabc
   4067  0: abcdefabc
   4068  1: abc
   4069 
   4070 /^(a|b|c)=(?1)+/I
   4071 Capturing subpattern count = 1
   4072 Options: anchored
   4073 No first char
   4074 No need char
   4075     a=a
   4076  0: a=a
   4077  1: a
   4078     a=b
   4079  0: a=b
   4080  1: a
   4081     a=bc
   4082  0: a=bc
   4083  1: a
   4084 
   4085 /^(a|b|c)=((?1))+/I
   4086 Capturing subpattern count = 2
   4087 Options: anchored
   4088 No first char
   4089 No need char
   4090     a=a
   4091  0: a=a
   4092  1: a
   4093  2: a
   4094     a=b
   4095  0: a=b
   4096  1: a
   4097  2: b
   4098     a=bc
   4099  0: a=bc
   4100  1: a
   4101  2: c
   4102 
   4103 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
   4104 ------------------------------------------------------------------
   4105         Bra
   4106         a
   4107         CBra 1
   4108         b
   4109         Alt
   4110         c
   4111         Ket
   4112         d
   4113         CBra 2
   4114         e
   4115         Ket
   4116         Ket
   4117         End
   4118 ------------------------------------------------------------------
   4119 Capturing subpattern count = 2
   4120 Named capturing subpatterns:
   4121   longername2   2
   4122   name1         1
   4123 No options
   4124 First char = 'a'
   4125 Need char = 'e'
   4126     abde
   4127  0: abde
   4128  1: b
   4129  2: e
   4130     acde
   4131  0: acde
   4132  1: c
   4133  2: e
   4134 
   4135 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
   4136 ------------------------------------------------------------------
   4137         Bra
   4138         Bra
   4139         a
   4140         CBra 1
   4141         c
   4142         CBra 2
   4143         d
   4144         Ket
   4145         Ket
   4146         Ket
   4147         CBra 3
   4148         a
   4149         Ket
   4150         Ket
   4151         End
   4152 ------------------------------------------------------------------
   4153 Capturing subpattern count = 3
   4154 Named capturing subpatterns:
   4155   a   3
   4156   c   1
   4157   d   2
   4158 No options
   4159 First char = 'a'
   4160 Need char = 'a'
   4161 
   4162 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
   4163 ------------------------------------------------------------------
   4164         Bra
   4165         CBra 1
   4166         a
   4167         Ket
   4168         Any
   4169         Any
   4170         Any
   4171         \1
   4172         bbb
   4173         Recurse
   4174         d
   4175         Ket
   4176         End
   4177 ------------------------------------------------------------------
   4178 Capturing subpattern count = 1
   4179 Max back reference = 1
   4180 Named capturing subpatterns:
   4181   a   1
   4182 No options
   4183 First char = 'a'
   4184 Need char = 'd'
   4185 
   4186 /^\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
   4187 Capturing subpattern count = 4
   4188 Max back reference = 4
   4189 Named capturing subpatterns:
   4190   four    4
   4191   one     1
   4192   three   3
   4193   two     2
   4194 May match empty string
   4195 Options: anchored caseless
   4196 No first char
   4197 No need char
   4198     1221
   4199  0: 1221
   4200  1: 1221
   4201  2: 1
   4202     Satan, oscillate my metallic sonatas!
   4203  0: Satan, oscillate my metallic sonatas!
   4204  1: <unset>
   4205  2: <unset>
   4206  3: Satan, oscillate my metallic sonatas
   4207  4: S
   4208     A man, a plan, a canal: Panama!
   4209  0: A man, a plan, a canal: Panama!
   4210  1: <unset>
   4211  2: <unset>
   4212  3: A man, a plan, a canal: Panama
   4213  4: A
   4214     Able was I ere I saw Elba.
   4215  0: Able was I ere I saw Elba.
   4216  1: <unset>
   4217  2: <unset>
   4218  3: Able was I ere I saw Elba
   4219  4: A
   4220     *** Failers
   4221 No match
   4222     The quick brown fox
   4223 No match
   4224 
   4225 /((?(R)a|b))\1(?1)?/I
   4226 Capturing subpattern count = 1
   4227 Max back reference = 1
   4228 No options
   4229 No first char
   4230 No need char
   4231   bb
   4232  0: bb
   4233  1: b
   4234   bbaa
   4235  0: bba
   4236  1: b
   4237 
   4238 /(.*)a/Is
   4239 Capturing subpattern count = 1
   4240 Options: anchored dotall
   4241 No first char
   4242 Need char = 'a'
   4243 
   4244 /(.*)a\1/Is
   4245 Capturing subpattern count = 1
   4246 Max back reference = 1
   4247 Options: dotall
   4248 No first char
   4249 Need char = 'a'
   4250 
   4251 /(.*)a(b)\2/Is
   4252 Capturing subpattern count = 2
   4253 Max back reference = 2
   4254 Options: anchored dotall
   4255 No first char
   4256 Need char = 'b'
   4257 
   4258 /((.*)a|(.*)b)z/Is
   4259 Capturing subpattern count = 3
   4260 Options: anchored dotall
   4261 No first char
   4262 Need char = 'z'
   4263 
   4264 /((.*)a|(.*)b)z\1/Is
   4265 Capturing subpattern count = 3
   4266 Max back reference = 1
   4267 Options: dotall
   4268 No first char
   4269 Need char = 'z'
   4270 
   4271 /((.*)a|(.*)b)z\2/Is
   4272 Capturing subpattern count = 3
   4273 Max back reference = 2
   4274 Options: dotall
   4275 No first char
   4276 Need char = 'z'
   4277 
   4278 /((.*)a|(.*)b)z\3/Is
   4279 Capturing subpattern count = 3
   4280 Max back reference = 3
   4281 Options: dotall
   4282 No first char
   4283 Need char = 'z'
   4284 
   4285 /((.*)a|^(.*)b)z\3/Is
   4286 Capturing subpattern count = 3
   4287 Max back reference = 3
   4288 Options: anchored dotall
   4289 No first char
   4290 Need char = 'z'
   4291 
   4292 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
   4293 Capturing subpattern count = 31
   4294 May match empty string
   4295 Options: anchored dotall
   4296 No first char
   4297 No need char
   4298 
   4299 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
   4300 Capturing subpattern count = 31
   4301 Max back reference = 31
   4302 May match empty string
   4303 Options: dotall
   4304 No first char
   4305 No need char
   4306 
   4307 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
   4308 Capturing subpattern count = 32
   4309 Max back reference = 32
   4310 May match empty string
   4311 Options: dotall
   4312 No first char
   4313 No need char
   4314 
   4315 /(a)(bc)/INDZ
   4316 ------------------------------------------------------------------
   4317         Bra
   4318         Bra
   4319         a
   4320         Ket
   4321         Bra
   4322         bc
   4323         Ket
   4324         Ket
   4325         End
   4326 ------------------------------------------------------------------
   4327 Capturing subpattern count = 0
   4328 Options: no_auto_capture
   4329 First char = 'a'
   4330 Need char = 'c'
   4331   abc
   4332  0: abc
   4333 
   4334 /(?P<one>a)(bc)/INDZ
   4335 ------------------------------------------------------------------
   4336         Bra
   4337         CBra 1
   4338         a
   4339         Ket
   4340         Bra
   4341         bc
   4342         Ket
   4343         Ket
   4344         End
   4345 ------------------------------------------------------------------
   4346 Capturing subpattern count = 1
   4347 Named capturing subpatterns:
   4348   one   1
   4349 Options: no_auto_capture
   4350 First char = 'a'
   4351 Need char = 'c'
   4352   abc
   4353  0: abc
   4354  1: a
   4355 
   4356 /(a)(?P<named>bc)/INDZ
   4357 ------------------------------------------------------------------
   4358         Bra
   4359         Bra
   4360         a
   4361         Ket
   4362         CBra 1
   4363         bc
   4364         Ket
   4365         Ket
   4366         End
   4367 ------------------------------------------------------------------
   4368 Capturing subpattern count = 1
   4369 Named capturing subpatterns:
   4370   named   1
   4371 Options: no_auto_capture
   4372 First char = 'a'
   4373 Need char = 'c'
   4374 
   4375 /(a+)*zz/I
   4376 Capturing subpattern count = 1
   4377 No options
   4378 No first char
   4379 Need char = 'z'
   4380   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
   4381 Minimum match() limit = 8
   4382 Minimum match() recursion limit = 6
   4383  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
   4384  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   4385   aaaaaaaaaaaaaz\M
   4386 Minimum match() limit = 32768
   4387 Minimum match() recursion limit = 29
   4388 No match
   4389 
   4390 /(aaa(?C1)bbb|ab)/I
   4391 Capturing subpattern count = 1
   4392 No options
   4393 First char = 'a'
   4394 Need char = 'b'
   4395    aaabbb
   4396 --->aaabbb
   4397   1 ^  ^       b
   4398  0: aaabbb
   4399  1: aaabbb
   4400    aaabbb\C*0
   4401 --->aaabbb
   4402   1 ^  ^       b
   4403  0: aaabbb
   4404  1: aaabbb
   4405    aaabbb\C*1
   4406 --->aaabbb
   4407   1 ^  ^       b
   4408 Callout data = 1
   4409  0: ab
   4410  1: ab
   4411    aaabbb\C*-1
   4412 --->aaabbb
   4413   1 ^  ^       b
   4414 Callout data = -1
   4415 No match
   4416 
   4417 /ab(?P<one>cd)ef(?P<two>gh)/I
   4418 Capturing subpattern count = 2
   4419 Named capturing subpatterns:
   4420   one   1
   4421   two   2
   4422 No options
   4423 First char = 'a'
   4424 Need char = 'h'
   4425     abcdefgh
   4426  0: abcdefgh
   4427  1: cd
   4428  2: gh
   4429     abcdefgh\C1\Gtwo
   4430  0: abcdefgh
   4431  1: cd
   4432  2: gh
   4433  1C cd (2)
   4434   G gh (2) two
   4435     abcdefgh\Cone\Ctwo
   4436  0: abcdefgh
   4437  1: cd
   4438  2: gh
   4439   C cd (2) one
   4440   C gh (2) two
   4441     abcdefgh\Cthree
   4442 no parentheses with name "three"
   4443  0: abcdefgh
   4444  1: cd
   4445  2: gh
   4446 copy substring three failed -7
   4447 
   4448 /(?P<Tes>)(?P<Test>)/DZ
   4449 ------------------------------------------------------------------
   4450         Bra
   4451         CBra 1
   4452         Ket
   4453         CBra 2
   4454         Ket
   4455         Ket
   4456         End
   4457 ------------------------------------------------------------------
   4458 Capturing subpattern count = 2
   4459 Named capturing subpatterns:
   4460   Tes    1
   4461   Test   2
   4462 May match empty string
   4463 No options
   4464 No first char
   4465 No need char
   4466 
   4467 /(?P<Test>)(?P<Tes>)/DZ
   4468 ------------------------------------------------------------------
   4469         Bra
   4470         CBra 1
   4471         Ket
   4472         CBra 2
   4473         Ket
   4474         Ket
   4475         End
   4476 ------------------------------------------------------------------
   4477 Capturing subpattern count = 2
   4478 Named capturing subpatterns:
   4479   Tes    2
   4480   Test   1
   4481 May match empty string
   4482 No options
   4483 No first char
   4484 No need char
   4485 
   4486 /(?P<Z>zz)(?P<A>aa)/I
   4487 Capturing subpattern count = 2
   4488 Named capturing subpatterns:
   4489   A   2
   4490   Z   1
   4491 No options
   4492 First char = 'z'
   4493 Need char = 'a'
   4494     zzaa\CZ
   4495  0: zzaa
   4496  1: zz
   4497  2: aa
   4498   C zz (2) Z
   4499     zzaa\CA
   4500  0: zzaa
   4501  1: zz
   4502  2: aa
   4503   C aa (2) A
   4504 
   4505 /(?P<x>eks)(?P<x>eccs)/I
   4506 Failed: two named subpatterns have the same name at offset 15
   4507 
   4508 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
   4509 Failed: two named subpatterns have the same name at offset 30
   4510 
   4511 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
   4512 Capturing subpattern count = 3
   4513 Named capturing subpatterns:
   4514   elem   2
   4515 No options
   4516 First char = '['
   4517 Need char = ']'
   4518     [10,20,30,5,5,4,4,2,43,23,4234]
   4519  0: [10,20,30,5,5,4,4,2,43,23,4234]
   4520  1: 10,20,30,5,5,4,4,2,43,23,4234
   4521  2: 10
   4522  3: ,4234
   4523     *** Failers
   4524 No match
   4525     []
   4526 No match
   4527 
   4528 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
   4529 Capturing subpattern count = 3
   4530 Named capturing subpatterns:
   4531   elem   2
   4532 No options
   4533 First char = '['
   4534 Need char = ']'
   4535     [10,20,30,5,5,4,4,2,43,23,4234]
   4536  0: [10,20,30,5,5,4,4,2,43,23,4234]
   4537  1: 10,20,30,5,5,4,4,2,43,23,4234
   4538  2: 10
   4539  3: ,4234
   4540     []
   4541  0: []
   4542 
   4543 /(a(b(?2)c))?/DZ
   4544 ------------------------------------------------------------------
   4545         Bra
   4546         Brazero
   4547         CBra 1
   4548         a
   4549         CBra 2
   4550         b
   4551         Recurse
   4552         c
   4553         Ket
   4554         Ket
   4555         Ket
   4556         End
   4557 ------------------------------------------------------------------
   4558 Capturing subpattern count = 2
   4559 May match empty string
   4560 No options
   4561 No first char
   4562 No need char
   4563 
   4564 /(a(b(?2)c))*/DZ
   4565 ------------------------------------------------------------------
   4566         Bra
   4567         Brazero
   4568         CBra 1
   4569         a
   4570         CBra 2
   4571         b
   4572         Recurse
   4573         c
   4574         Ket
   4575         KetRmax
   4576         Ket
   4577         End
   4578 ------------------------------------------------------------------
   4579 Capturing subpattern count = 2
   4580 May match empty string
   4581 No options
   4582 No first char
   4583 No need char
   4584 
   4585 /(a(b(?2)c)){0,2}/DZ
   4586 ------------------------------------------------------------------
   4587         Bra
   4588         Brazero
   4589         Bra
   4590         CBra 1
   4591         a
   4592         CBra 2
   4593         b
   4594         Recurse
   4595         c
   4596         Ket
   4597         Ket
   4598         Brazero
   4599         CBra 1
   4600         a
   4601         CBra 2
   4602         b
   4603         Recurse
   4604         c
   4605         Ket
   4606         Ket
   4607         Ket
   4608         Ket
   4609         End
   4610 ------------------------------------------------------------------
   4611 Capturing subpattern count = 2
   4612 May match empty string
   4613 No options
   4614 No first char
   4615 No need char
   4616 
   4617 /[ab]{1}+/DZ
   4618 ------------------------------------------------------------------
   4619         Bra
   4620         [ab]{1,1}+
   4621         Ket
   4622         End
   4623 ------------------------------------------------------------------
   4624 Capturing subpattern count = 0
   4625 No options
   4626 No first char
   4627 No need char
   4628 
   4629 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
   4630 Capturing subpattern count = 3
   4631 Options: caseless
   4632 No first char
   4633 Need char = 'g' (caseless)
   4634      Baby Bjorn Active Carrier - With free SHIPPING!!
   4635  0: Baby Bjorn Active Carrier - With free SHIPPING!!
   4636  1: Baby Bjorn Active Carrier - With free SHIPPING!!
   4637 
   4638 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
   4639 Capturing subpattern count = 3
   4640 Options: caseless
   4641 No first char
   4642 Need char = 'g' (caseless)
   4643 Subject length lower bound = 8
   4644 No starting char list
   4645      Baby Bjorn Active Carrier - With free SHIPPING!!
   4646  0: Baby Bjorn Active Carrier - With free SHIPPING!!
   4647  1: Baby Bjorn Active Carrier - With free SHIPPING!!
   4648 
   4649 /a*.*b/ISDZ
   4650 ------------------------------------------------------------------
   4651         Bra
   4652         a*
   4653         Any*
   4654         b
   4655         Ket
   4656         End
   4657 ------------------------------------------------------------------
   4658 Capturing subpattern count = 0
   4659 No options
   4660 No first char
   4661 Need char = 'b'
   4662 Subject length lower bound = 1
   4663 No starting char list
   4664 
   4665 /(a|b)*.?c/ISDZ
   4666 ------------------------------------------------------------------
   4667         Bra
   4668         Brazero
   4669         CBra 1
   4670         a
   4671         Alt
   4672         b
   4673         KetRmax
   4674         Any?
   4675         c
   4676         Ket
   4677         End
   4678 ------------------------------------------------------------------
   4679 Capturing subpattern count = 1
   4680 No options
   4681 No first char
   4682 Need char = 'c'
   4683 Subject length lower bound = 1
   4684 No starting char list
   4685 
   4686 /abc(?C255)de(?C)f/DZ
   4687 ------------------------------------------------------------------
   4688         Bra
   4689         abc
   4690         Callout 255 10 1
   4691         de
   4692         Callout 0 16 1
   4693         f
   4694         Ket
   4695         End
   4696 ------------------------------------------------------------------
   4697 Capturing subpattern count = 0
   4698 No options
   4699 First char = 'a'
   4700 Need char = 'f'
   4701 
   4702 /abcde/ICDZ
   4703 ------------------------------------------------------------------
   4704         Bra
   4705         Callout 255 0 1
   4706         a
   4707         Callout 255 1 1
   4708         b
   4709         Callout 255 2 1
   4710         c
   4711         Callout 255 3 1
   4712         d
   4713         Callout 255 4 1
   4714         e
   4715         Callout 255 5 0
   4716         Ket
   4717         End
   4718 ------------------------------------------------------------------
   4719 Capturing subpattern count = 0
   4720 Options:
   4721 First char = 'a'
   4722 Need char = 'e'
   4723   abcde
   4724 --->abcde
   4725  +0 ^         a
   4726  +1 ^^        b
   4727  +2 ^ ^       c
   4728  +3 ^  ^      d
   4729  +4 ^   ^     e
   4730  +5 ^    ^    
   4731  0: abcde
   4732   abcdfe
   4733 --->abcdfe
   4734  +0 ^          a
   4735  +1 ^^         b
   4736  +2 ^ ^        c
   4737  +3 ^  ^       d
   4738  +4 ^   ^      e
   4739 No match
   4740 
   4741 /a*b/ICDZS
   4742 ------------------------------------------------------------------
   4743         Bra
   4744         Callout 255 0 2
   4745         a*+
   4746         Callout 255 2 1
   4747         b
   4748         Callout 255 3 0
   4749         Ket
   4750         End
   4751 ------------------------------------------------------------------
   4752 Capturing subpattern count = 0
   4753 Options:
   4754 No first char
   4755 Need char = 'b'
   4756 Subject length lower bound = 1
   4757 Starting chars: a b 
   4758   ab
   4759 --->ab
   4760  +0 ^      a*
   4761  +2 ^^     b
   4762  +3 ^ ^    
   4763  0: ab
   4764   aaaab
   4765 --->aaaab
   4766  +0 ^         a*
   4767  +2 ^   ^     b
   4768  +3 ^    ^    
   4769  0: aaaab
   4770   aaaacb
   4771 --->aaaacb
   4772  +0 ^          a*
   4773  +2 ^   ^      b
   4774  +0  ^         a*
   4775  +2  ^  ^      b
   4776  +0   ^        a*
   4777  +2   ^ ^      b
   4778  +0    ^       a*
   4779  +2    ^^      b
   4780  +0      ^     a*
   4781  +2      ^     b
   4782  +3      ^^    
   4783  0: b
   4784 
   4785 /a*b/ICDZSS
   4786 ------------------------------------------------------------------
   4787         Bra
   4788         Callout 255 0 2
   4789         a*+
   4790         Callout 255 2 1
   4791         b
   4792         Callout 255 3 0
   4793         Ket
   4794         End
   4795 ------------------------------------------------------------------
   4796 Capturing subpattern count = 0
   4797 Options:
   4798 No first char
   4799 Need char = 'b'
   4800   ab
   4801 --->ab
   4802  +0 ^      a*
   4803  +2 ^^     b
   4804  +3 ^ ^    
   4805  0: ab
   4806   aaaab
   4807 --->aaaab
   4808  +0 ^         a*
   4809  +2 ^   ^     b
   4810  +3 ^    ^    
   4811  0: aaaab
   4812   aaaacb
   4813 --->aaaacb
   4814  +0 ^          a*
   4815  +2 ^   ^      b
   4816  +0  ^         a*
   4817  +2  ^  ^      b
   4818  +0   ^        a*
   4819  +2   ^ ^      b
   4820  +0    ^       a*
   4821  +2    ^^      b
   4822  +0     ^      a*
   4823  +2     ^      b
   4824  +0      ^     a*
   4825  +2      ^     b
   4826  +3      ^^    
   4827  0: b
   4828 
   4829 /a+b/ICDZ
   4830 ------------------------------------------------------------------
   4831         Bra
   4832         Callout 255 0 2
   4833         a++
   4834         Callout 255 2 1
   4835         b
   4836         Callout 255 3 0
   4837         Ket
   4838         End
   4839 ------------------------------------------------------------------
   4840 Capturing subpattern count = 0
   4841 Options:
   4842 First char = 'a'
   4843 Need char = 'b'
   4844   ab
   4845 --->ab
   4846  +0 ^      a+
   4847  +2 ^^     b
   4848  +3 ^ ^    
   4849  0: ab
   4850   aaaab
   4851 --->aaaab
   4852  +0 ^         a+
   4853  +2 ^   ^     b
   4854  +3 ^    ^    
   4855  0: aaaab
   4856   aaaacb
   4857 --->aaaacb
   4858  +0 ^          a+
   4859  +2 ^   ^      b
   4860  +0  ^         a+
   4861  +2  ^  ^      b
   4862  +0   ^        a+
   4863  +2   ^ ^      b
   4864  +0    ^       a+
   4865  +2    ^^      b
   4866 No match
   4867 
   4868 /(abc|def)x/ICDZS
   4869 ------------------------------------------------------------------
   4870         Bra
   4871         Callout 255 0 9
   4872         CBra 1
   4873         Callout 255 1 1
   4874         a
   4875         Callout 255 2 1
   4876         b
   4877         Callout 255 3 1
   4878         c
   4879         Callout 255 4 0
   4880         Alt
   4881         Callout 255 5 1
   4882         d
   4883         Callout 255 6 1
   4884         e
   4885         Callout 255 7 1
   4886         f
   4887         Callout 255 8 0
   4888         Ket
   4889         Callout 255 9 1
   4890         x
   4891         Callout 255 10 0
   4892         Ket
   4893         End
   4894 ------------------------------------------------------------------
   4895 Capturing subpattern count = 1
   4896 Options:
   4897 No first char
   4898 Need char = 'x'
   4899 Subject length lower bound = 4
   4900 Starting chars: a d 
   4901   abcx
   4902 --->abcx
   4903  +0 ^        (abc|def)
   4904  +1 ^        a
   4905  +2 ^^       b
   4906  +3 ^ ^      c
   4907  +4 ^  ^     |
   4908  +9 ^  ^     x
   4909 +10 ^   ^    
   4910  0: abcx
   4911  1: abc
   4912   defx
   4913 --->defx
   4914  +0 ^        (abc|def)
   4915  +1 ^        a
   4916  +5 ^        d
   4917  +6 ^^       e
   4918  +7 ^ ^      f
   4919  +8 ^  ^     )
   4920  +9 ^  ^     x
   4921 +10 ^   ^    
   4922  0: defx
   4923  1: def
   4924   ** Failers 
   4925 No match
   4926   abcdefzx
   4927 --->abcdefzx
   4928  +0 ^            (abc|def)
   4929  +1 ^            a
   4930  +2 ^^           b
   4931  +3 ^ ^          c
   4932  +4 ^  ^         |
   4933  +9 ^  ^         x
   4934  +5 ^            d
   4935  +0    ^         (abc|def)
   4936  +1    ^         a
   4937  +5    ^         d
   4938  +6    ^^        e
   4939  +7    ^ ^       f
   4940  +8    ^  ^      )
   4941  +9    ^  ^      x
   4942 No match
   4943 
   4944 /(abc|def)x/ICDZSS
   4945 ------------------------------------------------------------------
   4946         Bra
   4947         Callout 255 0 9
   4948         CBra 1
   4949         Callout 255 1 1
   4950         a
   4951         Callout 255 2 1
   4952         b
   4953         Callout 255 3 1
   4954         c
   4955         Callout 255 4 0
   4956         Alt
   4957         Callout 255 5 1
   4958         d
   4959         Callout 255 6 1
   4960         e
   4961         Callout 255 7 1
   4962         f
   4963         Callout 255 8 0
   4964         Ket
   4965         Callout 255 9 1
   4966         x
   4967         Callout 255 10 0
   4968         Ket
   4969         End
   4970 ------------------------------------------------------------------
   4971 Capturing subpattern count = 1
   4972 Options:
   4973 No first char
   4974 Need char = 'x'
   4975   abcx
   4976 --->abcx
   4977  +0 ^        (abc|def)
   4978  +1 ^        a
   4979  +2 ^^       b
   4980  +3 ^ ^      c
   4981  +4 ^  ^     |
   4982  +9 ^  ^     x
   4983 +10 ^   ^    
   4984  0: abcx
   4985  1: abc
   4986   defx
   4987 --->defx
   4988  +0 ^        (abc|def)
   4989  +1 ^        a
   4990  +5 ^        d
   4991  +6 ^^       e
   4992  +7 ^ ^      f
   4993  +8 ^  ^     )
   4994  +9 ^  ^     x
   4995 +10 ^   ^    
   4996  0: defx
   4997  1: def
   4998   ** Failers 
   4999 No match
   5000   abcdefzx
   5001 --->abcdefzx
   5002  +0 ^            (abc|def)
   5003  +1 ^            a
   5004  +2 ^^           b
   5005  +3 ^ ^          c
   5006  +4 ^  ^         |
   5007  +9 ^  ^         x
   5008  +5 ^            d
   5009  +0  ^           (abc|def)
   5010  +1  ^           a
   5011  +5  ^           d
   5012  +0   ^          (abc|def)
   5013  +1   ^          a
   5014  +5   ^          d
   5015  +0    ^         (abc|def)
   5016  +1    ^         a
   5017  +5    ^         d
   5018  +6    ^^        e
   5019  +7    ^ ^       f
   5020  +8    ^  ^      )
   5021  +9    ^  ^      x
   5022  +0     ^        (abc|def)
   5023  +1     ^        a
   5024  +5     ^        d
   5025  +0      ^       (abc|def)
   5026  +1      ^       a
   5027  +5      ^       d
   5028  +0       ^      (abc|def)
   5029  +1       ^      a
   5030  +5       ^      d
   5031  +0        ^     (abc|def)
   5032  +1        ^     a
   5033  +5        ^     d
   5034 No match
   5035 
   5036 /(ab|cd){3,4}/IC
   5037 Capturing subpattern count = 1
   5038 Options:
   5039 No first char
   5040 No need char
   5041   ababab
   5042 --->ababab
   5043  +0 ^          (ab|cd){3,4}
   5044  +1 ^          a
   5045  +2 ^^         b
   5046  +3 ^ ^        |
   5047  +1 ^ ^        a
   5048  +2 ^  ^       b
   5049  +3 ^   ^      |
   5050  +1 ^   ^      a
   5051  +2 ^    ^     b
   5052  +3 ^     ^    |
   5053  +1 ^     ^    a
   5054  +4 ^     ^    c
   5055 +12 ^     ^    
   5056  0: ababab
   5057  1: ab
   5058   abcdabcd
   5059 --->abcdabcd
   5060  +0 ^            (ab|cd){3,4}
   5061  +1 ^            a
   5062  +2 ^^           b
   5063  +3 ^ ^          |
   5064  +1 ^ ^          a
   5065  +4 ^ ^          c
   5066  +5 ^  ^         d
   5067  +6 ^   ^        )
   5068  +1 ^   ^        a
   5069  +2 ^    ^       b
   5070  +3 ^     ^      |
   5071  +1 ^     ^      a
   5072  +4 ^     ^      c
   5073  +5 ^      ^     d
   5074  +6 ^       ^    )
   5075 +12 ^       ^    
   5076  0: abcdabcd
   5077  1: cd
   5078   abcdcdcdcdcd
   5079 --->abcdcdcdcdcd
   5080  +0 ^                (ab|cd){3,4}
   5081  +1 ^                a
   5082  +2 ^^               b
   5083  +3 ^ ^              |
   5084  +1 ^ ^              a
   5085  +4 ^ ^              c
   5086  +5 ^  ^             d
   5087  +6 ^   ^            )
   5088  +1 ^   ^            a
   5089  +4 ^   ^            c
   5090  +5 ^    ^           d
   5091  +6 ^     ^          )
   5092  +1 ^     ^          a
   5093  +4 ^     ^          c
   5094  +5 ^      ^         d
   5095  +6 ^       ^        )
   5096 +12 ^       ^        
   5097  0: abcdcdcd
   5098  1: cd
   5099 
   5100 /([ab]{,4}c|xy)/ICDZS
   5101 ------------------------------------------------------------------
   5102         Bra
   5103         Callout 255 0 14
   5104         CBra 1
   5105         Callout 255 1 4
   5106         [ab]
   5107         Callout 255 5 1
   5108         {
   5109         Callout 255 6 1
   5110         ,
   5111         Callout 255 7 1
   5112         4
   5113         Callout 255 8 1
   5114         }
   5115         Callout 255 9 1
   5116         c
   5117         Callout 255 10 0
   5118         Alt
   5119         Callout 255 11 1
   5120         x
   5121         Callout 255 12 1
   5122         y
   5123         Callout 255 13 0
   5124         Ket
   5125         Callout 255 14 0
   5126         Ket
   5127         End
   5128 ------------------------------------------------------------------
   5129 Capturing subpattern count = 1
   5130 Options:
   5131 No first char
   5132 No need char
   5133 Subject length lower bound = 2
   5134 Starting chars: a b x 
   5135     Note: that { does NOT introduce a quantifier
   5136 --->Note: that { does NOT introduce a quantifier
   5137  +0         ^                                        ([ab]{,4}c|xy)
   5138  +1         ^                                        [ab]
   5139  +5         ^^                                       {
   5140 +11         ^                                        x
   5141  +0                                 ^                ([ab]{,4}c|xy)
   5142  +1                                 ^                [ab]
   5143  +5                                 ^^               {
   5144 +11                                 ^                x
   5145  +0                                     ^            ([ab]{,4}c|xy)
   5146  +1                                     ^            [ab]
   5147  +5                                     ^^           {
   5148 +11                                     ^            x
   5149 No match
   5150 
   5151 /([ab]{,4}c|xy)/ICDZSS
   5152 ------------------------------------------------------------------
   5153         Bra
   5154         Callout 255 0 14
   5155         CBra 1
   5156         Callout 255 1 4
   5157         [ab]
   5158         Callout 255 5 1
   5159         {
   5160         Callout 255 6 1
   5161         ,
   5162         Callout 255 7 1
   5163         4
   5164         Callout 255 8 1
   5165         }
   5166         Callout 255 9 1
   5167         c
   5168         Callout 255 10 0
   5169         Alt
   5170         Callout 255 11 1
   5171         x
   5172         Callout 255 12 1
   5173         y
   5174         Callout 255 13 0
   5175         Ket
   5176         Callout 255 14 0
   5177         Ket
   5178         End
   5179 ------------------------------------------------------------------
   5180 Capturing subpattern count = 1
   5181 Options:
   5182 No first char
   5183 No need char
   5184     Note: that { does NOT introduce a quantifier
   5185 --->Note: that { does NOT introduce a quantifier
   5186  +0 ^                                                ([ab]{,4}c|xy)
   5187  +1 ^                                                [ab]
   5188 +11 ^                                                x
   5189  +0  ^                                               ([ab]{,4}c|xy)
   5190  +1  ^                                               [ab]
   5191 +11  ^                                               x
   5192  +0   ^                                              ([ab]{,4}c|xy)
   5193  +1   ^                                              [ab]
   5194 +11   ^                                              x
   5195  +0    ^                                             ([ab]{,4}c|xy)
   5196  +1    ^                                             [ab]
   5197 +11    ^                                             x
   5198  +0     ^                                            ([ab]{,4}c|xy)
   5199  +1     ^                                            [ab]
   5200 +11     ^                                            x
   5201  +0      ^                                           ([ab]{,4}c|xy)
   5202  +1      ^                                           [ab]
   5203 +11      ^                                           x
   5204  +0       ^                                          ([ab]{,4}c|xy)
   5205  +1       ^                                          [ab]
   5206 +11       ^                                          x
   5207  +0        ^                                         ([ab]{,4}c|xy)
   5208  +1        ^                                         [ab]
   5209 +11        ^                                         x
   5210  +0         ^                                        ([ab]{,4}c|xy)
   5211  +1         ^                                        [ab]
   5212  +5         ^^                                       {
   5213 +11         ^                                        x
   5214  +0          ^                                       ([ab]{,4}c|xy)
   5215  +1          ^                                       [ab]
   5216 +11          ^                                       x
   5217  +0           ^                                      ([ab]{,4}c|xy)
   5218  +1           ^                                      [ab]
   5219 +11           ^                                      x
   5220  +0            ^                                     ([ab]{,4}c|xy)
   5221  +1            ^                                     [ab]
   5222 +11            ^                                     x
   5223  +0             ^                                    ([ab]{,4}c|xy)
   5224  +1             ^                                    [ab]
   5225 +11             ^                                    x
   5226  +0              ^                                   ([ab]{,4}c|xy)
   5227  +1              ^                                   [ab]
   5228 +11              ^                                   x
   5229  +0               ^                                  ([ab]{,4}c|xy)
   5230  +1               ^                                  [ab]
   5231 +11               ^                                  x
   5232  +0                ^                                 ([ab]{,4}c|xy)
   5233  +1                ^                                 [ab]
   5234 +11                ^                                 x
   5235  +0                 ^                                ([ab]{,4}c|xy)
   5236  +1                 ^                                [ab]
   5237 +11                 ^                                x
   5238  +0                  ^                               ([ab]{,4}c|xy)
   5239  +1                  ^                               [ab]
   5240 +11                  ^                               x
   5241  +0                   ^                              ([ab]{,4}c|xy)
   5242  +1                   ^                              [ab]
   5243 +11                   ^                              x
   5244  +0                    ^                             ([ab]{,4}c|xy)
   5245  +1                    ^                             [ab]
   5246 +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  +5                                 ^^               {
   5286 +11                                 ^                x
   5287  +0                                  ^               ([ab]{,4}c|xy)
   5288  +1                                  ^               [ab]
   5289 +11                                  ^               x
   5290  +0                                   ^              ([ab]{,4}c|xy)
   5291  +1                                   ^              [ab]
   5292 +11                                   ^              x
   5293  +0                                    ^             ([ab]{,4}c|xy)
   5294  +1                                    ^             [ab]
   5295 +11                                    ^             x
   5296  +0                                     ^            ([ab]{,4}c|xy)
   5297  +1                                     ^            [ab]
   5298  +5                                     ^^           {
   5299 +11                                     ^            x
   5300  +0                                      ^           ([ab]{,4}c|xy)
   5301  +1                                      ^           [ab]
   5302 +11                                      ^           x
   5303  +0                                       ^          ([ab]{,4}c|xy)
   5304  +1                                       ^          [ab]
   5305 +11                                       ^          x
   5306  +0                                        ^         ([ab]{,4}c|xy)
   5307  +1                                        ^         [ab]
   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 No match
   5325 
   5326 /([ab]{1,4}c|xy){4,5}?123/ICDZ
   5327 ------------------------------------------------------------------
   5328         Bra
   5329         Callout 255 0 21
   5330         CBra 1
   5331         Callout 255 1 9
   5332         [ab]{1,4}+
   5333         Callout 255 10 1
   5334         c
   5335         Callout 255 11 0
   5336         Alt
   5337         Callout 255 12 1
   5338         x
   5339         Callout 255 13 1
   5340         y
   5341         Callout 255 14 0
   5342         Ket
   5343         CBra 1
   5344         Callout 255 1 9
   5345         [ab]{1,4}+
   5346         Callout 255 10 1
   5347         c
   5348         Callout 255 11 0
   5349         Alt
   5350         Callout 255 12 1
   5351         x
   5352         Callout 255 13 1
   5353         y
   5354         Callout 255 14 0
   5355         Ket
   5356         CBra 1
   5357         Callout 255 1 9
   5358         [ab]{1,4}+
   5359         Callout 255 10 1
   5360         c
   5361         Callout 255 11 0
   5362         Alt
   5363         Callout 255 12 1
   5364         x
   5365         Callout 255 13 1
   5366         y
   5367         Callout 255 14 0
   5368         Ket
   5369         CBra 1
   5370         Callout 255 1 9
   5371         [ab]{1,4}+
   5372         Callout 255 10 1
   5373         c
   5374         Callout 255 11 0
   5375         Alt
   5376         Callout 255 12 1
   5377         x
   5378         Callout 255 13 1
   5379         y
   5380         Callout 255 14 0
   5381         Ket
   5382         Braminzero
   5383         CBra 1
   5384         Callout 255 1 9
   5385         [ab]{1,4}+
   5386         Callout 255 10 1
   5387         c
   5388         Callout 255 11 0
   5389         Alt
   5390         Callout 255 12 1
   5391         x
   5392         Callout 255 13 1
   5393         y
   5394         Callout 255 14 0
   5395         Ket
   5396         Callout 255 21 1
   5397         1
   5398         Callout 255 22 1
   5399         2
   5400         Callout 255 23 1
   5401         3
   5402         Callout 255 24 0
   5403         Ket
   5404         End
   5405 ------------------------------------------------------------------
   5406 Capturing subpattern count = 1
   5407 Options:
   5408 No first char
   5409 Need char = '3'
   5410     aacaacaacaacaac123
   5411 --->aacaacaacaacaac123
   5412  +0 ^                      ([ab]{1,4}c|xy){4,5}?
   5413  +1 ^                      [ab]{1,4}
   5414 +10 ^ ^                    c
   5415 +11 ^  ^                   |
   5416  +1 ^  ^                   [ab]{1,4}
   5417 +10 ^    ^                 c
   5418 +11 ^     ^                |
   5419  +1 ^     ^                [ab]{1,4}
   5420 +10 ^       ^              c
   5421 +11 ^        ^             |
   5422  +1 ^        ^             [ab]{1,4}
   5423 +10 ^          ^           c
   5424 +11 ^           ^          |
   5425 +21 ^           ^          1
   5426  +1 ^           ^          [ab]{1,4}
   5427 +10 ^             ^        c
   5428 +11 ^              ^       |
   5429 +21 ^              ^       1
   5430 +22 ^               ^      2
   5431 +23 ^                ^     3
   5432 +24 ^                 ^    
   5433  0: aacaacaacaacaac123
   5434  1: aac
   5435 
   5436 /\b.*/I
   5437 Capturing subpattern count = 0
   5438 Max lookbehind = 1
   5439 May match empty string
   5440 No options
   5441 No first char
   5442 No need char
   5443   ab cd\>1
   5444  0:  cd
   5445 
   5446 /\b.*/Is
   5447 Capturing subpattern count = 0
   5448 Max lookbehind = 1
   5449 May match empty string
   5450 Options: dotall
   5451 No first char
   5452 No need char
   5453   ab cd\>1
   5454  0:  cd
   5455 
   5456 /(?!.bcd).*/I
   5457 Capturing subpattern count = 0
   5458 May match empty string
   5459 No options
   5460 No first char
   5461 No need char
   5462   Xbcd12345
   5463  0: bcd12345
   5464 
   5465 /abcde/I
   5466 Capturing subpattern count = 0
   5467 No options
   5468 First char = 'a'
   5469 Need char = 'e'
   5470     ab\P
   5471 Partial match: ab
   5472     abc\P
   5473 Partial match: abc
   5474     abcd\P
   5475 Partial match: abcd
   5476     abcde\P
   5477  0: abcde
   5478     the quick brown abc\P
   5479 Partial match: abc
   5480     ** Failers\P
   5481 No match
   5482     the quick brown abxyz fox\P
   5483 No match
   5484 
   5485 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
   5486 Capturing subpattern count = 3
   5487 Options: anchored
   5488 No first char
   5489 Need char = '/'
   5490     13/05/04\P
   5491  0: 13/05/04
   5492  1: 13
   5493  2: 05
   5494     13/5/2004\P
   5495  0: 13/5/2004
   5496  1: 13
   5497  2: 5
   5498  3: 20
   5499     02/05/09\P
   5500  0: 02/05/09
   5501  1: 02
   5502  2: 05
   5503     1\P
   5504 Partial match: 1
   5505     1/2\P
   5506 Partial match: 1/2
   5507     1/2/0\P
   5508 Partial match: 1/2/0
   5509     1/2/04\P
   5510  0: 1/2/04
   5511  1: 1
   5512  2: 2
   5513     0\P
   5514 Partial match: 0
   5515     02/\P
   5516 Partial match: 02/
   5517     02/0\P
   5518 Partial match: 02/0
   5519     02/1\P
   5520 Partial match: 02/1
   5521     ** Failers\P
   5522 No match
   5523     \P
   5524 No match
   5525     123\P
   5526 No match
   5527     33/4/04\P
   5528 No match
   5529     3/13/04\P
   5530 No match
   5531     0/1/2003\P
   5532 No match
   5533     0/\P
   5534 No match
   5535     02/0/\P
   5536 No match
   5537     02/13\P
   5538 No match
   5539 
   5540 /0{0,2}ABC/I
   5541 Capturing subpattern count = 0
   5542 No options
   5543 No first char
   5544 Need char = 'C'
   5545 
   5546 /\d{3,}ABC/I
   5547 Capturing subpattern count = 0
   5548 No options
   5549 No first char
   5550 Need char = 'C'
   5551 
   5552 /\d*ABC/I
   5553 Capturing subpattern count = 0
   5554 No options
   5555 No first char
   5556 Need char = 'C'
   5557 
   5558 /[abc]+DE/I
   5559 Capturing subpattern count = 0
   5560 No options
   5561 No first char
   5562 Need char = 'E'
   5563 
   5564 /[abc]?123/I
   5565 Capturing subpattern count = 0
   5566 No options
   5567 No first char
   5568 Need char = '3'
   5569     123\P
   5570  0: 123
   5571     a\P
   5572 Partial match: a
   5573     b\P
   5574 Partial match: b
   5575     c\P
   5576 Partial match: c
   5577     c12\P
   5578 Partial match: c12
   5579     c123\P
   5580  0: c123
   5581 
   5582 /^(?:\d){3,5}X/I
   5583 Capturing subpattern count = 0
   5584 Options: anchored
   5585 No first char
   5586 Need char = 'X'
   5587     1\P
   5588 Partial match: 1
   5589     123\P
   5590 Partial match: 123
   5591     123X
   5592  0: 123X
   5593     1234\P
   5594 Partial match: 1234
   5595     1234X
   5596  0: 1234X
   5597     12345\P
   5598 Partial match: 12345
   5599     12345X
   5600  0: 12345X
   5601     *** Failers
   5602 No match
   5603     1X
   5604 No match
   5605     123456\P
   5606 No match
   5607 
   5608 /abc/IS>testsavedregex
   5609 Capturing subpattern count = 0
   5610 No options
   5611 First char = 'a'
   5612 Need char = 'c'
   5613 Subject length lower bound = 3
   5614 No starting char list
   5615 Compiled pattern written to testsavedregex
   5616 Study data written to testsavedregex
   5617 <testsavedregex
   5618 Compiled pattern loaded from testsavedregex
   5619 Study data loaded from testsavedregex
   5620     abc
   5621  0: abc
   5622     ** Failers
   5623 No match
   5624     bca
   5625 No match
   5626 
   5627 /abc/ISS>testsavedregex
   5628 Capturing subpattern count = 0
   5629 No options
   5630 First char = 'a'
   5631 Need char = 'c'
   5632 Compiled pattern written to testsavedregex
   5633 <testsavedregex
   5634 Compiled pattern loaded from testsavedregex
   5635 No study data
   5636     abc
   5637  0: abc
   5638     ** Failers
   5639 No match
   5640     bca
   5641 No match
   5642 
   5643 /abc/IFS>testsavedregex
   5644 Capturing subpattern count = 0
   5645 No options
   5646 First char = 'a'
   5647 Need char = 'c'
   5648 Subject length lower bound = 3
   5649 No starting char list
   5650 Compiled pattern written to testsavedregex
   5651 Study data written to testsavedregex
   5652 <testsavedregex
   5653 Compiled pattern (byte-inverted) loaded from testsavedregex
   5654 Study data loaded from testsavedregex
   5655     abc
   5656  0: abc
   5657     ** Failers
   5658 No match
   5659     bca
   5660 No match
   5661 
   5662 /abc/IFSS>testsavedregex
   5663 Capturing subpattern count = 0
   5664 No options
   5665 First char = 'a'
   5666 Need char = 'c'
   5667 Compiled pattern written to testsavedregex
   5668 <testsavedregex
   5669 Compiled pattern (byte-inverted) loaded from testsavedregex
   5670 No study data
   5671     abc
   5672  0: abc
   5673     ** Failers
   5674 No match
   5675     bca
   5676 No match
   5677 
   5678 /(a|b)/IS>testsavedregex
   5679 Capturing subpattern count = 1
   5680 No options
   5681 No first char
   5682 No need char
   5683 Subject length lower bound = 1
   5684 Starting chars: a b 
   5685 Compiled pattern written to testsavedregex
   5686 Study data written to testsavedregex
   5687 <testsavedregex
   5688 Compiled pattern loaded from testsavedregex
   5689 Study data loaded from testsavedregex
   5690     abc
   5691  0: a
   5692  1: a
   5693     ** Failers
   5694  0: a
   5695  1: a
   5696     def
   5697 No match
   5698 
   5699 /(a|b)/ISS>testsavedregex
   5700 Capturing subpattern count = 1
   5701 No options
   5702 No first char
   5703 No need char
   5704 Compiled pattern written to testsavedregex
   5705 <testsavedregex
   5706 Compiled pattern loaded from testsavedregex
   5707 No study data
   5708     abc
   5709  0: a
   5710  1: a
   5711     ** Failers
   5712  0: a
   5713  1: a
   5714     def
   5715 No match
   5716 
   5717 /(a|b)/ISF>testsavedregex
   5718 Capturing subpattern count = 1
   5719 No options
   5720 No first char
   5721 No need char
   5722 Subject length lower bound = 1
   5723 Starting chars: a b 
   5724 Compiled pattern written to testsavedregex
   5725 Study data written to testsavedregex
   5726 <testsavedregex
   5727 Compiled pattern (byte-inverted) loaded from testsavedregex
   5728 Study data loaded from testsavedregex
   5729     abc
   5730  0: a
   5731  1: a
   5732     ** Failers
   5733  0: a
   5734  1: a
   5735     def
   5736 No match
   5737 
   5738 /(a|b)/ISSF>testsavedregex
   5739 Capturing subpattern count = 1
   5740 No options
   5741 No first char
   5742 No need char
   5743 Compiled pattern written to testsavedregex
   5744 <testsavedregex
   5745 Compiled pattern (byte-inverted) loaded from testsavedregex
   5746 No study data
   5747     abc
   5748  0: a
   5749  1: a
   5750     ** Failers
   5751  0: a
   5752  1: a
   5753     def
   5754 No match
   5755 
   5756 ~<(\w+)/?>(.)*</(\1)>~smgI
   5757 Capturing subpattern count = 3
   5758 Max back reference = 1
   5759 Options: multiline dotall
   5760 First char = '<'
   5761 Need char = '>'
   5762     \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>
   5763  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>
   5764  1: seite
   5765  2: \x0a
   5766  3: seite
   5767 
   5768 /^a/IF
   5769 Capturing subpattern count = 0
   5770 Options: anchored
   5771 No first char
   5772 No need char
   5773 
   5774 /line\nbreak/I
   5775 Capturing subpattern count = 0
   5776 Contains explicit CR or LF match
   5777 No options
   5778 First char = 'l'
   5779 Need char = 'k'
   5780     this is a line\nbreak
   5781  0: line\x0abreak
   5782     line one\nthis is a line\nbreak in the second line
   5783  0: line\x0abreak
   5784 
   5785 /line\nbreak/If
   5786 Capturing subpattern count = 0
   5787 Contains explicit CR or LF match
   5788 Options: firstline
   5789 First char = 'l'
   5790 Need char = 'k'
   5791     this is a line\nbreak
   5792  0: line\x0abreak
   5793     ** Failers
   5794 No match
   5795     line one\nthis is a line\nbreak in the second line
   5796 No match
   5797 
   5798 /line\nbreak/Imf
   5799 Capturing subpattern count = 0
   5800 Contains explicit CR or LF match
   5801 Options: multiline 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 /(?i)(?-i)AbCd/I
   5812 Capturing subpattern count = 0
   5813 No options
   5814 First char = 'A'
   5815 Need char = 'd'
   5816     AbCd
   5817  0: AbCd
   5818     ** Failers
   5819 No match
   5820     abcd
   5821 No match
   5822 
   5823 /a{11111111111111111111}/I
   5824 Failed: number too big in {} quantifier at offset 8
   5825 
   5826 /(){64294967295}/I
   5827 Failed: number too big in {} quantifier at offset 9
   5828 
   5829 /(){2,4294967295}/I
   5830 Failed: number too big in {} quantifier at offset 11
   5831 
   5832 "(?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
   5833 Capturing subpattern count = 1
   5834 Max back reference = 1
   5835 No options
   5836 First char = 'a' (caseless)
   5837 Need char = 'B'
   5838     abcdefghijklAkB
   5839  0: abcdefghijklAkB
   5840  1: k
   5841 
   5842 "(?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
   5843 Capturing subpattern count = 12
   5844 Max back reference = 11
   5845 Named capturing subpatterns:
   5846   n0    1
   5847   n1    2
   5848   n10  11
   5849   n11  12
   5850   n2    3
   5851   n3    4
   5852   n4    5
   5853   n5    6
   5854   n6    7
   5855   n7    8
   5856   n8    9
   5857   n9   10
   5858 No options
   5859 First char = 'a'
   5860 Need char = 'B'
   5861     abcdefghijklAkB
   5862  0: abcdefghijklAkB
   5863  1: a
   5864  2: b
   5865  3: c
   5866  4: d
   5867  5: e
   5868  6: f
   5869  7: g
   5870  8: h
   5871  9: i
   5872 10: j
   5873 11: k
   5874 12: l
   5875 
   5876 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
   5877 Capturing subpattern count = 12
   5878 Max back reference = 11
   5879 No options
   5880 First char = 'a'
   5881 Need char = 'B'
   5882     abcdefghijklAkB
   5883  0: abcdefghijklAkB
   5884  1: a
   5885  2: b
   5886  3: c
   5887  4: d
   5888  5: e
   5889  6: f
   5890  7: g
   5891  8: h
   5892  9: i
   5893 10: j
   5894 11: k
   5895 12: l
   5896 
   5897 "(?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
   5898 Capturing subpattern count = 101
   5899 Named capturing subpatterns:
   5900   name0     1
   5901   name1     2
   5902   name10   11
   5903   name100 101
   5904   name11   12
   5905   name12   13
   5906   name13   14
   5907   name14   15
   5908   name15   16
   5909   name16   17
   5910   name17   18
   5911   name18   19
   5912   name19   20
   5913   name2     3
   5914   name20   21
   5915   name21   22
   5916   name22   23
   5917   name23   24
   5918   name24   25
   5919   name25   26
   5920   name26   27
   5921   name27   28
   5922   name28   29
   5923   name29   30
   5924   name3     4
   5925   name30   31
   5926   name31   32
   5927   name32   33
   5928   name33   34
   5929   name34   35
   5930   name35   36
   5931   name36   37
   5932   name37   38
   5933   name38   39
   5934   name39   40
   5935   name4     5
   5936   name40   41
   5937   name41   42
   5938   name42   43
   5939   name43   44
   5940   name44   45
   5941   name45   46
   5942   name46   47
   5943   name47   48
   5944   name48   49
   5945   name49   50
   5946   name5     6
   5947   name50   51
   5948   name51   52
   5949   name52   53
   5950   name53   54
   5951   name54   55
   5952   name55   56
   5953   name56   57
   5954   name57   58
   5955   name58   59
   5956   name59   60
   5957   name6     7
   5958   name60   61
   5959   name61   62
   5960   name62   63
   5961   name63   64
   5962   name64   65
   5963   name65   66
   5964   name66   67
   5965   name67   68
   5966   name68   69
   5967   name69   70
   5968   name7     8
   5969   name70   71
   5970   name71   72
   5971   name72   73
   5972   name73   74
   5973   name74   75
   5974   name75   76
   5975   name76   77
   5976   name77   78
   5977   name78   79
   5978   name79   80
   5979   name8     9
   5980   name80   81
   5981   name81   82
   5982   name82   83
   5983   name83   84
   5984   name84   85
   5985   name85   86
   5986   name86   87
   5987   name87   88
   5988   name88   89
   5989   name89   90
   5990   name9    10
   5991   name90   91
   5992   name91   92
   5993   name92   93
   5994   name93   94
   5995   name94   95
   5996   name95   96
   5997   name96   97
   5998   name97   98
   5999   name98   99
   6000   name99  100
   6001 No options
   6002 First char = 'a'
   6003 Need char = 'a'
   6004     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   6005 Matched, but too many substrings
   6006  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   6007  1: a
   6008  2: a
   6009  3: a
   6010  4: a
   6011  5: a
   6012  6: a
   6013  7: a
   6014  8: a
   6015  9: a
   6016 10: a
   6017 11: a
   6018 12: a
   6019 13: a
   6020 14: a
   6021 
   6022 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
   6023 Capturing subpattern count = 101
   6024 No options
   6025 First char = 'a'
   6026 Need char = 'a'
   6027     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   6028 Matched, but too many substrings
   6029  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   6030  1: a
   6031  2: a
   6032  3: a
   6033  4: a
   6034  5: a
   6035  6: a
   6036  7: a
   6037  8: a
   6038  9: a
   6039 10: a
   6040 11: a
   6041 12: a
   6042 13: a
   6043 14: a
   6044 
   6045 /[^()]*(?:\((?R)\)[^()]*)*/I
   6046 Capturing subpattern count = 0
   6047 May match empty string
   6048 No options
   6049 No first char
   6050 No need char
   6051     (this(and)that
   6052  0: 
   6053     (this(and)that)
   6054  0: (this(and)that)
   6055     (this(and)that)stuff
   6056  0: (this(and)that)stuff
   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 
   6069 /[^()]*(?:\((?R)\))*[^()]*/I
   6070 Capturing subpattern count = 0
   6071 May match empty string
   6072 No options
   6073 No first char
   6074 No need char
   6075     (this(and)that
   6076  0: 
   6077     (this(and)that)
   6078  0: (this(and)that)
   6079 
   6080 /(?:\((?R)\))*[^()]*/I
   6081 Capturing subpattern count = 0
   6082 May match empty string
   6083 No options
   6084 No first char
   6085 No need char
   6086     (this(and)that
   6087  0: 
   6088     (this(and)that)
   6089  0: 
   6090     ((this))
   6091  0: ((this))
   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     ((this))
   6106  0: ((this))
   6107 
   6108 /\x{0000ff}/I
   6109 Capturing subpattern count = 0
   6110 No options
   6111 First char = \xff
   6112 No need char
   6113 
   6114 /^((?P<A>a1)|(?P<A>a2)b)/I
   6115 Failed: two named subpatterns have the same name at offset 17
   6116 
   6117 /^((?P<A>a1)|(?P<A>a2)b)/IJ
   6118 Capturing subpattern count = 3
   6119 Named capturing subpatterns:
   6120   A   2
   6121   A   3
   6122 Options: anchored dupnames
   6123 No first char
   6124 No need char
   6125     a1b\CA
   6126  0: a1
   6127  1: a1
   6128  2: a1
   6129   C a1 (2) A
   6130     a2b\CA
   6131  0: a2b
   6132  1: a2b
   6133  2: <unset>
   6134  3: a2
   6135   C a2 (2) A
   6136     ** Failers
   6137 No match
   6138     a1b\CZ\CA
   6139 no parentheses with name "Z"
   6140  0: a1
   6141  1: a1
   6142  2: a1
   6143 copy substring Z failed -7
   6144   C a1 (2) A
   6145     
   6146 /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
   6147 Capturing subpattern count = 3
   6148 Named capturing subpatterns:
   6149   a   1
   6150   a   3
   6151   b   2
   6152 May match empty string
   6153 Options: dupnames
   6154 No first char
   6155 No need char
   6156 
   6157 /^(?P<A>a)(?P<A>b)/IJ
   6158 Capturing subpattern count = 2
   6159 Named capturing subpatterns:
   6160   A   1
   6161   A   2
   6162 Options: anchored dupnames
   6163 No first char
   6164 No need char
   6165     ab\CA
   6166  0: ab
   6167  1: a
   6168  2: b
   6169   C a (1) A
   6170 
   6171 /^(?P<A>a)(?P<A>b)|cd/IJ
   6172 Capturing subpattern count = 2
   6173 Named capturing subpatterns:
   6174   A   1
   6175   A   2
   6176 Options: dupnames
   6177 No first char
   6178 No need char
   6179     ab\CA
   6180  0: ab
   6181  1: a
   6182  2: b
   6183   C a (1) A
   6184     cd\CA
   6185  0: cd
   6186 copy substring A failed -7
   6187 
   6188 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
   6189 Capturing subpattern count = 4
   6190 Named capturing subpatterns:
   6191   A   1
   6192   A   2
   6193   A   3
   6194   A   4
   6195 Options: dupnames
   6196 No first char
   6197 No need char
   6198     cdefgh\CA
   6199  0: cdefgh
   6200  1: <unset>
   6201  2: <unset>
   6202  3: ef
   6203  4: gh
   6204   C ef (2) A
   6205 
   6206 /^((?P<A>a1)|(?P<A>a2)b)/IJ
   6207 Capturing subpattern count = 3
   6208 Named capturing subpatterns:
   6209   A   2
   6210   A   3
   6211 Options: anchored dupnames
   6212 No first char
   6213 No need char
   6214     a1b\GA
   6215  0: a1
   6216  1: a1
   6217  2: a1
   6218   G a1 (2) A
   6219     a2b\GA
   6220  0: a2b
   6221  1: a2b
   6222  2: <unset>
   6223  3: a2
   6224   G a2 (2) A
   6225     ** Failers
   6226 No match
   6227     a1b\GZ\GA
   6228 no parentheses with name "Z"
   6229  0: a1
   6230  1: a1
   6231  2: a1
   6232 get substring Z failed -7
   6233   G a1 (2) A
   6234 
   6235 /^(?P<A>a)(?P<A>b)/IJ
   6236 Capturing subpattern count = 2
   6237 Named capturing subpatterns:
   6238   A   1
   6239   A   2
   6240 Options: anchored dupnames
   6241 No first char
   6242 No need char
   6243     ab\GA
   6244  0: ab
   6245  1: a
   6246  2: b
   6247   G a (1) A
   6248 
   6249 /^(?P<A>a)(?P<A>b)|cd/IJ
   6250 Capturing subpattern count = 2
   6251 Named capturing subpatterns:
   6252   A   1
   6253   A   2
   6254 Options: dupnames
   6255 No first char
   6256 No need char
   6257     ab\GA
   6258  0: ab
   6259  1: a
   6260  2: b
   6261   G a (1) A
   6262     cd\GA
   6263  0: cd
   6264 get substring A failed -7
   6265 
   6266 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
   6267 Capturing subpattern count = 4
   6268 Named capturing subpatterns:
   6269   A   1
   6270   A   2
   6271   A   3
   6272   A   4
   6273 Options: dupnames
   6274 No first char
   6275 No need char
   6276     cdefgh\GA
   6277  0: cdefgh
   6278  1: <unset>
   6279  2: <unset>
   6280  3: ef
   6281  4: gh
   6282   G ef (2) A
   6283 
   6284 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
   6285 Capturing subpattern count = 3
   6286 Named capturing subpatterns:
   6287   A   2
   6288   A   3
   6289 Options: anchored dupnames
   6290 Duplicate name status changes
   6291 No first char
   6292 No need char
   6293     a1b\CA
   6294  0: a1
   6295  1: a1
   6296  2: a1
   6297   C a1 (2) A
   6298     a2b\CA
   6299  0: a2b
   6300  1: a2b
   6301  2: <unset>
   6302  3: a2
   6303   C a2 (2) A
   6304 
   6305 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
   6306 Failed: two named subpatterns have the same name at offset 37
   6307 
   6308 / In this next test, J is not set at the outer level; consequently it isn't
   6309 set in the pattern's options; consequently pcre_get_named_substring() produces
   6310 a random value. /Ix
   6311 Capturing subpattern count = 1
   6312 Options: extended
   6313 First char = 'I'
   6314 Need char = 'e'
   6315 
   6316 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
   6317 Capturing subpattern count = 4
   6318 Named capturing subpatterns:
   6319   A   1
   6320   B   2
   6321   B   3
   6322   C   4
   6323 Options: anchored
   6324 Duplicate name status changes
   6325 No first char
   6326 No need char
   6327     a bc d\CA\CB\CC
   6328  0: a bc d
   6329  1: a
   6330  2: b
   6331  3: c
   6332  4: d
   6333   C a (1) A
   6334   C b (1) B
   6335   C d (1) C
   6336 
   6337 /^(?P<A>a)?(?(A)a|b)/I
   6338 Capturing subpattern count = 1
   6339 Named capturing subpatterns:
   6340   A   1
   6341 Options: anchored
   6342 No first char
   6343 No need char
   6344     aabc
   6345  0: aa
   6346  1: a
   6347     bc
   6348  0: b
   6349     ** Failers
   6350 No match
   6351     abc
   6352 No match
   6353 
   6354 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
   6355 Capturing subpattern count = 1
   6356 Named capturing subpatterns:
   6357   ZZ   1
   6358 No options
   6359 No first char
   6360 Need char = 'X'
   6361     bXaX
   6362  0: bXaX
   6363  1: X
   6364 
   6365 /(?:(?(2y)a|b)(X))+/I
   6366 Failed: malformed number or name after (?( at offset 7
   6367 
   6368 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
   6369 Failed: reference to non-existent subpattern at offset 9
   6370 
   6371 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
   6372 Capturing subpattern count = 1
   6373 Named capturing subpatterns:
   6374   ZZ   1
   6375 No options
   6376 No first char
   6377 Need char = 'X'
   6378     bbXaaX
   6379  0: bbXaaX
   6380  1: X
   6381 
   6382 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
   6383 Capturing subpattern count = 1
   6384 Named capturing subpatterns:
   6385   ZZ   1
   6386 No options
   6387 No first char
   6388 Need char = 'X'
   6389     (b)\\Xa\\X
   6390  0: (b)\Xa\X
   6391  1: X
   6392 
   6393 /(?P<ABC/I
   6394 Failed: syntax error in subpattern name (missing terminator) at offset 7
   6395 
   6396 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
   6397 Capturing subpattern count = 1
   6398 Max back reference = 1
   6399 Named capturing subpatterns:
   6400   A   1
   6401 No options
   6402 No first char
   6403 No need char
   6404     bXXaYYaY
   6405  0: bXXaYYaY
   6406  1: Y
   6407     bXYaXXaX
   6408  0: bX
   6409  1: X
   6410 
   6411 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
   6412 Capturing subpattern count = 10
   6413 Max back reference = 10
   6414 Named capturing subpatterns:
   6415   A  10
   6416 No options
   6417 No first char
   6418 No need char
   6419     bXXaYYaY
   6420  0: bXXaYYaY
   6421  1: 
   6422  2: 
   6423  3: 
   6424  4: 
   6425  5: 
   6426  6: 
   6427  7: 
   6428  8: 
   6429  9: 
   6430 10: Y
   6431 
   6432 /\s*,\s*/IS
   6433 Capturing subpattern count = 0
   6434 No options
   6435 No first char
   6436 Need char = ','
   6437 Subject length lower bound = 1
   6438 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 , 
   6439     \x0b,\x0b
   6440  0: \x0b,\x0b
   6441     \x0c,\x0d
   6442  0: \x0c,\x0d
   6443 
   6444 /^abc/Im
   6445 Capturing subpattern count = 0
   6446 Options: multiline
   6447 First char at start or follows newline
   6448 Need char = 'c'
   6449     xyz\nabc
   6450  0: abc
   6451     xyz\nabc\<lf>
   6452  0: abc
   6453     xyz\r\nabc\<lf>
   6454  0: abc
   6455     xyz\rabc\<cr>
   6456  0: abc
   6457     xyz\r\nabc\<crlf>
   6458  0: abc
   6459     ** Failers
   6460 No match
   6461     xyz\nabc\<cr>
   6462 No match
   6463     xyz\r\nabc\<cr>
   6464 No match
   6465     xyz\nabc\<crlf>
   6466 No match
   6467     xyz\rabc\<crlf>
   6468 No match
   6469     xyz\rabc\<lf>
   6470 No match
   6471 
   6472 /abc$/Im<lf>
   6473 Capturing subpattern count = 0
   6474 Options: multiline
   6475 Forced newline sequence: LF
   6476 First char = 'a'
   6477 Need char = 'c'
   6478     xyzabc
   6479  0: abc
   6480     xyzabc\n
   6481  0: abc
   6482     xyzabc\npqr
   6483  0: abc
   6484     xyzabc\r\<cr>
   6485  0: abc
   6486     xyzabc\rpqr\<cr>
   6487  0: abc
   6488     xyzabc\r\n\<crlf>
   6489  0: abc
   6490     xyzabc\r\npqr\<crlf>
   6491  0: abc
   6492     ** Failers
   6493 No match
   6494     xyzabc\r
   6495 No match
   6496     xyzabc\rpqr
   6497 No match
   6498     xyzabc\r\n
   6499 No match
   6500     xyzabc\r\npqr
   6501 No match
   6502 
   6503 /^abc/Im<cr>
   6504 Capturing subpattern count = 0
   6505 Options: multiline
   6506 Forced newline sequence: CR
   6507 First char at start or follows newline
   6508 Need char = 'c'
   6509     xyz\rabcdef
   6510  0: abc
   6511     xyz\nabcdef\<lf>
   6512  0: abc
   6513     ** Failers
   6514 No match
   6515     xyz\nabcdef
   6516 No match
   6517 
   6518 /^abc/Im<lf>
   6519 Capturing subpattern count = 0
   6520 Options: multiline
   6521 Forced newline sequence: LF
   6522 First char at start or follows newline
   6523 Need char = 'c'
   6524     xyz\nabcdef
   6525  0: abc
   6526     xyz\rabcdef\<cr>
   6527  0: abc
   6528     ** Failers
   6529 No match
   6530     xyz\rabcdef
   6531 No match
   6532 
   6533 /^abc/Im<crlf>
   6534 Capturing subpattern count = 0
   6535 Options: multiline
   6536 Forced newline sequence: CRLF
   6537 First char at start or follows newline
   6538 Need char = 'c'
   6539     xyz\r\nabcdef
   6540  0: abc
   6541     xyz\rabcdef\<cr>
   6542  0: abc
   6543     ** Failers
   6544 No match
   6545     xyz\rabcdef
   6546 No match
   6547 
   6548 /^abc/Im<bad>
   6549 Unknown modifier at: <bad>
   6550 
   6551 
   6552 /abc/I
   6553 Capturing subpattern count = 0
   6554 No options
   6555 First char = 'a'
   6556 Need char = 'c'
   6557     xyz\rabc\<bad>
   6558 Unknown escape sequence at: <bad>
   6559     abc
   6560  0: abc
   6561 
   6562 /.*/I<lf>
   6563 Capturing subpattern count = 0
   6564 May match empty string
   6565 Options:
   6566 Forced newline sequence: LF
   6567 First char at start or follows newline
   6568 No need char
   6569     abc\ndef
   6570  0: abc
   6571     abc\rdef
   6572  0: abc\x0ddef
   6573     abc\r\ndef
   6574  0: abc\x0d
   6575     \<cr>abc\ndef
   6576  0: abc\x0adef
   6577     \<cr>abc\rdef
   6578  0: abc
   6579     \<cr>abc\r\ndef
   6580  0: abc
   6581     \<crlf>abc\ndef
   6582  0: abc\x0adef
   6583     \<crlf>abc\rdef
   6584  0: abc\x0ddef
   6585     \<crlf>abc\r\ndef
   6586  0: abc
   6587 
   6588 /\w+(.)(.)?def/Is
   6589 Capturing subpattern count = 2
   6590 Options: dotall
   6591 No first char
   6592 Need char = 'f'
   6593     abc\ndef
   6594  0: abc\x0adef
   6595  1: \x0a
   6596     abc\rdef
   6597  0: abc\x0ddef
   6598  1: \x0d
   6599     abc\r\ndef
   6600  0: abc\x0d\x0adef
   6601  1: \x0d
   6602  2: \x0a
   6603 
   6604 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
   6605 Capturing subpattern count = 1
   6606 May match empty string
   6607 No options
   6608 No first char
   6609 No need char
   6610    /* this is a C style comment */\M
   6611 Minimum match() limit = 120
   6612 Minimum match() recursion limit = 6
   6613  0: /* this is a C style comment */
   6614  1: /* this is a C style comment */
   6615 
   6616 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
   6617 Capturing subpattern count = 1
   6618 Named capturing subpatterns:
   6619   B   1
   6620 No options
   6621 No first char
   6622 Need char = '.'
   6623 
   6624 /()()()()()()()()()()()()()()()()()()()()
   6625  ()()()()()()()()()()()()()()()()()()()()
   6626  ()()()()()()()()()()()()()()()()()()()()
   6627  ()()()()()()()()()()()()()()()()()()()()
   6628  ()()()()()()()()()()()()()()()()()()()()
   6629  (.(.))/Ix
   6630 Capturing subpattern count = 102
   6631 Options: extended
   6632 No first char
   6633 No need char
   6634     XY\O400
   6635  0: XY
   6636  1: 
   6637  2: 
   6638  3: 
   6639  4: 
   6640  5: 
   6641  6: 
   6642  7: 
   6643  8: 
   6644  9: 
   6645 10: 
   6646 11: 
   6647 12: 
   6648 13: 
   6649 14: 
   6650 15: 
   6651 16: 
   6652 17: 
   6653 18: 
   6654 19: 
   6655 20: 
   6656 21: 
   6657 22: 
   6658 23: 
   6659 24: 
   6660 25: 
   6661 26: 
   6662 27: 
   6663 28: 
   6664 29: 
   6665 30: 
   6666 31: 
   6667 32: 
   6668 33: 
   6669 34: 
   6670 35: 
   6671 36: 
   6672 37: 
   6673 38: 
   6674 39: 
   6675 40: 
   6676 41: 
   6677 42: 
   6678 43: 
   6679 44: 
   6680 45: 
   6681 46: 
   6682 47: 
   6683 48: 
   6684 49: 
   6685 50: 
   6686 51: 
   6687 52: 
   6688 53: 
   6689 54: 
   6690 55: 
   6691 56: 
   6692 57: 
   6693 58: 
   6694 59: 
   6695 60: 
   6696 61: 
   6697 62: 
   6698 63: 
   6699 64: 
   6700 65: 
   6701 66: 
   6702 67: 
   6703 68: 
   6704 69: 
   6705 70: 
   6706 71: 
   6707 72: 
   6708 73: 
   6709 74: 
   6710 75: 
   6711 76: 
   6712 77: 
   6713 78: 
   6714 79: 
   6715 80: 
   6716 81: 
   6717 82: 
   6718 83: 
   6719 84: 
   6720 85: 
   6721 86: 
   6722 87: 
   6723 88: 
   6724 89: 
   6725 90: 
   6726 91: 
   6727 92: 
   6728 93: 
   6729 94: 
   6730 95: 
   6731 96: 
   6732 97: 
   6733 98: 
   6734 99: 
   6735 100: 
   6736 101: XY
   6737 102: Y
   6738 
   6739 /(a*b|(?i:c*(?-i)d))/IS
   6740 Capturing subpattern count = 1
   6741 No options
   6742 No first char
   6743 No need char
   6744 Subject length lower bound = 1
   6745 Starting chars: C a b c d 
   6746 
   6747 /()[ab]xyz/IS
   6748 Capturing subpattern count = 1
   6749 No options
   6750 No first char
   6751 Need char = 'z'
   6752 Subject length lower bound = 4
   6753 Starting chars: a b 
   6754 
   6755 /(|)[ab]xyz/IS
   6756 Capturing subpattern count = 1
   6757 No options
   6758 No first char
   6759 Need char = 'z'
   6760 Subject length lower bound = 4
   6761 Starting chars: a b 
   6762 
   6763 /(|c)[ab]xyz/IS
   6764 Capturing subpattern count = 1
   6765 No options
   6766 No first char
   6767 Need char = 'z'
   6768 Subject length lower bound = 4
   6769 Starting chars: a b c 
   6770 
   6771 /(|c?)[ab]xyz/IS
   6772 Capturing subpattern count = 1
   6773 No options
   6774 No first char
   6775 Need char = 'z'
   6776 Subject length lower bound = 4
   6777 Starting chars: a b c 
   6778 
   6779 /(d?|c?)[ab]xyz/IS
   6780 Capturing subpattern count = 1
   6781 No options
   6782 No first char
   6783 Need char = 'z'
   6784 Subject length lower bound = 4
   6785 Starting chars: a b c d 
   6786 
   6787 /(d?|c)[ab]xyz/IS
   6788 Capturing subpattern count = 1
   6789 No options
   6790 No first char
   6791 Need char = 'z'
   6792 Subject length lower bound = 4
   6793 Starting chars: a b c d 
   6794 
   6795 /^a*b\d/DZ
   6796 ------------------------------------------------------------------
   6797         Bra
   6798         ^
   6799         a*+
   6800         b
   6801         \d
   6802         Ket
   6803         End
   6804 ------------------------------------------------------------------
   6805 Capturing subpattern count = 0
   6806 Options: anchored
   6807 No first char
   6808 Need char = 'b'
   6809 
   6810 /^a*+b\d/DZ
   6811 ------------------------------------------------------------------
   6812         Bra
   6813         ^
   6814         a*+
   6815         b
   6816         \d
   6817         Ket
   6818         End
   6819 ------------------------------------------------------------------
   6820 Capturing subpattern count = 0
   6821 Options: anchored
   6822 No first char
   6823 Need char = 'b'
   6824 
   6825 /^a*?b\d/DZ
   6826 ------------------------------------------------------------------
   6827         Bra
   6828         ^
   6829         a*+
   6830         b
   6831         \d
   6832         Ket
   6833         End
   6834 ------------------------------------------------------------------
   6835 Capturing subpattern count = 0
   6836 Options: anchored
   6837 No first char
   6838 Need char = 'b'
   6839 
   6840 /^a+A\d/DZ
   6841 ------------------------------------------------------------------
   6842         Bra
   6843         ^
   6844         a++
   6845         A
   6846         \d
   6847         Ket
   6848         End
   6849 ------------------------------------------------------------------
   6850 Capturing subpattern count = 0
   6851 Options: anchored
   6852 No first char
   6853 Need char = 'A'
   6854     aaaA5
   6855  0: aaaA5
   6856     ** Failers
   6857 No match
   6858     aaaa5
   6859 No match
   6860 
   6861 /^a*A\d/IiDZ
   6862 ------------------------------------------------------------------
   6863         Bra
   6864         ^
   6865      /i a*
   6866      /i A
   6867         \d
   6868         Ket
   6869         End
   6870 ------------------------------------------------------------------
   6871 Capturing subpattern count = 0
   6872 Options: anchored caseless
   6873 No first char
   6874 Need char = 'A' (caseless)
   6875     aaaA5
   6876  0: aaaA5
   6877     aaaa5
   6878  0: aaaa5
   6879 
   6880 /(a*|b*)[cd]/IS
   6881 Capturing subpattern count = 1
   6882 No options
   6883 No first char
   6884 No need char
   6885 Subject length lower bound = 1
   6886 Starting chars: a b c d 
   6887 
   6888 /(a+|b*)[cd]/IS
   6889 Capturing subpattern count = 1
   6890 No options
   6891 No first char
   6892 No need char
   6893 Subject length lower bound = 1
   6894 Starting chars: a b c d 
   6895 
   6896 /(a*|b+)[cd]/IS
   6897 Capturing subpattern count = 1
   6898 No options
   6899 No first char
   6900 No need char
   6901 Subject length lower bound = 1
   6902 Starting chars: a b c d 
   6903 
   6904 /(a+|b+)[cd]/IS
   6905 Capturing subpattern count = 1
   6906 No options
   6907 No first char
   6908 No need char
   6909 Subject length lower bound = 2
   6910 Starting chars: a b 
   6911 
   6912 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
   6913  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
   6914  (((
   6915  a
   6916  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
   6917  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
   6918  )))
   6919 /Ix
   6920 Capturing subpattern count = 203
   6921 Options: extended
   6922 First char = 'a'
   6923 No need char
   6924   large nest
   6925 Matched, but too many substrings
   6926  0: a
   6927  1: a
   6928  2: a
   6929  3: a
   6930  4: a
   6931  5: a
   6932  6: a
   6933  7: a
   6934  8: a
   6935  9: a
   6936 10: a
   6937 11: a
   6938 12: a
   6939 13: a
   6940 14: a
   6941 
   6942 /a*\d/BZ
   6943 ------------------------------------------------------------------
   6944         Bra
   6945         a*+
   6946         \d
   6947         Ket
   6948         End
   6949 ------------------------------------------------------------------
   6950 
   6951 /a*\D/BZ
   6952 ------------------------------------------------------------------
   6953         Bra
   6954         a*
   6955         \D
   6956         Ket
   6957         End
   6958 ------------------------------------------------------------------
   6959 
   6960 /0*\d/BZ
   6961 ------------------------------------------------------------------
   6962         Bra
   6963         0*
   6964         \d
   6965         Ket
   6966         End
   6967 ------------------------------------------------------------------
   6968 
   6969 /0*\D/BZ
   6970 ------------------------------------------------------------------
   6971         Bra
   6972         0*+
   6973         \D
   6974         Ket
   6975         End
   6976 ------------------------------------------------------------------
   6977 
   6978 /a*\s/BZ
   6979 ------------------------------------------------------------------
   6980         Bra
   6981         a*+
   6982         \s
   6983         Ket
   6984         End
   6985 ------------------------------------------------------------------
   6986 
   6987 /a*\S/BZ
   6988 ------------------------------------------------------------------
   6989         Bra
   6990         a*
   6991         \S
   6992         Ket
   6993         End
   6994 ------------------------------------------------------------------
   6995 
   6996 / *\s/BZ
   6997 ------------------------------------------------------------------
   6998         Bra
   6999          *
   7000         \s
   7001         Ket
   7002         End
   7003 ------------------------------------------------------------------
   7004 
   7005 / *\S/BZ
   7006 ------------------------------------------------------------------
   7007         Bra
   7008          *+
   7009         \S
   7010         Ket
   7011         End
   7012 ------------------------------------------------------------------
   7013 
   7014 /a*\w/BZ
   7015 ------------------------------------------------------------------
   7016         Bra
   7017         a*
   7018         \w
   7019         Ket
   7020         End
   7021 ------------------------------------------------------------------
   7022 
   7023 /a*\W/BZ
   7024 ------------------------------------------------------------------
   7025         Bra
   7026         a*+
   7027         \W
   7028         Ket
   7029         End
   7030 ------------------------------------------------------------------
   7031 
   7032 /=*\w/BZ
   7033 ------------------------------------------------------------------
   7034         Bra
   7035         =*+
   7036         \w
   7037         Ket
   7038         End
   7039 ------------------------------------------------------------------
   7040 
   7041 /=*\W/BZ
   7042 ------------------------------------------------------------------
   7043         Bra
   7044         =*
   7045         \W
   7046         Ket
   7047         End
   7048 ------------------------------------------------------------------
   7049 
   7050 /\d*a/BZ
   7051 ------------------------------------------------------------------
   7052         Bra
   7053         \d*+
   7054         a
   7055         Ket
   7056         End
   7057 ------------------------------------------------------------------
   7058 
   7059 /\d*2/BZ
   7060 ------------------------------------------------------------------
   7061         Bra
   7062         \d*
   7063         2
   7064         Ket
   7065         End
   7066 ------------------------------------------------------------------
   7067 
   7068 /\d*\d/BZ
   7069 ------------------------------------------------------------------
   7070         Bra
   7071         \d*
   7072         \d
   7073         Ket
   7074         End
   7075 ------------------------------------------------------------------
   7076 
   7077 /\d*\D/BZ
   7078 ------------------------------------------------------------------
   7079         Bra
   7080         \d*+
   7081         \D
   7082         Ket
   7083         End
   7084 ------------------------------------------------------------------
   7085 
   7086 /\d*\s/BZ
   7087 ------------------------------------------------------------------
   7088         Bra
   7089         \d*+
   7090         \s
   7091         Ket
   7092         End
   7093 ------------------------------------------------------------------
   7094 
   7095 /\d*\S/BZ
   7096 ------------------------------------------------------------------
   7097         Bra
   7098         \d*
   7099         \S
   7100         Ket
   7101         End
   7102 ------------------------------------------------------------------
   7103 
   7104 /\d*\w/BZ
   7105 ------------------------------------------------------------------
   7106         Bra
   7107         \d*
   7108         \w
   7109         Ket
   7110         End
   7111 ------------------------------------------------------------------
   7112 
   7113 /\d*\W/BZ
   7114 ------------------------------------------------------------------
   7115         Bra
   7116         \d*+
   7117         \W
   7118         Ket
   7119         End
   7120 ------------------------------------------------------------------
   7121 
   7122 /\D*a/BZ
   7123 ------------------------------------------------------------------
   7124         Bra
   7125         \D*
   7126         a
   7127         Ket
   7128         End
   7129 ------------------------------------------------------------------
   7130 
   7131 /\D*2/BZ
   7132 ------------------------------------------------------------------
   7133         Bra
   7134         \D*+
   7135         2
   7136         Ket
   7137         End
   7138 ------------------------------------------------------------------
   7139 
   7140 /\D*\d/BZ
   7141 ------------------------------------------------------------------
   7142         Bra
   7143         \D*+
   7144         \d
   7145         Ket
   7146         End
   7147 ------------------------------------------------------------------
   7148 
   7149 /\D*\D/BZ
   7150 ------------------------------------------------------------------
   7151         Bra
   7152         \D*
   7153         \D
   7154         Ket
   7155         End
   7156 ------------------------------------------------------------------
   7157 
   7158 /\D*\s/BZ
   7159 ------------------------------------------------------------------
   7160         Bra
   7161         \D*
   7162         \s
   7163         Ket
   7164         End
   7165 ------------------------------------------------------------------
   7166 
   7167 /\D*\S/BZ
   7168 ------------------------------------------------------------------
   7169         Bra
   7170         \D*
   7171         \S
   7172         Ket
   7173         End
   7174 ------------------------------------------------------------------
   7175 
   7176 /\D*\w/BZ
   7177 ------------------------------------------------------------------
   7178         Bra
   7179         \D*
   7180         \w
   7181         Ket
   7182         End
   7183 ------------------------------------------------------------------
   7184 
   7185 /\D*\W/BZ
   7186 ------------------------------------------------------------------
   7187         Bra
   7188         \D*
   7189         \W
   7190         Ket
   7191         End
   7192 ------------------------------------------------------------------
   7193 
   7194 /\s*a/BZ
   7195 ------------------------------------------------------------------
   7196         Bra
   7197         \s*+
   7198         a
   7199         Ket
   7200         End
   7201 ------------------------------------------------------------------
   7202 
   7203 /\s*2/BZ
   7204 ------------------------------------------------------------------
   7205         Bra
   7206         \s*+
   7207         2
   7208         Ket
   7209         End
   7210 ------------------------------------------------------------------
   7211 
   7212 /\s*\d/BZ
   7213 ------------------------------------------------------------------
   7214         Bra
   7215         \s*+
   7216         \d
   7217         Ket
   7218         End
   7219 ------------------------------------------------------------------
   7220 
   7221 /\s*\D/BZ
   7222 ------------------------------------------------------------------
   7223         Bra
   7224         \s*
   7225         \D
   7226         Ket
   7227         End
   7228 ------------------------------------------------------------------
   7229 
   7230 /\s*\s/BZ
   7231 ------------------------------------------------------------------
   7232         Bra
   7233         \s*
   7234         \s
   7235         Ket
   7236         End
   7237 ------------------------------------------------------------------
   7238 
   7239 /\s*\S/BZ
   7240 ------------------------------------------------------------------
   7241         Bra
   7242         \s*+
   7243         \S
   7244         Ket
   7245         End
   7246 ------------------------------------------------------------------
   7247 
   7248 /\s*\w/BZ
   7249 ------------------------------------------------------------------
   7250         Bra
   7251         \s*+
   7252         \w
   7253         Ket
   7254         End
   7255 ------------------------------------------------------------------
   7256 
   7257 /\s*\W/BZ
   7258 ------------------------------------------------------------------
   7259         Bra
   7260         \s*
   7261         \W
   7262         Ket
   7263         End
   7264 ------------------------------------------------------------------
   7265 
   7266 /\S*a/BZ
   7267 ------------------------------------------------------------------
   7268         Bra
   7269         \S*
   7270         a
   7271         Ket
   7272         End
   7273 ------------------------------------------------------------------
   7274 
   7275 /\S*2/BZ
   7276 ------------------------------------------------------------------
   7277         Bra
   7278         \S*
   7279         2
   7280         Ket
   7281         End
   7282 ------------------------------------------------------------------
   7283 
   7284 /\S*\d/BZ
   7285 ------------------------------------------------------------------
   7286         Bra
   7287         \S*
   7288         \d
   7289         Ket
   7290         End
   7291 ------------------------------------------------------------------
   7292 
   7293 /\S*\D/BZ
   7294 ------------------------------------------------------------------
   7295         Bra
   7296         \S*
   7297         \D
   7298         Ket
   7299         End
   7300 ------------------------------------------------------------------
   7301 
   7302 /\S*\s/BZ
   7303 ------------------------------------------------------------------
   7304         Bra
   7305         \S*+
   7306         \s
   7307         Ket
   7308         End
   7309 ------------------------------------------------------------------
   7310 
   7311 /\S*\S/BZ
   7312 ------------------------------------------------------------------
   7313         Bra
   7314         \S*
   7315         \S
   7316         Ket
   7317         End
   7318 ------------------------------------------------------------------
   7319 
   7320 /\S*\w/BZ
   7321 ------------------------------------------------------------------
   7322         Bra
   7323         \S*
   7324         \w
   7325         Ket
   7326         End
   7327 ------------------------------------------------------------------
   7328 
   7329 /\S*\W/BZ
   7330 ------------------------------------------------------------------
   7331         Bra
   7332         \S*
   7333         \W
   7334         Ket
   7335         End
   7336 ------------------------------------------------------------------
   7337 
   7338 /\w*a/BZ
   7339 ------------------------------------------------------------------
   7340         Bra
   7341         \w*
   7342         a
   7343         Ket
   7344         End
   7345 ------------------------------------------------------------------
   7346 
   7347 /\w*2/BZ
   7348 ------------------------------------------------------------------
   7349         Bra
   7350         \w*
   7351         2
   7352         Ket
   7353         End
   7354 ------------------------------------------------------------------
   7355 
   7356 /\w*\d/BZ
   7357 ------------------------------------------------------------------
   7358         Bra
   7359         \w*
   7360         \d
   7361         Ket
   7362         End
   7363 ------------------------------------------------------------------
   7364 
   7365 /\w*\D/BZ
   7366 ------------------------------------------------------------------
   7367         Bra
   7368         \w*
   7369         \D
   7370         Ket
   7371         End
   7372 ------------------------------------------------------------------
   7373 
   7374 /\w*\s/BZ
   7375 ------------------------------------------------------------------
   7376         Bra
   7377         \w*+
   7378         \s
   7379         Ket
   7380         End
   7381 ------------------------------------------------------------------
   7382 
   7383 /\w*\S/BZ
   7384 ------------------------------------------------------------------
   7385         Bra
   7386         \w*
   7387         \S
   7388         Ket
   7389         End
   7390 ------------------------------------------------------------------
   7391 
   7392 /\w*\w/BZ
   7393 ------------------------------------------------------------------
   7394         Bra
   7395         \w*
   7396         \w
   7397         Ket
   7398         End
   7399 ------------------------------------------------------------------
   7400 
   7401 /\w*\W/BZ
   7402 ------------------------------------------------------------------
   7403         Bra
   7404         \w*+
   7405         \W
   7406         Ket
   7407         End
   7408 ------------------------------------------------------------------
   7409 
   7410 /\W*a/BZ
   7411 ------------------------------------------------------------------
   7412         Bra
   7413         \W*+
   7414         a
   7415         Ket
   7416         End
   7417 ------------------------------------------------------------------
   7418 
   7419 /\W*2/BZ
   7420 ------------------------------------------------------------------
   7421         Bra
   7422         \W*+
   7423         2
   7424         Ket
   7425         End
   7426 ------------------------------------------------------------------
   7427 
   7428 /\W*\d/BZ
   7429 ------------------------------------------------------------------
   7430         Bra
   7431         \W*+
   7432         \d
   7433         Ket
   7434         End
   7435 ------------------------------------------------------------------
   7436 
   7437 /\W*\D/BZ
   7438 ------------------------------------------------------------------
   7439         Bra
   7440         \W*
   7441         \D
   7442         Ket
   7443         End
   7444 ------------------------------------------------------------------
   7445 
   7446 /\W*\s/BZ
   7447 ------------------------------------------------------------------
   7448         Bra
   7449         \W*
   7450         \s
   7451         Ket
   7452         End
   7453 ------------------------------------------------------------------
   7454 
   7455 /\W*\S/BZ
   7456 ------------------------------------------------------------------
   7457         Bra
   7458         \W*
   7459         \S
   7460         Ket
   7461         End
   7462 ------------------------------------------------------------------
   7463 
   7464 /\W*\w/BZ
   7465 ------------------------------------------------------------------
   7466         Bra
   7467         \W*+
   7468         \w
   7469         Ket
   7470         End
   7471 ------------------------------------------------------------------
   7472 
   7473 /\W*\W/BZ
   7474 ------------------------------------------------------------------
   7475         Bra
   7476         \W*
   7477         \W
   7478         Ket
   7479         End
   7480 ------------------------------------------------------------------
   7481 
   7482 /[^a]+a/BZ
   7483 ------------------------------------------------------------------
   7484         Bra
   7485         [^a]++
   7486         a
   7487         Ket
   7488         End
   7489 ------------------------------------------------------------------
   7490 
   7491 /[^a]+a/BZi
   7492 ------------------------------------------------------------------
   7493         Bra
   7494      /i [^a]++
   7495      /i a
   7496         Ket
   7497         End
   7498 ------------------------------------------------------------------
   7499 
   7500 /[^a]+A/BZi
   7501 ------------------------------------------------------------------
   7502         Bra
   7503      /i [^a]++
   7504      /i A
   7505         Ket
   7506         End
   7507 ------------------------------------------------------------------
   7508 
   7509 /[^a]+b/BZ
   7510 ------------------------------------------------------------------
   7511         Bra
   7512         [^a]+
   7513         b
   7514         Ket
   7515         End
   7516 ------------------------------------------------------------------
   7517 
   7518 /[^a]+\d/BZ
   7519 ------------------------------------------------------------------
   7520         Bra
   7521         [^a]+
   7522         \d
   7523         Ket
   7524         End
   7525 ------------------------------------------------------------------
   7526 
   7527 /a*[^a]/BZ
   7528 ------------------------------------------------------------------
   7529         Bra
   7530         a*+
   7531         [^a]
   7532         Ket
   7533         End
   7534 ------------------------------------------------------------------
   7535 
   7536 /(?P<abc>x)(?P<xyz>y)/I
   7537 Capturing subpattern count = 2
   7538 Named capturing subpatterns:
   7539   abc   1
   7540   xyz   2
   7541 No options
   7542 First char = 'x'
   7543 Need char = 'y'
   7544     xy\Cabc\Cxyz
   7545  0: xy
   7546  1: x
   7547  2: y
   7548   C x (1) abc
   7549   C y (1) xyz
   7550 
   7551 /(?<abc>x)(?'xyz'y)/I
   7552 Capturing subpattern count = 2
   7553 Named capturing subpatterns:
   7554   abc   1
   7555   xyz   2
   7556 No options
   7557 First char = 'x'
   7558 Need char = 'y'
   7559     xy\Cabc\Cxyz
   7560  0: xy
   7561  1: x
   7562  2: y
   7563   C x (1) abc
   7564   C y (1) xyz
   7565 
   7566 /(?<abc'x)(?'xyz'y)/I
   7567 Failed: syntax error in subpattern name (missing terminator) at offset 6
   7568 
   7569 /(?<abc>x)(?'xyz>y)/I
   7570 Failed: syntax error in subpattern name (missing terminator) at offset 15
   7571 
   7572 /(?P'abc'x)(?P<xyz>y)/I
   7573 Failed: unrecognized character after (?P at offset 3
   7574 
   7575 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
   7576     bXaX
   7577  0: bXaX
   7578  1: X
   7579     bXbX
   7580  0: bX
   7581  1: X
   7582     ** Failers
   7583 No match
   7584     aXaX
   7585 No match
   7586     aXbX
   7587 No match
   7588 
   7589 /^(?P>abc)(?<abcd>xxx)/
   7590 Failed: reference to non-existent subpattern at offset 8
   7591 
   7592 /^(?P>abc)(?<abc>x|y)/
   7593     xx
   7594  0: xx
   7595  1: x
   7596     xy
   7597  0: xy
   7598  1: y
   7599     yy
   7600  0: yy
   7601  1: y
   7602     yx
   7603  0: yx
   7604  1: x
   7605 
   7606 /^(?P>abc)(?P<abc>x|y)/
   7607     xx
   7608  0: xx
   7609  1: x
   7610     xy
   7611  0: xy
   7612  1: y
   7613     yy
   7614  0: yy
   7615  1: y
   7616     yx
   7617  0: yx
   7618  1: x
   7619 
   7620 /^((?(abc)a|b)(?<abc>x|y))+/
   7621     bxay
   7622  0: bxay
   7623  1: ay
   7624  2: y
   7625     bxby
   7626  0: bx
   7627  1: bx
   7628  2: x
   7629     ** Failers
   7630 No match
   7631     axby
   7632 No match
   7633 
   7634 /^(((?P=abc)|X)(?<abc>x|y))+/
   7635     XxXxxx
   7636  0: XxXxxx
   7637  1: xx
   7638  2: x
   7639  3: x
   7640     XxXyyx
   7641  0: XxXyyx
   7642  1: yx
   7643  2: y
   7644  3: x
   7645     XxXyxx
   7646  0: XxXy
   7647  1: Xy
   7648  2: X
   7649  3: y
   7650     ** Failers
   7651 No match
   7652     x
   7653 No match
   7654 
   7655 /^(?1)(abc)/
   7656     abcabc
   7657  0: abcabc
   7658  1: abc
   7659 
   7660 /^(?:(?:\1|X)(a|b))+/
   7661     Xaaa
   7662  0: Xaaa
   7663  1: a
   7664     Xaba
   7665  0: Xa
   7666  1: a
   7667 
   7668 /^[\E\Qa\E-\Qz\E]+/BZ
   7669 ------------------------------------------------------------------
   7670         Bra
   7671         ^
   7672         [a-z]++
   7673         Ket
   7674         End
   7675 ------------------------------------------------------------------
   7676 
   7677 /^[a\Q]bc\E]/BZ
   7678 ------------------------------------------------------------------
   7679         Bra
   7680         ^
   7681         [\]a-c]
   7682         Ket
   7683         End
   7684 ------------------------------------------------------------------
   7685 
   7686 /^[a-\Q\E]/BZ
   7687 ------------------------------------------------------------------
   7688         Bra
   7689         ^
   7690         [\-a]
   7691         Ket
   7692         End
   7693 ------------------------------------------------------------------
   7694 
   7695 /^(?P>abc)[()](?<abc>)/BZ
   7696 ------------------------------------------------------------------
   7697         Bra
   7698         ^
   7699         Recurse
   7700         [()]
   7701         CBra 1
   7702         Ket
   7703         Ket
   7704         End
   7705 ------------------------------------------------------------------
   7706 
   7707 /^((?(abc)y)[()](?P<abc>x))+/BZ
   7708 ------------------------------------------------------------------
   7709         Bra
   7710         ^
   7711         CBra 1
   7712         Cond
   7713       2 Cond ref
   7714         y
   7715         Ket
   7716         [()]
   7717         CBra 2
   7718         x
   7719         Ket
   7720         KetRmax
   7721         Ket
   7722         End
   7723 ------------------------------------------------------------------
   7724     (xy)x
   7725  0: (xy)x
   7726  1: y)x
   7727  2: x
   7728 
   7729 /^(?P>abc)\Q()\E(?<abc>)/BZ
   7730 ------------------------------------------------------------------
   7731         Bra
   7732         ^
   7733         Recurse
   7734         ()
   7735         CBra 1
   7736         Ket
   7737         Ket
   7738         End
   7739 ------------------------------------------------------------------
   7740 
   7741 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
   7742 ------------------------------------------------------------------
   7743         Bra
   7744         ^
   7745         Recurse
   7746         [(\]a]
   7747         CBra 1
   7748         Ket
   7749         Ket
   7750         End
   7751 ------------------------------------------------------------------
   7752 
   7753 /^(?P>abc) # this is (a comment)
   7754   (?<abc>)/BZx
   7755 ------------------------------------------------------------------
   7756         Bra
   7757         ^
   7758         Recurse
   7759         CBra 1
   7760         Ket
   7761         Ket
   7762         End
   7763 ------------------------------------------------------------------
   7764 
   7765 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
   7766 Capturing subpattern count = 4
   7767 Max back reference = 4
   7768 Named capturing subpatterns:
   7769   four    4
   7770   one     1
   7771   three   3
   7772   two     2
   7773 May match empty string
   7774 Options: anchored caseless
   7775 No first char
   7776 No need char
   7777     1221
   7778  0: 1221
   7779  1: 1221
   7780  2: 1
   7781     Satan, oscillate my metallic sonatas!
   7782  0: Satan, oscillate my metallic sonatas!
   7783  1: <unset>
   7784  2: <unset>
   7785  3: Satan, oscillate my metallic sonatas
   7786  4: S
   7787     A man, a plan, a canal: Panama!
   7788  0: A man, a plan, a canal: Panama!
   7789  1: <unset>
   7790  2: <unset>
   7791  3: A man, a plan, a canal: Panama
   7792  4: A
   7793     Able was I ere I saw Elba.
   7794  0: Able was I ere I saw Elba.
   7795  1: <unset>
   7796  2: <unset>
   7797  3: Able was I ere I saw Elba
   7798  4: A
   7799     *** Failers
   7800 No match
   7801     The quick brown fox
   7802 No match
   7803 
   7804 /(?=(\w+))\1:/I
   7805 Capturing subpattern count = 1
   7806 Max back reference = 1
   7807 No options
   7808 No first char
   7809 Need char = ':'
   7810     abcd:
   7811  0: abcd:
   7812  1: abcd
   7813 
   7814 /(?=(?'abc'\w+))\k<abc>:/I
   7815 Capturing subpattern count = 1
   7816 Max back reference = 1
   7817 Named capturing subpatterns:
   7818   abc   1
   7819 No options
   7820 No first char
   7821 Need char = ':'
   7822     abcd:
   7823  0: abcd:
   7824  1: abcd
   7825 
   7826 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
   7827     adaa
   7828  0: adaa
   7829  1: a
   7830  2: d
   7831     ** Failers
   7832 No match
   7833     addd
   7834 No match
   7835     adbb
   7836 No match
   7837 
   7838 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
   7839     bdaa
   7840  0: bdaa
   7841  1: b
   7842  2: d
   7843     bdab
   7844  0: bdab
   7845  1: b
   7846  2: d
   7847     ** Failers
   7848 No match
   7849     bddd
   7850 No match
   7851 
   7852 /(?(<bc))/
   7853 Failed: malformed number or name after (?( at offset 6
   7854 
   7855 /(?(''))/
   7856 Failed: assertion expected after (?( at offset 4
   7857 
   7858 /(?('R')stuff)/
   7859 Failed: reference to non-existent subpattern at offset 7
   7860 
   7861 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
   7862     abcabc1Xabc2XabcXabcabc
   7863  0: abcabc1Xabc2XabcX
   7864  1: abcabc1Xabc2XabcX
   7865  2: abcabc1Xabc2XabcX
   7866 
   7867 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   7868     abcabc1Xabc2XabcXabcabc
   7869  0: abcabc1Xabc2XabcX
   7870  1: abcabc1Xabc2XabcX
   7871  2: abcabc1Xabc2XabcX
   7872 
   7873 /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   7874 Failed: reference to non-existent subpattern at offset 29
   7875 
   7876 /^(?(DEFINE) abc | xyz ) /x
   7877 Failed: DEFINE group contains more than one branch at offset 22
   7878 
   7879 /(?(DEFINE) abc) xyz/xI
   7880 Capturing subpattern count = 0
   7881 Options: extended
   7882 First char = 'x'
   7883 Need char = 'z'
   7884 
   7885 /(a|)*\d/
   7886   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   7887 No match
   7888   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
   7889 Matched, but too many substrings
   7890 
   7891 /^a.b/<lf>
   7892     a\rb
   7893  0: a\x0db
   7894     a\nb\<cr>
   7895  0: a\x0ab
   7896     a\x85b\<anycrlf> 
   7897  0: a\x85b
   7898     ** Failers
   7899 No match
   7900     a\nb
   7901 No match
   7902     a\nb\<any>
   7903 No match
   7904     a\rb\<cr>
   7905 No match
   7906     a\rb\<any>
   7907 No match
   7908     a\x85b\<any> 
   7909 No match
   7910     a\rb\<anycrlf>
   7911 No match
   7912 
   7913 /^abc./mgx<any>
   7914     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
   7915  0: abc1
   7916  0: abc2
   7917  0: abc3
   7918  0: abc4
   7919  0: abc5
   7920  0: abc6
   7921  0: abc7
   7922 
   7923 /abc.$/mgx<any>
   7924     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
   7925  0: abc1
   7926  0: abc2
   7927  0: abc3
   7928  0: abc4
   7929  0: abc5
   7930  0: abc6
   7931  0: abc9
   7932 
   7933 /a/<cr><any>
   7934 
   7935 /a/<any><crlf>
   7936 Failed: inconsistent NEWLINE options at offset 0
   7937 
   7938 /^a\Rb/<bsr_unicode>
   7939     a\nb
   7940  0: a\x0ab
   7941     a\rb
   7942  0: a\x0db
   7943     a\r\nb
   7944  0: a\x0d\x0ab
   7945     a\x0bb
   7946  0: a\x0bb
   7947     a\x0cb
   7948  0: a\x0cb
   7949     a\x85b
   7950  0: a\x85b
   7951     ** Failers
   7952 No match
   7953     a\n\rb
   7954 No match
   7955 
   7956 /^a\R*b/<bsr_unicode>
   7957     ab
   7958  0: ab
   7959     a\nb
   7960  0: a\x0ab
   7961     a\rb
   7962  0: a\x0db
   7963     a\r\nb
   7964  0: a\x0d\x0ab
   7965     a\x0bb
   7966  0: a\x0bb
   7967     a\x0cb
   7968  0: a\x0cb
   7969     a\x85b
   7970  0: a\x85b
   7971     a\n\rb
   7972  0: a\x0a\x0db
   7973     a\n\r\x85\x0cb
   7974  0: a\x0a\x0d\x85\x0cb
   7975 
   7976 /^a\R+b/<bsr_unicode>
   7977     a\nb
   7978  0: a\x0ab
   7979     a\rb
   7980  0: a\x0db
   7981     a\r\nb
   7982  0: a\x0d\x0ab
   7983     a\x0bb
   7984  0: a\x0bb
   7985     a\x0cb
   7986  0: a\x0cb
   7987     a\x85b
   7988  0: a\x85b
   7989     a\n\rb
   7990  0: a\x0a\x0db
   7991     a\n\r\x85\x0cb
   7992  0: a\x0a\x0d\x85\x0cb
   7993     ** Failers
   7994 No match
   7995     ab
   7996 No match
   7997 
   7998 /^a\R{1,3}b/<bsr_unicode>
   7999     a\nb
   8000  0: a\x0ab
   8001     a\n\rb
   8002  0: a\x0a\x0db
   8003     a\n\r\x85b
   8004  0: a\x0a\x0d\x85b
   8005     a\r\n\r\nb
   8006  0: a\x0d\x0a\x0d\x0ab
   8007     a\r\n\r\n\r\nb
   8008  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
   8009     a\n\r\n\rb
   8010  0: a\x0a\x0d\x0a\x0db
   8011     a\n\n\r\nb
   8012  0: a\x0a\x0a\x0d\x0ab
   8013     ** Failers
   8014 No match
   8015     a\n\n\n\rb
   8016 No match
   8017     a\r
   8018 No match
   8019 
   8020 /^a[\R]b/<bsr_unicode>
   8021     aRb
   8022  0: aRb
   8023     ** Failers
   8024 No match
   8025     a\nb
   8026 No match
   8027 
   8028 /(?&abc)X(?<abc>P)/I
   8029 Capturing subpattern count = 1
   8030 Named capturing subpatterns:
   8031   abc   1
   8032 No options
   8033 No first char
   8034 Need char = 'P'
   8035     abcPXP123
   8036  0: PXP
   8037  1: P
   8038 
   8039 /(?1)X(?<abc>P)/I
   8040 Capturing subpattern count = 1
   8041 Named capturing subpatterns:
   8042   abc   1
   8043 No options
   8044 No first char
   8045 Need char = 'P'
   8046     abcPXP123
   8047  0: PXP
   8048  1: P
   8049 
   8050 /(?:a(?&abc)b)*(?<abc>x)/
   8051     123axbaxbaxbx456
   8052  0: axbaxbaxbx
   8053  1: x
   8054     123axbaxbaxb456
   8055  0: x
   8056  1: x
   8057 
   8058 /(?:a(?&abc)b){1,5}(?<abc>x)/
   8059     123axbaxbaxbx456
   8060  0: axbaxbaxbx
   8061  1: x
   8062 
   8063 /(?:a(?&abc)b){2,5}(?<abc>x)/
   8064     123axbaxbaxbx456
   8065  0: axbaxbaxbx
   8066  1: x
   8067 
   8068 /(?:a(?&abc)b){2,}(?<abc>x)/
   8069     123axbaxbaxbx456
   8070  0: axbaxbaxbx
   8071  1: x
   8072 
   8073 /(abc)(?i:(?1))/
   8074    defabcabcxyz
   8075  0: abcabc
   8076  1: abc
   8077    DEFabcABCXYZ
   8078 No match
   8079 
   8080 /(abc)(?:(?i)(?1))/
   8081    defabcabcxyz
   8082  0: abcabc
   8083  1: abc
   8084    DEFabcABCXYZ
   8085 No match
   8086 
   8087 /^(a)\g-2/
   8088 Failed: reference to non-existent subpattern at offset 7
   8089 
   8090 /^(a)\g/
   8091 Failed: a numbered reference must not be zero at offset 5
   8092 
   8093 /^(a)\g{0}/
   8094 Failed: a numbered reference must not be zero at offset 8
   8095 
   8096 /^(a)\g{3/
   8097 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
   8098 
   8099 /^(a)\g{aa}/
   8100 Failed: reference to non-existent subpattern at offset 9
   8101 
   8102 /^a.b/<lf>
   8103     a\rb
   8104  0: a\x0db
   8105     *** Failers
   8106 No match
   8107     a\nb
   8108 No match
   8109 
   8110 /.+foo/
   8111     afoo
   8112  0: afoo
   8113     ** Failers
   8114 No match
   8115     \r\nfoo
   8116 No match
   8117     \nfoo
   8118 No match
   8119 
   8120 /.+foo/<crlf>
   8121     afoo
   8122  0: afoo
   8123     \nfoo
   8124  0: \x0afoo
   8125     ** Failers
   8126 No match
   8127     \r\nfoo
   8128 No match
   8129 
   8130 /.+foo/<any>
   8131     afoo
   8132  0: afoo
   8133     ** Failers
   8134 No match
   8135     \nfoo
   8136 No match
   8137     \r\nfoo
   8138 No match
   8139 
   8140 /.+foo/s
   8141     afoo
   8142  0: afoo
   8143     \r\nfoo
   8144  0: \x0d\x0afoo
   8145     \nfoo
   8146  0: \x0afoo
   8147     
   8148 /^$/mg<any>
   8149     abc\r\rxyz
   8150  0: 
   8151     abc\n\rxyz  
   8152  0: 
   8153     ** Failers 
   8154 No match
   8155     abc\r\nxyz
   8156 No match
   8157 
   8158 /(?m)^$/<any>g+
   8159     abc\r\n\r\n
   8160  0: 
   8161  0+ \x0d\x0a
   8162 
   8163 /(?m)^$|^\r\n/<any>g+ 
   8164     abc\r\n\r\n
   8165  0: 
   8166  0+ \x0d\x0a
   8167  0: \x0d\x0a
   8168  0+ 
   8169     
   8170 /(?m)$/<any>g+ 
   8171     abc\r\n\r\n
   8172  0: 
   8173  0+ \x0d\x0a\x0d\x0a
   8174  0: 
   8175  0+ \x0d\x0a
   8176  0: 
   8177  0+ 
   8178 
   8179 /abc.$/mgx<anycrlf>
   8180     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
   8181  0: abc1
   8182  0: abc4
   8183  0: abc5
   8184  0: abc9
   8185 
   8186 /^X/m
   8187     XABC
   8188  0: X
   8189     ** Failers 
   8190 No match
   8191     XABC\B
   8192 No match
   8193 
   8194 /(ab|c)(?-1)/BZ
   8195 ------------------------------------------------------------------
   8196         Bra
   8197         CBra 1
   8198         ab
   8199         Alt
   8200         c
   8201         Ket
   8202         Recurse
   8203         Ket
   8204         End
   8205 ------------------------------------------------------------------
   8206     abc
   8207  0: abc
   8208  1: ab
   8209 
   8210 /xy(?+1)(abc)/BZ
   8211 ------------------------------------------------------------------
   8212         Bra
   8213         xy
   8214         Recurse
   8215         CBra 1
   8216         abc
   8217         Ket
   8218         Ket
   8219         End
   8220 ------------------------------------------------------------------
   8221     xyabcabc
   8222  0: xyabcabc
   8223  1: abc
   8224     ** Failers
   8225 No match
   8226     xyabc  
   8227 No match
   8228     
   8229 /x(?-0)y/
   8230 Failed: a numbered reference must not be zero at offset 5
   8231 
   8232 /x(?-1)y/
   8233 Failed: reference to non-existent subpattern at offset 5
   8234 
   8235 /x(?+0)y/ 
   8236 Failed: a numbered reference must not be zero at offset 5
   8237 
   8238 /x(?+1)y/
   8239 Failed: reference to non-existent subpattern at offset 5
   8240 
   8241 /^(abc)?(?(-1)X|Y)/BZ
   8242 ------------------------------------------------------------------
   8243         Bra
   8244         ^
   8245         Brazero
   8246         CBra 1
   8247         abc
   8248         Ket
   8249         Cond
   8250       1 Cond ref
   8251         X
   8252         Alt
   8253         Y
   8254         Ket
   8255         Ket
   8256         End
   8257 ------------------------------------------------------------------
   8258     abcX
   8259  0: abcX
   8260  1: abc
   8261     Y
   8262  0: Y
   8263     ** Failers
   8264 No match
   8265     abcY   
   8266 No match
   8267     
   8268 /^((?(+1)X|Y)(abc))+/BZ 
   8269 ------------------------------------------------------------------
   8270         Bra
   8271         ^
   8272         CBra 1
   8273         Cond
   8274       2 Cond ref
   8275         X
   8276         Alt
   8277         Y
   8278         Ket
   8279         CBra 2
   8280         abc
   8281         Ket
   8282         KetRmax
   8283         Ket
   8284         End
   8285 ------------------------------------------------------------------
   8286     YabcXabc
   8287  0: YabcXabc
   8288  1: Xabc
   8289  2: abc
   8290     YabcXabcXabc
   8291  0: YabcXabcXabc
   8292  1: Xabc
   8293  2: abc
   8294     ** Failers
   8295 No match
   8296     XabcXabc  
   8297 No match
   8298 
   8299 /(?(-1)a)/BZ
   8300 Failed: reference to non-existent subpattern at offset 6
   8301 
   8302 /((?(-1)a))/BZ
   8303 ------------------------------------------------------------------
   8304         Bra
   8305         CBra 1
   8306         Cond
   8307       1 Cond ref
   8308         a
   8309         Ket
   8310         Ket
   8311         Ket
   8312         End
   8313 ------------------------------------------------------------------
   8314 
   8315 /((?(-2)a))/BZ
   8316 Failed: reference to non-existent subpattern at offset 7
   8317 
   8318 /^(?(+1)X|Y)(.)/BZ
   8319 ------------------------------------------------------------------
   8320         Bra
   8321         ^
   8322         Cond
   8323       1 Cond ref
   8324         X
   8325         Alt
   8326         Y
   8327         Ket
   8328         CBra 1
   8329         Any
   8330         Ket
   8331         Ket
   8332         End
   8333 ------------------------------------------------------------------
   8334     Y!
   8335  0: Y!
   8336  1: !
   8337 
   8338 /(?<A>tom|bon)-\k{A}/
   8339     tom-tom
   8340  0: tom-tom
   8341  1: tom
   8342     bon-bon 
   8343  0: bon-bon
   8344  1: bon
   8345     ** Failers
   8346 No match
   8347     tom-bon  
   8348 No match
   8349 
   8350 /\g{A/ 
   8351 Failed: syntax error in subpattern name (missing terminator) at offset 4
   8352 
   8353 /(?|(abc)|(xyz))/BZ
   8354 ------------------------------------------------------------------
   8355         Bra
   8356         Bra
   8357         CBra 1
   8358         abc
   8359         Ket
   8360         Alt
   8361         CBra 1
   8362         xyz
   8363         Ket
   8364         Ket
   8365         Ket
   8366         End
   8367 ------------------------------------------------------------------
   8368    >abc<
   8369  0: abc
   8370  1: abc
   8371    >xyz< 
   8372  0: xyz
   8373  1: xyz
   8374 
   8375 /(x)(?|(abc)|(xyz))(x)/BZ
   8376 ------------------------------------------------------------------
   8377         Bra
   8378         CBra 1
   8379         x
   8380         Ket
   8381         Bra
   8382         CBra 2
   8383         abc
   8384         Ket
   8385         Alt
   8386         CBra 2
   8387         xyz
   8388         Ket
   8389         Ket
   8390         CBra 3
   8391         x
   8392         Ket
   8393         Ket
   8394         End
   8395 ------------------------------------------------------------------
   8396     xabcx
   8397  0: xabcx
   8398  1: x
   8399  2: abc
   8400  3: x
   8401     xxyzx 
   8402  0: xxyzx
   8403  1: x
   8404  2: xyz
   8405  3: x
   8406 
   8407 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
   8408 ------------------------------------------------------------------
   8409         Bra
   8410         CBra 1
   8411         x
   8412         Ket
   8413         Bra
   8414         CBra 2
   8415         abc
   8416         Ket
   8417         CBra 3
   8418         pqr
   8419         Ket
   8420         Alt
   8421         CBra 2
   8422         xyz
   8423         Ket
   8424         Ket
   8425         CBra 4
   8426         x
   8427         Ket
   8428         Ket
   8429         End
   8430 ------------------------------------------------------------------
   8431     xabcpqrx
   8432  0: xabcpqrx
   8433  1: x
   8434  2: abc
   8435  3: pqr
   8436  4: x
   8437     xxyzx 
   8438  0: xxyzx
   8439  1: x
   8440  2: xyz
   8441  3: <unset>
   8442  4: x
   8443 
   8444 /\H++X/BZ
   8445 ------------------------------------------------------------------
   8446         Bra
   8447         \H++
   8448         X
   8449         Ket
   8450         End
   8451 ------------------------------------------------------------------
   8452     ** Failers
   8453 No match
   8454     XXXX
   8455 No match
   8456     
   8457 /\H+\hY/BZ
   8458 ------------------------------------------------------------------
   8459         Bra
   8460         \H++
   8461         \h
   8462         Y
   8463         Ket
   8464         End
   8465 ------------------------------------------------------------------
   8466     XXXX Y 
   8467  0: XXXX Y
   8468 
   8469 /\H+ Y/BZ
   8470 ------------------------------------------------------------------
   8471         Bra
   8472         \H++
   8473          Y
   8474         Ket
   8475         End
   8476 ------------------------------------------------------------------
   8477 
   8478 /\h+A/BZ
   8479 ------------------------------------------------------------------
   8480         Bra
   8481         \h++
   8482         A
   8483         Ket
   8484         End
   8485 ------------------------------------------------------------------
   8486 
   8487 /\v*B/BZ
   8488 ------------------------------------------------------------------
   8489         Bra
   8490         \v*+
   8491         B
   8492         Ket
   8493         End
   8494 ------------------------------------------------------------------
   8495 
   8496 /\V+\x0a/BZ
   8497 ------------------------------------------------------------------
   8498         Bra
   8499         \V++
   8500         \x0a
   8501         Ket
   8502         End
   8503 ------------------------------------------------------------------
   8504 
   8505 /A+\h/BZ
   8506 ------------------------------------------------------------------
   8507         Bra
   8508         A++
   8509         \h
   8510         Ket
   8511         End
   8512 ------------------------------------------------------------------
   8513 
   8514 / *\H/BZ
   8515 ------------------------------------------------------------------
   8516         Bra
   8517          *+
   8518         \H
   8519         Ket
   8520         End
   8521 ------------------------------------------------------------------
   8522 
   8523 /A*\v/BZ
   8524 ------------------------------------------------------------------
   8525         Bra
   8526         A*+
   8527         \v
   8528         Ket
   8529         End
   8530 ------------------------------------------------------------------
   8531 
   8532 /\x0b*\V/BZ
   8533 ------------------------------------------------------------------
   8534         Bra
   8535         \x0b*+
   8536         \V
   8537         Ket
   8538         End
   8539 ------------------------------------------------------------------
   8540 
   8541 /\d+\h/BZ
   8542 ------------------------------------------------------------------
   8543         Bra
   8544         \d++
   8545         \h
   8546         Ket
   8547         End
   8548 ------------------------------------------------------------------
   8549 
   8550 /\d*\v/BZ
   8551 ------------------------------------------------------------------
   8552         Bra
   8553         \d*+
   8554         \v
   8555         Ket
   8556         End
   8557 ------------------------------------------------------------------
   8558 
   8559 /S+\h\S+\v/BZ
   8560 ------------------------------------------------------------------
   8561         Bra
   8562         S++
   8563         \h
   8564         \S++
   8565         \v
   8566         Ket
   8567         End
   8568 ------------------------------------------------------------------
   8569 
   8570 /\w{3,}\h\w+\v/BZ
   8571 ------------------------------------------------------------------
   8572         Bra
   8573         \w{3}
   8574         \w*+
   8575         \h
   8576         \w++
   8577         \v
   8578         Ket
   8579         End
   8580 ------------------------------------------------------------------
   8581 
   8582 /\h+\d\h+\w\h+\S\h+\H/BZ
   8583 ------------------------------------------------------------------
   8584         Bra
   8585         \h++
   8586         \d
   8587         \h++
   8588         \w
   8589         \h++
   8590         \S
   8591         \h++
   8592         \H
   8593         Ket
   8594         End
   8595 ------------------------------------------------------------------
   8596 
   8597 /\v+\d\v+\w\v+\S\v+\V/BZ
   8598 ------------------------------------------------------------------
   8599         Bra
   8600         \v++
   8601         \d
   8602         \v++
   8603         \w
   8604         \v++
   8605         \S
   8606         \v++
   8607         \V
   8608         Ket
   8609         End
   8610 ------------------------------------------------------------------
   8611 
   8612 /\H+\h\H+\d/BZ
   8613 ------------------------------------------------------------------
   8614         Bra
   8615         \H++
   8616         \h
   8617         \H+
   8618         \d
   8619         Ket
   8620         End
   8621 ------------------------------------------------------------------
   8622 
   8623 /\V+\v\V+\w/BZ
   8624 ------------------------------------------------------------------
   8625         Bra
   8626         \V++
   8627         \v
   8628         \V+
   8629         \w
   8630         Ket
   8631         End
   8632 ------------------------------------------------------------------
   8633 
   8634 /\( (?: [^()]* | (?R) )* \)/x
   8635 \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)
   8636  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
   8637 
   8638 /[\E]AAA/
   8639 Failed: missing terminating ] for character class at offset 7
   8640 
   8641 /[\Q\E]AAA/
   8642 Failed: missing terminating ] for character class at offset 9
   8643 
   8644 /[^\E]AAA/
   8645 Failed: missing terminating ] for character class at offset 8
   8646 
   8647 /[^\Q\E]AAA/
   8648 Failed: missing terminating ] for character class at offset 10
   8649 
   8650 /[\E^]AAA/
   8651 Failed: missing terminating ] for character class at offset 8
   8652 
   8653 /[\Q\E^]AAA/
   8654 Failed: missing terminating ] for character class at offset 10
   8655 
   8656 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
   8657 ------------------------------------------------------------------
   8658         Bra
   8659         A
   8660         *PRUNE
   8661         B
   8662         *SKIP
   8663         C
   8664         *THEN
   8665         D
   8666         *COMMIT
   8667         E
   8668         *FAIL
   8669         F
   8670         *FAIL
   8671         G
   8672         *FAIL
   8673         H
   8674         *ACCEPT
   8675         I
   8676         Ket
   8677         End
   8678 ------------------------------------------------------------------
   8679 
   8680 /^a+(*FAIL)/C
   8681     aaaaaa
   8682 --->aaaaaa
   8683  +0 ^          ^
   8684  +1 ^          a+
   8685  +3 ^     ^    (*FAIL)
   8686  +3 ^    ^     (*FAIL)
   8687  +3 ^   ^      (*FAIL)
   8688  +3 ^  ^       (*FAIL)
   8689  +3 ^ ^        (*FAIL)
   8690  +3 ^^         (*FAIL)
   8691 No match
   8692     
   8693 /a+b?c+(*FAIL)/C
   8694     aaabccc
   8695 --->aaabccc
   8696  +0 ^           a+
   8697  +2 ^  ^        b?
   8698  +4 ^   ^       c+
   8699  +6 ^      ^    (*FAIL)
   8700  +6 ^     ^     (*FAIL)
   8701  +6 ^    ^      (*FAIL)
   8702  +0  ^          a+
   8703  +2  ^ ^        b?
   8704  +4  ^  ^       c+
   8705  +6  ^     ^    (*FAIL)
   8706  +6  ^    ^     (*FAIL)
   8707  +6  ^   ^      (*FAIL)
   8708  +0   ^         a+
   8709  +2   ^^        b?
   8710  +4   ^ ^       c+
   8711  +6   ^    ^    (*FAIL)
   8712  +6   ^   ^     (*FAIL)
   8713  +6   ^  ^      (*FAIL)
   8714 No match
   8715 
   8716 /a+b?(*PRUNE)c+(*FAIL)/C
   8717     aaabccc
   8718 --->aaabccc
   8719  +0 ^           a+
   8720  +2 ^  ^        b?
   8721  +4 ^   ^       (*PRUNE)
   8722 +12 ^   ^       c+
   8723 +14 ^      ^    (*FAIL)
   8724 +14 ^     ^     (*FAIL)
   8725 +14 ^    ^      (*FAIL)
   8726  +0  ^          a+
   8727  +2  ^ ^        b?
   8728  +4  ^  ^       (*PRUNE)
   8729 +12  ^  ^       c+
   8730 +14  ^     ^    (*FAIL)
   8731 +14  ^    ^     (*FAIL)
   8732 +14  ^   ^      (*FAIL)
   8733  +0   ^         a+
   8734  +2   ^^        b?
   8735  +4   ^ ^       (*PRUNE)
   8736 +12   ^ ^       c+
   8737 +14   ^    ^    (*FAIL)
   8738 +14   ^   ^     (*FAIL)
   8739 +14   ^  ^      (*FAIL)
   8740 No match
   8741 
   8742 /a+b?(*COMMIT)c+(*FAIL)/C
   8743     aaabccc
   8744 --->aaabccc
   8745  +0 ^           a+
   8746  +2 ^  ^        b?
   8747  +4 ^   ^       (*COMMIT)
   8748 +13 ^   ^       c+
   8749 +15 ^      ^    (*FAIL)
   8750 +15 ^     ^     (*FAIL)
   8751 +15 ^    ^      (*FAIL)
   8752 No match
   8753     
   8754 /a+b?(*SKIP)c+(*FAIL)/C
   8755     aaabcccaaabccc
   8756 --->aaabcccaaabccc
   8757  +0 ^                  a+
   8758  +2 ^  ^               b?
   8759  +4 ^   ^              (*SKIP)
   8760 +11 ^   ^              c+
   8761 +13 ^      ^           (*FAIL)
   8762 +13 ^     ^            (*FAIL)
   8763 +13 ^    ^             (*FAIL)
   8764  +0        ^           a+
   8765  +2        ^  ^        b?
   8766  +4        ^   ^       (*SKIP)
   8767 +11        ^   ^       c+
   8768 +13        ^      ^    (*FAIL)
   8769 +13        ^     ^     (*FAIL)
   8770 +13        ^    ^      (*FAIL)
   8771 No match
   8772 
   8773 /a+b?(*THEN)c+(*FAIL)/C
   8774     aaabccc
   8775 --->aaabccc
   8776  +0 ^           a+
   8777  +2 ^  ^        b?
   8778  +4 ^   ^       (*THEN)
   8779 +11 ^   ^       c+
   8780 +13 ^      ^    (*FAIL)
   8781 +13 ^     ^     (*FAIL)
   8782 +13 ^    ^      (*FAIL)
   8783  +0  ^          a+
   8784  +2  ^ ^        b?
   8785  +4  ^  ^       (*THEN)
   8786 +11  ^  ^       c+
   8787 +13  ^     ^    (*FAIL)
   8788 +13  ^    ^     (*FAIL)
   8789 +13  ^   ^      (*FAIL)
   8790  +0   ^         a+
   8791  +2   ^^        b?
   8792  +4   ^ ^       (*THEN)
   8793 +11   ^ ^       c+
   8794 +13   ^    ^    (*FAIL)
   8795 +13   ^   ^     (*FAIL)
   8796 +13   ^  ^      (*FAIL)
   8797 No match
   8798     
   8799 /a(*MARK)b/ 
   8800 Failed: (*MARK) must have an argument at offset 7
   8801 
   8802 /(?i:A{1,}\6666666666)/
   8803 Failed: number is too big at offset 19
   8804 
   8805 /\g6666666666/
   8806 Failed: number is too big at offset 11
   8807 
   8808 /[\g6666666666]/BZ
   8809 ------------------------------------------------------------------
   8810         Bra
   8811         [6g]
   8812         Ket
   8813         End
   8814 ------------------------------------------------------------------
   8815 
   8816 /(?1)\c[/
   8817 Failed: reference to non-existent subpattern at offset 3
   8818 
   8819 /.+A/<crlf>
   8820     \r\nA
   8821 No match
   8822     
   8823 /\nA/<crlf>
   8824     \r\nA 
   8825  0: \x0aA
   8826 
   8827 /[\r\n]A/<crlf>
   8828     \r\nA 
   8829  0: \x0aA
   8830 
   8831 /(\r|\n)A/<crlf>
   8832     \r\nA 
   8833  0: \x0aA
   8834  1: \x0a
   8835 
   8836 /a(*CR)b/
   8837 Failed: (*VERB) not recognized or malformed at offset 5
   8838 
   8839 /(*CR)a.b/
   8840     a\nb
   8841  0: a\x0ab
   8842     ** Failers
   8843 No match
   8844     a\rb  
   8845 No match
   8846 
   8847 /(*CR)a.b/<lf>
   8848     a\nb
   8849  0: a\x0ab
   8850     ** Failers
   8851 No match
   8852     a\rb  
   8853 No match
   8854 
   8855 /(*LF)a.b/<CRLF>
   8856     a\rb
   8857  0: a\x0db
   8858     ** Failers
   8859 No match
   8860     a\nb  
   8861 No match
   8862 
   8863 /(*CRLF)a.b/
   8864     a\rb
   8865  0: a\x0db
   8866     a\nb  
   8867  0: a\x0ab
   8868     ** Failers
   8869 No match
   8870     a\r\nb  
   8871 No match
   8872 
   8873 /(*ANYCRLF)a.b/<CR>
   8874     ** Failers
   8875 No match
   8876     a\rb
   8877 No match
   8878     a\nb  
   8879 No match
   8880     a\r\nb  
   8881 No match
   8882 
   8883 /(*ANY)a.b/<cr>
   8884     ** Failers
   8885 No match
   8886     a\rb
   8887 No match
   8888     a\nb  
   8889 No match
   8890     a\r\nb  
   8891 No match
   8892     a\x85b 
   8893 No match
   8894     
   8895 /(*ANY).*/g
   8896     abc\r\ndef
   8897  0: abc
   8898  0: 
   8899  0: def
   8900  0: 
   8901 
   8902 /(*ANYCRLF).*/g
   8903     abc\r\ndef
   8904  0: abc
   8905  0: 
   8906  0: def
   8907  0: 
   8908 
   8909 /(*CRLF).*/g
   8910     abc\r\ndef
   8911  0: abc
   8912  0: 
   8913  0: def
   8914  0: 
   8915 
   8916 /a\Rb/I<bsr_anycrlf>
   8917 Capturing subpattern count = 0
   8918 Options: bsr_anycrlf
   8919 First char = 'a'
   8920 Need char = 'b'
   8921     a\rb
   8922  0: a\x0db
   8923     a\nb
   8924  0: a\x0ab
   8925     a\r\nb
   8926  0: a\x0d\x0ab
   8927     ** Failers
   8928 No match
   8929     a\x85b
   8930 No match
   8931     a\x0bb     
   8932 No match
   8933 
   8934 /a\Rb/I<bsr_unicode>
   8935 Capturing subpattern count = 0
   8936 Options: bsr_unicode
   8937 First char = 'a'
   8938 Need char = 'b'
   8939     a\rb
   8940  0: a\x0db
   8941     a\nb
   8942  0: a\x0ab
   8943     a\r\nb
   8944  0: a\x0d\x0ab
   8945     a\x85b
   8946  0: a\x85b
   8947     a\x0bb     
   8948  0: a\x0bb
   8949     ** Failers 
   8950 No match
   8951     a\x85b\<bsr_anycrlf>
   8952 No match
   8953     a\x0bb\<bsr_anycrlf>
   8954 No match
   8955     
   8956 /a\R?b/I<bsr_anycrlf>
   8957 Capturing subpattern count = 0
   8958 Options: bsr_anycrlf
   8959 First char = 'a'
   8960 Need char = 'b'
   8961     a\rb
   8962  0: a\x0db
   8963     a\nb
   8964  0: a\x0ab
   8965     a\r\nb
   8966  0: a\x0d\x0ab
   8967     ** Failers
   8968 No match
   8969     a\x85b
   8970 No match
   8971     a\x0bb     
   8972 No match
   8973 
   8974 /a\R?b/I<bsr_unicode>
   8975 Capturing subpattern count = 0
   8976 Options: bsr_unicode
   8977 First char = 'a'
   8978 Need char = 'b'
   8979     a\rb
   8980  0: a\x0db
   8981     a\nb
   8982  0: a\x0ab
   8983     a\r\nb
   8984  0: a\x0d\x0ab
   8985     a\x85b
   8986  0: a\x85b
   8987     a\x0bb     
   8988  0: a\x0bb
   8989     ** Failers 
   8990 No match
   8991     a\x85b\<bsr_anycrlf>
   8992 No match
   8993     a\x0bb\<bsr_anycrlf>
   8994 No match
   8995     
   8996 /a\R{2,4}b/I<bsr_anycrlf>
   8997 Capturing subpattern count = 0
   8998 Options: bsr_anycrlf
   8999 First char = 'a'
   9000 Need char = 'b'
   9001     a\r\n\nb
   9002  0: a\x0d\x0a\x0ab
   9003     a\n\r\rb
   9004  0: a\x0a\x0d\x0db
   9005     a\r\n\r\n\r\n\r\nb
   9006  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
   9007     ** Failers
   9008 No match
   9009     a\x85\85b
   9010 No match
   9011     a\x0b\0bb     
   9012 No match
   9013 
   9014 /a\R{2,4}b/I<bsr_unicode>
   9015 Capturing subpattern count = 0
   9016 Options: bsr_unicode
   9017 First char = 'a'
   9018 Need char = 'b'
   9019     a\r\rb
   9020  0: a\x0d\x0db
   9021     a\n\n\nb
   9022  0: a\x0a\x0a\x0ab
   9023     a\r\n\n\r\rb
   9024  0: a\x0d\x0a\x0a\x0d\x0db
   9025     a\x85\85b
   9026 No match
   9027     a\x0b\0bb     
   9028 No match
   9029     ** Failers 
   9030 No match
   9031     a\r\r\r\r\rb 
   9032 No match
   9033     a\x85\85b\<bsr_anycrlf>
   9034 No match
   9035     a\x0b\0bb\<bsr_anycrlf>
   9036 No match
   9037  
   9038 /(*BSR_ANYCRLF)a\Rb/I
   9039 Capturing subpattern count = 0
   9040 Options: bsr_anycrlf
   9041 First char = 'a'
   9042 Need char = 'b'
   9043     a\nb
   9044  0: a\x0ab
   9045     a\rb 
   9046  0: a\x0db
   9047 
   9048 /(*BSR_UNICODE)a\Rb/I
   9049 Capturing subpattern count = 0
   9050 Options: bsr_unicode
   9051 First char = 'a'
   9052 Need char = 'b'
   9053     a\x85b
   9054  0: a\x85b
   9055 
   9056 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
   9057 Capturing subpattern count = 0
   9058 Options: bsr_anycrlf
   9059 Forced newline sequence: CRLF
   9060 First char = 'a'
   9061 Need char = 'b'
   9062     a\nb
   9063  0: a\x0ab
   9064     a\rb 
   9065  0: a\x0db
   9066 
   9067 /(*CRLF)(*BSR_UNICODE)a\Rb/I
   9068 Capturing subpattern count = 0
   9069 Options: bsr_unicode
   9070 Forced newline sequence: CRLF
   9071 First char = 'a'
   9072 Need char = 'b'
   9073     a\x85b
   9074  0: a\x85b
   9075 
   9076 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
   9077 Capturing subpattern count = 0
   9078 Options: bsr_anycrlf
   9079 Forced newline sequence: CR
   9080 First char = 'a'
   9081 Need char = 'b'
   9082 
   9083 /(?<a>)(?&)/
   9084 Failed: subpattern name expected at offset 9
   9085 
   9086 /(?<abc>)(?&a)/
   9087 Failed: reference to non-existent subpattern at offset 12
   9088 
   9089 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
   9090 Failed: reference to non-existent subpattern at offset 32
   9091 
   9092 /(?+-a)/
   9093 Failed: digit expected after (?+ at offset 3
   9094 
   9095 /(?-+a)/
   9096 Failed: unrecognized character after (? or (?- at offset 3
   9097 
   9098 /(?(-1))/
   9099 Failed: reference to non-existent subpattern at offset 6
   9100 
   9101 /(?(+10))/
   9102 Failed: reference to non-existent subpattern at offset 7
   9103 
   9104 /(?(10))/
   9105 Failed: reference to non-existent subpattern at offset 6
   9106 
   9107 /(?(+2))()()/
   9108 
   9109 /(?(2))()()/
   9110 
   9111 /\k''/
   9112 Failed: subpattern name expected at offset 3
   9113 
   9114 /\k<>/
   9115 Failed: subpattern name expected at offset 3
   9116 
   9117 /\k{}/
   9118 Failed: subpattern name expected at offset 3
   9119 
   9120 /\k/
   9121 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
   9122 
   9123 /\kabc/
   9124 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
   9125 
   9126 /(?P=)/
   9127 Failed: subpattern name expected at offset 4
   9128 
   9129 /(?P>)/
   9130 Failed: subpattern name expected at offset 4
   9131 
   9132 /(?!\w)(?R)/
   9133 Failed: recursive call could loop indefinitely at offset 9
   9134 
   9135 /(?=\w)(?R)/
   9136 Failed: recursive call could loop indefinitely at offset 9
   9137 
   9138 /(?<!\w)(?R)/
   9139 Failed: recursive call could loop indefinitely at offset 10
   9140 
   9141 /(?<=\w)(?R)/
   9142 Failed: recursive call could loop indefinitely at offset 10
   9143 
   9144 /[[:foo:]]/
   9145 Failed: unknown POSIX class name at offset 3
   9146 
   9147 /[[:1234:]]/
   9148 Failed: unknown POSIX class name at offset 3
   9149 
   9150 /[[:f\oo:]]/
   9151 Failed: unknown POSIX class name at offset 3
   9152 
   9153 /[[: :]]/
   9154 Failed: unknown POSIX class name at offset 3
   9155 
   9156 /[[:...:]]/
   9157 Failed: unknown POSIX class name at offset 3
   9158 
   9159 /[[:l\ower:]]/
   9160 Failed: unknown POSIX class name at offset 3
   9161 
   9162 /[[:abc\:]]/
   9163 Failed: unknown POSIX class name at offset 3
   9164 
   9165 /[abc[:x\]pqr:]]/
   9166 Failed: unknown POSIX class name at offset 6
   9167 
   9168 /[[:a\dz:]]/
   9169 Failed: unknown POSIX class name at offset 3
   9170 
   9171 /(^(a|b\g<-1'c))/
   9172 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
   9173 
   9174 /^(?+1)(?<a>x|y){0}z/
   9175     xzxx
   9176  0: xz
   9177     yzyy 
   9178  0: yz
   9179     ** Failers
   9180 No match
   9181     xxz  
   9182 No match
   9183 
   9184 /(\3)(\1)(a)/
   9185     cat
   9186 No match
   9187 
   9188 /(\3)(\1)(a)/<JS>
   9189     cat
   9190  0: a
   9191  1: 
   9192  2: 
   9193  3: a
   9194     
   9195 /TA]/
   9196     The ACTA] comes 
   9197  0: TA]
   9198 
   9199 /TA]/<JS>
   9200 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
   9201 
   9202 /(?2)[]a()b](abc)/
   9203 Failed: reference to non-existent subpattern at offset 3
   9204 
   9205 /(?2)[^]a()b](abc)/
   9206 Failed: reference to non-existent subpattern at offset 3
   9207 
   9208 /(?1)[]a()b](abc)/
   9209     abcbabc
   9210  0: abcbabc
   9211  1: abc
   9212     ** Failers 
   9213 No match
   9214     abcXabc
   9215 No match
   9216 
   9217 /(?1)[^]a()b](abc)/
   9218     abcXabc
   9219  0: abcXabc
   9220  1: abc
   9221     ** Failers 
   9222 No match
   9223     abcbabc
   9224 No match
   9225 
   9226 /(?2)[]a()b](abc)(xyz)/
   9227     xyzbabcxyz
   9228  0: xyzbabcxyz
   9229  1: abc
   9230  2: xyz
   9231 
   9232 /(?&N)[]a(?<N>)](?<M>abc)/
   9233 Failed: reference to non-existent subpattern at offset 4
   9234 
   9235 /(?&N)[]a(?<N>)](abc)/
   9236 Failed: reference to non-existent subpattern at offset 4
   9237 
   9238 /a[]b/
   9239 Failed: missing terminating ] for character class at offset 4
   9240 
   9241 /a[^]b/
   9242 Failed: missing terminating ] for character class at offset 5
   9243 
   9244 /a[]b/<JS>
   9245     ** Failers
   9246 No match
   9247     ab
   9248 No match
   9249 
   9250 /a[]+b/<JS>
   9251     ** Failers
   9252 No match
   9253     ab 
   9254 No match
   9255 
   9256 /a[]*+b/<JS>
   9257     ** Failers
   9258 No match
   9259     ab 
   9260 No match
   9261 
   9262 /a[^]b/<JS>
   9263     aXb
   9264  0: aXb
   9265     a\nb 
   9266  0: a\x0ab
   9267     ** Failers
   9268 No match
   9269     ab  
   9270 No match
   9271     
   9272 /a[^]+b/<JS> 
   9273     aXb
   9274  0: aXb
   9275     a\nX\nXb 
   9276  0: a\x0aX\x0aXb
   9277     ** Failers
   9278 No match
   9279     ab  
   9280 No match
   9281 
   9282 /a(?!)b/BZ
   9283 ------------------------------------------------------------------
   9284         Bra
   9285         a
   9286         *FAIL
   9287         b
   9288         Ket
   9289         End
   9290 ------------------------------------------------------------------
   9291 
   9292 /(?!)?a/BZ
   9293 ------------------------------------------------------------------
   9294         Bra
   9295         Brazero
   9296         Assert not
   9297         Ket
   9298         a
   9299         Ket
   9300         End
   9301 ------------------------------------------------------------------
   9302     ab
   9303  0: a
   9304 
   9305 /a(*FAIL)+b/
   9306 Failed: nothing to repeat at offset 8
   9307 
   9308 /(abc|pqr|123){0}[xyz]/SI
   9309 Capturing subpattern count = 1
   9310 No options
   9311 No first char
   9312 No need char
   9313 Subject length lower bound = 1
   9314 Starting chars: x y z 
   9315 
   9316 /(?(?=.*b)b|^)/CI
   9317 Capturing subpattern count = 0
   9318 May match empty string
   9319 Options:
   9320 No first char
   9321 No need char
   9322    adc
   9323 --->adc
   9324  +0 ^       (?(?=.*b)b|^)
   9325  +2 ^       (?=.*b)
   9326  +5 ^       .*
   9327  +7 ^  ^    b
   9328  +7 ^ ^     b
   9329  +7 ^^      b
   9330  +7 ^       b
   9331 +11 ^       ^
   9332 +12 ^       )
   9333 +13 ^       
   9334  0: 
   9335    abc 
   9336 --->abc
   9337  +0 ^       (?(?=.*b)b|^)
   9338  +2 ^       (?=.*b)
   9339  +5 ^       .*
   9340  +7 ^  ^    b
   9341  +7 ^ ^     b
   9342  +7 ^^      b
   9343  +8 ^ ^     )
   9344  +9 ^       b
   9345  +0  ^      (?(?=.*b)b|^)
   9346  +2  ^      (?=.*b)
   9347  +5  ^      .*
   9348  +7  ^ ^    b
   9349  +7  ^^     b
   9350  +7  ^      b
   9351  +8  ^^     )
   9352  +9  ^      b
   9353 +10  ^^     |
   9354 +13  ^^     
   9355  0: b
   9356    
   9357 /(?(?=b).*b|^d)/I
   9358 Capturing subpattern count = 0
   9359 No options
   9360 No first char
   9361 No need char
   9362 
   9363 /(?(?=.*b).*b|^d)/I
   9364 Capturing subpattern count = 0
   9365 No options
   9366 First char at start or follows newline
   9367 No need char
   9368 
   9369 /xyz/C
   9370   xyz 
   9371 --->xyz
   9372  +0 ^       x
   9373  +1 ^^      y
   9374  +2 ^ ^     z
   9375  +3 ^  ^    
   9376  0: xyz
   9377   abcxyz 
   9378 --->abcxyz
   9379  +0    ^       x
   9380  +1    ^^      y
   9381  +2    ^ ^     z
   9382  +3    ^  ^    
   9383  0: xyz
   9384   abcxyz\Y
   9385 --->abcxyz
   9386  +0 ^          x
   9387  +0  ^         x
   9388  +0   ^        x
   9389  +0    ^       x
   9390  +1    ^^      y
   9391  +2    ^ ^     z
   9392  +3    ^  ^    
   9393  0: xyz
   9394   ** Failers 
   9395 No match
   9396   abc
   9397 No match
   9398   abc\Y
   9399 --->abc
   9400  +0 ^       x
   9401  +0  ^      x
   9402  +0   ^     x
   9403  +0    ^    x
   9404 No match
   9405   abcxypqr  
   9406 No match
   9407   abcxypqr\Y  
   9408 --->abcxypqr
   9409  +0 ^            x
   9410  +0  ^           x
   9411  +0   ^          x
   9412  +0    ^         x
   9413  +1    ^^        y
   9414  +2    ^ ^       z
   9415  +0     ^        x
   9416  +0      ^       x
   9417  +0       ^      x
   9418  +0        ^     x
   9419  +0         ^    x
   9420 No match
   9421   
   9422 /(*NO_START_OPT)xyz/C
   9423   abcxyz
   9424 --->abcxyz
   9425 +15 ^          x
   9426 +15  ^         x
   9427 +15   ^        x
   9428 +15    ^       x
   9429 +16    ^^      y
   9430 +17    ^ ^     z
   9431 +18    ^  ^    
   9432  0: xyz
   9433   
   9434 /(*NO_AUTO_POSSESS)a+b/BZ  
   9435 ------------------------------------------------------------------
   9436         Bra
   9437         a+
   9438         b
   9439         Ket
   9440         End
   9441 ------------------------------------------------------------------
   9442 
   9443 /xyz/CY
   9444   abcxyz 
   9445 --->abcxyz
   9446  +0 ^          x
   9447  +0  ^         x
   9448  +0   ^        x
   9449  +0    ^       x
   9450  +1    ^^      y
   9451  +2    ^ ^     z
   9452  +3    ^  ^    
   9453  0: xyz
   9454 
   9455 /^"((?(?=[a])[^"])|b)*"$/C
   9456     "ab"
   9457 --->"ab"
   9458  +0 ^        ^
   9459  +1 ^        "
   9460  +2 ^^       ((?(?=[a])[^"])|b)*
   9461  +3 ^^       (?(?=[a])[^"])
   9462  +5 ^^       (?=[a])
   9463  +8 ^^       [a]
   9464 +11 ^ ^      )
   9465 +12 ^^       [^"]
   9466 +16 ^ ^      )
   9467 +17 ^ ^      |
   9468  +3 ^ ^      (?(?=[a])[^"])
   9469  +5 ^ ^      (?=[a])
   9470  +8 ^ ^      [a]
   9471 +17 ^ ^      |
   9472 +21 ^ ^      "
   9473 +18 ^ ^      b
   9474 +19 ^  ^     )
   9475  +3 ^  ^     (?(?=[a])[^"])
   9476  +5 ^  ^     (?=[a])
   9477  +8 ^  ^     [a]
   9478 +17 ^  ^     |
   9479 +21 ^  ^     "
   9480 +22 ^   ^    $
   9481 +23 ^   ^    
   9482  0: "ab"
   9483  1: 
   9484 
   9485 /^"((?(?=[a])[^"])|b)*"$/
   9486     "ab"
   9487  0: "ab"
   9488  1: 
   9489 
   9490 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
   9491 Failed: reference to non-existent subpattern at offset 5
   9492 
   9493 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
   9494     XYabcdY
   9495  0: XYabcdY
   9496  1: a
   9497  2: b
   9498  3: c
   9499  4: d
   9500  5: Y
   9501  
   9502 /Xa{2,4}b/
   9503     X\P
   9504 Partial match: X
   9505     Xa\P
   9506 Partial match: Xa
   9507     Xaa\P 
   9508 Partial match: Xaa
   9509     Xaaa\P
   9510 Partial match: Xaaa
   9511     Xaaaa\P 
   9512 Partial match: Xaaaa
   9513     
   9514 /Xa{2,4}?b/
   9515     X\P
   9516 Partial match: X
   9517     Xa\P
   9518 Partial match: Xa
   9519     Xaa\P 
   9520 Partial match: Xaa
   9521     Xaaa\P
   9522 Partial match: Xaaa
   9523     Xaaaa\P 
   9524 Partial match: Xaaaa
   9525     
   9526 /Xa{2,4}+b/
   9527     X\P
   9528 Partial match: X
   9529     Xa\P
   9530 Partial match: Xa
   9531     Xaa\P 
   9532 Partial match: Xaa
   9533     Xaaa\P
   9534 Partial match: Xaaa
   9535     Xaaaa\P 
   9536 Partial match: Xaaaa
   9537     
   9538 /X\d{2,4}b/
   9539     X\P
   9540 Partial match: X
   9541     X3\P
   9542 Partial match: X3
   9543     X33\P 
   9544 Partial match: X33
   9545     X333\P
   9546 Partial match: X333
   9547     X3333\P 
   9548 Partial match: X3333
   9549     
   9550 /X\d{2,4}?b/
   9551     X\P
   9552 Partial match: X
   9553     X3\P
   9554 Partial match: X3
   9555     X33\P 
   9556 Partial match: X33
   9557     X333\P
   9558 Partial match: X333
   9559     X3333\P 
   9560 Partial match: X3333
   9561     
   9562 /X\d{2,4}+b/
   9563     X\P
   9564 Partial match: X
   9565     X3\P
   9566 Partial match: X3
   9567     X33\P 
   9568 Partial match: X33
   9569     X333\P
   9570 Partial match: X333
   9571     X3333\P 
   9572 Partial match: X3333
   9573     
   9574 /X\D{2,4}b/
   9575     X\P
   9576 Partial match: X
   9577     Xa\P
   9578 Partial match: Xa
   9579     Xaa\P 
   9580 Partial match: Xaa
   9581     Xaaa\P
   9582 Partial match: Xaaa
   9583     Xaaaa\P 
   9584 Partial match: Xaaaa
   9585     
   9586 /X\D{2,4}?b/
   9587     X\P
   9588 Partial match: X
   9589     Xa\P
   9590 Partial match: Xa
   9591     Xaa\P 
   9592 Partial match: Xaa
   9593     Xaaa\P
   9594 Partial match: Xaaa
   9595     Xaaaa\P 
   9596 Partial match: Xaaaa
   9597     
   9598 /X\D{2,4}+b/
   9599     X\P
   9600 Partial match: X
   9601     Xa\P
   9602 Partial match: Xa
   9603     Xaa\P 
   9604 Partial match: Xaa
   9605     Xaaa\P
   9606 Partial match: Xaaa
   9607     Xaaaa\P 
   9608 Partial match: Xaaaa
   9609     
   9610 /X[abc]{2,4}b/
   9611     X\P
   9612 Partial match: X
   9613     Xa\P
   9614 Partial match: Xa
   9615     Xaa\P 
   9616 Partial match: Xaa
   9617     Xaaa\P
   9618 Partial match: Xaaa
   9619     Xaaaa\P 
   9620 Partial match: Xaaaa
   9621     
   9622 /X[abc]{2,4}?b/
   9623     X\P
   9624 Partial match: X
   9625     Xa\P
   9626 Partial match: Xa
   9627     Xaa\P 
   9628 Partial match: Xaa
   9629     Xaaa\P
   9630 Partial match: Xaaa
   9631     Xaaaa\P 
   9632 Partial match: Xaaaa
   9633     
   9634 /X[abc]{2,4}+b/
   9635     X\P
   9636 Partial match: X
   9637     Xa\P
   9638 Partial match: Xa
   9639     Xaa\P 
   9640 Partial match: Xaa
   9641     Xaaa\P
   9642 Partial match: Xaaa
   9643     Xaaaa\P 
   9644 Partial match: Xaaaa
   9645     
   9646 /X[^a]{2,4}b/
   9647     X\P
   9648 Partial match: X
   9649     Xz\P
   9650 Partial match: Xz
   9651     Xzz\P 
   9652 Partial match: Xzz
   9653     Xzzz\P
   9654 Partial match: Xzzz
   9655     Xzzzz\P 
   9656 Partial match: Xzzzz
   9657     
   9658 /X[^a]{2,4}?b/
   9659     X\P
   9660 Partial match: X
   9661     Xz\P
   9662 Partial match: Xz
   9663     Xzz\P 
   9664 Partial match: Xzz
   9665     Xzzz\P
   9666 Partial match: Xzzz
   9667     Xzzzz\P 
   9668 Partial match: Xzzzz
   9669     
   9670 /X[^a]{2,4}+b/
   9671     X\P
   9672 Partial match: X
   9673     Xz\P
   9674 Partial match: Xz
   9675     Xzz\P 
   9676 Partial match: Xzz
   9677     Xzzz\P
   9678 Partial match: Xzzz
   9679     Xzzzz\P 
   9680 Partial match: Xzzzz
   9681     
   9682 /(Y)X\1{2,4}b/
   9683     YX\P
   9684 Partial match: YX
   9685     YXY\P
   9686 Partial match: YXY
   9687     YXYY\P 
   9688 Partial match: YXYY
   9689     YXYYY\P
   9690 Partial match: YXYYY
   9691     YXYYYY\P 
   9692 Partial match: YXYYYY
   9693     
   9694 /(Y)X\1{2,4}?b/
   9695     YX\P
   9696 Partial match: YX
   9697     YXY\P
   9698 Partial match: YXY
   9699     YXYY\P 
   9700 Partial match: YXYY
   9701     YXYYY\P
   9702 Partial match: YXYYY
   9703     YXYYYY\P 
   9704 Partial match: YXYYYY
   9705     
   9706 /(Y)X\1{2,4}+b/
   9707     YX\P
   9708 Partial match: YX
   9709     YXY\P
   9710 Partial match: YXY
   9711     YXYY\P 
   9712 Partial match: YXYY
   9713     YXYYY\P
   9714 Partial match: YXYYY
   9715     YXYYYY\P 
   9716 Partial match: YXYYYY
   9717     
   9718 /\++\KZ|\d+X|9+Y/
   9719     ++++123999\P
   9720 Partial match: 123999
   9721     ++++123999Y\P
   9722  0: 999Y
   9723     ++++Z1234\P 
   9724  0: Z
   9725 
   9726 /Z(*F)/
   9727     Z\P
   9728 No match
   9729     ZA\P 
   9730 No match
   9731     
   9732 /Z(?!)/
   9733     Z\P 
   9734 No match
   9735     ZA\P 
   9736 No match
   9737 
   9738 /dog(sbody)?/
   9739     dogs\P
   9740  0: dog
   9741     dogs\P\P 
   9742 Partial match: dogs
   9743     
   9744 /dog(sbody)??/
   9745     dogs\P
   9746  0: dog
   9747     dogs\P\P 
   9748  0: dog
   9749 
   9750 /dog|dogsbody/
   9751     dogs\P
   9752  0: dog
   9753     dogs\P\P 
   9754  0: dog
   9755  
   9756 /dogsbody|dog/
   9757     dogs\P
   9758  0: dog
   9759     dogs\P\P 
   9760 Partial match: dogs
   9761 
   9762 /\bthe cat\b/
   9763     the cat\P
   9764  0: the cat
   9765     the cat\P\P
   9766 Partial match: the cat
   9767 
   9768 /abc/
   9769    abc\P
   9770  0: abc
   9771    abc\P\P
   9772  0: abc
   9773    
   9774 /abc\K123/
   9775     xyzabc123pqr
   9776  0: 123
   9777     xyzabc12\P
   9778 Partial match: abc12
   9779     xyzabc12\P\P
   9780 Partial match: abc12
   9781     
   9782 /(?<=abc)123/
   9783     xyzabc123pqr 
   9784  0: 123
   9785     xyzabc12\P
   9786 Partial match at offset 6: abc12
   9787     xyzabc12\P\P
   9788 Partial match at offset 6: abc12
   9789 
   9790 /\babc\b/
   9791     +++abc+++
   9792  0: abc
   9793     +++ab\P
   9794 Partial match at offset 3: +ab
   9795     +++ab\P\P  
   9796 Partial match at offset 3: +ab
   9797 
   9798 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
   9799 ------------------------------------------------------------------
   9800         Bra
   9801         Recurse
   9802         Recurse
   9803         Cond
   9804         Cond def
   9805         CBra 1
   9806         <
   9807         [^m]
   9808         [^>]
   9809         >
   9810         [^<]
   9811         Ket
   9812         CBra 2
   9813         \w*+
   9814         Ket
   9815         Ket
   9816         Ket
   9817         End
   9818 ------------------------------------------------------------------
   9819 
   9820 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
   9821 ------------------------------------------------------------------
   9822         Bra
   9823         Recurse
   9824         Recurse
   9825         Cond
   9826         Cond def
   9827         CBra 1
   9828         <
   9829         [\x00-/:-\xff] (neg)
   9830         [^>]
   9831         >
   9832         [^<]
   9833         Ket
   9834         CBra 2
   9835         \w*+
   9836         Ket
   9837         Ket
   9838         Ket
   9839         End
   9840 ------------------------------------------------------------------
   9841 
   9842 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
   9843 ------------------------------------------------------------------
   9844         Bra
   9845         CBra 1
   9846         ab
   9847         Ket
   9848         CBra 2
   9849         x
   9850         CBra 3
   9851         y
   9852         Ket
   9853         z
   9854         CBra 4
   9855         cd
   9856         Close 4
   9857         Close 2
   9858         *ACCEPT
   9859         Ket
   9860         Ket
   9861         pq
   9862         Ket
   9863         End
   9864 ------------------------------------------------------------------
   9865 
   9866 /abc\K/+
   9867     abcdef
   9868  0: 
   9869  0+ def
   9870     abcdef\N\N
   9871  0: 
   9872  0+ def
   9873     xyzabcdef\N\N
   9874  0: 
   9875  0+ def
   9876     ** Failers
   9877 No match
   9878     abcdef\N 
   9879 No match
   9880     xyzabcdef\N
   9881 No match
   9882     
   9883 /^(?:(?=abc)|abc\K)/+
   9884     abcdef
   9885  0: 
   9886  0+ abcdef
   9887     abcdef\N\N 
   9888  0: 
   9889  0+ def
   9890     ** Failers 
   9891 No match
   9892     abcdef\N 
   9893 No match
   9894 
   9895 /a?b?/+
   9896     xyz
   9897  0: 
   9898  0+ xyz
   9899     xyzabc
   9900  0: 
   9901  0+ xyzabc
   9902     xyzabc\N
   9903  0: ab
   9904  0+ c
   9905     xyzabc\N\N
   9906  0: 
   9907  0+ yzabc
   9908     xyz\N\N    
   9909  0: 
   9910  0+ yz
   9911     ** Failers 
   9912  0: 
   9913  0+ ** Failers
   9914     xyz\N 
   9915 No match
   9916 
   9917 /^a?b?/+
   9918     xyz
   9919  0: 
   9920  0+ xyz
   9921     xyzabc
   9922  0: 
   9923  0+ xyzabc
   9924     ** Failers 
   9925  0: 
   9926  0+ ** Failers
   9927     xyzabc\N
   9928 No match
   9929     xyzabc\N\N
   9930 No match
   9931     xyz\N\N    
   9932 No match
   9933     xyz\N 
   9934 No match
   9935     
   9936 /^(?<name>a|b\g<name>c)/
   9937     aaaa
   9938  0: a
   9939  1: a
   9940     bacxxx
   9941  0: bac
   9942  1: bac
   9943     bbaccxxx 
   9944  0: bbacc
   9945  1: bbacc
   9946     bbbacccxx
   9947  0: bbbaccc
   9948  1: bbbaccc
   9949 
   9950 /^(?<name>a|b\g'name'c)/
   9951     aaaa
   9952  0: a
   9953  1: a
   9954     bacxxx
   9955  0: bac
   9956  1: bac
   9957     bbaccxxx 
   9958  0: bbacc
   9959  1: bbacc
   9960     bbbacccxx
   9961  0: bbbaccc
   9962  1: bbbaccc
   9963 
   9964 /^(a|b\g<1>c)/
   9965     aaaa
   9966  0: a
   9967  1: a
   9968     bacxxx
   9969  0: bac
   9970  1: bac
   9971     bbaccxxx 
   9972  0: bbacc
   9973  1: bbacc
   9974     bbbacccxx
   9975  0: bbbaccc
   9976  1: bbbaccc
   9977 
   9978 /^(a|b\g'1'c)/
   9979     aaaa
   9980  0: a
   9981  1: a
   9982     bacxxx
   9983  0: bac
   9984  1: bac
   9985     bbaccxxx 
   9986  0: bbacc
   9987  1: bbacc
   9988     bbbacccxx
   9989  0: bbbaccc
   9990  1: bbbaccc
   9991 
   9992 /^(a|b\g'-1'c)/
   9993     aaaa
   9994  0: a
   9995  1: a
   9996     bacxxx
   9997  0: bac
   9998  1: bac
   9999     bbaccxxx 
   10000  0: bbacc
   10001  1: bbacc
   10002     bbbacccxx
   10003  0: bbbaccc
   10004  1: bbbaccc
   10005 
   10006 /(^(a|b\g<-1>c))/
   10007     aaaa
   10008  0: a
   10009  1: a
   10010  2: a
   10011     bacxxx
   10012  0: bac
   10013  1: bac
   10014  2: bac
   10015     bbaccxxx 
   10016  0: bbacc
   10017  1: bbacc
   10018  2: bbacc
   10019     bbbacccxx
   10020  0: bbbaccc
   10021  1: bbbaccc
   10022  2: bbbaccc
   10023 
   10024 /(?-i:\g<name>)(?i:(?<name>a))/
   10025     XaaX
   10026  0: aa
   10027  1: a
   10028     XAAX 
   10029  0: AA
   10030  1: A
   10031 
   10032 /(?i:\g<name>)(?-i:(?<name>a))/
   10033     XaaX
   10034  0: aa
   10035  1: a
   10036     ** Failers 
   10037 No match
   10038     XAAX 
   10039 No match
   10040 
   10041 /(?-i:\g<+1>)(?i:(a))/
   10042     XaaX
   10043  0: aa
   10044  1: a
   10045     XAAX 
   10046  0: AA
   10047  1: A
   10048 
   10049 /(?=(?<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>\})\}))\{/
   10050 
   10051 /(?<n>a|b|c)\g<n>*/
   10052    abc
   10053  0: abc
   10054  1: a
   10055    accccbbb 
   10056  0: accccbbb
   10057  1: a
   10058 
   10059 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
   10060     XYabcdY
   10061  0: XYabcdY
   10062  1: a
   10063  2: b
   10064  3: <unset>
   10065  4: <unset>
   10066  5: c
   10067  6: d
   10068  7: Y
   10069 
   10070 /(?<=b(?1)|zzz)(a)/
   10071     xbaax
   10072  0: a
   10073  1: a
   10074     xzzzax 
   10075  0: a
   10076  1: a
   10077 
   10078 /(a)(?<=b\1)/
   10079 Failed: lookbehind assertion is not fixed length at offset 10
   10080 
   10081 /(a)(?<=b+(?1))/
   10082 Failed: lookbehind assertion is not fixed length at offset 13
   10083 
   10084 /(a+)(?<=b(?1))/
   10085 Failed: lookbehind assertion is not fixed length at offset 14
   10086 
   10087 /(a(?<=b(?1)))/
   10088 Failed: lookbehind assertion is not fixed length at offset 13
   10089 
   10090 /(?<=b(?1))xyz/
   10091 Failed: reference to non-existent subpattern at offset 8
   10092 
   10093 /(?<=b(?1))xyz(b+)pqrstuvew/
   10094 Failed: lookbehind assertion is not fixed length at offset 26
   10095 
   10096 /(a|bc)\1/SI
   10097 Capturing subpattern count = 1
   10098 Max back reference = 1
   10099 No options
   10100 No first char
   10101 No need char
   10102 Subject length lower bound = 2
   10103 Starting chars: a b 
   10104 
   10105 /(a|bc)\1{2,3}/SI
   10106 Capturing subpattern count = 1
   10107 Max back reference = 1
   10108 No options
   10109 No first char
   10110 No need char
   10111 Subject length lower bound = 3
   10112 Starting chars: a b 
   10113 
   10114 /(a|bc)(?1)/SI
   10115 Capturing subpattern count = 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|b\1)(a|b\1)/SI
   10123 Capturing subpattern count = 2
   10124 Max back reference = 1
   10125 No options
   10126 No first char
   10127 No need char
   10128 Subject length lower bound = 2
   10129 Starting chars: a b 
   10130 
   10131 /(a|b\1){2}/SI
   10132 Capturing subpattern count = 1
   10133 Max back reference = 1
   10134 No options
   10135 No first char
   10136 No need char
   10137 Subject length lower bound = 2
   10138 Starting chars: a b 
   10139 
   10140 /(a|bbbb\1)(a|bbbb\1)/SI
   10141 Capturing subpattern count = 2
   10142 Max back reference = 1
   10143 No options
   10144 No first char
   10145 No need char
   10146 Subject length lower bound = 2
   10147 Starting chars: a b 
   10148 
   10149 /(a|bbbb\1){2}/SI
   10150 Capturing subpattern count = 1
   10151 Max back reference = 1
   10152 No options
   10153 No first char
   10154 No need char
   10155 Subject length lower bound = 2
   10156 Starting chars: a b 
   10157 
   10158 /^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
   10159 Capturing subpattern count = 1
   10160 Options: anchored
   10161 No first char
   10162 Need char = ':'
   10163 Subject length lower bound = 22
   10164 No starting char list
   10165 
   10166 /<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
   10167 Capturing subpattern count = 11
   10168 Options: caseless dotall
   10169 First char = '<'
   10170 Need char = '>'
   10171 Subject length lower bound = 47
   10172 No starting char list
   10173 
   10174 "(?>.*/)foo"SI
   10175 Capturing subpattern count = 0
   10176 No options
   10177 No first char
   10178 Need char = 'o'
   10179 Subject length lower bound = 4
   10180 No starting char list
   10181 
   10182 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
   10183 Capturing subpattern count = 0
   10184 Options: extended
   10185 No first char
   10186 Need char = '-'
   10187 Subject length lower bound = 8
   10188 No starting char list
   10189 
   10190 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
   10191 Capturing subpattern count = 1
   10192 Options: caseless
   10193 No first char
   10194 No need char
   10195 Subject length lower bound = 1
   10196 Starting chars: A B C a b c 
   10197 
   10198 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
   10199 Capturing subpattern count = 0
   10200 No options
   10201 No first char
   10202 Need char = 'b'
   10203 Subject length lower bound = 41
   10204 Starting chars: c d 
   10205 
   10206 /<a[\s]+href[\s]*=[\s]*          # find <a href=
   10207  ([\"\'])?                       # find single or double quote
   10208  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
   10209                                  # quote, otherwise match up to next space
   10210 /isxSI
   10211 Capturing subpattern count = 3
   10212 Max back reference = 1
   10213 Options: caseless extended dotall
   10214 First char = '<'
   10215 Need char = '='
   10216 Subject length lower bound = 9
   10217 No starting char list
   10218 
   10219 /^(?!:)                       # colon disallowed at start
   10220   (?:                         # start of item
   10221     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
   10222     (?(1)0 | () ) )           # if null previously matched, fail; else null
   10223     :                         # followed by colon
   10224   ){1,7}                      # end item; 1-7 of them required               
   10225   [0-9a-f]{1,4} $             # final hex number at end of string
   10226   (?(1)|.)                    # check that there was an empty component
   10227   /xiIS
   10228 Capturing subpattern count = 1
   10229 Options: anchored caseless extended
   10230 No first char
   10231 Need char = ':'
   10232 Subject length lower bound = 2
   10233 No starting char list
   10234 
   10235 /(?|(?<a>A)|(?<a>B))/I
   10236 Capturing subpattern count = 1
   10237 Named capturing subpatterns:
   10238   a   1
   10239 No options
   10240 No first char
   10241 No need char
   10242     AB\Ca
   10243  0: A
   10244  1: A
   10245   C A (1) a
   10246     BA\Ca
   10247  0: B
   10248  1: B
   10249   C B (1) a
   10250 
   10251 /(?|(?<a>A)|(?<b>B))/ 
   10252 Failed: different names for subpatterns of the same number are not allowed at offset 15
   10253 
   10254 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
   10255     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
   10256     (?('quote')[a-z]+|[0-9]+)/JIx
   10257 Capturing subpattern count = 6
   10258 Named capturing subpatterns:
   10259   apostrophe   2
   10260   apostrophe   5
   10261   quote        1
   10262   quote        4
   10263   realquote    3
   10264   realquote    6
   10265 Options: extended dupnames
   10266 No first char
   10267 No need char
   10268     a"aaaaa
   10269  0: a"aaaaa
   10270  1: "
   10271  2: <unset>
   10272  3: "
   10273     b"aaaaa 
   10274  0: b"aaaaa
   10275  1: <unset>
   10276  2: <unset>
   10277  3: <unset>
   10278  4: "
   10279  5: <unset>
   10280  6: "
   10281     ** Failers 
   10282 No match
   10283     b"11111
   10284 No match
   10285     a"11111 
   10286 No match
   10287     
   10288 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
   10289 ------------------------------------------------------------------
   10290         Bra
   10291         ^
   10292         Bra
   10293         CBra 1
   10294         a
   10295         Ket
   10296         CBra 2
   10297         b
   10298         Ket
   10299         CBra 3
   10300         c
   10301         Ket
   10302         CBra 4
   10303         d
   10304         Ket
   10305         Alt
   10306         CBra 1
   10307         e
   10308         Ket
   10309         Ket
   10310         Cond
   10311         Cond ref <D>2
   10312         X
   10313         Alt
   10314         Y
   10315         Ket
   10316         Ket
   10317         End
   10318 ------------------------------------------------------------------
   10319 Capturing subpattern count = 4
   10320 Named capturing subpatterns:
   10321   D   4
   10322   D   1
   10323 Options: anchored extended dupnames
   10324 No first char
   10325 No need char
   10326     abcdX
   10327  0: abcdX
   10328  1: a
   10329  2: b
   10330  3: c
   10331  4: d
   10332     eX
   10333  0: eX
   10334  1: e
   10335     ** Failers
   10336 No match
   10337     abcdY
   10338 No match
   10339     ey     
   10340 No match
   10341     
   10342 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
   10343 ------------------------------------------------------------------
   10344         Bra
   10345         CBra 1
   10346         a
   10347         Ket
   10348         CBra 2
   10349         b
   10350         Ket
   10351         CBra 3
   10352         c
   10353         Ket
   10354         CBra 4
   10355         d
   10356         Cond
   10357         Cond recurse <A>2
   10358         $
   10359         Alt
   10360         Recurse
   10361         Ket
   10362         Ket
   10363         Ket
   10364         End
   10365 ------------------------------------------------------------------
   10366 Capturing subpattern count = 4
   10367 Named capturing subpatterns:
   10368   A   1
   10369   A   4
   10370 Options: extended dupnames
   10371 First char = 'a'
   10372 Need char = 'd'
   10373     abcdd
   10374  0: abcdd
   10375  1: a
   10376  2: b
   10377  3: c
   10378  4: dd
   10379     ** Failers
   10380 No match
   10381     abcdde  
   10382 No match
   10383 
   10384 /abcd*/
   10385     xxxxabcd\P
   10386  0: abcd
   10387     xxxxabcd\P\P
   10388 Partial match: abcd
   10389 
   10390 /abcd*/i
   10391     xxxxabcd\P
   10392  0: abcd
   10393     xxxxabcd\P\P
   10394 Partial match: abcd
   10395     XXXXABCD\P
   10396  0: ABCD
   10397     XXXXABCD\P\P
   10398 Partial match: ABCD
   10399 
   10400 /abc\d*/
   10401     xxxxabc1\P
   10402  0: abc1
   10403     xxxxabc1\P\P
   10404 Partial match: abc1
   10405 
   10406 /(a)bc\1*/
   10407     xxxxabca\P
   10408  0: abca
   10409  1: a
   10410     xxxxabca\P\P
   10411 Partial match: abca
   10412 
   10413 /abc[de]*/
   10414     xxxxabcde\P
   10415  0: abcde
   10416     xxxxabcde\P\P
   10417 Partial match: abcde
   10418 
   10419 /-- This is not in the Perl-compatible test because Perl seems currently to be
   10420     broken and not behaving as specified in that it *does* bumpalong after
   10421     hitting (*COMMIT). --/
   10422 
   10423 /(?1)(A(*COMMIT)|B)D/
   10424     ABD
   10425  0: ABD
   10426  1: B
   10427     XABD
   10428  0: ABD
   10429  1: B
   10430     BAD
   10431  0: BAD
   10432  1: A
   10433     ABXABD  
   10434  0: ABD
   10435  1: B
   10436     ** Failers 
   10437 No match
   10438     ABX 
   10439 No match
   10440     BAXBAD  
   10441 No match
   10442 
   10443 /(\3)(\1)(a)/<JS>
   10444     cat
   10445  0: a
   10446  1: 
   10447  2: 
   10448  3: a
   10449 
   10450 /(\3)(\1)(a)/SI<JS>
   10451 Capturing subpattern count = 3
   10452 Max back reference = 3
   10453 Options:
   10454 No first char
   10455 Need char = 'a'
   10456 Subject length lower bound = 1
   10457 No starting char list
   10458     cat
   10459  0: a
   10460  1: 
   10461  2: 
   10462  3: a
   10463 
   10464 /(\3)(\1)(a)/SI
   10465 Capturing subpattern count = 3
   10466 Max back reference = 3
   10467 No options
   10468 No first char
   10469 Need char = 'a'
   10470 Subject length lower bound = 3
   10471 No starting char list
   10472     cat
   10473 No match
   10474 
   10475 /i(?(DEFINE)(?<s>a))/SI
   10476 Capturing subpattern count = 1
   10477 Named capturing subpatterns:
   10478   s   1
   10479 No options
   10480 First char = 'i'
   10481 No need char
   10482 Subject length lower bound = 1
   10483 No starting char list
   10484     i
   10485  0: i
   10486     
   10487 /()i(?(1)a)/SI 
   10488 Capturing subpattern count = 1
   10489 No options
   10490 No first char
   10491 Need char = 'i'
   10492 Subject length lower bound = 1
   10493 Starting chars: i 
   10494     ia
   10495  0: ia
   10496  1: 
   10497 
   10498 /(?i)a(?-i)b|c/BZ
   10499 ------------------------------------------------------------------
   10500         Bra
   10501      /i a
   10502         b
   10503         Alt
   10504         c
   10505         Ket
   10506         End
   10507 ------------------------------------------------------------------
   10508     XabX
   10509  0: ab
   10510     XAbX
   10511  0: Ab
   10512     CcC 
   10513  0: c
   10514     ** Failers
   10515 No match
   10516     XABX   
   10517 No match
   10518 
   10519 /(?i)a(?s)b|c/BZ
   10520 ------------------------------------------------------------------
   10521         Bra
   10522      /i ab
   10523         Alt
   10524      /i c
   10525         Ket
   10526         End
   10527 ------------------------------------------------------------------
   10528 
   10529 /(?i)a(?s-i)b|c/BZ
   10530 ------------------------------------------------------------------
   10531         Bra
   10532      /i a
   10533         b
   10534         Alt
   10535         c
   10536         Ket
   10537         End
   10538 ------------------------------------------------------------------
   10539 
   10540 /^(ab(c\1)d|x){2}$/BZ
   10541 ------------------------------------------------------------------
   10542         Bra
   10543         ^
   10544         Once
   10545         CBra 1
   10546         ab
   10547         CBra 2
   10548         c
   10549         \1
   10550         Ket
   10551         d
   10552         Alt
   10553         x
   10554         Ket
   10555         Ket
   10556         Once
   10557         CBra 1
   10558         ab
   10559         CBra 2
   10560         c
   10561         \1
   10562         Ket
   10563         d
   10564         Alt
   10565         x
   10566         Ket
   10567         Ket
   10568         $
   10569         Ket
   10570         End
   10571 ------------------------------------------------------------------
   10572     xabcxd
   10573  0: xabcxd
   10574  1: abcxd
   10575  2: cx
   10576     
   10577 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
   10578 ------------------------------------------------------------------
   10579         Bra
   10580         ^
   10581         Braposzero
   10582         SBraPos
   10583         Recurse
   10584         KetRpos
   10585         Cond
   10586         Cond def
   10587         CBra 1
   10588         Any
   10589         Ket
   10590         Ket
   10591         $
   10592         Ket
   10593         End
   10594 ------------------------------------------------------------------
   10595 
   10596 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
   10597 ------------------------------------------------------------------
   10598         Bra
   10599         ^
   10600         Brazero
   10601         Once
   10602         Recurse
   10603         KetRmax
   10604         Cond
   10605         Cond def
   10606         CBra 1
   10607         Any
   10608         Ket
   10609         Ket
   10610         $
   10611         Ket
   10612         End
   10613 ------------------------------------------------------------------
   10614 
   10615 / -- This one is here because Perl gives the match as "b" rather than "ab". I
   10616      believe this to be a Perl bug. --/  
   10617       
   10618 /(?>a\Kb)z|(ab)/
   10619     ab 
   10620  0: ab
   10621  1: ab
   10622 
   10623 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
   10624 Failed: recursive call could loop indefinitely at offset 31
   10625 
   10626 /abc(*MARK:)pqr/
   10627 Failed: (*MARK) must have an argument at offset 10
   10628 
   10629 /abc(*:)pqr/
   10630 Failed: (*MARK) must have an argument at offset 6
   10631 
   10632 /abc(*FAIL:123)xyz/
   10633 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
   10634 
   10635 /--- This should, and does, fail. In Perl, it does not, which I think is a 
   10636      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
   10637 
   10638 /A(*COMMIT)B/+K
   10639     ACABX
   10640 No match
   10641 
   10642 /--- These should be different, but in Perl they are not, which I think
   10643      is a bug in Perl. ---/
   10644 
   10645 /A(*THEN)B|A(*THEN)C/K
   10646     AC
   10647  0: AC
   10648 
   10649 /A(*PRUNE)B|A(*PRUNE)C/K
   10650     AC
   10651 No match
   10652     
   10653 /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
   10654 though PCRE does. ---/
   10655 
   10656 /^A(*:A)B|^X(*:A)Y/K
   10657     ** Failers
   10658 No match
   10659     XAQQ
   10660 No match, mark = A
   10661     
   10662 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
   10663 optimizations defeat this. So does the PCRE optimization unless we disable it 
   10664 with \Y. ---/
   10665 
   10666 /(*COMMIT)ABC/
   10667     ABCDEFG
   10668  0: ABC
   10669     ** Failers
   10670 No match
   10671     DEFGABC\Y  
   10672 No match
   10673     
   10674 /^(ab (c+(*THEN)cd) | xyz)/x
   10675     abcccd  
   10676 No match
   10677 
   10678 /^(ab (c+(*PRUNE)cd) | xyz)/x
   10679     abcccd  
   10680 No match
   10681 
   10682 /^(ab (c+(*FAIL)cd) | xyz)/x
   10683     abcccd  
   10684 No match
   10685     
   10686 /--- Perl gets some of these wrong ---/ 
   10687 
   10688 /(?>.(*ACCEPT))*?5/
   10689     abcde
   10690  0: a
   10691 
   10692 /(.(*ACCEPT))*?5/
   10693     abcde
   10694  0: a
   10695  1: a
   10696 
   10697 /(.(*ACCEPT))5/
   10698     abcde
   10699  0: a
   10700  1: a
   10701 
   10702 /(.(*ACCEPT))*5/
   10703     abcde
   10704  0: a
   10705  1: a
   10706 
   10707 /A\NB./BZ
   10708 ------------------------------------------------------------------
   10709         Bra
   10710         A
   10711         Any
   10712         B
   10713         Any
   10714         Ket
   10715         End
   10716 ------------------------------------------------------------------
   10717     ACBD
   10718  0: ACBD
   10719     *** Failers
   10720 No match
   10721     A\nB
   10722 No match
   10723     ACB\n   
   10724 No match
   10725 
   10726 /A\NB./sBZ
   10727 ------------------------------------------------------------------
   10728         Bra
   10729         A
   10730         Any
   10731         B
   10732         AllAny
   10733         Ket
   10734         End
   10735 ------------------------------------------------------------------
   10736     ACBD
   10737  0: ACBD
   10738     ACB\n 
   10739  0: ACB\x0a
   10740     *** Failers
   10741 No match
   10742     A\nB  
   10743 No match
   10744   
   10745 /A\NB/<crlf>
   10746     A\nB
   10747  0: A\x0aB
   10748     A\rB
   10749  0: A\x0dB
   10750     ** Failers
   10751 No match
   10752     A\r\nB    
   10753 No match
   10754 
   10755 /\R+b/BZ
   10756 ------------------------------------------------------------------
   10757         Bra
   10758         \R++
   10759         b
   10760         Ket
   10761         End
   10762 ------------------------------------------------------------------
   10763 
   10764 /\R+\n/BZ
   10765 ------------------------------------------------------------------
   10766         Bra
   10767         \R+
   10768         \x0a
   10769         Ket
   10770         End
   10771 ------------------------------------------------------------------
   10772 
   10773 /\R+\d/BZ
   10774 ------------------------------------------------------------------
   10775         Bra
   10776         \R++
   10777         \d
   10778         Ket
   10779         End
   10780 ------------------------------------------------------------------
   10781 
   10782 /\d*\R/BZ
   10783 ------------------------------------------------------------------
   10784         Bra
   10785         \d*+
   10786         \R
   10787         Ket
   10788         End
   10789 ------------------------------------------------------------------
   10790 
   10791 /\s*\R/BZ
   10792 ------------------------------------------------------------------
   10793         Bra
   10794         \s*
   10795         \R
   10796         Ket
   10797         End
   10798 ------------------------------------------------------------------
   10799     \x20\x0a
   10800  0:  \x0a
   10801     \x20\x0d
   10802  0:  \x0d
   10803     \x20\x0d\x0a
   10804  0:  \x0d\x0a
   10805 
   10806 /\S*\R/BZ
   10807 ------------------------------------------------------------------
   10808         Bra
   10809         \S*+
   10810         \R
   10811         Ket
   10812         End
   10813 ------------------------------------------------------------------
   10814     a\x0a
   10815  0: a\x0a
   10816 
   10817 /X\h*\R/BZ
   10818 ------------------------------------------------------------------
   10819         Bra
   10820         X
   10821         \h*+
   10822         \R
   10823         Ket
   10824         End
   10825 ------------------------------------------------------------------
   10826     X\x20\x0a
   10827  0: X \x0a
   10828 
   10829 /X\H*\R/BZ
   10830 ------------------------------------------------------------------
   10831         Bra
   10832         X
   10833         \H*
   10834         \R
   10835         Ket
   10836         End
   10837 ------------------------------------------------------------------
   10838     X\x0d\x0a
   10839  0: X\x0d\x0a
   10840 
   10841 /X\H+\R/BZ
   10842 ------------------------------------------------------------------
   10843         Bra
   10844         X
   10845         \H+
   10846         \R
   10847         Ket
   10848         End
   10849 ------------------------------------------------------------------
   10850     X\x0d\x0a
   10851  0: X\x0d\x0a
   10852 
   10853 /X\H++\R/BZ
   10854 ------------------------------------------------------------------
   10855         Bra
   10856         X
   10857         \H++
   10858         \R
   10859         Ket
   10860         End
   10861 ------------------------------------------------------------------
   10862     X\x0d\x0a
   10863 No match
   10864 
   10865 /(?<=abc)def/
   10866     abc\P\P
   10867 Partial match at offset 3: abc
   10868 
   10869 /abc$/
   10870     abc
   10871  0: abc
   10872     abc\P
   10873  0: abc
   10874     abc\P\P
   10875 Partial match: abc
   10876 
   10877 /abc$/m
   10878     abc
   10879  0: abc
   10880     abc\n
   10881  0: abc
   10882     abc\P\P
   10883 Partial match: abc
   10884     abc\n\P\P 
   10885  0: abc
   10886     abc\P
   10887  0: abc
   10888     abc\n\P
   10889  0: abc
   10890 
   10891 /abc\z/
   10892     abc
   10893  0: abc
   10894     abc\P
   10895  0: abc
   10896     abc\P\P
   10897 Partial match: abc
   10898 
   10899 /abc\Z/
   10900     abc
   10901  0: abc
   10902     abc\P
   10903  0: abc
   10904     abc\P\P
   10905 Partial match: abc
   10906 
   10907 /abc\b/
   10908     abc
   10909  0: abc
   10910     abc\P
   10911  0: abc
   10912     abc\P\P
   10913 Partial match: abc
   10914 
   10915 /abc\B/
   10916     abc
   10917 No match
   10918     abc\P
   10919 Partial match: abc
   10920     abc\P\P
   10921 Partial match: abc
   10922 
   10923 /.+/
   10924     abc\>0
   10925  0: abc
   10926     abc\>1
   10927  0: bc
   10928     abc\>2
   10929  0: c
   10930     abc\>3
   10931 No match
   10932     abc\>4
   10933 Error -24 (bad offset value)
   10934     abc\>-4 
   10935 Error -24 (bad offset value)
   10936 
   10937 /^\c/
   10938 Failed: \c must be followed by an ASCII character at offset 3
   10939 
   10940 /(?P<abn>(?P=abn)xxx)/BZ
   10941 ------------------------------------------------------------------
   10942         Bra
   10943         Once
   10944         CBra 1
   10945         \1
   10946         xxx
   10947         Ket
   10948         Ket
   10949         Ket
   10950         End
   10951 ------------------------------------------------------------------
   10952 
   10953 /(a\1z)/BZ
   10954 ------------------------------------------------------------------
   10955         Bra
   10956         Once
   10957         CBra 1
   10958         a
   10959         \1
   10960         z
   10961         Ket
   10962         Ket
   10963         Ket
   10964         End
   10965 ------------------------------------------------------------------
   10966 
   10967 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
   10968 Failed: syntax error in subpattern name (missing terminator) at offset 29
   10969 
   10970 /(?P<abn>(?P=axn)xxx)/BZ
   10971 Failed: reference to non-existent subpattern at offset 15
   10972 
   10973 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
   10974 ------------------------------------------------------------------
   10975         Bra
   10976         CBra 1
   10977         \2
   10978         xxx
   10979         Ket
   10980         CBra 2
   10981         yy
   10982         Ket
   10983         Ket
   10984         End
   10985 ------------------------------------------------------------------
   10986 
   10987 /-- These tests are here because Perl gets the first one wrong. --/
   10988 
   10989 /(\R*)(.)/s
   10990     \r\n
   10991  0: \x0d
   10992  1: 
   10993  2: \x0d
   10994     \r\r\n\n\r 
   10995  0: \x0d\x0d\x0a\x0a\x0d
   10996  1: \x0d\x0d\x0a\x0a
   10997  2: \x0d
   10998     \r\r\n\n\r\n 
   10999  0: \x0d\x0d\x0a\x0a\x0d
   11000  1: \x0d\x0d\x0a\x0a
   11001  2: \x0d
   11002 
   11003 /(\R)*(.)/s
   11004     \r\n
   11005  0: \x0d
   11006  1: <unset>
   11007  2: \x0d
   11008     \r\r\n\n\r 
   11009  0: \x0d\x0d\x0a\x0a\x0d
   11010  1: \x0a
   11011  2: \x0d
   11012     \r\r\n\n\r\n 
   11013  0: \x0d\x0d\x0a\x0a\x0d
   11014  1: \x0a
   11015  2: \x0d
   11016 
   11017 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
   11018     \r\n
   11019  0: \x0d
   11020  1: 
   11021  2: \x0d
   11022     \r\r\n\n\r 
   11023  0: \x0d\x0d\x0a\x0a\x0d
   11024  1: \x0d\x0d\x0a\x0a
   11025  2: \x0d
   11026     \r\r\n\n\r\n 
   11027  0: \x0d\x0d\x0a\x0a\x0d
   11028  1: \x0d\x0d\x0a\x0a
   11029  2: \x0d
   11030 
   11031 /-- --/
   11032 
   11033 /^abc$/BZ
   11034 ------------------------------------------------------------------
   11035         Bra
   11036         ^
   11037         abc
   11038         $
   11039         Ket
   11040         End
   11041 ------------------------------------------------------------------
   11042 
   11043 /^abc$/BZm
   11044 ------------------------------------------------------------------
   11045         Bra
   11046      /m ^
   11047         abc
   11048      /m $
   11049         Ket
   11050         End
   11051 ------------------------------------------------------------------
   11052 
   11053 /^(a)*+(\w)/S
   11054     aaaaX
   11055  0: aaaaX
   11056  1: a
   11057  2: X
   11058     ** Failers 
   11059 No match
   11060     aaaa
   11061 No match
   11062 
   11063 /^(?:a)*+(\w)/S
   11064     aaaaX
   11065  0: aaaaX
   11066  1: X
   11067     ** Failers 
   11068 No match
   11069     aaaa
   11070 No match
   11071 
   11072 /(a)++1234/SDZ
   11073 ------------------------------------------------------------------
   11074         Bra
   11075         CBraPos 1
   11076         a
   11077         KetRpos
   11078         1234
   11079         Ket
   11080         End
   11081 ------------------------------------------------------------------
   11082 Capturing subpattern count = 1
   11083 No options
   11084 First char = 'a'
   11085 Need char = '4'
   11086 Subject length lower bound = 5
   11087 No starting char list
   11088 
   11089 /([abc])++1234/SI
   11090 Capturing subpattern count = 1
   11091 No options
   11092 No first char
   11093 Need char = '4'
   11094 Subject length lower bound = 5
   11095 Starting chars: a b c 
   11096 
   11097 /(?<=(abc)+)X/
   11098 Failed: lookbehind assertion is not fixed length at offset 10
   11099 
   11100 /(^ab)/I
   11101 Capturing subpattern count = 1
   11102 Options: anchored
   11103 No first char
   11104 No need char
   11105 
   11106 /(^ab)++/I
   11107 Capturing subpattern count = 1
   11108 Options: anchored
   11109 No first char
   11110 No need char
   11111 
   11112 /(^ab|^)+/I
   11113 Capturing subpattern count = 1
   11114 May match empty string
   11115 Options: anchored
   11116 No first char
   11117 No need char
   11118 
   11119 /(^ab|^)++/I
   11120 Capturing subpattern count = 1
   11121 May match empty string
   11122 Options: anchored
   11123 No first char
   11124 No need char
   11125 
   11126 /(?:^ab)/I
   11127 Capturing subpattern count = 0
   11128 Options: anchored
   11129 No first char
   11130 No need char
   11131 
   11132 /(?:^ab)++/I
   11133 Capturing subpattern count = 0
   11134 Options: anchored
   11135 No first char
   11136 No need char
   11137 
   11138 /(?:^ab|^)+/I
   11139 Capturing subpattern count = 0
   11140 May match empty string
   11141 Options: anchored
   11142 No first char
   11143 No need char
   11144 
   11145 /(?:^ab|^)++/I
   11146 Capturing subpattern count = 0
   11147 May match empty string
   11148 Options: anchored
   11149 No first char
   11150 No need char
   11151 
   11152 /(.*ab)/I
   11153 Capturing subpattern count = 1
   11154 No options
   11155 First char at start or follows newline
   11156 Need char = 'b'
   11157 
   11158 /(.*ab)++/I
   11159 Capturing subpattern count = 1
   11160 No options
   11161 First char at start or follows newline
   11162 Need char = 'b'
   11163 
   11164 /(.*ab|.*)+/I
   11165 Capturing subpattern count = 1
   11166 May match empty string
   11167 No options
   11168 First char at start or follows newline
   11169 No need char
   11170 
   11171 /(.*ab|.*)++/I
   11172 Capturing subpattern count = 1
   11173 May match empty string
   11174 No options
   11175 First char at start or follows newline
   11176 No need char
   11177 
   11178 /(?:.*ab)/I
   11179 Capturing subpattern count = 0
   11180 No options
   11181 First char at start or follows newline
   11182 Need char = 'b'
   11183 
   11184 /(?:.*ab)++/I
   11185 Capturing subpattern count = 0
   11186 No options
   11187 First char at start or follows newline
   11188 Need char = 'b'
   11189 
   11190 /(?:.*ab|.*)+/I
   11191 Capturing subpattern count = 0
   11192 May match empty string
   11193 No options
   11194 First char at start or follows newline
   11195 No need char
   11196 
   11197 /(?:.*ab|.*)++/I
   11198 Capturing subpattern count = 0
   11199 May match empty string
   11200 No options
   11201 First char at start or follows newline
   11202 No need char
   11203 
   11204 /(?=a)[bcd]/I
   11205 Capturing subpattern count = 0
   11206 No options
   11207 First char = 'a'
   11208 No need char
   11209 
   11210 /((?=a))[bcd]/I
   11211 Capturing subpattern count = 1
   11212 No options
   11213 First char = 'a'
   11214 No need char
   11215 
   11216 /((?=a))+[bcd]/I
   11217 Capturing subpattern count = 1
   11218 No options
   11219 First char = 'a'
   11220 No need char
   11221 
   11222 /((?=a))++[bcd]/I
   11223 Capturing subpattern count = 1
   11224 No options
   11225 First char = 'a'
   11226 No need char
   11227 
   11228 /(?=a+)[bcd]/iI
   11229 Capturing subpattern count = 0
   11230 Options: caseless
   11231 First char = 'a' (caseless)
   11232 No need char
   11233 
   11234 /(?=a+?)[bcd]/iI
   11235 Capturing subpattern count = 0
   11236 Options: caseless
   11237 First char = 'a' (caseless)
   11238 No need char
   11239 
   11240 /(?=a++)[bcd]/iI
   11241 Capturing subpattern count = 0
   11242 Options: caseless
   11243 First char = 'a' (caseless)
   11244 No need char
   11245 
   11246 /(?=a{3})[bcd]/iI
   11247 Capturing subpattern count = 0
   11248 Options: caseless
   11249 First char = 'a' (caseless)
   11250 Need char = 'a' (caseless)
   11251 
   11252 /(abc)\1+/S
   11253 
   11254 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
   11255 
   11256 /(?1)(?:(b(*ACCEPT))){0}/
   11257     b
   11258  0: b
   11259 
   11260 /(?1)(?:(b(*ACCEPT))){0}c/
   11261     bc
   11262  0: bc
   11263     ** Failers 
   11264 No match
   11265     b 
   11266 No match
   11267 
   11268 /(?1)(?:((*ACCEPT))){0}c/
   11269     c
   11270  0: c
   11271     c\N 
   11272  0: c
   11273 
   11274 /^.*?(?(?=a)a|b(*THEN)c)/
   11275     ba
   11276 No match
   11277 
   11278 /^.*?(?(?=a)a|bc)/
   11279     ba
   11280  0: ba
   11281 
   11282 /^.*?(?(?=a)a(*THEN)b|c)/
   11283     ac
   11284 No match
   11285 
   11286 /^.*?(?(?=a)a(*THEN)b)c/
   11287     ac
   11288 No match
   11289 
   11290 /^.*?(a(*THEN)b)c/
   11291     aabc
   11292 No match
   11293     
   11294 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
   11295     aabc
   11296  0: aabc
   11297 
   11298 /^.*?(a(*THEN)b|z)c/
   11299     aabc
   11300  0: aabc
   11301  1: ab
   11302 
   11303 /^.*?(z|a(*THEN)b)c/
   11304     aabc
   11305  0: aabc
   11306  1: ab
   11307 
   11308 /-- --/
   11309 
   11310 /-- These studied versions are here because they are not Perl-compatible; the
   11311     studying means the mark is not seen. --/
   11312 
   11313 /(*MARK:A)(*SKIP:B)(C|X)/KS
   11314     C
   11315  0: C
   11316  1: C
   11317 MK: A
   11318     D
   11319 No match, mark = A
   11320      
   11321 /(*:A)A+(*SKIP:A)(B|Z)/KS
   11322     AAAC
   11323 No match, mark = A
   11324 
   11325 /-- --/
   11326 
   11327 "(?=a*(*ACCEPT)b)c"
   11328     c
   11329  0: c
   11330     c\N 
   11331  0: c
   11332     
   11333 /(?1)c(?(DEFINE)((*ACCEPT)b))/
   11334     c
   11335  0: c
   11336     c\N  
   11337  0: c
   11338     
   11339 /(?>(*ACCEPT)b)c/
   11340     c
   11341  0: 
   11342     c\N  
   11343 No match
   11344 
   11345 /(?:(?>(a)))+a%/++
   11346     %aa%
   11347  0: aa%
   11348  0+ 
   11349  1: a
   11350  1+ a%
   11351 
   11352 /(a)b|ac/++SS
   11353     ac\O3
   11354  0: ac
   11355  0+ 
   11356     
   11357 /(a)(b)x|abc/++
   11358      abc\O6
   11359  0: abc
   11360  0+ 
   11361 
   11362 /(a)bc|(a)(b)\2/
   11363     \O3abc
   11364 Matched, but too many substrings
   11365  0: abc
   11366     \O4abc 
   11367 Matched, but too many substrings
   11368  0: abc
   11369 
   11370 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
   11371 Capturing subpattern count = 2
   11372 No options
   11373 No first char
   11374 No need char
   11375 Subject length lower bound = 1
   11376 No starting char list
   11377 
   11378 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
   11379 Capturing subpattern count = 2
   11380 No options
   11381 No first char
   11382 No need char
   11383 Subject length lower bound = 3
   11384 Starting chars: a b 
   11385 
   11386 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
   11387 Capturing subpattern count = 2
   11388 No options
   11389 No first char
   11390 No need char
   11391 Subject length lower bound = 4
   11392 Starting chars: a b 
   11393 
   11394 /(abc)(?1)/SI
   11395 Capturing subpattern count = 1
   11396 No options
   11397 First char = 'a'
   11398 Need char = 'c'
   11399 Subject length lower bound = 6
   11400 No starting char list
   11401 
   11402 /^(?>a)++/
   11403     aa\M
   11404 Minimum match() limit = 5
   11405 Minimum match() recursion limit = 2
   11406  0: aa
   11407     aaaaaaaaa\M 
   11408 Minimum match() limit = 12
   11409 Minimum match() recursion limit = 2
   11410  0: aaaaaaaaa
   11411     
   11412 /(a)(?1)++/
   11413     aa\M
   11414 Minimum match() limit = 7
   11415 Minimum match() recursion limit = 4
   11416  0: aa
   11417  1: a
   11418     aaaaaaaaa\M  
   11419 Minimum match() limit = 21
   11420 Minimum match() recursion limit = 4
   11421  0: aaaaaaaaa
   11422  1: a
   11423 
   11424 /(?:(foo)|(bar)|(baz))X/SS=
   11425     bazfooX
   11426  0: fooX
   11427  1: foo
   11428  2: <unset>
   11429  3: <unset>
   11430     foobazbarX
   11431  0: barX
   11432  1: <unset>
   11433  2: bar
   11434  3: <unset>
   11435     barfooX
   11436  0: fooX
   11437  1: foo
   11438  2: <unset>
   11439  3: <unset>
   11440     bazX
   11441  0: bazX
   11442  1: <unset>
   11443  2: <unset>
   11444  3: baz
   11445     foobarbazX    
   11446  0: bazX
   11447  1: <unset>
   11448  2: <unset>
   11449  3: baz
   11450     bazfooX\O0
   11451 Matched, but too many substrings
   11452     bazfooX\O2
   11453 Matched, but too many substrings
   11454  0: fooX
   11455     bazfooX\O4
   11456 Matched, but too many substrings
   11457  0: fooX
   11458  1: <unset>
   11459     bazfooX\O6
   11460 Matched, but too many substrings
   11461  0: fooX
   11462  1: foo
   11463  2: <unset>
   11464     bazfooX\O8
   11465 Matched, but too many substrings
   11466  0: fooX
   11467  1: foo
   11468  2: <unset>
   11469  3: <unset>
   11470     bazfooX\O10
   11471  0: fooX
   11472  1: foo
   11473  2: <unset>
   11474  3: <unset>
   11475 
   11476 /(?=abc){3}abc/BZ
   11477 ------------------------------------------------------------------
   11478         Bra
   11479         Assert
   11480         abc
   11481         Ket
   11482         abc
   11483         Ket
   11484         End
   11485 ------------------------------------------------------------------
   11486 
   11487 /(?=abc)+abc/BZ
   11488 ------------------------------------------------------------------
   11489         Bra
   11490         Assert
   11491         abc
   11492         Ket
   11493         abc
   11494         Ket
   11495         End
   11496 ------------------------------------------------------------------
   11497 
   11498 /(?=abc)++abc/BZ
   11499 ------------------------------------------------------------------
   11500         Bra
   11501         Assert
   11502         abc
   11503         Ket
   11504         abc
   11505         Ket
   11506         End
   11507 ------------------------------------------------------------------
   11508 
   11509 /(?=abc){0}xyz/BZ
   11510 ------------------------------------------------------------------
   11511         Bra
   11512         Skip zero
   11513         Assert
   11514         abc
   11515         Ket
   11516         xyz
   11517         Ket
   11518         End
   11519 ------------------------------------------------------------------
   11520 
   11521 /(?=(a))?./BZ
   11522 ------------------------------------------------------------------
   11523         Bra
   11524         Brazero
   11525         Assert
   11526         CBra 1
   11527         a
   11528         Ket
   11529         Ket
   11530         Any
   11531         Ket
   11532         End
   11533 ------------------------------------------------------------------
   11534 
   11535 /(?=(a))??./BZ
   11536 ------------------------------------------------------------------
   11537         Bra
   11538         Braminzero
   11539         Assert
   11540         CBra 1
   11541         a
   11542         Ket
   11543         Ket
   11544         Any
   11545         Ket
   11546         End
   11547 ------------------------------------------------------------------
   11548 
   11549 /^(?=(a)){0}b(?1)/BZ
   11550 ------------------------------------------------------------------
   11551         Bra
   11552         ^
   11553         Skip zero
   11554         Assert
   11555         CBra 1
   11556         a
   11557         Ket
   11558         Ket
   11559         b
   11560         Recurse
   11561         Ket
   11562         End
   11563 ------------------------------------------------------------------
   11564 
   11565 /(?(DEFINE)(a))?b(?1)/BZ
   11566 ------------------------------------------------------------------
   11567         Bra
   11568         Cond
   11569         Cond def
   11570         CBra 1
   11571         a
   11572         Ket
   11573         Ket
   11574         b
   11575         Recurse
   11576         Ket
   11577         End
   11578 ------------------------------------------------------------------
   11579 
   11580 /^(?=(?1))?[az]([abc])d/BZ
   11581 ------------------------------------------------------------------
   11582         Bra
   11583         ^
   11584         Brazero
   11585         Assert
   11586         Recurse
   11587         Ket
   11588         [az]
   11589         CBra 1
   11590         [a-c]
   11591         Ket
   11592         d
   11593         Ket
   11594         End
   11595 ------------------------------------------------------------------
   11596 
   11597 /^(?!a){0}\w+/BZ
   11598 ------------------------------------------------------------------
   11599         Bra
   11600         ^
   11601         Skip zero
   11602         Assert not
   11603         a
   11604         Ket
   11605         \w++
   11606         Ket
   11607         End
   11608 ------------------------------------------------------------------
   11609 
   11610 /(?<=(abc))?xyz/BZ
   11611 ------------------------------------------------------------------
   11612         Bra
   11613         Brazero
   11614         AssertB
   11615         Reverse
   11616         CBra 1
   11617         abc
   11618         Ket
   11619         Ket
   11620         xyz
   11621         Ket
   11622         End
   11623 ------------------------------------------------------------------
   11624 
   11625 /[:a[:abc]b:]/BZ
   11626 ------------------------------------------------------------------
   11627         Bra
   11628         [:[a-c]
   11629         b:]
   11630         Ket
   11631         End
   11632 ------------------------------------------------------------------
   11633 
   11634 /((?2))((?1))/SS
   11635     abc
   11636 Error -26 (nested recursion at the same subject position)
   11637 
   11638 /((?(R2)a+|(?1)b))/SS
   11639     aaaabcde
   11640 Error -26 (nested recursion at the same subject position)
   11641 
   11642 /(?(R)a*(?1)|((?R))b)/SS
   11643     aaaabcde
   11644 Error -26 (nested recursion at the same subject position)
   11645 
   11646 /(a+|(?R)b)/
   11647 Failed: recursive call could loop indefinitely at offset 7
   11648 
   11649 /^(a(*:A)(d|e(*:B))z|aeq)/C
   11650     adz
   11651 --->adz
   11652  +0 ^       ^
   11653  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
   11654  +2 ^       a
   11655  +3 ^^      (*:A)
   11656  +8 ^^      (d|e(*:B))
   11657 Latest Mark: A
   11658  +9 ^^      d
   11659 +10 ^ ^     |
   11660 +18 ^ ^     z
   11661 +19 ^  ^    |
   11662 +24 ^  ^    
   11663  0: adz
   11664  1: adz
   11665  2: d
   11666     aez
   11667 --->aez
   11668  +0 ^       ^
   11669  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
   11670  +2 ^       a
   11671  +3 ^^      (*:A)
   11672  +8 ^^      (d|e(*:B))
   11673 Latest Mark: A
   11674  +9 ^^      d
   11675 +11 ^^      e
   11676 +12 ^ ^     (*:B)
   11677 +17 ^ ^     )
   11678 Latest Mark: B
   11679 +18 ^ ^     z
   11680 +19 ^  ^    |
   11681 +24 ^  ^    
   11682  0: aez
   11683  1: aez
   11684  2: e
   11685     aeqwerty
   11686 --->aeqwerty
   11687  +0 ^            ^
   11688  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
   11689  +2 ^            a
   11690  +3 ^^           (*:A)
   11691  +8 ^^           (d|e(*:B))
   11692 Latest Mark: A
   11693  +9 ^^           d
   11694 +11 ^^           e
   11695 +12 ^ ^          (*:B)
   11696 +17 ^ ^          )
   11697 Latest Mark: B
   11698 +18 ^ ^          z
   11699 +20 ^            a
   11700 +21 ^^           e
   11701 +22 ^ ^          q
   11702 +23 ^  ^         )
   11703 +24 ^  ^         
   11704  0: aeq
   11705  1: aeq
   11706 
   11707 /.(*F)/
   11708     \P\Pabc
   11709 No match
   11710 
   11711 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
   11712 Capturing subpattern count = 0
   11713 Max lookbehind = 1
   11714 No options
   11715 First char = 't'
   11716 Need char = 't'
   11717 Subject length lower bound = 18
   11718 No starting char list
   11719 
   11720 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
   11721 Capturing subpattern count = 0
   11722 Max lookbehind = 1
   11723 No options
   11724 No first char
   11725 No need char
   11726 Subject length lower bound = 8
   11727 Starting chars: < o t u 
   11728 
   11729 /a(*SKIP)c|b(*ACCEPT)|/+S!I
   11730 Capturing subpattern count = 0
   11731 May match empty string
   11732 No options
   11733 No first char
   11734 No need char
   11735 Subject length lower bound = -1
   11736 No starting char list
   11737     a
   11738  0: 
   11739  0+ 
   11740 
   11741 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
   11742 Capturing subpattern count = 0
   11743 No options
   11744 No first char
   11745 No need char
   11746 Subject length lower bound = -1
   11747 Starting chars: a b x 
   11748     ax
   11749  0: x
   11750 
   11751 'a*(*ACCEPT)b'+
   11752     \N\N
   11753 No match
   11754     abc\N\N
   11755  0: a
   11756  0+ bc
   11757     bbb\N\N 
   11758  0: 
   11759  0+ bb
   11760 
   11761 /(*ACCEPT)a/+I
   11762 Capturing subpattern count = 0
   11763 No options
   11764 No first char
   11765 No need char
   11766     bax
   11767  0: 
   11768  0+ bax
   11769 
   11770 /z(*ACCEPT)a/+I
   11771 Capturing subpattern count = 0
   11772 No options
   11773 First char = 'z'
   11774 No need char
   11775     baxzbx
   11776  0: z
   11777  0+ bx
   11778 
   11779 /a(?:.)*?a/ims                                                                  
   11780     \Mabbbbbbbbbbbbbbbbbbbbba
   11781 Minimum match() limit = 65
   11782 Minimum match() recursion limit = 2
   11783  0: abbbbbbbbbbbbbbbbbbbbba
   11784     
   11785 /a(?:.(*THEN))*?a/ims
   11786     \Mabbbbbbbbbbbbbbbbbbbbba
   11787 Minimum match() limit = 86
   11788 Minimum match() recursion limit = 45
   11789  0: abbbbbbbbbbbbbbbbbbbbba
   11790 
   11791 /a(?:.(*THEN:ABC))*?a/ims
   11792     \Mabbbbbbbbbbbbbbbbbbbbba
   11793 Minimum match() limit = 86
   11794 Minimum match() recursion limit = 45
   11795  0: abbbbbbbbbbbbbbbbbbbbba
   11796 
   11797 /^(?>a+)(?>(z+))\w/BZ
   11798 ------------------------------------------------------------------
   11799         Bra
   11800         ^
   11801         Once_NC
   11802         a++
   11803         Ket
   11804         Once
   11805         CBra 1
   11806         z++
   11807         Ket
   11808         Ket
   11809         \w
   11810         Ket
   11811         End
   11812 ------------------------------------------------------------------
   11813     aaaazzzzb
   11814  0: aaaazzzzb
   11815  1: zzzz
   11816     ** Failers
   11817 No match
   11818     aazz  
   11819 No match
   11820 
   11821 /(.)(\1|a(?2))/
   11822     bab
   11823  0: bab
   11824  1: b
   11825  2: ab
   11826     
   11827 /\1|(.)(?R)\1/
   11828     cbbbc
   11829  0: cbbbc
   11830  1: c
   11831     
   11832 /(.)((?(1)c|a)|a(?2))/
   11833     baa  
   11834 No match
   11835 
   11836 /(?P<abn>(?P=abn)xxx)/BZ
   11837 ------------------------------------------------------------------
   11838         Bra
   11839         Once
   11840         CBra 1
   11841         \1
   11842         xxx
   11843         Ket
   11844         Ket
   11845         Ket
   11846         End
   11847 ------------------------------------------------------------------
   11848 
   11849 /(a\1z)/BZ
   11850 ------------------------------------------------------------------
   11851         Bra
   11852         Once
   11853         CBra 1
   11854         a
   11855         \1
   11856         z
   11857         Ket
   11858         Ket
   11859         Ket
   11860         End
   11861 ------------------------------------------------------------------
   11862 
   11863 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
   11864      \Maabbccddee
   11865 Minimum match() limit = 7
   11866 Minimum match() recursion limit = 2
   11867  0: aabbccddee
   11868 
   11869 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
   11870      \Maabbccddee
   11871 Minimum match() limit = 17
   11872 Minimum match() recursion limit = 16
   11873  0: aabbccddee
   11874  1: aa
   11875  2: bb
   11876  3: cc
   11877  4: dd
   11878  5: ee
   11879 
   11880 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
   11881      \Maabbccddee
   11882 Minimum match() limit = 13
   11883 Minimum match() recursion limit = 10
   11884  0: aabbccddee
   11885  1: aa
   11886  2: cc
   11887  3: ee
   11888 
   11889 /^a\x41z/<JS>
   11890     aAz
   11891  0: aAz
   11892     *** Failers
   11893 No match
   11894     ax41z
   11895 No match
   11896 
   11897 /^a[m\x41]z/<JS>
   11898     aAz
   11899  0: aAz
   11900 
   11901 /^a\x1z/<JS>
   11902     ax1z
   11903  0: ax1z
   11904 
   11905 /^a\u0041z/<JS>
   11906     aAz
   11907  0: aAz
   11908     *** Failers
   11909 No match
   11910     au0041z
   11911 No match
   11912 
   11913 /^a[m\u0041]z/<JS>
   11914     aAz
   11915  0: aAz
   11916 
   11917 /^a\u041z/<JS>
   11918     au041z
   11919  0: au041z
   11920     *** Failers
   11921 No match
   11922     aAz
   11923 No match
   11924 
   11925 /^a\U0041z/<JS>
   11926     aU0041z
   11927  0: aU0041z
   11928     *** Failers
   11929 No match
   11930     aAz
   11931 No match
   11932 
   11933 /(?(?=c)c|d)++Y/BZ
   11934 ------------------------------------------------------------------
   11935         Bra
   11936         BraPos
   11937         Cond
   11938         Assert
   11939         c
   11940         Ket
   11941         c
   11942         Alt
   11943         d
   11944         Ket
   11945         KetRpos
   11946         Y
   11947         Ket
   11948         End
   11949 ------------------------------------------------------------------
   11950 
   11951 /(?(?=c)c|d)*+Y/BZ
   11952 ------------------------------------------------------------------
   11953         Bra
   11954         Braposzero
   11955         BraPos
   11956         Cond
   11957         Assert
   11958         c
   11959         Ket
   11960         c
   11961         Alt
   11962         d
   11963         Ket
   11964         KetRpos
   11965         Y
   11966         Ket
   11967         End
   11968 ------------------------------------------------------------------
   11969 
   11970 /a[\NB]c/
   11971 Failed: \N is not supported in a class at offset 3
   11972 
   11973 /a[B-\Nc]/ 
   11974 Failed: invalid range in character class at offset 5
   11975 
   11976 /a[B\Nc]/ 
   11977 Failed: \N is not supported in a class at offset 4
   11978 
   11979 /(a)(?2){0,1999}?(b)/
   11980 
   11981 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
   11982 
   11983 /--- This test, with something more complicated than individual letters, causes
   11984 different behaviour in Perl. Perhaps it disables some optimization; no tag is
   11985 passed back for the failures, whereas in PCRE there is a tag. ---/
   11986     
   11987 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
   11988     AABC
   11989  0: AB
   11990  1: A
   11991  2: B
   11992 MK: A
   11993     XXYZ 
   11994  0: XXY
   11995  1: <unset>
   11996  2: <unset>
   11997  3: X
   11998  4: X
   11999  5: Y
   12000 MK: B
   12001     ** Failers
   12002 No match
   12003     XAQQ  
   12004 No match, mark = A
   12005     XAQQXZZ  
   12006 No match, mark = A
   12007     AXQQQ 
   12008 No match, mark = A
   12009     AXXQQQ 
   12010 No match, mark = B
   12011 
   12012 /-- Perl doesn't give marks for these, though it does if the alternatives are
   12013 replaced by single letters. --/
   12014     
   12015 /(b|q)(*:m)f|a(*:n)w/K
   12016     aw 
   12017  0: aw
   12018 MK: n
   12019     ** Failers 
   12020 No match, mark = n
   12021     abc
   12022 No match, mark = m
   12023 
   12024 /(q|b)(*:m)f|a(*:n)w/K
   12025     aw 
   12026  0: aw
   12027 MK: n
   12028     ** Failers 
   12029 No match, mark = n
   12030     abc
   12031 No match, mark = m
   12032 
   12033 /-- After a partial match, the behaviour is as for a failure. --/
   12034 
   12035 /^a(*:X)bcde/K
   12036    abc\P
   12037 Partial match, mark=X: abc
   12038    
   12039 /-- These are here because Perl doesn't return a mark, except for the first --/
   12040 
   12041 /(?=(*:x))(q|)/K+
   12042     abc
   12043  0: 
   12044  0+ abc
   12045  1: 
   12046 MK: x
   12047 
   12048 /(?=(*:x))((*:y)q|)/K+
   12049     abc
   12050  0: 
   12051  0+ abc
   12052  1: 
   12053 MK: x
   12054 
   12055 /(?=(*:x))(?:(*:y)q|)/K+
   12056     abc
   12057  0: 
   12058  0+ abc
   12059 MK: x
   12060 
   12061 /(?=(*:x))(?>(*:y)q|)/K+
   12062     abc
   12063  0: 
   12064  0+ abc
   12065 MK: x
   12066 
   12067 /(?=a(*:x))(?!a(*:y)c)/K+
   12068     ab
   12069  0: 
   12070  0+ ab
   12071 MK: x
   12072 
   12073 /(?=a(*:x))(?=a(*:y)c|)/K+
   12074     ab
   12075  0: 
   12076  0+ ab
   12077 MK: x
   12078 
   12079 /(..)\1/
   12080     ab\P
   12081 Partial match: ab
   12082     aba\P
   12083 Partial match: aba
   12084     abab\P
   12085  0: abab
   12086  1: ab
   12087 
   12088 /(..)\1/i
   12089     ab\P
   12090 Partial match: ab
   12091     abA\P
   12092 Partial match: abA
   12093     aBAb\P
   12094  0: aBAb
   12095  1: aB
   12096 
   12097 /(..)\1{2,}/
   12098     ab\P
   12099 Partial match: ab
   12100     aba\P
   12101 Partial match: aba
   12102     abab\P
   12103 Partial match: abab
   12104     ababa\P
   12105 Partial match: ababa
   12106     ababab\P
   12107  0: ababab
   12108  1: ab
   12109     ababab\P\P
   12110 Partial match: ababab
   12111     abababa\P
   12112  0: ababab
   12113  1: ab
   12114     abababa\P\P
   12115 Partial match: abababa
   12116 
   12117 /(..)\1{2,}/i
   12118     ab\P
   12119 Partial match: ab
   12120     aBa\P
   12121 Partial match: aBa
   12122     aBAb\P
   12123 Partial match: aBAb
   12124     AbaBA\P
   12125 Partial match: AbaBA
   12126     abABAb\P
   12127  0: abABAb
   12128  1: ab
   12129     aBAbaB\P\P
   12130 Partial match: aBAbaB
   12131     abABabA\P
   12132  0: abABab
   12133  1: ab
   12134     abaBABa\P\P
   12135 Partial match: abaBABa
   12136 
   12137 /(..)\1{2,}?x/i
   12138     ab\P
   12139 Partial match: ab
   12140     abA\P
   12141 Partial match: abA
   12142     aBAb\P
   12143 Partial match: aBAb
   12144     abaBA\P
   12145 Partial match: abaBA
   12146     abAbaB\P
   12147 Partial match: abAbaB
   12148     abaBabA\P
   12149 Partial match: abaBabA
   12150     abAbABaBx\P
   12151  0: abAbABaBx
   12152  1: ab
   12153 
   12154 /^(..)\1/
   12155     aba\P
   12156 Partial match: aba
   12157 
   12158 /^(..)\1{2,3}x/
   12159     aba\P
   12160 Partial match: aba
   12161     ababa\P
   12162 Partial match: ababa
   12163     ababa\P\P
   12164 Partial match: ababa
   12165     abababx
   12166  0: abababx
   12167  1: ab
   12168     ababababx  
   12169  0: ababababx
   12170  1: ab
   12171 
   12172 /^(..)\1{2,3}?x/
   12173     aba\P
   12174 Partial match: aba
   12175     ababa\P
   12176 Partial match: ababa
   12177     ababa\P\P
   12178 Partial match: ababa
   12179     abababx
   12180  0: abababx
   12181  1: ab
   12182     ababababx  
   12183  0: ababababx
   12184  1: ab
   12185     
   12186 /^(..)(\1{2,3})ab/
   12187     abababab
   12188  0: abababab
   12189  1: ab
   12190  2: abab
   12191 
   12192 /^\R/
   12193     \r\P
   12194  0: \x0d
   12195     \r\P\P
   12196 Partial match: \x0d
   12197     
   12198 /^\R{2,3}x/
   12199     \r\P
   12200 Partial match: \x0d
   12201     \r\P\P
   12202 Partial match: \x0d
   12203     \r\r\P 
   12204 Partial match: \x0d\x0d
   12205     \r\r\P\P
   12206 Partial match: \x0d\x0d
   12207     \r\r\r\P  
   12208 Partial match: \x0d\x0d\x0d
   12209     \r\r\r\P\P
   12210 Partial match: \x0d\x0d\x0d
   12211     \r\rx
   12212  0: \x0d\x0dx
   12213     \r\r\rx    
   12214  0: \x0d\x0d\x0dx
   12215 
   12216 /^\R{2,3}?x/
   12217     \r\P
   12218 Partial match: \x0d
   12219     \r\P\P
   12220 Partial match: \x0d
   12221     \r\r\P 
   12222 Partial match: \x0d\x0d
   12223     \r\r\P\P
   12224 Partial match: \x0d\x0d
   12225     \r\r\r\P  
   12226 Partial match: \x0d\x0d\x0d
   12227     \r\r\r\P\P
   12228 Partial match: \x0d\x0d\x0d
   12229     \r\rx
   12230  0: \x0d\x0dx
   12231     \r\r\rx    
   12232  0: \x0d\x0d\x0dx
   12233     
   12234 /^\R?x/
   12235     \r\P
   12236 Partial match: \x0d
   12237     \r\P\P 
   12238 Partial match: \x0d
   12239     x
   12240  0: x
   12241     \rx  
   12242  0: \x0dx
   12243 
   12244 /^\R+x/
   12245     \r\P
   12246 Partial match: \x0d
   12247     \r\P\P 
   12248 Partial match: \x0d
   12249     \r\n\P
   12250 Partial match: \x0d\x0a
   12251     \r\n\P\P  
   12252 Partial match: \x0d\x0a
   12253     \rx  
   12254  0: \x0dx
   12255 
   12256 /^a$/<CRLF>
   12257     a\r\P
   12258 Partial match: a\x0d
   12259     a\r\P\P 
   12260 Partial match: a\x0d
   12261 
   12262 /^a$/m<CRLF>
   12263     a\r\P
   12264 Partial match: a\x0d
   12265     a\r\P\P 
   12266 Partial match: a\x0d
   12267 
   12268 /^(a$|a\r)/<CRLF>
   12269     a\r\P
   12270  0: a\x0d
   12271  1: a\x0d
   12272     a\r\P\P 
   12273 Partial match: a\x0d
   12274 
   12275 /^(a$|a\r)/m<CRLF>
   12276     a\r\P
   12277  0: a\x0d
   12278  1: a\x0d
   12279     a\r\P\P 
   12280 Partial match: a\x0d
   12281 
   12282 /./<CRLF>
   12283     \r\P
   12284  0: \x0d
   12285     \r\P\P 
   12286 Partial match: \x0d
   12287   
   12288 /.{2,3}/<CRLF>
   12289     \r\P 
   12290 Partial match: \x0d
   12291     \r\P\P
   12292 Partial match: \x0d
   12293     \r\r\P
   12294  0: \x0d\x0d
   12295     \r\r\P\P
   12296 Partial match: \x0d\x0d
   12297     \r\r\r\P
   12298  0: \x0d\x0d\x0d
   12299     \r\r\r\P\P     
   12300 Partial match: \x0d\x0d\x0d
   12301 
   12302 /.{2,3}?/<CRLF>
   12303     \r\P 
   12304 Partial match: \x0d
   12305     \r\P\P
   12306 Partial match: \x0d
   12307     \r\r\P
   12308  0: \x0d\x0d
   12309     \r\r\P\P
   12310 Partial match: \x0d\x0d
   12311     \r\r\r\P
   12312  0: \x0d\x0d
   12313     \r\r\r\P\P     
   12314  0: \x0d\x0d
   12315 
   12316 "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
   12317     ABCDGHI\O03
   12318 Matched, but too many substrings
   12319  0: ABCD
   12320     
   12321 /-- These are all run as real matches in test 1; here we are just checking the
   12322 settings of the anchored and startline bits. --/ 
   12323 
   12324 /(?>.*?a)(?<=ba)/I
   12325 Capturing subpattern count = 0
   12326 Max lookbehind = 2
   12327 No options
   12328 No first char
   12329 Need char = 'a'
   12330 
   12331 /(?:.*?a)(?<=ba)/I
   12332 Capturing subpattern count = 0
   12333 Max lookbehind = 2
   12334 No options
   12335 First char at start or follows newline
   12336 Need char = 'a'
   12337 
   12338 /.*?a(*PRUNE)b/I
   12339 Capturing subpattern count = 0
   12340 No options
   12341 No first char
   12342 Need char = 'b'
   12343 
   12344 /.*?a(*PRUNE)b/sI
   12345 Capturing subpattern count = 0
   12346 Options: dotall
   12347 No first char
   12348 Need char = 'b'
   12349 
   12350 /^a(*PRUNE)b/sI
   12351 Capturing subpattern count = 0
   12352 Options: anchored dotall
   12353 No first char
   12354 No need char
   12355 
   12356 /.*?a(*SKIP)b/I
   12357 Capturing subpattern count = 0
   12358 No options
   12359 No first char
   12360 Need char = 'b'
   12361 
   12362 /(?>.*?a)b/sI
   12363 Capturing subpattern count = 0
   12364 Options: dotall
   12365 No first char
   12366 Need char = 'b'
   12367 
   12368 /(?>.*?a)b/I
   12369 Capturing subpattern count = 0
   12370 No options
   12371 No first char
   12372 Need char = 'b'
   12373 
   12374 /(?>^a)b/sI
   12375 Capturing subpattern count = 0
   12376 Options: anchored dotall
   12377 No first char
   12378 No need char
   12379 
   12380 /(?>.*?)(?<=(abcd)|(wxyz))/I
   12381 Capturing subpattern count = 2
   12382 Max lookbehind = 4
   12383 May match empty string
   12384 No options
   12385 No first char
   12386 No need char
   12387 
   12388 /(?>.*)(?<=(abcd)|(wxyz))/I
   12389 Capturing subpattern count = 2
   12390 Max lookbehind = 4
   12391 May match empty string
   12392 No options
   12393 No first char
   12394 No need char
   12395 
   12396 "(?>.*)foo"I
   12397 Capturing subpattern count = 0
   12398 No options
   12399 No first char
   12400 Need char = 'o'
   12401 
   12402 "(?>.*?)foo"I
   12403 Capturing subpattern count = 0
   12404 No options
   12405 No first char
   12406 Need char = 'o'
   12407 
   12408 /(?>^abc)/mI
   12409 Capturing subpattern count = 0
   12410 Options: multiline
   12411 First char at start or follows newline
   12412 Need char = 'c'
   12413 
   12414 /(?>.*abc)/mI
   12415 Capturing subpattern count = 0
   12416 Options: multiline
   12417 No first char
   12418 Need char = 'c'
   12419 
   12420 /(?:.*abc)/mI
   12421 Capturing subpattern count = 0
   12422 Options: multiline
   12423 First char at start or follows newline
   12424 Need char = 'c'
   12425 
   12426 /-- Check PCRE_STUDY_EXTRA_NEEDED --/
   12427 
   12428 /.?/S-I
   12429 Capturing subpattern count = 0
   12430 May match empty string
   12431 No options
   12432 No first char
   12433 No need char
   12434 Study returned NULL
   12435 
   12436 /.?/S!I
   12437 Capturing subpattern count = 0
   12438 May match empty string
   12439 No options
   12440 No first char
   12441 No need char
   12442 Subject length lower bound = -1
   12443 No starting char list
   12444 
   12445 /(?:(a)+(?C1)bb|aa(?C2)b)/
   12446     aab\C+
   12447 Callout 1: last capture = 1
   12448  0: <unset>
   12449  1: a
   12450 --->aab
   12451     ^ ^     b
   12452 Callout 1: last capture = 1
   12453  0: <unset>
   12454  1: a
   12455 --->aab
   12456     ^^      b
   12457 Callout 2: last capture = -1
   12458  0: <unset>
   12459 --->aab
   12460     ^ ^     b
   12461  0: aab
   12462    
   12463 /(?:(a)++(?C1)bb|aa(?C2)b)/
   12464     aab\C+ 
   12465 Callout 1: last capture = 1
   12466  0: <unset>
   12467  1: a
   12468 --->aab
   12469     ^ ^     b
   12470 Callout 2: last capture = -1
   12471  0: <unset>
   12472 --->aab
   12473     ^ ^     b
   12474  0: aab
   12475     
   12476 /(?:(?>(a))(?C1)bb|aa(?C2)b)/
   12477     aab\C+ 
   12478 Callout 1: last capture = 1
   12479  0: <unset>
   12480  1: a
   12481 --->aab
   12482     ^^      b
   12483 Callout 2: last capture = -1
   12484  0: <unset>
   12485 --->aab
   12486     ^ ^     b
   12487  0: aab
   12488 
   12489 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/                                                
   12490     aab\C+ 
   12491 Callout 1: last capture = -1
   12492  0: <unset>
   12493 --->aab
   12494     ^^      x
   12495 Callout 1: last capture = -1
   12496  0: <unset>
   12497 --->aab
   12498      ^^     x
   12499 Callout 2: last capture = -1
   12500  0: <unset>
   12501 --->aab
   12502      ^ ^    )
   12503  0: ab
   12504 
   12505 /(?1)(?C1)((a)(?C2)){0}/   
   12506     aab\C+ 
   12507 Callout 2: last capture = 2
   12508  0: <unset>
   12509  1: <unset>
   12510  2: a
   12511 --->aab
   12512     ^^      )
   12513 Callout 1: last capture = -1
   12514  0: <unset>
   12515 --->aab
   12516     ^^      ((a)(?C2)){0}
   12517  0: a
   12518 
   12519 /(?:(a)+(?C1)bb|aa(?C2)b)++/
   12520     aab\C+
   12521 Callout 1: last capture = 1
   12522  0: <unset>
   12523  1: a
   12524 --->aab
   12525     ^ ^     b
   12526 Callout 1: last capture = 1
   12527  0: <unset>
   12528  1: a
   12529 --->aab
   12530     ^^      b
   12531 Callout 2: last capture = -1
   12532  0: <unset>
   12533 --->aab
   12534     ^ ^     b
   12535  0: aab
   12536     aab\C+\O2
   12537 Callout 1: last capture = 1
   12538  0: <unset>
   12539 --->aab
   12540     ^ ^     b
   12541 Callout 1: last capture = 1
   12542  0: <unset>
   12543 --->aab
   12544     ^^      b
   12545 Callout 2: last capture = -1
   12546  0: <unset>
   12547 --->aab
   12548     ^ ^     b
   12549  0: aab
   12550 
   12551 /(ab)x|ab/
   12552     ab\O3
   12553  0: ab
   12554     ab\O2 
   12555  0: ab
   12556   
   12557 /(ab)/
   12558     ab\O3
   12559 Matched, but too many substrings
   12560  0: ab
   12561     ab\O2 
   12562 Matched, but too many substrings
   12563  0: ab
   12564     
   12565 /(?<=123)(*MARK:xx)abc/K
   12566     xxxx123a\P\P
   12567 Partial match at offset 7, mark=xx: 123a
   12568     xxxx123a\P
   12569 Partial match at offset 7, mark=xx: 123a
   12570     
   12571 /123\Kabc/
   12572     xxxx123a\P\P
   12573 Partial match: 123a
   12574     xxxx123a\P
   12575 Partial match: 123a
   12576 
   12577 /^(?(?=a)aa|bb)/C
   12578     bb
   12579 --->bb
   12580  +0 ^      ^
   12581  +1 ^      (?(?=a)aa|bb)
   12582  +3 ^      (?=a)
   12583  +6 ^      a
   12584 +11 ^      b
   12585 +12 ^^     b
   12586 +13 ^ ^    )
   12587 +14 ^ ^    
   12588  0: bb
   12589 
   12590 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
   12591     bb
   12592 --->bb
   12593   1 ^      ^
   12594   2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
   12595  99 ^      (?=(?C3)a(?C4))
   12596   3 ^      a
   12597   8 ^      b
   12598   9 ^^     b
   12599  10 ^ ^    )
   12600  11 ^ ^    
   12601  0: bb
   12602 
   12603 /-- Perl seems to have a bug with this one --/
   12604 
   12605 /aaaaa(*COMMIT)(*PRUNE)b|a+c/
   12606     aaaaaac
   12607  0: aaaac
   12608     
   12609 /-- Here are some that Perl treats differently because of the way it handles
   12610 backtracking verbs. --/
   12611 
   12612  /(?!a(*COMMIT)b)ac|ad/
   12613      ac
   12614  0: ac
   12615      ad 
   12616  0: ad
   12617 
   12618 /^(?!a(*THEN)b|ac)../
   12619      ac
   12620 No match
   12621      ad 
   12622  0: ad
   12623 
   12624 /^(?=a(*THEN)b|ac)/
   12625     ac
   12626  0: 
   12627     
   12628 /\A.*?(?:a|b(*THEN)c)/
   12629     ba
   12630  0: ba
   12631 
   12632 /\A.*?(?:a|b(*THEN)c)++/
   12633     ba
   12634  0: ba
   12635 
   12636 /\A.*?(?:a|b(*THEN)c|d)/
   12637     ba
   12638  0: ba
   12639 
   12640 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
   12641     aac 
   12642  0: aac
   12643 
   12644 /\A.*?(a|b(*THEN)c)/
   12645     ba
   12646  0: ba
   12647  1: a
   12648 
   12649 /^(A(*THEN)B|A(*THEN)D)/
   12650     AD           
   12651  0: AD
   12652  1: AD
   12653     
   12654 /(?!b(*THEN)a)bn|bnn/
   12655     bnn
   12656  0: bn
   12657 
   12658 /(?(?=b(*SKIP)a)bn|bnn)/
   12659     bnn
   12660 No match
   12661 
   12662 /(?=b(*THEN)a|)bn|bnn/
   12663     bnn
   12664  0: bn
   12665 
   12666 /-------------------------/ 
   12667 
   12668 /(*LIMIT_MATCH=12bc)abc/
   12669 Failed: (*VERB) not recognized or malformed at offset 7
   12670 
   12671 /(*LIMIT_MATCH=4294967290)abc/
   12672 Failed: (*VERB) not recognized or malformed at offset 7
   12673 
   12674 /(*LIMIT_RECURSION=4294967280)abc/I
   12675 Capturing subpattern count = 0
   12676 Recursion limit = 4294967280
   12677 No options
   12678 First char = 'a'
   12679 Need char = 'c'
   12680 
   12681 /(a+)*zz/
   12682     aaaaaaaaaaaaaz
   12683 No match
   12684     aaaaaaaaaaaaaz\q3000
   12685 Error -8 (match limit exceeded)
   12686 
   12687 /(a+)*zz/S-
   12688     aaaaaaaaaaaaaz\Q10 
   12689 Error -21 (recursion limit exceeded)
   12690 
   12691 /(*LIMIT_MATCH=3000)(a+)*zz/I
   12692 Capturing subpattern count = 1
   12693 Match limit = 3000
   12694 No options
   12695 No first char
   12696 Need char = 'z'
   12697     aaaaaaaaaaaaaz
   12698 Error -8 (match limit exceeded)
   12699     aaaaaaaaaaaaaz\q60000
   12700 Error -8 (match limit exceeded)
   12701 
   12702 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
   12703 Capturing subpattern count = 1
   12704 Match limit = 3000
   12705 No options
   12706 No first char
   12707 Need char = 'z'
   12708     aaaaaaaaaaaaaz
   12709 Error -8 (match limit exceeded)
   12710 
   12711 /(*LIMIT_MATCH=60000)(a+)*zz/I
   12712 Capturing subpattern count = 1
   12713 Match limit = 60000
   12714 No options
   12715 No first char
   12716 Need char = 'z'
   12717     aaaaaaaaaaaaaz
   12718 No match
   12719     aaaaaaaaaaaaaz\q3000
   12720 Error -8 (match limit exceeded)
   12721 
   12722 /(*LIMIT_RECURSION=10)(a+)*zz/IS-
   12723 Capturing subpattern count = 1
   12724 Recursion limit = 10
   12725 No options
   12726 No first char
   12727 Need char = 'z'
   12728 Subject length lower bound = 2
   12729 Starting chars: a z 
   12730     aaaaaaaaaaaaaz
   12731 Error -21 (recursion limit exceeded)
   12732     aaaaaaaaaaaaaz\Q1000
   12733 Error -21 (recursion limit exceeded)
   12734 
   12735 /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
   12736 Capturing subpattern count = 1
   12737 Recursion limit = 10
   12738 No options
   12739 No first char
   12740 Need char = 'z'
   12741 Subject length lower bound = 2
   12742 Starting chars: a z 
   12743     aaaaaaaaaaaaaz
   12744 Error -21 (recursion limit exceeded)
   12745 
   12746 /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
   12747 Capturing subpattern count = 1
   12748 Recursion limit = 1000
   12749 No options
   12750 No first char
   12751 Need char = 'z'
   12752 Subject length lower bound = 2
   12753 Starting chars: a z 
   12754     aaaaaaaaaaaaaz
   12755 No match
   12756     aaaaaaaaaaaaaz\Q10
   12757 Error -21 (recursion limit exceeded)
   12758 
   12759 /-- This test causes a segfault with Perl 5.18.0 --/
   12760 
   12761 /^(?=(a)){0}b(?1)/
   12762     backgammon
   12763  0: ba
   12764 
   12765 /(?|(?<n>f)|(?<n>b))/JI
   12766 Capturing subpattern count = 1
   12767 Named capturing subpatterns:
   12768   n   1
   12769 Options: dupnames
   12770 No first char
   12771 No need char
   12772 
   12773 /(?<a>abc)(?<a>z)\k<a>()/JDZS
   12774 ------------------------------------------------------------------
   12775         Bra
   12776         CBra 1
   12777         abc
   12778         Ket
   12779         CBra 2
   12780         z
   12781         Ket
   12782         \k<a>2
   12783         CBra 3
   12784         Ket
   12785         Ket
   12786         End
   12787 ------------------------------------------------------------------
   12788 Capturing subpattern count = 3
   12789 Max back reference = 2
   12790 Named capturing subpatterns:
   12791   a   1
   12792   a   2
   12793 Options: dupnames
   12794 First char = 'a'
   12795 Need char = 'z'
   12796 Subject length lower bound = 5
   12797 No starting char list
   12798 
   12799 /a*[bcd]/BZ
   12800 ------------------------------------------------------------------
   12801         Bra
   12802         a*+
   12803         [b-d]
   12804         Ket
   12805         End
   12806 ------------------------------------------------------------------
   12807 
   12808 /[bcd]*a/BZ
   12809 ------------------------------------------------------------------
   12810         Bra
   12811         [b-d]*+
   12812         a
   12813         Ket
   12814         End
   12815 ------------------------------------------------------------------
   12816 
   12817 /-- A complete set of tests for auto-possessification of character types --/
   12818 
   12819 /\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
   12820 ------------------------------------------------------------------
   12821         Bra
   12822         \D+
   12823         \D
   12824         \D++
   12825         \d
   12826         \D+
   12827         \S
   12828         \D+
   12829         \s
   12830         \D+
   12831         \W
   12832         \D+
   12833         \w
   12834         \D+
   12835         Any
   12836         \D+
   12837         AllAny
   12838         \D+
   12839         \R
   12840         \D+
   12841         \H
   12842         \D+
   12843         \h
   12844         \D+
   12845         \V
   12846         \D+
   12847         \v
   12848         \D+
   12849         \Z
   12850         \D++
   12851         \z
   12852         \D+
   12853         $
   12854         Ket
   12855         End
   12856 ------------------------------------------------------------------
   12857 
   12858 /\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
   12859 ------------------------------------------------------------------
   12860         Bra
   12861         \d++
   12862         \D
   12863         \d+
   12864         \d
   12865         \d+
   12866         \S
   12867         \d++
   12868         \s
   12869         \d++
   12870         \W
   12871         \d+
   12872         \w
   12873         \d+
   12874         Any
   12875         \d+
   12876         AllAny
   12877         \d++
   12878         \R
   12879         \d+
   12880         \H
   12881         \d++
   12882         \h
   12883         \d+
   12884         \V
   12885         \d++
   12886         \v
   12887         \d++
   12888         \Z
   12889         \d++
   12890         \z
   12891         \d++
   12892         $
   12893         Ket
   12894         End
   12895 ------------------------------------------------------------------
   12896 
   12897 /\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
   12898 ------------------------------------------------------------------
   12899         Bra
   12900         \S+
   12901         \D
   12902         \S+
   12903         \d
   12904         \S+
   12905         \S
   12906         \S++
   12907         \s
   12908         \S+
   12909         \W
   12910         \S+
   12911         \w
   12912         \S+
   12913         Any
   12914         \S+
   12915         AllAny
   12916         \S++
   12917         \R
   12918         \S+
   12919         \H
   12920         \S++
   12921         \h
   12922         \S+
   12923         \V
   12924         \S++
   12925         \v
   12926         \S++
   12927         \Z
   12928         \S++
   12929         \z
   12930         \S++
   12931         $
   12932         Ket
   12933         End
   12934 ------------------------------------------------------------------
   12935 
   12936 /\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
   12937 ------------------------------------------------------------------
   12938         Bra
   12939         \s+
   12940         \D
   12941         \s++
   12942         \d
   12943         \s++
   12944         \S
   12945         \s+
   12946         \s
   12947         \s+
   12948         \W
   12949         \s++
   12950         \w
   12951         \s+
   12952         Any
   12953         \s+
   12954         AllAny
   12955         \s+
   12956         \R
   12957         \s+
   12958         \H
   12959         \s+
   12960         \h
   12961         \s+
   12962         \V
   12963         \s+
   12964         \v
   12965         \s+
   12966         \Z
   12967         \s++
   12968         \z
   12969         \s+
   12970         $
   12971         Ket
   12972         End
   12973 ------------------------------------------------------------------
   12974 
   12975 /\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
   12976 ------------------------------------------------------------------
   12977         Bra
   12978         \W+
   12979         \D
   12980         \W++
   12981         \d
   12982         \W+
   12983         \S
   12984         \W+
   12985         \s
   12986         \W+
   12987         \W
   12988         \W++
   12989         \w
   12990         \W+
   12991         Any
   12992         \W+
   12993         AllAny
   12994         \W+
   12995         \R
   12996         \W+
   12997         \H
   12998         \W+
   12999         \h
   13000         \W+
   13001         \V
   13002         \W+
   13003         \v
   13004         \W+
   13005         \Z
   13006         \W++
   13007         \z
   13008         \W+
   13009         $
   13010         Ket
   13011         End
   13012 ------------------------------------------------------------------
   13013 
   13014 /\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
   13015 ------------------------------------------------------------------
   13016         Bra
   13017         \w+
   13018         \D
   13019         \w+
   13020         \d
   13021         \w+
   13022         \S
   13023         \w++
   13024         \s
   13025         \w++
   13026         \W
   13027         \w+
   13028         \w
   13029         \w+
   13030         Any
   13031         \w+
   13032         AllAny
   13033         \w++
   13034         \R
   13035         \w+
   13036         \H
   13037         \w++
   13038         \h
   13039         \w+
   13040         \V
   13041         \w++
   13042         \v
   13043         \w++
   13044         \Z
   13045         \w++
   13046         \z
   13047         \w++
   13048         $
   13049         Ket
   13050         End
   13051 ------------------------------------------------------------------
   13052 
   13053 /\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
   13054 ------------------------------------------------------------------
   13055         Bra
   13056         AllAny+
   13057         \D
   13058         AllAny+
   13059         \d
   13060         AllAny+
   13061         \S
   13062         AllAny+
   13063         \s
   13064         AllAny+
   13065         \W
   13066         AllAny+
   13067         \w
   13068         AllAny+
   13069         Any
   13070         AllAny+
   13071         AllAny
   13072         AllAny+
   13073         \R
   13074         AllAny+
   13075         \H
   13076         AllAny+
   13077         \h
   13078         AllAny+
   13079         \V
   13080         AllAny+
   13081         \v
   13082         AllAny+
   13083         \Z
   13084         AllAny++
   13085         \z
   13086         AllAny+
   13087         $
   13088         Ket
   13089         End
   13090 ------------------------------------------------------------------
   13091 
   13092 /\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
   13093 ------------------------------------------------------------------
   13094         Bra
   13095         \R+
   13096         \D
   13097         \R++
   13098         \d
   13099         \R+
   13100         \S
   13101         \R++
   13102         \s
   13103         \R+
   13104         \W
   13105         \R++
   13106         \w
   13107         \R++
   13108         Any
   13109         \R+
   13110         AllAny
   13111         \R+
   13112         \R
   13113         \R+
   13114         \H
   13115         \R++
   13116         \h
   13117         \R+
   13118         \V
   13119         \R+
   13120         \v
   13121         \R+
   13122         \Z
   13123         \R++
   13124         \z
   13125         \R+
   13126         $
   13127         Ket
   13128         End
   13129 ------------------------------------------------------------------
   13130 
   13131 /\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
   13132 ------------------------------------------------------------------
   13133         Bra
   13134         \H+
   13135         \D
   13136         \H+
   13137         \d
   13138         \H+
   13139         \S
   13140         \H+
   13141         \s
   13142         \H+
   13143         \W
   13144         \H+
   13145         \w
   13146         \H+
   13147         Any
   13148         \H+
   13149         AllAny
   13150         \H+
   13151         \R
   13152         \H+
   13153         \H
   13154         \H++
   13155         \h
   13156         \H+
   13157         \V
   13158         \H+
   13159         \v
   13160         \H+
   13161         \Z
   13162         \H++
   13163         \z
   13164         \H+
   13165         $
   13166         Ket
   13167         End
   13168 ------------------------------------------------------------------
   13169 
   13170 /\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
   13171 ------------------------------------------------------------------
   13172         Bra
   13173         \h+
   13174         \D
   13175         \h++
   13176         \d
   13177         \h++
   13178         \S
   13179         \h+
   13180         \s
   13181         \h+
   13182         \W
   13183         \h++
   13184         \w
   13185         \h+
   13186         Any
   13187         \h+
   13188         AllAny
   13189         \h++
   13190         \R
   13191         \h++
   13192         \H
   13193         \h+
   13194         \h
   13195         \h+
   13196         \V
   13197         \h++
   13198         \v
   13199         \h+
   13200         \Z
   13201         \h++
   13202         \z
   13203         \h+
   13204         $
   13205         Ket
   13206         End
   13207 ------------------------------------------------------------------
   13208 
   13209 /\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
   13210 ------------------------------------------------------------------
   13211         Bra
   13212         \V+
   13213         \D
   13214         \V+
   13215         \d
   13216         \V+
   13217         \S
   13218         \V+
   13219         \s
   13220         \V+
   13221         \W
   13222         \V+
   13223         \w
   13224         \V+
   13225         Any
   13226         \V+
   13227         AllAny
   13228         \V++
   13229         \R
   13230         \V+
   13231         \H
   13232         \V+
   13233         \h
   13234         \V+
   13235         \V
   13236         \V++
   13237         \v
   13238         \V+
   13239         \Z
   13240         \V++
   13241         \z
   13242         \V+
   13243         $
   13244         Ket
   13245         End
   13246 ------------------------------------------------------------------
   13247 
   13248 /\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
   13249 ------------------------------------------------------------------
   13250         Bra
   13251         \v+
   13252         \D
   13253         \v++
   13254         \d
   13255         \v++
   13256         \S
   13257         \v+
   13258         \s
   13259         \v+
   13260         \W
   13261         \v++
   13262         \w
   13263         \v+
   13264         Any
   13265         \v+
   13266         AllAny
   13267         \v+
   13268         \R
   13269         \v+
   13270         \H
   13271         \v++
   13272         \h
   13273         \v++
   13274         \V
   13275         \v+
   13276         \v
   13277         \v+
   13278         \Z
   13279         \v++
   13280         \z
   13281         \v+
   13282         $
   13283         Ket
   13284         End
   13285 ------------------------------------------------------------------
   13286 
   13287 / 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
   13288 ------------------------------------------------------------------
   13289         Bra
   13290         a+
   13291         \D
   13292         a++
   13293         \d
   13294         a+
   13295         \S
   13296         a++
   13297         \s
   13298         a++
   13299         \W
   13300         a+
   13301         \w
   13302         a+
   13303         Any
   13304         a+
   13305         AllAny
   13306         a++
   13307         \R
   13308         a+
   13309         \H
   13310         a++
   13311         \h
   13312         a+
   13313         \V
   13314         a++
   13315         \v
   13316         a++
   13317         \Z
   13318         a++
   13319         \z
   13320         a++
   13321         $
   13322         Ket
   13323         End
   13324 ------------------------------------------------------------------
   13325 
   13326 /\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
   13327 ------------------------------------------------------------------
   13328         Bra
   13329         \x0a+
   13330         \D
   13331         \x0a++
   13332         \d
   13333         \x0a++
   13334         \S
   13335         \x0a+
   13336         \s
   13337         \x0a+
   13338         \W
   13339         \x0a++
   13340         \w
   13341         \x0a+
   13342         Any
   13343         \x0a+
   13344         AllAny
   13345         \x0a+
   13346         \R
   13347         \x0a+
   13348         \H
   13349         \x0a++
   13350         \h
   13351         \x0a++
   13352         \V
   13353         \x0a+
   13354         \v
   13355         \x0a+
   13356         \Z
   13357         \x0a++
   13358         \z
   13359         \x0a+
   13360         $
   13361         Ket
   13362         End
   13363 ------------------------------------------------------------------
   13364 
   13365 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZx
   13366 ------------------------------------------------------------------
   13367         Bra
   13368         Any+
   13369         \D
   13370         Any+
   13371         \d
   13372         Any+
   13373         \S
   13374         Any+
   13375         \s
   13376         Any+
   13377         \W
   13378         Any+
   13379         \w
   13380         Any+
   13381         Any
   13382         Any+
   13383         AllAny
   13384         Any++
   13385         \R
   13386         Any+
   13387         \H
   13388         Any+
   13389         \h
   13390         Any+
   13391         \V
   13392         Any+
   13393         \v
   13394         Any+
   13395         \Z
   13396         Any++
   13397         \z
   13398         Any+
   13399         $
   13400         Ket
   13401         End
   13402 ------------------------------------------------------------------
   13403 
   13404 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZxs
   13405 ------------------------------------------------------------------
   13406         Bra
   13407         AllAny+
   13408         \D
   13409         AllAny+
   13410         \d
   13411         AllAny+
   13412         \S
   13413         AllAny+
   13414         \s
   13415         AllAny+
   13416         \W
   13417         AllAny+
   13418         \w
   13419         AllAny+
   13420         AllAny
   13421         AllAny+
   13422         AllAny
   13423         AllAny+
   13424         \R
   13425         AllAny+
   13426         \H
   13427         AllAny+
   13428         \h
   13429         AllAny+
   13430         \V
   13431         AllAny+
   13432         \v
   13433         AllAny+
   13434         \Z
   13435         AllAny++
   13436         \z
   13437         AllAny+
   13438         $
   13439         Ket
   13440         End
   13441 ------------------------------------------------------------------
   13442 
   13443 /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$   a+$  \n+$   .+$  .+$/BZxm
   13444 ------------------------------------------------------------------
   13445         Bra
   13446         \D+
   13447      /m $
   13448         \d++
   13449      /m $
   13450         \S++
   13451      /m $
   13452         \s+
   13453      /m $
   13454         \W+
   13455      /m $
   13456         \w++
   13457      /m $
   13458         AllAny+
   13459      /m $
   13460         \R+
   13461      /m $
   13462         \H+
   13463      /m $
   13464         \h+
   13465      /m $
   13466         \V+
   13467      /m $
   13468         \v+
   13469      /m $
   13470         a+
   13471      /m $
   13472         \x0a+
   13473      /m $
   13474         Any+
   13475      /m $
   13476         Any+
   13477      /m $
   13478         Ket
   13479         End
   13480 ------------------------------------------------------------------
   13481 
   13482 /(?=a+)a(a+)++a/BZ
   13483 ------------------------------------------------------------------
   13484         Bra
   13485         Assert
   13486         a++
   13487         Ket
   13488         a
   13489         CBraPos 1
   13490         a++
   13491         KetRpos
   13492         a
   13493         Ket
   13494         End
   13495 ------------------------------------------------------------------
   13496 
   13497 /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
   13498 ------------------------------------------------------------------
   13499         Bra
   13500         a++
   13501         CBra 1
   13502         bb
   13503         Alt
   13504         cc
   13505         Ket
   13506         a++
   13507         Bra
   13508         bb
   13509         Alt
   13510         cc
   13511         Ket
   13512         a++
   13513         Once_NC
   13514         bb
   13515         Alt
   13516         cc
   13517         Ket
   13518         a++
   13519         Bra
   13520         bb
   13521         Alt
   13522         cc
   13523         KetRmax
   13524         a+
   13525         CBra 2
   13526         aa
   13527         Ket
   13528         a+
   13529         Bra
   13530         bb
   13531         Alt
   13532         aa
   13533         Ket
   13534         Ket
   13535         End
   13536 ------------------------------------------------------------------
   13537 
   13538 /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
   13539 ------------------------------------------------------------------
   13540         Bra
   13541         a++
   13542         Brazero
   13543         CBra 1
   13544         bb
   13545         Alt
   13546         cc
   13547         Ket
   13548         #
   13549         a++
   13550         Braminzero
   13551         Bra
   13552         bb
   13553         Alt
   13554         cc
   13555         Ket
   13556         #
   13557         a++
   13558         Once
   13559         Brazero
   13560         Bra
   13561         bb
   13562         Alt
   13563         cc
   13564         Ket
   13565         Ket
   13566         #
   13567         a++
   13568         Brazero
   13569         Bra
   13570         bb
   13571         Alt
   13572         cc
   13573         KetRmax
   13574         #
   13575         a+
   13576         Brazero
   13577         CBra 2
   13578         bb
   13579         Alt
   13580         cc
   13581         Ket
   13582         a#
   13583         a+
   13584         Brazero
   13585         Bra
   13586         aa
   13587         Ket
   13588         Ket
   13589         End
   13590 ------------------------------------------------------------------
   13591 
   13592 /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
   13593 ------------------------------------------------------------------
   13594         Bra
   13595         a+
   13596         Brazero
   13597         Bra
   13598         bb
   13599         Ket
   13600         a#
   13601         a++
   13602         Bra
   13603         Alt
   13604         Alt
   13605         Alt
   13606         Ket
   13607         #
   13608         a+
   13609         Bra
   13610         Alt
   13611         b
   13612         Ket
   13613         a#
   13614         a+
   13615         Brazero
   13616         Bra
   13617         Alt
   13618         Alt
   13619         Alt
   13620         Ket
   13621         a
   13622         Ket
   13623         End
   13624 ------------------------------------------------------------------
   13625 
   13626 /[ab]*/BZ
   13627 ------------------------------------------------------------------
   13628         Bra
   13629         [ab]*+
   13630         Ket
   13631         End
   13632 ------------------------------------------------------------------
   13633     aaaa
   13634  0: aaaa
   13635 
   13636 /[ab]*?/BZ
   13637 ------------------------------------------------------------------
   13638         Bra
   13639         [ab]*?
   13640         Ket
   13641         End
   13642 ------------------------------------------------------------------
   13643     aaaa
   13644  0: 
   13645 
   13646 /[ab]?/BZ
   13647 ------------------------------------------------------------------
   13648         Bra
   13649         [ab]?+
   13650         Ket
   13651         End
   13652 ------------------------------------------------------------------
   13653     aaaa
   13654  0: a
   13655 
   13656 /[ab]??/BZ
   13657 ------------------------------------------------------------------
   13658         Bra
   13659         [ab]??
   13660         Ket
   13661         End
   13662 ------------------------------------------------------------------
   13663     aaaa
   13664  0: 
   13665 
   13666 /[ab]+/BZ
   13667 ------------------------------------------------------------------
   13668         Bra
   13669         [ab]++
   13670         Ket
   13671         End
   13672 ------------------------------------------------------------------
   13673     aaaa
   13674  0: aaaa
   13675 
   13676 /[ab]+?/BZ
   13677 ------------------------------------------------------------------
   13678         Bra
   13679         [ab]+?
   13680         Ket
   13681         End
   13682 ------------------------------------------------------------------
   13683     aaaa
   13684  0: a
   13685 
   13686 /[ab]{2,3}/BZ
   13687 ------------------------------------------------------------------
   13688         Bra
   13689         [ab]{2,3}+
   13690         Ket
   13691         End
   13692 ------------------------------------------------------------------
   13693     aaaa
   13694  0: aaa
   13695 
   13696 /[ab]{2,3}?/BZ
   13697 ------------------------------------------------------------------
   13698         Bra
   13699         [ab]{2,3}?
   13700         Ket
   13701         End
   13702 ------------------------------------------------------------------
   13703     aaaa
   13704  0: aa
   13705 
   13706 /[ab]{2,}/BZ
   13707 ------------------------------------------------------------------
   13708         Bra
   13709         [ab]{2,}+
   13710         Ket
   13711         End
   13712 ------------------------------------------------------------------
   13713     aaaa
   13714  0: aaaa
   13715 
   13716 /[ab]{2,}?/BZ
   13717 ------------------------------------------------------------------
   13718         Bra
   13719         [ab]{2,}?
   13720         Ket
   13721         End
   13722 ------------------------------------------------------------------
   13723     aaaa
   13724  0: aa
   13725 
   13726 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
   13727 ------------------------------------------------------------------
   13728         Bra
   13729         \d++
   13730         \s{0,5}+
   13731         =
   13732         \s*+
   13733         \S?
   13734         =
   13735         \w{0,4}+
   13736         \W*+
   13737         Ket
   13738         End
   13739 ------------------------------------------------------------------
   13740 
   13741 /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
   13742 ------------------------------------------------------------------
   13743         Bra
   13744         [a-d]{5,12}+
   13745         [0-9e-z]*+
   13746         #
   13747         [\x00-`{-\xff] (neg)++
   13748         [b-y]*+
   13749         a
   13750         [2-7]?+
   13751         [\x00-/:-`{-\xff] (neg)++
   13752         Ket
   13753         End
   13754 ------------------------------------------------------------------
   13755 
   13756 /[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
   13757 ------------------------------------------------------------------
   13758         Bra
   13759         [a-z]*+
   13760         \s
   13761         #
   13762         [\x09 ]?+
   13763         \S
   13764         #
   13765         [a-c]*
   13766         \S
   13767         #
   13768         [C-G]++
   13769         \d
   13770         #
   13771         [4-8]*+
   13772         \D
   13773         #
   13774         [,4-9]*
   13775         \D
   13776         #
   13777         [!$]{0,5}+
   13778         \w
   13779         #
   13780         [M-Xf-l]++
   13781         \W
   13782         #
   13783         [,a-c]?
   13784         \W
   13785         Ket
   13786         End
   13787 ------------------------------------------------------------------
   13788 
   13789 /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
   13790 ------------------------------------------------------------------
   13791         Bra
   13792         a+
   13793         Brazero
   13794         CBra 1
   13795         aa
   13796         Alt
   13797         bb
   13798         KetRmax
   13799         c#
   13800         a*
   13801         Brazero
   13802         CBra 2
   13803         bb
   13804         Alt
   13805         cc
   13806         KetRmax
   13807         a#
   13808         a?+
   13809         Brazero
   13810         CBra 3
   13811         bb
   13812         Alt
   13813         cc
   13814         KetRmax
   13815         d#
   13816         [a-f]*
   13817         Brazero
   13818         CBra 4
   13819         g
   13820         Alt
   13821         hh
   13822         KetRmax
   13823         f
   13824         Ket
   13825         End
   13826 ------------------------------------------------------------------
   13827 
   13828 /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
   13829 ------------------------------------------------------------------
   13830         Bra
   13831         [a-f]*+
   13832         Brazero
   13833         CBra 1
   13834         g
   13835         Alt
   13836         hh
   13837         Alt
   13838         i
   13839         KetRmax
   13840         i#
   13841         [a-x]{4,}
   13842         Brazero
   13843         SCBra 2
   13844         y{0,6}
   13845         KetRmax
   13846         y#
   13847         [a-k]++
   13848         CBra 3
   13849         ll
   13850         Alt
   13851         mm
   13852         KetRmax
   13853         n
   13854         Ket
   13855         End
   13856 ------------------------------------------------------------------
   13857 
   13858 /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
   13859 ------------------------------------------------------------------
   13860         Bra
   13861         [a-f]*+
   13862         Once_NC
   13863         gg
   13864         Alt
   13865         hh
   13866         KetRmax
   13867         #
   13868         [a-f]*+
   13869         Brazero
   13870         Once_NC
   13871         gg
   13872         Alt
   13873         hh
   13874         Ket
   13875         #
   13876         [a-f]*
   13877         Brazero
   13878         Once_NC
   13879         gg
   13880         Alt
   13881         hh
   13882         KetRmax
   13883         a#
   13884         [a-f]*+
   13885         Brazero
   13886         Once_NC
   13887         gg
   13888         Alt
   13889         hh
   13890         KetRmax
   13891         h
   13892         Ket
   13893         End
   13894 ------------------------------------------------------------------
   13895 
   13896 /[a-c]*d/DZS
   13897 ------------------------------------------------------------------
   13898         Bra
   13899         [a-c]*+
   13900         d
   13901         Ket
   13902         End
   13903 ------------------------------------------------------------------
   13904 Capturing subpattern count = 0
   13905 No options
   13906 No first char
   13907 Need char = 'd'
   13908 Subject length lower bound = 1
   13909 Starting chars: a b c d 
   13910 
   13911 /[a-c]+d/DZS
   13912 ------------------------------------------------------------------
   13913         Bra
   13914         [a-c]++
   13915         d
   13916         Ket
   13917         End
   13918 ------------------------------------------------------------------
   13919 Capturing subpattern count = 0
   13920 No options
   13921 No first char
   13922 Need char = 'd'
   13923 Subject length lower bound = 2
   13924 Starting chars: a b c 
   13925 
   13926 /[a-c]?d/DZS
   13927 ------------------------------------------------------------------
   13928         Bra
   13929         [a-c]?+
   13930         d
   13931         Ket
   13932         End
   13933 ------------------------------------------------------------------
   13934 Capturing subpattern count = 0
   13935 No options
   13936 No first char
   13937 Need char = 'd'
   13938 Subject length lower bound = 1
   13939 Starting chars: a b c d 
   13940 
   13941 /[a-c]{4,6}d/DZS
   13942 ------------------------------------------------------------------
   13943         Bra
   13944         [a-c]{4,6}+
   13945         d
   13946         Ket
   13947         End
   13948 ------------------------------------------------------------------
   13949 Capturing subpattern count = 0
   13950 No options
   13951 No first char
   13952 Need char = 'd'
   13953 Subject length lower bound = 5
   13954 Starting chars: a b c 
   13955 
   13956 /[a-c]{0,6}d/DZS
   13957 ------------------------------------------------------------------
   13958         Bra
   13959         [a-c]{0,6}+
   13960         d
   13961         Ket
   13962         End
   13963 ------------------------------------------------------------------
   13964 Capturing subpattern count = 0
   13965 No options
   13966 No first char
   13967 Need char = 'd'
   13968 Subject length lower bound = 1
   13969 Starting chars: a b c d 
   13970 
   13971 /-- End of special auto-possessive tests --/
   13972 
   13973 /^A\o{1239}B/
   13974 Failed: non-octal character in \o{} (closing brace missing?) at offset 8
   13975 
   13976 /^A\oB/
   13977 Failed: missing opening brace after \o at offset 3
   13978 
   13979 /^A\x{zz}B/ 
   13980 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
   13981 
   13982 /^A\x{12Z/
   13983 Failed: non-hex character in \x{} (closing brace missing?) at offset 7
   13984 
   13985 /^A\x{/
   13986 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
   13987 
   13988 /[ab]++/BZO
   13989 ------------------------------------------------------------------
   13990         Bra
   13991         [ab]++
   13992         Ket
   13993         End
   13994 ------------------------------------------------------------------
   13995 
   13996 /[^ab]*+/BZO
   13997 ------------------------------------------------------------------
   13998         Bra
   13999         [\x00-`c-\xff] (neg)*+
   14000         Ket
   14001         End
   14002 ------------------------------------------------------------------
   14003 
   14004 /a{4}+/BZO
   14005 ------------------------------------------------------------------
   14006         Bra
   14007         a{4}
   14008         Ket
   14009         End
   14010 ------------------------------------------------------------------
   14011 
   14012 /a{4}+/BZOi
   14013 ------------------------------------------------------------------
   14014         Bra
   14015      /i a{4}
   14016         Ket
   14017         End
   14018 ------------------------------------------------------------------
   14019 
   14020 /[a-[:digit:]]+/
   14021 Failed: invalid range in character class at offset 3
   14022 
   14023 /[A-[:digit:]]+/
   14024 Failed: invalid range in character class at offset 3
   14025 
   14026 /[a-[.xxx.]]+/
   14027 Failed: invalid range in character class at offset 3
   14028 
   14029 /[a-[=xxx=]]+/
   14030 Failed: invalid range in character class at offset 3
   14031 
   14032 /[a-[!xxx!]]+/
   14033 Failed: range out of order in character class at offset 3
   14034 
   14035 /[A-[!xxx!]]+/
   14036     A]]]
   14037  0: A]]]
   14038 
   14039 /[a-\d]+/
   14040 Failed: invalid range in character class at offset 4
   14041 
   14042 /(?<0abc>xx)/
   14043 Failed: group name must start with a non-digit at offset 3
   14044 
   14045 /(?&1abc)xx(?<1abc>y)/
   14046 Failed: group name must start with a non-digit at offset 3
   14047 
   14048 /(?<ab-cd>xx)/
   14049 Failed: syntax error in subpattern name (missing terminator) at offset 5
   14050 
   14051 /(?'0abc'xx)/
   14052 Failed: group name must start with a non-digit at offset 3
   14053 
   14054 /(?P<0abc>xx)/
   14055 Failed: group name must start with a non-digit at offset 4
   14056 
   14057 /\k<5ghj>/
   14058 Failed: group name must start with a non-digit at offset 3
   14059 
   14060 /\k'5ghj'/
   14061 Failed: group name must start with a non-digit at offset 3
   14062 
   14063 /\k{2fgh}/
   14064 Failed: group name must start with a non-digit at offset 3
   14065 
   14066 /(?P=8yuki)/
   14067 Failed: group name must start with a non-digit at offset 4
   14068 
   14069 /\g{4df}/
   14070 Failed: group name must start with a non-digit at offset 3
   14071 
   14072 /(?&1abc)xx(?<1abc>y)/
   14073 Failed: group name must start with a non-digit at offset 3
   14074 
   14075 /(?P>1abc)xx(?<1abc>y)/
   14076 Failed: group name must start with a non-digit at offset 4
   14077 
   14078 /\g'3gh'/
   14079 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 7
   14080 
   14081 /\g<5fg>/
   14082 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 7
   14083 
   14084 /(?(<4gh>)abc)/
   14085 Failed: group name must start with a non-digit at offset 4
   14086 
   14087 /(?('4gh')abc)/
   14088 Failed: group name must start with a non-digit at offset 4
   14089 
   14090 /(?(4gh)abc)/
   14091 Failed: malformed number or name after (?( at offset 4
   14092 
   14093 /(?(R&6yh)abc)/
   14094 Failed: group name must start with a non-digit at offset 5
   14095 
   14096 /(((a\2)|(a*)\g<-1>))*a?/BZ
   14097 ------------------------------------------------------------------
   14098         Bra
   14099         Brazero
   14100         SCBra 1
   14101         Once
   14102         CBra 2
   14103         CBra 3
   14104         a
   14105         \2
   14106         Ket
   14107         Alt
   14108         CBra 4
   14109         a*
   14110         Ket
   14111         Recurse
   14112         Ket
   14113         Ket
   14114         KetRmax
   14115         a?+
   14116         Ket
   14117         End
   14118 ------------------------------------------------------------------
   14119 
   14120 /-- Test the ugly "start or end of word" compatibility syntax --/
   14121 
   14122 /[[:<:]]red[[:>:]]/BZ
   14123 ------------------------------------------------------------------
   14124         Bra
   14125         \b
   14126         Assert
   14127         \w
   14128         Ket
   14129         red
   14130         \b
   14131         AssertB
   14132         Reverse
   14133         \w
   14134         Ket
   14135         Ket
   14136         End
   14137 ------------------------------------------------------------------
   14138     little red riding hood
   14139  0: red
   14140     a /red/ thing 
   14141  0: red
   14142     red is a colour
   14143  0: red
   14144     put it all on red  
   14145  0: red
   14146     ** Failers
   14147 No match
   14148     no reduction
   14149 No match
   14150     Alfred Winifred
   14151 No match
   14152     
   14153 /[a[:<:]] should give error/ 
   14154 Failed: unknown POSIX class name at offset 4
   14155 
   14156 /(?=ab\K)/+
   14157     abcd
   14158 Start of matched string is beyond its end - displaying from end to start.
   14159  0: ab
   14160  0+ abcd
   14161 
   14162 /abcd/f<lf>
   14163     xx\nxabcd
   14164 No match
   14165     
   14166 / -- Test stack check external calls --/ 
   14167 
   14168 /(((((a)))))/Q0
   14169 
   14170 /(((((a)))))/Q1
   14171 Failed: parentheses are too deeply nested (stack check) at offset 0
   14172 
   14173 /(((((a)))))/Q
   14174 ** Missing 0 or 1 after /Q
   14175 
   14176 /^\w+(?>\s*)(?<=\w)/BZ
   14177 ------------------------------------------------------------------
   14178         Bra
   14179         ^
   14180         \w+
   14181         Once_NC
   14182         \s*+
   14183         Ket
   14184         AssertB
   14185         Reverse
   14186         \w
   14187         Ket
   14188         Ket
   14189         End
   14190 ------------------------------------------------------------------
   14191 
   14192 /\othing/
   14193 Failed: missing opening brace after \o at offset 1
   14194 
   14195 /\o{}/
   14196 Failed: digits missing in \x{} or \o{} at offset 1
   14197 
   14198 /\o{whatever}/
   14199 Failed: non-octal character in \o{} (closing brace missing?) at offset 3
   14200 
   14201 /\xthing/
   14202 
   14203 /\x{}/
   14204 Failed: digits missing in \x{} or \o{} at offset 3
   14205 
   14206 /\x{whatever}/
   14207 Failed: non-hex character in \x{} (closing brace missing?) at offset 3
   14208 
   14209 /-- End of testinput2 --/
   14210