"Fossies" - the Fresh Open Source Software Archive

Member "pcre-8.42/testdata/testoutput2" (12 Dec 2017, 292641 Bytes) of package /linux/misc/pcre-8.42.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.41_vs_8.42.

    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 //KF>testsavedregex
 5618 Compiled pattern written to testsavedregex
 5619 Study data written to testsavedregex
 5620 
 5621 /abc/IS>testsavedregex
 5622 Capturing subpattern count = 0
 5623 No options
 5624 First char = 'a'
 5625 Need char = 'c'
 5626 Subject length lower bound = 3
 5627 No starting char list
 5628 Compiled pattern written to testsavedregex
 5629 Study data written to testsavedregex
 5630 <testsavedregex
 5631 Compiled pattern loaded from testsavedregex
 5632 Study data loaded from testsavedregex
 5633     abc
 5634  0: abc
 5635     ** Failers
 5636 No match
 5637     bca
 5638 No match
 5639 
 5640 /abc/ISS>testsavedregex
 5641 Capturing subpattern count = 0
 5642 No options
 5643 First char = 'a'
 5644 Need char = 'c'
 5645 Compiled pattern written to testsavedregex
 5646 <testsavedregex
 5647 Compiled pattern loaded from testsavedregex
 5648 No study data
 5649     abc
 5650  0: abc
 5651     ** Failers
 5652 No match
 5653     bca
 5654 No match
 5655 
 5656 /abc/IFS>testsavedregex
 5657 Capturing subpattern count = 0
 5658 No options
 5659 First char = 'a'
 5660 Need char = 'c'
 5661 Subject length lower bound = 3
 5662 No starting char list
 5663 Compiled pattern written to testsavedregex
 5664 Study data written to testsavedregex
 5665 <testsavedregex
 5666 Compiled pattern (byte-inverted) loaded from testsavedregex
 5667 Study data loaded from testsavedregex
 5668     abc
 5669  0: abc
 5670     ** Failers
 5671 No match
 5672     bca
 5673 No match
 5674 
 5675 /abc/IFSS>testsavedregex
 5676 Capturing subpattern count = 0
 5677 No options
 5678 First char = 'a'
 5679 Need char = 'c'
 5680 Compiled pattern written to testsavedregex
 5681 <testsavedregex
 5682 Compiled pattern (byte-inverted) loaded from testsavedregex
 5683 No study data
 5684     abc
 5685  0: abc
 5686     ** Failers
 5687 No match
 5688     bca
 5689 No match
 5690 
 5691 /(a|b)/IS>testsavedregex
 5692 Capturing subpattern count = 1
 5693 No options
 5694 No first char
 5695 No need char
 5696 Subject length lower bound = 1
 5697 Starting chars: a b 
 5698 Compiled pattern written to testsavedregex
 5699 Study data written to testsavedregex
 5700 <testsavedregex
 5701 Compiled pattern loaded from testsavedregex
 5702 Study data loaded from testsavedregex
 5703     abc
 5704  0: a
 5705  1: a
 5706     ** Failers
 5707  0: a
 5708  1: a
 5709     def
 5710 No match
 5711 
 5712 /(a|b)/ISS>testsavedregex
 5713 Capturing subpattern count = 1
 5714 No options
 5715 No first char
 5716 No need char
 5717 Compiled pattern written to testsavedregex
 5718 <testsavedregex
 5719 Compiled pattern loaded from testsavedregex
 5720 No study data
 5721     abc
 5722  0: a
 5723  1: a
 5724     ** Failers
 5725  0: a
 5726  1: a
 5727     def
 5728 No match
 5729 
 5730 /(a|b)/ISF>testsavedregex
 5731 Capturing subpattern count = 1
 5732 No options
 5733 No first char
 5734 No need char
 5735 Subject length lower bound = 1
 5736 Starting chars: a b 
 5737 Compiled pattern written to testsavedregex
 5738 Study data written to testsavedregex
 5739 <testsavedregex
 5740 Compiled pattern (byte-inverted) loaded from testsavedregex
 5741 Study data loaded from testsavedregex
 5742     abc
 5743  0: a
 5744  1: a
 5745     ** Failers
 5746  0: a
 5747  1: a
 5748     def
 5749 No match
 5750 
 5751 /(a|b)/ISSF>testsavedregex
 5752 Capturing subpattern count = 1
 5753 No options
 5754 No first char
 5755 No need char
 5756 Compiled pattern written to testsavedregex
 5757 <testsavedregex
 5758 Compiled pattern (byte-inverted) loaded from testsavedregex
 5759 No study data
 5760     abc
 5761  0: a
 5762  1: a
 5763     ** Failers
 5764  0: a
 5765  1: a
 5766     def
 5767 No match
 5768 
 5769 ~<(\w+)/?>(.)*</(\1)>~smgI
 5770 Capturing subpattern count = 3
 5771 Max back reference = 1
 5772 Options: multiline dotall
 5773 First char = '<'
 5774 Need char = '>'
 5775     \J1024<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
 5776  0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>
 5777  1: seite
 5778  2: \x0a
 5779  3: seite
 5780 
 5781 /^a/IF
 5782 Capturing subpattern count = 0
 5783 Options: anchored
 5784 No first char
 5785 No need char
 5786 
 5787 /line\nbreak/I
 5788 Capturing subpattern count = 0
 5789 Contains explicit CR or LF match
 5790 No options
 5791 First char = 'l'
 5792 Need char = 'k'
 5793     this is a line\nbreak
 5794  0: line\x0abreak
 5795     line one\nthis is a line\nbreak in the second line
 5796  0: line\x0abreak
 5797 
 5798 /line\nbreak/If
 5799 Capturing subpattern count = 0
 5800 Contains explicit CR or LF match
 5801 Options: firstline
 5802 First char = 'l'
 5803 Need char = 'k'
 5804     this is a line\nbreak
 5805  0: line\x0abreak
 5806     ** Failers
 5807 No match
 5808     line one\nthis is a line\nbreak in the second line
 5809 No match
 5810 
 5811 /line\nbreak/Imf
 5812 Capturing subpattern count = 0
 5813 Contains explicit CR or LF match
 5814 Options: multiline firstline
 5815 First char = 'l'
 5816 Need char = 'k'
 5817     this is a line\nbreak
 5818  0: line\x0abreak
 5819     ** Failers
 5820 No match
 5821     line one\nthis is a line\nbreak in the second line
 5822 No match
 5823 
 5824 /(?i)(?-i)AbCd/I
 5825 Capturing subpattern count = 0
 5826 No options
 5827 First char = 'A'
 5828 Need char = 'd'
 5829     AbCd
 5830  0: AbCd
 5831     ** Failers
 5832 No match
 5833     abcd
 5834 No match
 5835 
 5836 /a{11111111111111111111}/I
 5837 Failed: number too big in {} quantifier at offset 8
 5838 
 5839 /(){64294967295}/I
 5840 Failed: number too big in {} quantifier at offset 9
 5841 
 5842 /(){2,4294967295}/I
 5843 Failed: number too big in {} quantifier at offset 11
 5844 
 5845 "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
 5846 Capturing subpattern count = 1
 5847 Max back reference = 1
 5848 No options
 5849 First char = 'a' (caseless)
 5850 Need char = 'B'
 5851     abcdefghijklAkB
 5852  0: abcdefghijklAkB
 5853  1: k
 5854 
 5855 "(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I
 5856 Capturing subpattern count = 12
 5857 Max back reference = 11
 5858 Named capturing subpatterns:
 5859   n0    1
 5860   n1    2
 5861   n10  11
 5862   n11  12
 5863   n2    3
 5864   n3    4
 5865   n4    5
 5866   n5    6
 5867   n6    7
 5868   n7    8
 5869   n8    9
 5870   n9   10
 5871 No options
 5872 First char = 'a'
 5873 Need char = 'B'
 5874     abcdefghijklAkB
 5875  0: abcdefghijklAkB
 5876  1: a
 5877  2: b
 5878  3: c
 5879  4: d
 5880  5: e
 5881  6: f
 5882  7: g
 5883  8: h
 5884  9: i
 5885 10: j
 5886 11: k
 5887 12: l
 5888 
 5889 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
 5890 Capturing subpattern count = 12
 5891 Max back reference = 11
 5892 No options
 5893 First char = 'a'
 5894 Need char = 'B'
 5895     abcdefghijklAkB
 5896  0: abcdefghijklAkB
 5897  1: a
 5898  2: b
 5899  3: c
 5900  4: d
 5901  5: e
 5902  6: f
 5903  7: g
 5904  8: h
 5905  9: i
 5906 10: j
 5907 11: k
 5908 12: l
 5909 
 5910 "(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I
 5911 Capturing subpattern count = 101
 5912 Named capturing subpatterns:
 5913   name0     1
 5914   name1     2
 5915   name10   11
 5916   name100 101
 5917   name11   12
 5918   name12   13
 5919   name13   14
 5920   name14   15
 5921   name15   16
 5922   name16   17
 5923   name17   18
 5924   name18   19
 5925   name19   20
 5926   name2     3
 5927   name20   21
 5928   name21   22
 5929   name22   23
 5930   name23   24
 5931   name24   25
 5932   name25   26
 5933   name26   27
 5934   name27   28
 5935   name28   29
 5936   name29   30
 5937   name3     4
 5938   name30   31
 5939   name31   32
 5940   name32   33
 5941   name33   34
 5942   name34   35
 5943   name35   36
 5944   name36   37
 5945   name37   38
 5946   name38   39
 5947   name39   40
 5948   name4     5
 5949   name40   41
 5950   name41   42
 5951   name42   43
 5952   name43   44
 5953   name44   45
 5954   name45   46
 5955   name46   47
 5956   name47   48
 5957   name48   49
 5958   name49   50
 5959   name5     6
 5960   name50   51
 5961   name51   52
 5962   name52   53
 5963   name53   54
 5964   name54   55
 5965   name55   56
 5966   name56   57
 5967   name57   58
 5968   name58   59
 5969   name59   60
 5970   name6     7
 5971   name60   61
 5972   name61   62
 5973   name62   63
 5974   name63   64
 5975   name64   65
 5976   name65   66
 5977   name66   67
 5978   name67   68
 5979   name68   69
 5980   name69   70
 5981   name7     8
 5982   name70   71
 5983   name71   72
 5984   name72   73
 5985   name73   74
 5986   name74   75
 5987   name75   76
 5988   name76   77
 5989   name77   78
 5990   name78   79
 5991   name79   80
 5992   name8     9
 5993   name80   81
 5994   name81   82
 5995   name82   83
 5996   name83   84
 5997   name84   85
 5998   name85   86
 5999   name86   87
 6000   name87   88
 6001   name88   89
 6002   name89   90
 6003   name9    10
 6004   name90   91
 6005   name91   92
 6006   name92   93
 6007   name93   94
 6008   name94   95
 6009   name95   96
 6010   name96   97
 6011   name97   98
 6012   name98   99
 6013   name99  100
 6014 No options
 6015 First char = 'a'
 6016 Need char = 'a'
 6017     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 6018 Matched, but too many substrings
 6019  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 6020  1: a
 6021  2: a
 6022  3: a
 6023  4: a
 6024  5: a
 6025  6: a
 6026  7: a
 6027  8: a
 6028  9: a
 6029 10: a
 6030 11: a
 6031 12: a
 6032 13: a
 6033 14: a
 6034 
 6035 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I
 6036 Capturing subpattern count = 101
 6037 No options
 6038 First char = 'a'
 6039 Need char = 'a'
 6040     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 6041 Matched, but too many substrings
 6042  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 6043  1: a
 6044  2: a
 6045  3: a
 6046  4: a
 6047  5: a
 6048  6: a
 6049  7: a
 6050  8: a
 6051  9: a
 6052 10: a
 6053 11: a
 6054 12: a
 6055 13: a
 6056 14: a
 6057 
 6058 /[^()]*(?:\((?R)\)[^()]*)*/I
 6059 Capturing subpattern count = 0
 6060 May match empty string
 6061 No options
 6062 No first char
 6063 No need char
 6064     (this(and)that
 6065  0: 
 6066     (this(and)that)
 6067  0: (this(and)that)
 6068     (this(and)that)stuff
 6069  0: (this(and)that)stuff
 6070 
 6071 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
 6072 Capturing subpattern count = 0
 6073 May match empty string
 6074 No options
 6075 No first char
 6076 No need char
 6077     (this(and)that
 6078  0: 
 6079     (this(and)that)
 6080  0: (this(and)that)
 6081 
 6082 /[^()]*(?:\((?R)\))*[^()]*/I
 6083 Capturing subpattern count = 0
 6084 May match empty string
 6085 No options
 6086 No first char
 6087 No need char
 6088     (this(and)that
 6089  0: 
 6090     (this(and)that)
 6091  0: (this(and)that)
 6092 
 6093 /(?:\((?R)\))*[^()]*/I
 6094 Capturing subpattern count = 0
 6095 May match empty string
 6096 No options
 6097 No first char
 6098 No need char
 6099     (this(and)that
 6100  0: 
 6101     (this(and)that)
 6102  0: 
 6103     ((this))
 6104  0: ((this))
 6105 
 6106 /(?:\((?R)\))|[^()]*/I
 6107 Capturing subpattern count = 0
 6108 May match empty string
 6109 No options
 6110 No first char
 6111 No need char
 6112     (this(and)that
 6113  0: 
 6114     (this(and)that)
 6115  0: 
 6116     (this)
 6117  0: (this)
 6118     ((this))
 6119  0: ((this))
 6120 
 6121 /\x{0000ff}/I
 6122 Capturing subpattern count = 0
 6123 No options
 6124 First char = \xff
 6125 No need char
 6126 
 6127 /^((?P<A>a1)|(?P<A>a2)b)/I
 6128 Failed: two named subpatterns have the same name at offset 17
 6129 
 6130 /^((?P<A>a1)|(?P<A>a2)b)/IJ
 6131 Capturing subpattern count = 3
 6132 Named capturing subpatterns:
 6133   A   2
 6134   A   3
 6135 Options: anchored dupnames
 6136 No first char
 6137 No need char
 6138     a1b\CA
 6139  0: a1
 6140  1: a1
 6141  2: a1
 6142   C a1 (2) A
 6143     a2b\CA
 6144  0: a2b
 6145  1: a2b
 6146  2: <unset>
 6147  3: a2
 6148   C a2 (2) A
 6149     ** Failers
 6150 No match
 6151     a1b\CZ\CA
 6152 no parentheses with name "Z"
 6153  0: a1
 6154  1: a1
 6155  2: a1
 6156 copy substring Z failed -7
 6157   C a1 (2) A
 6158     
 6159 /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
 6160 Capturing subpattern count = 3
 6161 Named capturing subpatterns:
 6162   a   1
 6163   a   3
 6164   b   2
 6165 May match empty string
 6166 Options: dupnames
 6167 No first char
 6168 No need char
 6169 
 6170 /^(?P<A>a)(?P<A>b)/IJ
 6171 Capturing subpattern count = 2
 6172 Named capturing subpatterns:
 6173   A   1
 6174   A   2
 6175 Options: anchored dupnames
 6176 No first char
 6177 No need char
 6178     ab\CA
 6179  0: ab
 6180  1: a
 6181  2: b
 6182   C a (1) A
 6183 
 6184 /^(?P<A>a)(?P<A>b)|cd/IJ
 6185 Capturing subpattern count = 2
 6186 Named capturing subpatterns:
 6187   A   1
 6188   A   2
 6189 Options: dupnames
 6190 No first char
 6191 No need char
 6192     ab\CA
 6193  0: ab
 6194  1: a
 6195  2: b
 6196   C a (1) A
 6197     cd\CA
 6198  0: cd
 6199 copy substring A failed -7
 6200 
 6201 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
 6202 Capturing subpattern count = 4
 6203 Named capturing subpatterns:
 6204   A   1
 6205   A   2
 6206   A   3
 6207   A   4
 6208 Options: dupnames
 6209 No first char
 6210 No need char
 6211     cdefgh\CA
 6212  0: cdefgh
 6213  1: <unset>
 6214  2: <unset>
 6215  3: ef
 6216  4: gh
 6217   C ef (2) A
 6218 
 6219 /^((?P<A>a1)|(?P<A>a2)b)/IJ
 6220 Capturing subpattern count = 3
 6221 Named capturing subpatterns:
 6222   A   2
 6223   A   3
 6224 Options: anchored dupnames
 6225 No first char
 6226 No need char
 6227     a1b\GA
 6228  0: a1
 6229  1: a1
 6230  2: a1
 6231   G a1 (2) A
 6232     a2b\GA
 6233  0: a2b
 6234  1: a2b
 6235  2: <unset>
 6236  3: a2
 6237   G a2 (2) A
 6238     ** Failers
 6239 No match
 6240     a1b\GZ\GA
 6241 no parentheses with name "Z"
 6242  0: a1
 6243  1: a1
 6244  2: a1
 6245 get substring Z failed -7
 6246   G a1 (2) A
 6247 
 6248 /^(?P<A>a)(?P<A>b)/IJ
 6249 Capturing subpattern count = 2
 6250 Named capturing subpatterns:
 6251   A   1
 6252   A   2
 6253 Options: anchored dupnames
 6254 No first char
 6255 No need char
 6256     ab\GA
 6257  0: ab
 6258  1: a
 6259  2: b
 6260   G a (1) A
 6261 
 6262 /^(?P<A>a)(?P<A>b)|cd/IJ
 6263 Capturing subpattern count = 2
 6264 Named capturing subpatterns:
 6265   A   1
 6266   A   2
 6267 Options: dupnames
 6268 No first char
 6269 No need char
 6270     ab\GA
 6271  0: ab
 6272  1: a
 6273  2: b
 6274   G a (1) A
 6275     cd\GA
 6276  0: cd
 6277 get substring A failed -7
 6278 
 6279 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
 6280 Capturing subpattern count = 4
 6281 Named capturing subpatterns:
 6282   A   1
 6283   A   2
 6284   A   3
 6285   A   4
 6286 Options: dupnames
 6287 No first char
 6288 No need char
 6289     cdefgh\GA
 6290  0: cdefgh
 6291  1: <unset>
 6292  2: <unset>
 6293  3: ef
 6294  4: gh
 6295   G ef (2) A
 6296 
 6297 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
 6298 Capturing subpattern count = 3
 6299 Named capturing subpatterns:
 6300   A   2
 6301   A   3
 6302 Options: anchored
 6303 Duplicate name status changes
 6304 No first char
 6305 No need char
 6306     a1b\CA
 6307  0: a1
 6308  1: a1
 6309  2: a1
 6310   C a1 (2) A
 6311     a2b\CA
 6312  0: a2b
 6313  1: a2b
 6314  2: <unset>
 6315  3: a2
 6316   C a2 (2) A
 6317 
 6318 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
 6319 Failed: two named subpatterns have the same name at offset 37
 6320 
 6321 / In this next test, J is not set at the outer level; consequently it isn't
 6322 set in the pattern's options; consequently pcre_get_named_substring() produces
 6323 a random value. /Ix
 6324 Capturing subpattern count = 1
 6325 Options: extended
 6326 First char = 'I'
 6327 Need char = 'e'
 6328 
 6329 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
 6330 Capturing subpattern count = 4
 6331 Named capturing subpatterns:
 6332   A   1
 6333   B   2
 6334   B   3
 6335   C   4
 6336 Options: anchored
 6337 Duplicate name status changes
 6338 No first char
 6339 No need char
 6340     a bc d\CA\CB\CC
 6341  0: a bc d
 6342  1: a
 6343  2: b
 6344  3: c
 6345  4: d
 6346   C a (1) A
 6347   C b (1) B
 6348   C d (1) C
 6349 
 6350 /^(?P<A>a)?(?(A)a|b)/I
 6351 Capturing subpattern count = 1
 6352 Max back reference = 1
 6353 Named capturing subpatterns:
 6354   A   1
 6355 Options: anchored
 6356 No first char
 6357 No need char
 6358     aabc
 6359  0: aa
 6360  1: a
 6361     bc
 6362  0: b
 6363     ** Failers
 6364 No match
 6365     abc
 6366 No match
 6367 
 6368 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
 6369 Capturing subpattern count = 1
 6370 Max back reference = 1
 6371 Named capturing subpatterns:
 6372   ZZ   1
 6373 No options
 6374 No first char
 6375 Need char = 'X'
 6376     bXaX
 6377  0: bXaX
 6378  1: X
 6379 
 6380 /(?:(?(2y)a|b)(X))+/I
 6381 Failed: malformed number or name after (?( at offset 7
 6382 
 6383 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
 6384 Failed: reference to non-existent subpattern at offset 9
 6385 
 6386 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
 6387 Capturing subpattern count = 1
 6388 Max back reference = 1
 6389 Named capturing subpatterns:
 6390   ZZ   1
 6391 No options
 6392 No first char
 6393 Need char = 'X'
 6394     bbXaaX
 6395  0: bbXaaX
 6396  1: X
 6397 
 6398 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
 6399 Capturing subpattern count = 1
 6400 Max back reference = 1
 6401 Named capturing subpatterns:
 6402   ZZ   1
 6403 No options
 6404 No first char
 6405 Need char = 'X'
 6406     (b)\\Xa\\X
 6407  0: (b)\Xa\X
 6408  1: X
 6409 
 6410 /(?P<ABC/I
 6411 Failed: syntax error in subpattern name (missing terminator) at offset 7
 6412 
 6413 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
 6414 Capturing subpattern count = 1
 6415 Max back reference = 1
 6416 Named capturing subpatterns:
 6417   A   1
 6418 No options
 6419 No first char
 6420 No need char
 6421     bXXaYYaY
 6422  0: bXXaYYaY
 6423  1: Y
 6424     bXYaXXaX
 6425  0: bX
 6426  1: X
 6427 
 6428 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
 6429 Capturing subpattern count = 10
 6430 Max back reference = 10
 6431 Named capturing subpatterns:
 6432   A  10
 6433 No options
 6434 No first char
 6435 No need char
 6436     bXXaYYaY
 6437  0: bXXaYYaY
 6438  1: 
 6439  2: 
 6440  3: 
 6441  4: 
 6442  5: 
 6443  6: 
 6444  7: 
 6445  8: 
 6446  9: 
 6447 10: Y
 6448 
 6449 /\s*,\s*/IS
 6450 Capturing subpattern count = 0
 6451 No options
 6452 No first char
 6453 Need char = ','
 6454 Subject length lower bound = 1
 6455 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 , 
 6456     \x0b,\x0b
 6457  0: \x0b,\x0b
 6458     \x0c,\x0d
 6459  0: \x0c,\x0d
 6460 
 6461 /^abc/Im
 6462 Capturing subpattern count = 0
 6463 Options: multiline
 6464 First char at start or follows newline
 6465 Need char = 'c'
 6466     xyz\nabc
 6467  0: abc
 6468     xyz\nabc\<lf>
 6469  0: abc
 6470     xyz\r\nabc\<lf>
 6471  0: abc
 6472     xyz\rabc\<cr>
 6473  0: abc
 6474     xyz\r\nabc\<crlf>
 6475  0: abc
 6476     ** Failers
 6477 No match
 6478     xyz\nabc\<cr>
 6479 No match
 6480     xyz\r\nabc\<cr>
 6481 No match
 6482     xyz\nabc\<crlf>
 6483 No match
 6484     xyz\rabc\<crlf>
 6485 No match
 6486     xyz\rabc\<lf>
 6487 No match
 6488 
 6489 /abc$/Im<lf>
 6490 Capturing subpattern count = 0
 6491 Options: multiline
 6492 Forced newline sequence: LF
 6493 First char = 'a'
 6494 Need char = 'c'
 6495     xyzabc
 6496  0: abc
 6497     xyzabc\n
 6498  0: abc
 6499     xyzabc\npqr
 6500  0: abc
 6501     xyzabc\r\<cr>
 6502  0: abc
 6503     xyzabc\rpqr\<cr>
 6504  0: abc
 6505     xyzabc\r\n\<crlf>
 6506  0: abc
 6507     xyzabc\r\npqr\<crlf>
 6508  0: abc
 6509     ** Failers
 6510 No match
 6511     xyzabc\r
 6512 No match
 6513     xyzabc\rpqr
 6514 No match
 6515     xyzabc\r\n
 6516 No match
 6517     xyzabc\r\npqr
 6518 No match
 6519 
 6520 /^abc/Im<cr>
 6521 Capturing subpattern count = 0
 6522 Options: multiline
 6523 Forced newline sequence: CR
 6524 First char at start or follows newline
 6525 Need char = 'c'
 6526     xyz\rabcdef
 6527  0: abc
 6528     xyz\nabcdef\<lf>
 6529  0: abc
 6530     ** Failers
 6531 No match
 6532     xyz\nabcdef
 6533 No match
 6534 
 6535 /^abc/Im<lf>
 6536 Capturing subpattern count = 0
 6537 Options: multiline
 6538 Forced newline sequence: LF
 6539 First char at start or follows newline
 6540 Need char = 'c'
 6541     xyz\nabcdef
 6542  0: abc
 6543     xyz\rabcdef\<cr>
 6544  0: abc
 6545     ** Failers
 6546 No match
 6547     xyz\rabcdef
 6548 No match
 6549 
 6550 /^abc/Im<crlf>
 6551 Capturing subpattern count = 0
 6552 Options: multiline
 6553 Forced newline sequence: CRLF
 6554 First char at start or follows newline
 6555 Need char = 'c'
 6556     xyz\r\nabcdef
 6557  0: abc
 6558     xyz\rabcdef\<cr>
 6559  0: abc
 6560     ** Failers
 6561 No match
 6562     xyz\rabcdef
 6563 No match
 6564 
 6565 /^abc/Im<bad>
 6566 Unknown modifier at: <bad>
 6567 
 6568 
 6569 /abc/I
 6570 Capturing subpattern count = 0
 6571 No options
 6572 First char = 'a'
 6573 Need char = 'c'
 6574     xyz\rabc\<bad>
 6575 Unknown escape sequence at: <bad>
 6576     abc
 6577  0: abc
 6578 
 6579 /.*/I<lf>
 6580 Capturing subpattern count = 0
 6581 May match empty string
 6582 Options:
 6583 Forced newline sequence: LF
 6584 First char at start or follows newline
 6585 No need char
 6586     abc\ndef
 6587  0: abc
 6588     abc\rdef
 6589  0: abc\x0ddef
 6590     abc\r\ndef
 6591  0: abc\x0d
 6592     \<cr>abc\ndef
 6593  0: abc\x0adef
 6594     \<cr>abc\rdef
 6595  0: abc
 6596     \<cr>abc\r\ndef
 6597  0: abc
 6598     \<crlf>abc\ndef
 6599  0: abc\x0adef
 6600     \<crlf>abc\rdef
 6601  0: abc\x0ddef
 6602     \<crlf>abc\r\ndef
 6603  0: abc
 6604 
 6605 /\w+(.)(.)?def/Is
 6606 Capturing subpattern count = 2
 6607 Options: dotall
 6608 No first char
 6609 Need char = 'f'
 6610     abc\ndef
 6611  0: abc\x0adef
 6612  1: \x0a
 6613     abc\rdef
 6614  0: abc\x0ddef
 6615  1: \x0d
 6616     abc\r\ndef
 6617  0: abc\x0d\x0adef
 6618  1: \x0d
 6619  2: \x0a
 6620 
 6621 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
 6622 Capturing subpattern count = 1
 6623 May match empty string
 6624 No options
 6625 No first char
 6626 No need char
 6627    /* this is a C style comment */\M
 6628 Minimum match() limit = 120
 6629 Minimum match() recursion limit = 6
 6630  0: /* this is a C style comment */
 6631  1: /* this is a C style comment */
 6632 
 6633 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
 6634 Capturing subpattern count = 1
 6635 Named capturing subpatterns:
 6636   B   1
 6637 No options
 6638 No first char
 6639 Need char = '.'
 6640 
 6641 /()()()()()()()()()()()()()()()()()()()()
 6642  ()()()()()()()()()()()()()()()()()()()()
 6643  ()()()()()()()()()()()()()()()()()()()()
 6644  ()()()()()()()()()()()()()()()()()()()()
 6645  ()()()()()()()()()()()()()()()()()()()()
 6646  (.(.))/Ix
 6647 Capturing subpattern count = 102
 6648 Options: extended
 6649 No first char
 6650 No need char
 6651     XY\O400
 6652  0: XY
 6653  1: 
 6654  2: 
 6655  3: 
 6656  4: 
 6657  5: 
 6658  6: 
 6659  7: 
 6660  8: 
 6661  9: 
 6662 10: 
 6663 11: 
 6664 12: 
 6665 13: 
 6666 14: 
 6667 15: 
 6668 16: 
 6669 17: 
 6670 18: 
 6671 19: 
 6672 20: 
 6673 21: 
 6674 22: 
 6675 23: 
 6676 24: 
 6677 25: 
 6678 26: 
 6679 27: 
 6680 28: 
 6681 29: 
 6682 30: 
 6683 31: 
 6684 32: 
 6685 33: 
 6686 34: 
 6687 35: 
 6688 36: 
 6689 37: 
 6690 38: 
 6691 39: 
 6692 40: 
 6693 41: 
 6694 42: 
 6695 43: 
 6696 44: 
 6697 45: 
 6698 46: 
 6699 47: 
 6700 48: 
 6701 49: 
 6702 50: 
 6703 51: 
 6704 52: 
 6705 53: 
 6706 54: 
 6707 55: 
 6708 56: 
 6709 57: 
 6710 58: 
 6711 59: 
 6712 60: 
 6713 61: 
 6714 62: 
 6715 63: 
 6716 64: 
 6717 65: 
 6718 66: 
 6719 67: 
 6720 68: 
 6721 69: 
 6722 70: 
 6723 71: 
 6724 72: 
 6725 73: 
 6726 74: 
 6727 75: 
 6728 76: 
 6729 77: 
 6730 78: 
 6731 79: 
 6732 80: 
 6733 81: 
 6734 82: 
 6735 83: 
 6736 84: 
 6737 85: 
 6738 86: 
 6739 87: 
 6740 88: 
 6741 89: 
 6742 90: 
 6743 91: 
 6744 92: 
 6745 93: 
 6746 94: 
 6747 95: 
 6748 96: 
 6749 97: 
 6750 98: 
 6751 99: 
 6752 100: 
 6753 101: XY
 6754 102: Y
 6755 
 6756 /(a*b|(?i:c*(?-i)d))/IS
 6757 Capturing subpattern count = 1
 6758 No options
 6759 No first char
 6760 No need char
 6761 Subject length lower bound = 1
 6762 Starting chars: C a b c d 
 6763 
 6764 /()[ab]xyz/IS
 6765 Capturing subpattern count = 1
 6766 No options
 6767 No first char
 6768 Need char = 'z'
 6769 Subject length lower bound = 4
 6770 Starting chars: a b 
 6771 
 6772 /(|)[ab]xyz/IS
 6773 Capturing subpattern count = 1
 6774 No options
 6775 No first char
 6776 Need char = 'z'
 6777 Subject length lower bound = 4
 6778 Starting chars: a b 
 6779 
 6780 /(|c)[ab]xyz/IS
 6781 Capturing subpattern count = 1
 6782 No options
 6783 No first char
 6784 Need char = 'z'
 6785 Subject length lower bound = 4
 6786 Starting chars: a b c 
 6787 
 6788 /(|c?)[ab]xyz/IS
 6789 Capturing subpattern count = 1
 6790 No options
 6791 No first char
 6792 Need char = 'z'
 6793 Subject length lower bound = 4
 6794 Starting chars: a b c 
 6795 
 6796 /(d?|c?)[ab]xyz/IS
 6797 Capturing subpattern count = 1
 6798 No options
 6799 No first char
 6800 Need char = 'z'
 6801 Subject length lower bound = 4
 6802 Starting chars: a b c d 
 6803 
 6804 /(d?|c)[ab]xyz/IS
 6805 Capturing subpattern count = 1
 6806 No options
 6807 No first char
 6808 Need char = 'z'
 6809 Subject length lower bound = 4
 6810 Starting chars: a b c d 
 6811 
 6812 /^a*b\d/DZ
 6813 ------------------------------------------------------------------
 6814         Bra
 6815         ^
 6816         a*+
 6817         b
 6818         \d
 6819         Ket
 6820         End
 6821 ------------------------------------------------------------------
 6822 Capturing subpattern count = 0
 6823 Options: anchored
 6824 No first char
 6825 Need char = 'b'
 6826 
 6827 /^a*+b\d/DZ
 6828 ------------------------------------------------------------------
 6829         Bra
 6830         ^
 6831         a*+
 6832         b
 6833         \d
 6834         Ket
 6835         End
 6836 ------------------------------------------------------------------
 6837 Capturing subpattern count = 0
 6838 Options: anchored
 6839 No first char
 6840 Need char = 'b'
 6841 
 6842 /^a*?b\d/DZ
 6843 ------------------------------------------------------------------
 6844         Bra
 6845         ^
 6846         a*+
 6847         b
 6848         \d
 6849         Ket
 6850         End
 6851 ------------------------------------------------------------------
 6852 Capturing subpattern count = 0
 6853 Options: anchored
 6854 No first char
 6855 Need char = 'b'
 6856 
 6857 /^a+A\d/DZ
 6858 ------------------------------------------------------------------
 6859         Bra
 6860         ^
 6861         a++
 6862         A
 6863         \d
 6864         Ket
 6865         End
 6866 ------------------------------------------------------------------
 6867 Capturing subpattern count = 0
 6868 Options: anchored
 6869 No first char
 6870 Need char = 'A'
 6871     aaaA5
 6872  0: aaaA5
 6873     ** Failers
 6874 No match
 6875     aaaa5
 6876 No match
 6877 
 6878 /^a*A\d/IiDZ
 6879 ------------------------------------------------------------------
 6880         Bra
 6881         ^
 6882      /i a*
 6883      /i A
 6884         \d
 6885         Ket
 6886         End
 6887 ------------------------------------------------------------------
 6888 Capturing subpattern count = 0
 6889 Options: anchored caseless
 6890 No first char
 6891 Need char = 'A' (caseless)
 6892     aaaA5
 6893  0: aaaA5
 6894     aaaa5
 6895  0: aaaa5
 6896 
 6897 /(a*|b*)[cd]/IS
 6898 Capturing subpattern count = 1
 6899 No options
 6900 No first char
 6901 No need char
 6902 Subject length lower bound = 1
 6903 Starting chars: a b c d 
 6904 
 6905 /(a+|b*)[cd]/IS
 6906 Capturing subpattern count = 1
 6907 No options
 6908 No first char
 6909 No need char
 6910 Subject length lower bound = 1
 6911 Starting chars: a b c d 
 6912 
 6913 /(a*|b+)[cd]/IS
 6914 Capturing subpattern count = 1
 6915 No options
 6916 No first char
 6917 No need char
 6918 Subject length lower bound = 1
 6919 Starting chars: a b c d 
 6920 
 6921 /(a+|b+)[cd]/IS
 6922 Capturing subpattern count = 1
 6923 No options
 6924 No first char
 6925 No need char
 6926 Subject length lower bound = 2
 6927 Starting chars: a b 
 6928 
 6929 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
 6930  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
 6931  (((
 6932  a
 6933  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 6934  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 6935  )))
 6936 /Ix
 6937 Capturing subpattern count = 203
 6938 Options: extended
 6939 First char = 'a'
 6940 No need char
 6941   large nest
 6942 Matched, but too many substrings
 6943  0: a
 6944  1: a
 6945  2: a
 6946  3: a
 6947  4: a
 6948  5: a
 6949  6: a
 6950  7: a
 6951  8: a
 6952  9: a
 6953 10: a
 6954 11: a
 6955 12: a
 6956 13: a
 6957 14: a
 6958 
 6959 /a*\d/BZ
 6960 ------------------------------------------------------------------
 6961         Bra
 6962         a*+
 6963         \d
 6964         Ket
 6965         End
 6966 ------------------------------------------------------------------
 6967 
 6968 /a*\D/BZ
 6969 ------------------------------------------------------------------
 6970         Bra
 6971         a*
 6972         \D
 6973         Ket
 6974         End
 6975 ------------------------------------------------------------------
 6976 
 6977 /0*\d/BZ
 6978 ------------------------------------------------------------------
 6979         Bra
 6980         0*
 6981         \d
 6982         Ket
 6983         End
 6984 ------------------------------------------------------------------
 6985 
 6986 /0*\D/BZ
 6987 ------------------------------------------------------------------
 6988         Bra
 6989         0*+
 6990         \D
 6991         Ket
 6992         End
 6993 ------------------------------------------------------------------
 6994 
 6995 /a*\s/BZ
 6996 ------------------------------------------------------------------
 6997         Bra
 6998         a*+
 6999         \s
 7000         Ket
 7001         End
 7002 ------------------------------------------------------------------
 7003 
 7004 /a*\S/BZ
 7005 ------------------------------------------------------------------
 7006         Bra
 7007         a*
 7008         \S
 7009         Ket
 7010         End
 7011 ------------------------------------------------------------------
 7012 
 7013 / *\s/BZ
 7014 ------------------------------------------------------------------
 7015         Bra
 7016          *
 7017         \s
 7018         Ket
 7019         End
 7020 ------------------------------------------------------------------
 7021 
 7022 / *\S/BZ
 7023 ------------------------------------------------------------------
 7024         Bra
 7025          *+
 7026         \S
 7027         Ket
 7028         End
 7029 ------------------------------------------------------------------
 7030 
 7031 /a*\w/BZ
 7032 ------------------------------------------------------------------
 7033         Bra
 7034         a*
 7035         \w
 7036         Ket
 7037         End
 7038 ------------------------------------------------------------------
 7039 
 7040 /a*\W/BZ
 7041 ------------------------------------------------------------------
 7042         Bra
 7043         a*+
 7044         \W
 7045         Ket
 7046         End
 7047 ------------------------------------------------------------------
 7048 
 7049 /=*\w/BZ
 7050 ------------------------------------------------------------------
 7051         Bra
 7052         =*+
 7053         \w
 7054         Ket
 7055         End
 7056 ------------------------------------------------------------------
 7057 
 7058 /=*\W/BZ
 7059 ------------------------------------------------------------------
 7060         Bra
 7061         =*
 7062         \W
 7063         Ket
 7064         End
 7065 ------------------------------------------------------------------
 7066 
 7067 /\d*a/BZ
 7068 ------------------------------------------------------------------
 7069         Bra
 7070         \d*+
 7071         a
 7072         Ket
 7073         End
 7074 ------------------------------------------------------------------
 7075 
 7076 /\d*2/BZ
 7077 ------------------------------------------------------------------
 7078         Bra
 7079         \d*
 7080         2
 7081         Ket
 7082         End
 7083 ------------------------------------------------------------------
 7084 
 7085 /\d*\d/BZ
 7086 ------------------------------------------------------------------
 7087         Bra
 7088         \d*
 7089         \d
 7090         Ket
 7091         End
 7092 ------------------------------------------------------------------
 7093 
 7094 /\d*\D/BZ
 7095 ------------------------------------------------------------------
 7096         Bra
 7097         \d*+
 7098         \D
 7099         Ket
 7100         End
 7101 ------------------------------------------------------------------
 7102 
 7103 /\d*\s/BZ
 7104 ------------------------------------------------------------------
 7105         Bra
 7106         \d*+
 7107         \s
 7108         Ket
 7109         End
 7110 ------------------------------------------------------------------
 7111 
 7112 /\d*\S/BZ
 7113 ------------------------------------------------------------------
 7114         Bra
 7115         \d*
 7116         \S
 7117         Ket
 7118         End
 7119 ------------------------------------------------------------------
 7120 
 7121 /\d*\w/BZ
 7122 ------------------------------------------------------------------
 7123         Bra
 7124         \d*
 7125         \w
 7126         Ket
 7127         End
 7128 ------------------------------------------------------------------
 7129 
 7130 /\d*\W/BZ
 7131 ------------------------------------------------------------------
 7132         Bra
 7133         \d*+
 7134         \W
 7135         Ket
 7136         End
 7137 ------------------------------------------------------------------
 7138 
 7139 /\D*a/BZ
 7140 ------------------------------------------------------------------
 7141         Bra
 7142         \D*
 7143         a
 7144         Ket
 7145         End
 7146 ------------------------------------------------------------------
 7147 
 7148 /\D*2/BZ
 7149 ------------------------------------------------------------------
 7150         Bra
 7151         \D*+
 7152         2
 7153         Ket
 7154         End
 7155 ------------------------------------------------------------------
 7156 
 7157 /\D*\d/BZ
 7158 ------------------------------------------------------------------
 7159         Bra
 7160         \D*+
 7161         \d
 7162         Ket
 7163         End
 7164 ------------------------------------------------------------------
 7165 
 7166 /\D*\D/BZ
 7167 ------------------------------------------------------------------
 7168         Bra
 7169         \D*
 7170         \D
 7171         Ket
 7172         End
 7173 ------------------------------------------------------------------
 7174 
 7175 /\D*\s/BZ
 7176 ------------------------------------------------------------------
 7177         Bra
 7178         \D*
 7179         \s
 7180         Ket
 7181         End
 7182 ------------------------------------------------------------------
 7183 
 7184 /\D*\S/BZ
 7185 ------------------------------------------------------------------
 7186         Bra
 7187         \D*
 7188         \S
 7189         Ket
 7190         End
 7191 ------------------------------------------------------------------
 7192 
 7193 /\D*\w/BZ
 7194 ------------------------------------------------------------------
 7195         Bra
 7196         \D*
 7197         \w
 7198         Ket
 7199         End
 7200 ------------------------------------------------------------------
 7201 
 7202 /\D*\W/BZ
 7203 ------------------------------------------------------------------
 7204         Bra
 7205         \D*
 7206         \W
 7207         Ket
 7208         End
 7209 ------------------------------------------------------------------
 7210 
 7211 /\s*a/BZ
 7212 ------------------------------------------------------------------
 7213         Bra
 7214         \s*+
 7215         a
 7216         Ket
 7217         End
 7218 ------------------------------------------------------------------
 7219 
 7220 /\s*2/BZ
 7221 ------------------------------------------------------------------
 7222         Bra
 7223         \s*+
 7224         2
 7225         Ket
 7226         End
 7227 ------------------------------------------------------------------
 7228 
 7229 /\s*\d/BZ
 7230 ------------------------------------------------------------------
 7231         Bra
 7232         \s*+
 7233         \d
 7234         Ket
 7235         End
 7236 ------------------------------------------------------------------
 7237 
 7238 /\s*\D/BZ
 7239 ------------------------------------------------------------------
 7240         Bra
 7241         \s*
 7242         \D
 7243         Ket
 7244         End
 7245 ------------------------------------------------------------------
 7246 
 7247 /\s*\s/BZ
 7248 ------------------------------------------------------------------
 7249         Bra
 7250         \s*
 7251         \s
 7252         Ket
 7253         End
 7254 ------------------------------------------------------------------
 7255 
 7256 /\s*\S/BZ
 7257 ------------------------------------------------------------------
 7258         Bra
 7259         \s*+
 7260         \S
 7261         Ket
 7262         End
 7263 ------------------------------------------------------------------
 7264 
 7265 /\s*\w/BZ
 7266 ------------------------------------------------------------------
 7267         Bra
 7268         \s*+
 7269         \w
 7270         Ket
 7271         End
 7272 ------------------------------------------------------------------
 7273 
 7274 /\s*\W/BZ
 7275 ------------------------------------------------------------------
 7276         Bra
 7277         \s*
 7278         \W
 7279         Ket
 7280         End
 7281 ------------------------------------------------------------------
 7282 
 7283 /\S*a/BZ
 7284 ------------------------------------------------------------------
 7285         Bra
 7286         \S*
 7287         a
 7288         Ket
 7289         End
 7290 ------------------------------------------------------------------
 7291 
 7292 /\S*2/BZ
 7293 ------------------------------------------------------------------
 7294         Bra
 7295         \S*
 7296         2
 7297         Ket
 7298         End
 7299 ------------------------------------------------------------------
 7300 
 7301 /\S*\d/BZ
 7302 ------------------------------------------------------------------
 7303         Bra
 7304         \S*
 7305         \d
 7306         Ket
 7307         End
 7308 ------------------------------------------------------------------
 7309 
 7310 /\S*\D/BZ
 7311 ------------------------------------------------------------------
 7312         Bra
 7313         \S*
 7314         \D
 7315         Ket
 7316         End
 7317 ------------------------------------------------------------------
 7318 
 7319 /\S*\s/BZ
 7320 ------------------------------------------------------------------
 7321         Bra
 7322         \S*+
 7323         \s
 7324         Ket
 7325         End
 7326 ------------------------------------------------------------------
 7327 
 7328 /\S*\S/BZ
 7329 ------------------------------------------------------------------
 7330         Bra
 7331         \S*
 7332         \S
 7333         Ket
 7334         End
 7335 ------------------------------------------------------------------
 7336 
 7337 /\S*\w/BZ
 7338 ------------------------------------------------------------------
 7339         Bra
 7340         \S*
 7341         \w
 7342         Ket
 7343         End
 7344 ------------------------------------------------------------------
 7345 
 7346 /\S*\W/BZ
 7347 ------------------------------------------------------------------
 7348         Bra
 7349         \S*
 7350         \W
 7351         Ket
 7352         End
 7353 ------------------------------------------------------------------
 7354 
 7355 /\w*a/BZ
 7356 ------------------------------------------------------------------
 7357         Bra
 7358         \w*
 7359         a
 7360         Ket
 7361         End
 7362 ------------------------------------------------------------------
 7363 
 7364 /\w*2/BZ
 7365 ------------------------------------------------------------------
 7366         Bra
 7367         \w*
 7368         2
 7369         Ket
 7370         End
 7371 ------------------------------------------------------------------
 7372 
 7373 /\w*\d/BZ
 7374 ------------------------------------------------------------------
 7375         Bra
 7376         \w*
 7377         \d
 7378         Ket
 7379         End
 7380 ------------------------------------------------------------------
 7381 
 7382 /\w*\D/BZ
 7383 ------------------------------------------------------------------
 7384         Bra
 7385         \w*
 7386         \D
 7387         Ket
 7388         End
 7389 ------------------------------------------------------------------
 7390 
 7391 /\w*\s/BZ
 7392 ------------------------------------------------------------------
 7393         Bra
 7394         \w*+
 7395         \s
 7396         Ket
 7397         End
 7398 ------------------------------------------------------------------
 7399 
 7400 /\w*\S/BZ
 7401 ------------------------------------------------------------------
 7402         Bra
 7403         \w*
 7404         \S
 7405         Ket
 7406         End
 7407 ------------------------------------------------------------------
 7408 
 7409 /\w*\w/BZ
 7410 ------------------------------------------------------------------
 7411         Bra
 7412         \w*
 7413         \w
 7414         Ket
 7415         End
 7416 ------------------------------------------------------------------
 7417 
 7418 /\w*\W/BZ
 7419 ------------------------------------------------------------------
 7420         Bra
 7421         \w*+
 7422         \W
 7423         Ket
 7424         End
 7425 ------------------------------------------------------------------
 7426 
 7427 /\W*a/BZ
 7428 ------------------------------------------------------------------
 7429         Bra
 7430         \W*+
 7431         a
 7432         Ket
 7433         End
 7434 ------------------------------------------------------------------
 7435 
 7436 /\W*2/BZ
 7437 ------------------------------------------------------------------
 7438         Bra
 7439         \W*+
 7440         2
 7441         Ket
 7442         End
 7443 ------------------------------------------------------------------
 7444 
 7445 /\W*\d/BZ
 7446 ------------------------------------------------------------------
 7447         Bra
 7448         \W*+
 7449         \d
 7450         Ket
 7451         End
 7452 ------------------------------------------------------------------
 7453 
 7454 /\W*\D/BZ
 7455 ------------------------------------------------------------------
 7456         Bra
 7457         \W*
 7458         \D
 7459         Ket
 7460         End
 7461 ------------------------------------------------------------------
 7462 
 7463 /\W*\s/BZ
 7464 ------------------------------------------------------------------
 7465         Bra
 7466         \W*
 7467         \s
 7468         Ket
 7469         End
 7470 ------------------------------------------------------------------
 7471 
 7472 /\W*\S/BZ
 7473 ------------------------------------------------------------------
 7474         Bra
 7475         \W*
 7476         \S
 7477         Ket
 7478         End
 7479 ------------------------------------------------------------------
 7480 
 7481 /\W*\w/BZ
 7482 ------------------------------------------------------------------
 7483         Bra
 7484         \W*+
 7485         \w
 7486         Ket
 7487         End
 7488 ------------------------------------------------------------------
 7489 
 7490 /\W*\W/BZ
 7491 ------------------------------------------------------------------
 7492         Bra
 7493         \W*
 7494         \W
 7495         Ket
 7496         End
 7497 ------------------------------------------------------------------
 7498 
 7499 /[^a]+a/BZ
 7500 ------------------------------------------------------------------
 7501         Bra
 7502         [^a]++
 7503         a
 7504         Ket
 7505         End
 7506 ------------------------------------------------------------------
 7507 
 7508 /[^a]+a/BZi
 7509 ------------------------------------------------------------------
 7510         Bra
 7511      /i [^a]++
 7512      /i a
 7513         Ket
 7514         End
 7515 ------------------------------------------------------------------
 7516 
 7517 /[^a]+A/BZi
 7518 ------------------------------------------------------------------
 7519         Bra
 7520      /i [^a]++
 7521      /i A
 7522         Ket
 7523         End
 7524 ------------------------------------------------------------------
 7525 
 7526 /[^a]+b/BZ
 7527 ------------------------------------------------------------------
 7528         Bra
 7529         [^a]+
 7530         b
 7531         Ket
 7532         End
 7533 ------------------------------------------------------------------
 7534 
 7535 /[^a]+\d/BZ
 7536 ------------------------------------------------------------------
 7537         Bra
 7538         [^a]+
 7539         \d
 7540         Ket
 7541         End
 7542 ------------------------------------------------------------------
 7543 
 7544 /a*[^a]/BZ
 7545 ------------------------------------------------------------------
 7546         Bra
 7547         a*+
 7548         [^a]
 7549         Ket
 7550         End
 7551 ------------------------------------------------------------------
 7552 
 7553 /(?P<abc>x)(?P<xyz>y)/I
 7554 Capturing subpattern count = 2
 7555 Named capturing subpatterns:
 7556   abc   1
 7557   xyz   2
 7558 No options
 7559 First char = 'x'
 7560 Need char = 'y'
 7561     xy\Cabc\Cxyz
 7562  0: xy
 7563  1: x
 7564  2: y
 7565   C x (1) abc
 7566   C y (1) xyz
 7567 
 7568 /(?<abc>x)(?'xyz'y)/I
 7569 Capturing subpattern count = 2
 7570 Named capturing subpatterns:
 7571   abc   1
 7572   xyz   2
 7573 No options
 7574 First char = 'x'
 7575 Need char = 'y'
 7576     xy\Cabc\Cxyz
 7577  0: xy
 7578  1: x
 7579  2: y
 7580   C x (1) abc
 7581   C y (1) xyz
 7582 
 7583 /(?<abc'x)(?'xyz'y)/I
 7584 Failed: syntax error in subpattern name (missing terminator) at offset 6
 7585 
 7586 /(?<abc>x)(?'xyz>y)/I
 7587 Failed: syntax error in subpattern name (missing terminator) at offset 15
 7588 
 7589 /(?P'abc'x)(?P<xyz>y)/I
 7590 Failed: unrecognized character after (?P at offset 3
 7591 
 7592 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
 7593     bXaX
 7594  0: bXaX
 7595  1: X
 7596     bXbX
 7597  0: bX
 7598  1: X
 7599     ** Failers
 7600 No match
 7601     aXaX
 7602 No match
 7603     aXbX
 7604 No match
 7605 
 7606 /^(?P>abc)(?<abcd>xxx)/
 7607 Failed: reference to non-existent subpattern at offset 8
 7608 
 7609 /^(?P>abc)(?<abc>x|y)/
 7610     xx
 7611  0: xx
 7612  1: x
 7613     xy
 7614  0: xy
 7615  1: y
 7616     yy
 7617  0: yy
 7618  1: y
 7619     yx
 7620  0: yx
 7621  1: x
 7622 
 7623 /^(?P>abc)(?P<abc>x|y)/
 7624     xx
 7625  0: xx
 7626  1: x
 7627     xy
 7628  0: xy
 7629  1: y
 7630     yy
 7631  0: yy
 7632  1: y
 7633     yx
 7634  0: yx
 7635  1: x
 7636 
 7637 /^((?(abc)a|b)(?<abc>x|y))+/
 7638     bxay
 7639  0: bxay
 7640  1: ay
 7641  2: y
 7642     bxby
 7643  0: bx
 7644  1: bx
 7645  2: x
 7646     ** Failers
 7647 No match
 7648     axby
 7649 No match
 7650 
 7651 /^(((?P=abc)|X)(?<abc>x|y))+/
 7652     XxXxxx
 7653  0: XxXxxx
 7654  1: xx
 7655  2: x
 7656  3: x
 7657     XxXyyx
 7658  0: XxXyyx
 7659  1: yx
 7660  2: y
 7661  3: x
 7662     XxXyxx
 7663  0: XxXy
 7664  1: Xy
 7665  2: X
 7666  3: y
 7667     ** Failers
 7668 No match
 7669     x
 7670 No match
 7671 
 7672 /^(?1)(abc)/
 7673     abcabc
 7674  0: abcabc
 7675  1: abc
 7676 
 7677 /^(?:(?:\1|X)(a|b))+/
 7678     Xaaa
 7679  0: Xaaa
 7680  1: a
 7681     Xaba
 7682  0: Xa
 7683  1: a
 7684 
 7685 /^[\E\Qa\E-\Qz\E]+/BZ
 7686 ------------------------------------------------------------------
 7687         Bra
 7688         ^
 7689         [a-z]++
 7690         Ket
 7691         End
 7692 ------------------------------------------------------------------
 7693 
 7694 /^[a\Q]bc\E]/BZ
 7695 ------------------------------------------------------------------
 7696         Bra
 7697         ^
 7698         [\]a-c]
 7699         Ket
 7700         End
 7701 ------------------------------------------------------------------
 7702 
 7703 /^[a-\Q\E]/BZ
 7704 ------------------------------------------------------------------
 7705         Bra
 7706         ^
 7707         [\-a]
 7708         Ket
 7709         End
 7710 ------------------------------------------------------------------
 7711 
 7712 /^(?P>abc)[()](?<abc>)/BZ
 7713 ------------------------------------------------------------------
 7714         Bra
 7715         ^
 7716         Recurse
 7717         [()]
 7718         CBra 1
 7719         Ket
 7720         Ket
 7721         End
 7722 ------------------------------------------------------------------
 7723 
 7724 /^((?(abc)y)[()](?P<abc>x))+/BZ
 7725 ------------------------------------------------------------------
 7726         Bra
 7727         ^
 7728         CBra 1
 7729         Cond
 7730       2 Cond ref
 7731         y
 7732         Ket
 7733         [()]
 7734         CBra 2
 7735         x
 7736         Ket
 7737         KetRmax
 7738         Ket
 7739         End
 7740 ------------------------------------------------------------------
 7741     (xy)x
 7742  0: (xy)x
 7743  1: y)x
 7744  2: x
 7745 
 7746 /^(?P>abc)\Q()\E(?<abc>)/BZ
 7747 ------------------------------------------------------------------
 7748         Bra
 7749         ^
 7750         Recurse
 7751         ()
 7752         CBra 1
 7753         Ket
 7754         Ket
 7755         End
 7756 ------------------------------------------------------------------
 7757 
 7758 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
 7759 ------------------------------------------------------------------
 7760         Bra
 7761         ^
 7762         Recurse
 7763         [(\]a]
 7764         CBra 1
 7765         Ket
 7766         Ket
 7767         End
 7768 ------------------------------------------------------------------
 7769 
 7770 /^(?P>abc) # this is (a comment)
 7771   (?<abc>)/BZx
 7772 ------------------------------------------------------------------
 7773         Bra
 7774         ^
 7775         Recurse
 7776         CBra 1
 7777         Ket
 7778         Ket
 7779         End
 7780 ------------------------------------------------------------------
 7781 
 7782 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
 7783 Capturing subpattern count = 4
 7784 Max back reference = 4
 7785 Named capturing subpatterns:
 7786   four    4
 7787   one     1
 7788   three   3
 7789   two     2
 7790 May match empty string
 7791 Options: anchored caseless
 7792 No first char
 7793 No need char
 7794     1221
 7795  0: 1221
 7796  1: 1221
 7797  2: 1
 7798     Satan, oscillate my metallic sonatas!
 7799  0: Satan, oscillate my metallic sonatas!
 7800  1: <unset>
 7801  2: <unset>
 7802  3: Satan, oscillate my metallic sonatas
 7803  4: S
 7804     A man, a plan, a canal: Panama!
 7805  0: A man, a plan, a canal: Panama!
 7806  1: <unset>
 7807  2: <unset>
 7808  3: A man, a plan, a canal: Panama
 7809  4: A
 7810     Able was I ere I saw Elba.
 7811  0: Able was I ere I saw Elba.
 7812  1: <unset>
 7813  2: <unset>
 7814  3: Able was I ere I saw Elba
 7815  4: A
 7816     *** Failers
 7817 No match
 7818     The quick brown fox
 7819 No match
 7820 
 7821 /(?=(\w+))\1:/I
 7822 Capturing subpattern count = 1
 7823 Max back reference = 1
 7824 No options
 7825 No first char
 7826 Need char = ':'
 7827     abcd:
 7828  0: abcd:
 7829  1: abcd
 7830 
 7831 /(?=(?'abc'\w+))\k<abc>:/I
 7832 Capturing subpattern count = 1
 7833 Max back reference = 1
 7834 Named capturing subpatterns:
 7835   abc   1
 7836 No options
 7837 No first char
 7838 Need char = ':'
 7839     abcd:
 7840  0: abcd:
 7841  1: abcd
 7842 
 7843 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
 7844     adaa
 7845  0: adaa
 7846  1: a
 7847  2: d
 7848     ** Failers
 7849 No match
 7850     addd
 7851 No match
 7852     adbb
 7853 No match
 7854 
 7855 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
 7856     bdaa
 7857  0: bdaa
 7858  1: b
 7859  2: d
 7860     bdab
 7861  0: bdab
 7862  1: b
 7863  2: d
 7864     ** Failers
 7865 No match
 7866     bddd
 7867 No match
 7868 
 7869 /(?(<bc))/
 7870 Failed: malformed number or name after (?( at offset 6
 7871 
 7872 /(?(''))/
 7873 Failed: assertion expected after (?( or (?(?C) at offset 4
 7874 
 7875 /(?('R')stuff)/
 7876 Failed: reference to non-existent subpattern at offset 7
 7877 
 7878 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
 7879     abcabc1Xabc2XabcXabcabc
 7880  0: abcabc1Xabc2XabcX
 7881  1: abcabc1Xabc2XabcX
 7882  2: abcabc1Xabc2XabcX
 7883 
 7884 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
 7885     abcabc1Xabc2XabcXabcabc
 7886  0: abcabc1Xabc2XabcX
 7887  1: abcabc1Xabc2XabcX
 7888  2: abcabc1Xabc2XabcX
 7889 
 7890 /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
 7891 Failed: reference to non-existent subpattern at offset 29
 7892 
 7893 /^(?(DEFINE) abc | xyz ) /x
 7894 Failed: DEFINE group contains more than one branch at offset 22
 7895 
 7896 /(?(DEFINE) abc) xyz/xI
 7897 Capturing subpattern count = 0
 7898 Options: extended
 7899 First char = 'x'
 7900 Need char = 'z'
 7901 
 7902 /(a|)*\d/
 7903   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 7904 No match
 7905   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
 7906 Matched, but too many substrings
 7907 
 7908 /^a.b/<lf>
 7909     a\rb
 7910  0: a\x0db
 7911     a\nb\<cr>
 7912  0: a\x0ab
 7913     a\x85b\<anycrlf> 
 7914  0: a\x85b
 7915     ** Failers
 7916 No match
 7917     a\nb
 7918 No match
 7919     a\nb\<any>
 7920 No match
 7921     a\rb\<cr>
 7922 No match
 7923     a\rb\<any>
 7924 No match
 7925     a\x85b\<any> 
 7926 No match
 7927     a\rb\<anycrlf>
 7928 No match
 7929 
 7930 /^abc./mgx<any>
 7931     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
 7932  0: abc1
 7933  0: abc2
 7934  0: abc3
 7935  0: abc4
 7936  0: abc5
 7937  0: abc6
 7938  0: abc7
 7939 
 7940 /abc.$/mgx<any>
 7941     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
 7942  0: abc1
 7943  0: abc2
 7944  0: abc3
 7945  0: abc4
 7946  0: abc5
 7947  0: abc6
 7948  0: abc9
 7949 
 7950 /a/<cr><any>
 7951 
 7952 /a/<any><crlf>
 7953 Failed: inconsistent NEWLINE options at offset 0
 7954 
 7955 /^a\Rb/<bsr_unicode>
 7956     a\nb
 7957  0: a\x0ab
 7958     a\rb
 7959  0: a\x0db
 7960     a\r\nb
 7961  0: a\x0d\x0ab
 7962     a\x0bb
 7963  0: a\x0bb
 7964     a\x0cb
 7965  0: a\x0cb
 7966     a\x85b
 7967  0: a\x85b
 7968     ** Failers
 7969 No match
 7970     a\n\rb
 7971 No match
 7972 
 7973 /^a\R*b/<bsr_unicode>
 7974     ab
 7975  0: ab
 7976     a\nb
 7977  0: a\x0ab
 7978     a\rb
 7979  0: a\x0db
 7980     a\r\nb
 7981  0: a\x0d\x0ab
 7982     a\x0bb
 7983  0: a\x0bb
 7984     a\x0cb
 7985  0: a\x0cb
 7986     a\x85b
 7987  0: a\x85b
 7988     a\n\rb
 7989  0: a\x0a\x0db
 7990     a\n\r\x85\x0cb
 7991  0: a\x0a\x0d\x85\x0cb
 7992 
 7993 /^a\R+b/<bsr_unicode>
 7994     a\nb
 7995  0: a\x0ab
 7996     a\rb
 7997  0: a\x0db
 7998     a\r\nb
 7999  0: a\x0d\x0ab
 8000     a\x0bb
 8001  0: a\x0bb
 8002     a\x0cb
 8003  0: a\x0cb
 8004     a\x85b
 8005  0: a\x85b
 8006     a\n\rb
 8007  0: a\x0a\x0db
 8008     a\n\r\x85\x0cb
 8009  0: a\x0a\x0d\x85\x0cb
 8010     ** Failers
 8011 No match
 8012     ab
 8013 No match
 8014 
 8015 /^a\R{1,3}b/<bsr_unicode>
 8016     a\nb
 8017  0: a\x0ab
 8018     a\n\rb
 8019  0: a\x0a\x0db
 8020     a\n\r\x85b
 8021  0: a\x0a\x0d\x85b
 8022     a\r\n\r\nb
 8023  0: a\x0d\x0a\x0d\x0ab
 8024     a\r\n\r\n\r\nb
 8025  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
 8026     a\n\r\n\rb
 8027  0: a\x0a\x0d\x0a\x0db
 8028     a\n\n\r\nb
 8029  0: a\x0a\x0a\x0d\x0ab
 8030     ** Failers
 8031 No match
 8032     a\n\n\n\rb
 8033 No match
 8034     a\r
 8035 No match
 8036 
 8037 /^a[\R]b/<bsr_unicode>
 8038     aRb
 8039  0: aRb
 8040     ** Failers
 8041 No match
 8042     a\nb
 8043 No match
 8044 
 8045 /(?&abc)X(?<abc>P)/I
 8046 Capturing subpattern count = 1
 8047 Named capturing subpatterns:
 8048   abc   1
 8049 No options
 8050 No first char
 8051 Need char = 'P'
 8052     abcPXP123
 8053  0: PXP
 8054  1: P
 8055 
 8056 /(?1)X(?<abc>P)/I
 8057 Capturing subpattern count = 1
 8058 Named capturing subpatterns:
 8059   abc   1
 8060 No options
 8061 No first char
 8062 Need char = 'P'
 8063     abcPXP123
 8064  0: PXP
 8065  1: P
 8066 
 8067 /(?:a(?&abc)b)*(?<abc>x)/
 8068     123axbaxbaxbx456
 8069  0: axbaxbaxbx
 8070  1: x
 8071     123axbaxbaxb456
 8072  0: x
 8073  1: x
 8074 
 8075 /(?:a(?&abc)b){1,5}(?<abc>x)/
 8076     123axbaxbaxbx456
 8077  0: axbaxbaxbx
 8078  1: x
 8079 
 8080 /(?:a(?&abc)b){2,5}(?<abc>x)/
 8081     123axbaxbaxbx456
 8082  0: axbaxbaxbx
 8083  1: x
 8084 
 8085 /(?:a(?&abc)b){2,}(?<abc>x)/
 8086     123axbaxbaxbx456
 8087  0: axbaxbaxbx
 8088  1: x
 8089 
 8090 /(abc)(?i:(?1))/
 8091    defabcabcxyz
 8092  0: abcabc
 8093  1: abc
 8094    DEFabcABCXYZ
 8095 No match
 8096 
 8097 /(abc)(?:(?i)(?1))/
 8098    defabcabcxyz
 8099  0: abcabc
 8100  1: abc
 8101    DEFabcABCXYZ
 8102 No match
 8103 
 8104 /^(a)\g-2/
 8105 Failed: reference to non-existent subpattern at offset 7
 8106 
 8107 /^(a)\g/
 8108 Failed: a numbered reference must not be zero at offset 5
 8109 
 8110 /^(a)\g{0}/
 8111 Failed: a numbered reference must not be zero at offset 8
 8112 
 8113 /^(a)\g{3/
 8114 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
 8115 
 8116 /^(a)\g{aa}/
 8117 Failed: reference to non-existent subpattern at offset 9
 8118 
 8119 /^a.b/<lf>
 8120     a\rb
 8121  0: a\x0db
 8122     *** Failers
 8123 No match
 8124     a\nb
 8125 No match
 8126 
 8127 /.+foo/
 8128     afoo
 8129  0: afoo
 8130     ** Failers
 8131 No match
 8132     \r\nfoo
 8133 No match
 8134     \nfoo
 8135 No match
 8136 
 8137 /.+foo/<crlf>
 8138     afoo
 8139  0: afoo
 8140     \nfoo
 8141  0: \x0afoo
 8142     ** Failers
 8143 No match
 8144     \r\nfoo
 8145 No match
 8146 
 8147 /.+foo/<any>
 8148     afoo
 8149  0: afoo
 8150     ** Failers
 8151 No match
 8152     \nfoo
 8153 No match
 8154     \r\nfoo
 8155 No match
 8156 
 8157 /.+foo/s
 8158     afoo
 8159  0: afoo
 8160     \r\nfoo
 8161  0: \x0d\x0afoo
 8162     \nfoo
 8163  0: \x0afoo
 8164     
 8165 /^$/mg<any>
 8166     abc\r\rxyz
 8167  0: 
 8168     abc\n\rxyz  
 8169  0: 
 8170     ** Failers 
 8171 No match
 8172     abc\r\nxyz
 8173 No match
 8174 
 8175 /(?m)^$/<any>g+
 8176     abc\r\n\r\n
 8177  0: 
 8178  0+ \x0d\x0a
 8179 
 8180 /(?m)^$|^\r\n/<any>g+ 
 8181     abc\r\n\r\n
 8182  0: 
 8183  0+ \x0d\x0a
 8184  0: \x0d\x0a
 8185  0+ 
 8186     
 8187 /(?m)$/<any>g+ 
 8188     abc\r\n\r\n
 8189  0: 
 8190  0+ \x0d\x0a\x0d\x0a
 8191  0: 
 8192  0+ \x0d\x0a
 8193  0: 
 8194  0+ 
 8195 
 8196 /abc.$/mgx<anycrlf>
 8197     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
 8198  0: abc1
 8199  0: abc4
 8200  0: abc5
 8201  0: abc9
 8202 
 8203 /^X/m
 8204     XABC
 8205  0: X
 8206     ** Failers 
 8207 No match
 8208     XABC\B
 8209 No match
 8210 
 8211 /(ab|c)(?-1)/BZ
 8212 ------------------------------------------------------------------
 8213         Bra
 8214         CBra 1
 8215         ab
 8216         Alt
 8217         c
 8218         Ket
 8219         Recurse
 8220         Ket
 8221         End
 8222 ------------------------------------------------------------------
 8223     abc
 8224  0: abc
 8225  1: ab
 8226 
 8227 /xy(?+1)(abc)/BZ
 8228 ------------------------------------------------------------------
 8229         Bra
 8230         xy
 8231         Recurse
 8232         CBra 1
 8233         abc
 8234         Ket
 8235         Ket
 8236         End
 8237 ------------------------------------------------------------------
 8238     xyabcabc
 8239  0: xyabcabc
 8240  1: abc
 8241     ** Failers
 8242 No match
 8243     xyabc  
 8244 No match
 8245     
 8246 /x(?-0)y/
 8247 Failed: a numbered reference must not be zero at offset 5
 8248 
 8249 /x(?-1)y/
 8250 Failed: reference to non-existent subpattern at offset 5
 8251 
 8252 /x(?+0)y/ 
 8253 Failed: a numbered reference must not be zero at offset 5
 8254 
 8255 /x(?+1)y/
 8256 Failed: reference to non-existent subpattern at offset 5
 8257 
 8258 /^(abc)?(?(-1)X|Y)/BZ
 8259 ------------------------------------------------------------------
 8260         Bra
 8261         ^
 8262         Brazero
 8263         CBra 1
 8264         abc
 8265         Ket
 8266         Cond
 8267       1 Cond ref
 8268         X
 8269         Alt
 8270         Y
 8271         Ket
 8272         Ket
 8273         End
 8274 ------------------------------------------------------------------
 8275     abcX
 8276  0: abcX
 8277  1: abc
 8278     Y
 8279  0: Y
 8280     ** Failers
 8281 No match
 8282     abcY   
 8283 No match
 8284     
 8285 /^((?(+1)X|Y)(abc))+/BZ 
 8286 ------------------------------------------------------------------
 8287         Bra
 8288         ^
 8289         CBra 1
 8290         Cond
 8291       2 Cond ref
 8292         X
 8293         Alt
 8294         Y
 8295         Ket
 8296         CBra 2
 8297         abc
 8298         Ket
 8299         KetRmax
 8300         Ket
 8301         End
 8302 ------------------------------------------------------------------
 8303     YabcXabc
 8304  0: YabcXabc
 8305  1: Xabc
 8306  2: abc
 8307     YabcXabcXabc
 8308  0: YabcXabcXabc
 8309  1: Xabc
 8310  2: abc
 8311     ** Failers
 8312 No match
 8313     XabcXabc  
 8314 No match
 8315 
 8316 /(?(-1)a)/BZ
 8317 Failed: reference to non-existent subpattern at offset 6
 8318 
 8319 /((?(-1)a))/BZ
 8320 ------------------------------------------------------------------
 8321         Bra
 8322         CBra 1
 8323         Cond
 8324       1 Cond ref
 8325         a
 8326         Ket
 8327         Ket
 8328         Ket
 8329         End
 8330 ------------------------------------------------------------------
 8331 
 8332 /((?(-2)a))/BZ
 8333 Failed: reference to non-existent subpattern at offset 7
 8334 
 8335 /^(?(+1)X|Y)(.)/BZ
 8336 ------------------------------------------------------------------
 8337         Bra
 8338         ^
 8339         Cond
 8340       1 Cond ref
 8341         X
 8342         Alt
 8343         Y
 8344         Ket
 8345         CBra 1
 8346         Any
 8347         Ket
 8348         Ket
 8349         End
 8350 ------------------------------------------------------------------
 8351     Y!
 8352  0: Y!
 8353  1: !
 8354 
 8355 /(?<A>tom|bon)-\k{A}/
 8356     tom-tom
 8357  0: tom-tom
 8358  1: tom
 8359     bon-bon 
 8360  0: bon-bon
 8361  1: bon
 8362     ** Failers
 8363 No match
 8364     tom-bon  
 8365 No match
 8366 
 8367 /\g{A/ 
 8368 Failed: syntax error in subpattern name (missing terminator) at offset 4
 8369 
 8370 /(?|(abc)|(xyz))/BZ
 8371 ------------------------------------------------------------------
 8372         Bra
 8373         Bra
 8374         CBra 1
 8375         abc
 8376         Ket
 8377         Alt
 8378         CBra 1
 8379         xyz
 8380         Ket
 8381         Ket
 8382         Ket
 8383         End
 8384 ------------------------------------------------------------------
 8385    >abc<
 8386  0: abc
 8387  1: abc
 8388    >xyz< 
 8389  0: xyz
 8390  1: xyz
 8391 
 8392 /(x)(?|(abc)|(xyz))(x)/BZ
 8393 ------------------------------------------------------------------
 8394         Bra
 8395         CBra 1
 8396         x
 8397         Ket
 8398         Bra
 8399         CBra 2
 8400         abc
 8401         Ket
 8402         Alt
 8403         CBra 2
 8404         xyz
 8405         Ket
 8406         Ket
 8407         CBra 3
 8408         x
 8409         Ket
 8410         Ket
 8411         End
 8412 ------------------------------------------------------------------
 8413     xabcx
 8414  0: xabcx
 8415  1: x
 8416  2: abc
 8417  3: x
 8418     xxyzx 
 8419  0: xxyzx
 8420  1: x
 8421  2: xyz
 8422  3: x
 8423 
 8424 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
 8425 ------------------------------------------------------------------
 8426         Bra
 8427         CBra 1
 8428         x
 8429         Ket
 8430         Bra
 8431         CBra 2
 8432         abc
 8433         Ket
 8434         CBra 3
 8435         pqr
 8436         Ket
 8437         Alt
 8438         CBra 2
 8439         xyz
 8440         Ket
 8441         Ket
 8442         CBra 4
 8443         x
 8444         Ket
 8445         Ket
 8446         End
 8447 ------------------------------------------------------------------
 8448     xabcpqrx
 8449  0: xabcpqrx
 8450  1: x
 8451  2: abc
 8452  3: pqr
 8453  4: x
 8454     xxyzx 
 8455  0: xxyzx
 8456  1: x
 8457  2: xyz
 8458  3: <unset>
 8459  4: x
 8460 
 8461 /\H++X/BZ
 8462 ------------------------------------------------------------------
 8463         Bra
 8464         \H++
 8465         X
 8466         Ket
 8467         End
 8468 ------------------------------------------------------------------
 8469     ** Failers
 8470 No match
 8471     XXXX
 8472 No match
 8473     
 8474 /\H+\hY/BZ
 8475 ------------------------------------------------------------------
 8476         Bra
 8477         \H++
 8478         \h
 8479         Y
 8480         Ket
 8481         End
 8482 ------------------------------------------------------------------
 8483     XXXX Y 
 8484  0: XXXX Y
 8485 
 8486 /\H+ Y/BZ
 8487 ------------------------------------------------------------------
 8488         Bra
 8489         \H++
 8490          Y
 8491         Ket
 8492         End
 8493 ------------------------------------------------------------------
 8494 
 8495 /\h+A/BZ
 8496 ------------------------------------------------------------------
 8497         Bra
 8498         \h++
 8499         A
 8500         Ket
 8501         End
 8502 ------------------------------------------------------------------
 8503 
 8504 /\v*B/BZ
 8505 ------------------------------------------------------------------
 8506         Bra
 8507         \v*+
 8508         B
 8509         Ket
 8510         End
 8511 ------------------------------------------------------------------
 8512 
 8513 /\V+\x0a/BZ
 8514 ------------------------------------------------------------------
 8515         Bra
 8516         \V++
 8517         \x0a
 8518         Ket
 8519         End
 8520 ------------------------------------------------------------------
 8521 
 8522 /A+\h/BZ
 8523 ------------------------------------------------------------------
 8524         Bra
 8525         A++
 8526         \h
 8527         Ket
 8528         End
 8529 ------------------------------------------------------------------
 8530 
 8531 / *\H/BZ
 8532 ------------------------------------------------------------------
 8533         Bra
 8534          *+
 8535         \H
 8536         Ket
 8537         End
 8538 ------------------------------------------------------------------
 8539 
 8540 /A*\v/BZ
 8541 ------------------------------------------------------------------
 8542         Bra
 8543         A*+
 8544         \v
 8545         Ket
 8546         End
 8547 ------------------------------------------------------------------
 8548 
 8549 /\x0b*\V/BZ
 8550 ------------------------------------------------------------------
 8551         Bra
 8552         \x0b*+
 8553         \V
 8554         Ket
 8555         End
 8556 ------------------------------------------------------------------
 8557 
 8558 /\d+\h/BZ
 8559 ------------------------------------------------------------------
 8560         Bra
 8561         \d++
 8562         \h
 8563         Ket
 8564         End
 8565 ------------------------------------------------------------------
 8566 
 8567 /\d*\v/BZ
 8568 ------------------------------------------------------------------
 8569         Bra
 8570         \d*+
 8571         \v
 8572         Ket
 8573         End
 8574 ------------------------------------------------------------------
 8575 
 8576 /S+\h\S+\v/BZ
 8577 ------------------------------------------------------------------
 8578         Bra
 8579         S++
 8580         \h
 8581         \S++
 8582         \v
 8583         Ket
 8584         End
 8585 ------------------------------------------------------------------
 8586 
 8587 /\w{3,}\h\w+\v/BZ
 8588 ------------------------------------------------------------------
 8589         Bra
 8590         \w{3}
 8591         \w*+
 8592         \h
 8593         \w++
 8594         \v
 8595         Ket
 8596         End
 8597 ------------------------------------------------------------------
 8598 
 8599 /\h+\d\h+\w\h+\S\h+\H/BZ
 8600 ------------------------------------------------------------------
 8601         Bra
 8602         \h++
 8603         \d
 8604         \h++
 8605         \w
 8606         \h++
 8607         \S
 8608         \h++
 8609         \H
 8610         Ket
 8611         End
 8612 ------------------------------------------------------------------
 8613 
 8614 /\v+\d\v+\w\v+\S\v+\V/BZ
 8615 ------------------------------------------------------------------
 8616         Bra
 8617         \v++
 8618         \d
 8619         \v++
 8620         \w
 8621         \v++
 8622         \S
 8623         \v++
 8624         \V
 8625         Ket
 8626         End
 8627 ------------------------------------------------------------------
 8628 
 8629 /\H+\h\H+\d/BZ
 8630 ------------------------------------------------------------------
 8631         Bra
 8632         \H++
 8633         \h
 8634         \H+
 8635         \d
 8636         Ket
 8637         End
 8638 ------------------------------------------------------------------
 8639 
 8640 /\V+\v\V+\w/BZ
 8641 ------------------------------------------------------------------
 8642         Bra
 8643         \V++
 8644         \v
 8645         \V+
 8646         \w
 8647         Ket
 8648         End
 8649 ------------------------------------------------------------------
 8650 
 8651 /\( (?: [^()]* | (?R) )* \)/x
 8652 \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
 8653  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
 8654 
 8655 /[\E]AAA/
 8656 Failed: missing terminating ] for character class at offset 7
 8657 
 8658 /[\Q\E]AAA/
 8659 Failed: missing terminating ] for character class at offset 9
 8660 
 8661 /[^\E]AAA/
 8662 Failed: missing terminating ] for character class at offset 8
 8663 
 8664 /[^\Q\E]AAA/
 8665 Failed: missing terminating ] for character class at offset 10
 8666 
 8667 /[\E^]AAA/
 8668 Failed: missing terminating ] for character class at offset 8
 8669 
 8670 /[\Q\E^]AAA/
 8671 Failed: missing terminating ] for character class at offset 10
 8672 
 8673 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
 8674 ------------------------------------------------------------------
 8675         Bra
 8676         A
 8677         *PRUNE
 8678         B
 8679         *SKIP
 8680         C
 8681         *THEN
 8682         D
 8683         *COMMIT
 8684         E
 8685         *FAIL
 8686         F
 8687         *FAIL
 8688         G
 8689         *FAIL
 8690         H
 8691         *ACCEPT
 8692         I
 8693         Ket
 8694         End
 8695 ------------------------------------------------------------------
 8696 
 8697 /^a+(*FAIL)/C
 8698     aaaaaa
 8699 --->aaaaaa
 8700  +0 ^          ^
 8701  +1 ^          a+
 8702  +3 ^     ^    (*FAIL)
 8703  +3 ^    ^     (*FAIL)
 8704  +3 ^   ^      (*FAIL)
 8705  +3 ^  ^       (*FAIL)
 8706  +3 ^ ^        (*FAIL)
 8707  +3 ^^         (*FAIL)
 8708 No match
 8709     
 8710 /a+b?c+(*FAIL)/C
 8711     aaabccc
 8712 --->aaabccc
 8713  +0 ^           a+
 8714  +2 ^  ^        b?
 8715  +4 ^   ^       c+
 8716  +6 ^      ^    (*FAIL)
 8717  +6 ^     ^     (*FAIL)
 8718  +6 ^    ^      (*FAIL)
 8719  +0  ^          a+
 8720  +2  ^ ^        b?
 8721  +4  ^  ^       c+
 8722  +6  ^     ^    (*FAIL)
 8723  +6  ^    ^     (*FAIL)
 8724  +6  ^   ^      (*FAIL)
 8725  +0   ^         a+
 8726  +2   ^^        b?
 8727  +4   ^ ^       c+
 8728  +6   ^    ^    (*FAIL)
 8729  +6   ^   ^     (*FAIL)
 8730  +6   ^  ^      (*FAIL)
 8731 No match
 8732 
 8733 /a+b?(*PRUNE)c+(*FAIL)/C
 8734     aaabccc
 8735 --->aaabccc
 8736  +0 ^           a+
 8737  +2 ^  ^        b?
 8738  +4 ^   ^       (*PRUNE)
 8739 +12 ^   ^       c+
 8740 +14 ^      ^    (*FAIL)
 8741 +14 ^     ^     (*FAIL)
 8742 +14 ^    ^      (*FAIL)
 8743  +0  ^          a+
 8744  +2  ^ ^        b?
 8745  +4  ^  ^       (*PRUNE)
 8746 +12  ^  ^       c+
 8747 +14  ^     ^    (*FAIL)
 8748 +14  ^    ^     (*FAIL)
 8749 +14  ^   ^      (*FAIL)
 8750  +0   ^         a+
 8751  +2   ^^        b?
 8752  +4   ^ ^       (*PRUNE)
 8753 +12   ^ ^       c+
 8754 +14   ^    ^    (*FAIL)
 8755 +14   ^   ^     (*FAIL)
 8756 +14   ^  ^      (*FAIL)
 8757 No match
 8758 
 8759 /a+b?(*COMMIT)c+(*FAIL)/C
 8760     aaabccc
 8761 --->aaabccc
 8762  +0 ^           a+
 8763  +2 ^  ^        b?
 8764  +4 ^   ^       (*COMMIT)
 8765 +13 ^   ^       c+
 8766 +15 ^      ^    (*FAIL)
 8767 +15 ^     ^     (*FAIL)
 8768 +15 ^    ^      (*FAIL)
 8769 No match
 8770     
 8771 /a+b?(*SKIP)c+(*FAIL)/C
 8772     aaabcccaaabccc
 8773 --->aaabcccaaabccc
 8774  +0 ^                  a+
 8775  +2 ^  ^               b?
 8776  +4 ^   ^              (*SKIP)
 8777 +11 ^   ^              c+
 8778 +13 ^      ^           (*FAIL)
 8779 +13 ^     ^            (*FAIL)
 8780 +13 ^    ^             (*FAIL)
 8781  +0        ^           a+
 8782  +2        ^  ^        b?
 8783  +4        ^   ^       (*SKIP)
 8784 +11        ^   ^       c+
 8785 +13        ^      ^    (*FAIL)
 8786 +13        ^     ^     (*FAIL)
 8787 +13        ^    ^      (*FAIL)
 8788 No match
 8789 
 8790 /a+b?(*THEN)c+(*FAIL)/C
 8791     aaabccc
 8792 --->aaabccc
 8793  +0 ^           a+
 8794  +2 ^  ^        b?
 8795  +4 ^   ^       (*THEN)
 8796 +11 ^   ^       c+
 8797 +13 ^      ^    (*FAIL)
 8798 +13 ^     ^     (*FAIL)
 8799 +13 ^    ^      (*FAIL)
 8800  +0  ^          a+
 8801  +2  ^ ^        b?
 8802  +4  ^  ^       (*THEN)
 8803 +11  ^  ^       c+
 8804 +13  ^     ^    (*FAIL)
 8805 +13  ^    ^     (*FAIL)
 8806 +13  ^   ^      (*FAIL)
 8807  +0   ^         a+
 8808  +2   ^^        b?
 8809  +4   ^ ^       (*THEN)
 8810 +11   ^ ^       c+
 8811 +13   ^    ^    (*FAIL)
 8812 +13   ^   ^     (*FAIL)
 8813 +13   ^  ^      (*FAIL)
 8814 No match
 8815     
 8816 /a(*MARK)b/ 
 8817 Failed: (*MARK) must have an argument at offset 7
 8818 
 8819 /(?i:A{1,}\6666666666)/
 8820 Failed: number is too big at offset 19
 8821 
 8822 /\g6666666666/
 8823 Failed: number is too big at offset 11
 8824 
 8825 /[\g6666666666]/BZ
 8826 ------------------------------------------------------------------
 8827         Bra
 8828         [6g]
 8829         Ket
 8830         End
 8831 ------------------------------------------------------------------
 8832 
 8833 /(?1)\c[/
 8834 Failed: reference to non-existent subpattern at offset 3
 8835 
 8836 /.+A/<crlf>
 8837     \r\nA
 8838 No match
 8839     
 8840 /\nA/<crlf>
 8841     \r\nA 
 8842  0: \x0aA
 8843 
 8844 /[\r\n]A/<crlf>
 8845     \r\nA 
 8846  0: \x0aA
 8847 
 8848 /(\r|\n)A/<crlf>
 8849     \r\nA 
 8850  0: \x0aA
 8851  1: \x0a
 8852 
 8853 /a(*CR)b/
 8854 Failed: (*VERB) not recognized or malformed at offset 5
 8855 
 8856 /(*CR)a.b/
 8857     a\nb
 8858  0: a\x0ab
 8859     ** Failers
 8860 No match
 8861     a\rb  
 8862 No match
 8863 
 8864 /(*CR)a.b/<lf>
 8865     a\nb
 8866  0: a\x0ab
 8867     ** Failers
 8868 No match
 8869     a\rb  
 8870 No match
 8871 
 8872 /(*LF)a.b/<CRLF>
 8873     a\rb
 8874  0: a\x0db
 8875     ** Failers
 8876 No match
 8877     a\nb  
 8878 No match
 8879 
 8880 /(*CRLF)a.b/
 8881     a\rb
 8882  0: a\x0db
 8883     a\nb  
 8884  0: a\x0ab
 8885     ** Failers
 8886 No match
 8887     a\r\nb  
 8888 No match
 8889 
 8890 /(*ANYCRLF)a.b/<CR>
 8891     ** Failers
 8892 No match
 8893     a\rb
 8894 No match
 8895     a\nb  
 8896 No match
 8897     a\r\nb  
 8898 No match
 8899 
 8900 /(*ANY)a.b/<cr>
 8901     ** Failers
 8902 No match
 8903     a\rb
 8904 No match
 8905     a\nb  
 8906 No match
 8907     a\r\nb  
 8908 No match
 8909     a\x85b 
 8910 No match
 8911     
 8912 /(*ANY).*/g
 8913     abc\r\ndef
 8914  0: abc
 8915  0: 
 8916  0: def
 8917  0: 
 8918 
 8919 /(*ANYCRLF).*/g
 8920     abc\r\ndef
 8921  0: abc
 8922  0: 
 8923  0: def
 8924  0: 
 8925 
 8926 /(*CRLF).*/g
 8927     abc\r\ndef
 8928  0: abc
 8929  0: 
 8930  0: def
 8931  0: 
 8932 
 8933 /a\Rb/I<bsr_anycrlf>
 8934 Capturing subpattern count = 0
 8935 Options: bsr_anycrlf
 8936 First char = 'a'
 8937 Need char = 'b'
 8938     a\rb
 8939  0: a\x0db
 8940     a\nb
 8941  0: a\x0ab
 8942     a\r\nb
 8943  0: a\x0d\x0ab
 8944     ** Failers
 8945 No match
 8946     a\x85b
 8947 No match
 8948     a\x0bb     
 8949 No match
 8950 
 8951 /a\Rb/I<bsr_unicode>
 8952 Capturing subpattern count = 0
 8953 Options: bsr_unicode
 8954 First char = 'a'
 8955 Need char = 'b'
 8956     a\rb
 8957  0: a\x0db
 8958     a\nb
 8959  0: a\x0ab
 8960     a\r\nb
 8961  0: a\x0d\x0ab
 8962     a\x85b
 8963  0: a\x85b
 8964     a\x0bb     
 8965  0: a\x0bb
 8966     ** Failers 
 8967 No match
 8968     a\x85b\<bsr_anycrlf>
 8969 No match
 8970     a\x0bb\<bsr_anycrlf>
 8971 No match
 8972     
 8973 /a\R?b/I<bsr_anycrlf>
 8974 Capturing subpattern count = 0
 8975 Options: bsr_anycrlf
 8976 First char = 'a'
 8977 Need char = 'b'
 8978     a\rb
 8979  0: a\x0db
 8980     a\nb
 8981  0: a\x0ab
 8982     a\r\nb
 8983  0: a\x0d\x0ab
 8984     ** Failers
 8985 No match
 8986     a\x85b
 8987 No match
 8988     a\x0bb     
 8989 No match
 8990 
 8991 /a\R?b/I<bsr_unicode>
 8992 Capturing subpattern count = 0
 8993 Options: bsr_unicode
 8994 First char = 'a'
 8995 Need char = 'b'
 8996     a\rb
 8997  0: a\x0db
 8998     a\nb
 8999  0: a\x0ab
 9000     a\r\nb
 9001  0: a\x0d\x0ab
 9002     a\x85b
 9003  0: a\x85b
 9004     a\x0bb     
 9005  0: a\x0bb
 9006     ** Failers 
 9007 No match
 9008     a\x85b\<bsr_anycrlf>
 9009 No match
 9010     a\x0bb\<bsr_anycrlf>
 9011 No match
 9012     
 9013 /a\R{2,4}b/I<bsr_anycrlf>
 9014 Capturing subpattern count = 0
 9015 Options: bsr_anycrlf
 9016 First char = 'a'
 9017 Need char = 'b'
 9018     a\r\n\nb
 9019  0: a\x0d\x0a\x0ab
 9020     a\n\r\rb
 9021  0: a\x0a\x0d\x0db
 9022     a\r\n\r\n\r\n\r\nb
 9023  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
 9024     ** Failers
 9025 No match
 9026     a\x85\85b
 9027 No match
 9028     a\x0b\0bb     
 9029 No match
 9030 
 9031 /a\R{2,4}b/I<bsr_unicode>
 9032 Capturing subpattern count = 0
 9033 Options: bsr_unicode
 9034 First char = 'a'
 9035 Need char = 'b'
 9036     a\r\rb
 9037  0: a\x0d\x0db
 9038     a\n\n\nb
 9039  0: a\x0a\x0a\x0ab
 9040     a\r\n\n\r\rb
 9041  0: a\x0d\x0a\x0a\x0d\x0db
 9042     a\x85\85b
 9043 No match
 9044     a\x0b\0bb     
 9045 No match
 9046     ** Failers 
 9047 No match
 9048     a\r\r\r\r\rb 
 9049 No match
 9050     a\x85\85b\<bsr_anycrlf>
 9051 No match
 9052     a\x0b\0bb\<bsr_anycrlf>
 9053 No match
 9054  
 9055 /(*BSR_ANYCRLF)a\Rb/I
 9056 Capturing subpattern count = 0
 9057 Options: bsr_anycrlf
 9058 First char = 'a'
 9059 Need char = 'b'
 9060     a\nb
 9061  0: a\x0ab
 9062     a\rb 
 9063  0: a\x0db
 9064 
 9065 /(*BSR_UNICODE)a\Rb/I
 9066 Capturing subpattern count = 0
 9067 Options: bsr_unicode
 9068 First char = 'a'
 9069 Need char = 'b'
 9070     a\x85b
 9071  0: a\x85b
 9072 
 9073 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
 9074 Capturing subpattern count = 0
 9075 Options: bsr_anycrlf
 9076 Forced newline sequence: CRLF
 9077 First char = 'a'
 9078 Need char = 'b'
 9079     a\nb
 9080  0: a\x0ab
 9081     a\rb 
 9082  0: a\x0db
 9083 
 9084 /(*CRLF)(*BSR_UNICODE)a\Rb/I
 9085 Capturing subpattern count = 0
 9086 Options: bsr_unicode
 9087 Forced newline sequence: CRLF
 9088 First char = 'a'
 9089 Need char = 'b'
 9090     a\x85b
 9091  0: a\x85b
 9092 
 9093 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
 9094 Capturing subpattern count = 0
 9095 Options: bsr_anycrlf
 9096 Forced newline sequence: CR
 9097 First char = 'a'
 9098 Need char = 'b'
 9099 
 9100 /(?<a>)(?&)/
 9101 Failed: subpattern name expected at offset 9
 9102 
 9103 /(?<abc>)(?&a)/
 9104 Failed: reference to non-existent subpattern at offset 12
 9105 
 9106 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
 9107 Failed: reference to non-existent subpattern at offset 32
 9108 
 9109 /(?+-a)/
 9110 Failed: digit expected after (?+ at offset 3
 9111 
 9112 /(?-+a)/
 9113 Failed: unrecognized character after (? or (?- at offset 3
 9114 
 9115 /(?(-1))/
 9116 Failed: reference to non-existent subpattern at offset 6
 9117 
 9118 /(?(+10))/
 9119 Failed: reference to non-existent subpattern at offset 7
 9120 
 9121 /(?(10))/
 9122 Failed: reference to non-existent subpattern at offset 6
 9123 
 9124 /(?(+2))()()/
 9125 
 9126 /(?(2))()()/
 9127 
 9128 /\k''/
 9129 Failed: subpattern name expected at offset 3
 9130 
 9131 /\k<>/
 9132 Failed: subpattern name expected at offset 3
 9133 
 9134 /\k{}/
 9135 Failed: subpattern name expected at offset 3
 9136 
 9137 /\k/
 9138 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1
 9139 
 9140 /\kabc/
 9141 Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 1
 9142 
 9143 /(?P=)/
 9144 Failed: subpattern name expected at offset 4
 9145 
 9146 /(?P>)/
 9147 Failed: subpattern name expected at offset 4
 9148 
 9149 /(?!\w)(?R)/
 9150 Failed: recursive call could loop indefinitely at offset 9
 9151 
 9152 /(?=\w)(?R)/
 9153 Failed: recursive call could loop indefinitely at offset 9
 9154 
 9155 /(?<!\w)(?R)/
 9156 Failed: recursive call could loop indefinitely at offset 10
 9157 
 9158 /(?<=\w)(?R)/
 9159 Failed: recursive call could loop indefinitely at offset 10
 9160 
 9161 /[[:foo:]]/
 9162 Failed: unknown POSIX class name at offset 3
 9163 
 9164 /[[:1234:]]/
 9165 Failed: unknown POSIX class name at offset 3
 9166 
 9167 /[[:f\oo:]]/
 9168 Failed: unknown POSIX class name at offset 3
 9169 
 9170 /[[: :]]/
 9171 Failed: unknown POSIX class name at offset 3
 9172 
 9173 /[[:...:]]/
 9174 Failed: unknown POSIX class name at offset 3
 9175 
 9176 /[[:l\ower:]]/
 9177 Failed: unknown POSIX class name at offset 3
 9178 
 9179 /[[:abc\:]]/
 9180 Failed: unknown POSIX class name at offset 3
 9181 
 9182 /[abc[:x\]pqr:]]/
 9183 Failed: unknown POSIX class name at offset 6
 9184 
 9185 /[[:a\dz:]]/
 9186 Failed: unknown POSIX class name at offset 3
 9187 
 9188 /(^(a|b\g<-1'c))/
 9189 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
 9190 
 9191 /^(?+1)(?<a>x|y){0}z/
 9192     xzxx
 9193  0: xz
 9194     yzyy 
 9195  0: yz
 9196     ** Failers
 9197 No match
 9198     xxz  
 9199 No match
 9200 
 9201 /(\3)(\1)(a)/
 9202     cat
 9203 No match
 9204 
 9205 /(\3)(\1)(a)/<JS>
 9206     cat
 9207  0: a
 9208  1: 
 9209  2: 
 9210  3: a
 9211     
 9212 /TA]/
 9213     The ACTA] comes 
 9214  0: TA]
 9215 
 9216 /TA]/<JS>
 9217 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
 9218 
 9219 /(?2)[]a()b](abc)/
 9220 Failed: reference to non-existent subpattern at offset 3
 9221 
 9222 /(?2)[^]a()b](abc)/
 9223 Failed: reference to non-existent subpattern at offset 3
 9224 
 9225 /(?1)[]a()b](abc)/
 9226     abcbabc
 9227  0: abcbabc
 9228  1: abc
 9229     ** Failers 
 9230 No match
 9231     abcXabc
 9232 No match
 9233 
 9234 /(?1)[^]a()b](abc)/
 9235     abcXabc
 9236  0: abcXabc
 9237  1: abc
 9238     ** Failers 
 9239 No match
 9240     abcbabc
 9241 No match
 9242 
 9243 /(?2)[]a()b](abc)(xyz)/
 9244     xyzbabcxyz
 9245  0: xyzbabcxyz
 9246  1: abc
 9247  2: xyz
 9248 
 9249 /(?&N)[]a(?<N>)](?<M>abc)/
 9250 Failed: reference to non-existent subpattern at offset 4
 9251 
 9252 /(?&N)[]a(?<N>)](abc)/
 9253 Failed: reference to non-existent subpattern at offset 4
 9254 
 9255 /a[]b/
 9256 Failed: missing terminating ] for character class at offset 4
 9257 
 9258 /a[^]b/
 9259 Failed: missing terminating ] for character class at offset 5
 9260 
 9261 /a[]b/<JS>
 9262     ** Failers
 9263 No match
 9264     ab
 9265 No match
 9266 
 9267 /a[]+b/<JS>
 9268     ** Failers
 9269 No match
 9270     ab 
 9271 No match
 9272 
 9273 /a[]*+b/<JS>
 9274     ** Failers
 9275 No match
 9276     ab 
 9277 No match
 9278 
 9279 /a[^]b/<JS>
 9280     aXb
 9281  0: aXb
 9282     a\nb 
 9283  0: a\x0ab
 9284     ** Failers
 9285 No match
 9286     ab  
 9287 No match
 9288     
 9289 /a[^]+b/<JS> 
 9290     aXb
 9291  0: aXb
 9292     a\nX\nXb 
 9293  0: a\x0aX\x0aXb
 9294     ** Failers
 9295 No match
 9296     ab  
 9297 No match
 9298 
 9299 /a(?!)b/BZ
 9300 ------------------------------------------------------------------
 9301         Bra
 9302         a
 9303         *FAIL
 9304         b
 9305         Ket
 9306         End
 9307 ------------------------------------------------------------------
 9308 
 9309 /(?!)?a/BZ
 9310 ------------------------------------------------------------------
 9311         Bra
 9312         Brazero
 9313         Assert not
 9314         Ket
 9315         a
 9316         Ket
 9317         End
 9318 ------------------------------------------------------------------
 9319     ab
 9320  0: a
 9321 
 9322 /a(*FAIL)+b/
 9323 Failed: nothing to repeat at offset 8
 9324 
 9325 /(abc|pqr|123){0}[xyz]/SI
 9326 Capturing subpattern count = 1
 9327 No options
 9328 No first char
 9329 No need char
 9330 Subject length lower bound = 1
 9331 Starting chars: x y z 
 9332 
 9333 /(?(?=.*b)b|^)/CI
 9334 Capturing subpattern count = 0
 9335 May match empty string
 9336 Options:
 9337 No first char
 9338 No need char
 9339    adc
 9340 --->adc
 9341  +0 ^       (?(?=.*b)b|^)
 9342  +2 ^       (?=.*b)
 9343  +5 ^       .*
 9344  +7 ^  ^    b
 9345  +7 ^ ^     b
 9346  +7 ^^      b
 9347  +7 ^       b
 9348 +11 ^       ^
 9349 +12 ^       )
 9350 +13 ^       
 9351  0: 
 9352    abc 
 9353 --->abc
 9354  +0 ^       (?(?=.*b)b|^)
 9355  +2 ^       (?=.*b)
 9356  +5 ^       .*
 9357  +7 ^  ^    b
 9358  +7 ^ ^     b
 9359  +7 ^^      b
 9360  +8 ^ ^     )
 9361  +9 ^       b
 9362  +0  ^      (?(?=.*b)b|^)
 9363  +2  ^      (?=.*b)
 9364  +5  ^      .*
 9365  +7  ^ ^    b
 9366  +7  ^^     b
 9367  +7  ^      b
 9368  +8  ^^     )
 9369  +9  ^      b
 9370 +10  ^^     |
 9371 +13  ^^     
 9372  0: b
 9373    
 9374 /(?(?=b).*b|^d)/I
 9375 Capturing subpattern count = 0
 9376 No options
 9377 No first char
 9378 No need char
 9379 
 9380 /(?(?=.*b).*b|^d)/I
 9381 Capturing subpattern count = 0
 9382 No options
 9383 No first char
 9384 No need char
 9385 
 9386 /xyz/C
 9387   xyz 
 9388 --->xyz
 9389  +0 ^       x
 9390  +1 ^^      y
 9391  +2 ^ ^     z
 9392  +3 ^  ^    
 9393  0: xyz
 9394   abcxyz 
 9395 --->abcxyz
 9396  +0    ^       x
 9397  +1    ^^      y
 9398  +2    ^ ^     z
 9399  +3    ^  ^    
 9400  0: xyz
 9401   abcxyz\Y
 9402 --->abcxyz
 9403  +0 ^          x
 9404  +0  ^         x
 9405  +0   ^        x
 9406  +0    ^       x
 9407  +1    ^^      y
 9408  +2    ^ ^     z
 9409  +3    ^  ^    
 9410  0: xyz
 9411   ** Failers 
 9412 No match
 9413   abc
 9414 No match
 9415   abc\Y
 9416 --->abc
 9417  +0 ^       x
 9418  +0  ^      x
 9419  +0   ^     x
 9420  +0    ^    x
 9421 No match
 9422   abcxypqr  
 9423 No match
 9424   abcxypqr\Y  
 9425 --->abcxypqr
 9426  +0 ^            x
 9427  +0  ^           x
 9428  +0   ^          x
 9429  +0    ^         x
 9430  +1    ^^        y
 9431  +2    ^ ^       z
 9432  +0     ^        x
 9433  +0      ^       x
 9434  +0       ^      x
 9435  +0        ^     x
 9436  +0         ^    x
 9437 No match
 9438   
 9439 /(*NO_START_OPT)xyz/C
 9440   abcxyz
 9441 --->abcxyz
 9442 +15 ^          x
 9443 +15  ^         x
 9444 +15   ^        x
 9445 +15    ^       x
 9446 +16    ^^      y
 9447 +17    ^ ^     z
 9448 +18    ^  ^    
 9449  0: xyz
 9450   
 9451 /(*NO_AUTO_POSSESS)a+b/BZ  
 9452 ------------------------------------------------------------------
 9453         Bra
 9454         a+
 9455         b
 9456         Ket
 9457         End
 9458 ------------------------------------------------------------------
 9459 
 9460 /xyz/CY
 9461   abcxyz 
 9462 --->abcxyz
 9463  +0 ^          x
 9464  +0  ^         x
 9465  +0   ^        x
 9466  +0    ^       x
 9467  +1    ^^      y
 9468  +2    ^ ^     z
 9469  +3    ^  ^    
 9470  0: xyz
 9471 
 9472 /^"((?(?=[a])[^"])|b)*"$/C
 9473     "ab"
 9474 --->"ab"
 9475  +0 ^        ^
 9476  +1 ^        "
 9477  +2 ^^       ((?(?=[a])[^"])|b)*
 9478  +3 ^^       (?(?=[a])[^"])
 9479  +5 ^^       (?=[a])
 9480  +8 ^^       [a]
 9481 +11 ^ ^      )
 9482 +12 ^^       [^"]
 9483 +16 ^ ^      )
 9484 +17 ^ ^      |
 9485  +3 ^ ^      (?(?=[a])[^"])
 9486  +5 ^ ^      (?=[a])
 9487  +8 ^ ^      [a]
 9488 +17 ^ ^      |
 9489 +21 ^ ^      "
 9490 +18 ^ ^      b
 9491 +19 ^  ^     )
 9492  +3 ^  ^     (?(?=[a])[^"])
 9493  +5 ^  ^     (?=[a])
 9494  +8 ^  ^     [a]
 9495 +17 ^  ^     |
 9496 +21 ^  ^     "
 9497 +22 ^   ^    $
 9498 +23 ^   ^    
 9499  0: "ab"
 9500  1: 
 9501 
 9502 /^"((?(?=[a])[^"])|b)*"$/
 9503     "ab"
 9504  0: "ab"
 9505  1: 
 9506 
 9507 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
 9508 Failed: reference to non-existent subpattern at offset 5
 9509 
 9510 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
 9511     XYabcdY
 9512  0: XYabcdY
 9513  1: a
 9514  2: b
 9515  3: c
 9516  4: d
 9517  5: Y
 9518  
 9519 /Xa{2,4}b/
 9520     X\P
 9521 Partial match: X
 9522     Xa\P
 9523 Partial match: Xa
 9524     Xaa\P 
 9525 Partial match: Xaa
 9526     Xaaa\P
 9527 Partial match: Xaaa
 9528     Xaaaa\P 
 9529 Partial match: Xaaaa
 9530     
 9531 /Xa{2,4}?b/
 9532     X\P
 9533 Partial match: X
 9534     Xa\P
 9535 Partial match: Xa
 9536     Xaa\P 
 9537 Partial match: Xaa
 9538     Xaaa\P
 9539 Partial match: Xaaa
 9540     Xaaaa\P 
 9541 Partial match: Xaaaa
 9542     
 9543 /Xa{2,4}+b/
 9544     X\P
 9545 Partial match: X
 9546     Xa\P
 9547 Partial match: Xa
 9548     Xaa\P 
 9549 Partial match: Xaa
 9550     Xaaa\P
 9551 Partial match: Xaaa
 9552     Xaaaa\P 
 9553 Partial match: Xaaaa
 9554     
 9555 /X\d{2,4}b/
 9556     X\P
 9557 Partial match: X
 9558     X3\P
 9559 Partial match: X3
 9560     X33\P 
 9561 Partial match: X33
 9562     X333\P
 9563 Partial match: X333
 9564     X3333\P 
 9565 Partial match: X3333
 9566     
 9567 /X\d{2,4}?b/
 9568     X\P
 9569 Partial match: X
 9570     X3\P
 9571 Partial match: X3
 9572     X33\P 
 9573 Partial match: X33
 9574     X333\P
 9575 Partial match: X333
 9576     X3333\P 
 9577 Partial match: X3333
 9578     
 9579 /X\d{2,4}+b/
 9580     X\P
 9581 Partial match: X
 9582     X3\P
 9583 Partial match: X3
 9584     X33\P 
 9585 Partial match: X33
 9586     X333\P
 9587 Partial match: X333
 9588     X3333\P 
 9589 Partial match: X3333
 9590     
 9591 /X\D{2,4}b/
 9592     X\P
 9593 Partial match: X
 9594     Xa\P
 9595 Partial match: Xa
 9596     Xaa\P 
 9597 Partial match: Xaa
 9598     Xaaa\P
 9599 Partial match: Xaaa
 9600     Xaaaa\P 
 9601 Partial match: Xaaaa
 9602     
 9603 /X\D{2,4}?b/
 9604     X\P
 9605 Partial match: X
 9606     Xa\P
 9607 Partial match: Xa
 9608     Xaa\P 
 9609 Partial match: Xaa
 9610     Xaaa\P
 9611 Partial match: Xaaa
 9612     Xaaaa\P 
 9613 Partial match: Xaaaa
 9614     
 9615 /X\D{2,4}+b/
 9616     X\P
 9617 Partial match: X
 9618     Xa\P
 9619 Partial match: Xa
 9620     Xaa\P 
 9621 Partial match: Xaa
 9622     Xaaa\P
 9623 Partial match: Xaaa
 9624     Xaaaa\P 
 9625 Partial match: Xaaaa
 9626     
 9627 /X[abc]{2,4}b/
 9628     X\P
 9629 Partial match: X
 9630     Xa\P
 9631 Partial match: Xa
 9632     Xaa\P 
 9633 Partial match: Xaa
 9634     Xaaa\P
 9635 Partial match: Xaaa
 9636     Xaaaa\P 
 9637 Partial match: Xaaaa
 9638     
 9639 /X[abc]{2,4}?b/
 9640     X\P
 9641 Partial match: X
 9642     Xa\P
 9643 Partial match: Xa
 9644     Xaa\P 
 9645 Partial match: Xaa
 9646     Xaaa\P
 9647 Partial match: Xaaa
 9648     Xaaaa\P 
 9649 Partial match: Xaaaa
 9650     
 9651 /X[abc]{2,4}+b/
 9652     X\P
 9653 Partial match: X
 9654     Xa\P
 9655 Partial match: Xa
 9656     Xaa\P 
 9657 Partial match: Xaa
 9658     Xaaa\P
 9659 Partial match: Xaaa
 9660     Xaaaa\P 
 9661 Partial match: Xaaaa
 9662     
 9663 /X[^a]{2,4}b/
 9664     X\P
 9665 Partial match: X
 9666     Xz\P
 9667 Partial match: Xz
 9668     Xzz\P 
 9669 Partial match: Xzz
 9670     Xzzz\P
 9671 Partial match: Xzzz
 9672     Xzzzz\P 
 9673 Partial match: Xzzzz
 9674     
 9675 /X[^a]{2,4}?b/
 9676     X\P
 9677 Partial match: X
 9678     Xz\P
 9679 Partial match: Xz
 9680     Xzz\P 
 9681 Partial match: Xzz
 9682     Xzzz\P
 9683 Partial match: Xzzz
 9684     Xzzzz\P 
 9685 Partial match: Xzzzz
 9686     
 9687 /X[^a]{2,4}+b/
 9688     X\P
 9689 Partial match: X
 9690     Xz\P
 9691 Partial match: Xz
 9692     Xzz\P 
 9693 Partial match: Xzz
 9694     Xzzz\P
 9695 Partial match: Xzzz
 9696     Xzzzz\P 
 9697 Partial match: Xzzzz
 9698     
 9699 /(Y)X\1{2,4}b/
 9700     YX\P
 9701 Partial match: YX
 9702     YXY\P
 9703 Partial match: YXY
 9704     YXYY\P 
 9705 Partial match: YXYY
 9706     YXYYY\P
 9707 Partial match: YXYYY
 9708     YXYYYY\P 
 9709 Partial match: YXYYYY
 9710     
 9711 /(Y)X\1{2,4}?b/
 9712     YX\P
 9713 Partial match: YX
 9714     YXY\P
 9715 Partial match: YXY
 9716     YXYY\P 
 9717 Partial match: YXYY
 9718     YXYYY\P
 9719 Partial match: YXYYY
 9720     YXYYYY\P 
 9721 Partial match: YXYYYY
 9722     
 9723 /(Y)X\1{2,4}+b/
 9724     YX\P
 9725 Partial match: YX
 9726     YXY\P
 9727 Partial match: YXY
 9728     YXYY\P 
 9729 Partial match: YXYY
 9730     YXYYY\P
 9731 Partial match: YXYYY
 9732     YXYYYY\P 
 9733 Partial match: YXYYYY
 9734     
 9735 /\++\KZ|\d+X|9+Y/
 9736     ++++123999\P
 9737 Partial match: 123999
 9738     ++++123999Y\P
 9739  0: 999Y
 9740     ++++Z1234\P 
 9741  0: Z
 9742 
 9743 /Z(*F)/
 9744     Z\P
 9745 No match
 9746     ZA\P 
 9747 No match
 9748     
 9749 /Z(?!)/
 9750     Z\P 
 9751 No match
 9752     ZA\P 
 9753 No match
 9754 
 9755 /dog(sbody)?/
 9756     dogs\P
 9757  0: dog
 9758     dogs\P\P 
 9759 Partial match: dogs
 9760     
 9761 /dog(sbody)??/
 9762     dogs\P
 9763  0: dog
 9764     dogs\P\P 
 9765  0: dog
 9766 
 9767 /dog|dogsbody/
 9768     dogs\P
 9769  0: dog
 9770     dogs\P\P 
 9771  0: dog
 9772  
 9773 /dogsbody|dog/
 9774     dogs\P
 9775  0: dog
 9776     dogs\P\P 
 9777 Partial match: dogs
 9778 
 9779 /\bthe cat\b/
 9780     the cat\P
 9781  0: the cat
 9782     the cat\P\P
 9783 Partial match: the cat
 9784 
 9785 /abc/
 9786    abc\P
 9787  0: abc
 9788    abc\P\P
 9789  0: abc
 9790    
 9791 /abc\K123/
 9792     xyzabc123pqr
 9793  0: 123
 9794     xyzabc12\P
 9795 Partial match: abc12
 9796     xyzabc12\P\P
 9797 Partial match: abc12
 9798     
 9799 /(?<=abc)123/
 9800     xyzabc123pqr 
 9801  0: 123
 9802     xyzabc12\P
 9803 Partial match at offset 6: abc12
 9804     xyzabc12\P\P
 9805 Partial match at offset 6: abc12
 9806 
 9807 /\babc\b/
 9808     +++abc+++
 9809  0: abc
 9810     +++ab\P
 9811 Partial match at offset 3: +ab
 9812     +++ab\P\P  
 9813 Partial match at offset 3: +ab
 9814 
 9815 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
 9816 ------------------------------------------------------------------
 9817         Bra
 9818         Recurse
 9819         Recurse
 9820         Cond
 9821         Cond def
 9822         CBra 1
 9823         <
 9824         [^m]
 9825         [^>]
 9826         >
 9827         [^<]
 9828         Ket
 9829         CBra 2
 9830         \w*+
 9831         Ket
 9832         Ket
 9833         Ket
 9834         End
 9835 ------------------------------------------------------------------
 9836 
 9837 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
 9838 ------------------------------------------------------------------
 9839         Bra
 9840         Recurse
 9841         Recurse
 9842         Cond
 9843         Cond def
 9844         CBra 1
 9845         <
 9846         [\x00-/:-\xff] (neg)
 9847         [^>]
 9848         >
 9849         [^<]
 9850         Ket
 9851         CBra 2
 9852         \w*+
 9853         Ket
 9854         Ket
 9855         Ket
 9856         End
 9857 ------------------------------------------------------------------
 9858 
 9859 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
 9860 ------------------------------------------------------------------
 9861         Bra
 9862         CBra 1
 9863         ab
 9864         Ket
 9865         CBra 2
 9866         x
 9867         CBra 3
 9868         y
 9869         Ket
 9870         z
 9871         CBra 4
 9872         cd
 9873         Close 4
 9874         Close 2
 9875         *ACCEPT
 9876         Ket
 9877         Ket
 9878         pq
 9879         Ket
 9880         End
 9881 ------------------------------------------------------------------
 9882 
 9883 /abc\K/+
 9884     abcdef
 9885  0: 
 9886  0+ def
 9887     abcdef\N\N
 9888  0: 
 9889  0+ def
 9890     xyzabcdef\N\N
 9891  0: 
 9892  0+ def
 9893     ** Failers
 9894 No match
 9895     abcdef\N 
 9896 No match
 9897     xyzabcdef\N
 9898 No match
 9899     
 9900 /^(?:(?=abc)|abc\K)/+
 9901     abcdef
 9902  0: 
 9903  0+ abcdef
 9904     abcdef\N\N 
 9905  0: 
 9906  0+ def
 9907     ** Failers 
 9908 No match
 9909     abcdef\N 
 9910 No match
 9911 
 9912 /a?b?/+
 9913     xyz
 9914  0: 
 9915  0+ xyz
 9916     xyzabc
 9917  0: 
 9918  0+ xyzabc
 9919     xyzabc\N
 9920  0: ab
 9921  0+ c
 9922     xyzabc\N\N
 9923  0: 
 9924  0+ yzabc
 9925     xyz\N\N    
 9926  0: 
 9927  0+ yz
 9928     ** Failers 
 9929  0: 
 9930  0+ ** Failers
 9931     xyz\N 
 9932 No match
 9933 
 9934 /^a?b?/+
 9935     xyz
 9936  0: 
 9937  0+ xyz
 9938     xyzabc
 9939  0: 
 9940  0+ xyzabc
 9941     ** Failers 
 9942  0: 
 9943  0+ ** Failers
 9944     xyzabc\N
 9945 No match
 9946     xyzabc\N\N
 9947 No match
 9948     xyz\N\N    
 9949 No match
 9950     xyz\N 
 9951 No match
 9952     
 9953 /^(?<name>a|b\g<name>c)/
 9954     aaaa
 9955  0: a
 9956  1: a
 9957     bacxxx
 9958  0: bac
 9959  1: bac
 9960     bbaccxxx 
 9961  0: bbacc
 9962  1: bbacc
 9963     bbbacccxx
 9964  0: bbbaccc
 9965  1: bbbaccc
 9966 
 9967 /^(?<name>a|b\g'name'c)/
 9968     aaaa
 9969  0: a
 9970  1: a
 9971     bacxxx
 9972  0: bac
 9973  1: bac
 9974     bbaccxxx 
 9975  0: bbacc
 9976  1: bbacc
 9977     bbbacccxx
 9978  0: bbbaccc
 9979  1: bbbaccc
 9980 
 9981 /^(a|b\g<1>c)/
 9982     aaaa
 9983  0: a
 9984  1: a
 9985     bacxxx
 9986  0: bac
 9987  1: bac
 9988     bbaccxxx 
 9989  0: bbacc
 9990  1: bbacc
 9991     bbbacccxx
 9992  0: bbbaccc
 9993  1: bbbaccc
 9994 
 9995 /^(a|b\g'1'c)/
 9996     aaaa
 9997  0: a
 9998  1: a
 9999     bacxxx
10000  0: bac
10001  1: bac
10002     bbaccxxx 
10003  0: bbacc
10004  1: bbacc
10005     bbbacccxx
10006  0: bbbaccc
10007  1: bbbaccc
10008 
10009 /^(a|b\g'-1'c)/
10010     aaaa
10011  0: a
10012  1: a
10013     bacxxx
10014  0: bac
10015  1: bac
10016     bbaccxxx 
10017  0: bbacc
10018  1: bbacc
10019     bbbacccxx
10020  0: bbbaccc
10021  1: bbbaccc
10022 
10023 /(^(a|b\g<-1>c))/
10024     aaaa
10025  0: a
10026  1: a
10027  2: a
10028     bacxxx
10029  0: bac
10030  1: bac
10031  2: bac
10032     bbaccxxx 
10033  0: bbacc
10034  1: bbacc
10035  2: bbacc
10036     bbbacccxx
10037  0: bbbaccc
10038  1: bbbaccc
10039  2: bbbaccc
10040 
10041 /(?-i:\g<name>)(?i:(?<name>a))/
10042     XaaX
10043  0: aa
10044  1: a
10045     XAAX 
10046  0: AA
10047  1: A
10048 
10049 /(?i:\g<name>)(?-i:(?<name>a))/
10050     XaaX
10051  0: aa
10052  1: a
10053     ** Failers 
10054 No match
10055     XAAX 
10056 No match
10057 
10058 /(?-i:\g<+1>)(?i:(a))/
10059     XaaX
10060  0: aa
10061  1: a
10062     XAAX 
10063  0: AA
10064  1: A
10065 
10066 /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
10067 
10068 /(?<n>a|b|c)\g<n>*/
10069    abc
10070  0: abc
10071  1: a
10072    accccbbb 
10073  0: accccbbb
10074  1: a
10075 
10076 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
10077     XYabcdY
10078  0: XYabcdY
10079  1: a
10080  2: b
10081  3: <unset>
10082  4: <unset>
10083  5: c
10084  6: d
10085  7: Y
10086 
10087 /(?<=b(?1)|zzz)(a)/
10088     xbaax
10089  0: a
10090  1: a
10091     xzzzax 
10092  0: a
10093  1: a
10094 
10095 /(a)(?<=b\1)/
10096 Failed: lookbehind assertion is not fixed length at offset 10
10097 
10098 /(a)(?<=b+(?1))/
10099 Failed: lookbehind assertion is not fixed length at offset 13
10100 
10101 /(a+)(?<=b(?1))/
10102 Failed: lookbehind assertion is not fixed length at offset 14
10103 
10104 /(a(?<=b(?1)))/
10105 Failed: lookbehind assertion is not fixed length at offset 13
10106 
10107 /(?<=b(?1))xyz/
10108 Failed: reference to non-existent subpattern at offset 8
10109 
10110 /(?<=b(?1))xyz(b+)pqrstuvew/
10111 Failed: lookbehind assertion is not fixed length at offset 26
10112 
10113 /(a|bc)\1/SI
10114 Capturing subpattern count = 1
10115 Max back reference = 1
10116 No options
10117 No first char
10118 No need char
10119 Subject length lower bound = 2
10120 Starting chars: a b 
10121 
10122 /(a|bc)\1{2,3}/SI
10123 Capturing subpattern count = 1
10124 Max back reference = 1
10125 No options
10126 No first char
10127 No need char
10128 Subject length lower bound = 3
10129 Starting chars: a b 
10130 
10131 /(a|bc)(?1)/SI
10132 Capturing subpattern count = 1
10133 No options
10134 No first char
10135 No need char
10136 Subject length lower bound = 2
10137 Starting chars: a b 
10138 
10139 /(a|b\1)(a|b\1)/SI
10140 Capturing subpattern count = 2
10141 Max back reference = 1
10142 No options
10143 No first char
10144 No need char
10145 Subject length lower bound = 2
10146 Starting chars: a b 
10147 
10148 /(a|b\1){2}/SI
10149 Capturing subpattern count = 1
10150 Max back reference = 1
10151 No options
10152 No first char
10153 No need char
10154 Subject length lower bound = 2
10155 Starting chars: a b 
10156 
10157 /(a|bbbb\1)(a|bbbb\1)/SI
10158 Capturing subpattern count = 2
10159 Max back reference = 1
10160 No options
10161 No first char
10162 No need char
10163 Subject length lower bound = 2
10164 Starting chars: a b 
10165 
10166 /(a|bbbb\1){2}/SI
10167 Capturing subpattern count = 1
10168 Max back reference = 1
10169 No options
10170 No first char
10171 No need char
10172 Subject length lower bound = 2
10173 Starting chars: a b 
10174 
10175 /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/SI
10176 Capturing subpattern count = 1
10177 Options: anchored
10178 No first char
10179 Need char = ':'
10180 Subject length lower bound = 22
10181 No starting char list
10182 
10183 /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS
10184 Capturing subpattern count = 11
10185 Options: caseless dotall
10186 First char = '<'
10187 Need char = '>'
10188 Subject length lower bound = 47
10189 No starting char list
10190 
10191 "(?>.*/)foo"SI
10192 Capturing subpattern count = 0
10193 No options
10194 No first char
10195 Need char = 'o'
10196 Subject length lower bound = 4
10197 No starting char list
10198 
10199 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /xSI
10200 Capturing subpattern count = 0
10201 Options: extended
10202 No first char
10203 Need char = '-'
10204 Subject length lower bound = 8
10205 No starting char list
10206 
10207 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
10208 Capturing subpattern count = 1
10209 Options: caseless
10210 No first char
10211 No need char
10212 Subject length lower bound = 1
10213 Starting chars: A B C a b c 
10214 
10215 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
10216 Capturing subpattern count = 0
10217 No options
10218 No first char
10219 Need char = 'b'
10220 Subject length lower bound = 41
10221 Starting chars: c d 
10222 
10223 /<a[\s]+href[\s]*=[\s]*          # find <a href=
10224  ([\"\'])?                       # find single or double quote
10225  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
10226                                  # quote, otherwise match up to next space
10227 /isxSI
10228 Capturing subpattern count = 3
10229 Max back reference = 1
10230 Options: caseless extended dotall
10231 First char = '<'
10232 Need char = '='
10233 Subject length lower bound = 9
10234 No starting char list
10235 
10236 /^(?!:)                       # colon disallowed at start
10237   (?:                         # start of item
10238     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
10239     (?(1)0 | () ) )           # if null previously matched, fail; else null
10240     :                         # followed by colon
10241   ){1,7}                      # end item; 1-7 of them required               
10242   [0-9a-f]{1,4} $             # final hex number at end of string
10243   (?(1)|.)                    # check that there was an empty component
10244   /xiIS
10245 Capturing subpattern count = 1
10246 Max back reference = 1
10247 Options: anchored caseless extended
10248 No first char
10249 Need char = ':'
10250 Subject length lower bound = 2
10251 No starting char list
10252 
10253 /(?|(?<a>A)|(?<a>B))/I
10254 Capturing subpattern count = 1
10255 Named capturing subpatterns:
10256   a   1
10257 No options
10258 No first char
10259 No need char
10260     AB\Ca
10261  0: A
10262  1: A
10263   C A (1) a
10264     BA\Ca
10265  0: B
10266  1: B
10267   C B (1) a
10268 
10269 /(?|(?<a>A)|(?<b>B))/ 
10270 Failed: different names for subpatterns of the same number are not allowed at offset 15
10271 
10272 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
10273     b(?<quote> (?<apostrophe>')|(?<realquote>")) ) 
10274     (?('quote')[a-z]+|[0-9]+)/JIx
10275 Capturing subpattern count = 6
10276 Max back reference = 1
10277 Named capturing subpatterns:
10278   apostrophe   2
10279   apostrophe   5
10280   quote        1
10281   quote        4
10282   realquote    3
10283   realquote    6
10284 Options: extended dupnames
10285 No first char
10286 No need char
10287     a"aaaaa
10288  0: a"aaaaa
10289  1: "
10290  2: <unset>
10291  3: "
10292     b"aaaaa 
10293  0: b"aaaaa
10294  1: <unset>
10295  2: <unset>
10296  3: <unset>
10297  4: "
10298  5: <unset>
10299  6: "
10300     ** Failers 
10301 No match
10302     b"11111
10303 No match
10304     a"11111 
10305 No match
10306     
10307 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
10308 ------------------------------------------------------------------
10309         Bra
10310         ^
10311         Bra
10312         CBra 1
10313         a
10314         Ket
10315         CBra 2
10316         b
10317         Ket
10318         CBra 3
10319         c
10320         Ket
10321         CBra 4
10322         d
10323         Ket
10324         Alt
10325         CBra 1
10326         e
10327         Ket
10328         Ket
10329         Cond
10330         Cond ref <D>2
10331         X
10332         Alt
10333         Y
10334         Ket
10335         Ket
10336         End
10337 ------------------------------------------------------------------
10338 Capturing subpattern count = 4
10339 Max back reference = 4
10340 Named capturing subpatterns:
10341   D   4
10342   D   1
10343 Options: anchored extended dupnames
10344 No first char
10345 No need char
10346     abcdX
10347  0: abcdX
10348  1: a
10349  2: b
10350  3: c
10351  4: d
10352     eX
10353  0: eX
10354  1: e
10355     ** Failers
10356 No match
10357     abcdY
10358 No match
10359     ey     
10360 No match
10361     
10362 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/JDZx
10363 ------------------------------------------------------------------
10364         Bra
10365         CBra 1
10366         a
10367         Ket
10368         CBra 2
10369         b
10370         Ket
10371         CBra 3
10372         c
10373         Ket
10374         CBra 4
10375         d
10376         Cond
10377         Cond recurse <A>2
10378         $
10379         Alt
10380         Recurse
10381         Ket
10382         Ket
10383         Ket
10384         End
10385 ------------------------------------------------------------------
10386 Capturing subpattern count = 4
10387 Max back reference = 1
10388 Named capturing subpatterns:
10389   A   1
10390   A   4
10391 Options: extended dupnames
10392 First char = 'a'
10393 Need char = 'd'
10394     abcdd
10395  0: abcdd
10396  1: a
10397  2: b
10398  3: c
10399  4: dd
10400     ** Failers
10401 No match
10402     abcdde  
10403 No match
10404 
10405 /abcd*/
10406     xxxxabcd\P
10407  0: abcd
10408     xxxxabcd\P\P
10409 Partial match: abcd
10410 
10411 /abcd*/i
10412     xxxxabcd\P
10413  0: abcd
10414     xxxxabcd\P\P
10415 Partial match: abcd
10416     XXXXABCD\P
10417  0: ABCD
10418     XXXXABCD\P\P
10419 Partial match: ABCD
10420 
10421 /abc\d*/
10422     xxxxabc1\P
10423  0: abc1
10424     xxxxabc1\P\P
10425 Partial match: abc1
10426 
10427 /(a)bc\1*/
10428     xxxxabca\P
10429  0: abca
10430  1: a
10431     xxxxabca\P\P
10432 Partial match: abca
10433 
10434 /abc[de]*/
10435     xxxxabcde\P
10436  0: abcde
10437     xxxxabcde\P\P
10438 Partial match: abcde
10439 
10440 /-- This is not in the Perl-compatible test because Perl seems currently to be
10441     broken and not behaving as specified in that it *does* bumpalong after
10442     hitting (*COMMIT). --/
10443 
10444 /(?1)(A(*COMMIT)|B)D/
10445     ABD
10446  0: ABD
10447  1: B
10448     XABD
10449  0: ABD
10450  1: B
10451     BAD
10452  0: BAD
10453  1: A
10454     ABXABD  
10455  0: ABD
10456  1: B
10457     ** Failers 
10458 No match
10459     ABX 
10460 No match
10461     BAXBAD  
10462 No match
10463 
10464 /(\3)(\1)(a)/<JS>
10465     cat
10466  0: a
10467  1: 
10468  2: 
10469  3: a
10470 
10471 /(\3)(\1)(a)/SI<JS>
10472 Capturing subpattern count = 3
10473 Max back reference = 3
10474 Options:
10475 No first char
10476 Need char = 'a'
10477 Subject length lower bound = 1
10478 No starting char list
10479     cat
10480  0: a
10481  1: 
10482  2: 
10483  3: a
10484 
10485 /(\3)(\1)(a)/SI
10486 Capturing subpattern count = 3
10487 Max back reference = 3
10488 No options
10489 No first char
10490 Need char = 'a'
10491 Subject length lower bound = 3
10492 No starting char list
10493     cat
10494 No match
10495 
10496 /i(?(DEFINE)(?<s>a))/SI
10497 Capturing subpattern count = 1
10498 Named capturing subpatterns:
10499   s   1
10500 No options
10501 First char = 'i'
10502 No need char
10503 Subject length lower bound = 1
10504 No starting char list
10505     i
10506  0: i
10507     
10508 /()i(?(1)a)/SI 
10509 Capturing subpattern count = 1
10510 Max back reference = 1
10511 No options
10512 No first char
10513 Need char = 'i'
10514 Subject length lower bound = 1
10515 Starting chars: i 
10516     ia
10517  0: ia
10518  1: 
10519 
10520 /(?i)a(?-i)b|c/BZ
10521 ------------------------------------------------------------------
10522         Bra
10523      /i a
10524         b
10525         Alt
10526         c
10527         Ket
10528         End
10529 ------------------------------------------------------------------
10530     XabX
10531  0: ab
10532     XAbX
10533  0: Ab
10534     CcC 
10535  0: c
10536     ** Failers
10537 No match
10538     XABX   
10539 No match
10540 
10541 /(?i)a(?s)b|c/BZ
10542 ------------------------------------------------------------------
10543         Bra
10544      /i ab
10545         Alt
10546      /i c
10547         Ket
10548         End
10549 ------------------------------------------------------------------
10550 
10551 /(?i)a(?s-i)b|c/BZ
10552 ------------------------------------------------------------------
10553         Bra
10554      /i a
10555         b
10556         Alt
10557         c
10558         Ket
10559         End
10560 ------------------------------------------------------------------
10561 
10562 /^(ab(c\1)d|x){2}$/BZ
10563 ------------------------------------------------------------------
10564         Bra
10565         ^
10566         Once
10567         CBra 1
10568         ab
10569         CBra 2
10570         c
10571         \1
10572         Ket
10573         d
10574         Alt
10575         x
10576         Ket
10577         Ket
10578         Once
10579         CBra 1
10580         ab
10581         CBra 2
10582         c
10583         \1
10584         Ket
10585         d
10586         Alt
10587         x
10588         Ket
10589         Ket
10590         $
10591         Ket
10592         End
10593 ------------------------------------------------------------------
10594     xabcxd
10595  0: xabcxd
10596  1: abcxd
10597  2: cx
10598     
10599 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
10600 ------------------------------------------------------------------
10601         Bra
10602         ^
10603         Braposzero
10604         SBraPos
10605         Recurse
10606         KetRpos
10607         Cond
10608         Cond def
10609         CBra 1
10610         Any
10611         Ket
10612         Ket
10613         $
10614         Ket
10615         End
10616 ------------------------------------------------------------------
10617 
10618 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
10619 ------------------------------------------------------------------
10620         Bra
10621         ^
10622         Brazero
10623         Once
10624         Recurse
10625         KetRmax
10626         Cond
10627         Cond def
10628         CBra 1
10629         Any
10630         Ket
10631         Ket
10632         $
10633         Ket
10634         End
10635 ------------------------------------------------------------------
10636 
10637 / -- This one is here because Perl gives the match as "b" rather than "ab". I
10638      believe this to be a Perl bug. --/  
10639       
10640 /(?>a\Kb)z|(ab)/
10641     ab 
10642  0: ab
10643  1: ab
10644 
10645 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10646 Failed: recursive call could loop indefinitely at offset 31
10647 
10648 /abc(*MARK:)pqr/
10649 Failed: (*MARK) must have an argument at offset 10
10650 
10651 /abc(*:)pqr/
10652 Failed: (*MARK) must have an argument at offset 6
10653 
10654 /abc(*FAIL:123)xyz/
10655 Failed: an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT) at offset 13
10656 
10657 /--- This should, and does, fail. In Perl, it does not, which I think is a 
10658      bug because replacing the B in the pattern by (B|D) does make it fail. ---/
10659 
10660 /A(*COMMIT)B/+K
10661     ACABX
10662 No match
10663 
10664 /--- These should be different, but in Perl they are not, which I think
10665      is a bug in Perl. ---/
10666 
10667 /A(*THEN)B|A(*THEN)C/K
10668     AC
10669  0: AC
10670 
10671 /A(*PRUNE)B|A(*PRUNE)C/K
10672     AC
10673 No match
10674     
10675 /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
10676 though PCRE does. ---/
10677 
10678 /^A(*:A)B|^X(*:A)Y/K
10679     ** Failers
10680 No match
10681     XAQQ
10682 No match, mark = A
10683     
10684 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl 
10685 optimizations defeat this. So does the PCRE optimization unless we disable it 
10686 with \Y. ---/
10687 
10688 /(*COMMIT)ABC/
10689     ABCDEFG
10690  0: ABC
10691     ** Failers
10692 No match
10693     DEFGABC\Y  
10694 No match
10695     
10696 /^(ab (c+(*THEN)cd) | xyz)/x
10697     abcccd  
10698 No match
10699 
10700 /^(ab (c+(*PRUNE)cd) | xyz)/x
10701     abcccd  
10702 No match
10703 
10704 /^(ab (c+(*FAIL)cd) | xyz)/x
10705     abcccd  
10706 No match
10707     
10708 /--- Perl gets some of these wrong ---/ 
10709 
10710 /(?>.(*ACCEPT))*?5/
10711     abcde
10712  0: a
10713 
10714 /(.(*ACCEPT))*?5/
10715     abcde
10716  0: a
10717  1: a
10718 
10719 /(.(*ACCEPT))5/
10720     abcde
10721  0: a
10722  1: a
10723 
10724 /(.(*ACCEPT))*5/
10725     abcde
10726  0: a
10727  1: a
10728 
10729 /A\NB./BZ
10730 ------------------------------------------------------------------
10731         Bra
10732         A
10733         Any
10734         B
10735         Any
10736         Ket
10737         End
10738 ------------------------------------------------------------------
10739     ACBD
10740  0: ACBD
10741     *** Failers
10742 No match
10743     A\nB
10744 No match
10745     ACB\n   
10746 No match
10747 
10748 /A\NB./sBZ
10749 ------------------------------------------------------------------
10750         Bra
10751         A
10752         Any
10753         B
10754         AllAny
10755         Ket
10756         End
10757 ------------------------------------------------------------------
10758     ACBD
10759  0: ACBD
10760     ACB\n 
10761  0: ACB\x0a
10762     *** Failers
10763 No match
10764     A\nB  
10765 No match
10766   
10767 /A\NB/<crlf>
10768     A\nB
10769  0: A\x0aB
10770     A\rB
10771  0: A\x0dB
10772     ** Failers
10773 No match
10774     A\r\nB    
10775 No match
10776 
10777 /\R+b/BZ
10778 ------------------------------------------------------------------
10779         Bra
10780         \R++
10781         b
10782         Ket
10783         End
10784 ------------------------------------------------------------------
10785 
10786 /\R+\n/BZ
10787 ------------------------------------------------------------------
10788         Bra
10789         \R+
10790         \x0a
10791         Ket
10792         End
10793 ------------------------------------------------------------------
10794 
10795 /\R+\d/BZ
10796 ------------------------------------------------------------------
10797         Bra
10798         \R++
10799         \d
10800         Ket
10801         End
10802 ------------------------------------------------------------------
10803 
10804 /\d*\R/BZ
10805 ------------------------------------------------------------------
10806         Bra
10807         \d*+
10808         \R
10809         Ket
10810         End
10811 ------------------------------------------------------------------
10812 
10813 /\s*\R/BZ
10814 ------------------------------------------------------------------
10815         Bra
10816         \s*
10817         \R
10818         Ket
10819         End
10820 ------------------------------------------------------------------
10821     \x20\x0a
10822  0:  \x0a
10823     \x20\x0d
10824  0:  \x0d
10825     \x20\x0d\x0a
10826  0:  \x0d\x0a
10827 
10828 /\S*\R/BZ
10829 ------------------------------------------------------------------
10830         Bra
10831         \S*+
10832         \R
10833         Ket
10834         End
10835 ------------------------------------------------------------------
10836     a\x0a
10837  0: a\x0a
10838 
10839 /X\h*\R/BZ
10840 ------------------------------------------------------------------
10841         Bra
10842         X
10843         \h*+
10844         \R
10845         Ket
10846         End
10847 ------------------------------------------------------------------
10848     X\x20\x0a
10849  0: X \x0a
10850 
10851 /X\H*\R/BZ
10852 ------------------------------------------------------------------
10853         Bra
10854         X
10855         \H*
10856         \R
10857         Ket
10858         End
10859 ------------------------------------------------------------------
10860     X\x0d\x0a
10861  0: X\x0d\x0a
10862 
10863 /X\H+\R/BZ
10864 ------------------------------------------------------------------
10865         Bra
10866         X
10867         \H+
10868         \R
10869         Ket
10870         End
10871 ------------------------------------------------------------------
10872     X\x0d\x0a
10873  0: X\x0d\x0a
10874 
10875 /X\H++\R/BZ
10876 ------------------------------------------------------------------
10877         Bra
10878         X
10879         \H++
10880         \R
10881         Ket
10882         End
10883 ------------------------------------------------------------------
10884     X\x0d\x0a
10885 No match
10886 
10887 /(?<=abc)def/
10888     abc\P\P
10889 Partial match at offset 3: abc
10890 
10891 /abc$/
10892     abc
10893  0: abc
10894     abc\P
10895  0: abc
10896     abc\P\P
10897 Partial match: abc
10898 
10899 /abc$/m
10900     abc
10901  0: abc
10902     abc\n
10903  0: abc
10904     abc\P\P
10905 Partial match: abc
10906     abc\n\P\P 
10907  0: abc
10908     abc\P
10909  0: abc
10910     abc\n\P
10911  0: abc
10912 
10913 /abc\z/
10914     abc
10915  0: abc
10916     abc\P
10917  0: abc
10918     abc\P\P
10919 Partial match: abc
10920 
10921 /abc\Z/
10922     abc
10923  0: abc
10924     abc\P
10925  0: abc
10926     abc\P\P
10927 Partial match: abc
10928 
10929 /abc\b/
10930     abc
10931  0: abc
10932     abc\P
10933  0: abc
10934     abc\P\P
10935 Partial match: abc
10936 
10937 /abc\B/
10938     abc
10939 No match
10940     abc\P
10941 Partial match: abc
10942     abc\P\P
10943 Partial match: abc
10944 
10945 /.+/
10946     abc\>0
10947  0: abc
10948     abc\>1
10949  0: bc
10950     abc\>2
10951  0: c
10952     abc\>3
10953 No match
10954     abc\>4
10955 Error -24 (bad offset value)
10956     abc\>-4 
10957 Error -24 (bad offset value)
10958 
10959 /^\cģ/
10960 Failed: \c must be followed by an ASCII character at offset 3
10961 
10962 /(?P<abn>(?P=abn)xxx)/BZ
10963 ------------------------------------------------------------------
10964         Bra
10965         Once
10966         CBra 1
10967         \1
10968         xxx
10969         Ket
10970         Ket
10971         Ket
10972         End
10973 ------------------------------------------------------------------
10974 
10975 /(a\1z)/BZ
10976 ------------------------------------------------------------------
10977         Bra
10978         Once
10979         CBra 1
10980         a
10981         \1
10982         z
10983         Ket
10984         Ket
10985         Ket
10986         End
10987 ------------------------------------------------------------------
10988 
10989 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
10990 Failed: syntax error in subpattern name (missing terminator) at offset 29
10991 
10992 /(?P<abn>(?P=axn)xxx)/BZ
10993 Failed: reference to non-existent subpattern at offset 15
10994 
10995 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
10996 ------------------------------------------------------------------
10997         Bra
10998         CBra 1
10999         \2
11000         xxx
11001         Ket
11002         CBra 2
11003         yy
11004         Ket
11005         Ket
11006         End
11007 ------------------------------------------------------------------
11008 
11009 /-- These tests are here because Perl gets the first one wrong. --/
11010 
11011 /(\R*)(.)/s
11012     \r\n
11013  0: \x0d
11014  1: 
11015  2: \x0d
11016     \r\r\n\n\r 
11017  0: \x0d\x0d\x0a\x0a\x0d
11018  1: \x0d\x0d\x0a\x0a
11019  2: \x0d
11020     \r\r\n\n\r\n 
11021  0: \x0d\x0d\x0a\x0a\x0d
11022  1: \x0d\x0d\x0a\x0a
11023  2: \x0d
11024 
11025 /(\R)*(.)/s
11026     \r\n
11027  0: \x0d
11028  1: <unset>
11029  2: \x0d
11030     \r\r\n\n\r 
11031  0: \x0d\x0d\x0a\x0a\x0d
11032  1: \x0a
11033  2: \x0d
11034     \r\r\n\n\r\n 
11035  0: \x0d\x0d\x0a\x0a\x0d
11036  1: \x0a
11037  2: \x0d
11038 
11039 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
11040     \r\n
11041  0: \x0d
11042  1: 
11043  2: \x0d
11044     \r\r\n\n\r 
11045  0: \x0d\x0d\x0a\x0a\x0d
11046  1: \x0d\x0d\x0a\x0a
11047  2: \x0d
11048     \r\r\n\n\r\n 
11049  0: \x0d\x0d\x0a\x0a\x0d
11050  1: \x0d\x0d\x0a\x0a
11051  2: \x0d
11052 
11053 /-- --/
11054 
11055 /^abc$/BZ
11056 ------------------------------------------------------------------
11057         Bra
11058         ^
11059         abc
11060         $
11061         Ket
11062         End
11063 ------------------------------------------------------------------
11064 
11065 /^abc$/BZm
11066 ------------------------------------------------------------------
11067         Bra
11068      /m ^
11069         abc
11070      /m $
11071         Ket
11072         End
11073 ------------------------------------------------------------------
11074 
11075 /^(a)*+(\w)/S
11076     aaaaX
11077  0: aaaaX
11078  1: a
11079  2: X
11080     ** Failers 
11081 No match
11082     aaaa
11083 No match
11084 
11085 /^(?:a)*+(\w)/S
11086     aaaaX
11087  0: aaaaX
11088  1: X
11089     ** Failers 
11090 No match
11091     aaaa
11092 No match
11093 
11094 /(a)++1234/SDZ
11095 ------------------------------------------------------------------
11096         Bra
11097         CBraPos 1
11098         a
11099         KetRpos
11100         1234
11101         Ket
11102         End
11103 ------------------------------------------------------------------
11104 Capturing subpattern count = 1
11105 No options
11106 First char = 'a'
11107 Need char = '4'
11108 Subject length lower bound = 5
11109 No starting char list
11110 
11111 /([abc])++1234/SI
11112 Capturing subpattern count = 1
11113 No options
11114 No first char
11115 Need char = '4'
11116 Subject length lower bound = 5
11117 Starting chars: a b c 
11118 
11119 /(?<=(abc)+)X/
11120 Failed: lookbehind assertion is not fixed length at offset 10
11121 
11122 /(^ab)/I
11123 Capturing subpattern count = 1
11124 Options: anchored
11125 No first char
11126 No need char
11127 
11128 /(^ab)++/I
11129 Capturing subpattern count = 1
11130 Options: anchored
11131 No first char
11132 No need char
11133 
11134 /(^ab|^)+/I
11135 Capturing subpattern count = 1
11136 May match empty string
11137 Options: anchored
11138 No first char
11139 No need char
11140 
11141 /(^ab|^)++/I
11142 Capturing subpattern count = 1
11143 May match empty string
11144 Options: anchored
11145 No first char
11146 No need char
11147 
11148 /(?:^ab)/I
11149 Capturing subpattern count = 0
11150 Options: anchored
11151 No first char
11152 No need char
11153 
11154 /(?:^ab)++/I
11155 Capturing subpattern count = 0
11156 Options: anchored
11157 No first char
11158 No need char
11159 
11160 /(?:^ab|^)+/I
11161 Capturing subpattern count = 0
11162 May match empty string
11163 Options: anchored
11164 No first char
11165 No need char
11166 
11167 /(?:^ab|^)++/I
11168 Capturing subpattern count = 0
11169 May match empty string
11170 Options: anchored
11171 No first char
11172 No need char
11173 
11174 /(.*ab)/I
11175 Capturing subpattern count = 1
11176 No options
11177 First char at start or follows newline
11178 Need char = 'b'
11179 
11180 /(.*ab)++/I
11181 Capturing subpattern count = 1
11182 No options
11183 First char at start or follows newline
11184 Need char = 'b'
11185 
11186 /(.*ab|.*)+/I
11187 Capturing subpattern count = 1
11188 May match empty string
11189 No options
11190 First char at start or follows newline
11191 No need char
11192 
11193 /(.*ab|.*)++/I
11194 Capturing subpattern count = 1
11195 May match empty string
11196 No options
11197 First char at start or follows newline
11198 No need char
11199 
11200 /(?:.*ab)/I
11201 Capturing subpattern count = 0
11202 No options
11203 First char at start or follows newline
11204 Need char = 'b'
11205 
11206 /(?:.*ab)++/I
11207 Capturing subpattern count = 0
11208 No options
11209 First char at start or follows newline
11210 Need char = 'b'
11211 
11212 /(?:.*ab|.*)+/I
11213 Capturing subpattern count = 0
11214 May match empty string
11215 No options
11216 First char at start or follows newline
11217 No need char
11218 
11219 /(?:.*ab|.*)++/I
11220 Capturing subpattern count = 0
11221 May match empty string
11222 No options
11223 First char at start or follows newline
11224 No need char
11225 
11226 /(?=a)[bcd]/I
11227 Capturing subpattern count = 0
11228 No options
11229 First char = 'a'
11230 No need char
11231 
11232 /((?=a))[bcd]/I
11233 Capturing subpattern count = 1
11234 No options
11235 First char = 'a'
11236 No need char
11237 
11238 /((?=a))+[bcd]/I
11239 Capturing subpattern count = 1
11240 No options
11241 First char = 'a'
11242 No need char
11243 
11244 /((?=a))++[bcd]/I
11245 Capturing subpattern count = 1
11246 No options
11247 First char = 'a'
11248 No need char
11249 
11250 /(?=a+)[bcd]/iI
11251 Capturing subpattern count = 0
11252 Options: caseless
11253 First char = 'a' (caseless)
11254 No need char
11255 
11256 /(?=a+?)[bcd]/iI
11257 Capturing subpattern count = 0
11258 Options: caseless
11259 First char = 'a' (caseless)
11260 No need char
11261 
11262 /(?=a++)[bcd]/iI
11263 Capturing subpattern count = 0
11264 Options: caseless
11265 First char = 'a' (caseless)
11266 No need char
11267 
11268 /(?=a{3})[bcd]/iI
11269 Capturing subpattern count = 0
11270 Options: caseless
11271 First char = 'a' (caseless)
11272 Need char = 'a' (caseless)
11273 
11274 /(abc)\1+/S
11275 
11276 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
11277 
11278 /(?1)(?:(b(*ACCEPT))){0}/
11279     b
11280  0: b
11281 
11282 /(?1)(?:(b(*ACCEPT))){0}c/
11283     bc
11284  0: bc
11285     ** Failers 
11286 No match
11287     b 
11288 No match
11289 
11290 /(?1)(?:((*ACCEPT))){0}c/
11291     c
11292  0: c
11293     c\N 
11294  0: c
11295 
11296 /^.*?(?(?=a)a|b(*THEN)c)/
11297     ba
11298 No match
11299 
11300 /^.*?(?(?=a)a|bc)/
11301     ba
11302  0: ba
11303 
11304 /^.*?(?(?=a)a(*THEN)b|c)/
11305     ac
11306 No match
11307 
11308 /^.*?(?(?=a)a(*THEN)b)c/
11309     ac
11310 No match
11311 
11312 /^.*?(a(*THEN)b)c/
11313     aabc
11314 No match
11315     
11316 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
11317     aabc
11318  0: aabc
11319 
11320 /^.*?(a(*THEN)b|z)c/
11321     aabc
11322  0: aabc
11323  1: ab
11324 
11325 /^.*?(z|a(*THEN)b)c/
11326     aabc
11327  0: aabc
11328  1: ab
11329 
11330 /-- --/
11331 
11332 /-- These studied versions are here because they are not Perl-compatible; the
11333     studying means the mark is not seen. --/
11334 
11335 /(*MARK:A)(*SKIP:B)(C|X)/KS
11336     C
11337  0: C
11338  1: C
11339 MK: A
11340     D
11341 No match, mark = A
11342      
11343 /(*:A)A+(*SKIP:A)(B|Z)/KS
11344     AAAC
11345 No match, mark = A
11346 
11347 /-- --/
11348 
11349 "(?=a*(*ACCEPT)b)c"
11350     c
11351  0: c
11352     c\N 
11353  0: c
11354     
11355 /(?1)c(?(DEFINE)((*ACCEPT)b))/
11356     c
11357  0: c
11358     c\N  
11359  0: c
11360     
11361 /(?>(*ACCEPT)b)c/
11362     c
11363  0: 
11364     c\N  
11365 No match
11366 
11367 /(?:(?>(a)))+a%/++
11368     %aa%
11369  0: aa%
11370  0+ 
11371  1: a
11372  1+ a%
11373 
11374 /(a)b|ac/++SS
11375     ac\O3
11376  0: ac
11377  0+ 
11378     
11379 /(a)(b)x|abc/++
11380      abc\O6
11381  0: abc
11382  0+ 
11383 
11384 /(a)bc|(a)(b)\2/
11385     \O3abc
11386 Matched, but too many substrings
11387  0: abc
11388     \O4abc 
11389 Matched, but too many substrings
11390  0: abc
11391 
11392 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
11393 Capturing subpattern count = 2
11394 No options
11395 No first char
11396 No need char
11397 Subject length lower bound = 1
11398 No starting char list
11399 
11400 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
11401 Capturing subpattern count = 2
11402 No options
11403 No first char
11404 No need char
11405 Subject length lower bound = 3
11406 Starting chars: a b 
11407 
11408 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
11409 Capturing subpattern count = 2
11410 No options
11411 No first char
11412 No need char
11413 Subject length lower bound = 4
11414 Starting chars: a b 
11415 
11416 /(abc)(?1)/SI
11417 Capturing subpattern count = 1
11418 No options
11419 First char = 'a'
11420 Need char = 'c'
11421 Subject length lower bound = 6
11422 No starting char list
11423 
11424 /^(?>a)++/
11425     aa\M
11426 Minimum match() limit = 5
11427 Minimum match() recursion limit = 2
11428  0: aa
11429     aaaaaaaaa\M 
11430 Minimum match() limit = 12
11431 Minimum match() recursion limit = 2
11432  0: aaaaaaaaa
11433     
11434 /(a)(?1)++/
11435     aa\M
11436 Minimum match() limit = 7
11437 Minimum match() recursion limit = 4
11438  0: aa
11439  1: a
11440     aaaaaaaaa\M  
11441 Minimum match() limit = 21
11442 Minimum match() recursion limit = 4
11443  0: aaaaaaaaa
11444  1: a
11445 
11446 /(?:(foo)|(bar)|(baz))X/SS=
11447     bazfooX
11448  0: fooX
11449  1: foo
11450  2: <unset>
11451  3: <unset>
11452     foobazbarX
11453  0: barX
11454  1: <unset>
11455  2: bar
11456  3: <unset>
11457     barfooX
11458  0: fooX
11459  1: foo
11460  2: <unset>
11461  3: <unset>
11462     bazX
11463  0: bazX
11464  1: <unset>
11465  2: <unset>
11466  3: baz
11467     foobarbazX    
11468  0: bazX
11469  1: <unset>
11470  2: <unset>
11471  3: baz
11472     bazfooX\O0
11473 Matched, but too many substrings
11474     bazfooX\O2
11475 Matched, but too many substrings
11476  0: fooX
11477     bazfooX\O4
11478 Matched, but too many substrings
11479  0: fooX
11480  1: <unset>
11481     bazfooX\O6
11482 Matched, but too many substrings
11483  0: fooX
11484  1: foo
11485  2: <unset>
11486     bazfooX\O8
11487 Matched, but too many substrings
11488  0: fooX
11489  1: foo
11490  2: <unset>
11491  3: <unset>
11492     bazfooX\O10
11493  0: fooX
11494  1: foo
11495  2: <unset>
11496  3: <unset>
11497 
11498 /(?=abc){3}abc/BZ
11499 ------------------------------------------------------------------
11500         Bra
11501         Assert
11502         abc
11503         Ket
11504         abc
11505         Ket
11506         End
11507 ------------------------------------------------------------------
11508 
11509 /(?=abc)+abc/BZ
11510 ------------------------------------------------------------------
11511         Bra
11512         Assert
11513         abc
11514         Ket
11515         abc
11516         Ket
11517         End
11518 ------------------------------------------------------------------
11519 
11520 /(?=abc)++abc/BZ
11521 ------------------------------------------------------------------
11522         Bra
11523         Assert
11524         abc
11525         Ket
11526         abc
11527         Ket
11528         End
11529 ------------------------------------------------------------------
11530 
11531 /(?=abc){0}xyz/BZ
11532 ------------------------------------------------------------------
11533         Bra
11534         Skip zero
11535         Assert
11536         abc
11537         Ket
11538         xyz
11539         Ket
11540         End
11541 ------------------------------------------------------------------
11542 
11543 /(?=(a))?./BZ
11544 ------------------------------------------------------------------
11545         Bra
11546         Brazero
11547         Assert
11548         CBra 1
11549         a
11550         Ket
11551         Ket
11552         Any
11553         Ket
11554         End
11555 ------------------------------------------------------------------
11556 
11557 /(?=(a))??./BZ
11558 ------------------------------------------------------------------
11559         Bra
11560         Braminzero
11561         Assert
11562         CBra 1
11563         a
11564         Ket
11565         Ket
11566         Any
11567         Ket
11568         End
11569 ------------------------------------------------------------------
11570 
11571 /^(?=(a)){0}b(?1)/BZ
11572 ------------------------------------------------------------------
11573         Bra
11574         ^
11575         Skip zero
11576         Assert
11577         CBra 1
11578         a
11579         Ket
11580         Ket
11581         b
11582         Recurse
11583         Ket
11584         End
11585 ------------------------------------------------------------------
11586 
11587 /(?(DEFINE)(a))?b(?1)/BZ
11588 ------------------------------------------------------------------
11589         Bra
11590         Cond
11591         Cond def
11592         CBra 1
11593         a
11594         Ket
11595         Ket
11596         b
11597         Recurse
11598         Ket
11599         End
11600 ------------------------------------------------------------------
11601 
11602 /^(?=(?1))?[az]([abc])d/BZ
11603 ------------------------------------------------------------------
11604         Bra
11605         ^
11606         Brazero
11607         Assert
11608         Recurse
11609         Ket
11610         [az]
11611         CBra 1
11612         [a-c]
11613         Ket
11614         d
11615         Ket
11616         End
11617 ------------------------------------------------------------------
11618 
11619 /^(?!a){0}\w+/BZ
11620 ------------------------------------------------------------------
11621         Bra
11622         ^
11623         Skip zero
11624         Assert not
11625         a
11626         Ket
11627         \w++
11628         Ket
11629         End
11630 ------------------------------------------------------------------
11631 
11632 /(?<=(abc))?xyz/BZ
11633 ------------------------------------------------------------------
11634         Bra
11635         Brazero
11636         AssertB
11637         Reverse
11638         CBra 1
11639         abc
11640         Ket
11641         Ket
11642         xyz
11643         Ket
11644         End
11645 ------------------------------------------------------------------
11646 
11647 /[:a[:abc]b:]/BZ
11648 ------------------------------------------------------------------
11649         Bra
11650         [:[a-c]
11651         b:]
11652         Ket
11653         End
11654 ------------------------------------------------------------------
11655 
11656 /((?2))((?1))/SS
11657     abc
11658 Error -26 (nested recursion at the same subject position)
11659 
11660 /((?(R2)a+|(?1)b))/SS
11661     aaaabcde
11662 Error -26 (nested recursion at the same subject position)
11663 
11664 /(?(R)a*(?1)|((?R))b)/SS
11665     aaaabcde
11666 Error -26 (nested recursion at the same subject position)
11667 
11668 /(a+|(?R)b)/
11669 Failed: recursive call could loop indefinitely at offset 7
11670 
11671 /^(a(*:A)(d|e(*:B))z|aeq)/C
11672     adz
11673 --->adz
11674  +0 ^       ^
11675  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11676  +2 ^       a
11677  +3 ^^      (*:A)
11678  +8 ^^      (d|e(*:B))
11679 Latest Mark: A
11680  +9 ^^      d
11681 +10 ^ ^     |
11682 +18 ^ ^     z
11683 +19 ^  ^    |
11684 +24 ^  ^    
11685  0: adz
11686  1: adz
11687  2: d
11688     aez
11689 --->aez
11690  +0 ^       ^
11691  +1 ^       (a(*:A)(d|e(*:B))z|aeq)
11692  +2 ^       a
11693  +3 ^^      (*:A)
11694  +8 ^^      (d|e(*:B))
11695 Latest Mark: A
11696  +9 ^^      d
11697 +11 ^^      e
11698 +12 ^ ^     (*:B)
11699 +17 ^ ^     )
11700 Latest Mark: B
11701 +18 ^ ^     z
11702 +19 ^  ^    |
11703 +24 ^  ^    
11704  0: aez
11705  1: aez
11706  2: e
11707     aeqwerty
11708 --->aeqwerty
11709  +0 ^            ^
11710  +1 ^            (a(*:A)(d|e(*:B))z|aeq)
11711  +2 ^            a
11712  +3 ^^           (*:A)
11713  +8 ^^           (d|e(*:B))
11714 Latest Mark: A
11715  +9 ^^           d
11716 +11 ^^           e
11717 +12 ^ ^          (*:B)
11718 +17 ^ ^          )
11719 Latest Mark: B
11720 +18 ^ ^          z
11721 +20 ^            a
11722 +21 ^^           e
11723 +22 ^ ^          q
11724 +23 ^  ^         )
11725 +24 ^  ^         
11726  0: aeq
11727  1: aeq
11728 
11729 /.(*F)/
11730     \P\Pabc
11731 No match
11732 
11733 /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11734 Capturing subpattern count = 0
11735 Max lookbehind = 1
11736 No options
11737 First char = 't'
11738 Need char = 't'
11739 Subject length lower bound = 18
11740 No starting char list
11741 
11742 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
11743 Capturing subpattern count = 0
11744 Max lookbehind = 1
11745 No options
11746 No first char
11747 No need char
11748 Subject length lower bound = 8
11749 Starting chars: < o t u 
11750 
11751 /a(*SKIP)c|b(*ACCEPT)|/+S!I
11752 Capturing subpattern count = 0
11753 May match empty string
11754 No options
11755 No first char
11756 No need char
11757 Subject length lower bound = -1
11758 No starting char list
11759     a
11760  0: 
11761  0+ 
11762 
11763 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
11764 Capturing subpattern count = 0
11765 No options
11766 No first char
11767 No need char
11768 Subject length lower bound = -1
11769 Starting chars: a b x 
11770     ax
11771  0: x
11772 
11773 'a*(*ACCEPT)b'+
11774     \N\N
11775 No match
11776     abc\N\N
11777  0: a
11778  0+ bc
11779     bbb\N\N 
11780  0: 
11781  0+ bb
11782 
11783 /(*ACCEPT)a/+I
11784 Capturing subpattern count = 0
11785 No options
11786 No first char
11787 No need char
11788     bax
11789  0: 
11790  0+ bax
11791 
11792 /z(*ACCEPT)a/+I
11793 Capturing subpattern count = 0
11794 No options
11795 First char = 'z'
11796 No need char
11797     baxzbx
11798  0: z
11799  0+ bx
11800 
11801 /a(?:.)*?a/ims                                                                  
11802     \Mabbbbbbbbbbbbbbbbbbbbba
11803 Minimum match() limit = 65
11804 Minimum match() recursion limit = 2
11805  0: abbbbbbbbbbbbbbbbbbbbba
11806     
11807 /a(?:.(*THEN))*?a/ims
11808     \Mabbbbbbbbbbbbbbbbbbbbba
11809 Minimum match() limit = 86
11810 Minimum match() recursion limit = 45
11811  0: abbbbbbbbbbbbbbbbbbbbba
11812 
11813 /a(?:.(*THEN:ABC))*?a/ims
11814     \Mabbbbbbbbbbbbbbbbbbbbba
11815 Minimum match() limit = 86
11816 Minimum match() recursion limit = 45
11817  0: abbbbbbbbbbbbbbbbbbbbba
11818 
11819 /^(?>a+)(?>(z+))\w/BZ
11820 ------------------------------------------------------------------
11821         Bra
11822         ^
11823         Once_NC
11824         a++
11825         Ket
11826         Once
11827         CBra 1
11828         z++
11829         Ket
11830         Ket
11831         \w
11832         Ket
11833         End
11834 ------------------------------------------------------------------
11835     aaaazzzzb
11836  0: aaaazzzzb
11837  1: zzzz
11838     ** Failers
11839 No match
11840     aazz  
11841 No match
11842 
11843 /(.)(\1|a(?2))/
11844     bab
11845  0: bab
11846  1: b
11847  2: ab
11848     
11849 /\1|(.)(?R)\1/
11850     cbbbc
11851  0: cbbbc
11852  1: c
11853     
11854 /(.)((?(1)c|a)|a(?2))/
11855     baa  
11856 No match
11857 
11858 /(?P<abn>(?P=abn)xxx)/BZ
11859 ------------------------------------------------------------------
11860         Bra
11861         Once
11862         CBra 1
11863         \1
11864         xxx
11865         Ket
11866         Ket
11867         Ket
11868         End
11869 ------------------------------------------------------------------
11870 
11871 /(a\1z)/BZ
11872 ------------------------------------------------------------------
11873         Bra
11874         Once
11875         CBra 1
11876         a
11877         \1
11878         z
11879         Ket
11880         Ket
11881         Ket
11882         End
11883 ------------------------------------------------------------------
11884 
11885 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
11886      \Maabbccddee
11887 Minimum match() limit = 7
11888 Minimum match() recursion limit = 2
11889  0: aabbccddee
11890 
11891 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
11892      \Maabbccddee
11893 Minimum match() limit = 17
11894 Minimum match() recursion limit = 16
11895  0: aabbccddee
11896  1: aa
11897  2: bb
11898  3: cc
11899  4: dd
11900  5: ee
11901 
11902 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
11903      \Maabbccddee
11904 Minimum match() limit = 13
11905 Minimum match() recursion limit = 10
11906  0: aabbccddee
11907  1: aa
11908  2: cc
11909  3: ee
11910 
11911 /^a\x41z/<JS>
11912     aAz
11913  0: aAz
11914     *** Failers
11915 No match
11916     ax41z
11917 No match
11918 
11919 /^a[m\x41]z/<JS>
11920     aAz
11921  0: aAz
11922 
11923 /^a\x1z/<JS>
11924     ax1z
11925  0: ax1z
11926 
11927 /^a\u0041z/<JS>
11928     aAz
11929  0: aAz
11930     *** Failers
11931 No match
11932     au0041z
11933 No match
11934 
11935 /^a[m\u0041]z/<JS>
11936     aAz
11937  0: aAz
11938 
11939 /^a\u041z/<JS>
11940     au041z
11941  0: au041z
11942     *** Failers
11943 No match
11944     aAz
11945 No match
11946 
11947 /^a\U0041z/<JS>
11948     aU0041z
11949  0: aU0041z
11950     *** Failers
11951 No match
11952     aAz
11953 No match
11954 
11955 /(?(?=c)c|d)++Y/BZ
11956 ------------------------------------------------------------------
11957         Bra
11958         BraPos
11959         Cond
11960         Assert
11961         c
11962         Ket
11963         c
11964         Alt
11965         d
11966         Ket
11967         KetRpos
11968         Y
11969         Ket
11970         End
11971 ------------------------------------------------------------------
11972 
11973 /(?(?=c)c|d)*+Y/BZ
11974 ------------------------------------------------------------------
11975         Bra
11976         Braposzero
11977         BraPos
11978         Cond
11979         Assert
11980         c
11981         Ket
11982         c
11983         Alt
11984         d
11985         Ket
11986         KetRpos
11987         Y
11988         Ket
11989         End
11990 ------------------------------------------------------------------
11991 
11992 /a[\NB]c/
11993 Failed: \N is not supported in a class at offset 3
11994 
11995 /a[B-\Nc]/ 
11996 Failed: invalid range in character class at offset 5
11997 
11998 /a[B\Nc]/ 
11999 Failed: \N is not supported in a class at offset 4
12000 
12001 /(a)(?2){0,1999}?(b)/
12002 
12003 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
12004 
12005 /--- This test, with something more complicated than individual letters, causes
12006 different behaviour in Perl. Perhaps it disables some optimization; no tag is
12007 passed back for the failures, whereas in PCRE there is a tag. ---/
12008     
12009 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/xK
12010     AABC
12011  0: AB
12012  1: A
12013  2: B
12014 MK: A
12015     XXYZ 
12016  0: XXY
12017  1: <unset>
12018  2: <unset>
12019  3: X
12020  4: X
12021  5: Y
12022 MK: B
12023     ** Failers
12024 No match
12025     XAQQ  
12026 No match, mark = A
12027     XAQQXZZ  
12028 No match, mark = A
12029     AXQQQ 
12030 No match, mark = A
12031     AXXQQQ 
12032 No match, mark = B
12033 
12034 /-- Perl doesn't give marks for these, though it does if the alternatives are
12035 replaced by single letters. --/
12036     
12037 /(b|q)(*:m)f|a(*:n)w/K
12038     aw 
12039  0: aw
12040 MK: n
12041     ** Failers 
12042 No match, mark = n
12043     abc
12044 No match, mark = m
12045 
12046 /(q|b)(*:m)f|a(*:n)w/K
12047     aw 
12048  0: aw
12049 MK: n
12050     ** Failers 
12051 No match, mark = n
12052     abc
12053 No match, mark = m
12054 
12055 /-- After a partial match, the behaviour is as for a failure. --/
12056 
12057 /^a(*:X)bcde/K
12058    abc\P
12059 Partial match, mark=X: abc
12060    
12061 /-- These are here because Perl doesn't return a mark, except for the first --/
12062 
12063 /(?=(*:x))(q|)/K+
12064     abc
12065  0: 
12066  0+ abc
12067  1: 
12068 MK: x
12069 
12070 /(?=(*:x))((*:y)q|)/K+
12071     abc
12072  0: 
12073  0+ abc
12074  1: 
12075 MK: x
12076 
12077 /(?=(*:x))(?:(*:y)q|)/K+
12078     abc
12079  0: 
12080  0+ abc
12081 MK: x
12082 
12083 /(?=(*:x))(?>(*:y)q|)/K+
12084     abc
12085  0: 
12086  0+ abc
12087 MK: x
12088 
12089 /(?=a(*:x))(?!a(*:y)c)/K+
12090     ab
12091  0: 
12092  0+ ab
12093 MK: x
12094 
12095 /(?=a(*:x))(?=a(*:y)c|)/K+
12096     ab
12097  0: 
12098  0+ ab
12099 MK: x
12100 
12101 /(..)\1/
12102     ab\P
12103 Partial match: ab
12104     aba\P
12105 Partial match: aba
12106     abab\P
12107  0: abab
12108  1: ab
12109 
12110 /(..)\1/i
12111     ab\P
12112 Partial match: ab
12113     abA\P
12114 Partial match: abA
12115     aBAb\P
12116  0: aBAb
12117  1: aB
12118 
12119 /(..)\1{2,}/
12120     ab\P
12121 Partial match: ab
12122     aba\P
12123 Partial match: aba
12124     abab\P
12125 Partial match: abab
12126     ababa\P
12127 Partial match: ababa
12128     ababab\P
12129  0: ababab
12130  1: ab
12131     ababab\P\P
12132 Partial match: ababab
12133     abababa\P
12134  0: ababab
12135  1: ab
12136     abababa\P\P
12137 Partial match: abababa
12138 
12139 /(..)\1{2,}/i
12140     ab\P
12141 Partial match: ab
12142     aBa\P
12143 Partial match: aBa
12144     aBAb\P
12145 Partial match: aBAb
12146     AbaBA\P
12147 Partial match: AbaBA
12148     abABAb\P
12149  0: abABAb
12150  1: ab
12151     aBAbaB\P\P
12152 Partial match: aBAbaB
12153     abABabA\P
12154  0: abABab
12155  1: ab
12156     abaBABa\P\P
12157 Partial match: abaBABa
12158 
12159 /(..)\1{2,}?x/i
12160     ab\P
12161 Partial match: ab
12162     abA\P
12163 Partial match: abA
12164     aBAb\P
12165 Partial match: aBAb
12166     abaBA\P
12167 Partial match: abaBA
12168     abAbaB\P
12169 Partial match: abAbaB
12170     abaBabA\P
12171 Partial match: abaBabA
12172     abAbABaBx\P
12173  0: abAbABaBx
12174  1: ab
12175 
12176 /^(..)\1/
12177     aba\P
12178 Partial match: aba
12179 
12180 /^(..)\1{2,3}x/
12181     aba\P
12182 Partial match: aba
12183     ababa\P
12184 Partial match: ababa
12185     ababa\P\P
12186 Partial match: ababa
12187     abababx
12188  0: abababx
12189  1: ab
12190     ababababx  
12191  0: ababababx
12192  1: ab
12193 
12194 /^(..)\1{2,3}?x/
12195     aba\P
12196 Partial match: aba
12197     ababa\P
12198 Partial match: ababa
12199     ababa\P\P
12200 Partial match: ababa
12201     abababx
12202  0: abababx
12203  1: ab
12204     ababababx  
12205  0: ababababx
12206  1: ab
12207     
12208 /^(..)(\1{2,3})ab/
12209     abababab
12210  0: abababab
12211  1: ab
12212  2: abab
12213 
12214 /^\R/
12215     \r\P
12216  0: \x0d
12217     \r\P\P
12218 Partial match: \x0d
12219     
12220 /^\R{2,3}x/
12221     \r\P
12222 Partial match: \x0d
12223     \r\P\P
12224 Partial match: \x0d
12225     \r\r\P 
12226 Partial match: \x0d\x0d
12227     \r\r\P\P
12228 Partial match: \x0d\x0d
12229     \r\r\r\P  
12230 Partial match: \x0d\x0d\x0d
12231     \r\r\r\P\P
12232 Partial match: \x0d\x0d\x0d
12233     \r\rx
12234  0: \x0d\x0dx
12235     \r\r\rx    
12236  0: \x0d\x0d\x0dx
12237 
12238 /^\R{2,3}?x/
12239     \r\P
12240 Partial match: \x0d
12241     \r\P\P
12242 Partial match: \x0d
12243     \r\r\P 
12244 Partial match: \x0d\x0d
12245     \r\r\P\P
12246 Partial match: \x0d\x0d
12247     \r\r\r\P  
12248 Partial match: \x0d\x0d\x0d
12249     \r\r\r\P\P
12250 Partial match: \x0d\x0d\x0d
12251     \r\rx
12252  0: \x0d\x0dx
12253     \r\r\rx    
12254  0: \x0d\x0d\x0dx
12255     
12256 /^\R?x/
12257     \r\P
12258 Partial match: \x0d
12259     \r\P\P 
12260 Partial match: \x0d
12261     x
12262  0: x
12263     \rx  
12264  0: \x0dx
12265 
12266 /^\R+x/
12267     \r\P
12268 Partial match: \x0d
12269     \r\P\P 
12270 Partial match: \x0d
12271     \r\n\P
12272 Partial match: \x0d\x0a
12273     \r\n\P\P  
12274 Partial match: \x0d\x0a
12275     \rx  
12276  0: \x0dx
12277 
12278 /^a$/<CRLF>
12279     a\r\P
12280 Partial match: a\x0d
12281     a\r\P\P 
12282 Partial match: a\x0d
12283 
12284 /^a$/m<CRLF>
12285     a\r\P
12286 Partial match: a\x0d
12287     a\r\P\P 
12288 Partial match: a\x0d
12289 
12290 /^(a$|a\r)/<CRLF>
12291     a\r\P
12292  0: a\x0d
12293  1: a\x0d
12294     a\r\P\P 
12295 Partial match: a\x0d
12296 
12297 /^(a$|a\r)/m<CRLF>
12298     a\r\P
12299  0: a\x0d
12300  1: a\x0d
12301     a\r\P\P 
12302 Partial match: a\x0d
12303 
12304 /./<CRLF>
12305     \r\P
12306  0: \x0d
12307     \r\P\P 
12308 Partial match: \x0d
12309   
12310 /.{2,3}/<CRLF>
12311     \r\P 
12312 Partial match: \x0d
12313     \r\P\P
12314 Partial match: \x0d
12315     \r\r\P
12316  0: \x0d\x0d
12317     \r\r\P\P
12318 Partial match: \x0d\x0d
12319     \r\r\r\P
12320  0: \x0d\x0d\x0d
12321     \r\r\r\P\P     
12322 Partial match: \x0d\x0d\x0d
12323 
12324 /.{2,3}?/<CRLF>
12325     \r\P 
12326 Partial match: \x0d
12327     \r\P\P
12328 Partial match: \x0d
12329     \r\r\P
12330  0: \x0d\x0d
12331     \r\r\P\P
12332 Partial match: \x0d\x0d
12333     \r\r\r\P
12334  0: \x0d\x0d
12335     \r\r\r\P\P     
12336  0: \x0d\x0d
12337 
12338 "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12339     ABCDGHI\O03
12340 Matched, but too many substrings
12341  0: ABCD
12342     
12343 /-- These are all run as real matches in test 1; here we are just checking the
12344 settings of the anchored and startline bits. --/ 
12345 
12346 /(?>.*?a)(?<=ba)/I
12347 Capturing subpattern count = 0
12348 Max lookbehind = 2
12349 No options
12350 No first char
12351 Need char = 'a'
12352 
12353 /(?:.*?a)(?<=ba)/I
12354 Capturing subpattern count = 0
12355 Max lookbehind = 2
12356 No options
12357 First char at start or follows newline
12358 Need char = 'a'
12359 
12360 /.*?a(*PRUNE)b/I
12361 Capturing subpattern count = 0
12362 No options
12363 No first char
12364 Need char = 'b'
12365 
12366 /.*?a(*PRUNE)b/sI
12367 Capturing subpattern count = 0
12368 Options: dotall
12369 No first char
12370 Need char = 'b'
12371 
12372 /^a(*PRUNE)b/sI
12373 Capturing subpattern count = 0
12374 Options: anchored dotall
12375 No first char
12376 No need char
12377 
12378 /.*?a(*SKIP)b/I
12379 Capturing subpattern count = 0
12380 No options
12381 No first char
12382 Need char = 'b'
12383 
12384 /(?>.*?a)b/sI
12385 Capturing subpattern count = 0
12386 Options: dotall
12387 No first char
12388 Need char = 'b'
12389 
12390 /(?>.*?a)b/I
12391 Capturing subpattern count = 0
12392 No options
12393 No first char
12394 Need char = 'b'
12395 
12396 /(?>^a)b/sI
12397 Capturing subpattern count = 0
12398 Options: anchored dotall
12399 No first char
12400 No need char
12401 
12402 /(?>.*?)(?<=(abcd)|(wxyz))/I
12403 Capturing subpattern count = 2
12404 Max lookbehind = 4
12405 May match empty string
12406 No options
12407 No first char
12408 No need char
12409 
12410 /(?>.*)(?<=(abcd)|(wxyz))/I
12411 Capturing subpattern count = 2
12412 Max lookbehind = 4
12413 May match empty string
12414 No options
12415 No first char
12416 No need char
12417 
12418 "(?>.*)foo"I
12419 Capturing subpattern count = 0
12420 No options
12421 No first char
12422 Need char = 'o'
12423 
12424 "(?>.*?)foo"I
12425 Capturing subpattern count = 0
12426 No options
12427 No first char
12428 Need char = 'o'
12429 
12430 /(?>^abc)/mI
12431 Capturing subpattern count = 0
12432 Options: multiline
12433 First char at start or follows newline
12434 Need char = 'c'
12435 
12436 /(?>.*abc)/mI
12437 Capturing subpattern count = 0
12438 Options: multiline
12439 No first char
12440 Need char = 'c'
12441 
12442 /(?:.*abc)/mI
12443 Capturing subpattern count = 0
12444 Options: multiline
12445 First char at start or follows newline
12446 Need char = 'c'
12447 
12448 /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12449 
12450 /.?/S-I
12451 Capturing subpattern count = 0
12452 May match empty string
12453 No options
12454 No first char
12455 No need char
12456 Study returned NULL
12457 
12458 /.?/S!I
12459 Capturing subpattern count = 0
12460 May match empty string
12461 No options
12462 No first char
12463 No need char
12464 Subject length lower bound = -1
12465 No starting char list
12466 
12467 /(?:(a)+(?C1)bb|aa(?C2)b)/
12468     aab\C+
12469 Callout 1: last capture = 1
12470  0: <unset>
12471  1: a
12472 --->aab
12473     ^ ^     b
12474 Callout 1: last capture = 1
12475  0: <unset>
12476  1: a
12477 --->aab
12478     ^^      b
12479 Callout 2: last capture = -1
12480  0: <unset>
12481 --->aab
12482     ^ ^     b
12483  0: aab
12484    
12485 /(?:(a)++(?C1)bb|aa(?C2)b)/
12486     aab\C+ 
12487 Callout 1: last capture = 1
12488  0: <unset>
12489  1: a
12490 --->aab
12491     ^ ^     b
12492 Callout 2: last capture = -1
12493  0: <unset>
12494 --->aab
12495     ^ ^     b
12496  0: aab
12497     
12498 /(?:(?>(a))(?C1)bb|aa(?C2)b)/
12499     aab\C+ 
12500 Callout 1: last capture = 1
12501  0: <unset>
12502  1: a
12503 --->aab
12504     ^^      b
12505 Callout 2: last capture = -1
12506  0: <unset>
12507 --->aab
12508     ^ ^     b
12509  0: aab
12510 
12511 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/                                                
12512     aab\C+ 
12513 Callout 1: last capture = -1
12514  0: <unset>
12515 --->aab
12516     ^^      x
12517 Callout 1: last capture = -1
12518  0: <unset>
12519 --->aab
12520      ^^     x
12521 Callout 2: last capture = -1
12522  0: <unset>
12523 --->aab
12524      ^ ^    )
12525  0: ab
12526 
12527 /(?1)(?C1)((a)(?C2)){0}/   
12528     aab\C+ 
12529 Callout 2: last capture = 2
12530  0: <unset>
12531  1: <unset>
12532  2: a
12533 --->aab
12534     ^^      )
12535 Callout 1: last capture = -1
12536  0: <unset>
12537 --->aab
12538     ^^      ((a)(?C2)){0}
12539  0: a
12540 
12541 /(?:(a)+(?C1)bb|aa(?C2)b)++/
12542     aab\C+
12543 Callout 1: last capture = 1
12544  0: <unset>
12545  1: a
12546 --->aab
12547     ^ ^     b
12548 Callout 1: last capture = 1
12549  0: <unset>
12550  1: a
12551 --->aab
12552     ^^      b
12553 Callout 2: last capture = -1
12554  0: <unset>
12555 --->aab
12556     ^ ^     b
12557  0: aab
12558     aab\C+\O2
12559 Callout 1: last capture = 1
12560  0: <unset>
12561 --->aab
12562     ^ ^     b
12563 Callout 1: last capture = 1
12564  0: <unset>
12565 --->aab
12566     ^^      b
12567 Callout 2: last capture = -1
12568  0: <unset>
12569 --->aab
12570     ^ ^     b
12571  0: aab
12572 
12573 /(ab)x|ab/
12574     ab\O3
12575  0: ab
12576     ab\O2 
12577  0: ab
12578   
12579 /(ab)/
12580     ab\O3
12581 Matched, but too many substrings
12582  0: ab
12583     ab\O2 
12584 Matched, but too many substrings
12585  0: ab
12586     
12587 /(?<=123)(*MARK:xx)abc/K
12588     xxxx123a\P\P
12589 Partial match at offset 7, mark=xx: 123a
12590     xxxx123a\P
12591 Partial match at offset 7, mark=xx: 123a
12592     
12593 /123\Kabc/
12594     xxxx123a\P\P
12595 Partial match: 123a
12596     xxxx123a\P
12597 Partial match: 123a
12598 
12599 /^(?(?=a)aa|bb)/C
12600     bb
12601 --->bb
12602  +0 ^      ^
12603  +1 ^      (?(?=a)aa|bb)
12604  +3 ^      (?=a)
12605  +6 ^      a
12606 +11 ^      b
12607 +12 ^^     b
12608 +13 ^ ^    )
12609 +14 ^ ^    
12610  0: bb
12611 
12612 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
12613     bb
12614 --->bb
12615   1 ^      ^
12616   2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
12617  99 ^      (?=(?C3)a(?C4))
12618   3 ^      a
12619   8 ^      b
12620   9 ^^     b
12621  10 ^ ^    )
12622  11 ^ ^    
12623  0: bb
12624 
12625 /-- Perl seems to have a bug with this one --/
12626 
12627 /aaaaa(*COMMIT)(*PRUNE)b|a+c/
12628     aaaaaac
12629  0: aaaac
12630     
12631 /-- Here are some that Perl treats differently because of the way it handles
12632 backtracking verbs. --/
12633 
12634  /(?!a(*COMMIT)b)ac|ad/
12635      ac
12636  0: ac
12637      ad 
12638  0: ad
12639 
12640 /^(?!a(*THEN)b|ac)../
12641      ac
12642 No match
12643      ad 
12644  0: ad
12645 
12646 /^(?=a(*THEN)b|ac)/
12647     ac
12648  0: 
12649     
12650 /\A.*?(?:a|b(*THEN)c)/
12651     ba
12652  0: ba
12653 
12654 /\A.*?(?:a|b(*THEN)c)++/
12655     ba
12656  0: ba
12657 
12658 /\A.*?(?:a|b(*THEN)c|d)/
12659     ba
12660  0: ba
12661 
12662 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
12663     aac 
12664  0: aac
12665 
12666 /\A.*?(a|b(*THEN)c)/
12667     ba
12668  0: ba
12669  1: a
12670 
12671 /^(A(*THEN)B|A(*THEN)D)/
12672     AD           
12673  0: AD
12674  1: AD
12675     
12676 /(?!b(*THEN)a)bn|bnn/
12677     bnn
12678  0: bn
12679 
12680 /(?(?=b(*SKIP)a)bn|bnn)/
12681     bnn
12682 No match
12683 
12684 /(?=b(*THEN)a|)bn|bnn/
12685     bnn
12686  0: bn
12687 
12688 /-------------------------/ 
12689 
12690 /(*LIMIT_MATCH=12bc)abc/
12691 Failed: (*VERB) not recognized or malformed at offset 7
12692 
12693 /(*LIMIT_MATCH=4294967290)abc/
12694 Failed: (*VERB) not recognized or malformed at offset 7
12695 
12696 /(*LIMIT_RECURSION=4294967280)abc/I
12697 Capturing subpattern count = 0
12698 Recursion limit = 4294967280
12699 No options
12700 First char = 'a'
12701 Need char = 'c'
12702 
12703 /(a+)*zz/
12704     aaaaaaaaaaaaaz
12705 No match
12706     aaaaaaaaaaaaaz\q3000
12707 Error -8 (match limit exceeded)
12708 
12709 /(a+)*zz/S-
12710     aaaaaaaaaaaaaz\Q10 
12711 Error -21 (recursion limit exceeded)
12712 
12713 /(*LIMIT_MATCH=3000)(a+)*zz/I
12714 Capturing subpattern count = 1
12715 Match limit = 3000
12716 No options
12717 No first char
12718 Need char = 'z'
12719     aaaaaaaaaaaaaz
12720 Error -8 (match limit exceeded)
12721     aaaaaaaaaaaaaz\q60000
12722 Error -8 (match limit exceeded)
12723 
12724 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
12725 Capturing subpattern count = 1
12726 Match limit = 3000
12727 No options
12728 No first char
12729 Need char = 'z'
12730     aaaaaaaaaaaaaz
12731 Error -8 (match limit exceeded)
12732 
12733 /(*LIMIT_MATCH=60000)(a+)*zz/I
12734 Capturing subpattern count = 1
12735 Match limit = 60000
12736 No options
12737 No first char
12738 Need char = 'z'
12739     aaaaaaaaaaaaaz
12740 No match
12741     aaaaaaaaaaaaaz\q3000
12742 Error -8 (match limit exceeded)
12743 
12744 /(*LIMIT_RECURSION=10)(a+)*zz/IS-
12745 Capturing subpattern count = 1
12746 Recursion limit = 10
12747 No options
12748 No first char
12749 Need char = 'z'
12750 Subject length lower bound = 2
12751 Starting chars: a z 
12752     aaaaaaaaaaaaaz
12753 Error -21 (recursion limit exceeded)
12754     aaaaaaaaaaaaaz\Q1000
12755 Error -21 (recursion limit exceeded)
12756 
12757 /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12758 Capturing subpattern count = 1
12759 Recursion limit = 10
12760 No options
12761 No first char
12762 Need char = 'z'
12763 Subject length lower bound = 2
12764 Starting chars: a z 
12765     aaaaaaaaaaaaaz
12766 Error -21 (recursion limit exceeded)
12767 
12768 /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12769 Capturing subpattern count = 1
12770 Recursion limit = 1000
12771 No options
12772 No first char
12773 Need char = 'z'
12774 Subject length lower bound = 2
12775 Starting chars: a z 
12776     aaaaaaaaaaaaaz
12777 No match
12778     aaaaaaaaaaaaaz\Q10
12779 Error -21 (recursion limit exceeded)
12780 
12781 /-- This test causes a segfault with Perl 5.18.0 --/
12782 
12783 /^(?=(a)){0}b(?1)/
12784     backgammon
12785  0: ba
12786 
12787 /(?|(?<n>f)|(?<n>b))/JI
12788 Capturing subpattern count = 1
12789 Named capturing subpatterns:
12790   n   1
12791 Options: dupnames
12792 No first char
12793 No need char
12794 
12795 /(?<a>abc)(?<a>z)\k<a>()/JDZS
12796 ------------------------------------------------------------------
12797         Bra
12798         CBra 1
12799         abc
12800         Ket
12801         CBra 2
12802         z
12803         Ket
12804         \k<a>2
12805         CBra 3
12806         Ket
12807         Ket
12808         End
12809 ------------------------------------------------------------------
12810 Capturing subpattern count = 3
12811 Max back reference = 2
12812 Named capturing subpatterns:
12813   a   1
12814   a   2
12815 Options: dupnames
12816 First char = 'a'
12817 Need char = 'z'
12818 Subject length lower bound = 5
12819 No starting char list
12820 
12821 /a*[bcd]/BZ
12822 ------------------------------------------------------------------
12823         Bra
12824         a*+
12825         [b-d]
12826         Ket
12827         End
12828 ------------------------------------------------------------------
12829 
12830 /[bcd]*a/BZ
12831 ------------------------------------------------------------------
12832         Bra
12833         [b-d]*+
12834         a
12835         Ket
12836         End
12837 ------------------------------------------------------------------
12838 
12839 /-- A complete set of tests for auto-possessification of character types --/
12840 
12841 /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx
12842 ------------------------------------------------------------------
12843         Bra
12844         \D+
12845         \D
12846         \D++
12847         \d
12848         \D+
12849         \S
12850         \D+
12851         \s
12852         \D+
12853         \W
12854         \D+
12855         \w
12856         \D+
12857         Any
12858         \D+
12859         AllAny
12860         \D+
12861         \R
12862         \D+
12863         \H
12864         \D+
12865         \h
12866         \D+
12867         \V
12868         \D+
12869         \v
12870         \D+
12871         \Z
12872         \D++
12873         \z
12874         \D+
12875         $
12876         Ket
12877         End
12878 ------------------------------------------------------------------
12879 
12880 /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx
12881 ------------------------------------------------------------------
12882         Bra
12883         \d++
12884         \D
12885         \d+
12886         \d
12887         \d+
12888         \S
12889         \d++
12890         \s
12891         \d++
12892         \W
12893         \d+
12894         \w
12895         \d+
12896         Any
12897         \d+
12898         AllAny
12899         \d++
12900         \R
12901         \d+
12902         \H
12903         \d++
12904         \h
12905         \d+
12906         \V
12907         \d++
12908         \v
12909         \d++
12910         \Z
12911         \d++
12912         \z
12913         \d++
12914         $
12915         Ket
12916         End
12917 ------------------------------------------------------------------
12918 
12919 /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx
12920 ------------------------------------------------------------------
12921         Bra
12922         \S+
12923         \D
12924         \S+
12925         \d
12926         \S+
12927         \S
12928         \S++
12929         \s
12930         \S+
12931         \W
12932         \S+
12933         \w
12934         \S+
12935         Any
12936         \S+
12937         AllAny
12938         \S++
12939         \R
12940         \S+
12941         \H
12942         \S++
12943         \h
12944         \S+
12945         \V
12946         \S++
12947         \v
12948         \S++
12949         \Z
12950         \S++
12951         \z
12952         \S++
12953         $
12954         Ket
12955         End
12956 ------------------------------------------------------------------
12957 
12958 /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx
12959 ------------------------------------------------------------------
12960         Bra
12961         \s+
12962         \D
12963         \s++
12964         \d
12965         \s++
12966         \S
12967         \s+
12968         \s
12969         \s+
12970         \W
12971         \s++
12972         \w
12973         \s+
12974         Any
12975         \s+
12976         AllAny
12977         \s+
12978         \R
12979         \s+
12980         \H
12981         \s+
12982         \h
12983         \s+
12984         \V
12985         \s+
12986         \v
12987         \s+
12988         \Z
12989         \s++
12990         \z
12991         \s+
12992         $
12993         Ket
12994         End
12995 ------------------------------------------------------------------
12996 
12997 /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx
12998 ------------------------------------------------------------------
12999         Bra
13000         \W+
13001         \D
13002         \W++
13003         \d
13004         \W+
13005         \S
13006         \W+
13007         \s
13008         \W+
13009         \W
13010         \W++
13011         \w
13012         \W+
13013         Any
13014         \W+
13015         AllAny
13016         \W+
13017         \R
13018         \W+
13019         \H
13020         \W+
13021         \h
13022         \W+
13023         \V
13024         \W+
13025         \v
13026         \W+
13027         \Z
13028         \W++
13029         \z
13030         \W+
13031         $
13032         Ket
13033         End
13034 ------------------------------------------------------------------
13035 
13036 /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx
13037 ------------------------------------------------------------------
13038         Bra
13039         \w+
13040         \D
13041         \w+
13042         \d
13043         \w+
13044         \S
13045         \w++
13046         \s
13047         \w++
13048         \W
13049         \w+
13050         \w
13051         \w+
13052         Any
13053         \w+
13054         AllAny
13055         \w++
13056         \R
13057         \w+
13058         \H
13059         \w++
13060         \h
13061         \w+
13062         \V
13063         \w++
13064         \v
13065         \w++
13066         \Z
13067         \w++
13068         \z
13069         \w++
13070         $
13071         Ket
13072         End
13073 ------------------------------------------------------------------
13074 
13075 /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx
13076 ------------------------------------------------------------------
13077         Bra
13078         AllAny+
13079         \D
13080         AllAny+
13081         \d
13082         AllAny+
13083         \S
13084         AllAny+
13085         \s
13086         AllAny+
13087         \W
13088         AllAny+
13089         \w
13090         AllAny+
13091         Any
13092         AllAny+
13093         AllAny
13094         AllAny+
13095         \R
13096         AllAny+
13097         \H
13098         AllAny+
13099         \h
13100         AllAny+
13101         \V
13102         AllAny+
13103         \v
13104         AllAny+
13105         \Z
13106         AllAny++
13107         \z
13108         AllAny+
13109         $
13110         Ket
13111         End
13112 ------------------------------------------------------------------
13113 
13114 /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx
13115 ------------------------------------------------------------------
13116         Bra
13117         \R+
13118         \D
13119         \R++
13120         \d
13121         \R+
13122         \S
13123         \R++
13124         \s
13125         \R+
13126         \W
13127         \R++
13128         \w
13129         \R++
13130         Any
13131         \R+
13132         AllAny
13133         \R+
13134         \R
13135         \R+
13136         \H
13137         \R++
13138         \h
13139         \R+
13140         \V
13141         \R+
13142         \v
13143         \R+
13144         \Z
13145         \R++
13146         \z
13147         \R+
13148         $
13149         Ket
13150         End
13151 ------------------------------------------------------------------
13152 
13153 /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx
13154 ------------------------------------------------------------------
13155         Bra
13156         \H+
13157         \D
13158         \H+
13159         \d
13160         \H+
13161         \S
13162         \H+
13163         \s
13164         \H+
13165         \W
13166         \H+
13167         \w
13168         \H+
13169         Any
13170         \H+
13171         AllAny
13172         \H+
13173         \R
13174         \H+
13175         \H
13176         \H++
13177         \h
13178         \H+
13179         \V
13180         \H+
13181         \v
13182         \H+
13183         \Z
13184         \H++
13185         \z
13186         \H+
13187         $
13188         Ket
13189         End
13190 ------------------------------------------------------------------
13191 
13192 /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx
13193 ------------------------------------------------------------------
13194         Bra
13195         \h+
13196         \D
13197         \h++
13198         \d
13199         \h++
13200         \S
13201         \h+
13202         \s
13203         \h+
13204         \W
13205         \h++
13206         \w
13207         \h+
13208         Any
13209         \h+
13210         AllAny
13211         \h++
13212         \R
13213         \h++
13214         \H
13215         \h+
13216         \h
13217         \h+
13218         \V
13219         \h++
13220         \v
13221         \h+
13222         \Z
13223         \h++
13224         \z
13225         \h+
13226         $
13227         Ket
13228         End
13229 ------------------------------------------------------------------
13230 
13231 /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx
13232 ------------------------------------------------------------------
13233         Bra
13234         \V+
13235         \D
13236         \V+
13237         \d
13238         \V+
13239         \S
13240         \V+
13241         \s
13242         \V+
13243         \W
13244         \V+
13245         \w
13246         \V+
13247         Any
13248         \V+
13249         AllAny
13250         \V++
13251         \R
13252         \V+
13253         \H
13254         \V+
13255         \h
13256         \V+
13257         \V
13258         \V++
13259         \v
13260         \V+
13261         \Z
13262         \V++
13263         \z
13264         \V+
13265         $
13266         Ket
13267         End
13268 ------------------------------------------------------------------
13269 
13270 /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx
13271 ------------------------------------------------------------------
13272         Bra
13273         \v+
13274         \D
13275         \v++
13276         \d
13277         \v++
13278         \S
13279         \v+
13280         \s
13281         \v+
13282         \W
13283         \v++
13284         \w
13285         \v+
13286         Any
13287         \v+
13288         AllAny
13289         \v+
13290         \R
13291         \v+
13292         \H
13293         \v++
13294         \h
13295         \v++
13296         \V
13297         \v+
13298         \v
13299         \v+
13300         \Z
13301         \v++
13302         \z
13303         \v+
13304         $
13305         Ket
13306         End
13307 ------------------------------------------------------------------
13308 
13309 / a+\D  a+\d  a+\S  a+\s  a+\W  a+\w  a+.  a+\C  a+\R  a+\H  a+\h  a+\V  a+\v  a+\Z  a+\z  a+$/BZx
13310 ------------------------------------------------------------------
13311         Bra
13312         a+
13313         \D
13314         a++
13315         \d
13316         a+
13317         \S
13318         a++
13319         \s
13320         a++
13321         \W
13322         a+
13323         \w
13324         a+
13325         Any
13326         a+
13327         AllAny
13328         a++
13329         \R
13330         a+
13331         \H
13332         a++
13333         \h
13334         a+
13335         \V
13336         a++
13337         \v
13338         a++
13339         \Z
13340         a++
13341         \z
13342         a++
13343         $
13344         Ket
13345         End
13346 ------------------------------------------------------------------
13347 
13348 /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx
13349 ------------------------------------------------------------------
13350         Bra
13351         \x0a+
13352         \D
13353         \x0a++
13354         \d
13355         \x0a++
13356         \S
13357         \x0a+
13358         \s
13359         \x0a+
13360         \W
13361         \x0a++
13362         \w
13363         \x0a+
13364         Any
13365         \x0a+
13366         AllAny
13367         \x0a+
13368         \R
13369         \x0a+
13370         \H
13371         \x0a++
13372         \h
13373         \x0a++
13374         \V
13375         \x0a+
13376         \v
13377         \x0a+
13378         \Z
13379         \x0a++
13380         \z
13381         \x0a+
13382         $
13383         Ket
13384         End
13385 ------------------------------------------------------------------
13386 
13387 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZx
13388 ------------------------------------------------------------------
13389         Bra
13390         Any+
13391         \D
13392         Any+
13393         \d
13394         Any+
13395         \S
13396         Any+
13397         \s
13398         Any+
13399         \W
13400         Any+
13401         \w
13402         Any+
13403         Any
13404         Any+
13405         AllAny
13406         Any++
13407         \R
13408         Any+
13409         \H
13410         Any+
13411         \h
13412         Any+
13413         \V
13414         Any+
13415         \v
13416         Any+
13417         \Z
13418         Any++
13419         \z
13420         Any+
13421         $
13422         Ket
13423         End
13424 ------------------------------------------------------------------
13425 
13426 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZxs
13427 ------------------------------------------------------------------
13428         Bra
13429         AllAny+
13430         \D
13431         AllAny+
13432         \d
13433         AllAny+
13434         \S
13435         AllAny+
13436         \s
13437         AllAny+
13438         \W
13439         AllAny+
13440         \w
13441         AllAny+
13442         AllAny
13443         AllAny+
13444         AllAny
13445         AllAny+
13446         \R
13447         AllAny+
13448         \H
13449         AllAny+
13450         \h
13451         AllAny+
13452         \V
13453         AllAny+
13454         \v
13455         AllAny+
13456         \Z
13457         AllAny++
13458         \z
13459         AllAny+
13460         $
13461         Ket
13462         End
13463 ------------------------------------------------------------------
13464 
13465 /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$   a+$  \n+$   .+$  .+$/BZxm
13466 ------------------------------------------------------------------
13467         Bra
13468         \D+
13469      /m $
13470         \d++
13471      /m $
13472         \S++
13473      /m $
13474         \s+
13475      /m $
13476         \W+
13477      /m $
13478         \w++
13479      /m $
13480         AllAny+
13481      /m $
13482         \R+
13483      /m $
13484         \H+
13485      /m $
13486         \h+
13487      /m $
13488         \V+
13489      /m $
13490         \v+
13491      /m $
13492         a+
13493      /m $
13494         \x0a+
13495      /m $
13496         Any+
13497      /m $
13498         Any+
13499      /m $
13500         Ket
13501         End
13502 ------------------------------------------------------------------
13503 
13504 /(?=a+)a(a+)++a/BZ
13505 ------------------------------------------------------------------
13506         Bra
13507         Assert
13508         a++
13509         Ket
13510         a
13511         CBraPos 1
13512         a++
13513         KetRpos
13514         a
13515         Ket
13516         End
13517 ------------------------------------------------------------------
13518 
13519 /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
13520 ------------------------------------------------------------------
13521         Bra
13522         a++
13523         CBra 1
13524         bb
13525         Alt
13526         cc
13527         Ket
13528         a++
13529         Bra
13530         bb
13531         Alt
13532         cc
13533         Ket
13534         a++
13535         Once_NC
13536         bb
13537         Alt
13538         cc
13539         Ket
13540         a++
13541         Bra
13542         bb
13543         Alt
13544         cc
13545         KetRmax
13546         a+
13547         CBra 2
13548         aa
13549         Ket
13550         a+
13551         Bra
13552         bb
13553         Alt
13554         aa
13555         Ket
13556         Ket
13557         End
13558 ------------------------------------------------------------------
13559 
13560 /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
13561 ------------------------------------------------------------------
13562         Bra
13563         a++
13564         Brazero
13565         CBra 1
13566         bb
13567         Alt
13568         cc
13569         Ket
13570         #
13571         a++
13572         Braminzero
13573         Bra
13574         bb
13575         Alt
13576         cc
13577         Ket
13578         #
13579         a++
13580         Once
13581         Brazero
13582         Bra
13583         bb
13584         Alt
13585         cc
13586         Ket
13587         Ket
13588         #
13589         a++
13590         Brazero
13591         Bra
13592         bb
13593         Alt
13594         cc
13595         KetRmax
13596         #
13597         a+
13598         Brazero
13599         CBra 2
13600         bb
13601         Alt
13602         cc
13603         Ket
13604         a#
13605         a+
13606         Brazero
13607         Bra
13608         aa
13609         Ket
13610         Ket
13611         End
13612 ------------------------------------------------------------------
13613 
13614 /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
13615 ------------------------------------------------------------------
13616         Bra
13617         a+
13618         Brazero
13619         Bra
13620         bb
13621         Ket
13622         a#
13623         a++
13624         Bra
13625         Alt
13626         Alt
13627         Alt
13628         Ket
13629         #
13630         a+
13631         Bra
13632         Alt
13633         b
13634         Ket
13635         a#
13636         a+
13637         Brazero
13638         Bra
13639         Alt
13640         Alt
13641         Alt
13642         Ket
13643         a
13644         Ket
13645         End
13646 ------------------------------------------------------------------
13647 
13648 /[ab]*/BZ
13649 ------------------------------------------------------------------
13650         Bra
13651         [ab]*+
13652         Ket
13653         End
13654 ------------------------------------------------------------------
13655     aaaa
13656  0: aaaa
13657 
13658 /[ab]*?/BZ
13659 ------------------------------------------------------------------
13660         Bra
13661         [ab]*?
13662         Ket
13663         End
13664 ------------------------------------------------------------------
13665     aaaa
13666  0: 
13667 
13668 /[ab]?/BZ
13669 ------------------------------------------------------------------
13670         Bra
13671         [ab]?+
13672         Ket
13673         End
13674 ------------------------------------------------------------------
13675     aaaa
13676  0: a
13677 
13678 /[ab]??/BZ
13679 ------------------------------------------------------------------
13680         Bra
13681         [ab]??
13682         Ket
13683         End
13684 ------------------------------------------------------------------
13685     aaaa
13686  0: 
13687 
13688 /[ab]+/BZ
13689 ------------------------------------------------------------------
13690         Bra
13691         [ab]++
13692         Ket
13693         End
13694 ------------------------------------------------------------------
13695     aaaa
13696  0: aaaa
13697 
13698 /[ab]+?/BZ
13699 ------------------------------------------------------------------
13700         Bra
13701         [ab]+?
13702         Ket
13703         End
13704 ------------------------------------------------------------------
13705     aaaa
13706  0: a
13707 
13708 /[ab]{2,3}/BZ
13709 ------------------------------------------------------------------
13710         Bra
13711         [ab]{2,3}+
13712         Ket
13713         End
13714 ------------------------------------------------------------------
13715     aaaa
13716  0: aaa
13717 
13718 /[ab]{2,3}?/BZ
13719 ------------------------------------------------------------------
13720         Bra
13721         [ab]{2,3}?
13722         Ket
13723         End
13724 ------------------------------------------------------------------
13725     aaaa
13726  0: aa
13727 
13728 /[ab]{2,}/BZ
13729 ------------------------------------------------------------------
13730         Bra
13731         [ab]{2,}+
13732         Ket
13733         End
13734 ------------------------------------------------------------------
13735     aaaa
13736  0: aaaa
13737 
13738 /[ab]{2,}?/BZ
13739 ------------------------------------------------------------------
13740         Bra
13741         [ab]{2,}?
13742         Ket
13743         End
13744 ------------------------------------------------------------------
13745     aaaa
13746  0: aa
13747 
13748 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
13749 ------------------------------------------------------------------
13750         Bra
13751         \d++
13752         \s{0,5}+
13753         =
13754         \s*+
13755         \S?
13756         =
13757         \w{0,4}+
13758         \W*+
13759         Ket
13760         End
13761 ------------------------------------------------------------------
13762 
13763 /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
13764 ------------------------------------------------------------------
13765         Bra
13766         [a-d]{5,12}+
13767         [0-9e-z]*+
13768         #
13769         [\x00-`{-\xff] (neg)++
13770         [b-y]*+
13771         a
13772         [2-7]?+
13773         [\x00-/:-`{-\xff] (neg)++
13774         Ket
13775         End
13776 ------------------------------------------------------------------
13777 
13778 /[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ
13779 ------------------------------------------------------------------
13780         Bra
13781         [a-z]*+
13782         \s
13783         #
13784         [\x09 ]?+
13785         \S
13786         #
13787         [a-c]*
13788         \S
13789         #
13790         [C-G]++
13791         \d
13792         #
13793         [4-8]*+
13794         \D
13795         #
13796         [,4-9]*
13797         \D
13798         #
13799         [!$]{0,5}+
13800         \w
13801         #
13802         [M-Xf-l]++
13803         \W
13804         #
13805         [,a-c]?
13806         \W
13807         Ket
13808         End
13809 ------------------------------------------------------------------
13810 
13811 /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
13812 ------------------------------------------------------------------
13813         Bra
13814         a+
13815         Brazero
13816         CBra 1
13817         aa
13818         Alt
13819         bb
13820         KetRmax
13821         c#
13822         a*
13823         Brazero
13824         CBra 2
13825         bb
13826         Alt
13827         cc
13828         KetRmax
13829         a#
13830         a?+
13831         Brazero
13832         CBra 3
13833         bb
13834         Alt
13835         cc
13836         KetRmax
13837         d#
13838         [a-f]*
13839         Brazero
13840         CBra 4
13841         g
13842         Alt
13843         hh
13844         KetRmax
13845         f
13846         Ket
13847         End
13848 ------------------------------------------------------------------
13849 
13850 /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
13851 ------------------------------------------------------------------
13852         Bra
13853         [a-f]*+
13854         Brazero
13855         CBra 1
13856         g
13857         Alt
13858         hh
13859         Alt
13860         i
13861         KetRmax
13862         i#
13863         [a-x]{4,}
13864         Brazero
13865         SCBra 2
13866         y{0,6}
13867         KetRmax
13868         y#
13869         [a-k]++
13870         CBra 3
13871         ll
13872         Alt
13873         mm
13874         KetRmax
13875         n
13876         Ket
13877         End
13878 ------------------------------------------------------------------
13879 
13880 /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
13881 ------------------------------------------------------------------
13882         Bra
13883         [a-f]*+
13884         Once_NC
13885         gg
13886         Alt
13887         hh
13888         KetRmax
13889         #
13890         [a-f]*+
13891         Brazero
13892         Once_NC
13893         gg
13894         Alt
13895         hh
13896         Ket
13897         #
13898         [a-f]*
13899         Brazero
13900         Once_NC
13901         gg
13902         Alt
13903         hh
13904         KetRmax
13905         a#
13906         [a-f]*+
13907         Brazero
13908         Once_NC
13909         gg
13910         Alt
13911         hh
13912         KetRmax
13913         h
13914         Ket
13915         End
13916 ------------------------------------------------------------------
13917 
13918 /[a-c]*d/DZS
13919 ------------------------------------------------------------------
13920         Bra
13921         [a-c]*+
13922         d
13923         Ket
13924         End
13925 ------------------------------------------------------------------
13926 Capturing subpattern count = 0
13927 No options
13928 No first char
13929 Need char = 'd'
13930 Subject length lower bound = 1
13931 Starting chars: a b c d 
13932 
13933 /[a-c]+d/DZS
13934 ------------------------------------------------------------------
13935         Bra
13936         [a-c]++
13937         d
13938         Ket
13939         End
13940 ------------------------------------------------------------------
13941 Capturing subpattern count = 0
13942 No options
13943 No first char
13944 Need char = 'd'
13945 Subject length lower bound = 2
13946 Starting chars: a b c 
13947 
13948 /[a-c]?d/DZS
13949 ------------------------------------------------------------------
13950         Bra
13951         [a-c]?+
13952         d
13953         Ket
13954         End
13955 ------------------------------------------------------------------
13956 Capturing subpattern count = 0
13957 No options
13958 No first char
13959 Need char = 'd'
13960 Subject length lower bound = 1
13961 Starting chars: a b c d 
13962 
13963 /[a-c]{4,6}d/DZS
13964 ------------------------------------------------------------------
13965         Bra
13966         [a-c]{4,6}+
13967         d
13968         Ket
13969         End
13970 ------------------------------------------------------------------
13971 Capturing subpattern count = 0
13972 No options
13973 No first char
13974 Need char = 'd'
13975 Subject length lower bound = 5
13976 Starting chars: a b c 
13977 
13978 /[a-c]{0,6}d/DZS
13979 ------------------------------------------------------------------
13980         Bra
13981         [a-c]{0,6}+
13982         d
13983         Ket
13984         End
13985 ------------------------------------------------------------------
13986 Capturing subpattern count = 0
13987 No options
13988 No first char
13989 Need char = 'd'
13990 Subject length lower bound = 1
13991 Starting chars: a b c d 
13992 
13993 /-- End of special auto-possessive tests --/
13994 
13995 /^A\o{1239}B/
13996 Failed: non-octal character in \o{} (closing brace missing?) at offset 8
13997 
13998 /^A\oB/
13999 Failed: missing opening brace after \o at offset 3
14000 
14001 /^A\x{zz}B/ 
14002 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
14003 
14004 /^A\x{12Z/
14005 Failed: non-hex character in \x{} (closing brace missing?) at offset 7
14006 
14007 /^A\x{/
14008 Failed: non-hex character in \x{} (closing brace missing?) at offset 5
14009 
14010 /[ab]++/BZO
14011 ------------------------------------------------------------------
14012         Bra
14013         [ab]++
14014         Ket
14015         End
14016 ------------------------------------------------------------------
14017 
14018 /[^ab]*+/BZO
14019 ------------------------------------------------------------------
14020         Bra
14021         [\x00-`c-\xff] (neg)*+
14022         Ket
14023         End
14024 ------------------------------------------------------------------
14025 
14026 /a{4}+/BZO
14027 ------------------------------------------------------------------
14028         Bra
14029         a{4}
14030         Ket
14031         End
14032 ------------------------------------------------------------------
14033 
14034 /a{4}+/BZOi
14035 ------------------------------------------------------------------
14036         Bra
14037      /i a{4}
14038         Ket
14039         End
14040 ------------------------------------------------------------------
14041 
14042 /[a-[:digit:]]+/
14043 Failed: invalid range in character class at offset 3
14044 
14045 /[A-[:digit:]]+/
14046 Failed: invalid range in character class at offset 3
14047 
14048 /[a-[.xxx.]]+/
14049 Failed: invalid range in character class at offset 3
14050 
14051 /[a-[=xxx=]]+/
14052 Failed: invalid range in character class at offset 3
14053 
14054 /[a-[!xxx!]]+/
14055 Failed: range out of order in character class at offset 3
14056 
14057 /[A-[!xxx!]]+/
14058     A]]]
14059  0: A]]]
14060 
14061 /[a-\d]+/
14062 Failed: invalid range in character class at offset 4
14063 
14064 /(?<0abc>xx)/
14065 Failed: group name must start with a non-digit at offset 3
14066 
14067 /(?&1abc)xx(?<1abc>y)/
14068 Failed: group name must start with a non-digit at offset 3
14069 
14070 /(?<ab-cd>xx)/
14071 Failed: syntax error in subpattern name (missing terminator) at offset 5
14072 
14073 /(?'0abc'xx)/
14074 Failed: group name must start with a non-digit at offset 3
14075 
14076 /(?P<0abc>xx)/
14077 Failed: group name must start with a non-digit at offset 4
14078 
14079 /\k<5ghj>/
14080 Failed: group name must start with a non-digit at offset 3
14081 
14082 /\k'5ghj'/
14083 Failed: group name must start with a non-digit at offset 3
14084 
14085 /\k{2fgh}/
14086 Failed: group name must start with a non-digit at offset 3
14087 
14088 /(?P=8yuki)/
14089 Failed: group name must start with a non-digit at offset 4
14090 
14091 /\g{4df}/
14092 Failed: group name must start with a non-digit at offset 3
14093 
14094 /(?&1abc)xx(?<1abc>y)/
14095 Failed: group name must start with a non-digit at offset 3
14096 
14097 /(?P>1abc)xx(?<1abc>y)/
14098 Failed: group name must start with a non-digit at offset 4
14099 
14100 /\g'3gh'/
14101 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2
14102 
14103 /\g<5fg>/
14104 Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 2
14105 
14106 /(?(<4gh>)abc)/
14107 Failed: group name must start with a non-digit at offset 4
14108 
14109 /(?('4gh')abc)/
14110 Failed: group name must start with a non-digit at offset 4
14111 
14112 /(?(4gh)abc)/
14113 Failed: malformed number or name after (?( at offset 4
14114 
14115 /(?(R&6yh)abc)/
14116 Failed: group name must start with a non-digit at offset 5
14117 
14118 /(((a\2)|(a*)\g<-1>))*a?/BZ
14119 ------------------------------------------------------------------
14120         Bra
14121         Brazero
14122         SCBra 1
14123         Once
14124         CBra 2
14125         CBra 3
14126         a
14127         \2
14128         Ket
14129         Alt
14130         CBra 4
14131         a*
14132         Ket
14133         Recurse
14134         Ket
14135         Ket
14136         KetRmax
14137         a?+
14138         Ket
14139         End
14140 ------------------------------------------------------------------
14141 
14142 /-- Test the ugly "start or end of word" compatibility syntax --/
14143 
14144 /[[:<:]]red[[:>:]]/BZ
14145 ------------------------------------------------------------------
14146         Bra
14147         \b
14148         Assert
14149         \w
14150         Ket
14151         red
14152         \b
14153         AssertB
14154         Reverse
14155         \w
14156         Ket
14157         Ket
14158         End
14159 ------------------------------------------------------------------
14160     little red riding hood
14161  0: red
14162     a /red/ thing 
14163  0: red
14164     red is a colour
14165  0: red
14166     put it all on red  
14167  0: red
14168     ** Failers
14169 No match
14170     no reduction
14171 No match
14172     Alfred Winifred
14173 No match
14174     
14175 /[a[:<:]] should give error/ 
14176 Failed: unknown POSIX class name at offset 4
14177 
14178 /(?=ab\K)/+
14179     abcd
14180 Start of matched string is beyond its end - displaying from end to start.
14181  0: ab
14182  0+ abcd
14183 
14184 /abcd/f<lf>
14185     xx\nxabcd
14186 No match
14187     
14188 / -- Test stack check external calls --/ 
14189 
14190 /(((((a)))))/Q0
14191 
14192 /(((((a)))))/Q1
14193 Failed: parentheses are too deeply nested (stack check) at offset 0
14194 
14195 /(((((a)))))/Q
14196 ** Missing 0 or 1 after /Q
14197 
14198 /^\w+(?>\s*)(?<=\w)/BZ
14199 ------------------------------------------------------------------
14200         Bra
14201         ^
14202         \w+
14203         Once_NC
14204         \s*+
14205         Ket
14206         AssertB
14207         Reverse
14208         \w
14209         Ket
14210         Ket
14211         End
14212 ------------------------------------------------------------------
14213 
14214 /\othing/
14215 Failed: missing opening brace after \o at offset 1
14216 
14217 /\o{}/
14218 Failed: digits missing in \x{} or \o{} at offset 1
14219 
14220 /\o{whatever}/
14221 Failed: non-octal character in \o{} (closing brace missing?) at offset 3
14222 
14223 /\xthing/
14224 
14225 /\x{}/
14226 Failed: digits missing in \x{} or \o{} at offset 3
14227 
14228 /\x{whatever}/
14229 Failed: non-hex character in \x{} (closing brace missing?) at offset 3
14230 
14231 "((?=(?(?=(?(?=(?(?=()))))))))"
14232     a
14233  0: 
14234  1: 
14235  2: 
14236 
14237 "(?(?=)==)(((((((((?=)))))))))"
14238     a
14239 No match
14240 
14241 /^(?:(a)|b)(?(1)A|B)/I
14242 Capturing subpattern count = 1
14243 Max back reference = 1
14244 Options: anchored
14245 No first char
14246 No need char
14247     aA123\O3
14248 Matched, but too many substrings
14249  0: aA
14250     aA123\O6
14251  0: aA
14252  1: a
14253 
14254 '^(?:(?<AA>a)|b)(?(<AA>)A|B)'
14255     aA123\O3
14256 Matched, but too many substrings
14257  0: aA
14258     aA123\O6
14259  0: aA
14260  1: a
14261 
14262 '^(?<AA>)(?:(?<AA>a)|b)(?(<AA>)A|B)'J
14263     aA123\O3
14264 Matched, but too many substrings
14265  0: aA
14266     aA123\O6
14267 Matched, but too many substrings
14268  0: aA
14269  1: 
14270 
14271 '^(?:(?<AA>X)|)(?:(?<AA>a)|b)\k{AA}'J
14272     aa123\O3
14273 Matched, but too many substrings
14274  0: aa
14275     aa123\O6
14276 Matched, but too many substrings
14277  0: aa
14278  1: <unset>
14279 
14280 /(?<N111>(?J)(?<N111>1(111111)11|)1|1|)(?(<N111>)1)/
14281 
14282 /(?(?=0)?)+/
14283 Failed: nothing to repeat at offset 7
14284 
14285 /(?(?=0)(?=00)?00765)/
14286      00765
14287  0: 00765
14288 
14289 /(?(?=0)(?=00)?00765|(?!3).56)/
14290      00765
14291  0: 00765
14292      456
14293  0: 456
14294      ** Failers
14295 No match
14296      356   
14297 No match
14298 
14299 '^(a)*+(\w)'
14300     g
14301  0: g
14302  1: <unset>
14303  2: g
14304     g\O3
14305 Matched, but too many substrings
14306  0: g
14307 
14308 '^(?:a)*+(\w)'
14309     g
14310  0: g
14311  1: g
14312     g\O3
14313 Matched, but too many substrings
14314  0: g
14315 
14316 //C
14317     \O\C+
14318 Callout 255: last capture = -1
14319 --->
14320  +0 ^    
14321 Matched, but too many substrings
14322 
14323 "((?2){0,1999}())?"
14324 
14325 /((?+1)(\1))/BZ
14326 ------------------------------------------------------------------
14327         Bra
14328         Once
14329         CBra 1
14330         Recurse
14331         CBra 2
14332         \1
14333         Ket
14334         Ket
14335         Ket
14336         Ket
14337         End
14338 ------------------------------------------------------------------
14339 
14340 /(?(?!)a|b)/
14341     bbb
14342  0: b
14343     aaa 
14344 No match
14345 
14346 "((?2)+)((?1))"
14347 
14348 "(?(?<E>.*!.*)?)"
14349 Failed: assertion expected after (?( or (?(?C) at offset 3
14350 
14351 "X((?2)()*+){2}+"BZ
14352 ------------------------------------------------------------------
14353         Bra
14354         X
14355         Once
14356         CBra 1
14357         Recurse
14358         Braposzero
14359         SCBraPos 2
14360         KetRpos
14361         Ket
14362         CBra 1
14363         Recurse
14364         Braposzero
14365         SCBraPos 2
14366         KetRpos
14367         Ket
14368         Ket
14369         Ket
14370         End
14371 ------------------------------------------------------------------
14372 
14373 "X((?2)()*+){2}"BZ
14374 ------------------------------------------------------------------
14375         Bra
14376         X
14377         CBra 1
14378         Recurse
14379         Braposzero
14380         SCBraPos 2
14381         KetRpos
14382         Ket
14383         CBra 1
14384         Recurse
14385         Braposzero
14386         SCBraPos 2
14387         KetRpos
14388         Ket
14389         Ket
14390         End
14391 ------------------------------------------------------------------
14392 
14393 "(?<=((?2))((?1)))"
14394 Failed: lookbehind assertion is not fixed length at offset 17
14395 
14396 /(?<=\Ka)/g+
14397     aaaaa
14398  0: a
14399  0+ aaaa
14400  0: a
14401  0+ aaaa
14402  0: a
14403  0+ aaa
14404  0: a
14405  0+ aa
14406  0: a
14407  0+ a
14408  0: a
14409  0+ 
14410 
14411 /(?<=\Ka)/G+
14412     aaaaa
14413  0: a
14414  0+ aaaa
14415  0: a
14416  0+ aaa
14417  0: a
14418  0+ aa
14419  0: a
14420  0+ a
14421  0: a
14422  0+ 
14423 
14424 /((?2){73}(?2))((?1))/
14425 
14426 /.((?2)(?R)\1)()/BZ
14427 ------------------------------------------------------------------
14428         Bra
14429         Any
14430         Once
14431         CBra 1
14432         Recurse
14433         Recurse
14434         \1
14435         Ket
14436         Ket
14437         CBra 2
14438         Ket
14439         Ket
14440         End
14441 ------------------------------------------------------------------
14442 
14443 /(?1)()((((((\1++))\x85)+)|))/
14444 
14445 /(\9*+(?2);\3++()2|)++{/
14446 Failed: reference to non-existent subpattern at offset 22
14447 
14448 /\V\x85\9*+((?2)\3++()2)*:2/
14449 Failed: reference to non-existent subpattern at offset 26
14450 
14451 /(((?(R)){0,2}) (?''((?'R')((?'R')))))/J
14452 
14453 /(((?(X)){0,2}) (?''((?'X')((?'X')))))/J
14454 
14455 /(((?(R)){0,2}) (?''((?'X')((?'R')))))/
14456 
14457 "(?J)(?'d'(?'d'\g{d}))"
14458 
14459 ".*?\h.+.\.+\R*?\xd(?i)(?=!(?=b`b`b`\`b\xa9b!)`\a`bbbbbbbbbbbbb`bbbbbbbbbbbb*R\x85bbbbbbb\C?{((?2)(?))((
14460 \H){8(?<=(?1){29}\xa8bbbb\x16\xd\xc6^($(?<! )(\xa9H4){4}h}1)B))\x15')"
14461 
14462 "(?J:(?|(?'R')(\k'R')|((?'R'))))"
14463 
14464 /(?<=|(\,\$(?73591620449005828816)\xa8.{7}){6}\x09)/
14465 Failed: number is too big at offset 32
14466 
14467 //
14468 \O1
14469 Matched, but too many substrings
14470 
14471 /^(?:(?(1)x|)+)+$()/BZ
14472 ------------------------------------------------------------------
14473         Bra
14474         ^
14475         SBra
14476         SCond
14477       1 Cond ref
14478         x
14479         Alt
14480         KetRmax
14481         KetRmax
14482         $
14483         CBra 1
14484         Ket
14485         Ket
14486         End
14487 ------------------------------------------------------------------
14488 
14489 /(?=di(?<=(?1))|(?=(.))))/
14490 Failed: unmatched parentheses at offset 23
14491 
14492 /(?(R))*+/BZ
14493 ------------------------------------------------------------------
14494         Bra
14495         Braposzero
14496         SBraPos
14497         SCond
14498         Cond recurse any
14499         Ket
14500         KetRpos
14501         Ket
14502         End
14503 ------------------------------------------------------------------
14504 
14505 /[[:\\](?'abc')[a:]/
14506 
14507 "[[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[:::::::::::::::::[[.\xe8Nq\xffq\xff\xe0\x2|||::Nq\xffq\xff\xe0\x6\x2|||::[[[:[::::::[[[[[::::::::[:[[[:[:::[[[[[[[[[[[[[[:::E[[[:[:[[:[:::[[:::E[[[:[:[[:'[:::::E[[[:[::::::[[[:[[[[[[[::E[[[:[::::::[[[:[[[[[[[[:[[::[::::[[:::::::[[:[[[[[[[:[[::[:[[:[~"
14508 Failed: missing terminating ] for character class at offset 353
14509 
14510 /()(?(R)0)*+/BZ
14511 ------------------------------------------------------------------
14512         Bra
14513         CBra 1
14514         Ket
14515         Braposzero
14516         SBraPos
14517         SCond
14518         Cond recurse any
14519         0
14520         Ket
14521         KetRpos
14522         Ket
14523         End
14524 ------------------------------------------------------------------
14525 
14526 /(?R-:(?</
14527 Failed: (?R or (?[+-]digits must be followed by ) at offset 3
14528 
14529 /(?1){3918}(((((0(\k'R'))))(?J)(?'R'(?'R'\3){99})))/I
14530 Capturing subpattern count = 8
14531 Max back reference = 8
14532 Named capturing subpatterns:
14533   R   7
14534   R   8
14535 No options
14536 Duplicate name status changes
14537 No first char
14538 Need char = '0'
14539 
14540 /(?J:(?|(:(?|(?'R')(\k'R')|((?'R')))H'Rk'Rf)|s(?'R')))/
14541 
14542 /0(?0)|(1)(*THEN)(*SKIP:0)(*FAIL)/
14543     01
14544 No match
14545 
14546 /((?(R8000000000)))/ 
14547 Failed: number is too big at offset 16
14548 
14549 /(?(8000000000/
14550 Failed: number is too big at offset 13
14551 
14552 /(?:ab)?(?:ab)(?:ab)/
14553     abab
14554  0: abab
14555     ababab
14556  0: ababab
14557     aba
14558 No match
14559 
14560 /((*MARK:A))++a(*SKIP:B)b/
14561     aacb
14562 No match
14563 
14564 /(?J:(?|(:(?|(?'R')(\z(?|(?'R')(\k'R')|((?'R')))k'R')|((?'R')))H'Ak'Rf)|s(?'R')))/
14565 
14566 /(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?&a)(?<a>1)/
14567 
14568 /a[[:punct:]b]/BZ
14569 ------------------------------------------------------------------
14570         Bra
14571         a
14572         [!-/:-@[-`b{-~]
14573         Ket
14574         End
14575 ------------------------------------------------------------------
14576 
14577 /L(?#(|++<!(2)?/BZ
14578 ------------------------------------------------------------------
14579         Bra
14580         L?+
14581         Ket
14582         End
14583 ------------------------------------------------------------------
14584 
14585 /L(?#(|++<!(2)?/BOZ
14586 ------------------------------------------------------------------
14587         Bra
14588         L?
14589         Ket
14590         End
14591 ------------------------------------------------------------------
14592 
14593 /L(?#(|++<!(2)?/BCZ
14594 ------------------------------------------------------------------
14595         Bra
14596         Callout 255 0 14
14597         L?+
14598         Callout 255 14 0
14599         Ket
14600         End
14601 ------------------------------------------------------------------
14602 
14603 /L(?#(|++<!(2)?/BCOZ
14604 ------------------------------------------------------------------
14605         Bra
14606         Callout 255 0 14
14607         L?
14608         Callout 255 14 0
14609         Ket
14610         End
14611 ------------------------------------------------------------------
14612 
14613 /(A*)\E+/CBZ
14614 ------------------------------------------------------------------
14615         Bra
14616         Callout 255 0 7
14617         SCBra 1
14618         Callout 255 1 2
14619         A*
14620         Callout 255 3 0
14621         KetRmax
14622         Callout 255 7 0
14623         Ket
14624         End
14625 ------------------------------------------------------------------
14626 
14627 /()\Q\E*]/BCZ
14628 ------------------------------------------------------------------
14629         Bra
14630         Callout 255 0 7
14631         Brazero
14632         SCBra 1
14633         Callout 255 1 0
14634         KetRmax
14635         Callout 255 7 1
14636         ]
14637         Callout 255 8 0
14638         Ket
14639         End
14640 ------------------------------------------------------------------
14641 
14642 /(?<A>)(?J:(?<B>)(?<B>))(?<C>)/
14643     \O\CC
14644 Matched, but too many substrings
14645 copy substring C failed -7
14646 
14647 /(?=a\K)/ 
14648     ring bpattingbobnd $ 1,oern cou \rb\L
14649 Start of matched string is beyond its end - displaying from end to start.
14650  0: a
14651  0L 
14652 
14653 /(?<=((?C)0))/
14654     9010
14655 --->9010
14656   0  ^       0
14657   0   ^      0
14658  0: 
14659  1: 0
14660     abcd
14661 --->abcd
14662   0  ^       0
14663   0   ^      0
14664   0    ^     0
14665   0     ^    0
14666 No match
14667      
14668 /((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/
14669 
14670 /\N(?(?C)0?!.)*/
14671 Failed: assertion expected after (?( or (?(?C) at offset 4
14672 
14673 /(?<RA>abc)(?(R)xyz)/BZ
14674 ------------------------------------------------------------------
14675         Bra
14676         CBra 1
14677         abc
14678         Ket
14679         Cond
14680         Cond recurse any
14681         xyz
14682         Ket
14683         Ket
14684         End
14685 ------------------------------------------------------------------
14686 
14687 /(?<R>abc)(?(R)xyz)/BZ
14688 ------------------------------------------------------------------
14689         Bra
14690         CBra 1
14691         abc
14692         Ket
14693         Cond
14694       1 Cond ref
14695         xyz
14696         Ket
14697         Ket
14698         End
14699 ------------------------------------------------------------------
14700 
14701 /(?=.*[A-Z])/I
14702 Capturing subpattern count = 0
14703 May match empty string
14704 No options
14705 No first char
14706 No need char
14707 
14708 "(?<=(a))\1?b"
14709     ab
14710  0: b
14711  1: a
14712     aaab 
14713  0: ab
14714  1: a
14715 
14716 "(?=(a))\1?b"
14717     ab
14718  0: ab
14719  1: a
14720     aaab 
14721  0: ab
14722  1: a
14723 
14724 /-- End of testinput2 --/