"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.4.1/pcre/testdata/testoutput2" (28 Aug 2013, 161801 Bytes) of archive /linux/misc/tin-2.4.1.tar.gz:


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.

    1 /(a)b|/I
    2 Capturing subpattern count = 1
    3 No options
    4 No first char
    5 No need char
    6 
    7 /abc/I
    8 Capturing subpattern count = 0
    9 No options
   10 First char = 'a'
   11 Need char = 'c'
   12     abc
   13  0: abc
   14     defabc
   15  0: abc
   16     \Aabc
   17  0: abc
   18     *** Failers
   19 No match
   20     \Adefabc
   21 No match
   22     ABC
   23 No match
   24 
   25 /^abc/I
   26 Capturing subpattern count = 0
   27 Options: anchored
   28 No first char
   29 No need char
   30     abc
   31  0: abc
   32     \Aabc
   33  0: abc
   34     *** Failers
   35 No match
   36     defabc
   37 No match
   38     \Adefabc
   39 No match
   40 
   41 /a+bc/I
   42 Capturing subpattern count = 0
   43 Partial matching not supported
   44 No options
   45 First char = 'a'
   46 Need char = 'c'
   47 
   48 /a*bc/I
   49 Capturing subpattern count = 0
   50 Partial matching not supported
   51 No options
   52 No first char
   53 Need char = 'c'
   54 
   55 /a{3}bc/I
   56 Capturing subpattern count = 0
   57 Partial matching not supported
   58 No options
   59 First char = 'a'
   60 Need char = 'c'
   61 
   62 /(abc|a+z)/I
   63 Capturing subpattern count = 1
   64 Partial matching not supported
   65 No options
   66 First char = 'a'
   67 No need char
   68 
   69 /^abc$/I
   70 Capturing subpattern count = 0
   71 Options: anchored
   72 No first char
   73 No need char
   74     abc
   75  0: abc
   76     *** Failers
   77 No match
   78     def\nabc
   79 No match
   80 
   81 /ab\hdef/X
   82 Failed: unrecognized character follows \ at offset 3
   83 
   84 /(?X)ab\hdef/X
   85 Failed: unrecognized character follows \ at offset 7
   86 
   87 /x{5,4}/
   88 Failed: numbers out of order in {} quantifier at offset 5
   89 
   90 /z{65536}/
   91 Failed: number too big in {} quantifier at offset 7
   92 
   93 /[abcd/
   94 Failed: missing terminating ] for character class at offset 5
   95 
   96 /(?X)[\B]/
   97 Failed: invalid escape sequence in character class at offset 6
   98 
   99 /[z-a]/
  100 Failed: range out of order in character class at offset 3
  101 
  102 /^*/
  103 Failed: nothing to repeat at offset 1
  104 
  105 /(abc/
  106 Failed: missing ) at offset 4
  107 
  108 /(?# abc/
  109 Failed: missing ) after comment at offset 7
  110 
  111 /(?z)abc/
  112 Failed: unrecognized character after (? at offset 2
  113 
  114 /.*b/I
  115 Capturing subpattern count = 0
  116 Partial matching not supported
  117 No options
  118 First char at start or follows newline
  119 Need char = 'b'
  120 
  121 /.*?b/I
  122 Capturing subpattern count = 0
  123 Partial matching not supported
  124 No options
  125 First char at start or follows newline
  126 Need char = 'b'
  127 
  128 /cat|dog|elephant/I
  129 Capturing subpattern count = 0
  130 No options
  131 No first char
  132 No need char
  133     this sentence eventually mentions a cat
  134  0: cat
  135     this sentences rambles on and on for a while and then reaches elephant
  136  0: elephant
  137 
  138 /cat|dog|elephant/IS
  139 Capturing subpattern count = 0
  140 No options
  141 No first char
  142 No need char
  143 Starting byte set: c d e 
  144     this sentence eventually mentions a cat
  145  0: cat
  146     this sentences rambles on and on for a while and then reaches elephant
  147  0: elephant
  148 
  149 /cat|dog|elephant/IiS
  150 Capturing subpattern count = 0
  151 Options: caseless
  152 No first char
  153 No need char
  154 Starting byte set: C D E c d e 
  155     this sentence eventually mentions a CAT cat
  156  0: CAT
  157     this sentences rambles on and on for a while to elephant ElePhant
  158  0: elephant
  159 
  160 /a|[bcd]/IS
  161 Capturing subpattern count = 0
  162 No options
  163 No first char
  164 No need char
  165 Starting byte set: a b c d 
  166 
  167 /(a|[^\dZ])/IS
  168 Capturing subpattern count = 1
  169 No options
  170 No first char
  171 No need char
  172 Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 
  173   \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 
  174   \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > 
  175   ? @ 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 
  176   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 
  177   \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 
  178   \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 
  179   \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 
  180   \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 
  181   \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 
  182   \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 
  183   \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 
  184   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
  185   \xfc \xfd \xfe \xff 
  186 
  187 /(a|b)*[\s]/IS
  188 Capturing subpattern count = 1
  189 No options
  190 No first char
  191 No need char
  192 Starting byte set: \x09 \x0a \x0c \x0d \x20 a b 
  193 
  194 /(ab\2)/
  195 Failed: reference to non-existent subpattern at offset 6
  196 
  197 /{4,5}abc/
  198 Failed: nothing to repeat at offset 4
  199 
  200 /(a)(b)(c)\2/I
  201 Capturing subpattern count = 3
  202 Max back reference = 2
  203 No options
  204 First char = 'a'
  205 Need char = 'c'
  206     abcb
  207  0: abcb
  208  1: a
  209  2: b
  210  3: c
  211     \O0abcb
  212 Matched, but too many substrings
  213     \O3abcb
  214 Matched, but too many substrings
  215  0: abcb
  216     \O6abcb
  217 Matched, but too many substrings
  218  0: abcb
  219  1: a
  220     \O9abcb
  221 Matched, but too many substrings
  222  0: abcb
  223  1: a
  224  2: b
  225     \O12abcb 
  226  0: abcb
  227  1: a
  228  2: b
  229  3: c
  230 
  231 /(a)bc|(a)(b)\2/I
  232 Capturing subpattern count = 3
  233 Max back reference = 2
  234 No options
  235 First char = 'a'
  236 No need char
  237     abc
  238  0: abc
  239  1: a
  240     \O0abc
  241 Matched, but too many substrings
  242     \O3abc
  243 Matched, but too many substrings
  244  0: abc
  245     \O6abc
  246  0: abc
  247  1: a
  248     aba
  249  0: aba
  250  1: <unset>
  251  2: a
  252  3: b
  253     \O0aba
  254 Matched, but too many substrings
  255     \O3aba
  256 Matched, but too many substrings
  257  0: aba
  258     \O6aba
  259 Matched, but too many substrings
  260  0: aba
  261  1: <unset>
  262     \O9aba
  263 Matched, but too many substrings
  264  0: aba
  265  1: <unset>
  266  2: a
  267     \O12aba
  268  0: aba
  269  1: <unset>
  270  2: a
  271  3: b
  272 
  273 /abc$/IE
  274 Capturing subpattern count = 0
  275 Options: dollar_endonly
  276 First char = 'a'
  277 Need char = 'c'
  278     abc
  279  0: abc
  280     *** Failers
  281 No match
  282     abc\n
  283 No match
  284     abc\ndef
  285 No match
  286 
  287 /(a)(b)(c)(d)(e)\6/
  288 Failed: reference to non-existent subpattern at offset 17
  289 
  290 /the quick brown fox/I
  291 Capturing subpattern count = 0
  292 No options
  293 First char = 't'
  294 Need char = 'x'
  295     the quick brown fox
  296  0: the quick brown fox
  297     this is a line with the quick brown fox
  298  0: the quick brown fox
  299 
  300 /the quick brown fox/IA
  301 Capturing subpattern count = 0
  302 Options: anchored
  303 No first char
  304 No need char
  305     the quick brown fox
  306  0: the quick brown fox
  307     *** Failers
  308 No match
  309     this is a line with the quick brown fox
  310 No match
  311 
  312 /ab(?z)cd/
  313 Failed: unrecognized character after (? at offset 4
  314 
  315 /^abc|def/I
  316 Capturing subpattern count = 0
  317 No options
  318 No first char
  319 No need char
  320     abcdef
  321  0: abc
  322     abcdef\B
  323  0: def
  324 
  325 /.*((abc)$|(def))/I
  326 Capturing subpattern count = 3
  327 Partial matching not supported
  328 No options
  329 First char at start or follows newline
  330 No need char
  331     defabc
  332  0: defabc
  333  1: abc
  334  2: abc
  335     \Zdefabc
  336  0: def
  337  1: def
  338  2: <unset>
  339  3: def
  340 
  341 /abc/IP
  342     abc
  343  0: abc
  344     *** Failers
  345 No match: POSIX code 17: match failed
  346     
  347 /^abc|def/IP
  348     abcdef
  349  0: abc
  350     abcdef\B
  351  0: def
  352 
  353 /.*((abc)$|(def))/IP
  354     defabc
  355  0: defabc
  356  1: abc
  357  2: abc
  358     \Zdefabc
  359  0: def
  360  1: def
  361  3: def
  362   
  363 /the quick brown fox/IP
  364     the quick brown fox
  365  0: the quick brown fox
  366     *** Failers 
  367 No match: POSIX code 17: match failed
  368     The Quick Brown Fox 
  369 No match: POSIX code 17: match failed
  370 
  371 /the quick brown fox/IPi
  372     the quick brown fox
  373  0: the quick brown fox
  374     The Quick Brown Fox 
  375  0: The Quick Brown Fox
  376 
  377 /abc.def/IP
  378     *** Failers
  379 No match: POSIX code 17: match failed
  380     abc\ndef
  381 No match: POSIX code 17: match failed
  382     
  383 /abc$/IP
  384     abc
  385  0: abc
  386     abc\n 
  387  0: abc
  388 
  389 /(abc)\2/IP
  390 Failed: POSIX code 15: bad back reference at offset 7     
  391 
  392 /(abc\1)/IP
  393     abc
  394 No match: POSIX code 17: match failed
  395 
  396 /)/
  397 Failed: unmatched parentheses at offset 0
  398 
  399 /a[]b/
  400 Failed: missing terminating ] for character class at offset 4
  401 
  402 /[^aeiou ]{3,}/I
  403 Capturing subpattern count = 0
  404 Partial matching not supported
  405 No options
  406 No first char
  407 No need char
  408     co-processors, and for 
  409  0: -pr
  410     
  411 /<.*>/I
  412 Capturing subpattern count = 0
  413 Partial matching not supported
  414 No options
  415 First char = '<'
  416 Need char = '>'
  417     abc<def>ghi<klm>nop
  418  0: <def>ghi<klm>
  419 
  420 /<.*?>/I
  421 Capturing subpattern count = 0
  422 Partial matching not supported
  423 No options
  424 First char = '<'
  425 Need char = '>'
  426     abc<def>ghi<klm>nop
  427  0: <def>
  428 
  429 /<.*>/IU
  430 Capturing subpattern count = 0
  431 Partial matching not supported
  432 Options: ungreedy
  433 First char = '<'
  434 Need char = '>'
  435     abc<def>ghi<klm>nop
  436  0: <def>
  437     
  438 /(?U)<.*>/I
  439 Capturing subpattern count = 0
  440 Partial matching not supported
  441 Options: ungreedy
  442 First char = '<'
  443 Need char = '>'
  444     abc<def>ghi<klm>nop
  445  0: <def>
  446 
  447 /<.*?>/IU
  448 Capturing subpattern count = 0
  449 Partial matching not supported
  450 Options: ungreedy
  451 First char = '<'
  452 Need char = '>'
  453     abc<def>ghi<klm>nop
  454  0: <def>ghi<klm>
  455     
  456 /={3,}/IU
  457 Capturing subpattern count = 0
  458 Partial matching not supported
  459 Options: ungreedy
  460 First char = '='
  461 Need char = '='
  462     abc========def
  463  0: ===
  464     
  465 /(?U)={3,}?/I
  466 Capturing subpattern count = 0
  467 Partial matching not supported
  468 Options: ungreedy
  469 First char = '='
  470 Need char = '='
  471     abc========def
  472  0: ========
  473     
  474 /(?<!bar|cattle)foo/I
  475 Capturing subpattern count = 0
  476 No options
  477 First char = 'f'
  478 Need char = 'o'
  479     foo
  480  0: foo
  481     catfoo 
  482  0: foo
  483     *** Failers
  484 No match
  485     the barfoo
  486 No match
  487     and cattlefoo   
  488 No match
  489 
  490 /(?<=a+)b/
  491 Failed: lookbehind assertion is not fixed length at offset 6
  492 
  493 /(?<=aaa|b{0,3})b/
  494 Failed: lookbehind assertion is not fixed length at offset 14
  495 
  496 /(?<!(foo)a\1)bar/
  497 Failed: lookbehind assertion is not fixed length at offset 12
  498 
  499 /(?i)abc/I
  500 Capturing subpattern count = 0
  501 Options: caseless
  502 First char = 'a' (caseless)
  503 Need char = 'c' (caseless)
  504 
  505 /(a|(?m)a)/I
  506 Capturing subpattern count = 1
  507 No options
  508 First char = 'a'
  509 No need char
  510 
  511 /(?i)^1234/I
  512 Capturing subpattern count = 0
  513 Options: anchored caseless
  514 No first char
  515 No need char
  516 
  517 /(^b|(?i)^d)/I
  518 Capturing subpattern count = 1
  519 Options: anchored
  520 No first char
  521 No need char
  522 
  523 /(?s).*/I
  524 Capturing subpattern count = 0
  525 Partial matching not supported
  526 Options: anchored dotall
  527 No first char
  528 No need char
  529 
  530 /[abcd]/IS
  531 Capturing subpattern count = 0
  532 No options
  533 No first char
  534 No need char
  535 Starting byte set: a b c d 
  536 
  537 /(?i)[abcd]/IS
  538 Capturing subpattern count = 0
  539 Options: caseless
  540 No first char
  541 No need char
  542 Starting byte set: A B C D a b c d 
  543 
  544 /(?m)[xy]|(b|c)/IS
  545 Capturing subpattern count = 1
  546 Options: multiline
  547 No first char
  548 No need char
  549 Starting byte set: b c x y 
  550 
  551 /(^a|^b)/Im
  552 Capturing subpattern count = 1
  553 Options: multiline
  554 First char at start or follows newline
  555 No need char
  556 
  557 /(?i)(^a|^b)/Im
  558 Capturing subpattern count = 1
  559 Options: caseless multiline
  560 First char at start or follows newline
  561 No need char
  562 
  563 /(a)(?(1)a|b|c)/
  564 Failed: conditional group contains more than two branches at offset 13
  565 
  566 /(?(?=a)a|b|c)/
  567 Failed: conditional group contains more than two branches at offset 12
  568 
  569 /(?(1a)/
  570 Failed: missing ) at offset 6
  571 
  572 /(?(1a))/
  573 Failed: reference to non-existent subpattern at offset 6
  574 
  575 /(?(?i))/
  576 Failed: assertion expected after (?( at offset 3
  577 
  578 /(?(abc))/
  579 Failed: reference to non-existent subpattern at offset 7
  580 
  581 /(?(?<ab))/
  582 Failed: syntax error in subpattern name (missing terminator) at offset 7
  583 
  584 /((?s)blah)\s+\1/I
  585 Capturing subpattern count = 1
  586 Max back reference = 1
  587 Partial matching not supported
  588 No options
  589 First char = 'b'
  590 Need char = 'h'
  591 
  592 /((?i)blah)\s+\1/I
  593 Capturing subpattern count = 1
  594 Max back reference = 1
  595 Partial matching not supported
  596 No options
  597 First char = 'b' (caseless)
  598 Need char = 'h' (caseless)
  599 
  600 /((?i)b)/IDS
  601 ------------------------------------------------------------------
  602   0  17 Bra 0
  603   3   9 Bra 1
  604   8  01 Opt
  605  10  NC b
  606  12   9 Ket
  607  15  00 Opt
  608  17  17 Ket
  609  20     End
  610 ------------------------------------------------------------------
  611 Capturing subpattern count = 1
  612 No options
  613 First char = 'b' (caseless)
  614 No need char
  615 Study returned NULL
  616 
  617 /(a*b|(?i:c*(?-i)d))/IS
  618 Capturing subpattern count = 1
  619 Partial matching not supported
  620 No options
  621 No first char
  622 No need char
  623 Starting byte set: C a b c d 
  624 
  625 /a$/I
  626 Capturing subpattern count = 0
  627 No options
  628 First char = 'a'
  629 No need char
  630     a
  631  0: a
  632     a\n
  633  0: a
  634     *** Failers 
  635 No match
  636     \Za
  637 No match
  638     \Za\n   
  639 No match
  640 
  641 /a$/Im
  642 Capturing subpattern count = 0
  643 Options: multiline
  644 First char = 'a'
  645 No need char
  646     a
  647  0: a
  648     a\n
  649  0: a
  650     \Za\n   
  651  0: a
  652     *** Failers 
  653 No match
  654     \Za
  655 No match
  656     
  657 /\Aabc/Im
  658 Capturing subpattern count = 0
  659 Options: anchored multiline
  660 No first char
  661 No need char
  662 
  663 /^abc/Im 
  664 Capturing subpattern count = 0
  665 Options: multiline
  666 First char at start or follows newline
  667 Need char = 'c'
  668 
  669 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
  670 Capturing subpattern count = 5
  671 Partial matching not supported
  672 Options: anchored
  673 No first char
  674 No need char
  675   aaaaabbbbbcccccdef
  676  0: aaaaabbbbbcccccdef
  677  1: aaaaabbbbbcccccdef
  678  2: aaaaa
  679  3: b
  680  4: bbbbccccc
  681  5: def
  682 
  683 /(?<=foo)[ab]/IS
  684 Capturing subpattern count = 0
  685 No options
  686 No first char
  687 No need char
  688 Starting byte set: a b 
  689 
  690 /(?<!foo)(alpha|omega)/IS
  691 Capturing subpattern count = 1
  692 No options
  693 No first char
  694 Need char = 'a'
  695 Starting byte set: a o 
  696 
  697 /(?!alphabet)[ab]/IS
  698 Capturing subpattern count = 0
  699 No options
  700 No first char
  701 No need char
  702 Starting byte set: a b 
  703 
  704 /(?<=foo\n)^bar/Im
  705 Capturing subpattern count = 0
  706 Options: multiline
  707 No first char
  708 Need char = 'r'
  709     foo\nbarbar 
  710  0: bar
  711     ***Failers
  712 No match
  713     rhubarb 
  714 No match
  715     barbell
  716 No match
  717     abc\nbarton 
  718 No match
  719 
  720 /^(?<=foo\n)bar/Im
  721 Capturing subpattern count = 0
  722 Options: multiline
  723 First char at start or follows newline
  724 Need char = 'r'
  725     foo\nbarbar 
  726  0: bar
  727     ***Failers
  728 No match
  729     rhubarb 
  730 No match
  731     barbell
  732 No match
  733     abc\nbarton 
  734 No match
  735 
  736 /(?>^abc)/Im
  737 Capturing subpattern count = 0
  738 Options: multiline
  739 First char at start or follows newline
  740 Need char = 'c'
  741     abc
  742  0: abc
  743     def\nabc
  744  0: abc
  745     *** Failers
  746 No match
  747     defabc   
  748 No match
  749 
  750 /(?<=ab(c+)d)ef/
  751 Failed: lookbehind assertion is not fixed length at offset 11
  752 
  753 /(?<=ab(?<=c+)d)ef/
  754 Failed: lookbehind assertion is not fixed length at offset 12
  755 
  756 /(?<=ab(c|de)f)g/
  757 Failed: lookbehind assertion is not fixed length at offset 13
  758 
  759 /The next three are in testinput2 because they have variable length branches/
  760 
  761 /(?<=bullock|donkey)-cart/I
  762 Capturing subpattern count = 0
  763 No options
  764 First char = '-'
  765 Need char = 't'
  766     the bullock-cart
  767  0: -cart
  768     a donkey-cart race
  769  0: -cart
  770     *** Failers
  771 No match
  772     cart
  773 No match
  774     horse-and-cart    
  775 No match
  776       
  777 /(?<=ab(?i)x|y|z)/I
  778 Capturing subpattern count = 0
  779 No options
  780 No first char
  781 No need char
  782 
  783 /(?>.*)(?<=(abcd)|(xyz))/I
  784 Capturing subpattern count = 2
  785 Partial matching not supported
  786 No options
  787 First char at start or follows newline
  788 No need char
  789     alphabetabcd
  790  0: alphabetabcd
  791  1: abcd
  792     endingxyz
  793  0: endingxyz
  794  1: <unset>
  795  2: xyz
  796 
  797 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
  798 Capturing subpattern count = 0
  799 No options
  800 First char = 'Z'
  801 Need char = 'Z'
  802     abxyZZ
  803  0: ZZ
  804     abXyZZ
  805  0: ZZ
  806     ZZZ
  807  0: ZZ
  808     zZZ
  809  0: ZZ
  810     bZZ
  811  0: ZZ
  812     BZZ     
  813  0: ZZ
  814     *** Failers
  815 No match
  816     ZZ 
  817 No match
  818     abXYZZ 
  819 No match
  820     zzz
  821 No match
  822     bzz  
  823 No match
  824 
  825 /(?<!(foo)a)bar/I
  826 Capturing subpattern count = 1
  827 No options
  828 First char = 'b'
  829 Need char = 'r'
  830     bar
  831  0: bar
  832     foobbar 
  833  0: bar
  834     *** Failers
  835 No match
  836     fooabar  
  837 No match
  838 
  839 /This one is here because Perl 5.005_02 doesn't fail it/I
  840 Capturing subpattern count = 0
  841 No options
  842 First char = 'T'
  843 Need char = 't'
  844 
  845 /^(a)?(?(1)a|b)+$/I
  846 Capturing subpattern count = 1
  847 Options: anchored
  848 No first char
  849 No need char
  850     *** Failers
  851 No match
  852     a 
  853 No match
  854 
  855 /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I
  856 Capturing subpattern count = 0
  857 No options
  858 First char = 'T'
  859 Need char = 'g'
  860 
  861 /^(a\1?){4}$/I
  862 Capturing subpattern count = 1
  863 Max back reference = 1
  864 Options: anchored
  865 No first char
  866 No need char
  867     aaaaaa
  868  0: aaaaaa
  869  1: aa
  870     
  871 /These are syntax tests from Perl 5.005/I
  872 Capturing subpattern count = 0
  873 No options
  874 First char = 'T'
  875 Need char = '5'
  876 
  877 /a[b-a]/
  878 Failed: range out of order in character class at offset 4
  879 
  880 /a[]b/
  881 Failed: missing terminating ] for character class at offset 4
  882 
  883 /a[/
  884 Failed: missing terminating ] for character class at offset 2
  885 
  886 /*a/
  887 Failed: nothing to repeat at offset 0
  888 
  889 /(*)b/
  890 Failed: nothing to repeat at offset 1
  891 
  892 /abc)/
  893 Failed: unmatched parentheses at offset 3
  894 
  895 /(abc/
  896 Failed: missing ) at offset 4
  897 
  898 /a**/
  899 Failed: nothing to repeat at offset 2
  900 
  901 /)(/
  902 Failed: unmatched parentheses at offset 0
  903 
  904 /\1/
  905 Failed: reference to non-existent subpattern at offset 2
  906 
  907 /\2/
  908 Failed: reference to non-existent subpattern at offset 2
  909 
  910 /(a)|\2/
  911 Failed: reference to non-existent subpattern at offset 6
  912 
  913 /a[b-a]/Ii
  914 Failed: range out of order in character class at offset 4
  915 
  916 /a[]b/Ii
  917 Failed: missing terminating ] for character class at offset 4
  918 
  919 /a[/Ii
  920 Failed: missing terminating ] for character class at offset 2
  921 
  922 /*a/Ii
  923 Failed: nothing to repeat at offset 0
  924 
  925 /(*)b/Ii
  926 Failed: nothing to repeat at offset 1
  927 
  928 /abc)/Ii
  929 Failed: unmatched parentheses at offset 3
  930 
  931 /(abc/Ii
  932 Failed: missing ) at offset 4
  933 
  934 /a**/Ii
  935 Failed: nothing to repeat at offset 2
  936 
  937 /)(/Ii
  938 Failed: unmatched parentheses at offset 0
  939 
  940 /:(?:/
  941 Failed: missing ) at offset 4
  942 
  943 /(?<%)b/
  944 Failed: unrecognized character after (?< at offset 3
  945 
  946 /a(?{)b/
  947 Failed: unrecognized character after (? at offset 3
  948 
  949 /a(?{{})b/
  950 Failed: unrecognized character after (? at offset 3
  951 
  952 /a(?{}})b/
  953 Failed: unrecognized character after (? at offset 3
  954 
  955 /a(?{"{"})b/
  956 Failed: unrecognized character after (? at offset 3
  957 
  958 /a(?{"{"}})b/
  959 Failed: unrecognized character after (? at offset 3
  960 
  961 /(?(1?)a|b)/
  962 Failed: malformed number or name after (?( at offset 4
  963 
  964 /(?(1)a|b|c)/
  965 Failed: conditional group contains more than two branches at offset 10
  966 
  967 /[a[:xyz:/
  968 Failed: missing terminating ] for character class at offset 8
  969 
  970 /(?<=x+)y/
  971 Failed: lookbehind assertion is not fixed length at offset 6
  972 
  973 /a{37,17}/
  974 Failed: numbers out of order in {} quantifier at offset 7
  975 
  976 /abc/\
  977 Failed: \ at end of pattern at offset 4
  978 
  979 /abc/\P
  980 Failed: POSIX code 9: bad escape sequence at offset 4     
  981 
  982 /abc/\i
  983 Failed: \ at end of pattern at offset 4
  984 
  985 /(a)bc(d)/I
  986 Capturing subpattern count = 2
  987 No options
  988 First char = 'a'
  989 Need char = 'd'
  990     abcd
  991  0: abcd
  992  1: a
  993  2: d
  994     abcd\C2
  995  0: abcd
  996  1: a
  997  2: d
  998  2C d (1)
  999     abcd\C5
 1000  0: abcd
 1001  1: a
 1002  2: d
 1003 copy substring 5 failed -7
 1004      
 1005 /(.{20})/I
 1006 Capturing subpattern count = 1
 1007 Partial matching not supported
 1008 No options
 1009 No first char
 1010 No need char
 1011     abcdefghijklmnopqrstuvwxyz
 1012  0: abcdefghijklmnopqrst
 1013  1: abcdefghijklmnopqrst
 1014     abcdefghijklmnopqrstuvwxyz\C1
 1015  0: abcdefghijklmnopqrst
 1016  1: abcdefghijklmnopqrst
 1017  1C abcdefghijklmnopqrst (20)
 1018     abcdefghijklmnopqrstuvwxyz\G1
 1019  0: abcdefghijklmnopqrst
 1020  1: abcdefghijklmnopqrst
 1021  1G abcdefghijklmnopqrst (20)
 1022      
 1023 /(.{15})/I
 1024 Capturing subpattern count = 1
 1025 Partial matching not supported
 1026 No options
 1027 No first char
 1028 No need char
 1029     abcdefghijklmnopqrstuvwxyz
 1030  0: abcdefghijklmno
 1031  1: abcdefghijklmno
 1032     abcdefghijklmnopqrstuvwxyz\C1\G1
 1033  0: abcdefghijklmno
 1034  1: abcdefghijklmno
 1035  1C abcdefghijklmno (15)
 1036  1G abcdefghijklmno (15)
 1037 
 1038 /(.{16})/I
 1039 Capturing subpattern count = 1
 1040 Partial matching not supported
 1041 No options
 1042 No first char
 1043 No need char
 1044     abcdefghijklmnopqrstuvwxyz
 1045  0: abcdefghijklmnop
 1046  1: abcdefghijklmnop
 1047     abcdefghijklmnopqrstuvwxyz\C1\G1\L
 1048  0: abcdefghijklmnop
 1049  1: abcdefghijklmnop
 1050  1C abcdefghijklmnop (16)
 1051  1G abcdefghijklmnop (16)
 1052  0L abcdefghijklmnop
 1053  1L abcdefghijklmnop
 1054     
 1055 /^(a|(bc))de(f)/I
 1056 Capturing subpattern count = 3
 1057 Options: anchored
 1058 No first char
 1059 No need char
 1060     adef\G1\G2\G3\G4\L 
 1061  0: adef
 1062  1: a
 1063  2: <unset>
 1064  3: f
 1065  1G a (1)
 1066  2G  (0)
 1067  3G f (1)
 1068 get substring 4 failed -7
 1069  0L adef
 1070  1L a
 1071  2L 
 1072  3L f
 1073     bcdef\G1\G2\G3\G4\L 
 1074  0: bcdef
 1075  1: bc
 1076  2: bc
 1077  3: f
 1078  1G bc (2)
 1079  2G bc (2)
 1080  3G f (1)
 1081 get substring 4 failed -7
 1082  0L bcdef
 1083  1L bc
 1084  2L bc
 1085  3L f
 1086     adefghijk\C0 
 1087  0: adef
 1088  1: a
 1089  2: <unset>
 1090  3: f
 1091  0C adef (4)
 1092     
 1093 /^abc\00def/I
 1094 Capturing subpattern count = 0
 1095 Options: anchored
 1096 No first char
 1097 No need char
 1098     abc\00def\L\C0 
 1099  0: abc\x00def
 1100  0C abc (7)
 1101  0L abc
 1102     
 1103 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 
 1104 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ 
 1105 )?)?)?)?)?)?)?)?)?otherword/IM
 1106 Memory allocation (code space): 448
 1107 Capturing subpattern count = 8
 1108 Partial matching not supported
 1109 No options
 1110 First char = 'w'
 1111 Need char = 'd'
 1112 
 1113 /.*X/ID
 1114 ------------------------------------------------------------------
 1115   0   7 Bra 0
 1116   3     Any*
 1117   5     X
 1118   7   7 Ket
 1119  10     End
 1120 ------------------------------------------------------------------
 1121 Capturing subpattern count = 0
 1122 Partial matching not supported
 1123 No options
 1124 First char at start or follows newline
 1125 Need char = 'X'
 1126 
 1127 /.*X/IDs
 1128 ------------------------------------------------------------------
 1129   0   7 Bra 0
 1130   3     Any*
 1131   5     X
 1132   7   7 Ket
 1133  10     End
 1134 ------------------------------------------------------------------
 1135 Capturing subpattern count = 0
 1136 Partial matching not supported
 1137 Options: anchored dotall
 1138 No first char
 1139 Need char = 'X'
 1140 
 1141 /(.*X|^B)/ID
 1142 ------------------------------------------------------------------
 1143   0  21 Bra 0
 1144   3   9 Bra 1
 1145   8     Any*
 1146  10     X
 1147  12   6 Alt
 1148  15     ^
 1149  16     B
 1150  18  15 Ket
 1151  21  21 Ket
 1152  24     End
 1153 ------------------------------------------------------------------
 1154 Capturing subpattern count = 1
 1155 Partial matching not supported
 1156 No options
 1157 First char at start or follows newline
 1158 No need char
 1159 
 1160 /(.*X|^B)/IDs
 1161 ------------------------------------------------------------------
 1162   0  21 Bra 0
 1163   3   9 Bra 1
 1164   8     Any*
 1165  10     X
 1166  12   6 Alt
 1167  15     ^
 1168  16     B
 1169  18  15 Ket
 1170  21  21 Ket
 1171  24     End
 1172 ------------------------------------------------------------------
 1173 Capturing subpattern count = 1
 1174 Partial matching not supported
 1175 Options: anchored dotall
 1176 No first char
 1177 No need char
 1178     
 1179 /(?s)(.*X|^B)/ID
 1180 ------------------------------------------------------------------
 1181   0  21 Bra 0
 1182   3   9 Bra 1
 1183   8     Any*
 1184  10     X
 1185  12   6 Alt
 1186  15     ^
 1187  16     B
 1188  18  15 Ket
 1189  21  21 Ket
 1190  24     End
 1191 ------------------------------------------------------------------
 1192 Capturing subpattern count = 1
 1193 Partial matching not supported
 1194 Options: anchored dotall
 1195 No first char
 1196 No need char
 1197 
 1198 /(?s:.*X|^B)/ID
 1199 ------------------------------------------------------------------
 1200   0  25 Bra 0
 1201   3   9 Bra 0
 1202   6  04 Opt
 1203   8     Any*
 1204  10     X
 1205  12   8 Alt
 1206  15  04 Opt
 1207  17     ^
 1208  18     B
 1209  20  17 Ket
 1210  23  00 Opt
 1211  25  25 Ket
 1212  28     End
 1213 ------------------------------------------------------------------
 1214 Capturing subpattern count = 0
 1215 Partial matching not supported
 1216 No options
 1217 First char at start or follows newline
 1218 No need char
 1219 
 1220 /\Biss\B/I+
 1221 Capturing subpattern count = 0
 1222 No options
 1223 First char = 'i'
 1224 Need char = 's'
 1225     Mississippi
 1226  0: iss
 1227  0+ issippi
 1228 
 1229 /\Biss\B/I+P
 1230     Mississippi
 1231  0: iss
 1232  0+ issippi
 1233 
 1234 /iss/IG+
 1235 Capturing subpattern count = 0
 1236 No options
 1237 First char = 'i'
 1238 Need char = 's'
 1239     Mississippi
 1240  0: iss
 1241  0+ issippi
 1242  0: iss
 1243  0+ ippi
 1244 
 1245 /\Biss\B/IG+
 1246 Capturing subpattern count = 0
 1247 No options
 1248 First char = 'i'
 1249 Need char = 's'
 1250     Mississippi
 1251  0: iss
 1252  0+ issippi
 1253 
 1254 /\Biss\B/Ig+
 1255 Capturing subpattern count = 0
 1256 No options
 1257 First char = 'i'
 1258 Need char = 's'
 1259     Mississippi
 1260  0: iss
 1261  0+ issippi
 1262  0: iss
 1263  0+ ippi
 1264     *** Failers
 1265 No match
 1266     Mississippi\A
 1267 No match
 1268 
 1269 /(?<=[Ms])iss/Ig+
 1270 Capturing subpattern count = 0
 1271 No options
 1272 First char = 'i'
 1273 Need char = 's'
 1274     Mississippi
 1275  0: iss
 1276  0+ issippi
 1277  0: iss
 1278  0+ ippi
 1279 
 1280 /(?<=[Ms])iss/IG+
 1281 Capturing subpattern count = 0
 1282 No options
 1283 First char = 'i'
 1284 Need char = 's'
 1285     Mississippi
 1286  0: iss
 1287  0+ issippi
 1288 
 1289 /^iss/Ig+
 1290 Capturing subpattern count = 0
 1291 Options: anchored
 1292 No first char
 1293 No need char
 1294     ississippi
 1295  0: iss
 1296  0+ issippi
 1297     
 1298 /.*iss/Ig+
 1299 Capturing subpattern count = 0
 1300 Partial matching not supported
 1301 No options
 1302 First char at start or follows newline
 1303 Need char = 's'
 1304     abciss\nxyzisspqr 
 1305  0: abciss
 1306  0+ \x0axyzisspqr
 1307  0: xyziss
 1308  0+ pqr
 1309 
 1310 /.i./I+g
 1311 Capturing subpattern count = 0
 1312 No options
 1313 No first char
 1314 Need char = 'i'
 1315     Mississippi
 1316  0: Mis
 1317  0+ sissippi
 1318  0: sis
 1319  0+ sippi
 1320  0: sip
 1321  0+ pi
 1322     Mississippi\A
 1323  0: Mis
 1324  0+ sissippi
 1325  0: sis
 1326  0+ sippi
 1327  0: sip
 1328  0+ pi
 1329     Missouri river
 1330  0: Mis
 1331  0+ souri river
 1332  0: ri 
 1333  0+ river
 1334  0: riv
 1335  0+ er
 1336     Missouri river\A  
 1337  0: Mis
 1338  0+ souri river
 1339 
 1340 /^.is/I+g
 1341 Capturing subpattern count = 0
 1342 Options: anchored
 1343 No first char
 1344 No need char
 1345     Mississippi
 1346  0: Mis
 1347  0+ sissippi
 1348 
 1349 /^ab\n/Ig+
 1350 Capturing subpattern count = 0
 1351 Options: anchored
 1352 No first char
 1353 No need char
 1354     ab\nab\ncd
 1355  0: ab\x0a
 1356  0+ ab\x0acd
 1357 
 1358 /^ab\n/Img+
 1359 Capturing subpattern count = 0
 1360 Options: multiline
 1361 First char at start or follows newline
 1362 Need char = 10
 1363     ab\nab\ncd
 1364  0: ab\x0a
 1365  0+ ab\x0acd
 1366  0: ab\x0a
 1367  0+ cd
 1368 
 1369 /abc/I
 1370 Capturing subpattern count = 0
 1371 No options
 1372 First char = 'a'
 1373 Need char = 'c'
 1374 
 1375 /abc|bac/I
 1376 Capturing subpattern count = 0
 1377 No options
 1378 No first char
 1379 Need char = 'c'
 1380 
 1381 /(abc|bac)/I
 1382 Capturing subpattern count = 1
 1383 No options
 1384 No first char
 1385 Need char = 'c'
 1386 
 1387 /(abc|(c|dc))/I
 1388 Capturing subpattern count = 2
 1389 No options
 1390 No first char
 1391 Need char = 'c'
 1392 
 1393 /(abc|(d|de)c)/I
 1394 Capturing subpattern count = 2
 1395 No options
 1396 No first char
 1397 Need char = 'c'
 1398 
 1399 /a*/I
 1400 Capturing subpattern count = 0
 1401 Partial matching not supported
 1402 No options
 1403 No first char
 1404 No need char
 1405 
 1406 /a+/I
 1407 Capturing subpattern count = 0
 1408 Partial matching not supported
 1409 No options
 1410 First char = 'a'
 1411 No need char
 1412 
 1413 /(baa|a+)/I
 1414 Capturing subpattern count = 1
 1415 Partial matching not supported
 1416 No options
 1417 No first char
 1418 Need char = 'a'
 1419 
 1420 /a{0,3}/I
 1421 Capturing subpattern count = 0
 1422 Partial matching not supported
 1423 No options
 1424 No first char
 1425 No need char
 1426 
 1427 /baa{3,}/I
 1428 Capturing subpattern count = 0
 1429 Partial matching not supported
 1430 No options
 1431 First char = 'b'
 1432 Need char = 'a'
 1433 
 1434 /"([^\\"]+|\\.)*"/I
 1435 Capturing subpattern count = 1
 1436 Partial matching not supported
 1437 No options
 1438 First char = '"'
 1439 Need char = '"'
 1440 
 1441 /(abc|ab[cd])/I
 1442 Capturing subpattern count = 1
 1443 No options
 1444 First char = 'a'
 1445 No need char
 1446 
 1447 /(a|.)/I
 1448 Capturing subpattern count = 1
 1449 No options
 1450 No first char
 1451 No need char
 1452 
 1453 /a|ba|\w/I
 1454 Capturing subpattern count = 0
 1455 No options
 1456 No first char
 1457 No need char
 1458 
 1459 /abc(?=pqr)/I
 1460 Capturing subpattern count = 0
 1461 No options
 1462 First char = 'a'
 1463 Need char = 'r'
 1464 
 1465 /...(?<=abc)/I
 1466 Capturing subpattern count = 0
 1467 No options
 1468 No first char
 1469 No need char
 1470 
 1471 /abc(?!pqr)/I
 1472 Capturing subpattern count = 0
 1473 No options
 1474 First char = 'a'
 1475 Need char = 'c'
 1476 
 1477 /ab./I
 1478 Capturing subpattern count = 0
 1479 No options
 1480 First char = 'a'
 1481 Need char = 'b'
 1482 
 1483 /ab[xyz]/I
 1484 Capturing subpattern count = 0
 1485 No options
 1486 First char = 'a'
 1487 Need char = 'b'
 1488 
 1489 /abc*/I
 1490 Capturing subpattern count = 0
 1491 Partial matching not supported
 1492 No options
 1493 First char = 'a'
 1494 Need char = 'b'
 1495 
 1496 /ab.c*/I
 1497 Capturing subpattern count = 0
 1498 Partial matching not supported
 1499 No options
 1500 First char = 'a'
 1501 Need char = 'b'
 1502 
 1503 /a.c*/I
 1504 Capturing subpattern count = 0
 1505 Partial matching not supported
 1506 No options
 1507 First char = 'a'
 1508 No need char
 1509 
 1510 /.c*/I
 1511 Capturing subpattern count = 0
 1512 Partial matching not supported
 1513 No options
 1514 No first char
 1515 No need char
 1516 
 1517 /ac*/I
 1518 Capturing subpattern count = 0
 1519 Partial matching not supported
 1520 No options
 1521 First char = 'a'
 1522 No need char
 1523 
 1524 /(a.c*|b.c*)/I
 1525 Capturing subpattern count = 1
 1526 Partial matching not supported
 1527 No options
 1528 No first char
 1529 No need char
 1530 
 1531 /a.c*|aba/I
 1532 Capturing subpattern count = 0
 1533 Partial matching not supported
 1534 No options
 1535 First char = 'a'
 1536 No need char
 1537 
 1538 /.+a/I
 1539 Capturing subpattern count = 0
 1540 Partial matching not supported
 1541 No options
 1542 No first char
 1543 Need char = 'a'
 1544 
 1545 /(?=abcda)a.*/I
 1546 Capturing subpattern count = 0
 1547 Partial matching not supported
 1548 No options
 1549 First char = 'a'
 1550 Need char = 'a'
 1551 
 1552 /(?=a)a.*/I
 1553 Capturing subpattern count = 0
 1554 Partial matching not supported
 1555 No options
 1556 First char = 'a'
 1557 No need char
 1558 
 1559 /a(b)*/I
 1560 Capturing subpattern count = 1
 1561 No options
 1562 First char = 'a'
 1563 No need char
 1564 
 1565 /a\d*/I
 1566 Capturing subpattern count = 0
 1567 Partial matching not supported
 1568 No options
 1569 First char = 'a'
 1570 No need char
 1571 
 1572 /ab\d*/I
 1573 Capturing subpattern count = 0
 1574 Partial matching not supported
 1575 No options
 1576 First char = 'a'
 1577 Need char = 'b'
 1578 
 1579 /a(\d)*/I
 1580 Capturing subpattern count = 1
 1581 No options
 1582 First char = 'a'
 1583 No need char
 1584 
 1585 /abcde{0,0}/I
 1586 Capturing subpattern count = 0
 1587 No options
 1588 First char = 'a'
 1589 Need char = 'd'
 1590 
 1591 /ab\d+/I
 1592 Capturing subpattern count = 0
 1593 Partial matching not supported
 1594 No options
 1595 First char = 'a'
 1596 Need char = 'b'
 1597 
 1598 /a(?(1)b)/I
 1599 Capturing subpattern count = 0
 1600 No options
 1601 First char = 'a'
 1602 No need char
 1603 
 1604 /a(?(1)bag|big)/I
 1605 Capturing subpattern count = 0
 1606 No options
 1607 First char = 'a'
 1608 Need char = 'g'
 1609 
 1610 /a(?(1)bag|big)*/I
 1611 Capturing subpattern count = 0
 1612 No options
 1613 First char = 'a'
 1614 No need char
 1615 
 1616 /a(?(1)bag|big)+/I
 1617 Capturing subpattern count = 0
 1618 No options
 1619 First char = 'a'
 1620 Need char = 'g'
 1621 
 1622 /a(?(1)b..|b..)/I
 1623 Capturing subpattern count = 0
 1624 No options
 1625 First char = 'a'
 1626 Need char = 'b'
 1627 
 1628 /ab\d{0}e/I
 1629 Capturing subpattern count = 0
 1630 No options
 1631 First char = 'a'
 1632 Need char = 'e'
 1633 
 1634 /a?b?/I
 1635 Capturing subpattern count = 0
 1636 No options
 1637 No first char
 1638 No need char
 1639     a
 1640  0: a
 1641     b
 1642  0: b
 1643     ab
 1644  0: ab
 1645     \
 1646  0: 
 1647     *** Failers
 1648  0: 
 1649     \N     
 1650 No match
 1651     
 1652 /|-/I
 1653 Capturing subpattern count = 0
 1654 No options
 1655 No first char
 1656 No need char
 1657     abcd
 1658  0: 
 1659     -abc
 1660  0: 
 1661     \Nab-c
 1662  0: -
 1663     *** Failers
 1664  0: 
 1665     \Nabc     
 1666 No match
 1667 
 1668 /a*(b+)(z)(z)/IP
 1669     aaaabbbbzzzz
 1670  0: aaaabbbbzz
 1671  1: bbbb
 1672  2: z
 1673  3: z
 1674     aaaabbbbzzzz\O0
 1675     aaaabbbbzzzz\O1
 1676  0: aaaabbbbzz
 1677     aaaabbbbzzzz\O2
 1678  0: aaaabbbbzz
 1679  1: bbbb
 1680     aaaabbbbzzzz\O3
 1681  0: aaaabbbbzz
 1682  1: bbbb
 1683  2: z
 1684     aaaabbbbzzzz\O4
 1685  0: aaaabbbbzz
 1686  1: bbbb
 1687  2: z
 1688  3: z
 1689     aaaabbbbzzzz\O5
 1690  0: aaaabbbbzz
 1691  1: bbbb
 1692  2: z
 1693  3: z
 1694     
 1695 /^.?abcd/IS 
 1696 Capturing subpattern count = 0
 1697 Options: anchored
 1698 No first char
 1699 Need char = 'd'
 1700 Study returned NULL
 1701 
 1702 /\(             # ( at start
 1703   (?:           # Non-capturing bracket
 1704   (?>[^()]+)    # Either a sequence of non-brackets (no backtracking)
 1705   |             # Or
 1706   (?R)          # Recurse - i.e. nested bracketed string
 1707   )*            # Zero or more contents
 1708   \)            # Closing )
 1709   /Ix
 1710 Capturing subpattern count = 0
 1711 Partial matching not supported
 1712 Options: extended
 1713 First char = '('
 1714 Need char = ')'
 1715     (abcd)
 1716  0: (abcd)
 1717     (abcd)xyz
 1718  0: (abcd)
 1719     xyz(abcd)
 1720  0: (abcd)
 1721     (ab(xy)cd)pqr 
 1722  0: (ab(xy)cd)
 1723     (ab(xycd)pqr 
 1724  0: (xycd)
 1725     () abc () 
 1726  0: ()
 1727     12(abcde(fsh)xyz(foo(bar))lmno)89
 1728  0: (abcde(fsh)xyz(foo(bar))lmno)
 1729     *** Failers
 1730 No match
 1731     abcd 
 1732 No match
 1733     abcd)
 1734 No match
 1735     (abcd  
 1736 No match
 1737 
 1738 /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
 1739 Capturing subpattern count = 1
 1740 Partial matching not supported
 1741 Options: extended
 1742 First char = '('
 1743 Need char = ')'
 1744     (ab(xy)cd)pqr 
 1745  0: (ab(xy)cd)
 1746  1: cd
 1747     1(abcd)(x(y)z)pqr
 1748  0: (abcd)
 1749  1: abcd
 1750  0: (x(y)z)
 1751  1: z
 1752 
 1753 /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
 1754 Capturing subpattern count = 0
 1755 Partial matching not supported
 1756 Options: extended
 1757 First char = '('
 1758 Need char = ')'
 1759     (abcd)
 1760  0: (abcd)
 1761     (ab(xy)cd)
 1762  0: (xy)
 1763     (a(b(c)d)e) 
 1764  0: (c)
 1765     ((ab)) 
 1766  0: ((ab))
 1767     *** Failers
 1768 No match
 1769     ()   
 1770 No match
 1771 
 1772 /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
 1773 Capturing subpattern count = 0
 1774 Partial matching not supported
 1775 Options: extended
 1776 First char = '('
 1777 Need char = ')'
 1778     ()
 1779  0: ()
 1780     12(abcde(fsh)xyz(foo(bar))lmno)89
 1781  0: (fsh)
 1782 
 1783 /\(  ( (?>[^()]+) | (?R) )* \) /Ix
 1784 Capturing subpattern count = 1
 1785 Partial matching not supported
 1786 Options: extended
 1787 First char = '('
 1788 Need char = ')'
 1789     (ab(xy)cd)
 1790  0: (ab(xy)cd)
 1791  1: cd
 1792 
 1793 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
 1794 Capturing subpattern count = 2
 1795 Partial matching not supported
 1796 Options: extended
 1797 First char = '('
 1798 Need char = ')'
 1799     (ab(xy)cd)
 1800  0: (ab(xy)cd)
 1801  1: ab(xy)cd
 1802  2: cd
 1803 
 1804 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
 1805 Capturing subpattern count = 3
 1806 Partial matching not supported
 1807 Options: extended
 1808 First char = '('
 1809 Need char = ')'
 1810     (ab(xy)cd)
 1811  0: (ab(xy)cd)
 1812  1: <unset>
 1813  2: ab(xy)cd
 1814  3: cd
 1815     (123ab(xy)cd)
 1816  0: (123ab(xy)cd)
 1817  1: 123
 1818  2: ab(xy)cd
 1819  3: cd
 1820 
 1821 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
 1822 Capturing subpattern count = 3
 1823 Partial matching not supported
 1824 Options: extended
 1825 First char = '('
 1826 Need char = ')'
 1827     (ab(xy)cd)
 1828  0: (ab(xy)cd)
 1829  1: ab(xy)cd
 1830  2: <unset>
 1831  3: cd
 1832     (123ab(xy)cd)
 1833  0: (123ab(xy)cd)
 1834  1: 123ab(xy)cd
 1835  2: 123
 1836  3: cd
 1837 
 1838 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
 1839 Capturing subpattern count = 11
 1840 Partial matching not supported
 1841 Options: extended
 1842 First char = '('
 1843 Need char = ')'
 1844     (ab(xy)cd)
 1845  0: (ab(xy)cd)
 1846  1: ab(xy)cd
 1847  2: ab(xy)cd
 1848  3: ab(xy)cd
 1849  4: ab(xy)cd
 1850  5: ab(xy)cd
 1851  6: ab(xy)cd
 1852  7: ab(xy)cd
 1853  8: ab(xy)cd
 1854  9: ab(xy)cd
 1855 10: ab(xy)cd
 1856 11: cd
 1857 
 1858 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
 1859 Capturing subpattern count = 3
 1860 Partial matching not supported
 1861 Options: extended
 1862 First char = '('
 1863 Need char = ')'
 1864     (abcd(xyz<p>qrs)123)
 1865  0: (abcd(xyz<p>qrs)123)
 1866  1: abcd(xyz<p>qrs)123
 1867  2: 123
 1868  3: <unset>
 1869 
 1870 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
 1871 Capturing subpattern count = 3
 1872 Partial matching not supported
 1873 Options: extended
 1874 First char = '('
 1875 Need char = ')'
 1876     (ab(cd)ef)
 1877  0: (ab(cd)ef)
 1878  1: ab(cd)ef
 1879  2: ef
 1880  3: (cd)
 1881     (ab(cd(ef)gh)ij)
 1882  0: (ab(cd(ef)gh)ij)
 1883  1: ab(cd(ef)gh)ij
 1884  2: ij
 1885  3: (cd(ef)gh)
 1886 
 1887 /^[[:alnum:]]/D
 1888 ------------------------------------------------------------------
 1889   0  37 Bra 0
 1890   3     ^
 1891   4     [0-9A-Za-z]
 1892  37  37 Ket
 1893  40     End
 1894 ------------------------------------------------------------------
 1895 Capturing subpattern count = 0
 1896 Options: anchored
 1897 No first char
 1898 No need char
 1899 
 1900 /^[[:^alnum:]]/D
 1901 ------------------------------------------------------------------
 1902   0  37 Bra 0
 1903   3     ^
 1904   4     [\x00-/:-@[-`{-\xff]
 1905  37  37 Ket
 1906  40     End
 1907 ------------------------------------------------------------------
 1908 Capturing subpattern count = 0
 1909 Options: anchored
 1910 No first char
 1911 No need char
 1912 
 1913 /^[[:alpha:]]/D
 1914 ------------------------------------------------------------------
 1915   0  37 Bra 0
 1916   3     ^
 1917   4     [A-Za-z]
 1918  37  37 Ket
 1919  40     End
 1920 ------------------------------------------------------------------
 1921 Capturing subpattern count = 0
 1922 Options: anchored
 1923 No first char
 1924 No need char
 1925 
 1926 /^[[:^alpha:]]/D
 1927 ------------------------------------------------------------------
 1928   0  37 Bra 0
 1929   3     ^
 1930   4     [\x00-@[-`{-\xff]
 1931  37  37 Ket
 1932  40     End
 1933 ------------------------------------------------------------------
 1934 Capturing subpattern count = 0
 1935 Options: anchored
 1936 No first char
 1937 No need char
 1938              
 1939 /[_[:alpha:]]/IS
 1940 Capturing subpattern count = 0
 1941 No options
 1942 No first char
 1943 No need char
 1944 Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
 1945   _ 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 
 1946 
 1947 /^[[:ascii:]]/D
 1948 ------------------------------------------------------------------
 1949   0  37 Bra 0
 1950   3     ^
 1951   4     [\x00-\x7f]
 1952  37  37 Ket
 1953  40     End
 1954 ------------------------------------------------------------------
 1955 Capturing subpattern count = 0
 1956 Options: anchored
 1957 No first char
 1958 No need char
 1959 
 1960 /^[[:^ascii:]]/D
 1961 ------------------------------------------------------------------
 1962   0  37 Bra 0
 1963   3     ^
 1964   4     [\x80-\xff]
 1965  37  37 Ket
 1966  40     End
 1967 ------------------------------------------------------------------
 1968 Capturing subpattern count = 0
 1969 Options: anchored
 1970 No first char
 1971 No need char
 1972 
 1973 /^[[:blank:]]/D
 1974 ------------------------------------------------------------------
 1975   0  37 Bra 0
 1976   3     ^
 1977   4     [\x09 ]
 1978  37  37 Ket
 1979  40     End
 1980 ------------------------------------------------------------------
 1981 Capturing subpattern count = 0
 1982 Options: anchored
 1983 No first char
 1984 No need char
 1985 
 1986 /^[[:^blank:]]/D
 1987 ------------------------------------------------------------------
 1988   0  37 Bra 0
 1989   3     ^
 1990   4     [\x00-\x08\x0a-\x1f!-\xff]
 1991  37  37 Ket
 1992  40     End
 1993 ------------------------------------------------------------------
 1994 Capturing subpattern count = 0
 1995 Options: anchored
 1996 No first char
 1997 No need char
 1998 
 1999 /[\n\x0b\x0c\x0d[:blank:]]/IS
 2000 Capturing subpattern count = 0
 2001 No options
 2002 No first char
 2003 No need char
 2004 Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 
 2005 
 2006 /^[[:cntrl:]]/D
 2007 ------------------------------------------------------------------
 2008   0  37 Bra 0
 2009   3     ^
 2010   4     [\x00-\x1f\x7f]
 2011  37  37 Ket
 2012  40     End
 2013 ------------------------------------------------------------------
 2014 Capturing subpattern count = 0
 2015 Options: anchored
 2016 No first char
 2017 No need char
 2018 
 2019 /^[[:digit:]]/D
 2020 ------------------------------------------------------------------
 2021   0  37 Bra 0
 2022   3     ^
 2023   4     [0-9]
 2024  37  37 Ket
 2025  40     End
 2026 ------------------------------------------------------------------
 2027 Capturing subpattern count = 0
 2028 Options: anchored
 2029 No first char
 2030 No need char
 2031 
 2032 /^[[:graph:]]/D
 2033 ------------------------------------------------------------------
 2034   0  37 Bra 0
 2035   3     ^
 2036   4     [!-~]
 2037  37  37 Ket
 2038  40     End
 2039 ------------------------------------------------------------------
 2040 Capturing subpattern count = 0
 2041 Options: anchored
 2042 No first char
 2043 No need char
 2044 
 2045 /^[[:lower:]]/D
 2046 ------------------------------------------------------------------
 2047   0  37 Bra 0
 2048   3     ^
 2049   4     [a-z]
 2050  37  37 Ket
 2051  40     End
 2052 ------------------------------------------------------------------
 2053 Capturing subpattern count = 0
 2054 Options: anchored
 2055 No first char
 2056 No need char
 2057 
 2058 /^[[:print:]]/D
 2059 ------------------------------------------------------------------
 2060   0  37 Bra 0
 2061   3     ^
 2062   4     [ -~]
 2063  37  37 Ket
 2064  40     End
 2065 ------------------------------------------------------------------
 2066 Capturing subpattern count = 0
 2067 Options: anchored
 2068 No first char
 2069 No need char
 2070 
 2071 /^[[:punct:]]/D
 2072 ------------------------------------------------------------------
 2073   0  37 Bra 0
 2074   3     ^
 2075   4     [!-/:-@[-`{-~]
 2076  37  37 Ket
 2077  40     End
 2078 ------------------------------------------------------------------
 2079 Capturing subpattern count = 0
 2080 Options: anchored
 2081 No first char
 2082 No need char
 2083 
 2084 /^[[:space:]]/D
 2085 ------------------------------------------------------------------
 2086   0  37 Bra 0
 2087   3     ^
 2088   4     [\x09-\x0d ]
 2089  37  37 Ket
 2090  40     End
 2091 ------------------------------------------------------------------
 2092 Capturing subpattern count = 0
 2093 Options: anchored
 2094 No first char
 2095 No need char
 2096 
 2097 /^[[:upper:]]/D
 2098 ------------------------------------------------------------------
 2099   0  37 Bra 0
 2100   3     ^
 2101   4     [A-Z]
 2102  37  37 Ket
 2103  40     End
 2104 ------------------------------------------------------------------
 2105 Capturing subpattern count = 0
 2106 Options: anchored
 2107 No first char
 2108 No need char
 2109 
 2110 /^[[:xdigit:]]/D
 2111 ------------------------------------------------------------------
 2112   0  37 Bra 0
 2113   3     ^
 2114   4     [0-9A-Fa-f]
 2115  37  37 Ket
 2116  40     End
 2117 ------------------------------------------------------------------
 2118 Capturing subpattern count = 0
 2119 Options: anchored
 2120 No first char
 2121 No need char
 2122 
 2123 /^[[:word:]]/D
 2124 ------------------------------------------------------------------
 2125   0  37 Bra 0
 2126   3     ^
 2127   4     [0-9A-Z_a-z]
 2128  37  37 Ket
 2129  40     End
 2130 ------------------------------------------------------------------
 2131 Capturing subpattern count = 0
 2132 Options: anchored
 2133 No first char
 2134 No need char
 2135 
 2136 /^[[:^cntrl:]]/D
 2137 ------------------------------------------------------------------
 2138   0  37 Bra 0
 2139   3     ^
 2140   4     [ -~\x80-\xff]
 2141  37  37 Ket
 2142  40     End
 2143 ------------------------------------------------------------------
 2144 Capturing subpattern count = 0
 2145 Options: anchored
 2146 No first char
 2147 No need char
 2148 
 2149 /^[12[:^digit:]]/D
 2150 ------------------------------------------------------------------
 2151   0  37 Bra 0
 2152   3     ^
 2153   4     [\x00-/12:-\xff]
 2154  37  37 Ket
 2155  40     End
 2156 ------------------------------------------------------------------
 2157 Capturing subpattern count = 0
 2158 Options: anchored
 2159 No first char
 2160 No need char
 2161 
 2162 /^[[:^blank:]]/D
 2163 ------------------------------------------------------------------
 2164   0  37 Bra 0
 2165   3     ^
 2166   4     [\x00-\x08\x0a-\x1f!-\xff]
 2167  37  37 Ket
 2168  40     End
 2169 ------------------------------------------------------------------
 2170 Capturing subpattern count = 0
 2171 Options: anchored
 2172 No first char
 2173 No need char
 2174 
 2175 /[01[:alpha:]%]/D
 2176 ------------------------------------------------------------------
 2177   0  36 Bra 0
 2178   3     [%01A-Za-z]
 2179  36  36 Ket
 2180  39     End
 2181 ------------------------------------------------------------------
 2182 Capturing subpattern count = 0
 2183 No options
 2184 No first char
 2185 No need char
 2186 
 2187 /[[.ch.]]/I
 2188 Failed: POSIX collating elements are not supported at offset 1
 2189 
 2190 /[[=ch=]]/I
 2191 Failed: POSIX collating elements are not supported at offset 1
 2192 
 2193 /[[:rhubarb:]]/I
 2194 Failed: unknown POSIX class name at offset 3
 2195 
 2196 /[[:upper:]]/Ii
 2197 Capturing subpattern count = 0
 2198 Options: caseless
 2199 No first char
 2200 No need char
 2201     A
 2202  0: A
 2203     a 
 2204  0: a
 2205     
 2206 /[[:lower:]]/Ii
 2207 Capturing subpattern count = 0
 2208 Options: caseless
 2209 No first char
 2210 No need char
 2211     A
 2212  0: A
 2213     a 
 2214  0: a
 2215 
 2216 /((?-i)[[:lower:]])[[:lower:]]/Ii
 2217 Capturing subpattern count = 1
 2218 Options: caseless
 2219 No first char
 2220 No need char
 2221     ab
 2222  0: ab
 2223  1: a
 2224     aB
 2225  0: aB
 2226  1: a
 2227     *** Failers
 2228  0: ai
 2229  1: a
 2230     Ab
 2231 No match
 2232     AB        
 2233 No match
 2234 
 2235 /[\200-\110]/I
 2236 Failed: range out of order in character class at offset 9
 2237 
 2238 /^(?(0)f|b)oo/I
 2239 Failed: invalid condition (?(0) at offset 6
 2240 
 2241 /This one's here because of the large output vector needed/I
 2242 Capturing subpattern count = 0
 2243 No options
 2244 First char = 'T'
 2245 Need char = 'd'
 2246 
 2247 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
 2248 Capturing subpattern count = 271
 2249 Max back reference = 270
 2250 Partial matching not supported
 2251 No options
 2252 No first char
 2253 No need char
 2254     \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
 2255  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
 2256  1: 1 
 2257  2: 2 
 2258  3: 3 
 2259  4: 4 
 2260  5: 5 
 2261  6: 6 
 2262  7: 7 
 2263  8: 8 
 2264  9: 9 
 2265 10: 10 
 2266 11: 11 
 2267 12: 12 
 2268 13: 13 
 2269 14: 14 
 2270 15: 15 
 2271 16: 16 
 2272 17: 17 
 2273 18: 18 
 2274 19: 19 
 2275 20: 20 
 2276 21: 21 
 2277 22: 22 
 2278 23: 23 
 2279 24: 24 
 2280 25: 25 
 2281 26: 26 
 2282 27: 27 
 2283 28: 28 
 2284 29: 29 
 2285 30: 30 
 2286 31: 31 
 2287 32: 32 
 2288 33: 33 
 2289 34: 34 
 2290 35: 35 
 2291 36: 36 
 2292 37: 37 
 2293 38: 38 
 2294 39: 39 
 2295 40: 40 
 2296 41: 41 
 2297 42: 42 
 2298 43: 43 
 2299 44: 44 
 2300 45: 45 
 2301 46: 46 
 2302 47: 47 
 2303 48: 48 
 2304 49: 49 
 2305 50: 50 
 2306 51: 51 
 2307 52: 52 
 2308 53: 53 
 2309 54: 54 
 2310 55: 55 
 2311 56: 56 
 2312 57: 57 
 2313 58: 58 
 2314 59: 59 
 2315 60: 60 
 2316 61: 61 
 2317 62: 62 
 2318 63: 63 
 2319 64: 64 
 2320 65: 65 
 2321 66: 66 
 2322 67: 67 
 2323 68: 68 
 2324 69: 69 
 2325 70: 70 
 2326 71: 71 
 2327 72: 72 
 2328 73: 73 
 2329 74: 74 
 2330 75: 75 
 2331 76: 76 
 2332 77: 77 
 2333 78: 78 
 2334 79: 79 
 2335 80: 80 
 2336 81: 81 
 2337 82: 82 
 2338 83: 83 
 2339 84: 84 
 2340 85: 85 
 2341 86: 86 
 2342 87: 87 
 2343 88: 88 
 2344 89: 89 
 2345 90: 90 
 2346 91: 91 
 2347 92: 92 
 2348 93: 93 
 2349 94: 94 
 2350 95: 95 
 2351 96: 96 
 2352 97: 97 
 2353 98: 98 
 2354 99: 99 
 2355 100: 100 
 2356 101: 101 
 2357 102: 102 
 2358 103: 103 
 2359 104: 104 
 2360 105: 105 
 2361 106: 106 
 2362 107: 107 
 2363 108: 108 
 2364 109: 109 
 2365 110: 110 
 2366 111: 111 
 2367 112: 112 
 2368 113: 113 
 2369 114: 114 
 2370 115: 115 
 2371 116: 116 
 2372 117: 117 
 2373 118: 118 
 2374 119: 119 
 2375 120: 120 
 2376 121: 121 
 2377 122: 122 
 2378 123: 123 
 2379 124: 124 
 2380 125: 125 
 2381 126: 126 
 2382 127: 127 
 2383 128: 128 
 2384 129: 129 
 2385 130: 130 
 2386 131: 131 
 2387 132: 132 
 2388 133: 133 
 2389 134: 134 
 2390 135: 135 
 2391 136: 136 
 2392 137: 137 
 2393 138: 138 
 2394 139: 139 
 2395 140: 140 
 2396 141: 141 
 2397 142: 142 
 2398 143: 143 
 2399 144: 144 
 2400 145: 145 
 2401 146: 146 
 2402 147: 147 
 2403 148: 148 
 2404 149: 149 
 2405 150: 150 
 2406 151: 151 
 2407 152: 152 
 2408 153: 153 
 2409 154: 154 
 2410 155: 155 
 2411 156: 156 
 2412 157: 157 
 2413 158: 158 
 2414 159: 159 
 2415 160: 160 
 2416 161: 161 
 2417 162: 162 
 2418 163: 163 
 2419 164: 164 
 2420 165: 165 
 2421 166: 166 
 2422 167: 167 
 2423 168: 168 
 2424 169: 169 
 2425 170: 170 
 2426 171: 171 
 2427 172: 172 
 2428 173: 173 
 2429 174: 174 
 2430 175: 175 
 2431 176: 176 
 2432 177: 177 
 2433 178: 178 
 2434 179: 179 
 2435 180: 180 
 2436 181: 181 
 2437 182: 182 
 2438 183: 183 
 2439 184: 184 
 2440 185: 185 
 2441 186: 186 
 2442 187: 187 
 2443 188: 188 
 2444 189: 189 
 2445 190: 190 
 2446 191: 191 
 2447 192: 192 
 2448 193: 193 
 2449 194: 194 
 2450 195: 195 
 2451 196: 196 
 2452 197: 197 
 2453 198: 198 
 2454 199: 199 
 2455 200: 200 
 2456 201: 201 
 2457 202: 202 
 2458 203: 203 
 2459 204: 204 
 2460 205: 205 
 2461 206: 206 
 2462 207: 207 
 2463 208: 208 
 2464 209: 209 
 2465 210: 210 
 2466 211: 211 
 2467 212: 212 
 2468 213: 213 
 2469 214: 214 
 2470 215: 215 
 2471 216: 216 
 2472 217: 217 
 2473 218: 218 
 2474 219: 219 
 2475 220: 220 
 2476 221: 221 
 2477 222: 222 
 2478 223: 223 
 2479 224: 224 
 2480 225: 225 
 2481 226: 226 
 2482 227: 227 
 2483 228: 228 
 2484 229: 229 
 2485 230: 230 
 2486 231: 231 
 2487 232: 232 
 2488 233: 233 
 2489 234: 234 
 2490 235: 235 
 2491 236: 236 
 2492 237: 237 
 2493 238: 238 
 2494 239: 239 
 2495 240: 240 
 2496 241: 241 
 2497 242: 242 
 2498 243: 243 
 2499 244: 244 
 2500 245: 245 
 2501 246: 246 
 2502 247: 247 
 2503 248: 248 
 2504 249: 249 
 2505 250: 250 
 2506 251: 251 
 2507 252: 252 
 2508 253: 253 
 2509 254: 254 
 2510 255: 255 
 2511 256: 256 
 2512 257: 257 
 2513 258: 258 
 2514 259: 259 
 2515 260: 260 
 2516 261: 261 
 2517 262: 262 
 2518 263: 263 
 2519 264: 264 
 2520 265: 265 
 2521 266: 266 
 2522 267: 267 
 2523 268: 268 
 2524 269: 269 
 2525 270: ABC
 2526 271: ABC
 2527 
 2528 /This one's here because Perl does this differently and PCRE can't at present/I
 2529 Capturing subpattern count = 0
 2530 No options
 2531 First char = 'T'
 2532 Need char = 't'
 2533 
 2534 /(main(O)?)+/I
 2535 Capturing subpattern count = 2
 2536 No options
 2537 First char = 'm'
 2538 Need char = 'n'
 2539     mainmain
 2540  0: mainmain
 2541  1: main
 2542     mainOmain
 2543  0: mainOmain
 2544  1: main
 2545  2: O
 2546     
 2547 /These are all cases where Perl does it differently (nested captures)/I
 2548 Capturing subpattern count = 1
 2549 No options
 2550 First char = 'T'
 2551 Need char = 's'
 2552 
 2553 /^(a(b)?)+$/I
 2554 Capturing subpattern count = 2
 2555 Options: anchored
 2556 No first char
 2557 No need char
 2558     aba
 2559  0: aba
 2560  1: a
 2561  2: b
 2562    
 2563 /^(aa(bb)?)+$/I
 2564 Capturing subpattern count = 2
 2565 Options: anchored
 2566 No first char
 2567 No need char
 2568     aabbaa    
 2569  0: aabbaa
 2570  1: aa
 2571  2: bb
 2572     
 2573 /^(aa|aa(bb))+$/I
 2574 Capturing subpattern count = 2
 2575 Options: anchored
 2576 No first char
 2577 No need char
 2578     aabbaa 
 2579  0: aabbaa
 2580  1: aa
 2581  2: bb
 2582     
 2583 /^(aa(bb)??)+$/I
 2584 Capturing subpattern count = 2
 2585 Options: anchored
 2586 No first char
 2587 No need char
 2588     aabbaa    
 2589  0: aabbaa
 2590  1: aa
 2591  2: bb
 2592     
 2593 /^(?:aa(bb)?)+$/I
 2594 Capturing subpattern count = 1
 2595 Options: anchored
 2596 No first char
 2597 No need char
 2598     aabbaa    
 2599  0: aabbaa
 2600  1: bb
 2601     
 2602 /^(aa(b(b))?)+$/I
 2603 Capturing subpattern count = 3
 2604 Options: anchored
 2605 No first char
 2606 No need char
 2607     aabbaa    
 2608  0: aabbaa
 2609  1: aa
 2610  2: bb
 2611  3: b
 2612 
 2613 /^(?:aa(b(b))?)+$/I
 2614 Capturing subpattern count = 2
 2615 Options: anchored
 2616 No first char
 2617 No need char
 2618     aabbaa    
 2619  0: aabbaa
 2620  1: bb
 2621  2: b
 2622 
 2623 /^(?:aa(b(?:b))?)+$/I
 2624 Capturing subpattern count = 1
 2625 Options: anchored
 2626 No first char
 2627 No need char
 2628     aabbaa    
 2629  0: aabbaa
 2630  1: bb
 2631 
 2632 /^(?:aa(bb(?:b))?)+$/I
 2633 Capturing subpattern count = 1
 2634 Options: anchored
 2635 No first char
 2636 No need char
 2637     aabbbaa    
 2638  0: aabbbaa
 2639  1: bbb
 2640     
 2641 /^(?:aa(b(?:bb))?)+$/I
 2642 Capturing subpattern count = 1
 2643 Options: anchored
 2644 No first char
 2645 No need char
 2646     aabbbaa    
 2647  0: aabbbaa
 2648  1: bbb
 2649 
 2650 /^(?:aa(?:b(b))?)+$/I
 2651 Capturing subpattern count = 1
 2652 Options: anchored
 2653 No first char
 2654 No need char
 2655     aabbaa    
 2656  0: aabbaa
 2657  1: b
 2658 
 2659 /^(?:aa(?:b(bb))?)+$/I
 2660 Capturing subpattern count = 1
 2661 Options: anchored
 2662 No first char
 2663 No need char
 2664     aabbbaa    
 2665  0: aabbbaa
 2666  1: bb
 2667 
 2668 /^(aa(b(bb))?)+$/I
 2669 Capturing subpattern count = 3
 2670 Options: anchored
 2671 No first char
 2672 No need char
 2673     aabbbaa    
 2674  0: aabbbaa
 2675  1: aa
 2676  2: bbb
 2677  3: bb
 2678 
 2679 /^(aa(bb(bb))?)+$/I
 2680 Capturing subpattern count = 3
 2681 Options: anchored
 2682 No first char
 2683 No need char
 2684     aabbbbaa    
 2685  0: aabbbbaa
 2686  1: aa
 2687  2: bbbb
 2688  3: bb
 2689 
 2690 /--------------------------------------------------------------------/I 
 2691 Capturing subpattern count = 0
 2692 No options
 2693 First char = '-'
 2694 Need char = '-'
 2695     
 2696 /#/IxMD
 2697 Memory allocation (code space): 7
 2698 ------------------------------------------------------------------
 2699   0   3 Bra 0
 2700   3   3 Ket
 2701   6     End
 2702 ------------------------------------------------------------------
 2703 Capturing subpattern count = 0
 2704 Options: extended
 2705 No first char
 2706 No need char
 2707 
 2708 /a#/IxMD
 2709 Memory allocation (code space): 9
 2710 ------------------------------------------------------------------
 2711   0   5 Bra 0
 2712   3     a
 2713   5   5 Ket
 2714   8     End
 2715 ------------------------------------------------------------------
 2716 Capturing subpattern count = 0
 2717 Options: extended
 2718 First char = 'a'
 2719 No need char
 2720 
 2721 /[\s]/D
 2722 ------------------------------------------------------------------
 2723   0  36 Bra 0
 2724   3     [\x09\x0a\x0c\x0d ]
 2725  36  36 Ket
 2726  39     End
 2727 ------------------------------------------------------------------
 2728 Capturing subpattern count = 0
 2729 No options
 2730 No first char
 2731 No need char
 2732 
 2733 /[\S]/D
 2734 ------------------------------------------------------------------
 2735   0  36 Bra 0
 2736   3     [\x00-\x08\x0b\x0e-\x1f!-\xff]
 2737  36  36 Ket
 2738  39     End
 2739 ------------------------------------------------------------------
 2740 Capturing subpattern count = 0
 2741 No options
 2742 No first char
 2743 No need char
 2744 
 2745 /a(?i)b/D
 2746 ------------------------------------------------------------------
 2747   0   9 Bra 0
 2748   3     a
 2749   5  01 Opt
 2750   7  NC b
 2751   9   9 Ket
 2752  12     End
 2753 ------------------------------------------------------------------
 2754 Capturing subpattern count = 0
 2755 No options
 2756 First char = 'a'
 2757 Need char = 'b' (caseless)
 2758     ab
 2759  0: ab
 2760     aB
 2761  0: aB
 2762     *** Failers 
 2763 No match
 2764     AB  
 2765 No match
 2766 
 2767 /(a(?i)b)/D
 2768 ------------------------------------------------------------------
 2769   0  19 Bra 0
 2770   3  11 Bra 1
 2771   8     a
 2772  10  01 Opt
 2773  12  NC b
 2774  14  11 Ket
 2775  17  00 Opt
 2776  19  19 Ket
 2777  22     End
 2778 ------------------------------------------------------------------
 2779 Capturing subpattern count = 1
 2780 No options
 2781 First char = 'a'
 2782 Need char = 'b' (caseless)
 2783     ab
 2784  0: ab
 2785  1: ab
 2786     aB
 2787  0: aB
 2788  1: aB
 2789     *** Failers 
 2790 No match
 2791     AB  
 2792 No match
 2793     
 2794 /   (?i)abc/IxD
 2795 ------------------------------------------------------------------
 2796   0   9 Bra 0
 2797   3  NC abc
 2798   9   9 Ket
 2799  12     End
 2800 ------------------------------------------------------------------
 2801 Capturing subpattern count = 0
 2802 Options: caseless extended
 2803 First char = 'a' (caseless)
 2804 Need char = 'c' (caseless)
 2805 
 2806 /#this is a comment
 2807   (?i)abc/IxD
 2808 ------------------------------------------------------------------
 2809   0   9 Bra 0
 2810   3  NC abc
 2811   9   9 Ket
 2812  12     End
 2813 ------------------------------------------------------------------
 2814 Capturing subpattern count = 0
 2815 Options: caseless extended
 2816 First char = 'a' (caseless)
 2817 Need char = 'c' (caseless)
 2818 
 2819 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
 2820 ------------------------------------------------------------------
 2821   0 603 Bra 0
 2822   3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
 2823 603 603 Ket
 2824 606     End
 2825 ------------------------------------------------------------------
 2826 Capturing subpattern count = 0
 2827 No options
 2828 First char = '1'
 2829 Need char = '0'
 2830 
 2831 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
 2832 ------------------------------------------------------------------
 2833   0 603 Bra 0
 2834   3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
 2835 603 603 Ket
 2836 606     End
 2837 ------------------------------------------------------------------
 2838 Capturing subpattern count = 0
 2839 No options
 2840 First char = '1'
 2841 Need char = '0'
 2842 
 2843 /\Q\E/D
 2844 ------------------------------------------------------------------
 2845   0   3 Bra 0
 2846   3   3 Ket
 2847   6     End
 2848 ------------------------------------------------------------------
 2849 Capturing subpattern count = 0
 2850 No options
 2851 No first char
 2852 No need char
 2853     \
 2854  0: 
 2855 
 2856 /\Q\Ex/D
 2857 ------------------------------------------------------------------
 2858   0   5 Bra 0
 2859   3     x
 2860   5   5 Ket
 2861   8     End
 2862 ------------------------------------------------------------------
 2863 Capturing subpattern count = 0
 2864 No options
 2865 First char = 'x'
 2866 No need char
 2867 
 2868 / \Q\E/D
 2869 ------------------------------------------------------------------
 2870   0   5 Bra 0
 2871   3      
 2872   5   5 Ket
 2873   8     End
 2874 ------------------------------------------------------------------
 2875 Capturing subpattern count = 0
 2876 No options
 2877 First char = ' '
 2878 No need char
 2879 
 2880 /a\Q\E/D
 2881 ------------------------------------------------------------------
 2882   0   5 Bra 0
 2883   3     a
 2884   5   5 Ket
 2885   8     End
 2886 ------------------------------------------------------------------
 2887 Capturing subpattern count = 0
 2888 No options
 2889 First char = 'a'
 2890 No need char
 2891   abc
 2892  0: a
 2893   bca
 2894  0: a
 2895   bac  
 2896  0: a
 2897 
 2898 /a\Q\Eb/D
 2899 ------------------------------------------------------------------
 2900   0   7 Bra 0
 2901   3     ab
 2902   7   7 Ket
 2903  10     End
 2904 ------------------------------------------------------------------
 2905 Capturing subpattern count = 0
 2906 No options
 2907 First char = 'a'
 2908 Need char = 'b'
 2909   abc
 2910  0: ab
 2911 
 2912 /\Q\Eabc/D
 2913 ------------------------------------------------------------------
 2914   0   9 Bra 0
 2915   3     abc
 2916   9   9 Ket
 2917  12     End
 2918 ------------------------------------------------------------------
 2919 Capturing subpattern count = 0
 2920 No options
 2921 First char = 'a'
 2922 Need char = 'c'
 2923 
 2924 /x*+\w/D
 2925 ------------------------------------------------------------------
 2926   0   6 Bra 0
 2927   3     x*+
 2928   5     \w
 2929   6   6 Ket
 2930   9     End
 2931 ------------------------------------------------------------------
 2932 Capturing subpattern count = 0
 2933 Partial matching not supported
 2934 No options
 2935 No first char
 2936 No need char
 2937     *** Failers
 2938  0: F
 2939     xxxxx
 2940 No match
 2941     
 2942 /x?+/D
 2943 ------------------------------------------------------------------
 2944   0   5 Bra 0
 2945   3     x?+
 2946   5   5 Ket
 2947   8     End
 2948 ------------------------------------------------------------------
 2949 Capturing subpattern count = 0
 2950 No options
 2951 No first char
 2952 No need char
 2953 
 2954 /x++/D
 2955 ------------------------------------------------------------------
 2956   0   5 Bra 0
 2957   3     x++
 2958   5   5 Ket
 2959   8     End
 2960 ------------------------------------------------------------------
 2961 Capturing subpattern count = 0
 2962 Partial matching not supported
 2963 No options
 2964 First char = 'x'
 2965 No need char
 2966 
 2967 /x{1,3}+/D 
 2968 ------------------------------------------------------------------
 2969   0  15 Bra 0
 2970   3   9 Once
 2971   6     x
 2972   8     x{0,2}
 2973  12   9 Ket
 2974  15  15 Ket
 2975  18     End
 2976 ------------------------------------------------------------------
 2977 Capturing subpattern count = 0
 2978 Partial matching not supported
 2979 No options
 2980 First char = 'x'
 2981 No need char
 2982 
 2983 /(x)*+/D
 2984 ------------------------------------------------------------------
 2985   0  20 Bra 0
 2986   3  14 Once
 2987   6     Brazero
 2988   7   7 Bra 1
 2989  12     x
 2990  14   7 KetRmax
 2991  17  14 Ket
 2992  20  20 Ket
 2993  23     End
 2994 ------------------------------------------------------------------
 2995 Capturing subpattern count = 1
 2996 No options
 2997 No first char
 2998 No need char
 2999 
 3000 /^(\w++|\s++)*$/I
 3001 Capturing subpattern count = 1
 3002 Partial matching not supported
 3003 Options: anchored
 3004 No first char
 3005 No need char
 3006     now is the time for all good men to come to the aid of the party
 3007  0: now is the time for all good men to come to the aid of the party
 3008  1: party
 3009     *** Failers
 3010 No match
 3011     this is not a line with only words and spaces!
 3012 No match
 3013     
 3014 /(\d++)(\w)/I
 3015 Capturing subpattern count = 2
 3016 Partial matching not supported
 3017 No options
 3018 No first char
 3019 No need char
 3020     12345a
 3021  0: 12345a
 3022  1: 12345
 3023  2: a
 3024     *** Failers
 3025 No match
 3026     12345+ 
 3027 No match
 3028 
 3029 /a++b/I
 3030 Capturing subpattern count = 0
 3031 Partial matching not supported
 3032 No options
 3033 First char = 'a'
 3034 Need char = 'b'
 3035     aaab
 3036  0: aaab
 3037 
 3038 /(a++b)/I
 3039 Capturing subpattern count = 1
 3040 Partial matching not supported
 3041 No options
 3042 First char = 'a'
 3043 Need char = 'b'
 3044     aaab
 3045  0: aaab
 3046  1: aaab
 3047 
 3048 /(a++)b/I
 3049 Capturing subpattern count = 1
 3050 Partial matching not supported
 3051 No options
 3052 First char = 'a'
 3053 Need char = 'b'
 3054     aaab
 3055  0: aaab
 3056  1: aaa
 3057 
 3058 /([^()]++|\([^()]*\))+/I
 3059 Capturing subpattern count = 1
 3060 Partial matching not supported
 3061 No options
 3062 No first char
 3063 No need char
 3064     ((abc(ade)ufh()()x
 3065  0: abc(ade)ufh()()x
 3066  1: x
 3067     
 3068 /\(([^()]++|\([^()]+\))+\)/I 
 3069 Capturing subpattern count = 1
 3070 Partial matching not supported
 3071 No options
 3072 First char = '('
 3073 Need char = ')'
 3074     (abc)
 3075  0: (abc)
 3076  1: abc
 3077     (abc(def)xyz)
 3078  0: (abc(def)xyz)
 3079  1: xyz
 3080     *** Failers
 3081 No match
 3082     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   
 3083 No match
 3084 
 3085 /(abc){1,3}+/D
 3086 ------------------------------------------------------------------
 3087   0  59 Bra 0
 3088   3  53 Once
 3089   6  11 Bra 1
 3090  11     abc
 3091  17  11 Ket
 3092  20     Brazero
 3093  21  32 Bra 0
 3094  24  11 Bra 1
 3095  29     abc
 3096  35  11 Ket
 3097  38     Brazero
 3098  39  11 Bra 1
 3099  44     abc
 3100  50  11 Ket
 3101  53  32 Ket
 3102  56  53 Ket
 3103  59  59 Ket
 3104  62     End
 3105 ------------------------------------------------------------------
 3106 Capturing subpattern count = 1
 3107 No options
 3108 First char = 'a'
 3109 Need char = 'c'
 3110 
 3111 /a+?+/I
 3112 Failed: nothing to repeat at offset 3
 3113 
 3114 /a{2,3}?+b/I
 3115 Failed: nothing to repeat at offset 7
 3116 
 3117 /(?U)a+?+/I
 3118 Failed: nothing to repeat at offset 7
 3119 
 3120 /a{2,3}?+b/IU
 3121 Failed: nothing to repeat at offset 7
 3122 
 3123 /x(?U)a++b/D
 3124 ------------------------------------------------------------------
 3125   0   9 Bra 0
 3126   3     x
 3127   5     a++
 3128   7     b
 3129   9   9 Ket
 3130  12     End
 3131 ------------------------------------------------------------------
 3132 Capturing subpattern count = 0
 3133 Partial matching not supported
 3134 No options
 3135 First char = 'x'
 3136 Need char = 'b'
 3137     xaaaab
 3138  0: xaaaab
 3139 
 3140 /(?U)xa++b/D
 3141 ------------------------------------------------------------------
 3142   0   9 Bra 0
 3143   3     x
 3144   5     a++
 3145   7     b
 3146   9   9 Ket
 3147  12     End
 3148 ------------------------------------------------------------------
 3149 Capturing subpattern count = 0
 3150 Partial matching not supported
 3151 Options: ungreedy
 3152 First char = 'x'
 3153 Need char = 'b'
 3154     xaaaab
 3155  0: xaaaab
 3156 
 3157 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D
 3158 ------------------------------------------------------------------
 3159   0 116 Bra 0
 3160   3     ^
 3161   4 109 Bra 1
 3162   9   7 Bra 2
 3163  14     a+
 3164  16   7 Ket
 3165  19  39 Bra 3
 3166  24     [ab]+?
 3167  58  39 Ket
 3168  61  39 Bra 4
 3169  66     [bc]+
 3170 100  39 Ket
 3171 103   7 Bra 5
 3172 108     \w*
 3173 110   7 Ket
 3174 113 109 Ket
 3175 116 116 Ket
 3176 119     End
 3177 ------------------------------------------------------------------
 3178 Capturing subpattern count = 5
 3179 Partial matching not supported
 3180 Options: anchored
 3181 No first char
 3182 No need char
 3183 
 3184 /^x(?U)a+b/D
 3185 ------------------------------------------------------------------
 3186   0  10 Bra 0
 3187   3     ^
 3188   4     x
 3189   6     a++
 3190   8     b
 3191  10  10 Ket
 3192  13     End
 3193 ------------------------------------------------------------------
 3194 Capturing subpattern count = 0
 3195 Partial matching not supported
 3196 Options: anchored
 3197 No first char
 3198 Need char = 'b'
 3199 
 3200 /^x(?U)(a+)b/D
 3201 ------------------------------------------------------------------
 3202   0  18 Bra 0
 3203   3     ^
 3204   4     x
 3205   6   7 Bra 1
 3206  11     a+?
 3207  13   7 Ket
 3208  16     b
 3209  18  18 Ket
 3210  21     End
 3211 ------------------------------------------------------------------
 3212 Capturing subpattern count = 1
 3213 Partial matching not supported
 3214 Options: anchored
 3215 No first char
 3216 Need char = 'b'
 3217 
 3218 /[.x.]/I
 3219 Failed: POSIX collating elements are not supported at offset 0
 3220 
 3221 /[=x=]/I
 3222 Failed: POSIX collating elements are not supported at offset 0
 3223 
 3224 /[:x:]/I
 3225 Failed: POSIX named classes are supported only within a class at offset 0
 3226 
 3227 /\l/I
 3228 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 3229 
 3230 /\L/I
 3231 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 3232 
 3233 /\N{name}/I
 3234 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 3235 
 3236 /\u/I
 3237 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 3238 
 3239 /\U/I
 3240 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 3241 
 3242 /[/I
 3243 Failed: missing terminating ] for character class at offset 1
 3244 
 3245 /[a-/I
 3246 Failed: missing terminating ] for character class at offset 3
 3247 
 3248 /[[:space:]/I
 3249 Failed: missing terminating ] for character class at offset 10
 3250 
 3251 /[\s]/IDM
 3252 Memory allocation (code space): 40
 3253 ------------------------------------------------------------------
 3254   0  36 Bra 0
 3255   3     [\x09\x0a\x0c\x0d ]
 3256  36  36 Ket
 3257  39     End
 3258 ------------------------------------------------------------------
 3259 Capturing subpattern count = 0
 3260 No options
 3261 No first char
 3262 No need char
 3263 
 3264 /[[:space:]]/IDM
 3265 Memory allocation (code space): 40
 3266 ------------------------------------------------------------------
 3267   0  36 Bra 0
 3268   3     [\x09-\x0d ]
 3269  36  36 Ket
 3270  39     End
 3271 ------------------------------------------------------------------
 3272 Capturing subpattern count = 0
 3273 No options
 3274 No first char
 3275 No need char
 3276 
 3277 /[[:space:]abcde]/IDM
 3278 Memory allocation (code space): 40
 3279 ------------------------------------------------------------------
 3280   0  36 Bra 0
 3281   3     [\x09-\x0d a-e]
 3282  36  36 Ket
 3283  39     End
 3284 ------------------------------------------------------------------
 3285 Capturing subpattern count = 0
 3286 No options
 3287 No first char
 3288 No need char
 3289 
 3290 /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
 3291 Capturing subpattern count = 0
 3292 Partial matching not supported
 3293 Options: extended
 3294 First char = '<'
 3295 Need char = '>'
 3296     <>
 3297  0: <>
 3298     <abcd>
 3299  0: <abcd>
 3300     <abc <123> hij>
 3301  0: <abc <123> hij>
 3302     <abc <def> hij>
 3303  0: <def>
 3304     <abc<>def> 
 3305  0: <abc<>def>
 3306     <abc<>      
 3307  0: <>
 3308     *** Failers
 3309 No match
 3310     <abc
 3311 No match
 3312 
 3313 |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|IDM
 3314 Memory allocation (code space): 826
 3315 ------------------------------------------------------------------
 3316   0 822 Bra 0
 3317   3     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
 3318 821     \b
 3319 822 822 Ket
 3320 825     End
 3321 ------------------------------------------------------------------
 3322 Capturing subpattern count = 0
 3323 No options
 3324 First char = '8'
 3325 Need char = 'X'
 3326 
 3327 |\$\<\.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|IDM
 3328 Memory allocation (code space): 816
 3329 ------------------------------------------------------------------
 3330   0 812 Bra 0
 3331   3     $<.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
 3332 811     \b
 3333 812 812 Ket
 3334 815     End
 3335 ------------------------------------------------------------------
 3336 Capturing subpattern count = 0
 3337 No options
 3338 First char = '$'
 3339 Need char = 'X'
 3340 
 3341 /(.*)\d+\1/I
 3342 Capturing subpattern count = 1
 3343 Max back reference = 1
 3344 Partial matching not supported
 3345 No options
 3346 No first char
 3347 No need char
 3348 
 3349 /(.*)\d+/I
 3350 Capturing subpattern count = 1
 3351 Partial matching not supported
 3352 No options
 3353 First char at start or follows newline
 3354 No need char
 3355     
 3356 /(.*)\d+\1/Is
 3357 Capturing subpattern count = 1
 3358 Max back reference = 1
 3359 Partial matching not supported
 3360 Options: dotall
 3361 No first char
 3362 No need char
 3363 
 3364 /(.*)\d+/Is
 3365 Capturing subpattern count = 1
 3366 Partial matching not supported
 3367 Options: anchored dotall
 3368 No first char
 3369 No need char
 3370 
 3371 /(.*(xyz))\d+\2/I
 3372 Capturing subpattern count = 2
 3373 Max back reference = 2
 3374 Partial matching not supported
 3375 No options
 3376 First char at start or follows newline
 3377 Need char = 'z'
 3378 
 3379 /((.*))\d+\1/I
 3380 Capturing subpattern count = 2
 3381 Max back reference = 1
 3382 Partial matching not supported
 3383 No options
 3384 No first char
 3385 No need char
 3386     abc123bc
 3387  0: bc123bc
 3388  1: bc
 3389  2: bc
 3390     
 3391 /a[b]/I
 3392 Capturing subpattern count = 0
 3393 No options
 3394 First char = 'a'
 3395 Need char = 'b'
 3396 
 3397 /(?=a).*/I
 3398 Capturing subpattern count = 0
 3399 Partial matching not supported
 3400 No options
 3401 First char = 'a'
 3402 No need char
 3403 
 3404 /(?=abc).xyz/IiI
 3405 Capturing subpattern count = 0
 3406 Options: caseless
 3407 First char = 'a' (caseless)
 3408 Need char = 'z' (caseless)
 3409 
 3410 /(?=abc)(?i).xyz/I
 3411 Capturing subpattern count = 0
 3412 No options
 3413 First char = 'a'
 3414 Need char = 'z' (caseless)
 3415 
 3416 /(?=a)(?=b)/I
 3417 Capturing subpattern count = 0
 3418 No options
 3419 First char = 'a'
 3420 No need char
 3421 
 3422 /(?=.)a/I
 3423 Capturing subpattern count = 0
 3424 No options
 3425 First char = 'a'
 3426 No need char
 3427 
 3428 /((?=abcda)a)/I
 3429 Capturing subpattern count = 1
 3430 No options
 3431 First char = 'a'
 3432 Need char = 'a'
 3433 
 3434 /((?=abcda)ab)/I
 3435 Capturing subpattern count = 1
 3436 No options
 3437 First char = 'a'
 3438 Need char = 'b'
 3439 
 3440 /()a/I
 3441 Capturing subpattern count = 1
 3442 No options
 3443 No first char
 3444 Need char = 'a'
 3445 
 3446 /(?(1)ab|ac)/I
 3447 Capturing subpattern count = 0
 3448 No options
 3449 First char = 'a'
 3450 No need char
 3451 
 3452 /(?(1)abz|acz)/I
 3453 Capturing subpattern count = 0
 3454 No options
 3455 First char = 'a'
 3456 Need char = 'z'
 3457 
 3458 /(?(1)abz)/I
 3459 Capturing subpattern count = 0
 3460 No options
 3461 No first char
 3462 No need char
 3463 
 3464 /(?(1)abz)123/I
 3465 Capturing subpattern count = 0
 3466 No options
 3467 No first char
 3468 Need char = '3'
 3469 
 3470 /(a)+/I
 3471 Capturing subpattern count = 1
 3472 No options
 3473 First char = 'a'
 3474 No need char
 3475 
 3476 /(a){2,3}/I
 3477 Capturing subpattern count = 1
 3478 No options
 3479 First char = 'a'
 3480 Need char = 'a'
 3481 
 3482 /(a)*/I
 3483 Capturing subpattern count = 1
 3484 No options
 3485 No first char
 3486 No need char
 3487 
 3488 /[a]/I
 3489 Capturing subpattern count = 0
 3490 No options
 3491 First char = 'a'
 3492 No need char
 3493 
 3494 /[ab]/I
 3495 Capturing subpattern count = 0
 3496 No options
 3497 No first char
 3498 No need char
 3499 
 3500 /[ab]/IS
 3501 Capturing subpattern count = 0
 3502 No options
 3503 No first char
 3504 No need char
 3505 Starting byte set: a b 
 3506 
 3507 /[^a]/I
 3508 Capturing subpattern count = 0
 3509 No options
 3510 No first char
 3511 No need char
 3512 
 3513 /\d456/I
 3514 Capturing subpattern count = 0
 3515 No options
 3516 No first char
 3517 Need char = '6'
 3518 
 3519 /\d456/IS
 3520 Capturing subpattern count = 0
 3521 No options
 3522 No first char
 3523 Need char = '6'
 3524 Starting byte set: 0 1 2 3 4 5 6 7 8 9 
 3525 
 3526 /a^b/I
 3527 Capturing subpattern count = 0
 3528 No options
 3529 First char = 'a'
 3530 Need char = 'b'
 3531 
 3532 /^a/Im
 3533 Capturing subpattern count = 0
 3534 Options: multiline
 3535 First char at start or follows newline
 3536 Need char = 'a'
 3537   abcde
 3538  0: a
 3539   xy\nabc 
 3540  0: a
 3541   *** Failers 
 3542 No match
 3543   xyabc 
 3544 No match
 3545 
 3546 /c|abc/I
 3547 Capturing subpattern count = 0
 3548 No options
 3549 No first char
 3550 Need char = 'c'
 3551 
 3552 /(?i)[ab]/IS
 3553 Capturing subpattern count = 0
 3554 Options: caseless
 3555 No first char
 3556 No need char
 3557 Starting byte set: A B a b 
 3558 
 3559 /[ab](?i)cd/IS
 3560 Capturing subpattern count = 0
 3561 No options
 3562 No first char
 3563 Need char = 'd' (caseless)
 3564 Starting byte set: a b 
 3565 
 3566 /abc(?C)def/I
 3567 Capturing subpattern count = 0
 3568 No options
 3569 First char = 'a'
 3570 Need char = 'f'
 3571     abcdef
 3572 --->abcdef
 3573   0 ^  ^       d
 3574  0: abcdef
 3575     1234abcdef 
 3576 --->1234abcdef
 3577   0     ^  ^       d
 3578  0: abcdef
 3579     *** Failers
 3580 No match
 3581     abcxyz
 3582 No match
 3583     abcxyzf   
 3584 --->abcxyzf
 3585   0 ^  ^        d
 3586 No match
 3587 
 3588 /abc(?C)de(?C1)f/I
 3589 Capturing subpattern count = 0
 3590 No options
 3591 First char = 'a'
 3592 Need char = 'f'
 3593     123abcdef
 3594 --->123abcdef
 3595   0    ^  ^       d
 3596   1    ^    ^     f
 3597  0: abcdef
 3598     
 3599 /(?C1)\dabc(?C2)def/I 
 3600 Capturing subpattern count = 0
 3601 No options
 3602 No first char
 3603 Need char = 'f'
 3604     1234abcdef
 3605 --->1234abcdef
 3606   1 ^              \d
 3607   1  ^             \d
 3608   1   ^            \d
 3609   1    ^           \d
 3610   2    ^   ^       d
 3611  0: 4abcdef
 3612     *** Failers
 3613 No match
 3614     abcdef 
 3615 --->abcdef
 3616   1 ^          \d
 3617   1  ^         \d
 3618   1   ^        \d
 3619   1    ^       \d
 3620   1     ^      \d
 3621   1      ^     \d
 3622 No match
 3623     
 3624 /(?C255)ab/I
 3625 Capturing subpattern count = 0
 3626 No options
 3627 First char = 'a'
 3628 Need char = 'b'
 3629 
 3630 /(?C256)ab/I
 3631 Failed: number after (?C is > 255 at offset 6
 3632 
 3633 /(?Cab)xx/I 
 3634 Failed: closing ) for (?C expected at offset 3
 3635 
 3636 /(?C12vr)x/I
 3637 Failed: closing ) for (?C expected at offset 5
 3638 
 3639 /abc(?C)def/I
 3640 Capturing subpattern count = 0
 3641 No options
 3642 First char = 'a'
 3643 Need char = 'f'
 3644     *** Failers
 3645 No match
 3646     \x83\x0\x61bcdef
 3647 --->\x83\x00abcdef
 3648   0         ^  ^       d
 3649  0: abcdef
 3650 
 3651 /(abc)(?C)de(?C1)f/I
 3652 Capturing subpattern count = 1
 3653 No options
 3654 First char = 'a'
 3655 Need char = 'f'
 3656     123abcdef
 3657 --->123abcdef
 3658   0    ^  ^       d
 3659   1    ^    ^     f
 3660  0: abcdef
 3661  1: abc
 3662     123abcdef\C+ 
 3663 Callout 0: last capture = 1
 3664  0: <unset>
 3665  1: abc
 3666 --->123abcdef
 3667        ^  ^       d
 3668 Callout 1: last capture = 1
 3669  0: <unset>
 3670  1: abc
 3671 --->123abcdef
 3672        ^    ^     f
 3673  0: abcdef
 3674  1: abc
 3675     123abcdef\C- 
 3676  0: abcdef
 3677  1: abc
 3678     *** Failers
 3679 No match
 3680     123abcdef\C!1 
 3681 --->123abcdef
 3682   0    ^  ^       d
 3683   1    ^    ^     f
 3684 No match
 3685     
 3686 /(?C0)(abc(?C1))*/I
 3687 Capturing subpattern count = 1
 3688 No options
 3689 No first char
 3690 No need char
 3691     abcabcabc
 3692 --->abcabcabc
 3693   0 ^             (abc(?C1))*
 3694   1 ^  ^          )
 3695   1 ^     ^       )
 3696   1 ^        ^    )
 3697  0: abcabcabc
 3698  1: abc
 3699     abcabc\C!1!3   
 3700 --->abcabc
 3701   0 ^          (abc(?C1))*
 3702   1 ^  ^       )
 3703   1 ^     ^    )
 3704  0: abcabc
 3705  1: abc
 3706     *** Failers
 3707 --->*** Failers
 3708   0 ^               (abc(?C1))*
 3709  0: 
 3710     abcabcabc\C!1!3   
 3711 --->abcabcabc
 3712   0 ^             (abc(?C1))*
 3713   1 ^  ^          )
 3714   1 ^     ^       )
 3715   1 ^        ^    )
 3716  0: abcabc
 3717  1: abc
 3718 
 3719 /(\d{3}(?C))*/I
 3720 Capturing subpattern count = 1
 3721 Partial matching not supported
 3722 No options
 3723 No first char
 3724 No need char
 3725     123\C+
 3726 Callout 0: last capture = -1
 3727  0: <unset>
 3728 --->123
 3729     ^  ^    )
 3730  0: 123
 3731  1: 123
 3732     123456\C+
 3733 Callout 0: last capture = -1
 3734  0: <unset>
 3735 --->123456
 3736     ^  ^       )
 3737 Callout 0: last capture = 1
 3738  0: <unset>
 3739  1: 123
 3740 --->123456
 3741     ^     ^    )
 3742  0: 123456
 3743  1: 456
 3744     123456789\C+  
 3745 Callout 0: last capture = -1
 3746  0: <unset>
 3747 --->123456789
 3748     ^  ^          )
 3749 Callout 0: last capture = 1
 3750  0: <unset>
 3751  1: 123
 3752 --->123456789
 3753     ^     ^       )
 3754 Callout 0: last capture = 1
 3755  0: <unset>
 3756  1: 456
 3757 --->123456789
 3758     ^        ^    )
 3759  0: 123456789
 3760  1: 789
 3761 
 3762 /((xyz)(?C)p|(?C1)xyzabc)/I
 3763 Capturing subpattern count = 2
 3764 No options
 3765 First char = 'x'
 3766 No need char
 3767     xyzabc\C+
 3768 Callout 0: last capture = 2
 3769  0: <unset>
 3770  1: <unset>
 3771  2: xyz
 3772 --->xyzabc
 3773     ^  ^       p
 3774 Callout 1: last capture = -1
 3775  0: <unset>
 3776 --->xyzabc
 3777     ^          x
 3778  0: xyzabc
 3779  1: xyzabc
 3780 
 3781 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
 3782 Capturing subpattern count = 3
 3783 No options
 3784 First char = 'X'
 3785 Need char = 'x'
 3786     Xxyzabc\C+
 3787 Callout 0: last capture = 3
 3788  0: <unset>
 3789  1: X
 3790  2: <unset>
 3791  3: xyz
 3792 --->Xxyzabc
 3793     ^   ^       p
 3794 Callout 1: last capture = 1
 3795  0: <unset>
 3796  1: X
 3797 --->Xxyzabc
 3798     ^^          x
 3799  0: Xxyzabc
 3800  1: X
 3801  2: xyzabc
 3802 
 3803 /(?=(abc))(?C)abcdef/I
 3804 Capturing subpattern count = 1
 3805 No options
 3806 First char = 'a'
 3807 Need char = 'f'
 3808     abcdef\C+
 3809 Callout 0: last capture = 1
 3810  0: <unset>
 3811  1: abc
 3812 --->abcdef
 3813     ^          a
 3814  0: abcdef
 3815  1: abc
 3816     
 3817 /(?!(abc)(?C1)d)(?C2)abcxyz/I
 3818 Capturing subpattern count = 1
 3819 No options
 3820 First char = 'a'
 3821 Need char = 'z'
 3822     abcxyz\C+ 
 3823 Callout 1: last capture = 1
 3824  0: <unset>
 3825  1: abc
 3826 --->abcxyz
 3827     ^  ^       d
 3828 Callout 2: last capture = -1
 3829  0: <unset>
 3830 --->abcxyz
 3831     ^          a
 3832  0: abcxyz
 3833 
 3834 /(?<=(abc)(?C))xyz/I
 3835 Capturing subpattern count = 1
 3836 No options
 3837 First char = 'x'
 3838 Need char = 'z'
 3839    abcxyz\C+
 3840 Callout 0: last capture = 1
 3841  0: <unset>
 3842  1: abc
 3843 --->abcxyz
 3844        ^       )
 3845  0: xyz
 3846  1: abc
 3847    
 3848 /a(b+)(c*)(?C1)/I
 3849 Capturing subpattern count = 2
 3850 Partial matching not supported
 3851 No options
 3852 First char = 'a'
 3853 Need char = 'b'
 3854     abbbbbccc\C*1
 3855 --->abbbbbccc
 3856   1 ^        ^    
 3857 Callout data = 1
 3858   1 ^       ^     
 3859 Callout data = 1
 3860   1 ^      ^      
 3861 Callout data = 1
 3862   1 ^     ^       
 3863 Callout data = 1
 3864   1 ^    ^        
 3865 Callout data = 1
 3866   1 ^   ^         
 3867 Callout data = 1
 3868   1 ^  ^          
 3869 Callout data = 1
 3870   1 ^ ^           
 3871 Callout data = 1
 3872 No match
 3873 
 3874 /a(b+?)(c*?)(?C1)/I
 3875 Capturing subpattern count = 2
 3876 Partial matching not supported
 3877 No options
 3878 First char = 'a'
 3879 Need char = 'b'
 3880     abbbbbccc\C*1
 3881 --->abbbbbccc
 3882   1 ^ ^           
 3883 Callout data = 1
 3884   1 ^  ^          
 3885 Callout data = 1
 3886   1 ^   ^         
 3887 Callout data = 1
 3888   1 ^    ^        
 3889 Callout data = 1
 3890   1 ^     ^       
 3891 Callout data = 1
 3892   1 ^      ^      
 3893 Callout data = 1
 3894   1 ^       ^     
 3895 Callout data = 1
 3896   1 ^        ^    
 3897 Callout data = 1
 3898 No match
 3899    
 3900 /(?C)abc/I 
 3901 Capturing subpattern count = 0
 3902 No options
 3903 First char = 'a'
 3904 Need char = 'c'
 3905 
 3906 /(?C)^abc/I
 3907 Capturing subpattern count = 0
 3908 Options: anchored
 3909 No first char
 3910 No need char
 3911 
 3912 /(?C)a|b/IS
 3913 Capturing subpattern count = 0
 3914 No options
 3915 No first char
 3916 No need char
 3917 Starting byte set: a b 
 3918 
 3919 /(?R)/I
 3920 Failed: recursive call could loop indefinitely at offset 3
 3921 
 3922 /(a|(?R))/I
 3923 Failed: recursive call could loop indefinitely at offset 6
 3924 
 3925 /(ab|(bc|(de|(?R))))/I
 3926 Failed: recursive call could loop indefinitely at offset 15
 3927 
 3928 /x(ab|(bc|(de|(?R))))/I
 3929 Capturing subpattern count = 3
 3930 No options
 3931 First char = 'x'
 3932 No need char
 3933     xab
 3934  0: xab
 3935  1: ab
 3936     xbc
 3937  0: xbc
 3938  1: bc
 3939  2: bc
 3940     xde
 3941  0: xde
 3942  1: de
 3943  2: de
 3944  3: de
 3945     xxab
 3946  0: xxab
 3947  1: xab
 3948  2: xab
 3949  3: xab
 3950     xxxab
 3951  0: xxxab
 3952  1: xxab
 3953  2: xxab
 3954  3: xxab
 3955     *** Failers
 3956 No match
 3957     xyab   
 3958 No match
 3959 
 3960 /(ab|(bc|(de|(?1))))/I
 3961 Failed: recursive call could loop indefinitely at offset 15
 3962 
 3963 /x(ab|(bc|(de|(?1)x)x)x)/I
 3964 Failed: recursive call could loop indefinitely at offset 16
 3965 
 3966 /^([^()]|\((?1)*\))*$/I
 3967 Capturing subpattern count = 1
 3968 Options: anchored
 3969 No first char
 3970 No need char
 3971     abc
 3972  0: abc
 3973  1: c
 3974     a(b)c
 3975  0: a(b)c
 3976  1: c
 3977     a(b(c))d  
 3978  0: a(b(c))d
 3979  1: d
 3980     *** Failers)
 3981 No match
 3982     a(b(c)d  
 3983 No match
 3984 
 3985 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
 3986 Capturing subpattern count = 1
 3987 Options: anchored
 3988 No first char
 3989 Need char = '<'
 3990    >abc>123<xyz<
 3991  0: >abc>123<xyz<
 3992  1: 3
 3993    >abc>1(2)3<xyz<
 3994  0: >abc>1(2)3<xyz<
 3995  1: 3
 3996    >abc>(1(2)3)<xyz<
 3997  0: >abc>(1(2)3)<xyz<
 3998  1: (1(2)3)
 3999 
 4000 /(a(?1)b)/D
 4001 ------------------------------------------------------------------
 4002   0  24 Bra 0
 4003   3  18 Bra 1
 4004   8     a
 4005  10   6 Once
 4006  13   3 Recurse
 4007  16   6 Ket
 4008  19     b
 4009  21  18 Ket
 4010  24  24 Ket
 4011  27     End
 4012 ------------------------------------------------------------------
 4013 Capturing subpattern count = 1
 4014 No options
 4015 First char = 'a'
 4016 Need char = 'b'
 4017 
 4018 /(a(?1)+b)/D
 4019 ------------------------------------------------------------------
 4020   0  24 Bra 0
 4021   3  18 Bra 1
 4022   8     a
 4023  10   6 Once
 4024  13   3 Recurse
 4025  16   6 KetRmax
 4026  19     b
 4027  21  18 Ket
 4028  24  24 Ket
 4029  27     End
 4030 ------------------------------------------------------------------
 4031 Capturing subpattern count = 1
 4032 No options
 4033 First char = 'a'
 4034 Need char = 'b'
 4035 
 4036 /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii
 4037 Capturing subpattern count = 4
 4038 Max back reference = 4
 4039 Partial matching not supported
 4040 Options: anchored caseless
 4041 No first char
 4042 No need char
 4043     1221
 4044  0: 1221
 4045  1: 1221
 4046  2: 1
 4047     Satan, oscillate my metallic sonatas!
 4048  0: Satan, oscillate my metallic sonatas!
 4049  1: <unset>
 4050  2: <unset>
 4051  3: Satan, oscillate my metallic sonatas
 4052  4: S
 4053     A man, a plan, a canal: Panama!
 4054  0: A man, a plan, a canal: Panama!
 4055  1: <unset>
 4056  2: <unset>
 4057  3: A man, a plan, a canal: Panama
 4058  4: A
 4059     Able was I ere I saw Elba. 
 4060  0: Able was I ere I saw Elba.
 4061  1: <unset>
 4062  2: <unset>
 4063  3: Able was I ere I saw Elba
 4064  4: A
 4065     *** Failers
 4066 No match
 4067     The quick brown fox  
 4068 No match
 4069     
 4070 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
 4071 Capturing subpattern count = 2
 4072 Partial matching not supported
 4073 Options: anchored
 4074 No first char
 4075 No need char
 4076     12
 4077  0: 12
 4078  1: 12
 4079     (((2+2)*-3)-7)
 4080  0: (((2+2)*-3)-7)
 4081  1: (((2+2)*-3)-7)
 4082  2: -
 4083     -12
 4084  0: -12
 4085  1: -12
 4086     *** Failers
 4087 No match
 4088     ((2+2)*-3)-7)
 4089 No match
 4090          
 4091 /^(x(y|(?1){2})z)/I
 4092 Capturing subpattern count = 2
 4093 Options: anchored
 4094 No first char
 4095 No need char
 4096     xyz
 4097  0: xyz
 4098  1: xyz
 4099  2: y
 4100     xxyzxyzz 
 4101  0: xxyzxyzz
 4102  1: xxyzxyzz
 4103  2: xyzxyz
 4104     *** Failers
 4105 No match
 4106     xxyzz
 4107 No match
 4108     xxyzxyzxyzz   
 4109 No match
 4110 
 4111 /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
 4112 Capturing subpattern count = 2
 4113 Partial matching not supported
 4114 Options: extended
 4115 First char = '<'
 4116 Need char = '>'
 4117     <>
 4118  0: <>
 4119  1: <>
 4120  2: <>
 4121     <abcd>
 4122  0: <abcd>
 4123  1: <abcd>
 4124  2: <abcd>
 4125     <abc <123> hij>
 4126  0: <abc <123> hij>
 4127  1: <abc <123> hij>
 4128  2: <abc <123> hij>
 4129     <abc <def> hij>
 4130  0: <def>
 4131  1: <def>
 4132  2: <def>
 4133     <abc<>def> 
 4134  0: <abc<>def>
 4135  1: <abc<>def>
 4136  2: <abc<>def>
 4137     <abc<>      
 4138  0: <>
 4139  1: <>
 4140  2: <>
 4141     *** Failers
 4142 No match
 4143     <abc
 4144 No match
 4145 
 4146 /(?1)/I
 4147 Failed: reference to non-existent subpattern at offset 3
 4148 
 4149 /((?2)(abc)/I
 4150 Failed: missing ) at offset 10
 4151 
 4152 /^(abc)def(?1)/I
 4153 Capturing subpattern count = 1
 4154 Options: anchored
 4155 No first char
 4156 No need char
 4157     abcdefabc
 4158  0: abcdefabc
 4159  1: abc
 4160 
 4161 /^(a|b|c)=(?1)+/I
 4162 Capturing subpattern count = 1
 4163 Options: anchored
 4164 No first char
 4165 No need char
 4166     a=a
 4167  0: a=a
 4168  1: a
 4169     a=b
 4170  0: a=b
 4171  1: a
 4172     a=bc  
 4173  0: a=bc
 4174  1: a
 4175 
 4176 /^(a|b|c)=((?1))+/I
 4177 Capturing subpattern count = 2
 4178 Options: anchored
 4179 No first char
 4180 No need char
 4181     a=a
 4182  0: a=a
 4183  1: a
 4184  2: a
 4185     a=b
 4186  0: a=b
 4187  1: a
 4188  2: b
 4189     a=bc  
 4190  0: a=bc
 4191  1: a
 4192  2: c
 4193 
 4194 /a(?P<name1>b|c)d(?P<longername2>e)/D
 4195 ------------------------------------------------------------------
 4196   0  32 Bra 0
 4197   3     a
 4198   5   7 Bra 1
 4199  10     b
 4200  12   5 Alt
 4201  15     c
 4202  17  12 Ket
 4203  20     d
 4204  22   7 Bra 2
 4205  27     e
 4206  29   7 Ket
 4207  32  32 Ket
 4208  35     End
 4209 ------------------------------------------------------------------
 4210 Capturing subpattern count = 2
 4211 Named capturing subpatterns:
 4212   longername2   2
 4213   name1         1
 4214 No options
 4215 First char = 'a'
 4216 Need char = 'e'
 4217     abde
 4218  0: abde
 4219  1: b
 4220  2: e
 4221     acde 
 4222  0: acde
 4223  1: c
 4224  2: e
 4225 
 4226 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
 4227 ------------------------------------------------------------------
 4228   0  41 Bra 0
 4229   3  25 Bra 0
 4230   6     a
 4231   8  17 Bra 1
 4232  13     c
 4233  15   7 Bra 2
 4234  20     d
 4235  22   7 Ket
 4236  25  17 Ket
 4237  28  25 Ket
 4238  31   7 Bra 3
 4239  36     a
 4240  38   7 Ket
 4241  41  41 Ket
 4242  44     End
 4243 ------------------------------------------------------------------
 4244 Capturing subpattern count = 3
 4245 Named capturing subpatterns:
 4246   a   3
 4247   c   1
 4248   d   2
 4249 No options
 4250 First char = 'a'
 4251 Need char = 'a'
 4252 
 4253 /(?P<a>a)...(?P=a)bbb(?P>a)d/D
 4254 ------------------------------------------------------------------
 4255   0  36 Bra 0
 4256   3   7 Bra 1
 4257   8     a
 4258  10   7 Ket
 4259  13     Any
 4260  14     Any
 4261  15     Any
 4262  16     \1
 4263  19     bbb
 4264  25   6 Once
 4265  28   3 Recurse
 4266  31   6 Ket
 4267  34     d
 4268  36  36 Ket
 4269  39     End
 4270 ------------------------------------------------------------------
 4271 Capturing subpattern count = 1
 4272 Max back reference = 1
 4273 Named capturing subpatterns:
 4274   a   1
 4275 No options
 4276 First char = 'a'
 4277 Need char = 'd'
 4278 
 4279 /^\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
 4280 Capturing subpattern count = 4
 4281 Max back reference = 4
 4282 Named capturing subpatterns:
 4283   four    4
 4284   one     1
 4285   three   3
 4286   two     2
 4287 Partial matching not supported
 4288 Options: anchored caseless
 4289 No first char
 4290 No need char
 4291     1221
 4292  0: 1221
 4293  1: 1221
 4294  2: 1
 4295     Satan, oscillate my metallic sonatas!
 4296  0: Satan, oscillate my metallic sonatas!
 4297  1: <unset>
 4298  2: <unset>
 4299  3: Satan, oscillate my metallic sonatas
 4300  4: S
 4301     A man, a plan, a canal: Panama!
 4302  0: A man, a plan, a canal: Panama!
 4303  1: <unset>
 4304  2: <unset>
 4305  3: A man, a plan, a canal: Panama
 4306  4: A
 4307     Able was I ere I saw Elba. 
 4308  0: Able was I ere I saw Elba.
 4309  1: <unset>
 4310  2: <unset>
 4311  3: Able was I ere I saw Elba
 4312  4: A
 4313     *** Failers
 4314 No match
 4315     The quick brown fox  
 4316 No match
 4317     
 4318 /((?(R)a|b))\1(?1)?/I
 4319 Capturing subpattern count = 1
 4320 Max back reference = 1
 4321 No options
 4322 No first char
 4323 No need char
 4324   bb
 4325  0: bb
 4326  1: b
 4327   bbaa 
 4328  0: bba
 4329  1: b
 4330 
 4331 /(.*)a/Is
 4332 Capturing subpattern count = 1
 4333 Partial matching not supported
 4334 Options: anchored dotall
 4335 No first char
 4336 Need char = 'a'
 4337 
 4338 /(.*)a\1/Is
 4339 Capturing subpattern count = 1
 4340 Max back reference = 1
 4341 Partial matching not supported
 4342 Options: dotall
 4343 No first char
 4344 Need char = 'a'
 4345 
 4346 /(.*)a(b)\2/Is
 4347 Capturing subpattern count = 2
 4348 Max back reference = 2
 4349 Partial matching not supported
 4350 Options: anchored dotall
 4351 No first char
 4352 Need char = 'b'
 4353 
 4354 /((.*)a|(.*)b)z/Is
 4355 Capturing subpattern count = 3
 4356 Partial matching not supported
 4357 Options: anchored dotall
 4358 No first char
 4359 Need char = 'z'
 4360 
 4361 /((.*)a|(.*)b)z\1/Is
 4362 Capturing subpattern count = 3
 4363 Max back reference = 1
 4364 Partial matching not supported
 4365 Options: dotall
 4366 No first char
 4367 Need char = 'z'
 4368 
 4369 /((.*)a|(.*)b)z\2/Is
 4370 Capturing subpattern count = 3
 4371 Max back reference = 2
 4372 Partial matching not supported
 4373 Options: dotall
 4374 No first char
 4375 Need char = 'z'
 4376 
 4377 /((.*)a|(.*)b)z\3/Is
 4378 Capturing subpattern count = 3
 4379 Max back reference = 3
 4380 Partial matching not supported
 4381 Options: dotall
 4382 No first char
 4383 Need char = 'z'
 4384 
 4385 /((.*)a|^(.*)b)z\3/Is
 4386 Capturing subpattern count = 3
 4387 Max back reference = 3
 4388 Partial matching not supported
 4389 Options: anchored dotall
 4390 No first char
 4391 Need char = 'z'
 4392 
 4393 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
 4394 Capturing subpattern count = 31
 4395 Partial matching not supported
 4396 Options: anchored dotall
 4397 No first char
 4398 No need char
 4399 
 4400 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
 4401 Capturing subpattern count = 31
 4402 Max back reference = 31
 4403 Partial matching not supported
 4404 Options: dotall
 4405 No first char
 4406 No need char
 4407 
 4408 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
 4409 Capturing subpattern count = 32
 4410 Max back reference = 32
 4411 Partial matching not supported
 4412 Options: dotall
 4413 No first char
 4414 No need char
 4415 
 4416 /(a)(bc)/IND
 4417 ------------------------------------------------------------------
 4418   0  21 Bra 0
 4419   3   5 Bra 0
 4420   6     a
 4421   8   5 Ket
 4422  11   7 Bra 0
 4423  14     bc
 4424  18   7 Ket
 4425  21  21 Ket
 4426  24     End
 4427 ------------------------------------------------------------------
 4428 Capturing subpattern count = 0
 4429 Options: no_auto_capture
 4430 First char = 'a'
 4431 Need char = 'c'
 4432   abc
 4433  0: abc
 4434 
 4435 /(?P<one>a)(bc)/IND
 4436 ------------------------------------------------------------------
 4437   0  23 Bra 0
 4438   3   7 Bra 1
 4439   8     a
 4440  10   7 Ket
 4441  13   7 Bra 0
 4442  16     bc
 4443  20   7 Ket
 4444  23  23 Ket
 4445  26     End
 4446 ------------------------------------------------------------------
 4447 Capturing subpattern count = 1
 4448 Named capturing subpatterns:
 4449   one   1
 4450 Options: no_auto_capture
 4451 First char = 'a'
 4452 Need char = 'c'
 4453   abc
 4454  0: abc
 4455  1: a
 4456 
 4457 /(a)(?P<named>bc)/IND
 4458 ------------------------------------------------------------------
 4459   0  23 Bra 0
 4460   3   5 Bra 0
 4461   6     a
 4462   8   5 Ket
 4463  11   9 Bra 1
 4464  16     bc
 4465  20   9 Ket
 4466  23  23 Ket
 4467  26     End
 4468 ------------------------------------------------------------------
 4469 Capturing subpattern count = 1
 4470 Named capturing subpatterns:
 4471   named   1
 4472 Options: no_auto_capture
 4473 First char = 'a'
 4474 Need char = 'c'
 4475 
 4476 /(a+)*zz/I
 4477 Capturing subpattern count = 1
 4478 Partial matching not supported
 4479 No options
 4480 No first char
 4481 Need char = 'z'
 4482   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
 4483 Minimum match() limit = 8
 4484 Minimum match() recursion limit = 6
 4485  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
 4486  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 4487   aaaaaaaaaaaaaz\M
 4488 Minimum match() limit = 32768
 4489 Minimum match() recursion limit = 42
 4490 No match
 4491 
 4492 /(aaa(?C1)bbb|ab)/I
 4493 Capturing subpattern count = 1
 4494 No options
 4495 First char = 'a'
 4496 Need char = 'b'
 4497    aaabbb
 4498 --->aaabbb
 4499   1 ^  ^       b
 4500  0: aaabbb
 4501  1: aaabbb
 4502    aaabbb\C*0
 4503 --->aaabbb
 4504   1 ^  ^       b
 4505  0: aaabbb
 4506  1: aaabbb
 4507    aaabbb\C*1
 4508 --->aaabbb
 4509   1 ^  ^       b
 4510 Callout data = 1
 4511  0: ab
 4512  1: ab
 4513    aaabbb\C*-1
 4514 --->aaabbb
 4515   1 ^  ^       b
 4516 Callout data = -1
 4517 No match
 4518 
 4519 /ab(?P<one>cd)ef(?P<two>gh)/I
 4520 Capturing subpattern count = 2
 4521 Named capturing subpatterns:
 4522   one   1
 4523   two   2
 4524 No options
 4525 First char = 'a'
 4526 Need char = 'h'
 4527     abcdefgh
 4528  0: abcdefgh
 4529  1: cd
 4530  2: gh
 4531     abcdefgh\C1\Gtwo
 4532  0: abcdefgh
 4533  1: cd
 4534  2: gh
 4535  1C cd (2)
 4536   G gh (2) two
 4537     abcdefgh\Cone\Ctwo
 4538  0: abcdefgh
 4539  1: cd
 4540  2: gh
 4541   C cd (2) one
 4542   C gh (2) two
 4543     abcdefgh\Cthree  
 4544 no parentheses with name "three"
 4545  0: abcdefgh
 4546  1: cd
 4547  2: gh
 4548 copy substring three failed -7
 4549 
 4550 /(?P<Tes>)(?P<Test>)/D
 4551 ------------------------------------------------------------------
 4552   0  19 Bra 0
 4553   3   5 Bra 1
 4554   8   5 Ket
 4555  11   5 Bra 2
 4556  16   5 Ket
 4557  19  19 Ket
 4558  22     End
 4559 ------------------------------------------------------------------
 4560 Capturing subpattern count = 2
 4561 Named capturing subpatterns:
 4562   Tes    1
 4563   Test   2
 4564 No options
 4565 No first char
 4566 No need char
 4567 
 4568 /(?P<Test>)(?P<Tes>)/D
 4569 ------------------------------------------------------------------
 4570   0  19 Bra 0
 4571   3   5 Bra 1
 4572   8   5 Ket
 4573  11   5 Bra 2
 4574  16   5 Ket
 4575  19  19 Ket
 4576  22     End
 4577 ------------------------------------------------------------------
 4578 Capturing subpattern count = 2
 4579 Named capturing subpatterns:
 4580   Tes    2
 4581   Test   1
 4582 No options
 4583 No first char
 4584 No need char
 4585 
 4586 /(?P<Z>zz)(?P<A>aa)/I
 4587 Capturing subpattern count = 2
 4588 Named capturing subpatterns:
 4589   A   2
 4590   Z   1
 4591 No options
 4592 First char = 'z'
 4593 Need char = 'a'
 4594     zzaa\CZ
 4595  0: zzaa
 4596  1: zz
 4597  2: aa
 4598   C zz (2) Z
 4599     zzaa\CA
 4600  0: zzaa
 4601  1: zz
 4602  2: aa
 4603   C aa (2) A
 4604 
 4605 /(?P<x>eks)(?P<x>eccs)/I
 4606 Failed: two named subpatterns have the same name at offset 15
 4607 
 4608 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
 4609 Failed: two named subpatterns have the same name at offset 30
 4610 
 4611 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
 4612 Capturing subpattern count = 3
 4613 Named capturing subpatterns:
 4614   elem   2
 4615 Partial matching not supported
 4616 No options
 4617 First char = '['
 4618 Need char = ']'
 4619     [10,20,30,5,5,4,4,2,43,23,4234]
 4620  0: [10,20,30,5,5,4,4,2,43,23,4234]
 4621  1: 10,20,30,5,5,4,4,2,43,23,4234
 4622  2: 10
 4623  3: ,4234
 4624     *** Failers
 4625 No match
 4626     []  
 4627 No match
 4628 
 4629 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
 4630 Capturing subpattern count = 3
 4631 Named capturing subpatterns:
 4632   elem   2
 4633 Partial matching not supported
 4634 No options
 4635 First char = '['
 4636 Need char = ']'
 4637     [10,20,30,5,5,4,4,2,43,23,4234]
 4638  0: [10,20,30,5,5,4,4,2,43,23,4234]
 4639  1: 10,20,30,5,5,4,4,2,43,23,4234
 4640  2: 10
 4641  3: ,4234
 4642     [] 
 4643  0: []
 4644 
 4645 /(a(b(?2)c))?/D
 4646 ------------------------------------------------------------------
 4647   0  35 Bra 0
 4648   3     Brazero
 4649   4  28 Bra 1
 4650   9     a
 4651  11  18 Bra 2
 4652  16     b
 4653  18   6 Once
 4654  21  11 Recurse
 4655  24   6 Ket
 4656  27     c
 4657  29  18 Ket
 4658  32  28 Ket
 4659  35  35 Ket
 4660  38     End
 4661 ------------------------------------------------------------------
 4662 Capturing subpattern count = 2
 4663 No options
 4664 No first char
 4665 No need char
 4666 
 4667 /(a(b(?2)c))*/D
 4668 ------------------------------------------------------------------
 4669   0  35 Bra 0
 4670   3     Brazero
 4671   4  28 Bra 1
 4672   9     a
 4673  11  18 Bra 2
 4674  16     b
 4675  18   6 Once
 4676  21  11 Recurse
 4677  24   6 Ket
 4678  27     c
 4679  29  18 Ket
 4680  32  28 KetRmax
 4681  35  35 Ket
 4682  38     End
 4683 ------------------------------------------------------------------
 4684 Capturing subpattern count = 2
 4685 No options
 4686 No first char
 4687 No need char
 4688 
 4689 /(a(b(?2)c)){0,2}/D
 4690 ------------------------------------------------------------------
 4691   0  73 Bra 0
 4692   3     Brazero
 4693   4  66 Bra 0
 4694   7  28 Bra 1
 4695  12     a
 4696  14  18 Bra 2
 4697  19     b
 4698  21   6 Once
 4699  24  14 Recurse
 4700  27   6 Ket
 4701  30     c
 4702  32  18 Ket
 4703  35  28 Ket
 4704  38     Brazero
 4705  39  28 Bra 1
 4706  44     a
 4707  46  18 Bra 2
 4708  51     b
 4709  53   6 Once
 4710  56  14 Recurse
 4711  59   6 Ket
 4712  62     c
 4713  64  18 Ket
 4714  67  28 Ket
 4715  70  66 Ket
 4716  73  73 Ket
 4717  76     End
 4718 ------------------------------------------------------------------
 4719 Capturing subpattern count = 2
 4720 No options
 4721 No first char
 4722 No need char
 4723 
 4724 /[ab]{1}+/D
 4725 ------------------------------------------------------------------
 4726   0  47 Bra 0
 4727   3  41 Once
 4728   6     [ab]{1,1}
 4729  44  41 Ket
 4730  47  47 Ket
 4731  50     End
 4732 ------------------------------------------------------------------
 4733 Capturing subpattern count = 0
 4734 No options
 4735 No first char
 4736 No need char
 4737 
 4738 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
 4739 Capturing subpattern count = 3
 4740 Partial matching not supported
 4741 Options: caseless
 4742 No first char
 4743 Need char = 'g' (caseless)
 4744      Baby Bjorn Active Carrier - With free SHIPPING!!
 4745  0: Baby Bjorn Active Carrier - With free SHIPPING!!
 4746  1: Baby Bjorn Active Carrier - With free SHIPPING!!
 4747 
 4748 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
 4749 Capturing subpattern count = 3
 4750 Partial matching not supported
 4751 Options: caseless
 4752 No first char
 4753 Need char = 'g' (caseless)
 4754 Study returned NULL
 4755      Baby Bjorn Active Carrier - With free SHIPPING!!
 4756  0: Baby Bjorn Active Carrier - With free SHIPPING!!
 4757  1: Baby Bjorn Active Carrier - With free SHIPPING!!
 4758      
 4759 /a*.*b/ISD
 4760 ------------------------------------------------------------------
 4761   0   9 Bra 0
 4762   3     a*
 4763   5     Any*
 4764   7     b
 4765   9   9 Ket
 4766  12     End
 4767 ------------------------------------------------------------------
 4768 Capturing subpattern count = 0
 4769 Partial matching not supported
 4770 No options
 4771 No first char
 4772 Need char = 'b'
 4773 Study returned NULL
 4774 
 4775 /(a|b)*.?c/ISD 
 4776 ------------------------------------------------------------------
 4777   0  23 Bra 0
 4778   3     Brazero
 4779   4   7 Bra 1
 4780   9     a
 4781  11   5 Alt
 4782  14     b
 4783  16  12 KetRmax
 4784  19     Any?
 4785  21     c
 4786  23  23 Ket
 4787  26     End
 4788 ------------------------------------------------------------------
 4789 Capturing subpattern count = 1
 4790 No options
 4791 No first char
 4792 Need char = 'c'
 4793 Study returned NULL
 4794 
 4795 /abc(?C255)de(?C)f/D
 4796 ------------------------------------------------------------------
 4797   0  27 Bra 0
 4798   3     abc
 4799   9     Callout 255 10 1
 4800  15     de
 4801  19     Callout 0 16 1
 4802  25     f
 4803  27  27 Ket
 4804  30     End
 4805 ------------------------------------------------------------------
 4806 Capturing subpattern count = 0
 4807 No options
 4808 First char = 'a'
 4809 Need char = 'f'
 4810 
 4811 /abcde/ICD
 4812 ------------------------------------------------------------------
 4813   0  49 Bra 0
 4814   3     Callout 255 0 1
 4815   9     a
 4816  11     Callout 255 1 1
 4817  17     b
 4818  19     Callout 255 2 1
 4819  25     c
 4820  27     Callout 255 3 1
 4821  33     d
 4822  35     Callout 255 4 1
 4823  41     e
 4824  43     Callout 255 5 0
 4825  49  49 Ket
 4826  52     End
 4827 ------------------------------------------------------------------
 4828 Capturing subpattern count = 0
 4829 Options:
 4830 First char = 'a'
 4831 Need char = 'e'
 4832   abcde
 4833 --->abcde
 4834  +0 ^         a
 4835  +1 ^^        b
 4836  +2 ^ ^       c
 4837  +3 ^  ^      d
 4838  +4 ^   ^     e
 4839  +5 ^    ^    
 4840  0: abcde
 4841   abcdfe 
 4842 --->abcdfe
 4843  +0 ^          a
 4844  +1 ^^         b
 4845  +2 ^ ^        c
 4846  +3 ^  ^       d
 4847  +4 ^   ^      e
 4848 No match
 4849   
 4850 /a*b/ICD
 4851 ------------------------------------------------------------------
 4852   0  25 Bra 0
 4853   3     Callout 255 0 2
 4854   9     a*+
 4855  11     Callout 255 2 1
 4856  17     b
 4857  19     Callout 255 3 0
 4858  25  25 Ket
 4859  28     End
 4860 ------------------------------------------------------------------
 4861 Capturing subpattern count = 0
 4862 Partial matching not supported
 4863 Options:
 4864 No first char
 4865 Need char = 'b'
 4866   ab
 4867 --->ab
 4868  +0 ^      a*
 4869  +2 ^^     b
 4870  +3 ^ ^    
 4871  0: ab
 4872   aaaab
 4873 --->aaaab
 4874  +0 ^         a*
 4875  +2 ^   ^     b
 4876  +3 ^    ^    
 4877  0: aaaab
 4878   aaaacb   
 4879 --->aaaacb
 4880  +0 ^          a*
 4881  +2 ^   ^      b
 4882  +0  ^         a*
 4883  +2  ^  ^      b
 4884  +0   ^        a*
 4885  +2   ^ ^      b
 4886  +0    ^       a*
 4887  +2    ^^      b
 4888  +0     ^      a*
 4889  +2     ^      b
 4890  +0      ^     a*
 4891  +2      ^     b
 4892  +3      ^^    
 4893  0: b
 4894 
 4895 /a+b/ICD
 4896 ------------------------------------------------------------------
 4897   0  25 Bra 0
 4898   3     Callout 255 0 2
 4899   9     a++
 4900  11     Callout 255 2 1
 4901  17     b
 4902  19     Callout 255 3 0
 4903  25  25 Ket
 4904  28     End
 4905 ------------------------------------------------------------------
 4906 Capturing subpattern count = 0
 4907 Partial matching not supported
 4908 Options:
 4909 First char = 'a'
 4910 Need char = 'b'
 4911   ab
 4912 --->ab
 4913  +0 ^      a+
 4914  +2 ^^     b
 4915  +3 ^ ^    
 4916  0: ab
 4917   aaaab
 4918 --->aaaab
 4919  +0 ^         a+
 4920  +2 ^   ^     b
 4921  +3 ^    ^    
 4922  0: aaaab
 4923   aaaacb   
 4924 --->aaaacb
 4925  +0 ^          a+
 4926  +2 ^   ^      b
 4927  +0  ^         a+
 4928  +2  ^  ^      b
 4929  +0   ^        a+
 4930  +2   ^ ^      b
 4931  +0    ^       a+
 4932  +2    ^^      b
 4933 No match
 4934 
 4935 /(abc|def)x/ICD
 4936 ------------------------------------------------------------------
 4937   0  94 Bra 0
 4938   3     Callout 255 0 9
 4939   9  35 Bra 1
 4940  14     Callout 255 1 1
 4941  20     a
 4942  22     Callout 255 2 1
 4943  28     b
 4944  30     Callout 255 3 1
 4945  36     c
 4946  38     Callout 255 4 0
 4947  44  33 Alt
 4948  47     Callout 255 5 1
 4949  53     d
 4950  55     Callout 255 6 1
 4951  61     e
 4952  63     Callout 255 7 1
 4953  69     f
 4954  71     Callout 255 8 0
 4955  77  68 Ket
 4956  80     Callout 255 9 1
 4957  86     x
 4958  88     Callout 255 10 0
 4959  94  94 Ket
 4960  97     End
 4961 ------------------------------------------------------------------
 4962 Capturing subpattern count = 1
 4963 Options:
 4964 No first char
 4965 Need char = 'x'
 4966   abcx
 4967 --->abcx
 4968  +0 ^        (abc|def)
 4969  +1 ^        a
 4970  +2 ^^       b
 4971  +3 ^ ^      c
 4972  +4 ^  ^     |
 4973  +9 ^  ^     x
 4974 +10 ^   ^    
 4975  0: abcx
 4976  1: abc
 4977   defx
 4978 --->defx
 4979  +0 ^        (abc|def)
 4980  +1 ^        a
 4981  +5 ^        d
 4982  +6 ^^       e
 4983  +7 ^ ^      f
 4984  +8 ^  ^     )
 4985  +9 ^  ^     x
 4986 +10 ^   ^    
 4987  0: defx
 4988  1: def
 4989   abcdefzx
 4990 --->abcdefzx
 4991  +0 ^            (abc|def)
 4992  +1 ^            a
 4993  +2 ^^           b
 4994  +3 ^ ^          c
 4995  +4 ^  ^         |
 4996  +9 ^  ^         x
 4997  +5 ^            d
 4998  +0  ^           (abc|def)
 4999  +1  ^           a
 5000  +5  ^           d
 5001  +0   ^          (abc|def)
 5002  +1   ^          a
 5003  +5   ^          d
 5004  +0    ^         (abc|def)
 5005  +1    ^         a
 5006  +5    ^         d
 5007  +6    ^^        e
 5008  +7    ^ ^       f
 5009  +8    ^  ^      )
 5010  +9    ^  ^      x
 5011  +0     ^        (abc|def)
 5012  +1     ^        a
 5013  +5     ^        d
 5014  +0      ^       (abc|def)
 5015  +1      ^       a
 5016  +5      ^       d
 5017  +0       ^      (abc|def)
 5018  +1       ^      a
 5019  +5       ^      d
 5020  +0        ^     (abc|def)
 5021  +1        ^     a
 5022  +5        ^     d
 5023 No match
 5024 
 5025 /(ab|cd){3,4}/IC
 5026 Capturing subpattern count = 1
 5027 Options:
 5028 No first char
 5029 No need char
 5030   ababab
 5031 --->ababab
 5032  +0 ^          (ab|cd){3,4}
 5033  +1 ^          a
 5034  +2 ^^         b
 5035  +3 ^ ^        |
 5036  +1 ^ ^        a
 5037  +2 ^  ^       b
 5038  +3 ^   ^      |
 5039  +1 ^   ^      a
 5040  +2 ^    ^     b
 5041  +3 ^     ^    |
 5042  +1 ^     ^    a
 5043  +4 ^     ^    c
 5044 +12 ^     ^    
 5045  0: ababab
 5046  1: ab
 5047   abcdabcd
 5048 --->abcdabcd
 5049  +0 ^            (ab|cd){3,4}
 5050  +1 ^            a
 5051  +2 ^^           b
 5052  +3 ^ ^          |
 5053  +1 ^ ^          a
 5054  +4 ^ ^          c
 5055  +5 ^  ^         d
 5056  +6 ^   ^        )
 5057  +1 ^   ^        a
 5058  +2 ^    ^       b
 5059  +3 ^     ^      |
 5060  +1 ^     ^      a
 5061  +4 ^     ^      c
 5062  +5 ^      ^     d
 5063  +6 ^       ^    )
 5064 +12 ^       ^    
 5065  0: abcdabcd
 5066  1: cd
 5067   abcdcdcdcdcd  
 5068 --->abcdcdcdcdcd
 5069  +0 ^                (ab|cd){3,4}
 5070  +1 ^                a
 5071  +2 ^^               b
 5072  +3 ^ ^              |
 5073  +1 ^ ^              a
 5074  +4 ^ ^              c
 5075  +5 ^  ^             d
 5076  +6 ^   ^            )
 5077  +1 ^   ^            a
 5078  +4 ^   ^            c
 5079  +5 ^    ^           d
 5080  +6 ^     ^          )
 5081  +1 ^     ^          a
 5082  +4 ^     ^          c
 5083  +5 ^      ^         d
 5084  +6 ^       ^        )
 5085 +12 ^       ^        
 5086  0: abcdcdcd
 5087  1: cd
 5088 
 5089 /([ab]{,4}c|xy)/ICD
 5090 ------------------------------------------------------------------
 5091   0 133 Bra 0
 5092   3     Callout 255 0 14
 5093   9  90 Bra 1
 5094  14     Callout 255 1 4
 5095  20     [ab]
 5096  53     Callout 255 5 1
 5097  59     {
 5098  61     Callout 255 6 1
 5099  67     ,
 5100  69     Callout 255 7 1
 5101  75     4
 5102  77     Callout 255 8 1
 5103  83     }
 5104  85     Callout 255 9 1
 5105  91     c
 5106  93     Callout 255 10 0
 5107  99  25 Alt
 5108 102     Callout 255 11 1
 5109 108     x
 5110 110     Callout 255 12 1
 5111 116     y
 5112 118     Callout 255 13 0
 5113 124 115 Ket
 5114 127     Callout 255 14 0
 5115 133 133 Ket
 5116 136     End
 5117 ------------------------------------------------------------------
 5118 Capturing subpattern count = 1
 5119 Options:
 5120 No first char
 5121 No need char
 5122     Note: that { does NOT introduce a quantifier
 5123 --->Note: that { does NOT introduce a quantifier
 5124  +0 ^                                                ([ab]{,4}c|xy)
 5125  +1 ^                                                [ab]
 5126 +11 ^                                                x
 5127  +0  ^                                               ([ab]{,4}c|xy)
 5128  +1  ^                                               [ab]
 5129 +11  ^                                               x
 5130  +0   ^                                              ([ab]{,4}c|xy)
 5131  +1   ^                                              [ab]
 5132 +11   ^                                              x
 5133  +0    ^                                             ([ab]{,4}c|xy)
 5134  +1    ^                                             [ab]
 5135 +11    ^                                             x
 5136  +0     ^                                            ([ab]{,4}c|xy)
 5137  +1     ^                                            [ab]
 5138 +11     ^                                            x
 5139  +0      ^                                           ([ab]{,4}c|xy)
 5140  +1      ^                                           [ab]
 5141 +11      ^                                           x
 5142  +0       ^                                          ([ab]{,4}c|xy)
 5143  +1       ^                                          [ab]
 5144 +11       ^                                          x
 5145  +0        ^                                         ([ab]{,4}c|xy)
 5146  +1        ^                                         [ab]
 5147 +11        ^                                         x
 5148  +0         ^                                        ([ab]{,4}c|xy)
 5149  +1         ^                                        [ab]
 5150  +5         ^^                                       {
 5151 +11         ^                                        x
 5152  +0          ^                                       ([ab]{,4}c|xy)
 5153  +1          ^                                       [ab]
 5154 +11          ^                                       x
 5155  +0           ^                                      ([ab]{,4}c|xy)
 5156  +1           ^                                      [ab]
 5157 +11           ^                                      x
 5158  +0            ^                                     ([ab]{,4}c|xy)
 5159  +1            ^                                     [ab]
 5160 +11            ^                                     x
 5161  +0             ^                                    ([ab]{,4}c|xy)
 5162  +1             ^                                    [ab]
 5163 +11             ^                                    x
 5164  +0              ^                                   ([ab]{,4}c|xy)
 5165  +1              ^                                   [ab]
 5166 +11              ^                                   x
 5167  +0               ^                                  ([ab]{,4}c|xy)
 5168  +1               ^                                  [ab]
 5169 +11               ^                                  x
 5170  +0                ^                                 ([ab]{,4}c|xy)
 5171  +1                ^                                 [ab]
 5172 +11                ^                                 x
 5173  +0                 ^                                ([ab]{,4}c|xy)
 5174  +1                 ^                                [ab]
 5175 +11                 ^                                x
 5176  +0                  ^                               ([ab]{,4}c|xy)
 5177  +1                  ^                               [ab]
 5178 +11                  ^                               x
 5179  +0                   ^                              ([ab]{,4}c|xy)
 5180  +1                   ^                              [ab]
 5181 +11                   ^                              x
 5182  +0                    ^                             ([ab]{,4}c|xy)
 5183  +1                    ^                             [ab]
 5184 +11                    ^                             x
 5185  +0                     ^                            ([ab]{,4}c|xy)
 5186  +1                     ^                            [ab]
 5187 +11                     ^                            x
 5188  +0                      ^                           ([ab]{,4}c|xy)
 5189  +1                      ^                           [ab]
 5190 +11                      ^                           x
 5191  +0                       ^                          ([ab]{,4}c|xy)
 5192  +1                       ^                          [ab]
 5193 +11                       ^                          x
 5194  +0                        ^                         ([ab]{,4}c|xy)
 5195  +1                        ^                         [ab]
 5196 +11                        ^                         x
 5197  +0                         ^                        ([ab]{,4}c|xy)
 5198  +1                         ^                        [ab]
 5199 +11                         ^                        x
 5200  +0                          ^                       ([ab]{,4}c|xy)
 5201  +1                          ^                       [ab]
 5202 +11                          ^                       x
 5203  +0                           ^                      ([ab]{,4}c|xy)
 5204  +1                           ^                      [ab]
 5205 +11                           ^                      x
 5206  +0                            ^                     ([ab]{,4}c|xy)
 5207  +1                            ^                     [ab]
 5208 +11                            ^                     x
 5209  +0                             ^                    ([ab]{,4}c|xy)
 5210  +1                             ^                    [ab]
 5211 +11                             ^                    x
 5212  +0                              ^                   ([ab]{,4}c|xy)
 5213  +1                              ^                   [ab]
 5214 +11                              ^                   x
 5215  +0                               ^                  ([ab]{,4}c|xy)
 5216  +1                               ^                  [ab]
 5217 +11                               ^                  x
 5218  +0                                ^                 ([ab]{,4}c|xy)
 5219  +1                                ^                 [ab]
 5220 +11                                ^                 x
 5221  +0                                 ^                ([ab]{,4}c|xy)
 5222  +1                                 ^                [ab]
 5223  +5                                 ^^               {
 5224 +11                                 ^                x
 5225  +0                                  ^               ([ab]{,4}c|xy)
 5226  +1                                  ^               [ab]
 5227 +11                                  ^               x
 5228  +0                                   ^              ([ab]{,4}c|xy)
 5229  +1                                   ^              [ab]
 5230 +11                                   ^              x
 5231  +0                                    ^             ([ab]{,4}c|xy)
 5232  +1                                    ^             [ab]
 5233 +11                                    ^             x
 5234  +0                                     ^            ([ab]{,4}c|xy)
 5235  +1                                     ^            [ab]
 5236  +5                                     ^^           {
 5237 +11                                     ^            x
 5238  +0                                      ^           ([ab]{,4}c|xy)
 5239  +1                                      ^           [ab]
 5240 +11                                      ^           x
 5241  +0                                       ^          ([ab]{,4}c|xy)
 5242  +1                                       ^          [ab]
 5243 +11                                       ^          x
 5244  +0                                        ^         ([ab]{,4}c|xy)
 5245  +1                                        ^         [ab]
 5246 +11                                        ^         x
 5247  +0                                         ^        ([ab]{,4}c|xy)
 5248  +1                                         ^        [ab]
 5249 +11                                         ^        x
 5250  +0                                          ^       ([ab]{,4}c|xy)
 5251  +1                                          ^       [ab]
 5252 +11                                          ^       x
 5253  +0                                           ^      ([ab]{,4}c|xy)
 5254  +1                                           ^      [ab]
 5255 +11                                           ^      x
 5256  +0                                            ^     ([ab]{,4}c|xy)
 5257  +1                                            ^     [ab]
 5258 +11                                            ^     x
 5259  +0                                             ^    ([ab]{,4}c|xy)
 5260  +1                                             ^    [ab]
 5261 +11                                             ^    x
 5262 No match
 5263 
 5264 /([ab]{1,4}c|xy){4,5}?123/ICD
 5265 ------------------------------------------------------------------
 5266   0 495 Bra 0
 5267   3     Callout 255 0 21
 5268   9  63 Bra 1
 5269  14     Callout 255 1 9
 5270  20     [ab]{1,4}
 5271  58     Callout 255 10 1
 5272  64     c
 5273  66     Callout 255 11 0
 5274  72  25 Alt
 5275  75     Callout 255 12 1
 5276  81     x
 5277  83     Callout 255 13 1
 5278  89     y
 5279  91     Callout 255 14 0
 5280  97  88 Ket
 5281 100  63 Bra 1
 5282 105     Callout 255 1 9
 5283 111     [ab]{1,4}
 5284 149     Callout 255 10 1
 5285 155     c
 5286 157     Callout 255 11 0
 5287 163  25 Alt
 5288 166     Callout 255 12 1
 5289 172     x
 5290 174     Callout 255 13 1
 5291 180     y
 5292 182     Callout 255 14 0
 5293 188  88 Ket
 5294 191  63 Bra 1
 5295 196     Callout 255 1 9
 5296 202     [ab]{1,4}
 5297 240     Callout 255 10 1
 5298 246     c
 5299 248     Callout 255 11 0
 5300 254  25 Alt
 5301 257     Callout 255 12 1
 5302 263     x
 5303 265     Callout 255 13 1
 5304 271     y
 5305 273     Callout 255 14 0
 5306 279  88 Ket
 5307 282  63 Bra 1
 5308 287     Callout 255 1 9
 5309 293     [ab]{1,4}
 5310 331     Callout 255 10 1
 5311 337     c
 5312 339     Callout 255 11 0
 5313 345  25 Alt
 5314 348     Callout 255 12 1
 5315 354     x
 5316 356     Callout 255 13 1
 5317 362     y
 5318 364     Callout 255 14 0
 5319 370  88 Ket
 5320 373     Braminzero
 5321 374  63 Bra 1
 5322 379     Callout 255 1 9
 5323 385     [ab]{1,4}
 5324 423     Callout 255 10 1
 5325 429     c
 5326 431     Callout 255 11 0
 5327 437  25 Alt
 5328 440     Callout 255 12 1
 5329 446     x
 5330 448     Callout 255 13 1
 5331 454     y
 5332 456     Callout 255 14 0
 5333 462  88 Ket
 5334 465     Callout 255 21 1
 5335 471     1
 5336 473     Callout 255 22 1
 5337 479     2
 5338 481     Callout 255 23 1
 5339 487     3
 5340 489     Callout 255 24 0
 5341 495 495 Ket
 5342 498     End
 5343 ------------------------------------------------------------------
 5344 Capturing subpattern count = 1
 5345 Partial matching not supported
 5346 Options:
 5347 No first char
 5348 Need char = '3'
 5349     aacaacaacaacaac123
 5350 --->aacaacaacaacaac123
 5351  +0 ^                      ([ab]{1,4}c|xy){4,5}?
 5352  +1 ^                      [ab]{1,4}
 5353 +10 ^ ^                    c
 5354 +11 ^  ^                   |
 5355  +1 ^  ^                   [ab]{1,4}
 5356 +10 ^    ^                 c
 5357 +11 ^     ^                |
 5358  +1 ^     ^                [ab]{1,4}
 5359 +10 ^       ^              c
 5360 +11 ^        ^             |
 5361  +1 ^        ^             [ab]{1,4}
 5362 +10 ^          ^           c
 5363 +11 ^           ^          |
 5364 +21 ^           ^          1
 5365  +1 ^           ^          [ab]{1,4}
 5366 +10 ^             ^        c
 5367 +11 ^              ^       |
 5368 +21 ^              ^       1
 5369 +22 ^               ^      2
 5370 +23 ^                ^     3
 5371 +24 ^                 ^    
 5372  0: aacaacaacaacaac123
 5373  1: aac
 5374 
 5375 /\b.*/I
 5376 Capturing subpattern count = 0
 5377 Partial matching not supported
 5378 No options
 5379 No first char
 5380 No need char
 5381   ab cd\>1
 5382  0:  cd
 5383   
 5384 /\b.*/Is 
 5385 Capturing subpattern count = 0
 5386 Partial matching not supported
 5387 Options: dotall
 5388 No first char
 5389 No need char
 5390   ab cd\>1
 5391  0:  cd
 5392   
 5393 /(?!.bcd).*/I
 5394 Capturing subpattern count = 0
 5395 Partial matching not supported
 5396 No options
 5397 No first char
 5398 No need char
 5399   Xbcd12345 
 5400  0: bcd12345
 5401 
 5402 /abcde/I
 5403 Capturing subpattern count = 0
 5404 No options
 5405 First char = 'a'
 5406 Need char = 'e'
 5407     ab\P
 5408 Partial match
 5409     abc\P
 5410 Partial match
 5411     abcd\P
 5412 Partial match
 5413     abcde\P   
 5414  0: abcde
 5415     the quick brown abc\P
 5416 Partial match
 5417     ** Failers\P
 5418 No match
 5419     the quick brown abxyz fox\P
 5420 No match
 5421     
 5422 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
 5423 Capturing subpattern count = 3
 5424 Options: anchored
 5425 No first char
 5426 Need char = '/'
 5427     13/05/04\P
 5428  0: 13/05/04
 5429  1: 13
 5430  2: 05
 5431     13/5/2004\P
 5432  0: 13/5/2004
 5433  1: 13
 5434  2: 5
 5435  3: 20
 5436     02/05/09\P 
 5437  0: 02/05/09
 5438  1: 02
 5439  2: 05
 5440     1\P
 5441 Partial match
 5442     1/2\P
 5443 Partial match
 5444     1/2/0\P
 5445 Partial match
 5446     1/2/04\P    
 5447  0: 1/2/04
 5448  1: 1
 5449  2: 2
 5450     0\P
 5451 Partial match
 5452     02/\P
 5453 Partial match
 5454     02/0\P   
 5455 Partial match
 5456     02/1\P
 5457 Partial match
 5458     ** Failers\P
 5459 No match
 5460     \P
 5461 No match
 5462     123\P
 5463 No match
 5464     33/4/04\P
 5465 No match
 5466     3/13/04\P
 5467 No match
 5468     0/1/2003\P
 5469 No match
 5470     0/\P 
 5471 No match
 5472     02/0/\P 
 5473 No match
 5474     02/13\P  
 5475 No match
 5476 
 5477 /0{0,2}ABC/I
 5478 Capturing subpattern count = 0
 5479 Partial matching not supported
 5480 No options
 5481 No first char
 5482 Need char = 'C'
 5483     
 5484 /\d{3,}ABC/I
 5485 Capturing subpattern count = 0
 5486 Partial matching not supported
 5487 No options
 5488 No first char
 5489 Need char = 'C'
 5490     
 5491 /\d*ABC/I
 5492 Capturing subpattern count = 0
 5493 Partial matching not supported
 5494 No options
 5495 No first char
 5496 Need char = 'C'
 5497 
 5498 /[abc]+DE/I
 5499 Capturing subpattern count = 0
 5500 Partial matching not supported
 5501 No options
 5502 No first char
 5503 Need char = 'E'
 5504 
 5505 /[abc]?123/I
 5506 Capturing subpattern count = 0
 5507 No options
 5508 No first char
 5509 Need char = '3'
 5510     123\P
 5511  0: 123
 5512     a\P
 5513 Partial match
 5514     b\P
 5515 Partial match
 5516     c\P
 5517 Partial match
 5518     c12\P
 5519 Partial match
 5520     c123\P      
 5521  0: c123
 5522 
 5523 /^(?:\d){3,5}X/I
 5524 Capturing subpattern count = 0
 5525 Options: anchored
 5526 No first char
 5527 Need char = 'X'
 5528     1\P
 5529 Partial match
 5530     123\P
 5531 Partial match
 5532     123X
 5533  0: 123X
 5534     1234\P
 5535 Partial match
 5536     1234X
 5537  0: 1234X
 5538     12345\P
 5539 Partial match
 5540     12345X      
 5541  0: 12345X
 5542     *** Failers 
 5543 No match
 5544     1X 
 5545 No match
 5546     123456\P 
 5547 No match
 5548 
 5549 /abc/I>testsavedregex
 5550 Capturing subpattern count = 0
 5551 No options
 5552 First char = 'a'
 5553 Need char = 'c'
 5554 Compiled regex written to testsavedregex
 5555 <testsavedregex
 5556 Compiled regex loaded from testsavedregex
 5557 No study data
 5558     abc
 5559  0: abc
 5560     ** Failers
 5561 No match
 5562     bca
 5563 No match
 5564     
 5565 /abc/IF>testsavedregex
 5566 Capturing subpattern count = 0
 5567 No options
 5568 First char = 'a'
 5569 Need char = 'c'
 5570 Compiled regex written to testsavedregex
 5571 <testsavedregex
 5572 Compiled regex (byte-inverted) loaded from testsavedregex
 5573 No study data
 5574     abc
 5575  0: abc
 5576     ** Failers
 5577 No match
 5578     bca
 5579 No match
 5580 
 5581 /(a|b)/IS>testsavedregex
 5582 Capturing subpattern count = 1
 5583 No options
 5584 No first char
 5585 No need char
 5586 Starting byte set: a b 
 5587 Compiled regex written to testsavedregex
 5588 Study data written to testsavedregex
 5589 <testsavedregex
 5590 Compiled regex loaded from testsavedregex
 5591 Study data loaded from testsavedregex
 5592     abc
 5593  0: a
 5594  1: a
 5595     ** Failers
 5596  0: a
 5597  1: a
 5598     def  
 5599 No match
 5600     
 5601 /(a|b)/ISF>testsavedregex
 5602 Capturing subpattern count = 1
 5603 No options
 5604 No first char
 5605 No need char
 5606 Starting byte set: a b 
 5607 Compiled regex written to testsavedregex
 5608 Study data written to testsavedregex
 5609 <testsavedregex
 5610 Compiled regex (byte-inverted) loaded from testsavedregex
 5611 Study data loaded from testsavedregex
 5612     abc
 5613  0: a
 5614  1: a
 5615     ** Failers
 5616  0: a
 5617  1: a
 5618     def  
 5619 No match
 5620     
 5621 ~<(\w+)/?>(.)*</(\1)>~smgI
 5622 Capturing subpattern count = 3
 5623 Max back reference = 1
 5624 Partial matching not supported
 5625 Options: multiline dotall
 5626 First char = '<'
 5627 Need char = '>'
 5628     <!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>
 5629  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>
 5630  1: seite
 5631  2: \x0a
 5632  3: seite
 5633 
 5634 /^a/IF
 5635 Capturing subpattern count = 0
 5636 Options: anchored
 5637 No first char
 5638 No need char
 5639 
 5640 /line\nbreak/I
 5641 Capturing subpattern count = 0
 5642 No options
 5643 First char = 'l'
 5644 Need char = 'k'
 5645     this is a line\nbreak
 5646  0: line\x0abreak
 5647     line one\nthis is a line\nbreak in the second line 
 5648  0: line\x0abreak
 5649 
 5650 /line\nbreak/If
 5651 Capturing subpattern count = 0
 5652 Options: firstline
 5653 First char = 'l'
 5654 Need char = 'k'
 5655     this is a line\nbreak
 5656  0: line\x0abreak
 5657     ** Failers 
 5658 No match
 5659     line one\nthis is a line\nbreak in the second line 
 5660 No match
 5661 
 5662 /line\nbreak/Imf
 5663 Capturing subpattern count = 0
 5664 Options: multiline firstline
 5665 First char = 'l'
 5666 Need char = 'k'
 5667     this is a line\nbreak
 5668  0: line\x0abreak
 5669     ** Failers 
 5670 No match
 5671     line one\nthis is a line\nbreak in the second line 
 5672 No match
 5673 
 5674 /ab.cd/IP
 5675     ab-cd
 5676  0: ab-cd
 5677     ab=cd 
 5678  0: ab=cd
 5679     ** Failers
 5680 No match: POSIX code 17: match failed
 5681     ab\ncd
 5682 No match: POSIX code 17: match failed
 5683 
 5684 /ab.cd/IPs
 5685     ab-cd
 5686  0: ab-cd
 5687     ab=cd 
 5688  0: ab=cd
 5689     ab\ncd
 5690  0: ab\x0acd
 5691 
 5692 /(?i)(?-i)AbCd/I
 5693 Capturing subpattern count = 0
 5694 No options
 5695 First char = 'A'
 5696 Need char = 'd'
 5697     AbCd
 5698  0: AbCd
 5699     ** Failers
 5700 No match
 5701     abcd  
 5702 No match
 5703     
 5704 /a{11111111111111111111}/I
 5705 Failed: number too big in {} quantifier at offset 22
 5706 
 5707 /(){64294967295}/I
 5708 Failed: number too big in {} quantifier at offset 14
 5709 
 5710 /(){2,4294967295}/I
 5711 Failed: number too big in {} quantifier at offset 15
 5712 
 5713 "(?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
 5714 Capturing subpattern count = 1
 5715 Max back reference = 1
 5716 No options
 5717 First char = 'a' (caseless)
 5718 Need char = 'B'
 5719     abcdefghijklAkB
 5720  0: abcdefghijklAkB
 5721  1: k
 5722 
 5723 "(?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
 5724 Capturing subpattern count = 12
 5725 Max back reference = 11
 5726 Named capturing subpatterns:
 5727   n0    1
 5728   n1    2
 5729   n10  11
 5730   n11  12
 5731   n2    3
 5732   n3    4
 5733   n4    5
 5734   n5    6
 5735   n6    7
 5736   n7    8
 5737   n8    9
 5738   n9   10
 5739 No options
 5740 First char = 'a'
 5741 Need char = 'B'
 5742     abcdefghijklAkB
 5743  0: abcdefghijklAkB
 5744  1: a
 5745  2: b
 5746  3: c
 5747  4: d
 5748  5: e
 5749  6: f
 5750  7: g
 5751  8: h
 5752  9: i
 5753 10: j
 5754 11: k
 5755 12: l
 5756 
 5757 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
 5758 Capturing subpattern count = 12
 5759 Max back reference = 11
 5760 No options
 5761 First char = 'a'
 5762 Need char = 'B'
 5763     abcdefghijklAkB
 5764  0: abcdefghijklAkB
 5765  1: a
 5766  2: b
 5767  3: c
 5768  4: d
 5769  5: e
 5770  6: f
 5771  7: g
 5772  8: h
 5773  9: i
 5774 10: j
 5775 11: k
 5776 12: l
 5777 
 5778 "(?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
 5779 Capturing subpattern count = 101
 5780 Named capturing subpatterns:
 5781   name0     1
 5782   name1     2
 5783   name10   11
 5784   name100 101
 5785   name11   12
 5786   name12   13
 5787   name13   14
 5788   name14   15
 5789   name15   16
 5790   name16   17
 5791   name17   18
 5792   name18   19
 5793   name19   20
 5794   name2     3
 5795   name20   21
 5796   name21   22
 5797   name22   23
 5798   name23   24
 5799   name24   25
 5800   name25   26
 5801   name26   27
 5802   name27   28
 5803   name28   29
 5804   name29   30
 5805   name3     4
 5806   name30   31
 5807   name31   32
 5808   name32   33
 5809   name33   34
 5810   name34   35
 5811   name35   36
 5812   name36   37
 5813   name37   38
 5814   name38   39
 5815   name39   40
 5816   name4     5
 5817   name40   41
 5818   name41   42
 5819   name42   43
 5820   name43   44
 5821   name44   45
 5822   name45   46
 5823   name46   47
 5824   name47   48
 5825   name48   49
 5826   name49   50
 5827   name5     6
 5828   name50   51
 5829   name51   52
 5830   name52   53
 5831   name53   54
 5832   name54   55
 5833   name55   56
 5834   name56   57
 5835   name57   58
 5836   name58   59
 5837   name59   60
 5838   name6     7
 5839   name60   61
 5840   name61   62
 5841   name62   63
 5842   name63   64
 5843   name64   65
 5844   name65   66
 5845   name66   67
 5846   name67   68
 5847   name68   69
 5848   name69   70
 5849   name7     8
 5850   name70   71
 5851   name71   72
 5852   name72   73
 5853   name73   74
 5854   name74   75
 5855   name75   76
 5856   name76   77
 5857   name77   78
 5858   name78   79
 5859   name79   80
 5860   name8     9
 5861   name80   81
 5862   name81   82
 5863   name82   83
 5864   name83   84
 5865   name84   85
 5866   name85   86
 5867   name86   87
 5868   name87   88
 5869   name88   89
 5870   name89   90
 5871   name9    10
 5872   name90   91
 5873   name91   92
 5874   name92   93
 5875   name93   94
 5876   name94   95
 5877   name95   96
 5878   name96   97
 5879   name97   98
 5880   name98   99
 5881   name99  100
 5882 No options
 5883 First char = 'a'
 5884 Need char = 'a'
 5885     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 5886 Matched, but too many substrings
 5887  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 5888  1: a
 5889  2: a
 5890  3: a
 5891  4: a
 5892  5: a
 5893  6: a
 5894  7: a
 5895  8: a
 5896  9: a
 5897 10: a
 5898 11: a
 5899 12: a
 5900 13: a
 5901 14: a
 5902 
 5903 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(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
 5904 Capturing subpattern count = 101
 5905 No options
 5906 First char = 'a'
 5907 Need char = 'a'
 5908     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 5909 Matched, but too many substrings
 5910  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 5911  1: a
 5912  2: a
 5913  3: a
 5914  4: a
 5915  5: a
 5916  6: a
 5917  7: a
 5918  8: a
 5919  9: a
 5920 10: a
 5921 11: a
 5922 12: a
 5923 13: a
 5924 14: a
 5925 
 5926 /[^()]*(?:\((?R)\)[^()]*)*/I
 5927 Capturing subpattern count = 0
 5928 Partial matching not supported
 5929 No options
 5930 No first char
 5931 No need char
 5932     (this(and)that
 5933  0: 
 5934     (this(and)that) 
 5935  0: (this(and)that)
 5936     (this(and)that)stuff
 5937  0: (this(and)that)stuff
 5938 
 5939 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
 5940 Capturing subpattern count = 0
 5941 Partial matching not supported
 5942 No options
 5943 No first char
 5944 No need char
 5945     (this(and)that
 5946  0: 
 5947     (this(and)that) 
 5948  0: (this(and)that)
 5949     
 5950 /[^()]*(?:\((?R)\))*[^()]*/I
 5951 Capturing subpattern count = 0
 5952 Partial matching not supported
 5953 No options
 5954 No first char
 5955 No need char
 5956     (this(and)that
 5957  0: 
 5958     (this(and)that) 
 5959  0: (this(and)that)
 5960 
 5961 /(?:\((?R)\))*[^()]*/I
 5962 Capturing subpattern count = 0
 5963 Partial matching not supported
 5964 No options
 5965 No first char
 5966 No need char
 5967     (this(and)that
 5968  0: 
 5969     (this(and)that) 
 5970  0: 
 5971     ((this)) 
 5972  0: ((this))
 5973 
 5974 /(?:\((?R)\))|[^()]*/I
 5975 Capturing subpattern count = 0
 5976 Partial matching not supported
 5977 No options
 5978 No first char
 5979 No need char
 5980     (this(and)that
 5981  0: 
 5982     (this(and)that) 
 5983  0: 
 5984     (this)
 5985  0: (this)
 5986     ((this)) 
 5987  0: ((this))
 5988     
 5989 /a(b)c/IPN
 5990     abc
 5991 Matched with REG_NOSUB
 5992     
 5993 /a(?P<name>b)c/IPN
 5994     abc  
 5995 Matched with REG_NOSUB
 5996     
 5997 /\x{100}/I 
 5998 Failed: character value in \x{...} sequence is too large at offset 6
 5999 
 6000 /\x{0000ff}/I
 6001 Capturing subpattern count = 0
 6002 No options
 6003 First char = 255
 6004 No need char
 6005 
 6006 /^((?P<A>a1)|(?P<A>a2)b)/I
 6007 Failed: two named subpatterns have the same name at offset 17
 6008 
 6009 /^((?P<A>a1)|(?P<A>a2)b)/IJ
 6010 Capturing subpattern count = 3
 6011 Named capturing subpatterns:
 6012   A   2
 6013   A   3
 6014 Options: anchored dupnames
 6015 No first char
 6016 No need char
 6017     a1b\CA
 6018  0: a1
 6019  1: a1
 6020  2: a1
 6021   C a1 (2) A
 6022     a2b\CA 
 6023  0: a2b
 6024  1: a2b
 6025  2: <unset>
 6026  3: a2
 6027   C a2 (2) A
 6028     ** Failers
 6029 No match
 6030     a1b\CZ\CA 
 6031 no parentheses with name "Z"
 6032  0: a1
 6033  1: a1
 6034  2: a1
 6035 copy substring Z failed -7
 6036   C a1 (2) A
 6037     
 6038 /^(?P<A>a)(?P<A>b)/IJ
 6039 Capturing subpattern count = 2
 6040 Named capturing subpatterns:
 6041   A   1
 6042   A   2
 6043 Options: anchored dupnames
 6044 No first char
 6045 No need char
 6046     ab\CA
 6047  0: ab
 6048  1: a
 6049  2: b
 6050   C a (1) A
 6051     
 6052 /^(?P<A>a)(?P<A>b)|cd/IJ
 6053 Capturing subpattern count = 2
 6054 Named capturing subpatterns:
 6055   A   1
 6056   A   2
 6057 Options: dupnames
 6058 No first char
 6059 No need char
 6060     ab\CA
 6061  0: ab
 6062  1: a
 6063  2: b
 6064   C a (1) A
 6065     cd\CA 
 6066  0: cd
 6067 copy substring A failed -7
 6068   
 6069 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
 6070 Capturing subpattern count = 4
 6071 Named capturing subpatterns:
 6072   A   1
 6073   A   2
 6074   A   3
 6075   A   4
 6076 Options: dupnames
 6077 No first char
 6078 No need char
 6079     cdefgh\CA 
 6080  0: cdefgh
 6081  1: <unset>
 6082  2: <unset>
 6083  3: ef
 6084  4: gh
 6085   C ef (2) A
 6086   
 6087 /^((?P<A>a1)|(?P<A>a2)b)/IJ
 6088 Capturing subpattern count = 3
 6089 Named capturing subpatterns:
 6090   A   2
 6091   A   3
 6092 Options: anchored dupnames
 6093 No first char
 6094 No need char
 6095     a1b\GA
 6096  0: a1
 6097  1: a1
 6098  2: a1
 6099   G a1 (2) A
 6100     a2b\GA 
 6101  0: a2b
 6102  1: a2b
 6103  2: <unset>
 6104  3: a2
 6105   G a2 (2) A
 6106     ** Failers
 6107 No match
 6108     a1b\GZ\GA 
 6109 no parentheses with name "Z"
 6110  0: a1
 6111  1: a1
 6112  2: a1
 6113 copy substring Z failed -7
 6114   G a1 (2) A
 6115     
 6116 /^(?P<A>a)(?P<A>b)/IJ
 6117 Capturing subpattern count = 2
 6118 Named capturing subpatterns:
 6119   A   1
 6120   A   2
 6121 Options: anchored dupnames
 6122 No first char
 6123 No need char
 6124     ab\GA
 6125  0: ab
 6126  1: a
 6127  2: b
 6128   G a (1) A
 6129     
 6130 /^(?P<A>a)(?P<A>b)|cd/IJ
 6131 Capturing subpattern count = 2
 6132 Named capturing subpatterns:
 6133   A   1
 6134   A   2
 6135 Options: dupnames
 6136 No first char
 6137 No need char
 6138     ab\GA
 6139  0: ab
 6140  1: a
 6141  2: b
 6142   G a (1) A
 6143     cd\GA 
 6144  0: cd
 6145 copy substring A failed -7
 6146   
 6147 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
 6148 Capturing subpattern count = 4
 6149 Named capturing subpatterns:
 6150   A   1
 6151   A   2
 6152   A   3
 6153   A   4
 6154 Options: dupnames
 6155 No first char
 6156 No need char
 6157     cdefgh\GA 
 6158  0: cdefgh
 6159  1: <unset>
 6160  2: <unset>
 6161  3: ef
 6162  4: gh
 6163   G ef (2) A
 6164   
 6165 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
 6166 Capturing subpattern count = 3
 6167 Named capturing subpatterns:
 6168   A   2
 6169   A   3
 6170 Options: anchored dupnames
 6171 No first char
 6172 No need char
 6173     a1b\CA
 6174  0: a1
 6175  1: a1
 6176  2: a1
 6177   C a1 (2) A
 6178     a2b\CA 
 6179  0: a2b
 6180  1: a2b
 6181  2: <unset>
 6182  3: a2
 6183   C a2 (2) A
 6184     
 6185 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
 6186 Failed: two named subpatterns have the same name at offset 37
 6187 
 6188 / In this next test, J is not set at the outer level; consequently it isn't
 6189 set in the pattern's options; consequently pcre_get_named_substring() produces 
 6190 a random value. /Ix
 6191 Capturing subpattern count = 1
 6192 Options: extended
 6193 First char = 'I'
 6194 Need char = 'e'
 6195 
 6196 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
 6197 Capturing subpattern count = 4
 6198 Named capturing subpatterns:
 6199   A   1
 6200   B   2
 6201   B   3
 6202   C   4
 6203 Options: anchored
 6204 No first char
 6205 No need char
 6206     a bc d\CA\CB\CC
 6207  0: a bc d
 6208  1: a
 6209  2: b
 6210  3: c
 6211  4: d
 6212   C a (1) A
 6213   C b (1) B
 6214   C d (1) C
 6215 
 6216 /^(?P<A>a)?(?(A)a|b)/I
 6217 Capturing subpattern count = 1
 6218 Named capturing subpatterns:
 6219   A   1
 6220 Options: anchored
 6221 No first char
 6222 No need char
 6223     aabc
 6224  0: aa
 6225  1: a
 6226     bc
 6227  0: b
 6228     ** Failers
 6229 No match
 6230     abc   
 6231 No match
 6232 
 6233 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
 6234 Capturing subpattern count = 1
 6235 Named capturing subpatterns:
 6236   ZZ   1
 6237 No options
 6238 No first char
 6239 Need char = 'X'
 6240     bXaX
 6241  0: bXaX
 6242  1: X
 6243 
 6244 /(?:(?(2y)a|b)(X))+/I
 6245 Failed: reference to non-existent subpattern at offset 9
 6246 
 6247 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
 6248 Failed: reference to non-existent subpattern at offset 9
 6249 
 6250 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
 6251 Capturing subpattern count = 1
 6252 Named capturing subpatterns:
 6253   ZZ   1
 6254 No options
 6255 No first char
 6256 Need char = 'X'
 6257     bbXaaX
 6258  0: bbXaaX
 6259  1: X
 6260 
 6261 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
 6262 Capturing subpattern count = 1
 6263 Named capturing subpatterns:
 6264   ZZ   1
 6265 No options
 6266 No first char
 6267 Need char = 'X'
 6268     (b)\\Xa\\X
 6269  0: (b)\Xa\X
 6270  1: X
 6271 
 6272 /(?P<ABC/I
 6273 Failed: syntax error in subpattern name (missing terminator) at offset 7
 6274 
 6275 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
 6276 Capturing subpattern count = 1
 6277 Max back reference = 1
 6278 Named capturing subpatterns:
 6279   A   1
 6280 No options
 6281 No first char
 6282 No need char
 6283     bXXaYYaY
 6284  0: bXXaYYaY
 6285  1: Y
 6286     bXYaXXaX  
 6287  0: bX
 6288  1: X
 6289 
 6290 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
 6291 Capturing subpattern count = 10
 6292 Max back reference = 10
 6293 Named capturing subpatterns:
 6294   A  10
 6295 No options
 6296 No first char
 6297 No need char
 6298     bXXaYYaY
 6299  0: bXXaYYaY
 6300  1: 
 6301  2: 
 6302  3: 
 6303  4: 
 6304  5: 
 6305  6: 
 6306  7: 
 6307  8: 
 6308  9: 
 6309 10: Y
 6310 
 6311 /\777/I
 6312 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3
 6313 
 6314 /\s*,\s*/IS
 6315 Capturing subpattern count = 0
 6316 Partial matching not supported
 6317 No options
 6318 No first char
 6319 Need char = ','
 6320 Starting byte set: \x09 \x0a \x0c \x0d \x20 , 
 6321     \x0b,\x0b
 6322  0: ,
 6323     \x0c,\x0d 
 6324  0: \x0c,\x0d
 6325 
 6326 /^abc/Im
 6327 Capturing subpattern count = 0
 6328 Options: multiline
 6329 First char at start or follows newline
 6330 Need char = 'c'
 6331     xyz\nabc
 6332  0: abc
 6333     xyz\nabc\<lf>
 6334  0: abc
 6335     xyz\r\nabc\<lf>
 6336  0: abc
 6337     xyz\rabc\<cr>
 6338  0: abc
 6339     xyz\r\nabc\<crlf>
 6340  0: abc
 6341     ** Failers 
 6342 No match
 6343     xyz\nabc\<cr>
 6344 No match
 6345     xyz\r\nabc\<cr>
 6346 No match
 6347     xyz\nabc\<crlf>
 6348 No match
 6349     xyz\rabc\<crlf>
 6350 No match
 6351     xyz\rabc\<lf>
 6352 No match
 6353     
 6354 /abc$/Im<lf>
 6355 Capturing subpattern count = 0
 6356 Options: multiline
 6357 Forced newline sequence: LF
 6358 First char = 'a'
 6359 Need char = 'c'
 6360     xyzabc
 6361  0: abc
 6362     xyzabc\n 
 6363  0: abc
 6364     xyzabc\npqr 
 6365  0: abc
 6366     xyzabc\r\<cr> 
 6367  0: abc
 6368     xyzabc\rpqr\<cr> 
 6369  0: abc
 6370     xyzabc\r\n\<crlf> 
 6371  0: abc
 6372     xyzabc\r\npqr\<crlf> 
 6373  0: abc
 6374     ** Failers
 6375 No match
 6376     xyzabc\r 
 6377 No match
 6378     xyzabc\rpqr 
 6379 No match
 6380     xyzabc\r\n 
 6381 No match
 6382     xyzabc\r\npqr 
 6383 No match
 6384     
 6385 /^abc/Im<cr>
 6386 Capturing subpattern count = 0
 6387 Options: multiline
 6388 Forced newline sequence: CR
 6389 First char at start or follows newline
 6390 Need char = 'c'
 6391     xyz\rabcdef
 6392  0: abc
 6393     xyz\nabcdef\<lf>
 6394  0: abc
 6395     ** Failers  
 6396 No match
 6397     xyz\nabcdef
 6398 No match
 6399        
 6400 /^abc/Im<lf>
 6401 Capturing subpattern count = 0
 6402 Options: multiline
 6403 Forced newline sequence: LF
 6404 First char at start or follows newline
 6405 Need char = 'c'
 6406     xyz\nabcdef
 6407  0: abc
 6408     xyz\rabcdef\<cr>
 6409  0: abc
 6410     ** Failers  
 6411 No match
 6412     xyz\rabcdef
 6413 No match
 6414        
 6415 /^abc/Im<crlf>
 6416 Capturing subpattern count = 0
 6417 Options: multiline
 6418 Forced newline sequence: CRLF
 6419 First char at start or follows newline
 6420 Need char = 'c'
 6421     xyz\r\nabcdef
 6422  0: abc
 6423     xyz\rabcdef\<cr>
 6424  0: abc
 6425     ** Failers  
 6426 No match
 6427     xyz\rabcdef
 6428 No match
 6429     
 6430 /^abc/Im<bad>
 6431 Unknown newline type at: <bad>
 6432 
 6433 
 6434 /abc/I
 6435 Capturing subpattern count = 0
 6436 No options
 6437 First char = 'a'
 6438 Need char = 'c'
 6439     xyz\rabc\<bad>
 6440 Unknown newline type at: <bad>
 6441     abc  
 6442  0: abc
 6443        
 6444 /.*/I<lf>
 6445 Capturing subpattern count = 0
 6446 Partial matching not supported
 6447 Options:
 6448 Forced newline sequence: LF
 6449 First char at start or follows newline
 6450 No need char
 6451     abc\ndef
 6452  0: abc
 6453     abc\rdef
 6454  0: abc\x0ddef
 6455     abc\r\ndef
 6456  0: abc\x0d
 6457     \<cr>abc\ndef
 6458  0: abc\x0adef
 6459     \<cr>abc\rdef
 6460  0: abc
 6461     \<cr>abc\r\ndef
 6462  0: abc
 6463     \<crlf>abc\ndef
 6464  0: abc\x0adef
 6465     \<crlf>abc\rdef
 6466  0: abc\x0ddef
 6467     \<crlf>abc\r\ndef
 6468  0: abc
 6469 
 6470 /\w+(.)(.)?def/Is
 6471 Capturing subpattern count = 2
 6472 Partial matching not supported
 6473 Options: dotall
 6474 No first char
 6475 Need char = 'f'
 6476     abc\ndef
 6477  0: abc\x0adef
 6478  1: \x0a
 6479     abc\rdef
 6480  0: abc\x0ddef
 6481  1: \x0d
 6482     abc\r\ndef
 6483  0: abc\x0d\x0adef
 6484  1: \x0d
 6485  2: \x0a
 6486 
 6487 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
 6488 Capturing subpattern count = 1
 6489 Partial matching not supported
 6490 No options
 6491 No first char
 6492 No need char
 6493    /* this is a C style comment */\M
 6494 Minimum match() limit = 120
 6495 Minimum match() recursion limit = 6
 6496  0: /* this is a C style comment */
 6497  1: /* this is a C style comment */
 6498 
 6499 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
 6500 Capturing subpattern count = 1
 6501 Named capturing subpatterns:
 6502   B   1
 6503 No options
 6504 No first char
 6505 Need char = '.'
 6506 
 6507 /()()()()()()()()()()()()()()()()()()()()
 6508  ()()()()()()()()()()()()()()()()()()()()
 6509  ()()()()()()()()()()()()()()()()()()()()
 6510  ()()()()()()()()()()()()()()()()()()()()
 6511  ()()()()()()()()()()()()()()()()()()()()
 6512  (.(.))/Ix
 6513 Capturing subpattern count = 102
 6514 Options: extended
 6515 No first char
 6516 No need char
 6517     XY\O400  
 6518  0: XY
 6519  1: 
 6520  2: 
 6521  3: 
 6522  4: 
 6523  5: 
 6524  6: 
 6525  7: 
 6526  8: 
 6527  9: 
 6528 10: 
 6529 11: 
 6530 12: 
 6531 13: 
 6532 14: 
 6533 15: 
 6534 16: 
 6535 17: 
 6536 18: 
 6537 19: 
 6538 20: 
 6539 21: 
 6540 22: 
 6541 23: 
 6542 24: 
 6543 25: 
 6544 26: 
 6545 27: 
 6546 28: 
 6547 29: 
 6548 30: 
 6549 31: 
 6550 32: 
 6551 33: 
 6552 34: 
 6553 35: 
 6554 36: 
 6555 37: 
 6556 38: 
 6557 39: 
 6558 40: 
 6559 41: 
 6560 42: 
 6561 43: 
 6562 44: 
 6563 45: 
 6564 46: 
 6565 47: 
 6566 48: 
 6567 49: 
 6568 50: 
 6569 51: 
 6570 52: 
 6571 53: 
 6572 54: 
 6573 55: 
 6574 56: 
 6575 57: 
 6576 58: 
 6577 59: 
 6578 60: 
 6579 61: 
 6580 62: 
 6581 63: 
 6582 64: 
 6583 65: 
 6584 66: 
 6585 67: 
 6586 68: 
 6587 69: 
 6588 70: 
 6589 71: 
 6590 72: 
 6591 73: 
 6592 74: 
 6593 75: 
 6594 76: 
 6595 77: 
 6596 78: 
 6597 79: 
 6598 80: 
 6599 81: 
 6600 82: 
 6601 83: 
 6602 84: 
 6603 85: 
 6604 86: 
 6605 87: 
 6606 88: 
 6607 89: 
 6608 90: 
 6609 91: 
 6610 92: 
 6611 93: 
 6612 94: 
 6613 95: 
 6614 96: 
 6615 97: 
 6616 98: 
 6617 99: 
 6618 100: 
 6619 101: XY
 6620 102: Y
 6621 
 6622 /(a*b|(?i:c*(?-i)d))/IS
 6623 Capturing subpattern count = 1
 6624 Partial matching not supported
 6625 No options
 6626 No first char
 6627 No need char
 6628 Starting byte set: C a b c d 
 6629 
 6630 /()[ab]xyz/IS
 6631 Capturing subpattern count = 1
 6632 No options
 6633 No first char
 6634 Need char = 'z'
 6635 Starting byte set: a b 
 6636 
 6637 /(|)[ab]xyz/IS
 6638 Capturing subpattern count = 1
 6639 No options
 6640 No first char
 6641 Need char = 'z'
 6642 Starting byte set: a b 
 6643 
 6644 /(|c)[ab]xyz/IS
 6645 Capturing subpattern count = 1
 6646 No options
 6647 No first char
 6648 Need char = 'z'
 6649 Starting byte set: a b c 
 6650 
 6651 /(|c?)[ab]xyz/IS
 6652 Capturing subpattern count = 1
 6653 No options
 6654 No first char
 6655 Need char = 'z'
 6656 Starting byte set: a b c 
 6657 
 6658 /(d?|c?)[ab]xyz/IS
 6659 Capturing subpattern count = 1
 6660 No options
 6661 No first char
 6662 Need char = 'z'
 6663 Starting byte set: a b c d 
 6664 
 6665 /(d?|c)[ab]xyz/IS
 6666 Capturing subpattern count = 1
 6667 No options
 6668 No first char
 6669 Need char = 'z'
 6670 Starting byte set: a b c d 
 6671 
 6672 /^a*b\d/D
 6673 ------------------------------------------------------------------
 6674   0   9 Bra 0
 6675   3     ^
 6676   4     a*+
 6677   6     b
 6678   8     \d
 6679   9   9 Ket
 6680  12     End
 6681 ------------------------------------------------------------------
 6682 Capturing subpattern count = 0
 6683 Partial matching not supported
 6684 Options: anchored
 6685 No first char
 6686 Need char = 'b'
 6687 
 6688 /^a*+b\d/D
 6689 ------------------------------------------------------------------
 6690   0   9 Bra 0
 6691   3     ^
 6692   4     a*+
 6693   6     b
 6694   8     \d
 6695   9   9 Ket
 6696  12     End
 6697 ------------------------------------------------------------------
 6698 Capturing subpattern count = 0
 6699 Partial matching not supported
 6700 Options: anchored
 6701 No first char
 6702 Need char = 'b'
 6703 
 6704 /^a*?b\d/D
 6705 ------------------------------------------------------------------
 6706   0   9 Bra 0
 6707   3     ^
 6708   4     a*+
 6709   6     b
 6710   8     \d
 6711   9   9 Ket
 6712  12     End
 6713 ------------------------------------------------------------------
 6714 Capturing subpattern count = 0
 6715 Partial matching not supported
 6716 Options: anchored
 6717 No first char
 6718 Need char = 'b'
 6719 
 6720 /^a+A\d/D
 6721 ------------------------------------------------------------------
 6722   0   9 Bra 0
 6723   3     ^
 6724   4     a++
 6725   6     A
 6726   8     \d
 6727   9   9 Ket
 6728  12     End
 6729 ------------------------------------------------------------------
 6730 Capturing subpattern count = 0
 6731 Partial matching not supported
 6732 Options: anchored
 6733 No first char
 6734 Need char = 'A'
 6735     aaaA5
 6736  0: aaaA5
 6737     ** Failers
 6738 No match
 6739     aaaa5 
 6740 No match
 6741 
 6742 /^a*A\d/IiD
 6743 ------------------------------------------------------------------
 6744   0   9 Bra 0
 6745   3     ^
 6746   4     a*
 6747   6  NC A
 6748   8     \d
 6749   9   9 Ket
 6750  12     End
 6751 ------------------------------------------------------------------
 6752 Capturing subpattern count = 0
 6753 Partial matching not supported
 6754 Options: anchored caseless
 6755 No first char
 6756 Need char = 'A' (caseless)
 6757     aaaA5
 6758  0: aaaA5
 6759     aaaa5
 6760  0: aaaa5
 6761 
 6762 /(a*|b*)[cd]/IS
 6763 Capturing subpattern count = 1
 6764 Partial matching not supported
 6765 No options
 6766 No first char
 6767 No need char
 6768 Starting byte set: a b c d 
 6769 
 6770 /(a+|b*)[cd]/IS
 6771 Capturing subpattern count = 1
 6772 Partial matching not supported
 6773 No options
 6774 No first char
 6775 No need char
 6776 Starting byte set: a b c d 
 6777 
 6778 /(a*|b+)[cd]/IS
 6779 Capturing subpattern count = 1
 6780 Partial matching not supported
 6781 No options
 6782 No first char
 6783 No need char
 6784 Starting byte set: a b c d 
 6785 
 6786 /(a+|b+)[cd]/IS
 6787 Capturing subpattern count = 1
 6788 Partial matching not supported
 6789 No options
 6790 No first char
 6791 No need char
 6792 Starting byte set: a b 
 6793 
 6794 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
 6795  ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
 6796  (((
 6797  a
 6798  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 6799  ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 6800  ))) 
 6801 /Ix  
 6802 Capturing subpattern count = 203
 6803 Options: extended
 6804 First char = 'a'
 6805 No need char
 6806   large nest
 6807 Matched, but too many substrings
 6808  0: a
 6809  1: a
 6810  2: a
 6811  3: a
 6812  4: a
 6813  5: a
 6814  6: a
 6815  7: a
 6816  8: a
 6817  9: a
 6818 10: a
 6819 11: a
 6820 12: a
 6821 13: a
 6822 14: a
 6823 
 6824 /a*\d/B
 6825 ------------------------------------------------------------------
 6826   0   6 Bra 0
 6827   3     a*+
 6828   5     \d
 6829   6   6 Ket
 6830   9     End
 6831 ------------------------------------------------------------------
 6832 
 6833 /a*\D/B
 6834 ------------------------------------------------------------------
 6835   0   6 Bra 0
 6836   3     a*
 6837   5     \D
 6838   6   6 Ket
 6839   9     End
 6840 ------------------------------------------------------------------
 6841 
 6842 /0*\d/B
 6843 ------------------------------------------------------------------
 6844   0   6 Bra 0
 6845   3     0*
 6846   5     \d
 6847   6   6 Ket
 6848   9     End
 6849 ------------------------------------------------------------------
 6850 
 6851 /0*\D/B
 6852 ------------------------------------------------------------------
 6853   0   6 Bra 0
 6854   3     0*+
 6855   5     \D
 6856   6   6 Ket
 6857   9     End
 6858 ------------------------------------------------------------------
 6859 
 6860 /a*\s/B
 6861 ------------------------------------------------------------------
 6862   0   6 Bra 0
 6863   3     a*+
 6864   5     \s
 6865   6   6 Ket
 6866   9     End
 6867 ------------------------------------------------------------------
 6868 
 6869 /a*\S/B
 6870 ------------------------------------------------------------------
 6871   0   6 Bra 0
 6872   3     a*
 6873   5     \S
 6874   6   6 Ket
 6875   9     End
 6876 ------------------------------------------------------------------
 6877 
 6878 / *\s/B
 6879 ------------------------------------------------------------------
 6880   0   6 Bra 0
 6881   3      *
 6882   5     \s
 6883   6   6 Ket
 6884   9     End
 6885 ------------------------------------------------------------------
 6886 
 6887 / *\S/B
 6888 ------------------------------------------------------------------
 6889   0   6 Bra 0
 6890   3      *+
 6891   5     \S
 6892   6   6 Ket
 6893   9     End
 6894 ------------------------------------------------------------------
 6895 
 6896 /a*\w/B
 6897 ------------------------------------------------------------------
 6898   0   6 Bra 0
 6899   3     a*
 6900   5     \w
 6901   6   6 Ket
 6902   9     End
 6903 ------------------------------------------------------------------
 6904 
 6905 /a*\W/B
 6906 ------------------------------------------------------------------
 6907   0   6 Bra 0
 6908   3     a*+
 6909   5     \W
 6910   6   6 Ket
 6911   9     End
 6912 ------------------------------------------------------------------
 6913 
 6914 /=*\w/B
 6915 ------------------------------------------------------------------
 6916   0   6 Bra 0
 6917   3     =*+
 6918   5     \w
 6919   6   6 Ket
 6920   9     End
 6921 ------------------------------------------------------------------
 6922 
 6923 /=*\W/B
 6924 ------------------------------------------------------------------
 6925   0   6 Bra 0
 6926   3     =*
 6927   5     \W
 6928   6   6 Ket
 6929   9     End
 6930 ------------------------------------------------------------------
 6931 
 6932 /\d*a/B
 6933 ------------------------------------------------------------------
 6934   0   7 Bra 0
 6935   3     \d*+
 6936   5     a
 6937   7   7 Ket
 6938  10     End
 6939 ------------------------------------------------------------------
 6940 
 6941 /\d*2/B
 6942 ------------------------------------------------------------------
 6943   0   7 Bra 0
 6944   3     \d*
 6945   5     2
 6946   7   7 Ket
 6947  10     End
 6948 ------------------------------------------------------------------
 6949 
 6950 /\d*\d/B
 6951 ------------------------------------------------------------------
 6952   0   6 Bra 0
 6953   3     \d*
 6954   5     \d
 6955   6   6 Ket
 6956   9     End
 6957 ------------------------------------------------------------------
 6958 
 6959 /\d*\D/B
 6960 ------------------------------------------------------------------
 6961   0   6 Bra 0
 6962   3     \d*+
 6963   5     \D
 6964   6   6 Ket
 6965   9     End
 6966 ------------------------------------------------------------------
 6967 
 6968 /\d*\s/B
 6969 ------------------------------------------------------------------
 6970   0   6 Bra 0
 6971   3     \d*+
 6972   5     \s
 6973   6   6 Ket
 6974   9     End
 6975 ------------------------------------------------------------------
 6976 
 6977 /\d*\S/B
 6978 ------------------------------------------------------------------
 6979   0   6 Bra 0
 6980   3     \d*
 6981   5     \S
 6982   6   6 Ket
 6983   9     End
 6984 ------------------------------------------------------------------
 6985 
 6986 /\d*\w/B
 6987 ------------------------------------------------------------------
 6988   0   6 Bra 0
 6989   3     \d*
 6990   5     \w
 6991   6   6 Ket
 6992   9     End
 6993 ------------------------------------------------------------------
 6994 
 6995 /\d*\W/B
 6996 ------------------------------------------------------------------
 6997   0   6 Bra 0
 6998   3     \d*+
 6999   5     \W
 7000   6   6 Ket
 7001   9     End
 7002 ------------------------------------------------------------------
 7003 
 7004 /\D*a/B
 7005 ------------------------------------------------------------------
 7006   0   7 Bra 0
 7007   3     \D*
 7008   5     a
 7009   7   7 Ket
 7010  10     End
 7011 ------------------------------------------------------------------
 7012 
 7013 /\D*2/B
 7014 ------------------------------------------------------------------
 7015   0   7 Bra 0
 7016   3     \D*+
 7017   5     2
 7018   7   7 Ket
 7019  10     End
 7020 ------------------------------------------------------------------
 7021 
 7022 /\D*\d/B
 7023 ------------------------------------------------------------------
 7024   0   6 Bra 0
 7025   3     \D*+
 7026   5     \d
 7027   6   6 Ket
 7028   9     End
 7029 ------------------------------------------------------------------
 7030 
 7031 /\D*\D/B
 7032 ------------------------------------------------------------------
 7033   0   6 Bra 0
 7034   3     \D*
 7035   5     \D
 7036   6   6 Ket
 7037   9     End
 7038 ------------------------------------------------------------------
 7039 
 7040 /\D*\s/B
 7041 ------------------------------------------------------------------
 7042   0   6 Bra 0
 7043   3     \D*
 7044   5     \s
 7045   6   6 Ket
 7046   9     End
 7047 ------------------------------------------------------------------
 7048 
 7049 /\D*\S/B
 7050 ------------------------------------------------------------------
 7051   0   6 Bra 0
 7052   3     \D*
 7053   5     \S
 7054   6   6 Ket
 7055   9     End
 7056 ------------------------------------------------------------------
 7057 
 7058 /\D*\w/B
 7059 ------------------------------------------------------------------
 7060   0   6 Bra 0
 7061   3     \D*
 7062   5     \w
 7063   6   6 Ket
 7064   9     End
 7065 ------------------------------------------------------------------
 7066 
 7067 /\D*\W/B
 7068 ------------------------------------------------------------------
 7069   0   6 Bra 0
 7070   3     \D*
 7071   5     \W
 7072   6   6 Ket
 7073   9     End
 7074 ------------------------------------------------------------------
 7075 
 7076 /\s*a/B
 7077 ------------------------------------------------------------------
 7078   0   7 Bra 0
 7079   3     \s*+
 7080   5     a
 7081   7   7 Ket
 7082  10     End
 7083 ------------------------------------------------------------------
 7084 
 7085 /\s*2/B
 7086 ------------------------------------------------------------------
 7087   0   7 Bra 0
 7088   3     \s*+
 7089   5     2
 7090   7   7 Ket
 7091  10     End
 7092 ------------------------------------------------------------------
 7093 
 7094 /\s*\d/B
 7095 ------------------------------------------------------------------
 7096   0   6 Bra 0
 7097   3     \s*+
 7098   5     \d
 7099   6   6 Ket
 7100   9     End
 7101 ------------------------------------------------------------------
 7102 
 7103 /\s*\D/B
 7104 ------------------------------------------------------------------
 7105   0   6 Bra 0
 7106   3     \s*
 7107   5     \D
 7108   6   6 Ket
 7109   9     End
 7110 ------------------------------------------------------------------
 7111 
 7112 /\s*\s/B
 7113 ------------------------------------------------------------------
 7114   0   6 Bra 0
 7115   3     \s*
 7116   5     \s
 7117   6   6 Ket
 7118   9     End
 7119 ------------------------------------------------------------------
 7120 
 7121 /\s*\S/B
 7122 ------------------------------------------------------------------
 7123   0   6 Bra 0
 7124   3     \s*+
 7125   5     \S
 7126   6   6 Ket
 7127   9     End
 7128 ------------------------------------------------------------------
 7129 
 7130 /\s*\w/B
 7131 ------------------------------------------------------------------
 7132   0   6 Bra 0
 7133   3     \s*+
 7134   5     \w
 7135   6   6 Ket
 7136   9     End
 7137 ------------------------------------------------------------------
 7138 
 7139 /\s*\W/B
 7140 ------------------------------------------------------------------
 7141   0   6 Bra 0
 7142   3     \s*
 7143   5     \W
 7144   6   6 Ket
 7145   9     End
 7146 ------------------------------------------------------------------
 7147 
 7148 /\S*a/B
 7149 ------------------------------------------------------------------
 7150   0   7 Bra 0
 7151   3     \S*
 7152   5     a
 7153   7   7 Ket
 7154  10     End
 7155 ------------------------------------------------------------------
 7156 
 7157 /\S*2/B
 7158 ------------------------------------------------------------------
 7159   0   7 Bra 0
 7160   3     \S*
 7161   5     2
 7162   7   7 Ket
 7163  10     End
 7164 ------------------------------------------------------------------
 7165 
 7166 /\S*\d/B
 7167 ------------------------------------------------------------------
 7168   0   6 Bra 0
 7169   3     \S*
 7170   5     \d
 7171   6   6 Ket
 7172   9     End
 7173 ------------------------------------------------------------------
 7174 
 7175 /\S*\D/B
 7176 ------------------------------------------------------------------
 7177   0   6 Bra 0
 7178   3     \S*
 7179   5     \D
 7180   6   6 Ket
 7181   9     End
 7182 ------------------------------------------------------------------
 7183 
 7184 /\S*\s/B
 7185 ------------------------------------------------------------------
 7186   0   6 Bra 0
 7187   3     \S*+
 7188   5     \s
 7189   6   6 Ket
 7190   9     End
 7191 ------------------------------------------------------------------
 7192 
 7193 /\S*\S/B
 7194 ------------------------------------------------------------------
 7195   0   6 Bra 0
 7196   3     \S*
 7197   5     \S
 7198   6   6 Ket
 7199   9     End
 7200 ------------------------------------------------------------------
 7201 
 7202 /\S*\w/B
 7203 ------------------------------------------------------------------
 7204   0   6 Bra 0
 7205   3     \S*
 7206   5     \w
 7207   6   6 Ket
 7208   9     End
 7209 ------------------------------------------------------------------
 7210 
 7211 /\S*\W/B
 7212 ------------------------------------------------------------------
 7213   0   6 Bra 0
 7214   3     \S*
 7215   5     \W
 7216   6   6 Ket
 7217   9     End
 7218 ------------------------------------------------------------------
 7219 
 7220 /\w*a/B
 7221 ------------------------------------------------------------------
 7222   0   7 Bra 0
 7223   3     \w*
 7224   5     a
 7225   7   7 Ket
 7226  10     End
 7227 ------------------------------------------------------------------
 7228 
 7229 /\w*2/B
 7230 ------------------------------------------------------------------
 7231   0   7 Bra 0
 7232   3     \w*
 7233   5     2
 7234   7   7 Ket
 7235  10     End
 7236 ------------------------------------------------------------------
 7237 
 7238 /\w*\d/B
 7239 ------------------------------------------------------------------
 7240   0   6 Bra 0
 7241   3     \w*
 7242   5     \d
 7243   6   6 Ket
 7244   9     End
 7245 ------------------------------------------------------------------
 7246 
 7247 /\w*\D/B
 7248 ------------------------------------------------------------------
 7249   0   6 Bra 0
 7250   3     \w*
 7251   5     \D
 7252   6   6 Ket
 7253   9     End
 7254 ------------------------------------------------------------------
 7255 
 7256 /\w*\s/B
 7257 ------------------------------------------------------------------
 7258   0   6 Bra 0
 7259   3     \w*+
 7260   5     \s
 7261   6   6 Ket
 7262   9     End
 7263 ------------------------------------------------------------------
 7264 
 7265 /\w*\S/B
 7266 ------------------------------------------------------------------
 7267   0   6 Bra 0
 7268   3     \w*
 7269   5     \S
 7270   6   6 Ket
 7271   9     End
 7272 ------------------------------------------------------------------
 7273 
 7274 /\w*\w/B
 7275 ------------------------------------------------------------------
 7276   0   6 Bra 0
 7277   3     \w*
 7278   5     \w
 7279   6   6 Ket
 7280   9     End
 7281 ------------------------------------------------------------------
 7282 
 7283 /\w*\W/B
 7284 ------------------------------------------------------------------
 7285   0   6 Bra 0
 7286   3     \w*+
 7287   5     \W
 7288   6   6 Ket
 7289   9     End
 7290 ------------------------------------------------------------------
 7291 
 7292 /\W*a/B
 7293 ------------------------------------------------------------------
 7294   0   7 Bra 0
 7295   3     \W*+
 7296   5     a
 7297   7   7 Ket
 7298  10     End
 7299 ------------------------------------------------------------------
 7300 
 7301 /\W*2/B
 7302 ------------------------------------------------------------------
 7303   0   7 Bra 0
 7304   3     \W*+
 7305   5     2
 7306   7   7 Ket
 7307  10     End
 7308 ------------------------------------------------------------------
 7309 
 7310 /\W*\d/B
 7311 ------------------------------------------------------------------
 7312   0   6 Bra 0
 7313   3     \W*+
 7314   5     \d
 7315   6   6 Ket
 7316   9     End
 7317 ------------------------------------------------------------------
 7318 
 7319 /\W*\D/B
 7320 ------------------------------------------------------------------
 7321   0   6 Bra 0
 7322   3     \W*
 7323   5     \D
 7324   6   6 Ket
 7325   9     End
 7326 ------------------------------------------------------------------
 7327 
 7328 /\W*\s/B
 7329 ------------------------------------------------------------------
 7330   0   6 Bra 0
 7331   3     \W*
 7332   5     \s
 7333   6   6 Ket
 7334   9     End
 7335 ------------------------------------------------------------------
 7336 
 7337 /\W*\S/B
 7338 ------------------------------------------------------------------
 7339   0   6 Bra 0
 7340   3     \W*
 7341   5     \S
 7342   6   6 Ket
 7343   9     End
 7344 ------------------------------------------------------------------
 7345 
 7346 /\W*\w/B
 7347 ------------------------------------------------------------------
 7348   0   6 Bra 0
 7349   3     \W*+
 7350   5     \w
 7351   6   6 Ket
 7352   9     End
 7353 ------------------------------------------------------------------
 7354 
 7355 /\W*\W/B
 7356 ------------------------------------------------------------------
 7357   0   6 Bra 0
 7358   3     \W*
 7359   5     \W
 7360   6   6 Ket
 7361   9     End
 7362 ------------------------------------------------------------------
 7363 
 7364 /[^a]+a/B
 7365 ------------------------------------------------------------------
 7366   0   7 Bra 0
 7367   3     [^a]++
 7368   5     a
 7369   7   7 Ket
 7370  10     End
 7371 ------------------------------------------------------------------
 7372 
 7373 /[^a]+a/Bi
 7374 ------------------------------------------------------------------
 7375   0   7 Bra 0
 7376   3     [^A]++
 7377   5  NC a
 7378   7   7 Ket
 7379  10     End
 7380 ------------------------------------------------------------------
 7381 
 7382 /[^a]+A/Bi
 7383 ------------------------------------------------------------------
 7384   0   7 Bra 0
 7385   3     [^A]++
 7386   5  NC A
 7387   7   7 Ket
 7388  10     End
 7389 ------------------------------------------------------------------
 7390 
 7391 /[^a]+b/B
 7392 ------------------------------------------------------------------
 7393   0   7 Bra 0
 7394   3     [^a]+
 7395   5     b
 7396   7   7 Ket
 7397  10     End
 7398 ------------------------------------------------------------------
 7399 
 7400 /[^a]+\d/B
 7401 ------------------------------------------------------------------
 7402   0   6 Bra 0
 7403   3     [^a]+
 7404   5     \d
 7405   6   6 Ket
 7406   9     End
 7407 ------------------------------------------------------------------
 7408 
 7409 /a*[^a]/B
 7410 ------------------------------------------------------------------
 7411   0   7 Bra 0
 7412   3     a*
 7413   5     [^a]
 7414   7   7 Ket
 7415  10     End
 7416 ------------------------------------------------------------------
 7417 
 7418 /(?P<abc>x)(?P<xyz>y)/I
 7419 Capturing subpattern count = 2
 7420 Named capturing subpatterns:
 7421   abc   1
 7422   xyz   2
 7423 No options
 7424 First char = 'x'
 7425 Need char = 'y'
 7426     xy\Cabc\Cxyz
 7427  0: xy
 7428  1: x
 7429  2: y
 7430   C x (1) abc
 7431   C y (1) xyz
 7432 
 7433 /(?<abc>x)(?'xyz'y)/I
 7434 Capturing subpattern count = 2
 7435 Named capturing subpatterns:
 7436   abc   1
 7437   xyz   2
 7438 No options
 7439 First char = 'x'
 7440 Need char = 'y'
 7441     xy\Cabc\Cxyz
 7442  0: xy
 7443  1: x
 7444  2: y
 7445   C x (1) abc
 7446   C y (1) xyz
 7447 
 7448 /(?<abc'x)(?'xyz'y)/I
 7449 Failed: syntax error in subpattern name (missing terminator) at offset 6
 7450 
 7451 /(?<abc>x)(?'xyz>y)/I
 7452 Failed: syntax error in subpattern name (missing terminator) at offset 15
 7453 
 7454 /(?P'abc'x)(?P<xyz>y)/I
 7455 Failed: unrecognized character after (?P at offset 3
 7456 
 7457 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
 7458     bXaX
 7459  0: bXaX
 7460  1: X
 7461     bXbX
 7462  0: bX
 7463  1: X
 7464     ** Failers
 7465 No match
 7466     aXaX   
 7467 No match
 7468     aXbX 
 7469 No match
 7470 
 7471 /^(?P>abc)(?<abcd>xxx)/
 7472 Failed: reference to non-existent subpattern at offset 8
 7473 
 7474 /^(?P>abc)(?<abc>x|y)/
 7475     xx
 7476  0: xx
 7477  1: x
 7478     xy
 7479  0: xy
 7480  1: y
 7481     yy
 7482  0: yy
 7483  1: y
 7484     yx   
 7485  0: yx
 7486  1: x
 7487 
 7488 /^(?P>abc)(?P<abc>x|y)/
 7489     xx
 7490  0: xx
 7491  1: x
 7492     xy
 7493  0: xy
 7494  1: y
 7495     yy
 7496  0: yy
 7497  1: y
 7498     yx   
 7499  0: yx
 7500  1: x
 7501 
 7502 /^((?(abc)a|b)(?<abc>x|y))+/
 7503     bxay
 7504  0: bxay
 7505  1: ay
 7506  2: y
 7507     bxby 
 7508  0: bx
 7509  1: bx
 7510  2: x
 7511     ** Failers
 7512 No match
 7513     axby  
 7514 No match
 7515 
 7516 /^(((?P=abc)|X)(?<abc>x|y))+/
 7517     XxXxxx
 7518  0: XxXxxx
 7519  1: xx
 7520  2: x
 7521  3: x
 7522     XxXyyx
 7523  0: XxXyyx
 7524  1: yx
 7525  2: y
 7526  3: x
 7527     XxXyxx
 7528  0: XxXy
 7529  1: Xy
 7530  2: X
 7531  3: y
 7532     ** Failers
 7533 No match
 7534     x  
 7535 No match
 7536 
 7537 /^(?1)(abc)/
 7538     abcabc
 7539  0: abcabc
 7540  1: abc
 7541 
 7542 /^(?:(?:\1|X)(a|b))+/
 7543     Xaaa
 7544  0: Xaaa
 7545  1: a
 7546     Xaba 
 7547  0: Xa
 7548  1: a
 7549 
 7550 /^[\E\Qa\E-\Qz\E]+/B
 7551 ------------------------------------------------------------------
 7552   0  38 Bra 0
 7553   3     ^
 7554   4     [a-z]+
 7555  38  38 Ket
 7556  41     End
 7557 ------------------------------------------------------------------
 7558     
 7559 /^[a\Q]bc\E]/B
 7560 ------------------------------------------------------------------
 7561   0  37 Bra 0
 7562   3     ^
 7563   4     [\]a-c]
 7564  37  37 Ket
 7565  40     End
 7566 ------------------------------------------------------------------
 7567     
 7568 /^[a-\Q\E]/B
 7569 ------------------------------------------------------------------
 7570   0  37 Bra 0
 7571   3     ^
 7572   4     [\-a]
 7573  37  37 Ket
 7574  40     End
 7575 ------------------------------------------------------------------
 7576 
 7577 /^(?P>abc)[()](?<abc>)/B
 7578 ------------------------------------------------------------------
 7579   0  54 Bra 0
 7580   3     ^
 7581   4   6 Once
 7582   7  46 Recurse
 7583  10   6 Ket
 7584  13     [()]
 7585  46   5 Bra 1
 7586  51   5 Ket
 7587  54  54 Ket
 7588  57     End
 7589 ------------------------------------------------------------------
 7590 
 7591 /^((?(abc)y)[()](?P<abc>x))+/B
 7592 ------------------------------------------------------------------
 7593   0  66 Bra 0
 7594   3     ^
 7595   4  59 Bra 1
 7596   9   8 Cond
 7597  12   2 Cond ref
 7598  15     y
 7599  17   8 Ket
 7600  20     [()]
 7601  53   7 Bra 2
 7602  58     x
 7603  60   7 Ket
 7604  63  59 KetRmax
 7605  66  66 Ket
 7606  69     End
 7607 ------------------------------------------------------------------
 7608     (xy)x
 7609  0: (xy)x
 7610  1: y)x
 7611  2: x
 7612     
 7613 /^(?P>abc)\Q()\E(?<abc>)/B 
 7614 ------------------------------------------------------------------
 7615   0  25 Bra 0
 7616   3     ^
 7617   4   6 Once
 7618   7  17 Recurse
 7619  10   6 Ket
 7620  13     ()
 7621  17   5 Bra 1
 7622  22   5 Ket
 7623  25  25 Ket
 7624  28     End
 7625 ------------------------------------------------------------------
 7626 
 7627 /^(?P>abc)[a\Q(]\E(](?<abc>)/B 
 7628 ------------------------------------------------------------------
 7629   0  54 Bra 0
 7630   3     ^
 7631   4   6 Once
 7632   7  46 Recurse
 7633  10   6 Ket
 7634  13     [(\]a]
 7635  46   5 Bra 1
 7636  51   5 Ket
 7637  54  54 Ket
 7638  57     End
 7639 ------------------------------------------------------------------
 7640 
 7641 /^(?P>abc) # this is (a comment)
 7642   (?<abc>)/Bx 
 7643 ------------------------------------------------------------------
 7644   0  21 Bra 0
 7645   3     ^
 7646   4   6 Once
 7647   7  13 Recurse
 7648  10   6 Ket
 7649  13   5 Bra 1
 7650  18   5 Ket
 7651  21  21 Ket
 7652  24     End
 7653 ------------------------------------------------------------------
 7654 
 7655 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
 7656 Capturing subpattern count = 4
 7657 Max back reference = 4
 7658 Named capturing subpatterns:
 7659   four    4
 7660   one     1
 7661   three   3
 7662   two     2
 7663 Partial matching not supported
 7664 Options: anchored caseless
 7665 No first char
 7666 No need char
 7667     1221
 7668  0: 1221
 7669  1: 1221
 7670  2: 1
 7671     Satan, oscillate my metallic sonatas!
 7672  0: Satan, oscillate my metallic sonatas!
 7673  1: <unset>
 7674  2: <unset>
 7675  3: Satan, oscillate my metallic sonatas
 7676  4: S
 7677     A man, a plan, a canal: Panama!
 7678  0: A man, a plan, a canal: Panama!
 7679  1: <unset>
 7680  2: <unset>
 7681  3: A man, a plan, a canal: Panama
 7682  4: A
 7683     Able was I ere I saw Elba. 
 7684  0: Able was I ere I saw Elba.
 7685  1: <unset>
 7686  2: <unset>
 7687  3: Able was I ere I saw Elba
 7688  4: A
 7689     *** Failers
 7690 No match
 7691     The quick brown fox  
 7692 No match
 7693     
 7694 /(?=(\w+))\1:/I
 7695 Capturing subpattern count = 1
 7696 Max back reference = 1
 7697 Partial matching not supported
 7698 No options
 7699 No first char
 7700 Need char = ':'
 7701     abcd:
 7702  0: abcd:
 7703  1: abcd
 7704 
 7705 /(?=(?'abc'\w+))\k<abc>:/I
 7706 Capturing subpattern count = 1
 7707 Max back reference = 1
 7708 Named capturing subpatterns:
 7709   abc   1
 7710 Partial matching not supported
 7711 No options
 7712 No first char
 7713 Need char = ':'
 7714     abcd:
 7715  0: abcd:
 7716  1: abcd
 7717 
 7718 /(?'abc'\w+):\k<abc>{2}/
 7719     a:aaxyz
 7720  0: a:aa
 7721  1: a
 7722     ab:ababxyz
 7723  0: ab:abab
 7724  1: ab
 7725     ** Failers
 7726 No match
 7727     a:axyz   
 7728 No match
 7729     ab:abxyz 
 7730 No match
 7731 
 7732 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
 7733     adaa
 7734  0: adaa
 7735  1: a
 7736  2: d
 7737     ** Failers
 7738 No match
 7739     addd
 7740 No match
 7741     adbb   
 7742 No match
 7743 
 7744 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
 7745     bdaa
 7746  0: bdaa
 7747  1: b
 7748  2: d
 7749     bdab
 7750  0: bdab
 7751  1: b
 7752  2: d
 7753     ** Failers
 7754 No match
 7755     bddd   
 7756 No match
 7757 
 7758 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x
 7759     abd
 7760  0: abd
 7761  1: a
 7762     ce 
 7763  0: ce
 7764     
 7765 /(?(<bc))/
 7766 Failed: malformed number or name after (?( at offset 6
 7767 
 7768 /(?(''))/ 
 7769 Failed: assertion expected after (?( at offset 4
 7770 
 7771 /(?('R')stuff)/
 7772 Failed: reference to non-existent subpattern at offset 7
 7773 
 7774 /((abc (?(R) (?(R1)1) (?(R2)2) X  |  (?1)  (?2)   (?R) ))) /x
 7775     abcabc1Xabc2XabcXabcabc
 7776  0: abcabc1Xabc2XabcX
 7777  1: abcabc1Xabc2XabcX
 7778  2: abcabc1Xabc2XabcX
 7779 
 7780 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
 7781     abcabc1Xabc2XabcXabcabc
 7782  0: abcabc1Xabc2XabcX
 7783  1: abcabc1Xabc2XabcX
 7784  2: abcabc1Xabc2XabcX
 7785 
 7786 /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
 7787 Failed: reference to non-existent subpattern at offset 29
 7788 
 7789 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
 7790     abcabc1Xabc2XabcXabcabc
 7791  0: abcabc1Xabc2XabcX
 7792  1: abcabc1Xabc2XabcX
 7793  2: abcabc1Xabc2XabcX
 7794 
 7795 /^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x
 7796     abcd
 7797  0: ab
 7798  1: <unset>
 7799  2: <unset>
 7800     
 7801 /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
 7802   (?(DEFINE)
 7803   (?<NAME_PAT>[a-z]+)
 7804   (?<ADDRESS_PAT>\d+)
 7805   )/x
 7806     metcalfe 33
 7807  0: metcalfe 33
 7808  1: metcalfe
 7809  2: 33
 7810  3: <unset>
 7811  4: <unset>
 7812  
 7813 /^(?(DEFINE) abc | xyz ) /x
 7814 Failed: DEFINE group contains more than one branch at offset 22
 7815 
 7816 /(?(DEFINE) abc) xyz/xI
 7817 Capturing subpattern count = 0
 7818 Options: extended
 7819 First char = 'x'
 7820 Need char = 'z'
 7821 
 7822 /(?(DEFINE) abc){3} xyz/x
 7823 Failed: repeating a DEFINE group is not allowed at offset 17
 7824 
 7825 /(a|)*\d/
 7826   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 7827 No match
 7828   \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
 7829 Matched, but too many substrings
 7830 
 7831 /^a.b/<lf>
 7832     a\rb
 7833  0: a\x0db
 7834     a\nb\<cr> 
 7835  0: a\x0ab
 7836     ** Failers
 7837 No match
 7838     a\nb
 7839 No match
 7840     a\nb\<any>
 7841 No match
 7842     a\rb\<cr>   
 7843 No match
 7844     a\rb\<any>   
 7845 No match
 7846 
 7847 /^abc./mgx<any>
 7848     abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK
 7849  0: abc1
 7850  0: abc2
 7851  0: abc3
 7852  0: abc4
 7853  0: abc5
 7854  0: abc6
 7855  0: abc7
 7856 
 7857 /abc.$/mgx<any>
 7858     abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9
 7859  0: abc1
 7860  0: abc2
 7861  0: abc3
 7862  0: abc4
 7863  0: abc5
 7864  0: abc6
 7865  0: abc9
 7866 
 7867 /a/<cr><any>
 7868 Failed: inconsistent NEWLINE options at offset 0
 7869 
 7870 /a/<any><crlf>
 7871 Failed: inconsistent NEWLINE options at offset 0
 7872 
 7873 /^a\Rb/
 7874     a\nb
 7875  0: a\x0ab
 7876     a\rb
 7877  0: a\x0db
 7878     a\r\nb
 7879  0: a\x0d\x0ab
 7880     a\x0bb
 7881  0: a\x0bb
 7882     a\x0cb
 7883  0: a\x0cb
 7884     a\x85b   
 7885  0: a\x85b
 7886     ** Failers
 7887 No match
 7888     a\n\rb    
 7889 No match
 7890 
 7891 /^a\R*b/
 7892     ab
 7893  0: ab
 7894     a\nb
 7895  0: a\x0ab
 7896     a\rb
 7897  0: a\x0db
 7898     a\r\nb
 7899  0: a\x0d\x0ab
 7900     a\x0bb
 7901  0: a\x0bb
 7902     a\x0cb
 7903  0: a\x0cb
 7904     a\x85b   
 7905  0: a\x85b
 7906     a\n\rb    
 7907  0: a\x0a\x0db
 7908     a\n\r\x85\x0cb 
 7909  0: a\x0a\x0d\x85\x0cb
 7910 
 7911 /^a\R+b/
 7912     a\nb
 7913  0: a\x0ab
 7914     a\rb
 7915  0: a\x0db
 7916     a\r\nb
 7917  0: a\x0d\x0ab
 7918     a\x0bb
 7919  0: a\x0bb
 7920     a\x0cb
 7921  0: a\x0cb
 7922     a\x85b   
 7923  0: a\x85b
 7924     a\n\rb    
 7925  0: a\x0a\x0db
 7926     a\n\r\x85\x0cb 
 7927  0: a\x0a\x0d\x85\x0cb
 7928     ** Failers
 7929 No match
 7930     ab  
 7931 No match
 7932     
 7933 /^a\R{1,3}b/
 7934     a\nb
 7935  0: a\x0ab
 7936     a\n\rb
 7937  0: a\x0a\x0db
 7938     a\n\r\x85b
 7939  0: a\x0a\x0d\x85b
 7940     a\r\n\r\nb 
 7941  0: a\x0d\x0a\x0d\x0ab
 7942     a\r\n\r\n\r\nb 
 7943  0: a\x0d\x0a\x0d\x0a\x0d\x0ab
 7944     a\n\r\n\rb
 7945  0: a\x0a\x0d\x0a\x0db
 7946     a\n\n\r\nb 
 7947  0: a\x0a\x0a\x0d\x0ab
 7948     ** Failers
 7949 No match
 7950     a\n\n\n\rb
 7951 No match
 7952     a\r
 7953 No match
 7954 
 7955 /^a[\R]b/
 7956     aRb
 7957  0: aRb
 7958     ** Failers
 7959 No match
 7960     a\nb  
 7961 No match
 7962 
 7963 /(?&abc)X(?<abc>P)/I
 7964 Capturing subpattern count = 1
 7965 Named capturing subpatterns:
 7966   abc   1
 7967 No options
 7968 No first char
 7969 Need char = 'P'
 7970     abcPXP123
 7971  0: PXP
 7972  1: P
 7973 
 7974 /(?1)X(?<abc>P)/I
 7975 Capturing subpattern count = 1
 7976 Named capturing subpatterns:
 7977   abc   1
 7978 No options
 7979 No first char
 7980 Need char = 'P'
 7981     abcPXP123
 7982  0: PXP
 7983  1: P
 7984 
 7985 /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/
 7986     1.2.3.4
 7987  0: 1.2.3.4
 7988  1: <unset>
 7989  2: .4
 7990     131.111.10.206
 7991  0: 131.111.10.206
 7992  1: <unset>
 7993  2: .206
 7994     10.0.0.0
 7995  0: 10.0.0.0
 7996  1: <unset>
 7997  2: .0
 7998     ** Failers
 7999 No match
 8000     10.6
 8001 No match
 8002     455.3.4.5   
 8003 No match
 8004 
 8005 /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/
 8006     1.2.3.4
 8007  0: 1.2.3.4
 8008  1: .4
 8009  2: <unset>
 8010     131.111.10.206
 8011  0: 131.111.10.206
 8012  1: .206
 8013  2: <unset>
 8014     10.0.0.0
 8015  0: 10.0.0.0
 8016  1: .0
 8017  2: <unset>
 8018     ** Failers
 8019 No match
 8020     10.6
 8021 No match
 8022     455.3.4.5   
 8023 No match
 8024     
 8025 /(?:a(?&abc)b)*(?<abc>x)/
 8026     123axbaxbaxbx456
 8027  0: axbaxbaxbx
 8028  1: x
 8029     123axbaxbaxb456
 8030  0: x
 8031  1: x
 8032       
 8033 /(?:a(?&abc)b){1,5}(?<abc>x)/
 8034     123axbaxbaxbx456
 8035  0: axbaxbaxbx
 8036  1: x
 8037 
 8038 /(?:a(?&abc)b){2,5}(?<abc>x)/
 8039     123axbaxbaxbx456
 8040  0: axbaxbaxbx
 8041  1: x
 8042 
 8043 /(?:a(?&abc)b){2,}(?<abc>x)/
 8044     123axbaxbaxbx456
 8045  0: axbaxbaxbx
 8046  1: x
 8047 
 8048 /(abc)(?i:(?1))/
 8049    defabcabcxyz
 8050  0: abcabc
 8051  1: abc
 8052    DEFabcABCXYZ
 8053 No match
 8054 
 8055 /(abc)(?:(?i)(?1))/
 8056    defabcabcxyz
 8057  0: abcabc
 8058  1: abc
 8059    DEFabcABCXYZ
 8060 No match
 8061 
 8062 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/
 8063     ababababbbabZXXXX
 8064  0: ababababbbabZ
 8065  1: ab
 8066  2: b
 8067 
 8068 /^(a)\g-2/
 8069 Failed: reference to non-existent subpattern at offset 4
 8070 
 8071 /^(a)\g/
 8072 Failed: \g is not followed by an (optionally braced) non-zero number at offset 4
 8073 
 8074 /^(a)\g{0}/
 8075 Failed: \g is not followed by an (optionally braced) non-zero number at offset 4
 8076 
 8077 /^(a)\g{3/
 8078 Failed: \g is not followed by an (optionally braced) non-zero number at offset 4
 8079 
 8080 /^(a)\g{4a}/
 8081 Failed: \g is not followed by an (optionally braced) non-zero number at offset 4
 8082 
 8083 /^a.b/<lf>
 8084     a\rb
 8085  0: a\x0db
 8086     *** Failers
 8087 No match
 8088     a\nb
 8089 No match
 8090 
 8091 /.+foo/
 8092     afoo
 8093  0: afoo
 8094     ** Failers 
 8095 No match
 8096     \r\nfoo 
 8097 No match
 8098     \nfoo 
 8099 No match
 8100 
 8101 /.+foo/<crlf>
 8102     afoo
 8103  0: afoo
 8104     \nfoo 
 8105  0: \x0afoo
 8106     ** Failers 
 8107 No match
 8108     \r\nfoo 
 8109 No match
 8110 
 8111 /.+foo/<any>
 8112     afoo
 8113  0: afoo
 8114     ** Failers 
 8115 No match
 8116     \nfoo 
 8117 No match
 8118     \r\nfoo 
 8119 No match
 8120 
 8121 /.+foo/s
 8122     afoo
 8123  0: afoo
 8124     \r\nfoo 
 8125  0: \x0d\x0afoo
 8126     \nfoo 
 8127  0: \x0afoo
 8128 
 8129 / End of testinput2 /