"Fossies" - the Fresh Open Source Software Archive

Member "pcre-8.44/testdata/testoutput2" (11 Feb 2020, 292633 Bytes) of package /linux/misc/pcre-8.44.tar.bz2:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "testoutput2": 8.43_vs_8.44.

    1 /-- This set of tests is not Perl-compatible. It checks on special features
    2     of PCRE's API, error diagnostics, and the compiled code of some patterns.
    3     It also checks the non-Perl syntax the PCRE supports (Python, .NET, 
    4     Oniguruma). Finally, there are some tests where PCRE and Perl differ, 
    5     either because PCRE can't be compatible, or there is a possible Perl 
    6     bug.
    7     
    8     NOTE: This is a non-UTF set of tests. When UTF support is needed, use
    9     test 5, and if Unicode Property Support is needed, use test 7. --/
   10     
   11 < forbid 8W 
   12   
   13 /(a)b|/I
   14 Capturing subpattern count = 1
   15 May match empty string
   16 No options
   17 No first char
   18 No need char
   19 
   20 /abc/I
   21 Capturing subpattern count = 0
   22 No options
   23 First char = 'a'
   24 Need char = 'c'
   25     abc
   26  0: abc
   27     defabc
   28  0: abc
   29     \Aabc
   30  0: abc
   31     *** Failers
   32 No match
   33     \Adefabc
   34 No match
   35     ABC
   36 No match
   37 
   38 /^abc/I
   39 Capturing subpattern count = 0
   40 Options: anchored
   41 No first char
   42 No need char
   43     abc
   44  0: abc
   45     \Aabc
   46  0: abc
   47     *** Failers
   48 No match
   49     defabc
   50 No match
   51     \Adefabc
   52 No match
   53 
   54 /a+bc/I
   55 Capturing subpattern count = 0
   56 No options
   57 First char = 'a'
   58 Need char = 'c'
   59 
   60 /a*bc/I
   61 Capturing subpattern count = 0
   62 No options
   63 No first char
   64 Need char = 'c'
   65 
   66 /a{3}bc/I
   67 Capturing subpattern count = 0
   68 No options
   69 First char = 'a'
   70 Need char = 'c'
   71 
   72 /(abc|a+z)/I
   73 Capturing subpattern count = 1
   74 No options
   75 First char = 'a'
   76 No need char
   77 
   78 /^abc$/I
   79 Capturing subpattern count = 0
   80 Options: anchored
   81 No first char
   82 No need char
   83     abc
   84  0: abc
   85     *** Failers
   86 No match
   87     def\nabc
   88 No match
   89 
   90 /ab\idef/X
   91 Failed: unrecognized character follows \ at offset 3
   92 
   93 /(?X)ab\idef/X
   94 Failed: unrecognized character follows \ at offset 7
   95 
   96 /x{5,4}/
   97 Failed: numbers out of order in {} quantifier at offset 5
   98 
   99 /z{65536}/
  100 Failed: number too big in {} quantifier at offset 7
  101 
  102 /[abcd/
  103 Failed: missing terminating ] for character class at offset 5
  104 
  105 /(?X)[\B]/
  106 Failed: invalid escape sequence in character class at offset 6
  107 
  108 /(?X)[\R]/
  109 Failed: invalid escape sequence in character class at offset 6
  110 
  111 /(?X)[\X]/
  112 Failed: invalid escape sequence in character class at offset 6
  113 
  114 /[\B]/BZ
  115 ------------------------------------------------------------------
  116         Bra
  117         B
  118         Ket
  119         End
  120 ------------------------------------------------------------------
  121 
  122 /[\R]/BZ
  123 ------------------------------------------------------------------
  124         Bra
  125         R
  126         Ket
  127         End
  128 ------------------------------------------------------------------
  129 
  130 /[\X]/BZ
  131 ------------------------------------------------------------------
  132         Bra
  133         X
  134         Ket
  135         End
  136 ------------------------------------------------------------------
  137 
  138 /[z-a]/
  139 Failed: range out of order in character class at offset 3
  140 
  141 /^*/
  142 Failed: nothing to repeat at offset 1
  143 
  144 /(abc/
  145 Failed: missing ) at offset 4
  146 
  147 /(?# abc/
  148 Failed: missing ) after comment at offset 7
  149 
  150 /(?z)abc/
  151 Failed: unrecognized character after (? or (?- at offset 2
  152 
  153 /.*b/I
  154 Capturing subpattern count = 0
  155 No options
  156 First char at start or follows newline
  157 Need char = 'b'
  158 
  159 /.*?b/I
  160 Capturing subpattern count = 0
  161 No options
  162 First char at start or follows newline
  163 Need char = 'b'
  164 
  165 /cat|dog|elephant/I
  166 Capturing subpattern count = 0
  167 No options
  168 No first char
  169 No need char
  170     this sentence eventually mentions a cat
  171  0: cat
  172     this sentences rambles on and on for a while and then reaches elephant
  173  0: elephant
  174 
  175 /cat|dog|elephant/IS
  176 Capturing subpattern count = 0
  177 No options
  178 No first char
  179 No need char
  180 Subject length lower bound = 3
  181 Starting chars: c d e 
  182     this sentence eventually mentions a cat
  183  0: cat
  184     this sentences rambles on and on for a while and then reaches elephant
  185  0: elephant
  186 
  187 /cat|dog|elephant/IiS
  188 Capturing subpattern count = 0
  189 Options: caseless
  190 No first char
  191 No need char
  192 Subject length lower bound = 3
  193 Starting chars: C D E c d e 
  194     this sentence eventually mentions a CAT cat
  195  0: CAT
  196     this sentences rambles on and on for a while to elephant ElePhant
  197  0: elephant
  198 
  199 /a|[bcd]/IS
  200 Capturing subpattern count = 0
  201 No options
  202 No first char
  203 No need char
  204 Subject length lower bound = 1
  205 Starting chars: a b c d 
  206 
  207 /(a|[^\dZ])/IS
  208 Capturing subpattern count = 1
  209 No options
  210 No first char
  211 No need char
  212 Subject length lower bound = 1
  213 Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
  214   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
  215   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
  216   ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d 
  217   e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 
  218   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
  219   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
  220   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
  221   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
  222   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
  223   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
  224   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
  225   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
  226   \xfc \xfd \xfe \xff 
  227 
  228 /(a|b)*[\s]/IS
  229 Capturing subpattern count = 1
  230 No options
  231 No first char
  232 No need char
  233 Subject length lower bound = 1
  234 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 a b 
  235 
  236 /(ab\2)/
  237 Failed: reference to non-existent subpattern at offset 6
  238 
  239 /{4,5}abc/
  240 Failed: nothing to repeat at offset 4
  241 
  242 /(a)(b)(c)\2/I
  243 Capturing subpattern count = 3
  244 Max back reference = 2
  245 No options
  246 First char = 'a'
  247 Need char = 'c'
  248     abcb
  249  0: abcb
  250  1: a
  251  2: b
  252  3: c
  253     \O0abcb
  254 Matched, but too many substrings
  255     \O3abcb
  256 Matched, but too many substrings
  257  0: abcb
  258     \O6abcb
  259 Matched, but too many substrings
  260  0: abcb
  261  1: a
  262     \O9abcb
  263 Matched, but too many substrings
  264  0: abcb
  265  1: a
  266  2: b
  267     \O12abcb
  268  0: abcb
  269  1: a
  270  2: b
  271  3: c
  272 
  273 /(a)bc|(a)(b)\2/I
  274 Capturing subpattern count = 3
  275 Max back reference = 2
  276 No options
  277 First char = 'a'
  278 No need char
  279     abc
  280  0: abc
  281  1: a
  282     \O0abc
  283 Matched, but too many substrings
  284     \O3abc
  285 Matched, but too many substrings
  286  0: abc
  287     \O6abc
  288  0: abc
  289  1: a
  290     aba
  291  0: aba
  292  1: <unset>
  293  2: a
  294  3: b
  295     \O0aba
  296 Matched, but too many substrings
  297     \O3aba
  298 Matched, but too many substrings
  299  0: aba
  300     \O6aba
  301 Matched, but too many substrings
  302  0: aba
  303  1: <unset>
  304     \O9aba
  305 Matched, but too many substrings
  306  0: aba
  307  1: <unset>
  308  2: a
  309     \O12aba
  310  0: aba
  311  1: <unset>
  312  2: a
  313  3: b
  314 
  315 /abc$/IE
  316 Capturing subpattern count = 0
  317 Options: dollar_endonly
  318 First char = 'a'
  319 Need char = 'c'
  320     abc
  321  0: abc
  322     *** Failers
  323 No match
  324     abc\n
  325 No match
  326     abc\ndef
  327 No match
  328 
  329 /(a)(b)(c)(d)(e)\6/
  330 Failed: reference to non-existent subpattern at offset 17
  331 
  332 /the quick brown fox/I
  333 Capturing subpattern count = 0
  334 No options
  335 First char = 't'
  336 Need char = 'x'
  337     the quick brown fox
  338  0: the quick brown fox
  339     this is a line with the quick brown fox
  340  0: the quick brown fox
  341 
  342 /the quick brown fox/IA
  343 Capturing subpattern count = 0
  344 Options: anchored
  345 No first char
  346 No need char
  347     the quick brown fox
  348  0: the quick brown fox
  349     *** Failers
  350 No match
  351     this is a line with the quick brown fox
  352 No match
  353 
  354 /ab(?z)cd/
  355 Failed: unrecognized character after (? or (?- at offset 4
  356 
  357 /^abc|def/I
  358 Capturing subpattern count = 0
  359 No options
  360 No first char
  361 No need char
  362     abcdef
  363  0: abc
  364     abcdef\B
  365  0: def
  366 
  367 /.*((abc)$|(def))/I
  368 Capturing subpattern count = 3
  369 No options
  370 First char at start or follows newline
  371 No need char
  372     defabc
  373  0: defabc
  374  1: abc
  375  2: abc
  376     \Zdefabc
  377  0: def
  378  1: def
  379  2: <unset>
  380  3: def
  381 
  382 /)/
  383 Failed: unmatched parentheses at offset 0
  384 
  385 /a[]b/
  386 Failed: missing terminating ] for character class at offset 4
  387 
  388 /[^aeiou ]{3,}/I
  389 Capturing subpattern count = 0
  390 No options
  391 No first char
  392 No need char
  393     co-processors, and for
  394  0: -pr
  395 
  396 /<.*>/I
  397 Capturing subpattern count = 0
  398 No options
  399 First char = '<'
  400 Need char = '>'
  401     abc<def>ghi<klm>nop
  402  0: <def>ghi<klm>
  403 
  404 /<.*?>/I
  405 Capturing subpattern count = 0
  406 No options
  407 First char = '<'
  408 Need char = '>'
  409     abc<def>ghi<klm>nop
  410  0: <def>
  411 
  412 /<.*>/IU
  413 Capturing subpattern count = 0
  414 Options: ungreedy
  415 First char = '<'
  416 Need char = '>'
  417     abc<def>ghi<klm>nop
  418  0: <def>
  419 
  420 /(?U)<.*>/I
  421 Capturing subpattern count = 0
  422 No options
  423 First char = '<'
  424 Need char = '>'
  425     abc<def>ghi<klm>nop
  426  0: <def>
  427 
  428 /<.*?>/IU
  429 Capturing subpattern count = 0
  430 Options: ungreedy
  431 First char = '<'
  432 Need char = '>'
  433     abc<def>ghi<klm>nop
  434  0: <def>ghi<klm>
  435 
  436 /={3,}/IU
  437 Capturing subpattern count = 0
  438 Options: ungreedy
  439 First char = '='
  440 Need char = '='
  441     abc========def
  442  0: ===
  443 
  444 /(?U)={3,}?/I
  445 Capturing subpattern count = 0
  446 No options
  447 First char = '='
  448 Need char = '='
  449     abc========def
  450  0: ========
  451 
  452 /(?<!bar|cattle)foo/I
  453 Capturing subpattern count = 0
  454 Max lookbehind = 6
  455 No options
  456 First char = 'f'
  457 Need char = 'o'
  458     foo
  459  0: foo
  460     catfoo
  461  0: foo
  462     *** Failers
  463 No match
  464     the barfoo
  465 No match
  466     and cattlefoo
  467 No match
  468 
  469 /(?<=a+)b/
  470 Failed: lookbehind assertion is not fixed length at offset 6
  471 
  472 /(?<=aaa|b{0,3})b/
  473 Failed: lookbehind assertion is not fixed length at offset 14
  474 
  475 /(?<!(foo)a\1)bar/
  476 Failed: lookbehind assertion is not fixed length at offset 12
  477 
  478 /(?i)abc/I
  479 Capturing subpattern count = 0
  480 No options
  481 First char = 'a' (caseless)
  482 Need char = 'c' (caseless)
  483 
  484 /(a|(?m)a)/I
  485 Capturing subpattern count = 1
  486 No options
  487 First char = 'a'
  488 No need char
  489 
  490 /(?i)^1234/I
  491 Capturing subpattern count = 0
  492 Options: anchored
  493 No first char
  494 No need char
  495 
  496 /(^b|(?i)^d)/I
  497 Capturing subpattern count = 1
  498 Options: anchored
  499 No first char
  500 No need char
  501 
  502 /(?s).*/I
  503 Capturing subpattern count = 0
  504 May match empty string
  505 Options: anchored
  506 No first char
  507 No need char
  508 
  509 /[abcd]/IS
  510 Capturing subpattern count = 0
  511 No options
  512 No first char
  513 No need char
  514 Subject length lower bound = 1
  515 Starting chars: a b c d 
  516 
  517 /(?i)[abcd]/IS
  518 Capturing subpattern count = 0
  519 No options
  520 No first char
  521 No need char
  522 Subject length lower bound = 1
  523 Starting chars: A B C D a b c d 
  524 
  525 /(?m)[xy]|(b|c)/IS
  526 Capturing subpattern count = 1
  527 No options
  528 No first char
  529 No need char
  530 Subject length lower bound = 1
  531 Starting chars: b c x y 
  532 
  533 /(^a|^b)/Im
  534 Capturing subpattern count = 1
  535 Options: multiline
  536 First char at start or follows newline
  537 No need char
  538 
  539 /(?i)(^a|^b)/Im
  540 Capturing subpattern count = 1
  541 Options: multiline
  542 First char at start or follows newline
  543 No need char
  544 
  545 /(a)(?(1)a|b|c)/
  546 Failed: conditional group contains more than two branches at offset 13
  547 
  548 /(?(?=a)a|b|c)/
  549 Failed: conditional group contains more than two branches at offset 12
  550 
  551 /(?(1a)/
  552 Failed: malformed number or name after (?( at offset 4
  553 
  554 /(?(1a))/
  555 Failed: malformed number or name after (?( at offset 4
  556 
  557 /(?(?i))/
  558 Failed: assertion expected after (?( or (?(?C) at offset 3
  559 
  560 /(?(abc))/
  561 Failed: reference to non-existent subpattern at offset 7
  562 
  563 /(?(?<ab))/
  564 Failed: assertion expected after (?( or (?(?C) at offset 3
  565 
  566 /((?s)blah)\s+\1/I
  567 Capturing subpattern count = 1
  568 Max back reference = 1
  569 No options
  570 First char = 'b'
  571 Need char = 'h'
  572 
  573 /((?i)blah)\s+\1/I
  574 Capturing subpattern count = 1
  575 Max back reference = 1
  576 No options
  577 First char = 'b' (caseless)
  578 Need char = 'h' (caseless)
  579 
  580 /((?i)b)/IDZS
  581 ------------------------------------------------------------------
  582         Bra
  583         CBra 1
  584      /i b
  585         Ket
  586         Ket
  587         End
  588 ------------------------------------------------------------------
  589 Capturing subpattern count = 1
  590 No options
  591 First char = 'b' (caseless)
  592 No need char
  593 Subject length lower bound = 1
  594 No starting char list
  595 
  596 /(a*b|(?i:c*(?-i)d))/IS
  597 Capturing subpattern count = 1
  598 No options
  599 No first char
  600 No need char
  601 Subject length lower bound = 1
  602 Starting chars: C a b c d 
  603 
  604 /a$/I
  605 Capturing subpattern count = 0
  606 No options
  607 First char = 'a'
  608 No need char
  609     a
  610  0: a
  611     a\n
  612  0: a
  613     *** Failers
  614 No match
  615     \Za
  616 No match
  617     \Za\n
  618 No match
  619 
  620 /a$/Im
  621 Capturing subpattern count = 0
  622 Options: multiline
  623 First char = 'a'
  624 No need char
  625     a
  626  0: a
  627     a\n
  628  0: a
  629     \Za\n
  630  0: a
  631     *** Failers
  632 No match
  633     \Za
  634 No match
  635 
  636 /\Aabc/Im
  637 Capturing subpattern count = 0
  638 Max lookbehind = 1
  639 Options: anchored multiline
  640 No first char
  641 No need char
  642 
  643 /^abc/Im
  644 Capturing subpattern count = 0
  645 Options: multiline
  646 First char at start or follows newline
  647 Need char = 'c'
  648 
  649 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
  650 Capturing subpattern count = 5
  651 Options: anchored
  652 No first char
  653 No need char
  654   aaaaabbbbbcccccdef
  655  0: aaaaabbbbbcccccdef
  656  1: aaaaabbbbbcccccdef
  657  2: aaaaa
  658  3: b
  659  4: bbbbccccc
  660  5: def
  661 
  662 /(?<=foo)[ab]/IS
  663 Capturing subpattern count = 0
  664 Max lookbehind = 3
  665 No options
  666 No first char
  667 No need char
  668 Subject length lower bound = 1
  669 Starting chars: a b 
  670 
  671 /(?<!foo)(alpha|omega)/IS
  672 Capturing subpattern count = 1
  673 Max lookbehind = 3
  674 No options
  675 No first char
  676 Need char = 'a'
  677 Subject length lower bound = 5
  678 Starting chars: a o 
  679 
  680 /(?!alphabet)[ab]/IS
  681 Capturing subpattern count = 0
  682 No options
  683 No first char
  684 No need char
  685 Subject length lower bound = 1
  686 Starting chars: a b 
  687 
  688 /(?<=foo\n)^bar/Im
  689 Capturing subpattern count = 0
  690 Max lookbehind = 4
  691 Contains explicit CR or LF match
  692 Options: multiline
  693 No first char
  694 Need char = 'r'
  695     foo\nbarbar
  696  0: bar
  697     ***Failers
  698 No match
  699     rhubarb
  700 No match
  701     barbell
  702 No match
  703     abc\nbarton
  704 No match
  705 
  706 /^(?<=foo\n)bar/Im
  707 Capturing subpattern count = 0
  708 Max lookbehind = 4
  709 Contains explicit CR or LF match
  710 Options: multiline
  711 First char at start or follows newline
  712 Need char = 'r'
  713     foo\nbarbar
  714  0: bar
  715     ***Failers
  716 No match
  717     rhubarb
  718 No match
  719     barbell
  720 No match
  721     abc\nbarton
  722 No match
  723 
  724 /(?>^abc)/Im
  725 Capturing subpattern count = 0
  726 Options: multiline
  727 First char at start or follows newline
  728 Need char = 'c'
  729     abc
  730  0: abc
  731     def\nabc
  732  0: abc
  733     *** Failers
  734 No match
  735     defabc
  736 No match
  737 
  738 /(?<=ab(c+)d)ef/
  739 Failed: lookbehind assertion is not fixed length at offset 11
  740 
  741 /(?<=ab(?<=c+)d)ef/
  742 Failed: lookbehind assertion is not fixed length at offset 12
  743 
  744 /(?<=ab(c|de)f)g/
  745 Failed: lookbehind assertion is not fixed length at offset 13
  746 
  747 /The next three are in testinput2 because they have variable length branches/
  748 
  749 /(?<=bullock|donkey)-cart/I
  750 Capturing subpattern count = 0
  751 Max lookbehind = 7
  752 No options
  753 First char = '-'
  754 Need char = 't'
  755     the bullock-cart
  756  0: -cart
  757     a donkey-cart race
  758  0: -cart
  759     *** Failers
  760 No match
  761     cart
  762 No match
  763     horse-and-cart
  764 No match
  765 
  766 /(?<=ab(?i)x|y|z)/I
  767 Capturing subpattern count = 0
  768 Max lookbehind = 3
  769 May match empty string
  770 No options
  771 No first char
  772 No need char
  773 
  774 /(?>.*)(?<=(abcd)|(xyz))/I
  775 Capturing subpattern count = 2
  776 Max lookbehind = 4
  777 May match empty string
  778 No options
  779 No first char
  780 No need char
  781     alphabetabcd
  782  0: alphabetabcd
  783  1: abcd
  784     endingxyz
  785  0: endingxyz
  786  1: <unset>
  787  2: xyz
  788 
  789 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
  790 Capturing subpattern count = 0
  791 Max lookbehind = 4
  792 No options
  793 First char = 'Z'
  794 Need char = 'Z'
  795     abxyZZ
  796  0: ZZ
  797     abXyZZ
  798  0: ZZ
  799     ZZZ
  800  0: ZZ
  801     zZZ
  802  0: ZZ
  803     bZZ
  804  0: ZZ
  805     BZZ
  806  0: ZZ
  807     *** Failers
  808 No match
  809     ZZ
  810 No match
  811     abXYZZ
  812 No match
  813     zzz
  814 No match
  815     bzz
  816 No match
  817 
  818 /(?<!(foo)a)bar/I
  819 Capturing subpattern count = 1
  820 Max lookbehind = 4
  821 No options
  822 First char = 'b'
  823 Need char = 'r'
  824     bar
  825  0: bar
  826     foobbar
  827  0: bar
  828     *** Failers
  829 No match
  830     fooabar
  831 No match
  832 
  833 /This one is here because Perl behaves differently; see also the following/I
  834 Capturing subpattern count = 0
  835 No options
  836 First char = 'T'
  837 Need char = 'g'
  838 
  839 /^(a\1?){4}$/I
  840 Capturing subpattern count = 1
  841 Max back reference = 1
  842 Options: anchored
  843 No first char
  844 No need char
  845     aaaa
  846 No match
  847     aaaaaa
  848 No match
  849     
  850 /Perl does not fail these two for the final subjects. Neither did PCRE until/
  851 /release 8.01. The problem is in backtracking into a subpattern that contains/
  852 No match
  853 /a recursive reference to itself. PCRE has now made these into atomic patterns./
  854 No match
  855 
  856 /^(xa|=?\1a){2}$/
  857     xa=xaa
  858  0: xa=xaa
  859  1: =xaa
  860     ** Failers
  861 No match
  862     xa=xaaa
  863 No match
  864 
  865 /^(xa|=?\1a)+$/
  866     xa=xaa
  867  0: xa=xaa
  868  1: =xaa
  869     ** Failers
  870 No match
  871     xa=xaaa
  872 No match
  873 
  874 /These are syntax tests from Perl 5.005/I
  875 Capturing subpattern count = 0
  876 No options
  877 First char = 'T'
  878 Need char = '5'
  879 
  880 /a[b-a]/
  881 Failed: range out of order in character class at offset 4
  882 
  883 /a[]b/
  884 Failed: missing terminating ] for character class at offset 4
  885 
  886 /a[/
  887 Failed: missing terminating ] for character class at offset 2
  888 
  889 /*a/
  890 Failed: nothing to repeat at offset 0
  891 
  892 /(*)b/
  893 Failed: nothing to repeat at offset 1
  894 
  895 /abc)/
  896 Failed: unmatched parentheses at offset 3
  897 
  898 /(abc/
  899 Failed: missing ) at offset 4
  900 
  901 /a**/
  902 Failed: nothing to repeat at offset 2
  903 
  904 /)(/
  905 Failed: unmatched parentheses at offset 0
  906 
  907 /\1/
  908 Failed: reference to non-existent subpattern at offset 2
  909 
  910 /\2/
  911 Failed: reference to non-existent subpattern at offset 2
  912 
  913 /(a)|\2/
  914 Failed: reference to non-existent subpattern at offset 6
  915 
  916 /a[b-a]/Ii
  917 Failed: range out of order in character class at offset 4
  918 
  919 /a[]b/Ii
  920 Failed: missing terminating ] for character class at offset 4
  921 
  922 /a[/Ii
  923 Failed: missing terminating ] for character class at offset 2
  924 
  925 /*a/Ii
  926 Failed: nothing to repeat at offset 0
  927 
  928 /(*)b/Ii
  929 Failed: nothing to repeat at offset 1
  930 
  931 /abc)/Ii
  932 Failed: unmatched parentheses at offset 3
  933 
  934 /(abc/Ii
  935 Failed: missing ) at offset 4
  936 
  937 /a**/Ii
  938 Failed: nothing to repeat at offset 2
  939 
  940 /)(/Ii
  941 Failed: unmatched parentheses at offset 0
  942 
  943 /:(?:/
  944 Failed: missing ) at offset 4
  945 
  946 /(?<%)b/
  947 Failed: unrecognized character after (?< at offset 3
  948 
  949 /a(?{)b/
  950 Failed: unrecognized character after (? or (?- at offset 3
  951 
  952 /a(?{{})b/
  953 Failed: unrecognized character after (? or (?- at offset 3
  954 
  955 /a(?{}})b/
  956 Failed: unrecognized character after (? or (?- at offset 3
  957 
  958 /a(?{"{"})b/
  959 Failed: unrecognized character after (? or (?- at offset 3
  960 
  961 /a(?{"{"}})b/
  962 Failed: unrecognized character after (? or (?- at offset 3
  963 
  964 /(?(1?)a|b)/
  965 Failed: malformed number or name after (?( at offset 4
  966 
  967 /[a[:xyz:/
  968 Failed: missing terminating ] for character class at offset 8
  969 
  970 /(?<=x+)y/
  971 Failed: lookbehind assertion is not fixed length at offset 6
  972 
  973 /a{37,17}/
  974 Failed: numbers out of order in {} quantifier at offset 7
  975 
  976 /abc/\
  977 Failed: \ at end of pattern at offset 4
  978 
  979 /abc/\i
  980 Failed: \ at end of pattern at offset 4
  981 
  982 /(a)bc(d)/I
  983 Capturing subpattern count = 2
  984 No options
  985 First char = 'a'
  986 Need char = 'd'
  987     abcd
  988  0: abcd
  989  1: a
  990  2: d
  991     abcd\C2
  992  0: abcd
  993  1: a
  994  2: d
  995  2C d (1)
  996     abcd\C5
  997  0: abcd
  998  1: a
  999  2: d
 1000 copy substring 5 failed -7
 1001 
 1002 /(.{20})/I
 1003 Capturing subpattern count = 1
 1004 No options
 1005 No first char
 1006 No need char
 1007     abcdefghijklmnopqrstuvwxyz
 1008  0: abcdefghijklmnopqrst
 1009  1: abcdefghijklmnopqrst
 1010     abcdefghijklmnopqrstuvwxyz\C1
 1011  0: abcdefghijklmnopqrst
 1012  1: abcdefghijklmnopqrst
 1013  1C abcdefghijklmnopqrst (20)
 1014     abcdefghijklmnopqrstuvwxyz\G1
 1015  0: abcdefghijklmnopqrst
 1016  1: abcdefghijklmnopqrst
 1017  1G abcdefghijklmnopqrst (20)
 1018 
 1019 /(.{15})/I
 1020 Capturing subpattern count = 1
 1021 No options
 1022 No first char
 1023 No need char
 1024     abcdefghijklmnopqrstuvwxyz
 1025  0: abcdefghijklmno
 1026  1: abcdefghijklmno
 1027     abcdefghijklmnopqrstuvwxyz\C1\G1
 1028  0: abcdefghijklmno
 1029  1: abcdefghijklmno
 1030  1C abcdefghijklmno (15)
 1031  1G abcdefghijklmno (15)
 1032 
 1033 /(.{16})/I
 1034 Capturing subpattern count = 1
 1035 No options
 1036 No first char
 1037 No need char
 1038     abcdefghijklmnopqrstuvwxyz
 1039  0: abcdefghijklmnop
 1040  1: abcdefghijklmnop
 1041     abcdefghijklmnopqrstuvwxyz\C1\G1\L
 1042  0: abcdefghijklmnop
 1043  1: abcdefghijklmnop
 1044  1C abcdefghijklmnop (16)
 1045  1G abcdefghijklmnop (16)
 1046  0L abcdefghijklmnop
 1047  1L abcdefghijklmnop
 1048 
 1049 /^(a|(bc))de(f)/I
 1050 Capturing subpattern count = 3
 1051 Options: anchored
 1052 No first char
 1053 No need char
 1054     adef\G1\G2\G3\G4\L
 1055  0: adef
 1056  1: a
 1057  2: <unset>
 1058  3: f
 1059  1G a (1)
 1060  2G  (0)
 1061  3G f (1)
 1062 get substring 4 failed -7
 1063  0L adef
 1064  1L a
 1065  2L 
 1066  3L f
 1067     bcdef\G1\G2\G3\G4\L
 1068  0: bcdef
 1069  1: bc
 1070  2: bc
 1071  3: f
 1072  1G bc (2)
 1073  2G bc (2)
 1074  3G f (1)
 1075 get substring 4 failed -7
 1076  0L bcdef
 1077  1L bc
 1078  2L bc
 1079  3L f
 1080     adefghijk\C0
 1081  0: adef
 1082  1: a
 1083  2: <unset>
 1084  3: f
 1085  0C adef (4)
 1086 
 1087 /^abc\00def/I
 1088 Capturing subpattern count = 0
 1089 Options: anchored
 1090 No first char
 1091 No need char
 1092     abc\00def\L\C0
 1093  0: abc\x00def
 1094  0C abc\x00def (7)
 1095  0L abc
 1096 
 1097 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
 1098 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
 1099 )?)?)?)?)?)?)?)?)?otherword/I
 1100 Capturing subpattern count = 8
 1101 Contains explicit CR or LF match
 1102 No options
 1103 First char = 'w'
 1104 Need char = 'd'
 1105 
 1106 /.*X/IDZ
 1107 ------------------------------------------------------------------
 1108         Bra
 1109         Any*
 1110         X
 1111         Ket
 1112         End
 1113 ------------------------------------------------------------------
 1114 Capturing subpattern count = 0
 1115 No options
 1116 First char at start or follows newline
 1117 Need char = 'X'
 1118 
 1119 /.*X/IDZs
 1120 ------------------------------------------------------------------
 1121         Bra
 1122         AllAny*
 1123         X
 1124         Ket
 1125         End
 1126 ------------------------------------------------------------------
 1127 Capturing subpattern count = 0
 1128 Options: anchored dotall
 1129 No first char
 1130 Need char = 'X'
 1131 
 1132 /(.*X|^B)/IDZ
 1133 ------------------------------------------------------------------
 1134         Bra
 1135         CBra 1
 1136         Any*
 1137         X
 1138         Alt
 1139         ^
 1140         B
 1141         Ket
 1142         Ket
 1143         End
 1144 ------------------------------------------------------------------
 1145 Capturing subpattern count = 1
 1146 No options
 1147 First char at start or follows newline
 1148 No need char
 1149 
 1150 /(.*X|^B)/IDZs
 1151 ------------------------------------------------------------------
 1152         Bra
 1153         CBra 1
 1154         AllAny*
 1155         X
 1156         Alt
 1157         ^
 1158         B
 1159         Ket
 1160         Ket
 1161         End
 1162 ------------------------------------------------------------------
 1163 Capturing subpattern count = 1
 1164 Options: anchored dotall
 1165 No first char
 1166 No need char
 1167 
 1168 /(?s)(.*X|^B)/IDZ
 1169 ------------------------------------------------------------------
 1170         Bra
 1171         CBra 1
 1172         AllAny*
 1173         X
 1174         Alt
 1175         ^
 1176         B
 1177         Ket
 1178         Ket
 1179         End
 1180 ------------------------------------------------------------------
 1181 Capturing subpattern count = 1
 1182 Options: anchored
 1183 No first char
 1184 No need char
 1185 
 1186 /(?s:.*X|^B)/IDZ
 1187 ------------------------------------------------------------------
 1188         Bra
 1189         Bra
 1190         AllAny*
 1191         X
 1192         Alt
 1193         ^
 1194         B
 1195         Ket
 1196         Ket
 1197         End
 1198 ------------------------------------------------------------------
 1199 Capturing subpattern count = 0
 1200 Options: anchored
 1201 No first char
 1202 No need char
 1203 
 1204 /\Biss\B/I+
 1205 Capturing subpattern count = 0
 1206 Max lookbehind = 1
 1207 No options
 1208 First char = 'i'
 1209 Need char = 's'
 1210     Mississippi
 1211  0: iss
 1212  0+ issippi
 1213 
 1214 /iss/IG+
 1215 Capturing subpattern count = 0
 1216 No options
 1217 First char = 'i'
 1218 Need char = 's'
 1219     Mississippi
 1220  0: iss
 1221  0+ issippi
 1222  0: iss
 1223  0+ ippi
 1224 
 1225 /\Biss\B/IG+
 1226 Capturing subpattern count = 0
 1227 Max lookbehind = 1
 1228 No options
 1229 First char = 'i'
 1230 Need char = 's'
 1231     Mississippi
 1232  0: iss
 1233  0+ issippi
 1234 
 1235 /\Biss\B/Ig+
 1236 Capturing subpattern count = 0
 1237 Max lookbehind = 1
 1238 No options
 1239 First char = 'i'
 1240 Need char = 's'
 1241     Mississippi
 1242  0: iss
 1243  0+ issippi
 1244  0: iss
 1245  0+ ippi
 1246     *** Failers
 1247 No match
 1248     Mississippi\A
 1249 No match
 1250 
 1251 /(?<=[Ms])iss/Ig+
 1252 Capturing subpattern count = 0
 1253 Max lookbehind = 1
 1254 No options
 1255 First char = 'i'
 1256 Need char = 's'
 1257     Mississippi
 1258  0: iss
 1259  0+ issippi
 1260  0: iss
 1261  0+ ippi
 1262 
 1263 /(?<=[Ms])iss/IG+
 1264 Capturing subpattern count = 0
 1265 Max lookbehind = 1
 1266 No options
 1267 First char = 'i'
 1268 Need char = 's'
 1269     Mississippi
 1270  0: iss
 1271  0+ issippi
 1272 
 1273 /^iss/Ig+
 1274 Capturing subpattern count = 0
 1275 Options: anchored
 1276 No first char
 1277 No need char
 1278     ississippi
 1279  0: iss
 1280  0+ issippi
 1281 
 1282 /.*iss/Ig+
 1283 Capturing subpattern count = 0
 1284 No options
 1285 First char at start or follows newline
 1286 Need char = 's'
 1287     abciss\nxyzisspqr
 1288  0: abciss
 1289  0+ \x0axyzisspqr
 1290  0: xyziss
 1291  0+ pqr
 1292 
 1293 /.i./I+g
 1294 Capturing subpattern count = 0
 1295 No options
 1296 No first char
 1297 Need char = 'i'
 1298     Mississippi
 1299  0: Mis
 1300  0+ sissippi
 1301  0: sis
 1302  0+ sippi
 1303  0: sip
 1304  0+ pi
 1305     Mississippi\A
 1306  0: Mis
 1307  0+ sissippi
 1308  0: sis
 1309  0+ sippi
 1310  0: sip
 1311  0+ pi
 1312     Missouri river
 1313  0: Mis
 1314  0+ souri river
 1315  0: ri 
 1316  0+ river
 1317  0: riv
 1318  0+ er
 1319     Missouri river\A
 1320  0: Mis
 1321  0+ souri river
 1322 
 1323 /^.is/I+g
 1324 Capturing subpattern count = 0
 1325 Options: anchored
 1326 No first char
 1327 No need char
 1328     Mississippi
 1329  0: Mis
 1330  0+ sissippi
 1331 
 1332 /^ab\n/Ig+
 1333 Capturing subpattern count = 0
 1334 Contains explicit CR or LF match
 1335 Options: anchored
 1336 No first char
 1337 No need char
 1338     ab\nab\ncd
 1339  0: ab\x0a
 1340  0+ ab\x0acd
 1341 
 1342 /^ab\n/Img+
 1343 Capturing subpattern count = 0
 1344 Contains explicit CR or LF match
 1345 Options: multiline
 1346 First char at start or follows newline
 1347 Need char = \x0a
 1348     ab\nab\ncd
 1349  0: ab\x0a
 1350  0+ ab\x0acd
 1351  0: ab\x0a
 1352  0+ cd
 1353 
 1354 /abc/I
 1355 Capturing subpattern count = 0
 1356 No options
 1357 First char = 'a'
 1358 Need char = 'c'
 1359 
 1360 /abc|bac/I
 1361 Capturing subpattern count = 0
 1362 No options
 1363 No first char
 1364 Need char = 'c'
 1365 
 1366 /(abc|bac)/I
 1367 Capturing subpattern count = 1
 1368 No options
 1369 No first char
 1370 Need char = 'c'
 1371 
 1372 /(abc|(c|dc))/I
 1373 Capturing subpattern count = 2
 1374 No options
 1375 No first char
 1376 Need char = 'c'
 1377 
 1378 /(abc|(d|de)c)/I
 1379 Capturing subpattern count = 2
 1380 No options
 1381 No first char
 1382 Need char = 'c'
 1383 
 1384 /a*/I
 1385 Capturing subpattern count = 0
 1386 May match empty string
 1387 No options
 1388 No first char
 1389 No need char
 1390 
 1391 /a+/I
 1392 Capturing subpattern count = 0
 1393 No options
 1394 First char = 'a'
 1395 No need char
 1396 
 1397 /(baa|a+)/I
 1398 Capturing subpattern count = 1
 1399 No options
 1400 No first char
 1401 Need char = 'a'
 1402 
 1403 /a{0,3}/I
 1404 Capturing subpattern count = 0
 1405 May match empty string
 1406 No options
 1407 No first char
 1408 No need char
 1409 
 1410 /baa{3,}/I
 1411 Capturing subpattern count = 0
 1412 No options
 1413 First char = 'b'
 1414 Need char = 'a'
 1415 
 1416 /"([^\\"]+|\\.)*"/I
 1417 Capturing subpattern count = 1
 1418 No options
 1419 First char = '"'
 1420 Need char = '"'
 1421 
 1422 /(abc|ab[cd])/I
 1423 Capturing subpattern count = 1
 1424 No options
 1425 First char = 'a'
 1426 No need char
 1427 
 1428 /(a|.)/I
 1429 Capturing subpattern count = 1
 1430 No options
 1431 No first char
 1432 No need char
 1433 
 1434 /a|ba|\w/I
 1435 Capturing subpattern count = 0
 1436 No options
 1437 No first char
 1438 No need char
 1439 
 1440 /abc(?=pqr)/I
 1441 Capturing subpattern count = 0
 1442 No options
 1443 First char = 'a'
 1444 Need char = 'r'
 1445 
 1446 /...(?<=abc)/I
 1447 Capturing subpattern count = 0
 1448 Max lookbehind = 3
 1449 No options
 1450 No first char
 1451 No need char
 1452 
 1453 /abc(?!pqr)/I
 1454 Capturing subpattern count = 0
 1455 No options
 1456 First char = 'a'
 1457 Need char = 'c'
 1458 
 1459 /ab./I
 1460 Capturing subpattern count = 0
 1461 No options
 1462 First char = 'a'
 1463 Need char = 'b'
 1464 
 1465 /ab[xyz]/I
 1466 Capturing subpattern count = 0
 1467 No options
 1468 First char = 'a'
 1469 Need char = 'b'
 1470 
 1471 /abc*/I
 1472 Capturing subpattern count = 0
 1473 No options
 1474 First char = 'a'
 1475 Need char = 'b'
 1476 
 1477 /ab.c*/I
 1478 Capturing subpattern count = 0
 1479 No options
 1480 First char = 'a'
 1481 Need char = 'b'
 1482 
 1483 /a.c*/I
 1484 Capturing subpattern count = 0
 1485 No options
 1486 First char = 'a'
 1487 No need char
 1488 
 1489 /.c*/I
 1490 Capturing subpattern count = 0
 1491 No options
 1492 No first char
 1493 No need char
 1494 
 1495 /ac*/I
 1496 Capturing subpattern count = 0
 1497 No options
 1498 First char = 'a'
 1499 No need char
 1500 
 1501 /(a.c*|b.c*)/I
 1502 Capturing subpattern count = 1
 1503 No options
 1504 No first char
 1505 No need char
 1506 
 1507 /a.c*|aba/I
 1508 Capturing subpattern count = 0
 1509 No options
 1510 First char = 'a'
 1511 No need char
 1512 
 1513 /.+a/I
 1514 Capturing subpattern count = 0
 1515 No options
 1516 No first char
 1517 Need char = 'a'
 1518 
 1519 /(?=abcda)a.*/I
 1520 Capturing subpattern count = 0
 1521 No options
 1522 First char = 'a'
 1523 Need char = 'a'
 1524 
 1525 /(?=a)a.*/I
 1526 Capturing subpattern count = 0
 1527 No options
 1528 First char = 'a'
 1529 No need char
 1530 
 1531 /a(b)*/I
 1532 Capturing subpattern count = 1
 1533 No options
 1534 First char = 'a'
 1535 No need char
 1536 
 1537 /a\d*/I
 1538 Capturing subpattern count = 0
 1539 No options
 1540 First char = 'a'
 1541 No need char
 1542 
 1543 /ab\d*/I
 1544 Capturing subpattern count = 0
 1545 No options
 1546 First char = 'a'
 1547 Need char = 'b'
 1548 
 1549 /a(\d)*/I
 1550 Capturing subpattern count = 1
 1551 No options
 1552 First char = 'a'
 1553 No need char
 1554 
 1555 /abcde{0,0}/I
 1556 Capturing subpattern count = 0
 1557 No options
 1558 First char = 'a'
 1559 Need char = 'd'
 1560 
 1561 /ab\d+/I
 1562 Capturing subpattern count = 0
 1563 No options
 1564 First char = 'a'
 1565 Need char = 'b'
 1566 
 1567 /a(?(1)b)(.)/I
 1568 Capturing subpattern count = 1
 1569 Max back reference = 1
 1570 No options
 1571 First char = 'a'
 1572 No need char
 1573 
 1574 /a(?(1)bag|big)(.)/I
 1575 Capturing subpattern count = 1
 1576 Max back reference = 1
 1577 No options
 1578 First char = 'a'
 1579 Need char = 'g'
 1580 
 1581 /a(?(1)bag|big)*(.)/I
 1582 Capturing subpattern count = 1
 1583 Max back reference = 1
 1584 No options
 1585 First char = 'a'
 1586 No need char
 1587 
 1588 /a(?(1)bag|big)+(.)/I
 1589 Capturing subpattern count = 1
 1590 Max back reference = 1
 1591 No options
 1592 First char = 'a'
 1593 Need char = 'g'
 1594 
 1595 /a(?(1)b..|b..)(.)/I
 1596 Capturing subpattern count = 1
 1597 Max back reference = 1
 1598 No options
 1599 First char = 'a'
 1600 Need char = 'b'
 1601 
 1602 /ab\d{0}e/I
 1603 Capturing subpattern count = 0
 1604 No options
 1605 First char = 'a'
 1606 Need char = 'e'
 1607 
 1608 /a?b?/I
 1609 Capturing subpattern count = 0
 1610 May match empty string
 1611 No options
 1612 No first char
 1613 No need char
 1614     a
 1615  0: a
 1616     b
 1617  0: b
 1618     ab
 1619  0: ab
 1620     \
 1621  0: 
 1622     *** Failers
 1623  0: 
 1624     \N
 1625 No match
 1626 
 1627 /|-/I
 1628 Capturing subpattern count = 0
 1629 May match empty string
 1630 No options
 1631 No first char
 1632 No need char
 1633     abcd
 1634  0: 
 1635     -abc
 1636  0: 
 1637     \Nab-c
 1638  0: -
 1639     *** Failers
 1640  0: 
 1641     \Nabc
 1642 No match
 1643 
 1644 /^.?abcd/IS
 1645 Capturing subpattern count = 0
 1646 Options: anchored
 1647 No first char
 1648 Need char = 'd'
 1649 Subject length lower bound = 4
 1650 No starting char list
 1651 
 1652 /\(             # ( at start
 1653   (?:           # Non-capturing bracket
 1654   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
 1655   |             # Or
 1656   (?R)          # Recurse - i.e. nested bracketed string
 1657   )*            # Zero or more contents
 1658   \)            # Closing )
 1659   /Ix
 1660 Capturing subpattern count = 0
 1661 Options: extended
 1662 First char = '('
 1663 Need char = ')'
 1664     (abcd)
 1665  0: (abcd)
 1666     (abcd)xyz
 1667  0: (abcd)
 1668     xyz(abcd)
 1669  0: (abcd)
 1670     (ab(xy)cd)pqr
 1671  0: (ab(xy)cd)
 1672     (ab(xycd)pqr
 1673  0: (xycd)
 1674     () abc ()
 1675  0: ()
 1676     12(abcde(fsh)xyz(foo(bar))lmno)89
 1677  0: (abcde(fsh)xyz(foo(bar))lmno)
 1678     *** Failers
 1679 No match
 1680     abcd
 1681 No match
 1682     abcd)
 1683 No match
 1684     (abcd
 1685 No match
 1686 
 1687 /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
 1688 Capturing subpattern count = 1
 1689 Options: extended
 1690 First char = '('
 1691 Need char = ')'
 1692     (ab(xy)cd)pqr
 1693  0: (ab(xy)cd)
 1694  1: cd
 1695     1(abcd)(x(y)z)pqr
 1696  0: (abcd)
 1697  1: abcd
 1698  0: (x(y)z)
 1699  1: z
 1700 
 1701 /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
 1702 Capturing subpattern count = 0
 1703 Options: extended
 1704 First char = '('
 1705 Need char = ')'
 1706     (abcd)
 1707  0: (abcd)
 1708     (ab(xy)cd)
 1709  0: (xy)
 1710     (a(b(c)d)e)
 1711  0: (c)
 1712     ((ab))
 1713  0: ((ab))
 1714     *** Failers
 1715 No match
 1716     ()
 1717 No match
 1718 
 1719 /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
 1720 Capturing subpattern count = 0
 1721 Options: extended
 1722 First char = '('
 1723 Need char = ')'
 1724     ()
 1725  0: ()
 1726     12(abcde(fsh)xyz(foo(bar))lmno)89
 1727  0: (fsh)
 1728 
 1729 /\(  ( (?>[^()]+) | (?R) )* \) /Ix
 1730 Capturing subpattern count = 1
 1731 Options: extended
 1732 First char = '('
 1733 Need char = ')'
 1734     (ab(xy)cd)
 1735  0: (ab(xy)cd)
 1736  1: cd
 1737 
 1738 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
 1739 Capturing subpattern count = 2
 1740 Options: extended
 1741 First char = '('
 1742 Need char = ')'
 1743     (ab(xy)cd)
 1744  0: (ab(xy)cd)
 1745  1: ab(xy)cd
 1746  2: cd
 1747 
 1748 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
 1749 Capturing subpattern count = 3
 1750 Options: extended
 1751 First char = '('
 1752 Need char = ')'
 1753     (ab(xy)cd)
 1754  0: (ab(xy)cd)
 1755  1: <unset>
 1756  2: ab(xy)cd
 1757  3: cd
 1758     (123ab(xy)cd)
 1759  0: (123ab(xy)cd)
 1760  1: 123
 1761  2: ab(xy)cd
 1762  3: cd
 1763 
 1764 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
 1765 Capturing subpattern count = 3
 1766 Options: extended
 1767 First char = '('
 1768 Need char = ')'
 1769     (ab(xy)cd)
 1770  0: (ab(xy)cd)
 1771  1: ab(xy)cd
 1772  2: <unset>
 1773  3: cd
 1774     (123ab(xy)cd)
 1775  0: (123ab(xy)cd)
 1776  1: 123ab(xy)cd
 1777  2: 123
 1778  3: cd
 1779 
 1780 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
 1781 Capturing subpattern count = 11
 1782 Options: extended
 1783 First char = '('
 1784 Need char = ')'
 1785     (ab(xy)cd)
 1786  0: (ab(xy)cd)
 1787  1: ab(xy)cd
 1788  2: ab(xy)cd
 1789  3: ab(xy)cd
 1790  4: ab(xy)cd
 1791  5: ab(xy)cd
 1792  6: ab(xy)cd
 1793  7: ab(xy)cd
 1794  8: ab(xy)cd
 1795  9: ab(xy)cd
 1796 10: ab(xy)cd
 1797 11: cd
 1798 
 1799 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
 1800 Capturing subpattern count = 3
 1801 Options: extended
 1802 First char = '('
 1803 Need char = ')'
 1804     (abcd(xyz<p>qrs)123)
 1805  0: (abcd(xyz<p>qrs)123)
 1806  1: abcd(xyz<p>qrs)123
 1807  2: 123
 1808 
 1809 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
 1810 Capturing subpattern count = 3
 1811 Options: extended
 1812 First char = '('
 1813 Need char = ')'
 1814     (ab(cd)ef)
 1815  0: (ab(cd)ef)
 1816  1: ab(cd)ef
 1817  2: ef
 1818  3: (cd)
 1819     (ab(cd(ef)gh)ij)
 1820  0: (ab(cd(ef)gh)ij)
 1821  1: ab(cd(ef)gh)ij
 1822  2: ij
 1823  3: (cd(ef)gh)
 1824 
 1825 /^[[:alnum:]]/DZ
 1826 ------------------------------------------------------------------
 1827         Bra
 1828         ^
 1829         [0-9A-Za-z]
 1830         Ket
 1831         End
 1832 ------------------------------------------------------------------
 1833 Capturing subpattern count = 0
 1834 Options: anchored
 1835 No first char
 1836 No need char
 1837 
 1838 /^[[:^alnum:]]/DZ
 1839 ------------------------------------------------------------------
 1840         Bra
 1841         ^
 1842         [\x00-/:-@[-`{-\xff] (neg)
 1843         Ket
 1844         End
 1845 ------------------------------------------------------------------
 1846 Capturing subpattern count = 0
 1847 Options: anchored
 1848 No first char
 1849 No need char
 1850 
 1851 /^[[:alpha:]]/DZ
 1852 ------------------------------------------------------------------
 1853         Bra
 1854         ^
 1855         [A-Za-z]
 1856         Ket
 1857         End
 1858 ------------------------------------------------------------------
 1859 Capturing subpattern count = 0
 1860 Options: anchored
 1861 No first char
 1862 No need char
 1863 
 1864 /^[[:^alpha:]]/DZ
 1865 ------------------------------------------------------------------
 1866         Bra
 1867         ^
 1868         [\x00-@[-`{-\xff] (neg)
 1869         Ket
 1870         End
 1871 ------------------------------------------------------------------
 1872 Capturing subpattern count = 0
 1873 Options: anchored
 1874 No first char
 1875 No need char
 1876 
 1877 /[_[:alpha:]]/IS
 1878 Capturing subpattern count = 0
 1879 No options
 1880 No first char
 1881 No need char
 1882 Subject length lower bound = 1
 1883 Starting chars: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
 1884   _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
 1885 
 1886 /^[[:ascii:]]/DZ
 1887 ------------------------------------------------------------------
 1888         Bra
 1889         ^
 1890         [\x00-\x7f]
 1891         Ket
 1892         End
 1893 ------------------------------------------------------------------
 1894 Capturing subpattern count = 0
 1895 Options: anchored
 1896 No first char
 1897 No need char
 1898 
 1899 /^[[:^ascii:]]/DZ
 1900 ------------------------------------------------------------------
 1901         Bra
 1902         ^
 1903         [\x80-\xff] (neg)
 1904         Ket
 1905         End
 1906 ------------------------------------------------------------------
 1907 Capturing subpattern count = 0
 1908 Options: anchored
 1909 No first char
 1910 No need char
 1911 
 1912 /^[[:blank:]]/DZ
 1913 ------------------------------------------------------------------
 1914         Bra
 1915         ^
 1916         [\x09 ]
 1917         Ket
 1918         End
 1919 ------------------------------------------------------------------
 1920 Capturing subpattern count = 0
 1921 Options: anchored
 1922 No first char
 1923 No need char
 1924 
 1925 /^[[:^blank:]]/DZ
 1926 ------------------------------------------------------------------
 1927         Bra
 1928         ^
 1929         [\x00-\x08\x0a-\x1f!-\xff] (neg)
 1930         Ket
 1931         End
 1932 ------------------------------------------------------------------
 1933 Capturing subpattern count = 0
 1934 Options: anchored
 1935 No first char
 1936 No need char
 1937 
 1938 /[\n\x0b\x0c\x0d[:blank:]]/IS
 1939 Capturing subpattern count = 0
 1940 Contains explicit CR or LF match
 1941 No options
 1942 No first char
 1943 No need char
 1944 Subject length lower bound = 1
 1945 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 
 1946 
 1947 /^[[:cntrl:]]/DZ
 1948 ------------------------------------------------------------------
 1949         Bra
 1950         ^
 1951         [\x00-\x1f\x7f]
 1952         Ket
 1953         End
 1954 ------------------------------------------------------------------
 1955 Capturing subpattern count = 0
 1956 Options: anchored
 1957 No first char
 1958 No need char
 1959 
 1960 /^[[:digit:]]/DZ
 1961 ------------------------------------------------------------------
 1962         Bra
 1963         ^
 1964         [0-9]
 1965         Ket
 1966         End
 1967 ------------------------------------------------------------------
 1968 Capturing subpattern count = 0
 1969 Options: anchored
 1970 No first char
 1971 No need char
 1972 
 1973 /^[[:graph:]]/DZ
 1974 ------------------------------------------------------------------
 1975         Bra
 1976         ^
 1977         [!-~]
 1978         Ket
 1979         End
 1980 ------------------------------------------------------------------
 1981 Capturing subpattern count = 0
 1982 Options: anchored
 1983 No first char
 1984 No need char
 1985 
 1986 /^[[:lower:]]/DZ
 1987 ------------------------------------------------------------------
 1988         Bra
 1989         ^
 1990         [a-z]
 1991         Ket
 1992         End
 1993 ------------------------------------------------------------------
 1994 Capturing subpattern count = 0
 1995 Options: anchored
 1996 No first char
 1997 No need char
 1998 
 1999 /^[[:print:]]/DZ
 2000 ------------------------------------------------------------------
 2001         Bra
 2002         ^
 2003         [ -~]
 2004         Ket
 2005         End
 2006 ------------------------------------------------------------------
 2007 Capturing subpattern count = 0
 2008 Options: anchored
 2009 No first char
 2010 No need char
 2011 
 2012 /^[[:punct:]]/DZ
 2013 ------------------------------------------------------------------
 2014         Bra
 2015         ^
 2016         [!-/:-@[-`{-~]
 2017         Ket
 2018         End
 2019 ------------------------------------------------------------------
 2020 Capturing subpattern count = 0
 2021 Options: anchored
 2022 No first char
 2023 No need char
 2024 
 2025 /^[[:space:]]/DZ
 2026 ------------------------------------------------------------------
 2027         Bra
 2028         ^
 2029         [\x09-\x0d ]
 2030         Ket
 2031         End
 2032 ------------------------------------------------------------------
 2033 Capturing subpattern count = 0
 2034 Options: anchored
 2035 No first char
 2036 No need char
 2037 
 2038 /^[[:upper:]]/DZ
 2039 ------------------------------------------------------------------
 2040         Bra
 2041         ^
 2042         [A-Z]
 2043         Ket
 2044         End
 2045 ------------------------------------------------------------------
 2046 Capturing subpattern count = 0
 2047 Options: anchored
 2048 No first char
 2049 No need char
 2050 
 2051 /^[[:xdigit:]]/DZ
 2052 ------------------------------------------------------------------
 2053         Bra
 2054         ^
 2055         [0-9A-Fa-f]
 2056         Ket
 2057         End
 2058 ------------------------------------------------------------------
 2059 Capturing subpattern count = 0
 2060 Options: anchored
 2061 No first char
 2062 No need char
 2063 
 2064 /^[[:word:]]/DZ
 2065 ------------------------------------------------------------------
 2066         Bra
 2067         ^
 2068         [0-9A-Z_a-z]
 2069         Ket
 2070         End
 2071 ------------------------------------------------------------------
 2072 Capturing subpattern count = 0
 2073 Options: anchored
 2074 No first char
 2075 No need char
 2076 
 2077 /^[[:^cntrl:]]/DZ
 2078 ------------------------------------------------------------------
 2079         Bra
 2080         ^
 2081         [ -~\x80-\xff] (neg)
 2082         Ket
 2083         End
 2084 ------------------------------------------------------------------
 2085 Capturing subpattern count = 0
 2086 Options: anchored
 2087 No first char
 2088 No need char
 2089 
 2090 /^[12[:^digit:]]/DZ
 2091 ------------------------------------------------------------------
 2092         Bra
 2093         ^
 2094         [\x00-/12:-\xff] (neg)
 2095         Ket
 2096         End
 2097 ------------------------------------------------------------------
 2098 Capturing subpattern count = 0
 2099 Options: anchored
 2100 No first char
 2101 No need char
 2102 
 2103 /^[[:^blank:]]/DZ
 2104 ------------------------------------------------------------------
 2105         Bra
 2106         ^
 2107         [\x00-\x08\x0a-\x1f!-\xff] (neg)
 2108         Ket
 2109         End
 2110 ------------------------------------------------------------------
 2111 Capturing subpattern count = 0
 2112 Options: anchored
 2113 No first char
 2114 No need char
 2115 
 2116 /[01[:alpha:]%]/DZ
 2117 ------------------------------------------------------------------
 2118         Bra
 2119         [%01A-Za-z]
 2120         Ket
 2121         End
 2122 ------------------------------------------------------------------
 2123 Capturing subpattern count = 0
 2124 No options
 2125 No first char
 2126 No need char
 2127 
 2128 /[[.ch.]]/I
 2129 Failed: POSIX collating elements are not supported at offset 1
 2130 
 2131 /[[=ch=]]/I
 2132 Failed: POSIX collating elements are not supported at offset 1
 2133 
 2134 /[[:rhubarb:]]/I
 2135 Failed: unknown POSIX class name at offset 3
 2136 
 2137 /[[:upper:]]/Ii
 2138 Capturing subpattern count = 0
 2139 Options: caseless
 2140 No first char
 2141 No need char
 2142     A
 2143  0: A
 2144     a
 2145  0: a
 2146 
 2147 /[[:lower:]]/Ii
 2148 Capturing subpattern count = 0
 2149 Options: caseless
 2150 No first char
 2151 No need char
 2152     A
 2153  0: A
 2154     a
 2155  0: a
 2156 
 2157 /((?-i)[[:lower:]])[[:lower:]]/Ii
 2158 Capturing subpattern count = 1
 2159 Options: caseless
 2160 No first char
 2161 No need char
 2162     ab
 2163  0: ab
 2164  1: a
 2165     aB
 2166  0: aB
 2167  1: a
 2168     *** Failers
 2169  0: ai
 2170  1: a
 2171     Ab
 2172 No match
 2173     AB
 2174 No match
 2175 
 2176 /[\200-\110]/I
 2177 Failed: range out of order in character class at offset 9
 2178 
 2179 /^(?(0)f|b)oo/I
 2180 Failed: invalid condition (?(0) at offset 6
 2181 
 2182 /This one's here because of the large output vector needed/I
 2183 Capturing subpattern count = 0
 2184 No options
 2185 First char = 'T'
 2186 Need char = 'd'
 2187 
 2188 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
 2189 Capturing subpattern count = 271
 2190 Max back reference = 270
 2191 No options
 2192 No first char
 2193 No need char
 2194     \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
 2195  0: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
 2196  1: 1 
 2197  2: 2 
 2198  3: 3 
 2199  4: 4 
 2200  5: 5 
 2201  6: 6 
 2202  7: 7 
 2203  8: 8 
 2204  9: 9 
 2205 10: 10 
 2206 11: 11 
 2207 12: 12 
 2208 13: 13 
 2209 14: 14 
 2210 15: 15 
 2211 16: 16 
 2212 17: 17 
 2213 18: 18 
 2214 19: 19 
 2215 20: 20 
 2216 21: 21 
 2217 22: 22 
 2218 23: 23 
 2219 24: 24 
 2220 25: 25 
 2221 26: 26 
 2222 27: 27 
 2223 28: 28 
 2224 29: 29 
 2225 30: 30 
 2226 31: 31 
 2227 32: 32 
 2228 33: 33 
 2229 34: 34 
 2230 35: 35 
 2231 36: 36 
 2232 37: 37 
 2233 38: 38 
 2234 39: 39 
 2235 40: 40 
 2236 41: 41 
 2237 42: 42 
 2238 43: 43 
 2239 44: 44 
 2240 45: 45 
 2241 46: 46 
 2242 47: 47 
 2243 48: 48 
 2244 49: 49 
 2245 50: 50 
 2246 51: 51 
 2247 52: 52 
 2248 53: 53 
 2249 54: 54 
 2250 55: 55 
 2251 56: 56 
 2252 57: 57 
 2253 58: 58 
 2254 59: 59 
 2255 60: 60 
 2256 61: 61 
 2257 62: 62 
 2258 63: 63 
 2259 64: 64 
 2260 65: 65 
 2261 66: 66 
 2262 67: 67 
 2263 68: 68 
 2264 69: 69 
 2265 70: 70 
 2266 71: 71 
 2267 72: 72 
 2268 73: 73 
 2269 74: 74 
 2270 75: 75 
 2271 76: 76 
 2272 77: 77 
 2273 78: 78 
 2274 79: 79 
 2275 80: 80 
 2276 81: 81 
 2277 82: 82 
 2278 83: 83 
 2279 84: 84 
 2280 85: 85 
 2281 86: 86 
 2282 87: 87 
 2283 88: 88 
 2284 89: 89 
 2285 90: 90 
 2286 91: 91 
 2287 92: 92 
 2288 93: 93 
 2289 94: 94 
 2290 95: 95 
 2291 96: 96 
 2292 97: 97 
 2293 98: 98 
 2294 99: 99 
 2295 100: 100 
 2296 101: 101 
 2297 102: 102 
 2298 103: 103 
 2299 104: 104 
 2300 105: 105 
 2301 106: 106 
 2302 107: 107 
 2303 108: 108 
 2304 109: 109 
 2305 110: 110 
 2306 111: 111 
 2307 112: 112 
 2308 113: 113 
 2309 114: 114 
 2310 115: 115 
 2311 116: 116 
 2312 117: 117 
 2313 118: 118 
 2314 119: 119 
 2315 120: 120 
 2316 121: 121 
 2317 122: 122 
 2318 123: 123 
 2319 124: 124 
 2320 125: 125 
 2321 126: 126 
 2322 127: 127 
 2323 128: 128 
 2324 129: 129 
 2325 130: 130 
 2326 131: 131 
 2327 132: 132 
 2328 133: 133 
 2329 134: 134 
 2330 135: 135 
 2331 136: 136 
 2332 137: 137 
 2333 138: 138 
 2334 139: 139 
 2335 140: 140 
 2336 141: 141 
 2337 142: 142 
 2338 143: 143 
 2339 144: 144 
 2340 145: 145 
 2341 146: 146 
 2342 147: 147 
 2343 148: 148 
 2344 149: 149 
 2345 150: 150 
 2346 151: 151 
 2347 152: 152 
 2348 153: 153 
 2349 154: 154 
 2350 155: 155 
 2351 156: 156 
 2352 157: 157 
 2353 158: 158 
 2354 159: 159 
 2355 160: 160 
 2356 161: 161 
 2357 162: 162 
 2358 163: 163 
 2359 164: 164 
 2360 165: 165 
 2361 166: 166 
 2362 167: 167 
 2363 168: 168 
 2364 169: 169 
 2365 170: 170 
 2366 171: 171 
 2367 172: 172 
 2368 173: 173 
 2369 174: 174 
 2370 175: 175 
 2371 176: 176 
 2372 177: 177 
 2373 178: 178 
 2374 179: 179 
 2375 180: 180 
 2376 181: 181 
 2377 182: 182 
 2378 183: 183 
 2379 184: 184 
 2380 185: 185 
 2381 186: 186 
 2382 187: 187 
 2383 188: 188 
 2384 189: 189 
 2385 190: 190 
 2386 191: 191 
 2387 192: 192 
 2388 193: 193 
 2389 194: 194 
 2390 195: 195 
 2391 196: 196 
 2392 197: 197 
 2393 198: 198 
 2394 199: 199 
 2395 200: 200 
 2396 201: 201 
 2397 202: 202 
 2398 203: 203 
 2399 204: 204 
 2400 205: 205 
 2401 206: 206 
 2402 207: 207 
 2403 208: 208 
 2404 209: 209 
 2405 210: 210 
 2406 211: 211 
 2407 212: 212 
 2408 213: 213 
 2409 214: 214 
 2410 215: 215 
 2411 216: 216 
 2412 217: 217 
 2413 218: 218 
 2414 219: 219 
 2415 220: 220 
 2416 221: 221 
 2417 222: 222 
 2418 223: 223 
 2419 224: 224 
 2420 225: 225 
 2421 226: 226 
 2422 227: 227 
 2423 228: 228 
 2424 229: 229 
 2425 230: 230 
 2426 231: 231 
 2427 232: 232 
 2428 233: 233 
 2429 234: 234 
 2430 235: 235 
 2431 236: 236 
 2432 237: 237 
 2433 238: 238 
 2434 239: 239 
 2435 240: 240 
 2436 241: 241 
 2437 242: 242 
 2438 243: 243 
 2439 244: 244 
 2440 245: 245 
 2441 246: 246 
 2442 247: 247 
 2443 248: 248 
 2444 249: 249 
 2445 250: 250 
 2446 251: 251 
 2447 252: 252 
 2448 253: 253 
 2449 254: 254 
 2450 255: 255 
 2451 256: 256 
 2452 257: 257 
 2453 258: 258 
 2454 259: 259 
 2455 260: 260 
 2456 261: 261 
 2457 262: 262 
 2458 263: 263 
 2459 264: 264 
 2460 265: 265 
 2461 266: 266 
 2462 267: 267 
 2463 268: 268 
 2464 269: 269 
 2465 270: ABC
 2466 271: ABC
 2467 
 2468 /This one's here because Perl does this differently and PCRE can't at present/I
 2469 Capturing subpattern count = 0
 2470 No options
 2471 First char = 'T'
 2472 Need char = 't'
 2473 
 2474 /(main(O)?)+/I
 2475 Capturing subpattern count = 2
 2476 No options
 2477 First char = 'm'
 2478 Need char = 'n'
 2479     mainmain
 2480  0: mainmain
 2481  1: main
 2482     mainOmain
 2483  0: mainOmain
 2484  1: main
 2485  2: O
 2486 
 2487 /These are all cases where Perl does it differently (nested captures)/I
 2488 Capturing subpattern count = 1
 2489 No options
 2490 First char = 'T'
 2491 Need char = 's'
 2492 
 2493 /^(a(b)?)+$/I
 2494 Capturing subpattern count = 2
 2495 Options: anchored
 2496 No first char
 2497 No need char
 2498     aba
 2499  0: aba
 2500  1: a
 2501  2: b
 2502 
 2503 /^(aa(bb)?)+$/I
 2504 Capturing subpattern count = 2
 2505 Options: anchored
 2506 No first char
 2507 No need char
 2508     aabbaa
 2509  0: aabbaa
 2510  1: aa
 2511  2: bb
 2512 
 2513 /^(aa|aa(bb))+$/I
 2514 Capturing subpattern count = 2
 2515 Options: anchored
 2516 No first char
 2517 No need char
 2518     aabbaa
 2519  0: aabbaa
 2520  1: aa
 2521  2: bb
 2522 
 2523 /^(aa(bb)??)+$/I
 2524 Capturing subpattern count = 2
 2525 Options: anchored
 2526 No first char
 2527 No need char
 2528     aabbaa
 2529  0: aabbaa
 2530  1: aa
 2531  2: bb
 2532 
 2533 /^(?:aa(bb)?)+$/I
 2534 Capturing subpattern count = 1
 2535 Options: anchored
 2536 No first char
 2537 No need char
 2538     aabbaa
 2539  0: aabbaa
 2540  1: bb
 2541 
 2542 /^(aa(b(b))?)+$/I
 2543 Capturing subpattern count = 3
 2544 Options: anchored
 2545 No first char
 2546 No need char
 2547     aabbaa
 2548  0: aabbaa
 2549  1: aa
 2550  2: bb
 2551  3: b
 2552 
 2553 /^(?:aa(b(b))?)+$/I
 2554 Capturing subpattern count = 2
 2555 Options: anchored
 2556 No first char
 2557 No need char
 2558     aabbaa
 2559  0: aabbaa
 2560  1: bb
 2561  2: b
 2562 
 2563 /^(?:aa(b(?:b))?)+$/I
 2564 Capturing subpattern count = 1
 2565 Options: anchored
 2566 No first char
 2567 No need char
 2568     aabbaa
 2569  0: aabbaa
 2570  1: bb
 2571 
 2572 /^(?:aa(bb(?:b))?)+$/I
 2573 Capturing subpattern count = 1
 2574 Options: anchored
 2575 No first char
 2576 No need char
 2577     aabbbaa
 2578  0: aabbbaa
 2579  1: bbb
 2580 
 2581 /^(?:aa(b(?:bb))?)+$/I
 2582 Capturing subpattern count = 1
 2583 Options: anchored
 2584 No first char
 2585 No need char
 2586     aabbbaa
 2587  0: aabbbaa
 2588  1: bbb
 2589 
 2590 /^(?:aa(?:b(b))?)+$/I
 2591 Capturing subpattern count = 1
 2592 Options: anchored
 2593 No first char
 2594 No need char
 2595     aabbaa
 2596  0: aabbaa
 2597  1: b
 2598 
 2599 /^(?:aa(?:b(bb))?)+$/I
 2600 Capturing subpattern count = 1
 2601 Options: anchored
 2602 No first char
 2603 No need char
 2604     aabbbaa
 2605  0: aabbbaa
 2606  1: bb
 2607 
 2608 /^(aa(b(bb))?)+$/I
 2609 Capturing subpattern count = 3
 2610 Options: anchored
 2611 No first char
 2612 No need char
 2613     aabbbaa
 2614  0: aabbbaa
 2615  1: aa
 2616  2: bbb
 2617  3: bb
 2618 
 2619 /^(aa(bb(bb))?)+$/I
 2620 Capturing subpattern count = 3
 2621 Options: anchored
 2622 No first char
 2623 No need char
 2624     aabbbbaa
 2625  0: aabbbbaa
 2626  1: aa
 2627  2: bbbb
 2628  3: bb
 2629 
 2630 /--------------------------------------------------------------------/I
 2631 Capturing subpattern count = 0
 2632 No options
 2633 First char = '-'
 2634 Need char = '-'
 2635 
 2636 /#/IxDZ
 2637 ------------------------------------------------------------------
 2638         Bra
 2639         Ket
 2640         End
 2641 ------------------------------------------------------------------
 2642 Capturing subpattern count = 0
 2643 May match empty string
 2644 Options: extended
 2645 No first char
 2646 No need char
 2647 
 2648 /a#/IxDZ
 2649 ------------------------------------------------------------------
 2650         Bra
 2651         a
 2652         Ket
 2653         End
 2654 ------------------------------------------------------------------
 2655 Capturing subpattern count = 0
 2656 Options: extended
 2657 First char = 'a'
 2658 No need char
 2659 
 2660 /[\s]/DZ
 2661 ------------------------------------------------------------------
 2662         Bra
 2663         [\x09-\x0d ]
 2664         Ket
 2665         End
 2666 ------------------------------------------------------------------
 2667 Capturing subpattern count = 0
 2668 No options
 2669 No first char
 2670 No need char
 2671 
 2672 /[\S]/DZ
 2673 ------------------------------------------------------------------
 2674         Bra
 2675         [\x00-\x08\x0e-\x1f!-\xff] (neg)
 2676         Ket
 2677         End
 2678 ------------------------------------------------------------------
 2679 Capturing subpattern count = 0
 2680 No options
 2681 No first char
 2682 No need char
 2683 
 2684 /a(?i)b/DZ
 2685 ------------------------------------------------------------------
 2686         Bra
 2687         a
 2688      /i b
 2689         Ket
 2690         End
 2691 ------------------------------------------------------------------
 2692 Capturing subpattern count = 0
 2693 No options
 2694 First char = 'a'
 2695 Need char = 'b' (caseless)
 2696     ab
 2697  0: ab
 2698     aB
 2699  0: aB
 2700     *** Failers
 2701 No match
 2702     AB
 2703 No match
 2704 
 2705 /(a(?i)b)/DZ
 2706 ------------------------------------------------------------------
 2707         Bra
 2708         CBra 1
 2709         a
 2710      /i b
 2711         Ket
 2712         Ket
 2713         End
 2714 ------------------------------------------------------------------
 2715 Capturing subpattern count = 1
 2716 No options
 2717 First char = 'a'
 2718 Need char = 'b' (caseless)
 2719     ab
 2720  0: ab
 2721  1: ab
 2722     aB
 2723  0: aB
 2724  1: aB
 2725     *** Failers
 2726 No match
 2727     AB
 2728 No match
 2729 
 2730 /   (?i)abc/IxDZ
 2731 ------------------------------------------------------------------
 2732         Bra
 2733      /i abc
 2734         Ket
 2735         End
 2736 ------------------------------------------------------------------
 2737 Capturing subpattern count = 0
 2738 Options: extended
 2739 First char = 'a' (caseless)
 2740 Need char = 'c' (caseless)
 2741 
 2742 /#this is a comment
 2743   (?i)abc/IxDZ
 2744 ------------------------------------------------------------------
 2745         Bra
 2746      /i abc
 2747         Ket
 2748         End
 2749 ------------------------------------------------------------------
 2750 Capturing subpattern count = 0
 2751 Options: extended
 2752 First char = 'a' (caseless)
 2753 Need char = 'c' (caseless)
 2754 
 2755 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
 2756 ------------------------------------------------------------------
 2757         Bra
 2758         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
 2759         Ket
 2760         End
 2761 ------------------------------------------------------------------
 2762 Capturing subpattern count = 0
 2763 No options
 2764 First char = '1'
 2765 Need char = '0'
 2766 
 2767 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
 2768 ------------------------------------------------------------------
 2769         Bra
 2770         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
 2771         Ket
 2772         End
 2773 ------------------------------------------------------------------
 2774 Capturing subpattern count = 0
 2775 No options
 2776 First char = '1'
 2777 Need char = '0'
 2778 
 2779 /\Q\E/DZ
 2780 ------------------------------------------------------------------
 2781         Bra
 2782         Ket
 2783         End
 2784 ------------------------------------------------------------------
 2785 Capturing subpattern count = 0
 2786 May match empty string
 2787 No options
 2788 No first char
 2789 No need char
 2790     \
 2791  0: 
 2792 
 2793 /\Q\Ex/DZ
 2794 ------------------------------------------------------------------
 2795         Bra
 2796         x
 2797         Ket
 2798         End
 2799 ------------------------------------------------------------------
 2800 Capturing subpattern count = 0
 2801 No options
 2802 First char = 'x'
 2803 No need char
 2804 
 2805 / \Q\E/DZ
 2806 ------------------------------------------------------------------
 2807         Bra
 2808          
 2809         Ket
 2810         End
 2811 ------------------------------------------------------------------
 2812 Capturing subpattern count = 0
 2813 No options
 2814 First char = ' '
 2815 No need char
 2816 
 2817 /a\Q\E/DZ
 2818 ------------------------------------------------------------------
 2819         Bra
 2820         a
 2821         Ket
 2822         End
 2823 ------------------------------------------------------------------
 2824 Capturing subpattern count = 0
 2825 No options
 2826 First char = 'a'
 2827 No need char
 2828   abc
 2829  0: a
 2830   bca
 2831  0: a
 2832   bac
 2833  0: a
 2834 
 2835 /a\Q\Eb/DZ
 2836 ------------------------------------------------------------------
 2837         Bra
 2838         ab
 2839         Ket
 2840         End
 2841 ------------------------------------------------------------------
 2842 Capturing subpattern count = 0
 2843 No options
 2844 First char = 'a'
 2845 Need char = 'b'
 2846   abc
 2847  0: ab
 2848 
 2849 /\Q\Eabc/DZ
 2850 ------------------------------------------------------------------
 2851         Bra
 2852         abc
 2853         Ket
 2854         End
 2855 ------------------------------------------------------------------
 2856 Capturing subpattern count = 0
 2857 No options
 2858 First char = 'a'
 2859 Need char = 'c'
 2860 
 2861 /x*+\w/DZ
 2862 ------------------------------------------------------------------
 2863         Bra
 2864         x*+
 2865         \w
 2866         Ket
 2867         End
 2868 ------------------------------------------------------------------
 2869 Capturing subpattern count = 0
 2870 No options
 2871 No first char
 2872 No need char
 2873     *** Failers
 2874  0: F
 2875     xxxxx
 2876 No match
 2877 
 2878 /x?+/DZ
 2879 ------------------------------------------------------------------
 2880         Bra
 2881         x?+
 2882         Ket
 2883         End
 2884 ------------------------------------------------------------------
 2885 Capturing subpattern count = 0
 2886 May match empty string
 2887 No options
 2888 No first char
 2889 No need char
 2890 
 2891 /x++/DZ
 2892 ------------------------------------------------------------------
 2893         Bra
 2894         x++
 2895         Ket
 2896         End
 2897 ------------------------------------------------------------------
 2898 Capturing subpattern count = 0
 2899 No options
 2900 First char = 'x'
 2901 No need char
 2902 
 2903 /x{1,3}+/BZO
 2904 ------------------------------------------------------------------
 2905         Bra
 2906         x
 2907         x{0,2}+
 2908         Ket
 2909         End
 2910 ------------------------------------------------------------------
 2911 
 2912 /x{1,3}+/BZOi
 2913 ------------------------------------------------------------------
 2914         Bra
 2915      /i x
 2916      /i x{0,2}+
 2917         Ket
 2918         End
 2919 ------------------------------------------------------------------
 2920 
 2921 /[^x]{1,3}+/BZO
 2922 ------------------------------------------------------------------
 2923         Bra
 2924         [^x]
 2925         [^x]{0,2}+
 2926         Ket
 2927         End
 2928 ------------------------------------------------------------------
 2929 
 2930 /[^x]{1,3}+/BZOi
 2931 ------------------------------------------------------------------
 2932         Bra
 2933      /i [^x]
 2934      /i [^x]{0,2}+
 2935         Ket
 2936         End
 2937 ------------------------------------------------------------------
 2938 
 2939 /(x)*+/DZ
 2940 ------------------------------------------------------------------
 2941         Bra
 2942         Braposzero
 2943         CBraPos 1
 2944         x
 2945         KetRpos
 2946         Ket
 2947         End
 2948 ------------------------------------------------------------------
 2949 Capturing subpattern count = 1
 2950 May match empty string
 2951 No options
 2952 No first char
 2953 No need char
 2954 
 2955 /^(\w++|\s++)*$/I
 2956 Capturing subpattern count = 1
 2957 May match empty string
 2958 Options: anchored
 2959 No first char
 2960 No need char
 2961     now is the time for all good men to come to the aid of the party
 2962  0: now is the time for all good men to come to the aid of the party
 2963  1: party
 2964     *** Failers
 2965 No match
 2966     this is not a line with only words and spaces!
 2967 No match
 2968 
 2969 /(\d++)(\w)/I
 2970 Capturing subpattern count = 2
 2971 No options
 2972 No first char
 2973 No need char
 2974     12345a
 2975  0: 12345a
 2976  1: 12345
 2977  2: a
 2978     *** Failers
 2979 No match
 2980     12345+
 2981 No match
 2982 
 2983 /a++b/I
 2984 Capturing subpattern count = 0
 2985 No options
 2986 First char = 'a'
 2987 Need char = 'b'
 2988     aaab
 2989  0: aaab
 2990 
 2991 /(a++b)/I
 2992 Capturing subpattern count = 1
 2993 No options
 2994 First char = 'a'
 2995 Need char = 'b'
 2996     aaab
 2997  0: aaab
 2998  1: aaab
 2999 
 3000 /(a++)b/I
 3001 Capturing subpattern count = 1
 3002 No options
 3003 First char = 'a'
 3004 Need char = 'b'
 3005     aaab
 3006  0: aaab
 3007  1: aaa
 3008 
 3009 /([^()]++|\([^()]*\))+/I
 3010 Capturing subpattern count = 1
 3011 No options
 3012 No first char
 3013 No need char
 3014     ((abc(ade)ufh()()x
 3015  0: abc(ade)ufh()()x
 3016  1: x
 3017 
 3018 /\(([^()]++|\([^()]+\))+\)/I
 3019 Capturing subpattern count = 1
 3020 No options
 3021 First char = '('
 3022 Need char = ')'
 3023     (abc)
 3024  0: (abc)
 3025  1: abc
 3026     (abc(def)xyz)
 3027  0: (abc(def)xyz)
 3028  1: xyz
 3029     *** Failers
 3030 No match
 3031     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 3032 No match
 3033 
 3034 /(abc){1,3}+/DZ
 3035 ------------------------------------------------------------------
 3036         Bra
 3037         Once
 3038         CBra 1
 3039         abc
 3040         Ket
 3041         Brazero
 3042         Bra
 3043         CBra 1
 3044         abc
 3045         Ket
 3046         Brazero
 3047         CBra 1
 3048         abc
 3049         Ket
 3050         Ket
 3051         Ket
 3052         Ket
 3053         End
 3054 ------------------------------------------------------------------
 3055 Capturing subpattern count = 1
 3056 No options
 3057 First char = 'a'
 3058 Need char = 'c'
 3059 
 3060 /a+?+/I
 3061 Failed: nothing to repeat at offset 3
 3062 
 3063 /a{2,3}?+b/I
 3064 Failed: nothing to repeat at offset 7
 3065 
 3066 /(?U)a+?+/I
 3067 Failed: nothing to repeat at offset 7
 3068 
 3069 /a{2,3}?+b/IU
 3070 Failed: nothing to repeat at offset 7
 3071 
 3072 /x(?U)a++b/DZ
 3073 ------------------------------------------------------------------
 3074         Bra
 3075         x
 3076         a++
 3077         b
 3078         Ket
 3079         End
 3080 ------------------------------------------------------------------
 3081 Capturing subpattern count = 0
 3082 No options
 3083 First char = 'x'
 3084 Need char = 'b'
 3085     xaaaab
 3086  0: xaaaab
 3087 
 3088 /(?U)xa++b/DZ
 3089 ------------------------------------------------------------------
 3090         Bra
 3091         x
 3092         a++
 3093         b
 3094         Ket
 3095         End
 3096 ------------------------------------------------------------------
 3097 Capturing subpattern count = 0
 3098 No options
 3099 First char = 'x'
 3100 Need char = 'b'
 3101     xaaaab
 3102  0: xaaaab
 3103 
 3104 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
 3105 ------------------------------------------------------------------
 3106         Bra
 3107         ^
 3108         CBra 1
 3109         CBra 2
 3110         a+
 3111         Ket
 3112         CBra 3
 3113         [ab]+?
 3114         Ket
 3115         CBra 4
 3116         [bc]+
 3117         Ket
 3118         CBra 5
 3119         \w*+
 3120         Ket
 3121         Ket
 3122         Ket
 3123         End
 3124 ------------------------------------------------------------------
 3125 Capturing subpattern count = 5
 3126 Options: anchored
 3127 No first char
 3128 No need char
 3129 
 3130 /^x(?U)a+b/DZ
 3131 ------------------------------------------------------------------
 3132         Bra
 3133         ^
 3134         x
 3135         a++
 3136         b
 3137         Ket
 3138         End
 3139 ------------------------------------------------------------------
 3140 Capturing subpattern count = 0
 3141 Options: anchored
 3142 No first char
 3143 Need char = 'b'
 3144 
 3145 /^x(?U)(a+)b/DZ
 3146 ------------------------------------------------------------------
 3147         Bra
 3148         ^
 3149         x
 3150         CBra 1
 3151         a+?
 3152         Ket
 3153         b
 3154         Ket
 3155         End
 3156 ------------------------------------------------------------------
 3157 Capturing subpattern count = 1
 3158 Options: anchored
 3159 No first char
 3160 Need char = 'b'
 3161 
 3162 /[.x.]/I
 3163 Failed: POSIX collating elements are not supported at offset 0
 3164 
 3165 /[=x=]/I
 3166 Failed: POSIX collating elements are not supported at offset 0
 3167 
 3168 /[:x:]/I
 3169 Failed: POSIX named classes are supported only within a class at offset 0
 3170 
 3171 /\l/I
 3172 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
 3173 
 3174 /\L/I
 3175 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
 3176 
 3177 /\N{name}/I
 3178 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
 3179 
 3180 /\u/I
 3181 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
 3182 
 3183 /\U/I
 3184 Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
 3185 
 3186 /a{1,3}b/U
 3187     ab
 3188  0: ab
 3189 
 3190 /[/I
 3191 Failed: missing terminating ] for character class at offset 1
 3192 
 3193 /[a-/I
 3194 Failed: missing terminating ] for character class at offset 3
 3195 
 3196 /[[:space:]/I
 3197 Failed: missing terminating ] for character class at offset 10
 3198 
 3199 /[\s]/IDZ
 3200 ------------------------------------------------------------------
 3201         Bra
 3202         [\x09-\x0d ]
 3203         Ket
 3204         End
 3205 ------------------------------------------------------------------
 3206 Capturing subpattern count = 0
 3207 No options
 3208 No first char
 3209 No need char
 3210 
 3211 /[[:space:]]/IDZ
 3212 ------------------------------------------------------------------
 3213         Bra
 3214         [\x09-\x0d ]
 3215         Ket
 3216         End
 3217 ------------------------------------------------------------------
 3218 Capturing subpattern count = 0
 3219 No options
 3220 No first char
 3221 No need char
 3222 
 3223 /[[:space:]abcde]/IDZ
 3224 ------------------------------------------------------------------
 3225         Bra
 3226         [\x09-\x0d a-e]
 3227         Ket
 3228         End
 3229 ------------------------------------------------------------------
 3230 Capturing subpattern count = 0
 3231 No options
 3232 No first char
 3233 No need char
 3234 
 3235 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
 3236 Capturing subpattern count = 0
 3237 Options: extended
 3238 First char = '<'
 3239 Need char = '>'
 3240     <>
 3241  0: <>
 3242     <abcd>
 3243  0: <abcd>
 3244     <abc <123> hij>
 3245  0: <abc <123> hij>
 3246     <abc <def> hij>
 3247  0: <def>
 3248     <abc<>def>
 3249  0: <abc<>def>
 3250     <abc<>
 3251  0: <>
 3252     *** Failers
 3253 No match
 3254     <abc
 3255 No match
 3256 
 3257 |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
 3258 ------------------------------------------------------------------
 3259         Bra
 3260         8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
 3261         \b
 3262         Ket
 3263         End
 3264 ------------------------------------------------------------------
 3265 Capturing subpattern count = 0
 3266 Max lookbehind = 1
 3267 No options
 3268 First char = '8'
 3269 Need char = 'X'
 3270 
 3271 |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
 3272 ------------------------------------------------------------------
 3273         Bra
 3274         $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
 3275         \b
 3276         Ket
 3277         End
 3278 ------------------------------------------------------------------
 3279 Capturing subpattern count = 0
 3280 Max lookbehind = 1
 3281 No options
 3282 First char = '$'
 3283 Need char = 'X'
 3284 
 3285 /(.*)\d+\1/I
 3286 Capturing subpattern count = 1
 3287 Max back reference = 1
 3288 No options
 3289 No first char
 3290 No need char
 3291 
 3292 /(.*)\d+/I
 3293 Capturing subpattern count = 1
 3294 No options
 3295 First char at start or follows newline
 3296 No need char
 3297 
 3298 /(.*)\d+\1/Is
 3299 Capturing subpattern count = 1
 3300 Max back reference = 1
 3301 Options: dotall
 3302 No first char
 3303 No need char
 3304 
 3305 /(.*)\d+/Is
 3306 Capturing subpattern count = 1
 3307 Options: anchored dotall
 3308 No first char
 3309 No need char
 3310 
 3311 /(.*(xyz))\d+\2/I
 3312 Capturing subpattern count = 2
 3313 Max back reference = 2
 3314 No options
 3315 First char at start or follows newline
 3316 Need char = 'z'
 3317 
 3318 /((.*))\d+\1/I
 3319 Capturing subpattern count = 2
 3320 Max back reference = 1
 3321 No options
 3322 No first char
 3323 No need char
 3324     abc123bc
 3325  0: bc123bc
 3326  1: bc
 3327  2: bc
 3328 
 3329 /a[b]/I
 3330 Capturing subpattern count = 0
 3331 No options
 3332 First char = 'a'
 3333 Need char = 'b'
 3334 
 3335 /(?=a).*/I
 3336 Capturing subpattern count = 0
 3337 May match empty string
 3338 No options
 3339 First char = 'a'
 3340 No need char
 3341 
 3342 /(?=abc).xyz/IiI
 3343 Capturing subpattern count = 0
 3344 Options: caseless
 3345 First char = 'a' (caseless)
 3346 Need char = 'z' (caseless)
 3347 
 3348 /(?=abc)(?i).xyz/I
 3349 Capturing subpattern count = 0
 3350 No options
 3351 First char = 'a'
 3352 Need char = 'z' (caseless)
 3353 
 3354 /(?=a)(?=b)/I
 3355 Capturing subpattern count = 0
 3356 May match empty string
 3357 No options
 3358 First char = 'a'
 3359 No need char
 3360 
 3361 /(?=.)a/I
 3362 Capturing subpattern count = 0
 3363 No options
 3364 First char = 'a'
 3365 No need char
 3366 
 3367 /((?=abcda)a)/I
 3368 Capturing subpattern count = 1
 3369 No options
 3370 First char = 'a'
 3371 Need char = 'a'
 3372 
 3373 /((?=abcda)ab)/I
 3374 Capturing subpattern count = 1
 3375 No options
 3376 First char = 'a'
 3377 Need char = 'b'
 3378 
 3379 /()a/I
 3380 Capturing subpattern count = 1
 3381 No options
 3382 No first char
 3383 Need char = 'a'
 3384 
 3385 /(?(1)ab|ac)(.)/I
 3386 Capturing subpattern count = 1
 3387 Max back reference = 1
 3388 No options
 3389 First char = 'a'
 3390 No need char
 3391 
 3392 /(?(1)abz|acz)(.)/I
 3393 Capturing subpattern count = 1
 3394 Max back reference = 1
 3395 No options
 3396 First char = 'a'
 3397 Need char = 'z'
 3398 
 3399 /(?(1)abz)(.)/I
 3400 Capturing subpattern count = 1
 3401 Max back reference = 1
 3402 No options
 3403 No first char
 3404 No need char
 3405 
 3406 /(?(1)abz)(1)23/I
 3407 Capturing subpattern count = 1
 3408 Max back reference = 1
 3409 No options
 3410 No first char
 3411 Need char = '3'
 3412 
 3413 /(a)+/I
 3414 Capturing subpattern count = 1
 3415 No options
 3416 First char = 'a'
 3417 No need char
 3418 
 3419 /(a){2,3}/I
 3420 Capturing subpattern count = 1
 3421 No options
 3422 First char = 'a'
 3423 Need char = 'a'
 3424 
 3425 /(a)*/I
 3426 Capturing subpattern count = 1
 3427 May match empty string
 3428 No options
 3429 No first char
 3430 No need char
 3431 
 3432 /[a]/I
 3433 Capturing subpattern count = 0
 3434 No options
 3435 First char = 'a'
 3436 No need char
 3437 
 3438 /[ab]/I
 3439 Capturing subpattern count = 0
 3440 No options
 3441 No first char
 3442 No need char
 3443 
 3444 /[ab]/IS
 3445 Capturing subpattern count = 0
 3446 No options
 3447 No first char
 3448 No need char
 3449 Subject length lower bound = 1
 3450 Starting chars: a b 
 3451 
 3452 /[^a]/I
 3453 Capturing subpattern count = 0
 3454 No options
 3455 No first char
 3456 No need char
 3457 
 3458 /\d456/I
 3459 Capturing subpattern count = 0
 3460 No options
 3461 No first char
 3462 Need char = '6'
 3463 
 3464 /\d456/IS
 3465 Capturing subpattern count = 0
 3466 No options
 3467 No first char
 3468 Need char = '6'
 3469 Subject length lower bound = 4
 3470 Starting chars: 0 1 2 3 4 5 6 7 8 9 
 3471 
 3472 /a^b/I
 3473 Capturing subpattern count = 0
 3474 No options
 3475 First char = 'a'
 3476 Need char = 'b'
 3477 
 3478 /^a/Im
 3479 Capturing subpattern count = 0
 3480 Options: multiline
 3481 First char at start or follows newline
 3482 Need char = 'a'
 3483   abcde
 3484  0: a
 3485   xy\nabc
 3486  0: a
 3487   *** Failers
 3488 No match
 3489   xyabc
 3490 No match
 3491 
 3492 /c|abc/I
 3493 Capturing subpattern count = 0
 3494 No options
 3495 No first char
 3496 Need char = 'c'
 3497 
 3498 /(?i)[ab]/IS
 3499 Capturing subpattern count = 0
 3500 No options
 3501 No first char
 3502 No need char
 3503 Subject length lower bound = 1
 3504 Starting chars: A B a b 
 3505 
 3506 /[ab](?i)cd/IS
 3507 Capturing subpattern count = 0
 3508 No options
 3509 No first char
 3510 Need char = 'd' (caseless)
 3511 Subject length lower bound = 3
 3512 Starting chars: a b 
 3513 
 3514 /abc(?C)def/I
 3515 Capturing subpattern count = 0
 3516 No options
 3517 First char = 'a'
 3518 Need char = 'f'
 3519     abcdef
 3520 --->abcdef
 3521   0 ^  ^       d
 3522  0: abcdef
 3523     1234abcdef
 3524 --->1234abcdef
 3525   0     ^  ^       d
 3526  0: abcdef
 3527     *** Failers
 3528 No match
 3529     abcxyz
 3530 No match
 3531     abcxyzf
 3532 --->abcxyzf
 3533   0 ^  ^        d
 3534 No match
 3535 
 3536 /abc(?C)de(?C1)f/I
 3537 Capturing subpattern count = 0
 3538 No options
 3539 First char = 'a'
 3540 Need char = 'f'
 3541     123abcdef
 3542 --->123abcdef
 3543   0    ^  ^       d
 3544   1    ^    ^     f
 3545  0: abcdef
 3546 
 3547 /(?C1)\dabc(?C2)def/IS
 3548 Capturing subpattern count = 0
 3549 No options
 3550 No first char
 3551 Need char = 'f'
 3552 Subject length lower bound = 7
 3553 Starting chars: 0 1 2 3 4 5 6 7 8 9 
 3554     1234abcdef
 3555 --->1234abcdef
 3556   1 ^              \d
 3557   1  ^             \d
 3558   1   ^            \d
 3559   1    ^           \d
 3560   2    ^   ^       d
 3561  0: 4abcdef
 3562     *** Failers
 3563 No match
 3564     abcdef
 3565 No match
 3566 
 3567 /(?C1)\dabc(?C2)def/ISS
 3568 Capturing subpattern count = 0
 3569 No options
 3570 No first char
 3571 Need char = 'f'
 3572     1234abcdef
 3573 --->1234abcdef
 3574   1 ^              \d
 3575   1  ^             \d
 3576   1   ^            \d
 3577   1    ^           \d
 3578   2    ^   ^       d
 3579  0: 4abcdef
 3580     *** Failers
 3581 No match
 3582     abcdef
 3583 --->abcdef
 3584   1 ^          \d
 3585   1  ^         \d
 3586   1   ^        \d
 3587   1    ^       \d
 3588   1     ^      \d
 3589   1      ^     \d
 3590 No match
 3591 
 3592 /(?C255)ab/I
 3593 Capturing subpattern count = 0
 3594 No options
 3595 First char = 'a'
 3596 Need char = 'b'
 3597 
 3598 /(?C256)ab/I
 3599 Failed: number after (?C is > 255 at offset 6
 3600 
 3601 /(?Cab)xx/I
 3602 Failed: closing ) for (?C expected at offset 3
 3603 
 3604 /(?C12vr)x/I
 3605 Failed: closing ) for (?C expected at offset 5
 3606 
 3607 /abc(?C)def/I
 3608 Capturing subpattern count = 0
 3609 No options
 3610 First char = 'a'
 3611 Need char = 'f'
 3612     *** Failers
 3613 No match
 3614     \x83\x0\x61bcdef
 3615 --->\x83\x00abcdef
 3616   0         ^  ^       d
 3617  0: abcdef
 3618 
 3619 /(abc)(?C)de(?C1)f/I
 3620 Capturing subpattern count = 1
 3621 No options
 3622 First char = 'a'
 3623 Need char = 'f'
 3624     123abcdef
 3625 --->123abcdef
 3626   0    ^  ^       d
 3627   1    ^    ^     f
 3628  0: abcdef
 3629  1: abc
 3630     123abcdef\C+
 3631 Callout 0: last capture = 1
 3632  0: <unset>
 3633  1: abc
 3634 --->123abcdef
 3635        ^  ^       d
 3636 Callout 1: last capture = 1
 3637  0: <unset>
 3638  1: abc
 3639 --->123abcdef
 3640        ^    ^     f
 3641  0: abcdef
 3642  1: abc
 3643     123abcdef\C-
 3644  0: abcdef
 3645  1: abc
 3646     *** Failers
 3647 No match
 3648     123abcdef\C!1
 3649 --->123abcdef
 3650   0    ^  ^       d
 3651   1    ^    ^     f
 3652 No match
 3653 
 3654 /(?C0)(abc(?C1))*/I
 3655 Capturing subpattern count = 1
 3656 May match empty string
 3657 No options
 3658 No first char
 3659 No need char
 3660     abcabcabc
 3661 --->abcabcabc
 3662   0 ^             (abc(?C1))*
 3663   1 ^  ^          )
 3664   1 ^     ^       )
 3665   1 ^        ^    )
 3666  0: abcabcabc
 3667  1: abc
 3668     abcabc\C!1!3
 3669 --->abcabc
 3670   0 ^          (abc(?C1))*
 3671   1 ^  ^       )
 3672   1 ^     ^    )
 3673  0: abcabc
 3674  1: abc
 3675     *** Failers
 3676 --->*** Failers
 3677   0 ^               (abc(?C1))*
 3678  0: 
 3679     abcabcabc\C!1!3
 3680 --->abcabcabc
 3681   0 ^             (abc(?C1))*
 3682   1 ^  ^          )
 3683   1 ^     ^       )
 3684   1 ^        ^    )
 3685  0: abcabc
 3686  1: abc
 3687 
 3688 /(\d{3}(?C))*/I
 3689 Capturing subpattern count = 1
 3690 May match empty string
 3691 No options
 3692 No first char
 3693 No need char
 3694     123\C+
 3695 Callout 0: last capture = -1
 3696  0: <unset>
 3697 --->123
 3698     ^  ^    )
 3699  0: 123
 3700  1: 123
 3701     123456\C+
 3702 Callout 0: last capture = -1
 3703  0: <unset>
 3704 --->123456
 3705     ^  ^       )
 3706 Callout 0: last capture = 1
 3707  0: <unset>
 3708  1: 123
 3709 --->123456
 3710     ^     ^    )
 3711  0: 123456
 3712  1: 456
 3713     123456789\C+
 3714 Callout 0: last capture = -1
 3715  0: <unset>
 3716 --->123456789
 3717     ^  ^          )
 3718 Callout 0: last capture = 1
 3719  0: <unset>
 3720  1: 123
 3721 --->123456789
 3722     ^     ^       )
 3723 Callout 0: last capture = 1
 3724  0: <unset>
 3725  1: 456
 3726 --->123456789
 3727     ^        ^    )
 3728  0: 123456789
 3729  1: 789
 3730 
 3731 /((xyz)(?C)p|(?C1)xyzabc)/I
 3732 Capturing subpattern count = 2
 3733 No options
 3734 First char = 'x'
 3735 No need char
 3736     xyzabc\C+
 3737 Callout 0: last capture = 2
 3738  0: <unset>
 3739  1: <unset>
 3740  2: xyz
 3741 --->xyzabc
 3742     ^  ^       p
 3743 Callout 1: last capture = -1
 3744  0: <unset>
 3745 --->xyzabc
 3746     ^          x
 3747  0: xyzabc
 3748  1: xyzabc
 3749 
 3750 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
 3751 Capturing subpattern count = 3
 3752 No options
 3753 First char = 'X'
 3754 Need char = 'x'
 3755     Xxyzabc\C+
 3756 Callout 0: last capture = 3
 3757  0: <unset>
 3758  1: X
 3759  2: <unset>
 3760  3: xyz
 3761 --->Xxyzabc
 3762     ^   ^       p
 3763 Callout 1: last capture = 1
 3764  0: <unset>
 3765  1: X
 3766 --->Xxyzabc
 3767     ^^          x
 3768  0: Xxyzabc
 3769  1: X
 3770  2: xyzabc
 3771 
 3772 /(?=(abc))(?C)abcdef/I
 3773 Capturing subpattern count = 1
 3774 No options
 3775 First char = 'a'
 3776 Need char = 'f'
 3777     abcdef\C+
 3778 Callout 0: last capture = 1
 3779  0: <unset>
 3780  1: abc
 3781 --->abcdef
 3782     ^          a
 3783  0: abcdef
 3784  1: abc
 3785 
 3786 /(?!(abc)(?C1)d)(?C2)abcxyz/I
 3787 Capturing subpattern count = 1
 3788 No options
 3789 First char = 'a'
 3790 Need char = 'z'
 3791     abcxyz\C+
 3792 Callout 1: last capture = 1
 3793  0: <unset>
 3794  1: abc
 3795 --->abcxyz
 3796     ^  ^       d
 3797 Callout 2: last capture = -1
 3798  0: <unset>
 3799 --->abcxyz
 3800     ^          a
 3801  0: abcxyz
 3802 
 3803 /(?<=(abc)(?C))xyz/I
 3804 Capturing subpattern count = 1
 3805 Max lookbehind = 3
 3806 No options
 3807 First char = 'x'
 3808 Need char = 'z'
 3809    abcxyz\C+
 3810 Callout 0: last capture = 1
 3811  0: <unset>
 3812  1: abc
 3813 --->abcxyz
 3814        ^       )
 3815  0: xyz
 3816  1: abc
 3817 
 3818 /a(b+)(c*)(?C1)/I
 3819 Capturing subpattern count = 2
 3820 No options
 3821 First char = 'a'
 3822 Need char = 'b'
 3823     abbbbbccc\C*1
 3824 --->abbbbbccc
 3825   1 ^        ^    
 3826 Callout data = 1
 3827 No match
 3828 
 3829 /a(b+?)(c*?)(?C1)/I
 3830 Capturing subpattern count = 2
 3831 No options
 3832 First char = 'a'
 3833 Need char = 'b'
 3834     abbbbbccc\C*1
 3835 --->abbbbbccc
 3836   1 ^ ^           
 3837 Callout data = 1
 3838   1 ^  ^          
 3839 Callout data = 1
 3840   1 ^   ^         
 3841 Callout data = 1
 3842   1 ^    ^        
 3843 Callout data = 1
 3844   1 ^     ^       
 3845 Callout data = 1
 3846   1 ^      ^      
 3847 Callout data = 1
 3848   1 ^       ^     
 3849 Callout data = 1
 3850   1 ^        ^    
 3851 Callout data = 1
 3852 No match
 3853 
 3854 /(?C)abc/I
 3855 Capturing subpattern count = 0
 3856 No options
 3857 First char = 'a'
 3858 Need char = 'c'
 3859 
 3860 /(?C)^abc/I
 3861 Capturing subpattern count = 0
 3862 Options: anchored
 3863 No first char
 3864 No need char
 3865 
 3866 /(?C)a|b/IS
 3867 Capturing subpattern count = 0
 3868 No options
 3869 No first char
 3870 No need char
 3871 Subject length lower bound = 1
 3872 Starting chars: a b 
 3873 
 3874 /(?R)/I
 3875 Failed: recursive call could loop indefinitely at offset 3
 3876 
 3877 /(a|(?R))/I
 3878 Failed: recursive call could loop indefinitely at offset 6
 3879 
 3880 /(ab|(bc|(de|(?R))))/I
 3881 Failed: recursive call could loop indefinitely at offset 15
 3882 
 3883 /x(ab|(bc|(de|(?R))))/I
 3884 Capturing subpattern count = 3
 3885 No options
 3886 First char = 'x'
 3887 No need char
 3888     xab
 3889  0: xab
 3890  1: ab
 3891     xbc
 3892  0: xbc
 3893  1: bc
 3894  2: bc
 3895     xde
 3896  0: xde
 3897  1: de
 3898  2: de
 3899  3: de
 3900     xxab
 3901  0: xxab
 3902  1: xab
 3903  2: xab
 3904  3: xab
 3905     xxxab
 3906  0: xxxab
 3907  1: xxab
 3908  2: xxab
 3909  3: xxab
 3910     *** Failers
 3911 No match
 3912     xyab
 3913 No match
 3914 
 3915 /(ab|(bc|(de|(?1))))/I
 3916 Failed: recursive call could loop indefinitely at offset 15
 3917 
 3918 /x(ab|(bc|(de|(?1)x)x)x)/I
 3919 Failed: recursive call could loop indefinitely at offset 16
 3920 
 3921 /^([^()]|\((?1)*\))*$/I
 3922 Capturing subpattern count = 1
 3923 May match empty string
 3924 Options: anchored
 3925 No first char
 3926 No need char
 3927     abc
 3928  0: abc
 3929  1: c
 3930     a(b)c
 3931  0: a(b)c
 3932  1: c
 3933     a(b(c))d
 3934  0: a(b(c))d
 3935  1: d
 3936     *** Failers)
 3937 No match
 3938     a(b(c)d
 3939 No match
 3940 
 3941 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
 3942 Capturing subpattern count = 1
 3943 Options: anchored
 3944 No first char
 3945 Need char = '<'
 3946    >abc>123<xyz<
 3947  0: >abc>123<xyz<
 3948  1: 3
 3949    >abc>1(2)3<xyz<
 3950  0: >abc>1(2)3<xyz<
 3951  1: 3
 3952    >abc>(1(2)3)<xyz<
 3953  0: >abc>(1(2)3)<xyz<
 3954  1: (1(2)3)
 3955 
 3956 /(a(?1)b)/DZ
 3957 ------------------------------------------------------------------
 3958         Bra
 3959         CBra 1
 3960         a
 3961         Recurse
 3962         b
 3963         Ket
 3964         Ket
 3965         End
 3966 ------------------------------------------------------------------
 3967 Capturing subpattern count = 1
 3968 No options
 3969 First char = 'a'
 3970 Need char = 'b'
 3971 
 3972 /(a(?1)+b)/DZ
 3973 ------------------------------------------------------------------
 3974         Bra
 3975         CBra 1
 3976         a
 3977         Once
 3978         Recurse
 3979         KetRmax
 3980         b
 3981         Ket
 3982         Ket
 3983         End
 3984 ------------------------------------------------------------------
 3985 Capturing subpattern count = 1
 3986 No options
 3987 First char = 'a'
 3988 Need char = 'b'
 3989 
 3990 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
 3991 Capturing subpattern count = 2
 3992 Options: anchored
 3993 No first char
 3994 No need char
 3995     12
 3996  0: 12
 3997  1: 12
 3998     (((2+2)*-3)-7)
 3999  0: (((2+2)*-3)-7)
 4000  1: (((2+2)*-3)-7)
 4001  2: -
 4002     -12
 4003  0: -12
 4004  1: -12
 4005     *** Failers
 4006 No match
 4007     ((2+2)*-3)-7)
 4008 No match
 4009 
 4010 /^(x(y|(?1){2})z)/I
 4011 Capturing subpattern count = 2
 4012 Options: anchored
 4013 No first char
 4014 No need char
 4015     xyz
 4016  0: xyz
 4017  1: xyz
 4018  2: y
 4019     xxyzxyzz
 4020  0: xxyzxyzz
 4021  1: xxyzxyzz
 4022  2: xyzxyz
 4023     *** Failers
 4024 No match
 4025     xxyzz
 4026 No match
 4027     xxyzxyzxyzz
 4028 No match
 4029 
 4030 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
 4031 Capturing subpattern count = 2
 4032 Options: extended
 4033 First char = '<'
 4034 Need char = '>'
 4035     <>
 4036  0: <>
 4037  1: <>
 4038  2: <>
 4039     <abcd>
 4040  0: <abcd>
 4041  1: <abcd>
 4042  2: <abcd>
 4043     <abc <123> hij>
 4044  0: <abc <123> hij>
 4045  1: <abc <123> hij>
 4046  2: <abc <123> hij>
 4047     <abc <def> hij>
 4048  0: <def>
 4049  1: <def>
 4050  2: <def>
 4051     <abc<>def>
 4052  0: <abc<>def>
 4053  1: <abc<>def>
 4054  2: <abc<>def>
 4055     <abc<>
 4056  0: <>
 4057  1: <>
 4058  2: <>
 4059     *** Failers
 4060 No match
 4061     <abc
 4062 No match
 4063 
 4064 /(?1)/I
 4065 Failed: reference to non-existent subpattern at offset 3
 4066 
 4067 /((?2)(abc)/I
 4068 Failed: missing ) at offset 10
 4069 
 4070 /^(abc)def(?1)/I
 4071 Capturing subpattern count = 1
 4072 Options: anchored
 4073 No first char
 4074 No need char
 4075     abcdefabc
 4076  0: abcdefabc
 4077  1: abc
 4078 
 4079 /^(a|b|c)=(?1)+/I
 4080 Capturing subpattern count = 1
 4081 Options: anchored
 4082 No first char
 4083 No need char
 4084     a=a
 4085  0: a=a
 4086  1: a
 4087     a=b
 4088  0: a=b
 4089  1: a
 4090     a=bc
 4091  0: a=bc
 4092  1: a
 4093 
 4094 /^(a|b|c)=((?1))+/I
 4095 Capturing subpattern count = 2
 4096 Options: anchored
 4097 No first char
 4098 No need char
 4099     a=a
 4100  0: a=a
 4101  1: a
 4102  2: a
 4103     a=b
 4104  0: a=b
 4105  1: a
 4106  2: b
 4107     a=bc
 4108  0: a=bc
 4109  1: a
 4110  2: c
 4111 
 4112 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
 4113 ------------------------------------------------------------------
 4114         Bra
 4115         a
 4116         CBra 1
 4117         b
 4118         Alt
 4119         c
 4120         Ket
 4121         d
 4122         CBra 2
 4123         e
 4124         Ket
 4125         Ket
 4126         End
 4127 ------------------------------------------------------------------
 4128 Capturing subpattern count = 2
 4129 Named capturing subpatterns:
 4130   longername2   2
 4131   name1         1
 4132 No options
 4133 First char = 'a'
 4134 Need char = 'e'
 4135     abde
 4136  0: abde
 4137  1: b
 4138  2: e
 4139     acde
 4140  0: acde
 4141  1: c
 4142  2: e
 4143 
 4144 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
 4145 ------------------------------------------------------------------
 4146         Bra
 4147         Bra
 4148         a
 4149         CBra 1
 4150         c
 4151         CBra 2
 4152         d
 4153         Ket
 4154         Ket
 4155         Ket
 4156         CBra 3
 4157         a
 4158         Ket
 4159         Ket
 4160         End
 4161 ------------------------------------------------------------------
 4162 Capturing subpattern count = 3
 4163 Named capturing subpatterns:
 4164   a   3
 4165   c   1
 4166   d   2
 4167 No options
 4168 First char = 'a'
 4169 Need char = 'a'
 4170 
 4171 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
 4172 ------------------------------------------------------------------
 4173         Bra
 4174         CBra 1
 4175         a
 4176         Ket
 4177         Any
 4178         Any
 4179         Any
 4180         \1
 4181         bbb
 4182         Recurse
 4183         d
 4184         Ket
 4185         End
 4186 ------------------------------------------------------------------
 4187 Capturing subpattern count = 1
 4188 Max back reference = 1
 4189 Named capturing subpatterns:
 4190   a   1
 4191 No options
 4192 First char = 'a'
 4193 Need char = 'd'
 4194 
 4195 /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii
 4196 Capturing subpattern count = 4
 4197 Max back reference = 4
 4198 Named capturing subpatterns:
 4199   four    4
 4200   one     1
 4201   three   3
 4202   two     2
 4203 May match empty string
 4204 Options: anchored caseless
 4205 No first char
 4206 No need char
 4207     1221
 4208  0: 1221
 4209  1: 1221
 4210  2: 1
 4211     Satan, oscillate my metallic sonatas!
 4212  0: Satan, oscillate my metallic sonatas!
 4213  1: <unset>
 4214  2: <unset>
 4215  3: Satan, oscillate my metallic sonatas
 4216  4: S
 4217     A man, a plan, a canal: Panama!
 4218  0: A man, a plan, a canal: Panama!
 4219  1: <unset>
 4220  2: <unset>
 4221  3: A man, a plan, a canal: Panama
 4222  4: A
 4223     Able was I ere I saw Elba.
 4224  0: Able was I ere I saw Elba.
 4225  1: <unset>
 4226  2: <unset>
 4227  3: Able was I ere I saw Elba
 4228  4: A
 4229     *** Failers
 4230 No match
 4231     The quick brown fox
 4232 No match
 4233 
 4234 /((?(R)a|b))\1(?1)?/I
 4235 Capturing subpattern count = 1
 4236 Max back reference = 1
 4237 No options
 4238 No first char
 4239 No need char
 4240   bb
 4241  0: bb
 4242  1: b
 4243   bbaa
 4244  0: bba
 4245  1: b
 4246 
 4247 /(.*)a/Is
 4248 Capturing subpattern count = 1
 4249 Options: anchored dotall
 4250 No first char
 4251 Need char = 'a'
 4252 
 4253 /(.*)a\1/Is
 4254 Capturing subpattern count = 1
 4255 Max back reference = 1
 4256 Options: dotall
 4257 No first char
 4258 Need char = 'a'
 4259 
 4260 /(.*)a(b)\2/Is
 4261 Capturing subpattern count = 2
 4262 Max back reference = 2
 4263 Options: anchored dotall
 4264 No first char
 4265 Need char = 'b'
 4266 
 4267 /((.*)a|(.*)b)z/Is
 4268 Capturing subpattern count = 3
 4269 Options: anchored dotall
 4270 No first char
 4271 Need char = 'z'
 4272 
 4273 /((.*)a|(.*)b)z\1/Is
 4274 Capturing subpattern count = 3
 4275 Max back reference = 1
 4276 Options: dotall
 4277 No first char
 4278 Need char = 'z'
 4279 
 4280 /((.*)a|(.*)b)z\2/Is
 4281 Capturing subpattern count = 3
 4282 Max back reference = 2
 4283 Options: dotall
 4284 No first char
 4285 Need char = 'z'
 4286 
 4287 /((.*)a|(.*)b)z\3/Is
 4288 Capturing subpattern count = 3
 4289 Max back reference = 3
 4290 Options: dotall
 4291 No first char
 4292 Need char = 'z'
 4293 
 4294 /((.*)a|^(.*)b)z\3/Is
 4295 Capturing subpattern count = 3
 4296 Max back reference = 3
 4297 Options: anchored dotall
 4298 No first char
 4299 Need char = 'z'
 4300 
 4301 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
 4302 Capturing subpattern count = 31
 4303 May match empty string
 4304 Options: anchored dotall
 4305 No first char
 4306 No need char
 4307 
 4308 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
 4309 Capturing subpattern count = 31
 4310 Max back reference = 31
 4311 May match empty string
 4312 Options: dotall
 4313 No first char
 4314 No need char
 4315 
 4316 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
 4317 Capturing subpattern count = 32
 4318 Max back reference = 32
 4319 May match empty string
 4320 Options: dotall
 4321 No first char
 4322 No need char
 4323 
 4324 /(a)(bc)/INDZ
 4325 ------------------------------------------------------------------
 4326         Bra
 4327         Bra
 4328         a
 4329         Ket
 4330         Bra
 4331         bc
 4332         Ket
 4333         Ket
 4334         End
 4335 ------------------------------------------------------------------
 4336 Capturing subpattern count = 0
 4337 Options: no_auto_capture
 4338 First char = 'a'
 4339 Need char = 'c'
 4340   abc
 4341  0: abc
 4342 
 4343 /(?P<one>a)(bc)/INDZ
 4344 ------------------------------------------------------------------
 4345         Bra
 4346         CBra 1
 4347         a
 4348         Ket
 4349         Bra
 4350         bc
 4351         Ket
 4352         Ket
 4353         End
 4354 ------------------------------------------------------------------
 4355 Capturing subpattern count = 1
 4356 Named capturing subpatterns:
 4357   one   1
 4358 Options: no_auto_capture
 4359 First char = 'a'
 4360 Need char = 'c'
 4361   abc
 4362  0: abc
 4363  1: a
 4364 
 4365 /(a)(?P<named>bc)/INDZ
 4366 ------------------------------------------------------------------
 4367         Bra
 4368         Bra
 4369         a
 4370         Ket
 4371         CBra 1
 4372         bc
 4373         Ket
 4374         Ket
 4375         End
 4376 ------------------------------------------------------------------
 4377 Capturing subpattern count = 1
 4378 Named capturing subpatterns:
 4379   named   1
 4380 Options: no_auto_capture
 4381 First char = 'a'
 4382 Need char = 'c'
 4383 
 4384 /(a+)*zz/I
 4385 Capturing subpattern count = 1
 4386 No options
 4387 No first char
 4388 Need char = 'z'
 4389   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
 4390 Minimum match() limit = 8
 4391 Minimum match() recursion limit = 6
 4392  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
 4393  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 4394   aaaaaaaaaaaaaz\M
 4395 Minimum match() limit = 32768
 4396 Minimum match() recursion limit = 29
 4397 No match
 4398 
 4399 /(aaa(?C1)bbb|ab)/I
 4400 Capturing subpattern count = 1
 4401 No options
 4402 First char = 'a'
 4403 Need char = 'b'
 4404    aaabbb
 4405 --->aaabbb
 4406   1 ^  ^       b
 4407  0: aaabbb
 4408  1: aaabbb
 4409    aaabbb\C*0
 4410 --->aaabbb
 4411   1 ^  ^       b
 4412  0: aaabbb
 4413  1: aaabbb
 4414    aaabbb\C*1
 4415 --->aaabbb
 4416   1 ^  ^       b
 4417 Callout data = 1
 4418  0: ab
 4419  1: ab
 4420    aaabbb\C*-1
 4421 --->aaabbb
 4422   1 ^  ^       b
 4423 Callout data = -1
 4424 No match
 4425 
 4426 /ab(?P<one>cd)ef(?P<two>gh)/I
 4427 Capturing subpattern count = 2
 4428 Named capturing subpatterns:
 4429   one   1
 4430   two   2
 4431 No options
 4432 First char = 'a'
 4433 Need char = 'h'
 4434     abcdefgh
 4435  0: abcdefgh
 4436  1: cd
 4437  2: gh
 4438     abcdefgh\C1\Gtwo
 4439  0: abcdefgh
 4440  1: cd
 4441  2: gh
 4442  1C cd (2)
 4443   G gh (2) two
 4444     abcdefgh\Cone\Ctwo
 4445  0: abcdefgh
 4446  1: cd
 4447  2: gh
 4448   C cd (2) one
 4449   C gh (2) two
 4450     abcdefgh\Cthree
 4451 no parentheses with name "three"
 4452  0: abcdefgh
 4453  1: cd
 4454  2: gh
 4455 copy substring three failed -7
 4456 
 4457 /(?P<Tes>)(?P<Test>)/DZ
 4458 ------------------------------------------------------------------
 4459         Bra
 4460         CBra 1
 4461         Ket
 4462         CBra 2
 4463         Ket
 4464         Ket
 4465         End
 4466 ------------------------------------------------------------------
 4467 Capturing subpattern count = 2
 4468 Named capturing subpatterns:
 4469   Tes    1
 4470   Test   2
 4471 May match empty string
 4472 No options
 4473 No first char
 4474 No need char
 4475 
 4476 /(?P<Test>)(?P<Tes>)/DZ
 4477 ------------------------------------------------------------------
 4478         Bra
 4479         CBra 1
 4480         Ket
 4481         CBra 2
 4482         Ket
 4483         Ket
 4484         End
 4485 ------------------------------------------------------------------
 4486 Capturing subpattern count = 2
 4487 Named capturing subpatterns:
 4488   Tes    2
 4489   Test   1
 4490 May match empty string
 4491 No options
 4492 No first char
 4493 No need char
 4494 
 4495 /(?P<Z>zz)(?P<A>aa)/I
 4496 Capturing subpattern count = 2
 4497 Named capturing subpatterns:
 4498   A   2
 4499   Z   1
 4500 No options
 4501 First char = 'z'
 4502 Need char = 'a'
 4503     zzaa\CZ
 4504  0: zzaa
 4505  1: zz
 4506  2: aa
 4507   C zz (2) Z
 4508     zzaa\CA
 4509  0: zzaa
 4510  1: zz
 4511  2: aa
 4512   C aa (2) A
 4513 
 4514 /(?P<x>eks)(?P<x>eccs)/I
 4515 Failed: two named subpatterns have the same name at offset 15
 4516 
 4517 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
 4518 Failed: two named subpatterns have the same name at offset 30
 4519 
 4520 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
 4521 Capturing subpattern count = 3
 4522 Named capturing subpatterns:
 4523   elem   2
 4524 No options
 4525 First char = '['
 4526 Need char = ']'
 4527     [10,20,30,5,5,4,4,2,43,23,4234]
 4528  0: [10,20,30,5,5,4,4,2,43,23,4234]
 4529  1: 10,20,30,5,5,4,4,2,43,23,4234
 4530  2: 10
 4531  3: ,4234
 4532     *** Failers
 4533 No match
 4534     []
 4535 No match
 4536 
 4537 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
 4538 Capturing subpattern count = 3
 4539 Named capturing subpatterns:
 4540   elem   2
 4541 No options
 4542 First char = '['
 4543 Need char = ']'
 4544     [10,20,30,5,5,4,4,2,43,23,4234]
 4545  0: [10,20,30,5,5,4,4,2,43,23,4234]
 4546  1: 10,20,30,5,5,4,4,2,43,23,4234
 4547  2: 10
 4548  3: ,4234
 4549     []
 4550  0: []
 4551 
 4552 /(a(b(?2)c))?/DZ
 4553 ------------------------------------------------------------------
 4554         Bra
 4555         Brazero
 4556         CBra 1
 4557         a
 4558         CBra 2
 4559         b
 4560         Recurse
 4561         c
 4562         Ket
 4563         Ket
 4564         Ket
 4565         End
 4566 ------------------------------------------------------------------
 4567 Capturing subpattern count = 2
 4568 May match empty string
 4569 No options
 4570 No first char
 4571 No need char
 4572 
 4573 /(a(b(?2)c))*/DZ
 4574 ------------------------------------------------------------------
 4575         Bra
 4576         Brazero
 4577         CBra 1
 4578         a
 4579         CBra 2
 4580         b
 4581         Recurse
 4582         c
 4583         Ket
 4584         KetRmax
 4585         Ket
 4586         End
 4587 ------------------------------------------------------------------
 4588 Capturing subpattern count = 2
 4589 May match empty string
 4590 No options
 4591 No first char
 4592 No need char
 4593 
 4594 /(a(b(?2)c)){0,2}/DZ
 4595 ------------------------------------------------------------------
 4596         Bra
 4597         Brazero
 4598         Bra
 4599         CBra 1
 4600         a
 4601         CBra 2
 4602         b
 4603         Recurse
 4604         c
 4605         Ket
 4606         Ket
 4607         Brazero
 4608         CBra 1
 4609         a
 4610         CBra 2
 4611         b
 4612         Recurse
 4613         c
 4614         Ket
 4615         Ket
 4616         Ket
 4617         Ket
 4618         End
 4619 ------------------------------------------------------------------
 4620 Capturing subpattern count = 2
 4621 May match empty string
 4622 No options
 4623 No first char
 4624 No need char
 4625 
 4626 /[ab]{1}+/DZ
 4627 ------------------------------------------------------------------
 4628         Bra
 4629         [ab]{1,1}+
 4630         Ket
 4631         End
 4632 ------------------------------------------------------------------
 4633 Capturing subpattern count = 0
 4634 No options
 4635 No first char
 4636 No need char
 4637 
 4638 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
 4639 Capturing subpattern count = 3
 4640 Options: caseless
 4641 No first char
 4642 Need char = 'g' (caseless)
 4643      Baby Bjorn Active Carrier - With free SHIPPING!!
 4644  0: Baby Bjorn Active Carrier - With free SHIPPING!!
 4645  1: Baby Bjorn Active Carrier - With free SHIPPING!!
 4646 
 4647 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
 4648 Capturing subpattern count = 3
 4649 Options: caseless
 4650 No first char
 4651 Need char = 'g' (caseless)
 4652 Subject length lower bound = 8
 4653 No starting char list
 4654      Baby Bjorn Active Carrier - With free SHIPPING!!
 4655  0: Baby Bjorn Active Carrier - With free SHIPPING!!
 4656  1: Baby Bjorn Active Carrier - With free SHIPPING!!
 4657 
 4658 /a*.*b/ISDZ
 4659 ------------------------------------------------------------------
 4660         Bra
 4661         a*
 4662         Any*
 4663         b
 4664         Ket
 4665         End
 4666 ------------------------------------------------------------------
 4667 Capturing subpattern count = 0
 4668 No options
 4669 No first char
 4670 Need char = 'b'
 4671 Subject length lower bound = 1
 4672 No starting char list
 4673 
 4674 /(a|b)*.?c/ISDZ
 4675 ------------------------------------------------------------------
 4676         Bra
 4677         Brazero
 4678         CBra 1
 4679         a
 4680         Alt
 4681         b
 4682         KetRmax
 4683         Any?
 4684         c
 4685         Ket
 4686         End
 4687 ------------------------------------------------------------------
 4688 Capturing subpattern count = 1
 4689 No options
 4690 No first char
 4691 Need char = 'c'
 4692 Subject length lower bound = 1
 4693 No starting char list
 4694 
 4695 /abc(?C255)de(?C)f/DZ
 4696 ------------------------------------------------------------------
 4697         Bra
 4698         abc
 4699         Callout 255 10 1
 4700         de
 4701         Callout 0 16 1
 4702         f
 4703         Ket
 4704         End
 4705 ------------------------------------------------------------------
 4706 Capturing subpattern count = 0
 4707 No options
 4708 First char = 'a'
 4709 Need char = 'f'
 4710 
 4711 /abcde/ICDZ
 4712 ------------------------------------------------------------------
 4713         Bra
 4714         Callout 255 0 1
 4715         a
 4716         Callout 255 1 1
 4717         b
 4718         Callout 255 2 1
 4719         c
 4720         Callout 255 3 1
 4721         d
 4722         Callout 255 4 1
 4723         e
 4724         Callout 255 5 0
 4725         Ket
 4726         End
 4727 ------------------------------------------------------------------
 4728 Capturing subpattern count = 0
 4729 Options:
 4730 First char = 'a'
 4731 Need char = 'e'
 4732   abcde
 4733 --->abcde
 4734  +0 ^         a
 4735  +1 ^^        b
 4736  +2 ^ ^       c
 4737  +3 ^  ^      d
 4738  +4 ^   ^     e
 4739  +5 ^    ^    
 4740  0: abcde
 4741   abcdfe
 4742 --->abcdfe
 4743  +0 ^          a
 4744  +1 ^^         b
 4745  +2 ^ ^        c
 4746  +3 ^  ^       d
 4747  +4 ^   ^      e
 4748 No match
 4749 
 4750 /a*b/ICDZS
 4751 ------------------------------------------------------------------
 4752         Bra
 4753         Callout 255 0 2
 4754         a*+
 4755         Callout 255 2 1
 4756         b
 4757         Callout 255 3 0
 4758         Ket
 4759         End
 4760 ------------------------------------------------------------------
 4761 Capturing subpattern count = 0
 4762 Options:
 4763 No first char
 4764 Need char = 'b'
 4765 Subject length lower bound = 1
 4766 Starting chars: a b 
 4767   ab
 4768 --->ab
 4769  +0 ^      a*
 4770  +2 ^^     b
 4771  +3 ^ ^    
 4772  0: ab
 4773   aaaab
 4774 --->aaaab
 4775  +0 ^         a*
 4776  +2 ^   ^     b
 4777  +3 ^    ^    
 4778  0: aaaab
 4779   aaaacb
 4780 --->aaaacb
 4781  +0 ^          a*
 4782  +2 ^   ^      b
 4783  +0  ^         a*
 4784  +2  ^  ^      b
 4785  +0   ^        a*
 4786  +2   ^ ^      b
 4787  +0    ^       a*
 4788  +2    ^^      b
 4789  +0      ^     a*
 4790  +2      ^     b
 4791  +3      ^^    
 4792  0: b
 4793 
 4794 /a*b/ICDZSS
 4795 ------------------------------------------------------------------
 4796         Bra
 4797         Callout 255 0 2
 4798         a*+
 4799         Callout 255 2 1
 4800         b
 4801         Callout 255 3 0
 4802         Ket
 4803         End
 4804 ------------------------------------------------------------------
 4805 Capturing subpattern count = 0
 4806 Options:
 4807 No first char
 4808 Need char = 'b'
 4809   ab
 4810 --->ab
 4811  +0 ^      a*
 4812  +2 ^^     b
 4813  +3 ^ ^    
 4814  0: ab
 4815   aaaab
 4816 --->aaaab
 4817  +0 ^         a*
 4818  +2 ^   ^     b
 4819  +3 ^    ^    
 4820  0: aaaab
 4821   aaaacb
 4822 --->aaaacb
 4823  +0 ^          a*
 4824  +2 ^   ^      b
 4825  +0  ^         a*
 4826  +2  ^  ^      b
 4827  +0   ^        a*
 4828  +2   ^ ^      b
 4829  +0    ^       a*
 4830  +2    ^^      b
 4831  +0     ^      a*
 4832  +2     ^      b
 4833  +0      ^     a*
 4834  +2      ^     b
 4835  +3      ^^    
 4836  0: b
 4837 
 4838 /a+b/ICDZ
 4839 ------------------------------------------------------------------
 4840         Bra
 4841         Callout 255 0 2
 4842         a++
 4843         Callout 255 2 1
 4844         b
 4845         Callout 255 3 0
 4846         Ket
 4847         End
 4848 ------------------------------------------------------------------
 4849 Capturing subpattern count = 0
 4850 Options:
 4851 First char = 'a'
 4852 Need char = 'b'
 4853   ab
 4854 --->ab
 4855  +0 ^      a+
 4856  +2 ^^     b
 4857  +3 ^ ^    
 4858  0: ab
 4859   aaaab
 4860 --->aaaab
 4861  +0 ^         a+
 4862  +2 ^   ^     b
 4863  +3 ^    ^    
 4864  0: aaaab
 4865   aaaacb
 4866 --->aaaacb
 4867  +0 ^          a+
 4868  +2 ^   ^      b
 4869  +0  ^         a+
 4870  +2  ^  ^      b
 4871  +0   ^        a+
 4872  +2   ^ ^      b
 4873  +0    ^       a+
 4874  +2    ^^      b
 4875 No match
 4876 
 4877 /(abc|def)x/ICDZS
 4878 ------------------------------------------------------------------
 4879         Bra
 4880         Callout 255 0 9
 4881         CBra 1
 4882         Callout 255 1 1
 4883         a
 4884         Callout 255 2 1
 4885         b
 4886         Callout 255 3 1
 4887         c
 4888         Callout 255 4 0
 4889         Alt
 4890         Callout 255 5 1
 4891         d
 4892         Callout 255 6 1
 4893         e
 4894         Callout 255 7 1
 4895         f
 4896         Callout 255 8 0
 4897         Ket
 4898         Callout 255 9 1
 4899         x
 4900         Callout 255 10 0
 4901         Ket
 4902         End
 4903 ------------------------------------------------------------------
 4904 Capturing subpattern count = 1
 4905 Options:
 4906 No first char
 4907 Need char = 'x'
 4908 Subject length lower bound = 4
 4909 Starting chars: a d 
 4910   abcx
 4911 --->abcx
 4912  +0 ^        (abc|def)
 4913  +1 ^        a
 4914  +2 ^^       b
 4915  +3 ^ ^      c
 4916  +4 ^  ^     |
 4917  +9 ^  ^     x
 4918 +10 ^   ^    
 4919  0: abcx
 4920  1: abc
 4921   defx
 4922 --->defx
 4923  +0 ^        (abc|def)
 4924  +1 ^        a
 4925  +5 ^        d
 4926  +6 ^^       e
 4927  +7 ^ ^      f
 4928  +8 ^  ^     )
 4929  +9 ^  ^     x
 4930 +10 ^   ^    
 4931  0: defx
 4932  1: def
 4933   ** Failers 
 4934 No match
 4935   abcdefzx
 4936 --->abcdefzx
 4937  +0 ^            (abc|def)
 4938  +1 ^            a
 4939  +2 ^^           b
 4940  +3 ^ ^          c
 4941  +4 ^  ^         |
 4942  +9 ^  ^         x
 4943  +5 ^            d
 4944  +0    ^         (abc|def)
 4945  +1    ^         a
 4946  +5    ^         d
 4947  +6    ^^        e
 4948  +7    ^ ^       f
 4949  +8    ^  ^      )
 4950  +9    ^  ^      x
 4951 No match
 4952 
 4953 /(abc|def)x/ICDZSS
 4954 ------------------------------------------------------------------
 4955         Bra
 4956         Callout 255 0 9
 4957         CBra 1
 4958         Callout 255 1 1
 4959         a
 4960         Callout 255 2 1
 4961         b
 4962         Callout 255 3 1
 4963         c
 4964         Callout 255 4 0
 4965         Alt
 4966         Callout 255 5 1
 4967         d
 4968         Callout 255 6 1
 4969         e
 4970         Callout 255 7 1
 4971         f
 4972         Callout 255 8 0
 4973         Ket
 4974         Callout 255 9 1
 4975         x
 4976         Callout 255 10 0
 4977         Ket
 4978         End
 4979 ------------------------------------------------------------------
 4980 Capturing subpattern count = 1
 4981 Options:
 4982 No first char
 4983 Need char = 'x'
 4984   abcx
 4985 --->abcx
 4986  +0 ^        (abc|def)
 4987  +1 ^        a
 4988  +2 ^^       b
 4989  +3 ^ ^      c
 4990  +4 ^  ^     |
 4991  +9 ^  ^     x
 4992 +10 ^   ^    
 4993  0: abcx
 4994  1: abc
 4995   defx
 4996 --->defx
 4997  +0 ^        (abc|def)
 4998  +1 ^        a
 4999  +5 ^        d
 5000  +6 ^^       e
 5001  +7 ^ ^      f
 5002  +8 ^  ^     )
 5003  +9 ^  ^     x
 5004 +10 ^   ^    
 5005  0: defx
 5006  1: def
 5007   ** Failers 
 5008 No match
 5009   abcdefzx
 5010 --->abcdefzx
 5011  +0 ^            (abc|def)
 5012  +1 ^            a
 5013  +2 ^^           b
 5014  +3 ^ ^          c
 5015  +4 ^  ^         |
 5016  +9 ^  ^         x
 5017  +5 ^            d
 5018  +0  ^           (abc|def)
 5019  +1  ^           a
 5020  +5  ^           d
 5021  +0   ^          (abc|def)
 5022  +1   ^          a
 5023  +5   ^          d
 5024  +0    ^         (abc|def)
 5025  +1    ^         a
 5026  +5    ^         d
 5027  +6    ^^        e
 5028  +7    ^ ^       f
 5029  +8    ^  ^      )
 5030  +9    ^  ^      x
 5031  +0     ^        (abc|def)
 5032  +1     ^        a
 5033  +5     ^        d
 5034  +0      ^       (abc|def)
 5035  +1      ^       a
 5036  +5      ^       d
 5037  +0       ^      (abc|def)
 5038  +1       ^      a
 5039  +5       ^      d
 5040  +0        ^     (abc|def)
 5041  +1        ^     a
 5042  +5        ^     d
 5043 No match
 5044 
 5045 /(ab|cd){3,4}/IC
 5046 Capturing subpattern count = 1
 5047 Options:
 5048 No first char
 5049 No need char
 5050   ababab
 5051 --->ababab
 5052  +0 ^          (ab|cd){3,4}
 5053  +1 ^          a
 5054  +2 ^^         b
 5055  +3 ^ ^        |
 5056  +1 ^ ^        a
 5057  +2 ^  ^       b
 5058  +3 ^   ^      |
 5059  +1 ^   ^      a
 5060  +2 ^    ^     b
 5061  +3 ^     ^    |
 5062  +1 ^     ^    a
 5063  +4 ^     ^    c
 5064 +12 ^     ^    
 5065  0: ababab
 5066  1: ab
 5067   abcdabcd
 5068 --->abcdabcd
 5069  +0 ^            (ab|cd){3,4}
 5070  +1 ^            a
 5071  +2 ^^           b
 5072  +3 ^ ^          |
 5073  +1 ^ ^          a
 5074  +4 ^ ^          c
 5075  +5 ^  ^         d
 5076  +6 ^   ^        )
 5077  +1 ^   ^        a
 5078  +2 ^    ^       b
 5079  +3 ^     ^      |
 5080  +1 ^     ^      a
 5081  +4 ^     ^      c
 5082  +5 ^      ^     d
 5083  +6 ^       ^    )
 5084 +12 ^       ^    
 5085  0: abcdabcd
 5086  1: cd
 5087   abcdcdcdcdcd
 5088 --->abcdcdcdcdcd
 5089  +0 ^                (ab|cd){3,4}
 5090  +1 ^                a
 5091  +2 ^^               b
 5092  +3 ^ ^              |
 5093  +1 ^ ^              a
 5094  +4 ^ ^              c
 5095  +5 ^  ^             d
 5096  +6 ^   ^            )
 5097  +1 ^   ^            a
 5098  +4 ^   ^            c
 5099  +5 ^    ^           d
 5100  +6 ^     ^          )
 5101  +1 ^     ^          a
 5102  +4 ^     ^          c
 5103  +5 ^      ^         d
 5104  +6 ^       ^        )
 5105 +12 ^       ^        
 5106  0: abcdcdcd
 5107  1: cd
 5108 
 5109 /([ab]{,4}c|xy)/ICDZS
 5110 ------------------------------------------------------------------
 5111         Bra
 5112         Callout 255 0 14
 5113         CBra 1
 5114         Callout 255 1 4
 5115         [ab]
 5116         Callout 255 5 1
 5117         {
 5118         Callout 255 6 1
 5119         ,
 5120         Callout 255 7 1
 5121         4
 5122         Callout 255 8 1
 5123         }
 5124         Callout 255 9 1
 5125         c
 5126         Callout 255 10 0
 5127         Alt
 5128         Callout 255 11 1
 5129         x
 5130         Callout 255 12 1
 5131         y
 5132         Callout 255 13 0
 5133         Ket
 5134         Callout 255 14 0
 5135         Ket
 5136         End
 5137 ------------------------------------------------------------------
 5138 Capturing subpattern count = 1
 5139 Options:
 5140 No first char
 5141 No need char
 5142 Subject length lower bound = 2
 5143 Starting chars: a b x 
 5144     Note: that { does NOT introduce a quantifier
 5145 --->Note: that { does NOT introduce a quantifier
 5146  +0         ^                                        ([ab]{,4}c|xy)
 5147  +1         ^                                        [ab]
 5148  +5         ^^                                       {
 5149 +11         ^                                        x
 5150  +0                                 ^                ([ab]{,4}c|xy)
 5151  +1                                 ^                [ab]
 5152  +5                                 ^^               {
 5153 +11                                 ^                x
 5154  +0                                     ^            ([ab]{,4}c|xy)
 5155  +1                                     ^            [ab]
 5156  +5                                     ^^           {
 5157 +11                                     ^            x
 5158 No match
 5159 
 5160 /([ab]{,4}c|xy)/ICDZSS
 5161 ------------------------------------------------------------------
 5162         Bra
 5163         Callout 255 0 14
 5164         CBra 1
 5165         Callout 255 1 4
 5166         [ab]
 5167         Callout 255 5 1
 5168         {
 5169         Callout 255 6 1
 5170         ,
 5171         Callout 255 7 1
 5172         4
 5173         Callout 255 8 1
 5174         }
 5175         Callout 255 9 1
 5176         c
 5177         Callout 255 10 0
 5178         Alt
 5179         Callout 255 11 1
 5180         x
 5181         Callout 255 12 1
 5182         y
 5183         Callout 255 13 0
 5184         Ket
 5185         Callout 255 14 0
 5186         Ket
 5187         End
 5188 ------------------------------------------------------------------
 5189 Capturing subpattern count = 1
 5190 Options:
 5191 No first char
 5192 No need char
 5193     Note: that { does NOT introduce a quantifier
 5194 --->Note: that { does NOT introduce a quantifier
 5195  +0 ^                                                ([ab]{,4}c|xy)
 5196  +1 ^                                                [ab]
 5197 +11 ^                                                x
 5198  +0  ^                                               ([ab]{,4}c|xy)
 5199  +1  ^                                               [ab]
 5200 +11  ^                                               x
 5201  +0   ^                                              ([ab]{,4}c|xy)
 5202  +1   ^                                              [ab]
 5203 +11   ^                                              x
 5204  +0    ^                                             ([ab]{,4}c|xy)
 5205  +1    ^                                             [ab]
 5206 +11    ^                                             x
 5207  +0     ^                                            ([ab]{,4}c|xy)
 5208  +1     ^                                            [ab]
 5209 +11     ^                                            x
 5210  +0      ^                                           ([ab]{,4}c|xy)
 5211  +1      ^                                           [ab]
 5212 +11      ^                                           x
 5213  +0       ^                                          ([ab]{,4}c|xy)
 5214  +1       ^                                          [ab]
 5215 +11       ^                                          x
 5216  +0        ^                                         ([ab]{,4}c|xy)
 5217  +1        ^                                         [ab]
 5218 +11        ^                                         x
 5219  +0         ^                                        ([ab]{,4}c|xy)
 5220  +1         ^                                        [ab]
 5221  +5         ^^                                       {
 5222 +11         ^                                        x
 5223  +0          ^                                       ([ab]{,4}c|xy)
 5224  +1          ^                                       [ab]
 5225 +11          ^                                       x
 5226  +0           ^                                      ([ab]{,4}c|xy)
 5227  +1           ^                                      [ab]
 5228 +11           ^                                      x
 5229  +0            ^                                     ([ab]{,4}c|xy)
 5230  +1            ^                                     [ab]
 5231 +11            ^                                     x
 5232  +0             ^                                    ([ab]{,4}c|xy)
 5233  +1             ^                                    [ab]
 5234 +11             ^                                    x
 5235  +0              ^                                   ([ab]{,4}c|xy)
 5236  +1              ^                                   [ab]
 5237 +11              ^                                   x
 5238  +0               ^                                  ([ab]{,4}c|xy)
 5239  +1               ^                                  [ab]
 5240 +11               ^                                  x
 5241  +0                ^                                 ([ab]{,4}c|xy)
 5242  +1                ^                                 [ab]
 5243 +11                ^                                 x
 5244  +0                 ^                                ([ab]{,4}c|xy)
 5245  +1                 ^                                [ab]
 5246 +11                 ^                                x
 5247  +0                  ^                               ([ab]{,4}c|xy)
 5248  +1                  ^                               [ab]
 5249 +11                  ^                               x
 5250  +0                   ^                              ([ab]{,4}c|xy)
 5251  +1                   ^                              [ab]
 5252 +11                   ^                              x
 5253  +0                    ^                             ([ab]{,4}c|xy)
 5254  +1                    ^                             [ab]
 5255 +11                    ^                             x
 5256  +0                     ^                            ([ab]{,4}c|xy)
 5257  +1                     ^                            [ab]
 5258 +11                     ^                            x
 5259  +0                      ^                           ([ab]{,4}c|xy)
 5260  +1                      ^                           [ab]
 5261 +11                      ^                           x
 5262  +0                       ^                          ([ab]{,4}c|xy)
 5263  +1                       ^                          [ab]
 5264 +11                       ^                          x
 5265  +0                        ^                         ([ab]{,4}c|xy)
 5266  +1                        ^                         [ab]
 5267 +11                        ^                         x
 5268  +0                         ^                        ([ab]{,4}c|xy)
 5269  +1                         ^                        [ab]
 5270 +11                         ^                        x
 5271  +0                          ^                       ([ab]{,4}c|xy)
 5272  +1                          ^                       [ab]
 5273 +11                          ^                       x
 5274  +0                           ^                      ([ab]{,4}c|xy)
 5275  +1                           ^                      [ab]
 5276 +11                           ^                      x
 5277  +0                            ^                     ([ab]{,4}c|xy)
 5278  +1                            ^                     [ab]
 5279 +11                            ^                     x
 5280  +0                             ^                    ([ab]{,4}c|xy)
 5281  +1                             ^                    [ab]
 5282 +11                             ^                    x
 5283  +0                              ^                   ([ab]{,4}c|xy)
 5284  +1                              ^                   [ab]
 5285 +11                              ^                   x
 5286  +0                               ^                  ([ab]{,4}c|xy)
 5287  +1                               ^                  [ab]
 5288 +11                               ^                  x
 5289  +0                                ^                 ([ab]{,4}c|xy)
 5290  +1                                ^                 [ab]
 5291 +11                                ^                 x
 5292  +0                                 ^                ([ab]{,4}c|xy)
 5293  +1                                 ^                [ab]
 5294  +5                                 ^^               {
 5295 +11                                 ^                x
 5296  +0                                  ^               ([ab]{,4}c|xy)
 5297  +1                                  ^               [ab]
 5298 +11                                  ^               x
 5299  +0                                   ^              ([ab]{,4}c|xy)
 5300  +1                                   ^              [ab]
 5301 +11                                   ^              x
 5302  +0                                    ^             ([ab]{,4}c|xy)
 5303  +1                                    ^             [ab]
 5304 +11                                    ^             x
 5305  +0                                     ^            ([ab]{,4}c|xy)
 5306  +1                                     ^            [ab]
 5307  +5                                     ^^           {
 5308 +11                                     ^            x
 5309  +0                                      ^           ([ab]{,4}c|xy)
 5310  +1                                      ^           [ab]
 5311 +11                                      ^           x
 5312  +0                                       ^          ([ab]{,4}c|xy)
 5313  +1                                       ^          [ab]
 5314 +11                                       ^          x
 5315  +0                                        ^         ([ab]{,4}c|xy)
 5316  +1                                        ^         [ab]
 5317 +11                                        ^         x
 5318  +0                                         ^        ([ab]{,4}c|xy)
 5319  +1                                         ^        [ab]
 5320 +11                                         ^        x
 5321  +0                                          ^       ([ab]{,4}c|xy)
 5322  +1                                          ^       [ab]
 5323 +11                                          ^       x
 5324  +0                                           ^      ([ab]{,4}c|xy)
 5325  +1                                           ^      [ab]
 5326 +11                                           ^      x
 5327  +0                                            ^     ([ab]{,4}c|xy)
 5328  +1                                            ^     [ab]
 5329 +11                                            ^     x
 5330  +0                                             ^    ([ab]{,4}c|xy)
 5331  +1                                             ^    [ab]
 5332 +11                                             ^    x
 5333 No match
 5334 
 5335 /([ab]{1,4}c|xy){4,5}?123/ICDZ
 5336 ------------------------------------------------------------------
 5337         Bra
 5338         Callout 255 0 21
 5339         CBra 1
 5340         Callout 255 1 9
 5341         [ab]{1,4}+
 5342         Callout 255 10 1
 5343         c
 5344         Callout 255 11 0
 5345         Alt
 5346         Callout 255 12 1
 5347         x
 5348         Callout 255 13 1
 5349         y
 5350         Callout 255 14 0
 5351         Ket
 5352         CBra 1
 5353         Callout 255 1 9
 5354         [ab]{1,4}+
 5355         Callout 255 10 1
 5356         c
 5357         Callout 255 11 0
 5358         Alt
 5359         Callout 255 12 1
 5360         x
 5361         Callout 255 13 1
 5362         y
 5363         Callout 255 14 0
 5364         Ket
 5365         CBra 1
 5366         Callout 255 1 9
 5367         [ab]{1,4}+
 5368         Callout 255 10 1
 5369         c
 5370         Callout 255 11 0
 5371         Alt
 5372         Callout 255 12 1
 5373         x
 5374         Callout 255 13 1
 5375         y
 5376         Callout 255 14 0
 5377         Ket
 5378         CBra 1
 5379         Callout 255 1 9
 5380         [ab]{1,4}+
 5381         Callout 255 10 1
 5382         c
 5383         Callout 255 11 0
 5384         Alt
 5385         Callout 255 12 1
 5386         x
 5387         Callout 255 13 1
 5388         y
 5389         Callout 255 14 0
 5390         Ket
 5391         Braminzero
 5392         CBra 1
 5393         Callout 255 1 9
 5394         [ab]{1,4}+
 5395         Callout 255 10 1
 5396         c
 5397         Callout 255 11 0
 5398         Alt
 5399         Callout 255 12 1
 5400         x
 5401         Callout 255 13 1
 5402         y
 5403         Callout 255 14 0
 5404         Ket
 5405         Callout 255 21 1
 5406         1
 5407         Callout 255 22 1
 5408         2
 5409         Callout 255 23 1
 5410         3
 5411         Callout 255 24 0
 5412         Ket
 5413         End
 5414 ------------------------------------------------------------------
 5415 Capturing subpattern count = 1
 5416 Options:
 5417 No first char
 5418 Need char = '3'
 5419     aacaacaacaacaac123
 5420 --->aacaacaacaacaac123
 5421  +0 ^                      ([ab]{1,4}c|xy){4,5}?
 5422  +1 ^                      [ab]{1,4}
 5423 +10 ^ ^                    c
 5424 +11 ^  ^                   |
 5425  +1 ^  ^                   [ab]{1,4}
 5426 +10 ^    ^                 c
 5427 +11 ^     ^                |
 5428  +1 ^     ^                [ab]{1,4}
 5429 +10 ^       ^              c
 5430 +11 ^        ^             |
 5431  +1 ^        ^             [ab]{1,4}
 5432 +10 ^          ^           c
 5433 +11 ^           ^          |
 5434 +21 ^           ^          1
 5435  +1 ^           ^          [ab]{1,4}
 5436 +10 ^             ^        c
 5437 +11 ^              ^       |
 5438 +21 ^              ^       1
 5439 +22 ^               ^      2
 5440 +23 ^                ^     3
 5441 +24 ^                 ^    
 5442  0: aacaacaacaacaac123
 5443  1: aac
 5444 
 5445 /\b.*/I
 5446 Capturing subpattern count = 0
 5447 Max lookbehind = 1
 5448 May match empty string
 5449 No options
 5450 No first char
 5451 No need char
 5452   ab cd\>1
 5453  0:  cd
 5454 
 5455 /\b.*/Is
 5456 Capturing subpattern count = 0
 5457 Max lookbehind = 1
 5458 May match empty string
 5459 Options: dotall
 5460 No first char
 5461 No need char
 5462   ab cd\>1
 5463  0:  cd
 5464 
 5465 /(?!.bcd).*/I
 5466 Capturing subpattern count = 0
 5467 May match empty string
 5468 No options
 5469 No first char
 5470 No need char
 5471   Xbcd12345
 5472  0: bcd12345
 5473 
 5474 /abcde/I
 5475 Capturing subpattern count = 0
 5476 No options
 5477 First char = 'a'
 5478 Need char = 'e'
 5479     ab\P
 5480 Partial match: ab
 5481     abc\P
 5482 Partial match: abc
 5483     abcd\P
 5484 Partial match: abcd
 5485     abcde\P
 5486  0: abcde
 5487     the quick brown abc\P
 5488 Partial match: abc
 5489     ** Failers\P
 5490 No match
 5491     the quick brown abxyz fox\P
 5492 No match
 5493 
 5494 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
 5495 Capturing subpattern count = 3
 5496 Options: anchored
 5497 No first char
 5498 Need char = '/'
 5499     13/05/04\P
 5500  0: 13/05/04
 5501  1: 13
 5502  2: 05
 5503     13/5/2004\P
 5504  0: 13/5/2004
 5505  1: 13
 5506  2: 5
 5507  3: 20
 5508     02/05/09\P
 5509  0: 02/05/09
 5510  1: 02
 5511  2: 05
 5512     1\P
 5513 Partial match: 1
 5514     1/2\P
 5515 Partial match: 1/2
 5516     1/2/0\P
 5517 Partial match: 1/2/0
 5518     1/2/04\P
 5519  0: 1/2/04
 5520  1: 1
 5521  2: 2
 5522     0\P
 5523 Partial match: 0
 5524     02/\P
 5525 Partial match: 02/
 5526     02/0\P
 5527 Partial match: 02/0
 5528     02/1\P
 5529 Partial match: 02/1
 5530     ** Failers\P
 5531 No match
 5532     \P
 5533 No match
 5534     123\P
 5535 No match
 5536     33/4/04\P
 5537 No match
 5538     3/13/04\P
 5539 No match
 5540     0/1/2003\P
 5541 No match
 5542     0/\P
 5543 No match
 5544     02/0/\P
 5545 No match
 5546     02/13\P
 5547 No match
 5548 
 5549 /0{0,2}ABC/I
 5550 Capturing subpattern count = 0
 5551 No options
 5552 No first char
 5553 Need char = 'C'
 5554 
 5555 /\d{3,}ABC/I
 5556 Capturing subpattern count = 0
 5557 No options
 5558 No first char
 5559 Need char = 'C'
 5560 
 5561 /\d*ABC/I
 5562 Capturing subpattern count = 0
 5563 No options
 5564 No first char
 5565 Need char = 'C'
 5566 
 5567 /[abc]+DE/I
 5568 Capturing subpattern count = 0
 5569 No options
 5570 No first char
 5571 Need char = 'E'
 5572 
 5573 /[abc]?123/I
 5574 Capturing subpattern count = 0
 5575 No options
 5576 No first char
 5577 Need char = '3'
 5578     123\P
 5579  0: 123
 5580     a\P
 5581 Partial match: a
 5582     b\P
 5583 Partial match: b
 5584     c\P
 5585 Partial match: c
 5586     c12\P
 5587 Partial match: c12
 5588     c123\P
 5589  0: c123
 5590 
 5591 /^(?:\d){3,5}X/I
 5592 Capturing subpattern count = 0
 5593 Options: anchored
 5594 No first char
 5595 Need char = 'X'
 5596     1\P
 5597 Partial match: 1
 5598     123\P
 5599 Partial match: 123
 5600     123X
 5601  0: 123X
 5602     1234\P
 5603 Partial match: 1234
 5604     1234X
 5605  0: 1234X
 5606     12345\P
 5607 Partial match: 12345
 5608     12345X
 5609  0: 12345X
 5610     *** Failers
 5611 No match
 5612     1X
 5613 No match
 5614     123456\P
 5615 No match
 5616 
 5617 //S-KF>testsavedregex
 5618 Compiled pattern written to testsavedregex
 5619 
 5620 /abc/IS>testsavedregex
 5621 Capturing subpattern count = 0
 5622 No options
 5623 First char = 'a'
 5624 Need char = 'c'
 5625 Subject length lower bound = 3
 5626 No starting char list
 5627 Compiled pattern written to testsavedregex
 5628 Study data written to testsavedregex
 5629 <testsavedregex
 5630 Compiled pattern loaded from testsavedregex
 5631 Study data loaded from testsavedregex
 5632     abc
 5633  0: abc
 5634     ** Failers
 5635 No match
 5636     bca
 5637 No match
 5638 
 5639 /abc/ISS>testsavedregex
 5640 Capturing subpattern count = 0
 5641 No options
 5642 First char = 'a'
 5643 Need char = 'c'
 5644 Compiled pattern written to testsavedregex
 5645 <testsavedregex
 5646 Compiled pattern loaded from testsavedregex
 5647 No study data
 5648     abc
 5649  0: abc
 5650     ** Failers
 5651 No match
 5652     bca
 5653 No match
 5654 
 5655 /abc/IFS>testsavedregex
 5656 Capturing subpattern count = 0
 5657 No options
 5658 First char = 'a'
 5659 Need char = 'c'
 5660 Subject length lower bound = 3
 5661 No starting char list
 5662 Compiled pattern written to testsavedregex
 5663 Study data written to testsavedregex
 5664 <testsavedregex
 5665 Compiled pattern (byte-inverted) loaded from testsavedregex
 5666 Study data loaded from testsavedregex
 5667     abc
 5668  0: abc
 5669     ** Failers
 5670 No match
 5671     bca
 5672 No match
 5673 
 5674 /abc/IFSS>testsavedregex
 5675 Capturing subpattern count = 0
 5676 No options
 5677 First char = 'a'
 5678 Need char = 'c'
 5679 Compiled pattern written to testsavedregex
 5680 <testsavedregex
 5681 Compiled pattern (byte-inverted) loaded from testsavedregex
 5682 No study data
 5683     abc
 5684  0: abc
 5685     ** Failers
 5686 No match
 5687     bca
 5688 No match
 5689 
 5690 /(a|b)/IS>testsavedregex
 5691 Capturing subpattern count = 1
 5692 No options
 5693 No first char
 5694 No need char
 5695 Subject length lower bound = 1
 5696 Starting chars: a b 
 5697 Compiled pattern written to testsavedregex
 5698 Study data written to testsavedregex
 5699 <testsavedregex
 5700 Compiled pattern loaded from testsavedregex
 5701 Study data loaded from testsavedregex
 5702     abc
 5703  0: a
 5704  1: a
 5705     ** Failers
 5706  0: a
 5707  1: a
 5708     def
 5709 No match
 5710 
 5711 /(a|b)/ISS>testsavedregex
 5712 Capturing subpattern count = 1
 5713 No options
 5714 No first char
 5715 No need char
 5716 Compiled pattern written to testsavedregex
 5717 <testsavedregex
 5718 Compiled pattern loaded from testsavedregex
 5719 No study data
 5720     abc
 5721  0: a
 5722  1: a
 5723     ** Failers
 5724  0: a
 5725  1: a
 5726     def
 5727 No match
 5728 
 5729 /(a|b)/ISF>testsavedregex
 5730 Capturing subpattern count = 1
 5731 No options
 5732 No first char
 5733 No need char
 5734 Subject length lower bound = 1
 5735 Starting chars: a b 
 5736 Compiled pattern written to testsavedregex
 5737 Study data written to testsavedregex
 5738 <testsavedregex
 5739 Compiled pattern (byte-inverted) loaded from testsavedregex
 5740 Study data loaded from testsavedregex
 5741     abc
 5742  0: a
 5743  1: a
 5744     ** Failers
 5745  0: a
 5746  1: a
 5747     def
 5748 No match
 5749 
 5750 /(a|b)/ISSF>testsavedregex
 5751 Capturing subpattern count = 1
 5752 No options
 5753 No first char
 5754 No need char
 5755 Compiled pattern written to testsavedregex
 5756 <testsavedregex
 5757 Compiled pattern (byte-inverted) loaded from testsavedregex
 5758 No study data
 5759     abc
 5760  0: a
 5761  1: a
 5762     ** Failers
 5763  0: a
 5764  1: a
 5765     def
 5766 No match
 5767 
 5768 ~<(\w+)/?>(.)*</(\1)>~smgI
 5769 Capturing subpattern count = 3
 5770 Max back reference = 1
 5771 Options: multiline dotall
 5772 First char = '<'
 5773 Need char = '>'
 5774     \J1024<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
 5775  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>
 5776  1: seite
 5777  2: \x0a
 5778  3: seite
 5779 
 5780 /^a/IF
 5781 Capturing subpattern count = 0
 5782 Options: anchored
 5783 No first char
 5784 No need char
 5785 
 5786 /line\nbreak/I
 5787 Capturing subpattern count = 0
 5788 Contains explicit CR or LF match
 5789 No options
 5790 First char = 'l'
 5791 Need char = 'k'
 5792     this is a line\nbreak
 5793  0: line\x0abreak
 5794     line one\nthis is a line\nbreak in the second line
 5795  0: line\x0abreak
 5796 
 5797 /line\nbreak/If
 5798 Capturing subpattern count = 0
 5799 Contains explicit CR or LF match
 5800 Options: firstline
 5801 First char = 'l'
 5802 Need char = 'k'
 5803     this is a line\nbreak
 5804  0: line\x0abreak
 5805     ** Failers
 5806 No match
 5807     line one\nthis is a line\nbreak in the second line
 5808 No match
 5809 
 5810 /line\nbreak/Imf
 5811 Capturing subpattern count = 0
 5812 Contains explicit CR or LF match
 5813 Options: multiline firstline
 5814 First char = 'l'
 5815 Need char = 'k'
 5816     this is a line\nbreak
 5817  0: line\x0abreak
 5818     ** Failers
 5819 No match
 5820     line one\nthis is a line\nbreak in the second line
 5821 No match
 5822 
 5823 /(?i)(?-i)AbCd/I
 5824 Capturing subpattern count = 0
 5825 No options
 5826 First char = 'A'
 5827 Need char = 'd'
 5828     AbCd
 5829  0: AbCd
 5830     ** Failers
 5831 No match
 5832     abcd
 5833 No match
 5834 
 5835 /a{11111111111111111111}/I
 5836 Failed: number too big in {} quantifier at offset 8
 5837 
 5838 /(){64294967295}/I
 5839 Failed: number too big in {} quantifier at offset 9
 5840 
 5841 /(){2,4294967295}/I
 5842 Failed: number too big in {} quantifier at offset 11
 5843 
 5844 "(?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
 5845 Capturing subpattern count = 1
 5846 Max back reference = 1
 5847 No options
 5848 First char = 'a' (caseless)
 5849 Need char = 'B'
 5850     abcdefghijklAkB
 5851  0: abcdefghijklAkB
 5852  1: k
 5853 
 5854 "(?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
 5855 Capturing subpattern count = 12
 5856 Max back reference = 11
 5857 Named capturing subpatterns:
 5858   n0    1
 5859   n1    2
 5860   n10  11
 5861   n11  12
 5862   n2    3
 5863   n3    4
 5864   n4    5
 5865   n5    6
 5866   n6    7
 5867   n7    8
 5868   n8    9
 5869   n9   10
 5870 No options
 5871 First char = 'a'
 5872 Need char = 'B'
 5873     abcdefghijklAkB
 5874  0: abcdefghijklAkB
 5875  1: a
 5876  2: b
 5877  3: c
 5878  4: d
 5879  5: e
 5880  6: f
 5881  7: g
 5882  8: h
 5883  9: i
 5884 10: j
 5885 11: k
 5886 12: l
 5887 
 5888 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
 5889 Capturing subpattern count = 12
 5890 Max back reference = 11
 5891 No options
 5892 First char = 'a'
 5893 Need char = 'B'
 5894     abcdefghijklAkB
 5895  0: abcdefghijklAkB
 5896  1: a
 5897  2: b
 5898  3: c
 5899  4: d
 5900  5: e
 5901  6: f
 5902  7: g
 5903  8: h
 5904  9: i
 5905 10: j
 5906 11: k
 5907 12: l
 5908 
 5909 "(?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
 5910 Capturing subpattern count = 101
 5911 Named capturing subpatterns:
 5912   name0     1
 5913   name1     2
 5914   name10   11
 5915   name100 101
 5916   name11   12
 5917   name12   13
 5918   name13   14
 5919   name14   15
 5920   name15   16
 5921   name16   17
 5922   name17   18
 5923   name18   19
 5924   name19   20
 5925   name2     3
 5926   name20   21
 5927   name21   22
 5928   name22   23
 5929   name23   24
 5930   name24   25
 5931   name25   26
 5932   name26   27
 5933   name27   28
 5934   name28   29
 5935   name29   30
 5936   name3     4
 5937   name30   31
 5938   name31   32
 5939   name32   33
 5940   name33   34
 5941   name34   35
 5942   name35   36
 5943   name36   37
 5944   name37   38
 5945   name38   39
 5946   name39   40
 5947   name4     5
 5948   name40   41
 5949   name41   42
 5950   name42   43
 5951   name43   44
 5952   name44   45
 5953   name45   46
 5954   name46   47
 5955   name47   48
 5956   name48   49
 5957   name49   50
 5958   name5     6
 5959   name50   51
 5960   name51   52
 5961   name52   53
 5962   name53   54
 5963   name54   55
 5964   name55   56
 5965   name56   57
 5966   name57   58
 5967   name58   59
 5968   name59   60
 5969   name6     7
 5970   name60   61
 5971   name61   62
 5972   name62   63
 5973   name63   64
 5974   name64   65
 5975   name65   66
 5976   name66   67
 5977   name67   68
 5978   name68   69
 5979   name69   70
 5980   name7     8
 5981   name70   71
 5982   name71   72
 5983   name72   73
 5984   name73   74
 5985   name74   75
 5986   name75   76
 5987   name76   77
 5988   name77   78
 5989   name78   79
 5990   name79   80
 5991   name8     9
 5992   name80   81
 5993   name81   82
 5994   name82   83
 5995   name83   84
 5996   name84   85
 5997   name85   86
 5998   name86   87
 5999   name87   88
 6000   name88   89
 6001   name89   90
 6002   name9    10
 6003   name90   91
 6004   name91   92
 6005   name92   93
 6006   name93   94
 6007   name94   95
 6008   name95   96
 6009   name96   97
 6010   name97   98
 6011   name98   99
 6012   name99  100
 6013 No options
 6014 First char = 'a'
 6015 Need char = 'a'
 6016     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 6017 Matched, but too many substrings
 6018  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 6019  1: a
 6020  2: a
 6021  3: a
 6022  4: a
 6023  5: a
 6024  6: a
 6025  7: a
 6026  8: a
 6027  9: a
 6028 10: a
 6029 11: a
 6030 12: a
 6031 13: a
 6032 14: a
 6033 
 6034 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
 6035 Capturing subpattern count = 101
 6036 No options
 6037 First char = 'a'
 6038 Need char = 'a'
 6039     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 6040 Matched, but too many substrings
 6041  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 6042  1: a
 6043  2: a
 6044  3: a
 6045  4: a
 6046  5: a
 6047  6: a
 6048  7: a
 6049  8: a
 6050  9: a
 6051 10: a
 6052 11: a
 6053 12: a
 6054 13: a
 6055 14: a
 6056 
 6057 /[^()]*(?:\((?R)\)[^()]*)*/I
 6058 Capturing subpattern count = 0
 6059 May match empty string
 6060 No options
 6061 No first char
 6062 No need char
 6063     (this(and)that
 6064  0: 
 6065     (this(and)that)
 6066  0: (this(and)that)
 6067     (this(and)that)stuff
 6068  0: (this(and)that)stuff
 6069 
 6070 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
 6071 Capturing subpattern count = 0
 6072 May match empty string
 6073 No options
 6074 No first char
 6075 No need char
 6076     (this(and)that
 6077  0: 
 6078     (this(and)that)
 6079  0: (this(and)that)
 6080 
 6081 /[^()]*(?:\((?R)\))*[^()]*/I
 6082 Capturing subpattern count = 0
 6083 May match empty string
 6084 No options
 6085 No first char
 6086 No need char
 6087     (this(and)that
 6088  0: 
 6089     (this(and)that)
 6090  0: (this(and)that)
 6091 
 6092 /(?:\((?R)\))*[^()]*/I
 6093 Capturing subpattern count = 0
 6094 May match empty string
 6095 No options
 6096 No first char
 6097 No need char
 6098     (this(and)that
 6099  0: 
 6100     (this(and)that)
 6101  0: 
 6102     ((this))
 6103  0: ((this))
 6104 
 6105 /(?:\((?R)\))|[^()]*/I
 6106 Capturing subpattern count = 0
 6107 May match empty string
 6108 No options
 6109 No first char
 6110 No need char
 6111     (this(and)that
 6112  0: 
 6113     (this(and)that)
 6114  0: 
 6115     (this)
 6116  0: (this)
 6117     ((this))
 6118  0: ((this))
 6119 
 6120 /\x{0000ff}/I
 6121 Capturing subpattern count = 0
 6122 No options
 6123 First char = \xff
 6124 No need char
 6125 
 6126 /^((?P<A>a1)|(?P<A>a2)b)/I
 6127 Failed: two named subpatterns have the same name at offset 17
 6128 
 6129 /^((?P<A>a1)|(?P<A>a2)b)/IJ
 6130 Capturing subpattern count = 3
 6131 Named capturing subpatterns:
 6132   A   2
 6133   A   3
 6134 Options: anchored dupnames
 6135 No first char
 6136 No need char
 6137     a1b\CA
 6138  0: a1
 6139  1: a1
 6140  2: a1
 6141   C a1 (2) A
 6142     a2b\CA
 6143  0: a2b
 6144  1: a2b
 6145  2: <unset>
 6146  3: a2
 6147   C a2 (2) A
 6148     ** Failers
 6149 No match
 6150     a1b\CZ\CA
 6151 no parentheses with name "Z"
 6152  0: a1
 6153  1: a1
 6154  2: a1
 6155 copy substring Z failed -7
 6156   C a1 (2) A
 6157     
 6158 /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
 6159 Capturing subpattern count = 3
 6160 Named capturing subpatterns:
 6161   a   1
 6162   a   3
 6163   b   2
 6164 May match empty string
 6165 Options: dupnames
 6166 No first char
 6167 No need char
 6168 
 6169 /^(?P<A>a)(?P<A>b)/IJ
 6170 Capturing subpattern count = 2
 6171 Named capturing subpatterns:
 6172   A   1
 6173   A   2
 6174 Options: anchored dupnames
 6175 No first char
 6176 No need char
 6177     ab\CA
 6178  0: ab
 6179  1: a
 6180  2: b
 6181   C a (1) A
 6182 
 6183 /^(?P<A>a)(?P<A>b)|cd/IJ
 6184 Capturing subpattern count = 2
 6185 Named capturing subpatterns:
 6186   A   1
 6187   A   2
 6188 Options: dupnames
 6189 No first char
 6190 No need char
 6191     ab\CA
 6192  0: ab
 6193  1: a
 6194  2: b
 6195   C a (1) A
 6196     cd\CA
 6197  0: cd
 6198 copy substring A failed -7
 6199 
 6200 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
 6201 Capturing subpattern count = 4
 6202 Named capturing subpatterns:
 6203   A   1
 6204   A   2
 6205   A   3
 6206   A   4
 6207 Options: dupnames
 6208 No first char
 6209 No need char
 6210     cdefgh\CA
 6211  0: cdefgh
 6212  1: <unset>
 6213  2: <unset>
 6214  3: ef
 6215  4: gh
 6216   C ef (2) A
 6217 
 6218 /^((?P<A>a1)|(?P<A>a2)b)/IJ
 6219 Capturing subpattern count = 3
 6220 Named capturing subpatterns:
 6221   A   2
 6222   A   3
 6223 Options: anchored dupnames
 6224 No first char
 6225 No need char
 6226     a1b\GA
 6227  0: a1
 6228  1: a1
 6229  2: a1
 6230   G a1 (2) A
 6231     a2b\GA
 6232  0: a2b
 6233  1: a2b
 6234  2: <unset>
 6235  3: a2
 6236   G a2 (2) A
 6237     ** Failers
 6238 No match
 6239     a1b\GZ\GA
 6240 no parentheses with name "Z"
 6241  0: a1
 6242  1: a1
 6243  2: a1
 6244 get substring Z failed -7
 6245   G a1 (2) A
 6246 
 6247 /^(?P<A>a)(?P<A>b)/IJ
 6248 Capturing subpattern count = 2
 6249 Named capturing subpatterns:
 6250   A   1
 6251   A   2
 6252 Options: anchored dupnames
 6253 No first char
 6254 No need char
 6255     ab\GA
 6256  0: ab
 6257  1: a
 6258  2: b
 6259   G a (1) A
 6260 
 6261 /^(?P<A>a)(?P<A>b)|cd/IJ
 6262 Capturing subpattern count = 2
 6263 Named capturing subpatterns:
 6264   A   1
 6265   A   2
 6266 Options: dupnames
 6267 No first char
 6268 No need char
 6269     ab\GA
 6270  0: ab
 6271  1: a
 6272  2: b
 6273   G a (1) A
 6274     cd\GA
 6275  0: cd
 6276 get substring A failed -7
 6277 
 6278 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
 6279 Capturing subpattern count = 4
 6280 Named capturing subpatterns:
 6281   A   1
 6282   A   2
 6283   A   3
 6284   A   4
 6285 Options: dupnames
 6286 No first char
 6287 No need char
 6288     cdefgh\GA
 6289  0: cdefgh
 6290  1: <unset>
 6291  2: <unset>
 6292  3: ef
 6293  4: gh
 6294   G ef (2) A
 6295 
 6296 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
 6297 Capturing subpattern count = 3
 6298 Named capturing subpatterns:
 6299   A   2
 6300   A   3
 6301 Options: anchored
 6302 Duplicate name status changes
 6303 No first char
 6304 No need char
 6305     a1b\CA
 6306  0: a1
 6307  1: a1
 6308  2: a1
 6309   C a1 (2) A
 6310     a2b\CA
 6311  0: a2b
 6312  1: a2b
 6313  2: <unset>
 6314  3: a2
 6315   C a2 (2) A
 6316 
 6317 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
 6318 Failed: two named subpatterns have the same name at offset 37
 6319 
 6320 / In this next test, J is not set at the outer level; consequently it isn't
 6321 set in the pattern's options; consequently pcre_get_named_substring() produces
 6322 a random value. /Ix
 6323 Capturing subpattern count = 1
 6324 Options: extended
 6325 First char = 'I'
 6326 Need char = 'e'
 6327 
 6328 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
 6329 Capturing subpattern count = 4
 6330 Named capturing subpatterns:
 6331   A   1
 6332   B   2
 6333   B   3
 6334   C   4
 6335 Options: anchored
 6336 Duplicate name status changes
 6337 No first char
 6338 No need char
 6339     a bc d\CA\CB\CC
 6340  0: a bc d
 6341  1: a
 6342  2: b
 6343  3: c
 6344  4: d
 6345   C a (1) A
 6346   C b (1) B
 6347   C d (1) C
 6348 
 6349 /^(?P<A>a)?(?(A)a|b)/I
 6350 Capturing subpattern count = 1
 6351 Max back reference = 1
 6352 Named capturing subpatterns:
 6353   A   1
 6354 Options: anchored
 6355 No first char
 6356 No need char
 6357     aabc
 6358  0: aa
 6359  1: a
 6360     bc
 6361  0: b
 6362     ** Failers
 6363 No match
 6364     abc
 6365 No match
 6366 
 6367 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
 6368 Capturing subpattern count = 1
 6369 Max back reference = 1
 6370 Named capturing subpatterns:
 6371   ZZ   1
 6372 No options
 6373 No first char
 6374 Need char = 'X'
 6375     bXaX
 6376  0: bXaX
 6377  1: X
 6378 
 6379 /(?:(?(2y)a|b)(X))+/I
 6380 Failed: malformed number or name after (?( at offset 7
 6381 
 6382 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
 6383 Failed: reference to non-existent subpattern at offset 9
 6384 
 6385 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
 6386 Capturing subpattern count = 1
 6387 Max back reference = 1
 6388 Named capturing subpatterns:
 6389   ZZ   1
 6390 No options
 6391 No first char
 6392 Need char = 'X'
 6393     bbXaaX
 6394  0: bbXaaX
 6395  1: X
 6396 
 6397 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
 6398 Capturing subpattern count = 1
 6399 Max back reference = 1
 6400 Named capturing subpatterns:
 6401   ZZ   1
 6402 No options
 6403 No first char
 6404 Need char = 'X'
 6405     (b)\\Xa\\X
 6406  0: (b)\Xa\X
 6407  1: X
 6408 
 6409 /(?P<ABC/I
 6410 Failed: syntax error in subpattern name (missing terminator) at offset 7
 6411 
 6412 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
 6413 Capturing subpattern count = 1
 6414 Max back reference = 1
 6415 Named capturing subpatterns:
 6416   A   1
 6417 No options
 6418 No first char
 6419 No need char
 6420     bXXaYYaY
 6421  0: bXXaYYaY
 6422  1: Y
 6423     bXYaXXaX
 6424  0: bX
 6425  1: X
 6426 
 6427 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
 6428 Capturing subpattern count = 10
 6429 Max back reference = 10
 6430 Named capturing subpatterns:
 6431   A  10
 6432 No options
 6433 No first char
 6434 No need char
 6435     bXXaYYaY
 6436  0: bXXaYYaY
 6437  1: 
 6438  2: 
 6439  3: 
 6440  4: 
 6441  5: 
 6442  6: 
 6443  7: 
 6444  8: 
 6445  9: 
 6446 10: Y
 6447 
 6448 /\s*,\s*/IS
 6449 Capturing subpattern count = 0
 6450 No options
 6451 No first char
 6452 Need char = ','
 6453 Subject length lower bound = 1
 6454 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 , 
 6455     \x0b,\x0b
 6456  0: \x0b,\x0b
 6457     \x0c,\x0d
 6458  0: \x0c,\x0d
 6459 
 6460 /^abc/Im
 6461 Capturing subpattern count = 0
 6462 Options: multiline
 6463 First char at start or follows newline
 6464 Need char = 'c'
 6465     xyz\nabc
 6466  0: abc
 6467     xyz\nabc\<lf>
 6468  0: abc
 6469     xyz\r\nabc\<lf>
 6470  0: abc
 6471     xyz\rabc\<cr>
 6472  0: abc
 6473     xyz\r\nabc\<crlf>
 6474  0: abc
 6475     ** Failers
 6476 No match
 6477     xyz\nabc\<cr>
 6478 No match
 6479     xyz\r\nabc\<cr>
 6480 No match
 6481     xyz\nabc\<crlf>
 6482 No match
 6483     xyz\rabc\<crlf>
 6484 No match
 6485     xyz\rabc\<lf>
 6486 No match
 6487 
 6488 /abc$/Im<lf>
 6489 Capturing subpattern count = 0
 6490 Options: multiline
 6491 Forced newline sequence: LF
 6492 First char = 'a'
 6493 Need char = 'c'
 6494     xyzabc
 6495  0: abc
 6496     xyzabc\n
 6497  0: abc
 6498     xyzabc\npqr
 6499  0: abc
 6500     xyzabc\r\<cr>
 6501  0: abc
 6502     xyzabc\rpqr\<cr>
 6503  0: abc
 6504     xyzabc\r\n\<crlf>
 6505  0: abc
 6506     xyzabc\r\npqr\<crlf>
 6507  0: abc
 6508     ** Failers
 6509 No match
 6510     xyzabc\r
 6511 No match
 6512     xyzabc\rpqr
 6513 No match
 6514     xyzabc\r\n
 6515 No match
 6516     xyzabc\r\npqr
 6517 No match
 6518 
 6519 /^abc/Im<cr>
 6520 Capturing subpattern count = 0
 6521 Options: multiline
 6522 Forced newline sequence: CR
 6523 First char at start or follows newline
 6524 Need char = 'c'
 6525     xyz\rabcdef
 6526  0: abc
 6527     xyz\nabcdef\<lf>
 6528  0: abc
 6529     ** Failers
 6530 No match
 6531     xyz\nabcdef
 6532 No match
 6533 
 6534 /^abc/Im<lf>
 6535 Capturing subpattern count = 0
 6536 Options: multiline
 6537 Forced newline sequence: LF
 6538 First char at start or follows newline
 6539 Need char = 'c'
 6540     xyz\nabcdef
 6541  0: abc
 6542     xyz\rabcdef\<cr>
 6543  0: abc
 6544     ** Failers
 6545 No match
 6546     xyz\rabcdef
 6547 No match
 6548 
 6549 /^abc/Im<crlf>
 6550 Capturing subpattern count = 0
 6551 Options: multiline
 6552 Forced newline sequence: CRLF
 6553 First char at start or follows newline
 6554 Need char = 'c'
 6555     xyz\r\nabcdef
 6556  0: abc
 6557     xyz\rabcdef\<cr>
 6558  0: abc
 6559     ** Failers
 6560 No match
 6561     xyz\rabcdef
 6562 No match
 6563 
 6564 /^abc/Im<bad>
 6565 Unknown modifier at: <bad>
 6566 
 6567 
 6568 /abc/I
 6569 Capturing subpattern count = 0
 6570 No options
 6571 First char = 'a'
 6572 Need char = 'c'
 6573     xyz\rabc\<bad>
 6574 Unknown escape sequence at: <bad>
 6575     abc
 6576  0: abc
 6577 
 6578 /.*/I<lf>
 6579 Capturing subpattern count = 0
 6580 May match empty string
 6581 Options:
 6582 Forced newline sequence: LF
 6583 First char at start or follows newline
 6584 No need char
 6585     abc\ndef
 6586  0: abc
 6587     abc\rdef
 6588  0: abc\x0ddef
 6589     abc\r\ndef
 6590  0: abc\x0d
 6591     \<cr>abc\ndef
 6592  0: abc\x0adef
 6593     \<cr>abc\rdef
 6594  0: abc
 6595     \<cr>abc\r\ndef
 6596  0: abc
 6597     \<crlf>abc\ndef
 6598  0: abc\x0adef
 6599     \<crlf>abc\rdef
 6600  0: abc\x0ddef
 6601     \<crlf>abc\r\ndef
 6602  0: abc
 6603 
 6604 /\w+(.)(.)?def/Is
 6605 Capturing subpattern count = 2
 6606 Options: dotall
 6607 No first char
 6608 Need char = 'f'
 6609     abc\ndef
 6610  0: abc\x0adef
 6611  1: \x0a
 6612     abc\rdef
 6613  0: abc\x0ddef
 6614  1: \x0d
 6615     abc\r\ndef
 6616  0: abc\x0d\x0adef
 6617  1: \x0d
 6618  2: \x0a
 6619 
 6620 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
 6621 Capturing subpattern count = 1
 6622 May match empty string
 6623 No options
 6624 No first char
 6625 No need char
 6626    /* this is a C style comment */\M
 6627 Minimum match() limit = 120
 6628 Minimum match() recursion limit = 6
 6629  0: /* this is a C style comment */
 6630  1: /* this is a C style comment */
 6631 
 6632 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
 6633 Capturing subpattern count = 1
 6634 Named capturing subpatterns:
 6635   B   1
 6636 No options
 6637 No first char
 6638 Need char = '.'
 6639 
 6640 /()()()()()()()()()()()()()()()()()()()()
 6641  ()()()()()()()()()()()()()()()()()()()()
 6642  ()()()()()()()()()()()()()()()()()()()()
 6643  ()()()()()()()()()()()()()()()()()()()()
 6644  ()()()()()()()()()()()()()()()()()()()()
 6645  (.(.))/Ix
 6646 Capturing subpattern count = 102
 6647 Options: extended
 6648 No first char
 6649 No need char
 6650     XY\O400
 6651  0: XY
 6652  1: 
 6653  2: 
 6654  3: 
 6655  4: 
 6656  5: 
 6657  6: 
 6658  7: 
 6659  8: 
 6660  9: 
 6661 10: 
 6662 11: 
 6663 12: 
 6664 13: 
 6665 14: 
 6666 15: 
 6667 16: 
 6668 17: 
 6669 18: 
 6670 19: 
 6671 20: 
 6672 21: 
 6673 22: 
 6674 23: 
 6675 24: 
 6676 25: 
 6677 26: 
 6678 27: 
 6679 28: 
 6680 29: 
 6681 30: 
 6682 31: 
 6683 32: 
 6684 33: 
 6685 34: 
 6686 35: 
 6687 36: 
 6688 37: 
 6689 38: 
 6690 39: 
 6691 40: 
 6692 41: 
 6693 42: 
 6694 43: 
 6695 44: 
 6696 45: 
 6697 46: 
 6698 47: 
 6699 48: 
 6700 49: 
 6701 50: 
 6702 51: 
 6703 52: 
 6704 53: 
 6705 54: 
 6706 55: 
 6707 56: 
 6708 57: 
 6709 58: 
 6710 59: 
 6711 60: 
 6712 61: 
 6713 62: 
 6714 63: 
 6715 64: 
 6716 65: 
 6717 66: 
 6718 67: 
 6719 68: 
 6720 69: 
 6721 70: 
 6722 71: 
 6723 72: 
 6724 73: 
 6725 74: 
 6726 75: 
 6727 76: 
 6728 77: 
 6729 78: 
 6730 79: 
 6731 80: 
 6732 81: 
 6733 82: 
 6734 83: 
 6735 84: 
 6736 85: 
 6737 86: 
 6738 87: 
 6739 88: 
 6740 89: 
 6741 90: 
 6742 91: 
 6743 92: 
 6744 93: 
 6745 94: 
 6746 95: 
 6747 96: 
 6748 97: 
 6749 98: 
 6750 99: 
 6751 100: 
 6752 101: XY
 6753 102: Y
 6754 
 6755 /(a*b|(?i:c*(?-i)d))/IS
 6756 Capturing subpattern count = 1
 6757 No options
 6758 No first char
 6759 No need char
 6760 Subject length lower bound = 1
 6761 Starting chars: C a b c d 
 6762 
 6763 /()[ab]xyz/IS
 6764 Capturing subpattern count = 1
 6765 No options
 6766 No first char
 6767 Need char = 'z'
 6768 Subject length lower bound = 4
 6769 Starting chars: a b 
 6770 
 6771 /(|)[ab]xyz/IS
 6772 Capturing subpattern count = 1
 6773 No options
 6774 No first char
 6775 Need char = 'z'
 6776 Subject length lower bound = 4
 6777 Starting chars: a b 
 6778 
 6779 /(|c)[ab]xyz/IS
 6780 Capturing subpattern count = 1
 6781 No options
 6782 No first char
 6783 Need char = 'z'
 6784 Subject length lower bound = 4
 6785 Starting chars: a b c 
 6786 
 6787 /(|c?)[ab]xyz/IS
 6788 Capturing subpattern count = 1
 6789 No options
 6790 No first char
 6791 Need char = 'z'
 6792 Subject length lower bound = 4
 6793 Starting chars: a b c 
 6794 
 6795 /(d?|c?)[ab]xyz/IS
 6796 Capturing subpattern count = 1
 6797 No options
 6798 No first char
 6799 Need char = 'z'
 6800 Subject length lower bound = 4
 6801 Starting chars: a b c d 
 6802 
 6803 /(d?|c)[ab]xyz/IS
 6804 Capturing subpattern count = 1
 6805 No options
 6806 No first char
 6807 Need char = 'z'
 6808 Subject length lower bound = 4
 6809 Starting chars: a b c d 
 6810 
 6811 /^a*b\d/DZ
 6812 ------------------------------------------------------------------
 6813         Bra
 6814         ^
 6815         a*+
 6816         b
 6817         \d
 6818         Ket
 6819         End
 6820 ------------------------------------------------------------------
 6821 Capturing subpattern count = 0
 6822 Options: anchored
 6823 No first char
 6824 Need char = 'b'
 6825 
 6826 /^a*+b\d/DZ
 6827 ------------------------------------------------------------------
 6828         Bra
 6829         ^
 6830         a*+
 6831         b
 6832         \d
 6833         Ket
 6834         End
 6835 ------------------------------------------------------------------
 6836 Capturing subpattern count = 0
 6837 Options: anchored
 6838 No first char
 6839 Need char = 'b'
 6840 
 6841 /^a*?b\d/DZ
 6842 ------------------------------------------------------------------
 6843         Bra
 6844         ^
 6845         a*+
 6846         b
 6847         \d
 6848         Ket
 6849         End
 6850 ------------------------------------------------------------------
 6851 Capturing subpattern count = 0
 6852 Options: anchored
 6853 No first char
 6854 Need char = 'b'
 6855 
 6856 /^a+A\d/DZ
 6857 ------------------------------------------------------------------
 6858         Bra
 6859         ^
 6860         a++
 6861         A
 6862         \d
 6863         Ket
 6864         End
 6865 ------------------------------------------------------------------
 6866 Capturing subpattern count = 0
 6867 Options: anchored
 6868 No first char
 6869 Need char = 'A'
 6870     aaaA5
 6871  0: aaaA5
 6872     ** Failers
 6873 No match
 6874     aaaa5
 6875 No match
 6876 
 6877 /^a*A\d/IiDZ
 6878 ------------------------------------------------------------------
 6879         Bra
 6880         ^
 6881      /i a*
 6882      /i A
 6883         \d
 6884         Ket
 6885         End
 6886 ------------------------------------------------------------------
 6887 Capturing subpattern count = 0
 6888 Options: anchored caseless
 6889 No first char
 6890 Need char = 'A' (caseless)
 6891     aaaA5
 6892  0: aaaA5
 6893     aaaa5
 6894  0: aaaa5
 6895 
 6896 /(a*|b*)[cd]/IS
 6897 Capturing subpattern count = 1
 6898 No options
 6899 No first char
 6900 No need char
 6901 Subject length lower bound = 1
 6902 Starting chars: a b c d 
 6903 
 6904 /(a+|b*)[cd]/IS
 6905 Capturing subpattern count = 1
 6906 No options
 6907 No first char
 6908 No need char
 6909 Subject length lower bound = 1
 6910 Starting chars: a b c d 
 6911 
 6912 /(a*|b+)[cd]/IS
 6913 Capturing subpattern count = 1
 6914 No options
 6915 No first char
 6916 No need char
 6917 Subject length lower bound = 1
 6918 Starting chars: a b c d 
 6919 
 6920 /(a+|b+)[cd]/IS
 6921 Capturing subpattern count = 1
 6922 No options
 6923 No first char
 6924 No need char
 6925 Subject length lower bound = 2
 6926 Starting chars: a b 
 6927 
 6928 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
 6929  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
 6930  (((
 6931  a
 6932  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 6933  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 6934  )))
 6935 /Ix
 6936 Capturing subpattern count = 203
 6937 Options: extended
 6938 First char = 'a'
 6939 No need char
 6940   large nest
 6941 Matched, but too many substrings
 6942  0: a
 6943  1: a
 6944  2: a
 6945  3: a
 6946  4: a
 6947  5: a
 6948  6: a
 6949  7: a
 6950  8: a
 6951  9: a
 6952 10: a
 6953 11: a
 6954 12: a
 6955 13: a
 6956 14: a
 6957 
 6958 /a*\d/BZ
 6959 ------------------------------------------------------------------
 6960         Bra
 6961         a*+
 6962         \d
 6963         Ket
 6964         End
 6965 ------------------------------------------------------------------
 6966 
 6967 /a*\D/BZ
 6968 ------------------------------------------------------------------
 6969         Bra
 6970         a*
 6971         \D
 6972         Ket
 6973         End
 6974 ------------------------------------------------------------------
 6975 
 6976 /0*\d/BZ
 6977 ------------------------------------------------------------------
 6978         Bra
 6979         0*
 6980         \d
 6981         Ket
 6982         End
 6983 ------------------------------------------------------------------
 6984 
 6985 /0*\D/BZ
 6986 ------------------------------------------------------------------
 6987         Bra
 6988         0*+
 6989         \D
 6990         Ket
 6991         End
 6992 ------------------------------------------------------------------
 6993 
 6994 /a*\s/BZ
 6995 ------------------------------------------------------------------
 6996         Bra
 6997         a*+
 6998         \s
 6999         Ket
 7000         End
 7001 ------------------------------------------------------------------
 7002 
 7003 /a*\S/BZ
 7004 ------------------------------------------------------------------
 7005         Bra
 7006         a*
 7007         \S
 7008         Ket
 7009         End
 7010 ------------------------------------------------------------------
 7011 
 7012 / *\s/BZ
 7013 ------------------------------------------------------------------
 7014         Bra
 7015          *
 7016         \s
 7017         Ket
 7018         End
 7019 ------------------------------------------------------------------
 7020 
 7021 / *\S/BZ
 7022 ------------------------------------------------------------------
 7023         Bra
 7024          *+
 7025         \S
 7026         Ket
 7027         End
 7028 ------------------------------------------------------------------
 7029 
 7030 /a*\w/BZ
 7031 ------------------------------------------------------------------
 7032         Bra
 7033         a*
 7034         \w
 7035         Ket
 7036         End
 7037 ------------------------------------------------------------------
 7038 
 7039 /a*\W/BZ
 7040 ------------------------------------------------------------------
 7041         Bra
 7042         a*+
 7043         \W
 7044         Ket
 7045         End
 7046 ------------------------------------------------------------------
 7047 
 7048 /=*\w/BZ
 7049 ------------------------------------------------------------------
 7050         Bra
 7051         =*+
 7052         \w
 7053         Ket
 7054         End
 7055 ------------------------------------------------------------------
 7056 
 7057 /=*\W/BZ
 7058 ------------------------------------------------------------------
 7059         Bra
 7060         =*
 7061         \W
 7062         Ket
 7063         End
 7064 ------------------------------------------------------------------
 7065 
 7066 /\d*a/BZ
 7067 ------------------------------------------------------------------
 7068         Bra
 7069         \d*+
 7070         a
 7071         Ket
 7072         End
 7073 ------------------------------------------------------------------
 7074 
 7075 /\d*2/BZ
 7076 ------------------------------------------------------------------
 7077         Bra
 7078         \d*
 7079         2
 7080         Ket
 7081         End
 7082 ------------------------------------------------------------------
 7083 
 7084 /\d*\d/BZ
 7085 ------------------------------------------------------------------
 7086         Bra
 7087         \d*
 7088         \d
 7089         Ket
 7090         End
 7091 ------------------------------------------------------------------
 7092 
 7093 /\d*\D/BZ
 7094 ------------------------------------------------------------------
 7095         Bra
 7096         \d*+
 7097         \D
 7098         Ket
 7099         End
 7100 ------------------------------------------------------------------
 7101 
 7102 /\d*\s/BZ
 7103 ------------------------------------------------------------------
 7104         Bra
 7105         \d*+
 7106         \s
 7107         Ket
 7108         End
 7109 ------------------------------------------------------------------
 7110 
 7111 /\d*\S/BZ
 7112 ------------------------------------------------------------------
 7113         Bra
 7114         \d*
 7115         \S
 7116         Ket
 7117         End
 7118 ------------------------------------------------------------------
 7119 
 7120 /\d*\w/BZ
 7121 ------------------------------------------------------------------
 7122         Bra
 7123         \d*
 7124         \w
 7125         Ket
 7126         End
 7127 ------------------------------------------------------------------
 7128 
 7129 /\d*\W/BZ
 7130 ------------------------------------------------------------------
 7131         Bra
 7132         \d*+
 7133         \W
 7134         Ket
 7135         End
 7136 ------------------------------------------------------------------
 7137 
 7138 /\D*a/BZ
 7139 ------------------------------------------------------------------
 7140         Bra
 7141         \D*
 7142         a
 7143         Ket
 7144         End
 7145 ------------------------------------------------------------------
 7146 
 7147 /\D*2/BZ
 7148 ------------------------------------------------------------------
 7149         Bra
 7150         \D*+
 7151         2
 7152         Ket
 7153         End
 7154 ------------------------------------------------------------------
 7155 
 7156 /\D*\d/BZ
 7157 ------------------------------------------------------------------
 7158         Bra
 7159         \D*+
 7160         \d
 7161         Ket
 7162         End
 7163 ------------------------------------------------------------------
 7164 
 7165 /\D*\D/BZ
 7166 ------------------------------------------------------------------
 7167         Bra
 7168         \D*
 7169         \D
 7170         Ket
 7171         End
 7172 ------------------------------------------------------------------
 7173 
 7174 /\D*\s/BZ
 7175 ------------------------------------------------------------------
 7176         Bra
 7177         \D*
 7178         \s
 7179         Ket
 7180         End
 7181 ------------------------------------------------------------------
 7182 
 7183 /\D*\S/BZ
 7184 ------------------------------------------------------------------
 7185         Bra
 7186         \D*
 7187         \S
 7188         Ket
 7189         End
 7190 ------------------------------------------------------------------
 7191 
 7192 /\D*\w/BZ
 7193 ------------------------------------------------------------------
 7194         Bra
 7195         \D*
 7196         \w
 7197         Ket
 7198         End
 7199 ------------------------------------------------------------------
 7200 
 7201 /\D*\W/BZ
 7202 ------------------------------------------------------------------
 7203         Bra
 7204         \D*
 7205         \W
 7206         Ket
 7207         End
 7208 ------------------------------------------------------------------
 7209 
 7210 /\s*a/BZ
 7211 ------------------------------------------------------------------
 7212         Bra
 7213         \s*+
 7214         a
 7215         Ket
 7216         End
 7217 ------------------------------------------------------------------
 7218 
 7219 /\s*2/BZ
 7220 ------------------------------------------------------------------
 7221         Bra
 7222         \s*+
 7223         2
 7224         Ket
 7225         End
 7226 ------------------------------------------------------------------
 7227 
 7228 /\s*\d/BZ
 7229 ------------------------------------------------------------------
 7230         Bra
 7231         \s*+
 7232         \d
 7233         Ket
 7234         End
 7235 ------------------------------------------------------------------
 7236 
 7237 /\s*\D/BZ
 7238 ------------------------------------------------------------------
 7239         Bra
 7240         \s*
 7241         \D
 7242         Ket
 7243         End
 7244 ------------------------------------------------------------------
 7245 
 7246 /\s*\s/BZ
 7247 ------------------------------------------------------------------
 7248         Bra
 7249         \s*
 7250         \s
 7251         Ket
 7252         End
 7253 ------------------------------------------------------------------
 7254 
 7255 /\s*\S/BZ
 7256 ------------------------------------------------------------------
 7257         Bra
 7258         \s*+
 7259         \S
 7260         Ket
 7261         End
 7262 ------------------------------------------------------------------
 7263 
 7264 /\s*\w/BZ
 7265 ------------------------------------------------------------------
 7266         Bra
 7267         \s*+
 7268         \w
 7269         Ket
 7270         End
 7271 ------------------------------------------------------------------
 7272 
 7273 /\s*\W/BZ
 7274 ------------------------------------------------------------------
 7275         Bra
 7276         \s*
 7277         \W
 7278         Ket
 7279         End
 7280 ------------------------------------------------------------------
 7281 
 7282 /\S*a/BZ
 7283 ------------------------------------------------------------------
 7284         Bra
 7285         \S*
 7286         a
 7287         Ket
 7288         End
 7289 ------------------------------------------------------------------
 7290 
 7291 /\S*2/BZ
 7292 ------------------------------------------------------------------
 7293         Bra
 7294         \S*
 7295         2
 7296         Ket
 7297         End
 7298 ------------------------------------------------------------------
 7299 
 7300 /\S*\d/BZ
 7301 ------------------------------------------------------------------
 7302         Bra
 7303         \S*
 7304         \d
 7305         Ket
 7306         End
 7307 ------------------------------------------------------------------
 7308 
 7309 /\S*\D/BZ
 7310 ------------------------------------------------------------------
 7311         Bra
 7312         \S*
 7313         \D
 7314         Ket
 7315         End
 7316 ------------------------------------------------------------------
 7317 
 7318 /\S*\s/BZ
 7319 ------------------------------------------------------------------
 7320         Bra
 7321         \S*+
 7322         \s
 7323         Ket
 7324         End
 7325 ------------------------------------------------------------------
 7326 
 7327 /\S*\S/BZ
 7328 ------------------------------------------------------------------
 7329         Bra
 7330         \S*
 7331         \S
 7332         Ket
 7333         End
 7334 ------------------------------------------------------------------
 7335 
 7336 /\S*\w/BZ
 7337 ------------------------------------------------------------------
 7338         Bra
 7339         \S*
 7340         \w
 7341         Ket
 7342         End
 7343 ------------------------------------------------------------------
 7344 
 7345 /\S*\W/BZ
 7346 ------------------------------------------------------------------
 7347         Bra
 7348         \S*
 7349         \W
 7350         Ket
 7351         End
 7352 ------------------------------------------------------------------
 7353 
 7354 /\w*a/BZ
 7355 ------------------------------------------------------------------
 7356         Bra
 7357         \w*
 7358         a
 7359         Ket
 7360         End
 7361 ------------------------------------------------------------------
 7362 
 7363 /\w*2/BZ
 7364 ------------------------------------------------------------------
 7365         Bra
 7366         \w*
 7367         2
 7368         Ket
 7369         End
 7370 ------------------------------------------------------------------
 7371 
 7372 /\w*\d/BZ
 7373 ------------------------------------------------------------------
 7374         Bra
 7375         \w*
 7376         \d
 7377         Ket
 7378         End
 7379 ------------------------------------------------------------------
 7380 
 7381 /\w*\D/BZ
 7382 ------------------------------------------------------------------
 7383         Bra
 7384         \w*
 7385         \D
 7386         Ket
 7387         End
 7388 ------------------------------------------------------------------
 7389 
 7390 /\w*\s/BZ
 7391 ------------------------------------------------------------------
 7392         Bra
 7393         \w*+
 7394         \s
 7395         Ket
 7396         End
 7397 ------------------------------------------------------------------
 7398 
 7399 /\w*\S/BZ
 7400 ------------------------------------------------------------------
 7401         Bra
 7402         \w*
 7403         \S
 7404         Ket
 7405         End
 7406 ------------------------------------------------------------------
 7407 
 7408 /\w*\w/BZ
 7409 ------------------------------------------------------------------
 7410         Bra
 7411         \w*
 7412         \w
 7413         Ket
 7414         End
 7415 ------------------------------------------------------------------
 7416 
 7417 /\w*\W/BZ
 7418 ------------------------------------------------------------------
 7419         Bra
 7420         \w*+
 7421         \W
 7422         Ket
 7423         End
 7424 ------------------------------------------------------------------
 7425 
 7426 /\W*a/BZ
 7427 ------------------------------------------------------------------
 7428         Bra
 7429         \W*+
 7430         a
 7431         Ket
 7432         End
 7433 ------------------------------------------------------------------
 7434 
 7435 /\W*2/BZ
 7436 ------------------------------------------------------------------
 7437         Bra
 7438         \W*+
 7439         2
 7440         Ket
 7441         End
 7442 ------------------------------------------------------------------
 7443 
 7444 /\W*\d/BZ
 7445 ------------------------------------------------------------------
 7446         Bra
 7447         \W*+
 7448         \d
 7449         Ket
 7450         End
 7451 ------------------------------------------------------------------
 7452 
 7453 /\W*\D/BZ
 7454 ------------------------------------------------------------------
 7455         Bra
 7456         \W*
 7457         \D
 7458         Ket
 7459         End
 7460 ------------------------------------------------------------------
 7461 
 7462 /\W*\s/BZ
 7463 ------------------------------------------------------------------
 7464         Bra
 7465         \W*
 7466         \s
 7467         Ket
 7468         End
 7469 ------------------------------------------------------------------
 7470 
 7471 /\W*\S/BZ
 7472 ------------------------------------------------------------------
 7473         Bra
 7474         \W*
 7475         \S
 7476         Ket
 7477         End
 7478 ------------------------------------------------------------------
 7479 
 7480 /\W*\w/BZ
 7481 ------------------------------------------------------------------
 7482         Bra
 7483         \W*+
 7484         \w
 7485         Ket
 7486         End
 7487 ------------------------------------------------------------------
 7488 
 7489 /\W*\W/BZ
 7490 ------------------------------------------------------------------
 7491         Bra
 7492         \W*
 7493         \W
 7494         Ket
 7495         End
 7496 ------------------------------------------------------------------
 7497 
 7498 /[^a]+a/BZ
 7499 ------------------------------------------------------------------
 7500         Bra
 7501         [^a]++
 7502         a
 7503         Ket
 7504         End
 7505 ------------------------------------------------------------------
 7506 
 7507 /[^a]+a/BZi
 7508 ------------------------------------------------------------------
 7509         Bra
 7510      /i [^a]++
 7511      /i a
 7512         Ket
 7513         End
 7514 ------------------------------------------------------------------
 7515 
 7516 /[^a]+A/BZi
 7517 ------------------------------------------------------------------
 7518         Bra
 7519      /i [^a]++
 7520      /i A
 7521         Ket
 7522         End
 7523 ------------------------------------------------------------------
 7524 
 7525 /[^a]+b/BZ
 7526 ------------------------------------------------------------------
 7527         Bra
 7528         [^a]+
 7529         b
 7530         Ket
 7531         End
 7532 ------------------------------------------------------------------
 7533 
 7534 /[^a]+\d/BZ
 7535 ------------------------------------------------------------------
 7536         Bra
 7537         [^a]+
 7538         \d
 7539         Ket
 7540         End
 7541 ------------------------------------------------------------------
 7542 
 7543 /a*[^a]/BZ
 7544 ------------------------------------------------------------------
 7545         Bra
 7546         a*+
 7547         [^a]
 7548         Ket
 7549         End
 7550 ------------------------------------------------------------------
 7551 
 7552 /(?P<abc>x)(?P<xyz>y)/I
 7553 Capturing subpattern count = 2
 7554 Named capturing subpatterns:
 7555   abc   1
 7556   xyz   2
 7557 No options
 7558 First char = 'x'
 7559 Need char = 'y'
 7560     xy\Cabc\Cxyz
 7561  0: xy
 7562  1: x
 7563  2: y
 7564   C x (1) abc
 7565   C y (1) xyz
 7566 
 7567 /(?<abc>x)(?'xyz'y)/I
 7568 Capturing subpattern count = 2
 7569 Named capturing subpatterns:
 7570   abc   1
 7571   xyz   2
 7572 No options
 7573 First char = 'x'
 7574 Need char = 'y'
 7575     xy\Cabc\Cxyz
 7576  0: xy
 7577  1: x
 7578  2: y
 7579   C x (1) abc
 7580   C y (1) xyz
 7581 
 7582 /(?<abc'x)(?'xyz'y)/I
 7583 Failed: syntax error in subpattern name (missing terminator) at offset 6
 7584 
 7585 /(?<abc>x)(?'xyz>y)/I
 7586 Failed: syntax error in subpattern name (missing terminator) at offset 15
 7587 
 7588 /(?P'abc'x)(?P<xyz>y)/I
 7589 Failed: unrecognized character after (?P at offset 3
 7590 
 7591 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
 7592     bXaX
 7593  0: bXaX
 7594  1: X
 7595     bXbX
 7596  0: bX
 7597  1: X
 7598     ** Failers
 7599 No match
 7600     aXaX
 7601 No match
 7602     aXbX
 7603 No match
 7604 
 7605 /^(?P>abc)(?<abcd>xxx)/
 7606 Failed: reference to non-existent subpattern at offset 8
 7607 
 7608 /^(?P>abc)(?<abc>x|y)/
 7609     xx
 7610  0: xx
 7611  1: x
 7612     xy
 7613  0: xy
 7614  1: y
 7615     yy
 7616  0: yy
 7617  1: y
 7618     yx
 7619  0: yx
 7620  1: x
 7621 
 7622 /^(?P>abc)(?P<abc>x|y)/
 7623     xx
 7624  0: xx
 7625  1: x
 7626     xy
 7627  0: xy
 7628  1: y
 7629     yy
 7630  0: yy
 7631  1: y
 7632     yx
 7633  0: yx
 7634  1: x
 7635 
 7636 /^((?(abc)a|b)(?<abc>x|y))+/
 7637     bxay
 7638  0: bxay
 7639  1: ay
 7640  2: y
 7641     bxby
 7642  0: bx
 7643  1: bx
 7644  2: x
 7645     ** Failers
 7646 No match
 7647     axby
 7648 No match
 7649 
 7650 /^(((?P=abc)|X)(?<abc>x|y))+/
 7651     XxXxxx
 7652  0: XxXxxx
 7653  1: xx
 7654  2: x
 7655  3: x
 7656     XxXyyx
 7657  0: XxXyyx
 7658  1: yx
 7659  2: y
 7660  3: x
 7661     XxXyxx
 7662  0: XxXy
 7663  1: Xy
 7664  2: X
 7665  3: y
 7666     ** Failers
 7667 No match
 7668     x
 7669 No match
 7670 
 7671 /^(?1)(abc)/
 7672     abcabc
 7673  0: abcabc
 7674  1: abc
 7675 
 7676 /^(?:(?:\1|X)(a|b))+/
 7677     Xaaa
 7678  0: Xaaa
 7679  1: a
 7680     Xaba
 7681  0: Xa
 7682  1: a
 7683 
 7684 /^[\E\Qa\E-\Qz\E]+/BZ
 7685 ------------------------------------------------------------------
 7686         Bra
 7687         ^
 7688         [a-z]++
 7689         Ket
 7690         End
 7691 ------------------------------------------------------------------
 7692 
 7693 /^[a\Q]bc\E]/BZ
 7694 ------------------------------------------------------------------
 7695         Bra
 7696         ^
 7697         [\]a-c]
 7698         Ket
 7699         End
 7700 ------------------------------------------------------------------
 7701 
 7702 /^[a-\Q\E]/BZ
 7703 ------------------------------------------------------------------
 7704         Bra
 7705         ^
 7706         [\-a]
 7707         Ket
 7708         End
 7709 ------------------------------------------------------------------
 7710 
 7711 /^(?P>abc)[()](?<abc>)/BZ
 7712 ------------------------------------------------------------------
 7713         Bra
 7714         ^
 7715         Recurse
 7716         [()]
 7717         CBra 1
 7718         Ket
 7719         Ket
 7720         End
 7721 ------------------------------------------------------------------
 7722 
 7723 /^((?(abc)y)[()](?P<abc>x))+/BZ
 7724 ------------------------------------------------------------------
 7725         Bra
 7726         ^
 7727         CBra 1
 7728         Cond
 7729       2 Cond ref
 7730         y
 7731         Ket
 7732         [()]
 7733         CBra 2
 7734         x
 7735         Ket
 7736         KetRmax
 7737         Ket
 7738         End
 7739 ------------------------------------------------------------------
 7740     (xy)x
 7741  0: (xy)x
 7742  1: y)x
 7743  2: x
 7744 
 7745 /^(?P>abc)\Q()\E(?<abc>)/BZ
 7746 ------------------------------------------------------------------
 7747         Bra
 7748         ^
 7749         Recurse
 7750         ()
 7751         CBra 1
 7752         Ket
 7753         Ket
 7754         End
 7755 ------------------------------------------------------------------
 7756 
 7757 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
 7758 ------------------------------------------------------------------
 7759         Bra
 7760         ^
 7761         Recurse
 7762         [(\]a]
 7763         CBra 1
 7764         Ket
 7765         Ket
 7766         End
 7767 ------------------------------------------------------------------
 7768 
 7769 /^(?P>abc) # this is (a comment)
 7770   (?<abc>)/BZx
 7771 ------------------------------------------------------------------
 7772         Bra
 7773         ^
 7774         Recurse
 7775         CBra 1
 7776         Ket
 7777         Ket
 7778         End
 7779 ------------------------------------------------------------------
 7780 
 7781 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
 7782 Capturing subpattern count = 4
 7783 Max back reference = 4
 7784 Named capturing subpatterns:
 7785   four    4
 7786   one     1
 7787   three   3
 7788   two     2
 7789 May match empty string
 7790 Options: anchored caseless
 7791 No first char
 7792 No need char
 7793     1221
 7794  0: 1221
 7795  1: 1221
 7796  2: 1
 7797     Satan, oscillate my metallic sonatas!
 7798  0: Satan, oscillate my metallic sonatas!
 7799  1: <unset>
 7800  2: <unset>
 7801  3: Satan, oscillate my metallic sonatas
 7802  4: S
 7803     A man, a plan, a canal: Panama!
 7804  0: A man, a plan, a canal: Panama!
 7805  1: <unset>
 7806  2: <unset>
 7807  3: A man, a plan, a canal: Panama
 7808  4: A
 7809     Able was I ere I saw Elba.
 7810  0: Able was I ere I saw Elba.
 7811  1: <unset>
 7812  2: <unset>
 7813  3: Able was I ere I saw Elba
 7814  4: A
 7815     *** Failers
 7816 No match
 7817     The quick brown fox
 7818 No match
 7819 
 7820 /(?=(\w+))\1:/I
 7821 Capturing subpattern count = 1
 7822 Max back reference = 1
 7823 No options
 7824 No first char
 7825 Need char = ':'
 7826     abcd:
 7827  0: abcd:
 7828  1: abcd
 7829 
 7830 /(?=(?'abc'\w+))\k<abc>:/I
 7831 Capturing subpattern count = 1
 7832 Max back reference = 1
 7833 Named capturing subpatterns:
 7834   abc   1
 7835 No options
 7836 No first char
 7837 Need char = ':'
 7838     abcd:
 7839  0: abcd:
 7840  1: abcd
 7841 
 7842 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
 7843     adaa
 7844  0: adaa
 7845  1: a
 7846  2: d
 7847     ** Failers
 7848 No match
 7849     addd
 7850 No match
 7851     adbb
 7852 No match
 7853 
 7854 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
 7855     bdaa
 7856  0: bdaa
 7857  1: b
 7858  2: d
 7859     bdab
 7860  0: bdab
 7861  1: b
 7862  2: d
 7863     ** Failers
 7864 No match
 7865     bddd
 7866 No match
 7867 
 7868 /(?(<bc))/
 7869 Failed: malformed number or name after (?( at offset 6
 7870 
 7871 /(?(''))/
 7872 Failed: assertion expected after (?( or (?(?C) at offset 4
 7873 
 7874 /(?('R')stuff)/
 7875 Failed: reference to non-existent subpattern at offset 7
 7876 
 7877 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
 7878     abcabc1Xabc2XabcXabcabc
 7879  0: abcabc1Xabc2XabcX
 7880  1: abcabc1Xabc2XabcX
 7881  2: abcabc1Xabc2XabcX
 7882 
 7883 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
 7884     abcabc1Xabc2XabcXabcabc
 7885  0: abcabc1Xabc2XabcX
 7886  1: abcabc1Xabc2XabcX
 7887  2: abcabc1Xabc2XabcX
 7888 
 7889 /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
 7890 Failed: reference to non-existent subpattern at offset 29
 7891 
 7892 /^(?(DEFINE) abc | xyz ) /x
 7893 Failed: DEFINE group contains more than one branch at offset 22
 7894 
 7895 /(?(DEFINE) abc) xyz/xI
 7896 Capturing subpattern count = 0
 7897 Options: extended
 7898 First char = 'x'
 7899 Need char = 'z'
 7900 
 7901 /(a|)*\d/
 7902   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 7903 No match
 7904   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
 7905 Matched, but too many substrings
 7906 
 7907 /^a.b/<lf>
 7908     a\rb
 7909  0: a\x0db
 7910     a\nb\<cr>
 7911  0: a\x0ab
 7912     a\x85b\<anycrlf> 
 7913  0: a\x85b
 7914     ** Failers
 7915 No match
 7916     a\nb
 7917 No match
 7918     a\nb\<any>
 7919 No match
 7920     a\rb\<cr>
 7921 No match
 7922     a\rb\<any>
 7923 No match
 7924     a\x85b\<any> 
 7925 No match
 7926     a\rb\<anycrlf>
 7927 No match
 7928 
 7929 /^abc./mgx<any>
 7930     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
 7931  0: abc1
 7932  0: abc2
 7933  0: abc3
 7934  0: abc4
 7935  0: abc5
 7936  0: abc6
 7937  0: abc7
 7938 
 7939 /abc.$/mgx<any>
 7940     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
 7941  0: abc1
 7942  0: abc2
 7943  0: abc3
 7944  0: abc4
 7945  0: abc5
 7946  0: abc6
 7947  0: abc9
 7948 
 7949 /a/<cr><any>
 7950 
 7951 /a/<any><crlf>
 7952 Failed: inconsistent NEWLINE options at offset 0
 7953 
 7954 /^a\Rb/<bsr_unicode>
 7955     a\nb
 7956  0: a\x0ab
 7957     a\rb
 7958  0: a\x0db
 7959     a\r\nb
 7960  0: a\x0d\x0ab
 7961     a\x0bb
 7962  0: a\x0bb
 7963     a\x0cb
 7964  0: a\x0cb
 7965     a\x85b
 7966  0: a\x85b
 7967     ** Failers
 7968 No match
 7969     a\n\rb
 7970 No match
 7971 
 7972 /^a\R*b/<bsr_unicode>
 7973     ab
 7974  0: ab
 7975     a\nb
 7976  0: a\x0ab
 7977     a\rb
 7978  0: a\x0db
 7979     a\r\nb
 7980  0: a\x0d\x0ab
 7981     a\x0bb
 7982  0: a\x0bb
 7983     a\x0cb
 7984  0: a\x0cb
 7985     a\x85b
 7986  0: a\x85b
 7987     a\n\rb
 7988  0: a\x0a\x0db
 7989     a\n\r\x85\x0cb
 7990  0: a\x0a\x0d\x85\x0cb
 7991 
 7992 /^a\R+b/<bsr_unicode>
 7993     a\nb
 7994  0: a\x0ab
 7995     a\rb
 7996  0: a\x0db
 7997     a\r\nb
 7998  0: a\x0d\x0ab
 7999     a\x0bb
 8000  0: a\x0bb
 8001     a\x0cb
 8002  0: a\x0cb
 8003     a\x85b
 8004  0: a\x85b
 8005     a\n\rb
 8006  0: a\x0a\x0db
 8007     a\n\r\x85\x0cb
 8008  0: a\x0a\x0d\x85\x0cb
 8009     ** Failers
 8010 No match
 8011     ab
 8012 No match
 8013 
 8014 /^a\R{1,3}b/<bsr_unicode>
 8015     a\nb
 8016  0: a\x0ab
 8017     a\n\rb
 8018  0: a\x0a\x0db
 8019     a\n\r\x85b
 8020  0: a\x0a\x0d\x85b
 8021     a\r\n\r\nb
 8022  0: a\x0d\x0a\x0d\x0ab
 8023     a\r\n\r\n\r\nb
 8024  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
 8025     a\n\r\n\rb
 8026  0: a\x0a\x0d\x0a\x0db
 8027     a\n\n\r\nb
 8028  0: a\x0a\x0a\x0d\x0ab
 8029     ** Failers
 8030 No match
 8031     a\n\n\n\rb
 8032 No match
 8033     a\r
 8034 No match
 8035 
 8036 /^a[\R]b/<bsr_unicode>
 8037     aRb
 8038  0: aRb
 8039     ** Failers
 8040 No match
 8041     a\nb
 8042 No match
 8043 
 8044 /(?&abc)X(?<abc>P)/I
 8045 Capturing subpattern count = 1
 8046 Named capturing subpatterns:
 8047   abc   1
 8048 No options
 8049 No first char
 8050 Need char = 'P'
 8051     abcPXP123
 8052  0: PXP
 8053  1: P
 8054 
 8055 /(?1)X(?<abc>P)/I
 8056 Capturing subpattern count = 1
 8057 Named capturing subpatterns:
 8058   abc   1
 8059 No options
 8060 No first char
 8061 Need char = 'P'
 8062     abcPXP123
 8063  0: PXP
 8064  1: P
 8065 
 8066 /(?:a(?&abc)b)*(?<abc>x)/
 8067     123axbaxbaxbx456
 8068  0: axbaxbaxbx
 8069  1: x
 8070     123axbaxbaxb456
 8071  0: x
 8072  1: x
 8073 
 8074 /(?:a(?&abc)b){1,5}(?<abc>x)/
 8075     123axbaxbaxbx456
 8076  0: axbaxbaxbx
 8077  1: x
 8078 
 8079 /(?:a(?&abc)b){2,5}(?<abc>x)/
 8080     123axbaxbaxbx456
 8081  0: axbaxbaxbx
 8082  1: x
 8083 
 8084 /(?:a(?&abc)b){2,}(?<abc>x)/
 8085     123axbaxbaxbx456
 8086  0: axbaxbaxbx
 8087  1: x
 8088 
 8089 /(abc)(?i:(?1))/
 8090    defabcabcxyz
 8091  0: abcabc
 8092  1: abc
 8093    DEFabcABCXYZ
 8094 No match
 8095 
 8096 /(abc)(?:(?i)(?1))/
 8097    defabcabcxyz
 8098  0: abcabc
 8099  1: abc
 8100    DEFabcABCXYZ
 8101 No match
 8102 
 8103 /^(a)\g-2/
 8104 Failed: reference to non-existent subpattern at offset 7
 8105 
 8106 /^(a)\g/
 8107 Failed: a numbered reference must not be zero at offset 5
 8108 
 8109 /^(a)\g{0}/
 8110 Failed: a numbered reference must not be zero at offset 8
 8111 
 8112 /^(a)\g{3/
 8113 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
 8114 
 8115 /^(a)\g{aa}/
 8116 Failed: reference to non-existent subpattern at offset 9
 8117 
 8118 /^a.b/<lf>
 8119     a\rb
 8120  0: a\x0db
 8121     *** Failers
 8122 No match
 8123     a\nb
 8124 No match
 8125 
 8126 /.+foo/
 8127     afoo
 8128  0: afoo
 8129     ** Failers
 8130 No match
 8131     \r\nfoo
 8132 No match
 8133     \nfoo
 8134 No match
 8135 
 8136 /.+foo/<crlf>
 8137     afoo
 8138  0: afoo
 8139     \nfoo
 8140  0: \x0afoo
 8141     ** Failers
 8142 No match
 8143     \r\nfoo
 8144 No match
 8145 
 8146 /.+foo/<any>
 8147     afoo
 8148  0: afoo
 8149     ** Failers
 8150 No match
 8151     \nfoo
 8152 No match
 8153     \r\nfoo
 8154 No match
 8155 
 8156 /.+foo/s
 8157     afoo
 8158  0: afoo
 8159     \r\nfoo
 8160  0: \x0d\x0afoo
 8161     \nfoo
 8162  0: \x0afoo
 8163     
 8164 /^$/mg<any>
 8165     abc\r\rxyz
 8166  0: 
 8167     abc\n\rxyz  
 8168  0: 
 8169     ** Failers 
 8170 No match
 8171     abc\r\nxyz
 8172 No match
 8173 
 8174 /(?m)^$/<any>g+
 8175     abc\r\n\r\n
 8176  0: 
 8177  0+ \x0d\x0a
 8178 
 8179 /(?m)^$|^\r\n/<any>g+ 
 8180     abc\r\n\r\n
 8181  0: 
 8182  0+ \x0d\x0a
 8183  0: \x0d\x0a
 8184  0+ 
 8185     
 8186 /(?m)$/<any>g+ 
 8187     abc\r\n\r\n
 8188  0: 
 8189  0+ \x0d\x0a\x0d\x0a
 8190  0: 
 8191  0+ \x0d\x0a
 8192  0: 
 8193  0+ 
 8194 
 8195 /abc.$/mgx<anycrlf>
 8196     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
 8197  0: abc1
 8198  0: abc4
 8199  0: abc5
 8200  0: abc9
 8201 
 8202 /^X/m
 8203     XABC
 8204  0: X
 8205     ** Failers 
 8206 No match
 8207     XABC\B
 8208 No match
 8209 
 8210 /(ab|c)(?-1)/BZ
 8211 ------------------------------------------------------------------
 8212         Bra
 8213         CBra 1
 8214         ab
 8215         Alt
 8216         c
 8217         Ket
 8218         Recurse
 8219         Ket
 8220         End
 8221 ------------------------------------------------------------------
 8222     abc
 8223  0: abc
 8224  1: ab
 8225 
 8226 /xy(?+1)(abc)/BZ
 8227 ------------------------------------------------------------------
 8228         Bra
 8229         xy
 8230         Recurse
 8231         CBra 1
 8232         abc
 8233         Ket
 8234         Ket
 8235         End
 8236 ------------------------------------------------------------------
 8237     xyabcabc
 8238  0: xyabcabc
 8239  1: abc
 8240     ** Failers
 8241 No match
 8242     xyabc  
 8243 No match
 8244     
 8245 /x(?-0)y/
 8246 Failed: a numbered reference must not be zero at offset 5
 8247 
 8248 /x(?-1)y/
 8249 Failed: reference to non-existent subpattern at offset 5
 8250 
 8251 /x(?+0)y/ 
 8252 Failed: a numbered reference must not be zero at offset 5
 8253 
 8254 /x(?+1)y/
 8255 Failed: reference to non-existent subpattern at offset 5
 8256 
 8257 /^(abc)?(?(-1)X|Y)/BZ
 8258 ------------------------------------------------------------------
 8259         Bra
 8260         ^
 8261         Brazero
 8262         CBra 1
 8263         abc
 8264         Ket
 8265         Cond
 8266       1 Cond ref
 8267         X
 8268         Alt
 8269         Y
 8270         Ket
 8271         Ket
 8272         End
 8273 ------------------------------------------------------------------
 8274     abcX
 8275  0: abcX
 8276  1: abc
 8277     Y
 8278  0: Y
 8279     ** Failers
 8280 No match
 8281     abcY   
 8282 No match
 8283     
 8284 /^((?(+1)X|Y)(abc))+/BZ 
 8285 ------------------------------------------------------------------
 8286         Bra
 8287         ^
 8288         CBra 1
 8289         Cond
 8290       2 Cond ref
 8291         X
 8292         Alt
 8293         Y
 8294         Ket
 8295         CBra 2
 8296         abc
 8297         Ket
 8298         KetRmax
 8299         Ket
 8300         End
 8301 ------------------------------------------------------------------
 8302     YabcXabc
 8303  0: YabcXabc
 8304  1: Xabc
 8305  2: abc
 8306     YabcXabcXabc
 8307  0: YabcXabcXabc
 8308  1: Xabc
 8309  2: abc
 8310     ** Failers
 8311 No match
 8312     XabcXabc  
 8313 No match
 8314 
 8315 /(?(-1)a)/BZ
 8316 Failed: reference to non-existent subpattern at offset 6
 8317 
 8318 /((?(-1)a))/BZ
 8319 ------------------------------------------------------------------
 8320         Bra
 8321         CBra 1
 8322         Cond
 8323       1 Cond ref
 8324         a
 8325         Ket
 8326         Ket
 8327         Ket
 8328         End
 8329 ------------------------------------------------------------------
 8330 
 8331 /((?(-2)a))/BZ
 8332 Failed: reference to non-existent subpattern at offset 7
 8333 
 8334 /^(?(+1)X|Y)(.)/BZ
 8335 ------------------------------------------------------------------
 8336         Bra
 8337         ^
 8338         Cond
 8339       1 Cond ref
 8340         X
 8341         Alt
 8342         Y
 8343         Ket
 8344         CBra 1
 8345         Any
 8346         Ket
 8347         Ket
 8348         End
 8349 ------------------------------------------------------------------
 8350     Y!
 8351  0: Y!
 8352  1: !
 8353 
 8354 /(?<A>tom|bon)-\k{A}/
 8355     tom-tom
 8356  0: tom-tom
 8357  1: tom
 8358     bon-bon 
 8359  0: bon-bon
 8360  1: bon
 8361     ** Failers
 8362 No match
 8363     tom-bon  
 8364 No match
 8365 
 8366 /\g{A/ 
 8367 Failed: syntax error in subpattern name (missing terminator) at offset 4
 8368 
 8369 /(?|(abc)|(xyz))/BZ
 8370 ------------------------------------------------------------------
 8371         Bra
 8372         Bra
 8373         CBra 1
 8374         abc
 8375         Ket
 8376         Alt
 8377         CBra 1
 8378         xyz
 8379         Ket
 8380         Ket
 8381         Ket
 8382         End
 8383 ------------------------------------------------------------------
 8384    >abc<
 8385  0: abc
 8386  1: abc
 8387    >xyz< 
 8388  0: xyz
 8389  1: xyz
 8390 
 8391 /(x)(?|(abc)|(xyz))(x)/BZ
 8392 ------------------------------------------------------------------
 8393         Bra
 8394         CBra 1
 8395         x
 8396         Ket
 8397         Bra
 8398         CBra 2
 8399         abc
 8400         Ket
 8401         Alt
 8402         CBra 2
 8403         xyz
 8404         Ket
 8405         Ket
 8406         CBra 3
 8407         x
 8408         Ket
 8409         Ket
 8410         End
 8411 ------------------------------------------------------------------
 8412     xabcx
 8413  0: xabcx
 8414  1: x
 8415  2: abc
 8416  3: x
 8417     xxyzx 
 8418  0: xxyzx
 8419  1: x
 8420  2: xyz
 8421  3: x
 8422 
 8423 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
 8424 ------------------------------------------------------------------
 8425         Bra
 8426         CBra 1
 8427         x
 8428         Ket
 8429         Bra
 8430         CBra 2
 8431         abc
 8432         Ket
 8433         CBra 3
 8434         pqr
 8435         Ket
 8436         Alt
 8437         CBra 2
 8438         xyz
 8439         Ket
 8440         Ket
 8441         CBra 4
 8442         x
 8443         Ket
 8444         Ket
 8445         End
 8446 ------------------------------------------------------------------
 8447     xabcpqrx
 8448  0: xabcpqrx
 8449  1: x
 8450  2: abc
 8451  3: pqr
 8452  4: x
 8453     xxyzx 
 8454  0: xxyzx
 8455  1: x
 8456  2: xyz
 8457  3: <unset>
 8458  4: x
 8459 
 8460 /\H++X/BZ
 8461 ------------------------------------------------------------------
 8462         Bra
 8463         \H++
 8464         X
 8465         Ket
 8466         End
 8467 ------------------------------------------------------------------
 8468     ** Failers
 8469 No match
 8470     XXXX
 8471 No match
 8472     
 8473 /\H+\hY/BZ
 8474 ------------------------------------------------------------------
 8475         Bra
 8476         \H++
 8477         \h
 8478         Y
 8479         Ket
 8480         End
 8481 ------------------------------------------------------------------
 8482     XXXX Y 
 8483  0: XXXX Y
 8484 
 8485 /\H+ Y/BZ
 8486 ------------------------------------------------------------------
 8487         Bra
 8488         \H++
 8489          Y
 8490         Ket
 8491         End
 8492 ------------------------------------------------------------------
 8493 
 8494 /\h+A/BZ
 8495 ------------------------------------------------------------------
 8496         Bra
 8497         \h++
 8498         A
 8499         Ket
 8500         End
 8501 ------------------------------------------------------------------
 8502 
 8503 /\v*B/BZ
 8504 ------------------------------------------------------------------
 8505         Bra
 8506         \v*+
 8507         B
 8508         Ket
 8509         End
 8510 ------------------------------------------------------------------
 8511 
 8512 /\V+\x0a/BZ
 8513 ------------------------------------------------------------------
 8514         Bra
 8515         \V++
 8516         \x0a
 8517         Ket
 8518         End
 8519 ------------------------------------------------------------------
 8520 
 8521 /A+\h/BZ
 8522 ------------------------------------------------------------------
 8523         Bra
 8524         A++
 8525         \h
 8526         Ket
 8527         End
 8528 ------------------------------------------------------------------
 8529 
 8530 / *\H/BZ
 8531 ------------------------------------------------------------------
 8532         Bra
 8533          *+
 8534         \H
 8535         Ket
 8536         End
 8537 ------------------------------------------------------------------
 8538 
 8539 /A*\v/BZ
 8540 ------------------------------------------------------------------
 8541         Bra
 8542         A*+
 8543         \v
 8544         Ket
 8545         End
 8546 ------------------------------------------------------------------
 8547 
 8548 /\x0b*\V/BZ
 8549 ------------------------------------------------------------------
 8550         Bra
 8551         \x0b*+
 8552         \V
 8553         Ket
 8554         End
 8555 ------------------------------------------------------------------
 8556 
 8557 /\d+\h/BZ
 8558 ------------------------------------------------------------------
 8559         Bra
 8560         \d++
 8561         \h
 8562         Ket
 8563         End
 8564 ------------------------------------------------------------------
 8565 
 8566 /\d*\v/BZ
 8567 ------------------------------------------------------------------
 8568         Bra
 8569         \d*+
 8570         \v
 8571         Ket
 8572         End
 8573 ------------------------------------------------------------------
 8574 
 8575 /S+\h\S+\v/BZ
 8576 ------------------------------------------------------------------
 8577         Bra
 8578         S++
 8579         \h
 8580         \S++
 8581         \v
 8582         Ket
 8583         End
 8584 ------------------------------------------------------------------
 8585 
 8586 /\w{3,}\h\w+\v/BZ
 8587 ------------------------------------------------------------------
 8588         Bra
 8589         \w{3}
 8590         \w*+
 8591         \h
 8592         \w++
 8593         \v
 8594         Ket
 8595         End
 8596 ------------------------------------------------------------------
 8597 
 8598 /\h+\d\h+\w\h+\S\h+\H/BZ
 8599 ------------------------------------------------------------------
 8600         Bra
 8601         \h++
 8602         \d
 8603         \h++
 8604         \w
 8605         \h++
 8606         \S
 8607         \h++
 8608         \H
 8609         Ket
 8610         End
 8611 ------------------------------------------------------------------
 8612 
 8613 /\v+\d\v+\w\v+\S\v+\V/BZ
 8614 ------------------------------------------------------------------
 8615         Bra
 8616         \v++
 8617         \d
 8618         \v++
 8619         \w
 8620         \v++
 8621         \S
 8622         \v++
 8623         \V
 8624         Ket
 8625         End
 8626 ------------------------------------------------------------------
 8627 
 8628 /\H+\h\H+\d/BZ
 8629 ------------------------------------------------------------------
 8630         Bra
 8631         \H++
 8632         \h
 8633         \H+
 8634         \d
 8635         Ket
 8636         End
 8637 ------------------------------------------------------------------
 8638 
 8639 /\V+\v\V+\w/BZ
 8640 ------------------------------------------------------------------
 8641         Bra
 8642         \V++
 8643         \v
 8644         \V+
 8645         \w
 8646         Ket
 8647         End
 8648 ------------------------------------------------------------------
 8649 
 8650 /\( (?: [^()]* | (?R) )* \)/x
 8651 \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
 8652  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
 8653 
 8654 /[\E]AAA/
 8655 Failed: missing terminating ] for character class at offset 7
 8656 
 8657 /[\Q\E]AAA/
 8658 Failed: missing terminating ] for character class at offset 9
 8659 
 8660 /[^\E]AAA/
 8661 Failed: missing terminating ] for character class at offset 8
 8662 
 8663 /[^\Q\E]AAA/
 8664 Failed: missing terminating ] for character class at offset 10
 8665 
 8666 /[\E^]AAA/
 8667 Failed: missing terminating ] for character class at offset 8
 8668 
 8669 /[\Q\E^]AAA/
 8670 Failed: missing terminating ] for character class at offset 10
 8671 
 8672 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
 8673 ------------------------------------------------------------------
 8674         Bra
 8675         A
 8676         *PRUNE
 8677         B
 8678         *SKIP
 8679         C
 8680         *THEN
 8681         D
 8682         *COMMIT
 8683         E
 8684         *FAIL
 8685         F
 8686         *FAIL
 8687         G
 8688         *FAIL
 8689         H
 8690         *ACCEPT
 8691         I
 8692         Ket
 8693         End
 8694 ------------------------------------------------------------------
 8695 
 8696 /^a+(*FAIL)/C
 8697     aaaaaa
 8698 --->aaaaaa
 8699  +0 ^          ^
 8700  +1 ^          a+
 8701  +3 ^     ^    (*FAIL)
 8702  +3 ^    ^     (*FAIL)
 8703  +3 ^   ^      (*FAIL)
 8704  +3 ^  ^       (*FAIL)
 8705  +3 ^ ^        (*FAIL)
 8706  +3 ^^         (*FAIL)
 8707 No match
 8708     
 8709 /a+b?c+(*FAIL)/C
 8710     aaabccc
 8711 --->aaabccc
 8712  +0 ^           a+
 8713  +2 ^  ^        b?
 8714  +4 ^   ^       c+
 8715  +6 ^      ^    (*FAIL)
 8716  +6 ^     ^     (*FAIL)
 8717  +6 ^    ^      (*FAIL)
 8718  +0  ^          a+
 8719  +2  ^ ^        b?
 8720  +4  ^  ^       c+
 8721  +6  ^     ^    (*FAIL)
 8722  +6  ^    ^     (*FAIL)
 8723  +6  ^   ^      (*FAIL)
 8724  +0   ^         a+
 8725  +2   ^^        b?
 8726  +4   ^ ^       c+
 8727  +6   ^    ^    (*FAIL)
 8728  +6   ^   ^     (*FAIL)
 8729  +6   ^  ^      (*FAIL)
 8730 No match
 8731 
 8732 /a+b?(*PRUNE)c+(*FAIL)/C
 8733     aaabccc
 8734 --->aaabccc
 8735  +0 ^           a+
 8736  +2 ^  ^        b?
 8737  +4 ^   ^       (*PRUNE)
 8738 +12 ^   ^       c+
 8739 +14 ^      ^    (*FAIL)
 8740 +14 ^     ^     (*FAIL)
 8741 +14 ^    ^      (*FAIL)
 8742  +0  ^          a+
 8743  +2  ^ ^        b?
 8744  +4  ^  ^       (*PRUNE)
 8745 +12  ^  ^       c+
 8746 +14  ^     ^    (*FAIL)
 8747 +14  ^    ^     (*FAIL)
 8748 +14  ^   ^      (*FAIL)
 8749  +0   ^         a+
 8750  +2   ^^        b?
 8751  +4   ^ ^       (*PRUNE)
 8752 +12   ^ ^       c+
 8753 +14   ^    ^    (*FAIL)
 8754 +14   ^   ^     (*FAIL)
 8755 +14   ^  ^      (*FAIL)
 8756 No match
 8757 
 8758 /a+b?(*COMMIT)c+(*FAIL)/C
 8759     aaabccc
 8760 --->aaabccc
 8761  +0 ^           a+
 8762  +2 ^  ^        b?
 8763  +4 ^   ^       (*COMMIT)
 8764 +13 ^   ^       c+
 8765 +15 ^      ^    (*FAIL)
 8766 +15 ^     ^     (*FAIL)
 8767 +15 ^    ^      (*FAIL)
 8768 No match
 8769     
 8770 /a+b?(*SKIP)c+(*FAIL)/C
 8771     aaabcccaaabccc
 8772 --->aaabcccaaabccc
 8773  +0 ^                  a+
 8774  +2 ^  ^               b?
 8775  +4 ^   ^              (*SKIP)
 8776 +11 ^   ^              c+
 8777 +13 ^      ^           (*FAIL)
 8778 +13 ^     ^            (*FAIL)
 8779 +13 ^    ^             (*FAIL)
 8780  +0        ^           a+
 8781  +2        ^  ^        b?
 8782  +4        ^   ^       (*SKIP)
 8783 +11        ^   ^       c+
 8784 +13        ^      ^    (*FAIL)
 8785 +13        ^     ^     (*FAIL)
 8786 +13        ^    ^      (*FAIL)
 8787 No match
 8788 
 8789 /a+b?(*THEN)c+(*FAIL)/C
 8790     aaabccc
 8791 --->aaabccc
 8792  +0 ^           a+
 8793  +2 ^  ^        b?
 8794  +4 ^   ^       (*THEN)
 8795 +11 ^   ^       c+
 8796 +13 ^      ^    (*FAIL)
 8797 +13 ^     ^     (*FAIL)
 8798 +13 ^    ^      (*FAIL)
 8799  +0  ^          a+
 8800  +2  ^ ^        b?
 8801  +4  ^  ^       (*THEN)
 8802 +11  ^  ^       c+
 8803 +13  ^     ^    (*FAIL)
 8804 +13  ^    ^     (*FAIL)
 8805 +13  ^   ^      (*FAIL)
 8806  +0   ^         a+
 8807  +2   ^^        b?
 8808  +4   ^ ^       (*THEN)
 8809 +11   ^ ^       c+
 8810 +13   ^    ^    (*FAIL)
 8811 +13   ^   ^     (*FAIL)
 8812 +13   ^  ^      (*FAIL)
 8813 No match
 8814     
 8815 /a(*MARK)b/ 
 8816 Failed: (*MARK) must have an argument at offset 7
 8817 
 8818 /(?i:A{1,}\6666666666)/
 8819 Failed: number is too big at offset 19
 8820 
 8821 /\g6666666666/
 8822 Failed: number is too big at offset 11
 8823 
 8824 /[\g6666666666]/BZ
 8825 ------------------------------------------------------------------
 8826         Bra
 8827         [6g]
 8828         Ket
 8829         End
 8830 ------------------------------------------------------------------
 8831 
 8832 /(?1)\c[/
 8833 Failed: reference to non-existent subpattern at offset 3
 8834 
 8835 /.+A/<crlf>
 8836     \r\nA
 8837 No match
 8838     
 8839 /\nA/<crlf>
 8840     \r\nA 
 8841  0: \x0aA
 8842 
 8843 /[\r\n]A/<crlf>
 8844     \r\nA 
 8845  0: \x0aA
 8846 
 8847 /(\r|\n)A/<crlf>
 8848     \r\nA 
 8849  0: \x0aA
 8850  1: \x0a
 8851 
 8852 /a(*CR)b/
 8853 Failed: (*VERB) not recognized or malformed at offset 5
 8854 
 8855 /(*CR)a.b/
 8856     a\nb
 8857  0: a\x0ab
 8858     ** Failers
 8859 No match
 8860     a\rb  
 8861 No match
 8862 
 8863 /(*CR)a.b/<lf>
 8864     a\nb
 8865  0: a\x0ab
 8866     ** Failers
 8867 No match
 8868     a\rb  
 8869 No match
 8870 
 8871 /(*LF)a.b/<CRLF>
 8872     a\rb
 8873  0: a\x0db
 8874     ** Failers
 8875 No match
 8876     a\nb  
 8877 No match
 8878 
 8879 /(*CRLF)a.b/
 8880     a\rb
 8881  0: a\x0db
 8882     a\nb  
 8883  0: a\x0ab
 8884     ** Failers
 8885 No match
 8886     a\r\nb  
 8887 No match
 8888 
 8889 /(*ANYCRLF)a.b/<CR>
 8890     ** Failers
 8891 No match
 8892     a\rb
 8893 No match
 8894     a\nb  
 8895 No match
 8896     a\r\nb  
 8897 No match
 8898 
 8899 /(*ANY)a.b/<cr>
 8900     ** Failers
 8901 No match
 8902     a\rb
 8903 No match
 8904     a\nb  
 8905 No match
 8906     a\r\nb  
 8907 No match
 8908     a\x85b 
 8909 No match
 8910     
 8911 /(*ANY).*/g
 8912     abc\r\ndef
 8913  0: abc
 8914  0: 
 8915  0: def
 8916  0: 
 8917 
 8918 /(*ANYCRLF).*/g
 8919     abc\r\ndef
 8920  0: abc
 8921  0: 
 8922  0: def
 8923  0: 
 8924 
 8925 /(*CRLF).*/g
 8926     abc\r\ndef
 8927  0: abc
 8928  0: 
 8929  0: def
 8930  0: 
 8931 
 8932 /a\Rb/I<bsr_anycrlf>
 8933 Capturing subpattern count = 0
 8934 Options: bsr_anycrlf
 8935 First char = 'a'
 8936 Need char = 'b'
 8937     a\rb
 8938  0: a\x0db
 8939     a\nb
 8940  0: a\x0ab
 8941     a\r\nb
 8942  0: a\x0d\x0ab
 8943     ** Failers
 8944 No match
 8945     a\x85b
 8946 No match
 8947     a\x0bb     
 8948 No match
 8949 
 8950 /a\Rb/I<bsr_unicode>
 8951 Capturing subpattern count = 0
 8952 Options: bsr_unicode
 8953 First char = 'a'
 8954 Need char = 'b'
 8955     a\rb
 8956  0: a\x0db
 8957     a\nb
 8958  0: a\x0ab
 8959     a\r\nb
 8960  0: a\x0d\x0ab
 8961     a\x85b
 8962  0: a\x85b
 8963     a\x0bb     
 8964  0: a\x0bb
 8965     ** Failers 
 8966 No match
 8967     a\x85b\<bsr_anycrlf>
 8968 No match
 8969     a\x0bb\<bsr_anycrlf>
 8970 No match
 8971     
 8972 /a\R?b/I<bsr_anycrlf>
 8973 Capturing subpattern count = 0
 8974 Options: bsr_anycrlf
 8975 First char = 'a'
 8976 Need char = 'b'
 8977     a\rb
 8978  0: a\x0db
 8979     a\nb
 8980  0: a\x0ab
 8981     a\r\nb
 8982  0: a\x0d\x0ab
 8983     ** Failers
 8984 No match
 8985     a\x85b
 8986 No match
 8987     a\x0bb     
 8988 No match
 8989 
 8990 /a\R?b/I<bsr_unicode>
 8991 Capturing subpattern count = 0
 8992 Options: bsr_unicode
 8993 First char = 'a'
 8994 Need char = 'b'
 8995     a\rb
 8996  0: a\x0db
 8997     a\nb
 8998  0: a\x0ab
 8999     a\r\nb
 9000  0: a\x0d\x0ab
 9001     a\x85b
 9002  0: a\x85b
 9003     a\x0bb     
 9004  0: a\x0bb
 9005     ** Failers 
 9006 No match
 9007     a\x85b\<bsr_anycrlf>
 9008 No match
 9009     a\x0bb\<bsr_anycrlf>
 9010 No match
 9011     
 9012 /a\R{2,4}b/I<bsr_anycrlf>
 9013 Capturing subpattern count = 0
 9014 Options: bsr_anycrlf
 9015 First char = 'a'
 9016 Need char = 'b'
 9017     a\r\n\nb
 9018  0: a\x0d\x0a\x0ab
 9019     a\n\r\rb
 9020  0: a\x0a\x0d\x0db
 9021     a\r\n\r\n\r\n\r\nb
 9022  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
 9023     ** Failers
 9024 No match
 9025     a\x85\85b
 9026 No match
 9027     a\x0b\0bb     
 9028 No match
 9029 
 9030 /a\R{2,4}b/I<bsr_unicode>
 9031 Capturing subpattern count = 0
 9032 Options: bsr_unicode
 9033 First char = 'a'
 9034 Need char = 'b'
 9035     a\r\rb
 9036  0: a\x0d\x0db
 9037     a\n\n\nb
 9038  0: a\x0a\x0a\x0ab
 9039     a\r\n\n\r\rb
 9040  0: a\x0d\x0a\x0a\x0d\x0db
 9041     a\x85\85b
 9042 No match
 9043     a\x0b\0bb     
 9044 No match
 9045     ** Failers 
 9046 No match
 9047     a\r\r\r\r\rb 
 9048 No match
 9049     a\x85\85b\<bsr_anycrlf>
 9050 No match
 9051     a\x0b\0bb\<bsr_anycrlf>
 9052 No match
 9053  
 9054 /(*BSR_ANYCRLF)a\Rb/I
 9055 Capturing subpattern count = 0
 9056 Options: bsr_anycrlf
 9057 First char = 'a'
 9058 Need char = 'b'
 9059     a\nb
 9060  0: a\x0ab
 9061     a\rb 
 9062  0: a\x0db
 9063 
 9064 /(*BSR_UNICODE)a\Rb/I
 9065 Capturing subpattern count = 0
 9066 Options: bsr_unicode
 9067 First char = 'a'
 9068 Need char = 'b'
 9069     a\x85b
 9070  0: a\x85b
 9071 
 9072 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
 9073 Capturing subpattern count = 0
 9074 Options: bsr_anycrlf
 9075 Forced newline sequence: CRLF
 9076 First char = 'a'
 9077 Need char = 'b'
 9078     a\nb
 9079  0: a\x0ab
 9080     a\rb 
 9081  0: a\x0db
 9082 
 9083 /(*CRLF)(*BSR_UNICODE)a\Rb/I
 9084 Capturing subpattern count = 0
 9085 Options: bsr_unicode
 9086 Forced newline sequence: CRLF
 9087 First char = 'a'
 9088 Need char = 'b'
 9089     a\x85b
 9090  0: a\x85b
 9091 
 9092 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
 9093 Capturing subpattern count = 0
 9094 Options: bsr_anycrlf
 9095 Forced newline sequence: CR
 9096 First char = 'a'
 9097 Need char = 'b'
 9098 
 9099 /(?<a>)(?&)/
 9100 Failed: subpattern name expected at offset 9
 9101 
 9102 /(?<abc>)(?&a)/
 9103 Failed: reference to non-existent subpattern at offset 12
 9104 
 9105 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
 9106 Failed: reference to non-existent subpattern at offset 32
 9107 
 9108 /(?+-a)/
 9109 Failed: digit expected after (?+ at offset 3
 9110 
 9111 /(?-+a)/
 9112 Failed: unrecognized character after (? or (?- at offset 3
 9113 
 9114 /(?(-1))/
 9115 Failed: reference to non-existent subpattern at offset 6
 9116 
 9117 /(?(+10))/
 9118 Failed: reference to non-existent subpattern at offset 7
 9119 
 9120 /(?(10))/
 9121 Failed: reference to non-existent subpattern at offset 6
 9122 
 9123 /(?(+2))()()/
 9124 
 9125 /(?(2))()()/
 9126 
 9127 /\k''/
 9128 Failed: subpattern name expected at offset 3
 9129 
 9130 /\k<>/
 9131 Failed: subpattern name expected at offset 3
 9132 
 9133 /\k{}/
 9134 Failed: subpattern name expected at offset 3
 9135 
 9136 /\k/
 9137 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1
 9138 
 9139 /\kabc/
 9140 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1
 9141 
 9142 /(?P=)/
 9143 Failed: subpattern name expected at offset 4
 9144 
 9145 /(?P>)/
 9146 Failed: subpattern name expected at offset 4
 9147 
 9148 /(?!\w)(?R)/
 9149 Failed: recursive call could loop indefinitely at offset 9
 9150 
 9151 /(?=\w)(?R)/
 9152 Failed: recursive call could loop indefinitely at offset 9
 9153 
 9154 /(?<!\w)(?R)/
 9155 Failed: recursive call could loop indefinitely at offset 10
 9156 
 9157 /(?<=\w)(?R)/
 9158 Failed: recursive call could loop indefinitely at offset 10
 9159 
 9160 /[[:foo:]]/
 9161 Failed: unknown POSIX class name at offset 3
 9162 
 9163 /[[:1234:]]/
 9164 Failed: unknown POSIX class name at offset 3
 9165 
 9166 /[[:f\oo:]]/
 9167 Failed: unknown POSIX class name at offset 3
 9168 
 9169 /[[: :]]/
 9170 Failed: unknown POSIX class name at offset 3
 9171 
 9172 /[[:...:]]/
 9173 Failed: unknown POSIX class name at offset 3
 9174 
 9175 /[[:l\ower:]]/
 9176 Failed: unknown POSIX class name at offset 3
 9177 
 9178 /[[:abc\:]]/
 9179 Failed: unknown POSIX class name at offset 3
 9180 
 9181 /[abc[:x\]pqr:]]/
 9182 Failed: unknown POSIX class name at offset 6
 9183 
 9184 /[[:a\dz:]]/
 9185 Failed: unknown POSIX class name at offset 3
 9186 
 9187 /(^(a|b\g<-1'c))/
 9188 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
 9189 
 9190 /^(?+1)(?<a>x|y){0}z/
 9191     xzxx
 9192  0: xz
 9193     yzyy 
 9194  0: yz
 9195     ** Failers
 9196 No match
 9197     xxz  
 9198 No match
 9199 
 9200 /(\3)(\1)(a)/
 9201     cat
 9202 No match
 9203 
 9204 /(\3)(\1)(a)/<JS>
 9205     cat
 9206  0: a
 9207  1: 
 9208  2: 
 9209  3: a
 9210     
 9211 /TA]/
 9212     The ACTA] comes 
 9213  0: TA]
 9214 
 9215 /TA]/<JS>
 9216 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
 9217 
 9218 /(?2)[]a()b](abc)/
 9219 Failed: reference to non-existent subpattern at offset 3
 9220 
 9221 /(?2)[^]a()b](abc)/
 9222 Failed: reference to non-existent subpattern at offset 3
 9223 
 9224 /(?1)[]a()b](abc)/
 9225     abcbabc
 9226  0: abcbabc
 9227  1: abc
 9228     ** Failers 
 9229 No match
 9230     abcXabc
 9231 No match
 9232 
 9233 /(?1)[^]a()b](abc)/
 9234     abcXabc
 9235  0: abcXabc
 9236  1: abc
 9237     ** Failers 
 9238 No match
 9239     abcbabc
 9240 No match
 9241 
 9242 /(?2)[]a()b](abc)(xyz)/
 9243     xyzbabcxyz
 9244  0: xyzbabcxyz
 9245  1: abc
 9246  2: xyz
 9247 
 9248 /(?&N)[]a(?<N>)](?<M>abc)/
 9249 Failed: reference to non-existent subpattern at offset 4
 9250 
 9251 /(?&N)[]a(?<N>)](abc)/
 9252 Failed: reference to non-existent subpattern at offset 4
 9253 
 9254 /a[]b/
 9255 Failed: missing terminating ] for character class at offset 4
 9256 
 9257 /a[^]b/
 9258 Failed: missing terminating ] for character class at offset 5
 9259 
 9260 /a[]b/<JS>
 9261     ** Failers
 9262 No match
 9263     ab
 9264 No match
 9265 
 9266 /a[]+b/<JS>
 9267     ** Failers
 9268 No match
 9269     ab 
 9270 No match
 9271 
 9272 /a[]*+b/<JS>
 9273     ** Failers
 9274 No match
 9275     ab 
 9276 No match
 9277 
 9278 /a[^]b/<JS>
 9279     aXb
 9280  0: aXb
 9281     a\nb 
 9282  0: a\x0ab
 9283     ** Failers
 9284 No match
 9285     ab  
 9286 No match
 9287     
 9288 /a[^]+b/<JS> 
 9289     aXb
 9290  0: aXb
 9291     a\nX\nXb 
 9292  0: a\x0aX\x0aXb
 9293     ** Failers
 9294 No match
 9295     ab  
 9296 No match
 9297 
 9298 /a(?!)b/BZ
 9299 ------------------------------------------------------------------
 9300         Bra
 9301         a
 9302         *FAIL
 9303         b
 9304         Ket
 9305         End
 9306 ------------------------------------------------------------------
 9307 
 9308 /(?!)?a/BZ
 9309 ------------------------------------------------------------------
 9310         Bra
 9311         Brazero
 9312         Assert not
 9313         Ket
 9314         a
 9315         Ket
 9316         End
 9317 ------------------------------------------------------------------
 9318     ab
 9319  0: a
 9320 
 9321 /a(*FAIL)+b/
 9322 Failed: nothing to repeat at offset 8
 9323 
 9324 /(abc|pqr|123){0}[xyz]/SI
 9325 Capturing subpattern count = 1
 9326 No options
 9327 No first char
 9328 No need char
 9329 Subject length lower bound = 1
 9330 Starting chars: x y z 
 9331 
 9332 /(?(?=.*b)b|^)/CI
 9333 Capturing subpattern count = 0
 9334 May match empty string
 9335 Options:
 9336 No first char
 9337 No need char
 9338    adc
 9339 --->adc
 9340  +0 ^       (?(?=.*b)b|^)
 9341  +2 ^       (?=.*b)
 9342  +5 ^       .*
 9343  +7 ^  ^    b
 9344  +7 ^ ^     b
 9345  +7 ^^      b
 9346  +7 ^       b
 9347 +11 ^       ^
 9348 +12 ^       )
 9349 +13 ^       
 9350  0: 
 9351    abc 
 9352 --->abc
 9353  +0 ^       (?(?=.*b)b|^)
 9354  +2 ^       (?=.*b)
 9355  +5 ^       .*
 9356  +7 ^  ^    b
 9357  +7 ^ ^     b
 9358  +7 ^^      b
 9359  +8 ^ ^     )
 9360  +9 ^       b
 9361  +0  ^      (?(?=.*b)b|^)
 9362  +2  ^      (?=.*b)
 9363  +5  ^      .*
 9364  +7  ^ ^    b
 9365  +7  ^^     b
 9366  +7  ^      b
 9367  +8  ^^     )
 9368  +9  ^      b
 9369 +10  ^^     |
 9370 +13  ^^     
 9371  0: b
 9372    
 9373 /(?(?=b).*b|^d)/I
 9374 Capturing subpattern count = 0
 9375 No options
 9376 No first char
 9377 No need char
 9378 
 9379 /(?(?=.*b).*b|^d)/I
 9380 Capturing subpattern count = 0
 9381 No options
 9382 No first char
 9383 No need char
 9384 
 9385 /xyz/C
 9386   xyz 
 9387 --->xyz
 9388  +0 ^       x
 9389  +1 ^^      y
 9390  +2 ^ ^     z
 9391  +3 ^  ^    
 9392  0: xyz
 9393   abcxyz 
 9394 --->abcxyz
 9395  +0    ^       x
 9396  +1    ^^      y
 9397  +2    ^ ^     z
 9398  +3    ^  ^    
 9399  0: xyz
 9400   abcxyz\Y
 9401 --->abcxyz
 9402  +0 ^          x
 9403  +0  ^         x
 9404  +0   ^        x
 9405  +0    ^       x
 9406  +1    ^^      y
 9407  +2    ^ ^     z
 9408  +3    ^  ^    
 9409  0: xyz
 9410   ** Failers 
 9411 No match
 9412   abc
 9413 No match
 9414   abc\Y
 9415 --->abc
 9416  +0 ^       x
 9417  +0  ^      x
 9418  +0   ^     x
 9419  +0    ^    x
 9420 No match
 9421   abcxypqr  
 9422 No match
 9423   abcxypqr\Y  
 9424 --->abcxypqr
 9425  +0 ^            x
 9426  +0  ^           x
 9427  +0   ^          x
 9428  +0    ^         x
 9429  +1    ^^        y
 9430  +2    ^ ^       z
 9431  +0     ^        x
 9432  +0      ^       x
 9433  +0       ^      x
 9434  +0        ^     x
 9435  +0         ^    x
 9436 No match
 9437   
 9438 /(*NO_START_OPT)xyz/C
 9439   abcxyz
 9440 --->abcxyz
 9441 +15 ^          x
 9442 +15  ^         x
 9443 +15   ^        x
 9444 +15    ^       x
 9445 +16    ^^      y
 9446 +17    ^ ^     z
 9447 +18    ^  ^    
 9448  0: xyz
 9449   
 9450 /(*NO_AUTO_POSSESS)a+b/BZ  
 9451 ------------------------------------------------------------------
 9452         Bra
 9453         a+
 9454         b
 9455         Ket
 9456         End
 9457 ------------------------------------------------------------------
 9458 
 9459 /xyz/CY
 9460   abcxyz 
 9461 --->abcxyz
 9462  +0 ^          x
 9463  +0  ^         x
 9464  +0   ^        x
 9465  +0    ^       x
 9466  +1    ^^      y
 9467  +2    ^ ^     z
 9468  +3    ^  ^    
 9469  0: xyz
 9470 
 9471 /^"((?(?=[a])[^"])|b)*"$/C
 9472     "ab"
 9473 --->"ab"
 9474  +0 ^        ^
 9475  +1 ^        "
 9476  +2 ^^       ((?(?=[a])[^"])|b)*
 9477  +3 ^^       (?(?=[a])[^"])
 9478  +5 ^^       (?=[a])
 9479  +8 ^^       [a]
 9480 +11 ^ ^      )
 9481 +12 ^^       [^"]
 9482 +16 ^ ^      )
 9483 +17 ^ ^      |
 9484  +3 ^ ^      (?(?=[a])[^"])
 9485  +5 ^ ^      (?=[a])
 9486  +8 ^ ^      [a]
 9487 +17 ^ ^      |
 9488 +21 ^ ^      "
 9489 +18 ^ ^      b
 9490 +19 ^  ^     )
 9491  +3 ^  ^     (?(?=[a])[^"])
 9492  +5 ^  ^     (?=[a])
 9493  +8 ^  ^     [a]
 9494 +17 ^  ^     |
 9495 +21 ^  ^     "
 9496 +22 ^   ^    $
 9497 +23 ^   ^    
 9498  0: "ab"
 9499  1: 
 9500 
 9501 /^"((?(?=[a])[^"])|b)*"$/
 9502     "ab"
 9503  0: "ab"
 9504  1: 
 9505 
 9506 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
 9507 Failed: reference to non-existent subpattern at offset 5
 9508 
 9509 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
 9510     XYabcdY
 9511  0: XYabcdY
 9512  1: a
 9513  2: b
 9514  3: c
 9515  4: d
 9516  5: Y
 9517  
 9518 /Xa{2,4}b/
 9519     X\P
 9520 Partial match: X
 9521     Xa\P
 9522 Partial match: Xa
 9523     Xaa\P 
 9524 Partial match: Xaa
 9525     Xaaa\P
 9526 Partial match: Xaaa
 9527     Xaaaa\P 
 9528 Partial match: Xaaaa
 9529     
 9530 /Xa{2,4}?b/
 9531     X\P
 9532 Partial match: X
 9533     Xa\P
 9534 Partial match: Xa
 9535     Xaa\P 
 9536 Partial match: Xaa
 9537     Xaaa\P
 9538 Partial match: Xaaa
 9539     Xaaaa\P 
 9540 Partial match: Xaaaa
 9541     
 9542 /Xa{2,4}+b/
 9543     X\P
 9544 Partial match: X
 9545     Xa\P
 9546 Partial match: Xa
 9547     Xaa\P 
 9548 Partial match: Xaa
 9549     Xaaa\P
 9550 Partial match: Xaaa
 9551     Xaaaa\P 
 9552 Partial match: Xaaaa
 9553     
 9554 /X\d{2,4}b/
 9555     X\P
 9556 Partial match: X
 9557     X3\P
 9558 Partial match: X3
 9559     X33\P 
 9560 Partial match: X33
 9561     X333\P
 9562 Partial match: X333
 9563     X3333\P 
 9564 Partial match: X3333
 9565     
 9566 /X\d{2,4}?b/
 9567     X\P
 9568 Partial match: X
 9569     X3\P
 9570 Partial match: X3
 9571     X33\P 
 9572 Partial match: X33
 9573     X333\P
 9574 Partial match: X333
 9575     X3333\P 
 9576 Partial match: X3333
 9577     
 9578 /X\d{2,4}+b/
 9579     X\P
 9580 Partial match: X
 9581     X3\P
 9582 Partial match: X3
 9583     X33\P 
 9584 Partial match: X33
 9585     X333\P
 9586 Partial match: X333
 9587     X3333\P 
 9588 Partial match: X3333
 9589     
 9590 /X\D{2,4}b/
 9591     X\P
 9592 Partial match: X
 9593     Xa\P
 9594 Partial match: Xa
 9595     Xaa\P 
 9596 Partial match: Xaa
 9597     Xaaa\P
 9598 Partial match: Xaaa
 9599     Xaaaa\P 
 9600 Partial match: Xaaaa
 9601     
 9602 /X\D{2,4}?b/
 9603     X\P
 9604 Partial match: X
 9605     Xa\P
 9606 Partial match: Xa
 9607     Xaa\P 
 9608 Partial match: Xaa
 9609     Xaaa\P
 9610 Partial match: Xaaa
 9611     Xaaaa\P 
 9612 Partial match: Xaaaa
 9613     
 9614 /X\D{2,4}+b/
 9615     X\P
 9616 Partial match: X
 9617     Xa\P
 9618 Partial match: Xa
 9619     Xaa\P 
 9620 Partial match: Xaa
 9621     Xaaa\P
 9622 Partial match: Xaaa
 9623     Xaaaa\P 
 9624 Partial match: Xaaaa
 9625     
 9626 /X[abc]{2,4}b/
 9627     X\P
 9628 Partial match: X
 9629     Xa\P
 9630 Partial match: Xa
 9631     Xaa\P 
 9632 Partial match: Xaa
 9633     Xaaa\P
 9634 Partial match: Xaaa
 9635     Xaaaa\P 
 9636 Partial match: Xaaaa
 9637     
 9638 /X[abc]{2,4}?b/
 9639     X\P
 9640 Partial match: X
 9641     Xa\P
 9642 Partial match: Xa
 9643     Xaa\P 
 9644 Partial match: Xaa
 9645     Xaaa\P
 9646 Partial match: Xaaa
 9647     Xaaaa\P 
 9648 Partial match: Xaaaa
 9649     
 9650 /X[abc]{2,4}+b/
 9651     X\P
 9652 Partial match: X
 9653     Xa\P
 9654 Partial match: Xa
 9655     Xaa\P 
 9656 Partial match: Xaa
 9657     Xaaa\P
 9658 Partial match: Xaaa
 9659     Xaaaa\P 
 9660 Partial match: Xaaaa
 9661     
 9662 /X[^a]{2,4}b/
 9663     X\P
 9664 Partial match: X
 9665     Xz\P
 9666 Partial match: Xz
 9667     Xzz\P 
 9668 Partial match: Xzz
 9669     Xzzz\P
 9670 Partial match: Xzzz
 9671     Xzzzz\P 
 9672 Partial match: Xzzzz
 9673     
 9674 /X[^a]{2,4}?b/
 9675     X\P
 9676 Partial match: X
 9677     Xz\P
 9678 Partial match: Xz
 9679     Xzz\P 
 9680 Partial match: Xzz
 9681     Xzzz\P
 9682 Partial match: Xzzz
 9683     Xzzzz\P 
 9684 Partial match: Xzzzz
 9685     
 9686 /X[^a]{2,4}+b/
 9687     X\P
 9688 Partial match: X
 9689     Xz\P
 9690 Partial match: Xz
 9691     Xzz\P 
 9692 Partial match: Xzz
 9693     Xzzz\P
 9694 Partial match: Xzzz
 9695     Xzzzz\P 
 9696 Partial match: Xzzzz
 9697     
 9698 /(Y)X\1{2,4}b/
 9699     YX\P
 9700 Partial match: YX
 9701     YXY\P
 9702 Partial match: YXY
 9703     YXYY\P 
 9704 Partial match: YXYY
 9705     YXYYY\P
 9706 Partial match: YXYYY
 9707     YXYYYY\P 
 9708 Partial match: YXYYYY
 9709     
 9710 /(Y)X\1{2,4}?b/
 9711     YX\P
 9712 Partial match: YX
 9713     YXY\P
 9714 Partial match: YXY
 9715     YXYY\P 
 9716 Partial match: YXYY
 9717     YXYYY\P
 9718 Partial match: YXYYY
 9719     YXYYYY\P 
 9720 Partial match: YXYYYY
 9721     
 9722 /(Y)X\1{2,4}+b/
 9723     YX\P
 9724 Partial match: YX
 9725     YXY\P
 9726 Partial match: YXY
 9727     YXYY\P 
 9728 Partial match: YXYY
 9729     YXYYY\P
 9730 Partial match: YXYYY
 9731     YXYYYY\P 
 9732 Partial match: YXYYYY
 9733     
 9734 /\++\KZ|\d+X|9+Y/
 9735     ++++123999\P
 9736 Partial match: 123999
 9737     ++++123999Y\P
 9738  0: 999Y
 9739     ++++Z1234\P 
 9740  0: Z
 9741 
 9742 /Z(*F)/
 9743     Z\P
 9744 No match
 9745     ZA\P 
 9746 No match
 9747     
 9748 /Z(?!)/
 9749     Z\P 
 9750 No match
 9751     ZA\P 
 9752 No match
 9753 
 9754 /dog(sbody)?/
 9755     dogs\P
 9756  0: dog
 9757     dogs\P\P 
 9758 Partial match: dogs
 9759     
 9760 /dog(sbody)??/
 9761     dogs\P
 9762  0: dog
 9763     dogs\P\P 
 9764  0: dog
 9765 
 9766 /dog|dogsbody/
 9767     dogs\P
 9768  0: dog
 9769     dogs\P\P 
 9770  0: dog
 9771  
 9772 /dogsbody|dog/
 9773     dogs\P
 9774  0: dog
 9775     dogs\P\P 
 9776 Partial match: dogs
 9777 
 9778 /\bthe cat\b/
 9779     the cat\P
 9780  0: the cat
 9781     the cat\P\P
 9782 Partial match: the cat
 9783 
 9784 /abc/
 9785    abc\P
 9786  0: abc
 9787    abc\P\P
 9788  0: abc
 9789    
 9790 /abc\K123/
 9791     xyzabc123pqr
 9792  0: 123
 9793     xyzabc12\P
 9794 Partial match: abc12
 9795     xyzabc12\P\P
 9796 Partial match: abc12
 9797     
 9798 /(?<=abc)123/
 9799     xyzabc123pqr 
 9800  0: 123
 9801     xyzabc12\P
 9802 Partial match at offset 6: abc12
 9803     xyzabc12\P\P
 9804 Partial match at offset 6: abc12
 9805 
 9806 /\babc\b/
 9807     +++abc+++
 9808  0: abc
 9809     +++ab\P
 9810 Partial match at offset 3: +ab
 9811     +++ab\P\P  
 9812 Partial match at offset 3: +ab
 9813 
 9814 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
 9815 ------------------------------------------------------------------
 9816         Bra
 9817         Recurse
 9818         Recurse
 9819         Cond
 9820         Cond def
 9821         CBra 1
 9822         <
 9823         [^m]
 9824         [^>]
 9825         >
 9826         [^<]
 9827         Ket
 9828         CBra 2
 9829         \w*+
 9830         Ket
 9831         Ket
 9832         Ket
 9833         End
 9834 ------------------------------------------------------------------
 9835 
 9836 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
 9837 ------------------------------------------------------------------
 9838         Bra
 9839         Recurse
 9840         Recurse
 9841         Cond
 9842         Cond def
 9843         CBra 1
 9844         <
 9845         [\x00-/:-\xff] (neg)
 9846         [^>]
 9847         >
 9848         [^<]
 9849         Ket
 9850         CBra 2
 9851         \w*+
 9852         Ket
 9853         Ket
 9854         Ket
 9855         End
 9856 ------------------------------------------------------------------
 9857 
 9858 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
 9859 ------------------------------------------------------------------
 9860         Bra
 9861         CBra 1
 9862         ab
 9863         Ket
 9864         CBra 2
 9865         x
 9866         CBra 3
 9867         y
 9868         Ket
 9869         z
 9870         CBra 4
 9871         cd
 9872         Close 4
 9873         Close 2
 9874         *ACCEPT
 9875         Ket
 9876         Ket
 9877         pq
 9878         Ket
 9879         End
 9880 ------------------------------------------------------------------
 9881 
 9882 /abc\K/+
 9883     abcdef
 9884  0: 
 9885  0+ def
 9886     abcdef\N\N
 9887  0: 
 9888  0+ def
 9889     xyzabcdef\N\N
 9890  0: 
 9891  0+ def
 9892     ** Failers
 9893 No match
 9894     abcdef\N 
 9895 No match
 9896     xyzabcdef\N
 9897 No match
 9898     
 9899 /^(?:(?=abc)|abc\K)/+
 9900     abcdef
 9901  0: 
 9902  0+ abcdef
 9903     abcdef\N\N 
 9904  0: 
 9905  0+ def
 9906     ** Failers 
 9907 No match
 9908     abcdef\N 
 9909 No match
 9910 
 9911 /a?b?/+
 9912     xyz
 9913  0: 
 9914  0+ xyz
 9915     xyzabc
 9916  0: 
 9917  0+ xyzabc
 9918     xyzabc\N
 9919  0: ab
 9920  0+ c
 9921     xyzabc\N\N
 9922  0: 
 9923  0+ yzabc
 9924     xyz\N\N    
 9925  0: 
 9926  0+ yz
 9927     ** Failers 
 9928  0: 
 9929  0+ ** Failers
 9930     xyz\N 
 9931 No match
 9932 
 9933 /^a?b?/+
 9934     xyz
 9935  0: 
 9936  0+ xyz
 9937     xyzabc
 9938  0: 
 9939  0+ xyzabc
 9940     ** Failers 
 9941  0: 
 9942  0+ ** Failers
 9943     xyzabc\N
 9944 No match
 9945     xyzabc\N\N
 9946 No match
 9947     xyz\N\N    
 9948 No match
 9949     xyz\N 
 9950 No match
 9951     
 9952 /^(?<name>a|b\g<name>c)/
 9953     aaaa
 9954  0: a
 9955  1: a
 9956     bacxxx
 9957  0: bac
 9958  1: bac
 9959     bbaccxxx 
 9960  0: bbacc
 9961  1: bbacc
 9962     bbbacccxx
 9963  0: bbbaccc
 9964  1: bbbaccc
 9965 
 9966 /^(?<name>a|b\g'name'c)/
 9967     aaaa
 9968  0: a
 9969  1: a
 9970     bacxxx
 9971  0: bac
 9972  1: bac
 9973     bbaccxxx 
 9974  0: bbacc
 9975  1: bbacc
 9976     bbbacccxx
 9977  0: bbbaccc
 9978  1: bbbaccc
 9979 
 9980 /^(a|b\g<1>c)/
 9981     aaaa
 9982  0: a
 9983  1: a
 9984     bacxxx
 9985  0: bac
 9986  1: bac
 9987     bbaccxxx 
 9988  0: bbacc
 9989  1: bbacc
 9990     bbbacccxx
 9991  0: bbbaccc
 9992  1: bbbaccc
 9993 
 9994 /^(a|b\g'1'c)/
 9995     aaaa
 9996  0: a
 9997  1: a
 9998     bacxxx
 9999  0: bac
10000  1: bac
10001     bbaccxxx 
10002  0: bbacc
10003  1: bbacc
10004     bbbacccxx
10005  0: bbbaccc
10006  1: bbbaccc
10007 
10008 /^(a|b\g'-1'c)/
10009     aaaa
10010  0: a
10011  1: a
10012     bacxxx
10013  0: bac
10014  1: bac
10015     bbaccxxx 
10016  0: bbacc
10017  1: bbacc
10018     bbbacccxx
10019  0: bbbaccc
10020  1: bbbaccc
10021 
10022 /(^(a|b\g<-1>c))/
10023     aaaa
10024  0: a
10025  1: a
10026  2: a
10027     bacxxx
10028  0: bac
10029  1: bac
10030  2: bac
10031     bbaccxxx 
10032  0: bbacc
10033  1: bbacc
10034  2: bbacc
10035     bbbacccxx
10036  0: bbbaccc
10037  1: bbbaccc
10038  2: bbbaccc
10039 
10040 /(?-i:\g<name>)(?i:(?<name>a))/
10041     XaaX
10042  0: aa
10043  1: a
10044     XAAX 
10045  0: AA
10046  1: A
10047 
10048 /(?i:\g<name>)(?-i:(?<name>a))/
10049     XaaX
10050  0: aa
10051  1: a
10052     ** Failers 
10053 No match
10054     XAAX 
10055 No match
10056 
10057 /(?-i:\g<+1>)(?i:(a))/
10058     XaaX
10059  0: aa
10060  1: a
10061     XAAX 
10062  0: AA
10063  1: A
10064 
10065 /(?=(?<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>\})\}))\{/
10066 
10067 /(?<n>a|b|c)\g<n>*/
10068    abc
10069  0: abc
10070  1: a
10071    accccbbb 
10072  0: accccbbb
10073  1: a
10074 
10075 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
10076     XYabcdY
10077  0: XYabcdY
10078  1: a
10079  2: b
10080  3: <unset>
10081  4: <unset>
10082  5: c
10083  6: d
10084  7: Y
10085 
10086 /(?<=b(?1)|zzz)(a)/
10087     xbaax
10088  0: a
10089  1: a
10090     xzzzax 
10091  0: a
10092  1: a
10093 
10094 /(a)(?<=b\1)/
10095 Failed: lookbehind assertion is not fixed length at offset 10
10096 
10097 /(a)(?<=b+(?1))/
10098 Failed: lookbehind assertion is not fixed length at offset 13
10099 
10100 /(a+)(?<=b(?1))/
10101 Failed: lookbehind assertion is not fixed length at offset 14
10102 
10103 /(a(?<=b(?1)))/
10104 Failed: lookbehind assertion is not fixed length at offset 13
10105 
10106 /(?<=b(?1))xyz/
10107 Failed: reference to non-existent subpattern at offset 8
10108 
10109 /(?<=b(?1))xyz(b+)pqrstuvew/
10110 Failed: lookbehind assertion is not fixed length at offset 26
10111 
10112 /(a|bc)\1/SI
10113 Capturing subpattern count = 1
10114 Max back reference = 1
10115 No options
10116 No first char
10117 No need char
10118 Subject length lower bound = 2
10119 Starting chars: a b 
10120 
10121 /(a|bc)\1{2,3}/SI
10122 Capturing subpattern count = 1
10123 Max back reference = 1
10124 No options
10125 No first char
10126 No need char
10127 Subject length lower bound = 3
10128 Starting chars: a b 
10129 
10130 /(a|bc)(?1)/SI
10131 Capturing subpattern count = 1
10132 No options
10133 No first char
10134 No need char
10135 Subject length lower bound = 2
10136 Starting chars: a b 
10137 
10138 /(a|b\1)(a|b\1)/SI
10139 Capturing subpattern count = 2
10140 Max back reference = 1
10141 No options
10142 No first char
10143 No need char
10144 Subject length lower bound = 2
10145 Starting chars: a b 
10146 
10147 /(a|b\1){2}/SI
10148 Capturing subpattern count = 1
10149 Max back reference = 1
10150 No options
10151 No first char
10152 No need char
10153 Subject length lower bound = 2
10154 Starting chars: a b 
10155 
10156 /(a|bbbb\1)(a|bbbb\1)/SI
10157 Capturing subpattern count = 2
10158 Max back reference = 1
10159 No options
10160 No first char
10161 No need char
10162 Subject length lower bound = 2
10163 Starting chars: a b 
10164 
10165 /(a|bbbb\1){2}/SI
10166 Capturing subpattern count = 1
10167 Max back reference = 1
10168 No options
10169 No first char
10170 No need char
10171 Subject length lower bound = 2
10172 Starting chars: a b 
10173 
10174 /^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
10175 Capturing subpattern count = 1
10176 Options: anchored
10177 No first char
10178 Need char = ':'
10179 Subject length lower bound = 22
10180 No starting char list
10181 
10182 /<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
10183 Capturing subpattern count = 11
10184 Options: caseless dotall
10185 First char = '<'
10186 Need char = '>'
10187 Subject length lower bound = 47
10188 No starting char list
10189 
10190 "(?>.*/)foo"SI
10191 Capturing subpattern count = 0
10192 No options
10193 No first char
10194 Need char = 'o'
10195 Subject length lower bound = 4
10196 No starting char list
10197 
10198 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
10199 Capturing subpattern count = 0
10200 Options: extended
10201 No first char
10202 Need char = '-'
10203 Subject length lower bound = 8
10204 No starting char list
10205 
10206 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
10207 Capturing subpattern count = 1
10208 Options: caseless
10209 No first char
10210 No need char
10211 Subject length lower bound = 1
10212 Starting chars: A B C a b c 
10213 
10214 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
10215 Capturing subpattern count = 0
10216 No options
10217 No first char
10218 Need char = 'b'
10219 Subject length lower bound = 41
10220 Starting chars: c d 
10221 
10222 /<a[\s]+href[\s]*=[\s]*          # find <a href=
10223  ([\"\'])?                       # find single or double quote
10224  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
10225                                  # quote, otherwise match up to next space
10226 /isxSI
10227 Capturing subpattern count = 3
10228 Max back reference = 1
10229 Options: caseless extended dotall
10230 First char = '<'
10231 Need char = '='
10232 Subject length lower bound = 9
10233 No starting char list
10234 
10235 /^(?!:)                       # colon disallowed at start
10236   (?:                         # start of item
10237     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
10238     (?(1)0 | () ) )           # if null previously matched, fail; else null
10239     :                         # followed by colon
10240   ){1,7}                      # end item; 1-7 of them required               
10241   [0-9a-f]{1,4} $             # final hex number at end of string
10242   (?(1)|.)                    # check that there was an empty component
10243   /xiIS
10244 Capturing subpattern count = 1
10245 Max back reference = 1
10246 Options: anchored caseless extended
10247 No first char
10248 Need char = ':'
10249 Subject length lower bound = 2
10250 No starting char list
10251 
10252 /(?|(?<a>A)|(?<a>B))/I
10253 Capturing subpattern count = 1
10254 Named capturing subpatterns:
10255   a   1
10256 No options
10257 No first char
10258 No need char
10259     AB\Ca
10260  0: A
10261  1: A
10262   C A (1) a
10263     BA\Ca
10264  0: B
10265  1: B
10266   C B (1) a
10267 
10268 /(?|(?<a>A)|(?<b>B))/ 
10269 Failed: different names for subpatterns of the same number are not allowed at offset 15
10270 
10271 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
10272     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
10273     (?('quote')[a-z]+|[0-9]+)/JIx
10274 Capturing subpattern count = 6
10275 Max back reference = 1
10276 Named capturing subpatterns:
10277   apostrophe   2
10278   apostrophe   5
10279   quote        1
10280   quote        4
10281   realquote    3
10282   realquote    6
10283 Options: extended dupnames
10284 No first char
10285 No need char
10286     a"aaaaa
10287  0: a"aaaaa
10288  1: "
10289  2: <unset>
10290  3: "
10291     b"aaaaa 
10292  0: b"aaaaa
10293  1: <unset>
10294  2: <unset>
10295  3: <unset>
10296  4: "
10297  5: <unset>
10298  6: "
10299     ** Failers 
10300 No match
10301     b"11111
10302 No match
10303     a"11111 
10304 No match
10305     
10306 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
10307 ------------------------------------------------------------------
10308         Bra
10309         ^
10310         Bra
10311         CBra 1
10312         a
10313         Ket
10314         CBra 2
10315         b
10316         Ket
10317         CBra 3
10318         c
10319         Ket
10320         CBra 4
10321         d
10322         Ket
10323         Alt
10324         CBra 1
10325         e
10326         Ket
10327         Ket
10328         Cond
10329         Cond ref <D>2
10330         X
10331         Alt
10332         Y
10333         Ket
10334         Ket
10335         End
10336 ------------------------------------------------------------------
10337 Capturing subpattern count = 4
10338 Max back reference = 4
10339 Named capturing subpatterns:
10340   D   4
10341   D   1
10342 Options: anchored extended dupnames
10343 No first char
10344 No need char
10345     abcdX
10346  0: abcdX
10347  1: a
10348  2: b
10349  3: c
10350  4: d
10351     eX
10352  0: eX
10353  1: e
10354     ** Failers
10355 No match
10356     abcdY
10357 No match
10358     ey     
10359 No match
10360     
10361 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
10362 ------------------------------------------------------------------
10363         Bra
10364         CBra 1
10365         a
10366         Ket
10367         CBra 2
10368         b
10369         Ket
10370         CBra 3
10371         c
10372         Ket
10373         CBra 4
10374         d
10375         Cond
10376         Cond recurse <A>2
10377         $
10378         Alt
10379         Recurse
10380         Ket
10381         Ket
10382         Ket
10383         End
10384 ------------------------------------------------------------------
10385 Capturing subpattern count = 4
10386 Max back reference = 1
10387 Named capturing subpatterns:
10388   A   1
10389   A   4
10390 Options: extended dupnames
10391 First char = 'a'
10392 Need char = 'd'
10393     abcdd
10394  0: abcdd
10395  1: a
10396  2: b
10397  3: c
10398  4: dd
10399     ** Failers
10400 No match
10401     abcdde  
10402 No match
10403 
10404 /abcd*/
10405     xxxxabcd\P
10406  0: abcd
10407     xxxxabcd\P\P
10408 Partial match: abcd
10409 
10410 /abcd*/i
10411     xxxxabcd\P
10412  0: abcd
10413     xxxxabcd\P\P
10414 Partial match: abcd
10415     XXXXABCD\P
10416  0: ABCD
10417     XXXXABCD\P\P
10418 Partial match: ABCD
10419 
10420 /abc\d*/
10421     xxxxabc1\P
10422  0: abc1
10423     xxxxabc1\P\P
10424 Partial match: abc1
10425 
10426 /(a)bc\1*/
10427     xxxxabca\P
10428  0: abca
10429  1: a
10430     xxxxabca\P\P
10431 Partial match: abca
10432 
10433 /abc[de]*/
10434     xxxxabcde\P
10435  0: abcde
10436     xxxxabcde\P\P
10437 Partial match: abcde
10438 
10439 /-- This is not in the Perl-compatible test because Perl seems currently to be
10440     broken and not behaving as specified in that it *does* bumpalong after
10441     hitting (*COMMIT). --/
10442 
10443 /(?1)(A(*COMMIT)|B)D/
10444     ABD
10445  0: ABD
10446  1: B
10447     XABD
10448  0: ABD
10449  1: B
10450     BAD
10451  0: BAD
10452  1: A
10453     ABXABD  
10454  0: ABD
10455  1: B
10456     ** Failers 
10457 No match
10458     ABX 
10459 No match
10460     BAXBAD  
10461 No match
10462 
10463 /(\3)(\1)(a)/<JS>
10464     cat
10465  0: a
10466  1: 
10467  2: 
10468  3: a
10469 
10470 /(\3)(\1)(a)/SI<JS>
10471 Capturing subpattern count = 3
10472 Max back reference = 3
10473 Options:
10474 No first char
10475 Need char = 'a'
10476 Subject length lower bound = 1
10477 No starting char list
10478     cat
10479  0: a
10480  1: 
10481  2: 
10482  3: a
10483 
10484 /(\3)(\1)(a)/SI
10485 Capturing subpattern count = 3
10486 Max back reference = 3
10487 No options
10488 No first char
10489 Need char = 'a'
10490 Subject length lower bound = 3
10491 No starting char list
10492     cat
10493 No match
10494 
10495 /i(?(DEFINE)(?<s>a))/SI
10496 Capturing subpattern count = 1
10497 Named capturing subpatterns:
10498   s   1
10499 No options
10500 First char = 'i'
10501 No need char
10502 Subject length lower bound = 1
10503 No starting char list
10504     i
10505  0: i
10506     
10507 /()i(?(1)a)/SI 
10508 Capturing subpattern count = 1
10509 Max back reference = 1
10510 No options
10511 No first char
10512 Need char = 'i'
10513 Subject length lower bound = 1
10514 Starting chars: i 
10515     ia
10516  0: ia
10517  1: 
10518 
10519 /(?i)a(?-i)b|c/BZ
10520 ------------------------------------------------------------------
10521         Bra
10522      /i a
10523         b
10524         Alt
10525         c
10526         Ket
10527         End
10528 ------------------------------------------------------------------
10529     XabX
10530  0: ab
10531     XAbX
10532  0: Ab
10533     CcC 
10534  0: c
10535     ** Failers
10536 No match
10537     XABX   
10538 No match
10539 
10540 /(?i)a(?s)b|c/BZ
10541 ------------------------------------------------------------------
10542         Bra
10543      /i ab
10544         Alt
10545      /i c
10546         Ket
10547         End
10548 ------------------------------------------------------------------
10549 
10550 /(?i)a(?s-i)b|c/BZ
10551 ------------------------------------------------------------------
10552         Bra
10553      /i a
10554         b
10555         Alt
10556         c
10557         Ket
10558         End
10559 ------------------------------------------------------------------
10560 
10561 /^(ab(c\1)d|x){2}$/BZ
10562 ------------------------------------------------------------------
10563         Bra
10564         ^
10565         Once
10566         CBra 1
10567         ab
10568         CBra 2
10569         c
10570         \1
10571         Ket
10572         d
10573         Alt
10574         x
10575         Ket
10576         Ket
10577         Once
10578         CBra 1
10579         ab
10580         CBra 2
10581         c
10582         \1
10583         Ket
10584         d
10585         Alt
10586         x
10587         Ket
10588         Ket
10589         $
10590         Ket
10591         End
10592 ------------------------------------------------------------------
10593     xabcxd
10594  0: xabcxd
10595  1: abcxd
10596  2: cx
10597     
10598 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
10599 ------------------------------------------------------------------
10600         Bra
10601         ^
10602         Braposzero
10603         SBraPos
10604         Recurse
10605         KetRpos
10606         Cond
10607         Cond def
10608         CBra 1
10609         Any
10610         Ket
10611         Ket
10612         $
10613         Ket
10614         End
10615 ------------------------------------------------------------------
10616 
10617 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
10618 ------------------------------------------------------------------
10619         Bra
10620         ^
10621         Brazero
10622         Once
10623         Recurse
10624         KetRmax
10625         Cond
10626         Cond def
10627         CBra 1
10628         Any
10629         Ket
10630         Ket
10631         $
10632         Ket
10633         End
10634 ------------------------------------------------------------------
10635 
10636 / -- This one is here because Perl gives the match as "b" rather than "ab". I
10637      believe this to be a Perl bug. --/  
10638       
10639 /(?>a\Kb)z|(ab)/
10640     ab 
10641  0: ab
10642  1: ab
10643 
10644 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10645 Failed: recursive call could loop indefinitely at offset 31
10646 
10647 /abc(*MARK:)pqr/
10648 Failed: (*MARK) must have an argument at offset 10
10649 
10650 /abc(*:)pqr/
10651 Failed: (*MARK) must have an argument at offset 6
10652 
10653 /abc(*FAIL:123)xyz/
10654 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
10655 
10656 /--- This should, and does, fail. In Perl, it does not, which I think is a 
10657      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
10658 
10659 /A(*COMMIT)B/+K
10660     ACABX
10661 No match
10662 
10663 /--- These should be different, but in Perl they are not, which I think
10664      is a bug in Perl. ---/
10665 
10666 /A(*THEN)B|A(*THEN)C/K
10667     AC
10668  0: AC
10669 
10670 /A(*PRUNE)B|A(*PRUNE)C/K
10671     AC
10672 No match
10673     
10674 /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
10675 though PCRE does. ---/
10676 
10677 /^A(*:A)B|^X(*:A)Y/K
10678     ** Failers
10679 No match
10680     XAQQ
10681 No match, mark = A
10682     
10683 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
10684 optimizations defeat this. So does the PCRE optimization unless we disable it 
10685 with \Y. ---/
10686 
10687 /(*COMMIT)ABC/
10688     ABCDEFG
10689  0: ABC
10690     ** Failers
10691 No match
10692     DEFGABC\Y  
10693 No match
10694     
10695 /^(ab (c+(*THEN)cd) | xyz)/x
10696     abcccd  
10697 No match
10698 
10699 /^(ab (c+(*PRUNE)cd) | xyz)/x
10700     abcccd  
10701 No match
10702 
10703 /^(ab (c+(*FAIL)cd) | xyz)/x
10704     abcccd  
10705 No match
10706     
10707 /--- Perl gets some of these wrong ---/ 
10708 
10709 /(?>.(*ACCEPT))*?5/
10710     abcde
10711  0: a
10712 
10713 /(.(*ACCEPT))*?5/
10714     abcde
10715  0: a
10716  1: a
10717 
10718 /(.(*ACCEPT))5/
10719     abcde
10720  0: a
10721  1: a
10722 
10723 /(.(*ACCEPT))*5/
10724     abcde
10725  0: a
10726  1: a
10727 
10728 /A\NB./BZ
10729 ------------------------------------------------------------------
10730         Bra
10731         A
10732         Any
10733         B
10734         Any
10735         Ket
10736         End
10737 ------------------------------------------------------------------
10738     ACBD
10739  0: ACBD
10740     *** Failers
10741 No match
10742     A\nB
10743 No match
10744     ACB\n   
10745 No match
10746 
10747 /A\NB./sBZ
10748 ------------------------------------------------------------------
10749         Bra
10750         A
10751         Any
10752         B
10753         AllAny
10754         Ket
10755         End
10756 ------------------------------------------------------------------
10757     ACBD
10758  0: ACBD
10759     ACB\n 
10760  0: ACB\x0a
10761     *** Failers
10762 No match
10763     A\nB  
10764 No match
10765   
10766 /A\NB/<crlf>
10767     A\nB
10768  0: A\x0aB
10769     A\rB
10770  0: A\x0dB
10771     ** Failers
10772 No match
10773     A\r\nB    
10774 No match
10775 
10776 /\R+b/BZ
10777 ------------------------------------------------------------------
10778         Bra
10779         \R++
10780         b
10781         Ket
10782         End
10783 ------------------------------------------------------------------
10784 
10785 /\R+\n/BZ
10786 ------------------------------------------------------------------
10787         Bra
10788         \R+
10789         \x0a
10790         Ket
10791         End
10792 ------------------------------------------------------------------
10793 
10794 /\R+\d/BZ
10795 ------------------------------------------------------------------
10796         Bra
10797         \R++
10798         \d
10799         Ket
10800         End
10801 ------------------------------------------------------------------
10802 
10803 /\d*\R/BZ
10804 ------------------------------------------------------------------
10805         Bra
10806         \d*+
10807         \R
10808         Ket
10809         End
10810 ------------------------------------------------------------------
10811 
10812 /\s*\R/BZ
10813 ------------------------------------------------------------------
10814         Bra
10815         \s*
10816         \R
10817         Ket
10818         End
10819 ------------------------------------------------------------------
10820     \x20\x0a
10821  0:  \x0a
10822     \x20\x0d
10823  0:  \x0d
10824     \x20\x0d\x0a
10825  0:  \x0d\x0a
10826 
10827 /\S*\R/BZ
10828 ------------------------------------------------------------------
10829         Bra
10830         \S*+
10831         \R
10832         Ket
10833         End
10834 ------------------------------------------------------------------
10835     a\x0a
10836  0: a\x0a
10837 
10838 /X\h*\R/BZ
10839 ------------------------------------------------------------------
10840         Bra
10841         X
10842         \h*+
10843         \R
10844         Ket
10845         End
10846 ------------------------------------------------------------------
10847     X\x20\x0a
10848  0: X \x0a
10849 
10850 /X\H*\R/BZ
10851 ------------------------------------------------------------------
10852         Bra
10853         X
10854         \H*
10855         \R
10856         Ket
10857         End
10858 ------------------------------------------------------------------
10859     X\x0d\x0a
10860  0: X\x0d\x0a
10861 
10862 /X\H+\R/BZ
10863 ------------------------------------------------------------------
10864         Bra
10865         X
10866         \H+
10867         \R
10868         Ket
10869         End
10870 ------------------------------------------------------------------
10871     X\x0d\x0a
10872  0: X\x0d\x0a
10873 
10874 /X\H++\R/BZ
10875 ------------------------------------------------------------------
10876         Bra
10877         X
10878         \H++
10879         \R
10880         Ket
10881         End
10882 ------------------------------------------------------------------
10883     X\x0d\x0a
10884 No match
10885 
10886 /(?<=abc)def/
10887     abc\P\P
10888 Partial match at offset 3: abc
10889 
10890 /abc$/
10891     abc
10892  0: abc
10893     abc\P
10894  0: abc
10895     abc\P\P
10896 Partial match: abc
10897 
10898 /abc$/m
10899     abc
10900  0: abc
10901     abc\n
10902  0: abc
10903     abc\P\P
10904 Partial match: abc
10905     abc\n\P\P 
10906  0: abc
10907     abc\P
10908  0: abc
10909     abc\n\P
10910  0: abc
10911 
10912 /abc\z/
10913     abc
10914  0: abc
10915     abc\P
10916  0: abc
10917     abc\P\P
10918 Partial match: abc
10919 
10920 /abc\Z/
10921     abc
10922  0: abc
10923     abc\P
10924  0: abc
10925     abc\P\P
10926 Partial match: abc
10927 
10928 /abc\b/
10929     abc
10930  0: abc
10931     abc\P
10932  0: abc
10933     abc\P\P
10934 Partial match: abc
10935 
10936 /abc\B/
10937     abc
10938 No match
10939     abc\P
10940 Partial match: abc
10941     abc\P\P
10942 Partial match: abc
10943 
10944 /.+/
10945     abc\>0
10946  0: abc
10947     abc\>1
10948  0: bc
10949     abc\>2
10950  0: c
10951     abc\>3
10952 No match
10953     abc\>4
10954 Error -24 (bad offset value)
10955     abc\>-4 
10956 Error -24 (bad offset value)
10957 
10958 /^\cģ/
10959 Failed: \c must be followed by an ASCII character at offset 3
10960 
10961 /(?P<abn>(?P=abn)xxx)/BZ
10962 ------------------------------------------------------------------
10963         Bra
10964         Once
10965         CBra 1
10966         \1
10967         xxx
10968         Ket
10969         Ket
10970         Ket
10971         End
10972 ------------------------------------------------------------------
10973 
10974 /(a\1z)/BZ
10975 ------------------------------------------------------------------
10976         Bra
10977         Once
10978         CBra 1
10979         a
10980         \1
10981         z
10982         Ket
10983         Ket
10984         Ket
10985         End
10986 ------------------------------------------------------------------
10987 
10988 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
10989 Failed: syntax error in subpattern name (missing terminator) at offset 29
10990 
10991 /(?P<abn>(?P=axn)xxx)/BZ
10992 Failed: reference to non-existent subpattern at offset 15
10993 
10994 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
10995 ------------------------------------------------------------------
10996         Bra
10997         CBra 1
10998         \2
10999         xxx
11000         Ket
11001         CBra 2
11002         yy
11003         Ket
11004         Ket
11005         End
11006 ------------------------------------------------------------------
11007 
11008 /-- These tests are here because Perl gets the first one wrong. --/
11009 
11010 /(\R*)(.)/s
11011     \r\n
11012  0: \x0d
11013  1: 
11014  2: \x0d
11015     \r\r\n\n\r 
11016  0: \x0d\x0d\x0a\x0a\x0d
11017  1: \x0d\x0d\x0a\x0a
11018  2: \x0d
11019     \r\r\n\n\r\n 
11020  0: \x0d\x0d\x0a\x0a\x0d
11021  1: \x0d\x0d\x0a\x0a
11022  2: \x0d
11023 
11024 /(\R)*(.)/s
11025     \r\n
11026  0: \x0d
11027  1: <unset>
11028  2: \x0d
11029     \r\r\n\n\r 
11030  0: \x0d\x0d\x0a\x0a\x0d
11031  1: \x0a
11032  2: \x0d
11033     \r\r\n\n\r\n 
11034  0: \x0d\x0d\x0a\x0a\x0d
11035  1: \x0a
11036  2: \x0d
11037 
11038 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
11039     \r\n
11040  0: \x0d
11041  1: 
11042  2: \x0d
11043     \r\r\n\n\r 
11044  0: \x0d\x0d\x0a\x0a\x0d
11045  1: \x0d\x0d\x0a\x0a
11046  2: \x0d
11047     \r\r\n\n\r\n 
11048  0: \x0d\x0d\x0a\x0a\x0d
11049  1: \x0d\x0d\x0a\x0a
11050  2: \x0d
11051 
11052 /-- --/
11053 
11054 /^abc$/BZ
11055 ------------------------------------------------------------------
11056         Bra
11057         ^
11058         abc
11059         $
11060         Ket
11061         End
11062 ------------------------------------------------------------------
11063 
11064 /^abc$/BZm
11065 ------------------------------------------------------------------
11066         Bra
11067      /m ^
11068         abc
11069      /m $
11070         Ket
11071         End
11072 ------------------------------------------------------------------
11073 
11074 /^(a)*+(\w)/S
11075     aaaaX
11076  0: aaaaX
11077  1: a
11078  2: X
11079     ** Failers 
11080 No match
11081     aaaa
11082 No match
11083 
11084 /^(?:a)*+(\w)/S
11085     aaaaX
11086  0: aaaaX
11087  1: X
11088     ** Failers 
11089 No match
11090     aaaa
11091 No match
11092 
11093 /(a)++1234/SDZ
11094 ------------------------------------------------------------------
11095         Bra
11096         CBraPos 1
11097         a
11098         KetRpos
11099         1234
11100         Ket
11101         End
11102 ------------------------------------------------------------------
11103 Capturing subpattern count = 1
11104 No options
11105 First char = 'a'
11106 Need char = '4'
11107 Subject length lower bound = 5
11108 No starting char list
11109 
11110 /([abc])++1234/SI
11111 Capturing subpattern count = 1
11112 No options
11113 No first char
11114 Need char = '4'
11115 Subject length lower bound = 5
11116 Starting chars: a b c 
11117 
11118 /(?<=(abc)+)X/
11119 Failed: lookbehind assertion is not fixed length at offset 10
11120 
11121 /(^ab)/I
11122 Capturing subpattern count = 1
11123 Options: anchored
11124 No first char
11125 No need char
11126 
11127 /(^ab)++/I
11128 Capturing subpattern count = 1
11129 Options: anchored
11130 No first char
11131 No need char
11132 
11133 /(^ab|^)+/I
11134 Capturing subpattern count = 1
11135 May match empty string
11136 Options: anchored
11137 No first char
11138 No need char
11139 
11140 /(^ab|^)++/I
11141 Capturing subpattern count = 1
11142 May match empty string
11143 Options: anchored
11144 No first char
11145 No need char
11146 
11147 /(?:^ab)/I
11148 Capturing subpattern count = 0
11149 Options: anchored
11150 No first char
11151 No need char
11152 
11153 /(?:^ab)++/I
11154 Capturing subpattern count = 0
11155 Options: anchored
11156 No first char
11157 No need char
11158 
11159 /(?:^ab|^)+/I
11160 Capturing subpattern count = 0
11161 May match empty string
11162 Options: anchored
11163 No first char
11164 No need char
11165 
11166 /(?:^ab|^)++/I
11167 Capturing subpattern count = 0
11168 May match empty string
11169 Options: anchored
11170 No first char
11171 No need char
11172 
11173 /(.*ab)/I
11174 Capturing subpattern count = 1
11175 No options
11176 First char at start or follows newline
11177 Need char = 'b'
11178 
11179 /(.*ab)++/I
11180 Capturing subpattern count = 1
11181 No options
11182 First char at start or follows newline
11183 Need char = 'b'
11184 
11185 /(.*ab|.*)+/I
11186 Capturing subpattern count = 1
11187 May match empty string
11188 No options
11189 First char at start or follows newline
11190 No need char
11191 
11192 /(.*ab|.*)++/I
11193 Capturing subpattern count = 1
11194 May match empty string
11195 No options
11196 First char at start or follows newline
11197 No need char
11198 
11199 /(?:.*ab)/I
11200 Capturing subpattern count = 0
11201 No options
11202 First char at start or follows newline
11203 Need char = 'b'
11204 
11205 /(?:.*ab)++/I
11206 Capturing subpattern count = 0
11207 No options
11208 First char at start or follows newline
11209 Need char = 'b'
11210 
11211 /(?:.*ab|.*)+/I
11212 Capturing subpattern count = 0
11213 May match empty string
11214 No options
11215 First char at start or follows newline
11216 No need char
11217 
11218 /(?:.*ab|.*)++/I
11219 Capturing subpattern count = 0
11220 May match empty string
11221 No options
11222 First char at start or follows newline
11223 No need char
11224 
11225 /(?=a)[bcd]/I
11226 Capturing subpattern count = 0
11227 No options
11228 First char = 'a'
11229 No need char
11230 
11231 /((?=a))[bcd]/I
11232 Capturing subpattern count = 1
11233 No options
11234 First char = 'a'
11235 No need char
11236 
11237 /((?=a))+[bcd]/I
11238 Capturing subpattern count = 1
11239 No options
11240 First char = 'a'
11241 No need char
11242 
11243 /((?=a))++[bcd]/I
11244 Capturing subpattern count = 1
11245 No options
11246 First char = 'a'
11247 No need char
11248 
11249 /(?=a+)[bcd]/iI
11250 Capturing subpattern count = 0
11251 Options: caseless
11252 First char = 'a' (caseless)
11253 No need char
11254 
11255 /(?=a+?)[bcd]/iI
11256 Capturing subpattern count = 0
11257 Options: caseless
11258 First char = 'a' (caseless)
11259 No need char
11260 
11261 /(?=a++)[bcd]/iI
11262 Capturing subpattern count = 0
11263 Options: caseless
11264 First char = 'a' (caseless)
11265 No need char
11266 
11267 /(?=a{3})[bcd]/iI
11268 Capturing subpattern count = 0
11269 Options: caseless
11270 First char = 'a' (caseless)
11271 Need char = 'a' (caseless)
11272 
11273 /(abc)\1+/S
11274 
11275 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
11276 
11277 /(?1)(?:(b(*ACCEPT))){0}/
11278     b
11279  0: b
11280 
11281 /(?1)(?:(b(*ACCEPT))){0}c/
11282     bc
11283  0: bc
11284     ** Failers 
11285 No match
11286     b 
11287 No match
11288 
11289 /(?1)(?:((*ACCEPT))){0}c/
11290     c
11291  0: c
11292     c\N 
11293  0: c
11294 
11295 /^.*?(?(?=a)a|b(*THEN)c)/
11296     ba
11297 No match
11298 
11299 /^.*?(?(?=a)a|bc)/
11300     ba
11301  0: ba
11302 
11303 /^.*?(?(?=a)a(*THEN)b|c)/
11304     ac
11305 No match
11306 
11307 /^.*?(?(?=a)a(*THEN)b)c/
11308     ac
11309 No match
11310 
11311 /^.*?(a(*THEN)b)c/
11312     aabc
11313 No match
11314     
11315 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
11316     aabc
11317  0: aabc
11318 
11319 /^.*?(a(*THEN)b|z)c/
11320     aabc
11321  0: aabc
11322  1: ab
11323 
11324 /^.*?(z|a(*THEN)b)c/
11325     aabc
11326  0: aabc
11327  1: ab
11328 
11329 /-- --/
11330 
11331 /-- These studied versions are here because they are not Perl-compatible; the
11332     studying means the mark is not seen. --/
11333 
11334 /(*MARK:A)(*SKIP:B)(C|X)/KS
11335     C
11336  0: C
11337  1: C
11338 MK: A
11339     D
11340 No match, mark = A
11341      
11342 /(*:A)A+(*SKIP:A)(B|Z)/KS
11343     AAAC
11344 No match, mark = A
11345 
11346 /-- --/
11347 
11348 "(?=a*(*ACCEPT)b)c"
11349     c
11350  0: c
11351     c\N 
11352  0: c
11353     
11354 /(?1)c(?(DEFINE)((*ACCEPT)b))/
11355     c
11356  0: c
11357     c\N  
11358  0: c
11359     
11360 /(?>(*ACCEPT)b)c/
11361     c
11362  0: 
11363     c\N  
11364 No match
11365 
11366 /(?:(?>(a)))+a%/++
11367     %aa%
11368  0: aa%
11369  0+ 
11370  1: a
11371  1+ a%
11372 
11373 /(a)b|ac/++SS
11374     ac\O3
11375  0: ac
11376  0+ 
11377     
11378 /(a)(b)x|abc/++
11379      abc\O6
11380  0: abc
11381  0+ 
11382 
11383 /(a)bc|(a)(b)\2/
11384     \O3abc
11385 Matched, but too many substrings
11386  0: abc
11387     \O4abc 
11388 Matched, but too many substrings
11389  0: abc
11390 
11391 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
11392 Capturing subpattern count = 2
11393 No options
11394 No first char
11395 No need char
11396 Subject length lower bound = 1
11397 No starting char list
11398 
11399 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
11400 Capturing subpattern count = 2
11401 No options
11402 No first char
11403 No need char
11404 Subject length lower bound = 3
11405 Starting chars: a b 
11406 
11407 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
11408 Capturing subpattern count = 2
11409 No options
11410 No first char
11411 No need char
11412 Subject length lower bound = 4
11413 Starting chars: a b 
11414 
11415 /(abc)(?1)/SI
11416 Capturing subpattern count = 1
11417 No options
11418 First char = 'a'
11419 Need char = 'c'
11420 Subject length lower bound = 6
11421 No starting char list
11422 
11423 /^(?>a)++/
11424     aa\M
11425 Minimum match() limit = 5
11426 Minimum match() recursion limit = 2
11427  0: aa
11428     aaaaaaaaa\M 
11429 Minimum match() limit = 12
11430 Minimum match() recursion limit = 2
11431  0: aaaaaaaaa
11432     
11433 /(a)(?1)++/
11434     aa\M
11435 Minimum match() limit = 7
11436 Minimum match() recursion limit = 4
11437  0: aa
11438  1: a
11439     aaaaaaaaa\M  
11440 Minimum match() limit = 21
11441 Minimum match() recursion limit = 4
11442  0: aaaaaaaaa
11443  1: a
11444 
11445 /(?:(foo)|(bar)|(baz))X/SS=
11446     bazfooX
11447  0: fooX
11448  1: foo
11449  2: <unset>
11450  3: <unset>
11451     foobazbarX
11452  0: barX
11453  1: <unset>
11454  2: bar
11455  3: <unset>
11456     barfooX
11457  0: fooX
11458  1: foo
11459  2: <unset>
11460  3: <unset>
11461     bazX
11462  0: bazX
11463  1: <unset>
11464  2: <unset>
11465  3: baz
11466     foobarbazX    
11467  0: bazX
11468  1: <unset>
11469  2: <unset>
11470  3: baz
11471     bazfooX\O0
11472 Matched, but too many substrings
11473     bazfooX\O2
11474 Matched, but too many substrings
11475  0: fooX
11476     bazfooX\O4
11477 Matched, but too many substrings
11478  0: fooX
11479  1: <unset>
11480     bazfooX\O6
11481 Matched, but too many substrings
11482  0: fooX
11483  1: foo
11484  2: <unset>
11485     bazfooX\O8
11486 Matched, but too many substrings
11487  0: fooX
11488  1: foo
11489  2: <unset>
11490  3: <unset>
11491     bazfooX\O10
11492  0: fooX
11493  1: foo
11494  2: <unset>
11495  3: <unset>
11496 
11497 /(?=abc){3}abc/BZ
11498 ------------------------------------------------------------------
11499         Bra
11500         Assert
11501         abc
11502         Ket
11503         abc
11504         Ket
11505         End
11506 ------------------------------------------------------------------
11507 
11508 /(?=abc)+abc/BZ
11509 ------------------------------------------------------------------
11510         Bra
11511         Assert
11512         abc
11513         Ket
11514         abc
11515         Ket
11516         End
11517 ------------------------------------------------------------------
11518 
11519 /(?=abc)++abc/BZ
11520 ------------------------------------------------------------------
11521         Bra
11522         Assert
11523         abc
11524         Ket
11525         abc
11526         Ket
11527         End
11528 ------------------------------------------------------------------
11529 
11530 /(?=abc){0}xyz/BZ
11531 ------------------------------------------------------------------
11532         Bra
11533         Skip zero
11534         Assert
11535         abc
11536         Ket
11537         xyz
11538         Ket
11539         End
11540 ------------------------------------------------------------------
11541 
11542 /(?=(a))?./BZ
11543 ------------------------------------------------------------------
11544         Bra
11545         Brazero
11546         Assert
11547         CBra 1
11548         a
11549         Ket
11550         Ket
11551         Any
11552         Ket
11553         End
11554 ------------------------------------------------------------------
11555 
11556 /(?=(a))??./BZ
11557 ------------------------------------------------------------------
11558         Bra
11559         Braminzero
11560         Assert
11561         CBra 1
11562         a
11563         Ket
11564         Ket
11565         Any
11566         Ket
11567         End
11568 ------------------------------------------------------------------
11569 
11570 /^(?=(a)){0}b(?1)/BZ
11571 ------------------------------------------------------------------
11572         Bra
11573         ^
11574         Skip zero
11575         Assert
11576         CBra 1
11577         a
11578         Ket
11579         Ket
11580         b
11581         Recurse
11582         Ket
11583         End
11584 ------------------------------------------------------------------
11585 
11586 /(?(DEFINE)(a))?b(?1)/BZ
11587 ------------------------------------------------------------------
11588         Bra
11589         Cond
11590         Cond def
11591         CBra 1
11592         a
11593         Ket
11594         Ket
11595         b
11596         Recurse
11597         Ket
11598         End
11599 ------------------------------------------------------------------
11600 
11601 /^(?=(?1))?[az]([abc])d/BZ
11602 ------------------------------------------------------------------
11603         Bra
11604         ^
11605         Brazero
11606         Assert
11607         Recurse
11608         Ket
11609         [az]
11610         CBra 1
11611         [a-c]
11612         Ket
11613         d
11614         Ket
11615         End
11616 ------------------------------------------------------------------
11617 
11618 /^(?!a){0}\w+/BZ
11619 ------------------------------------------------------------------
11620         Bra
11621         ^
11622         Skip zero
11623         Assert not
11624         a
11625         Ket
11626         \w++
11627         Ket
11628         End
11629 ------------------------------------------------------------------
11630 
11631 /(?<=(abc))?xyz/BZ
11632 ------------------------------------------------------------------
11633         Bra
11634         Brazero
11635         AssertB
11636         Reverse
11637         CBra 1
11638         abc
11639         Ket
11640         Ket
11641         xyz
11642         Ket
11643         End
11644 ------------------------------------------------------------------
11645 
11646 /[:a[:abc]b:]/BZ
11647 ------------------------------------------------------------------
11648         Bra
11649         [:[a-c]
11650         b:]
11651         Ket
11652         End
11653 ------------------------------------------------------------------
11654 
11655 /((?2))((?1))/SS
11656     abc
11657 Error -26 (nested recursion at the same subject position)
11658 
11659 /((?(R2)a+|(?1)b))/SS
11660     aaaabcde
11661 Error -26 (nested recursion at the same subject position)
11662 
11663 /(?(R)a*(?1)|((?R))b)/SS
11664     aaaabcde
11665 Error -26 (nested recursion at the same subject position)
11666 
11667 /(a+|(?R)b)/
11668 Failed: recursive call could loop indefinitely at offset 7
11669 
11670 /^(a(*:A)(d|e(*:B))z|aeq)/C
11671     adz
11672 --->adz
11673  +0 ^       ^
11674  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11675  +2 ^       a
11676  +3 ^^      (*:A)
11677  +8 ^^      (d|e(*:B))
11678 Latest Mark: A
11679  +9 ^^      d
11680 +10 ^ ^     |
11681 +18 ^ ^     z
11682 +19 ^  ^    |
11683 +24 ^  ^    
11684  0: adz
11685  1: adz
11686  2: d
11687     aez
11688 --->aez
11689  +0 ^       ^
11690  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11691  +2 ^       a
11692  +3 ^^      (*:A)
11693  +8 ^^      (d|e(*:B))
11694 Latest Mark: A
11695  +9 ^^      d
11696 +11 ^^      e
11697 +12 ^ ^     (*:B)
11698 +17 ^ ^     )
11699 Latest Mark: B
11700 +18 ^ ^     z
11701 +19 ^  ^    |
11702 +24 ^  ^    
11703  0: aez
11704  1: aez
11705  2: e
11706     aeqwerty
11707 --->aeqwerty
11708  +0 ^            ^
11709  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
11710  +2 ^            a
11711  +3 ^^           (*:A)
11712  +8 ^^           (d|e(*:B))
11713 Latest Mark: A
11714  +9 ^^           d
11715 +11 ^^           e
11716 +12 ^ ^          (*:B)
11717 +17 ^ ^          )
11718 Latest Mark: B
11719 +18 ^ ^          z
11720 +20 ^            a
11721 +21 ^^           e
11722 +22 ^ ^          q
11723 +23 ^  ^         )
11724 +24 ^  ^         
11725  0: aeq
11726  1: aeq
11727 
11728 /.(*F)/
11729     \P\Pabc
11730 No match
11731 
11732 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11733 Capturing subpattern count = 0
11734 Max lookbehind = 1
11735 No options
11736 First char = 't'
11737 Need char = 't'
11738 Subject length lower bound = 18
11739 No starting char list
11740 
11741 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
11742 Capturing subpattern count = 0
11743 Max lookbehind = 1
11744 No options
11745 No first char
11746 No need char
11747 Subject length lower bound = 8
11748 Starting chars: < o t u 
11749 
11750 /a(*SKIP)c|b(*ACCEPT)|/+S!I
11751 Capturing subpattern count = 0
11752 May match empty string
11753 No options
11754 No first char
11755 No need char
11756 Subject length lower bound = -1
11757 No starting char list
11758     a
11759  0: 
11760  0+ 
11761 
11762 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
11763 Capturing subpattern count = 0
11764 No options
11765 No first char
11766 No need char
11767 Subject length lower bound = -1
11768 Starting chars: a b x 
11769     ax
11770  0: x
11771 
11772 'a*(*ACCEPT)b'+
11773     \N\N
11774 No match
11775     abc\N\N
11776  0: a
11777  0+ bc
11778     bbb\N\N 
11779  0: 
11780  0+ bb
11781 
11782 /(*ACCEPT)a/+I
11783 Capturing subpattern count = 0
11784 No options
11785 No first char
11786 No need char
11787     bax
11788  0: 
11789  0+ bax
11790 
11791 /z(*ACCEPT)a/+I
11792 Capturing subpattern count = 0
11793 No options
11794 First char = 'z'
11795 No need char
11796     baxzbx
11797  0: z
11798  0+ bx
11799 
11800 /a(?:.)*?a/ims                                                                  
11801     \Mabbbbbbbbbbbbbbbbbbbbba
11802 Minimum match() limit = 65
11803 Minimum match() recursion limit = 2
11804  0: abbbbbbbbbbbbbbbbbbbbba
11805     
11806 /a(?:.(*THEN))*?a/ims
11807     \Mabbbbbbbbbbbbbbbbbbbbba
11808 Minimum match() limit = 86
11809 Minimum match() recursion limit = 45
11810  0: abbbbbbbbbbbbbbbbbbbbba
11811 
11812 /a(?:.(*THEN:ABC))*?a/ims
11813     \Mabbbbbbbbbbbbbbbbbbbbba
11814 Minimum match() limit = 86
11815 Minimum match() recursion limit = 45
11816  0: abbbbbbbbbbbbbbbbbbbbba
11817 
11818 /^(?>a+)(?>(z+))\w/BZ
11819 ------------------------------------------------------------------
11820         Bra
11821         ^
11822         Once_NC
11823         a++
11824         Ket
11825         Once
11826         CBra 1
11827         z++
11828         Ket
11829         Ket
11830         \w
11831         Ket
11832         End
11833 ------------------------------------------------------------------
11834     aaaazzzzb
11835  0: aaaazzzzb
11836  1: zzzz
11837     ** Failers
11838 No match
11839     aazz  
11840 No match
11841 
11842 /(.)(\1|a(?2))/
11843     bab
11844  0: bab
11845  1: b
11846  2: ab
11847     
11848 /\1|(.)(?R)\1/
11849     cbbbc
11850  0: cbbbc
11851  1: c
11852     
11853 /(.)((?(1)c|a)|a(?2))/
11854     baa  
11855 No match
11856 
11857 /(?P<abn>(?P=abn)xxx)/BZ
11858 ------------------------------------------------------------------
11859         Bra
11860         Once
11861         CBra 1
11862         \1
11863         xxx
11864         Ket
11865         Ket
11866         Ket
11867         End
11868 ------------------------------------------------------------------
11869 
11870 /(a\1z)/BZ
11871 ------------------------------------------------------------------
11872         Bra
11873         Once
11874         CBra 1
11875         a
11876         \1
11877         z
11878         Ket
11879         Ket
11880         Ket
11881         End
11882 ------------------------------------------------------------------
11883 
11884 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
11885      \Maabbccddee
11886 Minimum match() limit = 7
11887 Minimum match() recursion limit = 2
11888  0: aabbccddee
11889 
11890 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
11891      \Maabbccddee
11892 Minimum match() limit = 17
11893 Minimum match() recursion limit = 16
11894  0: aabbccddee
11895  1: aa
11896  2: bb
11897  3: cc
11898  4: dd
11899  5: ee
11900 
11901 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
11902      \Maabbccddee
11903 Minimum match() limit = 13
11904 Minimum match() recursion limit = 10
11905  0: aabbccddee
11906  1: aa
11907  2: cc
11908  3: ee
11909 
11910 /^a\x41z/<JS>
11911     aAz
11912  0: aAz
11913     *** Failers
11914 No match
11915     ax41z
11916 No match
11917 
11918 /^a[m\x41]z/<JS>
11919     aAz
11920  0: aAz
11921 
11922 /^a\x1z/<JS>
11923     ax1z
11924  0: ax1z
11925 
11926 /^a\u0041z/<JS>
11927     aAz
11928  0: aAz
11929     *** Failers
11930 No match
11931     au0041z
11932 No match
11933 
11934 /^a[m\u0041]z/<JS>
11935     aAz
11936  0: aAz
11937 
11938 /^a\u041z/<JS>
11939     au041z
11940  0: au041z
11941     *** Failers
11942 No match
11943     aAz
11944 No match
11945 
11946 /^a\U0041z/<JS>
11947     aU0041z
11948  0: aU0041z
11949     *** Failers
11950 No match
11951     aAz
11952 No match
11953 
11954 /(?(?=c)c|d)++Y/BZ
11955 ------------------------------------------------------------------
11956         Bra
11957         BraPos
11958         Cond
11959         Assert
11960         c
11961         Ket
11962         c
11963         Alt
11964         d
11965         Ket
11966         KetRpos
11967         Y
11968         Ket
11969         End
11970 ------------------------------------------------------------------
11971 
11972 /(?(?=c)c|d)*+Y/BZ
11973 ------------------------------------------------------------------
11974         Bra
11975         Braposzero
11976         BraPos
11977         Cond
11978         Assert
11979         c
11980         Ket
11981         c
11982         Alt
11983         d
11984         Ket
11985         KetRpos
11986         Y
11987         Ket
11988         End
11989 ------------------------------------------------------------------
11990 
11991 /a[\NB]c/
11992 Failed: \N is not supported in a class at offset 3
11993 
11994 /a[B-\Nc]/ 
11995 Failed: invalid range in character class at offset 5
11996 
11997 /a[B\Nc]/ 
11998 Failed: \N is not supported in a class at offset 4
11999 
12000 /(a)(?2){0,1999}?(b)/
12001 
12002 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
12003 
12004 /--- This test, with something more complicated than individual letters, causes
12005 different behaviour in Perl. Perhaps it disables some optimization; no tag is
12006 passed back for the failures, whereas in PCRE there is a tag. ---/
12007     
12008 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
12009     AABC
12010  0: AB
12011  1: A
12012  2: B
12013 MK: A
12014     XXYZ 
12015  0: XXY
12016  1: <unset>
12017  2: <unset>
12018  3: X
12019  4: X
12020  5: Y
12021 MK: B
12022     ** Failers
12023 No match
12024     XAQQ  
12025 No match, mark = A
12026     XAQQXZZ  
12027 No match, mark = A
12028     AXQQQ 
12029 No match, mark = A
12030     AXXQQQ 
12031 No match, mark = B
12032 
12033 /-- Perl doesn't give marks for these, though it does if the alternatives are
12034 replaced by single letters. --/
12035     
12036 /(b|q)(*:m)f|a(*:n)w/K
12037     aw 
12038  0: aw
12039 MK: n
12040     ** Failers 
12041 No match, mark = n
12042     abc
12043 No match, mark = m
12044 
12045 /(q|b)(*:m)f|a(*:n)w/K
12046     aw 
12047  0: aw
12048 MK: n
12049     ** Failers 
12050 No match, mark = n
12051     abc
12052 No match, mark = m
12053 
12054 /-- After a partial match, the behaviour is as for a failure. --/
12055 
12056 /^a(*:X)bcde/K
12057    abc\P
12058 Partial match, mark=X: abc
12059    
12060 /-- These are here because Perl doesn't return a mark, except for the first --/
12061 
12062 /(?=(*:x))(q|)/K+
12063     abc
12064  0: 
12065  0+ abc
12066  1: 
12067 MK: x
12068 
12069 /(?=(*:x))((*:y)q|)/K+
12070     abc
12071  0: 
12072  0+ abc
12073  1: 
12074 MK: x
12075 
12076 /(?=(*:x))(?:(*:y)q|)/K+
12077     abc
12078  0: 
12079  0+ abc
12080 MK: x
12081 
12082 /(?=(*:x))(?>(*:y)q|)/K+
12083     abc
12084  0: 
12085  0+ abc
12086 MK: x
12087 
12088 /(?=a(*:x))(?!a(*:y)c)/K+
12089     ab
12090  0: 
12091  0+ ab
12092 MK: x
12093 
12094 /(?=a(*:x))(?=a(*:y)c|)/K+
12095     ab
12096  0: 
12097  0+ ab
12098 MK: x
12099 
12100 /(..)\1/
12101     ab\P
12102 Partial match: ab
12103     aba\P
12104 Partial match: aba
12105     abab\P
12106  0: abab
12107  1: ab
12108 
12109 /(..)\1/i
12110     ab\P
12111 Partial match: ab
12112     abA\P
12113 Partial match: abA
12114     aBAb\P
12115  0: aBAb
12116  1: aB
12117 
12118 /(..)\1{2,}/
12119     ab\P
12120 Partial match: ab
12121     aba\P
12122 Partial match: aba
12123     abab\P
12124 Partial match: abab
12125     ababa\P
12126 Partial match: ababa
12127     ababab\P
12128  0: ababab
12129  1: ab
12130     ababab\P\P
12131 Partial match: ababab
12132     abababa\P
12133  0: ababab
12134  1: ab
12135     abababa\P\P
12136 Partial match: abababa
12137 
12138 /(..)\1{2,}/i
12139     ab\P
12140 Partial match: ab
12141     aBa\P
12142 Partial match: aBa
12143     aBAb\P
12144 Partial match: aBAb
12145     AbaBA\P
12146 Partial match: AbaBA
12147     abABAb\P
12148  0: abABAb
12149  1: ab
12150     aBAbaB\P\P
12151 Partial match: aBAbaB
12152     abABabA\P
12153  0: abABab
12154  1: ab
12155     abaBABa\P\P
12156 Partial match: abaBABa
12157 
12158 /(..)\1{2,}?x/i
12159     ab\P
12160 Partial match: ab
12161     abA\P
12162 Partial match: abA
12163     aBAb\P
12164 Partial match: aBAb
12165     abaBA\P
12166 Partial match: abaBA
12167     abAbaB\P
12168 Partial match: abAbaB
12169     abaBabA\P
12170 Partial match: abaBabA
12171     abAbABaBx\P
12172  0: abAbABaBx
12173  1: ab
12174 
12175 /^(..)\1/
12176     aba\P
12177 Partial match: aba
12178 
12179 /^(..)\1{2,3}x/
12180     aba\P
12181 Partial match: aba
12182     ababa\P
12183 Partial match: ababa
12184     ababa\P\P
12185 Partial match: ababa
12186     abababx
12187  0: abababx
12188  1: ab
12189     ababababx  
12190  0: ababababx
12191  1: ab
12192 
12193 /^(..)\1{2,3}?x/
12194     aba\P
12195 Partial match: aba
12196     ababa\P
12197 Partial match: ababa
12198     ababa\P\P
12199 Partial match: ababa
12200     abababx
12201  0: abababx
12202  1: ab
12203     ababababx  
12204  0: ababababx
12205  1: ab
12206     
12207 /^(..)(\1{2,3})ab/
12208     abababab
12209  0: abababab
12210  1: ab
12211  2: abab
12212 
12213 /^\R/
12214     \r\P
12215  0: \x0d
12216     \r\P\P
12217 Partial match: \x0d
12218     
12219 /^\R{2,3}x/
12220     \r\P
12221 Partial match: \x0d
12222     \r\P\P
12223 Partial match: \x0d
12224     \r\r\P 
12225 Partial match: \x0d\x0d
12226     \r\r\P\P
12227 Partial match: \x0d\x0d
12228     \r\r\r\P  
12229 Partial match: \x0d\x0d\x0d
12230     \r\r\r\P\P
12231 Partial match: \x0d\x0d\x0d
12232     \r\rx
12233  0: \x0d\x0dx
12234     \r\r\rx    
12235  0: \x0d\x0d\x0dx
12236 
12237 /^\R{2,3}?x/
12238     \r\P
12239 Partial match: \x0d
12240     \r\P\P
12241 Partial match: \x0d
12242     \r\r\P 
12243 Partial match: \x0d\x0d
12244     \r\r\P\P
12245 Partial match: \x0d\x0d
12246     \r\r\r\P  
12247 Partial match: \x0d\x0d\x0d
12248     \r\r\r\P\P
12249 Partial match: \x0d\x0d\x0d
12250     \r\rx
12251  0: \x0d\x0dx
12252     \r\r\rx    
12253  0: \x0d\x0d\x0dx
12254     
12255 /^\R?x/
12256     \r\P
12257 Partial match: \x0d
12258     \r\P\P 
12259 Partial match: \x0d
12260     x
12261  0: x
12262     \rx  
12263  0: \x0dx
12264 
12265 /^\R+x/
12266     \r\P
12267 Partial match: \x0d
12268     \r\P\P 
12269 Partial match: \x0d
12270     \r\n\P
12271 Partial match: \x0d\x0a
12272     \r\n\P\P  
12273 Partial match: \x0d\x0a
12274     \rx  
12275  0: \x0dx
12276 
12277 /^a$/<CRLF>
12278     a\r\P
12279 Partial match: a\x0d
12280     a\r\P\P 
12281 Partial match: a\x0d
12282 
12283 /^a$/m<CRLF>
12284     a\r\P
12285 Partial match: a\x0d
12286     a\r\P\P 
12287 Partial match: a\x0d
12288 
12289 /^(a$|a\r)/<CRLF>
12290     a\r\P
12291  0: a\x0d
12292  1: a\x0d
12293     a\r\P\P 
12294 Partial match: a\x0d
12295 
12296 /^(a$|a\r)/m<CRLF>
12297     a\r\P
12298  0: a\x0d
12299  1: a\x0d
12300     a\r\P\P 
12301 Partial match: a\x0d
12302 
12303 /./<CRLF>
12304     \r\P
12305  0: \x0d
12306     \r\P\P 
12307 Partial match: \x0d
12308   
12309 /.{2,3}/<CRLF>
12310     \r\P 
12311 Partial match: \x0d
12312     \r\P\P
12313 Partial match: \x0d
12314     \r\r\P
12315  0: \x0d\x0d
12316     \r\r\P\P
12317 Partial match: \x0d\x0d
12318     \r\r\r\P
12319  0: \x0d\x0d\x0d
12320     \r\r\r\P\P     
12321 Partial match: \x0d\x0d\x0d
12322 
12323 /.{2,3}?/<CRLF>
12324     \r\P 
12325 Partial match: \x0d
12326     \r\P\P
12327 Partial match: \x0d
12328     \r\r\P
12329  0: \x0d\x0d
12330     \r\r\P\P
12331 Partial match: \x0d\x0d
12332     \r\r\r\P
12333  0: \x0d\x0d
12334     \r\r\r\P\P     
12335  0: \x0d\x0d
12336 
12337 "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12338     ABCDGHI\O03
12339 Matched, but too many substrings
12340  0: ABCD
12341     
12342 /-- These are all run as real matches in test 1; here we are just checking the
12343 settings of the anchored and startline bits. --/ 
12344 
12345 /(?>.*?a)(?<=ba)/I
12346 Capturing subpattern count = 0
12347 Max lookbehind = 2
12348 No options
12349 No first char
12350 Need char = 'a'
12351 
12352 /(?:.*?a)(?<=ba)/I
12353 Capturing subpattern count = 0
12354 Max lookbehind = 2
12355 No options
12356 First char at start or follows newline
12357 Need char = 'a'
12358 
12359 /.*?a(*PRUNE)b/I
12360 Capturing subpattern count = 0
12361 No options
12362 No first char
12363 Need char = 'b'
12364 
12365 /.*?a(*PRUNE)b/sI
12366 Capturing subpattern count = 0
12367 Options: dotall
12368 No first char
12369 Need char = 'b'
12370 
12371 /^a(*PRUNE)b/sI
12372 Capturing subpattern count = 0
12373 Options: anchored dotall
12374 No first char
12375 No need char
12376 
12377 /.*?a(*SKIP)b/I
12378 Capturing subpattern count = 0
12379 No options
12380 No first char
12381 Need char = 'b'
12382 
12383 /(?>.*?a)b/sI
12384 Capturing subpattern count = 0
12385 Options: dotall
12386 No first char
12387 Need char = 'b'
12388 
12389 /(?>.*?a)b/I
12390 Capturing subpattern count = 0
12391 No options
12392 No first char
12393 Need char = 'b'
12394 
12395 /(?>^a)b/sI
12396 Capturing subpattern count = 0
12397 Options: anchored dotall
12398 No first char
12399 No need char
12400 
12401 /(?>.*?)(?<=(abcd)|(wxyz))/I
12402 Capturing subpattern count = 2
12403 Max lookbehind = 4
12404 May match empty string
12405 No options
12406 No first char
12407 No need char
12408 
12409 /(?>.*)(?<=(abcd)|(wxyz))/I
12410 Capturing subpattern count = 2
12411 Max lookbehind = 4
12412 May match empty string
12413 No options
12414 No first char
12415 No need char
12416 
12417 "(?>.*)foo"I
12418 Capturing subpattern count = 0
12419 No options
12420 No first char
12421 Need char = 'o'
12422 
12423 "(?>.*?)foo"I
12424 Capturing subpattern count = 0
12425 No options
12426 No first char
12427 Need char = 'o'
12428 
12429 /(?>^abc)/mI
12430 Capturing subpattern count = 0
12431 Options: multiline
12432 First char at start or follows newline
12433 Need char = 'c'
12434 
12435 /(?>.*abc)/mI
12436 Capturing subpattern count = 0
12437 Options: multiline
12438 No first char
12439 Need char = 'c'
12440 
12441 /(?:.*abc)/mI
12442 Capturing subpattern count = 0
12443 Options: multiline
12444 First char at start or follows newline
12445 Need char = 'c'
12446 
12447 /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12448 
12449 /.?/S-I
12450 Capturing subpattern count = 0
12451 May match empty string
12452 No options
12453 No first char
12454 No need char
12455 Study returned NULL
12456 
12457 /.?/S!I
12458 Capturing subpattern count = 0
12459 May match empty string
12460 No options
12461 No first char
12462 No need char
12463 Subject length lower bound = -1
12464 No starting char list
12465 
12466 /(?:(a)+(?C1)bb|aa(?C2)b)/
12467     aab\C+
12468 Callout 1: last capture = 1
12469  0: <unset>
12470  1: a
12471 --->aab
12472     ^ ^     b
12473 Callout 1: last capture = 1
12474  0: <unset>
12475  1: a
12476 --->aab
12477     ^^      b
12478 Callout 2: last capture = -1
12479  0: <unset>
12480 --->aab
12481     ^ ^     b
12482  0: aab
12483    
12484 /(?:(a)++(?C1)bb|aa(?C2)b)/
12485     aab\C+ 
12486 Callout 1: last capture = 1
12487  0: <unset>
12488  1: a
12489 --->aab
12490     ^ ^     b
12491 Callout 2: last capture = -1
12492  0: <unset>
12493 --->aab
12494     ^ ^     b
12495  0: aab
12496     
12497 /(?:(?>(a))(?C1)bb|aa(?C2)b)/
12498     aab\C+ 
12499 Callout 1: last capture = 1
12500  0: <unset>
12501  1: a
12502 --->aab
12503     ^^      b
12504 Callout 2: last capture = -1
12505  0: <unset>
12506 --->aab
12507     ^ ^     b
12508  0: aab
12509 
12510 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/                                                
12511     aab\C+ 
12512 Callout 1: last capture = -1
12513  0: <unset>
12514 --->aab
12515     ^^      x
12516 Callout 1: last capture = -1
12517  0: <unset>
12518 --->aab
12519      ^^     x
12520 Callout 2: last capture = -1
12521  0: <unset>
12522 --->aab
12523      ^ ^    )
12524  0: ab
12525 
12526 /(?1)(?C1)((a)(?C2)){0}/   
12527     aab\C+ 
12528 Callout 2: last capture = 2
12529  0: <unset>
12530  1: <unset>
12531  2: a
12532 --->aab
12533     ^^      )
12534 Callout 1: last capture = -1
12535  0: <unset>
12536 --->aab
12537     ^^      ((a)(?C2)){0}
12538  0: a
12539 
12540 /(?:(a)+(?C1)bb|aa(?C2)b)++/
12541     aab\C+
12542 Callout 1: last capture = 1
12543  0: <unset>
12544  1: a
12545 --->aab
12546     ^ ^     b
12547 Callout 1: last capture = 1
12548  0: <unset>
12549  1: a
12550 --->aab
12551     ^^      b
12552 Callout 2: last capture = -1
12553  0: <unset>
12554 --->aab
12555     ^ ^     b
12556  0: aab
12557     aab\C+\O2
12558 Callout 1: last capture = 1
12559  0: <unset>
12560 --->aab
12561     ^ ^     b
12562 Callout 1: last capture = 1
12563  0: <unset>
12564 --->aab
12565     ^^      b
12566 Callout 2: last capture = -1
12567  0: <unset>
12568 --->aab
12569     ^ ^     b
12570  0: aab
12571 
12572 /(ab)x|ab/
12573     ab\O3
12574  0: ab
12575     ab\O2 
12576  0: ab
12577   
12578 /(ab)/
12579     ab\O3
12580 Matched, but too many substrings
12581  0: ab
12582     ab\O2 
12583 Matched, but too many substrings
12584  0: ab
12585     
12586 /(?<=123)(*MARK:xx)abc/K
12587     xxxx123a\P\P
12588 Partial match at offset 7, mark=xx: 123a
12589     xxxx123a\P
12590 Partial match at offset 7, mark=xx: 123a
12591     
12592 /123\Kabc/
12593     xxxx123a\P\P
12594 Partial match: 123a
12595     xxxx123a\P
12596 Partial match: 123a
12597 
12598 /^(?(?=a)aa|bb)/C
12599     bb
12600 --->bb
12601  +0 ^      ^
12602  +1 ^      (?(?=a)aa|bb)
12603  +3 ^      (?=a)
12604  +6 ^      a
12605 +11 ^      b
12606 +12 ^^     b
12607 +13 ^ ^    )
12608 +14 ^ ^    
12609  0: bb
12610 
12611 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
12612     bb
12613 --->bb
12614   1 ^      ^
12615   2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
12616  99 ^      (?=(?C3)a(?C4))
12617   3 ^      a
12618   8 ^      b
12619   9 ^^     b
12620  10 ^ ^    )
12621  11 ^ ^    
12622  0: bb
12623 
12624 /-- Perl seems to have a bug with this one --/
12625 
12626 /aaaaa(*COMMIT)(*PRUNE)b|a+c/
12627     aaaaaac
12628  0: aaaac
12629     
12630 /-- Here are some that Perl treats differently because of the way it handles
12631 backtracking verbs. --/
12632 
12633  /(?!a(*COMMIT)b)ac|ad/
12634      ac
12635  0: ac
12636      ad 
12637  0: ad
12638 
12639 /^(?!a(*THEN)b|ac)../
12640      ac
12641 No match
12642      ad 
12643  0: ad
12644 
12645 /^(?=a(*THEN)b|ac)/
12646     ac
12647  0: 
12648     
12649 /\A.*?(?:a|b(*THEN)c)/
12650     ba
12651  0: ba
12652 
12653 /\A.*?(?:a|b(*THEN)c)++/
12654     ba
12655  0: ba
12656 
12657 /\A.*?(?:a|b(*THEN)c|d)/
12658     ba
12659  0: ba
12660 
12661 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
12662     aac 
12663  0: aac
12664 
12665 /\A.*?(a|b(*THEN)c)/
12666     ba
12667  0: ba
12668  1: a
12669 
12670 /^(A(*THEN)B|A(*THEN)D)/
12671     AD           
12672  0: AD
12673  1: AD
12674     
12675 /(?!b(*THEN)a)bn|bnn/
12676     bnn
12677  0: bn
12678 
12679 /(?(?=b(*SKIP)a)bn|bnn)/
12680     bnn
12681 No match
12682 
12683 /(?=b(*THEN)a|)bn|bnn/
12684     bnn
12685  0: bn
12686 
12687 /-------------------------/ 
12688 
12689 /(*LIMIT_MATCH=12bc)abc/
12690 Failed: (*VERB) not recognized or malformed at offset 7
12691 
12692 /(*LIMIT_MATCH=4294967290)abc/
12693 Failed: (*VERB) not recognized or malformed at offset 7
12694 
12695 /(*LIMIT_RECURSION=4294967280)abc/I
12696 Capturing subpattern count = 0
12697 Recursion limit = 4294967280
12698 No options
12699 First char = 'a'
12700 Need char = 'c'
12701 
12702 /(a+)*zz/
12703     aaaaaaaaaaaaaz
12704 No match
12705     aaaaaaaaaaaaaz\q3000
12706 Error -8 (match limit exceeded)
12707 
12708 /(a+)*zz/S-
12709     aaaaaaaaaaaaaz\Q10 
12710 Error -21 (recursion limit exceeded)
12711 
12712 /(*LIMIT_MATCH=3000)(a+)*zz/I
12713 Capturing subpattern count = 1
12714 Match limit = 3000
12715 No options
12716 No first char
12717 Need char = 'z'
12718     aaaaaaaaaaaaaz
12719 Error -8 (match limit exceeded)
12720     aaaaaaaaaaaaaz\q60000
12721 Error -8 (match limit exceeded)
12722 
12723 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
12724 Capturing subpattern count = 1
12725 Match limit = 3000
12726 No options
12727 No first char
12728 Need char = 'z'
12729     aaaaaaaaaaaaaz
12730 Error -8 (match limit exceeded)
12731 
12732 /(*LIMIT_MATCH=60000)(a+)*zz/I
12733 Capturing subpattern count = 1
12734 Match limit = 60000
12735 No options
12736 No first char
12737 Need char = 'z'
12738     aaaaaaaaaaaaaz
12739 No match
12740     aaaaaaaaaaaaaz\q3000
12741 Error -8 (match limit exceeded)
12742 
12743 /(*LIMIT_RECURSION=10)(a+)*zz/IS-
12744 Capturing subpattern count = 1
12745 Recursion limit = 10
12746 No options
12747 No first char
12748 Need char = 'z'
12749 Subject length lower bound = 2
12750 Starting chars: a z 
12751     aaaaaaaaaaaaaz
12752 Error -21 (recursion limit exceeded)
12753     aaaaaaaaaaaaaz\Q1000
12754 Error -21 (recursion limit exceeded)
12755 
12756 /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12757 Capturing subpattern count = 1
12758 Recursion limit = 10
12759 No options
12760 No first char
12761 Need char = 'z'
12762 Subject length lower bound = 2
12763 Starting chars: a z 
12764     aaaaaaaaaaaaaz
12765 Error -21 (recursion limit exceeded)
12766 
12767 /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12768 Capturing subpattern count = 1
12769 Recursion limit = 1000
12770 No options
12771 No first char
12772 Need char = 'z'
12773 Subject length lower bound = 2
12774 Starting chars: a z 
12775     aaaaaaaaaaaaaz
12776 No match
12777     aaaaaaaaaaaaaz\Q10
12778 Error -21 (recursion limit exceeded)
12779 
12780 /-- This test causes a segfault with Perl 5.18.0 --/
12781 
12782 /^(?=(a)){0}b(?1)/
12783     backgammon
12784  0: ba
12785 
12786 /(?|(?<n>f)|(?<n>b))/JI
12787 Capturing subpattern count = 1
12788 Named capturing subpatterns:
12789   n   1
12790 Options: dupnames
12791 No first char
12792 No need char
12793 
12794 /(?<a>abc)(?<a>z)\k<a>()/JDZS
12795 ------------------------------------------------------------------
12796         Bra
12797         CBra 1
12798         abc
12799         Ket
12800         CBra 2
12801         z
12802         Ket
12803         \k<a>2
12804         CBra 3
12805         Ket
12806         Ket
12807         End
12808 ------------------------------------------------------------------
12809 Capturing subpattern count = 3
12810 Max back reference = 2
12811 Named capturing subpatterns:
12812   a   1
12813   a   2
12814 Options: dupnames
12815 First char = 'a'
12816 Need char = 'z'
12817 Subject length lower bound = 5
12818 No starting char list
12819 
12820 /a*[bcd]/BZ
12821 ------------------------------------------------------------------
12822         Bra
12823         a*+
12824         [b-d]
12825         Ket
12826         End
12827 ------------------------------------------------------------------
12828 
12829 /[bcd]*a/BZ
12830 ------------------------------------------------------------------
12831         Bra
12832         [b-d]*+
12833         a
12834         Ket
12835         End
12836 ------------------------------------------------------------------
12837 
12838 /-- A complete set of tests for auto-possessification of character types --/
12839 
12840 /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx
12841 ------------------------------------------------------------------
12842         Bra
12843         \D+
12844         \D
12845         \D++
12846         \d
12847         \D+
12848         \S
12849         \D+
12850         \s
12851         \D+
12852         \W
12853         \D+
12854         \w
12855         \D+
12856         Any
12857         \D+
12858         AllAny
12859         \D+
12860         \R
12861         \D+
12862         \H
12863         \D+
12864         \h
12865         \D+
12866         \V
12867         \D+
12868         \v
12869         \D+
12870         \Z
12871         \D++
12872         \z
12873         \D+
12874         $
12875         Ket
12876         End
12877 ------------------------------------------------------------------
12878 
12879 /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx
12880 ------------------------------------------------------------------
12881         Bra
12882         \d++
12883         \D
12884         \d+
12885         \d
12886         \d+
12887         \S
12888         \d++
12889         \s
12890         \d++
12891         \W
12892         \d+
12893         \w
12894         \d+
12895         Any
12896         \d+
12897         AllAny
12898         \d++
12899         \R
12900         \d+
12901         \H
12902         \d++
12903         \h
12904         \d+
12905         \V
12906         \d++
12907         \v
12908         \d++
12909         \Z
12910         \d++
12911         \z
12912         \d++
12913         $
12914         Ket
12915         End
12916 ------------------------------------------------------------------
12917 
12918 /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx
12919 ------------------------------------------------------------------
12920         Bra
12921         \S+
12922         \D
12923         \S+
12924         \d
12925         \S+
12926         \S
12927         \S++
12928         \s
12929         \S+
12930         \W
12931         \S+
12932         \w
12933         \S+
12934         Any
12935         \S+
12936         AllAny
12937         \S++
12938         \R
12939         \S+
12940         \H
12941         \S++
12942         \h
12943         \S+
12944         \V
12945         \S++
12946         \v
12947         \S++
12948         \Z
12949         \S++
12950         \z
12951         \S++
12952         $
12953         Ket
12954         End
12955 ------------------------------------------------------------------
12956 
12957 /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx
12958 ------------------------------------------------------------------
12959         Bra
12960         \s+
12961         \D
12962         \s++
12963         \d
12964         \s++
12965         \S
12966         \s+
12967         \s
12968         \s+
12969         \W
12970         \s++
12971         \w
12972         \s+
12973         Any
12974         \s+
12975         AllAny
12976         \s+
12977         \R
12978         \s+
12979         \H
12980         \s+
12981         \h
12982         \s+
12983         \V
12984         \s+
12985         \v
12986         \s+
12987         \Z
12988         \s++
12989         \z
12990         \s+
12991         $
12992         Ket
12993         End
12994 ------------------------------------------------------------------
12995 
12996 /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx
12997 ------------------------------------------------------------------
12998         Bra
12999         \W+
13000         \D
13001         \W++
13002         \d
13003         \W+
13004         \S
13005         \W+
13006         \s
13007         \W+
13008         \W
13009         \W++
13010         \w
13011         \W+
13012         Any
13013         \W+
13014         AllAny
13015         \W+
13016         \R
13017         \W+
13018         \H
13019         \W+
13020         \h
13021         \W+
13022         \V
13023         \W+
13024         \v
13025         \W+
13026         \Z
13027         \W++
13028         \z
13029         \W+
13030         $
13031         Ket
13032         End
13033 ------------------------------------------------------------------
13034 
13035 /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx
13036 ------------------------------------------------------------------
13037         Bra
13038         \w+
13039         \D
13040         \w+
13041         \d
13042         \w+
13043         \S
13044         \w++
13045         \s
13046         \w++
13047         \W
13048         \w+
13049         \w
13050         \w+
13051         Any
13052         \w+
13053         AllAny
13054         \w++
13055         \R
13056         \w+
13057         \H
13058         \w++
13059         \h
13060         \w+
13061         \V
13062         \w++
13063         \v
13064         \w++
13065         \Z
13066         \w++
13067         \z
13068         \w++
13069         $
13070         Ket
13071         End
13072 ------------------------------------------------------------------
13073 
13074 /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx
13075 ------------------------------------------------------------------
13076         Bra
13077         AllAny+
13078         \D
13079         AllAny+
13080         \d
13081         AllAny+
13082         \S
13083         AllAny+
13084         \s
13085         AllAny+
13086         \W
13087         AllAny+
13088         \w
13089         AllAny+
13090         Any
13091         AllAny+
13092         AllAny
13093         AllAny+
13094         \R
13095         AllAny+
13096         \H
13097         AllAny+
13098         \h
13099         AllAny+
13100         \V
13101         AllAny+
13102         \v
13103         AllAny+
13104         \Z
13105         AllAny++
13106         \z
13107         AllAny+
13108         $
13109         Ket
13110         End
13111 ------------------------------------------------------------------
13112 
13113 /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx
13114 ------------------------------------------------------------------
13115         Bra
13116         \R+
13117         \D
13118         \R++
13119         \d
13120         \R+
13121         \S
13122         \R++
13123         \s
13124         \R+
13125         \W
13126         \R++
13127         \w
13128         \R++
13129         Any
13130         \R+
13131         AllAny
13132         \R+
13133         \R
13134         \R+
13135         \H
13136         \R++
13137         \h
13138         \R+
13139         \V
13140         \R+
13141         \v
13142         \R+
13143         \Z
13144         \R++
13145         \z
13146         \R+
13147         $
13148         Ket
13149         End
13150 ------------------------------------------------------------------
13151 
13152 /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx
13153 ------------------------------------------------------------------
13154         Bra
13155         \H+
13156         \D
13157         \H+
13158         \d
13159         \H+
13160         \S
13161         \H+
13162         \s
13163         \H+
13164         \W
13165         \H+
13166         \w
13167         \H+
13168         Any
13169         \H+
13170         AllAny
13171         \H+
13172         \R
13173         \H+
13174         \H
13175         \H++
13176         \h
13177         \H+
13178         \V
13179         \H+
13180         \v
13181         \H+
13182         \Z
13183         \H++
13184         \z
13185         \H+
13186         $
13187         Ket
13188         End
13189 ------------------------------------------------------------------
13190 
13191 /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx
13192 ------------------------------------------------------------------
13193         Bra
13194         \h+
13195         \D
13196         \h++
13197         \d
13198         \h++
13199         \S
13200         \h+
13201         \s
13202         \h+
13203         \W
13204         \h++
13205         \w
13206         \h+
13207         Any
13208         \h+
13209         AllAny
13210         \h++
13211         \R
13212         \h++
13213         \H
13214         \h+
13215         \h
13216         \h+
13217         \V
13218         \h++
13219         \v
13220         \h+
13221         \Z
13222         \h++
13223         \z
13224         \h+
13225         $
13226         Ket
13227         End
13228 ------------------------------------------------------------------
13229 
13230 /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx
13231 ------------------------------------------------------------------
13232         Bra
13233         \V+
13234         \D
13235         \V+
13236         \d
13237         \V+
13238         \S
13239         \V+
13240         \s
13241         \V+
13242         \W
13243         \V+
13244         \w
13245         \V+
13246         Any
13247         \V+
13248         AllAny
13249         \V++
13250         \R
13251         \V+
13252         \H
13253         \V+
13254         \h
13255         \V+
13256         \V
13257         \V++
13258         \v
13259         \V+
13260         \Z
13261         \V++
13262         \z
13263         \V+
13264         $
13265         Ket
13266         End
13267 ------------------------------------------------------------------
13268 
13269 /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx
13270 ------------------------------------------------------------------
13271         Bra
13272         \v+
13273         \D
13274         \v++
13275         \d
13276         \v++
13277         \S
13278         \v+
13279         \s
13280         \v+
13281         \W
13282         \v++
13283         \w
13284         \v+
13285         Any
13286         \v+
13287         AllAny
13288         \v+
13289         \R
13290         \v+
13291         \H
13292         \v++
13293         \h
13294         \v++
13295         \V
13296         \v+
13297         \v
13298         \v+
13299         \Z
13300         \v++
13301         \z
13302         \v+
13303         $
13304         Ket
13305         End
13306 ------------------------------------------------------------------
13307 
13308 / a+\D  a+\d  a+\S  a+\s  a+\W  a+\w  a+.  a+\C  a+\R  a+\H  a+\h  a+\V  a+\v  a+\Z  a+\z  a+$/BZx
13309 ------------------------------------------------------------------
13310         Bra
13311         a+
13312         \D
13313         a++
13314         \d
13315         a+
13316         \S
13317         a++
13318         \s
13319         a++
13320         \W
13321         a+
13322         \w
13323         a+
13324         Any
13325         a+
13326         AllAny
13327         a++
13328         \R
13329         a+
13330         \H
13331         a++
13332         \h
13333         a+
13334         \V
13335         a++
13336         \v
13337         a++
13338         \Z
13339         a++
13340         \z
13341         a++
13342         $
13343         Ket
13344         End
13345 ------------------------------------------------------------------
13346 
13347 /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx
13348 ------------------------------------------------------------------
13349         Bra
13350         \x0a+
13351         \D
13352         \x0a++
13353         \d
13354         \x0a++
13355         \S
13356         \x0a+
13357         \s
13358         \x0a+
13359         \W
13360         \x0a++
13361         \w
13362         \x0a+
13363         Any
13364         \x0a+
13365         AllAny
13366         \x0a+
13367         \R
13368         \x0a+
13369         \H
13370         \x0a++
13371         \h
13372         \x0a++
13373         \V
13374         \x0a+
13375         \v
13376         \x0a+
13377         \Z
13378         \x0a++
13379         \z
13380         \x0a+
13381         $
13382         Ket
13383         End
13384 ------------------------------------------------------------------
13385 
13386 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZx
13387 ------------------------------------------------------------------
13388         Bra
13389         Any+
13390         \D
13391         Any+
13392         \d
13393         Any+
13394         \S
13395         Any+
13396         \s
13397         Any+
13398         \W
13399         Any+
13400         \w
13401         Any+
13402         Any
13403         Any+
13404         AllAny
13405         Any++
13406         \R
13407         Any+
13408         \H
13409         Any+
13410         \h
13411         Any+
13412         \V
13413         Any+
13414         \v
13415         Any+
13416         \Z
13417         Any++
13418         \z
13419         Any+
13420         $
13421         Ket
13422         End
13423 ------------------------------------------------------------------
13424 
13425 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZxs
13426 ------------------------------------------------------------------
13427         Bra
13428         AllAny+
13429         \D
13430         AllAny+
13431         \d
13432         AllAny+
13433         \S
13434         AllAny+
13435         \s
13436         AllAny+
13437         \W
13438         AllAny+
13439         \w
13440         AllAny+
13441         AllAny
13442         AllAny+
13443         AllAny
13444         AllAny+
13445         \R
13446         AllAny+
13447         \H
13448         AllAny+
13449         \h
13450         AllAny+
13451         \V
13452         AllAny+
13453         \v
13454         AllAny+
13455         \Z
13456         AllAny++
13457         \z
13458         AllAny+
13459         $
13460         Ket
13461         End
13462 ------------------------------------------------------------------
13463 
13464 /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$   a+$  \n+$   .+$  .+$/BZxm
13465 ------------------------------------------------------------------
13466         Bra
13467         \D+
13468      /m $
13469         \d++
13470      /m $
13471         \S++
13472      /m $
13473         \s+
13474      /m $
13475         \W+
13476      /m $
13477         \w++
13478      /m $
13479         AllAny+
13480      /m $
13481         \R+
13482      /m $
13483         \H+
13484      /m $
13485         \h+
13486      /m $
13487         \V+
13488      /m $
13489         \v+
13490      /m $
13491         a+
13492      /m $
13493         \x0a+
13494      /m $
13495         Any+
13496      /m $
13497         Any+
13498      /m $
13499         Ket
13500         End
13501 ------------------------------------------------------------------
13502 
13503 /(?=a+)a(a+)++a/BZ
13504 ------------------------------------------------------------------
13505         Bra
13506         Assert
13507         a++
13508         Ket
13509         a
13510         CBraPos 1
13511         a++
13512         KetRpos
13513         a
13514         Ket
13515         End
13516 ------------------------------------------------------------------
13517 
13518 /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
13519 ------------------------------------------------------------------
13520         Bra
13521         a++
13522         CBra 1
13523         bb
13524         Alt
13525         cc
13526         Ket
13527         a++
13528         Bra
13529         bb
13530         Alt
13531         cc
13532         Ket
13533         a++
13534         Once_NC
13535         bb
13536         Alt
13537         cc
13538         Ket
13539         a++
13540         Bra
13541         bb
13542         Alt
13543         cc
13544         KetRmax
13545         a+
13546         CBra 2
13547         aa
13548         Ket
13549         a+
13550         Bra
13551         bb
13552         Alt
13553         aa
13554         Ket
13555         Ket
13556         End
13557 ------------------------------------------------------------------
13558 
13559 /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
13560 ------------------------------------------------------------------
13561         Bra
13562         a++
13563         Brazero
13564         CBra 1
13565         bb
13566         Alt
13567         cc
13568         Ket
13569         #
13570         a++
13571         Braminzero
13572         Bra
13573         bb
13574         Alt
13575         cc
13576         Ket
13577         #
13578         a++
13579         Once
13580         Brazero
13581         Bra
13582         bb
13583         Alt
13584         cc
13585         Ket
13586         Ket
13587         #
13588         a++
13589         Brazero
13590         Bra
13591         bb
13592         Alt
13593         cc
13594         KetRmax
13595         #
13596         a+
13597         Brazero
13598         CBra 2
13599         bb
13600         Alt
13601         cc
13602         Ket
13603         a#
13604         a+
13605         Brazero
13606         Bra
13607         aa
13608         Ket
13609         Ket
13610         End
13611 ------------------------------------------------------------------
13612 
13613 /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
13614 ------------------------------------------------------------------
13615         Bra
13616         a+
13617         Brazero
13618         Bra
13619         bb
13620         Ket
13621         a#
13622         a++
13623         Bra
13624         Alt
13625         Alt
13626         Alt
13627         Ket
13628         #
13629         a+
13630         Bra
13631         Alt
13632         b
13633         Ket
13634         a#
13635         a+
13636         Brazero
13637         Bra
13638         Alt
13639         Alt
13640         Alt
13641         Ket
13642         a
13643         Ket
13644         End
13645 ------------------------------------------------------------------
13646 
13647 /[ab]*/BZ
13648 ------------------------------------------------------------------
13649         Bra
13650         [ab]*+
13651         Ket
13652         End
13653 ------------------------------------------------------------------
13654     aaaa
13655  0: aaaa
13656 
13657 /[ab]*?/BZ
13658 ------------------------------------------------------------------
13659         Bra
13660         [ab]*?
13661         Ket
13662         End
13663 ------------------------------------------------------------------
13664     aaaa
13665  0: 
13666 
13667 /[ab]?/BZ
13668 ------------------------------------------------------------------
13669         Bra
13670         [ab]?+
13671         Ket
13672         End
13673 ------------------------------------------------------------------
13674     aaaa
13675  0: a
13676 
13677 /[ab]??/BZ
13678 ------------------------------------------------------------------
13679         Bra
13680         [ab]??
13681         Ket
13682         End
13683 ------------------------------------------------------------------
13684     aaaa
13685  0: 
13686 
13687 /[ab]+/BZ
13688 ------------------------------------------------------------------
13689         Bra
13690         [ab]++
13691         Ket
13692         End
13693 ------------------------------------------------------------------
13694     aaaa
13695  0: aaaa
13696 
13697 /[ab]+?/BZ
13698 ------------------------------------------------------------------
13699         Bra
13700         [ab]+?
13701         Ket
13702         End
13703 ------------------------------------------------------------------
13704     aaaa
13705  0: a
13706 
13707 /[ab]{2,3}/BZ
13708 ------------------------------------------------------------------
13709         Bra
13710         [ab]{2,3}+
13711         Ket
13712         End
13713 ------------------------------------------------------------------
13714     aaaa
13715  0: aaa
13716 
13717 /[ab]{2,3}?/BZ
13718 ------------------------------------------------------------------
13719         Bra
13720         [ab]{2,3}?
13721         Ket
13722         End
13723 ------------------------------------------------------------------
13724     aaaa
13725  0: aa
13726 
13727 /[ab]{2,}/BZ
13728 ------------------------------------------------------------------
13729         Bra
13730         [ab]{2,}+
13731         Ket
13732         End
13733 ------------------------------------------------------------------
13734     aaaa
13735  0: aaaa
13736 
13737 /[ab]{2,}?/BZ
13738 ------------------------------------------------------------------
13739         Bra
13740         [ab]{2,}?
13741         Ket
13742         End
13743 ------------------------------------------------------------------
13744     aaaa
13745  0: aa
13746 
13747 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
13748 ------------------------------------------------------------------
13749         Bra
13750         \d++
13751         \s{0,5}+
13752         =
13753         \s*+
13754         \S?
13755         =
13756         \w{0,4}+
13757         \W*+
13758         Ket
13759         End
13760 ------------------------------------------------------------------
13761 
13762 /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
13763 ------------------------------------------------------------------
13764         Bra
13765         [a-d]{5,12}+
13766         [0-9e-z]*+
13767         #
13768         [\x00-`{-\xff] (neg)++
13769         [b-y]*+
13770         a
13771         [2-7]?+
13772         [\x00-/:-`{-\xff] (neg)++
13773         Ket
13774         End
13775 ------------------------------------------------------------------
13776 
13777 /[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ
13778 ------------------------------------------------------------------
13779         Bra
13780         [a-z]*+
13781         \s
13782         #
13783         [\x09 ]?+
13784         \S
13785         #
13786         [a-c]*
13787         \S
13788         #
13789         [C-G]++
13790         \d
13791         #
13792         [4-8]*+
13793         \D
13794         #
13795         [,4-9]*
13796         \D
13797         #
13798         [!$]{0,5}+
13799         \w
13800         #
13801         [M-Xf-l]++
13802         \W
13803         #
13804         [,a-c]?
13805         \W
13806         Ket
13807         End
13808 ------------------------------------------------------------------
13809 
13810 /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
13811 ------------------------------------------------------------------
13812         Bra
13813         a+
13814         Brazero
13815         CBra 1
13816         aa
13817         Alt
13818         bb
13819         KetRmax
13820         c#
13821         a*
13822         Brazero
13823         CBra 2
13824         bb
13825         Alt
13826         cc
13827         KetRmax
13828         a#
13829         a?+
13830         Brazero
13831         CBra 3
13832         bb
13833         Alt
13834         cc
13835         KetRmax
13836         d#
13837         [a-f]*
13838         Brazero
13839         CBra 4
13840         g
13841         Alt
13842         hh
13843         KetRmax
13844         f
13845         Ket
13846         End
13847 ------------------------------------------------------------------
13848 
13849 /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
13850 ------------------------------------------------------------------
13851         Bra
13852         [a-f]*+
13853         Brazero
13854         CBra 1
13855         g
13856         Alt
13857         hh
13858         Alt
13859         i
13860         KetRmax
13861         i#
13862         [a-x]{4,}
13863         Brazero
13864         SCBra 2
13865         y{0,6}
13866         KetRmax
13867         y#
13868         [a-k]++
13869         CBra 3
13870         ll
13871         Alt
13872         mm
13873         KetRmax
13874         n
13875         Ket
13876         End
13877 ------------------------------------------------------------------
13878 
13879 /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
13880 ------------------------------------------------------------------
13881         Bra
13882         [a-f]*+
13883         Once_NC
13884         gg
13885         Alt
13886         hh
13887         KetRmax
13888         #
13889         [a-f]*+
13890         Brazero
13891         Once_NC
13892         gg
13893         Alt
13894         hh
13895         Ket
13896         #
13897         [a-f]*
13898         Brazero
13899         Once_NC
13900         gg
13901         Alt
13902         hh
13903         KetRmax
13904         a#
13905         [a-f]*+
13906         Brazero
13907         Once_NC
13908         gg
13909         Alt
13910         hh
13911         KetRmax
13912         h
13913         Ket
13914         End
13915 ------------------------------------------------------------------
13916 
13917 /[a-c]*d/DZS
13918 ------------------------------------------------------------------
13919         Bra
13920         [a-c]*+
13921         d
13922         Ket
13923         End
13924 ------------------------------------------------------------------
13925 Capturing subpattern count = 0
13926 No options
13927 No first char
13928 Need char = 'd'
13929 Subject length lower bound = 1
13930 Starting chars: a b c d 
13931 
13932 /[a-c]+d/DZS
13933 ------------------------------------------------------------------
13934         Bra
13935         [a-c]++
13936         d
13937         Ket
13938         End
13939 ------------------------------------------------------------------
13940 Capturing subpattern count = 0
13941 No options
13942 No first char
13943 Need char = 'd'
13944 Subject length lower bound = 2
13945 Starting chars: a b c 
13946 
13947 /[a-c]?d/DZS
13948 ------------------------------------------------------------------
13949         Bra
13950         [a-c]?+
13951         d
13952         Ket
13953         End
13954 ------------------------------------------------------------------
13955 Capturing subpattern count = 0
13956 No options
13957 No first char
13958 Need char = 'd'
13959 Subject length lower bound = 1
13960 Starting chars: a b c d 
13961 
13962 /[a-c]{4,6}d/DZS
13963 ------------------------------------------------------------------
13964         Bra
13965         [a-c]{4,6}+
13966         d
13967         Ket
13968         End
13969 ------------------------------------------------------------------
13970 Capturing subpattern count = 0
13971 No options
13972 No first char
13973 Need char = 'd'
13974 Subject length lower bound = 5
13975 Starting chars: a b c 
13976 
13977 /[a-c]{0,6}d/DZS
13978 ------------------------------------------------------------------
13979         Bra
13980         [a-c]{0,6}+
13981         d
13982         Ket
13983         End
13984 ------------------------------------------------------------------
13985 Capturing subpattern count = 0
13986 No options
13987 No first char
13988 Need char = 'd'
13989 Subject length lower bound = 1
13990 Starting chars: a b c d 
13991 
13992 /-- End of special auto-possessive tests --/
13993 
13994 /^A\o{1239}B/
13995 Failed: non-octal character in \o{} (closing brace missing?) at offset 8
13996 
13997 /^A\oB/
13998 Failed: missing opening brace after \o at offset 3
13999 
14000 /^A\x{zz}B/ 
14001 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
14002 
14003 /^A\x{12Z/
14004 Failed: non-hex character in \x{} (closing brace missing?) at offset 7
14005 
14006 /^A\x{/
14007 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
14008 
14009 /[ab]++/BZO
14010 ------------------------------------------------------------------
14011         Bra
14012         [ab]++
14013         Ket
14014         End
14015 ------------------------------------------------------------------
14016 
14017 /[^ab]*+/BZO
14018 ------------------------------------------------------------------
14019         Bra
14020         [\x00-`c-\xff] (neg)*+
14021         Ket
14022         End
14023 ------------------------------------------------------------------
14024 
14025 /a{4}+/BZO
14026 ------------------------------------------------------------------
14027         Bra
14028         a{4}
14029         Ket
14030         End
14031 ------------------------------------------------------------------
14032 
14033 /a{4}+/BZOi
14034 ------------------------------------------------------------------
14035         Bra
14036      /i a{4}
14037         Ket
14038         End
14039 ------------------------------------------------------------------
14040 
14041 /[a-[:digit:]]+/
14042 Failed: invalid range in character class at offset 3
14043 
14044 /[A-[:digit:]]+/
14045 Failed: invalid range in character class at offset 3
14046 
14047 /[a-[.xxx.]]+/
14048 Failed: invalid range in character class at offset 3
14049 
14050 /[a-[=xxx=]]+/
14051 Failed: invalid range in character class at offset 3
14052 
14053 /[a-[!xxx!]]+/
14054 Failed: range out of order in character class at offset 3
14055 
14056 /[A-[!xxx!]]+/
14057     A]]]
14058  0: A]]]
14059 
14060 /[a-\d]+/
14061 Failed: invalid range in character class at offset 4
14062 
14063 /(?<0abc>xx)/
14064 Failed: group name must start with a non-digit at offset 3
14065 
14066 /(?&1abc)xx(?<1abc>y)/
14067 Failed: group name must start with a non-digit at offset 3
14068 
14069 /(?<ab-cd>xx)/
14070 Failed: syntax error in subpattern name (missing terminator) at offset 5
14071 
14072 /(?'0abc'xx)/
14073 Failed: group name must start with a non-digit at offset 3
14074 
14075 /(?P<0abc>xx)/
14076 Failed: group name must start with a non-digit at offset 4
14077 
14078 /\k<5ghj>/
14079 Failed: group name must start with a non-digit at offset 3
14080 
14081 /\k'5ghj'/
14082 Failed: group name must start with a non-digit at offset 3
14083 
14084 /\k{2fgh}/
14085 Failed: group name must start with a non-digit at offset 3
14086 
14087 /(?P=8yuki)/
14088 Failed: group name must start with a non-digit at offset 4
14089 
14090 /\g{4df}/
14091 Failed: group name must start with a non-digit at offset 3
14092 
14093 /(?&1abc)xx(?<1abc>y)/
14094 Failed: group name must start with a non-digit at offset 3
14095 
14096 /(?P>1abc)xx(?<1abc>y)/
14097 Failed: group name must start with a non-digit at offset 4
14098 
14099 /\g'3gh'/
14100 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2
14101 
14102 /\g<5fg>/
14103 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2
14104 
14105 /(?(<4gh>)abc)/
14106 Failed: group name must start with a non-digit at offset 4
14107 
14108 /(?('4gh')abc)/
14109 Failed: group name must start with a non-digit at offset 4
14110 
14111 /(?(4gh)abc)/
14112 Failed: malformed number or name after (?( at offset 4
14113 
14114 /(?(R&6yh)abc)/
14115 Failed: group name must start with a non-digit at offset 5
14116 
14117 /(((a\2)|(a*)\g<-1>))*a?/BZ
14118 ------------------------------------------------------------------
14119         Bra
14120         Brazero
14121         SCBra 1
14122         Once
14123         CBra 2
14124         CBra 3
14125         a
14126         \2
14127         Ket
14128         Alt
14129         CBra 4
14130         a*
14131         Ket
14132         Recurse
14133         Ket
14134         Ket
14135         KetRmax
14136         a?+
14137         Ket
14138         End
14139 ------------------------------------------------------------------
14140 
14141 /-- Test the ugly "start or end of word" compatibility syntax --/
14142 
14143 /[[:<:]]red[[:>:]]/BZ
14144 ------------------------------------------------------------------
14145         Bra
14146         \b
14147         Assert
14148         \w
14149         Ket
14150         red
14151         \b
14152         AssertB
14153         Reverse
14154         \w
14155         Ket
14156         Ket
14157         End
14158 ------------------------------------------------------------------
14159     little red riding hood
14160  0: red
14161     a /red/ thing 
14162  0: red
14163     red is a colour
14164  0: red
14165     put it all on red  
14166  0: red
14167     ** Failers
14168 No match
14169     no reduction
14170 No match
14171     Alfred Winifred
14172 No match
14173     
14174 /[a[:<:]] should give error/ 
14175 Failed: unknown POSIX class name at offset 4
14176 
14177 /(?=ab\K)/+
14178     abcd
14179 Start of matched string is beyond its end - displaying from end to start.
14180  0: ab
14181  0+ abcd
14182 
14183 /abcd/f<lf>
14184     xx\nxabcd
14185 No match
14186     
14187 / -- Test stack check external calls --/ 
14188 
14189 /(((((a)))))/Q0
14190 
14191 /(((((a)))))/Q1
14192 Failed: parentheses are too deeply nested (stack check) at offset 0
14193 
14194 /(((((a)))))/Q
14195 ** Missing 0 or 1 after /Q
14196 
14197 /^\w+(?>\s*)(?<=\w)/BZ
14198 ------------------------------------------------------------------
14199         Bra
14200         ^
14201         \w+
14202         Once_NC
14203         \s*+
14204         Ket
14205         AssertB
14206         Reverse
14207         \w
14208         Ket
14209         Ket
14210         End
14211 ------------------------------------------------------------------
14212 
14213 /\othing/
14214 Failed: missing opening brace after \o at offset 1
14215 
14216 /\o{}/
14217 Failed: digits missing in \x{} or \o{} at offset 1
14218 
14219 /\o{whatever}/
14220 Failed: non-octal character in \o{} (closing brace missing?) at offset 3
14221 
14222 /\xthing/
14223 
14224 /\x{}/
14225 Failed: digits missing in \x{} or \o{} at offset 3
14226 
14227 /\x{whatever}/
14228 Failed: non-hex character in \x{} (closing brace missing?) at offset 3
14229 
14230 "((?=(?(?=(?(?=(?(?=()))))))))"
14231     a
14232  0: 
14233  1: 
14234  2: 
14235 
14236 "(?(?=)==)(((((((((?=)))))))))"
14237     a
14238 No match
14239 
14240 /^(?:(a)|b)(?(1)A|B)/I
14241 Capturing subpattern count = 1
14242 Max back reference = 1
14243 Options: anchored
14244 No first char
14245 No need char
14246     aA123\O3
14247 Matched, but too many substrings
14248  0: aA
14249     aA123\O6
14250  0: aA
14251  1: a
14252 
14253 '^(?:(?<AA>a)|b)(?(<AA>)A|B)'
14254     aA123\O3
14255 Matched, but too many substrings
14256  0: aA
14257     aA123\O6
14258  0: aA
14259  1: a
14260 
14261 '^(?<AA>)(?:(?<AA>a)|b)(?(<AA>)A|B)'J
14262     aA123\O3
14263 Matched, but too many substrings
14264  0: aA
14265     aA123\O6
14266 Matched, but too many substrings
14267  0: aA
14268  1: 
14269 
14270 '^(?:(?<AA>X)|)(?:(?<AA>a)|b)\k{AA}'J
14271     aa123\O3
14272 Matched, but too many substrings
14273  0: aa
14274     aa123\O6
14275 Matched, but too many substrings
14276  0: aa
14277  1: <unset>
14278 
14279 /(?<N111>(?J)(?<N111>1(111111)11|)1|1|)(?(<N111>)1)/
14280 
14281 /(?(?=0)?)+/
14282 Failed: nothing to repeat at offset 7
14283 
14284 /(?(?=0)(?=00)?00765)/
14285      00765
14286  0: 00765
14287 
14288 /(?(?=0)(?=00)?00765|(?!3).56)/
14289      00765
14290  0: 00765
14291      456
14292  0: 456
14293      ** Failers
14294 No match
14295      356   
14296 No match
14297 
14298 '^(a)*+(\w)'
14299     g
14300  0: g
14301  1: <unset>
14302  2: g
14303     g\O3
14304 Matched, but too many substrings
14305  0: g
14306 
14307 '^(?:a)*+(\w)'
14308     g
14309  0: g
14310  1: g
14311     g\O3
14312 Matched, but too many substrings
14313  0: g
14314 
14315 //C
14316     \O\C+
14317 Callout 255: last capture = -1
14318 --->
14319  +0 ^    
14320 Matched, but too many substrings
14321 
14322 "((?2){0,1999}())?"
14323 
14324 /((?+1)(\1))/BZ
14325 ------------------------------------------------------------------
14326         Bra
14327         Once
14328         CBra 1
14329         Recurse
14330         CBra 2
14331         \1
14332         Ket
14333         Ket
14334         Ket
14335         Ket
14336         End
14337 ------------------------------------------------------------------
14338 
14339 /(?(?!)a|b)/
14340     bbb
14341  0: b
14342     aaa 
14343 No match
14344 
14345 "((?2)+)((?1))"
14346 
14347 "(?(?<E>.*!.*)?)"
14348 Failed: assertion expected after (?( or (?(?C) at offset 3
14349 
14350 "X((?2)()*+){2}+"BZ
14351 ------------------------------------------------------------------
14352         Bra
14353         X
14354         Once
14355         CBra 1
14356         Recurse
14357         Braposzero
14358         SCBraPos 2
14359         KetRpos
14360         Ket
14361         CBra 1
14362         Recurse
14363         Braposzero
14364         SCBraPos 2
14365         KetRpos
14366         Ket
14367         Ket
14368         Ket
14369         End
14370 ------------------------------------------------------------------
14371 
14372 "X((?2)()*+){2}"BZ
14373 ------------------------------------------------------------------
14374         Bra
14375         X
14376         CBra 1
14377         Recurse
14378         Braposzero
14379         SCBraPos 2
14380         KetRpos
14381         Ket
14382         CBra 1
14383         Recurse
14384         Braposzero
14385         SCBraPos 2
14386         KetRpos
14387         Ket
14388         Ket
14389         End
14390 ------------------------------------------------------------------
14391 
14392 "(?<=((?2))((?1)))"
14393 Failed: lookbehind assertion is not fixed length at offset 17
14394 
14395 /(?<=\Ka)/g+
14396     aaaaa
14397  0: a
14398  0+ aaaa
14399  0: a
14400  0+ aaaa
14401  0: a
14402  0+ aaa
14403  0: a
14404  0+ aa
14405  0: a
14406  0+ a
14407  0: a
14408  0+ 
14409 
14410 /(?<=\Ka)/G+
14411     aaaaa
14412  0: a
14413  0+ aaaa
14414  0: a
14415  0+ aaa
14416  0: a
14417  0+ aa
14418  0: a
14419  0+ a
14420  0: a
14421  0+ 
14422 
14423 /((?2){73}(?2))((?1))/
14424 
14425 /.((?2)(?R)\1)()/BZ
14426 ------------------------------------------------------------------
14427         Bra
14428         Any
14429         Once
14430         CBra 1
14431         Recurse
14432         Recurse
14433         \1
14434         Ket
14435         Ket
14436         CBra 2
14437         Ket
14438         Ket
14439         End
14440 ------------------------------------------------------------------
14441 
14442 /(?1)()((((((\1++))\x85)+)|))/
14443 
14444 /(\9*+(?2);\3++()2|)++{/
14445 Failed: reference to non-existent subpattern at offset 22
14446 
14447 /\V\x85\9*+((?2)\3++()2)*:2/
14448 Failed: reference to non-existent subpattern at offset 26
14449 
14450 /(((?(R)){0,2}) (?''((?'R')((?'R')))))/J
14451 
14452 /(((?(X)){0,2}) (?''((?'X')((?'X')))))/J
14453 
14454 /(((?(R)){0,2}) (?''((?'X')((?'R')))))/
14455 
14456 "(?J)(?'d'(?'d'\g{d}))"
14457 
14458 ".*?\h.+.\.+\R*?\xd(?i)(?=!(?=b`b`b`\`b\xa9b!)`\a`bbbbbbbbbbbbb`bbbbbbbbbbbb*R\x85bbbbbbb\C?{((?2)(?))((
14459 \H){8(?<=(?1){29}\xa8bbbb\x16\xd\xc6^($(?<! )(\xa9H4){4}h}1)B))\x15')"
14460 
14461 "(?J:(?|(?'R')(\k'R')|((?'R'))))"
14462 
14463 /(?<=|(\,\$(?73591620449005828816)\xa8.{7}){6}\x09)/
14464 Failed: number is too big at offset 32
14465 
14466 //
14467 \O1
14468 Matched, but too many substrings
14469 
14470 /^(?:(?(1)x|)+)+$()/BZ
14471 ------------------------------------------------------------------
14472         Bra
14473         ^
14474         SBra
14475         SCond
14476       1 Cond ref
14477         x
14478         Alt
14479         KetRmax
14480         KetRmax
14481         $
14482         CBra 1
14483         Ket
14484         Ket
14485         End
14486 ------------------------------------------------------------------
14487 
14488 /(?=di(?<=(?1))|(?=(.))))/
14489 Failed: unmatched parentheses at offset 23
14490 
14491 /(?(R))*+/BZ
14492 ------------------------------------------------------------------
14493         Bra
14494         Braposzero
14495         SBraPos
14496         SCond
14497         Cond recurse any
14498         Ket
14499         KetRpos
14500         Ket
14501         End
14502 ------------------------------------------------------------------
14503 
14504 /[[:\\](?'abc')[a:]/
14505 
14506 "[[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[:::::::::::::::::[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[[[:::E[[[:[:[[:[:::[[:::E[[[:[:[[:'[:::::E[[[:[::::::[[[:[[[[[[[::E[[[:[::::::[[[:[[[[[[[[:[[::[::::[[:::::::[[:[[[[[[[:[[::[:[[:[~"
14507 Failed: missing terminating ] for character class at offset 353
14508 
14509 /()(?(R)0)*+/BZ
14510 ------------------------------------------------------------------
14511         Bra
14512         CBra 1
14513         Ket
14514         Braposzero
14515         SBraPos
14516         SCond
14517         Cond recurse any
14518         0
14519         Ket
14520         KetRpos
14521         Ket
14522         End
14523 ------------------------------------------------------------------
14524 
14525 /(?R-:(?</
14526 Failed: (?R or (?[+-]digits must be followed by ) at offset 3
14527 
14528 /(?1){3918}(((((0(\k'R'))))(?J)(?'R'(?'R'\3){99})))/I
14529 Capturing subpattern count = 8
14530 Max back reference = 8
14531 Named capturing subpatterns:
14532   R   7
14533   R   8
14534 No options
14535 Duplicate name status changes
14536 No first char
14537 Need char = '0'
14538 
14539 /(?J:(?|(:(?|(?'R')(\k'R')|((?'R')))H'Rk'Rf)|s(?'R')))/
14540 
14541 /0(?0)|(1)(*THEN)(*SKIP:0)(*FAIL)/
14542     01
14543 No match
14544 
14545 /((?(R8000000000)))/ 
14546 Failed: number is too big at offset 16
14547 
14548 /(?(8000000000/
14549 Failed: number is too big at offset 13
14550 
14551 /(?:ab)?(?:ab)(?:ab)/
14552     abab
14553  0: abab
14554     ababab
14555  0: ababab
14556     aba
14557 No match
14558 
14559 /((*MARK:A))++a(*SKIP:B)b/
14560     aacb
14561 No match
14562 
14563 /(?J:(?|(:(?|(?'R')(\z(?|(?'R')(\k'R')|((?'R')))k'R')|((?'R')))H'Ak'Rf)|s(?'R')))/
14564 
14565 /(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?<a>1)/
14566 
14567 /a[[:punct:]b]/BZ
14568 ------------------------------------------------------------------
14569         Bra
14570         a
14571         [!-/:-@[-`b{-~]
14572         Ket
14573         End
14574 ------------------------------------------------------------------
14575 
14576 /L(?#(|++<!(2)?/BZ
14577 ------------------------------------------------------------------
14578         Bra
14579         L?+
14580         Ket
14581         End
14582 ------------------------------------------------------------------
14583 
14584 /L(?#(|++<!(2)?/BOZ
14585 ------------------------------------------------------------------
14586         Bra
14587         L?
14588         Ket
14589         End
14590 ------------------------------------------------------------------
14591 
14592 /L(?#(|++<!(2)?/BCZ
14593 ------------------------------------------------------------------
14594         Bra
14595         Callout 255 0 14
14596         L?+
14597         Callout 255 14 0
14598         Ket
14599         End
14600 ------------------------------------------------------------------
14601 
14602 /L(?#(|++<!(2)?/BCOZ
14603 ------------------------------------------------------------------
14604         Bra
14605         Callout 255 0 14
14606         L?
14607         Callout 255 14 0
14608         Ket
14609         End
14610 ------------------------------------------------------------------
14611 
14612 /(A*)\E+/CBZ
14613 ------------------------------------------------------------------
14614         Bra
14615         Callout 255 0 7
14616         SCBra 1
14617         Callout 255 1 2
14618         A*
14619         Callout 255 3 0
14620         KetRmax
14621         Callout 255 7 0
14622         Ket
14623         End
14624 ------------------------------------------------------------------
14625 
14626 /()\Q\E*]/BCZ
14627 ------------------------------------------------------------------
14628         Bra
14629         Callout 255 0 7
14630         Brazero
14631         SCBra 1
14632         Callout 255 1 0
14633         KetRmax
14634         Callout 255 7 1
14635         ]
14636         Callout 255 8 0
14637         Ket
14638         End
14639 ------------------------------------------------------------------
14640 
14641 /(?<A>)(?J:(?<B>)(?<B>))(?<C>)/
14642     \O\CC
14643 Matched, but too many substrings
14644 copy substring C failed -7
14645 
14646 /(?=a\K)/ 
14647     ring bpattingbobnd $ 1,oern cou \rb\L
14648 Start of matched string is beyond its end - displaying from end to start.
14649  0: a
14650  0L 
14651 
14652 /(?<=((?C)0))/
14653     9010
14654 --->9010
14655   0  ^       0
14656   0   ^      0
14657  0: 
14658  1: 0
14659     abcd
14660 --->abcd
14661   0  ^       0
14662   0   ^      0
14663   0    ^     0
14664   0     ^    0
14665 No match
14666      
14667 /((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
14668 
14669 /\N(?(?C)0?!.)*/
14670 Failed: assertion expected after (?( or (?(?C) at offset 4
14671 
14672 /(?<RA>abc)(?(R)xyz)/BZ
14673 ------------------------------------------------------------------
14674         Bra
14675         CBra 1
14676         abc
14677         Ket
14678         Cond
14679         Cond recurse any
14680         xyz
14681         Ket
14682         Ket
14683         End
14684 ------------------------------------------------------------------
14685 
14686 /(?<R>abc)(?(R)xyz)/BZ
14687 ------------------------------------------------------------------
14688         Bra
14689         CBra 1
14690         abc
14691         Ket
14692         Cond
14693       1 Cond ref
14694         xyz
14695         Ket
14696         Ket
14697         End
14698 ------------------------------------------------------------------
14699 
14700 /(?=.*[A-Z])/I
14701 Capturing subpattern count = 0
14702 May match empty string
14703 No options
14704 No first char
14705 No need char
14706 
14707 "(?<=(a))\1?b"
14708     ab
14709  0: b
14710  1: a
14711     aaab 
14712  0: ab
14713  1: a
14714 
14715 "(?=(a))\1?b"
14716     ab
14717  0: ab
14718  1: a
14719     aaab 
14720  0: ab
14721  1: a
14722 
14723 /(?(?=^))b/
14724     abc
14725  0: b
14726 
14727 /-- End of testinput2 --/