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 /-- Originally, the Perl >= 5.10 things were in here too, but now I have 
      9     separated many (most?) of them out into test 11. However, there may still 
     10     be some that were overlooked. --/   
     11 
     12 /(a)b|/I
     13 Capturing subpattern count = 1
     14 No options
     15 No first char
     16 No need char
     17 
     18 /abc/I
     19 Capturing subpattern count = 0
     20 No options
     21 First char = 'a'
     22 Need char = 'c'
     23     abc
     24  0: abc
     25     defabc
     26  0: abc
     27     \Aabc
     28  0: abc
     29     *** Failers
     30 No match
     31     \Adefabc
     32 No match
     33     ABC
     34 No match
     35 
     36 /^abc/I
     37 Capturing subpattern count = 0
     38 Options: anchored
     39 No first char
     40 No need char
     41     abc
     42  0: abc
     43     \Aabc
     44  0: abc
     45     *** Failers
     46 No match
     47     defabc
     48 No match
     49     \Adefabc
     50 No match
     51 
     52 /a+bc/I
     53 Capturing subpattern count = 0
     54 No options
     55 First char = 'a'
     56 Need char = 'c'
     57 
     58 /a*bc/I
     59 Capturing subpattern count = 0
     60 No options
     61 No first char
     62 Need char = 'c'
     63 
     64 /a{3}bc/I
     65 Capturing subpattern count = 0
     66 No options
     67 First char = 'a'
     68 Need char = 'c'
     69 
     70 /(abc|a+z)/I
     71 Capturing subpattern count = 1
     72 No options
     73 First char = 'a'
     74 No need char
     75 
     76 /^abc$/I
     77 Capturing subpattern count = 0
     78 Options: anchored
     79 No first char
     80 No need char
     81     abc
     82  0: abc
     83     *** Failers
     84 No match
     85     def\nabc
     86 No match
     87 
     88 /ab\idef/X
     89 Failed: unrecognized character follows \ at offset 3
     90 
     91 /(?X)ab\idef/X
     92 Failed: unrecognized character follows \ at offset 7
     93 
     94 /x{5,4}/
     95 Failed: numbers out of order in {} quantifier at offset 5
     96 
     97 /z{65536}/
     98 Failed: number too big in {} quantifier at offset 7
     99 
    100 /[abcd/
    101 Failed: missing terminating ] for character class at offset 5
    102 
    103 /(?X)[\B]/
    104 Failed: invalid escape sequence in character class at offset 6
    105 
    106 /(?X)[\R]/
    107 Failed: invalid escape sequence in character class at offset 6
    108 
    109 /(?X)[\X]/
    110 Failed: invalid escape sequence in character class at offset 6
    111 
    112 /[\B]/BZ
    113 ------------------------------------------------------------------
    114         Bra
    115         B
    116         Ket
    117         End
    118 ------------------------------------------------------------------
    119 
    120 /[\R]/BZ
    121 ------------------------------------------------------------------
    122         Bra
    123         R
    124         Ket
    125         End
    126 ------------------------------------------------------------------
    127 
    128 /[\X]/BZ
    129 ------------------------------------------------------------------
    130         Bra
    131         X
    132         Ket
    133         End
    134 ------------------------------------------------------------------
    135 
    136 /[z-a]/
    137 Failed: range out of order in character class at offset 3
    138 
    139 /^*/
    140 Failed: nothing to repeat at offset 1
    141 
    142 /(abc/
    143 Failed: missing ) at offset 4
    144 
    145 /(?# abc/
    146 Failed: missing ) after comment at offset 7
    147 
    148 /(?z)abc/
    149 Failed: unrecognized character after (? or (?- at offset 2
    150 
    151 /.*b/I
    152 Capturing subpattern count = 0
    153 No options
    154 First char at start or follows newline
    155 Need char = 'b'
    156 
    157 /.*?b/I
    158 Capturing subpattern count = 0
    159 No options
    160 First char at start or follows newline
    161 Need char = 'b'
    162 
    163 /cat|dog|elephant/I
    164 Capturing subpattern count = 0
    165 No options
    166 No first char
    167 No need char
    168     this sentence eventually mentions a cat
    169  0: cat
    170     this sentences rambles on and on for a while and then reaches elephant
    171  0: elephant
    172 
    173 /cat|dog|elephant/IS
    174 Capturing subpattern count = 0
    175 No options
    176 No first char
    177 No need char
    178 Subject length lower bound = 3
    179 Starting byte set: c d e 
    180     this sentence eventually mentions a cat
    181  0: cat
    182     this sentences rambles on and on for a while and then reaches elephant
    183  0: elephant
    184 
    185 /cat|dog|elephant/IiS
    186 Capturing subpattern count = 0
    187 Options: caseless
    188 No first char
    189 No need char
    190 Subject length lower bound = 3
    191 Starting byte set: C D E c d e 
    192     this sentence eventually mentions a CAT cat
    193  0: CAT
    194     this sentences rambles on and on for a while to elephant ElePhant
    195  0: elephant
    196 
    197 /a|[bcd]/IS
    198 Capturing subpattern count = 0
    199 No options
    200 No first char
    201 No need char
    202 Subject length lower bound = 1
    203 Starting byte set: a b c d 
    204 
    205 /(a|[^\dZ])/IS
    206 Capturing subpattern count = 1
    207 No options
    208 No first char
    209 No need char
    210 Subject length lower bound = 1
    211 Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
    212   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
    213   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
    214   ? @ 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 
    215   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 
    216   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
    217   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
    218   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
    219   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
    220   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
    221   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
    222   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
    223   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
    224   \xfc \xfd \xfe \xff 
    225 
    226 /(a|b)*[\s]/IS
    227 Capturing subpattern count = 1
    228 No options
    229 No first char
    230 No need char
    231 Subject length lower bound = 1
    232 Starting byte set: \x09 \x0a \x0c \x0d \x20 a b 
    233 
    234 /(ab\2)/
    235 Failed: reference to non-existent subpattern at offset 6
    236 
    237 /{4,5}abc/
    238 Failed: nothing to repeat at offset 4
    239 
    240 /(a)(b)(c)\2/I
    241 Capturing subpattern count = 3
    242 Max back reference = 2
    243 No options
    244 First char = 'a'
    245 Need char = 'c'
    246     abcb
    247  0: abcb
    248  1: a
    249  2: b
    250  3: c
    251     \O0abcb
    252 Matched, but too many substrings
    253     \O3abcb
    254 Matched, but too many substrings
    255  0: abcb
    256     \O6abcb
    257 Matched, but too many substrings
    258  0: abcb
    259  1: a
    260     \O9abcb
    261 Matched, but too many substrings
    262  0: abcb
    263  1: a
    264  2: b
    265     \O12abcb
    266  0: abcb
    267  1: a
    268  2: b
    269  3: c
    270 
    271 /(a)bc|(a)(b)\2/I
    272 Capturing subpattern count = 3
    273 Max back reference = 2
    274 No options
    275 First char = 'a'
    276 No need char
    277     abc
    278  0: abc
    279  1: a
    280     \O0abc
    281 Matched, but too many substrings
    282     \O3abc
    283 Matched, but too many substrings
    284  0: abc
    285     \O6abc
    286  0: abc
    287  1: a
    288     aba
    289  0: aba
    290  1: <unset>
    291  2: a
    292  3: b
    293     \O0aba
    294 Matched, but too many substrings
    295     \O3aba
    296 Matched, but too many substrings
    297  0: aba
    298     \O6aba
    299 Matched, but too many substrings
    300  0: aba
    301  1: <unset>
    302     \O9aba
    303 Matched, but too many substrings
    304  0: aba
    305  1: <unset>
    306  2: a
    307     \O12aba
    308  0: aba
    309  1: <unset>
    310  2: a
    311  3: b
    312 
    313 /abc$/IE
    314 Capturing subpattern count = 0
    315 Options: dollar_endonly
    316 First char = 'a'
    317 Need char = 'c'
    318     abc
    319  0: abc
    320     *** Failers
    321 No match
    322     abc\n
    323 No match
    324     abc\ndef
    325 No match
    326 
    327 /(a)(b)(c)(d)(e)\6/
    328 Failed: reference to non-existent subpattern at offset 17
    329 
    330 /the quick brown fox/I
    331 Capturing subpattern count = 0
    332 No options
    333 First char = 't'
    334 Need char = 'x'
    335     the quick brown fox
    336  0: the quick brown fox
    337     this is a line with the quick brown fox
    338  0: the quick brown fox
    339 
    340 /the quick brown fox/IA
    341 Capturing subpattern count = 0
    342 Options: anchored
    343 No first char
    344 No need char
    345     the quick brown fox
    346  0: the quick brown fox
    347     *** Failers
    348 No match
    349     this is a line with the quick brown fox
    350 No match
    351 
    352 /ab(?z)cd/
    353 Failed: unrecognized character after (? or (?- at offset 4
    354 
    355 /^abc|def/I
    356 Capturing subpattern count = 0
    357 No options
    358 No first char
    359 No need char
    360     abcdef
    361  0: abc
    362     abcdef\B
    363  0: def
    364 
    365 /.*((abc)$|(def))/I
    366 Capturing subpattern count = 3
    367 No options
    368 First char at start or follows newline
    369 No need char
    370     defabc
    371  0: defabc
    372  1: abc
    373  2: abc
    374     \Zdefabc
    375  0: def
    376  1: def
    377  2: <unset>
    378  3: def
    379 
    380 /abc/P
    381     abc
    382  0: abc
    383     *** Failers
    384 No match: POSIX code 17: match failed
    385 
    386 /^abc|def/P
    387     abcdef
    388  0: abc
    389     abcdef\B
    390  0: def
    391 
    392 /.*((abc)$|(def))/P
    393     defabc
    394  0: defabc
    395  1: abc
    396  2: abc
    397     \Zdefabc
    398  0: def
    399  1: def
    400  3: def
    401 
    402 /the quick brown fox/P
    403     the quick brown fox
    404  0: the quick brown fox
    405     *** Failers
    406 No match: POSIX code 17: match failed
    407     The Quick Brown Fox
    408 No match: POSIX code 17: match failed
    409 
    410 /the quick brown fox/Pi
    411     the quick brown fox
    412  0: the quick brown fox
    413     The Quick Brown Fox
    414  0: The Quick Brown Fox
    415 
    416 /abc.def/P
    417     *** Failers
    418 No match: POSIX code 17: match failed
    419     abc\ndef
    420 No match: POSIX code 17: match failed
    421 
    422 /abc$/P
    423     abc
    424  0: abc
    425     abc\n
    426  0: abc
    427 
    428 /(abc)\2/P
    429 Failed: POSIX code 15: bad back reference at offset 7     
    430 
    431 /(abc\1)/P
    432     abc
    433 No match: POSIX code 17: match failed
    434 
    435 /)/
    436 Failed: unmatched parentheses at offset 0
    437 
    438 /a[]b/
    439 Failed: missing terminating ] for character class at offset 4
    440 
    441 /[^aeiou ]{3,}/I
    442 Capturing subpattern count = 0
    443 No options
    444 No first char
    445 No need char
    446     co-processors, and for
    447  0: -pr
    448 
    449 /<.*>/I
    450 Capturing subpattern count = 0
    451 No options
    452 First char = '<'
    453 Need char = '>'
    454     abc<def>ghi<klm>nop
    455  0: <def>ghi<klm>
    456 
    457 /<.*?>/I
    458 Capturing subpattern count = 0
    459 No options
    460 First char = '<'
    461 Need char = '>'
    462     abc<def>ghi<klm>nop
    463  0: <def>
    464 
    465 /<.*>/IU
    466 Capturing subpattern count = 0
    467 Options: ungreedy
    468 First char = '<'
    469 Need char = '>'
    470     abc<def>ghi<klm>nop
    471  0: <def>
    472 
    473 /(?U)<.*>/I
    474 Capturing subpattern count = 0
    475 Options: ungreedy
    476 First char = '<'
    477 Need char = '>'
    478     abc<def>ghi<klm>nop
    479  0: <def>
    480 
    481 /<.*?>/IU
    482 Capturing subpattern count = 0
    483 Options: ungreedy
    484 First char = '<'
    485 Need char = '>'
    486     abc<def>ghi<klm>nop
    487  0: <def>ghi<klm>
    488 
    489 /={3,}/IU
    490 Capturing subpattern count = 0
    491 Options: ungreedy
    492 First char = '='
    493 Need char = '='
    494     abc========def
    495  0: ===
    496 
    497 /(?U)={3,}?/I
    498 Capturing subpattern count = 0
    499 Options: ungreedy
    500 First char = '='
    501 Need char = '='
    502     abc========def
    503  0: ========
    504 
    505 /(?<!bar|cattle)foo/I
    506 Capturing subpattern count = 0
    507 No options
    508 First char = 'f'
    509 Need char = 'o'
    510     foo
    511  0: foo
    512     catfoo
    513  0: foo
    514     *** Failers
    515 No match
    516     the barfoo
    517 No match
    518     and cattlefoo
    519 No match
    520 
    521 /(?<=a+)b/
    522 Failed: lookbehind assertion is not fixed length at offset 6
    523 
    524 /(?<=aaa|b{0,3})b/
    525 Failed: lookbehind assertion is not fixed length at offset 14
    526 
    527 /(?<!(foo)a\1)bar/
    528 Failed: lookbehind assertion is not fixed length at offset 12
    529 
    530 /(?i)abc/I
    531 Capturing subpattern count = 0
    532 Options: caseless
    533 First char = 'a' (caseless)
    534 Need char = 'c' (caseless)
    535 
    536 /(a|(?m)a)/I
    537 Capturing subpattern count = 1
    538 No options
    539 First char = 'a'
    540 No need char
    541 
    542 /(?i)^1234/I
    543 Capturing subpattern count = 0
    544 Options: anchored caseless
    545 No first char
    546 No need char
    547 
    548 /(^b|(?i)^d)/I
    549 Capturing subpattern count = 1
    550 Options: anchored
    551 No first char
    552 No need char
    553 
    554 /(?s).*/I
    555 Capturing subpattern count = 0
    556 Options: anchored dotall
    557 No first char
    558 No need char
    559 
    560 /[abcd]/IS
    561 Capturing subpattern count = 0
    562 No options
    563 No first char
    564 No need char
    565 Subject length lower bound = 1
    566 Starting byte set: a b c d 
    567 
    568 /(?i)[abcd]/IS
    569 Capturing subpattern count = 0
    570 Options: caseless
    571 No first char
    572 No need char
    573 Subject length lower bound = 1
    574 Starting byte set: A B C D a b c d 
    575 
    576 /(?m)[xy]|(b|c)/IS
    577 Capturing subpattern count = 1
    578 Options: multiline
    579 No first char
    580 No need char
    581 Subject length lower bound = 1
    582 Starting byte set: b c x y 
    583 
    584 /(^a|^b)/Im
    585 Capturing subpattern count = 1
    586 Options: multiline
    587 First char at start or follows newline
    588 No need char
    589 
    590 /(?i)(^a|^b)/Im
    591 Capturing subpattern count = 1
    592 Options: caseless multiline
    593 First char at start or follows newline
    594 No need char
    595 
    596 /(a)(?(1)a|b|c)/
    597 Failed: conditional group contains more than two branches at offset 13
    598 
    599 /(?(?=a)a|b|c)/
    600 Failed: conditional group contains more than two branches at offset 12
    601 
    602 /(?(1a)/
    603 Failed: missing ) at offset 6
    604 
    605 /(?(1a))/
    606 Failed: reference to non-existent subpattern at offset 6
    607 
    608 /(?(?i))/
    609 Failed: assertion expected after (?( at offset 3
    610 
    611 /(?(abc))/
    612 Failed: reference to non-existent subpattern at offset 7
    613 
    614 /(?(?<ab))/
    615 Failed: syntax error in subpattern name (missing terminator) at offset 7
    616 
    617 /((?s)blah)\s+\1/I
    618 Capturing subpattern count = 1
    619 Max back reference = 1
    620 No options
    621 First char = 'b'
    622 Need char = 'h'
    623 
    624 /((?i)blah)\s+\1/I
    625 Capturing subpattern count = 1
    626 Max back reference = 1
    627 No options
    628 First char = 'b' (caseless)
    629 Need char = 'h' (caseless)
    630 
    631 /((?i)b)/IDZS
    632 ------------------------------------------------------------------
    633         Bra
    634         CBra 1
    635      01 Opt
    636      NC b
    637         Ket
    638      00 Opt
    639         Ket
    640         End
    641 ------------------------------------------------------------------
    642 Capturing subpattern count = 1
    643 No options
    644 First char = 'b' (caseless)
    645 No need char
    646 Subject length lower bound = 1
    647 No set of starting bytes
    648 
    649 /(a*b|(?i:c*(?-i)d))/IS
    650 Capturing subpattern count = 1
    651 No options
    652 No first char
    653 No need char
    654 Subject length lower bound = 1
    655 Starting byte set: C a b c d 
    656 
    657 /a$/I
    658 Capturing subpattern count = 0
    659 No options
    660 First char = 'a'
    661 No need char
    662     a
    663  0: a
    664     a\n
    665  0: a
    666     *** Failers
    667 No match
    668     \Za
    669 No match
    670     \Za\n
    671 No match
    672 
    673 /a$/Im
    674 Capturing subpattern count = 0
    675 Options: multiline
    676 First char = 'a'
    677 No need char
    678     a
    679  0: a
    680     a\n
    681  0: a
    682     \Za\n
    683  0: a
    684     *** Failers
    685 No match
    686     \Za
    687 No match
    688 
    689 /\Aabc/Im
    690 Capturing subpattern count = 0
    691 Options: anchored multiline
    692 No first char
    693 No need char
    694 
    695 /^abc/Im
    696 Capturing subpattern count = 0
    697 Options: multiline
    698 First char at start or follows newline
    699 Need char = 'c'
    700 
    701 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
    702 Capturing subpattern count = 5
    703 Options: anchored
    704 No first char
    705 No need char
    706   aaaaabbbbbcccccdef
    707  0: aaaaabbbbbcccccdef
    708  1: aaaaabbbbbcccccdef
    709  2: aaaaa
    710  3: b
    711  4: bbbbccccc
    712  5: def
    713 
    714 /(?<=foo)[ab]/IS
    715 Capturing subpattern count = 0
    716 No options
    717 No first char
    718 No need char
    719 Subject length lower bound = 1
    720 Starting byte set: a b 
    721 
    722 /(?<!foo)(alpha|omega)/IS
    723 Capturing subpattern count = 1
    724 No options
    725 No first char
    726 Need char = 'a'
    727 Subject length lower bound = 5
    728 Starting byte set: a o 
    729 
    730 /(?!alphabet)[ab]/IS
    731 Capturing subpattern count = 0
    732 No options
    733 No first char
    734 No need char
    735 Subject length lower bound = 1
    736 Starting byte set: a b 
    737 
    738 /(?<=foo\n)^bar/Im
    739 Capturing subpattern count = 0
    740 Contains explicit CR or LF match
    741 Options: multiline
    742 No first char
    743 Need char = 'r'
    744     foo\nbarbar
    745  0: bar
    746     ***Failers
    747 No match
    748     rhubarb
    749 No match
    750     barbell
    751 No match
    752     abc\nbarton
    753 No match
    754 
    755 /^(?<=foo\n)bar/Im
    756 Capturing subpattern count = 0
    757 Contains explicit CR or LF match
    758 Options: multiline
    759 First char at start or follows newline
    760 Need char = 'r'
    761     foo\nbarbar
    762  0: bar
    763     ***Failers
    764 No match
    765     rhubarb
    766 No match
    767     barbell
    768 No match
    769     abc\nbarton
    770 No match
    771 
    772 /(?>^abc)/Im
    773 Capturing subpattern count = 0
    774 Options: multiline
    775 First char at start or follows newline
    776 Need char = 'c'
    777     abc
    778  0: abc
    779     def\nabc
    780  0: abc
    781     *** Failers
    782 No match
    783     defabc
    784 No match
    785 
    786 /(?<=ab(c+)d)ef/
    787 Failed: lookbehind assertion is not fixed length at offset 11
    788 
    789 /(?<=ab(?<=c+)d)ef/
    790 Failed: lookbehind assertion is not fixed length at offset 12
    791 
    792 /(?<=ab(c|de)f)g/
    793 Failed: lookbehind assertion is not fixed length at offset 13
    794 
    795 /The next three are in testinput2 because they have variable length branches/
    796 
    797 /(?<=bullock|donkey)-cart/I
    798 Capturing subpattern count = 0
    799 No options
    800 First char = '-'
    801 Need char = 't'
    802     the bullock-cart
    803  0: -cart
    804     a donkey-cart race
    805  0: -cart
    806     *** Failers
    807 No match
    808     cart
    809 No match
    810     horse-and-cart
    811 No match
    812 
    813 /(?<=ab(?i)x|y|z)/I
    814 Capturing subpattern count = 0
    815 No options
    816 No first char
    817 No need char
    818 
    819 /(?>.*)(?<=(abcd)|(xyz))/I
    820 Capturing subpattern count = 2
    821 No options
    822 First char at start or follows newline
    823 No need char
    824     alphabetabcd
    825  0: alphabetabcd
    826  1: abcd
    827     endingxyz
    828  0: endingxyz
    829  1: <unset>
    830  2: xyz
    831 
    832 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
    833 Capturing subpattern count = 0
    834 No options
    835 First char = 'Z'
    836 Need char = 'Z'
    837     abxyZZ
    838  0: ZZ
    839     abXyZZ
    840  0: ZZ
    841     ZZZ
    842  0: ZZ
    843     zZZ
    844  0: ZZ
    845     bZZ
    846  0: ZZ
    847     BZZ
    848  0: ZZ
    849     *** Failers
    850 No match
    851     ZZ
    852 No match
    853     abXYZZ
    854 No match
    855     zzz
    856 No match
    857     bzz
    858 No match
    859 
    860 /(?<!(foo)a)bar/I
    861 Capturing subpattern count = 1
    862 No options
    863 First char = 'b'
    864 Need char = 'r'
    865     bar
    866  0: bar
    867     foobbar
    868  0: bar
    869     *** Failers
    870 No match
    871     fooabar
    872 No match
    873 
    874 /This one is here because Perl 5.005_02 doesn't fail it/I
    875 Capturing subpattern count = 0
    876 No options
    877 First char = 'T'
    878 Need char = 't'
    879 
    880 /^(a)?(?(1)a|b)+$/I
    881 Capturing subpattern count = 1
    882 Options: anchored
    883 No first char
    884 No need char
    885     *** Failers
    886 No match
    887     a
    888 No match
    889 
    890 /This one is here because Perl behaves differently; see also the following/I
    891 Capturing subpattern count = 0
    892 No options
    893 First char = 'T'
    894 Need char = 'g'
    895 
    896 /^(a\1?){4}$/I
    897 Capturing subpattern count = 1
    898 Max back reference = 1
    899 Options: anchored
    900 No first char
    901 No need char
    902     aaaa
    903 No match
    904     aaaaaa
    905 No match
    906     
    907 /Perl does not fail these two for the final subjects. Neither did PCRE until/
    908 /release 8.01. The problem is in backtracking into a subpattern that contains/
    909 No match
    910 /a recursive reference to itself. PCRE has now made these into atomic patterns./
    911 No match
    912 
    913 /^(xa|=?\1a){2}$/
    914     xa=xaa
    915  0: xa=xaa
    916  1: =xaa
    917     ** Failers
    918 No match
    919     xa=xaaa
    920 No match
    921 
    922 /^(xa|=?\1a)+$/
    923     xa=xaa
    924  0: xa=xaa
    925  1: =xaa
    926     ** Failers
    927 No match
    928     xa=xaaa
    929 No match
    930 
    931 /These are syntax tests from Perl 5.005/I
    932 Capturing subpattern count = 0
    933 No options
    934 First char = 'T'
    935 Need char = '5'
    936 
    937 /a[b-a]/
    938 Failed: range out of order in character class at offset 4
    939 
    940 /a[]b/
    941 Failed: missing terminating ] for character class at offset 4
    942 
    943 /a[/
    944 Failed: missing terminating ] for character class at offset 2
    945 
    946 /*a/
    947 Failed: nothing to repeat at offset 0
    948 
    949 /(*)b/
    950 Failed: nothing to repeat at offset 1
    951 
    952 /abc)/
    953 Failed: unmatched parentheses at offset 3
    954 
    955 /(abc/
    956 Failed: missing ) at offset 4
    957 
    958 /a**/
    959 Failed: nothing to repeat at offset 2
    960 
    961 /)(/
    962 Failed: unmatched parentheses at offset 0
    963 
    964 /\1/
    965 Failed: reference to non-existent subpattern at offset 2
    966 
    967 /\2/
    968 Failed: reference to non-existent subpattern at offset 2
    969 
    970 /(a)|\2/
    971 Failed: reference to non-existent subpattern at offset 6
    972 
    973 /a[b-a]/Ii
    974 Failed: range out of order in character class at offset 4
    975 
    976 /a[]b/Ii
    977 Failed: missing terminating ] for character class at offset 4
    978 
    979 /a[/Ii
    980 Failed: missing terminating ] for character class at offset 2
    981 
    982 /*a/Ii
    983 Failed: nothing to repeat at offset 0
    984 
    985 /(*)b/Ii
    986 Failed: nothing to repeat at offset 1
    987 
    988 /abc)/Ii
    989 Failed: unmatched parentheses at offset 3
    990 
    991 /(abc/Ii
    992 Failed: missing ) at offset 4
    993 
    994 /a**/Ii
    995 Failed: nothing to repeat at offset 2
    996 
    997 /)(/Ii
    998 Failed: unmatched parentheses at offset 0
    999 
   1000 /:(?:/
   1001 Failed: missing ) at offset 4
   1002 
   1003 /(?<%)b/
   1004 Failed: unrecognized character after (?< at offset 3
   1005 
   1006 /a(?{)b/
   1007 Failed: unrecognized character after (? or (?- at offset 3
   1008 
   1009 /a(?{{})b/
   1010 Failed: unrecognized character after (? or (?- at offset 3
   1011 
   1012 /a(?{}})b/
   1013 Failed: unrecognized character after (? or (?- at offset 3
   1014 
   1015 /a(?{"{"})b/
   1016 Failed: unrecognized character after (? or (?- at offset 3
   1017 
   1018 /a(?{"{"}})b/
   1019 Failed: unrecognized character after (? or (?- at offset 3
   1020 
   1021 /(?(1?)a|b)/
   1022 Failed: malformed number or name after (?( at offset 4
   1023 
   1024 /[a[:xyz:/
   1025 Failed: missing terminating ] for character class at offset 8
   1026 
   1027 /(?<=x+)y/
   1028 Failed: lookbehind assertion is not fixed length at offset 6
   1029 
   1030 /a{37,17}/
   1031 Failed: numbers out of order in {} quantifier at offset 7
   1032 
   1033 /abc/\
   1034 Failed: \ at end of pattern at offset 4
   1035 
   1036 /abc/\P
   1037 Failed: POSIX code 9: bad escape sequence at offset 4     
   1038 
   1039 /abc/\i
   1040 Failed: \ at end of pattern at offset 4
   1041 
   1042 /(a)bc(d)/I
   1043 Capturing subpattern count = 2
   1044 No options
   1045 First char = 'a'
   1046 Need char = 'd'
   1047     abcd
   1048  0: abcd
   1049  1: a
   1050  2: d
   1051     abcd\C2
   1052  0: abcd
   1053  1: a
   1054  2: d
   1055  2C d (1)
   1056     abcd\C5
   1057  0: abcd
   1058  1: a
   1059  2: d
   1060 copy substring 5 failed -7
   1061 
   1062 /(.{20})/I
   1063 Capturing subpattern count = 1
   1064 No options
   1065 No first char
   1066 No need char
   1067     abcdefghijklmnopqrstuvwxyz
   1068  0: abcdefghijklmnopqrst
   1069  1: abcdefghijklmnopqrst
   1070     abcdefghijklmnopqrstuvwxyz\C1
   1071  0: abcdefghijklmnopqrst
   1072  1: abcdefghijklmnopqrst
   1073  1C abcdefghijklmnopqrst (20)
   1074     abcdefghijklmnopqrstuvwxyz\G1
   1075  0: abcdefghijklmnopqrst
   1076  1: abcdefghijklmnopqrst
   1077  1G abcdefghijklmnopqrst (20)
   1078 
   1079 /(.{15})/I
   1080 Capturing subpattern count = 1
   1081 No options
   1082 No first char
   1083 No need char
   1084     abcdefghijklmnopqrstuvwxyz
   1085  0: abcdefghijklmno
   1086  1: abcdefghijklmno
   1087     abcdefghijklmnopqrstuvwxyz\C1\G1
   1088  0: abcdefghijklmno
   1089  1: abcdefghijklmno
   1090  1C abcdefghijklmno (15)
   1091  1G abcdefghijklmno (15)
   1092 
   1093 /(.{16})/I
   1094 Capturing subpattern count = 1
   1095 No options
   1096 No first char
   1097 No need char
   1098     abcdefghijklmnopqrstuvwxyz
   1099  0: abcdefghijklmnop
   1100  1: abcdefghijklmnop
   1101     abcdefghijklmnopqrstuvwxyz\C1\G1\L
   1102  0: abcdefghijklmnop
   1103  1: abcdefghijklmnop
   1104  1C abcdefghijklmnop (16)
   1105  1G abcdefghijklmnop (16)
   1106  0L abcdefghijklmnop
   1107  1L abcdefghijklmnop
   1108 
   1109 /^(a|(bc))de(f)/I
   1110 Capturing subpattern count = 3
   1111 Options: anchored
   1112 No first char
   1113 No need char
   1114     adef\G1\G2\G3\G4\L
   1115  0: adef
   1116  1: a
   1117  2: <unset>
   1118  3: f
   1119  1G a (1)
   1120  2G  (0)
   1121  3G f (1)
   1122 get substring 4 failed -7
   1123  0L adef
   1124  1L a
   1125  2L 
   1126  3L f
   1127     bcdef\G1\G2\G3\G4\L
   1128  0: bcdef
   1129  1: bc
   1130  2: bc
   1131  3: f
   1132  1G bc (2)
   1133  2G bc (2)
   1134  3G f (1)
   1135 get substring 4 failed -7
   1136  0L bcdef
   1137  1L bc
   1138  2L bc
   1139  3L f
   1140     adefghijk\C0
   1141  0: adef
   1142  1: a
   1143  2: <unset>
   1144  3: f
   1145  0C adef (4)
   1146 
   1147 /^abc\00def/I
   1148 Capturing subpattern count = 0
   1149 Options: anchored
   1150 No first char
   1151 No need char
   1152     abc\00def\L\C0
   1153  0: abc\x00def
   1154  0C abc (7)
   1155  0L abc
   1156 
   1157 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
   1158 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
   1159 )?)?)?)?)?)?)?)?)?otherword/I
   1160 Capturing subpattern count = 8
   1161 Contains explicit CR or LF match
   1162 No options
   1163 First char = 'w'
   1164 Need char = 'd'
   1165 
   1166 /.*X/IDZ
   1167 ------------------------------------------------------------------
   1168         Bra
   1169         Any*
   1170         X
   1171         Ket
   1172         End
   1173 ------------------------------------------------------------------
   1174 Capturing subpattern count = 0
   1175 No options
   1176 First char at start or follows newline
   1177 Need char = 'X'
   1178 
   1179 /.*X/IDZs
   1180 ------------------------------------------------------------------
   1181         Bra
   1182         AllAny*
   1183         X
   1184         Ket
   1185         End
   1186 ------------------------------------------------------------------
   1187 Capturing subpattern count = 0
   1188 Options: anchored dotall
   1189 No first char
   1190 Need char = 'X'
   1191 
   1192 /(.*X|^B)/IDZ
   1193 ------------------------------------------------------------------
   1194         Bra
   1195         CBra 1
   1196         Any*
   1197         X
   1198         Alt
   1199         ^
   1200         B
   1201         Ket
   1202         Ket
   1203         End
   1204 ------------------------------------------------------------------
   1205 Capturing subpattern count = 1
   1206 No options
   1207 First char at start or follows newline
   1208 No need char
   1209 
   1210 /(.*X|^B)/IDZs
   1211 ------------------------------------------------------------------
   1212         Bra
   1213         CBra 1
   1214         AllAny*
   1215         X
   1216         Alt
   1217         ^
   1218         B
   1219         Ket
   1220         Ket
   1221         End
   1222 ------------------------------------------------------------------
   1223 Capturing subpattern count = 1
   1224 Options: anchored dotall
   1225 No first char
   1226 No need char
   1227 
   1228 /(?s)(.*X|^B)/IDZ
   1229 ------------------------------------------------------------------
   1230         Bra
   1231         CBra 1
   1232         AllAny*
   1233         X
   1234         Alt
   1235         ^
   1236         B
   1237         Ket
   1238         Ket
   1239         End
   1240 ------------------------------------------------------------------
   1241 Capturing subpattern count = 1
   1242 Options: anchored dotall
   1243 No first char
   1244 No need char
   1245 
   1246 /(?s:.*X|^B)/IDZ
   1247 ------------------------------------------------------------------
   1248         Bra
   1249         Bra
   1250      04 Opt
   1251         AllAny*
   1252         X
   1253         Alt
   1254      04 Opt
   1255         ^
   1256         B
   1257         Ket
   1258      00 Opt
   1259         Ket
   1260         End
   1261 ------------------------------------------------------------------
   1262 Capturing subpattern count = 0
   1263 Options: anchored
   1264 No first char
   1265 No need char
   1266 
   1267 /\Biss\B/I+
   1268 Capturing subpattern count = 0
   1269 No options
   1270 First char = 'i'
   1271 Need char = 's'
   1272     Mississippi
   1273  0: iss
   1274  0+ issippi
   1275 
   1276 /\Biss\B/I+P
   1277     Mississippi
   1278  0: iss
   1279  0+ issippi
   1280 
   1281 /iss/IG+
   1282 Capturing subpattern count = 0
   1283 No options
   1284 First char = 'i'
   1285 Need char = 's'
   1286     Mississippi
   1287  0: iss
   1288  0+ issippi
   1289  0: iss
   1290  0+ ippi
   1291 
   1292 /\Biss\B/IG+
   1293 Capturing subpattern count = 0
   1294 No options
   1295 First char = 'i'
   1296 Need char = 's'
   1297     Mississippi
   1298  0: iss
   1299  0+ issippi
   1300 
   1301 /\Biss\B/Ig+
   1302 Capturing subpattern count = 0
   1303 No options
   1304 First char = 'i'
   1305 Need char = 's'
   1306     Mississippi
   1307  0: iss
   1308  0+ issippi
   1309  0: iss
   1310  0+ ippi
   1311     *** Failers
   1312 No match
   1313     Mississippi\A
   1314 No match
   1315 
   1316 /(?<=[Ms])iss/Ig+
   1317 Capturing subpattern count = 0
   1318 No options
   1319 First char = 'i'
   1320 Need char = 's'
   1321     Mississippi
   1322  0: iss
   1323  0+ issippi
   1324  0: iss
   1325  0+ ippi
   1326 
   1327 /(?<=[Ms])iss/IG+
   1328 Capturing subpattern count = 0
   1329 No options
   1330 First char = 'i'
   1331 Need char = 's'
   1332     Mississippi
   1333  0: iss
   1334  0+ issippi
   1335 
   1336 /^iss/Ig+
   1337 Capturing subpattern count = 0
   1338 Options: anchored
   1339 No first char
   1340 No need char
   1341     ississippi
   1342  0: iss
   1343  0+ issippi
   1344 
   1345 /.*iss/Ig+
   1346 Capturing subpattern count = 0
   1347 No options
   1348 First char at start or follows newline
   1349 Need char = 's'
   1350     abciss\nxyzisspqr
   1351  0: abciss
   1352  0+ \x0axyzisspqr
   1353  0: xyziss
   1354  0+ pqr
   1355 
   1356 /.i./I+g
   1357 Capturing subpattern count = 0
   1358 No options
   1359 No first char
   1360 Need char = 'i'
   1361     Mississippi
   1362  0: Mis
   1363  0+ sissippi
   1364  0: sis
   1365  0+ sippi
   1366  0: sip
   1367  0+ pi
   1368     Mississippi\A
   1369  0: Mis
   1370  0+ sissippi
   1371  0: sis
   1372  0+ sippi
   1373  0: sip
   1374  0+ pi
   1375     Missouri river
   1376  0: Mis
   1377  0+ souri river
   1378  0: ri 
   1379  0+ river
   1380  0: riv
   1381  0+ er
   1382     Missouri river\A
   1383  0: Mis
   1384  0+ souri river
   1385 
   1386 /^.is/I+g
   1387 Capturing subpattern count = 0
   1388 Options: anchored
   1389 No first char
   1390 No need char
   1391     Mississippi
   1392  0: Mis
   1393  0+ sissippi
   1394 
   1395 /^ab\n/Ig+
   1396 Capturing subpattern count = 0
   1397 Contains explicit CR or LF match
   1398 Options: anchored
   1399 No first char
   1400 No need char
   1401     ab\nab\ncd
   1402  0: ab\x0a
   1403  0+ ab\x0acd
   1404 
   1405 /^ab\n/Img+
   1406 Capturing subpattern count = 0
   1407 Contains explicit CR or LF match
   1408 Options: multiline
   1409 First char at start or follows newline
   1410 Need char = 10
   1411     ab\nab\ncd
   1412  0: ab\x0a
   1413  0+ ab\x0acd
   1414  0: ab\x0a
   1415  0+ cd
   1416 
   1417 /abc/I
   1418 Capturing subpattern count = 0
   1419 No options
   1420 First char = 'a'
   1421 Need char = 'c'
   1422 
   1423 /abc|bac/I
   1424 Capturing subpattern count = 0
   1425 No options
   1426 No first char
   1427 Need char = 'c'
   1428 
   1429 /(abc|bac)/I
   1430 Capturing subpattern count = 1
   1431 No options
   1432 No first char
   1433 Need char = 'c'
   1434 
   1435 /(abc|(c|dc))/I
   1436 Capturing subpattern count = 2
   1437 No options
   1438 No first char
   1439 Need char = 'c'
   1440 
   1441 /(abc|(d|de)c)/I
   1442 Capturing subpattern count = 2
   1443 No options
   1444 No first char
   1445 Need char = 'c'
   1446 
   1447 /a*/I
   1448 Capturing subpattern count = 0
   1449 No options
   1450 No first char
   1451 No need char
   1452 
   1453 /a+/I
   1454 Capturing subpattern count = 0
   1455 No options
   1456 First char = 'a'
   1457 No need char
   1458 
   1459 /(baa|a+)/I
   1460 Capturing subpattern count = 1
   1461 No options
   1462 No first char
   1463 Need char = 'a'
   1464 
   1465 /a{0,3}/I
   1466 Capturing subpattern count = 0
   1467 No options
   1468 No first char
   1469 No need char
   1470 
   1471 /baa{3,}/I
   1472 Capturing subpattern count = 0
   1473 No options
   1474 First char = 'b'
   1475 Need char = 'a'
   1476 
   1477 /"([^\\"]+|\\.)*"/I
   1478 Capturing subpattern count = 1
   1479 No options
   1480 First char = '"'
   1481 Need char = '"'
   1482 
   1483 /(abc|ab[cd])/I
   1484 Capturing subpattern count = 1
   1485 No options
   1486 First char = 'a'
   1487 No need char
   1488 
   1489 /(a|.)/I
   1490 Capturing subpattern count = 1
   1491 No options
   1492 No first char
   1493 No need char
   1494 
   1495 /a|ba|\w/I
   1496 Capturing subpattern count = 0
   1497 No options
   1498 No first char
   1499 No need char
   1500 
   1501 /abc(?=pqr)/I
   1502 Capturing subpattern count = 0
   1503 No options
   1504 First char = 'a'
   1505 Need char = 'r'
   1506 
   1507 /...(?<=abc)/I
   1508 Capturing subpattern count = 0
   1509 No options
   1510 No first char
   1511 No need char
   1512 
   1513 /abc(?!pqr)/I
   1514 Capturing subpattern count = 0
   1515 No options
   1516 First char = 'a'
   1517 Need char = 'c'
   1518 
   1519 /ab./I
   1520 Capturing subpattern count = 0
   1521 No options
   1522 First char = 'a'
   1523 Need char = 'b'
   1524 
   1525 /ab[xyz]/I
   1526 Capturing subpattern count = 0
   1527 No options
   1528 First char = 'a'
   1529 Need char = 'b'
   1530 
   1531 /abc*/I
   1532 Capturing subpattern count = 0
   1533 No options
   1534 First char = 'a'
   1535 Need char = 'b'
   1536 
   1537 /ab.c*/I
   1538 Capturing subpattern count = 0
   1539 No options
   1540 First char = 'a'
   1541 Need char = 'b'
   1542 
   1543 /a.c*/I
   1544 Capturing subpattern count = 0
   1545 No options
   1546 First char = 'a'
   1547 No need char
   1548 
   1549 /.c*/I
   1550 Capturing subpattern count = 0
   1551 No options
   1552 No first char
   1553 No need char
   1554 
   1555 /ac*/I
   1556 Capturing subpattern count = 0
   1557 No options
   1558 First char = 'a'
   1559 No need char
   1560 
   1561 /(a.c*|b.c*)/I
   1562 Capturing subpattern count = 1
   1563 No options
   1564 No first char
   1565 No need char
   1566 
   1567 /a.c*|aba/I
   1568 Capturing subpattern count = 0
   1569 No options
   1570 First char = 'a'
   1571 No need char
   1572 
   1573 /.+a/I
   1574 Capturing subpattern count = 0
   1575 No options
   1576 No first char
   1577 Need char = 'a'
   1578 
   1579 /(?=abcda)a.*/I
   1580 Capturing subpattern count = 0
   1581 No options
   1582 First char = 'a'
   1583 Need char = 'a'
   1584 
   1585 /(?=a)a.*/I
   1586 Capturing subpattern count = 0
   1587 No options
   1588 First char = 'a'
   1589 No need char
   1590 
   1591 /a(b)*/I
   1592 Capturing subpattern count = 1
   1593 No options
   1594 First char = 'a'
   1595 No need char
   1596 
   1597 /a\d*/I
   1598 Capturing subpattern count = 0
   1599 No options
   1600 First char = 'a'
   1601 No need char
   1602 
   1603 /ab\d*/I
   1604 Capturing subpattern count = 0
   1605 No options
   1606 First char = 'a'
   1607 Need char = 'b'
   1608 
   1609 /a(\d)*/I
   1610 Capturing subpattern count = 1
   1611 No options
   1612 First char = 'a'
   1613 No need char
   1614 
   1615 /abcde{0,0}/I
   1616 Capturing subpattern count = 0
   1617 No options
   1618 First char = 'a'
   1619 Need char = 'd'
   1620 
   1621 /ab\d+/I
   1622 Capturing subpattern count = 0
   1623 No options
   1624 First char = 'a'
   1625 Need char = 'b'
   1626 
   1627 /a(?(1)b)(.)/I
   1628 Capturing subpattern count = 1
   1629 No options
   1630 First char = 'a'
   1631 No need char
   1632 
   1633 /a(?(1)bag|big)(.)/I
   1634 Capturing subpattern count = 1
   1635 No options
   1636 First char = 'a'
   1637 Need char = 'g'
   1638 
   1639 /a(?(1)bag|big)*(.)/I
   1640 Capturing subpattern count = 1
   1641 No options
   1642 First char = 'a'
   1643 No need char
   1644 
   1645 /a(?(1)bag|big)+(.)/I
   1646 Capturing subpattern count = 1
   1647 No options
   1648 First char = 'a'
   1649 Need char = 'g'
   1650 
   1651 /a(?(1)b..|b..)(.)/I
   1652 Capturing subpattern count = 1
   1653 No options
   1654 First char = 'a'
   1655 Need char = 'b'
   1656 
   1657 /ab\d{0}e/I
   1658 Capturing subpattern count = 0
   1659 No options
   1660 First char = 'a'
   1661 Need char = 'e'
   1662 
   1663 /a?b?/I
   1664 Capturing subpattern count = 0
   1665 No options
   1666 No first char
   1667 No need char
   1668     a
   1669  0: a
   1670     b
   1671  0: b
   1672     ab
   1673  0: ab
   1674     \
   1675  0: 
   1676     *** Failers
   1677  0: 
   1678     \N
   1679 No match
   1680 
   1681 /|-/I
   1682 Capturing subpattern count = 0
   1683 No options
   1684 No first char
   1685 No need char
   1686     abcd
   1687  0: 
   1688     -abc
   1689  0: 
   1690     \Nab-c
   1691  0: -
   1692     *** Failers
   1693  0: 
   1694     \Nabc
   1695 No match
   1696 
   1697 /a*(b+)(z)(z)/P
   1698     aaaabbbbzzzz
   1699  0: aaaabbbbzz
   1700  1: bbbb
   1701  2: z
   1702  3: z
   1703     aaaabbbbzzzz\O0
   1704     aaaabbbbzzzz\O1
   1705  0: aaaabbbbzz
   1706     aaaabbbbzzzz\O2
   1707  0: aaaabbbbzz
   1708  1: bbbb
   1709     aaaabbbbzzzz\O3
   1710  0: aaaabbbbzz
   1711  1: bbbb
   1712  2: z
   1713     aaaabbbbzzzz\O4
   1714  0: aaaabbbbzz
   1715  1: bbbb
   1716  2: z
   1717  3: z
   1718     aaaabbbbzzzz\O5
   1719  0: aaaabbbbzz
   1720  1: bbbb
   1721  2: z
   1722  3: z
   1723 
   1724 /^.?abcd/IS
   1725 Capturing subpattern count = 0
   1726 Options: anchored
   1727 No first char
   1728 Need char = 'd'
   1729 Subject length lower bound = 4
   1730 No set of starting bytes
   1731 
   1732 /\(             # ( at start
   1733   (?:           # Non-capturing bracket
   1734   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
   1735   |             # Or
   1736   (?R)          # Recurse - i.e. nested bracketed string
   1737   )*            # Zero or more contents
   1738   \)            # Closing )
   1739   /Ix
   1740 Capturing subpattern count = 0
   1741 Options: extended
   1742 First char = '('
   1743 Need char = ')'
   1744     (abcd)
   1745  0: (abcd)
   1746     (abcd)xyz
   1747  0: (abcd)
   1748     xyz(abcd)
   1749  0: (abcd)
   1750     (ab(xy)cd)pqr
   1751  0: (ab(xy)cd)
   1752     (ab(xycd)pqr
   1753  0: (xycd)
   1754     () abc ()
   1755  0: ()
   1756     12(abcde(fsh)xyz(foo(bar))lmno)89
   1757  0: (abcde(fsh)xyz(foo(bar))lmno)
   1758     *** Failers
   1759 No match
   1760     abcd
   1761 No match
   1762     abcd)
   1763 No match
   1764     (abcd
   1765 No match
   1766 
   1767 /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
   1768 Capturing subpattern count = 1
   1769 Options: extended
   1770 First char = '('
   1771 Need char = ')'
   1772     (ab(xy)cd)pqr
   1773  0: (ab(xy)cd)
   1774  1: cd
   1775     1(abcd)(x(y)z)pqr
   1776  0: (abcd)
   1777  1: abcd
   1778  0: (x(y)z)
   1779  1: z
   1780 
   1781 /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
   1782 Capturing subpattern count = 0
   1783 Options: extended
   1784 First char = '('
   1785 Need char = ')'
   1786     (abcd)
   1787  0: (abcd)
   1788     (ab(xy)cd)
   1789  0: (xy)
   1790     (a(b(c)d)e)
   1791  0: (c)
   1792     ((ab))
   1793  0: ((ab))
   1794     *** Failers
   1795 No match
   1796     ()
   1797 No match
   1798 
   1799 /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
   1800 Capturing subpattern count = 0
   1801 Options: extended
   1802 First char = '('
   1803 Need char = ')'
   1804     ()
   1805  0: ()
   1806     12(abcde(fsh)xyz(foo(bar))lmno)89
   1807  0: (fsh)
   1808 
   1809 /\(  ( (?>[^()]+) | (?R) )* \) /Ix
   1810 Capturing subpattern count = 1
   1811 Options: extended
   1812 First char = '('
   1813 Need char = ')'
   1814     (ab(xy)cd)
   1815  0: (ab(xy)cd)
   1816  1: cd
   1817 
   1818 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
   1819 Capturing subpattern count = 2
   1820 Options: extended
   1821 First char = '('
   1822 Need char = ')'
   1823     (ab(xy)cd)
   1824  0: (ab(xy)cd)
   1825  1: ab(xy)cd
   1826  2: cd
   1827 
   1828 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
   1829 Capturing subpattern count = 3
   1830 Options: extended
   1831 First char = '('
   1832 Need char = ')'
   1833     (ab(xy)cd)
   1834  0: (ab(xy)cd)
   1835  1: <unset>
   1836  2: ab(xy)cd
   1837  3: cd
   1838     (123ab(xy)cd)
   1839  0: (123ab(xy)cd)
   1840  1: 123
   1841  2: ab(xy)cd
   1842  3: cd
   1843 
   1844 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
   1845 Capturing subpattern count = 3
   1846 Options: extended
   1847 First char = '('
   1848 Need char = ')'
   1849     (ab(xy)cd)
   1850  0: (ab(xy)cd)
   1851  1: ab(xy)cd
   1852  2: <unset>
   1853  3: cd
   1854     (123ab(xy)cd)
   1855  0: (123ab(xy)cd)
   1856  1: 123ab(xy)cd
   1857  2: 123
   1858  3: cd
   1859 
   1860 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
   1861 Capturing subpattern count = 11
   1862 Options: extended
   1863 First char = '('
   1864 Need char = ')'
   1865     (ab(xy)cd)
   1866  0: (ab(xy)cd)
   1867  1: ab(xy)cd
   1868  2: ab(xy)cd
   1869  3: ab(xy)cd
   1870  4: ab(xy)cd
   1871  5: ab(xy)cd
   1872  6: ab(xy)cd
   1873  7: ab(xy)cd
   1874  8: ab(xy)cd
   1875  9: ab(xy)cd
   1876 10: ab(xy)cd
   1877 11: cd
   1878 
   1879 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
   1880 Capturing subpattern count = 3
   1881 Options: extended
   1882 First char = '('
   1883 Need char = ')'
   1884     (abcd(xyz<p>qrs)123)
   1885  0: (abcd(xyz<p>qrs)123)
   1886  1: abcd(xyz<p>qrs)123
   1887  2: 123
   1888 
   1889 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
   1890 Capturing subpattern count = 3
   1891 Options: extended
   1892 First char = '('
   1893 Need char = ')'
   1894     (ab(cd)ef)
   1895  0: (ab(cd)ef)
   1896  1: ab(cd)ef
   1897  2: ef
   1898  3: (cd)
   1899     (ab(cd(ef)gh)ij)
   1900  0: (ab(cd(ef)gh)ij)
   1901  1: ab(cd(ef)gh)ij
   1902  2: ij
   1903  3: (cd(ef)gh)
   1904 
   1905 /^[[:alnum:]]/DZ
   1906 ------------------------------------------------------------------
   1907         Bra
   1908         ^
   1909         [0-9A-Za-z]
   1910         Ket
   1911         End
   1912 ------------------------------------------------------------------
   1913 Capturing subpattern count = 0
   1914 Options: anchored
   1915 No first char
   1916 No need char
   1917 
   1918 /^[[:^alnum:]]/DZ
   1919 ------------------------------------------------------------------
   1920         Bra
   1921         ^
   1922         [\x00-/:-@[-`{-\xff] (neg)
   1923         Ket
   1924         End
   1925 ------------------------------------------------------------------
   1926 Capturing subpattern count = 0
   1927 Options: anchored
   1928 No first char
   1929 No need char
   1930 
   1931 /^[[:alpha:]]/DZ
   1932 ------------------------------------------------------------------
   1933         Bra
   1934         ^
   1935         [A-Za-z]
   1936         Ket
   1937         End
   1938 ------------------------------------------------------------------
   1939 Capturing subpattern count = 0
   1940 Options: anchored
   1941 No first char
   1942 No need char
   1943 
   1944 /^[[:^alpha:]]/DZ
   1945 ------------------------------------------------------------------
   1946         Bra
   1947         ^
   1948         [\x00-@[-`{-\xff] (neg)
   1949         Ket
   1950         End
   1951 ------------------------------------------------------------------
   1952 Capturing subpattern count = 0
   1953 Options: anchored
   1954 No first char
   1955 No need char
   1956 
   1957 /[_[:alpha:]]/IS
   1958 Capturing subpattern count = 0
   1959 No options
   1960 No first char
   1961 No need char
   1962 Subject length lower bound = 1
   1963 Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
   1964   _ 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 
   1965 
   1966 /^[[:ascii:]]/DZ
   1967 ------------------------------------------------------------------
   1968         Bra
   1969         ^
   1970         [\x00-\x7f]
   1971         Ket
   1972         End
   1973 ------------------------------------------------------------------
   1974 Capturing subpattern count = 0
   1975 Options: anchored
   1976 No first char
   1977 No need char
   1978 
   1979 /^[[:^ascii:]]/DZ
   1980 ------------------------------------------------------------------
   1981         Bra
   1982         ^
   1983         [\x80-\xff] (neg)
   1984         Ket
   1985         End
   1986 ------------------------------------------------------------------
   1987 Capturing subpattern count = 0
   1988 Options: anchored
   1989 No first char
   1990 No need char
   1991 
   1992 /^[[:blank:]]/DZ
   1993 ------------------------------------------------------------------
   1994         Bra
   1995         ^
   1996         [\x09 ]
   1997         Ket
   1998         End
   1999 ------------------------------------------------------------------
   2000 Capturing subpattern count = 0
   2001 Options: anchored
   2002 No first char
   2003 No need char
   2004 
   2005 /^[[:^blank:]]/DZ
   2006 ------------------------------------------------------------------
   2007         Bra
   2008         ^
   2009         [\x00-\x08\x0a-\x1f!-\xff] (neg)
   2010         Ket
   2011         End
   2012 ------------------------------------------------------------------
   2013 Capturing subpattern count = 0
   2014 Options: anchored
   2015 No first char
   2016 No need char
   2017 
   2018 /[\n\x0b\x0c\x0d[:blank:]]/IS
   2019 Capturing subpattern count = 0
   2020 Contains explicit CR or LF match
   2021 No options
   2022 No first char
   2023 No need char
   2024 Subject length lower bound = 1
   2025 Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 
   2026 
   2027 /^[[:cntrl:]]/DZ
   2028 ------------------------------------------------------------------
   2029         Bra
   2030         ^
   2031         [\x00-\x1f\x7f]
   2032         Ket
   2033         End
   2034 ------------------------------------------------------------------
   2035 Capturing subpattern count = 0
   2036 Options: anchored
   2037 No first char
   2038 No need char
   2039 
   2040 /^[[:digit:]]/DZ
   2041 ------------------------------------------------------------------
   2042         Bra
   2043         ^
   2044         [0-9]
   2045         Ket
   2046         End
   2047 ------------------------------------------------------------------
   2048 Capturing subpattern count = 0
   2049 Options: anchored
   2050 No first char
   2051 No need char
   2052 
   2053 /^[[:graph:]]/DZ
   2054 ------------------------------------------------------------------
   2055         Bra
   2056         ^
   2057         [!-~]
   2058         Ket
   2059         End
   2060 ------------------------------------------------------------------
   2061 Capturing subpattern count = 0
   2062 Options: anchored
   2063 No first char
   2064 No need char
   2065 
   2066 /^[[:lower:]]/DZ
   2067 ------------------------------------------------------------------
   2068         Bra
   2069         ^
   2070         [a-z]
   2071         Ket
   2072         End
   2073 ------------------------------------------------------------------
   2074 Capturing subpattern count = 0
   2075 Options: anchored
   2076 No first char
   2077 No need char
   2078 
   2079 /^[[:print:]]/DZ
   2080 ------------------------------------------------------------------
   2081         Bra
   2082         ^
   2083         [ -~]
   2084         Ket
   2085         End
   2086 ------------------------------------------------------------------
   2087 Capturing subpattern count = 0
   2088 Options: anchored
   2089 No first char
   2090 No need char
   2091 
   2092 /^[[:punct:]]/DZ
   2093 ------------------------------------------------------------------
   2094         Bra
   2095         ^
   2096         [!-/:-@[-`{-~]
   2097         Ket
   2098         End
   2099 ------------------------------------------------------------------
   2100 Capturing subpattern count = 0
   2101 Options: anchored
   2102 No first char
   2103 No need char
   2104 
   2105 /^[[:space:]]/DZ
   2106 ------------------------------------------------------------------
   2107         Bra
   2108         ^
   2109         [\x09-\x0d ]
   2110         Ket
   2111         End
   2112 ------------------------------------------------------------------
   2113 Capturing subpattern count = 0
   2114 Options: anchored
   2115 No first char
   2116 No need char
   2117 
   2118 /^[[:upper:]]/DZ
   2119 ------------------------------------------------------------------
   2120         Bra
   2121         ^
   2122         [A-Z]
   2123         Ket
   2124         End
   2125 ------------------------------------------------------------------
   2126 Capturing subpattern count = 0
   2127 Options: anchored
   2128 No first char
   2129 No need char
   2130 
   2131 /^[[:xdigit:]]/DZ
   2132 ------------------------------------------------------------------
   2133         Bra
   2134         ^
   2135         [0-9A-Fa-f]
   2136         Ket
   2137         End
   2138 ------------------------------------------------------------------
   2139 Capturing subpattern count = 0
   2140 Options: anchored
   2141 No first char
   2142 No need char
   2143 
   2144 /^[[:word:]]/DZ
   2145 ------------------------------------------------------------------
   2146         Bra
   2147         ^
   2148         [0-9A-Z_a-z]
   2149         Ket
   2150         End
   2151 ------------------------------------------------------------------
   2152 Capturing subpattern count = 0
   2153 Options: anchored
   2154 No first char
   2155 No need char
   2156 
   2157 /^[[:^cntrl:]]/DZ
   2158 ------------------------------------------------------------------
   2159         Bra
   2160         ^
   2161         [ -~\x80-\xff] (neg)
   2162         Ket
   2163         End
   2164 ------------------------------------------------------------------
   2165 Capturing subpattern count = 0
   2166 Options: anchored
   2167 No first char
   2168 No need char
   2169 
   2170 /^[12[:^digit:]]/DZ
   2171 ------------------------------------------------------------------
   2172         Bra
   2173         ^
   2174         [\x00-/12:-\xff] (neg)
   2175         Ket
   2176         End
   2177 ------------------------------------------------------------------
   2178 Capturing subpattern count = 0
   2179 Options: anchored
   2180 No first char
   2181 No need char
   2182 
   2183 /^[[:^blank:]]/DZ
   2184 ------------------------------------------------------------------
   2185         Bra
   2186         ^
   2187         [\x00-\x08\x0a-\x1f!-\xff] (neg)
   2188         Ket
   2189         End
   2190 ------------------------------------------------------------------
   2191 Capturing subpattern count = 0
   2192 Options: anchored
   2193 No first char
   2194 No need char
   2195 
   2196 /[01[:alpha:]%]/DZ
   2197 ------------------------------------------------------------------
   2198         Bra
   2199         [%01A-Za-z]
   2200         Ket
   2201         End
   2202 ------------------------------------------------------------------
   2203 Capturing subpattern count = 0
   2204 No options
   2205 No first char
   2206 No need char
   2207 
   2208 /[[.ch.]]/I
   2209 Failed: POSIX collating elements are not supported at offset 1
   2210 
   2211 /[[=ch=]]/I
   2212 Failed: POSIX collating elements are not supported at offset 1
   2213 
   2214 /[[:rhubarb:]]/I
   2215 Failed: unknown POSIX class name at offset 3
   2216 
   2217 /[[:upper:]]/Ii
   2218 Capturing subpattern count = 0
   2219 Options: caseless
   2220 No first char
   2221 No need char
   2222     A
   2223  0: A
   2224     a
   2225  0: a
   2226 
   2227 /[[:lower:]]/Ii
   2228 Capturing subpattern count = 0
   2229 Options: caseless
   2230 No first char
   2231 No need char
   2232     A
   2233  0: A
   2234     a
   2235  0: a
   2236 
   2237 /((?-i)[[:lower:]])[[:lower:]]/Ii
   2238 Capturing subpattern count = 1
   2239 Options: caseless
   2240 No first char
   2241 No need char
   2242     ab
   2243  0: ab
   2244  1: a
   2245     aB
   2246  0: aB
   2247  1: a
   2248     *** Failers
   2249  0: ai
   2250  1: a
   2251     Ab
   2252 No match
   2253     AB
   2254 No match
   2255 
   2256 /[\200-\110]/I
   2257 Failed: range out of order in character class at offset 9
   2258 
   2259 /^(?(0)f|b)oo/I
   2260 Failed: invalid condition (?(0) at offset 6
   2261 
   2262 /This one's here because of the large output vector needed/I
   2263 Capturing subpattern count = 0
   2264 No options
   2265 First char = 'T'
   2266 Need char = 'd'
   2267 
   2268 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
   2269 Capturing subpattern count = 271
   2270 Max back reference = 270
   2271 No options
   2272 No first char
   2273 No need char
   2274     \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
   2275  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
   2276  1: 1 
   2277  2: 2 
   2278  3: 3 
   2279  4: 4 
   2280  5: 5 
   2281  6: 6 
   2282  7: 7 
   2283  8: 8 
   2284  9: 9 
   2285 10: 10 
   2286 11: 11 
   2287 12: 12 
   2288 13: 13 
   2289 14: 14 
   2290 15: 15 
   2291 16: 16 
   2292 17: 17 
   2293 18: 18 
   2294 19: 19 
   2295 20: 20 
   2296 21: 21 
   2297 22: 22 
   2298 23: 23 
   2299 24: 24 
   2300 25: 25 
   2301 26: 26 
   2302 27: 27 
   2303 28: 28 
   2304 29: 29 
   2305 30: 30 
   2306 31: 31 
   2307 32: 32 
   2308 33: 33 
   2309 34: 34 
   2310 35: 35 
   2311 36: 36 
   2312 37: 37 
   2313 38: 38 
   2314 39: 39 
   2315 40: 40 
   2316 41: 41 
   2317 42: 42 
   2318 43: 43 
   2319 44: 44 
   2320 45: 45 
   2321 46: 46 
   2322 47: 47 
   2323 48: 48 
   2324 49: 49 
   2325 50: 50 
   2326 51: 51 
   2327 52: 52 
   2328 53: 53 
   2329 54: 54 
   2330 55: 55 
   2331 56: 56 
   2332 57: 57 
   2333 58: 58 
   2334 59: 59 
   2335 60: 60 
   2336 61: 61 
   2337 62: 62 
   2338 63: 63 
   2339 64: 64 
   2340 65: 65 
   2341 66: 66 
   2342 67: 67 
   2343 68: 68 
   2344 69: 69 
   2345 70: 70 
   2346 71: 71 
   2347 72: 72 
   2348 73: 73 
   2349 74: 74 
   2350 75: 75 
   2351 76: 76 
   2352 77: 77 
   2353 78: 78 
   2354 79: 79 
   2355 80: 80 
   2356 81: 81 
   2357 82: 82 
   2358 83: 83 
   2359 84: 84 
   2360 85: 85 
   2361 86: 86 
   2362 87: 87 
   2363 88: 88 
   2364 89: 89 
   2365 90: 90 
   2366 91: 91 
   2367 92: 92 
   2368 93: 93 
   2369 94: 94 
   2370 95: 95 
   2371 96: 96 
   2372 97: 97 
   2373 98: 98 
   2374 99: 99 
   2375 100: 100 
   2376 101: 101 
   2377 102: 102 
   2378 103: 103 
   2379 104: 104 
   2380 105: 105 
   2381 106: 106 
   2382 107: 107 
   2383 108: 108 
   2384 109: 109 
   2385 110: 110 
   2386 111: 111 
   2387 112: 112 
   2388 113: 113 
   2389 114: 114 
   2390 115: 115 
   2391 116: 116 
   2392 117: 117 
   2393 118: 118 
   2394 119: 119 
   2395 120: 120 
   2396 121: 121 
   2397 122: 122 
   2398 123: 123 
   2399 124: 124 
   2400 125: 125 
   2401 126: 126 
   2402 127: 127 
   2403 128: 128 
   2404 129: 129 
   2405 130: 130 
   2406 131: 131 
   2407 132: 132 
   2408 133: 133 
   2409 134: 134 
   2410 135: 135 
   2411 136: 136 
   2412 137: 137 
   2413 138: 138 
   2414 139: 139 
   2415 140: 140 
   2416 141: 141 
   2417 142: 142 
   2418 143: 143 
   2419 144: 144 
   2420 145: 145 
   2421 146: 146 
   2422 147: 147 
   2423 148: 148 
   2424 149: 149 
   2425 150: 150 
   2426 151: 151 
   2427 152: 152 
   2428 153: 153 
   2429 154: 154 
   2430 155: 155 
   2431 156: 156 
   2432 157: 157 
   2433 158: 158 
   2434 159: 159 
   2435 160: 160 
   2436 161: 161 
   2437 162: 162 
   2438 163: 163 
   2439 164: 164 
   2440 165: 165 
   2441 166: 166 
   2442 167: 167 
   2443 168: 168 
   2444 169: 169 
   2445 170: 170 
   2446 171: 171 
   2447 172: 172 
   2448 173: 173 
   2449 174: 174 
   2450 175: 175 
   2451 176: 176 
   2452 177: 177 
   2453 178: 178 
   2454 179: 179 
   2455 180: 180 
   2456 181: 181 
   2457 182: 182 
   2458 183: 183 
   2459 184: 184 
   2460 185: 185 
   2461 186: 186 
   2462 187: 187 
   2463 188: 188 
   2464 189: 189 
   2465 190: 190 
   2466 191: 191 
   2467 192: 192 
   2468 193: 193 
   2469 194: 194 
   2470 195: 195 
   2471 196: 196 
   2472 197: 197 
   2473 198: 198 
   2474 199: 199 
   2475 200: 200 
   2476 201: 201 
   2477 202: 202 
   2478 203: 203 
   2479 204: 204 
   2480 205: 205 
   2481 206: 206 
   2482 207: 207 
   2483 208: 208 
   2484 209: 209 
   2485 210: 210 
   2486 211: 211 
   2487 212: 212 
   2488 213: 213 
   2489 214: 214 
   2490 215: 215 
   2491 216: 216 
   2492 217: 217 
   2493 218: 218 
   2494 219: 219 
   2495 220: 220 
   2496 221: 221 
   2497 222: 222 
   2498 223: 223 
   2499 224: 224 
   2500 225: 225 
   2501 226: 226 
   2502 227: 227 
   2503 228: 228 
   2504 229: 229 
   2505 230: 230 
   2506 231: 231 
   2507 232: 232 
   2508 233: 233 
   2509 234: 234 
   2510 235: 235 
   2511 236: 236 
   2512 237: 237 
   2513 238: 238 
   2514 239: 239 
   2515 240: 240 
   2516 241: 241 
   2517 242: 242 
   2518 243: 243 
   2519 244: 244 
   2520 245: 245 
   2521 246: 246 
   2522 247: 247 
   2523 248: 248 
   2524 249: 249 
   2525 250: 250 
   2526 251: 251 
   2527 252: 252 
   2528 253: 253 
   2529 254: 254 
   2530 255: 255 
   2531 256: 256 
   2532 257: 257 
   2533 258: 258 
   2534 259: 259 
   2535 260: 260 
   2536 261: 261 
   2537 262: 262 
   2538 263: 263 
   2539 264: 264 
   2540 265: 265 
   2541 266: 266 
   2542 267: 267 
   2543 268: 268 
   2544 269: 269 
   2545 270: ABC
   2546 271: ABC
   2547 
   2548 /This one's here because Perl does this differently and PCRE can't at present/I
   2549 Capturing subpattern count = 0
   2550 No options
   2551 First char = 'T'
   2552 Need char = 't'
   2553 
   2554 /(main(O)?)+/I
   2555 Capturing subpattern count = 2
   2556 No options
   2557 First char = 'm'
   2558 Need char = 'n'
   2559     mainmain
   2560  0: mainmain
   2561  1: main
   2562     mainOmain
   2563  0: mainOmain
   2564  1: main
   2565  2: O
   2566 
   2567 /These are all cases where Perl does it differently (nested captures)/I
   2568 Capturing subpattern count = 1
   2569 No options
   2570 First char = 'T'
   2571 Need char = 's'
   2572 
   2573 /^(a(b)?)+$/I
   2574 Capturing subpattern count = 2
   2575 Options: anchored
   2576 No first char
   2577 No need char
   2578     aba
   2579  0: aba
   2580  1: a
   2581  2: b
   2582 
   2583 /^(aa(bb)?)+$/I
   2584 Capturing subpattern count = 2
   2585 Options: anchored
   2586 No first char
   2587 No need char
   2588     aabbaa
   2589  0: aabbaa
   2590  1: aa
   2591  2: bb
   2592 
   2593 /^(aa|aa(bb))+$/I
   2594 Capturing subpattern count = 2
   2595 Options: anchored
   2596 No first char
   2597 No need char
   2598     aabbaa
   2599  0: aabbaa
   2600  1: aa
   2601  2: bb
   2602 
   2603 /^(aa(bb)??)+$/I
   2604 Capturing subpattern count = 2
   2605 Options: anchored
   2606 No first char
   2607 No need char
   2608     aabbaa
   2609  0: aabbaa
   2610  1: aa
   2611  2: bb
   2612 
   2613 /^(?:aa(bb)?)+$/I
   2614 Capturing subpattern count = 1
   2615 Options: anchored
   2616 No first char
   2617 No need char
   2618     aabbaa
   2619  0: aabbaa
   2620  1: bb
   2621 
   2622 /^(aa(b(b))?)+$/I
   2623 Capturing subpattern count = 3
   2624 Options: anchored
   2625 No first char
   2626 No need char
   2627     aabbaa
   2628  0: aabbaa
   2629  1: aa
   2630  2: bb
   2631  3: b
   2632 
   2633 /^(?:aa(b(b))?)+$/I
   2634 Capturing subpattern count = 2
   2635 Options: anchored
   2636 No first char
   2637 No need char
   2638     aabbaa
   2639  0: aabbaa
   2640  1: bb
   2641  2: b
   2642 
   2643 /^(?:aa(b(?:b))?)+$/I
   2644 Capturing subpattern count = 1
   2645 Options: anchored
   2646 No first char
   2647 No need char
   2648     aabbaa
   2649  0: aabbaa
   2650  1: bb
   2651 
   2652 /^(?:aa(bb(?:b))?)+$/I
   2653 Capturing subpattern count = 1
   2654 Options: anchored
   2655 No first char
   2656 No need char
   2657     aabbbaa
   2658  0: aabbbaa
   2659  1: bbb
   2660 
   2661 /^(?:aa(b(?:bb))?)+$/I
   2662 Capturing subpattern count = 1
   2663 Options: anchored
   2664 No first char
   2665 No need char
   2666     aabbbaa
   2667  0: aabbbaa
   2668  1: bbb
   2669 
   2670 /^(?:aa(?:b(b))?)+$/I
   2671 Capturing subpattern count = 1
   2672 Options: anchored
   2673 No first char
   2674 No need char
   2675     aabbaa
   2676  0: aabbaa
   2677  1: b
   2678 
   2679 /^(?:aa(?:b(bb))?)+$/I
   2680 Capturing subpattern count = 1
   2681 Options: anchored
   2682 No first char
   2683 No need char
   2684     aabbbaa
   2685  0: aabbbaa
   2686  1: bb
   2687 
   2688 /^(aa(b(bb))?)+$/I
   2689 Capturing subpattern count = 3
   2690 Options: anchored
   2691 No first char
   2692 No need char
   2693     aabbbaa
   2694  0: aabbbaa
   2695  1: aa
   2696  2: bbb
   2697  3: bb
   2698 
   2699 /^(aa(bb(bb))?)+$/I
   2700 Capturing subpattern count = 3
   2701 Options: anchored
   2702 No first char
   2703 No need char
   2704     aabbbbaa
   2705  0: aabbbbaa
   2706  1: aa
   2707  2: bbbb
   2708  3: bb
   2709 
   2710 /--------------------------------------------------------------------/I
   2711 Capturing subpattern count = 0
   2712 No options
   2713 First char = '-'
   2714 Need char = '-'
   2715 
   2716 /#/IxDZ
   2717 ------------------------------------------------------------------
   2718         Bra
   2719         Ket
   2720         End
   2721 ------------------------------------------------------------------
   2722 Capturing subpattern count = 0
   2723 Options: extended
   2724 No first char
   2725 No need char
   2726 
   2727 /a#/IxDZ
   2728 ------------------------------------------------------------------
   2729         Bra
   2730         a
   2731         Ket
   2732         End
   2733 ------------------------------------------------------------------
   2734 Capturing subpattern count = 0
   2735 Options: extended
   2736 First char = 'a'
   2737 No need char
   2738 
   2739 /[\s]/DZ
   2740 ------------------------------------------------------------------
   2741         Bra
   2742         [\x09\x0a\x0c\x0d ]
   2743         Ket
   2744         End
   2745 ------------------------------------------------------------------
   2746 Capturing subpattern count = 0
   2747 No options
   2748 No first char
   2749 No need char
   2750 
   2751 /[\S]/DZ
   2752 ------------------------------------------------------------------
   2753         Bra
   2754         [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
   2755         Ket
   2756         End
   2757 ------------------------------------------------------------------
   2758 Capturing subpattern count = 0
   2759 No options
   2760 No first char
   2761 No need char
   2762 
   2763 /a(?i)b/DZ
   2764 ------------------------------------------------------------------
   2765         Bra
   2766         a
   2767      01 Opt
   2768      NC b
   2769         Ket
   2770         End
   2771 ------------------------------------------------------------------
   2772 Capturing subpattern count = 0
   2773 No options
   2774 First char = 'a'
   2775 Need char = 'b' (caseless)
   2776     ab
   2777  0: ab
   2778     aB
   2779  0: aB
   2780     *** Failers
   2781 No match
   2782     AB
   2783 No match
   2784 
   2785 /(a(?i)b)/DZ
   2786 ------------------------------------------------------------------
   2787         Bra
   2788         CBra 1
   2789         a
   2790      01 Opt
   2791      NC b
   2792         Ket
   2793      00 Opt
   2794         Ket
   2795         End
   2796 ------------------------------------------------------------------
   2797 Capturing subpattern count = 1
   2798 No options
   2799 First char = 'a'
   2800 Need char = 'b' (caseless)
   2801     ab
   2802  0: ab
   2803  1: ab
   2804     aB
   2805  0: aB
   2806  1: aB
   2807     *** Failers
   2808 No match
   2809     AB
   2810 No match
   2811 
   2812 /   (?i)abc/IxDZ
   2813 ------------------------------------------------------------------
   2814         Bra
   2815      NC abc
   2816         Ket
   2817         End
   2818 ------------------------------------------------------------------
   2819 Capturing subpattern count = 0
   2820 Options: caseless extended
   2821 First char = 'a' (caseless)
   2822 Need char = 'c' (caseless)
   2823 
   2824 /#this is a comment
   2825   (?i)abc/IxDZ
   2826 ------------------------------------------------------------------
   2827         Bra
   2828      NC abc
   2829         Ket
   2830         End
   2831 ------------------------------------------------------------------
   2832 Capturing subpattern count = 0
   2833 Options: caseless extended
   2834 First char = 'a' (caseless)
   2835 Need char = 'c' (caseless)
   2836 
   2837 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
   2838 ------------------------------------------------------------------
   2839         Bra
   2840         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
   2841         Ket
   2842         End
   2843 ------------------------------------------------------------------
   2844 Capturing subpattern count = 0
   2845 No options
   2846 First char = '1'
   2847 Need char = '0'
   2848 
   2849 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
   2850 ------------------------------------------------------------------
   2851         Bra
   2852         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
   2853         Ket
   2854         End
   2855 ------------------------------------------------------------------
   2856 Capturing subpattern count = 0
   2857 No options
   2858 First char = '1'
   2859 Need char = '0'
   2860 
   2861 /\Q\E/DZ
   2862 ------------------------------------------------------------------
   2863         Bra
   2864         Ket
   2865         End
   2866 ------------------------------------------------------------------
   2867 Capturing subpattern count = 0
   2868 No options
   2869 No first char
   2870 No need char
   2871     \
   2872  0: 
   2873 
   2874 /\Q\Ex/DZ
   2875 ------------------------------------------------------------------
   2876         Bra
   2877         x
   2878         Ket
   2879         End
   2880 ------------------------------------------------------------------
   2881 Capturing subpattern count = 0
   2882 No options
   2883 First char = 'x'
   2884 No need char
   2885 
   2886 / \Q\E/DZ
   2887 ------------------------------------------------------------------
   2888         Bra
   2889          
   2890         Ket
   2891         End
   2892 ------------------------------------------------------------------
   2893 Capturing subpattern count = 0
   2894 No options
   2895 First char = ' '
   2896 No need char
   2897 
   2898 /a\Q\E/DZ
   2899 ------------------------------------------------------------------
   2900         Bra
   2901         a
   2902         Ket
   2903         End
   2904 ------------------------------------------------------------------
   2905 Capturing subpattern count = 0
   2906 No options
   2907 First char = 'a'
   2908 No need char
   2909   abc
   2910  0: a
   2911   bca
   2912  0: a
   2913   bac
   2914  0: a
   2915 
   2916 /a\Q\Eb/DZ
   2917 ------------------------------------------------------------------
   2918         Bra
   2919         ab
   2920         Ket
   2921         End
   2922 ------------------------------------------------------------------
   2923 Capturing subpattern count = 0
   2924 No options
   2925 First char = 'a'
   2926 Need char = 'b'
   2927   abc
   2928  0: ab
   2929 
   2930 /\Q\Eabc/DZ
   2931 ------------------------------------------------------------------
   2932         Bra
   2933         abc
   2934         Ket
   2935         End
   2936 ------------------------------------------------------------------
   2937 Capturing subpattern count = 0
   2938 No options
   2939 First char = 'a'
   2940 Need char = 'c'
   2941 
   2942 /x*+\w/DZ
   2943 ------------------------------------------------------------------
   2944         Bra
   2945         x*+
   2946         \w
   2947         Ket
   2948         End
   2949 ------------------------------------------------------------------
   2950 Capturing subpattern count = 0
   2951 No options
   2952 No first char
   2953 No need char
   2954     *** Failers
   2955  0: F
   2956     xxxxx
   2957 No match
   2958 
   2959 /x?+/DZ
   2960 ------------------------------------------------------------------
   2961         Bra
   2962         x?+
   2963         Ket
   2964         End
   2965 ------------------------------------------------------------------
   2966 Capturing subpattern count = 0
   2967 No options
   2968 No first char
   2969 No need char
   2970 
   2971 /x++/DZ
   2972 ------------------------------------------------------------------
   2973         Bra
   2974         x++
   2975         Ket
   2976         End
   2977 ------------------------------------------------------------------
   2978 Capturing subpattern count = 0
   2979 No options
   2980 First char = 'x'
   2981 No need char
   2982 
   2983 /x{1,3}+/DZ
   2984 ------------------------------------------------------------------
   2985         Bra
   2986         Once
   2987         x
   2988         x{0,2}
   2989         Ket
   2990         Ket
   2991         End
   2992 ------------------------------------------------------------------
   2993 Capturing subpattern count = 0
   2994 No options
   2995 First char = 'x'
   2996 No need char
   2997 
   2998 /(x)*+/DZ
   2999 ------------------------------------------------------------------
   3000         Bra
   3001         Once
   3002         Brazero
   3003         CBra 1
   3004         x
   3005         KetRmax
   3006         Ket
   3007         Ket
   3008         End
   3009 ------------------------------------------------------------------
   3010 Capturing subpattern count = 1
   3011 No options
   3012 No first char
   3013 No need char
   3014 
   3015 /^(\w++|\s++)*$/I
   3016 Capturing subpattern count = 1
   3017 Options: anchored
   3018 No first char
   3019 No need char
   3020     now is the time for all good men to come to the aid of the party
   3021  0: now is the time for all good men to come to the aid of the party
   3022  1: party
   3023     *** Failers
   3024 No match
   3025     this is not a line with only words and spaces!
   3026 No match
   3027 
   3028 /(\d++)(\w)/I
   3029 Capturing subpattern count = 2
   3030 No options
   3031 No first char
   3032 No need char
   3033     12345a
   3034  0: 12345a
   3035  1: 12345
   3036  2: a
   3037     *** Failers
   3038 No match
   3039     12345+
   3040 No match
   3041 
   3042 /a++b/I
   3043 Capturing subpattern count = 0
   3044 No options
   3045 First char = 'a'
   3046 Need char = 'b'
   3047     aaab
   3048  0: aaab
   3049 
   3050 /(a++b)/I
   3051 Capturing subpattern count = 1
   3052 No options
   3053 First char = 'a'
   3054 Need char = 'b'
   3055     aaab
   3056  0: aaab
   3057  1: aaab
   3058 
   3059 /(a++)b/I
   3060 Capturing subpattern count = 1
   3061 No options
   3062 First char = 'a'
   3063 Need char = 'b'
   3064     aaab
   3065  0: aaab
   3066  1: aaa
   3067 
   3068 /([^()]++|\([^()]*\))+/I
   3069 Capturing subpattern count = 1
   3070 No options
   3071 No first char
   3072 No need char
   3073     ((abc(ade)ufh()()x
   3074  0: abc(ade)ufh()()x
   3075  1: x
   3076 
   3077 /\(([^()]++|\([^()]+\))+\)/I
   3078 Capturing subpattern count = 1
   3079 No options
   3080 First char = '('
   3081 Need char = ')'
   3082     (abc)
   3083  0: (abc)
   3084  1: abc
   3085     (abc(def)xyz)
   3086  0: (abc(def)xyz)
   3087  1: xyz
   3088     *** Failers
   3089 No match
   3090     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   3091 No match
   3092 
   3093 /(abc){1,3}+/DZ
   3094 ------------------------------------------------------------------
   3095         Bra
   3096         Once
   3097         CBra 1
   3098         abc
   3099         Ket
   3100         Brazero
   3101         Bra
   3102         CBra 1
   3103         abc
   3104         Ket
   3105         Brazero
   3106         CBra 1
   3107         abc
   3108         Ket
   3109         Ket
   3110         Ket
   3111         Ket
   3112         End
   3113 ------------------------------------------------------------------
   3114 Capturing subpattern count = 1
   3115 No options
   3116 First char = 'a'
   3117 Need char = 'c'
   3118 
   3119 /a+?+/I
   3120 Failed: nothing to repeat at offset 3
   3121 
   3122 /a{2,3}?+b/I
   3123 Failed: nothing to repeat at offset 7
   3124 
   3125 /(?U)a+?+/I
   3126 Failed: nothing to repeat at offset 7
   3127 
   3128 /a{2,3}?+b/IU
   3129 Failed: nothing to repeat at offset 7
   3130 
   3131 /x(?U)a++b/DZ
   3132 ------------------------------------------------------------------
   3133         Bra
   3134         x
   3135         a++
   3136         b
   3137         Ket
   3138         End
   3139 ------------------------------------------------------------------
   3140 Capturing subpattern count = 0
   3141 No options
   3142 First char = 'x'
   3143 Need char = 'b'
   3144     xaaaab
   3145  0: xaaaab
   3146 
   3147 /(?U)xa++b/DZ
   3148 ------------------------------------------------------------------
   3149         Bra
   3150         x
   3151         a++
   3152         b
   3153         Ket
   3154         End
   3155 ------------------------------------------------------------------
   3156 Capturing subpattern count = 0
   3157 Options: ungreedy
   3158 First char = 'x'
   3159 Need char = 'b'
   3160     xaaaab
   3161  0: xaaaab
   3162 
   3163 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
   3164 ------------------------------------------------------------------
   3165         Bra
   3166         ^
   3167         CBra 1
   3168         CBra 2
   3169         a+
   3170         Ket
   3171         CBra 3
   3172         [ab]+?
   3173         Ket
   3174         CBra 4
   3175         [bc]+
   3176         Ket
   3177         CBra 5
   3178         \w*
   3179         Ket
   3180         Ket
   3181         Ket
   3182         End
   3183 ------------------------------------------------------------------
   3184 Capturing subpattern count = 5
   3185 Options: anchored
   3186 No first char
   3187 No need char
   3188 
   3189 /^x(?U)a+b/DZ
   3190 ------------------------------------------------------------------
   3191         Bra
   3192         ^
   3193         x
   3194         a++
   3195         b
   3196         Ket
   3197         End
   3198 ------------------------------------------------------------------
   3199 Capturing subpattern count = 0
   3200 Options: anchored
   3201 No first char
   3202 Need char = 'b'
   3203 
   3204 /^x(?U)(a+)b/DZ
   3205 ------------------------------------------------------------------
   3206         Bra
   3207         ^
   3208         x
   3209         CBra 1
   3210         a+?
   3211         Ket
   3212         b
   3213         Ket
   3214         End
   3215 ------------------------------------------------------------------
   3216 Capturing subpattern count = 1
   3217 Options: anchored
   3218 No first char
   3219 Need char = 'b'
   3220 
   3221 /[.x.]/I
   3222 Failed: POSIX collating elements are not supported at offset 0
   3223 
   3224 /[=x=]/I
   3225 Failed: POSIX collating elements are not supported at offset 0
   3226 
   3227 /[:x:]/I
   3228 Failed: POSIX named classes are supported only within a class at offset 0
   3229 
   3230 /\l/I
   3231 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3232 
   3233 /\L/I
   3234 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3235 
   3236 /\N{name}/I
   3237 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3238 
   3239 /\u/I
   3240 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3241 
   3242 /\U/I
   3243 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
   3244 
   3245 /[/I
   3246 Failed: missing terminating ] for character class at offset 1
   3247 
   3248 /[a-/I
   3249 Failed: missing terminating ] for character class at offset 3
   3250 
   3251 /[[:space:]/I
   3252 Failed: missing terminating ] for character class at offset 10
   3253 
   3254 /[\s]/IDZ
   3255 ------------------------------------------------------------------
   3256         Bra
   3257         [\x09\x0a\x0c\x0d ]
   3258         Ket
   3259         End
   3260 ------------------------------------------------------------------
   3261 Capturing subpattern count = 0
   3262 No options
   3263 No first char
   3264 No need char
   3265 
   3266 /[[:space:]]/IDZ
   3267 ------------------------------------------------------------------
   3268         Bra
   3269         [\x09-\x0d ]
   3270         Ket
   3271         End
   3272 ------------------------------------------------------------------
   3273 Capturing subpattern count = 0
   3274 No options
   3275 No first char
   3276 No need char
   3277 
   3278 /[[:space:]abcde]/IDZ
   3279 ------------------------------------------------------------------
   3280         Bra
   3281         [\x09-\x0d a-e]
   3282         Ket
   3283         End
   3284 ------------------------------------------------------------------
   3285 Capturing subpattern count = 0
   3286 No options
   3287 No first char
   3288 No need char
   3289 
   3290 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
   3291 Capturing subpattern count = 0
   3292 Options: extended
   3293 First char = '<'
   3294 Need char = '>'
   3295     <>
   3296  0: <>
   3297     <abcd>
   3298  0: <abcd>
   3299     <abc <123> hij>
   3300  0: <abc <123> hij>
   3301     <abc <def> hij>
   3302  0: <def>
   3303     <abc<>def>
   3304  0: <abc<>def>
   3305     <abc<>
   3306  0: <>
   3307     *** Failers
   3308 No match
   3309     <abc
   3310 No match
   3311 
   3312 |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
   3313 ------------------------------------------------------------------
   3314         Bra
   3315         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
   3316         \b
   3317         Ket
   3318         End
   3319 ------------------------------------------------------------------
   3320 Capturing subpattern count = 0
   3321 No options
   3322 First char = '8'
   3323 Need char = 'X'
   3324 
   3325 |\$\<\.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
   3326 ------------------------------------------------------------------
   3327         Bra
   3328         $<.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
   3329         \b
   3330         Ket
   3331         End
   3332 ------------------------------------------------------------------
   3333 Capturing subpattern count = 0
   3334 No options
   3335 First char = '$'
   3336 Need char = 'X'
   3337 
   3338 /(.*)\d+\1/I
   3339 Capturing subpattern count = 1
   3340 Max back reference = 1
   3341 No options
   3342 No first char
   3343 No need char
   3344 
   3345 /(.*)\d+/I
   3346 Capturing subpattern count = 1
   3347 No options
   3348 First char at start or follows newline
   3349 No need char
   3350 
   3351 /(.*)\d+\1/Is
   3352 Capturing subpattern count = 1
   3353 Max back reference = 1
   3354 Options: dotall
   3355 No first char
   3356 No need char
   3357 
   3358 /(.*)\d+/Is
   3359 Capturing subpattern count = 1
   3360 Options: anchored dotall
   3361 No first char
   3362 No need char
   3363 
   3364 /(.*(xyz))\d+\2/I
   3365 Capturing subpattern count = 2
   3366 Max back reference = 2
   3367 No options
   3368 First char at start or follows newline
   3369 Need char = 'z'
   3370 
   3371 /((.*))\d+\1/I
   3372 Capturing subpattern count = 2
   3373 Max back reference = 1
   3374 No options
   3375 No first char
   3376 No need char
   3377     abc123bc
   3378  0: bc123bc
   3379  1: bc
   3380  2: bc
   3381 
   3382 /a[b]/I
   3383 Capturing subpattern count = 0
   3384 No options
   3385 First char = 'a'
   3386 Need char = 'b'
   3387 
   3388 /(?=a).*/I
   3389 Capturing subpattern count = 0
   3390 No options
   3391 First char = 'a'
   3392 No need char
   3393 
   3394 /(?=abc).xyz/IiI
   3395 Capturing subpattern count = 0
   3396 Options: caseless
   3397 First char = 'a' (caseless)
   3398 Need char = 'z' (caseless)
   3399 
   3400 /(?=abc)(?i).xyz/I
   3401 Capturing subpattern count = 0
   3402 No options
   3403 First char = 'a'
   3404 Need char = 'z' (caseless)
   3405 
   3406 /(?=a)(?=b)/I
   3407 Capturing subpattern count = 0
   3408 No options
   3409 First char = 'a'
   3410 No need char
   3411 
   3412 /(?=.)a/I
   3413 Capturing subpattern count = 0
   3414 No options
   3415 First char = 'a'
   3416 No need char
   3417 
   3418 /((?=abcda)a)/I
   3419 Capturing subpattern count = 1
   3420 No options
   3421 First char = 'a'
   3422 Need char = 'a'
   3423 
   3424 /((?=abcda)ab)/I
   3425 Capturing subpattern count = 1
   3426 No options
   3427 First char = 'a'
   3428 Need char = 'b'
   3429 
   3430 /()a/I
   3431 Capturing subpattern count = 1
   3432 No options
   3433 No first char
   3434 Need char = 'a'
   3435 
   3436 /(?(1)ab|ac)(.)/I
   3437 Capturing subpattern count = 1
   3438 No options
   3439 First char = 'a'
   3440 No need char
   3441 
   3442 /(?(1)abz|acz)(.)/I
   3443 Capturing subpattern count = 1
   3444 No options
   3445 First char = 'a'
   3446 Need char = 'z'
   3447 
   3448 /(?(1)abz)(.)/I
   3449 Capturing subpattern count = 1
   3450 No options
   3451 No first char
   3452 No need char
   3453 
   3454 /(?(1)abz)(1)23/I
   3455 Capturing subpattern count = 1
   3456 No options
   3457 No first char
   3458 Need char = '3'
   3459 
   3460 /(a)+/I
   3461 Capturing subpattern count = 1
   3462 No options
   3463 First char = 'a'
   3464 No need char
   3465 
   3466 /(a){2,3}/I
   3467 Capturing subpattern count = 1
   3468 No options
   3469 First char = 'a'
   3470 Need char = 'a'
   3471 
   3472 /(a)*/I
   3473 Capturing subpattern count = 1
   3474 No options
   3475 No first char
   3476 No need char
   3477 
   3478 /[a]/I
   3479 Capturing subpattern count = 0
   3480 No options
   3481 First char = 'a'
   3482 No need char
   3483 
   3484 /[ab]/I
   3485 Capturing subpattern count = 0
   3486 No options
   3487 No first char
   3488 No need char
   3489 
   3490 /[ab]/IS
   3491 Capturing subpattern count = 0
   3492 No options
   3493 No first char
   3494 No need char
   3495 Subject length lower bound = 1
   3496 Starting byte set: a b 
   3497 
   3498 /[^a]/I
   3499 Capturing subpattern count = 0
   3500 No options
   3501 No first char
   3502 No need char
   3503 
   3504 /\d456/I
   3505 Capturing subpattern count = 0
   3506 No options
   3507 No first char
   3508 Need char = '6'
   3509 
   3510 /\d456/IS
   3511 Capturing subpattern count = 0
   3512 No options
   3513 No first char
   3514 Need char = '6'
   3515 Subject length lower bound = 4
   3516 Starting byte set: 0 1 2 3 4 5 6 7 8 9 
   3517 
   3518 /a^b/I
   3519 Capturing subpattern count = 0
   3520 No options
   3521 First char = 'a'
   3522 Need char = 'b'
   3523 
   3524 /^a/Im
   3525 Capturing subpattern count = 0
   3526 Options: multiline
   3527 First char at start or follows newline
   3528 Need char = 'a'
   3529   abcde
   3530  0: a
   3531   xy\nabc
   3532  0: a
   3533   *** Failers
   3534 No match
   3535   xyabc
   3536 No match
   3537 
   3538 /c|abc/I
   3539 Capturing subpattern count = 0
   3540 No options
   3541 No first char
   3542 Need char = 'c'
   3543 
   3544 /(?i)[ab]/IS
   3545 Capturing subpattern count = 0
   3546 Options: caseless
   3547 No first char
   3548 No need char
   3549 Subject length lower bound = 1
   3550 Starting byte set: A B a b 
   3551 
   3552 /[ab](?i)cd/IS
   3553 Capturing subpattern count = 0
   3554 No options
   3555 No first char
   3556 Need char = 'd' (caseless)
   3557 Subject length lower bound = 3
   3558 Starting byte set: a b 
   3559 
   3560 /abc(?C)def/I
   3561 Capturing subpattern count = 0
   3562 No options
   3563 First char = 'a'
   3564 Need char = 'f'
   3565     abcdef
   3566 --->abcdef
   3567   0 ^  ^       d
   3568  0: abcdef
   3569     1234abcdef
   3570 --->1234abcdef
   3571   0     ^  ^       d
   3572  0: abcdef
   3573     *** Failers
   3574 No match
   3575     abcxyz
   3576 No match
   3577     abcxyzf
   3578 --->abcxyzf
   3579   0 ^  ^        d
   3580 No match
   3581 
   3582 /abc(?C)de(?C1)f/I
   3583 Capturing subpattern count = 0
   3584 No options
   3585 First char = 'a'
   3586 Need char = 'f'
   3587     123abcdef
   3588 --->123abcdef
   3589   0    ^  ^       d
   3590   1    ^    ^     f
   3591  0: abcdef
   3592 
   3593 /(?C1)\dabc(?C2)def/I
   3594 Capturing subpattern count = 0
   3595 No options
   3596 No first char
   3597 Need char = 'f'
   3598     1234abcdef
   3599 --->1234abcdef
   3600   1 ^              \d
   3601   1  ^             \d
   3602   1   ^            \d
   3603   1    ^           \d
   3604   2    ^   ^       d
   3605  0: 4abcdef
   3606     *** Failers
   3607 No match
   3608     abcdef
   3609 --->abcdef
   3610   1 ^          \d
   3611   1  ^         \d
   3612   1   ^        \d
   3613   1    ^       \d
   3614   1     ^      \d
   3615   1      ^     \d
   3616 No match
   3617 
   3618 /(?C255)ab/I
   3619 Capturing subpattern count = 0
   3620 No options
   3621 First char = 'a'
   3622 Need char = 'b'
   3623 
   3624 /(?C256)ab/I
   3625 Failed: number after (?C is > 255 at offset 6
   3626 
   3627 /(?Cab)xx/I
   3628 Failed: closing ) for (?C expected at offset 3
   3629 
   3630 /(?C12vr)x/I
   3631 Failed: closing ) for (?C expected at offset 5
   3632 
   3633 /abc(?C)def/I
   3634 Capturing subpattern count = 0
   3635 No options
   3636 First char = 'a'
   3637 Need char = 'f'
   3638     *** Failers
   3639 No match
   3640     \x83\x0\x61bcdef
   3641 --->\x83\x00abcdef
   3642   0         ^  ^       d
   3643  0: abcdef
   3644 
   3645 /(abc)(?C)de(?C1)f/I
   3646 Capturing subpattern count = 1
   3647 No options
   3648 First char = 'a'
   3649 Need char = 'f'
   3650     123abcdef
   3651 --->123abcdef
   3652   0    ^  ^       d
   3653   1    ^    ^     f
   3654  0: abcdef
   3655  1: abc
   3656     123abcdef\C+
   3657 Callout 0: last capture = 1
   3658  0: <unset>
   3659  1: abc
   3660 --->123abcdef
   3661        ^  ^       d
   3662 Callout 1: last capture = 1
   3663  0: <unset>
   3664  1: abc
   3665 --->123abcdef
   3666        ^    ^     f
   3667  0: abcdef
   3668  1: abc
   3669     123abcdef\C-
   3670  0: abcdef
   3671  1: abc
   3672     *** Failers
   3673 No match
   3674     123abcdef\C!1
   3675 --->123abcdef
   3676   0    ^  ^       d
   3677   1    ^    ^     f
   3678 No match
   3679 
   3680 /(?C0)(abc(?C1))*/I
   3681 Capturing subpattern count = 1
   3682 No options
   3683 No first char
   3684 No need char
   3685     abcabcabc
   3686 --->abcabcabc
   3687   0 ^             (abc(?C1))*
   3688   1 ^  ^          )
   3689   1 ^     ^       )
   3690   1 ^        ^    )
   3691  0: abcabcabc
   3692  1: abc
   3693     abcabc\C!1!3
   3694 --->abcabc
   3695   0 ^          (abc(?C1))*
   3696   1 ^  ^       )
   3697   1 ^     ^    )
   3698  0: abcabc
   3699  1: abc
   3700     *** Failers
   3701 --->*** Failers
   3702   0 ^               (abc(?C1))*
   3703  0: 
   3704     abcabcabc\C!1!3
   3705 --->abcabcabc
   3706   0 ^             (abc(?C1))*
   3707   1 ^  ^          )
   3708   1 ^     ^       )
   3709   1 ^        ^    )
   3710  0: abcabc
   3711  1: abc
   3712 
   3713 /(\d{3}(?C))*/I
   3714 Capturing subpattern count = 1
   3715 No options
   3716 No first char
   3717 No need char
   3718     123\C+
   3719 Callout 0: last capture = -1
   3720  0: <unset>
   3721 --->123
   3722     ^  ^    )
   3723  0: 123
   3724  1: 123
   3725     123456\C+
   3726 Callout 0: last capture = -1
   3727  0: <unset>
   3728 --->123456
   3729     ^  ^       )
   3730 Callout 0: last capture = 1
   3731  0: <unset>
   3732  1: 123
   3733 --->123456
   3734     ^     ^    )
   3735  0: 123456
   3736  1: 456
   3737     123456789\C+
   3738 Callout 0: last capture = -1
   3739  0: <unset>
   3740 --->123456789
   3741     ^  ^          )
   3742 Callout 0: last capture = 1
   3743  0: <unset>
   3744  1: 123
   3745 --->123456789
   3746     ^     ^       )
   3747 Callout 0: last capture = 1
   3748  0: <unset>
   3749  1: 456
   3750 --->123456789
   3751     ^        ^    )
   3752  0: 123456789
   3753  1: 789
   3754 
   3755 /((xyz)(?C)p|(?C1)xyzabc)/I
   3756 Capturing subpattern count = 2
   3757 No options
   3758 First char = 'x'
   3759 No need char
   3760     xyzabc\C+
   3761 Callout 0: last capture = 2
   3762  0: <unset>
   3763  1: <unset>
   3764  2: xyz
   3765 --->xyzabc
   3766     ^  ^       p
   3767 Callout 1: last capture = -1
   3768  0: <unset>
   3769 --->xyzabc
   3770     ^          x
   3771  0: xyzabc
   3772  1: xyzabc
   3773 
   3774 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
   3775 Capturing subpattern count = 3
   3776 No options
   3777 First char = 'X'
   3778 Need char = 'x'
   3779     Xxyzabc\C+
   3780 Callout 0: last capture = 3
   3781  0: <unset>
   3782  1: X
   3783  2: <unset>
   3784  3: xyz
   3785 --->Xxyzabc
   3786     ^   ^       p
   3787 Callout 1: last capture = 1
   3788  0: <unset>
   3789  1: X
   3790 --->Xxyzabc
   3791     ^^          x
   3792  0: Xxyzabc
   3793  1: X
   3794  2: xyzabc
   3795 
   3796 /(?=(abc))(?C)abcdef/I
   3797 Capturing subpattern count = 1
   3798 No options
   3799 First char = 'a'
   3800 Need char = 'f'
   3801     abcdef\C+
   3802 Callout 0: last capture = 1
   3803  0: <unset>
   3804  1: abc
   3805 --->abcdef
   3806     ^          a
   3807  0: abcdef
   3808  1: abc
   3809 
   3810 /(?!(abc)(?C1)d)(?C2)abcxyz/I
   3811 Capturing subpattern count = 1
   3812 No options
   3813 First char = 'a'
   3814 Need char = 'z'
   3815     abcxyz\C+
   3816 Callout 1: last capture = 1
   3817  0: <unset>
   3818  1: abc
   3819 --->abcxyz
   3820     ^  ^       d
   3821 Callout 2: last capture = -1
   3822  0: <unset>
   3823 --->abcxyz
   3824     ^          a
   3825  0: abcxyz
   3826 
   3827 /(?<=(abc)(?C))xyz/I
   3828 Capturing subpattern count = 1
   3829 No options
   3830 First char = 'x'
   3831 Need char = 'z'
   3832    abcxyz\C+
   3833 Callout 0: last capture = 1
   3834  0: <unset>
   3835  1: abc
   3836 --->abcxyz
   3837        ^       )
   3838  0: xyz
   3839  1: abc
   3840 
   3841 /a(b+)(c*)(?C1)/I
   3842 Capturing subpattern count = 2
   3843 No options
   3844 First char = 'a'
   3845 Need char = 'b'
   3846     abbbbbccc\C*1
   3847 --->abbbbbccc
   3848   1 ^        ^    
   3849 Callout data = 1
   3850   1 ^       ^     
   3851 Callout data = 1
   3852   1 ^      ^      
   3853 Callout data = 1
   3854   1 ^     ^       
   3855 Callout data = 1
   3856   1 ^    ^        
   3857 Callout data = 1
   3858   1 ^   ^         
   3859 Callout data = 1
   3860   1 ^  ^          
   3861 Callout data = 1
   3862   1 ^ ^           
   3863 Callout data = 1
   3864 No match
   3865 
   3866 /a(b+?)(c*?)(?C1)/I
   3867 Capturing subpattern count = 2
   3868 No options
   3869 First char = 'a'
   3870 Need char = 'b'
   3871     abbbbbccc\C*1
   3872 --->abbbbbccc
   3873   1 ^ ^           
   3874 Callout data = 1
   3875   1 ^  ^          
   3876 Callout data = 1
   3877   1 ^   ^         
   3878 Callout data = 1
   3879   1 ^    ^        
   3880 Callout data = 1
   3881   1 ^     ^       
   3882 Callout data = 1
   3883   1 ^      ^      
   3884 Callout data = 1
   3885   1 ^       ^     
   3886 Callout data = 1
   3887   1 ^        ^    
   3888 Callout data = 1
   3889 No match
   3890 
   3891 /(?C)abc/I
   3892 Capturing subpattern count = 0
   3893 No options
   3894 First char = 'a'
   3895 Need char = 'c'
   3896 
   3897 /(?C)^abc/I
   3898 Capturing subpattern count = 0
   3899 Options: anchored
   3900 No first char
   3901 No need char
   3902 
   3903 /(?C)a|b/IS
   3904 Capturing subpattern count = 0
   3905 No options
   3906 No first char
   3907 No need char
   3908 Subject length lower bound = 1
   3909 Starting byte set: a b 
   3910 
   3911 /(?R)/I
   3912 Failed: recursive call could loop indefinitely at offset 3
   3913 
   3914 /(a|(?R))/I
   3915 Failed: recursive call could loop indefinitely at offset 6
   3916 
   3917 /(ab|(bc|(de|(?R))))/I
   3918 Failed: recursive call could loop indefinitely at offset 15
   3919 
   3920 /x(ab|(bc|(de|(?R))))/I
   3921 Capturing subpattern count = 3
   3922 No options
   3923 First char = 'x'
   3924 No need char
   3925     xab
   3926  0: xab
   3927  1: ab
   3928     xbc
   3929  0: xbc
   3930  1: bc
   3931  2: bc
   3932     xde
   3933  0: xde
   3934  1: de
   3935  2: de
   3936  3: de
   3937     xxab
   3938  0: xxab
   3939  1: xab
   3940  2: xab
   3941  3: xab
   3942     xxxab
   3943  0: xxxab
   3944  1: xxab
   3945  2: xxab
   3946  3: xxab
   3947     *** Failers
   3948 No match
   3949     xyab
   3950 No match
   3951 
   3952 /(ab|(bc|(de|(?1))))/I
   3953 Failed: recursive call could loop indefinitely at offset 15
   3954 
   3955 /x(ab|(bc|(de|(?1)x)x)x)/I
   3956 Failed: recursive call could loop indefinitely at offset 16
   3957 
   3958 /^([^()]|\((?1)*\))*$/I
   3959 Capturing subpattern count = 1
   3960 Options: anchored
   3961 No first char
   3962 No need char
   3963     abc
   3964  0: abc
   3965  1: c
   3966     a(b)c
   3967  0: a(b)c
   3968  1: c
   3969     a(b(c))d
   3970  0: a(b(c))d
   3971  1: d
   3972     *** Failers)
   3973 No match
   3974     a(b(c)d
   3975 No match
   3976 
   3977 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
   3978 Capturing subpattern count = 1
   3979 Options: anchored
   3980 No first char
   3981 Need char = '<'
   3982    >abc>123<xyz<
   3983  0: >abc>123<xyz<
   3984  1: 3
   3985    >abc>1(2)3<xyz<
   3986  0: >abc>1(2)3<xyz<
   3987  1: 3
   3988    >abc>(1(2)3)<xyz<
   3989  0: >abc>(1(2)3)<xyz<
   3990  1: (1(2)3)
   3991 
   3992 /(a(?1)b)/DZ
   3993 ------------------------------------------------------------------
   3994         Bra
   3995         CBra 1
   3996         a
   3997         Once
   3998         Recurse
   3999         Ket
   4000         b
   4001         Ket
   4002         Ket
   4003         End
   4004 ------------------------------------------------------------------
   4005 Capturing subpattern count = 1
   4006 No options
   4007 First char = 'a'
   4008 Need char = 'b'
   4009 
   4010 /(a(?1)+b)/DZ
   4011 ------------------------------------------------------------------
   4012         Bra
   4013         CBra 1
   4014         a
   4015         Once
   4016         Recurse
   4017         KetRmax
   4018         b
   4019         Ket
   4020         Ket
   4021         End
   4022 ------------------------------------------------------------------
   4023 Capturing subpattern count = 1
   4024 No options
   4025 First char = 'a'
   4026 Need char = 'b'
   4027 
   4028 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
   4029 Capturing subpattern count = 2
   4030 Options: anchored
   4031 No first char
   4032 No need char
   4033     12
   4034  0: 12
   4035  1: 12
   4036     (((2+2)*-3)-7)
   4037  0: (((2+2)*-3)-7)
   4038  1: (((2+2)*-3)-7)
   4039  2: -
   4040     -12
   4041  0: -12
   4042  1: -12
   4043     *** Failers
   4044 No match
   4045     ((2+2)*-3)-7)
   4046 No match
   4047 
   4048 /^(x(y|(?1){2})z)/I
   4049 Capturing subpattern count = 2
   4050 Options: anchored
   4051 No first char
   4052 No need char
   4053     xyz
   4054  0: xyz
   4055  1: xyz
   4056  2: y
   4057     xxyzxyzz
   4058  0: xxyzxyzz
   4059  1: xxyzxyzz
   4060  2: xyzxyz
   4061     *** Failers
   4062 No match
   4063     xxyzz
   4064 No match
   4065     xxyzxyzxyzz
   4066 No match
   4067 
   4068 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
   4069 Capturing subpattern count = 2
   4070 Options: extended
   4071 First char = '<'
   4072 Need char = '>'
   4073     <>
   4074  0: <>
   4075  1: <>
   4076  2: <>
   4077     <abcd>
   4078  0: <abcd>
   4079  1: <abcd>
   4080  2: <abcd>
   4081     <abc <123> hij>
   4082  0: <abc <123> hij>
   4083  1: <abc <123> hij>
   4084  2: <abc <123> hij>
   4085     <abc <def> hij>
   4086  0: <def>
   4087  1: <def>
   4088  2: <def>
   4089     <abc<>def>
   4090  0: <abc<>def>
   4091  1: <abc<>def>
   4092  2: <abc<>def>
   4093     <abc<>
   4094  0: <>
   4095  1: <>
   4096  2: <>
   4097     *** Failers
   4098 No match
   4099     <abc
   4100 No match
   4101 
   4102 /(?1)/I
   4103 Failed: reference to non-existent subpattern at offset 3
   4104 
   4105 /((?2)(abc)/I
   4106 Failed: missing ) at offset 10
   4107 
   4108 /^(abc)def(?1)/I
   4109 Capturing subpattern count = 1
   4110 Options: anchored
   4111 No first char
   4112 No need char
   4113     abcdefabc
   4114  0: abcdefabc
   4115  1: abc
   4116 
   4117 /^(a|b|c)=(?1)+/I
   4118 Capturing subpattern count = 1
   4119 Options: anchored
   4120 No first char
   4121 No need char
   4122     a=a
   4123  0: a=a
   4124  1: a
   4125     a=b
   4126  0: a=b
   4127  1: a
   4128     a=bc
   4129  0: a=bc
   4130  1: a
   4131 
   4132 /^(a|b|c)=((?1))+/I
   4133 Capturing subpattern count = 2
   4134 Options: anchored
   4135 No first char
   4136 No need char
   4137     a=a
   4138  0: a=a
   4139  1: a
   4140  2: a
   4141     a=b
   4142  0: a=b
   4143  1: a
   4144  2: b
   4145     a=bc
   4146  0: a=bc
   4147  1: a
   4148  2: c
   4149 
   4150 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
   4151 ------------------------------------------------------------------
   4152         Bra
   4153         a
   4154         CBra 1
   4155         b
   4156         Alt
   4157         c
   4158         Ket
   4159         d
   4160         CBra 2
   4161         e
   4162         Ket
   4163         Ket
   4164         End
   4165 ------------------------------------------------------------------
   4166 Capturing subpattern count = 2
   4167 Named capturing subpatterns:
   4168   longername2   2
   4169   name1         1
   4170 No options
   4171 First char = 'a'
   4172 Need char = 'e'
   4173     abde
   4174  0: abde
   4175  1: b
   4176  2: e
   4177     acde
   4178  0: acde
   4179  1: c
   4180  2: e
   4181 
   4182 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
   4183 ------------------------------------------------------------------
   4184         Bra
   4185         Bra
   4186         a
   4187         CBra 1
   4188         c
   4189         CBra 2
   4190         d
   4191         Ket
   4192         Ket
   4193         Ket
   4194         CBra 3
   4195         a
   4196         Ket
   4197         Ket
   4198         End
   4199 ------------------------------------------------------------------
   4200 Capturing subpattern count = 3
   4201 Named capturing subpatterns:
   4202   a   3
   4203   c   1
   4204   d   2
   4205 No options
   4206 First char = 'a'
   4207 Need char = 'a'
   4208 
   4209 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
   4210 ------------------------------------------------------------------
   4211         Bra
   4212         CBra 1
   4213         a
   4214         Ket
   4215         Any
   4216         Any
   4217         Any
   4218         \1
   4219         bbb
   4220         Once
   4221         Recurse
   4222         Ket
   4223         d
   4224         Ket
   4225         End
   4226 ------------------------------------------------------------------
   4227 Capturing subpattern count = 1
   4228 Max back reference = 1
   4229 Named capturing subpatterns:
   4230   a   1
   4231 No options
   4232 First char = 'a'
   4233 Need char = 'd'
   4234 
   4235 /^\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
   4236 Capturing subpattern count = 4
   4237 Max back reference = 4
   4238 Named capturing subpatterns:
   4239   four    4
   4240   one     1
   4241   three   3
   4242   two     2
   4243 Options: anchored caseless
   4244 No first char
   4245 No need char
   4246     1221
   4247  0: 1221
   4248  1: 1221
   4249  2: 1
   4250     Satan, oscillate my metallic sonatas!
   4251  0: Satan, oscillate my metallic sonatas!
   4252  1: <unset>
   4253  2: <unset>
   4254  3: Satan, oscillate my metallic sonatas
   4255  4: S
   4256     A man, a plan, a canal: Panama!
   4257  0: A man, a plan, a canal: Panama!
   4258  1: <unset>
   4259  2: <unset>
   4260  3: A man, a plan, a canal: Panama
   4261  4: A
   4262     Able was I ere I saw Elba.
   4263  0: Able was I ere I saw Elba.
   4264  1: <unset>
   4265  2: <unset>
   4266  3: Able was I ere I saw Elba
   4267  4: A
   4268     *** Failers
   4269 No match
   4270     The quick brown fox
   4271 No match
   4272 
   4273 /((?(R)a|b))\1(?1)?/I
   4274 Capturing subpattern count = 1
   4275 Max back reference = 1
   4276 No options
   4277 No first char
   4278 No need char
   4279   bb
   4280  0: bb
   4281  1: b
   4282   bbaa
   4283  0: bba
   4284  1: b
   4285 
   4286 /(.*)a/Is
   4287 Capturing subpattern count = 1
   4288 Options: anchored dotall
   4289 No first char
   4290 Need char = 'a'
   4291 
   4292 /(.*)a\1/Is
   4293 Capturing subpattern count = 1
   4294 Max back reference = 1
   4295 Options: dotall
   4296 No first char
   4297 Need char = 'a'
   4298 
   4299 /(.*)a(b)\2/Is
   4300 Capturing subpattern count = 2
   4301 Max back reference = 2
   4302 Options: anchored dotall
   4303 No first char
   4304 Need char = 'b'
   4305 
   4306 /((.*)a|(.*)b)z/Is
   4307 Capturing subpattern count = 3
   4308 Options: anchored dotall
   4309 No first char
   4310 Need char = 'z'
   4311 
   4312 /((.*)a|(.*)b)z\1/Is
   4313 Capturing subpattern count = 3
   4314 Max back reference = 1
   4315 Options: dotall
   4316 No first char
   4317 Need char = 'z'
   4318 
   4319 /((.*)a|(.*)b)z\2/Is
   4320 Capturing subpattern count = 3
   4321 Max back reference = 2
   4322 Options: dotall
   4323 No first char
   4324 Need char = 'z'
   4325 
   4326 /((.*)a|(.*)b)z\3/Is
   4327 Capturing subpattern count = 3
   4328 Max back reference = 3
   4329 Options: dotall
   4330 No first char
   4331 Need char = 'z'
   4332 
   4333 /((.*)a|^(.*)b)z\3/Is
   4334 Capturing subpattern count = 3
   4335 Max back reference = 3
   4336 Options: anchored dotall
   4337 No first char
   4338 Need char = 'z'
   4339 
   4340 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
   4341 Capturing subpattern count = 31
   4342 Options: anchored dotall
   4343 No first char
   4344 No need char
   4345 
   4346 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
   4347 Capturing subpattern count = 31
   4348 Max back reference = 31
   4349 Options: dotall
   4350 No first char
   4351 No need char
   4352 
   4353 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
   4354 Capturing subpattern count = 32
   4355 Max back reference = 32
   4356 Options: dotall
   4357 No first char
   4358 No need char
   4359 
   4360 /(a)(bc)/INDZ
   4361 ------------------------------------------------------------------
   4362         Bra
   4363         Bra
   4364         a
   4365         Ket
   4366         Bra
   4367         bc
   4368         Ket
   4369         Ket
   4370         End
   4371 ------------------------------------------------------------------
   4372 Capturing subpattern count = 0
   4373 Options: no_auto_capture
   4374 First char = 'a'
   4375 Need char = 'c'
   4376   abc
   4377  0: abc
   4378 
   4379 /(?P<one>a)(bc)/INDZ
   4380 ------------------------------------------------------------------
   4381         Bra
   4382         CBra 1
   4383         a
   4384         Ket
   4385         Bra
   4386         bc
   4387         Ket
   4388         Ket
   4389         End
   4390 ------------------------------------------------------------------
   4391 Capturing subpattern count = 1
   4392 Named capturing subpatterns:
   4393   one   1
   4394 Options: no_auto_capture
   4395 First char = 'a'
   4396 Need char = 'c'
   4397   abc
   4398  0: abc
   4399  1: a
   4400 
   4401 /(a)(?P<named>bc)/INDZ
   4402 ------------------------------------------------------------------
   4403         Bra
   4404         Bra
   4405         a
   4406         Ket
   4407         CBra 1
   4408         bc
   4409         Ket
   4410         Ket
   4411         End
   4412 ------------------------------------------------------------------
   4413 Capturing subpattern count = 1
   4414 Named capturing subpatterns:
   4415   named   1
   4416 Options: no_auto_capture
   4417 First char = 'a'
   4418 Need char = 'c'
   4419 
   4420 /(a+)*zz/I
   4421 Capturing subpattern count = 1
   4422 No options
   4423 No first char
   4424 Need char = 'z'
   4425   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
   4426 Minimum match() limit = 8
   4427 Minimum match() recursion limit = 6
   4428  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
   4429  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   4430   aaaaaaaaaaaaaz\M
   4431 Minimum match() limit = 32768
   4432 Minimum match() recursion limit = 42
   4433 No match
   4434 
   4435 /(aaa(?C1)bbb|ab)/I
   4436 Capturing subpattern count = 1
   4437 No options
   4438 First char = 'a'
   4439 Need char = 'b'
   4440    aaabbb
   4441 --->aaabbb
   4442   1 ^  ^       b
   4443  0: aaabbb
   4444  1: aaabbb
   4445    aaabbb\C*0
   4446 --->aaabbb
   4447   1 ^  ^       b
   4448  0: aaabbb
   4449  1: aaabbb
   4450    aaabbb\C*1
   4451 --->aaabbb
   4452   1 ^  ^       b
   4453 Callout data = 1
   4454  0: ab
   4455  1: ab
   4456    aaabbb\C*-1
   4457 --->aaabbb
   4458   1 ^  ^       b
   4459 Callout data = -1
   4460 No match
   4461 
   4462 /ab(?P<one>cd)ef(?P<two>gh)/I
   4463 Capturing subpattern count = 2
   4464 Named capturing subpatterns:
   4465   one   1
   4466   two   2
   4467 No options
   4468 First char = 'a'
   4469 Need char = 'h'
   4470     abcdefgh
   4471  0: abcdefgh
   4472  1: cd
   4473  2: gh
   4474     abcdefgh\C1\Gtwo
   4475  0: abcdefgh
   4476  1: cd
   4477  2: gh
   4478  1C cd (2)
   4479   G gh (2) two
   4480     abcdefgh\Cone\Ctwo
   4481  0: abcdefgh
   4482  1: cd
   4483  2: gh
   4484   C cd (2) one
   4485   C gh (2) two
   4486     abcdefgh\Cthree
   4487 no parentheses with name "three"
   4488  0: abcdefgh
   4489  1: cd
   4490  2: gh
   4491 copy substring three failed -7
   4492 
   4493 /(?P<Tes>)(?P<Test>)/DZ
   4494 ------------------------------------------------------------------
   4495         Bra
   4496         CBra 1
   4497         Ket
   4498         CBra 2
   4499         Ket
   4500         Ket
   4501         End
   4502 ------------------------------------------------------------------
   4503 Capturing subpattern count = 2
   4504 Named capturing subpatterns:
   4505   Tes    1
   4506   Test   2
   4507 No options
   4508 No first char
   4509 No need char
   4510 
   4511 /(?P<Test>)(?P<Tes>)/DZ
   4512 ------------------------------------------------------------------
   4513         Bra
   4514         CBra 1
   4515         Ket
   4516         CBra 2
   4517         Ket
   4518         Ket
   4519         End
   4520 ------------------------------------------------------------------
   4521 Capturing subpattern count = 2
   4522 Named capturing subpatterns:
   4523   Tes    2
   4524   Test   1
   4525 No options
   4526 No first char
   4527 No need char
   4528 
   4529 /(?P<Z>zz)(?P<A>aa)/I
   4530 Capturing subpattern count = 2
   4531 Named capturing subpatterns:
   4532   A   2
   4533   Z   1
   4534 No options
   4535 First char = 'z'
   4536 Need char = 'a'
   4537     zzaa\CZ
   4538  0: zzaa
   4539  1: zz
   4540  2: aa
   4541   C zz (2) Z
   4542     zzaa\CA
   4543  0: zzaa
   4544  1: zz
   4545  2: aa
   4546   C aa (2) A
   4547 
   4548 /(?P<x>eks)(?P<x>eccs)/I
   4549 Failed: two named subpatterns have the same name at offset 15
   4550 
   4551 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
   4552 Failed: two named subpatterns have the same name at offset 30
   4553 
   4554 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
   4555 Capturing subpattern count = 3
   4556 Named capturing subpatterns:
   4557   elem   2
   4558 No options
   4559 First char = '['
   4560 Need char = ']'
   4561     [10,20,30,5,5,4,4,2,43,23,4234]
   4562  0: [10,20,30,5,5,4,4,2,43,23,4234]
   4563  1: 10,20,30,5,5,4,4,2,43,23,4234
   4564  2: 10
   4565  3: ,4234
   4566     *** Failers
   4567 No match
   4568     []
   4569 No match
   4570 
   4571 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
   4572 Capturing subpattern count = 3
   4573 Named capturing subpatterns:
   4574   elem   2
   4575 No options
   4576 First char = '['
   4577 Need char = ']'
   4578     [10,20,30,5,5,4,4,2,43,23,4234]
   4579  0: [10,20,30,5,5,4,4,2,43,23,4234]
   4580  1: 10,20,30,5,5,4,4,2,43,23,4234
   4581  2: 10
   4582  3: ,4234
   4583     []
   4584  0: []
   4585 
   4586 /(a(b(?2)c))?/DZ
   4587 ------------------------------------------------------------------
   4588         Bra
   4589         Brazero
   4590         CBra 1
   4591         a
   4592         CBra 2
   4593         b
   4594         Once
   4595         Recurse
   4596         Ket
   4597         c
   4598         Ket
   4599         Ket
   4600         Ket
   4601         End
   4602 ------------------------------------------------------------------
   4603 Capturing subpattern count = 2
   4604 No options
   4605 No first char
   4606 No need char
   4607 
   4608 /(a(b(?2)c))*/DZ
   4609 ------------------------------------------------------------------
   4610         Bra
   4611         Brazero
   4612         CBra 1
   4613         a
   4614         CBra 2
   4615         b
   4616         Once
   4617         Recurse
   4618         Ket
   4619         c
   4620         Ket
   4621         KetRmax
   4622         Ket
   4623         End
   4624 ------------------------------------------------------------------
   4625 Capturing subpattern count = 2
   4626 No options
   4627 No first char
   4628 No need char
   4629 
   4630 /(a(b(?2)c)){0,2}/DZ
   4631 ------------------------------------------------------------------
   4632         Bra
   4633         Brazero
   4634         Bra
   4635         CBra 1
   4636         a
   4637         CBra 2
   4638         b
   4639         Once
   4640         Recurse
   4641         Ket
   4642         c
   4643         Ket
   4644         Ket
   4645         Brazero
   4646         CBra 1
   4647         a
   4648         CBra 2
   4649         b
   4650         Once
   4651         Recurse
   4652         Ket
   4653         c
   4654         Ket
   4655         Ket
   4656         Ket
   4657         Ket
   4658         End
   4659 ------------------------------------------------------------------
   4660 Capturing subpattern count = 2
   4661 No options
   4662 No first char
   4663 No need char
   4664 
   4665 /[ab]{1}+/DZ
   4666 ------------------------------------------------------------------
   4667         Bra
   4668         Once
   4669         [ab]{1,1}
   4670         Ket
   4671         Ket
   4672         End
   4673 ------------------------------------------------------------------
   4674 Capturing subpattern count = 0
   4675 No options
   4676 No first char
   4677 No need char
   4678 
   4679 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
   4680 Capturing subpattern count = 3
   4681 Options: caseless
   4682 No first char
   4683 Need char = 'g' (caseless)
   4684      Baby Bjorn Active Carrier - With free SHIPPING!!
   4685  0: Baby Bjorn Active Carrier - With free SHIPPING!!
   4686  1: Baby Bjorn Active Carrier - With free SHIPPING!!
   4687 
   4688 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
   4689 Capturing subpattern count = 3
   4690 Options: caseless
   4691 No first char
   4692 Need char = 'g' (caseless)
   4693 Subject length lower bound = 8
   4694 No set of starting bytes
   4695      Baby Bjorn Active Carrier - With free SHIPPING!!
   4696  0: Baby Bjorn Active Carrier - With free SHIPPING!!
   4697  1: Baby Bjorn Active Carrier - With free SHIPPING!!
   4698 
   4699 /a*.*b/ISDZ
   4700 ------------------------------------------------------------------
   4701         Bra
   4702         a*
   4703         Any*
   4704         b
   4705         Ket
   4706         End
   4707 ------------------------------------------------------------------
   4708 Capturing subpattern count = 0
   4709 No options
   4710 No first char
   4711 Need char = 'b'
   4712 Subject length lower bound = 1
   4713 No set of starting bytes
   4714 
   4715 /(a|b)*.?c/ISDZ
   4716 ------------------------------------------------------------------
   4717         Bra
   4718         Brazero
   4719         CBra 1
   4720         a
   4721         Alt
   4722         b
   4723         KetRmax
   4724         Any?
   4725         c
   4726         Ket
   4727         End
   4728 ------------------------------------------------------------------
   4729 Capturing subpattern count = 1
   4730 No options
   4731 No first char
   4732 Need char = 'c'
   4733 Subject length lower bound = 1
   4734 No set of starting bytes
   4735 
   4736 /abc(?C255)de(?C)f/DZ
   4737 ------------------------------------------------------------------
   4738         Bra
   4739         abc
   4740         Callout 255 10 1
   4741         de
   4742         Callout 0 16 1
   4743         f
   4744         Ket
   4745         End
   4746 ------------------------------------------------------------------
   4747 Capturing subpattern count = 0
   4748 No options
   4749 First char = 'a'
   4750 Need char = 'f'
   4751 
   4752 /abcde/ICDZ
   4753 ------------------------------------------------------------------
   4754         Bra
   4755         Callout 255 0 1
   4756         a
   4757         Callout 255 1 1
   4758         b
   4759         Callout 255 2 1
   4760         c
   4761         Callout 255 3 1
   4762         d
   4763         Callout 255 4 1
   4764         e
   4765         Callout 255 5 0
   4766         Ket
   4767         End
   4768 ------------------------------------------------------------------
   4769 Capturing subpattern count = 0
   4770 Options:
   4771 First char = 'a'
   4772 Need char = 'e'
   4773   abcde
   4774 --->abcde
   4775  +0 ^         a
   4776  +1 ^^        b
   4777  +2 ^ ^       c
   4778  +3 ^  ^      d
   4779  +4 ^   ^     e
   4780  +5 ^    ^    
   4781  0: abcde
   4782   abcdfe
   4783 --->abcdfe
   4784  +0 ^          a
   4785  +1 ^^         b
   4786  +2 ^ ^        c
   4787  +3 ^  ^       d
   4788  +4 ^   ^      e
   4789 No match
   4790 
   4791 /a*b/ICDZ
   4792 ------------------------------------------------------------------
   4793         Bra
   4794         Callout 255 0 2
   4795         a*+
   4796         Callout 255 2 1
   4797         b
   4798         Callout 255 3 0
   4799         Ket
   4800         End
   4801 ------------------------------------------------------------------
   4802 Capturing subpattern count = 0
   4803 Options:
   4804 No first char
   4805 Need char = 'b'
   4806   ab
   4807 --->ab
   4808  +0 ^      a*
   4809  +2 ^^     b
   4810  +3 ^ ^    
   4811  0: ab
   4812   aaaab
   4813 --->aaaab
   4814  +0 ^         a*
   4815  +2 ^   ^     b
   4816  +3 ^    ^    
   4817  0: aaaab
   4818   aaaacb
   4819 --->aaaacb
   4820  +0 ^          a*
   4821  +2 ^   ^      b
   4822  +0  ^         a*
   4823  +2  ^  ^      b
   4824  +0   ^        a*
   4825  +2   ^ ^      b
   4826  +0    ^       a*
   4827  +2    ^^      b
   4828  +0     ^      a*
   4829  +2     ^      b
   4830  +0      ^     a*
   4831  +2      ^     b
   4832  +3      ^^    
   4833  0: b
   4834 
   4835 /a+b/ICDZ
   4836 ------------------------------------------------------------------
   4837         Bra
   4838         Callout 255 0 2
   4839         a++
   4840         Callout 255 2 1
   4841         b
   4842         Callout 255 3 0
   4843         Ket
   4844         End
   4845 ------------------------------------------------------------------
   4846 Capturing subpattern count = 0
   4847 Options:
   4848 First char = 'a'
   4849 Need char = 'b'
   4850   ab
   4851 --->ab
   4852  +0 ^      a+
   4853  +2 ^^     b
   4854  +3 ^ ^    
   4855  0: ab
   4856   aaaab
   4857 --->aaaab
   4858  +0 ^         a+
   4859  +2 ^   ^     b
   4860  +3 ^    ^    
   4861  0: aaaab
   4862   aaaacb
   4863 --->aaaacb
   4864  +0 ^          a+
   4865  +2 ^   ^      b
   4866  +0  ^         a+
   4867  +2  ^  ^      b
   4868  +0   ^        a+
   4869  +2   ^ ^      b
   4870  +0    ^       a+
   4871  +2    ^^      b
   4872 No match
   4873 
   4874 /(abc|def)x/ICDZ
   4875 ------------------------------------------------------------------
   4876         Bra
   4877         Callout 255 0 9
   4878         CBra 1
   4879         Callout 255 1 1
   4880         a
   4881         Callout 255 2 1
   4882         b
   4883         Callout 255 3 1
   4884         c
   4885         Callout 255 4 0
   4886         Alt
   4887         Callout 255 5 1
   4888         d
   4889         Callout 255 6 1
   4890         e
   4891         Callout 255 7 1
   4892         f
   4893         Callout 255 8 0
   4894         Ket
   4895         Callout 255 9 1
   4896         x
   4897         Callout 255 10 0
   4898         Ket
   4899         End
   4900 ------------------------------------------------------------------
   4901 Capturing subpattern count = 1
   4902 Options:
   4903 No first char
   4904 Need char = 'x'
   4905   abcx
   4906 --->abcx
   4907  +0 ^        (abc|def)
   4908  +1 ^        a
   4909  +2 ^^       b
   4910  +3 ^ ^      c
   4911  +4 ^  ^     |
   4912  +9 ^  ^     x
   4913 +10 ^   ^    
   4914  0: abcx
   4915  1: abc
   4916   defx
   4917 --->defx
   4918  +0 ^        (abc|def)
   4919  +1 ^        a
   4920  +5 ^        d
   4921  +6 ^^       e
   4922  +7 ^ ^      f
   4923  +8 ^  ^     )
   4924  +9 ^  ^     x
   4925 +10 ^   ^    
   4926  0: defx
   4927  1: def
   4928   abcdefzx
   4929 --->abcdefzx
   4930  +0 ^            (abc|def)
   4931  +1 ^            a
   4932  +2 ^^           b
   4933  +3 ^ ^          c
   4934  +4 ^  ^         |
   4935  +9 ^  ^         x
   4936  +5 ^            d
   4937  +0  ^           (abc|def)
   4938  +1  ^           a
   4939  +5  ^           d
   4940  +0   ^          (abc|def)
   4941  +1   ^          a
   4942  +5   ^          d
   4943  +0    ^         (abc|def)
   4944  +1    ^         a
   4945  +5    ^         d
   4946  +6    ^^        e
   4947  +7    ^ ^       f
   4948  +8    ^  ^      )
   4949  +9    ^  ^      x
   4950  +0     ^        (abc|def)
   4951  +1     ^        a
   4952  +5     ^        d
   4953  +0      ^       (abc|def)
   4954  +1      ^       a
   4955  +5      ^       d
   4956  +0       ^      (abc|def)
   4957  +1       ^      a
   4958  +5       ^      d
   4959  +0        ^     (abc|def)
   4960  +1        ^     a
   4961  +5        ^     d
   4962 No match
   4963 
   4964 /(ab|cd){3,4}/IC
   4965 Capturing subpattern count = 1
   4966 Options:
   4967 No first char
   4968 No need char
   4969   ababab
   4970 --->ababab
   4971  +0 ^          (ab|cd){3,4}
   4972  +1 ^          a
   4973  +2 ^^         b
   4974  +3 ^ ^        |
   4975  +1 ^ ^        a
   4976  +2 ^  ^       b
   4977  +3 ^   ^      |
   4978  +1 ^   ^      a
   4979  +2 ^    ^     b
   4980  +3 ^     ^    |
   4981  +1 ^     ^    a
   4982  +4 ^     ^    c
   4983 +12 ^     ^    
   4984  0: ababab
   4985  1: ab
   4986   abcdabcd
   4987 --->abcdabcd
   4988  +0 ^            (ab|cd){3,4}
   4989  +1 ^            a
   4990  +2 ^^           b
   4991  +3 ^ ^          |
   4992  +1 ^ ^          a
   4993  +4 ^ ^          c
   4994  +5 ^  ^         d
   4995  +6 ^   ^        )
   4996  +1 ^   ^        a
   4997  +2 ^    ^       b
   4998  +3 ^     ^      |
   4999  +1 ^     ^      a
   5000  +4 ^     ^      c
   5001  +5 ^      ^     d
   5002  +6 ^       ^    )
   5003 +12 ^       ^    
   5004  0: abcdabcd
   5005  1: cd
   5006   abcdcdcdcdcd
   5007 --->abcdcdcdcdcd
   5008  +0 ^                (ab|cd){3,4}
   5009  +1 ^                a
   5010  +2 ^^               b
   5011  +3 ^ ^              |
   5012  +1 ^ ^              a
   5013  +4 ^ ^              c
   5014  +5 ^  ^             d
   5015  +6 ^   ^            )
   5016  +1 ^   ^            a
   5017  +4 ^   ^            c
   5018  +5 ^    ^           d
   5019  +6 ^     ^          )
   5020  +1 ^     ^          a
   5021  +4 ^     ^          c
   5022  +5 ^      ^         d
   5023  +6 ^       ^        )
   5024 +12 ^       ^        
   5025  0: abcdcdcd
   5026  1: cd
   5027 
   5028 /([ab]{,4}c|xy)/ICDZ
   5029 ------------------------------------------------------------------
   5030         Bra
   5031         Callout 255 0 14
   5032         CBra 1
   5033         Callout 255 1 4
   5034         [ab]
   5035         Callout 255 5 1
   5036         {
   5037         Callout 255 6 1
   5038         ,
   5039         Callout 255 7 1
   5040         4
   5041         Callout 255 8 1
   5042         }
   5043         Callout 255 9 1
   5044         c
   5045         Callout 255 10 0
   5046         Alt
   5047         Callout 255 11 1
   5048         x
   5049         Callout 255 12 1
   5050         y
   5051         Callout 255 13 0
   5052         Ket
   5053         Callout 255 14 0
   5054         Ket
   5055         End
   5056 ------------------------------------------------------------------
   5057 Capturing subpattern count = 1
   5058 Options:
   5059 No first char
   5060 No need char
   5061     Note: that { does NOT introduce a quantifier
   5062 --->Note: that { does NOT introduce a quantifier
   5063  +0 ^                                                ([ab]{,4}c|xy)
   5064  +1 ^                                                [ab]
   5065 +11 ^                                                x
   5066  +0  ^                                               ([ab]{,4}c|xy)
   5067  +1  ^                                               [ab]
   5068 +11  ^                                               x
   5069  +0   ^                                              ([ab]{,4}c|xy)
   5070  +1   ^                                              [ab]
   5071 +11   ^                                              x
   5072  +0    ^                                             ([ab]{,4}c|xy)
   5073  +1    ^                                             [ab]
   5074 +11    ^                                             x
   5075  +0     ^                                            ([ab]{,4}c|xy)
   5076  +1     ^                                            [ab]
   5077 +11     ^                                            x
   5078  +0      ^                                           ([ab]{,4}c|xy)
   5079  +1      ^                                           [ab]
   5080 +11      ^                                           x
   5081  +0       ^                                          ([ab]{,4}c|xy)
   5082  +1       ^                                          [ab]
   5083 +11       ^                                          x
   5084  +0        ^                                         ([ab]{,4}c|xy)
   5085  +1        ^                                         [ab]
   5086 +11        ^                                         x
   5087  +0         ^                                        ([ab]{,4}c|xy)
   5088  +1         ^                                        [ab]
   5089  +5         ^^                                       {
   5090 +11         ^                                        x
   5091  +0          ^                                       ([ab]{,4}c|xy)
   5092  +1          ^                                       [ab]
   5093 +11          ^                                       x
   5094  +0           ^                                      ([ab]{,4}c|xy)
   5095  +1           ^                                      [ab]
   5096 +11           ^                                      x
   5097  +0            ^                                     ([ab]{,4}c|xy)
   5098  +1            ^                                     [ab]
   5099 +11            ^                                     x
   5100  +0             ^                                    ([ab]{,4}c|xy)
   5101  +1             ^                                    [ab]
   5102 +11             ^                                    x
   5103  +0              ^                                   ([ab]{,4}c|xy)
   5104  +1              ^                                   [ab]
   5105 +11              ^                                   x
   5106  +0               ^                                  ([ab]{,4}c|xy)
   5107  +1               ^                                  [ab]
   5108 +11               ^                                  x
   5109  +0                ^                                 ([ab]{,4}c|xy)
   5110  +1                ^                                 [ab]
   5111 +11                ^                                 x
   5112  +0                 ^                                ([ab]{,4}c|xy)
   5113  +1                 ^                                [ab]
   5114 +11                 ^                                x
   5115  +0                  ^                               ([ab]{,4}c|xy)
   5116  +1                  ^                               [ab]
   5117 +11                  ^                               x
   5118  +0                   ^                              ([ab]{,4}c|xy)
   5119  +1                   ^                              [ab]
   5120 +11                   ^                              x
   5121  +0                    ^                             ([ab]{,4}c|xy)
   5122  +1                    ^                             [ab]
   5123 +11                    ^                             x
   5124  +0                     ^                            ([ab]{,4}c|xy)
   5125  +1                     ^                            [ab]
   5126 +11                     ^                            x
   5127  +0                      ^                           ([ab]{,4}c|xy)
   5128  +1                      ^                           [ab]
   5129 +11                      ^                           x
   5130  +0                       ^                          ([ab]{,4}c|xy)
   5131  +1                       ^                          [ab]
   5132 +11                       ^                          x
   5133  +0                        ^                         ([ab]{,4}c|xy)
   5134  +1                        ^                         [ab]
   5135 +11                        ^                         x
   5136  +0                         ^                        ([ab]{,4}c|xy)
   5137  +1                         ^                        [ab]
   5138 +11                         ^                        x
   5139  +0                          ^                       ([ab]{,4}c|xy)
   5140  +1                          ^                       [ab]
   5141 +11                          ^                       x
   5142  +0                           ^                      ([ab]{,4}c|xy)
   5143  +1                           ^                      [ab]
   5144 +11                           ^                      x
   5145  +0                            ^                     ([ab]{,4}c|xy)
   5146  +1                            ^                     [ab]
   5147 +11                            ^                     x
   5148  +0                             ^                    ([ab]{,4}c|xy)
   5149  +1                             ^                    [ab]
   5150 +11                             ^                    x
   5151  +0                              ^                   ([ab]{,4}c|xy)
   5152  +1                              ^                   [ab]
   5153 +11                              ^                   x
   5154  +0                               ^                  ([ab]{,4}c|xy)
   5155  +1                               ^                  [ab]
   5156 +11                               ^                  x
   5157  +0                                ^                 ([ab]{,4}c|xy)
   5158  +1                                ^                 [ab]
   5159 +11                                ^                 x
   5160  +0                                 ^                ([ab]{,4}c|xy)
   5161  +1                                 ^                [ab]
   5162  +5                                 ^^               {
   5163 +11                                 ^                x
   5164  +0                                  ^               ([ab]{,4}c|xy)
   5165  +1                                  ^               [ab]
   5166 +11                                  ^               x
   5167  +0                                   ^              ([ab]{,4}c|xy)
   5168  +1                                   ^              [ab]
   5169 +11                                   ^              x
   5170  +0                                    ^             ([ab]{,4}c|xy)
   5171  +1                                    ^             [ab]
   5172 +11                                    ^             x
   5173  +0                                     ^            ([ab]{,4}c|xy)
   5174  +1                                     ^            [ab]
   5175  +5                                     ^^           {
   5176 +11                                     ^            x
   5177  +0                                      ^           ([ab]{,4}c|xy)
   5178  +1                                      ^           [ab]
   5179 +11                                      ^           x
   5180  +0                                       ^          ([ab]{,4}c|xy)
   5181  +1                                       ^          [ab]
   5182 +11                                       ^          x
   5183  +0                                        ^         ([ab]{,4}c|xy)
   5184  +1                                        ^         [ab]
   5185 +11                                        ^         x
   5186  +0                                         ^        ([ab]{,4}c|xy)
   5187  +1                                         ^        [ab]
   5188 +11                                         ^        x
   5189  +0                                          ^       ([ab]{,4}c|xy)
   5190  +1                                          ^       [ab]
   5191 +11                                          ^       x
   5192  +0                                           ^      ([ab]{,4}c|xy)
   5193  +1                                           ^      [ab]
   5194 +11                                           ^      x
   5195  +0                                            ^     ([ab]{,4}c|xy)
   5196  +1                                            ^     [ab]
   5197 +11                                            ^     x
   5198  +0                                             ^    ([ab]{,4}c|xy)
   5199  +1                                             ^    [ab]
   5200 +11                                             ^    x
   5201 No match
   5202 
   5203 /([ab]{1,4}c|xy){4,5}?123/ICDZ
   5204 ------------------------------------------------------------------
   5205         Bra
   5206         Callout 255 0 21
   5207         CBra 1
   5208         Callout 255 1 9
   5209         [ab]{1,4}
   5210         Callout 255 10 1
   5211         c
   5212         Callout 255 11 0
   5213         Alt
   5214         Callout 255 12 1
   5215         x
   5216         Callout 255 13 1
   5217         y
   5218         Callout 255 14 0
   5219         Ket
   5220         CBra 1
   5221         Callout 255 1 9
   5222         [ab]{1,4}
   5223         Callout 255 10 1
   5224         c
   5225         Callout 255 11 0
   5226         Alt
   5227         Callout 255 12 1
   5228         x
   5229         Callout 255 13 1
   5230         y
   5231         Callout 255 14 0
   5232         Ket
   5233         CBra 1
   5234         Callout 255 1 9
   5235         [ab]{1,4}
   5236         Callout 255 10 1
   5237         c
   5238         Callout 255 11 0
   5239         Alt
   5240         Callout 255 12 1
   5241         x
   5242         Callout 255 13 1
   5243         y
   5244         Callout 255 14 0
   5245         Ket
   5246         CBra 1
   5247         Callout 255 1 9
   5248         [ab]{1,4}
   5249         Callout 255 10 1
   5250         c
   5251         Callout 255 11 0
   5252         Alt
   5253         Callout 255 12 1
   5254         x
   5255         Callout 255 13 1
   5256         y
   5257         Callout 255 14 0
   5258         Ket
   5259         Braminzero
   5260         CBra 1
   5261         Callout 255 1 9
   5262         [ab]{1,4}
   5263         Callout 255 10 1
   5264         c
   5265         Callout 255 11 0
   5266         Alt
   5267         Callout 255 12 1
   5268         x
   5269         Callout 255 13 1
   5270         y
   5271         Callout 255 14 0
   5272         Ket
   5273         Callout 255 21 1
   5274         1
   5275         Callout 255 22 1
   5276         2
   5277         Callout 255 23 1
   5278         3
   5279         Callout 255 24 0
   5280         Ket
   5281         End
   5282 ------------------------------------------------------------------
   5283 Capturing subpattern count = 1
   5284 Options:
   5285 No first char
   5286 Need char = '3'
   5287     aacaacaacaacaac123
   5288 --->aacaacaacaacaac123
   5289  +0 ^                      ([ab]{1,4}c|xy){4,5}?
   5290  +1 ^                      [ab]{1,4}
   5291 +10 ^ ^                    c
   5292 +11 ^  ^                   |
   5293  +1 ^  ^                   [ab]{1,4}
   5294 +10 ^    ^                 c
   5295 +11 ^     ^                |
   5296  +1 ^     ^                [ab]{1,4}
   5297 +10 ^       ^              c
   5298 +11 ^        ^             |
   5299  +1 ^        ^             [ab]{1,4}
   5300 +10 ^          ^           c
   5301 +11 ^           ^          |
   5302 +21 ^           ^          1
   5303  +1 ^           ^          [ab]{1,4}
   5304 +10 ^             ^        c
   5305 +11 ^              ^       |
   5306 +21 ^              ^       1
   5307 +22 ^               ^      2
   5308 +23 ^                ^     3
   5309 +24 ^                 ^    
   5310  0: aacaacaacaacaac123
   5311  1: aac
   5312 
   5313 /\b.*/I
   5314 Capturing subpattern count = 0
   5315 No options
   5316 No first char
   5317 No need char
   5318   ab cd\>1
   5319  0:  cd
   5320 
   5321 /\b.*/Is
   5322 Capturing subpattern count = 0
   5323 Options: dotall
   5324 No first char
   5325 No need char
   5326   ab cd\>1
   5327  0:  cd
   5328 
   5329 /(?!.bcd).*/I
   5330 Capturing subpattern count = 0
   5331 No options
   5332 No first char
   5333 No need char
   5334   Xbcd12345
   5335  0: bcd12345
   5336 
   5337 /abcde/I
   5338 Capturing subpattern count = 0
   5339 No options
   5340 First char = 'a'
   5341 Need char = 'e'
   5342     ab\P
   5343 Partial match: ab
   5344     abc\P
   5345 Partial match: abc
   5346     abcd\P
   5347 Partial match: abcd
   5348     abcde\P
   5349  0: abcde
   5350     the quick brown abc\P
   5351 Partial match: abc
   5352     ** Failers\P
   5353 No match
   5354     the quick brown abxyz fox\P
   5355 No match
   5356 
   5357 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
   5358 Capturing subpattern count = 3
   5359 Options: anchored
   5360 No first char
   5361 Need char = '/'
   5362     13/05/04\P
   5363  0: 13/05/04
   5364  1: 13
   5365  2: 05
   5366     13/5/2004\P
   5367  0: 13/5/2004
   5368  1: 13
   5369  2: 5
   5370  3: 20
   5371     02/05/09\P
   5372  0: 02/05/09
   5373  1: 02
   5374  2: 05
   5375     1\P
   5376 Partial match: 1
   5377     1/2\P
   5378 Partial match: 1/2
   5379     1/2/0\P
   5380 Partial match: 1/2/0
   5381     1/2/04\P
   5382  0: 1/2/04
   5383  1: 1
   5384  2: 2
   5385     0\P
   5386 Partial match: 0
   5387     02/\P
   5388 Partial match: 02/
   5389     02/0\P
   5390 Partial match: 02/0
   5391     02/1\P
   5392 Partial match: 02/1
   5393     ** Failers\P
   5394 No match
   5395     \P
   5396 No match
   5397     123\P
   5398 No match
   5399     33/4/04\P
   5400 No match
   5401     3/13/04\P
   5402 No match
   5403     0/1/2003\P
   5404 No match
   5405     0/\P
   5406 No match
   5407     02/0/\P
   5408 No match
   5409     02/13\P
   5410 No match
   5411 
   5412 /0{0,2}ABC/I
   5413 Capturing subpattern count = 0
   5414 No options
   5415 No first char
   5416 Need char = 'C'
   5417 
   5418 /\d{3,}ABC/I
   5419 Capturing subpattern count = 0
   5420 No options
   5421 No first char
   5422 Need char = 'C'
   5423 
   5424 /\d*ABC/I
   5425 Capturing subpattern count = 0
   5426 No options
   5427 No first char
   5428 Need char = 'C'
   5429 
   5430 /[abc]+DE/I
   5431 Capturing subpattern count = 0
   5432 No options
   5433 No first char
   5434 Need char = 'E'
   5435 
   5436 /[abc]?123/I
   5437 Capturing subpattern count = 0
   5438 No options
   5439 No first char
   5440 Need char = '3'
   5441     123\P
   5442  0: 123
   5443     a\P
   5444 Partial match: a
   5445     b\P
   5446 Partial match: b
   5447     c\P
   5448 Partial match: c
   5449     c12\P
   5450 Partial match: c12
   5451     c123\P
   5452  0: c123
   5453 
   5454 /^(?:\d){3,5}X/I
   5455 Capturing subpattern count = 0
   5456 Options: anchored
   5457 No first char
   5458 Need char = 'X'
   5459     1\P
   5460 Partial match: 1
   5461     123\P
   5462 Partial match: 123
   5463     123X
   5464  0: 123X
   5465     1234\P
   5466 Partial match: 1234
   5467     1234X
   5468  0: 1234X
   5469     12345\P
   5470 Partial match: 12345
   5471     12345X
   5472  0: 12345X
   5473     *** Failers
   5474 No match
   5475     1X
   5476 No match
   5477     123456\P
   5478 No match
   5479 
   5480 /abc/I>testsavedregex
   5481 Capturing subpattern count = 0
   5482 No options
   5483 First char = 'a'
   5484 Need char = 'c'
   5485 Compiled regex written to testsavedregex
   5486 <testsavedregex
   5487 Compiled regex loaded from testsavedregex
   5488 No study data
   5489     abc
   5490  0: abc
   5491     ** Failers
   5492 No match
   5493     bca
   5494 No match
   5495 
   5496 /abc/IF>testsavedregex
   5497 Capturing subpattern count = 0
   5498 No options
   5499 First char = 'a'
   5500 Need char = 'c'
   5501 Compiled regex written to testsavedregex
   5502 <testsavedregex
   5503 Compiled regex (byte-inverted) loaded from testsavedregex
   5504 No study data
   5505     abc
   5506  0: abc
   5507     ** Failers
   5508 No match
   5509     bca
   5510 No match
   5511 
   5512 /(a|b)/IS>testsavedregex
   5513 Capturing subpattern count = 1
   5514 No options
   5515 No first char
   5516 No need char
   5517 Subject length lower bound = 1
   5518 Starting byte set: a b 
   5519 Compiled regex written to testsavedregex
   5520 Study data written to testsavedregex
   5521 <testsavedregex
   5522 Compiled regex loaded from testsavedregex
   5523 Study data loaded from testsavedregex
   5524     abc
   5525  0: a
   5526  1: a
   5527     ** Failers
   5528  0: a
   5529  1: a
   5530     def
   5531 No match
   5532 
   5533 /(a|b)/ISF>testsavedregex
   5534 Capturing subpattern count = 1
   5535 No options
   5536 No first char
   5537 No need char
   5538 Subject length lower bound = 1
   5539 Starting byte set: a b 
   5540 Compiled regex written to testsavedregex
   5541 Study data written to testsavedregex
   5542 <testsavedregex
   5543 Compiled regex (byte-inverted) loaded from testsavedregex
   5544 Study data loaded from testsavedregex
   5545     abc
   5546  0: a
   5547  1: a
   5548     ** Failers
   5549  0: a
   5550  1: a
   5551     def
   5552 No match
   5553 
   5554 ~<(\w+)/?>(.)*</(\1)>~smgI
   5555 Capturing subpattern count = 3
   5556 Max back reference = 1
   5557 Options: multiline dotall
   5558 First char = '<'
   5559 Need char = '>'
   5560     <!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>
   5561  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>
   5562  1: seite
   5563  2: \x0a
   5564  3: seite
   5565 
   5566 /^a/IF
   5567 Capturing subpattern count = 0
   5568 Options: anchored
   5569 No first char
   5570 No need char
   5571 
   5572 /line\nbreak/I
   5573 Capturing subpattern count = 0
   5574 Contains explicit CR or LF match
   5575 No options
   5576 First char = 'l'
   5577 Need char = 'k'
   5578     this is a line\nbreak
   5579  0: line\x0abreak
   5580     line one\nthis is a line\nbreak in the second line
   5581  0: line\x0abreak
   5582 
   5583 /line\nbreak/If
   5584 Capturing subpattern count = 0
   5585 Contains explicit CR or LF match
   5586 Options: firstline
   5587 First char = 'l'
   5588 Need char = 'k'
   5589     this is a line\nbreak
   5590  0: line\x0abreak
   5591     ** Failers
   5592 No match
   5593     line one\nthis is a line\nbreak in the second line
   5594 No match
   5595 
   5596 /line\nbreak/Imf
   5597 Capturing subpattern count = 0
   5598 Contains explicit CR or LF match
   5599 Options: multiline firstline
   5600 First char = 'l'
   5601 Need char = 'k'
   5602     this is a line\nbreak
   5603  0: line\x0abreak
   5604     ** Failers
   5605 No match
   5606     line one\nthis is a line\nbreak in the second line
   5607 No match
   5608 
   5609 /ab.cd/P
   5610     ab-cd
   5611  0: ab-cd
   5612     ab=cd
   5613  0: ab=cd
   5614     ** Failers
   5615 No match: POSIX code 17: match failed
   5616     ab\ncd
   5617 No match: POSIX code 17: match failed
   5618 
   5619 /ab.cd/Ps
   5620     ab-cd
   5621  0: ab-cd
   5622     ab=cd
   5623  0: ab=cd
   5624     ab\ncd
   5625  0: ab\x0acd
   5626 
   5627 /(?i)(?-i)AbCd/I
   5628 Capturing subpattern count = 0
   5629 No options
   5630 First char = 'A'
   5631 Need char = 'd'
   5632     AbCd
   5633  0: AbCd
   5634     ** Failers
   5635 No match
   5636     abcd
   5637 No match
   5638 
   5639 /a{11111111111111111111}/I
   5640 Failed: number too big in {} quantifier at offset 22
   5641 
   5642 /(){64294967295}/I
   5643 Failed: number too big in {} quantifier at offset 14
   5644 
   5645 /(){2,4294967295}/I
   5646 Failed: number too big in {} quantifier at offset 15
   5647 
   5648 "(?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
   5649 Capturing subpattern count = 1
   5650 Max back reference = 1
   5651 No options
   5652 First char = 'a' (caseless)
   5653 Need char = 'B'
   5654     abcdefghijklAkB
   5655  0: abcdefghijklAkB
   5656  1: k
   5657 
   5658 "(?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
   5659 Capturing subpattern count = 12
   5660 Max back reference = 11
   5661 Named capturing subpatterns:
   5662   n0    1
   5663   n1    2
   5664   n10  11
   5665   n11  12
   5666   n2    3
   5667   n3    4
   5668   n4    5
   5669   n5    6
   5670   n6    7
   5671   n7    8
   5672   n8    9
   5673   n9   10
   5674 No options
   5675 First char = 'a'
   5676 Need char = 'B'
   5677     abcdefghijklAkB
   5678  0: abcdefghijklAkB
   5679  1: a
   5680  2: b
   5681  3: c
   5682  4: d
   5683  5: e
   5684  6: f
   5685  7: g
   5686  8: h
   5687  9: i
   5688 10: j
   5689 11: k
   5690 12: l
   5691 
   5692 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
   5693 Capturing subpattern count = 12
   5694 Max back reference = 11
   5695 No options
   5696 First char = 'a'
   5697 Need char = 'B'
   5698     abcdefghijklAkB
   5699  0: abcdefghijklAkB
   5700  1: a
   5701  2: b
   5702  3: c
   5703  4: d
   5704  5: e
   5705  6: f
   5706  7: g
   5707  8: h
   5708  9: i
   5709 10: j
   5710 11: k
   5711 12: l
   5712 
   5713 "(?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
   5714 Capturing subpattern count = 101
   5715 Named capturing subpatterns:
   5716   name0     1
   5717   name1     2
   5718   name10   11
   5719   name100 101
   5720   name11   12
   5721   name12   13
   5722   name13   14
   5723   name14   15
   5724   name15   16
   5725   name16   17
   5726   name17   18
   5727   name18   19
   5728   name19   20
   5729   name2     3
   5730   name20   21
   5731   name21   22
   5732   name22   23
   5733   name23   24
   5734   name24   25
   5735   name25   26
   5736   name26   27
   5737   name27   28
   5738   name28   29
   5739   name29   30
   5740   name3     4
   5741   name30   31
   5742   name31   32
   5743   name32   33
   5744   name33   34
   5745   name34   35
   5746   name35   36
   5747   name36   37
   5748   name37   38
   5749   name38   39
   5750   name39   40
   5751   name4     5
   5752   name40   41
   5753   name41   42
   5754   name42   43
   5755   name43   44
   5756   name44   45
   5757   name45   46
   5758   name46   47
   5759   name47   48
   5760   name48   49
   5761   name49   50
   5762   name5     6
   5763   name50   51
   5764   name51   52
   5765   name52   53
   5766   name53   54
   5767   name54   55
   5768   name55   56
   5769   name56   57
   5770   name57   58
   5771   name58   59
   5772   name59   60
   5773   name6     7
   5774   name60   61
   5775   name61   62
   5776   name62   63
   5777   name63   64
   5778   name64   65
   5779   name65   66
   5780   name66   67
   5781   name67   68
   5782   name68   69
   5783   name69   70
   5784   name7     8
   5785   name70   71
   5786   name71   72
   5787   name72   73
   5788   name73   74
   5789   name74   75
   5790   name75   76
   5791   name76   77
   5792   name77   78
   5793   name78   79
   5794   name79   80
   5795   name8     9
   5796   name80   81
   5797   name81   82
   5798   name82   83
   5799   name83   84
   5800   name84   85
   5801   name85   86
   5802   name86   87
   5803   name87   88
   5804   name88   89
   5805   name89   90
   5806   name9    10
   5807   name90   91
   5808   name91   92
   5809   name92   93
   5810   name93   94
   5811   name94   95
   5812   name95   96
   5813   name96   97
   5814   name97   98
   5815   name98   99
   5816   name99  100
   5817 No options
   5818 First char = 'a'
   5819 Need char = 'a'
   5820     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   5821 Matched, but too many substrings
   5822  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   5823  1: a
   5824  2: a
   5825  3: a
   5826  4: a
   5827  5: a
   5828  6: a
   5829  7: a
   5830  8: a
   5831  9: a
   5832 10: a
   5833 11: a
   5834 12: a
   5835 13: a
   5836 14: a
   5837 
   5838 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
   5839 Capturing subpattern count = 101
   5840 No options
   5841 First char = 'a'
   5842 Need char = 'a'
   5843     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   5844 Matched, but too many substrings
   5845  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   5846  1: a
   5847  2: a
   5848  3: a
   5849  4: a
   5850  5: a
   5851  6: a
   5852  7: a
   5853  8: a
   5854  9: a
   5855 10: a
   5856 11: a
   5857 12: a
   5858 13: a
   5859 14: a
   5860 
   5861 /[^()]*(?:\((?R)\)[^()]*)*/I
   5862 Capturing subpattern count = 0
   5863 No options
   5864 No first char
   5865 No need char
   5866     (this(and)that
   5867  0: 
   5868     (this(and)that)
   5869  0: (this(and)that)
   5870     (this(and)that)stuff
   5871  0: (this(and)that)stuff
   5872 
   5873 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
   5874 Capturing subpattern count = 0
   5875 No options
   5876 No first char
   5877 No need char
   5878     (this(and)that
   5879  0: 
   5880     (this(and)that)
   5881  0: (this(and)that)
   5882 
   5883 /[^()]*(?:\((?R)\))*[^()]*/I
   5884 Capturing subpattern count = 0
   5885 No options
   5886 No first char
   5887 No need char
   5888     (this(and)that
   5889  0: 
   5890     (this(and)that)
   5891  0: (this(and)that)
   5892 
   5893 /(?:\((?R)\))*[^()]*/I
   5894 Capturing subpattern count = 0
   5895 No options
   5896 No first char
   5897 No need char
   5898     (this(and)that
   5899  0: 
   5900     (this(and)that)
   5901  0: 
   5902     ((this))
   5903  0: ((this))
   5904 
   5905 /(?:\((?R)\))|[^()]*/I
   5906 Capturing subpattern count = 0
   5907 No options
   5908 No first char
   5909 No need char
   5910     (this(and)that
   5911  0: 
   5912     (this(and)that)
   5913  0: 
   5914     (this)
   5915  0: (this)
   5916     ((this))
   5917  0: ((this))
   5918 
   5919 /a(b)c/PN
   5920     abc
   5921 Matched with REG_NOSUB
   5922 
   5923 /a(?P<name>b)c/PN
   5924     abc
   5925 Matched with REG_NOSUB
   5926 
   5927 /\x{100}/I
   5928 Failed: character value in \x{...} sequence is too large at offset 6
   5929 
   5930 /\x{0000ff}/I
   5931 Capturing subpattern count = 0
   5932 No options
   5933 First char = 255
   5934 No need char
   5935 
   5936 /^((?P<A>a1)|(?P<A>a2)b)/I
   5937 Failed: two named subpatterns have the same name at offset 17
   5938 
   5939 /^((?P<A>a1)|(?P<A>a2)b)/IJ
   5940 Capturing subpattern count = 3
   5941 Named capturing subpatterns:
   5942   A   2
   5943   A   3
   5944 Options: anchored dupnames
   5945 No first char
   5946 No need char
   5947     a1b\CA
   5948  0: a1
   5949  1: a1
   5950  2: a1
   5951   C a1 (2) A
   5952     a2b\CA
   5953  0: a2b
   5954  1: a2b
   5955  2: <unset>
   5956  3: a2
   5957   C a2 (2) A
   5958     ** Failers
   5959 No match
   5960     a1b\CZ\CA
   5961 no parentheses with name "Z"
   5962  0: a1
   5963  1: a1
   5964  2: a1
   5965 copy substring Z failed -7
   5966   C a1 (2) A
   5967 
   5968 /^(?P<A>a)(?P<A>b)/IJ
   5969 Capturing subpattern count = 2
   5970 Named capturing subpatterns:
   5971   A   1
   5972   A   2
   5973 Options: anchored dupnames
   5974 No first char
   5975 No need char
   5976     ab\CA
   5977  0: ab
   5978  1: a
   5979  2: b
   5980   C a (1) A
   5981 
   5982 /^(?P<A>a)(?P<A>b)|cd/IJ
   5983 Capturing subpattern count = 2
   5984 Named capturing subpatterns:
   5985   A   1
   5986   A   2
   5987 Options: dupnames
   5988 No first char
   5989 No need char
   5990     ab\CA
   5991  0: ab
   5992  1: a
   5993  2: b
   5994   C a (1) A
   5995     cd\CA
   5996  0: cd
   5997 copy substring A failed -7
   5998 
   5999 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
   6000 Capturing subpattern count = 4
   6001 Named capturing subpatterns:
   6002   A   1
   6003   A   2
   6004   A   3
   6005   A   4
   6006 Options: dupnames
   6007 No first char
   6008 No need char
   6009     cdefgh\CA
   6010  0: cdefgh
   6011  1: <unset>
   6012  2: <unset>
   6013  3: ef
   6014  4: gh
   6015   C ef (2) A
   6016 
   6017 /^((?P<A>a1)|(?P<A>a2)b)/IJ
   6018 Capturing subpattern count = 3
   6019 Named capturing subpatterns:
   6020   A   2
   6021   A   3
   6022 Options: anchored dupnames
   6023 No first char
   6024 No need char
   6025     a1b\GA
   6026  0: a1
   6027  1: a1
   6028  2: a1
   6029   G a1 (2) A
   6030     a2b\GA
   6031  0: a2b
   6032  1: a2b
   6033  2: <unset>
   6034  3: a2
   6035   G a2 (2) A
   6036     ** Failers
   6037 No match
   6038     a1b\GZ\GA
   6039 no parentheses with name "Z"
   6040  0: a1
   6041  1: a1
   6042  2: a1
   6043 copy substring Z failed -7
   6044   G a1 (2) A
   6045 
   6046 /^(?P<A>a)(?P<A>b)/IJ
   6047 Capturing subpattern count = 2
   6048 Named capturing subpatterns:
   6049   A   1
   6050   A   2
   6051 Options: anchored dupnames
   6052 No first char
   6053 No need char
   6054     ab\GA
   6055  0: ab
   6056  1: a
   6057  2: b
   6058   G a (1) A
   6059 
   6060 /^(?P<A>a)(?P<A>b)|cd/IJ
   6061 Capturing subpattern count = 2
   6062 Named capturing subpatterns:
   6063   A   1
   6064   A   2
   6065 Options: dupnames
   6066 No first char
   6067 No need char
   6068     ab\GA
   6069  0: ab
   6070  1: a
   6071  2: b
   6072   G a (1) A
   6073     cd\GA
   6074  0: cd
   6075 copy substring A failed -7
   6076 
   6077 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
   6078 Capturing subpattern count = 4
   6079 Named capturing subpatterns:
   6080   A   1
   6081   A   2
   6082   A   3
   6083   A   4
   6084 Options: dupnames
   6085 No first char
   6086 No need char
   6087     cdefgh\GA
   6088  0: cdefgh
   6089  1: <unset>
   6090  2: <unset>
   6091  3: ef
   6092  4: gh
   6093   G ef (2) A
   6094 
   6095 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
   6096 Capturing subpattern count = 3
   6097 Named capturing subpatterns:
   6098   A   2
   6099   A   3
   6100 Options: anchored dupnames
   6101 Duplicate name status changes
   6102 No first char
   6103 No need char
   6104     a1b\CA
   6105  0: a1
   6106  1: a1
   6107  2: a1
   6108   C a1 (2) A
   6109     a2b\CA
   6110  0: a2b
   6111  1: a2b
   6112  2: <unset>
   6113  3: a2
   6114   C a2 (2) A
   6115 
   6116 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
   6117 Failed: two named subpatterns have the same name at offset 37
   6118 
   6119 / In this next test, J is not set at the outer level; consequently it isn't
   6120 set in the pattern's options; consequently pcre_get_named_substring() produces
   6121 a random value. /Ix
   6122 Capturing subpattern count = 1
   6123 Options: extended
   6124 First char = 'I'
   6125 Need char = 'e'
   6126 
   6127 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
   6128 Capturing subpattern count = 4
   6129 Named capturing subpatterns:
   6130   A   1
   6131   B   2
   6132   B   3
   6133   C   4
   6134 Options: anchored
   6135 Duplicate name status changes
   6136 No first char
   6137 No need char
   6138     a bc d\CA\CB\CC
   6139  0: a bc d
   6140  1: a
   6141  2: b
   6142  3: c
   6143  4: d
   6144   C a (1) A
   6145   C b (1) B
   6146   C d (1) C
   6147 
   6148 /^(?P<A>a)?(?(A)a|b)/I
   6149 Capturing subpattern count = 1
   6150 Named capturing subpatterns:
   6151   A   1
   6152 Options: anchored
   6153 No first char
   6154 No need char
   6155     aabc
   6156  0: aa
   6157  1: a
   6158     bc
   6159  0: b
   6160     ** Failers
   6161 No match
   6162     abc
   6163 No match
   6164 
   6165 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
   6166 Capturing subpattern count = 1
   6167 Named capturing subpatterns:
   6168   ZZ   1
   6169 No options
   6170 No first char
   6171 Need char = 'X'
   6172     bXaX
   6173  0: bXaX
   6174  1: X
   6175 
   6176 /(?:(?(2y)a|b)(X))+/I
   6177 Failed: reference to non-existent subpattern at offset 9
   6178 
   6179 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
   6180 Failed: reference to non-existent subpattern at offset 9
   6181 
   6182 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
   6183 Capturing subpattern count = 1
   6184 Named capturing subpatterns:
   6185   ZZ   1
   6186 No options
   6187 No first char
   6188 Need char = 'X'
   6189     bbXaaX
   6190  0: bbXaaX
   6191  1: X
   6192 
   6193 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
   6194 Capturing subpattern count = 1
   6195 Named capturing subpatterns:
   6196   ZZ   1
   6197 No options
   6198 No first char
   6199 Need char = 'X'
   6200     (b)\\Xa\\X
   6201  0: (b)\Xa\X
   6202  1: X
   6203 
   6204 /(?P<ABC/I
   6205 Failed: syntax error in subpattern name (missing terminator) at offset 7
   6206 
   6207 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
   6208 Capturing subpattern count = 1
   6209 Max back reference = 1
   6210 Named capturing subpatterns:
   6211   A   1
   6212 No options
   6213 No first char
   6214 No need char
   6215     bXXaYYaY
   6216  0: bXXaYYaY
   6217  1: Y
   6218     bXYaXXaX
   6219  0: bX
   6220  1: X
   6221 
   6222 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
   6223 Capturing subpattern count = 10
   6224 Max back reference = 10
   6225 Named capturing subpatterns:
   6226   A  10
   6227 No options
   6228 No first char
   6229 No need char
   6230     bXXaYYaY
   6231  0: bXXaYYaY
   6232  1: 
   6233  2: 
   6234  3: 
   6235  4: 
   6236  5: 
   6237  6: 
   6238  7: 
   6239  8: 
   6240  9: 
   6241 10: Y
   6242 
   6243 /\777/I
   6244 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3
   6245 
   6246 /\s*,\s*/IS
   6247 Capturing subpattern count = 0
   6248 No options
   6249 No first char
   6250 Need char = ','
   6251 Subject length lower bound = 1
   6252 Starting byte set: \x09 \x0a \x0c \x0d \x20 , 
   6253     \x0b,\x0b
   6254  0: ,
   6255     \x0c,\x0d
   6256  0: \x0c,\x0d
   6257 
   6258 /^abc/Im
   6259 Capturing subpattern count = 0
   6260 Options: multiline
   6261 First char at start or follows newline
   6262 Need char = 'c'
   6263     xyz\nabc
   6264  0: abc
   6265     xyz\nabc\<lf>
   6266  0: abc
   6267     xyz\r\nabc\<lf>
   6268  0: abc
   6269     xyz\rabc\<cr>
   6270  0: abc
   6271     xyz\r\nabc\<crlf>
   6272  0: abc
   6273     ** Failers
   6274 No match
   6275     xyz\nabc\<cr>
   6276 No match
   6277     xyz\r\nabc\<cr>
   6278 No match
   6279     xyz\nabc\<crlf>
   6280 No match
   6281     xyz\rabc\<crlf>
   6282 No match
   6283     xyz\rabc\<lf>
   6284 No match
   6285 
   6286 /abc$/Im<lf>
   6287 Capturing subpattern count = 0
   6288 Options: multiline
   6289 Forced newline sequence: LF
   6290 First char = 'a'
   6291 Need char = 'c'
   6292     xyzabc
   6293  0: abc
   6294     xyzabc\n
   6295  0: abc
   6296     xyzabc\npqr
   6297  0: abc
   6298     xyzabc\r\<cr>
   6299  0: abc
   6300     xyzabc\rpqr\<cr>
   6301  0: abc
   6302     xyzabc\r\n\<crlf>
   6303  0: abc
   6304     xyzabc\r\npqr\<crlf>
   6305  0: abc
   6306     ** Failers
   6307 No match
   6308     xyzabc\r
   6309 No match
   6310     xyzabc\rpqr
   6311 No match
   6312     xyzabc\r\n
   6313 No match
   6314     xyzabc\r\npqr
   6315 No match
   6316 
   6317 /^abc/Im<cr>
   6318 Capturing subpattern count = 0
   6319 Options: multiline
   6320 Forced newline sequence: CR
   6321 First char at start or follows newline
   6322 Need char = 'c'
   6323     xyz\rabcdef
   6324  0: abc
   6325     xyz\nabcdef\<lf>
   6326  0: abc
   6327     ** Failers
   6328 No match
   6329     xyz\nabcdef
   6330 No match
   6331 
   6332 /^abc/Im<lf>
   6333 Capturing subpattern count = 0
   6334 Options: multiline
   6335 Forced newline sequence: LF
   6336 First char at start or follows newline
   6337 Need char = 'c'
   6338     xyz\nabcdef
   6339  0: abc
   6340     xyz\rabcdef\<cr>
   6341  0: abc
   6342     ** Failers
   6343 No match
   6344     xyz\rabcdef
   6345 No match
   6346 
   6347 /^abc/Im<crlf>
   6348 Capturing subpattern count = 0
   6349 Options: multiline
   6350 Forced newline sequence: CRLF
   6351 First char at start or follows newline
   6352 Need char = 'c'
   6353     xyz\r\nabcdef
   6354  0: abc
   6355     xyz\rabcdef\<cr>
   6356  0: abc
   6357     ** Failers
   6358 No match
   6359     xyz\rabcdef
   6360 No match
   6361 
   6362 /^abc/Im<bad>
   6363 Unknown newline type at: <bad>
   6364 
   6365 
   6366 /abc/I
   6367 Capturing subpattern count = 0
   6368 No options
   6369 First char = 'a'
   6370 Need char = 'c'
   6371     xyz\rabc\<bad>
   6372 Unknown newline type at: <bad>
   6373     abc
   6374  0: abc
   6375 
   6376 /.*/I<lf>
   6377 Capturing subpattern count = 0
   6378 Options:
   6379 Forced newline sequence: LF
   6380 First char at start or follows newline
   6381 No need char
   6382     abc\ndef
   6383  0: abc
   6384     abc\rdef
   6385  0: abc\x0ddef
   6386     abc\r\ndef
   6387  0: abc\x0d
   6388     \<cr>abc\ndef
   6389  0: abc\x0adef
   6390     \<cr>abc\rdef
   6391  0: abc
   6392     \<cr>abc\r\ndef
   6393  0: abc
   6394     \<crlf>abc\ndef
   6395  0: abc\x0adef
   6396     \<crlf>abc\rdef
   6397  0: abc\x0ddef
   6398     \<crlf>abc\r\ndef
   6399  0: abc
   6400 
   6401 /\w+(.)(.)?def/Is
   6402 Capturing subpattern count = 2
   6403 Options: dotall
   6404 No first char
   6405 Need char = 'f'
   6406     abc\ndef
   6407  0: abc\x0adef
   6408  1: \x0a
   6409     abc\rdef
   6410  0: abc\x0ddef
   6411  1: \x0d
   6412     abc\r\ndef
   6413  0: abc\x0d\x0adef
   6414  1: \x0d
   6415  2: \x0a
   6416 
   6417 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
   6418 Capturing subpattern count = 1
   6419 No options
   6420 No first char
   6421 No need char
   6422    /* this is a C style comment */\M
   6423 Minimum match() limit = 120
   6424 Minimum match() recursion limit = 6
   6425  0: /* this is a C style comment */
   6426  1: /* this is a C style comment */
   6427 
   6428 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
   6429 Capturing subpattern count = 1
   6430 Named capturing subpatterns:
   6431   B   1
   6432 No options
   6433 No first char
   6434 Need char = '.'
   6435 
   6436 /()()()()()()()()()()()()()()()()()()()()
   6437  ()()()()()()()()()()()()()()()()()()()()
   6438  ()()()()()()()()()()()()()()()()()()()()
   6439  ()()()()()()()()()()()()()()()()()()()()
   6440  ()()()()()()()()()()()()()()()()()()()()
   6441  (.(.))/Ix
   6442 Capturing subpattern count = 102
   6443 Options: extended
   6444 No first char
   6445 No need char
   6446     XY\O400
   6447  0: XY
   6448  1: 
   6449  2: 
   6450  3: 
   6451  4: 
   6452  5: 
   6453  6: 
   6454  7: 
   6455  8: 
   6456  9: 
   6457 10: 
   6458 11: 
   6459 12: 
   6460 13: 
   6461 14: 
   6462 15: 
   6463 16: 
   6464 17: 
   6465 18: 
   6466 19: 
   6467 20: 
   6468 21: 
   6469 22: 
   6470 23: 
   6471 24: 
   6472 25: 
   6473 26: 
   6474 27: 
   6475 28: 
   6476 29: 
   6477 30: 
   6478 31: 
   6479 32: 
   6480 33: 
   6481 34: 
   6482 35: 
   6483 36: 
   6484 37: 
   6485 38: 
   6486 39: 
   6487 40: 
   6488 41: 
   6489 42: 
   6490 43: 
   6491 44: 
   6492 45: 
   6493 46: 
   6494 47: 
   6495 48: 
   6496 49: 
   6497 50: 
   6498 51: 
   6499 52: 
   6500 53: 
   6501 54: 
   6502 55: 
   6503 56: 
   6504 57: 
   6505 58: 
   6506 59: 
   6507 60: 
   6508 61: 
   6509 62: 
   6510 63: 
   6511 64: 
   6512 65: 
   6513 66: 
   6514 67: 
   6515 68: 
   6516 69: 
   6517 70: 
   6518 71: 
   6519 72: 
   6520 73: 
   6521 74: 
   6522 75: 
   6523 76: 
   6524 77: 
   6525 78: 
   6526 79: 
   6527 80: 
   6528 81: 
   6529 82: 
   6530 83: 
   6531 84: 
   6532 85: 
   6533 86: 
   6534 87: 
   6535 88: 
   6536 89: 
   6537 90: 
   6538 91: 
   6539 92: 
   6540 93: 
   6541 94: 
   6542 95: 
   6543 96: 
   6544 97: 
   6545 98: 
   6546 99: 
   6547 100: 
   6548 101: XY
   6549 102: Y
   6550 
   6551 /(a*b|(?i:c*(?-i)d))/IS
   6552 Capturing subpattern count = 1
   6553 No options
   6554 No first char
   6555 No need char
   6556 Subject length lower bound = 1
   6557 Starting byte set: C a b c d 
   6558 
   6559 /()[ab]xyz/IS
   6560 Capturing subpattern count = 1
   6561 No options
   6562 No first char
   6563 Need char = 'z'
   6564 Subject length lower bound = 4
   6565 Starting byte set: a b 
   6566 
   6567 /(|)[ab]xyz/IS
   6568 Capturing subpattern count = 1
   6569 No options
   6570 No first char
   6571 Need char = 'z'
   6572 Subject length lower bound = 4
   6573 Starting byte set: a b 
   6574 
   6575 /(|c)[ab]xyz/IS
   6576 Capturing subpattern count = 1
   6577 No options
   6578 No first char
   6579 Need char = 'z'
   6580 Subject length lower bound = 4
   6581 Starting byte set: a b c 
   6582 
   6583 /(|c?)[ab]xyz/IS
   6584 Capturing subpattern count = 1
   6585 No options
   6586 No first char
   6587 Need char = 'z'
   6588 Subject length lower bound = 4
   6589 Starting byte set: a b c 
   6590 
   6591 /(d?|c?)[ab]xyz/IS
   6592 Capturing subpattern count = 1
   6593 No options
   6594 No first char
   6595 Need char = 'z'
   6596 Subject length lower bound = 4
   6597 Starting byte set: a b c d 
   6598 
   6599 /(d?|c)[ab]xyz/IS
   6600 Capturing subpattern count = 1
   6601 No options
   6602 No first char
   6603 Need char = 'z'
   6604 Subject length lower bound = 4
   6605 Starting byte set: a b c d 
   6606 
   6607 /^a*b\d/DZ
   6608 ------------------------------------------------------------------
   6609         Bra
   6610         ^
   6611         a*+
   6612         b
   6613         \d
   6614         Ket
   6615         End
   6616 ------------------------------------------------------------------
   6617 Capturing subpattern count = 0
   6618 Options: anchored
   6619 No first char
   6620 Need char = 'b'
   6621 
   6622 /^a*+b\d/DZ
   6623 ------------------------------------------------------------------
   6624         Bra
   6625         ^
   6626         a*+
   6627         b
   6628         \d
   6629         Ket
   6630         End
   6631 ------------------------------------------------------------------
   6632 Capturing subpattern count = 0
   6633 Options: anchored
   6634 No first char
   6635 Need char = 'b'
   6636 
   6637 /^a*?b\d/DZ
   6638 ------------------------------------------------------------------
   6639         Bra
   6640         ^
   6641         a*+
   6642         b
   6643         \d
   6644         Ket
   6645         End
   6646 ------------------------------------------------------------------
   6647 Capturing subpattern count = 0
   6648 Options: anchored
   6649 No first char
   6650 Need char = 'b'
   6651 
   6652 /^a+A\d/DZ
   6653 ------------------------------------------------------------------
   6654         Bra
   6655         ^
   6656         a++
   6657         A
   6658         \d
   6659         Ket
   6660         End
   6661 ------------------------------------------------------------------
   6662 Capturing subpattern count = 0
   6663 Options: anchored
   6664 No first char
   6665 Need char = 'A'
   6666     aaaA5
   6667  0: aaaA5
   6668     ** Failers
   6669 No match
   6670     aaaa5
   6671 No match
   6672 
   6673 /^a*A\d/IiDZ
   6674 ------------------------------------------------------------------
   6675         Bra
   6676         ^
   6677         a*
   6678      NC A
   6679         \d
   6680         Ket
   6681         End
   6682 ------------------------------------------------------------------
   6683 Capturing subpattern count = 0
   6684 Options: anchored caseless
   6685 No first char
   6686 Need char = 'A' (caseless)
   6687     aaaA5
   6688  0: aaaA5
   6689     aaaa5
   6690  0: aaaa5
   6691 
   6692 /(a*|b*)[cd]/IS
   6693 Capturing subpattern count = 1
   6694 No options
   6695 No first char
   6696 No need char
   6697 Subject length lower bound = 1
   6698 Starting byte set: a b c d 
   6699 
   6700 /(a+|b*)[cd]/IS
   6701 Capturing subpattern count = 1
   6702 No options
   6703 No first char
   6704 No need char
   6705 Subject length lower bound = 1
   6706 Starting byte set: a b c d 
   6707 
   6708 /(a*|b+)[cd]/IS
   6709 Capturing subpattern count = 1
   6710 No options
   6711 No first char
   6712 No need char
   6713 Subject length lower bound = 1
   6714 Starting byte set: a b c d 
   6715 
   6716 /(a+|b+)[cd]/IS
   6717 Capturing subpattern count = 1
   6718 No options
   6719 No first char
   6720 No need char
   6721 Subject length lower bound = 2
   6722 Starting byte set: a b 
   6723 
   6724 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
   6725  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
   6726  (((
   6727  a
   6728  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
   6729  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
   6730  )))
   6731 /Ix
   6732 Capturing subpattern count = 203
   6733 Options: extended
   6734 First char = 'a'
   6735 No need char
   6736   large nest
   6737 Matched, but too many substrings
   6738  0: a
   6739  1: a
   6740  2: a
   6741  3: a
   6742  4: a
   6743  5: a
   6744  6: a
   6745  7: a
   6746  8: a
   6747  9: a
   6748 10: a
   6749 11: a
   6750 12: a
   6751 13: a
   6752 14: a
   6753 
   6754 /a*\d/BZ
   6755 ------------------------------------------------------------------
   6756         Bra
   6757         a*+
   6758         \d
   6759         Ket
   6760         End
   6761 ------------------------------------------------------------------
   6762 
   6763 /a*\D/BZ
   6764 ------------------------------------------------------------------
   6765         Bra
   6766         a*
   6767         \D
   6768         Ket
   6769         End
   6770 ------------------------------------------------------------------
   6771 
   6772 /0*\d/BZ
   6773 ------------------------------------------------------------------
   6774         Bra
   6775         0*
   6776         \d
   6777         Ket
   6778         End
   6779 ------------------------------------------------------------------
   6780 
   6781 /0*\D/BZ
   6782 ------------------------------------------------------------------
   6783         Bra
   6784         0*+
   6785         \D
   6786         Ket
   6787         End
   6788 ------------------------------------------------------------------
   6789 
   6790 /a*\s/BZ
   6791 ------------------------------------------------------------------
   6792         Bra
   6793         a*+
   6794         \s
   6795         Ket
   6796         End
   6797 ------------------------------------------------------------------
   6798 
   6799 /a*\S/BZ
   6800 ------------------------------------------------------------------
   6801         Bra
   6802         a*
   6803         \S
   6804         Ket
   6805         End
   6806 ------------------------------------------------------------------
   6807 
   6808 / *\s/BZ
   6809 ------------------------------------------------------------------
   6810         Bra
   6811          *
   6812         \s
   6813         Ket
   6814         End
   6815 ------------------------------------------------------------------
   6816 
   6817 / *\S/BZ
   6818 ------------------------------------------------------------------
   6819         Bra
   6820          *+
   6821         \S
   6822         Ket
   6823         End
   6824 ------------------------------------------------------------------
   6825 
   6826 /a*\w/BZ
   6827 ------------------------------------------------------------------
   6828         Bra
   6829         a*
   6830         \w
   6831         Ket
   6832         End
   6833 ------------------------------------------------------------------
   6834 
   6835 /a*\W/BZ
   6836 ------------------------------------------------------------------
   6837         Bra
   6838         a*+
   6839         \W
   6840         Ket
   6841         End
   6842 ------------------------------------------------------------------
   6843 
   6844 /=*\w/BZ
   6845 ------------------------------------------------------------------
   6846         Bra
   6847         =*+
   6848         \w
   6849         Ket
   6850         End
   6851 ------------------------------------------------------------------
   6852 
   6853 /=*\W/BZ
   6854 ------------------------------------------------------------------
   6855         Bra
   6856         =*
   6857         \W
   6858         Ket
   6859         End
   6860 ------------------------------------------------------------------
   6861 
   6862 /\d*a/BZ
   6863 ------------------------------------------------------------------
   6864         Bra
   6865         \d*+
   6866         a
   6867         Ket
   6868         End
   6869 ------------------------------------------------------------------
   6870 
   6871 /\d*2/BZ
   6872 ------------------------------------------------------------------
   6873         Bra
   6874         \d*
   6875         2
   6876         Ket
   6877         End
   6878 ------------------------------------------------------------------
   6879 
   6880 /\d*\d/BZ
   6881 ------------------------------------------------------------------
   6882         Bra
   6883         \d*
   6884         \d
   6885         Ket
   6886         End
   6887 ------------------------------------------------------------------
   6888 
   6889 /\d*\D/BZ
   6890 ------------------------------------------------------------------
   6891         Bra
   6892         \d*+
   6893         \D
   6894         Ket
   6895         End
   6896 ------------------------------------------------------------------
   6897 
   6898 /\d*\s/BZ
   6899 ------------------------------------------------------------------
   6900         Bra
   6901         \d*+
   6902         \s
   6903         Ket
   6904         End
   6905 ------------------------------------------------------------------
   6906 
   6907 /\d*\S/BZ
   6908 ------------------------------------------------------------------
   6909         Bra
   6910         \d*
   6911         \S
   6912         Ket
   6913         End
   6914 ------------------------------------------------------------------
   6915 
   6916 /\d*\w/BZ
   6917 ------------------------------------------------------------------
   6918         Bra
   6919         \d*
   6920         \w
   6921         Ket
   6922         End
   6923 ------------------------------------------------------------------
   6924 
   6925 /\d*\W/BZ
   6926 ------------------------------------------------------------------
   6927         Bra
   6928         \d*+
   6929         \W
   6930         Ket
   6931         End
   6932 ------------------------------------------------------------------
   6933 
   6934 /\D*a/BZ
   6935 ------------------------------------------------------------------
   6936         Bra
   6937         \D*
   6938         a
   6939         Ket
   6940         End
   6941 ------------------------------------------------------------------
   6942 
   6943 /\D*2/BZ
   6944 ------------------------------------------------------------------
   6945         Bra
   6946         \D*+
   6947         2
   6948         Ket
   6949         End
   6950 ------------------------------------------------------------------
   6951 
   6952 /\D*\d/BZ
   6953 ------------------------------------------------------------------
   6954         Bra
   6955         \D*+
   6956         \d
   6957         Ket
   6958         End
   6959 ------------------------------------------------------------------
   6960 
   6961 /\D*\D/BZ
   6962 ------------------------------------------------------------------
   6963         Bra
   6964         \D*
   6965         \D
   6966         Ket
   6967         End
   6968 ------------------------------------------------------------------
   6969 
   6970 /\D*\s/BZ
   6971 ------------------------------------------------------------------
   6972         Bra
   6973         \D*
   6974         \s
   6975         Ket
   6976         End
   6977 ------------------------------------------------------------------
   6978 
   6979 /\D*\S/BZ
   6980 ------------------------------------------------------------------
   6981         Bra
   6982         \D*
   6983         \S
   6984         Ket
   6985         End
   6986 ------------------------------------------------------------------
   6987 
   6988 /\D*\w/BZ
   6989 ------------------------------------------------------------------
   6990         Bra
   6991         \D*
   6992         \w
   6993         Ket
   6994         End
   6995 ------------------------------------------------------------------
   6996 
   6997 /\D*\W/BZ
   6998 ------------------------------------------------------------------
   6999         Bra
   7000         \D*
   7001         \W
   7002         Ket
   7003         End
   7004 ------------------------------------------------------------------
   7005 
   7006 /\s*a/BZ
   7007 ------------------------------------------------------------------
   7008         Bra
   7009         \s*+
   7010         a
   7011         Ket
   7012         End
   7013 ------------------------------------------------------------------
   7014 
   7015 /\s*2/BZ
   7016 ------------------------------------------------------------------
   7017         Bra
   7018         \s*+
   7019         2
   7020         Ket
   7021         End
   7022 ------------------------------------------------------------------
   7023 
   7024 /\s*\d/BZ
   7025 ------------------------------------------------------------------
   7026         Bra
   7027         \s*+
   7028         \d
   7029         Ket
   7030         End
   7031 ------------------------------------------------------------------
   7032 
   7033 /\s*\D/BZ
   7034 ------------------------------------------------------------------
   7035         Bra
   7036         \s*
   7037         \D
   7038         Ket
   7039         End
   7040 ------------------------------------------------------------------
   7041 
   7042 /\s*\s/BZ
   7043 ------------------------------------------------------------------
   7044         Bra
   7045         \s*
   7046         \s
   7047         Ket
   7048         End
   7049 ------------------------------------------------------------------
   7050 
   7051 /\s*\S/BZ
   7052 ------------------------------------------------------------------
   7053         Bra
   7054         \s*+
   7055         \S
   7056         Ket
   7057         End
   7058 ------------------------------------------------------------------
   7059 
   7060 /\s*\w/BZ
   7061 ------------------------------------------------------------------
   7062         Bra
   7063         \s*+
   7064         \w
   7065         Ket
   7066         End
   7067 ------------------------------------------------------------------
   7068 
   7069 /\s*\W/BZ
   7070 ------------------------------------------------------------------
   7071         Bra
   7072         \s*
   7073         \W
   7074         Ket
   7075         End
   7076 ------------------------------------------------------------------
   7077 
   7078 /\S*a/BZ
   7079 ------------------------------------------------------------------
   7080         Bra
   7081         \S*
   7082         a
   7083         Ket
   7084         End
   7085 ------------------------------------------------------------------
   7086 
   7087 /\S*2/BZ
   7088 ------------------------------------------------------------------
   7089         Bra
   7090         \S*
   7091         2
   7092         Ket
   7093         End
   7094 ------------------------------------------------------------------
   7095 
   7096 /\S*\d/BZ
   7097 ------------------------------------------------------------------
   7098         Bra
   7099         \S*
   7100         \d
   7101         Ket
   7102         End
   7103 ------------------------------------------------------------------
   7104 
   7105 /\S*\D/BZ
   7106 ------------------------------------------------------------------
   7107         Bra
   7108         \S*
   7109         \D
   7110         Ket
   7111         End
   7112 ------------------------------------------------------------------
   7113 
   7114 /\S*\s/BZ
   7115 ------------------------------------------------------------------
   7116         Bra
   7117         \S*+
   7118         \s
   7119         Ket
   7120         End
   7121 ------------------------------------------------------------------
   7122 
   7123 /\S*\S/BZ
   7124 ------------------------------------------------------------------
   7125         Bra
   7126         \S*
   7127         \S
   7128         Ket
   7129         End
   7130 ------------------------------------------------------------------
   7131 
   7132 /\S*\w/BZ
   7133 ------------------------------------------------------------------
   7134         Bra
   7135         \S*
   7136         \w
   7137         Ket
   7138         End
   7139 ------------------------------------------------------------------
   7140 
   7141 /\S*\W/BZ
   7142 ------------------------------------------------------------------
   7143         Bra
   7144         \S*
   7145         \W
   7146         Ket
   7147         End
   7148 ------------------------------------------------------------------
   7149 
   7150 /\w*a/BZ
   7151 ------------------------------------------------------------------
   7152         Bra
   7153         \w*
   7154         a
   7155         Ket
   7156         End
   7157 ------------------------------------------------------------------
   7158 
   7159 /\w*2/BZ
   7160 ------------------------------------------------------------------
   7161         Bra
   7162         \w*
   7163         2
   7164         Ket
   7165         End
   7166 ------------------------------------------------------------------
   7167 
   7168 /\w*\d/BZ
   7169 ------------------------------------------------------------------
   7170         Bra
   7171         \w*
   7172         \d
   7173         Ket
   7174         End
   7175 ------------------------------------------------------------------
   7176 
   7177 /\w*\D/BZ
   7178 ------------------------------------------------------------------
   7179         Bra
   7180         \w*
   7181         \D
   7182         Ket
   7183         End
   7184 ------------------------------------------------------------------
   7185 
   7186 /\w*\s/BZ
   7187 ------------------------------------------------------------------
   7188         Bra
   7189         \w*+
   7190         \s
   7191         Ket
   7192         End
   7193 ------------------------------------------------------------------
   7194 
   7195 /\w*\S/BZ
   7196 ------------------------------------------------------------------
   7197         Bra
   7198         \w*
   7199         \S
   7200         Ket
   7201         End
   7202 ------------------------------------------------------------------
   7203 
   7204 /\w*\w/BZ
   7205 ------------------------------------------------------------------
   7206         Bra
   7207         \w*
   7208         \w
   7209         Ket
   7210         End
   7211 ------------------------------------------------------------------
   7212 
   7213 /\w*\W/BZ
   7214 ------------------------------------------------------------------
   7215         Bra
   7216         \w*+
   7217         \W
   7218         Ket
   7219         End
   7220 ------------------------------------------------------------------
   7221 
   7222 /\W*a/BZ
   7223 ------------------------------------------------------------------
   7224         Bra
   7225         \W*+
   7226         a
   7227         Ket
   7228         End
   7229 ------------------------------------------------------------------
   7230 
   7231 /\W*2/BZ
   7232 ------------------------------------------------------------------
   7233         Bra
   7234         \W*+
   7235         2
   7236         Ket
   7237         End
   7238 ------------------------------------------------------------------
   7239 
   7240 /\W*\d/BZ
   7241 ------------------------------------------------------------------
   7242         Bra
   7243         \W*+
   7244         \d
   7245         Ket
   7246         End
   7247 ------------------------------------------------------------------
   7248 
   7249 /\W*\D/BZ
   7250 ------------------------------------------------------------------
   7251         Bra
   7252         \W*
   7253         \D
   7254         Ket
   7255         End
   7256 ------------------------------------------------------------------
   7257 
   7258 /\W*\s/BZ
   7259 ------------------------------------------------------------------
   7260         Bra
   7261         \W*
   7262         \s
   7263         Ket
   7264         End
   7265 ------------------------------------------------------------------
   7266 
   7267 /\W*\S/BZ
   7268 ------------------------------------------------------------------
   7269         Bra
   7270         \W*
   7271         \S
   7272         Ket
   7273         End
   7274 ------------------------------------------------------------------
   7275 
   7276 /\W*\w/BZ
   7277 ------------------------------------------------------------------
   7278         Bra
   7279         \W*+
   7280         \w
   7281         Ket
   7282         End
   7283 ------------------------------------------------------------------
   7284 
   7285 /\W*\W/BZ
   7286 ------------------------------------------------------------------
   7287         Bra
   7288         \W*
   7289         \W
   7290         Ket
   7291         End
   7292 ------------------------------------------------------------------
   7293 
   7294 /[^a]+a/BZ
   7295 ------------------------------------------------------------------
   7296         Bra
   7297         [^a]++
   7298         a
   7299         Ket
   7300         End
   7301 ------------------------------------------------------------------
   7302 
   7303 /[^a]+a/BZi
   7304 ------------------------------------------------------------------
   7305         Bra
   7306         [^A]++
   7307      NC a
   7308         Ket
   7309         End
   7310 ------------------------------------------------------------------
   7311 
   7312 /[^a]+A/BZi
   7313 ------------------------------------------------------------------
   7314         Bra
   7315         [^A]++
   7316      NC A
   7317         Ket
   7318         End
   7319 ------------------------------------------------------------------
   7320 
   7321 /[^a]+b/BZ
   7322 ------------------------------------------------------------------
   7323         Bra
   7324         [^a]+
   7325         b
   7326         Ket
   7327         End
   7328 ------------------------------------------------------------------
   7329 
   7330 /[^a]+\d/BZ
   7331 ------------------------------------------------------------------
   7332         Bra
   7333         [^a]+
   7334         \d
   7335         Ket
   7336         End
   7337 ------------------------------------------------------------------
   7338 
   7339 /a*[^a]/BZ
   7340 ------------------------------------------------------------------
   7341         Bra
   7342         a*
   7343         [^a]
   7344         Ket
   7345         End
   7346 ------------------------------------------------------------------
   7347 
   7348 /(?P<abc>x)(?P<xyz>y)/I
   7349 Capturing subpattern count = 2
   7350 Named capturing subpatterns:
   7351   abc   1
   7352   xyz   2
   7353 No options
   7354 First char = 'x'
   7355 Need char = 'y'
   7356     xy\Cabc\Cxyz
   7357  0: xy
   7358  1: x
   7359  2: y
   7360   C x (1) abc
   7361   C y (1) xyz
   7362 
   7363 /(?<abc>x)(?'xyz'y)/I
   7364 Capturing subpattern count = 2
   7365 Named capturing subpatterns:
   7366   abc   1
   7367   xyz   2
   7368 No options
   7369 First char = 'x'
   7370 Need char = 'y'
   7371     xy\Cabc\Cxyz
   7372  0: xy
   7373  1: x
   7374  2: y
   7375   C x (1) abc
   7376   C y (1) xyz
   7377 
   7378 /(?<abc'x)(?'xyz'y)/I
   7379 Failed: syntax error in subpattern name (missing terminator) at offset 6
   7380 
   7381 /(?<abc>x)(?'xyz>y)/I
   7382 Failed: syntax error in subpattern name (missing terminator) at offset 15
   7383 
   7384 /(?P'abc'x)(?P<xyz>y)/I
   7385 Failed: unrecognized character after (?P at offset 3
   7386 
   7387 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
   7388     bXaX
   7389  0: bXaX
   7390  1: X
   7391     bXbX
   7392  0: bX
   7393  1: X
   7394     ** Failers
   7395 No match
   7396     aXaX
   7397 No match
   7398     aXbX
   7399 No match
   7400 
   7401 /^(?P>abc)(?<abcd>xxx)/
   7402 Failed: reference to non-existent subpattern at offset 8
   7403 
   7404 /^(?P>abc)(?<abc>x|y)/
   7405     xx
   7406  0: xx
   7407  1: x
   7408     xy
   7409  0: xy
   7410  1: y
   7411     yy
   7412  0: yy
   7413  1: y
   7414     yx
   7415  0: yx
   7416  1: x
   7417 
   7418 /^(?P>abc)(?P<abc>x|y)/
   7419     xx
   7420  0: xx
   7421  1: x
   7422     xy
   7423  0: xy
   7424  1: y
   7425     yy
   7426  0: yy
   7427  1: y
   7428     yx
   7429  0: yx
   7430  1: x
   7431 
   7432 /^((?(abc)a|b)(?<abc>x|y))+/
   7433     bxay
   7434  0: bxay
   7435  1: ay
   7436  2: y
   7437     bxby
   7438  0: bx
   7439  1: bx
   7440  2: x
   7441     ** Failers
   7442 No match
   7443     axby
   7444 No match
   7445 
   7446 /^(((?P=abc)|X)(?<abc>x|y))+/
   7447     XxXxxx
   7448  0: XxXxxx
   7449  1: xx
   7450  2: x
   7451  3: x
   7452     XxXyyx
   7453  0: XxXyyx
   7454  1: yx
   7455  2: y
   7456  3: x
   7457     XxXyxx
   7458  0: XxXy
   7459  1: Xy
   7460  2: X
   7461  3: y
   7462     ** Failers
   7463 No match
   7464     x
   7465 No match
   7466 
   7467 /^(?1)(abc)/
   7468     abcabc
   7469  0: abcabc
   7470  1: abc
   7471 
   7472 /^(?:(?:\1|X)(a|b))+/
   7473     Xaaa
   7474  0: Xaaa
   7475  1: a
   7476     Xaba
   7477  0: Xa
   7478  1: a
   7479 
   7480 /^[\E\Qa\E-\Qz\E]+/BZ
   7481 ------------------------------------------------------------------
   7482         Bra
   7483         ^
   7484         [a-z]+
   7485         Ket
   7486         End
   7487 ------------------------------------------------------------------
   7488 
   7489 /^[a\Q]bc\E]/BZ
   7490 ------------------------------------------------------------------
   7491         Bra
   7492         ^
   7493         [\]a-c]
   7494         Ket
   7495         End
   7496 ------------------------------------------------------------------
   7497 
   7498 /^[a-\Q\E]/BZ
   7499 ------------------------------------------------------------------
   7500         Bra
   7501         ^
   7502         [\-a]
   7503         Ket
   7504         End
   7505 ------------------------------------------------------------------
   7506 
   7507 /^(?P>abc)[()](?<abc>)/BZ
   7508 ------------------------------------------------------------------
   7509         Bra
   7510         ^
   7511         Once
   7512         Recurse
   7513         Ket
   7514         [()]
   7515         CBra 1
   7516         Ket
   7517         Ket
   7518         End
   7519 ------------------------------------------------------------------
   7520 
   7521 /^((?(abc)y)[()](?P<abc>x))+/BZ
   7522 ------------------------------------------------------------------
   7523         Bra
   7524         ^
   7525         CBra 1
   7526         Cond
   7527       2 Cond nref
   7528         y
   7529         Ket
   7530         [()]
   7531         CBra 2
   7532         x
   7533         Ket
   7534         KetRmax
   7535         Ket
   7536         End
   7537 ------------------------------------------------------------------
   7538     (xy)x
   7539  0: (xy)x
   7540  1: y)x
   7541  2: x
   7542 
   7543 /^(?P>abc)\Q()\E(?<abc>)/BZ
   7544 ------------------------------------------------------------------
   7545         Bra
   7546         ^
   7547         Once
   7548         Recurse
   7549         Ket
   7550         ()
   7551         CBra 1
   7552         Ket
   7553         Ket
   7554         End
   7555 ------------------------------------------------------------------
   7556 
   7557 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
   7558 ------------------------------------------------------------------
   7559         Bra
   7560         ^
   7561         Once
   7562         Recurse
   7563         Ket
   7564         [(\]a]
   7565         CBra 1
   7566         Ket
   7567         Ket
   7568         End
   7569 ------------------------------------------------------------------
   7570 
   7571 /^(?P>abc) # this is (a comment)
   7572   (?<abc>)/BZx
   7573 ------------------------------------------------------------------
   7574         Bra
   7575         ^
   7576         Once
   7577         Recurse
   7578         Ket
   7579         CBra 1
   7580         Ket
   7581         Ket
   7582         End
   7583 ------------------------------------------------------------------
   7584 
   7585 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
   7586 Capturing subpattern count = 4
   7587 Max back reference = 4
   7588 Named capturing subpatterns:
   7589   four    4
   7590   one     1
   7591   three   3
   7592   two     2
   7593 Options: anchored caseless
   7594 No first char
   7595 No need char
   7596     1221
   7597  0: 1221
   7598  1: 1221
   7599  2: 1
   7600     Satan, oscillate my metallic sonatas!
   7601  0: Satan, oscillate my metallic sonatas!
   7602  1: <unset>
   7603  2: <unset>
   7604  3: Satan, oscillate my metallic sonatas
   7605  4: S
   7606     A man, a plan, a canal: Panama!
   7607  0: A man, a plan, a canal: Panama!
   7608  1: <unset>
   7609  2: <unset>
   7610  3: A man, a plan, a canal: Panama
   7611  4: A
   7612     Able was I ere I saw Elba.
   7613  0: Able was I ere I saw Elba.
   7614  1: <unset>
   7615  2: <unset>
   7616  3: Able was I ere I saw Elba
   7617  4: A
   7618     *** Failers
   7619 No match
   7620     The quick brown fox
   7621 No match
   7622 
   7623 /(?=(\w+))\1:/I
   7624 Capturing subpattern count = 1
   7625 Max back reference = 1
   7626 No options
   7627 No first char
   7628 Need char = ':'
   7629     abcd:
   7630  0: abcd:
   7631  1: abcd
   7632 
   7633 /(?=(?'abc'\w+))\k<abc>:/I
   7634 Capturing subpattern count = 1
   7635 Max back reference = 1
   7636 Named capturing subpatterns:
   7637   abc   1
   7638 No options
   7639 No first char
   7640 Need char = ':'
   7641     abcd:
   7642  0: abcd:
   7643  1: abcd
   7644 
   7645 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
   7646     adaa
   7647  0: adaa
   7648  1: a
   7649  2: d
   7650     ** Failers
   7651 No match
   7652     addd
   7653 No match
   7654     adbb
   7655 No match
   7656 
   7657 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
   7658     bdaa
   7659  0: bdaa
   7660  1: b
   7661  2: d
   7662     bdab
   7663  0: bdab
   7664  1: b
   7665  2: d
   7666     ** Failers
   7667 No match
   7668     bddd
   7669 No match
   7670 
   7671 /(?(<bc))/
   7672 Failed: malformed number or name after (?( at offset 6
   7673 
   7674 /(?(''))/
   7675 Failed: assertion expected after (?( at offset 4
   7676 
   7677 /(?('R')stuff)/
   7678 Failed: reference to non-existent subpattern at offset 7
   7679 
   7680 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
   7681     abcabc1Xabc2XabcXabcabc
   7682  0: abcabc1Xabc2XabcX
   7683  1: abcabc1Xabc2XabcX
   7684  2: abcabc1Xabc2XabcX
   7685 
   7686 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   7687     abcabc1Xabc2XabcXabcabc
   7688  0: abcabc1Xabc2XabcX
   7689  1: abcabc1Xabc2XabcX
   7690  2: abcabc1Xabc2XabcX
   7691 
   7692 /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   7693 Failed: reference to non-existent subpattern at offset 29
   7694 
   7695 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
   7696     abcabc1Xabc2XabcXabcabc
   7697  0: abcabc1Xabc2XabcX
   7698  1: abcabc1Xabc2XabcX
   7699  2: abcabc1Xabc2XabcX
   7700 
   7701 /^(?(DEFINE) abc | xyz ) /x
   7702 Failed: DEFINE group contains more than one branch at offset 22
   7703 
   7704 /(?(DEFINE) abc) xyz/xI
   7705 Capturing subpattern count = 0
   7706 Options: extended
   7707 First char = 'x'
   7708 Need char = 'z'
   7709 
   7710 /(?(DEFINE) abc){3} xyz/x
   7711 Failed: repeating a DEFINE group is not allowed at offset 17
   7712 
   7713 /(a|)*\d/
   7714   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
   7715 No match
   7716   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
   7717 Matched, but too many substrings
   7718 
   7719 /^a.b/<lf>
   7720     a\rb
   7721  0: a\x0db
   7722     a\nb\<cr>
   7723  0: a\x0ab
   7724     a\x85b\<anycrlf> 
   7725  0: a\x85b
   7726     ** Failers
   7727 No match
   7728     a\nb
   7729 No match
   7730     a\nb\<any>
   7731 No match
   7732     a\rb\<cr>
   7733 No match
   7734     a\rb\<any>
   7735 No match
   7736     a\x85b\<any> 
   7737 No match
   7738     a\rb\<anycrlf>
   7739 No match
   7740 
   7741 /^abc./mgx<any>
   7742     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
   7743  0: abc1
   7744  0: abc2
   7745  0: abc3
   7746  0: abc4
   7747  0: abc5
   7748  0: abc6
   7749  0: abc7
   7750 
   7751 /abc.$/mgx<any>
   7752     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
   7753  0: abc1
   7754  0: abc2
   7755  0: abc3
   7756  0: abc4
   7757  0: abc5
   7758  0: abc6
   7759  0: abc9
   7760 
   7761 /a/<cr><any>
   7762 
   7763 /a/<any><crlf>
   7764 Failed: inconsistent NEWLINE options at offset 0
   7765 
   7766 /^a\Rb/<bsr_unicode>
   7767     a\nb
   7768  0: a\x0ab
   7769     a\rb
   7770  0: a\x0db
   7771     a\r\nb
   7772  0: a\x0d\x0ab
   7773     a\x0bb
   7774  0: a\x0bb
   7775     a\x0cb
   7776  0: a\x0cb
   7777     a\x85b
   7778  0: a\x85b
   7779     ** Failers
   7780 No match
   7781     a\n\rb
   7782 No match
   7783 
   7784 /^a\R*b/<bsr_unicode>
   7785     ab
   7786  0: ab
   7787     a\nb
   7788  0: a\x0ab
   7789     a\rb
   7790  0: a\x0db
   7791     a\r\nb
   7792  0: a\x0d\x0ab
   7793     a\x0bb
   7794  0: a\x0bb
   7795     a\x0cb
   7796  0: a\x0cb
   7797     a\x85b
   7798  0: a\x85b
   7799     a\n\rb
   7800  0: a\x0a\x0db
   7801     a\n\r\x85\x0cb
   7802  0: a\x0a\x0d\x85\x0cb
   7803 
   7804 /^a\R+b/<bsr_unicode>
   7805     a\nb
   7806  0: a\x0ab
   7807     a\rb
   7808  0: a\x0db
   7809     a\r\nb
   7810  0: a\x0d\x0ab
   7811     a\x0bb
   7812  0: a\x0bb
   7813     a\x0cb
   7814  0: a\x0cb
   7815     a\x85b
   7816  0: a\x85b
   7817     a\n\rb
   7818  0: a\x0a\x0db
   7819     a\n\r\x85\x0cb
   7820  0: a\x0a\x0d\x85\x0cb
   7821     ** Failers
   7822 No match
   7823     ab
   7824 No match
   7825 
   7826 /^a\R{1,3}b/<bsr_unicode>
   7827     a\nb
   7828  0: a\x0ab
   7829     a\n\rb
   7830  0: a\x0a\x0db
   7831     a\n\r\x85b
   7832  0: a\x0a\x0d\x85b
   7833     a\r\n\r\nb
   7834  0: a\x0d\x0a\x0d\x0ab
   7835     a\r\n\r\n\r\nb
   7836  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
   7837     a\n\r\n\rb
   7838  0: a\x0a\x0d\x0a\x0db
   7839     a\n\n\r\nb
   7840  0: a\x0a\x0a\x0d\x0ab
   7841     ** Failers
   7842 No match
   7843     a\n\n\n\rb
   7844 No match
   7845     a\r
   7846 No match
   7847 
   7848 /^a[\R]b/<bsr_unicode>
   7849     aRb
   7850  0: aRb
   7851     ** Failers
   7852 No match
   7853     a\nb
   7854 No match
   7855 
   7856 /(?&abc)X(?<abc>P)/I
   7857 Capturing subpattern count = 1
   7858 Named capturing subpatterns:
   7859   abc   1
   7860 No options
   7861 No first char
   7862 Need char = 'P'
   7863     abcPXP123
   7864  0: PXP
   7865  1: P
   7866 
   7867 /(?1)X(?<abc>P)/I
   7868 Capturing subpattern count = 1
   7869 Named capturing subpatterns:
   7870   abc   1
   7871 No options
   7872 No first char
   7873 Need char = 'P'
   7874     abcPXP123
   7875  0: PXP
   7876  1: P
   7877 
   7878 /(?:a(?&abc)b)*(?<abc>x)/
   7879     123axbaxbaxbx456
   7880  0: axbaxbaxbx
   7881  1: x
   7882     123axbaxbaxb456
   7883  0: x
   7884  1: x
   7885 
   7886 /(?:a(?&abc)b){1,5}(?<abc>x)/
   7887     123axbaxbaxbx456
   7888  0: axbaxbaxbx
   7889  1: x
   7890 
   7891 /(?:a(?&abc)b){2,5}(?<abc>x)/
   7892     123axbaxbaxbx456
   7893  0: axbaxbaxbx
   7894  1: x
   7895 
   7896 /(?:a(?&abc)b){2,}(?<abc>x)/
   7897     123axbaxbaxbx456
   7898  0: axbaxbaxbx
   7899  1: x
   7900 
   7901 /(abc)(?i:(?1))/
   7902    defabcabcxyz
   7903  0: abcabc
   7904  1: abc
   7905    DEFabcABCXYZ
   7906 No match
   7907 
   7908 /(abc)(?:(?i)(?1))/
   7909    defabcabcxyz
   7910  0: abcabc
   7911  1: abc
   7912    DEFabcABCXYZ
   7913 No match
   7914 
   7915 /^(a)\g-2/
   7916 Failed: reference to non-existent subpattern at offset 7
   7917 
   7918 /^(a)\g/
   7919 Failed: a numbered reference must not be zero at offset 5
   7920 
   7921 /^(a)\g{0}/
   7922 Failed: a numbered reference must not be zero at offset 8
   7923 
   7924 /^(a)\g{3/
   7925 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
   7926 
   7927 /^(a)\g{4a}/
   7928 Failed: reference to non-existent subpattern at offset 9
   7929 
   7930 /^a.b/<lf>
   7931     a\rb
   7932  0: a\x0db
   7933     *** Failers
   7934 No match
   7935     a\nb
   7936 No match
   7937 
   7938 /.+foo/
   7939     afoo
   7940  0: afoo
   7941     ** Failers
   7942 No match
   7943     \r\nfoo
   7944 No match
   7945     \nfoo
   7946 No match
   7947 
   7948 /.+foo/<crlf>
   7949     afoo
   7950  0: afoo
   7951     \nfoo
   7952  0: \x0afoo
   7953     ** Failers
   7954 No match
   7955     \r\nfoo
   7956 No match
   7957 
   7958 /.+foo/<any>
   7959     afoo
   7960  0: afoo
   7961     ** Failers
   7962 No match
   7963     \nfoo
   7964 No match
   7965     \r\nfoo
   7966 No match
   7967 
   7968 /.+foo/s
   7969     afoo
   7970  0: afoo
   7971     \r\nfoo
   7972  0: \x0d\x0afoo
   7973     \nfoo
   7974  0: \x0afoo
   7975     
   7976 /^$/mg<any>
   7977     abc\r\rxyz
   7978  0: 
   7979     abc\n\rxyz  
   7980  0: 
   7981     ** Failers 
   7982 No match
   7983     abc\r\nxyz
   7984 No match
   7985 
   7986 /(?m)^$/<any>g+
   7987     abc\r\n\r\n
   7988  0: 
   7989  0+ \x0d\x0a
   7990 
   7991 /(?m)^$|^\r\n/<any>g+ 
   7992     abc\r\n\r\n
   7993  0: 
   7994  0+ \x0d\x0a
   7995  0: \x0d\x0a
   7996  0+ 
   7997     
   7998 /(?m)$/<any>g+ 
   7999     abc\r\n\r\n
   8000  0: 
   8001  0+ \x0d\x0a\x0d\x0a
   8002  0: 
   8003  0+ \x0d\x0a
   8004  0: 
   8005  0+ 
   8006 
   8007 /abc.$/mgx<anycrlf>
   8008     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
   8009  0: abc1
   8010  0: abc4
   8011  0: abc5
   8012  0: abc9
   8013 
   8014 /^X/m
   8015     XABC
   8016  0: X
   8017     ** Failers 
   8018 No match
   8019     XABC\B
   8020 No match
   8021 
   8022 /(ab|c)(?-1)/BZ
   8023 ------------------------------------------------------------------
   8024         Bra
   8025         CBra 1
   8026         ab
   8027         Alt
   8028         c
   8029         Ket
   8030         Once
   8031         Recurse
   8032         Ket
   8033         Ket
   8034         End
   8035 ------------------------------------------------------------------
   8036     abc
   8037  0: abc
   8038  1: ab
   8039 
   8040 /xy(?+1)(abc)/BZ
   8041 ------------------------------------------------------------------
   8042         Bra
   8043         xy
   8044         Once
   8045         Recurse
   8046         Ket
   8047         CBra 1
   8048         abc
   8049         Ket
   8050         Ket
   8051         End
   8052 ------------------------------------------------------------------
   8053     xyabcabc
   8054  0: xyabcabc
   8055  1: abc
   8056     ** Failers
   8057 No match
   8058     xyabc  
   8059 No match
   8060     
   8061 /x(?-0)y/
   8062 Failed: a numbered reference must not be zero at offset 5
   8063 
   8064 /x(?-1)y/
   8065 Failed: reference to non-existent subpattern at offset 5
   8066 
   8067 /x(?+0)y/ 
   8068 Failed: a numbered reference must not be zero at offset 5
   8069 
   8070 /x(?+1)y/
   8071 Failed: reference to non-existent subpattern at offset 5
   8072 
   8073 /^(abc)?(?(-1)X|Y)/BZ
   8074 ------------------------------------------------------------------
   8075         Bra
   8076         ^
   8077         Brazero
   8078         CBra 1
   8079         abc
   8080         Ket
   8081         Cond
   8082       1 Cond ref
   8083         X
   8084         Alt
   8085         Y
   8086         Ket
   8087         Ket
   8088         End
   8089 ------------------------------------------------------------------
   8090     abcX
   8091  0: abcX
   8092  1: abc
   8093     Y
   8094  0: Y
   8095     ** Failers
   8096 No match
   8097     abcY   
   8098 No match
   8099     
   8100 /^((?(+1)X|Y)(abc))+/BZ 
   8101 ------------------------------------------------------------------
   8102         Bra
   8103         ^
   8104         CBra 1
   8105         Cond
   8106       2 Cond ref
   8107         X
   8108         Alt
   8109         Y
   8110         Ket
   8111         CBra 2
   8112         abc
   8113         Ket
   8114         KetRmax
   8115         Ket
   8116         End
   8117 ------------------------------------------------------------------
   8118     YabcXabc
   8119  0: YabcXabc
   8120  1: Xabc
   8121  2: abc
   8122     YabcXabcXabc
   8123  0: YabcXabcXabc
   8124  1: Xabc
   8125  2: abc
   8126     ** Failers
   8127 No match
   8128     XabcXabc  
   8129 No match
   8130 
   8131 /(?(-1)a)/BZ
   8132 Failed: reference to non-existent subpattern at offset 6
   8133 
   8134 /((?(-1)a))/BZ
   8135 ------------------------------------------------------------------
   8136         Bra
   8137         CBra 1
   8138         Cond
   8139       1 Cond ref
   8140         a
   8141         Ket
   8142         Ket
   8143         Ket
   8144         End
   8145 ------------------------------------------------------------------
   8146 
   8147 /((?(-2)a))/BZ
   8148 Failed: reference to non-existent subpattern at offset 7
   8149 
   8150 /^(?(+1)X|Y)(.)/BZ
   8151 ------------------------------------------------------------------
   8152         Bra
   8153         ^
   8154         Cond
   8155       1 Cond ref
   8156         X
   8157         Alt
   8158         Y
   8159         Ket
   8160         CBra 1
   8161         Any
   8162         Ket
   8163         Ket
   8164         End
   8165 ------------------------------------------------------------------
   8166     Y!
   8167  0: Y!
   8168  1: !
   8169 
   8170 /(?<A>tom|bon)-\k{A}/
   8171     tom-tom
   8172  0: tom-tom
   8173  1: tom
   8174     bon-bon 
   8175  0: bon-bon
   8176  1: bon
   8177     ** Failers
   8178 No match
   8179     tom-bon  
   8180 No match
   8181 
   8182 /\g{A/ 
   8183 Failed: syntax error in subpattern name (missing terminator) at offset 4
   8184 
   8185 /(?|(abc)|(xyz))/BZ
   8186 ------------------------------------------------------------------
   8187         Bra
   8188         Bra
   8189         CBra 1
   8190         abc
   8191         Ket
   8192         Alt
   8193         CBra 1
   8194         xyz
   8195         Ket
   8196         Ket
   8197         Ket
   8198         End
   8199 ------------------------------------------------------------------
   8200    >abc<
   8201  0: abc
   8202  1: abc
   8203    >xyz< 
   8204  0: xyz
   8205  1: xyz
   8206 
   8207 /(x)(?|(abc)|(xyz))(x)/BZ
   8208 ------------------------------------------------------------------
   8209         Bra
   8210         CBra 1
   8211         x
   8212         Ket
   8213         Bra
   8214         CBra 2
   8215         abc
   8216         Ket
   8217         Alt
   8218         CBra 2
   8219         xyz
   8220         Ket
   8221         Ket
   8222         CBra 3
   8223         x
   8224         Ket
   8225         Ket
   8226         End
   8227 ------------------------------------------------------------------
   8228     xabcx
   8229  0: xabcx
   8230  1: x
   8231  2: abc
   8232  3: x
   8233     xxyzx 
   8234  0: xxyzx
   8235  1: x
   8236  2: xyz
   8237  3: x
   8238 
   8239 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
   8240 ------------------------------------------------------------------
   8241         Bra
   8242         CBra 1
   8243         x
   8244         Ket
   8245         Bra
   8246         CBra 2
   8247         abc
   8248         Ket
   8249         CBra 3
   8250         pqr
   8251         Ket
   8252         Alt
   8253         CBra 2
   8254         xyz
   8255         Ket
   8256         Ket
   8257         CBra 4
   8258         x
   8259         Ket
   8260         Ket
   8261         End
   8262 ------------------------------------------------------------------
   8263     xabcpqrx
   8264  0: xabcpqrx
   8265  1: x
   8266  2: abc
   8267  3: pqr
   8268  4: x
   8269     xxyzx 
   8270  0: xxyzx
   8271  1: x
   8272  2: xyz
   8273  3: <unset>
   8274  4: x
   8275 
   8276 /[\h]/BZ
   8277 ------------------------------------------------------------------
   8278         Bra
   8279         [\x09 \xa0]
   8280         Ket
   8281         End
   8282 ------------------------------------------------------------------
   8283     >\x09<
   8284  0: \x09
   8285 
   8286 /[\h]+/BZ
   8287 ------------------------------------------------------------------
   8288         Bra
   8289         [\x09 \xa0]+
   8290         Ket
   8291         End
   8292 ------------------------------------------------------------------
   8293     >\x09\x20\xa0<
   8294  0: \x09 \xa0
   8295 
   8296 /[\v]/BZ
   8297 ------------------------------------------------------------------
   8298         Bra
   8299         [\x0a-\x0d\x85]
   8300         Ket
   8301         End
   8302 ------------------------------------------------------------------
   8303 
   8304 /[\H]/BZ
   8305 ------------------------------------------------------------------
   8306         Bra
   8307         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff]
   8308         Ket
   8309         End
   8310 ------------------------------------------------------------------
   8311 
   8312 /[^\h]/BZ
   8313 ------------------------------------------------------------------
   8314         Bra
   8315         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] (neg)
   8316         Ket
   8317         End
   8318 ------------------------------------------------------------------
   8319 
   8320 /[\V]/BZ
   8321 ------------------------------------------------------------------
   8322         Bra
   8323         [\x00-\x09\x0e-\x84\x86-\xff]
   8324         Ket
   8325         End
   8326 ------------------------------------------------------------------
   8327 
   8328 /[\x0a\V]/BZ
   8329 ------------------------------------------------------------------
   8330         Bra
   8331         [\x00-\x0a\x0e-\x84\x86-\xff]
   8332         Ket
   8333         End
   8334 ------------------------------------------------------------------
   8335 
   8336 /\H++X/BZ
   8337 ------------------------------------------------------------------
   8338         Bra
   8339         \H++
   8340         X
   8341         Ket
   8342         End
   8343 ------------------------------------------------------------------
   8344     ** Failers
   8345 No match
   8346     XXXX
   8347 No match
   8348     
   8349 /\H+\hY/BZ
   8350 ------------------------------------------------------------------
   8351         Bra
   8352         \H++
   8353         \h
   8354         Y
   8355         Ket
   8356         End
   8357 ------------------------------------------------------------------
   8358     XXXX Y 
   8359  0: XXXX Y
   8360 
   8361 /\H+ Y/BZ
   8362 ------------------------------------------------------------------
   8363         Bra
   8364         \H++
   8365          Y
   8366         Ket
   8367         End
   8368 ------------------------------------------------------------------
   8369 
   8370 /\h+A/BZ
   8371 ------------------------------------------------------------------
   8372         Bra
   8373         \h++
   8374         A
   8375         Ket
   8376         End
   8377 ------------------------------------------------------------------
   8378 
   8379 /\v*B/BZ
   8380 ------------------------------------------------------------------
   8381         Bra
   8382         \v*+
   8383         B
   8384         Ket
   8385         End
   8386 ------------------------------------------------------------------
   8387 
   8388 /\V+\x0a/BZ
   8389 ------------------------------------------------------------------
   8390         Bra
   8391         \V++
   8392         \x0a
   8393         Ket
   8394         End
   8395 ------------------------------------------------------------------
   8396 
   8397 /A+\h/BZ
   8398 ------------------------------------------------------------------
   8399         Bra
   8400         A++
   8401         \h
   8402         Ket
   8403         End
   8404 ------------------------------------------------------------------
   8405 
   8406 / *\H/BZ
   8407 ------------------------------------------------------------------
   8408         Bra
   8409          *+
   8410         \H
   8411         Ket
   8412         End
   8413 ------------------------------------------------------------------
   8414 
   8415 /A*\v/BZ
   8416 ------------------------------------------------------------------
   8417         Bra
   8418         A*+
   8419         \v
   8420         Ket
   8421         End
   8422 ------------------------------------------------------------------
   8423 
   8424 /\x0b*\V/BZ
   8425 ------------------------------------------------------------------
   8426         Bra
   8427         \x0b*+
   8428         \V
   8429         Ket
   8430         End
   8431 ------------------------------------------------------------------
   8432 
   8433 /\d+\h/BZ
   8434 ------------------------------------------------------------------
   8435         Bra
   8436         \d++
   8437         \h
   8438         Ket
   8439         End
   8440 ------------------------------------------------------------------
   8441 
   8442 /\d*\v/BZ
   8443 ------------------------------------------------------------------
   8444         Bra
   8445         \d*+
   8446         \v
   8447         Ket
   8448         End
   8449 ------------------------------------------------------------------
   8450 
   8451 /S+\h\S+\v/BZ
   8452 ------------------------------------------------------------------
   8453         Bra
   8454         S++
   8455         \h
   8456         \S++
   8457         \v
   8458         Ket
   8459         End
   8460 ------------------------------------------------------------------
   8461 
   8462 /\w{3,}\h\w+\v/BZ
   8463 ------------------------------------------------------------------
   8464         Bra
   8465         \w{3}
   8466         \w*+
   8467         \h
   8468         \w++
   8469         \v
   8470         Ket
   8471         End
   8472 ------------------------------------------------------------------
   8473 
   8474 /\h+\d\h+\w\h+\S\h+\H/BZ
   8475 ------------------------------------------------------------------
   8476         Bra
   8477         \h++
   8478         \d
   8479         \h++
   8480         \w
   8481         \h++
   8482         \S
   8483         \h++
   8484         \H
   8485         Ket
   8486         End
   8487 ------------------------------------------------------------------
   8488 
   8489 /\v+\d\v+\w\v+\S\v+\V/BZ
   8490 ------------------------------------------------------------------
   8491         Bra
   8492         \v++
   8493         \d
   8494         \v++
   8495         \w
   8496         \v+
   8497         \S
   8498         \v++
   8499         \V
   8500         Ket
   8501         End
   8502 ------------------------------------------------------------------
   8503 
   8504 /\H+\h\H+\d/BZ
   8505 ------------------------------------------------------------------
   8506         Bra
   8507         \H++
   8508         \h
   8509         \H+
   8510         \d
   8511         Ket
   8512         End
   8513 ------------------------------------------------------------------
   8514 
   8515 /\V+\v\V+\w/BZ
   8516 ------------------------------------------------------------------
   8517         Bra
   8518         \V++
   8519         \v
   8520         \V+
   8521         \w
   8522         Ket
   8523         End
   8524 ------------------------------------------------------------------
   8525 
   8526 /\( (?: [^()]* | (?R) )* \)/x
   8527 (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
   8528  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
   8529 
   8530 /[\E]AAA/
   8531 Failed: missing terminating ] for character class at offset 7
   8532 
   8533 /[\Q\E]AAA/
   8534 Failed: missing terminating ] for character class at offset 9
   8535 
   8536 /[^\E]AAA/
   8537 Failed: missing terminating ] for character class at offset 8
   8538 
   8539 /[^\Q\E]AAA/
   8540 Failed: missing terminating ] for character class at offset 10
   8541 
   8542 /[\E^]AAA/
   8543 Failed: missing terminating ] for character class at offset 8
   8544 
   8545 /[\Q\E^]AAA/
   8546 Failed: missing terminating ] for character class at offset 10
   8547 
   8548 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
   8549 ------------------------------------------------------------------
   8550         Bra
   8551         A
   8552         *PRUNE
   8553         B
   8554         *SKIP
   8555         C
   8556         *THEN
   8557         D
   8558         *COMMIT
   8559         E
   8560         *FAIL
   8561         F
   8562         *FAIL
   8563         G
   8564         *FAIL
   8565         H
   8566         *ACCEPT
   8567         I
   8568         Ket
   8569         End
   8570 ------------------------------------------------------------------
   8571 
   8572 /^a+(*FAIL)/C
   8573     aaaaaa
   8574 --->aaaaaa
   8575  +0 ^          ^
   8576  +1 ^          a+
   8577  +3 ^     ^    (*FAIL)
   8578  +3 ^    ^     (*FAIL)
   8579  +3 ^   ^      (*FAIL)
   8580  +3 ^  ^       (*FAIL)
   8581  +3 ^ ^        (*FAIL)
   8582  +3 ^^         (*FAIL)
   8583 No match
   8584     
   8585 /a+b?c+(*FAIL)/C
   8586     aaabccc
   8587 --->aaabccc
   8588  +0 ^           a+
   8589  +2 ^  ^        b?
   8590  +4 ^   ^       c+
   8591  +6 ^      ^    (*FAIL)
   8592  +6 ^     ^     (*FAIL)
   8593  +6 ^    ^      (*FAIL)
   8594  +4 ^  ^        c+
   8595  +2 ^ ^         b?
   8596  +4 ^ ^         c+
   8597  +2 ^^          b?
   8598  +4 ^^          c+
   8599  +0  ^          a+
   8600  +2  ^ ^        b?
   8601  +4  ^  ^       c+
   8602  +6  ^     ^    (*FAIL)
   8603  +6  ^    ^     (*FAIL)
   8604  +6  ^   ^      (*FAIL)
   8605  +4  ^ ^        c+
   8606  +2  ^^         b?
   8607  +4  ^^         c+
   8608  +0   ^         a+
   8609  +2   ^^        b?
   8610  +4   ^ ^       c+
   8611  +6   ^    ^    (*FAIL)
   8612  +6   ^   ^     (*FAIL)
   8613  +6   ^  ^      (*FAIL)
   8614  +4   ^^        c+
   8615 No match
   8616 
   8617 /a+b?(*PRUNE)c+(*FAIL)/C
   8618     aaabccc
   8619 --->aaabccc
   8620  +0 ^           a+
   8621  +2 ^  ^        b?
   8622  +4 ^   ^       (*PRUNE)
   8623 +12 ^   ^       c+
   8624 +14 ^      ^    (*FAIL)
   8625 +14 ^     ^     (*FAIL)
   8626 +14 ^    ^      (*FAIL)
   8627  +0  ^          a+
   8628  +2  ^ ^        b?
   8629  +4  ^  ^       (*PRUNE)
   8630 +12  ^  ^       c+
   8631 +14  ^     ^    (*FAIL)
   8632 +14  ^    ^     (*FAIL)
   8633 +14  ^   ^      (*FAIL)
   8634  +0   ^         a+
   8635  +2   ^^        b?
   8636  +4   ^ ^       (*PRUNE)
   8637 +12   ^ ^       c+
   8638 +14   ^    ^    (*FAIL)
   8639 +14   ^   ^     (*FAIL)
   8640 +14   ^  ^      (*FAIL)
   8641 No match
   8642 
   8643 /a+b?(*COMMIT)c+(*FAIL)/C
   8644     aaabccc
   8645 --->aaabccc
   8646  +0 ^           a+
   8647  +2 ^  ^        b?
   8648  +4 ^   ^       (*COMMIT)
   8649 +13 ^   ^       c+
   8650 +15 ^      ^    (*FAIL)
   8651 +15 ^     ^     (*FAIL)
   8652 +15 ^    ^      (*FAIL)
   8653 No match
   8654     
   8655 /a+b?(*SKIP)c+(*FAIL)/C
   8656     aaabcccaaabccc
   8657 --->aaabcccaaabccc
   8658  +0 ^                  a+
   8659  +2 ^  ^               b?
   8660  +4 ^   ^              (*SKIP)
   8661 +11 ^   ^              c+
   8662 +13 ^      ^           (*FAIL)
   8663 +13 ^     ^            (*FAIL)
   8664 +13 ^    ^             (*FAIL)
   8665  +0        ^           a+
   8666  +2        ^  ^        b?
   8667  +4        ^   ^       (*SKIP)
   8668 +11        ^   ^       c+
   8669 +13        ^      ^    (*FAIL)
   8670 +13        ^     ^     (*FAIL)
   8671 +13        ^    ^      (*FAIL)
   8672 No match
   8673 
   8674 /a+b?(*THEN)c+(*FAIL)/C
   8675     aaabccc
   8676 --->aaabccc
   8677  +0 ^           a+
   8678  +2 ^  ^        b?
   8679  +4 ^   ^       (*THEN)
   8680 +11 ^   ^       c+
   8681 +13 ^      ^    (*FAIL)
   8682 +13 ^     ^     (*FAIL)
   8683 +13 ^    ^      (*FAIL)
   8684  +0  ^          a+
   8685  +2  ^ ^        b?
   8686  +4  ^  ^       (*THEN)
   8687 +11  ^  ^       c+
   8688 +13  ^     ^    (*FAIL)
   8689 +13  ^    ^     (*FAIL)
   8690 +13  ^   ^      (*FAIL)
   8691  +0   ^         a+
   8692  +2   ^^        b?
   8693  +4   ^ ^       (*THEN)
   8694 +11   ^ ^       c+
   8695 +13   ^    ^    (*FAIL)
   8696 +13   ^   ^     (*FAIL)
   8697 +13   ^  ^      (*FAIL)
   8698 No match
   8699     
   8700 /a(*MARK)b/ 
   8701 Failed: (*MARK) must have an argument at offset 7
   8702 
   8703 /(?i:A{1,}\6666666666)/
   8704 Failed: number is too big at offset 19
   8705 
   8706 /\g6666666666/
   8707 Failed: number is too big at offset 11
   8708 
   8709 /[\g6666666666]/
   8710 Failed: number is too big at offset 12
   8711 
   8712 /(?1)\c[/
   8713 Failed: reference to non-existent subpattern at offset 3
   8714 
   8715 /.+A/<crlf>
   8716     \r\nA
   8717 No match
   8718     
   8719 /\nA/<crlf>
   8720     \r\nA 
   8721  0: \x0aA
   8722 
   8723 /[\r\n]A/<crlf>
   8724     \r\nA 
   8725  0: \x0aA
   8726 
   8727 /(\r|\n)A/<crlf>
   8728     \r\nA 
   8729  0: \x0aA
   8730  1: \x0a
   8731 
   8732 /a(*CR)b/
   8733 Failed: (*VERB) not recognized at offset 5
   8734 
   8735 /(*CR)a.b/
   8736     a\nb
   8737  0: a\x0ab
   8738     ** Failers
   8739 No match
   8740     a\rb  
   8741 No match
   8742 
   8743 /(*CR)a.b/<lf>
   8744     a\nb
   8745  0: a\x0ab
   8746     ** Failers
   8747 No match
   8748     a\rb  
   8749 No match
   8750 
   8751 /(*LF)a.b/<CRLF>
   8752     a\rb
   8753  0: a\x0db
   8754     ** Failers
   8755 No match
   8756     a\nb  
   8757 No match
   8758 
   8759 /(*CRLF)a.b/
   8760     a\rb
   8761  0: a\x0db
   8762     a\nb  
   8763  0: a\x0ab
   8764     ** Failers
   8765 No match
   8766     a\r\nb  
   8767 No match
   8768 
   8769 /(*ANYCRLF)a.b/<CR>
   8770     ** Failers
   8771 No match
   8772     a\rb
   8773 No match
   8774     a\nb  
   8775 No match
   8776     a\r\nb  
   8777 No match
   8778 
   8779 /(*ANY)a.b/<cr>
   8780     ** Failers
   8781 No match
   8782     a\rb
   8783 No match
   8784     a\nb  
   8785 No match
   8786     a\r\nb  
   8787 No match
   8788     a\x85b 
   8789 No match
   8790     
   8791 /(*ANY).*/g
   8792     abc\r\ndef
   8793  0: abc
   8794  0: 
   8795  0: def
   8796  0: 
   8797 
   8798 /(*ANYCRLF).*/g
   8799     abc\r\ndef
   8800  0: abc
   8801  0: 
   8802  0: def
   8803  0: 
   8804 
   8805 /(*CRLF).*/g
   8806     abc\r\ndef
   8807  0: abc
   8808  0: 
   8809  0: def
   8810  0: 
   8811 
   8812 /a\Rb/I<bsr_anycrlf>
   8813 Capturing subpattern count = 0
   8814 Options: bsr_anycrlf
   8815 First char = 'a'
   8816 Need char = 'b'
   8817     a\rb
   8818  0: a\x0db
   8819     a\nb
   8820  0: a\x0ab
   8821     a\r\nb
   8822  0: a\x0d\x0ab
   8823     ** Failers
   8824 No match
   8825     a\x85b
   8826 No match
   8827     a\x0bb     
   8828 No match
   8829 
   8830 /a\Rb/I<bsr_unicode>
   8831 Capturing subpattern count = 0
   8832 Options: bsr_unicode
   8833 First char = 'a'
   8834 Need char = 'b'
   8835     a\rb
   8836  0: a\x0db
   8837     a\nb
   8838  0: a\x0ab
   8839     a\r\nb
   8840  0: a\x0d\x0ab
   8841     a\x85b
   8842  0: a\x85b
   8843     a\x0bb     
   8844  0: a\x0bb
   8845     ** Failers 
   8846 No match
   8847     a\x85b\<bsr_anycrlf>
   8848 No match
   8849     a\x0bb\<bsr_anycrlf>
   8850 No match
   8851     
   8852 /a\R?b/I<bsr_anycrlf>
   8853 Capturing subpattern count = 0
   8854 Options: bsr_anycrlf
   8855 First char = 'a'
   8856 Need char = 'b'
   8857     a\rb
   8858  0: a\x0db
   8859     a\nb
   8860  0: a\x0ab
   8861     a\r\nb
   8862  0: a\x0d\x0ab
   8863     ** Failers
   8864 No match
   8865     a\x85b
   8866 No match
   8867     a\x0bb     
   8868 No match
   8869 
   8870 /a\R?b/I<bsr_unicode>
   8871 Capturing subpattern count = 0
   8872 Options: bsr_unicode
   8873 First char = 'a'
   8874 Need char = 'b'
   8875     a\rb
   8876  0: a\x0db
   8877     a\nb
   8878  0: a\x0ab
   8879     a\r\nb
   8880  0: a\x0d\x0ab
   8881     a\x85b
   8882  0: a\x85b
   8883     a\x0bb     
   8884  0: a\x0bb
   8885     ** Failers 
   8886 No match
   8887     a\x85b\<bsr_anycrlf>
   8888 No match
   8889     a\x0bb\<bsr_anycrlf>
   8890 No match
   8891     
   8892 /a\R{2,4}b/I<bsr_anycrlf>
   8893 Capturing subpattern count = 0
   8894 Options: bsr_anycrlf
   8895 First char = 'a'
   8896 Need char = 'b'
   8897     a\r\n\nb
   8898  0: a\x0d\x0a\x0ab
   8899     a\n\r\rb
   8900  0: a\x0a\x0d\x0db
   8901     a\r\n\r\n\r\n\r\nb
   8902  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
   8903     ** Failers
   8904 No match
   8905     a\x85\85b
   8906 No match
   8907     a\x0b\0bb     
   8908 No match
   8909 
   8910 /a\R{2,4}b/I<bsr_unicode>
   8911 Capturing subpattern count = 0
   8912 Options: bsr_unicode
   8913 First char = 'a'
   8914 Need char = 'b'
   8915     a\r\rb
   8916  0: a\x0d\x0db
   8917     a\n\n\nb
   8918  0: a\x0a\x0a\x0ab
   8919     a\r\n\n\r\rb
   8920  0: a\x0d\x0a\x0a\x0d\x0db
   8921     a\x85\85b
   8922 No match
   8923     a\x0b\0bb     
   8924 No match
   8925     ** Failers 
   8926 No match
   8927     a\r\r\r\r\rb 
   8928 No match
   8929     a\x85\85b\<bsr_anycrlf>
   8930 No match
   8931     a\x0b\0bb\<bsr_anycrlf>
   8932 No match
   8933  
   8934 /(*BSR_ANYCRLF)a\Rb/I
   8935 Capturing subpattern count = 0
   8936 Options: bsr_anycrlf
   8937 First char = 'a'
   8938 Need char = 'b'
   8939     a\nb
   8940  0: a\x0ab
   8941     a\rb 
   8942  0: a\x0db
   8943 
   8944 /(*BSR_UNICODE)a\Rb/I
   8945 Capturing subpattern count = 0
   8946 Options: bsr_unicode
   8947 First char = 'a'
   8948 Need char = 'b'
   8949     a\x85b
   8950  0: a\x85b
   8951 
   8952 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
   8953 Capturing subpattern count = 0
   8954 Options: bsr_anycrlf
   8955 Forced newline sequence: CRLF
   8956 First char = 'a'
   8957 Need char = 'b'
   8958     a\nb
   8959  0: a\x0ab
   8960     a\rb 
   8961  0: a\x0db
   8962 
   8963 /(*CRLF)(*BSR_UNICODE)a\Rb/I
   8964 Capturing subpattern count = 0
   8965 Options: bsr_unicode
   8966 Forced newline sequence: CRLF
   8967 First char = 'a'
   8968 Need char = 'b'
   8969     a\x85b
   8970  0: a\x85b
   8971 
   8972 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
   8973 Capturing subpattern count = 0
   8974 Options: bsr_anycrlf
   8975 Forced newline sequence: CR
   8976 First char = 'a'
   8977 Need char = 'b'
   8978 
   8979 /(?<a>)(?&)/
   8980 Failed: subpattern name expected at offset 9
   8981 
   8982 /(?<abc>)(?&a)/
   8983 Failed: reference to non-existent subpattern at offset 12
   8984 
   8985 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
   8986 Failed: reference to non-existent subpattern at offset 32
   8987 
   8988 /(?+-a)/
   8989 Failed: digit expected after (?+ at offset 3
   8990 
   8991 /(?-+a)/
   8992 Failed: unrecognized character after (? or (?- at offset 3
   8993 
   8994 /(?(-1))/
   8995 Failed: reference to non-existent subpattern at offset 6
   8996 
   8997 /(?(+10))/
   8998 Failed: reference to non-existent subpattern at offset 7
   8999 
   9000 /(?(10))/
   9001 Failed: reference to non-existent subpattern at offset 6
   9002 
   9003 /(?(+2))()()/
   9004 
   9005 /(?(2))()()/
   9006 
   9007 /\k''/
   9008 Failed: subpattern name expected at offset 3
   9009 
   9010 /\k<>/
   9011 Failed: subpattern name expected at offset 3
   9012 
   9013 /\k{}/
   9014 Failed: subpattern name expected at offset 3
   9015 
   9016 /(?P=)/
   9017 Failed: subpattern name expected at offset 4
   9018 
   9019 /(?P>)/
   9020 Failed: subpattern name expected at offset 4
   9021 
   9022 /(?!\w)(?R)/
   9023 Failed: recursive call could loop indefinitely at offset 9
   9024 
   9025 /(?=\w)(?R)/
   9026 Failed: recursive call could loop indefinitely at offset 9
   9027 
   9028 /(?<!\w)(?R)/
   9029 Failed: recursive call could loop indefinitely at offset 10
   9030 
   9031 /(?<=\w)(?R)/
   9032 Failed: recursive call could loop indefinitely at offset 10
   9033 
   9034 /[[:foo:]]/
   9035 Failed: unknown POSIX class name at offset 3
   9036 
   9037 /[[:1234:]]/
   9038 Failed: unknown POSIX class name at offset 3
   9039 
   9040 /[[:f\oo:]]/
   9041 Failed: unknown POSIX class name at offset 3
   9042 
   9043 /[[: :]]/
   9044 Failed: unknown POSIX class name at offset 3
   9045 
   9046 /[[:...:]]/
   9047 Failed: unknown POSIX class name at offset 3
   9048 
   9049 /[[:l\ower:]]/
   9050 Failed: unknown POSIX class name at offset 3
   9051 
   9052 /[[:abc\:]]/
   9053 Failed: unknown POSIX class name at offset 3
   9054 
   9055 /[abc[:x\]pqr:]]/
   9056 Failed: unknown POSIX class name at offset 6
   9057 
   9058 /[[:a\dz:]]/
   9059 Failed: unknown POSIX class name at offset 3
   9060 
   9061 /(^(a|b\g<-1'c))/
   9062 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
   9063 
   9064 /^(?+1)(?<a>x|y){0}z/
   9065     xzxx
   9066  0: xz
   9067     yzyy 
   9068  0: yz
   9069     ** Failers
   9070 No match
   9071     xxz  
   9072 No match
   9073 
   9074 /(\3)(\1)(a)/
   9075     cat
   9076 No match
   9077 
   9078 /(\3)(\1)(a)/<JS>
   9079     cat
   9080  0: a
   9081  1: 
   9082  2: 
   9083  3: a
   9084     
   9085 /TA]/
   9086     The ACTA] comes 
   9087  0: TA]
   9088 
   9089 /TA]/<JS>
   9090 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
   9091 
   9092 /(?2)[]a()b](abc)/
   9093 Failed: reference to non-existent subpattern at offset 3
   9094 
   9095 /(?2)[^]a()b](abc)/
   9096 Failed: reference to non-existent subpattern at offset 3
   9097 
   9098 /(?1)[]a()b](abc)/
   9099     abcbabc
   9100  0: abcbabc
   9101  1: abc
   9102     ** Failers 
   9103 No match
   9104     abcXabc
   9105 No match
   9106 
   9107 /(?1)[^]a()b](abc)/
   9108     abcXabc
   9109  0: abcXabc
   9110  1: abc
   9111     ** Failers 
   9112 No match
   9113     abcbabc
   9114 No match
   9115 
   9116 /(?2)[]a()b](abc)(xyz)/
   9117     xyzbabcxyz
   9118  0: xyzbabcxyz
   9119  1: abc
   9120  2: xyz
   9121 
   9122 /(?&N)[]a(?<N>)](?<M>abc)/
   9123 Failed: reference to non-existent subpattern at offset 4
   9124 
   9125 /(?&N)[]a(?<N>)](abc)/
   9126 Failed: reference to non-existent subpattern at offset 4
   9127 
   9128 /a[]b/
   9129 Failed: missing terminating ] for character class at offset 4
   9130 
   9131 /a[^]b/
   9132 Failed: missing terminating ] for character class at offset 5
   9133 
   9134 /a[]b/<JS>
   9135     ** Failers
   9136 No match
   9137     ab
   9138 No match
   9139 
   9140 /a[]+b/<JS>
   9141     ** Failers
   9142 No match
   9143     ab 
   9144 No match
   9145 
   9146 /a[]*+b/<JS>
   9147     ** Failers
   9148 No match
   9149     ab 
   9150 No match
   9151 
   9152 /a[^]b/<JS>
   9153     aXb
   9154  0: aXb
   9155     a\nb 
   9156  0: a\x0ab
   9157     ** Failers
   9158 No match
   9159     ab  
   9160 No match
   9161     
   9162 /a[^]+b/<JS> 
   9163     aXb
   9164  0: aXb
   9165     a\nX\nXb 
   9166  0: a\x0aX\x0aXb
   9167     ** Failers
   9168 No match
   9169     ab  
   9170 No match
   9171 
   9172 /a(?!)+b/
   9173 Failed: nothing to repeat at offset 5
   9174 
   9175 /a(*FAIL)+b/
   9176 Failed: nothing to repeat at offset 8
   9177 
   9178 /(abc|pqr|123){0}[xyz]/SI
   9179 Capturing subpattern count = 1
   9180 No options
   9181 No first char
   9182 No need char
   9183 Subject length lower bound = 1
   9184 Starting byte set: x y z 
   9185 
   9186 /(?(?=.*b)b|^)/CI
   9187 Capturing subpattern count = 0
   9188 Options:
   9189 No first char
   9190 No need char
   9191    adc
   9192 --->adc
   9193  +0 ^       (?(?=.*b)b|^)
   9194  +2 ^       (?=.*b)
   9195  +5 ^       .*
   9196  +7 ^  ^    b
   9197  +7 ^ ^     b
   9198  +7 ^^      b
   9199  +7 ^       b
   9200 +12 ^       )
   9201 +13 ^       
   9202  0: 
   9203    abc 
   9204 --->abc
   9205  +0 ^       (?(?=.*b)b|^)
   9206  +2 ^       (?=.*b)
   9207  +5 ^       .*
   9208  +7 ^  ^    b
   9209  +7 ^ ^     b
   9210  +7 ^^      b
   9211  +8 ^ ^     )
   9212  +9 ^       b
   9213  +0  ^      (?(?=.*b)b|^)
   9214  +2  ^      (?=.*b)
   9215  +5  ^      .*
   9216  +7  ^ ^    b
   9217  +7  ^^     b
   9218  +7  ^      b
   9219  +8  ^^     )
   9220  +9  ^      b
   9221 +10  ^^     |
   9222 +13  ^^     
   9223  0: b
   9224    
   9225 /(?(?=b).*b|^d)/I
   9226 Capturing subpattern count = 0
   9227 No options
   9228 No first char
   9229 No need char
   9230 
   9231 /(?(?=.*b).*b|^d)/I
   9232 Capturing subpattern count = 0
   9233 No options
   9234 First char at start or follows newline
   9235 No need char
   9236 
   9237 /a?|b?/P
   9238     abc
   9239  0: a
   9240     ** Failers
   9241  0: 
   9242     ddd\N   
   9243 No match: POSIX code 17: match failed
   9244 
   9245 /xyz/C
   9246   xyz 
   9247 --->xyz
   9248  +0 ^       x
   9249  +1 ^^      y
   9250  +2 ^ ^     z
   9251  +3 ^  ^    
   9252  0: xyz
   9253   abcxyz 
   9254 --->abcxyz
   9255  +0    ^       x
   9256  +1    ^^      y
   9257  +2    ^ ^     z
   9258  +3    ^  ^    
   9259  0: xyz
   9260   abcxyz\Y
   9261 --->abcxyz
   9262  +0 ^          x
   9263  +0  ^         x
   9264  +0   ^        x
   9265  +0    ^       x
   9266  +1    ^^      y
   9267  +2    ^ ^     z
   9268  +3    ^  ^    
   9269  0: xyz
   9270   ** Failers 
   9271 No match
   9272   abc
   9273 No match
   9274   abc\Y
   9275 --->abc
   9276  +0 ^       x
   9277  +0  ^      x
   9278  +0   ^     x
   9279  +0    ^    x
   9280 No match
   9281   abcxypqr  
   9282 No match
   9283   abcxypqr\Y  
   9284 --->abcxypqr
   9285  +0 ^            x
   9286  +0  ^           x
   9287  +0   ^          x
   9288  +0    ^         x
   9289  +1    ^^        y
   9290  +2    ^ ^       z
   9291  +0     ^        x
   9292  +0      ^       x
   9293  +0       ^      x
   9294  +0        ^     x
   9295  +0         ^    x
   9296 No match
   9297   
   9298 /(*NO_START_OPT)xyz/C
   9299   abcxyz 
   9300 --->abcxyz
   9301 +15 ^          x
   9302 +15  ^         x
   9303 +15   ^        x
   9304 +15    ^       x
   9305 +16    ^^      y
   9306 +17    ^ ^     z
   9307 +18    ^  ^    
   9308  0: xyz
   9309 
   9310 /xyz/CY
   9311   abcxyz 
   9312 --->abcxyz
   9313  +0 ^          x
   9314  +0  ^         x
   9315  +0   ^        x
   9316  +0    ^       x
   9317  +1    ^^      y
   9318  +2    ^ ^     z
   9319  +3    ^  ^    
   9320  0: xyz
   9321 
   9322 /^"((?(?=[a])[^"])|b)*"$/C
   9323     "ab"
   9324 --->"ab"
   9325  +0 ^        ^
   9326  +1 ^        "
   9327  +2 ^^       ((?(?=[a])[^"])|b)*
   9328  +3 ^^       (?(?=[a])[^"])
   9329  +5 ^^       (?=[a])
   9330  +8 ^^       [a]
   9331 +11 ^ ^      )
   9332 +12 ^^       [^"]
   9333 +16 ^ ^      )
   9334 +17 ^ ^      |
   9335  +3 ^ ^      (?(?=[a])[^"])
   9336  +5 ^ ^      (?=[a])
   9337  +8 ^ ^      [a]
   9338 +21 ^ ^      "
   9339 +18 ^ ^      b
   9340 +19 ^  ^     )
   9341  +3 ^  ^     (?(?=[a])[^"])
   9342  +5 ^  ^     (?=[a])
   9343  +8 ^  ^     [a]
   9344 +21 ^  ^     "
   9345 +22 ^   ^    $
   9346 +23 ^   ^    
   9347  0: "ab"
   9348  1: 
   9349 
   9350 /^"((?(?=[a])[^"])|b)*"$/
   9351     "ab"
   9352  0: "ab"
   9353  1: 
   9354 
   9355 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
   9356 Failed: reference to non-existent subpattern at offset 5
   9357 
   9358 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
   9359     XYabcdY
   9360  0: XYabcdY
   9361  1: a
   9362  2: b
   9363  3: c
   9364  4: d
   9365  5: Y
   9366  
   9367 /Xa{2,4}b/
   9368     X\P
   9369 Partial match: X
   9370     Xa\P
   9371 Partial match: Xa
   9372     Xaa\P 
   9373 Partial match: Xaa
   9374     Xaaa\P
   9375 Partial match: Xaaa
   9376     Xaaaa\P 
   9377 Partial match: Xaaaa
   9378     
   9379 /Xa{2,4}?b/
   9380     X\P
   9381 Partial match: X
   9382     Xa\P
   9383 Partial match: Xa
   9384     Xaa\P 
   9385 Partial match: Xaa
   9386     Xaaa\P
   9387 Partial match: Xaaa
   9388     Xaaaa\P 
   9389 Partial match: Xaaaa
   9390     
   9391 /Xa{2,4}+b/
   9392     X\P
   9393 Partial match: X
   9394     Xa\P
   9395 Partial match: Xa
   9396     Xaa\P 
   9397 Partial match: Xaa
   9398     Xaaa\P
   9399 Partial match: Xaaa
   9400     Xaaaa\P 
   9401 Partial match: Xaaaa
   9402     
   9403 /X\d{2,4}b/
   9404     X\P
   9405 Partial match: X
   9406     X3\P
   9407 Partial match: X3
   9408     X33\P 
   9409 Partial match: X33
   9410     X333\P
   9411 Partial match: X333
   9412     X3333\P 
   9413 Partial match: X3333
   9414     
   9415 /X\d{2,4}?b/
   9416     X\P
   9417 Partial match: X
   9418     X3\P
   9419 Partial match: X3
   9420     X33\P 
   9421 Partial match: X33
   9422     X333\P
   9423 Partial match: X333
   9424     X3333\P 
   9425 Partial match: X3333
   9426     
   9427 /X\d{2,4}+b/
   9428     X\P
   9429 Partial match: X
   9430     X3\P
   9431 Partial match: X3
   9432     X33\P 
   9433 Partial match: X33
   9434     X333\P
   9435 Partial match: X333
   9436     X3333\P 
   9437 Partial match: X3333
   9438     
   9439 /X\D{2,4}b/
   9440     X\P
   9441 Partial match: X
   9442     Xa\P
   9443 Partial match: Xa
   9444     Xaa\P 
   9445 Partial match: Xaa
   9446     Xaaa\P
   9447 Partial match: Xaaa
   9448     Xaaaa\P 
   9449 Partial match: Xaaaa
   9450     
   9451 /X\D{2,4}?b/
   9452     X\P
   9453 Partial match: X
   9454     Xa\P
   9455 Partial match: Xa
   9456     Xaa\P 
   9457 Partial match: Xaa
   9458     Xaaa\P
   9459 Partial match: Xaaa
   9460     Xaaaa\P 
   9461 Partial match: Xaaaa
   9462     
   9463 /X\D{2,4}+b/
   9464     X\P
   9465 Partial match: X
   9466     Xa\P
   9467 Partial match: Xa
   9468     Xaa\P 
   9469 Partial match: Xaa
   9470     Xaaa\P
   9471 Partial match: Xaaa
   9472     Xaaaa\P 
   9473 Partial match: Xaaaa
   9474     
   9475 /X[abc]{2,4}b/
   9476     X\P
   9477 Partial match: X
   9478     Xa\P
   9479 Partial match: Xa
   9480     Xaa\P 
   9481 Partial match: Xaa
   9482     Xaaa\P
   9483 Partial match: Xaaa
   9484     Xaaaa\P 
   9485 Partial match: Xaaaa
   9486     
   9487 /X[abc]{2,4}?b/
   9488     X\P
   9489 Partial match: X
   9490     Xa\P
   9491 Partial match: Xa
   9492     Xaa\P 
   9493 Partial match: Xaa
   9494     Xaaa\P
   9495 Partial match: Xaaa
   9496     Xaaaa\P 
   9497 Partial match: Xaaaa
   9498     
   9499 /X[abc]{2,4}+b/
   9500     X\P
   9501 Partial match: X
   9502     Xa\P
   9503 Partial match: Xa
   9504     Xaa\P 
   9505 Partial match: Xaa
   9506     Xaaa\P
   9507 Partial match: Xaaa
   9508     Xaaaa\P 
   9509 Partial match: Xaaaa
   9510     
   9511 /X[^a]{2,4}b/
   9512     X\P
   9513 Partial match: X
   9514     Xz\P
   9515 Partial match: Xz
   9516     Xzz\P 
   9517 Partial match: Xzz
   9518     Xzzz\P
   9519 Partial match: Xzzz
   9520     Xzzzz\P 
   9521 Partial match: Xzzzz
   9522     
   9523 /X[^a]{2,4}?b/
   9524     X\P
   9525 Partial match: X
   9526     Xz\P
   9527 Partial match: Xz
   9528     Xzz\P 
   9529 Partial match: Xzz
   9530     Xzzz\P
   9531 Partial match: Xzzz
   9532     Xzzzz\P 
   9533 Partial match: Xzzzz
   9534     
   9535 /X[^a]{2,4}+b/
   9536     X\P
   9537 Partial match: X
   9538     Xz\P
   9539 Partial match: Xz
   9540     Xzz\P 
   9541 Partial match: Xzz
   9542     Xzzz\P
   9543 Partial match: Xzzz
   9544     Xzzzz\P 
   9545 Partial match: Xzzzz
   9546     
   9547 /(Y)X\1{2,4}b/
   9548     YX\P
   9549 Partial match: YX
   9550     YXY\P
   9551 Partial match: YXY
   9552     YXYY\P 
   9553 Partial match: YXYY
   9554     YXYYY\P
   9555 Partial match: YXYYY
   9556     YXYYYY\P 
   9557 Partial match: YXYYYY
   9558     
   9559 /(Y)X\1{2,4}?b/
   9560     YX\P
   9561 Partial match: YX
   9562     YXY\P
   9563 Partial match: YXY
   9564     YXYY\P 
   9565 Partial match: YXYY
   9566     YXYYY\P
   9567 Partial match: YXYYY
   9568     YXYYYY\P 
   9569 Partial match: YXYYYY
   9570     
   9571 /(Y)X\1{2,4}+b/
   9572     YX\P
   9573 Partial match: YX
   9574     YXY\P
   9575 Partial match: YXY
   9576     YXYY\P 
   9577 Partial match: YXYY
   9578     YXYYY\P
   9579 Partial match: YXYYY
   9580     YXYYYY\P 
   9581 Partial match: YXYYYY
   9582     
   9583 /\++\KZ|\d+X|9+Y/
   9584     ++++123999\P
   9585 Partial match: 123999
   9586     ++++123999Y\P
   9587  0: 999Y
   9588     ++++Z1234\P 
   9589  0: Z
   9590 
   9591 /Z(*F)/
   9592     Z\P
   9593 No match
   9594     ZA\P 
   9595 No match
   9596     
   9597 /Z(?!)/
   9598     Z\P 
   9599 No match
   9600     ZA\P 
   9601 No match
   9602 
   9603 /dog(sbody)?/
   9604     dogs\P
   9605  0: dog
   9606     dogs\P\P 
   9607 Partial match: dogs
   9608     
   9609 /dog(sbody)??/
   9610     dogs\P
   9611  0: dog
   9612     dogs\P\P 
   9613  0: dog
   9614 
   9615 /dog|dogsbody/
   9616     dogs\P
   9617  0: dog
   9618     dogs\P\P 
   9619  0: dog
   9620  
   9621 /dogsbody|dog/
   9622     dogs\P
   9623  0: dog
   9624     dogs\P\P 
   9625 Partial match: dogs
   9626 
   9627 /\bthe cat\b/
   9628     the cat\P
   9629  0: the cat
   9630     the cat\P\P
   9631 Partial match: the cat
   9632 
   9633 /abc/
   9634    abc\P
   9635  0: abc
   9636    abc\P\P
   9637  0: abc
   9638    
   9639 /\w+A/P
   9640    CDAAAAB 
   9641  0: CDAAAA
   9642 
   9643 /\w+A/PU
   9644    CDAAAAB 
   9645  0: CDA
   9646 
   9647 /abc\K123/
   9648     xyzabc123pqr
   9649  0: 123
   9650     xyzabc12\P
   9651 Partial match: abc12
   9652     xyzabc12\P\P
   9653 Partial match: abc12
   9654     
   9655 /(?<=abc)123/
   9656     xyzabc123pqr 
   9657  0: 123
   9658     xyzabc12\P
   9659 Partial match: abc12
   9660     xyzabc12\P\P
   9661 Partial match: abc12
   9662 
   9663 /\babc\b/
   9664     +++abc+++
   9665  0: abc
   9666     +++ab\P
   9667 Partial match: +ab
   9668     +++ab\P\P  
   9669 Partial match: +ab
   9670 
   9671 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
   9672 ------------------------------------------------------------------
   9673         Bra
   9674         Once
   9675         Recurse
   9676         Ket
   9677         Once
   9678         Recurse
   9679         Ket
   9680         Cond
   9681         Cond def
   9682         CBra 1
   9683         <
   9684         [^m]
   9685         [^>]
   9686         >
   9687         [^<]
   9688         Ket
   9689         CBra 2
   9690         \w*+
   9691         Ket
   9692         Ket
   9693         Ket
   9694         End
   9695 ------------------------------------------------------------------
   9696 
   9697 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
   9698 ------------------------------------------------------------------
   9699         Bra
   9700         Once
   9701         Recurse
   9702         Ket
   9703         Once
   9704         Recurse
   9705         Ket
   9706         Cond
   9707         Cond def
   9708         CBra 1
   9709         <
   9710         [\x00-/:-\xff] (neg)
   9711         [^>]
   9712         >
   9713         [^<]
   9714         Ket
   9715         CBra 2
   9716         \w*+
   9717         Ket
   9718         Ket
   9719         Ket
   9720         End
   9721 ------------------------------------------------------------------
   9722 
   9723 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
   9724 ------------------------------------------------------------------
   9725         Bra
   9726         CBra 1
   9727         ab
   9728         Ket
   9729         CBra 2
   9730         x
   9731         CBra 3
   9732         y
   9733         Ket
   9734         z
   9735         CBra 4
   9736         cd
   9737         Close 4
   9738         Close 2
   9739         *ACCEPT
   9740         Ket
   9741         Ket
   9742         pq
   9743         Ket
   9744         End
   9745 ------------------------------------------------------------------
   9746 
   9747 /abc\K/+
   9748     abcdef
   9749  0: 
   9750  0+ def
   9751     abcdef\N\N
   9752  0: 
   9753  0+ def
   9754     xyzabcdef\N\N
   9755  0: 
   9756  0+ def
   9757     ** Failers
   9758 No match
   9759     abcdef\N 
   9760 No match
   9761     xyzabcdef\N
   9762 No match
   9763     
   9764 /^(?:(?=abc)|abc\K)/+
   9765     abcdef
   9766  0: 
   9767  0+ abcdef
   9768     abcdef\N\N 
   9769  0: 
   9770  0+ def
   9771     ** Failers 
   9772 No match
   9773     abcdef\N 
   9774 No match
   9775 
   9776 /a?b?/+
   9777     xyz
   9778  0: 
   9779  0+ xyz
   9780     xyzabc
   9781  0: 
   9782  0+ xyzabc
   9783     xyzabc\N
   9784  0: ab
   9785  0+ c
   9786     xyzabc\N\N
   9787  0: 
   9788  0+ yzabc
   9789     xyz\N\N    
   9790  0: 
   9791  0+ yz
   9792     ** Failers 
   9793  0: 
   9794  0+ ** Failers
   9795     xyz\N 
   9796 No match
   9797 
   9798 /^a?b?/+
   9799     xyz
   9800  0: 
   9801  0+ xyz
   9802     xyzabc
   9803  0: 
   9804  0+ xyzabc
   9805     ** Failers 
   9806  0: 
   9807  0+ ** Failers
   9808     xyzabc\N
   9809 No match
   9810     xyzabc\N\N
   9811 No match
   9812     xyz\N\N    
   9813 No match
   9814     xyz\N 
   9815 No match
   9816     
   9817 /^(?<name>a|b\g<name>c)/
   9818     aaaa
   9819  0: a
   9820  1: a
   9821     bacxxx
   9822  0: bac
   9823  1: bac
   9824     bbaccxxx 
   9825  0: bbacc
   9826  1: bbacc
   9827     bbbacccxx
   9828  0: bbbaccc
   9829  1: bbbaccc
   9830 
   9831 /^(?<name>a|b\g'name'c)/
   9832     aaaa
   9833  0: a
   9834  1: a
   9835     bacxxx
   9836  0: bac
   9837  1: bac
   9838     bbaccxxx 
   9839  0: bbacc
   9840  1: bbacc
   9841     bbbacccxx
   9842  0: bbbaccc
   9843  1: bbbaccc
   9844 
   9845 /^(a|b\g<1>c)/
   9846     aaaa
   9847  0: a
   9848  1: a
   9849     bacxxx
   9850  0: bac
   9851  1: bac
   9852     bbaccxxx 
   9853  0: bbacc
   9854  1: bbacc
   9855     bbbacccxx
   9856  0: bbbaccc
   9857  1: bbbaccc
   9858 
   9859 /^(a|b\g'1'c)/
   9860     aaaa
   9861  0: a
   9862  1: a
   9863     bacxxx
   9864  0: bac
   9865  1: bac
   9866     bbaccxxx 
   9867  0: bbacc
   9868  1: bbacc
   9869     bbbacccxx
   9870  0: bbbaccc
   9871  1: bbbaccc
   9872 
   9873 /^(a|b\g'-1'c)/
   9874     aaaa
   9875  0: a
   9876  1: a
   9877     bacxxx
   9878  0: bac
   9879  1: bac
   9880     bbaccxxx 
   9881  0: bbacc
   9882  1: bbacc
   9883     bbbacccxx
   9884  0: bbbaccc
   9885  1: bbbaccc
   9886 
   9887 /(^(a|b\g<-1>c))/
   9888     aaaa
   9889  0: a
   9890  1: a
   9891  2: a
   9892     bacxxx
   9893  0: bac
   9894  1: bac
   9895  2: bac
   9896     bbaccxxx 
   9897  0: bbacc
   9898  1: bbacc
   9899  2: bbacc
   9900     bbbacccxx
   9901  0: bbbaccc
   9902  1: bbbaccc
   9903  2: bbbaccc
   9904 
   9905 /(?-i:\g<name>)(?i:(?<name>a))/
   9906     XaaX
   9907  0: aa
   9908  1: a
   9909     XAAX 
   9910  0: AA
   9911  1: A
   9912 
   9913 /(?i:\g<name>)(?-i:(?<name>a))/
   9914     XaaX
   9915  0: aa
   9916  1: a
   9917     ** Failers 
   9918 No match
   9919     XAAX 
   9920 No match
   9921 
   9922 /(?-i:\g<+1>)(?i:(a))/
   9923     XaaX
   9924  0: aa
   9925  1: a
   9926     XAAX 
   9927  0: AA
   9928  1: A
   9929 
   9930 /(?=(?<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>\})\}))\{/
   9931 
   9932 /(?<n>a|b|c)\g<n>*/
   9933    abc
   9934  0: abc
   9935  1: a
   9936    accccbbb 
   9937  0: accccbbb
   9938  1: a
   9939 
   9940 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
   9941     XYabcdY
   9942  0: XYabcdY
   9943  1: a
   9944  2: b
   9945  3: <unset>
   9946  4: <unset>
   9947  5: c
   9948  6: d
   9949  7: Y
   9950 
   9951 /(?<=b(?1)|zzz)(a)/
   9952     xbaax
   9953  0: a
   9954  1: a
   9955     xzzzax 
   9956  0: a
   9957  1: a
   9958 
   9959 /(a)(?<=b\1)/
   9960 Failed: lookbehind assertion is not fixed length at offset 10
   9961 
   9962 /(a)(?<=b+(?1))/
   9963 Failed: lookbehind assertion is not fixed length at offset 13
   9964 
   9965 /(a+)(?<=b(?1))/
   9966 Failed: lookbehind assertion is not fixed length at offset 14
   9967 
   9968 /(a(?<=b(?1)))/
   9969 Failed: lookbehind assertion is not fixed length at offset 13
   9970 
   9971 /(?<=b(?1))xyz/
   9972 Failed: reference to non-existent subpattern at offset 8
   9973 
   9974 /(?<=b(?1))xyz(b+)pqrstuvew/
   9975 Failed: lookbehind assertion is not fixed length at offset 26
   9976 
   9977 /(a|bc)\1/SI
   9978 Capturing subpattern count = 1
   9979 Max back reference = 1
   9980 No options
   9981 No first char
   9982 No need char
   9983 Subject length lower bound = 2
   9984 Starting byte set: a b 
   9985 
   9986 /(a|bc)\1{2,3}/SI
   9987 Capturing subpattern count = 1
   9988 Max back reference = 1
   9989 No options
   9990 No first char
   9991 No need char
   9992 Subject length lower bound = 3
   9993 Starting byte set: a b 
   9994 
   9995 /(a|bc)(?1)/SI
   9996 Capturing subpattern count = 1
   9997 No options
   9998 No first char
   9999 No need char
   10000 Subject length lower bound = 2
   10001 Starting byte set: a b 
   10002 
   10003 /(a|b\1)(a|b\1)/SI
   10004 Capturing subpattern count = 2
   10005 Max back reference = 1
   10006 No options
   10007 No first char
   10008 No need char
   10009 Subject length lower bound = 2
   10010 Starting byte set: a b 
   10011 
   10012 /(a|b\1){2}/SI
   10013 Capturing subpattern count = 1
   10014 Max back reference = 1
   10015 No options
   10016 No first char
   10017 No need char
   10018 Subject length lower bound = 2
   10019 Starting byte set: a b 
   10020 
   10021 /(a|bbbb\1)(a|bbbb\1)/SI
   10022 Capturing subpattern count = 2
   10023 Max back reference = 1
   10024 No options
   10025 No first char
   10026 No need char
   10027 Subject length lower bound = 2
   10028 Starting byte set: a b 
   10029 
   10030 /(a|bbbb\1){2}/SI
   10031 Capturing subpattern count = 1
   10032 Max back reference = 1
   10033 No options
   10034 No first char
   10035 No need char
   10036 Subject length lower bound = 2
   10037 Starting byte set: a b 
   10038 
   10039 /^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
   10040 Capturing subpattern count = 1
   10041 Options: anchored
   10042 No first char
   10043 Need char = ':'
   10044 Subject length lower bound = 22
   10045 No set of starting bytes
   10046 
   10047 /  (?: [\040\t] |  \(
   10048 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10049 \)  )*                          # optional leading comment
   10050 (?:    (?:
   10051 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10052 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10053 |
   10054 " (?:                      # opening quote...
   10055 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   10056 |                     #    or
   10057 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   10058 )* "  # closing quote
   10059 )                    # initial word
   10060 (?:  (?: [\040\t] |  \(
   10061 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10062 \)  )*  \.  (?: [\040\t] |  \(
   10063 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10064 \)  )*   (?:
   10065 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10066 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10067 |
   10068 " (?:                      # opening quote...
   10069 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   10070 |                     #    or
   10071 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   10072 )* "  # closing quote
   10073 )  )* # further okay, if led by a period
   10074 (?: [\040\t] |  \(
   10075 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10076 \)  )*  @  (?: [\040\t] |  \(
   10077 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10078 \)  )*    (?:
   10079 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10080 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10081 |   \[                         # [
   10082 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   10083 \]                        #           ]
   10084 )                           # initial subdomain
   10085 (?:                                  #
   10086 (?: [\040\t] |  \(
   10087 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10088 \)  )*  \.                        # if led by a period...
   10089 (?: [\040\t] |  \(
   10090 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10091 \)  )*   (?:
   10092 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10093 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10094 |   \[                         # [
   10095 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   10096 \]                        #           ]
   10097 )                     #   ...further okay
   10098 )*
   10099 # address
   10100 |                     #  or
   10101 (?:
   10102 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10103 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10104 |
   10105 " (?:                      # opening quote...
   10106 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   10107 |                     #    or
   10108 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   10109 )* "  # closing quote
   10110 )             # one word, optionally followed by....
   10111 (?:
   10112 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
   10113 \(
   10114 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10115 \)       |  # comments, or...
   10116 
   10117 " (?:                      # opening quote...
   10118 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   10119 |                     #    or
   10120 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   10121 )* "  # closing quote
   10122 # quoted strings
   10123 )*
   10124 <  (?: [\040\t] |  \(
   10125 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10126 \)  )*                     # leading <
   10127 (?:  @  (?: [\040\t] |  \(
   10128 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10129 \)  )*    (?:
   10130 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10131 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10132 |   \[                         # [
   10133 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   10134 \]                        #           ]
   10135 )                           # initial subdomain
   10136 (?:                                  #
   10137 (?: [\040\t] |  \(
   10138 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10139 \)  )*  \.                        # if led by a period...
   10140 (?: [\040\t] |  \(
   10141 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10142 \)  )*   (?:
   10143 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10144 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10145 |   \[                         # [
   10146 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   10147 \]                        #           ]
   10148 )                     #   ...further okay
   10149 )*
   10150 
   10151 (?:  (?: [\040\t] |  \(
   10152 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10153 \)  )*  ,  (?: [\040\t] |  \(
   10154 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10155 \)  )*  @  (?: [\040\t] |  \(
   10156 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10157 \)  )*    (?:
   10158 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10159 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10160 |   \[                         # [
   10161 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   10162 \]                        #           ]
   10163 )                           # initial subdomain
   10164 (?:                                  #
   10165 (?: [\040\t] |  \(
   10166 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10167 \)  )*  \.                        # if led by a period...
   10168 (?: [\040\t] |  \(
   10169 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10170 \)  )*   (?:
   10171 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10172 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10173 |   \[                         # [
   10174 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   10175 \]                        #           ]
   10176 )                     #   ...further okay
   10177 )*
   10178 )* # further okay, if led by comma
   10179 :                                # closing colon
   10180 (?: [\040\t] |  \(
   10181 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10182 \)  )*  )? #       optional route
   10183 (?:
   10184 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10185 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10186 |
   10187 " (?:                      # opening quote...
   10188 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   10189 |                     #    or
   10190 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   10191 )* "  # closing quote
   10192 )                    # initial word
   10193 (?:  (?: [\040\t] |  \(
   10194 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10195 \)  )*  \.  (?: [\040\t] |  \(
   10196 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10197 \)  )*   (?:
   10198 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10199 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10200 |
   10201 " (?:                      # opening quote...
   10202 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
   10203 |                     #    or
   10204 \\ [^\x80-\xff]           #   Escaped something (something != CR)
   10205 )* "  # closing quote
   10206 )  )* # further okay, if led by a period
   10207 (?: [\040\t] |  \(
   10208 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10209 \)  )*  @  (?: [\040\t] |  \(
   10210 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10211 \)  )*    (?:
   10212 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10213 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10214 |   \[                         # [
   10215 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   10216 \]                        #           ]
   10217 )                           # initial subdomain
   10218 (?:                                  #
   10219 (?: [\040\t] |  \(
   10220 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10221 \)  )*  \.                        # if led by a period...
   10222 (?: [\040\t] |  \(
   10223 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10224 \)  )*   (?:
   10225 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
   10226 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
   10227 |   \[                         # [
   10228 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
   10229 \]                        #           ]
   10230 )                     #   ...further okay
   10231 )*
   10232 #       address spec
   10233 (?: [\040\t] |  \(
   10234 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10235 \)  )*  > #                  trailing >
   10236 # name and address
   10237 )  (?: [\040\t] |  \(
   10238 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
   10239 \)  )*                       # optional trailing comment
   10240 /xSI
   10241 Capturing subpattern count = 0
   10242 Contains explicit CR or LF match
   10243 Options: extended
   10244 No first char
   10245 No need char
   10246 Subject length lower bound = 3
   10247 Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 
   10248   9 = ? 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 ^ _ ` a b c d e 
   10249   f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f 
   10250 
   10251 /<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
   10252 Capturing subpattern count = 11
   10253 Options: caseless dotall
   10254 First char = '<'
   10255 Need char = '>'
   10256 Subject length lower bound = 47
   10257 No set of starting bytes
   10258 
   10259 "(?>.*/)foo"SI
   10260 Capturing subpattern count = 0
   10261 No options
   10262 First char at start or follows newline
   10263 Need char = 'o'
   10264 Subject length lower bound = 4
   10265 No set of starting bytes
   10266 
   10267 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
   10268 Capturing subpattern count = 0
   10269 Options: extended
   10270 No first char
   10271 Need char = '-'
   10272 Subject length lower bound = 8
   10273 No set of starting bytes
   10274 
   10275 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
   10276 Capturing subpattern count = 1
   10277 Options: caseless
   10278 No first char
   10279 No need char
   10280 Subject length lower bound = 1
   10281 Starting byte set: A B C a b c 
   10282 
   10283 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
   10284 Capturing subpattern count = 0
   10285 No options
   10286 No first char
   10287 Need char = 'b'
   10288 Subject length lower bound = 41
   10289 Starting byte set: c d 
   10290 
   10291 /<a[\s]+href[\s]*=[\s]*          # find <a href=
   10292  ([\"\'])?                       # find single or double quote
   10293  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
   10294                                  # quote, otherwise match up to next space
   10295 /isxSI
   10296 Capturing subpattern count = 3
   10297 Max back reference = 1
   10298 Options: caseless extended dotall
   10299 First char = '<'
   10300 Need char = '='
   10301 Subject length lower bound = 9
   10302 No set of starting bytes
   10303 
   10304 /^(?!:)                       # colon disallowed at start
   10305   (?:                         # start of item
   10306     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
   10307     (?(1)0 | () ) )           # if null previously matched, fail; else null
   10308     :                         # followed by colon
   10309   ){1,7}                      # end item; 1-7 of them required               
   10310   [0-9a-f]{1,4} $             # final hex number at end of string
   10311   (?(1)|.)                    # check that there was an empty component
   10312   /xiIS
   10313 Capturing subpattern count = 1
   10314 Options: anchored caseless extended
   10315 No first char
   10316 Need char = ':'
   10317 Subject length lower bound = 2
   10318 No set of starting bytes
   10319 
   10320 /(?|(?<a>A)|(?<a>B))/I
   10321 Capturing subpattern count = 1
   10322 Named capturing subpatterns:
   10323   a   1
   10324   a   1
   10325 No options
   10326 No first char
   10327 No need char
   10328     AB\Ca
   10329  0: A
   10330  1: A
   10331   C A (1) a
   10332     BA\Ca
   10333  0: B
   10334  1: B
   10335   C B (1) a
   10336 
   10337 /(?|(?<a>A)|(?<b>B))/ 
   10338 Failed: different names for subpatterns of the same number are not allowed at offset 15
   10339 
   10340 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
   10341     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
   10342     (?('quote')[a-z]+|[0-9]+)/JIx
   10343 Capturing subpattern count = 6
   10344 Named capturing subpatterns:
   10345   apostrophe   2
   10346   apostrophe   5
   10347   quote        1
   10348   quote        4
   10349   realquote    3
   10350   realquote    6
   10351 Options: extended dupnames
   10352 No first char
   10353 No need char
   10354     a"aaaaa
   10355  0: a"aaaaa
   10356  1: "
   10357  2: <unset>
   10358  3: "
   10359     b"aaaaa 
   10360  0: b"aaaaa
   10361  1: <unset>
   10362  2: <unset>
   10363  3: <unset>
   10364  4: "
   10365  5: <unset>
   10366  6: "
   10367     ** Failers 
   10368 No match
   10369     b"11111
   10370 No match
   10371     a"11111 
   10372 No match
   10373     
   10374 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
   10375 ------------------------------------------------------------------
   10376         Bra
   10377         ^
   10378         Bra
   10379         CBra 1
   10380         a
   10381         Ket
   10382         CBra 2
   10383         b
   10384         Ket
   10385         CBra 3
   10386         c
   10387         Ket
   10388         CBra 4
   10389         d
   10390         Ket
   10391         Alt
   10392         CBra 1
   10393         e
   10394         Ket
   10395         Ket
   10396         Cond
   10397       4 Cond nref
   10398         X
   10399         Alt
   10400         Y
   10401         Ket
   10402         Ket
   10403         End
   10404 ------------------------------------------------------------------
   10405 Capturing subpattern count = 4
   10406 Named capturing subpatterns:
   10407   D   4
   10408   D   1
   10409 Options: anchored extended dupnames
   10410 No first char
   10411 No need char
   10412     abcdX
   10413  0: abcdX
   10414  1: a
   10415  2: b
   10416  3: c
   10417  4: d
   10418     eX
   10419  0: eX
   10420  1: e
   10421     ** Failers
   10422 No match
   10423     abcdY
   10424 No match
   10425     ey     
   10426 No match
   10427     
   10428 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
   10429 ------------------------------------------------------------------
   10430         Bra
   10431         CBra 1
   10432         a
   10433         Ket
   10434         CBra 2
   10435         b
   10436         Ket
   10437         CBra 3
   10438         c
   10439         Ket
   10440         CBra 4
   10441         d
   10442         Cond
   10443         Cond nrecurse 1
   10444         $
   10445         Alt
   10446         Once
   10447         Recurse
   10448         Ket
   10449         Ket
   10450         Ket
   10451         Ket
   10452         End
   10453 ------------------------------------------------------------------
   10454 Capturing subpattern count = 4
   10455 Named capturing subpatterns:
   10456   A   1
   10457   A   4
   10458 Options: extended dupnames
   10459 First char = 'a'
   10460 Need char = 'd'
   10461     abcdd
   10462  0: abcdd
   10463  1: a
   10464  2: b
   10465  3: c
   10466  4: dd
   10467     ** Failers
   10468 No match
   10469     abcdde  
   10470 No match
   10471 
   10472 /abcd*/
   10473     xxxxabcd\P
   10474  0: abcd
   10475     xxxxabcd\P\P
   10476 Partial match: abcd
   10477 
   10478 /abcd*/i
   10479     xxxxabcd\P
   10480  0: abcd
   10481     xxxxabcd\P\P
   10482 Partial match: abcd
   10483     XXXXABCD\P
   10484  0: ABCD
   10485     XXXXABCD\P\P
   10486 Partial match: ABCD
   10487 
   10488 /abc\d*/
   10489     xxxxabc1\P
   10490  0: abc1
   10491     xxxxabc1\P\P
   10492 Partial match: abc1
   10493 
   10494 /(a)bc\1*/
   10495     xxxxabca\P
   10496  0: abca
   10497  1: a
   10498     xxxxabca\P\P
   10499 Partial match: abca
   10500 
   10501 /abc[de]*/
   10502     xxxxabcde\P
   10503  0: abcde
   10504     xxxxabcde\P\P
   10505 Partial match: abcde
   10506 
   10507 /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
   10508     broken and not behaving as specified in that it *does* bumpalong after
   10509     hitting (*COMMIT). --/
   10510 
   10511 /(?1)(A(*COMMIT)|B)D/
   10512     ABD
   10513  0: ABD
   10514  1: B
   10515     XABD
   10516  0: ABD
   10517  1: B
   10518     BAD
   10519  0: BAD
   10520  1: A
   10521     ABXABD  
   10522  0: ABD
   10523  1: B
   10524     ** Failers 
   10525 No match
   10526     ABX 
   10527 No match
   10528     BAXBAD  
   10529 No match
   10530 
   10531 /(\3)(\1)(a)/<JS>
   10532     cat
   10533  0: a
   10534  1: 
   10535  2: 
   10536  3: a
   10537 
   10538 /(\3)(\1)(a)/SI<JS>
   10539 Capturing subpattern count = 3
   10540 Max back reference = 3
   10541 Options:
   10542 No first char
   10543 Need char = 'a'
   10544 Subject length lower bound = 1
   10545 No set of starting bytes
   10546     cat
   10547  0: a
   10548  1: 
   10549  2: 
   10550  3: a
   10551 
   10552 /(\3)(\1)(a)/SI
   10553 Capturing subpattern count = 3
   10554 Max back reference = 3
   10555 No options
   10556 No first char
   10557 Need char = 'a'
   10558 Subject length lower bound = 3
   10559 No set of starting bytes
   10560     cat
   10561 No match
   10562 
   10563 /i(?(DEFINE)(?<s>a))/SI
   10564 Capturing subpattern count = 1
   10565 Named capturing subpatterns:
   10566   s   1
   10567 No options
   10568 First char = 'i'
   10569 No need char
   10570 Subject length lower bound = 1
   10571 No set of starting bytes
   10572     i
   10573  0: i
   10574     
   10575 /()i(?(1)a)/SI 
   10576 Capturing subpattern count = 1
   10577 No options
   10578 No first char
   10579 Need char = 'i'
   10580 Subject length lower bound = 1
   10581 Starting byte set: i 
   10582     ia
   10583  0: ia
   10584  1: 
   10585 
   10586 /(?i)a(?-i)b|c/BZ
   10587 ------------------------------------------------------------------
   10588         Bra
   10589      NC a
   10590      00 Opt
   10591         b
   10592         Alt
   10593      00 Opt
   10594         c
   10595         Ket
   10596         End
   10597 ------------------------------------------------------------------
   10598     XabX
   10599  0: ab
   10600     XAbX
   10601  0: Ab
   10602     CcC 
   10603  0: c
   10604     ** Failers
   10605 No match
   10606     XABX   
   10607 No match
   10608 
   10609 /(?i)a(?s)b|c/BZ
   10610 ------------------------------------------------------------------
   10611         Bra
   10612      NC a
   10613      05 Opt
   10614      NC b
   10615         Alt
   10616      05 Opt
   10617      NC c
   10618         Ket
   10619         End
   10620 ------------------------------------------------------------------
   10621 
   10622 /(?i)a(?s-i)b|c/BZ
   10623 ------------------------------------------------------------------
   10624         Bra
   10625      NC a
   10626      04 Opt
   10627         b
   10628         Alt
   10629      04 Opt
   10630         c
   10631         Ket
   10632         End
   10633 ------------------------------------------------------------------
   10634 
   10635 /^(ab(c\1)d|x){2}$/BZ
   10636 ------------------------------------------------------------------
   10637         Bra
   10638         ^
   10639         Once
   10640         CBra 1
   10641         ab
   10642         CBra 2
   10643         c
   10644         \1
   10645         Ket
   10646         d
   10647         Alt
   10648         x
   10649         Ket
   10650         Ket
   10651         Once
   10652         CBra 1
   10653         ab
   10654         CBra 2
   10655         c
   10656         \1
   10657         Ket
   10658         d
   10659         Alt
   10660         x
   10661         Ket
   10662         Ket
   10663         $
   10664         Ket
   10665         End
   10666 ------------------------------------------------------------------
   10667     xabcxd
   10668  0: xabcxd
   10669  1: abcxd
   10670  2: cx
   10671     
   10672 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
   10673 ------------------------------------------------------------------
   10674         Bra
   10675         ^
   10676         Once
   10677         Brazero
   10678         Once
   10679         Recurse
   10680         KetRmax
   10681         Ket
   10682         Cond
   10683         Cond def
   10684         CBra 1
   10685         Any
   10686         Ket
   10687         Ket
   10688         $
   10689         Ket
   10690         End
   10691 ------------------------------------------------------------------
   10692 
   10693 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
   10694 ------------------------------------------------------------------
   10695         Bra
   10696         ^
   10697         Brazero
   10698         Once
   10699         Recurse
   10700         KetRmax
   10701         Cond
   10702         Cond def
   10703         CBra 1
   10704         Any
   10705         Ket
   10706         Ket
   10707         $
   10708         Ket
   10709         End
   10710 ------------------------------------------------------------------
   10711 
   10712 / -- The first four of these are not in the Perl >= 5.10 test because Perl 
   10713      documents that the use of \K in assertions is "not well defined". The
   10714      last is here because Perl gives the match as "b" rather than "ab". I
   10715      believe this to be a Perl bug. --/  
   10716       
   10717 /(?=a\Kb)ab/
   10718     ab 
   10719  0: b
   10720 
   10721 /(?!a\Kb)ac/
   10722     ac 
   10723  0: ac
   10724     
   10725 /^abc(?<=b\Kc)d/
   10726     abcd
   10727  0: cd
   10728 
   10729 /^abc(?<!b\Kq)d/
   10730     abcd
   10731  0: abcd
   10732 
   10733 /(?>a\Kb)z|(ab)/
   10734     ab 
   10735  0: ab
   10736  1: ab
   10737 
   10738 /----------------------/
   10739 
   10740 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
   10741 Failed: recursive call could loop indefinitely at offset 31
   10742 
   10743 /abc(*MARK:)pqr/
   10744 Failed: (*MARK) must have an argument at offset 10
   10745 
   10746 /abc(*:)pqr/
   10747 Failed: (*MARK) must have an argument at offset 6
   10748 
   10749 /abc(*FAIL:123)xyz/
   10750 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
   10751 
   10752 /--- This should, and does, fail. In Perl, it does not, which I think is a 
   10753      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
   10754 
   10755 /A(*COMMIT)B/+K
   10756     ACABX
   10757 No match
   10758 
   10759 /--- These should be different, but in Perl 5.11 are not, which I think
   10760      is a bug in Perl. ---/
   10761 
   10762 /A(*THEN)B|A(*THEN)C/K
   10763     AC
   10764  0: AC
   10765 
   10766 /A(*PRUNE)B|A(*PRUNE)C/K
   10767     AC
   10768 No match
   10769     
   10770 /--- A whole lot of tests of verbs with arguments are here rather than in test
   10771      11 because Perl doesn't seem to follow its specification entirely 
   10772      correctly. ---/
   10773 
   10774 /--- Perl 5.11 sets $REGERROR on the AC failure case here; PCRE does not. It is
   10775      not clear how Perl defines "involved in the failure of the match". ---/ 
   10776 
   10777 /^(A(*THEN:A)B|C(*THEN:B)D)/K
   10778     AB
   10779  0: AB
   10780  1: AB
   10781     CD
   10782  0: CD
   10783  1: CD
   10784     ** Failers
   10785 No match
   10786     AC
   10787 No match
   10788     CB    
   10789 No match, mark = B
   10790     
   10791 /--- Check the use of names for success and failure. PCRE doesn't show these 
   10792 names for success, though Perl does, contrary to its spec. ---/
   10793 
   10794 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/K
   10795     AB
   10796  0: AB
   10797  1: AB
   10798     CD
   10799  0: CD
   10800  1: CD
   10801     ** Failers
   10802 No match
   10803     AC
   10804 No match, mark = A
   10805     CB    
   10806 No match, mark = B
   10807     
   10808 /--- An empty name does not pass back an empty string. It is the same as if no
   10809 name were given. ---/ 
   10810 
   10811 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/K
   10812     AB
   10813  0: AB
   10814  1: AB
   10815     CD 
   10816  0: CD
   10817  1: CD
   10818 
   10819 /--- PRUNE goes to next bumpalong; COMMIT does not. ---/
   10820     
   10821 /A(*PRUNE:A)B/K
   10822     ACAB
   10823  0: AB
   10824 
   10825 /(*MARK:A)(*PRUNE:B)(C|X)/K
   10826     C
   10827  0: C
   10828  1: C
   10829 MK: A
   10830     D 
   10831 No match, mark = B
   10832 
   10833 /(*MARK:A)(*THEN:B)(C|X)/K
   10834     C
   10835  0: C
   10836  1: C
   10837 MK: A
   10838     D 
   10839 No match, mark = B
   10840 
   10841 /--- This should fail, as the skip causes a bump to offset 3 (the skip) ---/
   10842 
   10843 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xK
   10844     AAAC
   10845 No match
   10846 
   10847 /--- Same --/
   10848 
   10849 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xK
   10850     AAAC
   10851 No match
   10852 
   10853 /--- This should fail; the SKIP advances by one, but when we get to AC, the
   10854      PRUNE kills it. ---/ 
   10855     
   10856 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
   10857     AAAC
   10858 No match
   10859 
   10860 /A(*:A)A+(*SKIP)(B|Z) | AC/xK
   10861     AAAC
   10862 No match
   10863 
   10864 /--- This should fail, as a null name is the same as no name ---/
   10865 
   10866 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xK
   10867     AAAC
   10868 No match
   10869 
   10870 /--- This fails in PCRE, and I think that is in accordance with Perl's 
   10871      documentation, though in Perl it succeeds. ---/
   10872     
   10873 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xK
   10874     AAAC
   10875 No match
   10876 
   10877 /--- Mark names can be duplicated ---/
   10878 
   10879 /A(*:A)B|X(*:A)Y/K
   10880     AABC
   10881  0: AB
   10882 MK: A
   10883     XXYZ 
   10884  0: XY
   10885 MK: A
   10886     
   10887 /^A(*:A)B|^X(*:A)Y/K
   10888     ** Failers
   10889 No match
   10890     XAQQ
   10891 No match, mark = A
   10892     
   10893 /--- A check on what happens after hitting a mark and them bumping along to
   10894 something that does not even start. Perl reports tags after the failures here, 
   10895 though it does not when the individual letters are made into something 
   10896 more complicated. ---/
   10897 
   10898 /A(*:A)B|XX(*:B)Y/K
   10899     AABC
   10900  0: AB
   10901 MK: A
   10902     XXYZ 
   10903  0: XXY
   10904 MK: B
   10905     ** Failers
   10906 No match
   10907     XAQQ  
   10908 No match
   10909     XAQQXZZ  
   10910 No match
   10911     AXQQQ 
   10912 No match
   10913     AXXQQQ 
   10914 No match
   10915     
   10916 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
   10917 optimizations defeat this. So does the PCRE optimization unless we disable it 
   10918 with \Y. ---/
   10919 
   10920 /(*COMMIT)ABC/
   10921     ABCDEFG
   10922  0: ABC
   10923     ** Failers
   10924 No match
   10925     DEFGABC\Y  
   10926 No match
   10927     
   10928 /--- Repeat some tests with added studying. ---/
   10929 
   10930 /A(*COMMIT)B/+KS
   10931     ACABX
   10932 No match
   10933  
   10934 /A(*THEN)B|A(*THEN)C/KS
   10935     AC
   10936  0: AC
   10937 
   10938 /A(*PRUNE)B|A(*PRUNE)C/KS
   10939     AC
   10940 No match
   10941 
   10942 /^(A(*THEN:A)B|C(*THEN:B)D)/KS
   10943     AB
   10944  0: AB
   10945  1: AB
   10946     CD
   10947  0: CD
   10948  1: CD
   10949     ** Failers
   10950 No match
   10951     AC
   10952 No match
   10953     CB    
   10954 No match, mark = B
   10955 
   10956 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/KS
   10957     AB
   10958  0: AB
   10959  1: AB
   10960     CD
   10961  0: CD
   10962  1: CD
   10963     ** Failers
   10964 No match
   10965     AC
   10966 No match, mark = A
   10967     CB    
   10968 No match, mark = B
   10969 
   10970 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/KS
   10971     AB
   10972  0: AB
   10973  1: AB
   10974     CD 
   10975  0: CD
   10976  1: CD
   10977 
   10978 /A(*PRUNE:A)B/KS
   10979     ACAB
   10980  0: AB
   10981 
   10982 /(*MARK:A)(*PRUNE:B)(C|X)/KS
   10983     C
   10984  0: C
   10985  1: C
   10986 MK: A
   10987     D 
   10988 No match
   10989 
   10990 /(*MARK:A)(*THEN:B)(C|X)/KS
   10991     C
   10992  0: C
   10993  1: C
   10994 MK: A
   10995     D 
   10996 No match
   10997 
   10998 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xKS
   10999     AAAC
   11000 No match
   11001 
   11002 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xKS
   11003     AAAC
   11004 No match
   11005     
   11006 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xKS
   11007     AAAC
   11008 No match
   11009 
   11010 /A(*:A)A+(*SKIP)(B|Z) | AC/xKS
   11011     AAAC
   11012 No match
   11013 
   11014 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xKS
   11015     AAAC
   11016 No match
   11017 
   11018 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xKS
   11019     AAAC
   11020 No match
   11021 
   11022 /A(*:A)B|XX(*:B)Y/KS
   11023     AABC
   11024  0: AB
   11025 MK: A
   11026     XXYZ 
   11027  0: XXY
   11028 MK: B
   11029     ** Failers
   11030 No match
   11031     XAQQ  
   11032 No match
   11033     XAQQXZZ  
   11034 No match
   11035     AXQQQ 
   11036 No match
   11037     AXXQQQ 
   11038 No match
   11039     
   11040 /(*COMMIT)ABC/
   11041     ABCDEFG
   11042  0: ABC
   11043     ** Failers
   11044 No match
   11045     DEFGABC\Y  
   11046 No match
   11047 
   11048 /^(ab (c+(*THEN)cd) | xyz)/x
   11049     abcccd  
   11050 No match
   11051 
   11052 /^(ab (c+(*PRUNE)cd) | xyz)/x
   11053     abcccd  
   11054 No match
   11055 
   11056 /^(ab (c+(*FAIL)cd) | xyz)/x
   11057     abcccd  
   11058 No match
   11059     
   11060 /--- Perl 5.11 gets some of these wrong ---/ 
   11061 
   11062 /(?>.(*ACCEPT))*?5/
   11063     abcde
   11064  0: a
   11065 
   11066 /(.(*ACCEPT))*?5/
   11067     abcde
   11068  0: a
   11069  1: a
   11070 
   11071 /(.(*ACCEPT))5/
   11072     abcde
   11073  0: a
   11074  1: a
   11075 
   11076 /(.(*ACCEPT))*5/
   11077     abcde
   11078  0: a
   11079  1: a
   11080 
   11081 /A\NB./BZ
   11082 ------------------------------------------------------------------
   11083         Bra
   11084         A
   11085         Any
   11086         B
   11087         Any
   11088         Ket
   11089         End
   11090 ------------------------------------------------------------------
   11091     ACBD
   11092  0: ACBD
   11093     *** Failers
   11094 No match
   11095     A\nB
   11096 No match
   11097     ACB\n   
   11098 No match
   11099 
   11100 /A\NB./sBZ
   11101 ------------------------------------------------------------------
   11102         Bra
   11103         A
   11104         Any
   11105         B
   11106         AllAny
   11107         Ket
   11108         End
   11109 ------------------------------------------------------------------
   11110     ACBD
   11111  0: ACBD
   11112     ACB\n 
   11113  0: ACB\x0a
   11114     *** Failers
   11115 No match
   11116     A\nB  
   11117 No match
   11118   
   11119 /A\NB/<crlf>
   11120     A\nB
   11121  0: A\x0aB
   11122     A\rB
   11123  0: A\x0dB
   11124     ** Failers
   11125 No match
   11126     A\r\nB    
   11127 No match
   11128 
   11129 /\R+b/BZ
   11130 ------------------------------------------------------------------
   11131         Bra
   11132         \R++
   11133         b
   11134         Ket
   11135         End
   11136 ------------------------------------------------------------------
   11137 
   11138 /\R+\n/BZ
   11139 ------------------------------------------------------------------
   11140         Bra
   11141         \R+
   11142         \x0a
   11143         Ket
   11144         End
   11145 ------------------------------------------------------------------
   11146 
   11147 /\R+\d/BZ
   11148 ------------------------------------------------------------------
   11149         Bra
   11150         \R++
   11151         \d
   11152         Ket
   11153         End
   11154 ------------------------------------------------------------------
   11155 
   11156 /\d*\R/BZ
   11157 ------------------------------------------------------------------
   11158         Bra
   11159         \d*+
   11160         \R
   11161         Ket
   11162         End
   11163 ------------------------------------------------------------------
   11164 
   11165 /\s*\R/BZ
   11166 ------------------------------------------------------------------
   11167         Bra
   11168         \s*+
   11169         \R
   11170         Ket
   11171         End
   11172 ------------------------------------------------------------------
   11173 
   11174 /-- Perl treats this one differently, not failing the second string. I believe
   11175     that is a bug in Perl. --/
   11176 
   11177 /^((abc|abcx)(*THEN)y|abcd)/
   11178     abcd
   11179  0: abcd
   11180  1: abcd
   11181     *** Failers 
   11182 No match
   11183     abcxy 
   11184 No match
   11185 
   11186 /(?<=abc)def/
   11187     abc\P\P
   11188 Partial match: abc
   11189 
   11190 /abc$/
   11191     abc
   11192  0: abc
   11193     abc\P
   11194  0: abc
   11195     abc\P\P
   11196 Partial match: abc
   11197 
   11198 /abc$/m
   11199     abc
   11200  0: abc
   11201     abc\n
   11202  0: abc
   11203     abc\P\P
   11204 Partial match: abc
   11205     abc\n\P\P 
   11206  0: abc
   11207     abc\P
   11208  0: abc
   11209     abc\n\P
   11210  0: abc
   11211 
   11212 /abc\z/
   11213     abc
   11214  0: abc
   11215     abc\P
   11216  0: abc
   11217     abc\P\P
   11218 Partial match: abc
   11219 
   11220 /abc\Z/
   11221     abc
   11222  0: abc
   11223     abc\P
   11224  0: abc
   11225     abc\P\P
   11226 Partial match: abc
   11227 
   11228 /abc\b/
   11229     abc
   11230  0: abc
   11231     abc\P
   11232  0: abc
   11233     abc\P\P
   11234 Partial match: abc
   11235 
   11236 /abc\B/
   11237     abc
   11238 No match
   11239     abc\P
   11240 Partial match: abc
   11241     abc\P\P
   11242 Partial match: abc
   11243 
   11244 /.+/
   11245     abc\>0
   11246  0: abc
   11247     abc\>1
   11248  0: bc
   11249     abc\>2
   11250  0: c
   11251     abc\>3
   11252 No match
   11253     abc\>4
   11254 Error -24
   11255     abc\>-4 
   11256 Error -24
   11257 
   11258 /^\c/
   11259 Failed: \c must be followed by an ASCII character at offset 3
   11260 
   11261 /(?P<abn>(?P=abn)xxx)/BZ
   11262 ------------------------------------------------------------------
   11263         Bra
   11264         Once
   11265         CBra 1
   11266         \1
   11267         xxx
   11268         Ket
   11269         Ket
   11270         Ket
   11271         End
   11272 ------------------------------------------------------------------
   11273 
   11274 /(a\1z)/BZ
   11275 ------------------------------------------------------------------
   11276         Bra
   11277         Once
   11278         CBra 1
   11279         a
   11280         \1
   11281         z
   11282         Ket
   11283         Ket
   11284         Ket
   11285         End
   11286 ------------------------------------------------------------------
   11287 
   11288 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
   11289 Failed: syntax error in subpattern name (missing terminator) at offset 29
   11290 
   11291 /(?P<abn>(?P=axn)xxx)/BZ
   11292 Failed: reference to non-existent subpattern at offset 15
   11293 
   11294 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
   11295 ------------------------------------------------------------------
   11296         Bra
   11297         CBra 1
   11298         \2
   11299         xxx
   11300         Ket
   11301         CBra 2
   11302         yy
   11303         Ket
   11304         Ket
   11305         End
   11306 ------------------------------------------------------------------
   11307 
   11308 /-- End of testinput2 --/
   11309