"Fossies" - the Fresh Open Source Software Archive

Member "pcre2-10.36/testdata/testoutput2" (21 Nov 2020, 371523 Bytes) of package /linux/misc/pcre2-10.36.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": 10.35_vs_10.36.

    1 # This set of tests is not Perl-compatible. It checks on special features
    2 # of PCRE2's API, error diagnostics, and the compiled code of some patterns.
    3 # It also checks the non-Perl syntax that PCRE2 supports (Python, .NET,
    4 # Oniguruma). There are also some tests where PCRE2 and Perl differ,
    5 # either because PCRE2 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.
   10 
   11 #forbid_utf
   12 #newline_default lf any anycrlf
   13 
   14 # Test binary zeroes in the pattern
   15 
   16 # /a\0B/ where 0 is a binary zero
   17 /61 5c 00 62/B,hex
   18 ------------------------------------------------------------------
   19         Bra
   20         a\x00b
   21         Ket
   22         End
   23 ------------------------------------------------------------------
   24     a\x{0}b
   25  0: a\x00b
   26 
   27 # /a0b/ where 0 is a binary zero
   28 /61 00 62/B,hex
   29 ------------------------------------------------------------------
   30         Bra
   31         a\x00b
   32         Ket
   33         End
   34 ------------------------------------------------------------------
   35     a\x{0}b
   36  0: a\x00b
   37 
   38 # /(?#B0C)DE/ where 0 is a binary zero
   39 /28 3f 23 42 00 43 29 44 45/B,hex
   40 ------------------------------------------------------------------
   41         Bra
   42         DE
   43         Ket
   44         End
   45 ------------------------------------------------------------------
   46     DE
   47  0: DE
   48 
   49 /(a)b|/I
   50 Capture group count = 1
   51 May match empty string
   52 Subject length lower bound = 0
   53 
   54 /abc/I
   55 Capture group count = 0
   56 First code unit = 'a'
   57 Last code unit = 'c'
   58 Subject length lower bound = 3
   59     abc
   60  0: abc
   61     defabc
   62  0: abc
   63     abc\=anchored
   64  0: abc
   65 \= Expect no match
   66     defabc\=anchored
   67 No match
   68     ABC
   69 No match
   70 
   71 /^abc/I
   72 Capture group count = 0
   73 Compile options: <none>
   74 Overall options: anchored
   75 First code unit = 'a'
   76 Subject length lower bound = 3
   77     abc
   78  0: abc
   79     abc\=anchored
   80  0: abc
   81 \= Expect no match
   82     defabc
   83 No match
   84     defabc\=anchored
   85 No match
   86 
   87 /a+bc/I
   88 Capture group count = 0
   89 First code unit = 'a'
   90 Last code unit = 'c'
   91 Subject length lower bound = 3
   92 
   93 /a*bc/I
   94 Capture group count = 0
   95 Starting code units: a b 
   96 Last code unit = 'c'
   97 Subject length lower bound = 2
   98 
   99 /a{3}bc/I
  100 Capture group count = 0
  101 First code unit = 'a'
  102 Last code unit = 'c'
  103 Subject length lower bound = 5
  104 
  105 /(abc|a+z)/I
  106 Capture group count = 1
  107 First code unit = 'a'
  108 Subject length lower bound = 2
  109 
  110 /^abc$/I
  111 Capture group count = 0
  112 Compile options: <none>
  113 Overall options: anchored
  114 First code unit = 'a'
  115 Subject length lower bound = 3
  116     abc
  117  0: abc
  118 \= Expect no match
  119     def\nabc
  120 No match
  121 
  122 /ab\idef/
  123 Failed: error 103 at offset 3: unrecognized character follows \
  124 
  125 /(?X)ab\idef/
  126 Failed: error 111 at offset 2: unrecognized character after (? or (?-
  127 
  128 /x{5,4}/
  129 Failed: error 104 at offset 5: numbers out of order in {} quantifier
  130 
  131 /z{65536}/
  132 Failed: error 105 at offset 7: number too big in {} quantifier
  133 
  134 /[abcd/
  135 Failed: error 106 at offset 5: missing terminating ] for character class
  136 
  137 /[\B]/B
  138 Failed: error 107 at offset 2: escape sequence is invalid in character class
  139 
  140 /[\R]/B
  141 Failed: error 107 at offset 2: escape sequence is invalid in character class
  142 
  143 /[\X]/B
  144 Failed: error 107 at offset 2: escape sequence is invalid in character class
  145 
  146 /[z-a]/
  147 Failed: error 108 at offset 3: range out of order in character class
  148 
  149 /^*/
  150 Failed: error 109 at offset 1: quantifier does not follow a repeatable item
  151 
  152 /(abc/
  153 Failed: error 114 at offset 4: missing closing parenthesis
  154 
  155 /(?# abc/
  156 Failed: error 118 at offset 7: missing ) after (?# comment
  157 
  158 /(?z)abc/
  159 Failed: error 111 at offset 2: unrecognized character after (? or (?-
  160 
  161 /.*b/I
  162 Capture group count = 0
  163 First code unit at start or follows newline
  164 Last code unit = 'b'
  165 Subject length lower bound = 1
  166 
  167 /.*?b/I
  168 Capture group count = 0
  169 First code unit at start or follows newline
  170 Last code unit = 'b'
  171 Subject length lower bound = 1
  172 
  173 /cat|dog|elephant/I
  174 Capture group count = 0
  175 Starting code units: c d e 
  176 Subject length lower bound = 3
  177     this sentence eventually mentions a cat
  178  0: cat
  179     this sentences rambles on and on for a while and then reaches elephant
  180  0: elephant
  181 
  182 /cat|dog|elephant/I
  183 Capture group count = 0
  184 Starting code units: c d e 
  185 Subject length lower bound = 3
  186     this sentence eventually mentions a cat
  187  0: cat
  188     this sentences rambles on and on for a while and then reaches elephant
  189  0: elephant
  190 
  191 /cat|dog|elephant/Ii
  192 Capture group count = 0
  193 Options: caseless
  194 Starting code units: C D E c d e 
  195 Subject length lower bound = 3
  196     this sentence eventually mentions a CAT cat
  197  0: CAT
  198     this sentences rambles on and on for a while to elephant ElePhant
  199  0: elephant
  200 
  201 /a|[bcd]/I
  202 Capture group count = 0
  203 Starting code units: a b c d 
  204 Subject length lower bound = 1
  205 
  206 /(a|[^\dZ])/I
  207 Capture group count = 1
  208 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
  209   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
  210   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
  211   ? @ 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 
  212   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 
  213   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
  214   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
  215   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
  216   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
  217   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
  218   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
  219   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
  220   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
  221   \xfc \xfd \xfe \xff 
  222 Subject length lower bound = 1
  223 
  224 /(a|b)*[\s]/I
  225 Capture group count = 1
  226 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 a b 
  227 Subject length lower bound = 1
  228 
  229 /(ab\2)/
  230 Failed: error 115 at offset 4: reference to non-existent subpattern
  231 
  232 /{4,5}abc/
  233 Failed: error 109 at offset 4: quantifier does not follow a repeatable item
  234 
  235 /(a)(b)(c)\2/I
  236 Capture group count = 3
  237 Max back reference = 2
  238 First code unit = 'a'
  239 Last code unit = 'c'
  240 Subject length lower bound = 4
  241     abcb
  242  0: abcb
  243  1: a
  244  2: b
  245  3: c
  246     abcb\=ovector=0
  247  0: abcb
  248  1: a
  249  2: b
  250  3: c
  251     abcb\=ovector=1
  252 Matched, but too many substrings
  253  0: abcb
  254     abcb\=ovector=2
  255 Matched, but too many substrings
  256  0: abcb
  257  1: a
  258     abcb\=ovector=3
  259 Matched, but too many substrings
  260  0: abcb
  261  1: a
  262  2: b
  263     abcb\=ovector=4
  264  0: abcb
  265  1: a
  266  2: b
  267  3: c
  268 
  269 /(a)bc|(a)(b)\2/I
  270 Capture group count = 3
  271 Max back reference = 2
  272 First code unit = 'a'
  273 Subject length lower bound = 3
  274     abc
  275  0: abc
  276  1: a
  277     abc\=ovector=0
  278  0: abc
  279  1: a
  280     abc\=ovector=1
  281 Matched, but too many substrings
  282  0: abc
  283     abc\=ovector=2
  284  0: abc
  285  1: a
  286     aba
  287  0: aba
  288  1: <unset>
  289  2: a
  290  3: b
  291     aba\=ovector=0
  292  0: aba
  293  1: <unset>
  294  2: a
  295  3: b
  296     aba\=ovector=1
  297 Matched, but too many substrings
  298  0: aba
  299     aba\=ovector=2
  300 Matched, but too many substrings
  301  0: aba
  302  1: <unset>
  303     aba\=ovector=3
  304 Matched, but too many substrings
  305  0: aba
  306  1: <unset>
  307  2: a
  308     aba\=ovector=4
  309  0: aba
  310  1: <unset>
  311  2: a
  312  3: b
  313 
  314 /abc$/I,dollar_endonly
  315 Capture group count = 0
  316 Options: dollar_endonly
  317 First code unit = 'a'
  318 Last code unit = 'c'
  319 Subject length lower bound = 3
  320     abc
  321  0: abc
  322 \= Expect no match
  323     abc\n
  324 No match
  325     abc\ndef
  326 No match
  327 
  328 /(a)(b)(c)(d)(e)\6/
  329 Failed: error 115 at offset 16: reference to non-existent subpattern
  330 
  331 /the quick brown fox/I
  332 Capture group count = 0
  333 First code unit = 't'
  334 Last code unit = 'x'
  335 Subject length lower bound = 19
  336     the quick brown fox
  337  0: the quick brown fox
  338     this is a line with the quick brown fox
  339  0: the quick brown fox
  340 
  341 /the quick brown fox/I,anchored
  342 Capture group count = 0
  343 Options: anchored
  344 First code unit = 't'
  345 Subject length lower bound = 19
  346     the quick brown fox
  347  0: the quick brown fox
  348 \= Expect no match
  349     this is a line with the quick brown fox
  350 No match
  351 
  352 /ab(?z)cd/
  353 Failed: error 111 at offset 4: unrecognized character after (? or (?-
  354 
  355 /^abc|def/I
  356 Capture group count = 0
  357 Starting code units: a d 
  358 Subject length lower bound = 3
  359     abcdef
  360  0: abc
  361     abcdef\=notbol
  362  0: def
  363 
  364 /.*((abc)$|(def))/I
  365 Capture group count = 3
  366 First code unit at start or follows newline
  367 Subject length lower bound = 3
  368     defabc
  369  0: defabc
  370  1: abc
  371  2: abc
  372     defabc\=noteol
  373  0: def
  374  1: def
  375  2: <unset>
  376  3: def
  377 
  378 /)/
  379 Failed: error 122 at offset 0: unmatched closing parenthesis
  380 
  381 /a[]b/
  382 Failed: error 106 at offset 4: missing terminating ] for character class
  383 
  384 /[^aeiou ]{3,}/I
  385 Capture group count = 0
  386 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
  387   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
  388   \x1a \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 
  389   7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 
  390   \ ] ^ _ ` b c d f g h j k l m n p q r s t v w x y z { | } ~ \x7f \x80 \x81 
  391   \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 
  392   \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f 
  393   \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae 
  394   \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd 
  395   \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc 
  396   \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb 
  397   \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea 
  398   \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 
  399   \xfa \xfb \xfc \xfd \xfe \xff 
  400 Subject length lower bound = 3
  401     co-processors, and for
  402  0: -pr
  403 
  404 /<.*>/I
  405 Capture group count = 0
  406 First code unit = '<'
  407 Last code unit = '>'
  408 Subject length lower bound = 2
  409     abc<def>ghi<klm>nop
  410  0: <def>ghi<klm>
  411 
  412 /<.*?>/I
  413 Capture group count = 0
  414 First code unit = '<'
  415 Last code unit = '>'
  416 Subject length lower bound = 2
  417     abc<def>ghi<klm>nop
  418  0: <def>
  419 
  420 /<.*>/I,ungreedy
  421 Capture group count = 0
  422 Options: ungreedy
  423 First code unit = '<'
  424 Last code unit = '>'
  425 Subject length lower bound = 2
  426     abc<def>ghi<klm>nop
  427  0: <def>
  428 
  429 /(?U)<.*>/I
  430 Capture group count = 0
  431 First code unit = '<'
  432 Last code unit = '>'
  433 Subject length lower bound = 2
  434     abc<def>ghi<klm>nop
  435  0: <def>
  436 
  437 /<.*?>/I,ungreedy
  438 Capture group count = 0
  439 Options: ungreedy
  440 First code unit = '<'
  441 Last code unit = '>'
  442 Subject length lower bound = 2
  443     abc<def>ghi<klm>nop
  444  0: <def>ghi<klm>
  445 
  446 /={3,}/I,ungreedy
  447 Capture group count = 0
  448 Options: ungreedy
  449 First code unit = '='
  450 Last code unit = '='
  451 Subject length lower bound = 3
  452     abc========def
  453  0: ===
  454 
  455 /(?U)={3,}?/I
  456 Capture group count = 0
  457 First code unit = '='
  458 Last code unit = '='
  459 Subject length lower bound = 3
  460     abc========def
  461  0: ========
  462 
  463 /(?<!bar|cattle)foo/I
  464 Capture group count = 0
  465 Max lookbehind = 6
  466 First code unit = 'f'
  467 Last code unit = 'o'
  468 Subject length lower bound = 3
  469     foo
  470  0: foo
  471     catfoo
  472  0: foo
  473 \= Expect no match
  474     the barfoo
  475 No match
  476     and cattlefoo
  477 No match
  478 
  479 /abc(?<=a+)b/
  480 Failed: error 125 at offset 3: lookbehind assertion is not fixed length
  481 
  482 /12345(?<=aaa|b{0,3})b/
  483 Failed: error 125 at offset 5: lookbehind assertion is not fixed length
  484 
  485 /(?<!(foo)a\1)bar/
  486 
  487 /(?i)abc/I
  488 Capture group count = 0
  489 First code unit = 'a' (caseless)
  490 Last code unit = 'c' (caseless)
  491 Subject length lower bound = 3
  492 
  493 /(a|(?m)a)/I
  494 Capture group count = 1
  495 First code unit = 'a'
  496 Subject length lower bound = 1
  497 
  498 /(?i)^1234/I
  499 Capture group count = 0
  500 Compile options: <none>
  501 Overall options: anchored
  502 First code unit = '1'
  503 Subject length lower bound = 4
  504 
  505 /(^b|(?i)^d)/I
  506 Capture group count = 1
  507 Compile options: <none>
  508 Overall options: anchored
  509 Starting code units: D b d 
  510 Subject length lower bound = 1
  511 
  512 /(?s).*/I
  513 Capture group count = 0
  514 May match empty string
  515 Compile options: <none>
  516 Overall options: anchored
  517 Subject length lower bound = 0
  518 
  519 /[abcd]/I
  520 Capture group count = 0
  521 Starting code units: a b c d 
  522 Subject length lower bound = 1
  523 
  524 /(?i)[abcd]/I
  525 Capture group count = 0
  526 Starting code units: A B C D a b c d 
  527 Subject length lower bound = 1
  528 
  529 /(?m)[xy]|(b|c)/I
  530 Capture group count = 1
  531 Starting code units: b c x y 
  532 Subject length lower bound = 1
  533 
  534 /(^a|^b)/Im
  535 Capture group count = 1
  536 Options: multiline
  537 First code unit at start or follows newline
  538 Subject length lower bound = 1
  539 
  540 /(?i)(^a|^b)/Im
  541 Capture group count = 1
  542 Options: multiline
  543 First code unit at start or follows newline
  544 Subject length lower bound = 1
  545 
  546 /(a)(?(1)a|b|c)/
  547 Failed: error 127 at offset 3: conditional subpattern contains more than two branches
  548 
  549 /(?(?=a)a|b|c)/
  550 Failed: error 127 at offset 0: conditional subpattern contains more than two branches
  551 
  552 /(?(1a)/
  553 Failed: error 124 at offset 4: missing closing parenthesis for condition
  554 
  555 /(?(1a))/
  556 Failed: error 124 at offset 4: missing closing parenthesis for condition
  557 
  558 /(?(?i))/
  559 Failed: error 128 at offset 2: assertion expected after (?( or (?(?C)
  560 
  561 /(?(abc))/
  562 Failed: error 115 at offset 3: reference to non-existent subpattern
  563 
  564 /(?(?<ab))/
  565 Failed: error 128 at offset 2: assertion expected after (?( or (?(?C)
  566 
  567 /((?s)blah)\s+\1/I
  568 Capture group count = 1
  569 Max back reference = 1
  570 First code unit = 'b'
  571 Last code unit = 'h'
  572 Subject length lower bound = 9
  573 
  574 /((?i)blah)\s+\1/I
  575 Capture group count = 1
  576 Max back reference = 1
  577 First code unit = 'b' (caseless)
  578 Last code unit = 'h' (caseless)
  579 Subject length lower bound = 9
  580 
  581 /((?i)b)/IB
  582 ------------------------------------------------------------------
  583         Bra
  584         CBra 1
  585      /i b
  586         Ket
  587         Ket
  588         End
  589 ------------------------------------------------------------------
  590 Capture group count = 1
  591 First code unit = 'b' (caseless)
  592 Subject length lower bound = 1
  593 
  594 /(a*b|(?i:c*(?-i)d))/I
  595 Capture group count = 1
  596 Starting code units: C a b c d 
  597 Subject length lower bound = 1
  598 
  599 /a$/I
  600 Capture group count = 0
  601 First code unit = 'a'
  602 Subject length lower bound = 1
  603     a
  604  0: a
  605     a\n
  606  0: a
  607 \= Expect no match
  608     a\=noteol
  609 No match
  610     a\n\=noteol
  611 No match
  612 
  613 /a$/Im
  614 Capture group count = 0
  615 Options: multiline
  616 First code unit = 'a'
  617 Subject length lower bound = 1
  618     a
  619  0: a
  620     a\n
  621  0: a
  622     a\n\=noteol
  623  0: a
  624 \= Expect no match
  625     a\=noteol
  626 No match
  627 
  628 /\Aabc/Im
  629 Capture group count = 0
  630 Max lookbehind = 1
  631 Compile options: multiline
  632 Overall options: anchored multiline
  633 First code unit = 'a'
  634 Subject length lower bound = 3
  635 
  636 /^abc/Im
  637 Capture group count = 0
  638 Options: multiline
  639 First code unit at start or follows newline
  640 Last code unit = 'c'
  641 Subject length lower bound = 3
  642 
  643 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
  644 Capture group count = 5
  645 Compile options: <none>
  646 Overall options: anchored
  647 First code unit = 'a'
  648 Subject length lower bound = 3
  649   aaaaabbbbbcccccdef
  650  0: aaaaabbbbbcccccdef
  651  1: aaaaabbbbbcccccdef
  652  2: aaaaa
  653  3: b
  654  4: bbbbccccc
  655  5: def
  656 
  657 /(?<=foo)[ab]/I
  658 Capture group count = 0
  659 Max lookbehind = 3
  660 Starting code units: a b 
  661 Subject length lower bound = 1
  662 
  663 /(?<!foo)(alpha|omega)/I
  664 Capture group count = 1
  665 Max lookbehind = 3
  666 Starting code units: a o 
  667 Last code unit = 'a'
  668 Subject length lower bound = 5
  669 
  670 /(?!alphabet)[ab]/I
  671 Capture group count = 0
  672 Starting code units: a b 
  673 Subject length lower bound = 1
  674 
  675 /(?<=foo\n)^bar/Im
  676 Capture group count = 0
  677 Max lookbehind = 4
  678 Contains explicit CR or LF match
  679 Options: multiline
  680 Last code unit = 'r'
  681 Subject length lower bound = 3
  682     foo\nbarbar
  683  0: bar
  684 \= Expect no match
  685     rhubarb
  686 No match
  687     barbell
  688 No match
  689     abc\nbarton
  690 No match
  691 
  692 /^(?<=foo\n)bar/Im
  693 Capture group count = 0
  694 Max lookbehind = 4
  695 Contains explicit CR or LF match
  696 Options: multiline
  697 First code unit at start or follows newline
  698 Last code unit = 'r'
  699 Subject length lower bound = 3
  700     foo\nbarbar
  701  0: bar
  702 \= Expect no match
  703     rhubarb
  704 No match
  705     barbell
  706 No match
  707     abc\nbarton
  708 No match
  709 
  710 /(?>^abc)/Im
  711 Capture group count = 0
  712 Options: multiline
  713 First code unit at start or follows newline
  714 Last code unit = 'c'
  715 Subject length lower bound = 3
  716     abc
  717  0: abc
  718     def\nabc
  719  0: abc
  720 \= Expect no match
  721     defabc
  722 No match
  723 
  724 /(?<=ab(c+)d)ef/
  725 Failed: error 125 at offset 0: lookbehind assertion is not fixed length
  726 
  727 /(?<=ab(?<=c+)d)ef/
  728 Failed: error 125 at offset 6: lookbehind assertion is not fixed length
  729 
  730 /(?<=ab(c|de)f)g/
  731 Failed: error 125 at offset 0: lookbehind assertion is not fixed length
  732 
  733 /The next three are in testinput2 because they have variable length branches/
  734 
  735 /(?<=bullock|donkey)-cart/I
  736 Capture group count = 0
  737 Max lookbehind = 7
  738 First code unit = '-'
  739 Last code unit = 't'
  740 Subject length lower bound = 5
  741     the bullock-cart
  742  0: -cart
  743     a donkey-cart race
  744  0: -cart
  745 \= Expect no match
  746     cart
  747 No match
  748     horse-and-cart
  749 No match
  750 
  751 /(?<=ab(?i)x|y|z)/I
  752 Capture group count = 0
  753 Max lookbehind = 3
  754 May match empty string
  755 Subject length lower bound = 0
  756 
  757 /(?>.*)(?<=(abcd)|(xyz))/I
  758 Capture group count = 2
  759 Max lookbehind = 4
  760 May match empty string
  761 Subject length lower bound = 0
  762     alphabetabcd
  763  0: alphabetabcd
  764  1: abcd
  765     endingxyz
  766  0: endingxyz
  767  1: <unset>
  768  2: xyz
  769 
  770 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
  771 Capture group count = 0
  772 Max lookbehind = 4
  773 First code unit = 'Z'
  774 Last code unit = 'Z'
  775 Subject length lower bound = 2
  776     abxyZZ
  777  0: ZZ
  778     abXyZZ
  779  0: ZZ
  780     ZZZ
  781  0: ZZ
  782     zZZ
  783  0: ZZ
  784     bZZ
  785  0: ZZ
  786     BZZ
  787  0: ZZ
  788 \= Expect no match
  789     ZZ
  790 No match
  791     abXYZZ
  792 No match
  793     zzz
  794 No match
  795     bzz
  796 No match
  797 
  798 /(?<!(foo)a)bar/I
  799 Capture group count = 1
  800 Max lookbehind = 4
  801 First code unit = 'b'
  802 Last code unit = 'r'
  803 Subject length lower bound = 3
  804     bar
  805  0: bar
  806     foobbar
  807  0: bar
  808 \= Expect no match
  809     fooabar
  810 No match
  811 
  812 # Perl does not fail these two for the final subjects.
  813 
  814 /^(xa|=?\1a){2}$/
  815     xa=xaa
  816  0: xa=xaa
  817  1: =xaa
  818 \= Expect no match
  819     xa=xaaa
  820 No match
  821 
  822 /^(xa|=?\1a)+$/
  823     xa=xaa
  824  0: xa=xaa
  825  1: =xaa
  826 \= Expect no match
  827     xa=xaaa
  828 No match
  829 
  830 # These are syntax tests from Perl 5.005
  831 
  832 /a[b-a]/
  833 Failed: error 108 at offset 4: range out of order in character class
  834 
  835 /a[]b/
  836 Failed: error 106 at offset 4: missing terminating ] for character class
  837 
  838 /a[/
  839 Failed: error 106 at offset 2: missing terminating ] for character class
  840 
  841 /*a/
  842 Failed: error 109 at offset 0: quantifier does not follow a repeatable item
  843 
  844 /(*)b/
  845 Failed: error 109 at offset 1: quantifier does not follow a repeatable item
  846 
  847 /abc)/
  848 Failed: error 122 at offset 3: unmatched closing parenthesis
  849 
  850 /(abc/
  851 Failed: error 114 at offset 4: missing closing parenthesis
  852 
  853 /a**/
  854 Failed: error 109 at offset 2: quantifier does not follow a repeatable item
  855 
  856 /)(/
  857 Failed: error 122 at offset 0: unmatched closing parenthesis
  858 
  859 /\1/
  860 Failed: error 115 at offset 1: reference to non-existent subpattern
  861 
  862 /\2/
  863 Failed: error 115 at offset 1: reference to non-existent subpattern
  864 
  865 /(a)|\2/
  866 Failed: error 115 at offset 5: reference to non-existent subpattern
  867 
  868 /a[b-a]/Ii
  869 Failed: error 108 at offset 4: range out of order in character class
  870 
  871 /a[]b/Ii
  872 Failed: error 106 at offset 4: missing terminating ] for character class
  873 
  874 /a[/Ii
  875 Failed: error 106 at offset 2: missing terminating ] for character class
  876 
  877 /*a/Ii
  878 Failed: error 109 at offset 0: quantifier does not follow a repeatable item
  879 
  880 /(*)b/Ii
  881 Failed: error 109 at offset 1: quantifier does not follow a repeatable item
  882 
  883 /abc)/Ii
  884 Failed: error 122 at offset 3: unmatched closing parenthesis
  885 
  886 /(abc/Ii
  887 Failed: error 114 at offset 4: missing closing parenthesis
  888 
  889 /a**/Ii
  890 Failed: error 109 at offset 2: quantifier does not follow a repeatable item
  891 
  892 /)(/Ii
  893 Failed: error 122 at offset 0: unmatched closing parenthesis
  894 
  895 /:(?:/
  896 Failed: error 114 at offset 4: missing closing parenthesis
  897 
  898 /(?<%)b/
  899 Failed: error 162 at offset 3: subpattern name expected
  900 
  901 /a(?{)b/
  902 Failed: error 111 at offset 3: unrecognized character after (? or (?-
  903 
  904 /a(?{{})b/
  905 Failed: error 111 at offset 3: unrecognized character after (? or (?-
  906 
  907 /a(?{}})b/
  908 Failed: error 111 at offset 3: unrecognized character after (? or (?-
  909 
  910 /a(?{"{"})b/
  911 Failed: error 111 at offset 3: unrecognized character after (? or (?-
  912 
  913 /a(?{"{"}})b/
  914 Failed: error 111 at offset 3: unrecognized character after (? or (?-
  915 
  916 /(?(1?)a|b)/
  917 Failed: error 124 at offset 4: missing closing parenthesis for condition
  918 
  919 /[a[:xyz:/
  920 Failed: error 106 at offset 8: missing terminating ] for character class
  921 
  922 /(?<=x+)y/
  923 Failed: error 125 at offset 0: lookbehind assertion is not fixed length
  924 
  925 /a{37,17}/
  926 Failed: error 104 at offset 7: numbers out of order in {} quantifier
  927 
  928 /abc/\
  929 Failed: error 101 at offset 4: \ at end of pattern
  930 
  931 /abc/\i
  932 Failed: error 101 at offset 4: \ at end of pattern
  933 
  934 /(a)bc(d)/I
  935 Capture group count = 2
  936 First code unit = 'a'
  937 Last code unit = 'd'
  938 Subject length lower bound = 4
  939     abcd
  940  0: abcd
  941  1: a
  942  2: d
  943     abcd\=copy=2
  944  0: abcd
  945  1: a
  946  2: d
  947  2C d (1)
  948     abcd\=copy=5
  949  0: abcd
  950  1: a
  951  2: d
  952 Copy substring 5 failed (-49): unknown substring
  953 
  954 /(.{20})/I
  955 Capture group count = 1
  956 Subject length lower bound = 20
  957     abcdefghijklmnopqrstuvwxyz
  958  0: abcdefghijklmnopqrst
  959  1: abcdefghijklmnopqrst
  960     abcdefghijklmnopqrstuvwxyz\=copy=1
  961  0: abcdefghijklmnopqrst
  962  1: abcdefghijklmnopqrst
  963  1C abcdefghijklmnopqrst (20)
  964     abcdefghijklmnopqrstuvwxyz\=get=1
  965  0: abcdefghijklmnopqrst
  966  1: abcdefghijklmnopqrst
  967  1G abcdefghijklmnopqrst (20)
  968 
  969 /(.{15})/I
  970 Capture group count = 1
  971 Subject length lower bound = 15
  972     abcdefghijklmnopqrstuvwxyz
  973  0: abcdefghijklmno
  974  1: abcdefghijklmno
  975     abcdefghijklmnopqrstuvwxyz\=copy=1,get=1
  976  0: abcdefghijklmno
  977  1: abcdefghijklmno
  978  1C abcdefghijklmno (15)
  979  1G abcdefghijklmno (15)
  980 
  981 /(.{16})/I
  982 Capture group count = 1
  983 Subject length lower bound = 16
  984     abcdefghijklmnopqrstuvwxyz
  985  0: abcdefghijklmnop
  986  1: abcdefghijklmnop
  987     abcdefghijklmnopqrstuvwxyz\=copy=1,get=1,getall
  988  0: abcdefghijklmnop
  989  1: abcdefghijklmnop
  990  1C abcdefghijklmnop (16)
  991  1G abcdefghijklmnop (16)
  992  0L abcdefghijklmnop
  993  1L abcdefghijklmnop
  994 
  995 /^(a|(bc))de(f)/I
  996 Capture group count = 3
  997 Compile options: <none>
  998 Overall options: anchored
  999 Starting code units: a b 
 1000 Subject length lower bound = 4
 1001     adef\=get=1,get=2,get=3,get=4,getall
 1002  0: adef
 1003  1: a
 1004  2: <unset>
 1005  3: f
 1006  1G a (1)
 1007 Get substring 2 failed (-55): requested value is not set
 1008  3G f (1)
 1009 Get substring 4 failed (-49): unknown substring
 1010  0L adef
 1011  1L a
 1012  2L 
 1013  3L f
 1014     bcdef\=get=1,get=2,get=3,get=4,getall
 1015  0: bcdef
 1016  1: bc
 1017  2: bc
 1018  3: f
 1019  1G bc (2)
 1020  2G bc (2)
 1021  3G f (1)
 1022 Get substring 4 failed (-49): unknown substring
 1023  0L bcdef
 1024  1L bc
 1025  2L bc
 1026  3L f
 1027     adefghijk\=copy=0
 1028  0: adef
 1029  1: a
 1030  2: <unset>
 1031  3: f
 1032  0C adef (4)
 1033 
 1034 /^abc\00def/I
 1035 Capture group count = 0
 1036 Compile options: <none>
 1037 Overall options: anchored
 1038 First code unit = 'a'
 1039 Subject length lower bound = 7
 1040     abc\00def\=copy=0,getall
 1041  0: abc\x00def
 1042  0C abc\x00def (7)
 1043  0L abc\x00def
 1044 
 1045 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
 1046 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
 1047 )?)?)?)?)?)?)?)?)?otherword/I
 1048 Capture group count = 8
 1049 Contains explicit CR or LF match
 1050 First code unit = 'w'
 1051 Last code unit = 'd'
 1052 Subject length lower bound = 14
 1053 
 1054 /.*X/IB
 1055 ------------------------------------------------------------------
 1056         Bra
 1057         Any*
 1058         X
 1059         Ket
 1060         End
 1061 ------------------------------------------------------------------
 1062 Capture group count = 0
 1063 First code unit at start or follows newline
 1064 Last code unit = 'X'
 1065 Subject length lower bound = 1
 1066 
 1067 /.*X/IBs
 1068 ------------------------------------------------------------------
 1069         Bra
 1070         AllAny*
 1071         X
 1072         Ket
 1073         End
 1074 ------------------------------------------------------------------
 1075 Capture group count = 0
 1076 Compile options: dotall
 1077 Overall options: anchored dotall
 1078 Last code unit = 'X'
 1079 Subject length lower bound = 1
 1080 
 1081 /(.*X|^B)/IB
 1082 ------------------------------------------------------------------
 1083         Bra
 1084         CBra 1
 1085         Any*
 1086         X
 1087         Alt
 1088         ^
 1089         B
 1090         Ket
 1091         Ket
 1092         End
 1093 ------------------------------------------------------------------
 1094 Capture group count = 1
 1095 First code unit at start or follows newline
 1096 Subject length lower bound = 1
 1097 
 1098 /(.*X|^B)/IBs
 1099 ------------------------------------------------------------------
 1100         Bra
 1101         CBra 1
 1102         AllAny*
 1103         X
 1104         Alt
 1105         ^
 1106         B
 1107         Ket
 1108         Ket
 1109         End
 1110 ------------------------------------------------------------------
 1111 Capture group count = 1
 1112 Compile options: dotall
 1113 Overall options: anchored dotall
 1114 Subject length lower bound = 1
 1115 
 1116 /(?s)(.*X|^B)/IB
 1117 ------------------------------------------------------------------
 1118         Bra
 1119         CBra 1
 1120         AllAny*
 1121         X
 1122         Alt
 1123         ^
 1124         B
 1125         Ket
 1126         Ket
 1127         End
 1128 ------------------------------------------------------------------
 1129 Capture group count = 1
 1130 Compile options: <none>
 1131 Overall options: anchored
 1132 Subject length lower bound = 1
 1133 
 1134 /(?s:.*X|^B)/IB
 1135 ------------------------------------------------------------------
 1136         Bra
 1137         Bra
 1138         AllAny*
 1139         X
 1140         Alt
 1141         ^
 1142         B
 1143         Ket
 1144         Ket
 1145         End
 1146 ------------------------------------------------------------------
 1147 Capture group count = 0
 1148 Compile options: <none>
 1149 Overall options: anchored
 1150 Subject length lower bound = 1
 1151 
 1152 /\Biss\B/I,aftertext
 1153 Capture group count = 0
 1154 Max lookbehind = 1
 1155 First code unit = 'i'
 1156 Last code unit = 's'
 1157 Subject length lower bound = 3
 1158     Mississippi
 1159  0: iss
 1160  0+ issippi
 1161 
 1162 /iss/I,aftertext,altglobal
 1163 Capture group count = 0
 1164 First code unit = 'i'
 1165 Last code unit = 's'
 1166 Subject length lower bound = 3
 1167     Mississippi
 1168  0: iss
 1169  0+ issippi
 1170  0: iss
 1171  0+ ippi
 1172 
 1173 /\Biss\B/I,aftertext,altglobal
 1174 Capture group count = 0
 1175 Max lookbehind = 1
 1176 First code unit = 'i'
 1177 Last code unit = 's'
 1178 Subject length lower bound = 3
 1179     Mississippi
 1180  0: iss
 1181  0+ issippi
 1182 
 1183 /\Biss\B/Ig,aftertext
 1184 Capture group count = 0
 1185 Max lookbehind = 1
 1186 First code unit = 'i'
 1187 Last code unit = 's'
 1188 Subject length lower bound = 3
 1189     Mississippi
 1190  0: iss
 1191  0+ issippi
 1192  0: iss
 1193  0+ ippi
 1194 \= Expect no match
 1195     Mississippi\=anchored
 1196 No match
 1197 
 1198 /(?<=[Ms])iss/Ig,aftertext
 1199 Capture group count = 0
 1200 Max lookbehind = 1
 1201 First code unit = 'i'
 1202 Last code unit = 's'
 1203 Subject length lower bound = 3
 1204     Mississippi
 1205  0: iss
 1206  0+ issippi
 1207  0: iss
 1208  0+ ippi
 1209 
 1210 /(?<=[Ms])iss/I,aftertext,altglobal
 1211 Capture group count = 0
 1212 Max lookbehind = 1
 1213 First code unit = 'i'
 1214 Last code unit = 's'
 1215 Subject length lower bound = 3
 1216     Mississippi
 1217  0: iss
 1218  0+ issippi
 1219 
 1220 /^iss/Ig,aftertext
 1221 Capture group count = 0
 1222 Compile options: <none>
 1223 Overall options: anchored
 1224 First code unit = 'i'
 1225 Subject length lower bound = 3
 1226     ississippi
 1227  0: iss
 1228  0+ issippi
 1229 
 1230 /.*iss/Ig,aftertext
 1231 Capture group count = 0
 1232 First code unit at start or follows newline
 1233 Last code unit = 's'
 1234 Subject length lower bound = 3
 1235     abciss\nxyzisspqr
 1236  0: abciss
 1237  0+ \x0axyzisspqr
 1238  0: xyziss
 1239  0+ pqr
 1240 
 1241 /.i./Ig,aftertext
 1242 Capture group count = 0
 1243 Last code unit = 'i'
 1244 Subject length lower bound = 3
 1245     Mississippi
 1246  0: Mis
 1247  0+ sissippi
 1248  0: sis
 1249  0+ sippi
 1250  0: sip
 1251  0+ pi
 1252     Mississippi\=anchored
 1253  0: Mis
 1254  0+ sissippi
 1255  0: sis
 1256  0+ sippi
 1257  0: sip
 1258  0+ pi
 1259     Missouri river
 1260  0: Mis
 1261  0+ souri river
 1262  0: ri 
 1263  0+ river
 1264  0: riv
 1265  0+ er
 1266     Missouri river\=anchored
 1267  0: Mis
 1268  0+ souri river
 1269 
 1270 /^.is/Ig,aftertext
 1271 Capture group count = 0
 1272 Compile options: <none>
 1273 Overall options: anchored
 1274 Subject length lower bound = 3
 1275     Mississippi
 1276  0: Mis
 1277  0+ sissippi
 1278 
 1279 /^ab\n/Ig,aftertext
 1280 Capture group count = 0
 1281 Contains explicit CR or LF match
 1282 Compile options: <none>
 1283 Overall options: anchored
 1284 First code unit = 'a'
 1285 Subject length lower bound = 3
 1286     ab\nab\ncd
 1287  0: ab\x0a
 1288  0+ ab\x0acd
 1289 
 1290 /^ab\n/Igm,aftertext
 1291 Capture group count = 0
 1292 Contains explicit CR or LF match
 1293 Options: multiline
 1294 First code unit at start or follows newline
 1295 Last code unit = \x0a
 1296 Subject length lower bound = 3
 1297     ab\nab\ncd
 1298  0: ab\x0a
 1299  0+ ab\x0acd
 1300  0: ab\x0a
 1301  0+ cd
 1302 
 1303 /^/gm,newline=any
 1304     a\rb\nc\r\nxyz\=aftertext
 1305  0: 
 1306  0+ a\x0db\x0ac\x0d\x0axyz
 1307  0: 
 1308  0+ b\x0ac\x0d\x0axyz
 1309  0: 
 1310  0+ c\x0d\x0axyz
 1311  0: 
 1312  0+ xyz
 1313 
 1314 /abc/I
 1315 Capture group count = 0
 1316 First code unit = 'a'
 1317 Last code unit = 'c'
 1318 Subject length lower bound = 3
 1319 
 1320 /abc|bac/I
 1321 Capture group count = 0
 1322 Starting code units: a b 
 1323 Last code unit = 'c'
 1324 Subject length lower bound = 3
 1325 
 1326 /(abc|bac)/I
 1327 Capture group count = 1
 1328 Starting code units: a b 
 1329 Last code unit = 'c'
 1330 Subject length lower bound = 3
 1331 
 1332 /(abc|(c|dc))/I
 1333 Capture group count = 2
 1334 Starting code units: a c d 
 1335 Last code unit = 'c'
 1336 Subject length lower bound = 1
 1337 
 1338 /(abc|(d|de)c)/I
 1339 Capture group count = 2
 1340 Starting code units: a d 
 1341 Last code unit = 'c'
 1342 Subject length lower bound = 2
 1343 
 1344 /a*/I
 1345 Capture group count = 0
 1346 May match empty string
 1347 Subject length lower bound = 0
 1348 
 1349 /a+/I
 1350 Capture group count = 0
 1351 First code unit = 'a'
 1352 Subject length lower bound = 1
 1353 
 1354 /(baa|a+)/I
 1355 Capture group count = 1
 1356 Starting code units: a b 
 1357 Last code unit = 'a'
 1358 Subject length lower bound = 1
 1359 
 1360 /a{0,3}/I
 1361 Capture group count = 0
 1362 May match empty string
 1363 Subject length lower bound = 0
 1364 
 1365 /baa{3,}/I
 1366 Capture group count = 0
 1367 First code unit = 'b'
 1368 Last code unit = 'a'
 1369 Subject length lower bound = 5
 1370 
 1371 /"([^\\"]+|\\.)*"/I
 1372 Capture group count = 1
 1373 First code unit = '"'
 1374 Last code unit = '"'
 1375 Subject length lower bound = 2
 1376 
 1377 /(abc|ab[cd])/I
 1378 Capture group count = 1
 1379 First code unit = 'a'
 1380 Subject length lower bound = 3
 1381 
 1382 /(a|.)/I
 1383 Capture group count = 1
 1384 Subject length lower bound = 1
 1385 
 1386 /a|ba|\w/I
 1387 Capture group count = 0
 1388 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
 1389   Q R S T U V W X Y Z _ 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 
 1390 Subject length lower bound = 1
 1391 
 1392 /abc(?=pqr)/I
 1393 Capture group count = 0
 1394 First code unit = 'a'
 1395 Last code unit = 'r'
 1396 Subject length lower bound = 3
 1397 
 1398 /...(?<=abc)/I
 1399 Capture group count = 0
 1400 Max lookbehind = 3
 1401 Subject length lower bound = 3
 1402 
 1403 /abc(?!pqr)/I
 1404 Capture group count = 0
 1405 First code unit = 'a'
 1406 Last code unit = 'c'
 1407 Subject length lower bound = 3
 1408 
 1409 /ab./I
 1410 Capture group count = 0
 1411 First code unit = 'a'
 1412 Last code unit = 'b'
 1413 Subject length lower bound = 3
 1414 
 1415 /ab[xyz]/I
 1416 Capture group count = 0
 1417 First code unit = 'a'
 1418 Last code unit = 'b'
 1419 Subject length lower bound = 3
 1420 
 1421 /abc*/I
 1422 Capture group count = 0
 1423 First code unit = 'a'
 1424 Last code unit = 'b'
 1425 Subject length lower bound = 2
 1426 
 1427 /ab.c*/I
 1428 Capture group count = 0
 1429 First code unit = 'a'
 1430 Last code unit = 'b'
 1431 Subject length lower bound = 3
 1432 
 1433 /a.c*/I
 1434 Capture group count = 0
 1435 First code unit = 'a'
 1436 Subject length lower bound = 2
 1437 
 1438 /.c*/I
 1439 Capture group count = 0
 1440 Subject length lower bound = 1
 1441 
 1442 /ac*/I
 1443 Capture group count = 0
 1444 First code unit = 'a'
 1445 Subject length lower bound = 1
 1446 
 1447 /(a.c*|b.c*)/I
 1448 Capture group count = 1
 1449 Starting code units: a b 
 1450 Subject length lower bound = 2
 1451 
 1452 /a.c*|aba/I
 1453 Capture group count = 0
 1454 First code unit = 'a'
 1455 Subject length lower bound = 2
 1456 
 1457 /.+a/I
 1458 Capture group count = 0
 1459 Last code unit = 'a'
 1460 Subject length lower bound = 2
 1461 
 1462 /(?=abcda)a.*/I
 1463 Capture group count = 0
 1464 First code unit = 'a'
 1465 Last code unit = 'a'
 1466 Subject length lower bound = 2
 1467 
 1468 /(?=a)a.*/I
 1469 Capture group count = 0
 1470 First code unit = 'a'
 1471 Subject length lower bound = 1
 1472 
 1473 /a(b)*/I
 1474 Capture group count = 1
 1475 First code unit = 'a'
 1476 Subject length lower bound = 1
 1477 
 1478 /a\d*/I
 1479 Capture group count = 0
 1480 First code unit = 'a'
 1481 Subject length lower bound = 1
 1482 
 1483 /ab\d*/I
 1484 Capture group count = 0
 1485 First code unit = 'a'
 1486 Last code unit = 'b'
 1487 Subject length lower bound = 2
 1488 
 1489 /a(\d)*/I
 1490 Capture group count = 1
 1491 First code unit = 'a'
 1492 Subject length lower bound = 1
 1493 
 1494 /abcde{0,0}/I
 1495 Capture group count = 0
 1496 First code unit = 'a'
 1497 Last code unit = 'd'
 1498 Subject length lower bound = 4
 1499 
 1500 /ab\d+/I
 1501 Capture group count = 0
 1502 First code unit = 'a'
 1503 Last code unit = 'b'
 1504 Subject length lower bound = 3
 1505 
 1506 /a(?(1)b)(.)/I
 1507 Capture group count = 1
 1508 Max back reference = 1
 1509 First code unit = 'a'
 1510 Subject length lower bound = 2
 1511 
 1512 /a(?(1)bag|big)(.)/I
 1513 Capture group count = 1
 1514 Max back reference = 1
 1515 First code unit = 'a'
 1516 Last code unit = 'g'
 1517 Subject length lower bound = 5
 1518 
 1519 /a(?(1)bag|big)*(.)/I
 1520 Capture group count = 1
 1521 Max back reference = 1
 1522 First code unit = 'a'
 1523 Subject length lower bound = 2
 1524 
 1525 /a(?(1)bag|big)+(.)/I
 1526 Capture group count = 1
 1527 Max back reference = 1
 1528 First code unit = 'a'
 1529 Last code unit = 'g'
 1530 Subject length lower bound = 5
 1531 
 1532 /a(?(1)b..|b..)(.)/I
 1533 Capture group count = 1
 1534 Max back reference = 1
 1535 First code unit = 'a'
 1536 Last code unit = 'b'
 1537 Subject length lower bound = 5
 1538 
 1539 /ab\d{0}e/I
 1540 Capture group count = 0
 1541 First code unit = 'a'
 1542 Last code unit = 'e'
 1543 Subject length lower bound = 3
 1544 
 1545 /a?b?/I
 1546 Capture group count = 0
 1547 May match empty string
 1548 Subject length lower bound = 0
 1549     a
 1550  0: a
 1551     b
 1552  0: b
 1553     ab
 1554  0: ab
 1555     \
 1556  0: 
 1557 \= Expect no match
 1558     \=notempty
 1559 No match
 1560 
 1561 /|-/I
 1562 Capture group count = 0
 1563 May match empty string
 1564 Subject length lower bound = 0
 1565     abcd
 1566  0: 
 1567     -abc
 1568  0: 
 1569     ab-c\=notempty
 1570  0: -
 1571 \= Expect no match
 1572     abc\=notempty
 1573 No match
 1574 
 1575 /^.?abcd/I
 1576 Capture group count = 0
 1577 Compile options: <none>
 1578 Overall options: anchored
 1579 Last code unit = 'd'
 1580 Subject length lower bound = 4
 1581 
 1582 /\(             # ( at start
 1583   (?:           # Non-capturing bracket
 1584   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
 1585   |             # Or
 1586   (?R)          # Recurse - i.e. nested bracketed string
 1587   )*            # Zero or more contents
 1588   \)            # Closing )
 1589   /Ix
 1590 Capture group count = 0
 1591 Options: extended
 1592 First code unit = '('
 1593 Last code unit = ')'
 1594 Subject length lower bound = 2
 1595     (abcd)
 1596  0: (abcd)
 1597     (abcd)xyz
 1598  0: (abcd)
 1599     xyz(abcd)
 1600  0: (abcd)
 1601     (ab(xy)cd)pqr
 1602  0: (ab(xy)cd)
 1603     (ab(xycd)pqr
 1604  0: (xycd)
 1605     () abc ()
 1606  0: ()
 1607     12(abcde(fsh)xyz(foo(bar))lmno)89
 1608  0: (abcde(fsh)xyz(foo(bar))lmno)
 1609 \= Expect no match
 1610     abcd
 1611 No match
 1612     abcd)
 1613 No match
 1614     (abcd
 1615 No match
 1616 
 1617 /\(  ( (?>[^()]+) | (?R) )* \) /Igx
 1618 Capture group count = 1
 1619 Options: extended
 1620 First code unit = '('
 1621 Last code unit = ')'
 1622 Subject length lower bound = 2
 1623     (ab(xy)cd)pqr
 1624  0: (ab(xy)cd)
 1625  1: cd
 1626     1(abcd)(x(y)z)pqr
 1627  0: (abcd)
 1628  1: abcd
 1629  0: (x(y)z)
 1630  1: z
 1631 
 1632 /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
 1633 Capture group count = 0
 1634 Options: extended
 1635 First code unit = '('
 1636 Last code unit = ')'
 1637 Subject length lower bound = 3
 1638     (abcd)
 1639  0: (abcd)
 1640     (ab(xy)cd)
 1641  0: (xy)
 1642     (a(b(c)d)e)
 1643  0: (c)
 1644     ((ab))
 1645  0: ((ab))
 1646 \= Expect no match
 1647     ()
 1648 No match
 1649 
 1650 /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
 1651 Capture group count = 0
 1652 Options: extended
 1653 First code unit = '('
 1654 Last code unit = ')'
 1655 Subject length lower bound = 2
 1656     ()
 1657  0: ()
 1658     12(abcde(fsh)xyz(foo(bar))lmno)89
 1659  0: (fsh)
 1660 
 1661 /\(  ( (?>[^()]+) | (?R) )* \) /Ix
 1662 Capture group count = 1
 1663 Options: extended
 1664 First code unit = '('
 1665 Last code unit = ')'
 1666 Subject length lower bound = 2
 1667     (ab(xy)cd)
 1668  0: (ab(xy)cd)
 1669  1: cd
 1670 
 1671 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
 1672 Capture group count = 2
 1673 Options: extended
 1674 First code unit = '('
 1675 Last code unit = ')'
 1676 Subject length lower bound = 2
 1677     (ab(xy)cd)
 1678  0: (ab(xy)cd)
 1679  1: ab(xy)cd
 1680  2: cd
 1681 
 1682 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
 1683 Capture group count = 3
 1684 Options: extended
 1685 First code unit = '('
 1686 Last code unit = ')'
 1687 Subject length lower bound = 2
 1688     (ab(xy)cd)
 1689  0: (ab(xy)cd)
 1690  1: <unset>
 1691  2: ab(xy)cd
 1692  3: cd
 1693     (123ab(xy)cd)
 1694  0: (123ab(xy)cd)
 1695  1: 123
 1696  2: ab(xy)cd
 1697  3: cd
 1698 
 1699 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
 1700 Capture group count = 3
 1701 Options: extended
 1702 First code unit = '('
 1703 Last code unit = ')'
 1704 Subject length lower bound = 2
 1705     (ab(xy)cd)
 1706  0: (ab(xy)cd)
 1707  1: ab(xy)cd
 1708  2: <unset>
 1709  3: cd
 1710     (123ab(xy)cd)
 1711  0: (123ab(xy)cd)
 1712  1: 123ab(xy)cd
 1713  2: 123
 1714  3: cd
 1715 
 1716 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
 1717 Capture group count = 11
 1718 Options: extended
 1719 First code unit = '('
 1720 Last code unit = ')'
 1721 Subject length lower bound = 2
 1722     (ab(xy)cd)
 1723  0: (ab(xy)cd)
 1724  1: ab(xy)cd
 1725  2: ab(xy)cd
 1726  3: ab(xy)cd
 1727  4: ab(xy)cd
 1728  5: ab(xy)cd
 1729  6: ab(xy)cd
 1730  7: ab(xy)cd
 1731  8: ab(xy)cd
 1732  9: ab(xy)cd
 1733 10: ab(xy)cd
 1734 11: cd
 1735 
 1736 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
 1737 Capture group count = 3
 1738 Options: extended
 1739 First code unit = '('
 1740 Last code unit = ')'
 1741 Subject length lower bound = 2
 1742     (abcd(xyz<p>qrs)123)
 1743  0: (abcd(xyz<p>qrs)123)
 1744  1: abcd(xyz<p>qrs)123
 1745  2: 123
 1746 
 1747 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
 1748 Capture group count = 3
 1749 Options: extended
 1750 First code unit = '('
 1751 Last code unit = ')'
 1752 Subject length lower bound = 2
 1753     (ab(cd)ef)
 1754  0: (ab(cd)ef)
 1755  1: ab(cd)ef
 1756  2: ef
 1757  3: (cd)
 1758     (ab(cd(ef)gh)ij)
 1759  0: (ab(cd(ef)gh)ij)
 1760  1: ab(cd(ef)gh)ij
 1761  2: ij
 1762  3: (cd(ef)gh)
 1763 
 1764 /^[[:alnum:]]/IB
 1765 ------------------------------------------------------------------
 1766         Bra
 1767         ^
 1768         [0-9A-Za-z]
 1769         Ket
 1770         End
 1771 ------------------------------------------------------------------
 1772 Capture group count = 0
 1773 Compile options: <none>
 1774 Overall options: anchored
 1775 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
 1776   Q R S T U V W X Y Z 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 
 1777 Subject length lower bound = 1
 1778 
 1779 /^[[:^alnum:]]/IB
 1780 ------------------------------------------------------------------
 1781         Bra
 1782         ^
 1783         [\x00-/:-@[-`{-\xff] (neg)
 1784         Ket
 1785         End
 1786 ------------------------------------------------------------------
 1787 Capture group count = 0
 1788 Compile options: <none>
 1789 Overall options: anchored
 1790 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
 1791   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
 1792   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
 1793   ? @ [ \ ] ^ _ ` { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 
 1794   \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 
 1795   \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 
 1796   \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 
 1797   \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 
 1798   \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 
 1799   \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 
 1800   \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef \xf0 \xf1 
 1801   \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff 
 1802 Subject length lower bound = 1
 1803 
 1804 /^[[:alpha:]]/IB
 1805 ------------------------------------------------------------------
 1806         Bra
 1807         ^
 1808         [A-Za-z]
 1809         Ket
 1810         End
 1811 ------------------------------------------------------------------
 1812 Capture group count = 0
 1813 Compile options: <none>
 1814 Overall options: anchored
 1815 Starting code units: 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 
 1816   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 
 1817 Subject length lower bound = 1
 1818 
 1819 /^[[:^alpha:]]/IB
 1820 ------------------------------------------------------------------
 1821         Bra
 1822         ^
 1823         [\x00-@[-`{-\xff] (neg)
 1824         Ket
 1825         End
 1826 ------------------------------------------------------------------
 1827 Capture group count = 0
 1828 Compile options: <none>
 1829 Overall options: anchored
 1830 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
 1831   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
 1832   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 
 1833   5 6 7 8 9 : ; < = > ? @ [ \ ] ^ _ ` { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 
 1834   \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 
 1835   \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 
 1836   \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 
 1837   \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 
 1838   \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf 
 1839   \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde 
 1840   \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed 
 1841   \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc 
 1842   \xfd \xfe \xff 
 1843 Subject length lower bound = 1
 1844 
 1845 /[_[:alpha:]]/I
 1846 Capture group count = 0
 1847 Starting code units: 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 
 1848   _ 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 
 1849 Subject length lower bound = 1
 1850 
 1851 /^[[:ascii:]]/IB
 1852 ------------------------------------------------------------------
 1853         Bra
 1854         ^
 1855         [\x00-\x7f]
 1856         Ket
 1857         End
 1858 ------------------------------------------------------------------
 1859 Capture group count = 0
 1860 Compile options: <none>
 1861 Overall options: anchored
 1862 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
 1863   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
 1864   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 
 1865   5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y 
 1866   Z [ \ ] ^ _ ` 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 { | } ~ 
 1867   \x7f 
 1868 Subject length lower bound = 1
 1869 
 1870 /^[[:^ascii:]]/IB
 1871 ------------------------------------------------------------------
 1872         Bra
 1873         ^
 1874         [\x80-\xff] (neg)
 1875         Ket
 1876         End
 1877 ------------------------------------------------------------------
 1878 Capture group count = 0
 1879 Compile options: <none>
 1880 Overall options: anchored
 1881 Starting code units: \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a 
 1882   \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 
 1883   \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 
 1884   \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 
 1885   \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 
 1886   \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 
 1887   \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 
 1888   \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 
 1889   \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff 
 1890 Subject length lower bound = 1
 1891 
 1892 /^[[:blank:]]/IB
 1893 ------------------------------------------------------------------
 1894         Bra
 1895         ^
 1896         [\x09 ]
 1897         Ket
 1898         End
 1899 ------------------------------------------------------------------
 1900 Capture group count = 0
 1901 Compile options: <none>
 1902 Overall options: anchored
 1903 Starting code units: \x09 \x20 
 1904 Subject length lower bound = 1
 1905 
 1906 /^[[:^blank:]]/IB
 1907 ------------------------------------------------------------------
 1908         Bra
 1909         ^
 1910         [\x00-\x08\x0a-\x1f!-\xff] (neg)
 1911         Ket
 1912         End
 1913 ------------------------------------------------------------------
 1914 Capture group count = 0
 1915 Compile options: <none>
 1916 Overall options: anchored
 1917 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b 
 1918   \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a 
 1919   \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 
 1920   : ; < = > ? @ 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 [ \ ] ^ 
 1921   _ ` 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 { | } ~ \x7f \x80 
 1922   \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f 
 1923   \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e 
 1924   \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad 
 1925   \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc 
 1926   \xbd \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb 
 1927   \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda 
 1928   \xdb \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 
 1929   \xea \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 
 1930   \xf9 \xfa \xfb \xfc \xfd \xfe \xff 
 1931 Subject length lower bound = 1
 1932 
 1933 /[\n\x0b\x0c\x0d[:blank:]]/I
 1934 Capture group count = 0
 1935 Contains explicit CR or LF match
 1936 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 
 1937 Subject length lower bound = 1
 1938 
 1939 /^[[:cntrl:]]/IB
 1940 ------------------------------------------------------------------
 1941         Bra
 1942         ^
 1943         [\x00-\x1f\x7f]
 1944         Ket
 1945         End
 1946 ------------------------------------------------------------------
 1947 Capture group count = 0
 1948 Compile options: <none>
 1949 Overall options: anchored
 1950 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
 1951   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
 1952   \x1a \x1b \x1c \x1d \x1e \x1f \x7f 
 1953 Subject length lower bound = 1
 1954 
 1955 /^[[:digit:]]/IB
 1956 ------------------------------------------------------------------
 1957         Bra
 1958         ^
 1959         [0-9]
 1960         Ket
 1961         End
 1962 ------------------------------------------------------------------
 1963 Capture group count = 0
 1964 Compile options: <none>
 1965 Overall options: anchored
 1966 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 1967 Subject length lower bound = 1
 1968 
 1969 /^[[:graph:]]/IB
 1970 ------------------------------------------------------------------
 1971         Bra
 1972         ^
 1973         [!-~]
 1974         Ket
 1975         End
 1976 ------------------------------------------------------------------
 1977 Capture group count = 0
 1978 Compile options: <none>
 1979 Overall options: anchored
 1980 Starting code units: ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : 
 1981   ; < = > ? @ 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 [ \ ] ^ _ 
 1982   ` 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 { | } ~ 
 1983 Subject length lower bound = 1
 1984 
 1985 /^[[:lower:]]/IB
 1986 ------------------------------------------------------------------
 1987         Bra
 1988         ^
 1989         [a-z]
 1990         Ket
 1991         End
 1992 ------------------------------------------------------------------
 1993 Capture group count = 0
 1994 Compile options: <none>
 1995 Overall options: anchored
 1996 Starting code units: 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 
 1997 Subject length lower bound = 1
 1998 
 1999 /^[[:print:]]/IB
 2000 ------------------------------------------------------------------
 2001         Bra
 2002         ^
 2003         [ -~]
 2004         Ket
 2005         End
 2006 ------------------------------------------------------------------
 2007 Capture group count = 0
 2008 Compile options: <none>
 2009 Overall options: anchored
 2010 Starting code units: \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 
 2011   9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] 
 2012   ^ _ ` 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 { | } ~ 
 2013 Subject length lower bound = 1
 2014 
 2015 /^[[:punct:]]/IB
 2016 ------------------------------------------------------------------
 2017         Bra
 2018         ^
 2019         [!-/:-@[-`{-~]
 2020         Ket
 2021         End
 2022 ------------------------------------------------------------------
 2023 Capture group count = 0
 2024 Compile options: <none>
 2025 Overall options: anchored
 2026 Starting code units: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ 
 2027   _ ` { | } ~ 
 2028 Subject length lower bound = 1
 2029 
 2030 /^[[:space:]]/IB
 2031 ------------------------------------------------------------------
 2032         Bra
 2033         ^
 2034         [\x09-\x0d ]
 2035         Ket
 2036         End
 2037 ------------------------------------------------------------------
 2038 Capture group count = 0
 2039 Compile options: <none>
 2040 Overall options: anchored
 2041 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 
 2042 Subject length lower bound = 1
 2043 
 2044 /^[[:upper:]]/IB
 2045 ------------------------------------------------------------------
 2046         Bra
 2047         ^
 2048         [A-Z]
 2049         Ket
 2050         End
 2051 ------------------------------------------------------------------
 2052 Capture group count = 0
 2053 Compile options: <none>
 2054 Overall options: anchored
 2055 Starting code units: 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 
 2056 Subject length lower bound = 1
 2057 
 2058 /^[[:xdigit:]]/IB
 2059 ------------------------------------------------------------------
 2060         Bra
 2061         ^
 2062         [0-9A-Fa-f]
 2063         Ket
 2064         End
 2065 ------------------------------------------------------------------
 2066 Capture group count = 0
 2067 Compile options: <none>
 2068 Overall options: anchored
 2069 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f 
 2070 Subject length lower bound = 1
 2071 
 2072 /^[[:word:]]/IB
 2073 ------------------------------------------------------------------
 2074         Bra
 2075         ^
 2076         [0-9A-Z_a-z]
 2077         Ket
 2078         End
 2079 ------------------------------------------------------------------
 2080 Capture group count = 0
 2081 Compile options: <none>
 2082 Overall options: anchored
 2083 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
 2084   Q R S T U V W X Y Z _ 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 
 2085 Subject length lower bound = 1
 2086 
 2087 /^[[:^cntrl:]]/IB
 2088 ------------------------------------------------------------------
 2089         Bra
 2090         ^
 2091         [ -~\x80-\xff] (neg)
 2092         Ket
 2093         End
 2094 ------------------------------------------------------------------
 2095 Capture group count = 0
 2096 Compile options: <none>
 2097 Overall options: anchored
 2098 Starting code units: \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 
 2099   9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] 
 2100   ^ _ ` 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 { | } ~ \x80 \x81 
 2101   \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 
 2102   \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f 
 2103   \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae 
 2104   \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd 
 2105   \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc 
 2106   \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb 
 2107   \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea 
 2108   \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 
 2109   \xfa \xfb \xfc \xfd \xfe \xff 
 2110 Subject length lower bound = 1
 2111 
 2112 /^[12[:^digit:]]/IB
 2113 ------------------------------------------------------------------
 2114         Bra
 2115         ^
 2116         [\x00-/12:-\xff] (neg)
 2117         Ket
 2118         End
 2119 ------------------------------------------------------------------
 2120 Capture group count = 0
 2121 Compile options: <none>
 2122 Overall options: anchored
 2123 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
 2124   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
 2125   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 1 2 : ; < 
 2126   = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a 
 2127   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 { | } ~ \x7f \x80 \x81 \x82 
 2128   \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 
 2129   \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 
 2130   \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf 
 2131   \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe 
 2132   \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd 
 2133   \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc 
 2134   \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb 
 2135   \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa 
 2136   \xfb \xfc \xfd \xfe \xff 
 2137 Subject length lower bound = 1
 2138 
 2139 /^[[:^blank:]]/IB
 2140 ------------------------------------------------------------------
 2141         Bra
 2142         ^
 2143         [\x00-\x08\x0a-\x1f!-\xff] (neg)
 2144         Ket
 2145         End
 2146 ------------------------------------------------------------------
 2147 Capture group count = 0
 2148 Compile options: <none>
 2149 Overall options: anchored
 2150 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b 
 2151   \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a 
 2152   \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 
 2153   : ; < = > ? @ 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 [ \ ] ^ 
 2154   _ ` 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 { | } ~ \x7f \x80 
 2155   \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f 
 2156   \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e 
 2157   \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad 
 2158   \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc 
 2159   \xbd \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb 
 2160   \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda 
 2161   \xdb \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 
 2162   \xea \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 
 2163   \xf9 \xfa \xfb \xfc \xfd \xfe \xff 
 2164 Subject length lower bound = 1
 2165 
 2166 /[01[:alpha:]%]/IB
 2167 ------------------------------------------------------------------
 2168         Bra
 2169         [%01A-Za-z]
 2170         Ket
 2171         End
 2172 ------------------------------------------------------------------
 2173 Capture group count = 0
 2174 Starting code units: % 0 1 A B C D E F G H I J K L M N O P Q R S T U V W 
 2175   X Y Z 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 
 2176 Subject length lower bound = 1
 2177 
 2178 /[[.ch.]]/I
 2179 Failed: error 113 at offset 1: POSIX collating elements are not supported
 2180 
 2181 /[[=ch=]]/I
 2182 Failed: error 113 at offset 1: POSIX collating elements are not supported
 2183 
 2184 /[[:rhubarb:]]/I
 2185 Failed: error 130 at offset 3: unknown POSIX class name
 2186 
 2187 /[[:upper:]]/Ii
 2188 Capture group count = 0
 2189 Options: caseless
 2190 Starting code units: 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 
 2191   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 
 2192 Subject length lower bound = 1
 2193     A
 2194  0: A
 2195     a
 2196  0: a
 2197 
 2198 /[[:lower:]]/Ii
 2199 Capture group count = 0
 2200 Options: caseless
 2201 Starting code units: 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 
 2202   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 
 2203 Subject length lower bound = 1
 2204     A
 2205  0: A
 2206     a
 2207  0: a
 2208 
 2209 /((?-i)[[:lower:]])[[:lower:]]/Ii
 2210 Capture group count = 1
 2211 Options: caseless
 2212 Starting code units: 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 
 2213 Subject length lower bound = 2
 2214     ab
 2215  0: ab
 2216  1: a
 2217     aB
 2218  0: aB
 2219  1: a
 2220 \= Expect no match
 2221     Ab
 2222 No match
 2223     AB
 2224 No match
 2225 
 2226 /[\200-\110]/I
 2227 Failed: error 108 at offset 9: range out of order in character class
 2228 
 2229 /^(?(0)f|b)oo/I
 2230 Failed: error 115 at offset 5: reference to non-existent subpattern
 2231 
 2232 # This one's here because of the large output vector needed
 2233 
 2234 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
 2235 Capture group count = 271
 2236 Max back reference = 270
 2237 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 2238 Subject length lower bound = 1
 2239      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\=ovector=300
 2240  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
 2241  1: 1 
 2242  2: 2 
 2243  3: 3 
 2244  4: 4 
 2245  5: 5 
 2246  6: 6 
 2247  7: 7 
 2248  8: 8 
 2249  9: 9 
 2250 10: 10 
 2251 11: 11 
 2252 12: 12 
 2253 13: 13 
 2254 14: 14 
 2255 15: 15 
 2256 16: 16 
 2257 17: 17 
 2258 18: 18 
 2259 19: 19 
 2260 20: 20 
 2261 21: 21 
 2262 22: 22 
 2263 23: 23 
 2264 24: 24 
 2265 25: 25 
 2266 26: 26 
 2267 27: 27 
 2268 28: 28 
 2269 29: 29 
 2270 30: 30 
 2271 31: 31 
 2272 32: 32 
 2273 33: 33 
 2274 34: 34 
 2275 35: 35 
 2276 36: 36 
 2277 37: 37 
 2278 38: 38 
 2279 39: 39 
 2280 40: 40 
 2281 41: 41 
 2282 42: 42 
 2283 43: 43 
 2284 44: 44 
 2285 45: 45 
 2286 46: 46 
 2287 47: 47 
 2288 48: 48 
 2289 49: 49 
 2290 50: 50 
 2291 51: 51 
 2292 52: 52 
 2293 53: 53 
 2294 54: 54 
 2295 55: 55 
 2296 56: 56 
 2297 57: 57 
 2298 58: 58 
 2299 59: 59 
 2300 60: 60 
 2301 61: 61 
 2302 62: 62 
 2303 63: 63 
 2304 64: 64 
 2305 65: 65 
 2306 66: 66 
 2307 67: 67 
 2308 68: 68 
 2309 69: 69 
 2310 70: 70 
 2311 71: 71 
 2312 72: 72 
 2313 73: 73 
 2314 74: 74 
 2315 75: 75 
 2316 76: 76 
 2317 77: 77 
 2318 78: 78 
 2319 79: 79 
 2320 80: 80 
 2321 81: 81 
 2322 82: 82 
 2323 83: 83 
 2324 84: 84 
 2325 85: 85 
 2326 86: 86 
 2327 87: 87 
 2328 88: 88 
 2329 89: 89 
 2330 90: 90 
 2331 91: 91 
 2332 92: 92 
 2333 93: 93 
 2334 94: 94 
 2335 95: 95 
 2336 96: 96 
 2337 97: 97 
 2338 98: 98 
 2339 99: 99 
 2340 100: 100 
 2341 101: 101 
 2342 102: 102 
 2343 103: 103 
 2344 104: 104 
 2345 105: 105 
 2346 106: 106 
 2347 107: 107 
 2348 108: 108 
 2349 109: 109 
 2350 110: 110 
 2351 111: 111 
 2352 112: 112 
 2353 113: 113 
 2354 114: 114 
 2355 115: 115 
 2356 116: 116 
 2357 117: 117 
 2358 118: 118 
 2359 119: 119 
 2360 120: 120 
 2361 121: 121 
 2362 122: 122 
 2363 123: 123 
 2364 124: 124 
 2365 125: 125 
 2366 126: 126 
 2367 127: 127 
 2368 128: 128 
 2369 129: 129 
 2370 130: 130 
 2371 131: 131 
 2372 132: 132 
 2373 133: 133 
 2374 134: 134 
 2375 135: 135 
 2376 136: 136 
 2377 137: 137 
 2378 138: 138 
 2379 139: 139 
 2380 140: 140 
 2381 141: 141 
 2382 142: 142 
 2383 143: 143 
 2384 144: 144 
 2385 145: 145 
 2386 146: 146 
 2387 147: 147 
 2388 148: 148 
 2389 149: 149 
 2390 150: 150 
 2391 151: 151 
 2392 152: 152 
 2393 153: 153 
 2394 154: 154 
 2395 155: 155 
 2396 156: 156 
 2397 157: 157 
 2398 158: 158 
 2399 159: 159 
 2400 160: 160 
 2401 161: 161 
 2402 162: 162 
 2403 163: 163 
 2404 164: 164 
 2405 165: 165 
 2406 166: 166 
 2407 167: 167 
 2408 168: 168 
 2409 169: 169 
 2410 170: 170 
 2411 171: 171 
 2412 172: 172 
 2413 173: 173 
 2414 174: 174 
 2415 175: 175 
 2416 176: 176 
 2417 177: 177 
 2418 178: 178 
 2419 179: 179 
 2420 180: 180 
 2421 181: 181 
 2422 182: 182 
 2423 183: 183 
 2424 184: 184 
 2425 185: 185 
 2426 186: 186 
 2427 187: 187 
 2428 188: 188 
 2429 189: 189 
 2430 190: 190 
 2431 191: 191 
 2432 192: 192 
 2433 193: 193 
 2434 194: 194 
 2435 195: 195 
 2436 196: 196 
 2437 197: 197 
 2438 198: 198 
 2439 199: 199 
 2440 200: 200 
 2441 201: 201 
 2442 202: 202 
 2443 203: 203 
 2444 204: 204 
 2445 205: 205 
 2446 206: 206 
 2447 207: 207 
 2448 208: 208 
 2449 209: 209 
 2450 210: 210 
 2451 211: 211 
 2452 212: 212 
 2453 213: 213 
 2454 214: 214 
 2455 215: 215 
 2456 216: 216 
 2457 217: 217 
 2458 218: 218 
 2459 219: 219 
 2460 220: 220 
 2461 221: 221 
 2462 222: 222 
 2463 223: 223 
 2464 224: 224 
 2465 225: 225 
 2466 226: 226 
 2467 227: 227 
 2468 228: 228 
 2469 229: 229 
 2470 230: 230 
 2471 231: 231 
 2472 232: 232 
 2473 233: 233 
 2474 234: 234 
 2475 235: 235 
 2476 236: 236 
 2477 237: 237 
 2478 238: 238 
 2479 239: 239 
 2480 240: 240 
 2481 241: 241 
 2482 242: 242 
 2483 243: 243 
 2484 244: 244 
 2485 245: 245 
 2486 246: 246 
 2487 247: 247 
 2488 248: 248 
 2489 249: 249 
 2490 250: 250 
 2491 251: 251 
 2492 252: 252 
 2493 253: 253 
 2494 254: 254 
 2495 255: 255 
 2496 256: 256 
 2497 257: 257 
 2498 258: 258 
 2499 259: 259 
 2500 260: 260 
 2501 261: 261 
 2502 262: 262 
 2503 263: 263 
 2504 264: 264 
 2505 265: 265 
 2506 266: 266 
 2507 267: 267 
 2508 268: 268 
 2509 269: 269 
 2510 270: ABC
 2511 271: ABC
 2512 
 2513 # This one's here because Perl does this differently and PCRE2 can't at present
 2514 
 2515 /(main(O)?)+/I
 2516 Capture group count = 2
 2517 First code unit = 'm'
 2518 Last code unit = 'n'
 2519 Subject length lower bound = 4
 2520     mainmain
 2521  0: mainmain
 2522  1: main
 2523     mainOmain
 2524  0: mainOmain
 2525  1: main
 2526  2: O
 2527 
 2528 # These are all cases where Perl does it differently (nested captures)
 2529 
 2530 /^(a(b)?)+$/I
 2531 Capture group count = 2
 2532 Compile options: <none>
 2533 Overall options: anchored
 2534 First code unit = 'a'
 2535 Subject length lower bound = 1
 2536     aba
 2537  0: aba
 2538  1: a
 2539  2: b
 2540 
 2541 /^(aa(bb)?)+$/I
 2542 Capture group count = 2
 2543 Compile options: <none>
 2544 Overall options: anchored
 2545 First code unit = 'a'
 2546 Subject length lower bound = 2
 2547     aabbaa
 2548  0: aabbaa
 2549  1: aa
 2550  2: bb
 2551 
 2552 /^(aa|aa(bb))+$/I
 2553 Capture group count = 2
 2554 Compile options: <none>
 2555 Overall options: anchored
 2556 First code unit = 'a'
 2557 Subject length lower bound = 2
 2558     aabbaa
 2559  0: aabbaa
 2560  1: aa
 2561  2: bb
 2562 
 2563 /^(aa(bb)??)+$/I
 2564 Capture group count = 2
 2565 Compile options: <none>
 2566 Overall options: anchored
 2567 First code unit = 'a'
 2568 Subject length lower bound = 2
 2569     aabbaa
 2570  0: aabbaa
 2571  1: aa
 2572  2: bb
 2573 
 2574 /^(?:aa(bb)?)+$/I
 2575 Capture group count = 1
 2576 Compile options: <none>
 2577 Overall options: anchored
 2578 First code unit = 'a'
 2579 Subject length lower bound = 2
 2580     aabbaa
 2581  0: aabbaa
 2582  1: bb
 2583 
 2584 /^(aa(b(b))?)+$/I
 2585 Capture group count = 3
 2586 Compile options: <none>
 2587 Overall options: anchored
 2588 First code unit = 'a'
 2589 Subject length lower bound = 2
 2590     aabbaa
 2591  0: aabbaa
 2592  1: aa
 2593  2: bb
 2594  3: b
 2595 
 2596 /^(?:aa(b(b))?)+$/I
 2597 Capture group count = 2
 2598 Compile options: <none>
 2599 Overall options: anchored
 2600 First code unit = 'a'
 2601 Subject length lower bound = 2
 2602     aabbaa
 2603  0: aabbaa
 2604  1: bb
 2605  2: b
 2606 
 2607 /^(?:aa(b(?:b))?)+$/I
 2608 Capture group count = 1
 2609 Compile options: <none>
 2610 Overall options: anchored
 2611 First code unit = 'a'
 2612 Subject length lower bound = 2
 2613     aabbaa
 2614  0: aabbaa
 2615  1: bb
 2616 
 2617 /^(?:aa(bb(?:b))?)+$/I
 2618 Capture group count = 1
 2619 Compile options: <none>
 2620 Overall options: anchored
 2621 First code unit = 'a'
 2622 Subject length lower bound = 2
 2623     aabbbaa
 2624  0: aabbbaa
 2625  1: bbb
 2626 
 2627 /^(?:aa(b(?:bb))?)+$/I
 2628 Capture group count = 1
 2629 Compile options: <none>
 2630 Overall options: anchored
 2631 First code unit = 'a'
 2632 Subject length lower bound = 2
 2633     aabbbaa
 2634  0: aabbbaa
 2635  1: bbb
 2636 
 2637 /^(?:aa(?:b(b))?)+$/I
 2638 Capture group count = 1
 2639 Compile options: <none>
 2640 Overall options: anchored
 2641 First code unit = 'a'
 2642 Subject length lower bound = 2
 2643     aabbaa
 2644  0: aabbaa
 2645  1: b
 2646 
 2647 /^(?:aa(?:b(bb))?)+$/I
 2648 Capture group count = 1
 2649 Compile options: <none>
 2650 Overall options: anchored
 2651 First code unit = 'a'
 2652 Subject length lower bound = 2
 2653     aabbbaa
 2654  0: aabbbaa
 2655  1: bb
 2656 
 2657 /^(aa(b(bb))?)+$/I
 2658 Capture group count = 3
 2659 Compile options: <none>
 2660 Overall options: anchored
 2661 First code unit = 'a'
 2662 Subject length lower bound = 2
 2663     aabbbaa
 2664  0: aabbbaa
 2665  1: aa
 2666  2: bbb
 2667  3: bb
 2668 
 2669 /^(aa(bb(bb))?)+$/I
 2670 Capture group count = 3
 2671 Compile options: <none>
 2672 Overall options: anchored
 2673 First code unit = 'a'
 2674 Subject length lower bound = 2
 2675     aabbbbaa
 2676  0: aabbbbaa
 2677  1: aa
 2678  2: bbbb
 2679  3: bb
 2680 
 2681 # ----------------
 2682 
 2683 /#/IBx
 2684 ------------------------------------------------------------------
 2685         Bra
 2686         Ket
 2687         End
 2688 ------------------------------------------------------------------
 2689 Capture group count = 0
 2690 May match empty string
 2691 Options: extended
 2692 Subject length lower bound = 0
 2693 
 2694 /a#/IBx
 2695 ------------------------------------------------------------------
 2696         Bra
 2697         a
 2698         Ket
 2699         End
 2700 ------------------------------------------------------------------
 2701 Capture group count = 0
 2702 Options: extended
 2703 First code unit = 'a'
 2704 Subject length lower bound = 1
 2705 
 2706 /[\s]/IB
 2707 ------------------------------------------------------------------
 2708         Bra
 2709         [\x09-\x0d ]
 2710         Ket
 2711         End
 2712 ------------------------------------------------------------------
 2713 Capture group count = 0
 2714 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 
 2715 Subject length lower bound = 1
 2716 
 2717 /[\S]/IB
 2718 ------------------------------------------------------------------
 2719         Bra
 2720         [\x00-\x08\x0e-\x1f!-\xff] (neg)
 2721         Ket
 2722         End
 2723 ------------------------------------------------------------------
 2724 Capture group count = 0
 2725 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f 
 2726   \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e 
 2727   \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C 
 2728   D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h 
 2729   i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 
 2730   \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 
 2731   \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 \xa2 
 2732   \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 
 2733   \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 
 2734   \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf 
 2735   \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde 
 2736   \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed 
 2737   \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc 
 2738   \xfd \xfe \xff 
 2739 Subject length lower bound = 1
 2740 
 2741 /a(?i)b/IB
 2742 ------------------------------------------------------------------
 2743         Bra
 2744         a
 2745      /i b
 2746         Ket
 2747         End
 2748 ------------------------------------------------------------------
 2749 Capture group count = 0
 2750 First code unit = 'a'
 2751 Last code unit = 'b' (caseless)
 2752 Subject length lower bound = 2
 2753     ab
 2754  0: ab
 2755     aB
 2756  0: aB
 2757 \= Expect no match
 2758     AB
 2759 No match
 2760 
 2761 /(a(?i)b)/IB
 2762 ------------------------------------------------------------------
 2763         Bra
 2764         CBra 1
 2765         a
 2766      /i b
 2767         Ket
 2768         Ket
 2769         End
 2770 ------------------------------------------------------------------
 2771 Capture group count = 1
 2772 First code unit = 'a'
 2773 Last code unit = 'b' (caseless)
 2774 Subject length lower bound = 2
 2775     ab
 2776  0: ab
 2777  1: ab
 2778     aB
 2779  0: aB
 2780  1: aB
 2781 \= Expect no match
 2782     AB
 2783 No match
 2784 
 2785 /   (?i)abc/IBx
 2786 ------------------------------------------------------------------
 2787         Bra
 2788      /i abc
 2789         Ket
 2790         End
 2791 ------------------------------------------------------------------
 2792 Capture group count = 0
 2793 Options: extended
 2794 First code unit = 'a' (caseless)
 2795 Last code unit = 'c' (caseless)
 2796 Subject length lower bound = 3
 2797 
 2798 /#this is a comment
 2799   (?i)abc/IBx
 2800 ------------------------------------------------------------------
 2801         Bra
 2802      /i abc
 2803         Ket
 2804         End
 2805 ------------------------------------------------------------------
 2806 Capture group count = 0
 2807 Options: extended
 2808 First code unit = 'a' (caseless)
 2809 Last code unit = 'c' (caseless)
 2810 Subject length lower bound = 3
 2811 
 2812 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/IB
 2813 ------------------------------------------------------------------
 2814         Bra
 2815         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
 2816         Ket
 2817         End
 2818 ------------------------------------------------------------------
 2819 Capture group count = 0
 2820 First code unit = '1'
 2821 Last code unit = '0'
 2822 Subject length lower bound = 300
 2823 
 2824 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/IB
 2825 ------------------------------------------------------------------
 2826         Bra
 2827         123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
 2828         Ket
 2829         End
 2830 ------------------------------------------------------------------
 2831 Capture group count = 0
 2832 First code unit = '1'
 2833 Last code unit = '0'
 2834 Subject length lower bound = 300
 2835 
 2836 /\Q\E/IB
 2837 ------------------------------------------------------------------
 2838         Bra
 2839         Ket
 2840         End
 2841 ------------------------------------------------------------------
 2842 Capture group count = 0
 2843 May match empty string
 2844 Subject length lower bound = 0
 2845     \
 2846  0: 
 2847 
 2848 /\Q\Ex/IB
 2849 ------------------------------------------------------------------
 2850         Bra
 2851         x
 2852         Ket
 2853         End
 2854 ------------------------------------------------------------------
 2855 Capture group count = 0
 2856 First code unit = 'x'
 2857 Subject length lower bound = 1
 2858 
 2859 / \Q\E/IB
 2860 ------------------------------------------------------------------
 2861         Bra
 2862          
 2863         Ket
 2864         End
 2865 ------------------------------------------------------------------
 2866 Capture group count = 0
 2867 First code unit = ' '
 2868 Subject length lower bound = 1
 2869 
 2870 /a\Q\E/IB
 2871 ------------------------------------------------------------------
 2872         Bra
 2873         a
 2874         Ket
 2875         End
 2876 ------------------------------------------------------------------
 2877 Capture group count = 0
 2878 First code unit = 'a'
 2879 Subject length lower bound = 1
 2880   abc
 2881  0: a
 2882   bca
 2883  0: a
 2884   bac
 2885  0: a
 2886 
 2887 /a\Q\Eb/IB
 2888 ------------------------------------------------------------------
 2889         Bra
 2890         ab
 2891         Ket
 2892         End
 2893 ------------------------------------------------------------------
 2894 Capture group count = 0
 2895 First code unit = 'a'
 2896 Last code unit = 'b'
 2897 Subject length lower bound = 2
 2898   abc
 2899  0: ab
 2900 
 2901 /\Q\Eabc/IB
 2902 ------------------------------------------------------------------
 2903         Bra
 2904         abc
 2905         Ket
 2906         End
 2907 ------------------------------------------------------------------
 2908 Capture group count = 0
 2909 First code unit = 'a'
 2910 Last code unit = 'c'
 2911 Subject length lower bound = 3
 2912 
 2913 /x*+\w/IB
 2914 ------------------------------------------------------------------
 2915         Bra
 2916         x*+
 2917         \w
 2918         Ket
 2919         End
 2920 ------------------------------------------------------------------
 2921 Capture group count = 0
 2922 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
 2923   Q R S T U V W X Y Z _ 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 
 2924 Subject length lower bound = 1
 2925 \= Expect no match
 2926     xxxxx
 2927 No match
 2928 
 2929 /x?+/IB
 2930 ------------------------------------------------------------------
 2931         Bra
 2932         x?+
 2933         Ket
 2934         End
 2935 ------------------------------------------------------------------
 2936 Capture group count = 0
 2937 May match empty string
 2938 Subject length lower bound = 0
 2939 
 2940 /x++/IB
 2941 ------------------------------------------------------------------
 2942         Bra
 2943         x++
 2944         Ket
 2945         End
 2946 ------------------------------------------------------------------
 2947 Capture group count = 0
 2948 First code unit = 'x'
 2949 Subject length lower bound = 1
 2950 
 2951 /x{1,3}+/B,no_auto_possess
 2952 ------------------------------------------------------------------
 2953         Bra
 2954         x
 2955         x{0,2}+
 2956         Ket
 2957         End
 2958 ------------------------------------------------------------------
 2959 
 2960 /x{1,3}+/Bi,no_auto_possess
 2961 ------------------------------------------------------------------
 2962         Bra
 2963      /i x
 2964      /i x{0,2}+
 2965         Ket
 2966         End
 2967 ------------------------------------------------------------------
 2968 
 2969 /[^x]{1,3}+/B,no_auto_possess
 2970 ------------------------------------------------------------------
 2971         Bra
 2972         [^x]
 2973         [^x]{0,2}+
 2974         Ket
 2975         End
 2976 ------------------------------------------------------------------
 2977 
 2978 /[^x]{1,3}+/Bi,no_auto_possess
 2979 ------------------------------------------------------------------
 2980         Bra
 2981      /i [^x]
 2982      /i [^x]{0,2}+
 2983         Ket
 2984         End
 2985 ------------------------------------------------------------------
 2986 
 2987 /(x)*+/IB
 2988 ------------------------------------------------------------------
 2989         Bra
 2990         Braposzero
 2991         CBraPos 1
 2992         x
 2993         KetRpos
 2994         Ket
 2995         End
 2996 ------------------------------------------------------------------
 2997 Capture group count = 1
 2998 May match empty string
 2999 Subject length lower bound = 0
 3000 
 3001 /^(\w++|\s++)*$/I
 3002 Capture group count = 1
 3003 May match empty string
 3004 Compile options: <none>
 3005 Overall options: anchored
 3006 Subject length lower bound = 0
 3007     now is the time for all good men to come to the aid of the party
 3008  0: now is the time for all good men to come to the aid of the party
 3009  1: party
 3010 \= Expect no match
 3011     this is not a line with only words and spaces!
 3012 No match
 3013 
 3014 /(\d++)(\w)/I
 3015 Capture group count = 2
 3016 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 3017 Subject length lower bound = 2
 3018     12345a
 3019  0: 12345a
 3020  1: 12345
 3021  2: a
 3022 \= Expect no match
 3023     12345+
 3024 No match
 3025 
 3026 /a++b/I
 3027 Capture group count = 0
 3028 First code unit = 'a'
 3029 Last code unit = 'b'
 3030 Subject length lower bound = 2
 3031     aaab
 3032  0: aaab
 3033 
 3034 /(a++b)/I
 3035 Capture group count = 1
 3036 First code unit = 'a'
 3037 Last code unit = 'b'
 3038 Subject length lower bound = 2
 3039     aaab
 3040  0: aaab
 3041  1: aaab
 3042 
 3043 /(a++)b/I
 3044 Capture group count = 1
 3045 First code unit = 'a'
 3046 Last code unit = 'b'
 3047 Subject length lower bound = 2
 3048     aaab
 3049  0: aaab
 3050  1: aaa
 3051 
 3052 /([^()]++|\([^()]*\))+/I
 3053 Capture group count = 1
 3054 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
 3055   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
 3056   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( * + , - . / 0 1 2 3 4 5 
 3057   6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
 3058   [ \ ] ^ _ ` 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 { | } ~ \x7f 
 3059   \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e 
 3060   \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d 
 3061   \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac 
 3062   \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb 
 3063   \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca 
 3064   \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 
 3065   \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 
 3066   \xe9 \xea \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 
 3067   \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff 
 3068 Subject length lower bound = 1
 3069     ((abc(ade)ufh()()x
 3070  0: abc(ade)ufh()()x
 3071  1: x
 3072 
 3073 /\(([^()]++|\([^()]+\))+\)/I
 3074 Capture group count = 1
 3075 First code unit = '('
 3076 Last code unit = ')'
 3077 Subject length lower bound = 3
 3078     (abc)
 3079  0: (abc)
 3080  1: abc
 3081     (abc(def)xyz)
 3082  0: (abc(def)xyz)
 3083  1: xyz
 3084 \= Expect no match
 3085     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 3086 No match
 3087 
 3088 /(abc){1,3}+/IB
 3089 ------------------------------------------------------------------
 3090         Bra
 3091         Once
 3092         CBra 1
 3093         abc
 3094         Ket
 3095         Brazero
 3096         Bra
 3097         CBra 1
 3098         abc
 3099         Ket
 3100         Brazero
 3101         CBra 1
 3102         abc
 3103         Ket
 3104         Ket
 3105         Ket
 3106         Ket
 3107         End
 3108 ------------------------------------------------------------------
 3109 Capture group count = 1
 3110 First code unit = 'a'
 3111 Last code unit = 'c'
 3112 Subject length lower bound = 3
 3113 
 3114 /a+?+/I
 3115 Failed: error 109 at offset 3: quantifier does not follow a repeatable item
 3116 
 3117 /a{2,3}?+b/I
 3118 Failed: error 109 at offset 7: quantifier does not follow a repeatable item
 3119 
 3120 /(?U)a+?+/I
 3121 Failed: error 109 at offset 7: quantifier does not follow a repeatable item
 3122 
 3123 /a{2,3}?+b/I,ungreedy
 3124 Failed: error 109 at offset 7: quantifier does not follow a repeatable item
 3125 
 3126 /x(?U)a++b/IB
 3127 ------------------------------------------------------------------
 3128         Bra
 3129         x
 3130         a++
 3131         b
 3132         Ket
 3133         End
 3134 ------------------------------------------------------------------
 3135 Capture group count = 0
 3136 First code unit = 'x'
 3137 Last code unit = 'b'
 3138 Subject length lower bound = 3
 3139     xaaaab
 3140  0: xaaaab
 3141 
 3142 /(?U)xa++b/IB
 3143 ------------------------------------------------------------------
 3144         Bra
 3145         x
 3146         a++
 3147         b
 3148         Ket
 3149         End
 3150 ------------------------------------------------------------------
 3151 Capture group count = 0
 3152 First code unit = 'x'
 3153 Last code unit = 'b'
 3154 Subject length lower bound = 3
 3155     xaaaab
 3156  0: xaaaab
 3157 
 3158 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/IB
 3159 ------------------------------------------------------------------
 3160         Bra
 3161         ^
 3162         CBra 1
 3163         CBra 2
 3164         a+
 3165         Ket
 3166         CBra 3
 3167         [ab]+?
 3168         Ket
 3169         CBra 4
 3170         [bc]+
 3171         Ket
 3172         CBra 5
 3173         \w*+
 3174         Ket
 3175         Ket
 3176         Ket
 3177         End
 3178 ------------------------------------------------------------------
 3179 Capture group count = 5
 3180 Compile options: <none>
 3181 Overall options: anchored
 3182 First code unit = 'a'
 3183 Subject length lower bound = 3
 3184 
 3185 /^x(?U)a+b/IB
 3186 ------------------------------------------------------------------
 3187         Bra
 3188         ^
 3189         x
 3190         a++
 3191         b
 3192         Ket
 3193         End
 3194 ------------------------------------------------------------------
 3195 Capture group count = 0
 3196 Compile options: <none>
 3197 Overall options: anchored
 3198 First code unit = 'x'
 3199 Last code unit = 'b'
 3200 Subject length lower bound = 3
 3201 
 3202 /^x(?U)(a+)b/IB
 3203 ------------------------------------------------------------------
 3204         Bra
 3205         ^
 3206         x
 3207         CBra 1
 3208         a+?
 3209         Ket
 3210         b
 3211         Ket
 3212         End
 3213 ------------------------------------------------------------------
 3214 Capture group count = 1
 3215 Compile options: <none>
 3216 Overall options: anchored
 3217 First code unit = 'x'
 3218 Last code unit = 'b'
 3219 Subject length lower bound = 3
 3220 
 3221 /[.x.]/I
 3222 Failed: error 113 at offset 0: POSIX collating elements are not supported
 3223 
 3224 /[=x=]/I
 3225 Failed: error 113 at offset 0: POSIX collating elements are not supported
 3226 
 3227 /[:x:]/I
 3228 Failed: error 112 at offset 0: POSIX named classes are supported only within a class
 3229 
 3230 /\F/I
 3231 Failed: error 137 at offset 2: PCRE2 does not support \F, \L, \l, \N{name}, \U, or \u
 3232 
 3233 /\l/I
 3234 Failed: error 137 at offset 2: PCRE2 does not support \F, \L, \l, \N{name}, \U, or \u
 3235 
 3236 /\L/I
 3237 Failed: error 137 at offset 2: PCRE2 does not support \F, \L, \l, \N{name}, \U, or \u
 3238 
 3239 /\N{name}/I
 3240 Failed: error 137 at offset 2: PCRE2 does not support \F, \L, \l, \N{name}, \U, or \u
 3241 
 3242 /\u/I
 3243 Failed: error 137 at offset 2: PCRE2 does not support \F, \L, \l, \N{name}, \U, or \u
 3244 
 3245 /\U/I
 3246 Failed: error 137 at offset 2: PCRE2 does not support \F, \L, \l, \N{name}, \U, or \u
 3247 
 3248 /a{1,3}b/ungreedy
 3249     ab
 3250  0: ab
 3251 
 3252 /[/I
 3253 Failed: error 106 at offset 1: missing terminating ] for character class
 3254 
 3255 /[a-/I
 3256 Failed: error 106 at offset 3: missing terminating ] for character class
 3257 
 3258 /[[:space:]/I
 3259 Failed: error 106 at offset 10: missing terminating ] for character class
 3260 
 3261 /[\s]/IB
 3262 ------------------------------------------------------------------
 3263         Bra
 3264         [\x09-\x0d ]
 3265         Ket
 3266         End
 3267 ------------------------------------------------------------------
 3268 Capture group count = 0
 3269 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 
 3270 Subject length lower bound = 1
 3271 
 3272 /[[:space:]]/IB
 3273 ------------------------------------------------------------------
 3274         Bra
 3275         [\x09-\x0d ]
 3276         Ket
 3277         End
 3278 ------------------------------------------------------------------
 3279 Capture group count = 0
 3280 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 
 3281 Subject length lower bound = 1
 3282 
 3283 /[[:space:]abcde]/IB
 3284 ------------------------------------------------------------------
 3285         Bra
 3286         [\x09-\x0d a-e]
 3287         Ket
 3288         End
 3289 ------------------------------------------------------------------
 3290 Capture group count = 0
 3291 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 a b c d e 
 3292 Subject length lower bound = 1
 3293 
 3294 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
 3295 Capture group count = 0
 3296 Options: extended
 3297 First code unit = '<'
 3298 Last code unit = '>'
 3299 Subject length lower bound = 2
 3300     <>
 3301  0: <>
 3302     <abcd>
 3303  0: <abcd>
 3304     <abc <123> hij>
 3305  0: <abc <123> hij>
 3306     <abc <def> hij>
 3307  0: <def>
 3308     <abc<>def>
 3309  0: <abc<>def>
 3310     <abc<>
 3311  0: <>
 3312 \= Expect no match
 3313     <abc
 3314 No match
 3315 
 3316 /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/IB
 3317 ------------------------------------------------------------------
 3318         Bra
 3319         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
 3320         \b
 3321         Ket
 3322         End
 3323 ------------------------------------------------------------------
 3324 Capture group count = 0
 3325 Max lookbehind = 1
 3326 First code unit = '8'
 3327 Last code unit = 'X'
 3328 Subject length lower bound = 409
 3329 
 3330 /\$\<\.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/IB
 3331 ------------------------------------------------------------------
 3332         Bra
 3333         $<.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
 3334         \b
 3335         Ket
 3336         End
 3337 ------------------------------------------------------------------
 3338 Capture group count = 0
 3339 Max lookbehind = 1
 3340 First code unit = '$'
 3341 Last code unit = 'X'
 3342 Subject length lower bound = 404
 3343 
 3344 /(.*)\d+\1/I
 3345 Capture group count = 1
 3346 Max back reference = 1
 3347 Subject length lower bound = 1
 3348 
 3349 /(.*)\d+/I
 3350 Capture group count = 1
 3351 First code unit at start or follows newline
 3352 Subject length lower bound = 1
 3353 
 3354 /(.*)\d+\1/Is
 3355 Capture group count = 1
 3356 Max back reference = 1
 3357 Options: dotall
 3358 Subject length lower bound = 1
 3359 
 3360 /(.*)\d+/Is
 3361 Capture group count = 1
 3362 Compile options: dotall
 3363 Overall options: anchored dotall
 3364 Subject length lower bound = 1
 3365 
 3366 /(.*(xyz))\d+\2/I
 3367 Capture group count = 2
 3368 Max back reference = 2
 3369 First code unit at start or follows newline
 3370 Last code unit = 'z'
 3371 Subject length lower bound = 7
 3372 
 3373 /((.*))\d+\1/I
 3374 Capture group count = 2
 3375 Max back reference = 1
 3376 Subject length lower bound = 1
 3377     abc123bc
 3378  0: bc123bc
 3379  1: bc
 3380  2: bc
 3381 
 3382 /a[b]/I
 3383 Capture group count = 0
 3384 First code unit = 'a'
 3385 Last code unit = 'b'
 3386 Subject length lower bound = 2
 3387 
 3388 /(?=a).*/I
 3389 Capture group count = 0
 3390 May match empty string
 3391 First code unit = 'a'
 3392 Subject length lower bound = 1
 3393 
 3394 /(?=abc).xyz/Ii
 3395 Capture group count = 0
 3396 Options: caseless
 3397 First code unit = 'a' (caseless)
 3398 Last code unit = 'z' (caseless)
 3399 Subject length lower bound = 4
 3400 
 3401 /(?=abc)(?i).xyz/I
 3402 Capture group count = 0
 3403 First code unit = 'a'
 3404 Last code unit = 'z' (caseless)
 3405 Subject length lower bound = 4
 3406 
 3407 /(?=a)(?=b)/I
 3408 Capture group count = 0
 3409 May match empty string
 3410 First code unit = 'a'
 3411 Subject length lower bound = 1
 3412 
 3413 /(?=.)a/I
 3414 Capture group count = 0
 3415 First code unit = 'a'
 3416 Subject length lower bound = 1
 3417 
 3418 /((?=abcda)a)/I
 3419 Capture group count = 1
 3420 First code unit = 'a'
 3421 Last code unit = 'a'
 3422 Subject length lower bound = 2
 3423 
 3424 /((?=abcda)ab)/I
 3425 Capture group count = 1
 3426 First code unit = 'a'
 3427 Last code unit = 'b'
 3428 Subject length lower bound = 2
 3429 
 3430 /()a/I
 3431 Capture group count = 1
 3432 First code unit = 'a'
 3433 Subject length lower bound = 1
 3434 
 3435 /(?:(?=.)|(?<!x))a/I
 3436 Capture group count = 0
 3437 Max lookbehind = 1
 3438 First code unit = 'a'
 3439 Subject length lower bound = 1
 3440 
 3441 /(?(1)ab|ac)(.)/I
 3442 Capture group count = 1
 3443 Max back reference = 1
 3444 First code unit = 'a'
 3445 Subject length lower bound = 3
 3446 
 3447 /(?(1)abz|acz)(.)/I
 3448 Capture group count = 1
 3449 Max back reference = 1
 3450 First code unit = 'a'
 3451 Last code unit = 'z'
 3452 Subject length lower bound = 4
 3453 
 3454 /(?(1)abz)(.)/I
 3455 Capture group count = 1
 3456 Max back reference = 1
 3457 Subject length lower bound = 1
 3458 
 3459 /(?(1)abz)(1)23/I
 3460 Capture group count = 1
 3461 Max back reference = 1
 3462 Last code unit = '3'
 3463 Subject length lower bound = 3
 3464 
 3465 /(a)+/I
 3466 Capture group count = 1
 3467 First code unit = 'a'
 3468 Subject length lower bound = 1
 3469 
 3470 /(a){2,3}/I
 3471 Capture group count = 1
 3472 First code unit = 'a'
 3473 Last code unit = 'a'
 3474 Subject length lower bound = 2
 3475 
 3476 /(a)*/I
 3477 Capture group count = 1
 3478 May match empty string
 3479 Subject length lower bound = 0
 3480 
 3481 /[a]/I
 3482 Capture group count = 0
 3483 First code unit = 'a'
 3484 Subject length lower bound = 1
 3485 
 3486 /[ab]/I
 3487 Capture group count = 0
 3488 Starting code units: a b 
 3489 Subject length lower bound = 1
 3490 
 3491 /[ab]/I
 3492 Capture group count = 0
 3493 Starting code units: a b 
 3494 Subject length lower bound = 1
 3495 
 3496 /[^a]/I
 3497 Capture group count = 0
 3498 Subject length lower bound = 1
 3499 
 3500 /\d456/I
 3501 Capture group count = 0
 3502 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 3503 Last code unit = '6'
 3504 Subject length lower bound = 4
 3505 
 3506 /\d456/I
 3507 Capture group count = 0
 3508 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 3509 Last code unit = '6'
 3510 Subject length lower bound = 4
 3511 
 3512 /a^b/I
 3513 Capture group count = 0
 3514 First code unit = 'a'
 3515 Last code unit = 'b'
 3516 Subject length lower bound = 2
 3517 
 3518 /^a/Im
 3519 Capture group count = 0
 3520 Options: multiline
 3521 First code unit at start or follows newline
 3522 Last code unit = 'a'
 3523 Subject length lower bound = 1
 3524   abcde
 3525  0: a
 3526   xy\nabc
 3527  0: a
 3528 \= Expect no match
 3529   xyabc
 3530 No match
 3531 
 3532 /c|abc/I
 3533 Capture group count = 0
 3534 Starting code units: a c 
 3535 Last code unit = 'c'
 3536 Subject length lower bound = 1
 3537 
 3538 /(?i)[ab]/I
 3539 Capture group count = 0
 3540 Starting code units: A B a b 
 3541 Subject length lower bound = 1
 3542 
 3543 /[ab](?i)cd/I
 3544 Capture group count = 0
 3545 Starting code units: a b 
 3546 Last code unit = 'd' (caseless)
 3547 Subject length lower bound = 3
 3548 
 3549 /abc(?C)def/I
 3550 Capture group count = 0
 3551 First code unit = 'a'
 3552 Last code unit = 'f'
 3553 Subject length lower bound = 6
 3554     abcdef
 3555 --->abcdef
 3556   0 ^  ^       d
 3557  0: abcdef
 3558     1234abcdef
 3559 --->1234abcdef
 3560   0     ^  ^       d
 3561  0: abcdef
 3562 \= Expect no match
 3563     abcxyz
 3564 No match
 3565     abcxyzf
 3566 --->abcxyzf
 3567   0 ^  ^        d
 3568 No match
 3569 
 3570 /abc(?C)de(?C1)f/I
 3571 Capture group count = 0
 3572 First code unit = 'a'
 3573 Last code unit = 'f'
 3574 Subject length lower bound = 6
 3575     123abcdef
 3576 --->123abcdef
 3577   0    ^  ^       d
 3578   1    ^    ^     f
 3579  0: abcdef
 3580 
 3581 /(?C1)\dabc(?C2)def/I
 3582 Capture group count = 0
 3583 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 3584 Last code unit = 'f'
 3585 Subject length lower bound = 7
 3586     1234abcdef
 3587 --->1234abcdef
 3588   1 ^              \d
 3589   1  ^             \d
 3590   1   ^            \d
 3591   1    ^           \d
 3592   2    ^   ^       d
 3593  0: 4abcdef
 3594 \= Expect no match
 3595     abcdef
 3596 No match
 3597 
 3598 /(?C1)\dabc(?C2)def/I
 3599 Capture group count = 0
 3600 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 3601 Last code unit = 'f'
 3602 Subject length lower bound = 7
 3603     1234abcdef
 3604 --->1234abcdef
 3605   1 ^              \d
 3606   1  ^             \d
 3607   1   ^            \d
 3608   1    ^           \d
 3609   2    ^   ^       d
 3610  0: 4abcdef
 3611 \= Expect no match
 3612     abcdef
 3613 No match
 3614 
 3615 /(?C255)ab/I
 3616 Capture group count = 0
 3617 First code unit = 'a'
 3618 Last code unit = 'b'
 3619 Subject length lower bound = 2
 3620 
 3621 /(?C256)ab/I
 3622 Failed: error 138 at offset 6: number after (?C is greater than 255
 3623 
 3624 /(?Cab)xx/I
 3625 Failed: error 182 at offset 3: unrecognized string delimiter follows (?C
 3626 
 3627 /(?C12vr)x/I
 3628 Failed: error 139 at offset 5: closing parenthesis for (?C expected
 3629 
 3630 /abc(?C)def/I
 3631 Capture group count = 0
 3632 First code unit = 'a'
 3633 Last code unit = 'f'
 3634 Subject length lower bound = 6
 3635     \x83\x0\x61bcdef
 3636 --->\x83\x00abcdef
 3637   0         ^  ^       d
 3638  0: abcdef
 3639 
 3640 /(abc)(?C)de(?C1)f/I
 3641 Capture group count = 1
 3642 First code unit = 'a'
 3643 Last code unit = 'f'
 3644 Subject length lower bound = 6
 3645     123abcdef
 3646 --->123abcdef
 3647   0    ^  ^       d
 3648   1    ^    ^     f
 3649  0: abcdef
 3650  1: abc
 3651     123abcdef\=callout_capture
 3652 Callout 0: last capture = 1
 3653  1: abc
 3654 --->123abcdef
 3655        ^  ^       d
 3656 Callout 1: last capture = 1
 3657  1: abc
 3658 --->123abcdef
 3659        ^    ^     f
 3660  0: abcdef
 3661  1: abc
 3662     123abcdefC-\=callout_none
 3663  0: abcdef
 3664  1: abc
 3665 \= Expect no match
 3666     123abcdef\=callout_fail=1
 3667 --->123abcdef
 3668   0    ^  ^       d
 3669   1    ^    ^     f
 3670 No match
 3671 
 3672 /(?C0)(abc(?C1))*/I
 3673 Capture group count = 1
 3674 May match empty string
 3675 Subject length lower bound = 0
 3676     abcabcabc
 3677 --->abcabcabc
 3678   0 ^             (
 3679   1 ^  ^          )*
 3680   1 ^     ^       )*
 3681   1 ^        ^    )*
 3682  0: abcabcabc
 3683  1: abc
 3684     abcabc\=callout_fail=1:4
 3685 --->abcabc
 3686   0 ^          (
 3687   1 ^  ^       )*
 3688   1 ^     ^    )*
 3689  0: abcabc
 3690  1: abc
 3691     abcabcabc\=callout_fail=1:4
 3692 --->abcabcabc
 3693   0 ^             (
 3694   1 ^  ^          )*
 3695   1 ^     ^       )*
 3696   1 ^        ^    )*
 3697  0: abcabc
 3698  1: abc
 3699 
 3700 /(\d{3}(?C))*/I
 3701 Capture group count = 1
 3702 May match empty string
 3703 Subject length lower bound = 0
 3704     123\=callout_capture
 3705 Callout 0: last capture = 0
 3706 --->123
 3707     ^  ^    )*
 3708  0: 123
 3709  1: 123
 3710     123456\=callout_capture
 3711 Callout 0: last capture = 0
 3712 --->123456
 3713     ^  ^       )*
 3714 Callout 0: last capture = 1
 3715  1: 123
 3716 --->123456
 3717     ^     ^    )*
 3718  0: 123456
 3719  1: 456
 3720     123456789\=callout_capture
 3721 Callout 0: last capture = 0
 3722 --->123456789
 3723     ^  ^          )*
 3724 Callout 0: last capture = 1
 3725  1: 123
 3726 --->123456789
 3727     ^     ^       )*
 3728 Callout 0: last capture = 1
 3729  1: 456
 3730 --->123456789
 3731     ^        ^    )*
 3732  0: 123456789
 3733  1: 789
 3734 
 3735 /((xyz)(?C)p|(?C1)xyzabc)/I
 3736 Capture group count = 2
 3737 First code unit = 'x'
 3738 Subject length lower bound = 4
 3739     xyzabc\=callout_capture
 3740 Callout 0: last capture = 2
 3741  1: <unset>
 3742  2: xyz
 3743 --->xyzabc
 3744     ^  ^       p
 3745 Callout 1: last capture = 0
 3746 --->xyzabc
 3747     ^          x
 3748  0: xyzabc
 3749  1: xyzabc
 3750 
 3751 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
 3752 Capture group count = 3
 3753 First code unit = 'X'
 3754 Last code unit = 'x'
 3755 Subject length lower bound = 5
 3756     Xxyzabc\=callout_capture
 3757 Callout 0: last capture = 3
 3758  1: X
 3759  2: <unset>
 3760  3: xyz
 3761 --->Xxyzabc
 3762     ^   ^       p
 3763 Callout 1: last capture = 1
 3764  1: X
 3765 --->Xxyzabc
 3766     ^^          x
 3767  0: Xxyzabc
 3768  1: X
 3769  2: xyzabc
 3770 
 3771 /(?=(abc))(?C)abcdef/I
 3772 Capture group count = 1
 3773 First code unit = 'a'
 3774 Last code unit = 'f'
 3775 Subject length lower bound = 6
 3776     abcdef\=callout_capture
 3777 Callout 0: last capture = 1
 3778  1: abc
 3779 --->abcdef
 3780     ^          a
 3781  0: abcdef
 3782  1: abc
 3783 
 3784 /(?!(abc)(?C1)d)(?C2)abcxyz/I
 3785 Capture group count = 1
 3786 First code unit = 'a'
 3787 Last code unit = 'z'
 3788 Subject length lower bound = 6
 3789     abcxyz\=callout_capture
 3790 Callout 1: last capture = 1
 3791  1: abc
 3792 --->abcxyz
 3793     ^  ^       d
 3794 Callout 2: last capture = 0
 3795 --->abcxyz
 3796     ^          a
 3797  0: abcxyz
 3798 
 3799 /(?<=(abc)(?C))xyz/I
 3800 Capture group count = 1
 3801 Max lookbehind = 3
 3802 First code unit = 'x'
 3803 Last code unit = 'z'
 3804 Subject length lower bound = 3
 3805    abcxyz\=callout_capture
 3806 Callout 0: last capture = 1
 3807  1: abc
 3808 --->abcxyz
 3809        ^       )
 3810  0: xyz
 3811  1: abc
 3812 
 3813 /a(b+)(c*)(?C1)/I
 3814 Capture group count = 2
 3815 First code unit = 'a'
 3816 Last code unit = 'b'
 3817 Subject length lower bound = 2
 3818 \= Expect no match
 3819     abbbbbccc\=callout_data=1
 3820 --->abbbbbccc
 3821   1 ^        ^    End of pattern
 3822 Callout data = 1
 3823 No match
 3824 
 3825 /a(b+?)(c*?)(?C1)/I
 3826 Capture group count = 2
 3827 First code unit = 'a'
 3828 Last code unit = 'b'
 3829 Subject length lower bound = 2
 3830 \= Expect no match
 3831     abbbbbccc\=callout_data=1
 3832 --->abbbbbccc
 3833   1 ^ ^           End of pattern
 3834 Callout data = 1
 3835   1 ^  ^          End of pattern
 3836 Callout data = 1
 3837   1 ^   ^         End of pattern
 3838 Callout data = 1
 3839   1 ^    ^        End of pattern
 3840 Callout data = 1
 3841   1 ^     ^       End of pattern
 3842 Callout data = 1
 3843   1 ^      ^      End of pattern
 3844 Callout data = 1
 3845   1 ^       ^     End of pattern
 3846 Callout data = 1
 3847   1 ^        ^    End of pattern
 3848 Callout data = 1
 3849 No match
 3850 
 3851 /(?C)abc/I
 3852 Capture group count = 0
 3853 First code unit = 'a'
 3854 Last code unit = 'c'
 3855 Subject length lower bound = 3
 3856 
 3857 /(?C)^abc/I
 3858 Capture group count = 0
 3859 Compile options: <none>
 3860 Overall options: anchored
 3861 First code unit = 'a'
 3862 Subject length lower bound = 3
 3863 
 3864 /(?C)a|b/I
 3865 Capture group count = 0
 3866 Starting code units: a b 
 3867 Subject length lower bound = 1
 3868 
 3869 /a|(b)(?C)/I
 3870 Capture group count = 1
 3871 Starting code units: a b 
 3872 Subject length lower bound = 1
 3873     b
 3874 --->b
 3875   0 ^^    End of pattern
 3876  0: b
 3877  1: b
 3878 
 3879 /x(ab|(bc|(de|(?R))))/I
 3880 Capture group count = 3
 3881 First code unit = 'x'
 3882 Subject length lower bound = 3
 3883     xab
 3884  0: xab
 3885  1: ab
 3886     xbc
 3887  0: xbc
 3888  1: bc
 3889  2: bc
 3890     xde
 3891  0: xde
 3892  1: de
 3893  2: de
 3894  3: de
 3895     xxab
 3896  0: xxab
 3897  1: xab
 3898  2: xab
 3899  3: xab
 3900     xxxab
 3901  0: xxxab
 3902  1: xxab
 3903  2: xxab
 3904  3: xxab
 3905 \= Expect no match
 3906     xyab
 3907 No match
 3908 
 3909 /^([^()]|\((?1)*\))*$/I
 3910 Capture group count = 1
 3911 May match empty string
 3912 Compile options: <none>
 3913 Overall options: anchored
 3914 Subject length lower bound = 0
 3915     abc
 3916  0: abc
 3917  1: c
 3918     a(b)c
 3919  0: a(b)c
 3920  1: c
 3921     a(b(c))d
 3922  0: a(b(c))d
 3923  1: d
 3924 \= Expect no match)
 3925     a(b(c)d
 3926 No match
 3927 
 3928 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
 3929 Capture group count = 1
 3930 Compile options: <none>
 3931 Overall options: anchored
 3932 First code unit = '>'
 3933 Last code unit = '<'
 3934 Subject length lower bound = 10
 3935    >abc>123<xyz<
 3936  0: >abc>123<xyz<
 3937  1: 3
 3938    >abc>1(2)3<xyz<
 3939  0: >abc>1(2)3<xyz<
 3940  1: 3
 3941    >abc>(1(2)3)<xyz<
 3942  0: >abc>(1(2)3)<xyz<
 3943  1: (1(2)3)
 3944 
 3945 /(a(?1)b)/IB
 3946 ------------------------------------------------------------------
 3947         Bra
 3948         CBra 1
 3949         a
 3950         Recurse
 3951         b
 3952         Ket
 3953         Ket
 3954         End
 3955 ------------------------------------------------------------------
 3956 Capture group count = 1
 3957 First code unit = 'a'
 3958 Last code unit = 'b'
 3959 Subject length lower bound = 2
 3960 
 3961 /(a(?1)+b)/IB
 3962 ------------------------------------------------------------------
 3963         Bra
 3964         CBra 1
 3965         a
 3966         SBra
 3967         Recurse
 3968         KetRmax
 3969         b
 3970         Ket
 3971         Ket
 3972         End
 3973 ------------------------------------------------------------------
 3974 Capture group count = 1
 3975 First code unit = 'a'
 3976 Last code unit = 'b'
 3977 Subject length lower bound = 2
 3978 
 3979 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
 3980 Capture group count = 2
 3981 Compile options: <none>
 3982 Overall options: anchored
 3983 Starting code units: ( - 0 1 2 3 4 5 6 7 8 9 
 3984 Subject length lower bound = 1
 3985     12
 3986  0: 12
 3987  1: 12
 3988     (((2+2)*-3)-7)
 3989  0: (((2+2)*-3)-7)
 3990  1: (((2+2)*-3)-7)
 3991  2: -
 3992     -12
 3993  0: -12
 3994  1: -12
 3995 \= Expect no match
 3996     ((2+2)*-3)-7)
 3997 No match
 3998 
 3999 /^(x(y|(?1){2})z)/I
 4000 Capture group count = 2
 4001 Compile options: <none>
 4002 Overall options: anchored
 4003 First code unit = 'x'
 4004 Subject length lower bound = 3
 4005     xyz
 4006  0: xyz
 4007  1: xyz
 4008  2: y
 4009     xxyzxyzz
 4010  0: xxyzxyzz
 4011  1: xxyzxyzz
 4012  2: xyzxyz
 4013 \= Expect no match
 4014     xxyzz
 4015 No match
 4016     xxyzxyzxyzz
 4017 No match
 4018 
 4019 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
 4020 Capture group count = 2
 4021 Options: extended
 4022 First code unit = '<'
 4023 Last code unit = '>'
 4024 Subject length lower bound = 2
 4025     <>
 4026  0: <>
 4027  1: <>
 4028  2: <>
 4029     <abcd>
 4030  0: <abcd>
 4031  1: <abcd>
 4032  2: <abcd>
 4033     <abc <123> hij>
 4034  0: <abc <123> hij>
 4035  1: <abc <123> hij>
 4036  2: <abc <123> hij>
 4037     <abc <def> hij>
 4038  0: <def>
 4039  1: <def>
 4040  2: <def>
 4041     <abc<>def>
 4042  0: <abc<>def>
 4043  1: <abc<>def>
 4044  2: <abc<>def>
 4045     <abc<>
 4046  0: <>
 4047  1: <>
 4048  2: <>
 4049 \= Expect no match
 4050     <abc
 4051 No match
 4052 
 4053 /(?1)/I
 4054 Failed: error 115 at offset 3: reference to non-existent subpattern
 4055 
 4056 /((?2)(abc)/I
 4057 Failed: error 114 at offset 10: missing closing parenthesis
 4058 
 4059 /^(abc)def(?1)/I
 4060 Capture group count = 1
 4061 Compile options: <none>
 4062 Overall options: anchored
 4063 First code unit = 'a'
 4064 Subject length lower bound = 9
 4065     abcdefabc
 4066  0: abcdefabc
 4067  1: abc
 4068 
 4069 /^(a|b|c)=(?1)+/I
 4070 Capture group count = 1
 4071 Compile options: <none>
 4072 Overall options: anchored
 4073 Starting code units: a b c 
 4074 Subject length lower bound = 2
 4075     a=a
 4076  0: a=a
 4077  1: a
 4078     a=b
 4079  0: a=b
 4080  1: a
 4081     a=bc
 4082  0: a=bc
 4083  1: a
 4084 
 4085 /^(a|b|c)=((?1))+/I
 4086 Capture group count = 2
 4087 Compile options: <none>
 4088 Overall options: anchored
 4089 Starting code units: a b c 
 4090 Subject length lower bound = 2
 4091     a=a
 4092  0: a=a
 4093  1: a
 4094  2: a
 4095     a=b
 4096  0: a=b
 4097  1: a
 4098  2: b
 4099     a=bc
 4100  0: a=bc
 4101  1: a
 4102  2: c
 4103 
 4104 /a(?P<name1>b|c)d(?P<longername2>e)/IB
 4105 ------------------------------------------------------------------
 4106         Bra
 4107         a
 4108         CBra 1
 4109         b
 4110         Alt
 4111         c
 4112         Ket
 4113         d
 4114         CBra 2
 4115         e
 4116         Ket
 4117         Ket
 4118         End
 4119 ------------------------------------------------------------------
 4120 Capture group count = 2
 4121 Named capture groups:
 4122   longername2   2
 4123   name1         1
 4124 First code unit = 'a'
 4125 Last code unit = 'e'
 4126 Subject length lower bound = 4
 4127     abde
 4128  0: abde
 4129  1: b
 4130  2: e
 4131     acde
 4132  0: acde
 4133  1: c
 4134  2: e
 4135 
 4136 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/IB
 4137 ------------------------------------------------------------------
 4138         Bra
 4139         Bra
 4140         a
 4141         CBra 1
 4142         c
 4143         CBra 2
 4144         d
 4145         Ket
 4146         Ket
 4147         Ket
 4148         CBra 3
 4149         a
 4150         Ket
 4151         Ket
 4152         End
 4153 ------------------------------------------------------------------
 4154 Capture group count = 3
 4155 Named capture groups:
 4156   a   3
 4157   c   1
 4158   d   2
 4159 First code unit = 'a'
 4160 Last code unit = 'a'
 4161 Subject length lower bound = 4
 4162 
 4163 /(?P<a>a)...(?P=a)bbb(?P>a)d/IB
 4164 ------------------------------------------------------------------
 4165         Bra
 4166         CBra 1
 4167         a
 4168         Ket
 4169         Any
 4170         Any
 4171         Any
 4172         \1
 4173         bbb
 4174         Recurse
 4175         d
 4176         Ket
 4177         End
 4178 ------------------------------------------------------------------
 4179 Capture group count = 1
 4180 Max back reference = 1
 4181 Named capture groups:
 4182   a   1
 4183 First code unit = 'a'
 4184 Last code unit = 'd'
 4185 Subject length lower bound = 10
 4186 
 4187 /^\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
 4188 Capture group count = 4
 4189 Max back reference = 4
 4190 Named capture groups:
 4191   four    4
 4192   one     1
 4193   three   3
 4194   two     2
 4195 May match empty string
 4196 Compile options: caseless
 4197 Overall options: anchored caseless
 4198 Subject length lower bound = 0
 4199     1221
 4200  0: 1221
 4201  1: 1221
 4202  2: 1
 4203     Satan, oscillate my metallic sonatas!
 4204  0: Satan, oscillate my metallic sonatas!
 4205  1: <unset>
 4206  2: <unset>
 4207  3: Satan, oscillate my metallic sonatas
 4208  4: S
 4209     A man, a plan, a canal: Panama!
 4210  0: A man, a plan, a canal: Panama!
 4211  1: <unset>
 4212  2: <unset>
 4213  3: A man, a plan, a canal: Panama
 4214  4: A
 4215     Able was I ere I saw Elba.
 4216  0: Able was I ere I saw Elba.
 4217  1: <unset>
 4218  2: <unset>
 4219  3: Able was I ere I saw Elba
 4220  4: A
 4221 \= Expect no match
 4222     The quick brown fox
 4223 No match
 4224 
 4225 /((?(R)a|b))\1(?1)?/I
 4226 Capture group count = 1
 4227 Max back reference = 1
 4228 Subject length lower bound = 2
 4229   bb
 4230  0: bb
 4231  1: b
 4232   bbaa
 4233  0: bba
 4234  1: b
 4235 
 4236 /(.*)a/Is
 4237 Capture group count = 1
 4238 Compile options: dotall
 4239 Overall options: anchored dotall
 4240 Last code unit = 'a'
 4241 Subject length lower bound = 1
 4242 
 4243 /(.*)a\1/Is
 4244 Capture group count = 1
 4245 Max back reference = 1
 4246 Options: dotall
 4247 Last code unit = 'a'
 4248 Subject length lower bound = 1
 4249 
 4250 /(.*)a(b)\2/Is
 4251 Capture group count = 2
 4252 Max back reference = 2
 4253 Compile options: dotall
 4254 Overall options: anchored dotall
 4255 Last code unit = 'b'
 4256 Subject length lower bound = 3
 4257 
 4258 /((.*)a|(.*)b)z/Is
 4259 Capture group count = 3
 4260 Compile options: dotall
 4261 Overall options: anchored dotall
 4262 Last code unit = 'z'
 4263 Subject length lower bound = 2
 4264 
 4265 /((.*)a|(.*)b)z\1/Is
 4266 Capture group count = 3
 4267 Max back reference = 1
 4268 Options: dotall
 4269 Last code unit = 'z'
 4270 Subject length lower bound = 3
 4271 
 4272 /((.*)a|(.*)b)z\2/Is
 4273 Capture group count = 3
 4274 Max back reference = 2
 4275 Options: dotall
 4276 Last code unit = 'z'
 4277 Subject length lower bound = 2
 4278 
 4279 /((.*)a|(.*)b)z\3/Is
 4280 Capture group count = 3
 4281 Max back reference = 3
 4282 Options: dotall
 4283 Last code unit = 'z'
 4284 Subject length lower bound = 2
 4285 
 4286 /((.*)a|^(.*)b)z\3/Is
 4287 Capture group count = 3
 4288 Max back reference = 3
 4289 Compile options: dotall
 4290 Overall options: anchored dotall
 4291 Last code unit = 'z'
 4292 Subject length lower bound = 2
 4293 
 4294 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
 4295 Capture group count = 31
 4296 May match empty string
 4297 Compile options: dotall
 4298 Overall options: anchored dotall
 4299 Subject length lower bound = 0
 4300 
 4301 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
 4302 Capture group count = 31
 4303 Max back reference = 31
 4304 May match empty string
 4305 Options: dotall
 4306 Subject length lower bound = 0
 4307 
 4308 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
 4309 Capture group count = 32
 4310 Max back reference = 32
 4311 May match empty string
 4312 Options: dotall
 4313 Subject length lower bound = 0
 4314 
 4315 /(a)(bc)/IB,no_auto_capture
 4316 ------------------------------------------------------------------
 4317         Bra
 4318         Bra
 4319         a
 4320         Ket
 4321         Bra
 4322         bc
 4323         Ket
 4324         Ket
 4325         End
 4326 ------------------------------------------------------------------
 4327 Capture group count = 0
 4328 Options: no_auto_capture
 4329 First code unit = 'a'
 4330 Last code unit = 'c'
 4331 Subject length lower bound = 3
 4332   abc
 4333  0: abc
 4334 
 4335 /(?P<one>a)(bc)/IB,no_auto_capture
 4336 ------------------------------------------------------------------
 4337         Bra
 4338         CBra 1
 4339         a
 4340         Ket
 4341         Bra
 4342         bc
 4343         Ket
 4344         Ket
 4345         End
 4346 ------------------------------------------------------------------
 4347 Capture group count = 1
 4348 Named capture groups:
 4349   one   1
 4350 Options: no_auto_capture
 4351 First code unit = 'a'
 4352 Last code unit = 'c'
 4353 Subject length lower bound = 3
 4354   abc
 4355  0: abc
 4356  1: a
 4357 
 4358 /(a)(?P<named>bc)/IB,no_auto_capture
 4359 ------------------------------------------------------------------
 4360         Bra
 4361         Bra
 4362         a
 4363         Ket
 4364         CBra 1
 4365         bc
 4366         Ket
 4367         Ket
 4368         End
 4369 ------------------------------------------------------------------
 4370 Capture group count = 1
 4371 Named capture groups:
 4372   named   1
 4373 Options: no_auto_capture
 4374 First code unit = 'a'
 4375 Last code unit = 'c'
 4376 Subject length lower bound = 3
 4377 
 4378 /(aaa(?C1)bbb|ab)/I
 4379 Capture group count = 1
 4380 First code unit = 'a'
 4381 Last code unit = 'b'
 4382 Subject length lower bound = 2
 4383    aaabbb
 4384 --->aaabbb
 4385   1 ^  ^       b
 4386  0: aaabbb
 4387  1: aaabbb
 4388    aaabbb\=callout_data=0
 4389 --->aaabbb
 4390   1 ^  ^       b
 4391  0: aaabbb
 4392  1: aaabbb
 4393    aaabbb\=callout_data=1
 4394 --->aaabbb
 4395   1 ^  ^       b
 4396 Callout data = 1
 4397  0: ab
 4398  1: ab
 4399 \= Expect no match
 4400    aaabbb\=callout_data=-1
 4401 --->aaabbb
 4402   1 ^  ^       b
 4403 Callout data = -1
 4404 No match
 4405 
 4406 /ab(?P<one>cd)ef(?P<two>gh)/I
 4407 Capture group count = 2
 4408 Named capture groups:
 4409   one   1
 4410   two   2
 4411 First code unit = 'a'
 4412 Last code unit = 'h'
 4413 Subject length lower bound = 8
 4414     abcdefgh
 4415  0: abcdefgh
 4416  1: cd
 4417  2: gh
 4418     abcdefgh\=copy=1,get=two
 4419  0: abcdefgh
 4420  1: cd
 4421  2: gh
 4422  1C cd (2)
 4423   G gh (2) two (group 2)
 4424     abcdefgh\=copy=one,copy=two
 4425  0: abcdefgh
 4426  1: cd
 4427  2: gh
 4428   C cd (2) one (group 1)
 4429   C gh (2) two (group 2)
 4430     abcdefgh\=copy=three
 4431  0: abcdefgh
 4432  1: cd
 4433  2: gh
 4434 Number not found for group 'three'
 4435 Copy substring 'three' failed (-49): unknown substring
 4436 
 4437 /(?P<Tes>)(?P<Test>)/IB
 4438 ------------------------------------------------------------------
 4439         Bra
 4440         CBra 1
 4441         Ket
 4442         CBra 2
 4443         Ket
 4444         Ket
 4445         End
 4446 ------------------------------------------------------------------
 4447 Capture group count = 2
 4448 Named capture groups:
 4449   Tes    1
 4450   Test   2
 4451 May match empty string
 4452 Subject length lower bound = 0
 4453 
 4454 /(?P<Test>)(?P<Tes>)/IB
 4455 ------------------------------------------------------------------
 4456         Bra
 4457         CBra 1
 4458         Ket
 4459         CBra 2
 4460         Ket
 4461         Ket
 4462         End
 4463 ------------------------------------------------------------------
 4464 Capture group count = 2
 4465 Named capture groups:
 4466   Tes    2
 4467   Test   1
 4468 May match empty string
 4469 Subject length lower bound = 0
 4470 
 4471 /(?P<Z>zz)(?P<A>aa)/I
 4472 Capture group count = 2
 4473 Named capture groups:
 4474   A   2
 4475   Z   1
 4476 First code unit = 'z'
 4477 Last code unit = 'a'
 4478 Subject length lower bound = 4
 4479     zzaa\=copy=Z
 4480  0: zzaa
 4481  1: zz
 4482  2: aa
 4483   C zz (2) Z (group 1)
 4484     zzaa\=copy=A
 4485  0: zzaa
 4486  1: zz
 4487  2: aa
 4488   C aa (2) A (group 2)
 4489 
 4490 /(?P<x>eks)(?P<x>eccs)/I
 4491 Failed: error 143 at offset 16: two named subpatterns have the same name (PCRE2_DUPNAMES not set)
 4492 
 4493 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
 4494 Failed: error 143 at offset 31: two named subpatterns have the same name (PCRE2_DUPNAMES not set)
 4495 
 4496 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
 4497 Capture group count = 3
 4498 Named capture groups:
 4499   elem   2
 4500 First code unit = '['
 4501 Last code unit = ']'
 4502 Subject length lower bound = 3
 4503     [10,20,30,5,5,4,4,2,43,23,4234]
 4504  0: [10,20,30,5,5,4,4,2,43,23,4234]
 4505  1: 10,20,30,5,5,4,4,2,43,23,4234
 4506  2: 10
 4507  3: ,4234
 4508 \= Expect no match
 4509     []
 4510 No match
 4511 
 4512 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
 4513 Capture group count = 3
 4514 Named capture groups:
 4515   elem   2
 4516 First code unit = '['
 4517 Last code unit = ']'
 4518 Subject length lower bound = 2
 4519     [10,20,30,5,5,4,4,2,43,23,4234]
 4520  0: [10,20,30,5,5,4,4,2,43,23,4234]
 4521  1: 10,20,30,5,5,4,4,2,43,23,4234
 4522  2: 10
 4523  3: ,4234
 4524     []
 4525  0: []
 4526 
 4527 /(a(b(?2)c))?/IB
 4528 ------------------------------------------------------------------
 4529         Bra
 4530         Brazero
 4531         CBra 1
 4532         a
 4533         CBra 2
 4534         b
 4535         Recurse
 4536         c
 4537         Ket
 4538         Ket
 4539         Ket
 4540         End
 4541 ------------------------------------------------------------------
 4542 Capture group count = 2
 4543 May match empty string
 4544 Subject length lower bound = 0
 4545 
 4546 /(a(b(?2)c))*/IB
 4547 ------------------------------------------------------------------
 4548         Bra
 4549         Brazero
 4550         CBra 1
 4551         a
 4552         CBra 2
 4553         b
 4554         Recurse
 4555         c
 4556         Ket
 4557         KetRmax
 4558         Ket
 4559         End
 4560 ------------------------------------------------------------------
 4561 Capture group count = 2
 4562 May match empty string
 4563 Subject length lower bound = 0
 4564 
 4565 /(a(b(?2)c)){0,2}/IB
 4566 ------------------------------------------------------------------
 4567         Bra
 4568         Brazero
 4569         Bra
 4570         CBra 1
 4571         a
 4572         CBra 2
 4573         b
 4574         Recurse
 4575         c
 4576         Ket
 4577         Ket
 4578         Brazero
 4579         CBra 1
 4580         a
 4581         CBra 2
 4582         b
 4583         Recurse
 4584         c
 4585         Ket
 4586         Ket
 4587         Ket
 4588         Ket
 4589         End
 4590 ------------------------------------------------------------------
 4591 Capture group count = 2
 4592 May match empty string
 4593 Subject length lower bound = 0
 4594 
 4595 /[ab]{1}+/B
 4596 ------------------------------------------------------------------
 4597         Bra
 4598         [ab]
 4599         Ket
 4600         End
 4601 ------------------------------------------------------------------
 4602 
 4603 /()(?1){1}/B
 4604 ------------------------------------------------------------------
 4605         Bra
 4606         CBra 1
 4607         Ket
 4608         Recurse
 4609         Ket
 4610         End
 4611 ------------------------------------------------------------------
 4612 
 4613 /()(?1)/B
 4614 ------------------------------------------------------------------
 4615         Bra
 4616         CBra 1
 4617         Ket
 4618         Recurse
 4619         Ket
 4620         End
 4621 ------------------------------------------------------------------
 4622 
 4623 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
 4624 Capture group count = 3
 4625 Options: caseless
 4626 Last code unit = 'g' (caseless)
 4627 Subject length lower bound = 8
 4628      Baby Bjorn Active Carrier - With free SHIPPING!!
 4629  0: Baby Bjorn Active Carrier - With free SHIPPING!!
 4630  1: Baby Bjorn Active Carrier - With free SHIPPING!!
 4631 
 4632 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
 4633 Capture group count = 3
 4634 Options: caseless
 4635 Last code unit = 'g' (caseless)
 4636 Subject length lower bound = 8
 4637      Baby Bjorn Active Carrier - With free SHIPPING!!
 4638  0: Baby Bjorn Active Carrier - With free SHIPPING!!
 4639  1: Baby Bjorn Active Carrier - With free SHIPPING!!
 4640 
 4641 /a*.*b/IB
 4642 ------------------------------------------------------------------
 4643         Bra
 4644         a*
 4645         Any*
 4646         b
 4647         Ket
 4648         End
 4649 ------------------------------------------------------------------
 4650 Capture group count = 0
 4651 Last code unit = 'b'
 4652 Subject length lower bound = 1
 4653 
 4654 /(a|b)*.?c/IB
 4655 ------------------------------------------------------------------
 4656         Bra
 4657         Brazero
 4658         CBra 1
 4659         a
 4660         Alt
 4661         b
 4662         KetRmax
 4663         Any?
 4664         c
 4665         Ket
 4666         End
 4667 ------------------------------------------------------------------
 4668 Capture group count = 1
 4669 Last code unit = 'c'
 4670 Subject length lower bound = 1
 4671 
 4672 /abc(?C255)de(?C)f/IB
 4673 ------------------------------------------------------------------
 4674         Bra
 4675         abc
 4676         Callout 255 10 1
 4677         de
 4678         Callout 0 16 1
 4679         f
 4680         Ket
 4681         End
 4682 ------------------------------------------------------------------
 4683 Capture group count = 0
 4684 First code unit = 'a'
 4685 Last code unit = 'f'
 4686 Subject length lower bound = 6
 4687 
 4688 /abcde/IB,auto_callout
 4689 ------------------------------------------------------------------
 4690         Bra
 4691         Callout 255 0 1
 4692         a
 4693         Callout 255 1 1
 4694         b
 4695         Callout 255 2 1
 4696         c
 4697         Callout 255 3 1
 4698         d
 4699         Callout 255 4 1
 4700         e
 4701         Callout 255 5 0
 4702         Ket
 4703         End
 4704 ------------------------------------------------------------------
 4705 Capture group count = 0
 4706 Options: auto_callout
 4707 First code unit = 'a'
 4708 Last code unit = 'e'
 4709 Subject length lower bound = 5
 4710   abcde
 4711 --->abcde
 4712  +0 ^         a
 4713  +1 ^^        b
 4714  +2 ^ ^       c
 4715  +3 ^  ^      d
 4716  +4 ^   ^     e
 4717  +5 ^    ^    End of pattern
 4718  0: abcde
 4719 \= Expect no match
 4720   abcdfe
 4721 --->abcdfe
 4722  +0 ^          a
 4723  +1 ^^         b
 4724  +2 ^ ^        c
 4725  +3 ^  ^       d
 4726  +4 ^   ^      e
 4727 No match
 4728 
 4729 /a*b/IB,auto_callout
 4730 ------------------------------------------------------------------
 4731         Bra
 4732         Callout 255 0 2
 4733         a*+
 4734         Callout 255 2 1
 4735         b
 4736         Callout 255 3 0
 4737         Ket
 4738         End
 4739 ------------------------------------------------------------------
 4740 Capture group count = 0
 4741 Options: auto_callout
 4742 Starting code units: a b 
 4743 Last code unit = 'b'
 4744 Subject length lower bound = 1
 4745   ab
 4746 --->ab
 4747  +0 ^      a*
 4748  +2 ^^     b
 4749  +3 ^ ^    End of pattern
 4750  0: ab
 4751   aaaab
 4752 --->aaaab
 4753  +0 ^         a*
 4754  +2 ^   ^     b
 4755  +3 ^    ^    End of pattern
 4756  0: aaaab
 4757   aaaacb
 4758 --->aaaacb
 4759  +0 ^          a*
 4760  +2 ^   ^      b
 4761  +0  ^         a*
 4762  +2  ^  ^      b
 4763  +0   ^        a*
 4764  +2   ^ ^      b
 4765  +0    ^       a*
 4766  +2    ^^      b
 4767  +0      ^     a*
 4768  +2      ^     b
 4769  +3      ^^    End of pattern
 4770  0: b
 4771 
 4772 /a*b/IB,auto_callout
 4773 ------------------------------------------------------------------
 4774         Bra
 4775         Callout 255 0 2
 4776         a*+
 4777         Callout 255 2 1
 4778         b
 4779         Callout 255 3 0
 4780         Ket
 4781         End
 4782 ------------------------------------------------------------------
 4783 Capture group count = 0
 4784 Options: auto_callout
 4785 Starting code units: a b 
 4786 Last code unit = 'b'
 4787 Subject length lower bound = 1
 4788   ab
 4789 --->ab
 4790  +0 ^      a*
 4791  +2 ^^     b
 4792  +3 ^ ^    End of pattern
 4793  0: ab
 4794   aaaab
 4795 --->aaaab
 4796  +0 ^         a*
 4797  +2 ^   ^     b
 4798  +3 ^    ^    End of pattern
 4799  0: aaaab
 4800   aaaacb
 4801 --->aaaacb
 4802  +0 ^          a*
 4803  +2 ^   ^      b
 4804  +0  ^         a*
 4805  +2  ^  ^      b
 4806  +0   ^        a*
 4807  +2   ^ ^      b
 4808  +0    ^       a*
 4809  +2    ^^      b
 4810  +0      ^     a*
 4811  +2      ^     b
 4812  +3      ^^    End of pattern
 4813  0: b
 4814 
 4815 /a+b/IB,auto_callout
 4816 ------------------------------------------------------------------
 4817         Bra
 4818         Callout 255 0 2
 4819         a++
 4820         Callout 255 2 1
 4821         b
 4822         Callout 255 3 0
 4823         Ket
 4824         End
 4825 ------------------------------------------------------------------
 4826 Capture group count = 0
 4827 Options: auto_callout
 4828 First code unit = 'a'
 4829 Last code unit = 'b'
 4830 Subject length lower bound = 2
 4831   ab
 4832 --->ab
 4833  +0 ^      a+
 4834  +2 ^^     b
 4835  +3 ^ ^    End of pattern
 4836  0: ab
 4837   aaaab
 4838 --->aaaab
 4839  +0 ^         a+
 4840  +2 ^   ^     b
 4841  +3 ^    ^    End of pattern
 4842  0: aaaab
 4843 \= Expect no match
 4844   aaaacb
 4845 --->aaaacb
 4846  +0 ^          a+
 4847  +2 ^   ^      b
 4848  +0  ^         a+
 4849  +2  ^  ^      b
 4850  +0   ^        a+
 4851  +2   ^ ^      b
 4852  +0    ^       a+
 4853  +2    ^^      b
 4854 No match
 4855 
 4856 /(abc|def)x/IB,auto_callout
 4857 ------------------------------------------------------------------
 4858         Bra
 4859         Callout 255 0 1
 4860         CBra 1
 4861         Callout 255 1 1
 4862         a
 4863         Callout 255 2 1
 4864         b
 4865         Callout 255 3 1
 4866         c
 4867         Callout 255 4 1
 4868         Alt
 4869         Callout 255 5 1
 4870         d
 4871         Callout 255 6 1
 4872         e
 4873         Callout 255 7 1
 4874         f
 4875         Callout 255 8 1
 4876         Ket
 4877         Callout 255 9 1
 4878         x
 4879         Callout 255 10 0
 4880         Ket
 4881         End
 4882 ------------------------------------------------------------------
 4883 Capture group count = 1
 4884 Options: auto_callout
 4885 Starting code units: a d 
 4886 Last code unit = 'x'
 4887 Subject length lower bound = 4
 4888   abcx
 4889 --->abcx
 4890  +0 ^        (
 4891  +1 ^        a
 4892  +2 ^^       b
 4893  +3 ^ ^      c
 4894  +4 ^  ^     |
 4895  +9 ^  ^     x
 4896 +10 ^   ^    End of pattern
 4897  0: abcx
 4898  1: abc
 4899   defx
 4900 --->defx
 4901  +0 ^        (
 4902  +1 ^        a
 4903  +5 ^        d
 4904  +6 ^^       e
 4905  +7 ^ ^      f
 4906  +8 ^  ^     )
 4907  +9 ^  ^     x
 4908 +10 ^   ^    End of pattern
 4909  0: defx
 4910  1: def
 4911 \= Expect no match
 4912   abcdefzx
 4913 --->abcdefzx
 4914  +0 ^            (
 4915  +1 ^            a
 4916  +2 ^^           b
 4917  +3 ^ ^          c
 4918  +4 ^  ^         |
 4919  +9 ^  ^         x
 4920  +5 ^            d
 4921  +0    ^         (
 4922  +1    ^         a
 4923  +5    ^         d
 4924  +6    ^^        e
 4925  +7    ^ ^       f
 4926  +8    ^  ^      )
 4927  +9    ^  ^      x
 4928 No match
 4929 
 4930 /(abc|def)x/IB,auto_callout
 4931 ------------------------------------------------------------------
 4932         Bra
 4933         Callout 255 0 1
 4934         CBra 1
 4935         Callout 255 1 1
 4936         a
 4937         Callout 255 2 1
 4938         b
 4939         Callout 255 3 1
 4940         c
 4941         Callout 255 4 1
 4942         Alt
 4943         Callout 255 5 1
 4944         d
 4945         Callout 255 6 1
 4946         e
 4947         Callout 255 7 1
 4948         f
 4949         Callout 255 8 1
 4950         Ket
 4951         Callout 255 9 1
 4952         x
 4953         Callout 255 10 0
 4954         Ket
 4955         End
 4956 ------------------------------------------------------------------
 4957 Capture group count = 1
 4958 Options: auto_callout
 4959 Starting code units: a d 
 4960 Last code unit = 'x'
 4961 Subject length lower bound = 4
 4962   abcx
 4963 --->abcx
 4964  +0 ^        (
 4965  +1 ^        a
 4966  +2 ^^       b
 4967  +3 ^ ^      c
 4968  +4 ^  ^     |
 4969  +9 ^  ^     x
 4970 +10 ^   ^    End of pattern
 4971  0: abcx
 4972  1: abc
 4973   defx
 4974 --->defx
 4975  +0 ^        (
 4976  +1 ^        a
 4977  +5 ^        d
 4978  +6 ^^       e
 4979  +7 ^ ^      f
 4980  +8 ^  ^     )
 4981  +9 ^  ^     x
 4982 +10 ^   ^    End of pattern
 4983  0: defx
 4984  1: def
 4985 \= Expect no match
 4986   abcdefzx
 4987 --->abcdefzx
 4988  +0 ^            (
 4989  +1 ^            a
 4990  +2 ^^           b
 4991  +3 ^ ^          c
 4992  +4 ^  ^         |
 4993  +9 ^  ^         x
 4994  +5 ^            d
 4995  +0    ^         (
 4996  +1    ^         a
 4997  +5    ^         d
 4998  +6    ^^        e
 4999  +7    ^ ^       f
 5000  +8    ^  ^      )
 5001  +9    ^  ^      x
 5002 No match
 5003 
 5004 /(ab|cd){3,4}/I,auto_callout
 5005 Capture group count = 1
 5006 Options: auto_callout
 5007 Starting code units: a c 
 5008 Subject length lower bound = 6
 5009   ababab
 5010 --->ababab
 5011  +0 ^          (
 5012  +1 ^          a
 5013  +2 ^^         b
 5014  +3 ^ ^        |
 5015  +1 ^ ^        a
 5016  +2 ^  ^       b
 5017  +3 ^   ^      |
 5018  +1 ^   ^      a
 5019  +2 ^    ^     b
 5020  +3 ^     ^    |
 5021  +1 ^     ^    a
 5022  +4 ^     ^    c
 5023 +12 ^     ^    End of pattern
 5024  0: ababab
 5025  1: ab
 5026   abcdabcd
 5027 --->abcdabcd
 5028  +0 ^            (
 5029  +1 ^            a
 5030  +2 ^^           b
 5031  +3 ^ ^          |
 5032  +1 ^ ^          a
 5033  +4 ^ ^          c
 5034  +5 ^  ^         d
 5035  +6 ^   ^        ){3,4}
 5036  +1 ^   ^        a
 5037  +2 ^    ^       b
 5038  +3 ^     ^      |
 5039  +1 ^     ^      a
 5040  +4 ^     ^      c
 5041  +5 ^      ^     d
 5042  +6 ^       ^    ){3,4}
 5043 +12 ^       ^    End of pattern
 5044  0: abcdabcd
 5045  1: cd
 5046   abcdcdcdcdcd
 5047 --->abcdcdcdcdcd
 5048  +0 ^                (
 5049  +1 ^                a
 5050  +2 ^^               b
 5051  +3 ^ ^              |
 5052  +1 ^ ^              a
 5053  +4 ^ ^              c
 5054  +5 ^  ^             d
 5055  +6 ^   ^            ){3,4}
 5056  +1 ^   ^            a
 5057  +4 ^   ^            c
 5058  +5 ^    ^           d
 5059  +6 ^     ^          ){3,4}
 5060  +1 ^     ^          a
 5061  +4 ^     ^          c
 5062  +5 ^      ^         d
 5063  +6 ^       ^        ){3,4}
 5064 +12 ^       ^        End of pattern
 5065  0: abcdcdcd
 5066  1: cd
 5067 
 5068 /([ab]{,4}c|xy)/IB,auto_callout
 5069 ------------------------------------------------------------------
 5070         Bra
 5071         Callout 255 0 1
 5072         CBra 1
 5073         Callout 255 1 4
 5074         [ab]
 5075         Callout 255 5 1
 5076         {
 5077         Callout 255 6 1
 5078         ,
 5079         Callout 255 7 1
 5080         4
 5081         Callout 255 8 1
 5082         }
 5083         Callout 255 9 1
 5084         c
 5085         Callout 255 10 1
 5086         Alt
 5087         Callout 255 11 1
 5088         x
 5089         Callout 255 12 1
 5090         y
 5091         Callout 255 13 1
 5092         Ket
 5093         Callout 255 14 0
 5094         Ket
 5095         End
 5096 ------------------------------------------------------------------
 5097 Capture group count = 1
 5098 Options: auto_callout
 5099 Starting code units: a b x 
 5100 Subject length lower bound = 2
 5101 \= Expect no match
 5102     Note: that { does NOT introduce a quantifier
 5103 --->Note: that { does NOT introduce a quantifier
 5104  +0         ^                                        (
 5105  +1         ^                                        [ab]
 5106  +5         ^^                                       {
 5107 +11         ^                                        x
 5108  +0                                 ^                (
 5109  +1                                 ^                [ab]
 5110  +5                                 ^^               {
 5111 +11                                 ^                x
 5112  +0                                     ^            (
 5113  +1                                     ^            [ab]
 5114  +5                                     ^^           {
 5115 +11                                     ^            x
 5116 No match
 5117 
 5118 /([ab]{,4}c|xy)/IB,auto_callout
 5119 ------------------------------------------------------------------
 5120         Bra
 5121         Callout 255 0 1
 5122         CBra 1
 5123         Callout 255 1 4
 5124         [ab]
 5125         Callout 255 5 1
 5126         {
 5127         Callout 255 6 1
 5128         ,
 5129         Callout 255 7 1
 5130         4
 5131         Callout 255 8 1
 5132         }
 5133         Callout 255 9 1
 5134         c
 5135         Callout 255 10 1
 5136         Alt
 5137         Callout 255 11 1
 5138         x
 5139         Callout 255 12 1
 5140         y
 5141         Callout 255 13 1
 5142         Ket
 5143         Callout 255 14 0
 5144         Ket
 5145         End
 5146 ------------------------------------------------------------------
 5147 Capture group count = 1
 5148 Options: auto_callout
 5149 Starting code units: a b x 
 5150 Subject length lower bound = 2
 5151 \= Expect no match
 5152     Note: that { does NOT introduce a quantifier
 5153 --->Note: that { does NOT introduce a quantifier
 5154  +0         ^                                        (
 5155  +1         ^                                        [ab]
 5156  +5         ^^                                       {
 5157 +11         ^                                        x
 5158  +0                                 ^                (
 5159  +1                                 ^                [ab]
 5160  +5                                 ^^               {
 5161 +11                                 ^                x
 5162  +0                                     ^            (
 5163  +1                                     ^            [ab]
 5164  +5                                     ^^           {
 5165 +11                                     ^            x
 5166 No match
 5167 
 5168 /([ab]{1,4}c|xy){4,5}?123/IB,auto_callout
 5169 ------------------------------------------------------------------
 5170         Bra
 5171         Callout 255 0 1
 5172         CBra 1
 5173         Callout 255 1 9
 5174         [ab]{1,4}+
 5175         Callout 255 10 1
 5176         c
 5177         Callout 255 11 1
 5178         Alt
 5179         Callout 255 12 1
 5180         x
 5181         Callout 255 13 1
 5182         y
 5183         Callout 255 14 7
 5184         Ket
 5185         CBra 1
 5186         Callout 255 1 9
 5187         [ab]{1,4}+
 5188         Callout 255 10 1
 5189         c
 5190         Callout 255 11 1
 5191         Alt
 5192         Callout 255 12 1
 5193         x
 5194         Callout 255 13 1
 5195         y
 5196         Callout 255 14 7
 5197         Ket
 5198         CBra 1
 5199         Callout 255 1 9
 5200         [ab]{1,4}+
 5201         Callout 255 10 1
 5202         c
 5203         Callout 255 11 1
 5204         Alt
 5205         Callout 255 12 1
 5206         x
 5207         Callout 255 13 1
 5208         y
 5209         Callout 255 14 7
 5210         Ket
 5211         CBra 1
 5212         Callout 255 1 9
 5213         [ab]{1,4}+
 5214         Callout 255 10 1
 5215         c
 5216         Callout 255 11 1
 5217         Alt
 5218         Callout 255 12 1
 5219         x
 5220         Callout 255 13 1
 5221         y
 5222         Callout 255 14 7
 5223         Ket
 5224         Braminzero
 5225         CBra 1
 5226         Callout 255 1 9
 5227         [ab]{1,4}+
 5228         Callout 255 10 1
 5229         c
 5230         Callout 255 11 1
 5231         Alt
 5232         Callout 255 12 1
 5233         x
 5234         Callout 255 13 1
 5235         y
 5236         Callout 255 14 7
 5237         Ket
 5238         Callout 255 21 1
 5239         1
 5240         Callout 255 22 1
 5241         2
 5242         Callout 255 23 1
 5243         3
 5244         Callout 255 24 0
 5245         Ket
 5246         End
 5247 ------------------------------------------------------------------
 5248 Capture group count = 1
 5249 Options: auto_callout
 5250 Starting code units: a b x 
 5251 Last code unit = '3'
 5252 Subject length lower bound = 11
 5253     aacaacaacaacaac123
 5254 --->aacaacaacaacaac123
 5255  +0 ^                      (
 5256  +1 ^                      [ab]{1,4}
 5257 +10 ^ ^                    c
 5258 +11 ^  ^                   |
 5259  +1 ^  ^                   [ab]{1,4}
 5260 +10 ^    ^                 c
 5261 +11 ^     ^                |
 5262  +1 ^     ^                [ab]{1,4}
 5263 +10 ^       ^              c
 5264 +11 ^        ^             |
 5265  +1 ^        ^             [ab]{1,4}
 5266 +10 ^          ^           c
 5267 +11 ^           ^          |
 5268 +21 ^           ^          1
 5269  +1 ^           ^          [ab]{1,4}
 5270 +10 ^             ^        c
 5271 +11 ^              ^       |
 5272 +21 ^              ^       1
 5273 +22 ^               ^      2
 5274 +23 ^                ^     3
 5275 +24 ^                 ^    End of pattern
 5276  0: aacaacaacaacaac123
 5277  1: aac
 5278 
 5279 /\b.*/I
 5280 Capture group count = 0
 5281 Max lookbehind = 1
 5282 May match empty string
 5283 Subject length lower bound = 0
 5284   ab cd\=offset=1
 5285  0:  cd
 5286 
 5287 /\b.*/Is
 5288 Capture group count = 0
 5289 Max lookbehind = 1
 5290 May match empty string
 5291 Options: dotall
 5292 Subject length lower bound = 0
 5293   ab cd\=startoffset=1
 5294  0:  cd
 5295 
 5296 /(?!.bcd).*/I
 5297 Capture group count = 0
 5298 May match empty string
 5299 Subject length lower bound = 0
 5300   Xbcd12345
 5301  0: bcd12345
 5302 
 5303 /abcde/I
 5304 Capture group count = 0
 5305 First code unit = 'a'
 5306 Last code unit = 'e'
 5307 Subject length lower bound = 5
 5308     ab\=ps
 5309 Partial match: ab
 5310     abc\=ps
 5311 Partial match: abc
 5312     abcd\=ps
 5313 Partial match: abcd
 5314     abcde\=ps
 5315  0: abcde
 5316     the quick brown abc\=ps
 5317 Partial match: abc
 5318 \= Expect no match\=ps
 5319     the quick brown abxyz fox\=ps
 5320 No match
 5321 
 5322 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
 5323 Capture group count = 3
 5324 Compile options: <none>
 5325 Overall options: anchored
 5326 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 5327 Last code unit = '/'
 5328 Subject length lower bound = 6
 5329     13/05/04\=ps
 5330  0: 13/05/04
 5331  1: 13
 5332  2: 05
 5333     13/5/2004\=ps
 5334  0: 13/5/2004
 5335  1: 13
 5336  2: 5
 5337  3: 20
 5338     02/05/09\=ps
 5339  0: 02/05/09
 5340  1: 02
 5341  2: 05
 5342     1\=ps
 5343 Partial match: 1
 5344     1/2\=ps
 5345 Partial match: 1/2
 5346     1/2/0\=ps
 5347 Partial match: 1/2/0
 5348     1/2/04\=ps
 5349  0: 1/2/04
 5350  1: 1
 5351  2: 2
 5352     0\=ps
 5353 Partial match: 0
 5354     02/\=ps
 5355 Partial match: 02/
 5356     02/0\=ps
 5357 Partial match: 02/0
 5358     02/1\=ps
 5359 Partial match: 02/1
 5360 \= Expect no match\=ps
 5361     \=ps
 5362 No match
 5363     123\=ps
 5364 No match
 5365     33/4/04\=ps
 5366 No match
 5367     3/13/04\=ps
 5368 No match
 5369     0/1/2003\=ps
 5370 No match
 5371     0/\=ps
 5372 No match
 5373     02/0/\=ps
 5374 No match
 5375     02/13\=ps
 5376 No match
 5377 
 5378 /0{0,2}ABC/I
 5379 Capture group count = 0
 5380 Starting code units: 0 A 
 5381 Last code unit = 'C'
 5382 Subject length lower bound = 3
 5383 
 5384 /\d{3,}ABC/I
 5385 Capture group count = 0
 5386 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 5387 Last code unit = 'C'
 5388 Subject length lower bound = 6
 5389 
 5390 /\d*ABC/I
 5391 Capture group count = 0
 5392 Starting code units: 0 1 2 3 4 5 6 7 8 9 A 
 5393 Last code unit = 'C'
 5394 Subject length lower bound = 3
 5395 
 5396 /[abc]+DE/I
 5397 Capture group count = 0
 5398 Starting code units: a b c 
 5399 Last code unit = 'E'
 5400 Subject length lower bound = 3
 5401 
 5402 /[abc]?123/I
 5403 Capture group count = 0
 5404 Starting code units: 1 a b c 
 5405 Last code unit = '3'
 5406 Subject length lower bound = 3
 5407     123\=ps
 5408  0: 123
 5409     a\=ps
 5410 Partial match: a
 5411     b\=ps
 5412 Partial match: b
 5413     c\=ps
 5414 Partial match: c
 5415     c12\=ps
 5416 Partial match: c12
 5417     c123\=ps
 5418  0: c123
 5419 
 5420 /^(?:\d){3,5}X/I
 5421 Capture group count = 0
 5422 Compile options: <none>
 5423 Overall options: anchored
 5424 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 5425 Last code unit = 'X'
 5426 Subject length lower bound = 4
 5427     1\=ps
 5428 Partial match: 1
 5429     123\=ps
 5430 Partial match: 123
 5431     123X
 5432  0: 123X
 5433     1234\=ps
 5434 Partial match: 1234
 5435     1234X
 5436  0: 1234X
 5437     12345\=ps
 5438 Partial match: 12345
 5439     12345X
 5440  0: 12345X
 5441 \= Expect no match
 5442     1X
 5443 No match
 5444     123456\=ps
 5445 No match
 5446 
 5447 "<(\w+)/?>(.)*</(\1)>"Igms
 5448 Capture group count = 3
 5449 Max back reference = 1
 5450 Options: dotall multiline
 5451 First code unit = '<'
 5452 Last code unit = '>'
 5453 Subject length lower bound = 7
 5454     <!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>\=jitstack=1024
 5455  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>
 5456  1: seite
 5457  2: \x0a
 5458  3: seite
 5459 
 5460 /line\nbreak/I
 5461 Capture group count = 0
 5462 Contains explicit CR or LF match
 5463 First code unit = 'l'
 5464 Last code unit = 'k'
 5465 Subject length lower bound = 10
 5466     this is a line\nbreak
 5467  0: line\x0abreak
 5468     line one\nthis is a line\nbreak in the second line
 5469  0: line\x0abreak
 5470 
 5471 /line\nbreak/I,firstline
 5472 Capture group count = 0
 5473 Contains explicit CR or LF match
 5474 Options: firstline
 5475 First code unit = 'l'
 5476 Last code unit = 'k'
 5477 Subject length lower bound = 10
 5478     this is a line\nbreak
 5479  0: line\x0abreak
 5480 \= Expect no match
 5481     line one\nthis is a line\nbreak in the second line
 5482 No match
 5483 
 5484 /line\nbreak/Im,firstline
 5485 Capture group count = 0
 5486 Contains explicit CR or LF match
 5487 Options: firstline multiline
 5488 First code unit = 'l'
 5489 Last code unit = 'k'
 5490 Subject length lower bound = 10
 5491     this is a line\nbreak
 5492  0: line\x0abreak
 5493 \= Expect no match
 5494     line one\nthis is a line\nbreak in the second line
 5495 No match
 5496 
 5497 /(?i)(?-i)AbCd/I
 5498 Capture group count = 0
 5499 First code unit = 'A'
 5500 Last code unit = 'd'
 5501 Subject length lower bound = 4
 5502     AbCd
 5503  0: AbCd
 5504 \= Expect no match
 5505     abcd
 5506 No match
 5507 
 5508 /a{11111111111111111111}/I
 5509 Failed: error 105 at offset 8: number too big in {} quantifier
 5510 
 5511 /(){64294967295}/I
 5512 Failed: error 105 at offset 9: number too big in {} quantifier
 5513 
 5514 /(){2,4294967295}/I
 5515 Failed: error 105 at offset 11: number too big in {} quantifier
 5516 
 5517 "(?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
 5518 Capture group count = 1
 5519 Max back reference = 1
 5520 First code unit = 'a' (caseless)
 5521 Last code unit = 'B'
 5522 Subject length lower bound = 15
 5523     abcdefghijklAkB
 5524  0: abcdefghijklAkB
 5525  1: k
 5526 
 5527 "(?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
 5528 Capture group count = 12
 5529 Max back reference = 11
 5530 Named capture groups:
 5531   n0    1
 5532   n1    2
 5533   n10  11
 5534   n11  12
 5535   n2    3
 5536   n3    4
 5537   n4    5
 5538   n5    6
 5539   n6    7
 5540   n7    8
 5541   n8    9
 5542   n9   10
 5543 First code unit = 'a'
 5544 Last code unit = 'B'
 5545 Subject length lower bound = 15
 5546     abcdefghijklAkB
 5547  0: abcdefghijklAkB
 5548  1: a
 5549  2: b
 5550  3: c
 5551  4: d
 5552  5: e
 5553  6: f
 5554  7: g
 5555  8: h
 5556  9: i
 5557 10: j
 5558 11: k
 5559 12: l
 5560 
 5561 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
 5562 Capture group count = 12
 5563 Max back reference = 11
 5564 First code unit = 'a'
 5565 Last code unit = 'B'
 5566 Subject length lower bound = 15
 5567     abcdefghijklAkB
 5568  0: abcdefghijklAkB
 5569  1: a
 5570  2: b
 5571  3: c
 5572  4: d
 5573  5: e
 5574  6: f
 5575  7: g
 5576  8: h
 5577  9: i
 5578 10: j
 5579 11: k
 5580 12: l
 5581 
 5582 "(?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
 5583 Capture group count = 101
 5584 Named capture groups:
 5585   name0     1
 5586   name1     2
 5587   name10   11
 5588   name100 101
 5589   name11   12
 5590   name12   13
 5591   name13   14
 5592   name14   15
 5593   name15   16
 5594   name16   17
 5595   name17   18
 5596   name18   19
 5597   name19   20
 5598   name2     3
 5599   name20   21
 5600   name21   22
 5601   name22   23
 5602   name23   24
 5603   name24   25
 5604   name25   26
 5605   name26   27
 5606   name27   28
 5607   name28   29
 5608   name29   30
 5609   name3     4
 5610   name30   31
 5611   name31   32
 5612   name32   33
 5613   name33   34
 5614   name34   35
 5615   name35   36
 5616   name36   37
 5617   name37   38
 5618   name38   39
 5619   name39   40
 5620   name4     5
 5621   name40   41
 5622   name41   42
 5623   name42   43
 5624   name43   44
 5625   name44   45
 5626   name45   46
 5627   name46   47
 5628   name47   48
 5629   name48   49
 5630   name49   50
 5631   name5     6
 5632   name50   51
 5633   name51   52
 5634   name52   53
 5635   name53   54
 5636   name54   55
 5637   name55   56
 5638   name56   57
 5639   name57   58
 5640   name58   59
 5641   name59   60
 5642   name6     7
 5643   name60   61
 5644   name61   62
 5645   name62   63
 5646   name63   64
 5647   name64   65
 5648   name65   66
 5649   name66   67
 5650   name67   68
 5651   name68   69
 5652   name69   70
 5653   name7     8
 5654   name70   71
 5655   name71   72
 5656   name72   73
 5657   name73   74
 5658   name74   75
 5659   name75   76
 5660   name76   77
 5661   name77   78
 5662   name78   79
 5663   name79   80
 5664   name8     9
 5665   name80   81
 5666   name81   82
 5667   name82   83
 5668   name83   84
 5669   name84   85
 5670   name85   86
 5671   name86   87
 5672   name87   88
 5673   name88   89
 5674   name89   90
 5675   name9    10
 5676   name90   91
 5677   name91   92
 5678   name92   93
 5679   name93   94
 5680   name94   95
 5681   name95   96
 5682   name96   97
 5683   name97   98
 5684   name98   99
 5685   name99  100
 5686 First code unit = 'a'
 5687 Last code unit = 'a'
 5688 Subject length lower bound = 101
 5689     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 5690 Matched, but too many substrings
 5691  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 5692  1: a
 5693  2: a
 5694  3: a
 5695  4: a
 5696  5: a
 5697  6: a
 5698  7: a
 5699  8: a
 5700  9: a
 5701 10: a
 5702 11: a
 5703 12: a
 5704 13: a
 5705 14: a
 5706 
 5707 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
 5708 Capture group count = 101
 5709 First code unit = 'a'
 5710 Last code unit = 'a'
 5711 Subject length lower bound = 101
 5712     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 5713 Matched, but too many substrings
 5714  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 5715  1: a
 5716  2: a
 5717  3: a
 5718  4: a
 5719  5: a
 5720  6: a
 5721  7: a
 5722  8: a
 5723  9: a
 5724 10: a
 5725 11: a
 5726 12: a
 5727 13: a
 5728 14: a
 5729 
 5730 /[^()]*(?:\((?R)\)[^()]*)*/I
 5731 Capture group count = 0
 5732 May match empty string
 5733 Subject length lower bound = 0
 5734     (this(and)that
 5735  0: 
 5736     (this(and)that)
 5737  0: (this(and)that)
 5738     (this(and)that)stuff
 5739  0: (this(and)that)stuff
 5740 
 5741 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
 5742 Capture group count = 0
 5743 May match empty string
 5744 Subject length lower bound = 0
 5745     (this(and)that
 5746  0: 
 5747     (this(and)that)
 5748  0: (this(and)that)
 5749 
 5750 /[^()]*(?:\((?R)\))*[^()]*/I
 5751 Capture group count = 0
 5752 May match empty string
 5753 Subject length lower bound = 0
 5754     (this(and)that
 5755  0: 
 5756     (this(and)that)
 5757  0: (this(and)that)
 5758 
 5759 /(?:\((?R)\))*[^()]*/I
 5760 Capture group count = 0
 5761 May match empty string
 5762 Subject length lower bound = 0
 5763     (this(and)that
 5764  0: 
 5765     (this(and)that)
 5766  0: 
 5767     ((this))
 5768  0: ((this))
 5769 
 5770 /(?:\((?R)\))|[^()]*/I
 5771 Capture group count = 0
 5772 May match empty string
 5773 Subject length lower bound = 0
 5774     (this(and)that
 5775  0: 
 5776     (this(and)that)
 5777  0: 
 5778     (this)
 5779  0: (this)
 5780     ((this))
 5781  0: ((this))
 5782 
 5783 /\x{0000ff}/I
 5784 Capture group count = 0
 5785 First code unit = \xff
 5786 Subject length lower bound = 1
 5787 
 5788 /^((?P<A>a1)|(?P<A>a2)b)/I
 5789 Failed: error 143 at offset 18: two named subpatterns have the same name (PCRE2_DUPNAMES not set)
 5790 
 5791 /^((?P<A>a1)|(?P<A>a2)b)/I,dupnames
 5792 Capture group count = 3
 5793 Named capture groups:
 5794   A   2
 5795   A   3
 5796 Compile options: dupnames
 5797 Overall options: anchored dupnames
 5798 First code unit = 'a'
 5799 Subject length lower bound = 2
 5800     a1b\=copy=A
 5801  0: a1
 5802  1: a1
 5803  2: a1
 5804   C a1 (2) A (non-unique)
 5805     a2b\=copy=A
 5806  0: a2b
 5807  1: a2b
 5808  2: <unset>
 5809  3: a2
 5810   C a2 (2) A (non-unique)
 5811     a1b\=copy=Z,copy=A
 5812  0: a1
 5813  1: a1
 5814  2: a1
 5815 Number not found for group 'Z'
 5816 Copy substring 'Z' failed (-49): unknown substring
 5817   C a1 (2) A (non-unique)
 5818 
 5819 /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/I,dupnames
 5820 Capture group count = 3
 5821 Named capture groups:
 5822   a   1
 5823   a   3
 5824   b   2
 5825 May match empty string
 5826 Options: dupnames
 5827 Subject length lower bound = 0
 5828 
 5829 /^(?P<A>a)(?P<A>b)/I,dupnames
 5830 Capture group count = 2
 5831 Named capture groups:
 5832   A   1
 5833   A   2
 5834 Compile options: dupnames
 5835 Overall options: anchored dupnames
 5836 First code unit = 'a'
 5837 Subject length lower bound = 2
 5838     ab\=copy=A
 5839  0: ab
 5840  1: a
 5841  2: b
 5842   C a (1) A (non-unique)
 5843 
 5844 /^(?P<A>a)(?P<A>b)|cd/I,dupnames
 5845 Capture group count = 2
 5846 Named capture groups:
 5847   A   1
 5848   A   2
 5849 Options: dupnames
 5850 Starting code units: a c 
 5851 Subject length lower bound = 2
 5852     ab\=copy=A
 5853  0: ab
 5854  1: a
 5855  2: b
 5856   C a (1) A (non-unique)
 5857     cd\=copy=A
 5858  0: cd
 5859 Copy substring 'A' failed (-55): requested value is not set
 5860 
 5861 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/I,dupnames
 5862 Capture group count = 4
 5863 Named capture groups:
 5864   A   1
 5865   A   2
 5866   A   3
 5867   A   4
 5868 Options: dupnames
 5869 Starting code units: a c 
 5870 Subject length lower bound = 2
 5871     cdefgh\=copy=A
 5872  0: cdefgh
 5873  1: <unset>
 5874  2: <unset>
 5875  3: ef
 5876  4: gh
 5877   C ef (2) A (non-unique)
 5878 
 5879 /^((?P<A>a1)|(?P<A>a2)b)/I,dupnames
 5880 Capture group count = 3
 5881 Named capture groups:
 5882   A   2
 5883   A   3
 5884 Compile options: dupnames
 5885 Overall options: anchored dupnames
 5886 First code unit = 'a'
 5887 Subject length lower bound = 2
 5888     a1b\=get=A
 5889  0: a1
 5890  1: a1
 5891  2: a1
 5892   G a1 (2) A (non-unique)
 5893     a2b\=get=A
 5894  0: a2b
 5895  1: a2b
 5896  2: <unset>
 5897  3: a2
 5898   G a2 (2) A (non-unique)
 5899     a1b\=get=Z,get=A
 5900  0: a1
 5901  1: a1
 5902  2: a1
 5903 Number not found for group 'Z'
 5904 Get substring 'Z' failed (-49): unknown substring
 5905   G a1 (2) A (non-unique)
 5906 
 5907 /^(?P<A>a)(?P<A>b)/I,dupnames
 5908 Capture group count = 2
 5909 Named capture groups:
 5910   A   1
 5911   A   2
 5912 Compile options: dupnames
 5913 Overall options: anchored dupnames
 5914 First code unit = 'a'
 5915 Subject length lower bound = 2
 5916     ab\=get=A
 5917  0: ab
 5918  1: a
 5919  2: b
 5920   G a (1) A (non-unique)
 5921 
 5922 /^(?P<A>a)(?P<A>b)|cd/I,dupnames
 5923 Capture group count = 2
 5924 Named capture groups:
 5925   A   1
 5926   A   2
 5927 Options: dupnames
 5928 Starting code units: a c 
 5929 Subject length lower bound = 2
 5930     ab\=get=A
 5931  0: ab
 5932  1: a
 5933  2: b
 5934   G a (1) A (non-unique)
 5935     cd\=get=A
 5936  0: cd
 5937 Get substring 'A' failed (-55): requested value is not set
 5938 
 5939 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/I,dupnames
 5940 Capture group count = 4
 5941 Named capture groups:
 5942   A   1
 5943   A   2
 5944   A   3
 5945   A   4
 5946 Options: dupnames
 5947 Starting code units: a c 
 5948 Subject length lower bound = 2
 5949     cdefgh\=get=A
 5950  0: cdefgh
 5951  1: <unset>
 5952  2: <unset>
 5953  3: ef
 5954  4: gh
 5955   G ef (2) A (non-unique)
 5956 
 5957 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
 5958 Capture group count = 3
 5959 Named capture groups:
 5960   A   2
 5961   A   3
 5962 Compile options: <none>
 5963 Overall options: anchored
 5964 Duplicate name status changes
 5965 First code unit = 'a'
 5966 Subject length lower bound = 2
 5967     a1b\=copy=A
 5968  0: a1
 5969  1: a1
 5970  2: a1
 5971   C a1 (2) A (non-unique)
 5972     a2b\=copy=A
 5973  0: a2b
 5974  1: a2b
 5975  2: <unset>
 5976  3: a2
 5977   C a2 (2) A (non-unique)
 5978 
 5979 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
 5980 Failed: error 143 at offset 38: two named subpatterns have the same name (PCRE2_DUPNAMES not set)
 5981 
 5982 # In this next test, J is not set at the outer level; consequently it isn't set
 5983 # in the pattern's options; consequently pcre2_substring_get_byname() produces
 5984 # a random value.
 5985 
 5986 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
 5987 Capture group count = 4
 5988 Named capture groups:
 5989   A   1
 5990   B   2
 5991   B   3
 5992   C   4
 5993 Compile options: <none>
 5994 Overall options: anchored
 5995 Duplicate name status changes
 5996 First code unit = 'a'
 5997 Subject length lower bound = 6
 5998     a bc d\=copy=A,copy=B,copy=C
 5999  0: a bc d
 6000  1: a
 6001  2: b
 6002  3: c
 6003  4: d
 6004   C a (1) A (group 1)
 6005   C b (1) B (non-unique)
 6006   C d (1) C (group 4)
 6007 
 6008 /^(?P<A>a)?(?(A)a|b)/I
 6009 Capture group count = 1
 6010 Max back reference = 1
 6011 Named capture groups:
 6012   A   1
 6013 Compile options: <none>
 6014 Overall options: anchored
 6015 Subject length lower bound = 1
 6016     aabc
 6017  0: aa
 6018  1: a
 6019     bc
 6020  0: b
 6021 \= Expect no match
 6022     abc
 6023 No match
 6024 
 6025 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
 6026 Capture group count = 1
 6027 Max back reference = 1
 6028 Named capture groups:
 6029   ZZ   1
 6030 Last code unit = 'X'
 6031 Subject length lower bound = 2
 6032     bXaX
 6033  0: bXaX
 6034  1: X
 6035 
 6036 /(?:(?(2y)a|b)(X))+/I
 6037 Failed: error 124 at offset 7: missing closing parenthesis for condition
 6038 
 6039 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
 6040 Failed: error 115 at offset 6: reference to non-existent subpattern
 6041 
 6042 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
 6043 Capture group count = 1
 6044 Max back reference = 1
 6045 Named capture groups:
 6046   ZZ   1
 6047 Last code unit = 'X'
 6048 Subject length lower bound = 3
 6049     bbXaaX
 6050  0: bbXaaX
 6051  1: X
 6052 
 6053 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
 6054 Capture group count = 1
 6055 Max back reference = 1
 6056 Named capture groups:
 6057   ZZ   1
 6058 Last code unit = 'X'
 6059 Subject length lower bound = 3
 6060     (b)\\Xa\\X
 6061  0: (b)\Xa\X
 6062  1: X
 6063 
 6064 /(?P<ABC/I
 6065 Failed: error 142 at offset 7: syntax error in subpattern name (missing terminator?)
 6066 
 6067 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
 6068 Capture group count = 1
 6069 Max back reference = 1
 6070 Named capture groups:
 6071   A   1
 6072 Subject length lower bound = 2
 6073     bXXaYYaY
 6074  0: bXXaYYaY
 6075  1: Y
 6076     bXYaXXaX
 6077  0: bX
 6078  1: X
 6079 
 6080 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
 6081 Capture group count = 10
 6082 Max back reference = 10
 6083 Named capture groups:
 6084   A  10
 6085 Subject length lower bound = 2
 6086     bXXaYYaY
 6087  0: bXXaYYaY
 6088  1: 
 6089  2: 
 6090  3: 
 6091  4: 
 6092  5: 
 6093  6: 
 6094  7: 
 6095  8: 
 6096  9: 
 6097 10: Y
 6098 
 6099 /\s*,\s*/I
 6100 Capture group count = 0
 6101 Starting code units: \x09 \x0a \x0b \x0c \x0d \x20 , 
 6102 Last code unit = ','
 6103 Subject length lower bound = 1
 6104     \x0b,\x0b
 6105  0: \x0b,\x0b
 6106     \x0c,\x0d
 6107  0: \x0c,\x0d
 6108 
 6109 /^abc/Im,newline=lf
 6110 Capture group count = 0
 6111 Options: multiline
 6112 Forced newline is LF
 6113 First code unit at start or follows newline
 6114 Last code unit = 'c'
 6115 Subject length lower bound = 3
 6116     xyz\nabc
 6117  0: abc
 6118     xyz\r\nabc
 6119  0: abc
 6120 \= Expect no match
 6121     xyz\rabc
 6122 No match
 6123     xyzabc\r
 6124 No match
 6125     xyzabc\rpqr
 6126 No match
 6127     xyzabc\r\n
 6128 No match
 6129     xyzabc\r\npqr
 6130 No match
 6131 
 6132 /^abc/Im,newline=crlf
 6133 Capture group count = 0
 6134 Options: multiline
 6135 Forced newline is CRLF
 6136 First code unit at start or follows newline
 6137 Last code unit = 'c'
 6138 Subject length lower bound = 3
 6139     xyz\r\nabclf>
 6140  0: abc
 6141 \= Expect no match
 6142     xyz\nabclf
 6143 No match
 6144     xyz\rabclf
 6145 No match
 6146 
 6147 /^abc/Im,newline=cr
 6148 Capture group count = 0
 6149 Options: multiline
 6150 Forced newline is CR
 6151 First code unit at start or follows newline
 6152 Last code unit = 'c'
 6153 Subject length lower bound = 3
 6154     xyz\rabc
 6155  0: abc
 6156 \= Expect no match
 6157     xyz\nabc
 6158 No match
 6159     xyz\r\nabc
 6160 No match
 6161 
 6162 /^abc/Im,newline=bad
 6163 ** Invalid value in 'newline=bad'
 6164 
 6165 /.*/I,newline=lf
 6166 Capture group count = 0
 6167 May match empty string
 6168 Forced newline is LF
 6169 First code unit at start or follows newline
 6170 Subject length lower bound = 0
 6171     abc\ndef
 6172  0: abc
 6173     abc\rdef
 6174  0: abc\x0ddef
 6175     abc\r\ndef
 6176  0: abc\x0d
 6177 
 6178 /.*/I,newline=cr
 6179 Capture group count = 0
 6180 May match empty string
 6181 Forced newline is CR
 6182 First code unit at start or follows newline
 6183 Subject length lower bound = 0
 6184     abc\ndef
 6185  0: abc\x0adef
 6186     abc\rdef
 6187  0: abc
 6188     abc\r\ndef
 6189  0: abc
 6190 
 6191 /.*/I,newline=crlf
 6192 Capture group count = 0
 6193 May match empty string
 6194 Forced newline is CRLF
 6195 First code unit at start or follows newline
 6196 Subject length lower bound = 0
 6197     abc\ndef
 6198  0: abc\x0adef
 6199     abc\rdef
 6200  0: abc\x0ddef
 6201     abc\r\ndef
 6202  0: abc
 6203 
 6204 /\w+(.)(.)?def/Is
 6205 Capture group count = 2
 6206 Options: dotall
 6207 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
 6208   Q R S T U V W X Y Z _ 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 
 6209 Last code unit = 'f'
 6210 Subject length lower bound = 5
 6211     abc\ndef
 6212  0: abc\x0adef
 6213  1: \x0a
 6214     abc\rdef
 6215  0: abc\x0ddef
 6216  1: \x0d
 6217     abc\r\ndef
 6218  0: abc\x0d\x0adef
 6219  1: \x0d
 6220  2: \x0a
 6221 
 6222 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
 6223 Capture group count = 1
 6224 Named capture groups:
 6225   B   1
 6226 Starting code units: 0 1 2 3 4 5 6 7 8 9 
 6227 Last code unit = '.'
 6228 Subject length lower bound = 7
 6229 
 6230 /()()()()()()()()()()()()()()()()()()()()
 6231  ()()()()()()()()()()()()()()()()()()()()
 6232  ()()()()()()()()()()()()()()()()()()()()
 6233  ()()()()()()()()()()()()()()()()()()()()
 6234  ()()()()()()()()()()()()()()()()()()()()
 6235  (.(.))/Ix
 6236 Capture group count = 102
 6237 Options: extended
 6238 Subject length lower bound = 2
 6239     XY\=ovector=133
 6240  0: XY
 6241  1: 
 6242  2: 
 6243  3: 
 6244  4: 
 6245  5: 
 6246  6: 
 6247  7: 
 6248  8: 
 6249  9: 
 6250 10: 
 6251 11: 
 6252 12: 
 6253 13: 
 6254 14: 
 6255 15: 
 6256 16: 
 6257 17: 
 6258 18: 
 6259 19: 
 6260 20: 
 6261 21: 
 6262 22: 
 6263 23: 
 6264 24: 
 6265 25: 
 6266 26: 
 6267 27: 
 6268 28: 
 6269 29: 
 6270 30: 
 6271 31: 
 6272 32: 
 6273 33: 
 6274 34: 
 6275 35: 
 6276 36: 
 6277 37: 
 6278 38: 
 6279 39: 
 6280 40: 
 6281 41: 
 6282 42: 
 6283 43: 
 6284 44: 
 6285 45: 
 6286 46: 
 6287 47: 
 6288 48: 
 6289 49: 
 6290 50: 
 6291 51: 
 6292 52: 
 6293 53: 
 6294 54: 
 6295 55: 
 6296 56: 
 6297 57: 
 6298 58: 
 6299 59: 
 6300 60: 
 6301 61: 
 6302 62: 
 6303 63: 
 6304 64: 
 6305 65: 
 6306 66: 
 6307 67: 
 6308 68: 
 6309 69: 
 6310 70: 
 6311 71: 
 6312 72: 
 6313 73: 
 6314 74: 
 6315 75: 
 6316 76: 
 6317 77: 
 6318 78: 
 6319 79: 
 6320 80: 
 6321 81: 
 6322 82: 
 6323 83: 
 6324 84: 
 6325 85: 
 6326 86: 
 6327 87: 
 6328 88: 
 6329 89: 
 6330 90: 
 6331 91: 
 6332 92: 
 6333 93: 
 6334 94: 
 6335 95: 
 6336 96: 
 6337 97: 
 6338 98: 
 6339 99: 
 6340 100: 
 6341 101: XY
 6342 102: Y
 6343 
 6344 /(a*b|(?i:c*(?-i)d))/I
 6345 Capture group count = 1
 6346 Starting code units: C a b c d 
 6347 Subject length lower bound = 1
 6348 
 6349 /()[ab]xyz/I
 6350 Capture group count = 1
 6351 Starting code units: a b 
 6352 Last code unit = 'z'
 6353 Subject length lower bound = 4
 6354 
 6355 /(|)[ab]xyz/I
 6356 Capture group count = 1
 6357 Starting code units: a b 
 6358 Last code unit = 'z'
 6359 Subject length lower bound = 4
 6360 
 6361 /(|c)[ab]xyz/I
 6362 Capture group count = 1
 6363 Starting code units: a b c 
 6364 Last code unit = 'z'
 6365 Subject length lower bound = 4
 6366 
 6367 /(|c?)[ab]xyz/I
 6368 Capture group count = 1
 6369 Starting code units: a b c 
 6370 Last code unit = 'z'
 6371 Subject length lower bound = 4
 6372 
 6373 /(d?|c?)[ab]xyz/I
 6374 Capture group count = 1
 6375 Starting code units: a b c d 
 6376 Last code unit = 'z'
 6377 Subject length lower bound = 4
 6378 
 6379 /(d?|c)[ab]xyz/I
 6380 Capture group count = 1
 6381 Starting code units: a b c d 
 6382 Last code unit = 'z'
 6383 Subject length lower bound = 4
 6384 
 6385 /^a*b\d/IB
 6386 ------------------------------------------------------------------
 6387         Bra
 6388         ^
 6389         a*+
 6390         b
 6391         \d
 6392         Ket
 6393         End
 6394 ------------------------------------------------------------------
 6395 Capture group count = 0
 6396 Compile options: <none>
 6397 Overall options: anchored
 6398 Starting code units: a b 
 6399 Last code unit = 'b'
 6400 Subject length lower bound = 2
 6401 
 6402 /^a*+b\d/IB
 6403 ------------------------------------------------------------------
 6404         Bra
 6405         ^
 6406         a*+
 6407         b
 6408         \d
 6409         Ket
 6410         End
 6411 ------------------------------------------------------------------
 6412 Capture group count = 0
 6413 Compile options: <none>
 6414 Overall options: anchored
 6415 Starting code units: a b 
 6416 Last code unit = 'b'
 6417 Subject length lower bound = 2
 6418 
 6419 /^a*?b\d/IB
 6420 ------------------------------------------------------------------
 6421         Bra
 6422         ^
 6423         a*+
 6424         b
 6425         \d
 6426         Ket
 6427         End
 6428 ------------------------------------------------------------------
 6429 Capture group count = 0
 6430 Compile options: <none>
 6431 Overall options: anchored
 6432 Starting code units: a b 
 6433 Last code unit = 'b'
 6434 Subject length lower bound = 2
 6435 
 6436 /^a+A\d/IB
 6437 ------------------------------------------------------------------
 6438         Bra
 6439         ^
 6440         a++
 6441         A
 6442         \d
 6443         Ket
 6444         End
 6445 ------------------------------------------------------------------
 6446 Capture group count = 0
 6447 Compile options: <none>
 6448 Overall options: anchored
 6449 First code unit = 'a'
 6450 Last code unit = 'A'
 6451 Subject length lower bound = 3
 6452     aaaA5
 6453  0: aaaA5
 6454 \= Expect no match
 6455     aaaa5
 6456 No match
 6457 
 6458 /^a*A\d/IBi
 6459 ------------------------------------------------------------------
 6460         Bra
 6461         ^
 6462      /i a*
 6463      /i A
 6464         \d
 6465         Ket
 6466         End
 6467 ------------------------------------------------------------------
 6468 Capture group count = 0
 6469 Compile options: caseless
 6470 Overall options: anchored caseless
 6471 Starting code units: A a 
 6472 Last code unit = 'A' (caseless)
 6473 Subject length lower bound = 2
 6474     aaaA5
 6475  0: aaaA5
 6476     aaaa5
 6477  0: aaaa5
 6478     a5 
 6479  0: a5
 6480 
 6481 /(a*|b*)[cd]/I
 6482 Capture group count = 1
 6483 Starting code units: a b c d 
 6484 Subject length lower bound = 1
 6485 
 6486 /(a+|b*)[cd]/I
 6487 Capture group count = 1
 6488 Starting code units: a b c d 
 6489 Subject length lower bound = 1
 6490 
 6491 /(a*|b+)[cd]/I
 6492 Capture group count = 1
 6493 Starting code units: a b c d 
 6494 Subject length lower bound = 1
 6495 
 6496 /(a+|b+)[cd]/I
 6497 Capture group count = 1
 6498 Starting code units: a b 
 6499 Subject length lower bound = 2
 6500 
 6501 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
 6502  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
 6503  (((
 6504  a
 6505  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 6506  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 6507  )))
 6508 /Ix
 6509 Capture group count = 203
 6510 Options: extended
 6511 First code unit = 'a'
 6512 Subject length lower bound = 1
 6513   large nest
 6514 Matched, but too many substrings
 6515  0: a
 6516  1: a
 6517  2: a
 6518  3: a
 6519  4: a
 6520  5: a
 6521  6: a
 6522  7: a
 6523  8: a
 6524  9: a
 6525 10: a
 6526 11: a
 6527 12: a
 6528 13: a
 6529 14: a
 6530 
 6531 /a*\d/B
 6532 ------------------------------------------------------------------
 6533         Bra
 6534         a*+
 6535         \d
 6536         Ket
 6537         End
 6538 ------------------------------------------------------------------
 6539 
 6540 /a*\D/B
 6541 ------------------------------------------------------------------
 6542         Bra
 6543         a*
 6544         \D
 6545         Ket
 6546         End
 6547 ------------------------------------------------------------------
 6548 
 6549 /0*\d/B
 6550 ------------------------------------------------------------------
 6551         Bra
 6552         0*
 6553         \d
 6554         Ket
 6555         End
 6556 ------------------------------------------------------------------
 6557 
 6558 /0*\D/B
 6559 ------------------------------------------------------------------
 6560         Bra
 6561         0*+
 6562         \D
 6563         Ket
 6564         End
 6565 ------------------------------------------------------------------
 6566 
 6567 /a*\s/B
 6568 ------------------------------------------------------------------
 6569         Bra
 6570         a*+
 6571         \s
 6572         Ket
 6573         End
 6574 ------------------------------------------------------------------
 6575 
 6576 /a*\S/B
 6577 ------------------------------------------------------------------
 6578         Bra
 6579         a*
 6580         \S
 6581         Ket
 6582         End
 6583 ------------------------------------------------------------------
 6584 
 6585 / *\s/B
 6586 ------------------------------------------------------------------
 6587         Bra
 6588          *
 6589         \s
 6590         Ket
 6591         End
 6592 ------------------------------------------------------------------
 6593 
 6594 / *\S/B
 6595 ------------------------------------------------------------------
 6596         Bra
 6597          *+
 6598         \S
 6599         Ket
 6600         End
 6601 ------------------------------------------------------------------
 6602 
 6603 /a*\w/B
 6604 ------------------------------------------------------------------
 6605         Bra
 6606         a*
 6607         \w
 6608         Ket
 6609         End
 6610 ------------------------------------------------------------------
 6611 
 6612 /a*\W/B
 6613 ------------------------------------------------------------------
 6614         Bra
 6615         a*+
 6616         \W
 6617         Ket
 6618         End
 6619 ------------------------------------------------------------------
 6620 
 6621 /=*\w/B
 6622 ------------------------------------------------------------------
 6623         Bra
 6624         =*+
 6625         \w
 6626         Ket
 6627         End
 6628 ------------------------------------------------------------------
 6629 
 6630 /=*\W/B
 6631 ------------------------------------------------------------------
 6632         Bra
 6633         =*
 6634         \W
 6635         Ket
 6636         End
 6637 ------------------------------------------------------------------
 6638 
 6639 /\d*a/B
 6640 ------------------------------------------------------------------
 6641         Bra
 6642         \d*+
 6643         a
 6644         Ket
 6645         End
 6646 ------------------------------------------------------------------
 6647 
 6648 /\d*2/B
 6649 ------------------------------------------------------------------
 6650         Bra
 6651         \d*
 6652         2
 6653         Ket
 6654         End
 6655 ------------------------------------------------------------------
 6656 
 6657 /\d*\d/B
 6658 ------------------------------------------------------------------
 6659         Bra
 6660         \d*
 6661         \d
 6662         Ket
 6663         End
 6664 ------------------------------------------------------------------
 6665 
 6666 /\d*\D/B
 6667 ------------------------------------------------------------------
 6668         Bra
 6669         \d*+
 6670         \D
 6671         Ket
 6672         End
 6673 ------------------------------------------------------------------
 6674 
 6675 /\d*\s/B
 6676 ------------------------------------------------------------------
 6677         Bra
 6678         \d*+
 6679         \s
 6680         Ket
 6681         End
 6682 ------------------------------------------------------------------
 6683 
 6684 /\d*\S/B
 6685 ------------------------------------------------------------------
 6686         Bra
 6687         \d*
 6688         \S
 6689         Ket
 6690         End
 6691 ------------------------------------------------------------------
 6692 
 6693 /\d*\w/B
 6694 ------------------------------------------------------------------
 6695         Bra
 6696         \d*
 6697         \w
 6698         Ket
 6699         End
 6700 ------------------------------------------------------------------
 6701 
 6702 /\d*\W/B
 6703 ------------------------------------------------------------------
 6704         Bra
 6705         \d*+
 6706         \W
 6707         Ket
 6708         End
 6709 ------------------------------------------------------------------
 6710 
 6711 /\D*a/B
 6712 ------------------------------------------------------------------
 6713         Bra
 6714         \D*
 6715         a
 6716         Ket
 6717         End
 6718 ------------------------------------------------------------------
 6719 
 6720 /\D*2/B
 6721 ------------------------------------------------------------------
 6722         Bra
 6723         \D*+
 6724         2
 6725         Ket
 6726         End
 6727 ------------------------------------------------------------------
 6728 
 6729 /\D*\d/B
 6730 ------------------------------------------------------------------
 6731         Bra
 6732         \D*+
 6733         \d
 6734         Ket
 6735         End
 6736 ------------------------------------------------------------------
 6737 
 6738 /\D*\D/B
 6739 ------------------------------------------------------------------
 6740         Bra
 6741         \D*
 6742         \D
 6743         Ket
 6744         End
 6745 ------------------------------------------------------------------
 6746 
 6747 /\D*\s/B
 6748 ------------------------------------------------------------------
 6749         Bra
 6750         \D*
 6751         \s
 6752         Ket
 6753         End
 6754 ------------------------------------------------------------------
 6755 
 6756 /\D*\S/B
 6757 ------------------------------------------------------------------
 6758         Bra
 6759         \D*
 6760         \S
 6761         Ket
 6762         End
 6763 ------------------------------------------------------------------
 6764 
 6765 /\D*\w/B
 6766 ------------------------------------------------------------------
 6767         Bra
 6768         \D*
 6769         \w
 6770         Ket
 6771         End
 6772 ------------------------------------------------------------------
 6773 
 6774 /\D*\W/B
 6775 ------------------------------------------------------------------
 6776         Bra
 6777         \D*
 6778         \W
 6779         Ket
 6780         End
 6781 ------------------------------------------------------------------
 6782 
 6783 /\s*a/B
 6784 ------------------------------------------------------------------
 6785         Bra
 6786         \s*+
 6787         a
 6788         Ket
 6789         End
 6790 ------------------------------------------------------------------
 6791 
 6792 /\s*2/B
 6793 ------------------------------------------------------------------
 6794         Bra
 6795         \s*+
 6796         2
 6797         Ket
 6798         End
 6799 ------------------------------------------------------------------
 6800 
 6801 /\s*\d/B
 6802 ------------------------------------------------------------------
 6803         Bra
 6804         \s*+
 6805         \d
 6806         Ket
 6807         End
 6808 ------------------------------------------------------------------
 6809 
 6810 /\s*\D/B
 6811 ------------------------------------------------------------------
 6812         Bra
 6813         \s*
 6814         \D
 6815         Ket
 6816         End
 6817 ------------------------------------------------------------------
 6818 
 6819 /\s*\s/B
 6820 ------------------------------------------------------------------
 6821         Bra
 6822         \s*
 6823         \s
 6824         Ket
 6825         End
 6826 ------------------------------------------------------------------
 6827 
 6828 /\s*\S/B
 6829 ------------------------------------------------------------------
 6830         Bra
 6831         \s*+
 6832         \S
 6833         Ket
 6834         End
 6835 ------------------------------------------------------------------
 6836 
 6837 /\s*\w/B
 6838 ------------------------------------------------------------------
 6839         Bra
 6840         \s*+
 6841         \w
 6842         Ket
 6843         End
 6844 ------------------------------------------------------------------
 6845 
 6846 /\s*\W/B
 6847 ------------------------------------------------------------------
 6848         Bra
 6849         \s*
 6850         \W
 6851         Ket
 6852         End
 6853 ------------------------------------------------------------------
 6854 
 6855 /\S*a/B
 6856 ------------------------------------------------------------------
 6857         Bra
 6858         \S*
 6859         a
 6860         Ket
 6861         End
 6862 ------------------------------------------------------------------
 6863 
 6864 /\S*2/B
 6865 ------------------------------------------------------------------
 6866         Bra
 6867         \S*
 6868         2
 6869         Ket
 6870         End
 6871 ------------------------------------------------------------------
 6872 
 6873 /\S*\d/B
 6874 ------------------------------------------------------------------
 6875         Bra
 6876         \S*
 6877         \d
 6878         Ket
 6879         End
 6880 ------------------------------------------------------------------
 6881 
 6882 /\S*\D/B
 6883 ------------------------------------------------------------------
 6884         Bra
 6885         \S*
 6886         \D
 6887         Ket
 6888         End
 6889 ------------------------------------------------------------------
 6890 
 6891 /\S*\s/B
 6892 ------------------------------------------------------------------
 6893         Bra
 6894         \S*+
 6895         \s
 6896         Ket
 6897         End
 6898 ------------------------------------------------------------------
 6899 
 6900 /\S*\S/B
 6901 ------------------------------------------------------------------
 6902         Bra
 6903         \S*
 6904         \S
 6905         Ket
 6906         End
 6907 ------------------------------------------------------------------
 6908 
 6909 /\S*\w/B
 6910 ------------------------------------------------------------------
 6911         Bra
 6912         \S*
 6913         \w
 6914         Ket
 6915         End
 6916 ------------------------------------------------------------------
 6917 
 6918 /\S*\W/B
 6919 ------------------------------------------------------------------
 6920         Bra
 6921         \S*
 6922         \W
 6923         Ket
 6924         End
 6925 ------------------------------------------------------------------
 6926 
 6927 /\w*a/B
 6928 ------------------------------------------------------------------
 6929         Bra
 6930         \w*
 6931         a
 6932         Ket
 6933         End
 6934 ------------------------------------------------------------------
 6935 
 6936 /\w*2/B
 6937 ------------------------------------------------------------------
 6938         Bra
 6939         \w*
 6940         2
 6941         Ket
 6942         End
 6943 ------------------------------------------------------------------
 6944 
 6945 /\w*\d/B
 6946 ------------------------------------------------------------------
 6947         Bra
 6948         \w*
 6949         \d
 6950         Ket
 6951         End
 6952 ------------------------------------------------------------------
 6953 
 6954 /\w*\D/B
 6955 ------------------------------------------------------------------
 6956         Bra
 6957         \w*
 6958         \D
 6959         Ket
 6960         End
 6961 ------------------------------------------------------------------
 6962 
 6963 /\w*\s/B
 6964 ------------------------------------------------------------------
 6965         Bra
 6966         \w*+
 6967         \s
 6968         Ket
 6969         End
 6970 ------------------------------------------------------------------
 6971 
 6972 /\w*\S/B
 6973 ------------------------------------------------------------------
 6974         Bra
 6975         \w*
 6976         \S
 6977         Ket
 6978         End
 6979 ------------------------------------------------------------------
 6980 
 6981 /\w*\w/B
 6982 ------------------------------------------------------------------
 6983         Bra
 6984         \w*
 6985         \w
 6986         Ket
 6987         End
 6988 ------------------------------------------------------------------
 6989 
 6990 /\w*\W/B
 6991 ------------------------------------------------------------------
 6992         Bra
 6993         \w*+
 6994         \W
 6995         Ket
 6996         End
 6997 ------------------------------------------------------------------
 6998 
 6999 /\W*a/B
 7000 ------------------------------------------------------------------
 7001         Bra
 7002         \W*+
 7003         a
 7004         Ket
 7005         End
 7006 ------------------------------------------------------------------
 7007 
 7008 /\W*2/B
 7009 ------------------------------------------------------------------
 7010         Bra
 7011         \W*+
 7012         2
 7013         Ket
 7014         End
 7015 ------------------------------------------------------------------
 7016 
 7017 /\W*\d/B
 7018 ------------------------------------------------------------------
 7019         Bra
 7020         \W*+
 7021         \d
 7022         Ket
 7023         End
 7024 ------------------------------------------------------------------
 7025 
 7026 /\W*\D/B
 7027 ------------------------------------------------------------------
 7028         Bra
 7029         \W*
 7030         \D
 7031         Ket
 7032         End
 7033 ------------------------------------------------------------------
 7034 
 7035 /\W*\s/B
 7036 ------------------------------------------------------------------
 7037         Bra
 7038         \W*
 7039         \s
 7040         Ket
 7041         End
 7042 ------------------------------------------------------------------
 7043 
 7044 /\W*\S/B
 7045 ------------------------------------------------------------------
 7046         Bra
 7047         \W*
 7048         \S
 7049         Ket
 7050         End
 7051 ------------------------------------------------------------------
 7052 
 7053 /\W*\w/B
 7054 ------------------------------------------------------------------
 7055         Bra
 7056         \W*+
 7057         \w
 7058         Ket
 7059         End
 7060 ------------------------------------------------------------------
 7061 
 7062 /\W*\W/B
 7063 ------------------------------------------------------------------
 7064         Bra
 7065         \W*
 7066         \W
 7067         Ket
 7068         End
 7069 ------------------------------------------------------------------
 7070 
 7071 /[^a]+a/B
 7072 ------------------------------------------------------------------
 7073         Bra
 7074         [^a]++
 7075         a
 7076         Ket
 7077         End
 7078 ------------------------------------------------------------------
 7079 
 7080 /[^a]+a/Bi
 7081 ------------------------------------------------------------------
 7082         Bra
 7083      /i [^a]++
 7084      /i a
 7085         Ket
 7086         End
 7087 ------------------------------------------------------------------
 7088 
 7089 /[^a]+A/Bi
 7090 ------------------------------------------------------------------
 7091         Bra
 7092      /i [^a]++
 7093      /i A
 7094         Ket
 7095         End
 7096 ------------------------------------------------------------------
 7097 
 7098 /[^a]+b/B
 7099 ------------------------------------------------------------------
 7100         Bra
 7101         [^a]+
 7102         b
 7103         Ket
 7104         End
 7105 ------------------------------------------------------------------
 7106 
 7107 /[^a]+\d/B
 7108 ------------------------------------------------------------------
 7109         Bra
 7110         [^a]+
 7111         \d
 7112         Ket
 7113         End
 7114 ------------------------------------------------------------------
 7115 
 7116 /a*[^a]/B
 7117 ------------------------------------------------------------------
 7118         Bra
 7119         a*+
 7120         [^a]
 7121         Ket
 7122         End
 7123 ------------------------------------------------------------------
 7124 
 7125 /(?P<abc>x)(?P<xyz>y)/I
 7126 Capture group count = 2
 7127 Named capture groups:
 7128   abc   1
 7129   xyz   2
 7130 First code unit = 'x'
 7131 Last code unit = 'y'
 7132 Subject length lower bound = 2
 7133     xy\=copy=abc,copy=xyz
 7134  0: xy
 7135  1: x
 7136  2: y
 7137   C x (1) abc (group 1)
 7138   C y (1) xyz (group 2)
 7139 
 7140 /(?<abc>x)(?'xyz'y)/I
 7141 Capture group count = 2
 7142 Named capture groups:
 7143   abc   1
 7144   xyz   2
 7145 First code unit = 'x'
 7146 Last code unit = 'y'
 7147 Subject length lower bound = 2
 7148     xy\=copy=abc,copy=xyz
 7149  0: xy
 7150  1: x
 7151  2: y
 7152   C x (1) abc (group 1)
 7153   C y (1) xyz (group 2)
 7154 
 7155 /(?<abc'x)(?'xyz'y)/I
 7156 Failed: error 142 at offset 6: syntax error in subpattern name (missing terminator?)
 7157 
 7158 /(?<abc>x)(?'xyz>y)/I
 7159 Failed: error 142 at offset 15: syntax error in subpattern name (missing terminator?)
 7160 
 7161 /(?P'abc'x)(?P<xyz>y)/I
 7162 Failed: error 141 at offset 3: unrecognized character after (?P
 7163 
 7164 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
 7165     bXaX
 7166  0: bXaX
 7167  1: X
 7168     bXbX
 7169  0: bX
 7170  1: X
 7171 \= Expect no match
 7172     aXaX
 7173 No match
 7174     aXbX
 7175 No match
 7176 
 7177 /^(?P>abc)(?<abcd>xxx)/
 7178 Failed: error 115 at offset 5: reference to non-existent subpattern
 7179 
 7180 /^(?P>abc)(?<abc>x|y)/
 7181     xx
 7182  0: xx
 7183  1: x
 7184     xy
 7185  0: xy
 7186  1: y
 7187     yy
 7188  0: yy
 7189  1: y
 7190     yx
 7191  0: yx
 7192  1: x
 7193 
 7194 /^(?P>abc)(?P<abc>x|y)/
 7195     xx
 7196  0: xx
 7197  1: x
 7198     xy
 7199  0: xy
 7200  1: y
 7201     yy
 7202  0: yy
 7203  1: y
 7204     yx
 7205  0: yx
 7206  1: x
 7207 
 7208 /^((?(abc)a|b)(?<abc>x|y))+/
 7209     bxay
 7210  0: bxay
 7211  1: ay
 7212  2: y
 7213     bxby
 7214  0: bx
 7215  1: bx
 7216  2: x
 7217 \= Expect no match
 7218     axby
 7219 No match
 7220 
 7221 /^(((?P=abc)|X)(?<abc>x|y))+/
 7222     XxXxxx
 7223  0: XxXxxx
 7224  1: xx
 7225  2: x
 7226  3: x
 7227     XxXyyx
 7228  0: XxXyyx
 7229  1: yx
 7230  2: y
 7231  3: x
 7232     XxXyxx
 7233  0: XxXy
 7234  1: Xy
 7235  2: X
 7236  3: y
 7237 \= Expect no match
 7238     x
 7239 No match
 7240 
 7241 /^(?1)(abc)/
 7242     abcabc
 7243  0: abcabc
 7244  1: abc
 7245 
 7246 /^(?:(?:\1|X)(a|b))+/
 7247     Xaaa
 7248  0: Xaaa
 7249  1: a
 7250     Xaba
 7251  0: Xa
 7252  1: a
 7253 
 7254 /^[\E\Qa\E-\Qz\E]+/B
 7255 ------------------------------------------------------------------
 7256         Bra
 7257         ^
 7258         [a-z]++
 7259         Ket
 7260         End
 7261 ------------------------------------------------------------------
 7262 
 7263 /^[a\Q]bc\E]/B
 7264 ------------------------------------------------------------------
 7265         Bra
 7266         ^
 7267         [\]a-c]
 7268         Ket
 7269         End
 7270 ------------------------------------------------------------------
 7271 
 7272 /^[a-\Q\E]/B
 7273 ------------------------------------------------------------------
 7274         Bra
 7275         ^
 7276         [\-a]
 7277         Ket
 7278         End
 7279 ------------------------------------------------------------------
 7280 
 7281 /^(?P>abc)[()](?<abc>)/B
 7282 ------------------------------------------------------------------
 7283         Bra
 7284         ^
 7285         Recurse
 7286         [()]
 7287         CBra 1
 7288         Ket
 7289         Ket
 7290         End
 7291 ------------------------------------------------------------------
 7292 
 7293 /^((?(abc)y)[()](?P<abc>x))+/B
 7294 ------------------------------------------------------------------
 7295         Bra
 7296         ^
 7297         CBra 1
 7298         Cond
 7299       2 Cond ref
 7300         y
 7301         Ket
 7302         [()]
 7303         CBra 2
 7304         x
 7305         Ket
 7306         KetRmax
 7307         Ket
 7308         End
 7309 ------------------------------------------------------------------
 7310     (xy)x
 7311  0: (xy)x
 7312  1: y)x
 7313  2: x
 7314 
 7315 /^(?P>abc)\Q()\E(?<abc>)/B
 7316 ------------------------------------------------------------------
 7317         Bra
 7318         ^
 7319         Recurse
 7320         ()
 7321         CBra 1
 7322         Ket
 7323         Ket
 7324         End
 7325 ------------------------------------------------------------------
 7326 
 7327 /^(?P>abc)[a\Q(]\E(](?<abc>)/B
 7328 ------------------------------------------------------------------
 7329         Bra
 7330         ^
 7331         Recurse
 7332         [(\]a]
 7333         CBra 1
 7334         Ket
 7335         Ket
 7336         End
 7337 ------------------------------------------------------------------
 7338 
 7339 /^(?P>abc) # this is (a comment)
 7340   (?<abc>)/Bx
 7341 ------------------------------------------------------------------
 7342         Bra
 7343         ^
 7344         Recurse
 7345         CBra 1
 7346         Ket
 7347         Ket
 7348         End
 7349 ------------------------------------------------------------------
 7350 
 7351 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
 7352 Capture group count = 4
 7353 Max back reference = 4
 7354 Named capture groups:
 7355   four    4
 7356   one     1
 7357   three   3
 7358   two     2
 7359 May match empty string
 7360 Compile options: caseless
 7361 Overall options: anchored caseless
 7362 Subject length lower bound = 0
 7363     1221
 7364  0: 1221
 7365  1: 1221
 7366  2: 1
 7367     Satan, oscillate my metallic sonatas!
 7368  0: Satan, oscillate my metallic sonatas!
 7369  1: <unset>
 7370  2: <unset>
 7371  3: Satan, oscillate my metallic sonatas
 7372  4: S
 7373     A man, a plan, a canal: Panama!
 7374  0: A man, a plan, a canal: Panama!
 7375  1: <unset>
 7376  2: <unset>
 7377  3: A man, a plan, a canal: Panama
 7378  4: A
 7379     Able was I ere I saw Elba.
 7380  0: Able was I ere I saw Elba.
 7381  1: <unset>
 7382  2: <unset>
 7383  3: Able was I ere I saw Elba
 7384  4: A
 7385 \= Expect no match
 7386     The quick brown fox
 7387 No match
 7388 
 7389 /(?=(\w+))\1:/I
 7390 Capture group count = 1
 7391 Max back reference = 1
 7392 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
 7393   Q R S T U V W X Y Z _ 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 
 7394 Last code unit = ':'
 7395 Subject length lower bound = 2
 7396     abcd:
 7397  0: abcd:
 7398  1: abcd
 7399 
 7400 /(?=(?'abc'\w+))\k<abc>:/I
 7401 Capture group count = 1
 7402 Max back reference = 1
 7403 Named capture groups:
 7404   abc   1
 7405 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
 7406   Q R S T U V W X Y Z _ 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 
 7407 Last code unit = ':'
 7408 Subject length lower bound = 2
 7409     abcd:
 7410  0: abcd:
 7411  1: abcd
 7412 
 7413 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/dupnames
 7414     adaa
 7415  0: adaa
 7416  1: a
 7417  2: d
 7418 \= Expect no match
 7419     addd
 7420 No match
 7421     adbb
 7422 No match
 7423 
 7424 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/dupnames
 7425     bdaa
 7426  0: bdaa
 7427  1: b
 7428  2: d
 7429     bdab
 7430  0: bdab
 7431  1: b
 7432  2: d
 7433 \= Expect no match
 7434     bddd
 7435 No match
 7436 
 7437 /(?(<bc))/
 7438 Failed: error 142 at offset 6: syntax error in subpattern name (missing terminator?)
 7439 
 7440 /(?(''))/
 7441 Failed: error 162 at offset 4: subpattern name expected
 7442 
 7443 /(?('R')stuff)/
 7444 Failed: error 115 at offset 4: reference to non-existent subpattern
 7445 
 7446 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
 7447     abcabc1Xabc2XabcXabcabc
 7448  0: abcabc1Xabc2XabcX
 7449  1: abcabc1Xabc2XabcX
 7450  2: abcabc1Xabc2XabcX
 7451 
 7452 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
 7453     abcabc1Xabc2XabcXabcabc
 7454  0: abcabc1Xabc2XabcX
 7455  1: abcabc1Xabc2XabcX
 7456  2: abcabc1Xabc2XabcX
 7457 
 7458 /(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
 7459 Failed: error 115 at offset 27: reference to non-existent subpattern
 7460 
 7461 /^(?(DEFINE) abc | xyz ) /x
 7462 Failed: error 154 at offset 4: DEFINE subpattern contains more than one branch
 7463 
 7464 /(?(DEFINE) abc) xyz/Ix
 7465 Capture group count = 0
 7466 Options: extended
 7467 First code unit = 'x'
 7468 Last code unit = 'z'
 7469 Subject length lower bound = 3
 7470 
 7471 /(a|)*\d/
 7472   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4\=ovector=0
 7473  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
 7474  1: 
 7475 \= Expect no match
 7476   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\=ovector=0
 7477 No match
 7478 
 7479 /^a.b/newline=lf
 7480     a\rb
 7481  0: a\x0db
 7482 \= Expect no match
 7483     a\nb
 7484 No match
 7485 
 7486 /^a.b/newline=cr
 7487     a\nb
 7488  0: a\x0ab
 7489 \= Expect no match
 7490     a\rb
 7491 No match
 7492 
 7493 /^a.b/newline=anycrlf
 7494     a\x85b
 7495  0: a\x85b
 7496 \= Expect no match
 7497     a\rb
 7498 No match
 7499 
 7500 /^a.b/newline=any
 7501 \= Expect no match
 7502     a\nb
 7503 No match
 7504     a\rb
 7505 No match
 7506     a\x85b
 7507 No match
 7508 
 7509 /^abc./gmx,newline=any
 7510     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
 7511  0: abc1
 7512  0: abc2
 7513  0: abc3
 7514  0: abc4
 7515  0: abc5
 7516  0: abc6
 7517  0: abc7
 7518 
 7519 /abc.$/gmx,newline=any
 7520     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
 7521  0: abc1
 7522  0: abc2
 7523  0: abc3
 7524  0: abc4
 7525  0: abc5
 7526  0: abc6
 7527  0: abc9
 7528 
 7529 /^a\Rb/bsr=unicode
 7530     a\nb
 7531  0: a\x0ab
 7532     a\rb
 7533  0: a\x0db
 7534     a\r\nb
 7535  0: a\x0d\x0ab
 7536     a\x0bb
 7537  0: a\x0bb
 7538     a\x0cb
 7539  0: a\x0cb
 7540     a\x85b
 7541  0: a\x85b
 7542 \= Expect no match
 7543     a\n\rb
 7544 No match
 7545 
 7546 /^a\R*b/bsr=unicode
 7547     ab
 7548  0: ab
 7549     a\nb
 7550  0: a\x0ab
 7551     a\rb
 7552  0: a\x0db
 7553     a\r\nb
 7554  0: a\x0d\x0ab
 7555     a\x0bb
 7556  0: a\x0bb
 7557     a\x0cb
 7558  0: a\x0cb
 7559     a\x85b
 7560  0: a\x85b
 7561     a\n\rb
 7562  0: a\x0a\x0db
 7563     a\n\r\x85\x0cb
 7564  0: a\x0a\x0d\x85\x0cb
 7565 
 7566 /^a\R+b/bsr=unicode
 7567     a\nb
 7568  0: a\x0ab
 7569     a\rb
 7570  0: a\x0db
 7571     a\r\nb
 7572  0: a\x0d\x0ab
 7573     a\x0bb
 7574  0: a\x0bb
 7575     a\x0cb
 7576  0: a\x0cb
 7577     a\x85b
 7578  0: a\x85b
 7579     a\n\rb
 7580  0: a\x0a\x0db
 7581     a\n\r\x85\x0cb
 7582  0: a\x0a\x0d\x85\x0cb
 7583 \= Expect no match
 7584     ab
 7585 No match
 7586 
 7587 /^a\R{1,3}b/bsr=unicode
 7588     a\nb
 7589  0: a\x0ab
 7590     a\n\rb
 7591  0: a\x0a\x0db
 7592     a\n\r\x85b
 7593  0: a\x0a\x0d\x85b
 7594     a\r\n\r\nb
 7595  0: a\x0d\x0a\x0d\x0ab
 7596     a\r\n\r\n\r\nb
 7597  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
 7598     a\n\r\n\rb
 7599  0: a\x0a\x0d\x0a\x0db
 7600     a\n\n\r\nb
 7601  0: a\x0a\x0a\x0d\x0ab
 7602 \= Expect no match
 7603     a\n\n\n\rb
 7604 No match
 7605     a\r
 7606 No match
 7607 
 7608 /(?&abc)X(?<abc>P)/I
 7609 Capture group count = 1
 7610 Named capture groups:
 7611   abc   1
 7612 Last code unit = 'P'
 7613 Subject length lower bound = 3
 7614     abcPXP123
 7615  0: PXP
 7616  1: P
 7617 
 7618 /(?1)X(?<abc>P)/I
 7619 Capture group count = 1
 7620 Named capture groups:
 7621   abc   1
 7622 Last code unit = 'P'
 7623 Subject length lower bound = 3
 7624     abcPXP123
 7625  0: PXP
 7626  1: P
 7627 
 7628 /(?:a(?&abc)b)*(?<abc>x)/
 7629     123axbaxbaxbx456
 7630  0: axbaxbaxbx
 7631  1: x
 7632     123axbaxbaxb456
 7633  0: x
 7634  1: x
 7635 
 7636 /(?:a(?&abc)b){1,5}(?<abc>x)/
 7637     123axbaxbaxbx456
 7638  0: axbaxbaxbx
 7639  1: x
 7640 
 7641 /(?:a(?&abc)b){2,5}(?<abc>x)/
 7642     123axbaxbaxbx456
 7643  0: axbaxbaxbx
 7644  1: x
 7645 
 7646 /(?:a(?&abc)b){2,}(?<abc>x)/
 7647     123axbaxbaxbx456
 7648  0: axbaxbaxbx
 7649  1: x
 7650 
 7651 /(abc)(?i:(?1))/
 7652     defabcabcxyz
 7653  0: abcabc
 7654  1: abc
 7655 \= Expect no match
 7656     DEFabcABCXYZ
 7657 No match
 7658 
 7659 /(abc)(?:(?i)(?1))/
 7660     defabcabcxyz
 7661  0: abcabc
 7662  1: abc
 7663 \= Expect no match
 7664     DEFabcABCXYZ
 7665 No match
 7666 
 7667 /^(a)\g-2/
 7668 Failed: error 115 at offset 8: reference to non-existent subpattern
 7669 
 7670 /^(a)\g/
 7671 Failed: error 157 at offset 6: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
 7672 
 7673 /^(a)\g{0}/
 7674 Failed: error 115 at offset 9: reference to non-existent subpattern
 7675 
 7676 /^(a)\g{3/
 7677 Failed: error 157 at offset 6: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
 7678 
 7679 /^(a)\g{aa}/
 7680 Failed: error 115 at offset 7: reference to non-existent subpattern
 7681 
 7682 /^a.b/newline=lf
 7683     a\rb
 7684  0: a\x0db
 7685 \= Expect no match
 7686     a\nb
 7687 No match
 7688 
 7689 /.+foo/
 7690     afoo
 7691  0: afoo
 7692 \= Expect no match
 7693     \r\nfoo
 7694 No match
 7695     \nfoo
 7696 No match
 7697 
 7698 /.+foo/newline=crlf
 7699     afoo
 7700  0: afoo
 7701     \nfoo
 7702  0: \x0afoo
 7703 \= Expect no match
 7704     \r\nfoo
 7705 No match
 7706 
 7707 /.+foo/newline=any
 7708     afoo
 7709  0: afoo
 7710 \= Expect no match
 7711     \nfoo
 7712 No match
 7713     \r\nfoo
 7714 No match
 7715 
 7716 /.+foo/s
 7717     afoo
 7718  0: afoo
 7719     \r\nfoo
 7720  0: \x0d\x0afoo
 7721     \nfoo
 7722  0: \x0afoo
 7723 
 7724 /^$/gm,newline=any
 7725     abc\r\rxyz
 7726  0: 
 7727     abc\n\rxyz
 7728  0: 
 7729 \= Expect no match
 7730     abc\r\nxyz
 7731 No match
 7732 
 7733 /(?m)^$/g,newline=any,aftertext
 7734     abc\r\n\r\n
 7735  0: 
 7736  0+ \x0d\x0a
 7737 
 7738 /(?m)^$|^\r\n/g,newline=any,aftertext
 7739     abc\r\n\r\n
 7740  0: 
 7741  0+ \x0d\x0a
 7742  0: \x0d\x0a
 7743  0+ 
 7744 
 7745 /(?m)$/g,newline=any,aftertext
 7746     abc\r\n\r\n
 7747  0: 
 7748  0+ \x0d\x0a\x0d\x0a
 7749  0: 
 7750  0+ \x0d\x0a
 7751  0: 
 7752  0+ 
 7753 
 7754 /abc.$/gmx,newline=anycrlf
 7755     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
 7756  0: abc1
 7757  0: abc4
 7758  0: abc5
 7759  0: abc9
 7760 
 7761 /^X/m
 7762     XABC
 7763  0: X
 7764 \= Expect no match
 7765     XABC\=notbol
 7766 No match
 7767 
 7768 /(ab|c)(?-1)/B
 7769 ------------------------------------------------------------------
 7770         Bra
 7771         CBra 1
 7772         ab
 7773         Alt
 7774         c
 7775         Ket
 7776         Recurse
 7777         Ket
 7778         End
 7779 ------------------------------------------------------------------
 7780     abc
 7781  0: abc
 7782  1: ab
 7783 
 7784 /xy(?+1)(abc)/B
 7785 ------------------------------------------------------------------
 7786         Bra
 7787         xy
 7788         Recurse
 7789         CBra 1
 7790         abc
 7791         Ket
 7792         Ket
 7793         End
 7794 ------------------------------------------------------------------
 7795     xyabcabc
 7796  0: xyabcabc
 7797  1: abc
 7798 \= Expect no match
 7799     xyabc
 7800 No match
 7801 
 7802 /x(?-0)y/
 7803 Failed: error 126 at offset 5: a relative value of zero is not allowed
 7804 
 7805 /x(?-1)y/
 7806 Failed: error 115 at offset 5: reference to non-existent subpattern
 7807 
 7808 /x(?+0)y/
 7809 Failed: error 126 at offset 5: a relative value of zero is not allowed
 7810 
 7811 /x(?+1)y/
 7812 Failed: error 115 at offset 5: reference to non-existent subpattern
 7813 
 7814 /^(abc)?(?(-1)X|Y)/B
 7815 ------------------------------------------------------------------
 7816         Bra
 7817         ^
 7818         Brazero
 7819         CBra 1
 7820         abc
 7821         Ket
 7822         Cond
 7823       1 Cond ref
 7824         X
 7825         Alt
 7826         Y
 7827         Ket
 7828         Ket
 7829         End
 7830 ------------------------------------------------------------------
 7831     abcX
 7832  0: abcX
 7833  1: abc
 7834     Y
 7835  0: Y
 7836 \= Expect no match
 7837     abcY
 7838 No match
 7839 
 7840 /^((?(+1)X|Y)(abc))+/B
 7841 ------------------------------------------------------------------
 7842         Bra
 7843         ^
 7844         CBra 1
 7845         Cond
 7846       2 Cond ref
 7847         X
 7848         Alt
 7849         Y
 7850         Ket
 7851         CBra 2
 7852         abc
 7853         Ket
 7854         KetRmax
 7855         Ket
 7856         End
 7857 ------------------------------------------------------------------
 7858     YabcXabc
 7859  0: YabcXabc
 7860  1: Xabc
 7861  2: abc
 7862     YabcXabcXabc
 7863  0: YabcXabcXabc
 7864  1: Xabc
 7865  2: abc
 7866 \= Expect no match
 7867     XabcXabc
 7868 No match
 7869 
 7870 /(?(-1)a)/B
 7871 Failed: error 115 at offset 5: reference to non-existent subpattern
 7872 
 7873 /((?(-1)a))/B
 7874 ------------------------------------------------------------------
 7875         Bra
 7876         CBra 1
 7877         Cond
 7878       1 Cond ref
 7879         a
 7880         Ket
 7881         Ket
 7882         Ket
 7883         End
 7884 ------------------------------------------------------------------
 7885 
 7886 /((?(-2)a))/B
 7887 Failed: error 115 at offset 6: reference to non-existent subpattern
 7888 
 7889 /^(?(+1)X|Y)(.)/B
 7890 ------------------------------------------------------------------
 7891         Bra
 7892         ^
 7893         Cond
 7894       1 Cond ref
 7895         X
 7896         Alt
 7897         Y
 7898         Ket
 7899         CBra 1
 7900         Any
 7901         Ket
 7902         Ket
 7903         End
 7904 ------------------------------------------------------------------
 7905     Y!
 7906  0: Y!
 7907  1: !
 7908 
 7909 /(?<A>tom|bon)-\k{A}/
 7910     tom-tom
 7911  0: tom-tom
 7912  1: tom
 7913     bon-bon
 7914  0: bon-bon
 7915  1: bon
 7916 \= Expect no match
 7917     tom-bon
 7918 No match
 7919 
 7920 /\g{A/
 7921 Failed: error 142 at offset 4: syntax error in subpattern name (missing terminator?)
 7922 
 7923 /(?|(abc)|(xyz))/B
 7924 ------------------------------------------------------------------
 7925         Bra
 7926         Bra
 7927         CBra 1
 7928         abc
 7929         Ket
 7930         Alt
 7931         CBra 1
 7932         xyz
 7933         Ket
 7934         Ket
 7935         Ket
 7936         End
 7937 ------------------------------------------------------------------
 7938    >abc<
 7939  0: abc
 7940  1: abc
 7941    >xyz<
 7942  0: xyz
 7943  1: xyz
 7944 
 7945 /(x)(?|(abc)|(xyz))(x)/B
 7946 ------------------------------------------------------------------
 7947         Bra
 7948         CBra 1
 7949         x
 7950         Ket
 7951         Bra
 7952         CBra 2
 7953         abc
 7954         Ket
 7955         Alt
 7956         CBra 2
 7957         xyz
 7958         Ket
 7959         Ket
 7960         CBra 3
 7961         x
 7962         Ket
 7963         Ket
 7964         End
 7965 ------------------------------------------------------------------
 7966     xabcx
 7967  0: xabcx
 7968  1: x
 7969  2: abc
 7970  3: x
 7971     xxyzx
 7972  0: xxyzx
 7973  1: x
 7974  2: xyz
 7975  3: x
 7976 
 7977 /(x)(?|(abc)(pqr)|(xyz))(x)/B
 7978 ------------------------------------------------------------------
 7979         Bra
 7980         CBra 1
 7981         x
 7982         Ket
 7983         Bra
 7984         CBra 2
 7985         abc
 7986         Ket
 7987         CBra 3
 7988         pqr
 7989         Ket
 7990         Alt
 7991         CBra 2
 7992         xyz
 7993         Ket
 7994         Ket
 7995         CBra 4
 7996         x
 7997         Ket
 7998         Ket
 7999         End
 8000 ------------------------------------------------------------------
 8001     xabcpqrx
 8002  0: xabcpqrx
 8003  1: x
 8004  2: abc
 8005  3: pqr
 8006  4: x
 8007     xxyzx
 8008  0: xxyzx
 8009  1: x
 8010  2: xyz
 8011  3: <unset>
 8012  4: x
 8013 
 8014 /\H++X/B
 8015 ------------------------------------------------------------------
 8016         Bra
 8017         \H++
 8018         X
 8019         Ket
 8020         End
 8021 ------------------------------------------------------------------
 8022 \= Expect no match
 8023     XXXX
 8024 No match
 8025 
 8026 /\H+\hY/B
 8027 ------------------------------------------------------------------
 8028         Bra
 8029         \H++
 8030         \h
 8031         Y
 8032         Ket
 8033         End
 8034 ------------------------------------------------------------------
 8035     XXXX Y
 8036  0: XXXX Y
 8037 
 8038 /\H+ Y/B
 8039 ------------------------------------------------------------------
 8040         Bra
 8041         \H++
 8042          Y
 8043         Ket
 8044         End
 8045 ------------------------------------------------------------------
 8046 
 8047 /\h+A/B
 8048 ------------------------------------------------------------------
 8049         Bra
 8050         \h++
 8051         A
 8052         Ket
 8053         End
 8054 ------------------------------------------------------------------
 8055 
 8056 /\v*B/B
 8057 ------------------------------------------------------------------
 8058         Bra
 8059         \v*+
 8060         B
 8061         Ket
 8062         End
 8063 ------------------------------------------------------------------
 8064 
 8065 /\V+\x0a/B
 8066 ------------------------------------------------------------------
 8067         Bra
 8068         \V++
 8069         \x0a
 8070         Ket
 8071         End
 8072 ------------------------------------------------------------------
 8073 
 8074 /A+\h/B
 8075 ------------------------------------------------------------------
 8076         Bra
 8077         A++
 8078         \h
 8079         Ket
 8080         End
 8081 ------------------------------------------------------------------
 8082 
 8083 / *\H/B
 8084 ------------------------------------------------------------------
 8085         Bra
 8086          *+
 8087         \H
 8088         Ket
 8089         End
 8090 ------------------------------------------------------------------
 8091 
 8092 /A*\v/B
 8093 ------------------------------------------------------------------
 8094         Bra
 8095         A*+
 8096         \v
 8097         Ket
 8098         End
 8099 ------------------------------------------------------------------
 8100 
 8101 /\x0b*\V/B
 8102 ------------------------------------------------------------------
 8103         Bra
 8104         \x0b*+
 8105         \V
 8106         Ket
 8107         End
 8108 ------------------------------------------------------------------
 8109 
 8110 /\d+\h/B
 8111 ------------------------------------------------------------------
 8112         Bra
 8113         \d++
 8114         \h
 8115         Ket
 8116         End
 8117 ------------------------------------------------------------------
 8118 
 8119 /\d*\v/B
 8120 ------------------------------------------------------------------
 8121         Bra
 8122         \d*+
 8123         \v
 8124         Ket
 8125         End
 8126 ------------------------------------------------------------------
 8127 
 8128 /S+\h\S+\v/B
 8129 ------------------------------------------------------------------
 8130         Bra
 8131         S++
 8132         \h
 8133         \S++
 8134         \v
 8135         Ket
 8136         End
 8137 ------------------------------------------------------------------
 8138 
 8139 /\w{3,}\h\w+\v/B
 8140 ------------------------------------------------------------------
 8141         Bra
 8142         \w{3}
 8143         \w*+
 8144         \h
 8145         \w++
 8146         \v
 8147         Ket
 8148         End
 8149 ------------------------------------------------------------------
 8150 
 8151 /\h+\d\h+\w\h+\S\h+\H/B
 8152 ------------------------------------------------------------------
 8153         Bra
 8154         \h++
 8155         \d
 8156         \h++
 8157         \w
 8158         \h++
 8159         \S
 8160         \h++
 8161         \H
 8162         Ket
 8163         End
 8164 ------------------------------------------------------------------
 8165 
 8166 /\v+\d\v+\w\v+\S\v+\V/B
 8167 ------------------------------------------------------------------
 8168         Bra
 8169         \v++
 8170         \d
 8171         \v++
 8172         \w
 8173         \v++
 8174         \S
 8175         \v++
 8176         \V
 8177         Ket
 8178         End
 8179 ------------------------------------------------------------------
 8180 
 8181 /\H+\h\H+\d/B
 8182 ------------------------------------------------------------------
 8183         Bra
 8184         \H++
 8185         \h
 8186         \H+
 8187         \d
 8188         Ket
 8189         End
 8190 ------------------------------------------------------------------
 8191 
 8192 /\V+\v\V+\w/B
 8193 ------------------------------------------------------------------
 8194         Bra
 8195         \V++
 8196         \v
 8197         \V+
 8198         \w
 8199         Ket
 8200         End
 8201 ------------------------------------------------------------------
 8202 
 8203 /\( (?: [^()]* | (?R) )* \)/x
 8204 (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)\=jitstack=1024
 8205  0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
 8206 
 8207 /[\E]AAA/
 8208 Failed: error 106 at offset 7: missing terminating ] for character class
 8209 
 8210 /[\Q\E]AAA/
 8211 Failed: error 106 at offset 9: missing terminating ] for character class
 8212 
 8213 /[^\E]AAA/
 8214 Failed: error 106 at offset 8: missing terminating ] for character class
 8215 
 8216 /[^\Q\E]AAA/
 8217 Failed: error 106 at offset 10: missing terminating ] for character class
 8218 
 8219 /[\E^]AAA/
 8220 Failed: error 106 at offset 8: missing terminating ] for character class
 8221 
 8222 /[\Q\E^]AAA/
 8223 Failed: error 106 at offset 10: missing terminating ] for character class
 8224 
 8225 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/B
 8226 ------------------------------------------------------------------
 8227         Bra
 8228         A
 8229         *PRUNE
 8230         B
 8231         *SKIP
 8232         C
 8233         *THEN
 8234         D
 8235         *COMMIT
 8236         E
 8237         *FAIL
 8238         F
 8239         *FAIL
 8240         G
 8241         *FAIL
 8242         H
 8243         *ACCEPT
 8244         I
 8245         Ket
 8246         End
 8247 ------------------------------------------------------------------
 8248 
 8249 /^a+(*FAIL)/auto_callout
 8250 \= Expect no match
 8251     aaaaaa
 8252 --->aaaaaa
 8253  +0 ^          ^
 8254  +1 ^          a+
 8255  +3 ^     ^    (*FAIL)
 8256  +3 ^    ^     (*FAIL)
 8257  +3 ^   ^      (*FAIL)
 8258  +3 ^  ^       (*FAIL)
 8259  +3 ^ ^        (*FAIL)
 8260  +3 ^^         (*FAIL)
 8261 No match
 8262 
 8263 /a+b?c+(*FAIL)/auto_callout
 8264 \= Expect no match
 8265     aaabccc
 8266 --->aaabccc
 8267  +0 ^           a+
 8268  +2 ^  ^        b?
 8269  +4 ^   ^       c+
 8270  +6 ^      ^    (*FAIL)
 8271  +6 ^     ^     (*FAIL)
 8272  +6 ^    ^      (*FAIL)
 8273  +0  ^          a+
 8274  +2  ^ ^        b?
 8275  +4  ^  ^       c+
 8276  +6  ^     ^    (*FAIL)
 8277  +6  ^    ^     (*FAIL)
 8278  +6  ^   ^      (*FAIL)
 8279  +0   ^         a+
 8280  +2   ^^        b?
 8281  +4   ^ ^       c+
 8282  +6   ^    ^    (*FAIL)
 8283  +6   ^   ^     (*FAIL)
 8284  +6   ^  ^      (*FAIL)
 8285 No match
 8286 
 8287 /a+b?(*PRUNE)c+(*FAIL)/auto_callout
 8288 \= Expect no match
 8289     aaabccc
 8290 --->aaabccc
 8291  +0 ^           a+
 8292  +2 ^  ^        b?
 8293  +4 ^   ^       (*PRUNE)
 8294 +12 ^   ^       c+
 8295 +14 ^      ^    (*FAIL)
 8296 +14 ^     ^     (*FAIL)
 8297 +14 ^    ^      (*FAIL)
 8298  +0  ^          a+
 8299  +2  ^ ^        b?
 8300  +4  ^  ^       (*PRUNE)
 8301 +12  ^  ^       c+
 8302 +14  ^     ^    (*FAIL)
 8303 +14  ^    ^     (*FAIL)
 8304 +14  ^   ^      (*FAIL)
 8305  +0   ^         a+
 8306  +2   ^^        b?
 8307  +4   ^ ^       (*PRUNE)
 8308 +12   ^ ^       c+
 8309 +14   ^    ^    (*FAIL)
 8310 +14   ^   ^     (*FAIL)
 8311 +14   ^  ^      (*FAIL)
 8312 No match
 8313 
 8314 /a+b?(*COMMIT)c+(*FAIL)/auto_callout
 8315 \= Expect no match
 8316     aaabccc
 8317 --->aaabccc
 8318  +0 ^           a+
 8319  +2 ^  ^        b?
 8320  +4 ^   ^       (*COMMIT)
 8321 +13 ^   ^       c+
 8322 +15 ^      ^    (*FAIL)
 8323 +15 ^     ^     (*FAIL)
 8324 +15 ^    ^      (*FAIL)
 8325 No match
 8326 
 8327 /a+b?(*SKIP)c+(*FAIL)/auto_callout
 8328 \= Expect no match
 8329     aaabcccaaabccc
 8330 --->aaabcccaaabccc
 8331  +0 ^                  a+
 8332  +2 ^  ^               b?
 8333  +4 ^   ^              (*SKIP)
 8334 +11 ^   ^              c+
 8335 +13 ^      ^           (*FAIL)
 8336 +13 ^     ^            (*FAIL)
 8337 +13 ^    ^             (*FAIL)
 8338  +0        ^           a+
 8339  +2        ^  ^        b?
 8340  +4        ^   ^       (*SKIP)
 8341 +11        ^   ^       c+
 8342 +13        ^      ^    (*FAIL)
 8343 +13        ^     ^     (*FAIL)
 8344 +13        ^    ^      (*FAIL)
 8345 No match
 8346 
 8347 /a+b?(*THEN)c+(*FAIL)/auto_callout
 8348 \= Expect no match
 8349     aaabccc
 8350 --->aaabccc
 8351  +0 ^           a+
 8352  +2 ^  ^        b?
 8353  +4 ^   ^       (*THEN)
 8354 +11 ^   ^       c+
 8355 +13 ^      ^    (*FAIL)
 8356 +13 ^     ^     (*FAIL)
 8357 +13 ^    ^      (*FAIL)
 8358  +0  ^          a+
 8359  +2  ^ ^        b?
 8360  +4  ^  ^       (*THEN)
 8361 +11  ^  ^       c+
 8362 +13  ^     ^    (*FAIL)
 8363 +13  ^    ^     (*FAIL)
 8364 +13  ^   ^      (*FAIL)
 8365  +0   ^         a+
 8366  +2   ^^        b?
 8367  +4   ^ ^       (*THEN)
 8368 +11   ^ ^       c+
 8369 +13   ^    ^    (*FAIL)
 8370 +13   ^   ^     (*FAIL)
 8371 +13   ^  ^      (*FAIL)
 8372 No match
 8373 
 8374 /a(*MARK)b/
 8375 Failed: error 166 at offset 7: (*MARK) must have an argument
 8376 
 8377 /(?i:A{1,}\6666666666)/
 8378 Failed: error 161 at offset 19: subpattern number is too big
 8379 
 8380 /\g6666666666/
 8381 Failed: error 161 at offset 7: subpattern number is too big
 8382 
 8383 /[\g6666666666]/B
 8384 ------------------------------------------------------------------
 8385         Bra
 8386         [6g]
 8387         Ket
 8388         End
 8389 ------------------------------------------------------------------
 8390 
 8391 /(?1)\c[/
 8392 Failed: error 115 at offset 3: reference to non-existent subpattern
 8393 
 8394 /.+A/newline=crlf
 8395 \= Expect no match
 8396     \r\nA
 8397 No match
 8398 
 8399 /\nA/newline=crlf
 8400     \r\nA
 8401  0: \x0aA
 8402 
 8403 /[\r\n]A/newline=crlf
 8404     \r\nA
 8405  0: \x0aA
 8406 
 8407 /(\r|\n)A/newline=crlf
 8408     \r\nA
 8409  0: \x0aA
 8410  1: \x0a
 8411 
 8412 /a(*CR)b/
 8413 Failed: error 160 at offset 5: (*VERB) not recognized or malformed
 8414 
 8415 /(*CR)a.b/
 8416     a\nb
 8417  0: a\x0ab
 8418 \= Expect no match
 8419     a\rb
 8420 No match
 8421 
 8422 /(*CR)a.b/newline=lf
 8423     a\nb
 8424  0: a\x0ab
 8425 \= Expect no match
 8426     a\rb
 8427 No match
 8428 
 8429 /(*LF)a.b/newline=CRLF
 8430     a\rb
 8431  0: a\x0db
 8432 \= Expect no match
 8433     a\nb
 8434 No match
 8435 
 8436 /(*CRLF)a.b/
 8437     a\rb
 8438  0: a\x0db
 8439     a\nb
 8440  0: a\x0ab
 8441 \= Expect no match
 8442     a\r\nb
 8443 No match
 8444 
 8445 /(*ANYCRLF)a.b/newline=CR
 8446 \= Expect no match
 8447     a\rb
 8448 No match
 8449     a\nb
 8450 No match
 8451     a\r\nb
 8452 No match
 8453 
 8454 /(*ANY)a.b/newline=cr
 8455 \= Expect no match
 8456     a\rb
 8457 No match
 8458     a\nb
 8459 No match
 8460     a\r\nb
 8461 No match
 8462     a\x85b
 8463 No match
 8464 
 8465 /(*ANY).*/g
 8466     abc\r\ndef
 8467  0: abc
 8468  0: 
 8469  0: def
 8470  0: 
 8471 
 8472 /(*ANYCRLF).*/g
 8473     abc\r\ndef
 8474  0: abc
 8475  0: 
 8476  0: def
 8477  0: 
 8478 
 8479 /(*CRLF).*/g
 8480     abc\r\ndef
 8481  0: abc
 8482  0: 
 8483  0: def
 8484  0: 
 8485 
 8486 /(*NUL)^.*/
 8487     a\nb\x00ccc
 8488  0: a\x0ab
 8489 
 8490 /(*NUL)^.*/s
 8491     a\nb\x00ccc
 8492  0: a\x0ab\x00ccc
 8493 
 8494 /^x/m,newline=NUL
 8495     ab\x00xy
 8496  0: x
 8497 
 8498 /'#comment' 0d 0a 00 '^x\' 0a 'y'/x,newline=nul,hex
 8499     x\nyz
 8500  0: x\x0ay
 8501 
 8502 /(*NUL)^X\NY/
 8503     X\nY
 8504  0: X\x0aY
 8505     X\rY
 8506  0: X\x0dY
 8507 \= Expect no match
 8508     X\x00Y
 8509 No match
 8510 
 8511 /a\Rb/I,bsr=anycrlf
 8512 Capture group count = 0
 8513 \R matches CR, LF, or CRLF
 8514 First code unit = 'a'
 8515 Last code unit = 'b'
 8516 Subject length lower bound = 3
 8517     a\rb
 8518  0: a\x0db
 8519     a\nb
 8520  0: a\x0ab
 8521     a\r\nb
 8522  0: a\x0d\x0ab
 8523 \= Expect no match
 8524     a\x85b
 8525 No match
 8526     a\x0bb
 8527 No match
 8528 
 8529 /a\Rb/I,bsr=unicode
 8530 Capture group count = 0
 8531 \R matches any Unicode newline
 8532 First code unit = 'a'
 8533 Last code unit = 'b'
 8534 Subject length lower bound = 3
 8535     a\rb
 8536  0: a\x0db
 8537     a\nb
 8538  0: a\x0ab
 8539     a\r\nb
 8540  0: a\x0d\x0ab
 8541     a\x85b
 8542  0: a\x85b
 8543     a\x0bb
 8544  0: a\x0bb
 8545 
 8546 /a\R?b/I,bsr=anycrlf
 8547 Capture group count = 0
 8548 \R matches CR, LF, or CRLF
 8549 First code unit = 'a'
 8550 Last code unit = 'b'
 8551 Subject length lower bound = 2
 8552     a\rb
 8553  0: a\x0db
 8554     a\nb
 8555  0: a\x0ab
 8556     a\r\nb
 8557  0: a\x0d\x0ab
 8558 \= Expect no match
 8559     a\x85b
 8560 No match
 8561     a\x0bb
 8562 No match
 8563 
 8564 /a\R?b/I,bsr=unicode
 8565 Capture group count = 0
 8566 \R matches any Unicode newline
 8567 First code unit = 'a'
 8568 Last code unit = 'b'
 8569 Subject length lower bound = 2
 8570     a\rb
 8571  0: a\x0db
 8572     a\nb
 8573  0: a\x0ab
 8574     a\r\nb
 8575  0: a\x0d\x0ab
 8576     a\x85b
 8577  0: a\x85b
 8578     a\x0bb
 8579  0: a\x0bb
 8580 
 8581 /a\R{2,4}b/I,bsr=anycrlf
 8582 Capture group count = 0
 8583 \R matches CR, LF, or CRLF
 8584 First code unit = 'a'
 8585 Last code unit = 'b'
 8586 Subject length lower bound = 4
 8587     a\r\n\nb
 8588  0: a\x0d\x0a\x0ab
 8589     a\n\r\rb
 8590  0: a\x0a\x0d\x0db
 8591     a\r\n\r\n\r\n\r\nb
 8592  0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
 8593 \= Expect no match
 8594     a\x85\x85b
 8595 No match
 8596     a\x0b\x0bb
 8597 No match
 8598 
 8599 /a\R{2,4}b/I,bsr=unicode
 8600 Capture group count = 0
 8601 \R matches any Unicode newline
 8602 First code unit = 'a'
 8603 Last code unit = 'b'
 8604 Subject length lower bound = 4
 8605     a\r\rb
 8606  0: a\x0d\x0db
 8607     a\n\n\nb
 8608  0: a\x0a\x0a\x0ab
 8609     a\r\n\n\r\rb
 8610  0: a\x0d\x0a\x0a\x0d\x0db
 8611     a\x85\x85b
 8612  0: a\x85\x85b
 8613     a\x0b\x0bb
 8614  0: a\x0b\x0bb
 8615 \= Expect no match
 8616     a\r\r\r\r\rb
 8617 No match
 8618 
 8619 /(*BSR_ANYCRLF)a\Rb/I
 8620 Capture group count = 0
 8621 \R matches CR, LF, or CRLF
 8622 First code unit = 'a'
 8623 Last code unit = 'b'
 8624 Subject length lower bound = 3
 8625     a\nb
 8626  0: a\x0ab
 8627     a\rb
 8628  0: a\x0db
 8629 
 8630 /(*BSR_UNICODE)a\Rb/I
 8631 Capture group count = 0
 8632 \R matches any Unicode newline
 8633 First code unit = 'a'
 8634 Last code unit = 'b'
 8635 Subject length lower bound = 3
 8636     a\x85b
 8637  0: a\x85b
 8638 
 8639 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
 8640 Capture group count = 0
 8641 \R matches CR, LF, or CRLF
 8642 Forced newline is CRLF
 8643 First code unit = 'a'
 8644 Last code unit = 'b'
 8645 Subject length lower bound = 3
 8646     a\nb
 8647  0: a\x0ab
 8648     a\rb
 8649  0: a\x0db
 8650 
 8651 /(*CRLF)(*BSR_UNICODE)a\Rb/I
 8652 Capture group count = 0
 8653 \R matches any Unicode newline
 8654 Forced newline is CRLF
 8655 First code unit = 'a'
 8656 Last code unit = 'b'
 8657 Subject length lower bound = 3
 8658     a\x85b
 8659  0: a\x85b
 8660 
 8661 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
 8662 Capture group count = 0
 8663 \R matches CR, LF, or CRLF
 8664 Forced newline is CR
 8665 First code unit = 'a'
 8666 Last code unit = 'b'
 8667 Subject length lower bound = 2
 8668 
 8669 /(?<a>)(?&)/
 8670 Failed: error 162 at offset 9: subpattern name expected
 8671 
 8672 /(?<abc>)(?&a)/
 8673 Failed: error 115 at offset 11: reference to non-existent subpattern
 8674 
 8675 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
 8676 Failed: error 115 at offset 9: reference to non-existent subpattern
 8677 
 8678 /(?+-a)/
 8679 Failed: error 129 at offset 2: digit expected after (?+ or (?-
 8680 
 8681 /(?-+a)/
 8682 Failed: error 111 at offset 3: unrecognized character after (? or (?-
 8683 
 8684 /(?(-1))/
 8685 Failed: error 115 at offset 5: reference to non-existent subpattern
 8686 
 8687 /(?(+10))/
 8688 Failed: error 115 at offset 4: reference to non-existent subpattern
 8689 
 8690 /(?(10))/
 8691 Failed: error 115 at offset 3: reference to non-existent subpattern
 8692 
 8693 /(?(+2))()()/
 8694 
 8695 /(?(2))()()/
 8696 
 8697 /\k''/
 8698 Failed: error 162 at offset 3: subpattern name expected
 8699 
 8700 /\k<>/
 8701 Failed: error 162 at offset 3: subpattern name expected
 8702 
 8703 /\k{}/
 8704 Failed: error 162 at offset 3: subpattern name expected
 8705 
 8706 /\k/
 8707 Failed: error 169 at offset 2: \k is not followed by a braced, angle-bracketed, or quoted name
 8708 
 8709 /\kabc/
 8710 Failed: error 169 at offset 2: \k is not followed by a braced, angle-bracketed, or quoted name
 8711 
 8712 /(?P=)/
 8713 Failed: error 162 at offset 4: subpattern name expected
 8714 
 8715 /(?P>)/
 8716 Failed: error 162 at offset 4: subpattern name expected
 8717 
 8718 /[[:foo:]]/
 8719 Failed: error 130 at offset 3: unknown POSIX class name
 8720 
 8721 /[[:1234:]]/
 8722 Failed: error 130 at offset 3: unknown POSIX class name
 8723 
 8724 /[[:f\oo:]]/
 8725 Failed: error 130 at offset 3: unknown POSIX class name
 8726 
 8727 /[[: :]]/
 8728 Failed: error 130 at offset 3: unknown POSIX class name
 8729 
 8730 /[[:...:]]/
 8731 Failed: error 130 at offset 3: unknown POSIX class name
 8732 
 8733 /[[:l\ower:]]/
 8734 Failed: error 130 at offset 3: unknown POSIX class name
 8735 
 8736 /[[:abc\:]]/
 8737 Failed: error 130 at offset 3: unknown POSIX class name
 8738 
 8739 /[abc[:x\]pqr:]]/
 8740 Failed: error 130 at offset 6: unknown POSIX class name
 8741 
 8742 /[[:a\dz:]]/
 8743 Failed: error 130 at offset 3: unknown POSIX class name
 8744 
 8745 /(^(a|b\g<-1'c))/
 8746 Failed: error 157 at offset 8: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
 8747 
 8748 /^(?+1)(?<a>x|y){0}z/
 8749     xzxx
 8750  0: xz
 8751     yzyy
 8752  0: yz
 8753 \= Expect no match
 8754     xxz
 8755 No match
 8756 
 8757 /(\3)(\1)(a)/
 8758 \= Expect no match
 8759     cat
 8760 No match
 8761 
 8762 /(\3)(\1)(a)/allow_empty_class,match_unset_backref,dupnames
 8763     cat
 8764  0: a
 8765  1: 
 8766  2: 
 8767  3: a
 8768 
 8769 /TA]/
 8770     The ACTA] comes
 8771  0: TA]
 8772 
 8773 /TA]/allow_empty_class,match_unset_backref,dupnames
 8774     The ACTA] comes
 8775  0: TA]
 8776 
 8777 /(?2)[]a()b](abc)/
 8778 Failed: error 115 at offset 3: reference to non-existent subpattern
 8779     abcbabc
 8780 
 8781 /(?2)[^]a()b](abc)/
 8782 Failed: error 115 at offset 3: reference to non-existent subpattern
 8783     abcbabc
 8784 
 8785 /(?1)[]a()b](abc)/
 8786     abcbabc
 8787  0: abcbabc
 8788  1: abc
 8789 \= Expect no match
 8790     abcXabc
 8791 No match
 8792 
 8793 /(?1)[^]a()b](abc)/
 8794     abcXabc
 8795  0: abcXabc
 8796  1: abc
 8797 \= Expect no match
 8798     abcbabc
 8799 No match
 8800 
 8801 /(?2)[]a()b](abc)(xyz)/
 8802     xyzbabcxyz
 8803  0: xyzbabcxyz
 8804  1: abc
 8805  2: xyz
 8806 
 8807 /(?&N)[]a(?<N>)](?<M>abc)/
 8808 Failed: error 115 at offset 3: reference to non-existent subpattern
 8809    abc<abc
 8810 
 8811 /(?&N)[]a(?<N>)](abc)/
 8812 Failed: error 115 at offset 3: reference to non-existent subpattern
 8813    abc<abc
 8814 
 8815 /a[]b/
 8816 Failed: error 106 at offset 4: missing terminating ] for character class
 8817 
 8818 /a[^]b/
 8819 Failed: error 106 at offset 5: missing terminating ] for character class
 8820 
 8821 /a[]b/allow_empty_class,match_unset_backref,dupnames
 8822 \= Expect no match
 8823     ab
 8824 No match
 8825 
 8826 /a[]+b/allow_empty_class,match_unset_backref,dupnames
 8827 \= Expect no match
 8828     ab
 8829 No match
 8830 
 8831 /a[]*+b/allow_empty_class,match_unset_backref,dupnames
 8832 \= Expect no match
 8833     ab
 8834 No match
 8835 
 8836 /a[^]b/allow_empty_class,match_unset_backref,dupnames
 8837     aXb
 8838  0: aXb
 8839     a\nb
 8840  0: a\x0ab
 8841 \= Expect no match
 8842     ab
 8843 No match
 8844 
 8845 /a[^]+b/allow_empty_class,match_unset_backref,dupnames
 8846     aXb
 8847  0: aXb
 8848     a\nX\nXb
 8849  0: a\x0aX\x0aXb
 8850 \= Expect no match
 8851     ab
 8852 No match
 8853 
 8854 /a(?!)b/B
 8855 ------------------------------------------------------------------
 8856         Bra
 8857         a
 8858         *FAIL
 8859         b
 8860         Ket
 8861         End
 8862 ------------------------------------------------------------------
 8863 
 8864 /(?!)?a/B
 8865 ------------------------------------------------------------------
 8866         Bra
 8867         Brazero
 8868         Assert not
 8869         Ket
 8870         a
 8871         Ket
 8872         End
 8873 ------------------------------------------------------------------
 8874     ab
 8875  0: a
 8876 
 8877 /a(*FAIL)+b/
 8878 Failed: error 109 at offset 8: quantifier does not follow a repeatable item
 8879 
 8880 /(abc|pqr|123){0}[xyz]/I
 8881 Capture group count = 1
 8882 Starting code units: x y z 
 8883 Subject length lower bound = 1
 8884 
 8885 /(?(?=.*b)b|^)/I,auto_callout
 8886 Capture group count = 0
 8887 May match empty string
 8888 Options: auto_callout
 8889 Subject length lower bound = 0
 8890    adc
 8891 --->adc
 8892  +0 ^       (?
 8893  +2 ^       (?=
 8894  +5 ^       .*
 8895  +7 ^  ^    b
 8896  +7 ^ ^     b
 8897  +7 ^^      b
 8898  +7 ^       b
 8899 +11 ^       ^
 8900 +12 ^       )
 8901 +13 ^       End of pattern
 8902  0: 
 8903    abc
 8904 --->abc
 8905  +0 ^       (?
 8906  +2 ^       (?=
 8907  +5 ^       .*
 8908  +7 ^  ^    b
 8909  +7 ^ ^     b
 8910  +7 ^^      b
 8911  +8 ^ ^     )
 8912  +9 ^       b
 8913  +0  ^      (?
 8914  +2  ^      (?=
 8915  +5  ^      .*
 8916  +7  ^ ^    b
 8917  +7  ^^     b
 8918  +7  ^      b
 8919  +8  ^^     )
 8920  +9  ^      b
 8921 +10  ^^     |
 8922 +13  ^^     End of pattern
 8923  0: b
 8924 
 8925 /(?(?=b).*b|^d)/I
 8926 Capture group count = 0
 8927 Subject length lower bound = 1
 8928 
 8929 /(?(?=.*b).*b|^d)/I
 8930 Capture group count = 0
 8931 Subject length lower bound = 1
 8932 
 8933 /xyz/auto_callout
 8934   xyz
 8935 --->xyz
 8936  +0 ^       x
 8937  +1 ^^      y
 8938  +2 ^ ^     z
 8939  +3 ^  ^    End of pattern
 8940  0: xyz
 8941   abcxyz
 8942 --->abcxyz
 8943  +0    ^       x
 8944  +1    ^^      y
 8945  +2    ^ ^     z
 8946  +3    ^  ^    End of pattern
 8947  0: xyz
 8948 \= Expect no match
 8949   abc
 8950 No match
 8951   abcxypqr
 8952 No match
 8953 
 8954 /xyz/auto_callout,no_start_optimize
 8955   abcxyz
 8956 --->abcxyz
 8957  +0 ^          x
 8958  +0  ^         x
 8959  +0   ^        x
 8960  +0    ^       x
 8961  +1    ^^      y
 8962  +2    ^ ^     z
 8963  +3    ^  ^    End of pattern
 8964  0: xyz
 8965 \= Expect no match
 8966   abc
 8967 --->abc
 8968  +0 ^       x
 8969  +0  ^      x
 8970  +0   ^     x
 8971  +0    ^    x
 8972 No match
 8973   abcxypqr
 8974 --->abcxypqr
 8975  +0 ^            x
 8976  +0  ^           x
 8977  +0   ^          x
 8978  +0    ^         x
 8979  +1    ^^        y
 8980  +2    ^ ^       z
 8981  +0     ^        x
 8982  +0      ^       x
 8983  +0       ^      x
 8984  +0        ^     x
 8985  +0         ^    x
 8986 No match
 8987 
 8988 /(*NO_START_OPT)xyz/auto_callout
 8989   abcxyz
 8990 --->abcxyz
 8991 +15 ^          x
 8992 +15  ^         x
 8993 +15   ^        x
 8994 +15    ^       x
 8995 +16    ^^      y
 8996 +17    ^ ^     z
 8997 +18    ^  ^    End of pattern
 8998  0: xyz
 8999 
 9000 /(*NO_AUTO_POSSESS)a+b/B
 9001 ------------------------------------------------------------------
 9002         Bra
 9003         a+
 9004         b
 9005         Ket
 9006         End
 9007 ------------------------------------------------------------------
 9008 
 9009 /xyz/auto_callout,no_start_optimize
 9010   abcxyz
 9011 --->abcxyz
 9012  +0 ^          x
 9013  +0  ^         x
 9014  +0   ^        x
 9015  +0    ^       x
 9016  +1    ^^      y
 9017  +2    ^ ^     z
 9018  +3    ^  ^    End of pattern
 9019  0: xyz
 9020 
 9021 /^"((?(?=[a])[^"])|b)*"$/auto_callout
 9022     "ab"
 9023 --->"ab"
 9024  +0 ^        ^
 9025  +1 ^        "
 9026  +2 ^^       (
 9027  +3 ^^       (?
 9028  +5 ^^       (?=
 9029  +8 ^^       [a]
 9030 +11 ^ ^      )
 9031 +12 ^^       [^"]
 9032 +16 ^ ^      )
 9033 +17 ^ ^      |
 9034  +3 ^ ^      (?
 9035  +5 ^ ^      (?=
 9036  +8 ^ ^      [a]
 9037 +17 ^ ^      |
 9038 +21 ^ ^      "
 9039 +18 ^ ^      b
 9040 +19 ^  ^     )*
 9041  +3 ^  ^     (?
 9042  +5 ^  ^     (?=
 9043  +8 ^  ^     [a]
 9044 +17 ^  ^     |
 9045 +21 ^  ^     "
 9046 +22 ^   ^    $
 9047 +23 ^   ^    End of pattern
 9048  0: "ab"
 9049  1: 
 9050 
 9051 /^"((?(?=[a])[^"])|b)*"$/
 9052     "ab"
 9053  0: "ab"
 9054  1: 
 9055 
 9056 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
 9057 Failed: error 115 at offset 5: reference to non-existent subpattern
 9058     XYabcdY
 9059 
 9060 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
 9061     XYabcdY
 9062  0: XYabcdY
 9063  1: a
 9064  2: b
 9065  3: c
 9066  4: d
 9067  5: Y
 9068 
 9069 /Xa{2,4}b/
 9070     X\=ps
 9071 Partial match: X
 9072     Xa\=ps
 9073 Partial match: Xa
 9074     Xaa\=ps
 9075 Partial match: Xaa
 9076     Xaaa\=ps
 9077 Partial match: Xaaa
 9078     Xaaaa\=ps
 9079 Partial match: Xaaaa
 9080 
 9081 /Xa{2,4}?b/
 9082     X\=ps
 9083 Partial match: X
 9084     Xa\=ps
 9085 Partial match: Xa
 9086     Xaa\=ps
 9087 Partial match: Xaa
 9088     Xaaa\=ps
 9089 Partial match: Xaaa
 9090     Xaaaa\=ps
 9091 Partial match: Xaaaa
 9092 
 9093 /Xa{2,4}+b/
 9094     X\=ps
 9095 Partial match: X
 9096     Xa\=ps
 9097 Partial match: Xa
 9098     Xaa\=ps
 9099 Partial match: Xaa
 9100     Xaaa\=ps
 9101 Partial match: Xaaa
 9102     Xaaaa\=ps
 9103 Partial match: Xaaaa
 9104 
 9105 /X\d{2,4}b/
 9106     X\=ps
 9107 Partial match: X
 9108     X3\=ps
 9109 Partial match: X3
 9110     X33\=ps
 9111 Partial match: X33
 9112     X333\=ps
 9113 Partial match: X333
 9114     X3333\=ps
 9115 Partial match: X3333
 9116 
 9117 /X\d{2,4}?b/
 9118     X\=ps
 9119 Partial match: X
 9120     X3\=ps
 9121 Partial match: X3
 9122     X33\=ps
 9123 Partial match: X33
 9124     X333\=ps
 9125 Partial match: X333
 9126     X3333\=ps
 9127 Partial match: X3333
 9128 
 9129 /X\d{2,4}+b/
 9130     X\=ps
 9131 Partial match: X
 9132     X3\=ps
 9133 Partial match: X3
 9134     X33\=ps
 9135 Partial match: X33
 9136     X333\=ps
 9137 Partial match: X333
 9138     X3333\=ps
 9139 Partial match: X3333
 9140 
 9141 /X\D{2,4}b/
 9142     X\=ps
 9143 Partial match: X
 9144     Xa\=ps
 9145 Partial match: Xa
 9146     Xaa\=ps
 9147 Partial match: Xaa
 9148     Xaaa\=ps
 9149 Partial match: Xaaa
 9150     Xaaaa\=ps
 9151 Partial match: Xaaaa
 9152 
 9153 /X\D{2,4}?b/
 9154     X\=ps
 9155 Partial match: X
 9156     Xa\=ps
 9157 Partial match: Xa
 9158     Xaa\=ps
 9159 Partial match: Xaa
 9160     Xaaa\=ps
 9161 Partial match: Xaaa
 9162     Xaaaa\=ps
 9163 Partial match: Xaaaa
 9164 
 9165 /X\D{2,4}+b/
 9166     X\=ps
 9167 Partial match: X
 9168     Xa\=ps
 9169 Partial match: Xa
 9170     Xaa\=ps
 9171 Partial match: Xaa
 9172     Xaaa\=ps
 9173 Partial match: Xaaa
 9174     Xaaaa\=ps
 9175 Partial match: Xaaaa
 9176 
 9177 /X[abc]{2,4}b/
 9178     X\=ps
 9179 Partial match: X
 9180     Xa\=ps
 9181 Partial match: Xa
 9182     Xaa\=ps
 9183 Partial match: Xaa
 9184     Xaaa\=ps
 9185 Partial match: Xaaa
 9186     Xaaaa\=ps
 9187 Partial match: Xaaaa
 9188 
 9189 /X[abc]{2,4}?b/
 9190     X\=ps
 9191 Partial match: X
 9192     Xa\=ps
 9193 Partial match: Xa
 9194     Xaa\=ps
 9195 Partial match: Xaa
 9196     Xaaa\=ps
 9197 Partial match: Xaaa
 9198     Xaaaa\=ps
 9199 Partial match: Xaaaa
 9200 
 9201 /X[abc]{2,4}+b/
 9202     X\=ps
 9203 Partial match: X
 9204     Xa\=ps
 9205 Partial match: Xa
 9206     Xaa\=ps
 9207 Partial match: Xaa
 9208     Xaaa\=ps
 9209 Partial match: Xaaa
 9210     Xaaaa\=ps
 9211 Partial match: Xaaaa
 9212 
 9213 /X[^a]{2,4}b/
 9214     X\=ps
 9215 Partial match: X
 9216     Xz\=ps
 9217 Partial match: Xz
 9218     Xzz\=ps
 9219 Partial match: Xzz
 9220     Xzzz\=ps
 9221 Partial match: Xzzz
 9222     Xzzzz\=ps
 9223 Partial match: Xzzzz
 9224 
 9225 /X[^a]{2,4}?b/
 9226     X\=ps
 9227 Partial match: X
 9228     Xz\=ps
 9229 Partial match: Xz
 9230     Xzz\=ps
 9231 Partial match: Xzz
 9232     Xzzz\=ps
 9233 Partial match: Xzzz
 9234     Xzzzz\=ps
 9235 Partial match: Xzzzz
 9236 
 9237 /X[^a]{2,4}+b/
 9238     X\=ps
 9239 Partial match: X
 9240     Xz\=ps
 9241 Partial match: Xz
 9242     Xzz\=ps
 9243 Partial match: Xzz
 9244     Xzzz\=ps
 9245 Partial match: Xzzz
 9246     Xzzzz\=ps
 9247 Partial match: Xzzzz
 9248 
 9249 /(Y)X\1{2,4}b/
 9250     YX\=ps
 9251 Partial match: YX
 9252     YXY\=ps
 9253 Partial match: YXY
 9254     YXYY\=ps
 9255 Partial match: YXYY
 9256     YXYYY\=ps
 9257 Partial match: YXYYY
 9258     YXYYYY\=ps
 9259 Partial match: YXYYYY
 9260 
 9261 /(Y)X\1{2,4}?b/
 9262     YX\=ps
 9263 Partial match: YX
 9264     YXY\=ps
 9265 Partial match: YXY
 9266     YXYY\=ps
 9267 Partial match: YXYY
 9268     YXYYY\=ps
 9269 Partial match: YXYYY
 9270     YXYYYY\=ps
 9271 Partial match: YXYYYY
 9272 
 9273 /(Y)X\1{2,4}+b/
 9274     YX\=ps
 9275 Partial match: YX
 9276     YXY\=ps
 9277 Partial match: YXY
 9278     YXYY\=ps
 9279 Partial match: YXYY
 9280     YXYYY\=ps
 9281 Partial match: YXYYY
 9282     YXYYYY\=ps
 9283 Partial match: YXYYYY
 9284 
 9285 /\++\KZ|\d+X|9+Y/startchar
 9286     ++++123999\=ps
 9287 Partial match: 123999
 9288     ++++123999Y\=ps
 9289  0: 999Y
 9290     ++++Z1234\=ps
 9291  0: ++++Z
 9292     ^^^^
 9293 
 9294 /Z(*F)/
 9295 \= Expect no match
 9296     Z\=ps
 9297 No match
 9298     ZA\=ps
 9299 No match
 9300 
 9301 /Z(?!)/
 9302 \= Expect no match
 9303     Z\=ps
 9304 No match
 9305     ZA\=ps
 9306 No match
 9307 
 9308 /dog(sbody)?/
 9309     dogs\=ps
 9310  0: dog
 9311     dogs\=ph
 9312 Partial match: dogs
 9313 
 9314 /dog(sbody)??/
 9315     dogs\=ps
 9316  0: dog
 9317     dogs\=ph
 9318  0: dog
 9319 
 9320 /dog|dogsbody/
 9321     dogs\=ps
 9322  0: dog
 9323     dogs\=ph
 9324  0: dog
 9325 
 9326 /dogsbody|dog/
 9327     dogs\=ps
 9328  0: dog
 9329     dogs\=ph
 9330 Partial match: dogs
 9331 
 9332 /\bthe cat\b/
 9333     the cat\=ps
 9334  0: the cat
 9335     the cat\=ph
 9336 Partial match: the cat
 9337 
 9338 /abc/
 9339    abc\=ps
 9340  0: abc
 9341    abc\=ph
 9342  0: abc
 9343 
 9344 /abc\K123/startchar
 9345     xyzabc123pqr
 9346  0: abc123
 9347     ^^^
 9348     xyzabc12\=ps
 9349 Partial match: abc12
 9350     xyzabc12\=ph
 9351 Partial match: abc12
 9352 
 9353 /(?<=abc)123/
 9354     xyzabc123pqr
 9355  0: 123
 9356     xyzabc12\=ps
 9357 Partial match: 12
 9358     xyzabc12\=ph
 9359 Partial match: 12
 9360 
 9361 /\babc\b/
 9362     +++abc+++
 9363  0: abc
 9364     +++ab\=ps
 9365 Partial match: ab
 9366     +++ab\=ph
 9367 Partial match: ab
 9368 
 9369 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/B
 9370 ------------------------------------------------------------------
 9371         Bra
 9372         Recurse
 9373         Recurse
 9374         Cond
 9375         Cond false
 9376         CBra 1
 9377         <
 9378         [^m]
 9379         [^>]
 9380         >
 9381         [^<]
 9382         Ket
 9383         CBra 2
 9384         \w*+
 9385         Ket
 9386         Ket
 9387         Ket
 9388         End
 9389 ------------------------------------------------------------------
 9390 
 9391 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/B
 9392 ------------------------------------------------------------------
 9393         Bra
 9394         Recurse
 9395         Recurse
 9396         Cond
 9397         Cond false
 9398         CBra 1
 9399         <
 9400         [\x00-/:-\xff] (neg)
 9401         [^>]
 9402         >
 9403         [^<]
 9404         Ket
 9405         CBra 2
 9406         \w*+
 9407         Ket
 9408         Ket
 9409         Ket
 9410         End
 9411 ------------------------------------------------------------------
 9412 
 9413 /(ab)(x(y)z(cd(*ACCEPT)))pq/B
 9414 ------------------------------------------------------------------
 9415         Bra
 9416         CBra 1
 9417         ab
 9418         Ket
 9419         CBra 2
 9420         x
 9421         CBra 3
 9422         y
 9423         Ket
 9424         z
 9425         CBra 4
 9426         cd
 9427         Close 4
 9428         Close 2
 9429         *ACCEPT
 9430         Ket
 9431         Ket
 9432         pq
 9433         Ket
 9434         End
 9435 ------------------------------------------------------------------
 9436 
 9437 /abc\K/aftertext,startchar
 9438     abcdef
 9439  0: abc
 9440     ^^^
 9441  0+ def
 9442     abcdef\=notempty_atstart
 9443  0: abc
 9444     ^^^
 9445  0+ def
 9446     xyzabcdef\=notempty_atstart
 9447  0: abc
 9448     ^^^
 9449  0+ def
 9450 \= Expect no match
 9451     abcdef\=notempty
 9452 No match
 9453     xyzabcdef\=notempty
 9454 No match
 9455 
 9456 /^(?:(?=abc)|abc\K)/aftertext,startchar
 9457     abcdef
 9458  0: 
 9459  0+ abcdef
 9460     abcdef\=notempty_atstart
 9461  0: abc
 9462     ^^^
 9463  0+ def
 9464 \= Expect no match
 9465     abcdef\=notempty
 9466 No match
 9467 
 9468 /a?b?/aftertext
 9469     xyz
 9470  0: 
 9471  0+ xyz
 9472     xyzabc
 9473  0: 
 9474  0+ xyzabc
 9475     xyzabc\=notempty
 9476  0: ab
 9477  0+ c
 9478     xyzabc\=notempty_atstart
 9479  0: 
 9480  0+ yzabc
 9481     xyz\=notempty_atstart
 9482  0: 
 9483  0+ yz
 9484 \= Expect no match
 9485     xyz\=notempty
 9486 No match
 9487 
 9488 /^a?b?/aftertext
 9489     xyz
 9490  0: 
 9491  0+ xyz
 9492     xyzabc
 9493  0: 
 9494  0+ xyzabc
 9495 \= Expect no match
 9496     xyzabc\=notempty
 9497 No match
 9498     xyzabc\=notempty_atstart
 9499 No match
 9500     xyz\=notempty_atstart
 9501 No match
 9502     xyz\=notempty
 9503 No match
 9504 
 9505 /^(?<name>a|b\g<name>c)/
 9506     aaaa
 9507  0: a
 9508  1: a
 9509     bacxxx
 9510  0: bac
 9511  1: bac
 9512     bbaccxxx
 9513  0: bbacc
 9514  1: bbacc
 9515     bbbacccxx
 9516  0: bbbaccc
 9517  1: bbbaccc
 9518 
 9519 /^(?<name>a|b\g'name'c)/
 9520     aaaa
 9521  0: a
 9522  1: a
 9523     bacxxx
 9524  0: bac
 9525  1: bac
 9526     bbaccxxx
 9527  0: bbacc
 9528  1: bbacc
 9529     bbbacccxx
 9530  0: bbbaccc
 9531  1: bbbaccc
 9532 
 9533 /^(a|b\g<1>c)/
 9534     aaaa
 9535  0: a
 9536  1: a
 9537     bacxxx
 9538  0: bac
 9539  1: bac
 9540     bbaccxxx
 9541  0: bbacc
 9542  1: bbacc
 9543     bbbacccxx
 9544  0: bbbaccc
 9545  1: bbbaccc
 9546 
 9547 /^(a|b\g'1'c)/
 9548     aaaa
 9549  0: a
 9550  1: a
 9551     bacxxx
 9552  0: bac
 9553  1: bac
 9554     bbaccxxx
 9555  0: bbacc
 9556  1: bbacc
 9557     bbbacccxx
 9558  0: bbbaccc
 9559  1: bbbaccc
 9560 
 9561 /^(a|b\g'-1'c)/
 9562     aaaa
 9563  0: a
 9564  1: a
 9565     bacxxx
 9566  0: bac
 9567  1: bac
 9568     bbaccxxx
 9569  0: bbacc
 9570  1: bbacc
 9571     bbbacccxx
 9572  0: bbbaccc
 9573  1: bbbaccc
 9574 
 9575 /(^(a|b\g<-1>c))/
 9576     aaaa
 9577  0: a
 9578  1: a
 9579  2: a
 9580     bacxxx
 9581  0: bac
 9582  1: bac
 9583  2: bac
 9584     bbaccxxx
 9585  0: bbacc
 9586  1: bbacc
 9587  2: bbacc
 9588     bbbacccxx
 9589  0: bbbaccc
 9590  1: bbbaccc
 9591  2: bbbaccc
 9592 
 9593 /(?-i:\g<name>)(?i:(?<name>a))/
 9594     XaaX
 9595  0: aa
 9596  1: a
 9597     XAAX
 9598  0: AA
 9599  1: A
 9600 
 9601 /(?i:\g<name>)(?-i:(?<name>a))/
 9602     XaaX
 9603  0: aa
 9604  1: a
 9605 \= Expect no match
 9606     XAAX
 9607 No match
 9608 
 9609 /(?-i:\g<+1>)(?i:(a))/
 9610     XaaX
 9611  0: aa
 9612  1: a
 9613     XAAX
 9614  0: AA
 9615  1: A
 9616 
 9617 /(?=(?<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>\})\}))\{/
 9618 
 9619 /(?<n>a|b|c)\g<n>*/
 9620    abc
 9621  0: abc
 9622  1: a
 9623    accccbbb
 9624  0: accccbbb
 9625  1: a
 9626 
 9627 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
 9628     XYabcdY
 9629  0: XYabcdY
 9630  1: a
 9631  2: b
 9632  3: <unset>
 9633  4: <unset>
 9634  5: c
 9635  6: d
 9636  7: Y
 9637 
 9638 /(?<=b(?1)|zzz)(a)/
 9639     xbaax
 9640  0: a
 9641  1: a
 9642     xzzzax
 9643  0: a
 9644  1: a
 9645 
 9646 /(a)(?<=b\1)/
 9647 
 9648 /(a)(?<=b+(?1))/
 9649 Failed: error 125 at offset 3: lookbehind assertion is not fixed length
 9650 
 9651 /(a+)(?<=b(?1))/
 9652 Failed: error 125 at offset 4: lookbehind assertion is not fixed length
 9653 
 9654 /(a(?<=b(?1)))/
 9655 Failed: error 125 at offset 2: lookbehind assertion is not fixed length
 9656 
 9657 /(?<=b(?1))xyz/
 9658 Failed: error 115 at offset 8: reference to non-existent subpattern
 9659 
 9660 /(?<=b(?1))xyz(b+)pqrstuvew/
 9661 Failed: error 125 at offset 0: lookbehind assertion is not fixed length
 9662 
 9663 /(a|bc)\1/I
 9664 Capture group count = 1
 9665 Max back reference = 1
 9666 Starting code units: a b 
 9667 Subject length lower bound = 2
 9668 
 9669 /(a|bc)\1{2,3}/I
 9670 Capture group count = 1
 9671 Max back reference = 1
 9672 Starting code units: a b 
 9673 Subject length lower bound = 3
 9674 
 9675 /(a|bc)(?1)/I
 9676 Capture group count = 1
 9677 Starting code units: a b 
 9678 Subject length lower bound = 2
 9679 
 9680 /(a|b\1)(a|b\1)/I
 9681 Capture group count = 2
 9682 Max back reference = 1
 9683 Starting code units: a b 
 9684 Subject length lower bound = 2
 9685 
 9686 /(a|b\1){2}/I
 9687 Capture group count = 1
 9688 Max back reference = 1
 9689 Starting code units: a b 
 9690 Subject length lower bound = 2
 9691 
 9692 /(a|bbbb\1)(a|bbbb\1)/I
 9693 Capture group count = 2
 9694 Max back reference = 1
 9695 Starting code units: a b 
 9696 Subject length lower bound = 2
 9697 
 9698 /(a|bbbb\1){2}/I
 9699 Capture group count = 1
 9700 Max back reference = 1
 9701 Starting code units: a b 
 9702 Subject length lower bound = 2
 9703 
 9704 /^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]/I
 9705 Capture group count = 1
 9706 Compile options: <none>
 9707 Overall options: anchored
 9708 First code unit = 'F'
 9709 Last code unit = ':'
 9710 Subject length lower bound = 22
 9711 
 9712 /<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>/Iis
 9713 Capture group count = 11
 9714 Options: caseless dotall
 9715 First code unit = '<'
 9716 Last code unit = '>'
 9717 Subject length lower bound = 47
 9718 
 9719 "(?>.*/)foo"I
 9720 Capture group count = 0
 9721 Last code unit = 'o'
 9722 Subject length lower bound = 4
 9723 
 9724 /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /Ix
 9725 Capture group count = 0
 9726 Options: extended
 9727 Last code unit = '-'
 9728 Subject length lower bound = 8
 9729 
 9730 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/Ii
 9731 Capture group count = 1
 9732 Options: caseless
 9733 Starting code units: A B C a b c 
 9734 Subject length lower bound = 1
 9735 
 9736 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/I
 9737 Capture group count = 0
 9738 Starting code units: c d 
 9739 Last code unit = 'b'
 9740 Subject length lower bound = 41
 9741 
 9742 /<a[\s]+href[\s]*=[\s]*          # find <a href=
 9743  ([\"\'])?                       # find single or double quote
 9744  (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
 9745                                  # quote, otherwise match up to next space
 9746 /Iisx
 9747 Capture group count = 3
 9748 Max back reference = 1
 9749 Options: caseless dotall extended
 9750 First code unit = '<'
 9751 Last code unit = '='
 9752 Subject length lower bound = 9
 9753 
 9754 /^(?!:)                       # colon disallowed at start
 9755   (?:                         # start of item
 9756     (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
 9757     (?(1)0 | () ) )           # if null previously matched, fail; else null
 9758     :                         # followed by colon
 9759   ){1,7}                      # end item; 1-7 of them required
 9760   [0-9a-f]{1,4} $             # final hex number at end of string
 9761   (?(1)|.)                    # check that there was an empty component
 9762   /Iix
 9763 Capture group count = 1
 9764 Max back reference = 1
 9765 Compile options: caseless extended
 9766 Overall options: anchored caseless extended
 9767 Last code unit = ':'
 9768 Subject length lower bound = 2
 9769 
 9770 /(?|(?<a>A)|(?<a>B))/I
 9771 Capture group count = 1
 9772 Named capture groups:
 9773   a   1
 9774 Starting code units: A B 
 9775 Subject length lower bound = 1
 9776     AB\=copy=a
 9777  0: A
 9778  1: A
 9779   C A (1) a (group 1)
 9780     BA\=copy=a
 9781  0: B
 9782  1: B
 9783   C B (1) a (group 1)
 9784 
 9785 /(?|(?<a>A)|(?<b>B))/
 9786 Failed: error 165 at offset 16: different names for subpatterns of the same number are not allowed
 9787 
 9788 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
 9789     b(?<quote> (?<apostrophe>')|(?<realquote>")) )
 9790     (?('quote')[a-z]+|[0-9]+)/Ix,dupnames
 9791 Capture group count = 6
 9792 Max back reference = 4
 9793 Named capture groups:
 9794   apostrophe   2
 9795   apostrophe   5
 9796   quote        1
 9797   quote        4
 9798   realquote    3
 9799   realquote    6
 9800 Options: dupnames extended
 9801 Starting code units: a b 
 9802 Subject length lower bound = 3
 9803     a"aaaaa
 9804  0: a"aaaaa
 9805  1: "
 9806  2: <unset>
 9807  3: "
 9808     b"aaaaa
 9809  0: b"aaaaa
 9810  1: <unset>
 9811  2: <unset>
 9812  3: <unset>
 9813  4: "
 9814  5: <unset>
 9815  6: "
 9816 \= Expect no match
 9817     b"11111
 9818 No match
 9819     a"11111
 9820 No match
 9821 
 9822 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/IBx,dupnames
 9823 ------------------------------------------------------------------
 9824         Bra
 9825         ^
 9826         Bra
 9827         CBra 1
 9828         a
 9829         Ket
 9830         CBra 2
 9831         b
 9832         Ket
 9833         CBra 3
 9834         c
 9835         Ket
 9836         CBra 4
 9837         d
 9838         Ket
 9839         Alt
 9840         CBra 1
 9841         e
 9842         Ket
 9843         Ket
 9844         Cond
 9845         Cond ref <D>2
 9846         X
 9847         Alt
 9848         Y
 9849         Ket
 9850         Ket
 9851         End
 9852 ------------------------------------------------------------------
 9853 Capture group count = 4
 9854 Max back reference = 4
 9855 Named capture groups:
 9856   D   4
 9857   D   1
 9858 Compile options: dupnames extended
 9859 Overall options: anchored dupnames extended
 9860 Starting code units: a e 
 9861 Subject length lower bound = 2
 9862     abcdX
 9863  0: abcdX
 9864  1: a
 9865  2: b
 9866  3: c
 9867  4: d
 9868     eX
 9869  0: eX
 9870  1: e
 9871 \= Expect no match
 9872     abcdY
 9873 No match
 9874     ey
 9875 No match
 9876 
 9877 /(?<A>a) (b)(c)  (?<A>d  (?(R&A)$ | (?4)) )/IBx,dupnames
 9878 ------------------------------------------------------------------
 9879         Bra
 9880         CBra 1
 9881         a
 9882         Ket
 9883         CBra 2
 9884         b
 9885         Ket
 9886         CBra 3
 9887         c
 9888         Ket
 9889         CBra 4
 9890         d
 9891         Cond
 9892         Cond recurse <A>2
 9893         $
 9894         Alt
 9895         Recurse
 9896         Ket
 9897         Ket
 9898         Ket
 9899         End
 9900 ------------------------------------------------------------------
 9901 Capture group count = 4
 9902 Max back reference = 4
 9903 Named capture groups:
 9904   A   1
 9905   A   4
 9906 Options: dupnames extended
 9907 First code unit = 'a'
 9908 Last code unit = 'd'
 9909 Subject length lower bound = 4
 9910     abcdd
 9911  0: abcdd
 9912  1: a
 9913  2: b
 9914  3: c
 9915  4: dd
 9916 \= Expect no match
 9917     abcdde
 9918 No match
 9919 
 9920 /abcd*/
 9921     xxxxabcd\=ps
 9922  0: abcd
 9923     xxxxabcd\=ph
 9924 Partial match: abcd
 9925 
 9926 /abcd*/i
 9927     xxxxabcd\=ps
 9928  0: abcd
 9929     xxxxabcd\=ph
 9930 Partial match: abcd
 9931     XXXXABCD\=ps
 9932  0: ABCD
 9933     XXXXABCD\=ph
 9934 Partial match: ABCD
 9935 
 9936 /abc\d*/
 9937     xxxxabc1\=ps
 9938  0: abc1
 9939     xxxxabc1\=ph
 9940 Partial match: abc1
 9941 
 9942 /(a)bc\1*/
 9943     xxxxabca\=ps
 9944  0: abca
 9945  1: a
 9946     xxxxabca\=ph
 9947 Partial match: abca
 9948 
 9949 /abc[de]*/
 9950     xxxxabcde\=ps
 9951  0: abcde
 9952     xxxxabcde\=ph
 9953 Partial match: abcde
 9954 
 9955 /(\3)(\1)(a)/allow_empty_class,match_unset_backref,dupnames
 9956     cat
 9957  0: a
 9958  1: 
 9959  2: 
 9960  3: a
 9961 
 9962 /(\3)(\1)(a)/I,allow_empty_class,match_unset_backref,dupnames
 9963 Capture group count = 3
 9964 Max back reference = 3
 9965 Options: allow_empty_class dupnames match_unset_backref
 9966 Last code unit = 'a'
 9967 Subject length lower bound = 1
 9968     cat
 9969  0: a
 9970  1: 
 9971  2: 
 9972  3: a
 9973 
 9974 /(\3)(\1)(a)/I
 9975 Capture group count = 3
 9976 Max back reference = 3
 9977 Last code unit = 'a'
 9978 Subject length lower bound = 3
 9979 \= Expect no match
 9980     cat
 9981 No match
 9982 
 9983 /i(?(DEFINE)(?<s>a))/I
 9984 Capture group count = 1
 9985 Named capture groups:
 9986   s   1
 9987 First code unit = 'i'
 9988 Subject length lower bound = 1
 9989     i
 9990  0: i
 9991 
 9992 /()i(?(1)a)/I
 9993 Capture group count = 1
 9994 Max back reference = 1
 9995 First code unit = 'i'
 9996 Subject length lower bound = 1
 9997     ia
 9998  0: ia
 9999  1: 
10000 
10001 /(?i)a(?-i)b|c/B
10002 ------------------------------------------------------------------
10003         Bra
10004      /i a
10005         b
10006         Alt
10007         c
10008         Ket
10009         End
10010 ------------------------------------------------------------------
10011     XabX
10012  0: ab
10013     XAbX
10014  0: Ab
10015     CcC
10016  0: c
10017 \= Expect no match
10018     XABX
10019 No match
10020 
10021 /(?i)a(?s)b|c/B
10022 ------------------------------------------------------------------
10023         Bra
10024      /i ab
10025         Alt
10026      /i c
10027         Ket
10028         End
10029 ------------------------------------------------------------------
10030 
10031 /(?i)a(?s-i)b|c/B
10032 ------------------------------------------------------------------
10033         Bra
10034      /i a
10035         b
10036         Alt
10037         c
10038         Ket
10039         End
10040 ------------------------------------------------------------------
10041 
10042 /^(ab(c\1)d|x){2}$/B
10043 ------------------------------------------------------------------
10044         Bra
10045         ^
10046         CBra 1
10047         ab
10048         CBra 2
10049         c
10050         \1
10051         Ket
10052         d
10053         Alt
10054         x
10055         Ket
10056         CBra 1
10057         ab
10058         CBra 2
10059         c
10060         \1
10061         Ket
10062         d
10063         Alt
10064         x
10065         Ket
10066         $
10067         Ket
10068         End
10069 ------------------------------------------------------------------
10070     xabcxd
10071  0: xabcxd
10072  1: abcxd
10073  2: cx
10074 
10075 /^(?&t)*+(?(DEFINE)(?<t>.))$/B
10076 ------------------------------------------------------------------
10077         Bra
10078         ^
10079         Braposzero
10080         SBraPos
10081         Recurse
10082         KetRpos
10083         Cond
10084         Cond false
10085         CBra 1
10086         Any
10087         Ket
10088         Ket
10089         $
10090         Ket
10091         End
10092 ------------------------------------------------------------------
10093 
10094 /^(?&t)*(?(DEFINE)(?<t>.))$/B
10095 ------------------------------------------------------------------
10096         Bra
10097         ^
10098         Brazero
10099         SBra
10100         Recurse
10101         KetRmax
10102         Cond
10103         Cond false
10104         CBra 1
10105         Any
10106         Ket
10107         Ket
10108         $
10109         Ket
10110         End
10111 ------------------------------------------------------------------
10112 
10113 # This one is here because Perl gives the match as "b" rather than "ab". I
10114 # believe this to be a Perl bug.
10115 
10116 /(?>a\Kb)z|(ab)/
10117     ab\=startchar
10118  0: ab
10119  1: ab
10120 
10121 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10122     abcd
10123  0: 
10124  1: 
10125  2: 
10126     0abc
10127  0: 0
10128  1: 0
10129  2: 0
10130 
10131 /abc(*MARK:)pqr/
10132 Failed: error 166 at offset 10: (*MARK) must have an argument
10133 
10134 /abc(*:)pqr/
10135 Failed: error 166 at offset 6: (*MARK) must have an argument
10136 
10137 /(*COMMIT:X)/B
10138 ------------------------------------------------------------------
10139         Bra
10140         *COMMIT X
10141         Ket
10142         End
10143 ------------------------------------------------------------------
10144 
10145 # This should, and does, fail. In Perl, it does not, which I think is a
10146 # bug because replacing the B in the pattern by (B|D) does make it fail.
10147 # Turning off Perl's optimization by inserting (??{""}) also makes it fail.
10148 
10149 /A(*COMMIT)B/aftertext,mark
10150 \= Expect no match
10151     ACABX
10152 No match
10153 
10154 # These should be different, but in Perl they are not, which I think
10155 # is a bug in Perl.
10156 
10157 /A(*THEN)B|A(*THEN)C/mark
10158     AC
10159  0: AC
10160 
10161 /A(*PRUNE)B|A(*PRUNE)C/mark
10162 \= Expect no match
10163     AC
10164 No match
10165 
10166 # Mark names can be duplicated. Perl doesn't give a mark for this one,
10167 # though PCRE2 does.
10168 
10169 /^A(*:A)B|^X(*:A)Y/mark
10170 \= Expect no match
10171     XAQQ
10172 No match, mark = A
10173 
10174 # COMMIT at the start of a pattern should be the same as an anchor. Perl
10175 # optimizations defeat this. So does the PCRE2 optimization unless we disable
10176 # it.
10177 
10178 /(*COMMIT)ABC/
10179     ABCDEFG
10180  0: ABC
10181 
10182 /(*COMMIT)ABC/no_start_optimize
10183 \= Expect no match
10184     DEFGABC
10185 No match
10186 
10187 /^(ab (c+(*THEN)cd) | xyz)/x
10188 \= Expect no match
10189     abcccd
10190 No match
10191 
10192 /^(ab (c+(*PRUNE)cd) | xyz)/x
10193 \= Expect no match
10194     abcccd
10195 No match
10196 
10197 /^(ab (c+(*FAIL)cd) | xyz)/x
10198 \= Expect no match
10199     abcccd
10200 No match
10201 
10202 # Perl gets some of these wrong
10203 
10204 /(?>.(*ACCEPT))*?5/
10205     abcde
10206  0: a
10207 
10208 /(.(*ACCEPT))*?5/
10209     abcde
10210  0: a
10211  1: a
10212 
10213 /(.(*ACCEPT))5/
10214     abcde
10215  0: a
10216  1: a
10217 
10218 /(.(*ACCEPT))*5/
10219     abcde
10220  0: a
10221  1: a
10222 
10223 /A\NB./B
10224 ------------------------------------------------------------------
10225         Bra
10226         A
10227         Any
10228         B
10229         Any
10230         Ket
10231         End
10232 ------------------------------------------------------------------
10233     ACBD
10234  0: ACBD
10235 \= Expect no match
10236     A\nB
10237 No match
10238     ACB\n
10239 No match
10240 
10241 /A\NB./Bs
10242 ------------------------------------------------------------------
10243         Bra
10244         A
10245         Any
10246         B
10247         AllAny
10248         Ket
10249         End
10250 ------------------------------------------------------------------
10251     ACBD
10252  0: ACBD
10253     ACB\n
10254  0: ACB\x0a
10255 \= Expect no match
10256     A\nB
10257 No match
10258 
10259 /A\NB/newline=crlf
10260     A\nB
10261  0: A\x0aB
10262     A\rB
10263  0: A\x0dB
10264 \= Expect no match
10265     A\r\nB
10266 No match
10267 
10268 /\R+b/B
10269 ------------------------------------------------------------------
10270         Bra
10271         \R++
10272         b
10273         Ket
10274         End
10275 ------------------------------------------------------------------
10276 
10277 /\R+\n/B
10278 ------------------------------------------------------------------
10279         Bra
10280         \R+
10281         \x0a
10282         Ket
10283         End
10284 ------------------------------------------------------------------
10285 
10286 /\R+\d/B
10287 ------------------------------------------------------------------
10288         Bra
10289         \R++
10290         \d
10291         Ket
10292         End
10293 ------------------------------------------------------------------
10294 
10295 /\d*\R/B
10296 ------------------------------------------------------------------
10297         Bra
10298         \d*+
10299         \R
10300         Ket
10301         End
10302 ------------------------------------------------------------------
10303 
10304 /\s*\R/B
10305 ------------------------------------------------------------------
10306         Bra
10307         \s*
10308         \R
10309         Ket
10310         End
10311 ------------------------------------------------------------------
10312     \x20\x0a
10313  0:  \x0a
10314     \x20\x0d
10315  0:  \x0d
10316     \x20\x0d\x0a
10317  0:  \x0d\x0a
10318 
10319 /\S*\R/B
10320 ------------------------------------------------------------------
10321         Bra
10322         \S*+
10323         \R
10324         Ket
10325         End
10326 ------------------------------------------------------------------
10327     a\x0a
10328  0: a\x0a
10329 
10330 /X\h*\R/B
10331 ------------------------------------------------------------------
10332         Bra
10333         X
10334         \h*+
10335         \R
10336         Ket
10337         End
10338 ------------------------------------------------------------------
10339     X\x20\x0a
10340  0: X \x0a
10341 
10342 /X\H*\R/B
10343 ------------------------------------------------------------------
10344         Bra
10345         X
10346         \H*
10347         \R
10348         Ket
10349         End
10350 ------------------------------------------------------------------
10351     X\x0d\x0a
10352  0: X\x0d\x0a
10353 
10354 /X\H+\R/B
10355 ------------------------------------------------------------------
10356         Bra
10357         X
10358         \H+
10359         \R
10360         Ket
10361         End
10362 ------------------------------------------------------------------
10363     X\x0d\x0a
10364  0: X\x0d\x0a
10365 
10366 /X\H++\R/B
10367 ------------------------------------------------------------------
10368         Bra
10369         X
10370         \H++
10371         \R
10372         Ket
10373         End
10374 ------------------------------------------------------------------
10375 \= Expect no match
10376     X\x0d\x0a
10377 No match
10378 
10379 /(?<=abc)def/
10380     abc\=ph
10381 Partial match: 
10382 
10383 /abc$/
10384     abc
10385  0: abc
10386     abc\=ps
10387  0: abc
10388     abc\=ph
10389 Partial match: abc
10390 
10391 /abc$/m
10392     abc
10393  0: abc
10394     abc\n
10395  0: abc
10396     abc\=ph
10397 Partial match: abc
10398     abc\n\=ph
10399  0: abc
10400     abc\=ps
10401  0: abc
10402     abc\n\=ps
10403  0: abc
10404 
10405 /abc\z/
10406     abc
10407  0: abc
10408     abc\=ps
10409  0: abc
10410     abc\=ph
10411 Partial match: abc
10412 
10413 /abc\Z/
10414     abc
10415  0: abc
10416     abc\=ps
10417  0: abc
10418     abc\=ph
10419 Partial match: abc
10420 
10421 /abc\b/
10422     abc
10423  0: abc
10424     abc\=ps
10425  0: abc
10426     abc\=ph
10427 Partial match: abc
10428 
10429 /abc\B/
10430     abc\=ps
10431 Partial match: abc
10432     abc\=ph
10433 Partial match: abc
10434 \= Expect no match
10435     abc
10436 No match
10437 
10438 /.+/
10439 \= Bad offsets
10440     abc\=offset=4
10441 Failed: error -33: bad offset value
10442     abc\=offset=-4
10443 ** Invalid value in 'offset=-4'
10444 \= Valid data
10445     abc\=offset=0
10446  0: abc
10447     abc\=offset=1
10448  0: bc
10449     abc\=offset=2
10450  0: c
10451 \= Expect no match
10452     abc\=offset=3
10453 No match
10454 
10455 /^\cģ/
10456 Failed: error 168 at offset 3: \c must be followed by a printable ASCII character
10457 
10458 /(?P<abn>(?P=abn)xxx)/B
10459 ------------------------------------------------------------------
10460         Bra
10461         CBra 1
10462         \1
10463         xxx
10464         Ket
10465         Ket
10466         End
10467 ------------------------------------------------------------------
10468 
10469 /(a\1z)/B
10470 ------------------------------------------------------------------
10471         Bra
10472         CBra 1
10473         a
10474         \1
10475         z
10476         Ket
10477         Ket
10478         End
10479 ------------------------------------------------------------------
10480 
10481 /(?P<abn>(?P=abn)(?<badstufxxx)/B
10482 Failed: error 142 at offset 29: syntax error in subpattern name (missing terminator?)
10483 
10484 /(?P<abn>(?P=axn)xxx)/B
10485 Failed: error 115 at offset 12: reference to non-existent subpattern
10486 
10487 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/B
10488 ------------------------------------------------------------------
10489         Bra
10490         CBra 1
10491         \2
10492         xxx
10493         Ket
10494         CBra 2
10495         yy
10496         Ket
10497         Ket
10498         End
10499 ------------------------------------------------------------------
10500 
10501 # These tests are here because Perl gets the first one wrong.
10502 
10503 /(\R*)(.)/s
10504     \r\n
10505  0: \x0d
10506  1: 
10507  2: \x0d
10508     \r\r\n\n\r
10509  0: \x0d\x0d\x0a\x0a\x0d
10510  1: \x0d\x0d\x0a\x0a
10511  2: \x0d
10512     \r\r\n\n\r\n
10513  0: \x0d\x0d\x0a\x0a\x0d
10514  1: \x0d\x0d\x0a\x0a
10515  2: \x0d
10516 
10517 /(\R)*(.)/s
10518     \r\n
10519  0: \x0d
10520  1: <unset>
10521  2: \x0d
10522     \r\r\n\n\r
10523  0: \x0d\x0d\x0a\x0a\x0d
10524  1: \x0a
10525  2: \x0d
10526     \r\r\n\n\r\n
10527  0: \x0d\x0d\x0a\x0a\x0d
10528  1: \x0a
10529  2: \x0d
10530 
10531 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
10532     \r\n
10533  0: \x0d
10534  1: 
10535  2: \x0d
10536     \r\r\n\n\r
10537  0: \x0d\x0d\x0a\x0a\x0d
10538  1: \x0d\x0d\x0a\x0a
10539  2: \x0d
10540     \r\r\n\n\r\n
10541  0: \x0d\x0d\x0a\x0a\x0d
10542  1: \x0d\x0d\x0a\x0a
10543  2: \x0d
10544 
10545 # -------------
10546 
10547 /^abc$/B
10548 ------------------------------------------------------------------
10549         Bra
10550         ^
10551         abc
10552         $
10553         Ket
10554         End
10555 ------------------------------------------------------------------
10556 
10557 /^abc$/Bm
10558 ------------------------------------------------------------------
10559         Bra
10560      /m ^
10561         abc
10562      /m $
10563         Ket
10564         End
10565 ------------------------------------------------------------------
10566 
10567 /^(a)*+(\w)/
10568     aaaaX
10569  0: aaaaX
10570  1: a
10571  2: X
10572 \= Expect no match
10573     aaaa
10574 No match
10575 
10576 /^(?:a)*+(\w)/
10577     aaaaX
10578  0: aaaaX
10579  1: X
10580 \= Expect no match
10581     aaaa
10582 No match
10583 
10584 /(a)++1234/IB
10585 ------------------------------------------------------------------
10586         Bra
10587         CBraPos 1
10588         a
10589         KetRpos
10590         1234
10591         Ket
10592         End
10593 ------------------------------------------------------------------
10594 Capture group count = 1
10595 First code unit = 'a'
10596 Last code unit = '4'
10597 Subject length lower bound = 5
10598 
10599 /([abc])++1234/I
10600 Capture group count = 1
10601 Starting code units: a b c 
10602 Last code unit = '4'
10603 Subject length lower bound = 5
10604 
10605 /(?<=(abc)+)X/
10606 Failed: error 125 at offset 0: lookbehind assertion is not fixed length
10607 
10608 /(^ab)/I
10609 Capture group count = 1
10610 Compile options: <none>
10611 Overall options: anchored
10612 First code unit = 'a'
10613 Subject length lower bound = 2
10614 
10615 /(^ab)++/I
10616 Capture group count = 1
10617 Compile options: <none>
10618 Overall options: anchored
10619 First code unit = 'a'
10620 Subject length lower bound = 2
10621 
10622 /(^ab|^)+/I
10623 Capture group count = 1
10624 May match empty string
10625 Compile options: <none>
10626 Overall options: anchored
10627 Subject length lower bound = 0
10628 
10629 /(^ab|^)++/I
10630 Capture group count = 1
10631 May match empty string
10632 Compile options: <none>
10633 Overall options: anchored
10634 Subject length lower bound = 0
10635 
10636 /(?:^ab)/I
10637 Capture group count = 0
10638 Compile options: <none>
10639 Overall options: anchored
10640 First code unit = 'a'
10641 Subject length lower bound = 2
10642 
10643 /(?:^ab)++/I
10644 Capture group count = 0
10645 Compile options: <none>
10646 Overall options: anchored
10647 First code unit = 'a'
10648 Subject length lower bound = 2
10649 
10650 /(?:^ab|^)+/I
10651 Capture group count = 0
10652 May match empty string
10653 Compile options: <none>
10654 Overall options: anchored
10655 Subject length lower bound = 0
10656 
10657 /(?:^ab|^)++/I
10658 Capture group count = 0
10659 May match empty string
10660 Compile options: <none>
10661 Overall options: anchored
10662 Subject length lower bound = 0
10663 
10664 /(.*ab)/I
10665 Capture group count = 1
10666 First code unit at start or follows newline
10667 Last code unit = 'b'
10668 Subject length lower bound = 2
10669 
10670 /(.*ab)++/I
10671 Capture group count = 1
10672 First code unit at start or follows newline
10673 Last code unit = 'b'
10674 Subject length lower bound = 2
10675 
10676 /(.*ab|.*)+/I
10677 Capture group count = 1
10678 May match empty string
10679 First code unit at start or follows newline
10680 Subject length lower bound = 0
10681 
10682 /(.*ab|.*)++/I
10683 Capture group count = 1
10684 May match empty string
10685 First code unit at start or follows newline
10686 Subject length lower bound = 0
10687 
10688 /(?:.*ab)/I
10689 Capture group count = 0
10690 First code unit at start or follows newline
10691 Last code unit = 'b'
10692 Subject length lower bound = 2
10693 
10694 /(?:.*ab)++/I
10695 Capture group count = 0
10696 First code unit at start or follows newline
10697 Last code unit = 'b'
10698 Subject length lower bound = 2
10699 
10700 /(?:.*ab|.*)+/I
10701 Capture group count = 0
10702 May match empty string
10703 First code unit at start or follows newline
10704 Subject length lower bound = 0
10705 
10706 /(?:.*ab|.*)++/I
10707 Capture group count = 0
10708 May match empty string
10709 First code unit at start or follows newline
10710 Subject length lower bound = 0
10711 
10712 /(?=a)[bcd]/I
10713 Capture group count = 0
10714 First code unit = 'a'
10715 Subject length lower bound = 1
10716 
10717 /((?=a))[bcd]/I
10718 Capture group count = 1
10719 First code unit = 'a'
10720 Subject length lower bound = 1
10721 
10722 /((?=a))+[bcd]/I
10723 Capture group count = 1
10724 First code unit = 'a'
10725 Subject length lower bound = 1
10726 
10727 /((?=a))++[bcd]/I
10728 Capture group count = 1
10729 First code unit = 'a'
10730 Subject length lower bound = 1
10731 
10732 /(?=a+)[bcd]/Ii
10733 Capture group count = 0
10734 Options: caseless
10735 First code unit = 'a' (caseless)
10736 Subject length lower bound = 1
10737 
10738 /(?=a+?)[bcd]/Ii
10739 Capture group count = 0
10740 Options: caseless
10741 First code unit = 'a' (caseless)
10742 Subject length lower bound = 1
10743 
10744 /(?=a++)[bcd]/Ii
10745 Capture group count = 0
10746 Options: caseless
10747 First code unit = 'a' (caseless)
10748 Subject length lower bound = 1
10749 
10750 /(?=a{3})[bcd]/Ii
10751 Capture group count = 0
10752 Options: caseless
10753 First code unit = 'a' (caseless)
10754 Last code unit = 'a' (caseless)
10755 Subject length lower bound = 2
10756 
10757 /(abc)\1+/
10758 
10759 # Perl doesn't get these right IMO (the 3rd is PCRE2-specific)
10760 
10761 /(?1)(?:(b(*ACCEPT))){0}/
10762     b
10763  0: b
10764 
10765 /(?1)(?:(b(*ACCEPT))){0}c/
10766     bc
10767  0: bc
10768 \= Expect no match
10769     b
10770 No match
10771 
10772 /(?1)(?:((*ACCEPT))){0}c/
10773     c
10774  0: c
10775     c\=notempty
10776  0: c
10777 
10778 /^.*?(?(?=a)a|b(*THEN)c)/
10779 \= Expect no match
10780     ba
10781 No match
10782 
10783 /^.*?(?(?=a)a|bc)/
10784     ba
10785  0: ba
10786 
10787 /^.*?(?(?=a)a(*THEN)b|c)/
10788 \= Expect no match
10789     ac
10790 No match
10791 
10792 /^.*?(?(?=a)a(*THEN)b)c/
10793 \= Expect no match
10794     ac
10795 No match
10796 
10797 /^.*?(a(*THEN)b)c/
10798 \= Expect no match
10799     aabc
10800 No match
10801 
10802 /^.*? (?1) c (?(DEFINE)(a(*THEN)b))/x
10803     aabc
10804  0: aabc
10805 
10806 /^.*?(a(*THEN)b|z)c/
10807     aabc
10808  0: aabc
10809  1: ab
10810 
10811 /^.*?(z|a(*THEN)b)c/
10812     aabc
10813  0: aabc
10814  1: ab
10815 
10816 # These are here because they are not Perl-compatible; the studying means the
10817 # mark is not seen.
10818 
10819 /(*MARK:A)(*SKIP:B)(C|X)/mark
10820     C
10821  0: C
10822  1: C
10823 MK: A
10824 \= Expect no match
10825     D
10826 No match, mark = A
10827 
10828 /(*:A)A+(*SKIP:A)(B|Z)/mark
10829 \= Expect no match
10830     AAAC
10831 No match, mark = A
10832 
10833 # ----------------------------
10834 
10835 "(?=a*(*ACCEPT)b)c"
10836     c
10837  0: c
10838     c\=notempty
10839  0: c
10840 
10841 /(?1)c(?(DEFINE)((*ACCEPT)b))/
10842     c
10843  0: c
10844     c\=notempty
10845  0: c
10846 
10847 /(?>(*ACCEPT)b)c/
10848     c
10849  0: 
10850 \= Expect no match
10851     c\=notempty
10852 No match
10853 
10854 /(?:(?>(a)))+a%/allaftertext
10855     %aa%
10856  0: aa%
10857  0+ 
10858  1: a
10859  1+ a%
10860 
10861 /(a)b|ac/allaftertext
10862     ac\=ovector=1
10863  0: ac
10864  0+ 
10865 
10866 /(a)(b)x|abc/allaftertext
10867      abc\=ovector=2
10868  0: abc
10869  0+ 
10870 
10871 /(a)bc|(a)(b)\2/
10872     abc\=ovector=1
10873 Matched, but too many substrings
10874  0: abc
10875     abc\=ovector=2
10876  0: abc
10877  1: a
10878     aba\=ovector=1
10879 Matched, but too many substrings
10880  0: aba
10881     aba\=ovector=2
10882 Matched, but too many substrings
10883  0: aba
10884  1: <unset>
10885     aba\=ovector=3
10886 Matched, but too many substrings
10887  0: aba
10888  1: <unset>
10889  2: a
10890     aba\=ovector=4
10891  0: aba
10892  1: <unset>
10893  2: a
10894  3: b
10895 
10896 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/I
10897 Capture group count = 2
10898 May match empty string
10899 Subject length lower bound = 0
10900 
10901 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/I
10902 Capture group count = 2
10903 Starting code units: a b 
10904 Subject length lower bound = 3
10905 
10906 /(a(?2)|b)(b(?1)|a)(?1)(?2)/I
10907 Capture group count = 2
10908 Starting code units: a b 
10909 Subject length lower bound = 4
10910 
10911 /(abc)(?1)/I
10912 Capture group count = 1
10913 First code unit = 'a'
10914 Last code unit = 'c'
10915 Subject length lower bound = 6
10916 
10917 /(?:(foo)|(bar)|(baz))X/allcaptures
10918     bazfooX
10919  0: fooX
10920  1: foo
10921  2: <unset>
10922  3: <unset>
10923     foobazbarX
10924  0: barX
10925  1: <unset>
10926  2: bar
10927  3: <unset>
10928     barfooX
10929  0: fooX
10930  1: foo
10931  2: <unset>
10932  3: <unset>
10933     bazX
10934  0: bazX
10935  1: <unset>
10936  2: <unset>
10937  3: baz
10938     foobarbazX
10939  0: bazX
10940  1: <unset>
10941  2: <unset>
10942  3: baz
10943     bazfooX\=ovector=0
10944  0: fooX
10945  1: foo
10946  2: <unset>
10947  3: <unset>
10948     bazfooX\=ovector=1
10949 Matched, but too many substrings
10950  0: fooX
10951     bazfooX\=ovector=2
10952  0: fooX
10953  1: foo
10954     bazfooX\=ovector=3
10955  0: fooX
10956  1: foo
10957  2: <unset>
10958 
10959 /(?=abc){3}abc/B
10960 ------------------------------------------------------------------
10961         Bra
10962         Assert
10963         abc
10964         Ket
10965         Assert
10966         abc
10967         Ket
10968         Assert
10969         abc
10970         Ket
10971         abc
10972         Ket
10973         End
10974 ------------------------------------------------------------------
10975 
10976 /(?=abc)+abc/B
10977 ------------------------------------------------------------------
10978         Bra
10979         Assert
10980         abc
10981         Ket
10982         Brazero
10983         Assert
10984         abc
10985         Ket
10986         abc
10987         Ket
10988         End
10989 ------------------------------------------------------------------
10990 
10991 /(?=abc)++abc/B
10992 ------------------------------------------------------------------
10993         Bra
10994         Once
10995         Assert
10996         abc
10997         Ket
10998         Brazero
10999         Assert
11000         abc
11001         Ket
11002         Ket
11003         abc
11004         Ket
11005         End
11006 ------------------------------------------------------------------
11007 
11008 /(?=abc){0}xyz/B
11009 ------------------------------------------------------------------
11010         Bra
11011         Skip zero
11012         Assert
11013         abc
11014         Ket
11015         xyz
11016         Ket
11017         End
11018 ------------------------------------------------------------------
11019 
11020 /(?=(a))?./B
11021 ------------------------------------------------------------------
11022         Bra
11023         Brazero
11024         Assert
11025         CBra 1
11026         a
11027         Ket
11028         Ket
11029         Any
11030         Ket
11031         End
11032 ------------------------------------------------------------------
11033 
11034 /(?=(a))??./B
11035 ------------------------------------------------------------------
11036         Bra
11037         Braminzero
11038         Assert
11039         CBra 1
11040         a
11041         Ket
11042         Ket
11043         Any
11044         Ket
11045         End
11046 ------------------------------------------------------------------
11047 
11048 /^(?=(a)){0}b(?1)/B
11049 ------------------------------------------------------------------
11050         Bra
11051         ^
11052         Skip zero
11053         Assert
11054         CBra 1
11055         a
11056         Ket
11057         Ket
11058         b
11059         Recurse
11060         Ket
11061         End
11062 ------------------------------------------------------------------
11063 
11064 /(?(DEFINE)(a))?b(?1)/B
11065 ------------------------------------------------------------------
11066         Bra
11067         Cond
11068         Cond false
11069         CBra 1
11070         a
11071         Ket
11072         Ket
11073         b
11074         Recurse
11075         Ket
11076         End
11077 ------------------------------------------------------------------
11078 
11079 /^(?=(?1))?[az]([abc])d/B
11080 ------------------------------------------------------------------
11081         Bra
11082         ^
11083         Brazero
11084         Assert
11085         Recurse
11086         Ket
11087         [az]
11088         CBra 1
11089         [a-c]
11090         Ket
11091         d
11092         Ket
11093         End
11094 ------------------------------------------------------------------
11095 
11096 /^(?!a){0}\w+/B
11097 ------------------------------------------------------------------
11098         Bra
11099         ^
11100         Skip zero
11101         Assert not
11102         a
11103         Ket
11104         \w++
11105         Ket
11106         End
11107 ------------------------------------------------------------------
11108 
11109 /(?<=(abc))?xyz/B
11110 ------------------------------------------------------------------
11111         Bra
11112         Brazero
11113         Assert back
11114         Reverse
11115         CBra 1
11116         abc
11117         Ket
11118         Ket
11119         xyz
11120         Ket
11121         End
11122 ------------------------------------------------------------------
11123 
11124 /[:a[:abc]b:]/B
11125 ------------------------------------------------------------------
11126         Bra
11127         [:[a-c]
11128         b:]
11129         Ket
11130         End
11131 ------------------------------------------------------------------
11132 
11133 /^(a(*:A)(d|e(*:B))z|aeq)/auto_callout
11134     adz
11135 --->adz
11136  +0 ^       ^
11137  +1 ^       (
11138  +2 ^       a
11139  +3 ^^      (*:A)
11140  +8 ^^      (
11141 Latest Mark: A
11142  +9 ^^      d
11143 +10 ^ ^     |
11144 +18 ^ ^     z
11145 +19 ^  ^    |
11146 +24 ^  ^    End of pattern
11147  0: adz
11148  1: adz
11149  2: d
11150     aez
11151 --->aez
11152  +0 ^       ^
11153  +1 ^       (
11154  +2 ^       a
11155  +3 ^^      (*:A)
11156  +8 ^^      (
11157 Latest Mark: A
11158  +9 ^^      d
11159 +11 ^^      e
11160 +12 ^ ^     (*:B)
11161 +17 ^ ^     )
11162 Latest Mark: B
11163 +18 ^ ^     z
11164 +19 ^  ^    |
11165 +24 ^  ^    End of pattern
11166  0: aez
11167  1: aez
11168  2: e
11169     aeqwerty
11170 --->aeqwerty
11171  +0 ^            ^
11172  +1 ^            (
11173  +2 ^            a
11174  +3 ^^           (*:A)
11175  +8 ^^           (
11176 Latest Mark: A
11177  +9 ^^           d
11178 +11 ^^           e
11179 +12 ^ ^          (*:B)
11180 +17 ^ ^          )
11181 Latest Mark: B
11182 +18 ^ ^          z
11183 +20 ^            a
11184 +21 ^^           e
11185 +22 ^ ^          q
11186 +23 ^  ^         )
11187 +24 ^  ^         End of pattern
11188  0: aeq
11189  1: aeq
11190 
11191 /.(*F)/
11192 \= Expect no match
11193     abc\=ph
11194 No match
11195 
11196 /\btype\b\W*?\btext\b\W*?\bjavascript\b/I
11197 Capture group count = 0
11198 Max lookbehind = 1
11199 First code unit = 't'
11200 Last code unit = 't'
11201 Subject length lower bound = 18
11202 
11203 /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/I
11204 Capture group count = 0
11205 Max lookbehind = 1
11206 Starting code units: < o t u 
11207 Subject length lower bound = 8
11208 
11209 /a(*SKIP)c|b(*ACCEPT)|/I,aftertext
11210 Capture group count = 0
11211 May match empty string
11212 Subject length lower bound = 0
11213     a
11214  0: 
11215  0+ 
11216 
11217 /a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/I
11218 Capture group count = 0
11219 Starting code units: a b x 
11220 Subject length lower bound = 1
11221     ax
11222  0: x
11223 
11224 'a*(*ACCEPT)b'aftertext
11225     abc\=notempty_atstart
11226  0: a
11227  0+ bc
11228     bbb\=notempty_atstart
11229  0: 
11230  0+ bb
11231 \= Expect no match
11232     \=notempty_atstart
11233 No match
11234 
11235 /(*ACCEPT)a/I,aftertext
11236 Capture group count = 0
11237 May match empty string
11238 Subject length lower bound = 0
11239     bax
11240  0: 
11241  0+ bax
11242 
11243 /z(*ACCEPT)a/I,aftertext
11244 Capture group count = 0
11245 First code unit = 'z'
11246 Subject length lower bound = 1
11247     baxzbx
11248  0: z
11249  0+ bx
11250 
11251 /^(?>a+)(?>(z+))\w/B
11252 ------------------------------------------------------------------
11253         Bra
11254         ^
11255         Once
11256         a++
11257         Ket
11258         Once
11259         CBra 1
11260         z++
11261         Ket
11262         Ket
11263         \w
11264         Ket
11265         End
11266 ------------------------------------------------------------------
11267     aaaazzzzb
11268  0: aaaazzzzb
11269  1: zzzz
11270 \= Expect no match
11271     aazz
11272 No match
11273 
11274 /(.)(\1|a(?2))/
11275     bab
11276  0: bab
11277  1: b
11278  2: ab
11279 
11280 /\1|(.)(?R)\1/
11281     cbbbc
11282  0: cbbbc
11283  1: c
11284 
11285 /(.)((?(1)c|a)|a(?2))/
11286 \= Expect no match
11287     baa
11288 No match
11289 
11290 /(?P<abn>(?P=abn)xxx)/B
11291 ------------------------------------------------------------------
11292         Bra
11293         CBra 1
11294         \1
11295         xxx
11296         Ket
11297         Ket
11298         End
11299 ------------------------------------------------------------------
11300 
11301 /(a\1z)/B
11302 ------------------------------------------------------------------
11303         Bra
11304         CBra 1
11305         a
11306         \1
11307         z
11308         Ket
11309         Ket
11310         End
11311 ------------------------------------------------------------------
11312 
11313 /^a\x41z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
11314     aAz
11315  0: aAz
11316 \= Expect no match
11317     ax41z
11318 No match
11319 
11320 /^a[m\x41]z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
11321     aAz
11322  0: aAz
11323 
11324 /^a\x1z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
11325     ax1z
11326  0: ax1z
11327 
11328 /^a\u0041z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
11329     aAz
11330  0: aAz
11331 \= Expect no match
11332     au0041z
11333 No match
11334 
11335 /^a[m\u0041]z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
11336     aAz
11337  0: aAz
11338 
11339 /^a\u041z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
11340     au041z
11341  0: au041z
11342 \= Expect no match
11343     aAz
11344 No match
11345 
11346 /^a\U0041z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
11347     aU0041z
11348  0: aU0041z
11349 \= Expect no match
11350     aAz
11351 No match
11352     
11353 /^\u{7a}/alt_bsux
11354     u{7a}
11355  0: u{7a}
11356 \= Expect no match
11357     zoo 
11358 No match
11359 
11360 /^\u{7a}/extra_alt_bsux
11361     zoo 
11362  0: z
11363 
11364 /(?(?=c)c|d)++Y/B
11365 ------------------------------------------------------------------
11366         Bra
11367         BraPos
11368         Cond
11369         Assert
11370         c
11371         Ket
11372         c
11373         Alt
11374         d
11375         Ket
11376         KetRpos
11377         Y
11378         Ket
11379         End
11380 ------------------------------------------------------------------
11381 
11382 /(?(?=c)c|d)*+Y/B
11383 ------------------------------------------------------------------
11384         Bra
11385         Braposzero
11386         BraPos
11387         Cond
11388         Assert
11389         c
11390         Ket
11391         c
11392         Alt
11393         d
11394         Ket
11395         KetRpos
11396         Y
11397         Ket
11398         End
11399 ------------------------------------------------------------------
11400 
11401 /a[\NB]c/
11402 Failed: error 171 at offset 4: \N is not supported in a class
11403     aNc
11404 
11405 /a[B-\Nc]/
11406 Failed: error 150 at offset 6: invalid range in character class
11407 
11408 /a[B\Nc]/
11409 Failed: error 171 at offset 5: \N is not supported in a class
11410 
11411 /(a)(?2){0,1999}?(b)/
11412 
11413 /(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
11414 
11415 # This test, with something more complicated than individual letters, causes
11416 # different behaviour in Perl. Perhaps it disables some optimization; no tag is
11417 # passed back for the failures, whereas in PCRE2 there is a tag.
11418 
11419 /(A|P)(*:A)(B|P) | (X|P)(X|P)(*:B)(Y|P)/x,mark
11420     AABC
11421  0: AB
11422  1: A
11423  2: B
11424 MK: A
11425     XXYZ
11426  0: XXY
11427  1: <unset>
11428  2: <unset>
11429  3: X
11430  4: X
11431  5: Y
11432 MK: B
11433 \= Expect no match
11434     XAQQ
11435 No match, mark = A
11436     XAQQXZZ
11437 No match, mark = A
11438     AXQQQ
11439 No match, mark = A
11440     AXXQQQ
11441 No match, mark = B
11442 
11443 # Perl doesn't give marks for these, though it does if the alternatives are
11444 # replaced by single letters.
11445 
11446 /(b|q)(*:m)f|a(*:n)w/mark
11447     aw
11448  0: aw
11449 MK: n
11450 \= Expect no match
11451     abc
11452 No match, mark = m
11453 
11454 /(q|b)(*:m)f|a(*:n)w/mark
11455     aw
11456  0: aw
11457 MK: n
11458 \= Expect no match
11459     abc
11460 No match, mark = m
11461 
11462 # After a partial match, the behaviour is as for a failure.
11463 
11464 /^a(*:X)bcde/mark
11465    abc\=ps
11466 Partial match, mark=X: abc
11467 
11468 # These are here because Perl doesn't return a mark, except for the first.
11469 
11470 /(?=(*:x))(q|)/aftertext,mark
11471     abc
11472  0: 
11473  0+ abc
11474  1: 
11475 MK: x
11476 
11477 /(?=(*:x))((*:y)q|)/aftertext,mark
11478     abc
11479  0: 
11480  0+ abc
11481  1: 
11482 MK: x
11483 
11484 /(?=(*:x))(?:(*:y)q|)/aftertext,mark
11485     abc
11486  0: 
11487  0+ abc
11488 MK: x
11489 
11490 /(?=(*:x))(?>(*:y)q|)/aftertext,mark
11491     abc
11492  0: 
11493  0+ abc
11494 MK: x
11495 
11496 /(?=a(*:x))(?!a(*:y)c)/aftertext,mark
11497     ab
11498  0: 
11499  0+ ab
11500 MK: x
11501 
11502 /(?=a(*:x))(?=a(*:y)c|)/aftertext,mark
11503     ab
11504  0: 
11505  0+ ab
11506 MK: x
11507 
11508 /(..)\1/
11509     ab\=ps
11510 Partial match: ab
11511     aba\=ps
11512 Partial match: aba
11513     abab\=ps
11514  0: abab
11515  1: ab
11516 
11517 /(..)\1/i
11518     ab\=ps
11519 Partial match: ab
11520     abA\=ps
11521 Partial match: abA
11522     aBAb\=ps
11523  0: aBAb
11524  1: aB
11525 
11526 /(..)\1{2,}/
11527     ab\=ps
11528 Partial match: ab
11529     aba\=ps
11530 Partial match: aba
11531     abab\=ps
11532 Partial match: abab
11533     ababa\=ps
11534 Partial match: ababa
11535     ababab\=ps
11536  0: ababab
11537  1: ab
11538     ababab\=ph
11539 Partial match: ababab
11540     abababa\=ps
11541  0: ababab
11542  1: ab
11543     abababa\=ph
11544 Partial match: abababa
11545 
11546 /(..)\1{2,}/i
11547     ab\=ps
11548 Partial match: ab
11549     aBa\=ps
11550 Partial match: aBa
11551     aBAb\=ps
11552 Partial match: aBAb
11553     AbaBA\=ps
11554 Partial match: AbaBA
11555     abABAb\=ps
11556  0: abABAb
11557  1: ab
11558     aBAbaB\=ph
11559 Partial match: aBAbaB
11560     abABabA\=ps
11561  0: abABab
11562  1: ab
11563     abaBABa\=ph
11564 Partial match: abaBABa
11565 
11566 /(..)\1{2,}?x/i
11567     ab\=ps
11568 Partial match: ab
11569     abA\=ps
11570 Partial match: abA
11571     aBAb\=ps
11572 Partial match: aBAb
11573     abaBA\=ps
11574 Partial match: abaBA
11575     abAbaB\=ps
11576 Partial match: abAbaB
11577     abaBabA\=ps
11578 Partial match: abaBabA
11579     abAbABaBx\=ps
11580  0: abAbABaBx
11581  1: ab
11582 
11583 /^(..)\1/
11584     aba\=ps
11585 Partial match: aba
11586 
11587 /^(..)\1{2,3}x/
11588     aba\=ps
11589 Partial match: aba
11590     ababa\=ps
11591 Partial match: ababa
11592     ababa\=ph
11593 Partial match: ababa
11594     abababx
11595  0: abababx
11596  1: ab
11597     ababababx
11598  0: ababababx
11599  1: ab
11600 
11601 /^(..)\1{2,3}?x/
11602     aba\=ps
11603 Partial match: aba
11604     ababa\=ps
11605 Partial match: ababa
11606     ababa\=ph
11607 Partial match: ababa
11608     abababx
11609  0: abababx
11610  1: ab
11611     ababababx
11612  0: ababababx
11613  1: ab
11614 
11615 /^(..)(\1{2,3})ab/
11616     abababab
11617  0: abababab
11618  1: ab
11619  2: abab
11620 
11621 /^\R/
11622     \r\=ps
11623  0: \x0d
11624     \r\=ph
11625 Partial match: \x0d
11626 
11627 /^\R{2,3}x/
11628     \r\=ps
11629 Partial match: \x0d
11630     \r\=ph
11631 Partial match: \x0d
11632     \r\r\=ps
11633 Partial match: \x0d\x0d
11634     \r\r\=ph
11635 Partial match: \x0d\x0d
11636     \r\r\r\=ps
11637 Partial match: \x0d\x0d\x0d
11638     \r\r\r\=ph
11639 Partial match: \x0d\x0d\x0d
11640     \r\rx
11641  0: \x0d\x0dx
11642     \r\r\rx
11643  0: \x0d\x0d\x0dx
11644 
11645 /^\R{2,3}?x/
11646     \r\=ps
11647 Partial match: \x0d
11648     \r\=ph
11649 Partial match: \x0d
11650     \r\r\=ps
11651 Partial match: \x0d\x0d
11652     \r\r\=ph
11653 Partial match: \x0d\x0d
11654     \r\r\r\=ps
11655 Partial match: \x0d\x0d\x0d
11656     \r\r\r\=ph
11657 Partial match: \x0d\x0d\x0d
11658     \r\rx
11659  0: \x0d\x0dx
11660     \r\r\rx
11661  0: \x0d\x0d\x0dx
11662 
11663 /^\R?x/
11664     \r\=ps
11665 Partial match: \x0d
11666     \r\=ph
11667 Partial match: \x0d
11668     x
11669  0: x
11670     \rx
11671  0: \x0dx
11672 
11673 /^\R+x/
11674     \r\=ps
11675 Partial match: \x0d
11676     \r\=ph
11677 Partial match: \x0d
11678     \r\n\=ps
11679 Partial match: \x0d\x0a
11680     \r\n\=ph
11681 Partial match: \x0d\x0a
11682     \rx
11683  0: \x0dx
11684 
11685 /^a$/newline=crlf
11686     a\r\=ps
11687 Partial match: a\x0d
11688     a\r\=ph
11689 Partial match: a\x0d
11690 
11691 /^a$/m,newline=crlf
11692     a\r\=ps
11693 Partial match: a\x0d
11694     a\r\=ph
11695 Partial match: a\x0d
11696 
11697 /^(a$|a\r)/newline=crlf
11698     a\r\=ps
11699  0: a\x0d
11700  1: a\x0d
11701     a\r\=ph
11702 Partial match: a\x0d
11703 
11704 /^(a$|a\r)/m,newline=crlf
11705     a\r\=ps
11706  0: a\x0d
11707  1: a\x0d
11708     a\r\=ph
11709 Partial match: a\x0d
11710 
11711 /./newline=crlf
11712     \r\=ps
11713  0: \x0d
11714     \r\=ph
11715 Partial match: \x0d
11716 
11717 /.{2,3}/newline=crlf
11718     \r\=ps
11719 Partial match: \x0d
11720     \r\=ph
11721 Partial match: \x0d
11722     \r\r\=ps
11723  0: \x0d\x0d
11724     \r\r\=ph
11725 Partial match: \x0d\x0d
11726     \r\r\r\=ps
11727  0: \x0d\x0d\x0d
11728     \r\r\r\=ph
11729 Partial match: \x0d\x0d\x0d
11730 
11731 /.{2,3}?/newline=crlf
11732     \r\=ps
11733 Partial match: \x0d
11734     \r\=ph
11735 Partial match: \x0d
11736     \r\r\=ps
11737  0: \x0d\x0d
11738     \r\r\=ph
11739 Partial match: \x0d\x0d
11740     \r\r\r\=ps
11741  0: \x0d\x0d
11742     \r\r\r\=ph
11743  0: \x0d\x0d
11744 
11745 "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
11746     ABCDGHI\=ovector=01
11747 Matched, but too many substrings
11748  0: ABCD
11749 
11750 # These are all run as real matches in test 1; here we are just checking the
11751 # settings of the anchored and startline bits.
11752 
11753 /(?>.*?a)(?<=ba)/I
11754 Capture group count = 0
11755 Max lookbehind = 2
11756 Last code unit = 'a'
11757 Subject length lower bound = 1
11758 
11759 /(?:.*?a)(?<=ba)/I
11760 Capture group count = 0
11761 Max lookbehind = 2
11762 First code unit at start or follows newline
11763 Last code unit = 'a'
11764 Subject length lower bound = 1
11765 
11766 /.*?a(*PRUNE)b/I
11767 Capture group count = 0
11768 Last code unit = 'b'
11769 Subject length lower bound = 2
11770 
11771 /.*?a(*PRUNE)b/Is
11772 Capture group count = 0
11773 Options: dotall
11774 Last code unit = 'b'
11775 Subject length lower bound = 2
11776 
11777 /^a(*PRUNE)b/Is
11778 Capture group count = 0
11779 Compile options: dotall
11780 Overall options: anchored dotall
11781 First code unit = 'a'
11782 Subject length lower bound = 2
11783 
11784 /.*?a(*SKIP)b/I
11785 Capture group count = 0
11786 Last code unit = 'b'
11787 Subject length lower bound = 2
11788 
11789 /(?>.*?a)b/Is
11790 Capture group count = 0
11791 Options: dotall
11792 Last code unit = 'b'
11793 Subject length lower bound = 2
11794 
11795 /(?>.*?a)b/I
11796 Capture group count = 0
11797 Last code unit = 'b'
11798 Subject length lower bound = 2
11799 
11800 /(?>^a)b/Is
11801 Capture group count = 0
11802 Compile options: dotall
11803 Overall options: anchored dotall
11804 First code unit = 'a'
11805 Subject length lower bound = 2
11806 
11807 /(?>.*?)(?<=(abcd)|(wxyz))/I
11808 Capture group count = 2
11809 Max lookbehind = 4
11810 May match empty string
11811 Subject length lower bound = 0
11812 
11813 /(?>.*)(?<=(abcd)|(wxyz))/I
11814 Capture group count = 2
11815 Max lookbehind = 4
11816 May match empty string
11817 Subject length lower bound = 0
11818 
11819 "(?>.*)foo"I
11820 Capture group count = 0
11821 Last code unit = 'o'
11822 Subject length lower bound = 3
11823 
11824 "(?>.*?)foo"I
11825 Capture group count = 0
11826 Last code unit = 'o'
11827 Subject length lower bound = 3
11828 
11829 /(?>^abc)/Im
11830 Capture group count = 0
11831 Options: multiline
11832 First code unit at start or follows newline
11833 Last code unit = 'c'
11834 Subject length lower bound = 3
11835 
11836 /(?>.*abc)/Im
11837 Capture group count = 0
11838 Options: multiline
11839 Last code unit = 'c'
11840 Subject length lower bound = 3
11841 
11842 /(?:.*abc)/Im
11843 Capture group count = 0
11844 Options: multiline
11845 First code unit at start or follows newline
11846 Last code unit = 'c'
11847 Subject length lower bound = 3
11848 
11849 /(?:(a)+(?C1)bb|aa(?C2)b)/
11850     aab\=callout_capture
11851 Callout 1: last capture = 1
11852  1: a
11853 --->aab
11854     ^ ^     b
11855 Callout 1: last capture = 1
11856  1: a
11857 --->aab
11858     ^^      b
11859 Callout 2: last capture = 0
11860 --->aab
11861     ^ ^     b
11862  0: aab
11863 
11864 /(?:(a)++(?C1)bb|aa(?C2)b)/
11865     aab\=callout_capture
11866 Callout 1: last capture = 1
11867  1: a
11868 --->aab
11869     ^ ^     b
11870 Callout 2: last capture = 0
11871 --->aab
11872     ^ ^     b
11873  0: aab
11874 
11875 /(?:(?>(a))(?C1)bb|aa(?C2)b)/
11876     aab\=callout_capture
11877 Callout 1: last capture = 1
11878  1: a
11879 --->aab
11880     ^^      b
11881 Callout 2: last capture = 0
11882 --->aab
11883     ^ ^     b
11884  0: aab
11885 
11886 /(?:(?1)(?C1)x|ab(?C2))((a)){0}/
11887     aab\=callout_capture
11888 Callout 1: last capture = 0
11889 --->aab
11890     ^^      x
11891 Callout 1: last capture = 0
11892 --->aab
11893      ^^     x
11894 Callout 2: last capture = 0
11895 --->aab
11896      ^ ^    )
11897  0: ab
11898 
11899 /(?1)(?C1)((a)(?C2)){0}/
11900     aab\=callout_capture
11901 Callout 2: last capture = 2
11902  1: <unset>
11903  2: a
11904 --->aab
11905     ^^      ){0}
11906 Callout 1: last capture = 0
11907 --->aab
11908     ^^      (
11909  0: a
11910 
11911 /(?:(a)+(?C1)bb|aa(?C2)b)++/
11912     aab\=callout_capture
11913 Callout 1: last capture = 1
11914  1: a
11915 --->aab
11916     ^ ^     b
11917 Callout 1: last capture = 1
11918  1: a
11919 --->aab
11920     ^^      b
11921 Callout 2: last capture = 0
11922 --->aab
11923     ^ ^     b
11924  0: aab
11925     aab\=callout_capture,ovector=1
11926 Callout 1: last capture = 1
11927  1: a
11928 --->aab
11929     ^ ^     b
11930 Callout 1: last capture = 1
11931  1: a
11932 --->aab
11933     ^^      b
11934 Callout 2: last capture = 0
11935 --->aab
11936     ^ ^     b
11937  0: aab
11938 
11939 /(ab)x|ab/
11940     ab\=ovector=0
11941  0: ab
11942     ab\=ovector=1
11943  0: ab
11944 
11945 /(?<=123)(*MARK:xx)abc/mark
11946     xxxx123a\=ph
11947 Partial match, mark=xx: a
11948     xxxx123a\=ps
11949 Partial match, mark=xx: a
11950 
11951 /123\Kabc/startchar
11952     xxxx123a\=ph
11953 Partial match: 123a
11954     xxxx123a\=ps
11955 Partial match: 123a
11956 
11957 /^(?(?=a)aa|bb)/auto_callout
11958     bb
11959 --->bb
11960  +0 ^      ^
11961  +1 ^      (?
11962  +3 ^      (?=
11963  +6 ^      a
11964 +11 ^      b
11965 +12 ^^     b
11966 +13 ^ ^    )
11967 +14 ^ ^    End of pattern
11968  0: bb
11969 
11970 /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
11971     bb
11972 --->bb
11973   1 ^      ^
11974   2 ^      (?
11975  99 ^      (?=
11976   3 ^      a
11977   8 ^      b
11978   9 ^^     b
11979  10 ^ ^    )
11980  11 ^ ^    End of pattern
11981  0: bb
11982 
11983 # Perl seems to have a bug with this one.
11984 
11985 /aaaaa(*COMMIT)(*PRUNE)b|a+c/
11986     aaaaaac
11987  0: aaaac
11988 
11989 # Here are some that Perl treats differently because of the way it handles
11990 # backtracking verbs.
11991 
11992 /(?!a(*COMMIT)b)ac|ad/
11993      ac
11994  0: ac
11995      ad
11996  0: ad
11997 
11998 /^(?!a(*THEN)b|ac)../
11999      ad
12000  0: ad
12001 \= Expect no match
12002      ac
12003 No match
12004 
12005 /^(?=a(*THEN)b|ac)/
12006     ac
12007  0: 
12008 
12009 /\A.*?(?:a|b(*THEN)c)/
12010     ba
12011  0: ba
12012 
12013 /\A.*?(?:a|b(*THEN)c)++/
12014     ba
12015  0: ba
12016 
12017 /\A.*?(?:a|b(*THEN)c|d)/
12018     ba
12019  0: ba
12020 
12021 /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
12022     aac
12023  0: aac
12024 
12025 /\A.*?(a|b(*THEN)c)/
12026     ba
12027  0: ba
12028  1: a
12029 
12030 /^(A(*THEN)B|A(*THEN)D)/
12031     AD
12032  0: AD
12033  1: AD
12034 
12035 /(?!b(*THEN)a)bn|bnn/
12036     bnn
12037  0: bn
12038 
12039 /(?(?=b(*SKIP)a)bn|bnn)/
12040     bnn
12041  0: bnn
12042 
12043 /(?=b(*THEN)a|)bn|bnn/
12044     bnn
12045  0: bn
12046 
12047 # This test causes a segfault with Perl 5.18.0
12048 
12049 /^(?=(a)){0}b(?1)/
12050     backgammon
12051  0: ba
12052 
12053 /(?|(?<n>f)|(?<n>b))/I,dupnames
12054 Capture group count = 1
12055 Named capture groups:
12056   n   1
12057 Options: dupnames
12058 Starting code units: b f 
12059 Subject length lower bound = 1
12060 
12061 /(?<a>abc)(?<a>z)\k<a>()/IB,dupnames
12062 ------------------------------------------------------------------
12063         Bra
12064         CBra 1
12065         abc
12066         Ket
12067         CBra 2
12068         z
12069         Ket
12070         \k<a>2
12071         CBra 3
12072         Ket
12073         Ket
12074         End
12075 ------------------------------------------------------------------
12076 Capture group count = 3
12077 Max back reference = 2
12078 Named capture groups:
12079   a   1
12080   a   2
12081 Options: dupnames
12082 First code unit = 'a'
12083 Last code unit = 'z'
12084 Subject length lower bound = 5
12085 
12086 /a*[bcd]/B
12087 ------------------------------------------------------------------
12088         Bra
12089         a*+
12090         [b-d]
12091         Ket
12092         End
12093 ------------------------------------------------------------------
12094 
12095 /[bcd]*a/B
12096 ------------------------------------------------------------------
12097         Bra
12098         [b-d]*+
12099         a
12100         Ket
12101         End
12102 ------------------------------------------------------------------
12103 
12104 # A complete set of tests for auto-possessification of character types, but
12105 # omitting \C because it might be disabled (it has its own tests).
12106 
12107 /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/Bx
12108 ------------------------------------------------------------------
12109         Bra
12110         \D+
12111         \D
12112         \D++
12113         \d
12114         \D+
12115         \S
12116         \D+
12117         \s
12118         \D+
12119         \W
12120         \D+
12121         \w
12122         \D+
12123         Any
12124         \D+
12125         \R
12126         \D+
12127         \H
12128         \D+
12129         \h
12130         \D+
12131         \V
12132         \D+
12133         \v
12134         \D+
12135         \Z
12136         \D++
12137         \z
12138         \D+
12139         $
12140         Ket
12141         End
12142 ------------------------------------------------------------------
12143 
12144 /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/Bx
12145 ------------------------------------------------------------------
12146         Bra
12147         \d++
12148         \D
12149         \d+
12150         \d
12151         \d+
12152         \S
12153         \d++
12154         \s
12155         \d++
12156         \W
12157         \d+
12158         \w
12159         \d+
12160         Any
12161         \d++
12162         \R
12163         \d+
12164         \H
12165         \d++
12166         \h
12167         \d+
12168         \V
12169         \d++
12170         \v
12171         \d++
12172         \Z
12173         \d++
12174         \z
12175         \d++
12176         $
12177         Ket
12178         End
12179 ------------------------------------------------------------------
12180 
12181 /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/Bx
12182 ------------------------------------------------------------------
12183         Bra
12184         \S+
12185         \D
12186         \S+
12187         \d
12188         \S+
12189         \S
12190         \S++
12191         \s
12192         \S+
12193         \W
12194         \S+
12195         \w
12196         \S+
12197         Any
12198         \S++
12199         \R
12200         \S+
12201         \H
12202         \S++
12203         \h
12204         \S+
12205         \V
12206         \S++
12207         \v
12208         \S++
12209         \Z
12210         \S++
12211         \z
12212         \S++
12213         $
12214         Ket
12215         End
12216 ------------------------------------------------------------------
12217 
12218 /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/Bx
12219 ------------------------------------------------------------------
12220         Bra
12221         \s+
12222         \D
12223         \s++
12224         \d
12225         \s++
12226         \S
12227         \s+
12228         \s
12229         \s+
12230         \W
12231         \s++
12232         \w
12233         \s+
12234         Any
12235         \s+
12236         \R
12237         \s+
12238         \H
12239         \s+
12240         \h
12241         \s+
12242         \V
12243         \s+
12244         \v
12245         \s+
12246         \Z
12247         \s++
12248         \z
12249         \s+
12250         $
12251         Ket
12252         End
12253 ------------------------------------------------------------------
12254 
12255 /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/Bx
12256 ------------------------------------------------------------------
12257         Bra
12258         \W+
12259         \D
12260         \W++
12261         \d
12262         \W+
12263         \S
12264         \W+
12265         \s
12266         \W+
12267         \W
12268         \W++
12269         \w
12270         \W+
12271         Any
12272         \W+
12273         \R
12274         \W+
12275         \H
12276         \W+
12277         \h
12278         \W+
12279         \V
12280         \W+
12281         \v
12282         \W+
12283         \Z
12284         \W++
12285         \z
12286         \W+
12287         $
12288         Ket
12289         End
12290 ------------------------------------------------------------------
12291 
12292 /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/Bx
12293 ------------------------------------------------------------------
12294         Bra
12295         \w+
12296         \D
12297         \w+
12298         \d
12299         \w+
12300         \S
12301         \w++
12302         \s
12303         \w++
12304         \W
12305         \w+
12306         \w
12307         \w+
12308         Any
12309         \w++
12310         \R
12311         \w+
12312         \H
12313         \w++
12314         \h
12315         \w+
12316         \V
12317         \w++
12318         \v
12319         \w++
12320         \Z
12321         \w++
12322         \z
12323         \w++
12324         $
12325         Ket
12326         End
12327 ------------------------------------------------------------------
12328 
12329 /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/Bx
12330 ------------------------------------------------------------------
12331         Bra
12332         \R+
12333         \D
12334         \R++
12335         \d
12336         \R+
12337         \S
12338         \R++
12339         \s
12340         \R+
12341         \W
12342         \R++
12343         \w
12344         \R++
12345         Any
12346         \R+
12347         \R
12348         \R+
12349         \H
12350         \R++
12351         \h
12352         \R+
12353         \V
12354         \R+
12355         \v
12356         \R+
12357         \Z
12358         \R++
12359         \z
12360         \R+
12361         $
12362         Ket
12363         End
12364 ------------------------------------------------------------------
12365 
12366 /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/Bx
12367 ------------------------------------------------------------------
12368         Bra
12369         \H+
12370         \D
12371         \H+
12372         \d
12373         \H+
12374         \S
12375         \H+
12376         \s
12377         \H+
12378         \W
12379         \H+
12380         \w
12381         \H+
12382         Any
12383         \H+
12384         \R
12385         \H+
12386         \H
12387         \H++
12388         \h
12389         \H+
12390         \V
12391         \H+
12392         \v
12393         \H+
12394         \Z
12395         \H++
12396         \z
12397         \H+
12398         $
12399         Ket
12400         End
12401 ------------------------------------------------------------------
12402 
12403 /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/Bx
12404 ------------------------------------------------------------------
12405         Bra
12406         \h+
12407         \D
12408         \h++
12409         \d
12410         \h++
12411         \S
12412         \h+
12413         \s
12414         \h+
12415         \W
12416         \h++
12417         \w
12418         \h+
12419         Any
12420         \h++
12421         \R
12422         \h++
12423         \H
12424         \h+
12425         \h
12426         \h+
12427         \V
12428         \h++
12429         \v
12430         \h+
12431         \Z
12432         \h++
12433         \z
12434         \h+
12435         $
12436         Ket
12437         End
12438 ------------------------------------------------------------------
12439 
12440 /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/Bx
12441 ------------------------------------------------------------------
12442         Bra
12443         \V+
12444         \D
12445         \V+
12446         \d
12447         \V+
12448         \S
12449         \V+
12450         \s
12451         \V+
12452         \W
12453         \V+
12454         \w
12455         \V+
12456         Any
12457         \V++
12458         \R
12459         \V+
12460         \H
12461         \V+
12462         \h
12463         \V+
12464         \V
12465         \V++
12466         \v
12467         \V+
12468         \Z
12469         \V++
12470         \z
12471         \V+
12472         $
12473         Ket
12474         End
12475 ------------------------------------------------------------------
12476 
12477 /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/Bx
12478 ------------------------------------------------------------------
12479         Bra
12480         \v+
12481         \D
12482         \v++
12483         \d
12484         \v++
12485         \S
12486         \v+
12487         \s
12488         \v+
12489         \W
12490         \v++
12491         \w
12492         \v+
12493         Any
12494         \v+
12495         \R
12496         \v+
12497         \H
12498         \v++
12499         \h
12500         \v++
12501         \V
12502         \v+
12503         \v
12504         \v+
12505         \Z
12506         \v++
12507         \z
12508         \v+
12509         $
12510         Ket
12511         End
12512 ------------------------------------------------------------------
12513 
12514 / a+\D  a+\d  a+\S  a+\s  a+\W  a+\w  a+.  a+\R  a+\H  a+\h  a+\V  a+\v  a+\Z  a+\z  a+$/Bx
12515 ------------------------------------------------------------------
12516         Bra
12517         a+
12518         \D
12519         a++
12520         \d
12521         a+
12522         \S
12523         a++
12524         \s
12525         a++
12526         \W
12527         a+
12528         \w
12529         a+
12530         Any
12531         a++
12532         \R
12533         a+
12534         \H
12535         a++
12536         \h
12537         a+
12538         \V
12539         a++
12540         \v
12541         a++
12542         \Z
12543         a++
12544         \z
12545         a++
12546         $
12547         Ket
12548         End
12549 ------------------------------------------------------------------
12550 
12551 /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/Bx
12552 ------------------------------------------------------------------
12553         Bra
12554         \x0a+
12555         \D
12556         \x0a++
12557         \d
12558         \x0a++
12559         \S
12560         \x0a+
12561         \s
12562         \x0a+
12563         \W
12564         \x0a++
12565         \w
12566         \x0a+
12567         Any
12568         \x0a+
12569         \R
12570         \x0a+
12571         \H
12572         \x0a++
12573         \h
12574         \x0a++
12575         \V
12576         \x0a+
12577         \v
12578         \x0a+
12579         \Z
12580         \x0a++
12581         \z
12582         \x0a+
12583         $
12584         Ket
12585         End
12586 ------------------------------------------------------------------
12587 
12588 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/Bx
12589 ------------------------------------------------------------------
12590         Bra
12591         Any+
12592         \D
12593         Any+
12594         \d
12595         Any+
12596         \S
12597         Any+
12598         \s
12599         Any+
12600         \W
12601         Any+
12602         \w
12603         Any+
12604         Any
12605         Any++
12606         \R
12607         Any+
12608         \H
12609         Any+
12610         \h
12611         Any+
12612         \V
12613         Any+
12614         \v
12615         Any+
12616         \Z
12617         Any++
12618         \z
12619         Any+
12620         $
12621         Ket
12622         End
12623 ------------------------------------------------------------------
12624 
12625 / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/Bsx
12626 ------------------------------------------------------------------
12627         Bra
12628         AllAny+
12629         \D
12630         AllAny+
12631         \d
12632         AllAny+
12633         \S
12634         AllAny+
12635         \s
12636         AllAny+
12637         \W
12638         AllAny+
12639         \w
12640         AllAny+
12641         AllAny
12642         AllAny+
12643         \R
12644         AllAny+
12645         \H
12646         AllAny+
12647         \h
12648         AllAny+
12649         \V
12650         AllAny+
12651         \v
12652         AllAny+
12653         \Z
12654         AllAny++
12655         \z
12656         AllAny+
12657         $
12658         Ket
12659         End
12660 ------------------------------------------------------------------
12661 
12662 / \D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \R+$  \H+$  \h+$  \V+$ \v+$  a+$   \n+$  .+$  .+$/Bmx
12663 ------------------------------------------------------------------
12664         Bra
12665         \D+
12666      /m $
12667         \d++
12668      /m $
12669         \S++
12670      /m $
12671         \s+
12672      /m $
12673         \W+
12674      /m $
12675         \w++
12676      /m $
12677         \R+
12678      /m $
12679         \H+
12680      /m $
12681         \h+
12682      /m $
12683         \V+
12684      /m $
12685         \v+
12686      /m $
12687         a+
12688      /m $
12689         \x0a+
12690      /m $
12691         Any+
12692      /m $
12693         Any+
12694      /m $
12695         Ket
12696         End
12697 ------------------------------------------------------------------
12698 
12699 /(?=a+)a(a+)++a/B
12700 ------------------------------------------------------------------
12701         Bra
12702         Assert
12703         a++
12704         Ket
12705         a
12706         CBraPos 1
12707         a+
12708         KetRpos
12709         a
12710         Ket
12711         End
12712 ------------------------------------------------------------------
12713 
12714 /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/B
12715 ------------------------------------------------------------------
12716         Bra
12717         a++
12718         CBra 1
12719         bb
12720         Alt
12721         cc
12722         Ket
12723         a++
12724         Bra
12725         bb
12726         Alt
12727         cc
12728         Ket
12729         a++
12730         Once
12731         bb
12732         Alt
12733         cc
12734         Ket
12735         a++
12736         Bra
12737         bb
12738         Alt
12739         cc
12740         KetRmax
12741         a+
12742         CBra 2
12743         aa
12744         Ket
12745         a+
12746         Bra
12747         bb
12748         Alt
12749         aa
12750         Ket
12751         Ket
12752         End
12753 ------------------------------------------------------------------
12754 
12755 /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/B
12756 ------------------------------------------------------------------
12757         Bra
12758         a++
12759         Brazero
12760         CBra 1
12761         bb
12762         Alt
12763         cc
12764         Ket
12765         #
12766         a++
12767         Braminzero
12768         Bra
12769         bb
12770         Alt
12771         cc
12772         Ket
12773         #
12774         a++
12775         Once
12776         Brazero
12777         Bra
12778         bb
12779         Alt
12780         cc
12781         Ket
12782         Ket
12783         #
12784         a++
12785         Brazero
12786         Bra
12787         bb
12788         Alt
12789         cc
12790         KetRmax
12791         #
12792         a+
12793         Brazero
12794         CBra 2
12795         bb
12796         Alt
12797         cc
12798         Ket
12799         a#
12800         a+
12801         Brazero
12802         Bra
12803         aa
12804         Ket
12805         Ket
12806         End
12807 ------------------------------------------------------------------
12808 
12809 /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/B
12810 ------------------------------------------------------------------
12811         Bra
12812         a+
12813         Brazero
12814         Bra
12815         bb
12816         Ket
12817         a#
12818         a++
12819         Bra
12820         Alt
12821         Alt
12822         Alt
12823         Ket
12824         #
12825         a+
12826         Bra
12827         Alt
12828         b
12829         Ket
12830         a#
12831         a+
12832         Brazero
12833         Bra
12834         Alt
12835         Alt
12836         Alt
12837         Ket
12838         a
12839         Ket
12840         End
12841 ------------------------------------------------------------------
12842 
12843 /[ab]*/B
12844 ------------------------------------------------------------------
12845         Bra
12846         [ab]*+
12847         Ket
12848         End
12849 ------------------------------------------------------------------
12850     aaaa
12851  0: aaaa
12852 
12853 /[ab]*?/B
12854 ------------------------------------------------------------------
12855         Bra
12856         [ab]*?
12857         Ket
12858         End
12859 ------------------------------------------------------------------
12860     aaaa
12861  0: 
12862 
12863 /[ab]?/B
12864 ------------------------------------------------------------------
12865         Bra
12866         [ab]?+
12867         Ket
12868         End
12869 ------------------------------------------------------------------
12870     aaaa
12871  0: a
12872 
12873 /[ab]??/B
12874 ------------------------------------------------------------------
12875         Bra
12876         [ab]??
12877         Ket
12878         End
12879 ------------------------------------------------------------------
12880     aaaa
12881  0: 
12882 
12883 /[ab]+/B
12884 ------------------------------------------------------------------
12885         Bra
12886         [ab]++
12887         Ket
12888         End
12889 ------------------------------------------------------------------
12890     aaaa
12891  0: aaaa
12892 
12893 /[ab]+?/B
12894 ------------------------------------------------------------------
12895         Bra
12896         [ab]+?
12897         Ket
12898         End
12899 ------------------------------------------------------------------
12900     aaaa
12901  0: a
12902 
12903 /[ab]{2,3}/B
12904 ------------------------------------------------------------------
12905         Bra
12906         [ab]{2,3}+
12907         Ket
12908         End
12909 ------------------------------------------------------------------
12910     aaaa
12911  0: aaa
12912 
12913 /[ab]{2,3}?/B
12914 ------------------------------------------------------------------
12915         Bra
12916         [ab]{2,3}?
12917         Ket
12918         End
12919 ------------------------------------------------------------------
12920     aaaa
12921  0: aa
12922 
12923 /[ab]{2,}/B
12924 ------------------------------------------------------------------
12925         Bra
12926         [ab]{2,}+
12927         Ket
12928         End
12929 ------------------------------------------------------------------
12930     aaaa
12931  0: aaaa
12932 
12933 /[ab]{2,}?/B
12934 ------------------------------------------------------------------
12935         Bra
12936         [ab]{2,}?
12937         Ket
12938         End
12939 ------------------------------------------------------------------
12940     aaaa
12941  0: aa
12942 
12943 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/B
12944 ------------------------------------------------------------------
12945         Bra
12946         \d++
12947         \s{0,5}+
12948         =
12949         \s*+
12950         \S?
12951         =
12952         \w{0,4}+
12953         \W*+
12954         Ket
12955         End
12956 ------------------------------------------------------------------
12957 
12958 /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/B
12959 ------------------------------------------------------------------
12960         Bra
12961         [a-d]{5,12}+
12962         [0-9e-z]*+
12963         #
12964         [\x00-`{-\xff] (neg)++
12965         [b-y]*+
12966         a
12967         [2-7]?+
12968         [\x00-/:-`{-\xff] (neg)++
12969         Ket
12970         End
12971 ------------------------------------------------------------------
12972 
12973 /[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/B
12974 ------------------------------------------------------------------
12975         Bra
12976         [a-z]*+
12977         \s
12978         #
12979         [\x09 ]?+
12980         \S
12981         #
12982         [a-c]*
12983         \S
12984         #
12985         [C-G]++
12986         \d
12987         #
12988         [4-8]*+
12989         \D
12990         #
12991         [,4-9]*
12992         \D
12993         #
12994         [!$]{0,5}+
12995         \w
12996         #
12997         [M-Xf-l]++
12998         \W
12999         #
13000         [,a-c]?
13001         \W
13002         Ket
13003         End
13004 ------------------------------------------------------------------
13005 
13006 /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/B
13007 ------------------------------------------------------------------
13008         Bra
13009         a+
13010         Brazero
13011         CBra 1
13012         aa
13013         Alt
13014         bb
13015         KetRmax
13016         c#
13017         a*
13018         Brazero
13019         CBra 2
13020         bb
13021         Alt
13022         cc
13023         KetRmax
13024         a#
13025         a?+
13026         Brazero
13027         CBra 3
13028         bb
13029         Alt
13030         cc
13031         KetRmax
13032         d#
13033         [a-f]*
13034         Brazero
13035         CBra 4
13036         g
13037         Alt
13038         hh
13039         KetRmax
13040         f
13041         Ket
13042         End
13043 ------------------------------------------------------------------
13044 
13045 /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/B
13046 ------------------------------------------------------------------
13047         Bra
13048         [a-f]*+
13049         Brazero
13050         CBra 1
13051         g
13052         Alt
13053         hh
13054         Alt
13055         i
13056         KetRmax
13057         i#
13058         [a-x]{4,}
13059         Brazero
13060         SCBra 2
13061         y{0,6}
13062         KetRmax
13063         y#
13064         [a-k]++
13065         CBra 3
13066         ll
13067         Alt
13068         mm
13069         KetRmax
13070         n
13071         Ket
13072         End
13073 ------------------------------------------------------------------
13074 
13075 /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/B
13076 ------------------------------------------------------------------
13077         Bra
13078         [a-f]*+
13079         Once
13080         gg
13081         Alt
13082         hh
13083         KetRmax
13084         #
13085         [a-f]*+
13086         Brazero
13087         Once
13088         gg
13089         Alt
13090         hh
13091         Ket
13092         #
13093         [a-f]*
13094         Brazero
13095         Once
13096         gg
13097         Alt
13098         hh
13099         KetRmax
13100         a#
13101         [a-f]*+
13102         Brazero
13103         Once
13104         gg
13105         Alt
13106         hh
13107         KetRmax
13108         h
13109         Ket
13110         End
13111 ------------------------------------------------------------------
13112 
13113 /[a-c]*d/IB
13114 ------------------------------------------------------------------
13115         Bra
13116         [a-c]*+
13117         d
13118         Ket
13119         End
13120 ------------------------------------------------------------------
13121 Capture group count = 0
13122 Starting code units: a b c d 
13123 Last code unit = 'd'
13124 Subject length lower bound = 1
13125 
13126 /[a-c]+d/IB
13127 ------------------------------------------------------------------
13128         Bra
13129         [a-c]++
13130         d
13131         Ket
13132         End
13133 ------------------------------------------------------------------
13134 Capture group count = 0
13135 Starting code units: a b c 
13136 Last code unit = 'd'
13137 Subject length lower bound = 2
13138 
13139 /[a-c]?d/IB
13140 ------------------------------------------------------------------
13141         Bra
13142         [a-c]?+
13143         d
13144         Ket
13145         End
13146 ------------------------------------------------------------------
13147 Capture group count = 0
13148 Starting code units: a b c d 
13149 Last code unit = 'd'
13150 Subject length lower bound = 1
13151 
13152 /[a-c]{4,6}d/IB
13153 ------------------------------------------------------------------
13154         Bra
13155         [a-c]{4,6}+
13156         d
13157         Ket
13158         End
13159 ------------------------------------------------------------------
13160 Capture group count = 0
13161 Starting code units: a b c 
13162 Last code unit = 'd'
13163 Subject length lower bound = 5
13164 
13165 /[a-c]{0,6}d/IB
13166 ------------------------------------------------------------------
13167         Bra
13168         [a-c]{0,6}+
13169         d
13170         Ket
13171         End
13172 ------------------------------------------------------------------
13173 Capture group count = 0
13174 Starting code units: a b c d 
13175 Last code unit = 'd'
13176 Subject length lower bound = 1
13177 
13178 # End of special auto-possessive tests
13179 
13180 /^A\o{1239}B/
13181 Failed: error 164 at offset 8: non-octal character in \o{} (closing brace missing?)
13182     A\123B
13183 
13184 /^A\oB/
13185 Failed: error 155 at offset 4: missing opening brace after \o
13186 
13187 /^A\x{zz}B/
13188 Failed: error 167 at offset 5: non-hex character in \x{} (closing brace missing?)
13189 
13190 /^A\x{12Z/
13191 Failed: error 167 at offset 7: non-hex character in \x{} (closing brace missing?)
13192 
13193 /^A\x{/
13194 Failed: error 178 at offset 5: digits missing in \x{} or \o{} or \N{U+}
13195 
13196 /[ab]++/B,no_auto_possess
13197 ------------------------------------------------------------------
13198         Bra
13199         [ab]++
13200         Ket
13201         End
13202 ------------------------------------------------------------------
13203 
13204 /[^ab]*+/B,no_auto_possess
13205 ------------------------------------------------------------------
13206         Bra
13207         [\x00-`c-\xff] (neg)*+
13208         Ket
13209         End
13210 ------------------------------------------------------------------
13211 
13212 /a{4}+/B,no_auto_possess
13213 ------------------------------------------------------------------
13214         Bra
13215         a{4}
13216         Ket
13217         End
13218 ------------------------------------------------------------------
13219 
13220 /a{4}+/Bi,no_auto_possess
13221 ------------------------------------------------------------------
13222         Bra
13223      /i a{4}
13224         Ket
13225         End
13226 ------------------------------------------------------------------
13227 
13228 /[a-[:digit:]]+/
13229 Failed: error 150 at offset 4: invalid range in character class
13230 
13231 /[A-[:digit:]]+/
13232 Failed: error 150 at offset 4: invalid range in character class
13233 
13234 /[a-[.xxx.]]+/
13235 Failed: error 150 at offset 4: invalid range in character class
13236 
13237 /[a-[=xxx=]]+/
13238 Failed: error 150 at offset 4: invalid range in character class
13239 
13240 /[a-[!xxx!]]+/
13241 Failed: error 108 at offset 3: range out of order in character class
13242 
13243 /[A-[!xxx!]]+/
13244     A]]]
13245  0: A]]]
13246 
13247 /[a-\d]+/
13248 Failed: error 150 at offset 5: invalid range in character class
13249 
13250 /(?<0abc>xx)/
13251 Failed: error 144 at offset 3: subpattern name must start with a non-digit
13252 
13253 /(?&1abc)xx(?<1abc>y)/
13254 Failed: error 144 at offset 3: subpattern name must start with a non-digit
13255 
13256 /(?<ab-cd>xx)/
13257 Failed: error 142 at offset 5: syntax error in subpattern name (missing terminator?)
13258 
13259 /(?'0abc'xx)/
13260 Failed: error 144 at offset 3: subpattern name must start with a non-digit
13261 
13262 /(?P<0abc>xx)/
13263 Failed: error 144 at offset 4: subpattern name must start with a non-digit
13264 
13265 /\k<5ghj>/
13266 Failed: error 144 at offset 3: subpattern name must start with a non-digit
13267 
13268 /\k'5ghj'/
13269 Failed: error 144 at offset 3: subpattern name must start with a non-digit
13270 
13271 /\k{2fgh}/
13272 Failed: error 144 at offset 3: subpattern name must start with a non-digit
13273 
13274 /(?P=8yuki)/
13275 Failed: error 144 at offset 4: subpattern name must start with a non-digit
13276 
13277 /\g{4df}/
13278 Failed: error 157 at offset 2: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
13279 
13280 /(?&1abc)xx(?<1abc>y)/
13281 Failed: error 144 at offset 3: subpattern name must start with a non-digit
13282 
13283 /(?P>1abc)xx(?<1abc>y)/
13284 Failed: error 144 at offset 4: subpattern name must start with a non-digit
13285 
13286 /\g'3gh'/
13287 Failed: error 157 at offset 2: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
13288 
13289 /\g<5fg>/
13290 Failed: error 157 at offset 2: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
13291 
13292 /(?(<4gh>)abc)/
13293 Failed: error 144 at offset 4: subpattern name must start with a non-digit
13294 
13295 /(?('4gh')abc)/
13296 Failed: error 144 at offset 4: subpattern name must start with a non-digit
13297 
13298 /(?(4gh)abc)/
13299 Failed: error 124 at offset 4: missing closing parenthesis for condition
13300 
13301 /(?(R&6yh)abc)/
13302 Failed: error 144 at offset 5: subpattern name must start with a non-digit
13303 
13304 /(((a\2)|(a*)\g<-1>))*a?/B
13305 ------------------------------------------------------------------
13306         Bra
13307         Brazero
13308         SCBra 1
13309         CBra 2
13310         CBra 3
13311         a
13312         \2
13313         Ket
13314         Alt
13315         CBra 4
13316         a*
13317         Ket
13318         Recurse
13319         Ket
13320         KetRmax
13321         a?+
13322         Ket
13323         End
13324 ------------------------------------------------------------------
13325 
13326 # Test the ugly "start or end of word" compatibility syntax.
13327 
13328 /[[:<:]]red[[:>:]]/B
13329 ------------------------------------------------------------------
13330         Bra
13331         \b
13332         Assert
13333         \w
13334         Ket
13335         red
13336         \b
13337         Assert back
13338         Reverse
13339         \w
13340         Ket
13341         Ket
13342         End
13343 ------------------------------------------------------------------
13344     little red riding hood
13345  0: red
13346     a /red/ thing
13347  0: red
13348     red is a colour
13349  0: red
13350     put it all on red
13351  0: red
13352 \= Expect no match
13353     no reduction
13354 No match
13355     Alfred Winifred
13356 No match
13357 
13358 /[a[:<:]] should give error/
13359 Failed: error 130 at offset 4: unknown POSIX class name
13360 
13361 /(?=ab\K)/aftertext
13362     abcd\=startchar
13363 Start of matched string is beyond its end - displaying from end to start.
13364  0: ab
13365  0+ abcd
13366 
13367 /abcd/newline=lf,firstline
13368 \= Expect no match
13369     xx\nxabcd
13370 No match
13371 
13372 # Test stack guard external calls.
13373 
13374 /(((a)))/stackguard=1
13375 Failed: error 133 at offset 7: parentheses are too deeply nested (stack check)
13376 
13377 /(((a)))/stackguard=2
13378 Failed: error 133 at offset 7: parentheses are too deeply nested (stack check)
13379 
13380 /(((a)))/stackguard=3
13381 
13382 /(((((a)))))/
13383 
13384 # End stack guard tests
13385 
13386 /^\w+(?>\s*)(?<=\w)/B
13387 ------------------------------------------------------------------
13388         Bra
13389         ^
13390         \w+
13391         Once
13392         \s*+
13393         Ket
13394         Assert back
13395         Reverse
13396         \w
13397         Ket
13398         Ket
13399         End
13400 ------------------------------------------------------------------
13401 
13402 /\othing/
13403 Failed: error 155 at offset 2: missing opening brace after \o
13404 
13405 /\o{}/
13406 Failed: error 178 at offset 3: digits missing in \x{} or \o{} or \N{U+}
13407 
13408 /\o{whatever}/
13409 Failed: error 164 at offset 3: non-octal character in \o{} (closing brace missing?)
13410 
13411 /\xthing/
13412 
13413 /\x{}/
13414 Failed: error 178 at offset 3: digits missing in \x{} or \o{} or \N{U+}
13415 
13416 /\x{whatever}/
13417 Failed: error 167 at offset 3: non-hex character in \x{} (closing brace missing?)
13418 
13419 /A\8B/
13420 Failed: error 115 at offset 2: reference to non-existent subpattern
13421 
13422 /A\9B/
13423 Failed: error 115 at offset 2: reference to non-existent subpattern
13424 
13425 # This one is here because Perl fails to match "12" for this pattern when the $
13426 # is present.
13427 
13428 /^(?(?=abc)\w{3}:|\d\d)$/
13429     abc:
13430  0: abc:
13431     12
13432  0: 12
13433 \= Expect no match
13434     123
13435 No match
13436     xyz
13437 No match
13438 
13439 # Perl gets this one wrong, giving "a" as the after text for ca and failing to
13440 # match for cd.
13441 
13442 /(?(?=ab)ab)/aftertext
13443     abxxx
13444  0: ab
13445  0+ xxx
13446     ca
13447  0: 
13448  0+ ca
13449     cd
13450  0: 
13451  0+ cd
13452 
13453 # This should test both paths for processing OP_RECURSE.
13454 
13455 /(?(R)a+|(?R)b)/
13456     aaaabcde
13457  0: aaaab
13458     aaaabcde\=ovector=100
13459  0: aaaab
13460 
13461 /a*?b*?/
13462     ab
13463  0: 
13464 
13465 /(*NOTEMPTY)a*?b*?/
13466     ab
13467  0: a
13468     ba
13469  0: b
13470     cb
13471  0: b
13472 
13473 /(*NOTEMPTY_ATSTART)a*?b*?/aftertext
13474     ab
13475  0: a
13476  0+ b
13477     cdab
13478  0: 
13479  0+ dab
13480 
13481 /(?(VERSION>=10.0)yes|no)/I
13482 Capture group count = 0
13483 Subject length lower bound = 2
13484     yesno
13485  0: yes
13486 
13487 /(?(VERSION>=10.04)yes|no)/
13488     yesno
13489  0: yes
13490 
13491 /(?(VERSION=8)yes){3}/BI,aftertext
13492 ------------------------------------------------------------------
13493         Bra
13494         Cond
13495         Cond false
13496         yes
13497         Ket
13498         Ket
13499         End
13500 ------------------------------------------------------------------
13501 Capture group count = 0
13502 May match empty string
13503 Subject length lower bound = 0
13504     yesno
13505  0: 
13506  0+ yesno
13507 
13508 /(?(VERSION=8)yes|no){3}/I
13509 Capture group count = 0
13510 Subject length lower bound = 6
13511     yesnononoyes
13512  0: nonono
13513 \= Expect no match
13514     yesno
13515 No match
13516 
13517 /(?:(?<VERSION>abc)|xyz)(?(VERSION)yes|no)/I
13518 Capture group count = 1
13519 Max back reference = 1
13520 Named capture groups:
13521   VERSION   1
13522 Starting code units: a x 
13523 Subject length lower bound = 5
13524     abcyes
13525  0: abcyes
13526  1: abc
13527     xyzno
13528  0: xyzno
13529 \= Expect no match
13530     abcno
13531 No match
13532     xyzyes
13533 No match
13534 
13535 /(?(VERSION<10)yes|no)/
13536 Failed: error 179 at offset 10: syntax error or number too big in (?(VERSION condition
13537 
13538 /(?(VERSION>10)yes|no)/
13539 Failed: error 179 at offset 11: syntax error or number too big in (?(VERSION condition
13540 
13541 /(?(VERSION>=10.0.0)yes|no)/
13542 Failed: error 179 at offset 16: syntax error or number too big in (?(VERSION condition
13543 
13544 /(?(VERSION=10.101)yes|no)/
13545 Failed: error 179 at offset 16: syntax error or number too big in (?(VERSION condition
13546 
13547 /abcd/I
13548 Capture group count = 0
13549 First code unit = 'a'
13550 Last code unit = 'd'
13551 Subject length lower bound = 4
13552 
13553 /abcd/I,no_start_optimize
13554 Capture group count = 0
13555 Options: no_start_optimize
13556 
13557 /(|ab)*?d/I
13558 Capture group count = 1
13559 Starting code units: a d 
13560 Last code unit = 'd'
13561 Subject length lower bound = 1
13562    abd
13563  0: abd
13564  1: ab
13565    xyd
13566  0: d
13567 
13568 /(|ab)*?d/I,no_start_optimize
13569 Capture group count = 1
13570 Options: no_start_optimize
13571    abd
13572  0: abd
13573  1: ab
13574    xyd
13575  0: d
13576 
13577 /\k<A>*(?<A>aa)(?<A>bb)/match_unset_backref,dupnames
13578     aabb
13579  0: aabb
13580  1: aa
13581  2: bb
13582 
13583 /(((((a)))))/parens_nest_limit=2
13584 Failed: error 119 at offset 3: parentheses are too deeply nested
13585 
13586 /abc/replace=XYZ
13587     123123
13588  0: 123123
13589     123abc123
13590  1: 123XYZ123
13591     123abc123abc123
13592  1: 123XYZ123abc123
13593     123123\=zero_terminate
13594  0: 123123
13595     123abc123\=zero_terminate
13596  1: 123XYZ123
13597     123abc123abc123\=zero_terminate
13598  1: 123XYZ123abc123
13599 
13600 /abc/g,replace=XYZ
13601     123abc123
13602  1: 123XYZ123
13603     123abc123abc123
13604  2: 123XYZ123XYZ123
13605 
13606 /abc/replace=X$$Z
13607     123abc123
13608  1: 123X$Z123
13609 
13610 /abc/g,replace=X$$Z
13611     123abc123abc123
13612  2: 123X$Z123X$Z123
13613 
13614 /a(b)c(d)e/replace=X$1Y${2}Z
13615     "abcde"
13616  1: "XbYdZ"
13617 
13618 /a(b)c(d)e/replace=X$1Y${2}Z,global
13619     "abcde-abcde"
13620  2: "XbYdZ-XbYdZ"
13621 
13622 /a(?<ONE>b)c(?<TWO>d)e/replace=X$ONE+${TWO}Z
13623     "abcde"
13624  1: "Xb+dZ"
13625 
13626 /a(?<ONE>b)c(?<TWO>d)e/g,replace=X$ONE+${TWO}Z
13627     "abcde-abcde-"
13628  2: "Xb+dZ-Xb+dZ-"
13629 
13630 /abc/replace=a$++
13631     123abc
13632 Failed: error -35 at offset 2 in replacement: invalid replacement string
13633 
13634 /abc/replace=a$bad
13635     123abc
13636 Failed: error -49 at offset 5 in replacement: unknown substring
13637 
13638 /abc/replace=a${A234567890123456789_123456789012}z
13639     123abc
13640 Failed: error -49 at offset 36 in replacement: unknown substring
13641 
13642 /abc/replace=a${A23456789012345678901234567890123}z
13643     123abc
13644 Failed: error -35 at offset 35 in replacement: invalid replacement string
13645 
13646 /abc/replace=a${bcd
13647     123abc
13648 Failed: error -58 at offset 6 in replacement: expected closing curly bracket in replacement string
13649 
13650 /abc/replace=a${b+d}z
13651     123abc
13652 Failed: error -58 at offset 4 in replacement: expected closing curly bracket in replacement string
13653 
13654 /abc/replace=[10]XYZ
13655     123abc123
13656  1: 123XYZ123
13657 
13658 /abc/replace=[9]XYZ
13659     123abc123
13660 Failed: error -48: no more memory
13661 
13662 /abc/replace=xyz
13663     1abc2\=partial_hard
13664 Failed: error -34: bad option value
13665 
13666 /abc/replace=xyz
13667     123abc456
13668  1: 123xyz456
13669     123abc456\=replace=pqr
13670  1: 123pqr456
13671     123abc456abc789
13672  1: 123xyz456abc789
13673     123abc456abc789\=g
13674  2: 123xyz456xyz789
13675 
13676 /(?<=abc)(|def)/g,replace=<$0>
13677     123abcxyzabcdef789abcpqr
13678  4: 123abc<>xyzabc<><def>789abc<>pqr
13679 
13680 /./replace=$0
13681     a
13682  1: a
13683 
13684 /(.)(.)/replace=$2+$1
13685     abc
13686  1: b+ac
13687 
13688 /(?<A>.)(?<B>.)/replace=$B+$A
13689     abc
13690  1: b+ac
13691 
13692 /(.)(.)/g,replace=$2$1
13693     abcdefgh
13694  4: badcfehg
13695 
13696 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=${*MARK}
13697     apple lemon blackberry
13698  3: pear orange strawberry
13699     apple strudel
13700  1: pear strudel
13701     fruitless
13702  0: fruitless
13703 
13704 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/replace=${*MARK} sauce,
13705     apple lemon blackberry
13706  1: pear sauce lemon blackberry
13707 
13708 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=<$*MARK>
13709     apple lemon blackberry
13710  3: <pear> <orange> <strawberry>
13711     apple strudel
13712  1: <pear> strudel
13713     fruitless
13714  0: fruitless
13715 
13716 /(*:pear)apple/g,replace=${*MARKING}
13717     apple lemon blackberry
13718 Failed: error -35 at offset 11 in replacement: invalid replacement string
13719 
13720 /(*:pear)apple/g,replace=${*MARK-time
13721     apple lemon blackberry
13722 Failed: error -58 at offset 7 in replacement: expected closing curly bracket in replacement string
13723 
13724 /(*:pear)apple/g,replace=${*mark}
13725     apple lemon blackberry
13726 Failed: error -35 at offset 8 in replacement: invalid replacement string
13727 
13728 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=<$*MARKET>
13729     apple lemon blackberry
13730 Failed: error -35 at offset 9 in replacement: invalid replacement string
13731 
13732 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=[22]${*MARK}
13733     apple lemon blackberry
13734 Failed: error -48: no more memory
13735     apple lemon blackberry\=substitute_overflow_length
13736 Failed: error -48: no more memory: 23 code units are needed
13737 
13738 /(*:pear)apple|(*:orange)lemon|(*:strawberry)blackberry/g,replace=[23]${*MARK}
13739     apple lemon blackberry
13740  3: pear orange strawberry
13741 
13742 /abc/
13743     123abc123\=replace=[9]XYZ
13744 Failed: error -48: no more memory
13745     123abc123\=substitute_overflow_length,replace=[9]XYZ
13746 Failed: error -48: no more memory: 10 code units are needed
13747     123abc123\=substitute_overflow_length,replace=[6]XYZ
13748 Failed: error -48: no more memory: 10 code units are needed
13749     123abc123\=substitute_overflow_length,replace=[1]XYZ
13750 Failed: error -48: no more memory: 10 code units are needed
13751     123abc123\=substitute_overflow_length,replace=[0]XYZ
13752 Failed: error -48: no more memory: 10 code units are needed
13753 
13754 /a(b)c/
13755     123abc123\=replace=[9]x$1z
13756 Failed: error -48: no more memory
13757     123abc123\=substitute_overflow_length,replace=[9]x$1z
13758 Failed: error -48: no more memory: 10 code units are needed
13759     123abc123\=substitute_overflow_length,replace=[6]x$1z
13760 Failed: error -48: no more memory: 10 code units are needed
13761     123abc123\=substitute_overflow_length,replace=[1]x$1z
13762 Failed: error -48: no more memory: 10 code units are needed
13763     123abc123\=substitute_overflow_length,replace=[0]x$1z
13764 Failed: error -48: no more memory: 10 code units are needed
13765 
13766 "((?=(?(?=(?(?=(?(?=()))))))))"
13767     a
13768  0: 
13769  1: 
13770  2: 
13771 
13772 "(?(?=)==)(((((((((?=)))))))))"
13773 \= Expect no match
13774     a
13775 No match
13776 
13777 /(a)(b)|(c)/
13778     XcX\=ovector=2,get=1,get=2,get=3,get=4,getall
13779 Matched, but too many substrings
13780  0: c
13781  1: <unset>
13782 Get substring 1 failed (-55): requested value is not set
13783 Get substring 2 failed (-54): requested value is not available
13784 Get substring 3 failed (-54): requested value is not available
13785 Get substring 4 failed (-49): unknown substring
13786  0L c
13787  1L 
13788 
13789 /x(?=ab\K)/
13790     xab\=get=0
13791 Start of matched string is beyond its end - displaying from end to start.
13792  0: ab
13793  0G  (0)
13794     xab\=copy=0
13795 Start of matched string is beyond its end - displaying from end to start.
13796  0: ab
13797  0C  (0)
13798     xab\=getall
13799 Start of matched string is beyond its end - displaying from end to start.
13800  0: ab
13801  0L 
13802 
13803 /(?<A>a)|(?<A>b)/dupnames
13804     a\=ovector=1,copy=A,get=A,get=2
13805 Matched, but too many substrings
13806  0: a
13807 Copy substring 'A' failed (-54): requested value is not available
13808 Get substring 2 failed (-54): requested value is not available
13809 Get substring 'A' failed (-54): requested value is not available
13810     a\=ovector=2,copy=A,get=A,get=2
13811  0: a
13812  1: a
13813   C a (1) A (non-unique)
13814 Get substring 2 failed (-54): requested value is not available
13815   G a (1) A (non-unique)
13816     b\=ovector=2,copy=A,get=A,get=2
13817 Matched, but too many substrings
13818  0: b
13819  1: <unset>
13820 Copy substring 'A' failed (-55): requested value is not set
13821 Get substring 2 failed (-54): requested value is not available
13822 Get substring 'A' failed (-55): requested value is not set
13823 
13824 /a(b)c(d)/
13825     abc\=ph,copy=0,copy=1,getall
13826 Partial match: abc
13827  0C abc (3)
13828 Copy substring 1 failed (-2): partial match
13829 get substring list failed (-2): partial match
13830 
13831 /^abc/info
13832 Capture group count = 0
13833 Compile options: <none>
13834 Overall options: anchored
13835 First code unit = 'a'
13836 Subject length lower bound = 3
13837 
13838 /^abc/info,no_dotstar_anchor
13839 Capture group count = 0
13840 Compile options: no_dotstar_anchor
13841 Overall options: anchored no_dotstar_anchor
13842 First code unit = 'a'
13843 Subject length lower bound = 3
13844 
13845 /.*\d/info,auto_callout
13846 Capture group count = 0
13847 Options: auto_callout
13848 First code unit at start or follows newline
13849 Subject length lower bound = 1
13850 \= Expect no match
13851     aaa
13852 --->aaa
13853  +0 ^       .*
13854  +2 ^  ^    \d
13855  +2 ^ ^     \d
13856  +2 ^^      \d
13857  +2 ^       \d
13858 No match
13859 
13860 /.*\d/info,no_dotstar_anchor,auto_callout
13861 Capture group count = 0
13862 Options: auto_callout no_dotstar_anchor
13863 Subject length lower bound = 1
13864 \= Expect no match
13865     aaa
13866 --->aaa
13867  +0 ^       .*
13868  +2 ^  ^    \d
13869  +2 ^ ^     \d
13870  +2 ^^      \d
13871  +2 ^       \d
13872  +0  ^      .*
13873  +2  ^ ^    \d
13874  +2  ^^     \d
13875  +2  ^      \d
13876  +0   ^     .*
13877  +2   ^^    \d
13878  +2   ^     \d
13879 No match
13880 
13881 /.*\d/dotall,info
13882 Capture group count = 0
13883 Compile options: dotall
13884 Overall options: anchored dotall
13885 Subject length lower bound = 1
13886 
13887 /.*\d/dotall,no_dotstar_anchor,info
13888 Capture group count = 0
13889 Options: dotall no_dotstar_anchor
13890 Subject length lower bound = 1
13891 
13892 /(*NO_DOTSTAR_ANCHOR)(?s).*\d/info
13893 Capture group count = 0
13894 Compile options: <none>
13895 Overall options: no_dotstar_anchor
13896 Subject length lower bound = 1
13897 
13898 '^(?:(a)|b)(?(1)A|B)'
13899     aA123\=ovector=1
13900 Matched, but too many substrings
13901  0: aA
13902     aA123\=ovector=2
13903  0: aA
13904  1: a
13905 
13906 '^(?:(?<AA>a)|b)(?(<AA>)A|B)'
13907     aA123\=ovector=1
13908 Matched, but too many substrings
13909  0: aA
13910     aA123\=ovector=2
13911  0: aA
13912  1: a
13913 
13914 '^(?<AA>)(?:(?<AA>a)|b)(?(<AA>)A|B)'dupnames
13915     aA123\=ovector=1
13916 Matched, but too many substrings
13917  0: aA
13918     aA123\=ovector=2
13919 Matched, but too many substrings
13920  0: aA
13921  1: 
13922     aA123\=ovector=3
13923  0: aA
13924  1: 
13925  2: a
13926 
13927 '^(?:(?<AA>X)|)(?:(?<AA>a)|b)\k{AA}'dupnames
13928     aa123\=ovector=1
13929 Matched, but too many substrings
13930  0: aa
13931     aa123\=ovector=2
13932 Matched, but too many substrings
13933  0: aa
13934  1: <unset>
13935     aa123\=ovector=3
13936  0: aa
13937  1: <unset>
13938  2: a
13939 
13940 /(?<N111>(?J)(?<N111>1(111111)11|)1|1|)(?(<N111>)1)/
13941 
13942 /(?<N>(?J)(?<N>))(?-J)\k<N>/
13943 
13944 # Quantifiers are not allowed on condition assertions, but are otherwise
13945 # OK in conditions.
13946 
13947 /(?(?=0)?)+/
13948 Failed: error 109 at offset 7: quantifier does not follow a repeatable item
13949 
13950 /(?(?=0)(?=00)?00765)/
13951      00765
13952  0: 00765
13953 
13954 /(?(?=0)(?=00)?00765|(?!3).56)/
13955      00765
13956  0: 00765
13957      456
13958  0: 456
13959 \= Expect no match
13960      356
13961 No match
13962 
13963 '^(a)*+(\w)'
13964     g
13965  0: g
13966  1: <unset>
13967  2: g
13968     g\=ovector=1
13969 Matched, but too many substrings
13970  0: g
13971 
13972 '^(?:a)*+(\w)'
13973     g
13974  0: g
13975  1: g
13976     g\=ovector=1
13977 Matched, but too many substrings
13978  0: g
13979 
13980 # These two pattern showeds up compile-time bugs
13981 
13982 "((?2){0,1999}())?"
13983 
13984 /((?+1)(\1))/B
13985 ------------------------------------------------------------------
13986         Bra
13987         CBra 1
13988         Recurse
13989         CBra 2
13990         \1
13991         Ket
13992         Ket
13993         Ket
13994         End
13995 ------------------------------------------------------------------
13996 
13997 # Callouts with string arguments
13998 
13999 /a(?C"/
14000 Failed: error 181 at offset 4: missing terminating delimiter for callout with string argument
14001 
14002 /a(?C"a/
14003 Failed: error 181 at offset 4: missing terminating delimiter for callout with string argument
14004 
14005 /a(?C"a"/
14006 Failed: error 139 at offset 7: closing parenthesis for (?C expected
14007 
14008 /a(?C"a"bcde(?C"b")xyz/
14009 Failed: error 139 at offset 7: closing parenthesis for (?C expected
14010 
14011 /a(?C"a)b""c")/B
14012 ------------------------------------------------------------------
14013         Bra
14014         a
14015         CalloutStr "a)b"c" 5 13 0
14016         Ket
14017         End
14018 ------------------------------------------------------------------
14019 
14020 /ab(?C" any text with spaces ")cde/B
14021 ------------------------------------------------------------------
14022         Bra
14023         ab
14024         CalloutStr " any text with spaces " 6 30 1
14025         cde
14026         Ket
14027         End
14028 ------------------------------------------------------------------
14029     abcde
14030 Callout (6): " any text with spaces "
14031 --->abcde
14032     ^ ^       c
14033  0: abcde
14034     12abcde
14035 Callout (6): " any text with spaces "
14036 --->12abcde
14037       ^ ^       c
14038  0: abcde
14039 
14040 /^a(b)c(?C1)def/
14041       abcdef
14042 --->abcdef
14043   1 ^  ^       d
14044  0: abcdef
14045  1: b
14046 
14047 /^a(b)c(?C"AB")def/
14048       abcdef
14049 Callout (10): "AB"
14050 --->abcdef
14051     ^  ^       d
14052  0: abcdef
14053  1: b
14054 
14055 /^a(b)c(?C1)def/
14056       abcdef\=callout_capture
14057 Callout 1: last capture = 1
14058  1: b
14059 --->abcdef
14060     ^  ^       d
14061  0: abcdef
14062  1: b
14063 
14064 /^a(b)c(?C{AB})def/B
14065 ------------------------------------------------------------------
14066         Bra
14067         ^
14068         a
14069         CBra 1
14070         b
14071         Ket
14072         c
14073         CalloutStr {AB} 10 14 1
14074         def
14075         Ket
14076         End
14077 ------------------------------------------------------------------
14078       abcdef\=callout_capture
14079 Callout (10): {AB} last capture = 1
14080  1: b
14081 --->abcdef
14082     ^  ^       d
14083  0: abcdef
14084  1: b
14085 
14086 /(?C`a``b`)(?C'a''b')(?C"a""b")(?C^a^^b^)(?C%a%%b%)(?C#a##b#)(?C$a$$b$)(?C{a}}b})/B,callout_info
14087 ------------------------------------------------------------------
14088         Bra
14089         CalloutStr `a`b` 4 10 0
14090         CalloutStr 'a'b' 14 20 0
14091         CalloutStr "a"b" 24 30 0
14092         CalloutStr ^a^b^ 34 40 0
14093         CalloutStr %a%b% 44 50 0
14094         CalloutStr #a#b# 54 60 0
14095         CalloutStr $a$b$ 64 70 0
14096         CalloutStr {a}b} 74 80 0
14097         Ket
14098         End
14099 ------------------------------------------------------------------
14100 Callout `a`b`  (
14101 Callout 'a'b'  (
14102 Callout "a"b"  (
14103 Callout ^a^b^  (
14104 Callout %a%b%  (
14105 Callout #a#b#  (
14106 Callout $a$b$  (
14107 Callout {a}b}  
14108 
14109 /(?:a(?C`code`)){3}/B
14110 ------------------------------------------------------------------
14111         Bra
14112         Bra
14113         a
14114         CalloutStr `code` 8 14 4
14115         Ket
14116         Bra
14117         a
14118         CalloutStr `code` 8 14 4
14119         Ket
14120         Bra
14121         a
14122         CalloutStr `code` 8 14 4
14123         Ket
14124         Ket
14125         End
14126 ------------------------------------------------------------------
14127 
14128 /^(?(?C25)(?=abc)abcd|xyz)/B,callout_info
14129 ------------------------------------------------------------------
14130         Bra
14131         ^
14132         Cond
14133         Callout 25 9 3
14134         Assert
14135         abc
14136         Ket
14137         abcd
14138         Alt
14139         xyz
14140         Ket
14141         Ket
14142         End
14143 ------------------------------------------------------------------
14144 Callout 25  (?=
14145     abcdefg
14146 --->abcdefg
14147  25 ^           (?=
14148  0: abcd
14149     xyz123
14150 --->xyz123
14151  25 ^          (?=
14152  0: xyz
14153 
14154 /^(?(?C$abc$)(?=abc)abcd|xyz)/B
14155 ------------------------------------------------------------------
14156         Bra
14157         ^
14158         Cond
14159         CalloutStr $abc$ 7 12 3
14160         Assert
14161         abc
14162         Ket
14163         abcd
14164         Alt
14165         xyz
14166         Ket
14167         Ket
14168         End
14169 ------------------------------------------------------------------
14170     abcdefg
14171 Callout (7): $abc$
14172 --->abcdefg
14173     ^           (?=
14174  0: abcd
14175     xyz123
14176 Callout (7): $abc$
14177 --->xyz123
14178     ^          (?=
14179  0: xyz
14180 
14181 /^ab(?C'first')cd(?C"second")ef/
14182     abcdefg
14183 Callout (7): 'first'
14184 --->abcdefg
14185     ^ ^         c
14186 Callout (20): "second"
14187 --->abcdefg
14188     ^   ^       e
14189  0: abcdef
14190 
14191 /(?:a(?C`code`)){3}X/
14192     aaaXY
14193 Callout (8): `code`
14194 --->aaaXY
14195     ^^        ){3}
14196 Callout (8): `code`
14197 --->aaaXY
14198     ^ ^       ){3}
14199 Callout (8): `code`
14200 --->aaaXY
14201     ^  ^      ){3}
14202  0: aaaX
14203 
14204 # Binary zero in callout string
14205 #  a  (  ?  C  '  x     z  '  )  b
14206 / 61 28 3f 43 27 78 00 7a 27 29 62/hex,callout_info
14207 Callout 'x\x00z'  b
14208     abcdefgh
14209 Callout (5): 'x\x00z'
14210 --->abcdefgh
14211     ^^           b
14212  0: ab
14213 
14214 /(?(?!)^)/
14215 
14216 /(?(?!)a|b)/
14217     bbb
14218  0: b
14219 \= Expect no match
14220     aaa
14221 No match
14222 
14223 # JIT gives a different error message for the infinite recursion
14224 
14225 "(*NO_JIT)((?2)+)((?1)){"
14226     abcd{
14227 Failed: error -52: nested recursion at the same subject position
14228 
14229 # Perl fails to diagnose the absence of an assertion
14230 
14231 "(?(?<E>.*!.*)?)"
14232 Failed: error 128 at offset 2: assertion expected after (?( or (?(?C)
14233 
14234 "X((?2)()*+){2}+"B
14235 ------------------------------------------------------------------
14236         Bra
14237         X
14238         Once
14239         CBra 1
14240         Recurse
14241         Braposzero
14242         SCBraPos 2
14243         KetRpos
14244         Ket
14245         CBra 1
14246         Recurse
14247         Braposzero
14248         SCBraPos 2
14249         KetRpos
14250         Ket
14251         Ket
14252         Ket
14253         End
14254 ------------------------------------------------------------------
14255 
14256 "X((?2)()*+){2}"B
14257 ------------------------------------------------------------------
14258         Bra
14259         X
14260         CBra 1
14261         Recurse
14262         Braposzero
14263         SCBraPos 2
14264         KetRpos
14265         Ket
14266         CBra 1
14267         Recurse
14268         Braposzero
14269         SCBraPos 2
14270         KetRpos
14271         Ket
14272         Ket
14273         End
14274 ------------------------------------------------------------------
14275 
14276 /(?<=\bABQ(3(?-7)))/
14277 Failed: error 115 at offset 15: reference to non-existent subpattern
14278 
14279 /(?<=\bABQ(3(?+7)))/
14280 Failed: error 115 at offset 15: reference to non-existent subpattern
14281 
14282 ";(?<=()((?3))((?2)))"
14283 Failed: error 125 at offset 1: lookbehind assertion is not fixed length
14284 
14285 # Perl loops on this (PCRE2 used to!)
14286 
14287 /(?<=\Ka)/g,aftertext
14288     aaaaa
14289  0: a
14290  0+ aaaa
14291  0: a
14292  0+ aaa
14293  0: a
14294  0+ aa
14295  0: a
14296  0+ a
14297  0: a
14298  0+ 
14299 
14300 /(?<=\Ka)/altglobal,aftertext
14301     aaaaa
14302  0: a
14303  0+ aaaa
14304  0: a
14305  0+ aaa
14306  0: a
14307  0+ aa
14308  0: a
14309  0+ a
14310  0: a
14311  0+ 
14312 
14313 /((?2){73}(?2))((?1))/info
14314 Capture group count = 2
14315 May match empty string
14316 Subject length lower bound = 0
14317 
14318 /abc/
14319 \= Expect no match
14320     \[9x!xxx(]{9999}
14321 No match
14322 
14323 /(abc)*/
14324     \[abc]{5}
14325  0: abcabcabcabcabc
14326  1: abc
14327 
14328 /^/gm
14329     \n\n\n
14330  0: 
14331  0: 
14332  0: 
14333 
14334 /^/gm,alt_circumflex
14335     \n\n\n
14336  0: 
14337  0: 
14338  0: 
14339  0: 
14340 
14341 /((((((((x))))))))\81/
14342 Failed: error 115 at offset 19: reference to non-existent subpattern
14343     xx1
14344 
14345 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))\80/
14346     xx
14347 Matched, but too many substrings
14348  0: xx
14349  1: x
14350  2: x
14351  3: x
14352  4: x
14353  5: x
14354  6: x
14355  7: x
14356  8: x
14357  9: x
14358 10: x
14359 11: x
14360 12: x
14361 13: x
14362 14: x
14363 
14364 /\80/
14365 Failed: error 115 at offset 2: reference to non-existent subpattern
14366 
14367 /A\8B\9C/
14368 Failed: error 115 at offset 2: reference to non-existent subpattern
14369     A8B9C
14370 
14371 /(?x:((?'a')) # comment (with parentheses) and | vertical
14372 (?-x:#not a comment (?'b')) # this is a comment ()
14373 (?'c')) # not a comment (?'d')/info
14374 Capture group count = 5
14375 Named capture groups:
14376   a   2
14377   b   3
14378   c   4
14379   d   5
14380 First code unit = '#'
14381 Last code unit = ' '
14382 Subject length lower bound = 32
14383 
14384 /(?|(?'a')(2)(?'b')|(?'a')(?'a')(3))/I,dupnames
14385 Capture group count = 3
14386 Named capture groups:
14387   a   1
14388   a   2
14389   b   3
14390 Options: dupnames
14391 Starting code units: 2 3 
14392 Subject length lower bound = 1
14393     A23B
14394  0: 2
14395  1: 
14396  2: 2
14397  3: 
14398     B32A
14399  0: 3
14400  1: 
14401  2: 
14402  3: 3
14403 
14404 # These are some patterns that used to cause buffer overflows or other errors
14405 # while compiling.
14406 
14407 /.((?2)(?R)|\1|$)()/B
14408 ------------------------------------------------------------------
14409         Bra
14410         Any
14411         CBra 1
14412         Recurse
14413         Recurse
14414         Alt
14415         \1
14416         Alt
14417         $
14418         Ket
14419         CBra 2
14420         Ket
14421         Ket
14422         End
14423 ------------------------------------------------------------------
14424 
14425 /.((?3)(?R)()(?2)|\1|$)()/B
14426 ------------------------------------------------------------------
14427         Bra
14428         Any
14429         CBra 1
14430         Recurse
14431         Recurse
14432         CBra 2
14433         Ket
14434         Recurse
14435         Alt
14436         \1
14437         Alt
14438         $
14439         Ket
14440         CBra 3
14441         Ket
14442         Ket
14443         End
14444 ------------------------------------------------------------------
14445 
14446 /(\9*+(?2);\3++()2|)++{/
14447 Failed: error 115 at offset 2: reference to non-existent subpattern
14448 
14449 /\V\x85\9*+((?2)\3++()2)*:2/
14450 Failed: error 115 at offset 7: reference to non-existent subpattern
14451 
14452 /(((?(R)){0,2}) (?'x'((?'R')((?'R')))))/dupnames
14453 
14454 /(((?(X)){0,2}) (?'x'((?'X')((?'X')))))/dupnames
14455 
14456 /(((?(R)){0,2}) (?'x'((?'X')((?'R')))))/
14457 
14458 "(?J)(?'d'(?'d'\g{d}))"
14459 
14460 "(?=!((?2)(?))({8(?<=(?1){29}8bbbb\x16\xd\xc6^($(\xa9H4){4}h}?1)B))\x15')"
14461 Failed: error 125 at offset 16: lookbehind assertion is not fixed length
14462 
14463 /A(?'')Z/
14464 Failed: error 162 at offset 4: subpattern name expected
14465 
14466 "(?J:(?|(?'R')(\k'R')|((?'R'))))"
14467 
14468 /(?<=|(\,\$(?73591620449005828816)\xa8.{7}){6}\x09)/
14469 Failed: error 161 at offset 17: subpattern number is too big
14470 
14471 /^(?:(?(1)x|)+)+$()/B
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 /[[:>:]](?<)/
14490 Failed: error 162 at offset 10: subpattern name expected
14491 
14492 /((?x)(*:0))#(?'/
14493 Failed: error 162 at offset 15: subpattern name expected
14494 
14495 /(?C$[$)(?<]/
14496 Failed: error 162 at offset 10: subpattern name expected
14497 
14498 /(?C$)$)(?<]/
14499 Failed: error 162 at offset 10: subpattern name expected
14500 
14501 /(?(R))*+/B
14502 ------------------------------------------------------------------
14503         Bra
14504         Braposzero
14505         SBraPos
14506         SCond
14507         Cond recurse any
14508         Ket
14509         KetRpos
14510         Ket
14511         End
14512 ------------------------------------------------------------------
14513     abcd
14514  0: 
14515 
14516 /((?x)(?#))#(?'/
14517 Failed: error 162 at offset 14: subpattern name expected
14518 
14519 /((?x)(?#))#(?'abc')/I
14520 Capture group count = 2
14521 Named capture groups:
14522   abc   2
14523 First code unit = '#'
14524 Subject length lower bound = 1
14525 
14526 /[[:\\](?<[::]/
14527 Failed: error 162 at offset 9: subpattern name expected
14528 
14529 /[[:\\](?'abc')[a:]/I
14530 Capture group count = 1
14531 Named capture groups:
14532   abc   1
14533 Starting code units: : [ \ 
14534 Subject length lower bound = 2
14535 
14536 "[[[.\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[[[:[::::::[[[:[[[[[[[[:[[::[::::[[:::::::[[:[[[[[[[:[[::[:[[:[~"
14537 Failed: error 106 at offset 353: missing terminating ] for character class
14538 
14539 /()(?(R)0)*+/B
14540 ------------------------------------------------------------------
14541         Bra
14542         CBra 1
14543         Ket
14544         Braposzero
14545         SBraPos
14546         SCond
14547         Cond recurse any
14548         0
14549         Ket
14550         KetRpos
14551         Ket
14552         End
14553 ------------------------------------------------------------------
14554 
14555 /(?R-:(?</
14556 Failed: error 158 at offset 3: (?R (recursive pattern call) must be followed by a closing parenthesis
14557 
14558 /(?R-:(?<)/
14559 Failed: error 158 at offset 3: (?R (recursive pattern call) must be followed by a closing parenthesis
14560 
14561 /(?(?C{\Q})(?!(?'/
14562 Failed: error 162 at offset 16: subpattern name expected
14563 
14564 /(?(?C{\Q})(?!(?'abc')))/I
14565 Capture group count = 1
14566 Named capture groups:
14567   abc   1
14568 May match empty string
14569 Subject length lower bound = 0
14570 
14571 /(?1){3918}(((((0(\k'R'))))(?J)(?'R'(?'R'\3){99})))/I
14572 Capture group count = 8
14573 Max back reference = 8
14574 Named capture groups:
14575   R   7
14576   R   8
14577 Duplicate name status changes
14578 Last code unit = '0'
14579 Subject length lower bound = 65535
14580 
14581 /(?|(aaa)|(b))\g{1}/I
14582 Capture group count = 1
14583 Max back reference = 1
14584 Starting code units: a b 
14585 Subject length lower bound = 1
14586 
14587 /(?|(aaa)|(b))(?1)/I
14588 Capture group count = 1
14589 Starting code units: a b 
14590 Subject length lower bound = 4
14591 
14592 /(?|(aaa)|(b))/I
14593 Capture group count = 1
14594 Starting code units: a b 
14595 Subject length lower bound = 1
14596 
14597 /(?|(?'a'aaa)|(?'a'b))\k'a'/I
14598 Capture group count = 1
14599 Max back reference = 1
14600 Named capture groups:
14601   a   1
14602 Starting code units: a b 
14603 Subject length lower bound = 1
14604 
14605 /(?|(?'a'aaa)|(?'a'b))(?'a'cccc)\k'a'/I,dupnames
14606 Capture group count = 2
14607 Max back reference = 2
14608 Named capture groups:
14609   a   1
14610   a   2
14611 Options: dupnames
14612 Starting code units: a b 
14613 Last code unit = 'c'
14614 Subject length lower bound = 5
14615 
14616 /ab{3cd/
14617     ab{3cd
14618  0: ab{3cd
14619 
14620 /ab{3,cd/
14621     ab{3,cd
14622  0: ab{3,cd
14623 
14624 /ab{3,4a}cd/
14625     ab{3,4a}cd
14626  0: ab{3,4a}cd
14627 
14628 /{4,5a}bc/
14629     {4,5a}bc
14630  0: {4,5a}bc
14631 
14632 /\x0{ab}/
14633     \0{ab}
14634  0: \x00{ab}
14635 
14636 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/
14637     ababababbbabZXXXX
14638  0: ababababbbabZ
14639  1: ab
14640  2: b
14641 
14642 /.*?a(*PRUNE)b/
14643     aab
14644  0: ab
14645 
14646 /.*?a(*PRUNE)b/s
14647     aab
14648  0: ab
14649 
14650 /^a(*PRUNE)b/s
14651 \= Expect no match
14652     aab
14653 No match
14654 
14655 /.*?a(*SKIP)b/
14656     aab
14657  0: ab
14658 
14659 /(?(8000000000/
14660 Failed: error 161 at offset 8: subpattern number is too big
14661 
14662 /((?(R8000000000)))/
14663 Failed: error 161 at offset 9: subpattern number is too big
14664 
14665 /0(?0)|(1)(*THEN)(*SKIP:0)(*FAIL)/
14666 \= Expect no match
14667     01
14668 No match
14669 
14670 /(?(1)()\983040\2)/
14671 Failed: error 161 at offset 14: subpattern number is too big
14672 
14673 /(*LIMIT_MATCH=)abc/
14674 Failed: error 160 at offset 14: (*VERB) not recognized or malformed
14675 
14676 /(*CRLF)(*LIMIT_MATCH=)abc/
14677 Failed: error 160 at offset 21: (*VERB) not recognized or malformed
14678 
14679 /(?:ab)?(?:ab)(?:ab)/
14680     abab
14681  0: abab
14682     ababab
14683  0: ababab
14684 \= Expect no match
14685     aba
14686 No match
14687 
14688 /((*MARK:A))++a(*SKIP:B)b/
14689 \= Expect no match
14690     aacb
14691 No match
14692 
14693 /(*MARK:a\zb)z/alt_verbnames
14694 Failed: error 140 at offset 10: invalid escape sequence in (*VERB) name
14695 
14696 /(*:ab\t(d\)c)xxx/
14697 Failed: error 122 at offset 12: unmatched closing parenthesis
14698 
14699 /(*:ab\t(d\)c)xxx/alt_verbnames,mark
14700     cxxxz
14701  0: xxx
14702 MK: ab\x09(d)c
14703 
14704 /(*:A\Qxx)x\EB)x/alt_verbnames,mark
14705     x
14706  0: x
14707 MK: Axx)xB
14708 
14709 /(*:A\ExxxB)x/alt_verbnames,mark
14710     x
14711  0: x
14712 MK: AxxxB
14713 
14714 /(*: A \ and #comment
14715      \ B)x/x,alt_verbnames,mark
14716     x
14717  0: x
14718 MK: A and B
14719 
14720 /(*: A \ and #comment
14721      \ B)x/alt_verbnames,mark
14722     x
14723  0: x
14724 MK:  A  and #comment\x0a      B
14725 
14726 /(*: A \ and #comment
14727      \ B)x/x,mark
14728     x
14729  0: x
14730 MK:  A \ and #comment\x0a     \ B
14731 
14732 /(*: A \ and #comment
14733      \ B)x/mark
14734     x
14735  0: x
14736 MK:  A \ and #comment\x0a     \ B
14737 
14738 /(*:A
14739 B)x/alt_verbnames,mark
14740     x
14741  0: x
14742 MK: A\x0aB
14743 
14744 /(*:abc\Qpqr)/alt_verbnames
14745 Failed: error 160 at offset 12: (*VERB) not recognized or malformed
14746 
14747 /abc/use_offset_limit
14748     1234abcde\=offset_limit=100
14749  0: abc
14750     1234abcde\=offset_limit=9
14751  0: abc
14752     1234abcde\=offset_limit=4
14753  0: abc
14754     1234abcde\=offset_limit=4,offset=4
14755  0: abc
14756 \= Expect no match
14757     1234abcde\=offset_limit=4,offset=5
14758 No match
14759     1234abcde\=offset_limit=3
14760 No match
14761 
14762 /(?<=abc)/use_offset_limit
14763     1234abc\=offset_limit=7
14764  0: 
14765 \= Expect no match
14766     1234abc\=offset_limit=6
14767 No match
14768 
14769 /A/g,replace=-,use_offset_limit
14770     XAXAXAXAXA\=offset_limit=4
14771  2: X-X-XAXAXA
14772 
14773 /abc/
14774 \= Expect error
14775     1234abcde\=offset_limit=4
14776 Failed: error -56: offset limit set without PCRE2_USE_OFFSET_LIMIT
14777 
14778 /^\w/m,use_offset_limit
14779     \n..\naa\=offset_limit=3
14780 No match
14781     \n..\naa\=offset_limit=4
14782  0: a
14783 
14784 /abcd/null_context
14785     abcd\=null_context
14786  0: abcd
14787 \= Expect error - not allowed together
14788     abcd\=null_context,find_limits
14789 ** Not allowed together: find_limits null_context
14790     abcd\=allusedtext,startchar
14791 ** Not allowed together: allusedtext startchar
14792 
14793 /abcd/replace=w\rx\x82y\o{333}z(\Q12\$34$$\x34\E5$$),substitute_extended
14794     abcd
14795  1: w\x0dx\x82y\xdbz(12\$34$$\x345$)
14796 
14797 /abcd/replace=w\rx\x82y\o{333}z(\Q12\$34$$\x34\E5$$),substitute_extended,substitute_literal
14798     >>abcd<<
14799  1: >>w\rx\x82y\o{333}z(\Q12\$34$$\x34\E5$$)<<
14800     
14801 /abcd/g,replace=\$1$2\,substitute_literal
14802     XabcdYabcdZ
14803  2: X\$1$2\Y\$1$2\Z
14804 
14805 /a(bc)(DE)/replace=a\u$1\U$1\E$1\l$2\L$2\Eab\Uab\LYZ\EDone,substitute_extended
14806     abcDE
14807  1: aBcBCbcdEdeabAByzDone
14808 
14809 /abcd/replace=xy\kz,substitute_extended
14810     abcd
14811 Failed: error -57 at offset 4 in replacement: bad escape sequence in replacement string
14812 
14813 /a(?:(b)|(c))/substitute_extended,replace=X${1:+1:-1}X${2:+2:-2}
14814     ab
14815  1: X1X-2
14816     ac
14817  1: X-1X2
14818     ab\=replace=${1:+$1\:$1:$2}
14819  1: b:b
14820     ac\=replace=${1:+$1\:$1:$2}
14821  1: c
14822     >>ac<<\=replace=${1:+$1\:$1:$2},substitute_literal
14823  1: >>${1:+$1\:$1:$2}<<
14824 
14825 /a(?:(b)|(c))/substitute_extended,replace=X${1:-1:-1}X${2:-2:-2}
14826     ab
14827  1: XbX2:-2
14828     ac
14829  1: X1:-1Xc
14830 
14831 /(a)/substitute_extended,replace=>${1:+\Q$1:{}$$\E+\U$1}<
14832     a
14833  1: >$1:{}$$+A<
14834 
14835 /X(b)Y/substitute_extended
14836     XbY\=replace=x${1:+$1\U$1}y
14837  1: xbBY
14838     XbY\=replace=\Ux${1:+$1$1}y
14839  1: XBBY
14840 
14841 /a/substitute_extended,replace=${*MARK:+a:b}
14842     a
14843 Failed: error -58 at offset 7 in replacement: expected closing curly bracket in replacement string
14844 
14845 /(abcd)/replace=${1:+xy\kz},substitute_extended
14846     abcd
14847 Failed: error -57 at offset 8 in replacement: bad escape sequence in replacement string
14848 
14849 /(abcd)/
14850     abcd\=replace=${1:+xy\kz},substitute_extended
14851 Failed: error -57 at offset 8 in replacement: bad escape sequence in replacement string
14852 
14853 /abcd/substitute_extended,replace=>$1<
14854     abcd
14855 Failed: error -49 at offset 3 in replacement: unknown substring
14856 
14857 /abcd/substitute_extended,replace=>xxx${xyz}<<<
14858     abcd
14859 Failed: error -49 at offset 10 in replacement: unknown substring
14860 
14861 /(?J)(?:(?<A>a)|(?<A>b))/replace=<$A>
14862     [a]
14863  1: [<a>]
14864     [b]
14865  1: [<b>]
14866 \= Expect error
14867     (a)\=ovector=1
14868 Failed: error -54 at offset 3 in replacement: requested value is not available
14869 
14870 /(a)|(b)/replace=<$1>
14871 \= Expect error
14872     b
14873 Failed: error -55 at offset 3 in replacement: requested value is not set
14874 
14875 /(aa)(BB)/substitute_extended,replace=\U$1\L$2\E$1..\U$1\l$2$1
14876     aaBB
14877  1: AAbbaa..AAbBaa
14878     
14879 /abcd/replace=wxyz,substitute_matched
14880     abcd
14881  1: wxyz
14882     pqrs 
14883  0: pqrs
14884 
14885 /abcd/g
14886     >abcd1234abcd5678<\=replace=wxyz,substitute_matched
14887  2: >wxyz1234wxyz5678<
14888 
14889 /^(o(\1{72}{\"{\\{00000059079}\d*){74}}){19}/I
14890 Capture group count = 2
14891 Max back reference = 1
14892 Compile options: <none>
14893 Overall options: anchored
14894 First code unit = 'o'
14895 Last code unit = '}'
14896 Subject length lower bound = 65535
14897 
14898 /((p(?'K/
14899 Failed: error 142 at offset 7: syntax error in subpattern name (missing terminator?)
14900 
14901 /((p(?'K/no_auto_capture
14902 Failed: error 142 at offset 7: syntax error in subpattern name (missing terminator?)
14903 
14904 /abc/replace=A$3123456789Z
14905     abc
14906 Failed: error -49 at offset 3 in replacement: unknown substring
14907 
14908 /(?<!a{65535}a{5})x/I
14909 Failed: error 187 at offset 0: lookbehind assertion is too long
14910 
14911 /(?<!a{65535})x/I
14912 Capture group count = 0
14913 Max lookbehind = 65535
14914 First code unit = 'x'
14915 Subject length lower bound = 1
14916 
14917 /(?=a\K)/replace=z
14918     BaCaD
14919 Failed: error -60: match with end before start or start moved backwards is not supported
14920     
14921 /(?<=\K.)/g,replace=-
14922     ab
14923 Failed: error -60: match with end before start or start moved backwards is not supported
14924 
14925 /(?'abcdefghijklmnopqrstuvwxyzABCDEFG'toolong)/
14926 Failed: error 148 at offset 36: subpattern name is too long (maximum 32 code units)
14927 
14928 /(?'abcdefghijklmnopqrstuvwxyzABCDEF'justright)/
14929 
14930 # These two use zero-termination
14931 /abcd/max_pattern_length=3
14932 Failed: error 188 at offset 0: pattern string is longer than the limit set by the application
14933 
14934 /abc/max_pattern_length=3
14935 
14936 # These two, being hex, pass the length
14937 /abcdefab/hex,max_pattern_length=3
14938 Failed: error 188 at offset 0: pattern string is longer than the limit set by the application
14939 
14940 /abcdef/hex,max_pattern_length=3
14941 
14942 # These patterns used to take a long time to compile
14943 
14944 "(.*)
14945 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14946 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14947 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))"xI
14948 Capture group count = 12
14949 May match empty string
14950 Options: extended
14951 First code unit at start or follows newline
14952 Subject length lower bound = 0
14953 
14954 "(?<=a()
14955 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14956 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14957 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14958 a)"xI
14959 Capture group count = 12
14960 Max lookbehind = 2
14961 May match empty string
14962 Options: extended
14963 Subject length lower bound = 0
14964 
14965 "(?|()|())(.*)
14966 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14967 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14968 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))"xI
14969 Capture group count = 13
14970 May match empty string
14971 Options: extended
14972 Subject length lower bound = 0
14973 
14974 "(?|()|())(?<=a()
14975 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14976 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14977 ((?-2)(?-2))((?-2)(?-2))((?-2)(?-2))
14978 a)"xI
14979 Failed: error 135 at offset 9: lookbehind is too complicated
14980 
14981 # Test the use of malloc for caching group information when there are more
14982 # groups than fit into the on-stack workspace.
14983 
14984 /\[()]{1024}/I,expand
14985 Expanded: ()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()
14986 Capture group count = 1024
14987 May match empty string
14988 Subject length lower bound = 0
14989 
14990 # Test minlength capped at 65535
14991 
14992 /(A{65000})\1{65000}/I
14993 Capture group count = 1
14994 Max back reference = 1
14995 First code unit = 'A'
14996 Last code unit = 'A'
14997 Subject length lower bound = 65535
14998 
14999 # Test group scans when numbers are not unique
15000 
15001 /(?|()+|(a)+)/BI
15002 ------------------------------------------------------------------
15003         Bra
15004         Bra
15005         SCBra 1
15006         KetRmax
15007         Alt
15008         CBra 1
15009         a
15010         KetRmax
15011         Ket
15012         Ket
15013         End
15014 ------------------------------------------------------------------
15015 Capture group count = 1
15016 May match empty string
15017 Subject length lower bound = 0
15018 
15019 /(?|(a)+|()+)/BI
15020 ------------------------------------------------------------------
15021         Bra
15022         Bra
15023         CBra 1
15024         a
15025         KetRmax
15026         Alt
15027         SCBra 1
15028         KetRmax
15029         Ket
15030         Ket
15031         End
15032 ------------------------------------------------------------------
15033 Capture group count = 1
15034 May match empty string
15035 Subject length lower bound = 0
15036 
15037 /(?|()|(a))/BI
15038 ------------------------------------------------------------------
15039         Bra
15040         Bra
15041         CBra 1
15042         Ket
15043         Alt
15044         CBra 1
15045         a
15046         Ket
15047         Ket
15048         Ket
15049         End
15050 ------------------------------------------------------------------
15051 Capture group count = 1
15052 May match empty string
15053 Subject length lower bound = 0
15054 
15055 /(?|(a)|())/BI
15056 ------------------------------------------------------------------
15057         Bra
15058         Bra
15059         CBra 1
15060         a
15061         Ket
15062         Alt
15063         CBra 1
15064         Ket
15065         Ket
15066         Ket
15067         End
15068 ------------------------------------------------------------------
15069 Capture group count = 1
15070 May match empty string
15071 Subject length lower bound = 0
15072 
15073 # Test CRLF handling in empty string substitutions
15074 
15075 /^$/gm,newline=anycrlf,replace=-
15076     X\r\n\r\nY
15077  1: X\x0d\x0a-\x0d\x0aY
15078 
15079 /^$/gm,newline=crlf,replace=-
15080     X\r\n\r\nY
15081  1: X\x0d\x0a-\x0d\x0aY
15082 
15083 /^$/gm,newline=any,replace=-
15084     X\r\n\r\nY
15085  1: X\x0d\x0a-\x0d\x0aY
15086 
15087 "(*ANYCRLF)(?m)^(.*[^0-9\r\n].*|)$"g,replace=NaN
15088     15\r\nfoo\r\n20\r\nbar\r\nbaz\r\n\r\n20
15089  4: 15\x0d\x0aNaN\x0d\x0a20\x0d\x0aNaN\x0d\x0aNaN\x0d\x0aNaN\x0d\x0a20
15090 
15091 /a[[:punct:]b]/bincode
15092 ------------------------------------------------------------------
15093         Bra
15094         a
15095         [!-/:-@[-`b{-~]
15096         Ket
15097         End
15098 ------------------------------------------------------------------
15099 
15100 /a[b[:punct:]]/bincode
15101 ------------------------------------------------------------------
15102         Bra
15103         a
15104         [!-/:-@[-`b{-~]
15105         Ket
15106         End
15107 ------------------------------------------------------------------
15108 
15109 /L(?#(|++<!(2)?/B
15110 ------------------------------------------------------------------
15111         Bra
15112         L?+
15113         Ket
15114         End
15115 ------------------------------------------------------------------
15116 
15117 /L(?#(|++<!(2)?/B,no_auto_possess
15118 ------------------------------------------------------------------
15119         Bra
15120         L?
15121         Ket
15122         End
15123 ------------------------------------------------------------------
15124 
15125 /L(?#(|++<!(2)?/B,auto_callout
15126 ------------------------------------------------------------------
15127         Bra
15128         Callout 255 0 14
15129         L?+
15130         Callout 255 14 0
15131         Ket
15132         End
15133 ------------------------------------------------------------------
15134 
15135 /L(?#(|++<!(2)?/B,no_auto_possess,auto_callout
15136 ------------------------------------------------------------------
15137         Bra
15138         Callout 255 0 14
15139         L?
15140         Callout 255 14 0
15141         Ket
15142         End
15143 ------------------------------------------------------------------
15144 
15145 /(A*)\E+/B,auto_callout
15146 ------------------------------------------------------------------
15147         Bra
15148         Callout 255 0 1
15149         SCBra 1
15150         Callout 255 1 2
15151         A*
15152         Callout 255 3 4
15153         KetRmax
15154         Callout 255 7 0
15155         Ket
15156         End
15157 ------------------------------------------------------------------
15158 
15159 /()\Q\E*]/B,auto_callout
15160 ------------------------------------------------------------------
15161         Bra
15162         Callout 255 0 1
15163         Brazero
15164         SCBra 1
15165         Callout 255 1 6
15166         KetRmax
15167         Callout 255 7 1
15168         ]
15169         Callout 255 8 0
15170         Ket
15171         End
15172 ------------------------------------------------------------------
15173     a[bc]d
15174 --->a[bc]d
15175  +0     ^      (
15176  +1     ^      )\Q\E*
15177  +7     ^      ]
15178  +8     ^^     End of pattern
15179  0: ]
15180  1: 
15181 
15182 /\x8a+f|;T?(*:;.'?`(\xeap ){![^()!y*''C*(?';]{1;(\x08)/B,alt_verbnames,dupnames,extended
15183 ------------------------------------------------------------------
15184         Bra
15185         \x{8a}++
15186         f
15187         Alt
15188         ;
15189         T?
15190         *MARK ;.'?`(\x{ea}p
15191         {!
15192         [\x00- "-&+-:<->@-BD-xz-\xff] (neg)
15193         {1;
15194         CBra 1
15195         \x08
15196         Ket
15197         Ket
15198         End
15199 ------------------------------------------------------------------
15200 
15201 # Tests for NULL characters in comments and verb "names" and callouts
15202 
15203 # /A#B\x00C\x0aZ/
15204 /41 23 42 00 43 0a 5a/Bx,hex
15205 ------------------------------------------------------------------
15206         Bra
15207         AZ
15208         Ket
15209         End
15210 ------------------------------------------------------------------
15211 
15212 # /A+#B\x00C\x0a+/
15213 /41 2b 23 42 00 43 0a 2b/Bx,hex
15214 ------------------------------------------------------------------
15215         Bra
15216         A++
15217         Ket
15218         End
15219 ------------------------------------------------------------------
15220 
15221 # /A(*:B\x00W#X\00Y\x0aC)Z/
15222 /41 28 2a 3a 42 00 57 23 58 00 59 0a 43 29 5a/Bx,hex,alt_verbnames
15223 ------------------------------------------------------------------
15224         Bra
15225         A
15226         *MARK B\x{0}WC
15227         Z
15228         Ket
15229         End
15230 ------------------------------------------------------------------
15231 
15232 # /A(*:B\x00W#X\00Y\x0aC)Z/
15233 /41 28 2a 3a 42 00 57 23 58 00 59 0a 43 29 5a/Bx,hex
15234 ------------------------------------------------------------------
15235         Bra
15236         A
15237         *MARK B\x{0}W#X\x{0}Y\x{a}C
15238         Z
15239         Ket
15240         End
15241 ------------------------------------------------------------------
15242 
15243 # /A(?C{X\x00Y})B/
15244 /41 28 3f 43 7b 58 00 59 7d 29 42/B,hex
15245 ------------------------------------------------------------------
15246         Bra
15247         A
15248         CalloutStr {X\x{0}Y} 5 10 1
15249         B
15250         Ket
15251         End
15252 ------------------------------------------------------------------
15253 
15254 # /A(?#X\x00Y)B/
15255 /41 28 3f 23 7b 00 7d 29 42/B,hex
15256 ------------------------------------------------------------------
15257         Bra
15258         AB
15259         Ket
15260         End
15261 ------------------------------------------------------------------
15262 
15263 # Tests for leading comment in extended patterns
15264 
15265 / (?-x):?/extended
15266 
15267 /(?-x):?/extended
15268 
15269 /0b 28 3f 2d 78 29 3a/hex,extended
15270 
15271 /#comment
15272 (?-x):?/extended
15273 
15274 /(8(*:6^\x09x\xa6l\)6!|\xd0:[^:|)\x09d\Z\d{85*m(?'(?<1!)*\W[*\xff]!!h\w]*\xbe;/alt_bsux,alt_verbnames,allow_empty_class,dollar_endonly,extended,multiline,never_utf,no_dotstar_anchor,no_start_optimize
15275 Failed: error 162 at offset 49: subpattern name expected
15276 
15277 /a|(b)c/replace=>$1<,substitute_unset_empty
15278     cat
15279  1: c><t
15280     xbcom
15281  1: x>b<om
15282 
15283 /a|(b)c/
15284     cat\=replace=>$1<
15285 Failed: error -55 at offset 3 in replacement: requested value is not set
15286     cat\=replace=>$1<,substitute_unset_empty
15287  1: c><t
15288     xbcom\=replace=>$1<,substitute_unset_empty
15289  1: x>b<om
15290 
15291 /a|(b)c/substitute_extended
15292     cat\=replace=>${2:-xx}<
15293 Failed: error -49 at offset 9 in replacement: unknown substring
15294     cat\=replace=>${2:-xx}<,substitute_unknown_unset
15295  1: c>xx<t
15296     cat\=replace=>${X:-xx}<,substitute_unknown_unset
15297  1: c>xx<t
15298 
15299 /a|(?'X'b)c/replace=>$X<,substitute_unset_empty
15300     cat
15301  1: c><t
15302     xbcom
15303  1: x>b<om
15304 
15305 /a|(?'X'b)c/replace=>$Y<,substitute_unset_empty
15306     cat
15307 Failed: error -49 at offset 3 in replacement: unknown substring
15308     cat\=substitute_unknown_unset
15309  1: c><t
15310     cat\=substitute_unknown_unset,-substitute_unset_empty
15311 Failed: error -55 at offset 3 in replacement: requested value is not set
15312 
15313