/[pcre]/code/trunk/testdata/testoutput2
ViewVC logotype

Diff of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 43 by nigel, Sat Feb 24 21:39:21 2007 UTC revision 91 by nigel, Sat Feb 24 21:41:34 2007 UTC
# Line 1  Line 1 
 PCRE version 3.0 01-Feb-2000  
   
1  /(a)b|/  /(a)b|/
2  Capturing subpattern count = 1  Capturing subpattern count = 1
3  No options  No options
# Line 28  No match Line 26  No match
26  Capturing subpattern count = 0  Capturing subpattern count = 0
27  Options: anchored  Options: anchored
28  No first char  No first char
29  Need char = 'c'  No need char
30      abc      abc
31   0: abc   0: abc
32      \Aabc      \Aabc
# Line 42  No match Line 40  No match
40    
41  /a+bc/  /a+bc/
42  Capturing subpattern count = 0  Capturing subpattern count = 0
43    Partial matching not supported
44  No options  No options
45  First char = 'a'  First char = 'a'
46  Need char = 'c'  Need char = 'c'
47    
48  /a*bc/  /a*bc/
49  Capturing subpattern count = 0  Capturing subpattern count = 0
50    Partial matching not supported
51  No options  No options
52  No first char  No first char
53  Need char = 'c'  Need char = 'c'
54    
55  /a{3}bc/  /a{3}bc/
56  Capturing subpattern count = 0  Capturing subpattern count = 0
57    Partial matching not supported
58  No options  No options
59  First char = 'a'  First char = 'a'
60  Need char = 'c'  Need char = 'c'
61    
62  /(abc|a+z)/  /(abc|a+z)/
63  Capturing subpattern count = 1  Capturing subpattern count = 1
64    Partial matching not supported
65  No options  No options
66  First char = 'a'  First char = 'a'
67  No need char  No need char
# Line 68  No need char Line 70  No need char
70  Capturing subpattern count = 0  Capturing subpattern count = 0
71  Options: anchored  Options: anchored
72  No first char  No first char
73  Need char = 'c'  No need char
74      abc      abc
75   0: abc   0: abc
76      *** Failers      *** Failers
# Line 91  Failed: number too big in {} quantifier Line 93  Failed: number too big in {} quantifier
93  /[abcd/  /[abcd/
94  Failed: missing terminating ] for character class at offset 5  Failed: missing terminating ] for character class at offset 5
95    
96  /[\B]/  /(?X)[\B]/
97  Failed: invalid escape sequence in character class at offset 2  Failed: invalid escape sequence in character class at offset 6
   
 /[a-\w]/  
 Failed: invalid escape sequence in character class at offset 4  
98    
99  /[z-a]/  /[z-a]/
100  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
# Line 114  Failed: unrecognized character after (? Line 113  Failed: unrecognized character after (?
113    
114  /.*b/  /.*b/
115  Capturing subpattern count = 0  Capturing subpattern count = 0
116    Partial matching not supported
117  No options  No options
118  First char at start or follows \n  First char at start or follows newline
119  Need char = 'b'  Need char = 'b'
120    
121  /.*?b/  /.*?b/
122  Capturing subpattern count = 0  Capturing subpattern count = 0
123    Partial matching not supported
124  No options  No options
125  First char at start or follows \n  First char at start or follows newline
126  Need char = 'b'  Need char = 'b'
127    
128  /cat|dog|elephant/  /cat|dog|elephant/
# Line 139  Capturing subpattern count = 0 Line 140  Capturing subpattern count = 0
140  No options  No options
141  No first char  No first char
142  No need char  No need char
143  Starting character set: c d e  Starting byte set: c d e
144      this sentence eventually mentions a cat      this sentence eventually mentions a cat
145   0: cat   0: cat
146      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
# Line 150  Capturing subpattern count = 0 Line 151  Capturing subpattern count = 0
151  Options: caseless  Options: caseless
152  No first char  No first char
153  No need char  No need char
154  Starting character set: C D E c d e  Starting byte set: C D E c d e
155      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
156   0: CAT   0: CAT
157      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
# Line 161  Capturing subpattern count = 0 Line 162  Capturing subpattern count = 0
162  No options  No options
163  No first char  No first char
164  No need char  No need char
165  Starting character set: a b c d  Starting byte set: a b c d
166    
167  /(a|[^\dZ])/S  /(a|[^\dZ])/S
168  Capturing subpattern count = 1  Capturing subpattern count = 1
169  No options  No options
170  No first char  No first char
171  No need char  No need char
172  Starting character set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  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    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
174    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \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    ? @ 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
# Line 188  Capturing subpattern count = 1 Line 189  Capturing subpattern count = 1
189  No options  No options
190  No first char  No first char
191  No need char  No need char
192  Starting character set: \x09 \x0a \x0b \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
193    
194  /(ab\2)/  /(ab\2)/
195  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
196    
197  /{4,5}abc/  /{4,5}abc/
198  Failed: nothing to repeat at offset 4  Failed: nothing to repeat at offset 4
# Line 284  No match Line 285  No match
285  No match  No match
286    
287  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
288  Failed: back reference to non-existent subpattern at offset 17  Failed: reference to non-existent subpattern at offset 17
289    
290  /the quick brown fox/  /the quick brown fox/
291  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 300  Need char = 'x' Line 301  Need char = 'x'
301  Capturing subpattern count = 0  Capturing subpattern count = 0
302  Options: anchored  Options: anchored
303  No first char  No first char
304  Need char = 'x'  No need char
305      the quick brown fox      the quick brown fox
306   0: the quick brown fox   0: the quick brown fox
307      *** Failers      *** Failers
# Line 323  No need char Line 324  No need char
324    
325  /.*((abc)$|(def))/  /.*((abc)$|(def))/
326  Capturing subpattern count = 3  Capturing subpattern count = 3
327    Partial matching not supported
328  No options  No options
329  First char at start or follows \n  First char at start or follows newline
330  No need char  No need char
331      defabc      defabc
332   0: defabc   0: defabc
# Line 399  Failed: missing terminating ] for charac Line 401  Failed: missing terminating ] for charac
401    
402  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/
403  Capturing subpattern count = 0  Capturing subpattern count = 0
404    Partial matching not supported
405  No options  No options
406  No first char  No first char
407  No need char  No need char
# Line 407  No need char Line 410  No need char
410    
411  /<.*>/  /<.*>/
412  Capturing subpattern count = 0  Capturing subpattern count = 0
413    Partial matching not supported
414  No options  No options
415  First char = '<'  First char = '<'
416  Need char = '>'  Need char = '>'
# Line 415  Need char = '>' Line 419  Need char = '>'
419    
420  /<.*?>/  /<.*?>/
421  Capturing subpattern count = 0  Capturing subpattern count = 0
422    Partial matching not supported
423  No options  No options
424  First char = '<'  First char = '<'
425  Need char = '>'  Need char = '>'
# Line 423  Need char = '>' Line 428  Need char = '>'
428    
429  /<.*>/U  /<.*>/U
430  Capturing subpattern count = 0  Capturing subpattern count = 0
431    Partial matching not supported
432  Options: ungreedy  Options: ungreedy
433  First char = '<'  First char = '<'
434  Need char = '>'  Need char = '>'
435      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
436   0: <def>   0: <def>
437    
438  /<.*>(?U)/  /(?U)<.*>/
439  Capturing subpattern count = 0  Capturing subpattern count = 0
440    Partial matching not supported
441  Options: ungreedy  Options: ungreedy
442  First char = '<'  First char = '<'
443  Need char = '>'  Need char = '>'
# Line 439  Need char = '>' Line 446  Need char = '>'
446    
447  /<.*?>/U  /<.*?>/U
448  Capturing subpattern count = 0  Capturing subpattern count = 0
449    Partial matching not supported
450  Options: ungreedy  Options: ungreedy
451  First char = '<'  First char = '<'
452  Need char = '>'  Need char = '>'
# Line 447  Need char = '>' Line 455  Need char = '>'
455    
456  /={3,}/U  /={3,}/U
457  Capturing subpattern count = 0  Capturing subpattern count = 0
458    Partial matching not supported
459  Options: ungreedy  Options: ungreedy
460  First char = '='  First char = '='
461  Need char = '='  Need char = '='
# Line 455  Need char = '=' Line 464  Need char = '='
464    
465  /(?U)={3,}?/  /(?U)={3,}?/
466  Capturing subpattern count = 0  Capturing subpattern count = 0
467    Partial matching not supported
468  Options: ungreedy  Options: ungreedy
469  First char = '='  First char = '='
470  Need char = '='  Need char = '='
# Line 489  Failed: lookbehind assertion is not fixe Line 499  Failed: lookbehind assertion is not fixe
499  /(?i)abc/  /(?i)abc/
500  Capturing subpattern count = 0  Capturing subpattern count = 0
501  Options: caseless  Options: caseless
502  First char = 'a'  First char = 'a' (caseless)
503  Need char = 'c'  Need char = 'c' (caseless)
504    
505  /(a|(?m)a)/  /(a|(?m)a)/
506  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 502  No need char Line 512  No need char
512  Capturing subpattern count = 0  Capturing subpattern count = 0
513  Options: anchored caseless  Options: anchored caseless
514  No first char  No first char
515  Need char = '4'  No need char
516    
517  /(^b|(?i)^d)/  /(^b|(?i)^d)/
518  Capturing subpattern count = 1  Capturing subpattern count = 1
519  Options: anchored  Options: anchored
 Case state changes  
520  No first char  No first char
521  No need char  No need char
522    
523  /(?s).*/  /(?s).*/
524  Capturing subpattern count = 0  Capturing subpattern count = 0
525    Partial matching not supported
526  Options: anchored dotall  Options: anchored dotall
527  No first char  No first char
528  No need char  No need char
# Line 522  Capturing subpattern count = 0 Line 532  Capturing subpattern count = 0
532  No options  No options
533  No first char  No first char
534  No need char  No need char
535  Starting character set: a b c d  Starting byte set: a b c d
536    
537  /(?i)[abcd]/S  /(?i)[abcd]/S
538  Capturing subpattern count = 0  Capturing subpattern count = 0
539  Options: caseless  Options: caseless
540  No first char  No first char
541  No need char  No need char
542  Starting character set: A B C D a b c d  Starting byte set: A B C D a b c d
543    
544  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/S
545  Capturing subpattern count = 1  Capturing subpattern count = 1
546  Options: multiline  Options: multiline
547  No first char  No first char
548  No need char  No need char
549  Starting character set: b c x y  Starting byte set: b c x y
550    
551  /(^a|^b)/m  /(^a|^b)/m
552  Capturing subpattern count = 1  Capturing subpattern count = 1
553  Options: multiline  Options: multiline
554  First char at start or follows \n  First char at start or follows newline
555  No need char  No need char
556    
557  /(?i)(^a|^b)/m  /(?i)(^a|^b)/m
558  Capturing subpattern count = 1  Capturing subpattern count = 1
559  Options: caseless multiline  Options: caseless multiline
560  First char at start or follows \n  First char at start or follows newline
561  No need char  No need char
562    
563  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
# Line 557  Failed: conditional group contains more Line 567  Failed: conditional group contains more
567  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
568    
569  /(?(1a)/  /(?(1a)/
570  Failed: malformed number after (?( at offset 4  Failed: reference to non-existent subpattern at offset 6
571    
572  /(?(?i))/  /(?(?i))/
573  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
574    
575  /(?(abc))/  /(?(abc))/
576  Failed: assertion expected after (?( at offset 3  Failed: reference to non-existent subpattern at offset 7
577    
578  /(?(?<ab))/  /(?(?<ab))/
579  Failed: unrecognized character after (?< at offset 2  Failed: unrecognized character after (?< at offset 5
580    
581  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/
582  Capturing subpattern count = 1  Capturing subpattern count = 1
583  Max back reference = 1  Max back reference = 1
584    Partial matching not supported
585  No options  No options
586  First char = 'b'  First char = 'b'
587  Need char = 'h'  Need char = 'h'
# Line 578  Need char = 'h' Line 589  Need char = 'h'
589  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/
590  Capturing subpattern count = 1  Capturing subpattern count = 1
591  Max back reference = 1  Max back reference = 1
592    Partial matching not supported
593  No options  No options
594  Case state changes  First char = 'b' (caseless)
595  No first char  Need char = 'h' (caseless)
 Need char = 'h'  
596    
597  /((?i)b)/DS  /((?i)b)/DS
598  ------------------------------------------------------------------  ------------------------------------------------------------------
599    0  16 Bra 0    0  15 Bra 0
600    3   8 Bra 1    3   7 Bra 1
601    6  01 Opt    6  01 Opt
602    8   1 b    8  NC b
603   11   8 Ket   10   7 Ket
604   14  00 Opt   13  00 Opt
605   16  16 Ket   15  15 Ket
606   19     End   18     End
607  ------------------------------------------------------------------  ------------------------------------------------------------------
608  Capturing subpattern count = 1  Capturing subpattern count = 1
609  No options  No options
610  Case state changes  First char = 'b' (caseless)
611  No first char  No need char
612  Need char = 'b'  Study returned NULL
 Starting character set: B b  
613    
614  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/S
615  Capturing subpattern count = 1  Capturing subpattern count = 1
616    Partial matching not supported
617  No options  No options
 Case state changes  
618  No first char  No first char
619  No need char  No need char
620  Starting character set: C a b c d  Starting byte set: C a b c d
621    
622  /a$/  /a$/
623  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 645  No match Line 655  No match
655  Capturing subpattern count = 0  Capturing subpattern count = 0
656  Options: anchored multiline  Options: anchored multiline
657  No first char  No first char
658  Need char = 'c'  No need char
659    
660  /^abc/m  /^abc/m
661  Capturing subpattern count = 0  Capturing subpattern count = 0
662  Options: multiline  Options: multiline
663  First char at start or follows \n  First char at start or follows newline
664  Need char = 'c'  Need char = 'c'
665    
666  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
667  Capturing subpattern count = 5  Capturing subpattern count = 5
668    Partial matching not supported
669  Options: anchored  Options: anchored
670  No first char  No first char
671  Need char = 'a'  No need char
672    aaaaabbbbbcccccdef    aaaaabbbbbcccccdef
673   0: aaaaabbbbbcccccdef   0: aaaaabbbbbcccccdef
674   1: aaaaabbbbbcccccdef   1: aaaaabbbbbcccccdef
# Line 671  Capturing subpattern count = 0 Line 682  Capturing subpattern count = 0
682  No options  No options
683  No first char  No first char
684  No need char  No need char
685  Starting character set: a b  Starting byte set: a b
686    
687  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/S
688  Capturing subpattern count = 1  Capturing subpattern count = 1
689  No options  No options
690  No first char  No first char
691  Need char = 'a'  Need char = 'a'
692  Starting character set: a o  Starting byte set: a o
693    
694  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/S
695  Capturing subpattern count = 0  Capturing subpattern count = 0
696  No options  No options
697  No first char  No first char
698  No need char  No need char
699  Starting character set: a b  Starting byte set: a b
700    
701  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/m
702  Capturing subpattern count = 0  Capturing subpattern count = 0
703  Options: multiline  Options: multiline
704  First char at start or follows \n  No first char
705    Need char = 'r'
706        foo\nbarbar
707     0: bar
708        ***Failers
709    No match
710        rhubarb
711    No match
712        barbell
713    No match
714        abc\nbarton
715    No match
716    
717    /^(?<=foo\n)bar/m
718    Capturing subpattern count = 0
719    Options: multiline
720    First char at start or follows newline
721  Need char = 'r'  Need char = 'r'
722        foo\nbarbar
723     0: bar
724        ***Failers
725    No match
726        rhubarb
727    No match
728        barbell
729    No match
730        abc\nbarton
731    No match
732    
733  /(?>^abc)/m  /(?>^abc)/m
734  Capturing subpattern count = 0  Capturing subpattern count = 0
735  Options: multiline  Options: multiline
736  First char at start or follows \n  First char at start or follows newline
737  Need char = 'c'  Need char = 'c'
738      abc      abc
739   0: abc   0: abc
# Line 741  No match Line 778  No match
778  /(?<=ab(?i)x|y|z)/  /(?<=ab(?i)x|y|z)/
779  Capturing subpattern count = 0  Capturing subpattern count = 0
780  No options  No options
 Case state changes  
781  No first char  No first char
782  No need char  No need char
783    
784  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/
785  Capturing subpattern count = 2  Capturing subpattern count = 2
786    Partial matching not supported
787  No options  No options
788  First char at start or follows \n  First char at start or follows newline
789  No need char  No need char
790      alphabetabcd      alphabetabcd
791   0: alphabetabcd   0: alphabetabcd
# Line 761  No need char Line 798  No need char
798  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
799  Capturing subpattern count = 0  Capturing subpattern count = 0
800  No options  No options
 Case state changes  
801  First char = 'Z'  First char = 'Z'
802  Need char = 'Z'  Need char = 'Z'
803      abxyZZ      abxyZZ
# Line 828  Capturing subpattern count = 1 Line 864  Capturing subpattern count = 1
864  Max back reference = 1  Max back reference = 1
865  Options: anchored  Options: anchored
866  No first char  No first char
867  Need char = 'a'  No need char
868      aaaaaa      aaaaaa
869   0: aaaaaa   0: aaaaaa
870   1: aa   1: aa
# Line 867  Failed: nothing to repeat at offset 2 Line 903  Failed: nothing to repeat at offset 2
903  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
904    
905  /\1/  /\1/
906  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
907    
908  /\2/  /\2/
909  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
910    
911  /(a)|\2/  /(a)|\2/
912  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
913    
914  /a[b-a]/i  /a[b-a]/i
915  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
# Line 906  Failed: unmatched parentheses at offset Line 942  Failed: unmatched parentheses at offset
942  Failed: missing ) at offset 4  Failed: missing ) at offset 4
943    
944  /(?<%)b/  /(?<%)b/
945  Failed: unrecognized character after (?< at offset 0  Failed: unrecognized character after (?< at offset 3
946    
947  /a(?{)b/  /a(?{)b/
948  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
# Line 924  Failed: unrecognized character after (? Line 960  Failed: unrecognized character after (?
960  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
961    
962  /(?(1?)a|b)/  /(?(1?)a|b)/
963  Failed: malformed number after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
964    
965  /(?(1)a|b|c)/  /(?(1)a|b|c)/
966  Failed: conditional group contains more than two branches at offset 10  Failed: conditional group contains more than two branches at offset 10
# Line 969  copy substring 5 failed -7 Line 1005  copy substring 5 failed -7
1005    
1006  /(.{20})/  /(.{20})/
1007  Capturing subpattern count = 1  Capturing subpattern count = 1
1008    Partial matching not supported
1009  No options  No options
1010  No first char  No first char
1011  No need char  No need char
# Line 978  No need char Line 1015  No need char
1015      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
1016   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1017   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1018  copy substring 1 failed -6   1C abcdefghijklmnopqrst (20)
1019      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
1020   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1021   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
# Line 986  copy substring 1 failed -6 Line 1023  copy substring 1 failed -6
1023    
1024  /(.{15})/  /(.{15})/
1025  Capturing subpattern count = 1  Capturing subpattern count = 1
1026    Partial matching not supported
1027  No options  No options
1028  No first char  No first char
1029  No need char  No need char
# Line 1000  No need char Line 1038  No need char
1038    
1039  /(.{16})/  /(.{16})/
1040  Capturing subpattern count = 1  Capturing subpattern count = 1
1041    Partial matching not supported
1042  No options  No options
1043  No first char  No first char
1044  No need char  No need char
# Line 1009  No need char Line 1048  No need char
1048      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
1049   0: abcdefghijklmnop   0: abcdefghijklmnop
1050   1: abcdefghijklmnop   1: abcdefghijklmnop
1051  copy substring 1 failed -6   1C abcdefghijklmnop (16)
1052   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1053   0L abcdefghijklmnop   0L abcdefghijklmnop
1054   1L abcdefghijklmnop   1L abcdefghijklmnop
# Line 1018  copy substring 1 failed -6 Line 1057  copy substring 1 failed -6
1057  Capturing subpattern count = 3  Capturing subpattern count = 3
1058  Options: anchored  Options: anchored
1059  No first char  No first char
1060  Need char = 'f'  No need char
1061      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1062   0: adef   0: adef
1063   1: a   1: a
# Line 1056  get substring 4 failed -7 Line 1095  get substring 4 failed -7
1095  Capturing subpattern count = 0  Capturing subpattern count = 0
1096  Options: anchored  Options: anchored
1097  No first char  No first char
1098  Need char = 'f'  No need char
1099      abc\00def\L\C0      abc\00def\L\C0
1100   0: abc\x00def   0: abc\x00def
1101   0C abc (7)   0C abc (7)
# Line 1065  Need char = 'f' Line 1104  Need char = 'f'
1104  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1105  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1106  )?)?)?)?)?)?)?)?)?otherword/M  )?)?)?)?)?)?)?)?)?otherword/M
1107  Memory allocation (code space): 428  Memory allocation (code space): 432
1108  Capturing subpattern count = 8  Capturing subpattern count = 8
1109    Partial matching not supported
1110  No options  No options
1111  First char = 'w'  First char = 'w'
1112  Need char = 'd'  Need char = 'd'
1113    
1114  /.*X/D  /.*X/D
1115  ------------------------------------------------------------------  ------------------------------------------------------------------
1116    0   8 Bra 0    0   7 Bra 0
1117    3     Any*    3     Any*
1118    5   1 X    5     X
1119    8   8 Ket    7   7 Ket
1120   11     End   10     End
1121  ------------------------------------------------------------------  ------------------------------------------------------------------
1122  Capturing subpattern count = 0  Capturing subpattern count = 0
1123    Partial matching not supported
1124  No options  No options
1125  First char at start or follows \n  First char at start or follows newline
1126  Need char = 'X'  Need char = 'X'
1127    
1128  /.*X/Ds  /.*X/Ds
1129  ------------------------------------------------------------------  ------------------------------------------------------------------
1130    0   8 Bra 0    0   7 Bra 0
1131    3     Any*    3     Any*
1132    5   1 X    5     X
1133    8   8 Ket    7   7 Ket
1134   11     End   10     End
1135  ------------------------------------------------------------------  ------------------------------------------------------------------
1136  Capturing subpattern count = 0  Capturing subpattern count = 0
1137    Partial matching not supported
1138  Options: anchored dotall  Options: anchored dotall
1139  No first char  No first char
1140  Need char = 'X'  Need char = 'X'
1141    
1142  /(.*X|^B)/D  /(.*X|^B)/D
1143  ------------------------------------------------------------------  ------------------------------------------------------------------
1144    0  21 Bra 0    0  19 Bra 0
1145    3   8 Bra 1    3   7 Bra 1
1146    6     Any*    6     Any*
1147    8   1 X    8     X
1148   11   7 Alt   10   6 Alt
1149   14     ^   13     ^
1150   15   1 B   14     B
1151   18  15 Ket   16  13 Ket
1152   21  21 Ket   19  19 Ket
1153   24     End   22     End
1154  ------------------------------------------------------------------  ------------------------------------------------------------------
1155  Capturing subpattern count = 1  Capturing subpattern count = 1
1156    Partial matching not supported
1157  No options  No options
1158  First char at start or follows \n  First char at start or follows newline
1159  No need char  No need char
1160    
1161  /(.*X|^B)/Ds  /(.*X|^B)/Ds
1162  ------------------------------------------------------------------  ------------------------------------------------------------------
1163    0  21 Bra 0    0  19 Bra 0
1164    3   8 Bra 1    3   7 Bra 1
1165    6     Any*    6     Any*
1166    8   1 X    8     X
1167   11   7 Alt   10   6 Alt
1168   14     ^   13     ^
1169   15   1 B   14     B
1170   18  15 Ket   16  13 Ket
1171   21  21 Ket   19  19 Ket
1172   24     End   22     End
1173  ------------------------------------------------------------------  ------------------------------------------------------------------
1174  Capturing subpattern count = 1  Capturing subpattern count = 1
1175    Partial matching not supported
1176  Options: anchored dotall  Options: anchored dotall
1177  No first char  No first char
1178  No need char  No need char
1179    
1180  /(?s)(.*X|^B)/D  /(?s)(.*X|^B)/D
1181  ------------------------------------------------------------------  ------------------------------------------------------------------
1182    0  21 Bra 0    0  19 Bra 0
1183    3   8 Bra 1    3   7 Bra 1
1184    6     Any*    6     Any*
1185    8   1 X    8     X
1186   11   7 Alt   10   6 Alt
1187   14     ^   13     ^
1188   15   1 B   14     B
1189   18  15 Ket   16  13 Ket
1190   21  21 Ket   19  19 Ket
1191   24     End   22     End
1192  ------------------------------------------------------------------  ------------------------------------------------------------------
1193  Capturing subpattern count = 1  Capturing subpattern count = 1
1194    Partial matching not supported
1195  Options: anchored dotall  Options: anchored dotall
1196  No first char  No first char
1197  No need char  No need char
1198    
1199  /(?s:.*X|^B)/D  /(?s:.*X|^B)/D
1200  ------------------------------------------------------------------  ------------------------------------------------------------------
1201    0  27 Bra 0    0  25 Bra 0
1202    3  10 Bra 0    3   9 Bra 0
1203    6  04 Opt    6  04 Opt
1204    8     Any*    8     Any*
1205   10   1 X   10     X
1206   13   9 Alt   12   8 Alt
1207   16  04 Opt   15  04 Opt
1208   18     ^   17     ^
1209   19   1 B   18     B
1210   22  19 Ket   20  17 Ket
1211   25  00 Opt   23  00 Opt
1212   27  27 Ket   25  25 Ket
1213   30     End   28     End
1214  ------------------------------------------------------------------  ------------------------------------------------------------------
1215  Capturing subpattern count = 0  Capturing subpattern count = 0
1216    Partial matching not supported
1217  No options  No options
1218  First char at start or follows \n  First char at start or follows newline
1219  No need char  No need char
1220    
1221  /\Biss\B/+  /\Biss\B/+
# Line 1245  Need char = 's' Line 1291  Need char = 's'
1291  Capturing subpattern count = 0  Capturing subpattern count = 0
1292  Options: anchored  Options: anchored
1293  No first char  No first char
1294  Need char = 's'  No need char
1295      ississippi      ississippi
1296   0: iss   0: iss
1297   0+ issippi   0+ issippi
1298    
1299  /.*iss/g+  /.*iss/g+
1300  Capturing subpattern count = 0  Capturing subpattern count = 0
1301    Partial matching not supported
1302  No options  No options
1303  First char at start or follows \n  First char at start or follows newline
1304  Need char = 's'  Need char = 's'
1305      abciss\nxyzisspqr      abciss\nxyzisspqr
1306   0: abciss   0: abciss
# Line 1295  Need char = 'i' Line 1342  Need char = 'i'
1342  Capturing subpattern count = 0  Capturing subpattern count = 0
1343  Options: anchored  Options: anchored
1344  No first char  No first char
1345  Need char = 's'  No need char
1346      Mississippi      Mississippi
1347   0: Mis   0: Mis
1348   0+ sissippi   0+ sissippi
# Line 1304  Need char = 's' Line 1351  Need char = 's'
1351  Capturing subpattern count = 0  Capturing subpattern count = 0
1352  Options: anchored  Options: anchored
1353  No first char  No first char
1354  Need char = 10  No need char
1355      ab\nab\ncd      ab\nab\ncd
1356   0: ab\x0a   0: ab\x0a
1357   0+ ab\x0acd   0+ ab\x0acd
# Line 1312  Need char = 10 Line 1359  Need char = 10
1359  /^ab\n/mg+  /^ab\n/mg+
1360  Capturing subpattern count = 0  Capturing subpattern count = 0
1361  Options: multiline  Options: multiline
1362  First char at start or follows \n  First char at start or follows newline
1363  Need char = 10  Need char = 10
1364      ab\nab\ncd      ab\nab\ncd
1365   0: ab\x0a   0: ab\x0a
# Line 1352  Need char = 'c' Line 1399  Need char = 'c'
1399    
1400  /a*/  /a*/
1401  Capturing subpattern count = 0  Capturing subpattern count = 0
1402    Partial matching not supported
1403  No options  No options
1404  No first char  No first char
1405  No need char  No need char
1406    
1407  /a+/  /a+/
1408  Capturing subpattern count = 0  Capturing subpattern count = 0
1409    Partial matching not supported
1410  No options  No options
1411  First char = 'a'  First char = 'a'
1412  No need char  No need char
1413    
1414  /(baa|a+)/  /(baa|a+)/
1415  Capturing subpattern count = 1  Capturing subpattern count = 1
1416    Partial matching not supported
1417  No options  No options
1418  No first char  No first char
1419  Need char = 'a'  Need char = 'a'
1420    
1421  /a{0,3}/  /a{0,3}/
1422  Capturing subpattern count = 0  Capturing subpattern count = 0
1423    Partial matching not supported
1424  No options  No options
1425  No first char  No first char
1426  No need char  No need char
1427    
1428  /baa{3,}/  /baa{3,}/
1429  Capturing subpattern count = 0  Capturing subpattern count = 0
1430    Partial matching not supported
1431  No options  No options
1432  First char = 'b'  First char = 'b'
1433  Need char = 'a'  Need char = 'a'
1434    
1435  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/
1436  Capturing subpattern count = 1  Capturing subpattern count = 1
1437    Partial matching not supported
1438  No options  No options
1439  First char = '"'  First char = '"'
1440  Need char = '"'  Need char = '"'
# Line 1436  Need char = 'b' Line 1489  Need char = 'b'
1489    
1490  /abc*/  /abc*/
1491  Capturing subpattern count = 0  Capturing subpattern count = 0
1492    Partial matching not supported
1493  No options  No options
1494  First char = 'a'  First char = 'a'
1495  Need char = 'b'  Need char = 'b'
1496    
1497  /ab.c*/  /ab.c*/
1498  Capturing subpattern count = 0  Capturing subpattern count = 0
1499    Partial matching not supported
1500  No options  No options
1501  First char = 'a'  First char = 'a'
1502  Need char = 'b'  Need char = 'b'
1503    
1504  /a.c*/  /a.c*/
1505  Capturing subpattern count = 0  Capturing subpattern count = 0
1506    Partial matching not supported
1507  No options  No options
1508  First char = 'a'  First char = 'a'
1509  No need char  No need char
1510    
1511  /.c*/  /.c*/
1512  Capturing subpattern count = 0  Capturing subpattern count = 0
1513    Partial matching not supported
1514  No options  No options
1515  No first char  No first char
1516  No need char  No need char
1517    
1518  /ac*/  /ac*/
1519  Capturing subpattern count = 0  Capturing subpattern count = 0
1520    Partial matching not supported
1521  No options  No options
1522  First char = 'a'  First char = 'a'
1523  No need char  No need char
1524    
1525  /(a.c*|b.c*)/  /(a.c*|b.c*)/
1526  Capturing subpattern count = 1  Capturing subpattern count = 1
1527    Partial matching not supported
1528  No options  No options
1529  No first char  No first char
1530  No need char  No need char
1531    
1532  /a.c*|aba/  /a.c*|aba/
1533  Capturing subpattern count = 0  Capturing subpattern count = 0
1534    Partial matching not supported
1535  No options  No options
1536  First char = 'a'  First char = 'a'
1537  No need char  No need char
1538    
1539  /.+a/  /.+a/
1540  Capturing subpattern count = 0  Capturing subpattern count = 0
1541    Partial matching not supported
1542  No options  No options
1543  No first char  No first char
1544  Need char = 'a'  Need char = 'a'
1545    
1546  /(?=abcda)a.*/  /(?=abcda)a.*/
1547  Capturing subpattern count = 0  Capturing subpattern count = 0
1548    Partial matching not supported
1549  No options  No options
1550  First char = 'a'  First char = 'a'
1551  No need char  Need char = 'a'
1552    
1553  /(?=a)a.*/  /(?=a)a.*/
1554  Capturing subpattern count = 0  Capturing subpattern count = 0
1555    Partial matching not supported
1556  No options  No options
1557  First char = 'a'  First char = 'a'
1558  No need char  No need char
# Line 1502  No need char Line 1565  No need char
1565    
1566  /a\d*/  /a\d*/
1567  Capturing subpattern count = 0  Capturing subpattern count = 0
1568    Partial matching not supported
1569  No options  No options
1570  First char = 'a'  First char = 'a'
1571  No need char  No need char
1572    
1573  /ab\d*/  /ab\d*/
1574  Capturing subpattern count = 0  Capturing subpattern count = 0
1575    Partial matching not supported
1576  No options  No options
1577  First char = 'a'  First char = 'a'
1578  Need char = 'b'  Need char = 'b'
# Line 1526  Need char = 'd' Line 1591  Need char = 'd'
1591    
1592  /ab\d+/  /ab\d+/
1593  Capturing subpattern count = 0  Capturing subpattern count = 0
1594    Partial matching not supported
1595  No options  No options
1596  First char = 'a'  First char = 'a'
1597  Need char = 'b'  Need char = 'b'
# Line 1643  Study returned NULL Line 1709  Study returned NULL
1709    \)            # Closing )    \)            # Closing )
1710    /x    /x
1711  Capturing subpattern count = 0  Capturing subpattern count = 0
1712    Partial matching not supported
1713  Options: extended  Options: extended
1714  First char = '('  First char = '('
1715  Need char = ')'  Need char = ')'
# Line 1671  No match Line 1738  No match
1738    
1739  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /xg
1740  Capturing subpattern count = 1  Capturing subpattern count = 1
1741    Partial matching not supported
1742  Options: extended  Options: extended
1743  First char = '('  First char = '('
1744  Need char = ')'  Need char = ')'
# Line 1685  Need char = ')' Line 1753  Need char = ')'
1753    
1754  /\(  (?: (?>[^()]+) | (?R) ) \) /x  /\(  (?: (?>[^()]+) | (?R) ) \) /x
1755  Capturing subpattern count = 0  Capturing subpattern count = 0
1756    Partial matching not supported
1757  Options: extended  Options: extended
1758  First char = '('  First char = '('
1759  Need char = ')'  Need char = ')'
# Line 1703  No match Line 1772  No match
1772    
1773  /\(  (?: (?>[^()]+) | (?R) )? \) /x  /\(  (?: (?>[^()]+) | (?R) )? \) /x
1774  Capturing subpattern count = 0  Capturing subpattern count = 0
1775    Partial matching not supported
1776  Options: extended  Options: extended
1777  First char = '('  First char = '('
1778  Need char = ')'  Need char = ')'
# Line 1713  Need char = ')' Line 1783  Need char = ')'
1783    
1784  /\(  ( (?>[^()]+) | (?R) )* \) /x  /\(  ( (?>[^()]+) | (?R) )* \) /x
1785  Capturing subpattern count = 1  Capturing subpattern count = 1
1786    Partial matching not supported
1787  Options: extended  Options: extended
1788  First char = '('  First char = '('
1789  Need char = ')'  Need char = ')'
# Line 1722  Need char = ')' Line 1793  Need char = ')'
1793    
1794  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x
1795  Capturing subpattern count = 2  Capturing subpattern count = 2
1796    Partial matching not supported
1797  Options: extended  Options: extended
1798  First char = '('  First char = '('
1799  Need char = ')'  Need char = ')'
# Line 1732  Need char = ')' Line 1804  Need char = ')'
1804    
1805  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
1806  Capturing subpattern count = 3  Capturing subpattern count = 3
1807    Partial matching not supported
1808  Options: extended  Options: extended
1809  First char = '('  First char = '('
1810  Need char = ')'  Need char = ')'
# Line 1748  Need char = ')' Line 1821  Need char = ')'
1821    
1822  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
1823  Capturing subpattern count = 3  Capturing subpattern count = 3
1824    Partial matching not supported
1825  Options: extended  Options: extended
1826  First char = '('  First char = '('
1827  Need char = ')'  Need char = ')'
# Line 1764  Need char = ')' Line 1838  Need char = ')'
1838    
1839  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
1840  Capturing subpattern count = 11  Capturing subpattern count = 11
1841    Partial matching not supported
1842  Options: extended  Options: extended
1843  First char = '('  First char = '('
1844  Need char = ')'  Need char = ')'
# Line 1783  Need char = ')' Line 1858  Need char = ')'
1858    
1859  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
1860  Capturing subpattern count = 3  Capturing subpattern count = 3
1861    Partial matching not supported
1862  Options: extended  Options: extended
1863  First char = '('  First char = '('
1864  Need char = ')'  Need char = ')'
# Line 1790  Need char = ')' Line 1866  Need char = ')'
1866   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1867   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1868   2: 123   2: 123
1869   3: <p>qrs   3: <unset>
1870    
1871  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
1872  Capturing subpattern count = 3  Capturing subpattern count = 3
1873    Partial matching not supported
1874  Options: extended  Options: extended
1875  First char = '('  First char = '('
1876  Need char = ')'  Need char = ')'
# Line 1821  Options: anchored Line 1898  Options: anchored
1898  No first char  No first char
1899  No need char  No need char
1900    
1901    /^[[:^alnum:]]/D
1902    ------------------------------------------------------------------
1903      0  37 Bra 0
1904      3     ^
1905      4     [\x00-/:-@[-`{-\xff]
1906     37  37 Ket
1907     40     End
1908    ------------------------------------------------------------------
1909    Capturing subpattern count = 0
1910    Options: anchored
1911    No first char
1912    No need char
1913    
1914  /^[[:alpha:]]/D  /^[[:alpha:]]/D
1915  ------------------------------------------------------------------  ------------------------------------------------------------------
1916    0  37 Bra 0    0  37 Bra 0
# Line 1833  Capturing subpattern count = 0 Line 1923  Capturing subpattern count = 0
1923  Options: anchored  Options: anchored
1924  No first char  No first char
1925  No need char  No need char
1926    
1927    /^[[:^alpha:]]/D
1928    ------------------------------------------------------------------
1929      0  37 Bra 0
1930      3     ^
1931      4     [\x00-@[-`{-\xff]
1932     37  37 Ket
1933     40     End
1934    ------------------------------------------------------------------
1935    Capturing subpattern count = 0
1936    Options: anchored
1937    No first char
1938    No need char
1939    
1940    /[_[:alpha:]]/IS
1941    Capturing subpattern count = 0
1942    No options
1943    No first char
1944    No need char
1945    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
1946      _ 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
1947    
1948  /^[[:ascii:]]/D  /^[[:ascii:]]/D
1949  ------------------------------------------------------------------  ------------------------------------------------------------------
1950    0  37 Bra 0    0  37 Bra 0
# Line 1847  Options: anchored Line 1958  Options: anchored
1958  No first char  No first char
1959  No need char  No need char
1960    
1961    /^[[:^ascii:]]/D
1962    ------------------------------------------------------------------
1963      0  37 Bra 0
1964      3     ^
1965      4     [\x80-\xff]
1966     37  37 Ket
1967     40     End
1968    ------------------------------------------------------------------
1969    Capturing subpattern count = 0
1970    Options: anchored
1971    No first char
1972    No need char
1973    
1974    /^[[:blank:]]/D
1975    ------------------------------------------------------------------
1976      0  37 Bra 0
1977      3     ^
1978      4     [\x09 ]
1979     37  37 Ket
1980     40     End
1981    ------------------------------------------------------------------
1982    Capturing subpattern count = 0
1983    Options: anchored
1984    No first char
1985    No need char
1986    
1987    /^[[:^blank:]]/D
1988    ------------------------------------------------------------------
1989      0  37 Bra 0
1990      3     ^
1991      4     [\x00-\x08\x0a-\x1f!-\xff]
1992     37  37 Ket
1993     40     End
1994    ------------------------------------------------------------------
1995    Capturing subpattern count = 0
1996    Options: anchored
1997    No first char
1998    No need char
1999    
2000    /[\n\x0b\x0c\x0d[:blank:]]/IS
2001    Capturing subpattern count = 0
2002    No options
2003    No first char
2004    No need char
2005    Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2006    
2007  /^[[:cntrl:]]/D  /^[[:cntrl:]]/D
2008  ------------------------------------------------------------------  ------------------------------------------------------------------
2009    0  37 Bra 0    0  37 Bra 0
# Line 1994  No need char Line 2151  No need char
2151  ------------------------------------------------------------------  ------------------------------------------------------------------
2152    0  37 Bra 0    0  37 Bra 0
2153    3     ^    3     ^
2154    4     [\x00-/1-2:-\xff]    4     [\x00-/12:-\xff]
2155     37  37 Ket
2156     40     End
2157    ------------------------------------------------------------------
2158    Capturing subpattern count = 0
2159    Options: anchored
2160    No first char
2161    No need char
2162    
2163    /^[[:^blank:]]/D
2164    ------------------------------------------------------------------
2165      0  37 Bra 0
2166      3     ^
2167      4     [\x00-\x08\x0a-\x1f!-\xff]
2168   37  37 Ket   37  37 Ket
2169   40     End   40     End
2170  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2006  No need char Line 2176  No need char
2176  /[01[:alpha:]%]/D  /[01[:alpha:]%]/D
2177  ------------------------------------------------------------------  ------------------------------------------------------------------
2178    0  36 Bra 0    0  36 Bra 0
2179    3     [%0-1A-Za-z]    3     [%01A-Za-z]
2180   36  36 Ket   36  36 Ket
2181   39     End   39     End
2182  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2047  No need char Line 2217  No need char
2217  /((?-i)[[:lower:]])[[:lower:]]/i  /((?-i)[[:lower:]])[[:lower:]]/i
2218  Capturing subpattern count = 1  Capturing subpattern count = 1
2219  Options: caseless  Options: caseless
 Case state changes  
2220  No first char  No first char
2221  No need char  No need char
2222      ab      ab
# Line 2064  No match Line 2233  No match
2233      AB      AB
2234  No match  No match
2235    
2236  / End of test input /  /[\200-\110]/
2237    Failed: range out of order in character class at offset 9
2238    
2239    /^(?(0)f|b)oo/
2240    Failed: invalid condition (?(0) at offset 6
2241    
2242    /This one's here because of the large output vector needed/
2243  Capturing subpattern count = 0  Capturing subpattern count = 0
2244  No options  No options
2245  First char = ' '  First char = 'T'
2246  Need char = ' '  Need char = 'd'
2247    
2248    /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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)/
2249    Capturing subpattern count = 271
2250    Max back reference = 270
2251    Partial matching not supported
2252    No options
2253    No first char
2254    No need char
2255        \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
2256     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
2257     1: 1
2258     2: 2
2259     3: 3
2260     4: 4
2261     5: 5
2262     6: 6
2263     7: 7
2264     8: 8
2265     9: 9
2266    10: 10
2267    11: 11
2268    12: 12
2269    13: 13
2270    14: 14
2271    15: 15
2272    16: 16
2273    17: 17
2274    18: 18
2275    19: 19
2276    20: 20
2277    21: 21
2278    22: 22
2279    23: 23
2280    24: 24
2281    25: 25
2282    26: 26
2283    27: 27
2284    28: 28
2285    29: 29
2286    30: 30
2287    31: 31
2288    32: 32
2289    33: 33
2290    34: 34
2291    35: 35
2292    36: 36
2293    37: 37
2294    38: 38
2295    39: 39
2296    40: 40
2297    41: 41
2298    42: 42
2299    43: 43
2300    44: 44
2301    45: 45
2302    46: 46
2303    47: 47
2304    48: 48
2305    49: 49
2306    50: 50
2307    51: 51
2308    52: 52
2309    53: 53
2310    54: 54
2311    55: 55
2312    56: 56
2313    57: 57
2314    58: 58
2315    59: 59
2316    60: 60
2317    61: 61
2318    62: 62
2319    63: 63
2320    64: 64
2321    65: 65
2322    66: 66
2323    67: 67
2324    68: 68
2325    69: 69
2326    70: 70
2327    71: 71
2328    72: 72
2329    73: 73
2330    74: 74
2331    75: 75
2332    76: 76
2333    77: 77
2334    78: 78
2335    79: 79
2336    80: 80
2337    81: 81
2338    82: 82
2339    83: 83
2340    84: 84
2341    85: 85
2342    86: 86
2343    87: 87
2344    88: 88
2345    89: 89
2346    90: 90
2347    91: 91
2348    92: 92
2349    93: 93
2350    94: 94
2351    95: 95
2352    96: 96
2353    97: 97
2354    98: 98
2355    99: 99
2356    100: 100
2357    101: 101
2358    102: 102
2359    103: 103
2360    104: 104
2361    105: 105
2362    106: 106
2363    107: 107
2364    108: 108
2365    109: 109
2366    110: 110
2367    111: 111
2368    112: 112
2369    113: 113
2370    114: 114
2371    115: 115
2372    116: 116
2373    117: 117
2374    118: 118
2375    119: 119
2376    120: 120
2377    121: 121
2378    122: 122
2379    123: 123
2380    124: 124
2381    125: 125
2382    126: 126
2383    127: 127
2384    128: 128
2385    129: 129
2386    130: 130
2387    131: 131
2388    132: 132
2389    133: 133
2390    134: 134
2391    135: 135
2392    136: 136
2393    137: 137
2394    138: 138
2395    139: 139
2396    140: 140
2397    141: 141
2398    142: 142
2399    143: 143
2400    144: 144
2401    145: 145
2402    146: 146
2403    147: 147
2404    148: 148
2405    149: 149
2406    150: 150
2407    151: 151
2408    152: 152
2409    153: 153
2410    154: 154
2411    155: 155
2412    156: 156
2413    157: 157
2414    158: 158
2415    159: 159
2416    160: 160
2417    161: 161
2418    162: 162
2419    163: 163
2420    164: 164
2421    165: 165
2422    166: 166
2423    167: 167
2424    168: 168
2425    169: 169
2426    170: 170
2427    171: 171
2428    172: 172
2429    173: 173
2430    174: 174
2431    175: 175
2432    176: 176
2433    177: 177
2434    178: 178
2435    179: 179
2436    180: 180
2437    181: 181
2438    182: 182
2439    183: 183
2440    184: 184
2441    185: 185
2442    186: 186
2443    187: 187
2444    188: 188
2445    189: 189
2446    190: 190
2447    191: 191
2448    192: 192
2449    193: 193
2450    194: 194
2451    195: 195
2452    196: 196
2453    197: 197
2454    198: 198
2455    199: 199
2456    200: 200
2457    201: 201
2458    202: 202
2459    203: 203
2460    204: 204
2461    205: 205
2462    206: 206
2463    207: 207
2464    208: 208
2465    209: 209
2466    210: 210
2467    211: 211
2468    212: 212
2469    213: 213
2470    214: 214
2471    215: 215
2472    216: 216
2473    217: 217
2474    218: 218
2475    219: 219
2476    220: 220
2477    221: 221
2478    222: 222
2479    223: 223
2480    224: 224
2481    225: 225
2482    226: 226
2483    227: 227
2484    228: 228
2485    229: 229
2486    230: 230
2487    231: 231
2488    232: 232
2489    233: 233
2490    234: 234
2491    235: 235
2492    236: 236
2493    237: 237
2494    238: 238
2495    239: 239
2496    240: 240
2497    241: 241
2498    242: 242
2499    243: 243
2500    244: 244
2501    245: 245
2502    246: 246
2503    247: 247
2504    248: 248
2505    249: 249
2506    250: 250
2507    251: 251
2508    252: 252
2509    253: 253
2510    254: 254
2511    255: 255
2512    256: 256
2513    257: 257
2514    258: 258
2515    259: 259
2516    260: 260
2517    261: 261
2518    262: 262
2519    263: 263
2520    264: 264
2521    265: 265
2522    266: 266
2523    267: 267
2524    268: 268
2525    269: 269
2526    270: ABC
2527    271: ABC
2528    
2529    /This one's here because Perl does this differently and PCRE can't at present/
2530    Capturing subpattern count = 0
2531    No options
2532    First char = 'T'
2533    Need char = 't'
2534    
2535    /(main(O)?)+/
2536    Capturing subpattern count = 2
2537    No options
2538    First char = 'm'
2539    Need char = 'n'
2540        mainmain
2541     0: mainmain
2542     1: main
2543        mainOmain
2544     0: mainOmain
2545     1: main
2546     2: O
2547    
2548    /These are all cases where Perl does it differently (nested captures)/
2549    Capturing subpattern count = 1
2550    No options
2551    First char = 'T'
2552    Need char = 's'
2553    
2554    /^(a(b)?)+$/
2555    Capturing subpattern count = 2
2556    Options: anchored
2557    No first char
2558    No need char
2559        aba
2560     0: aba
2561     1: a
2562     2: b
2563    
2564    /^(aa(bb)?)+$/
2565    Capturing subpattern count = 2
2566    Options: anchored
2567    No first char
2568    No need char
2569        aabbaa
2570     0: aabbaa
2571     1: aa
2572     2: bb
2573    
2574    /^(aa|aa(bb))+$/
2575    Capturing subpattern count = 2
2576    Options: anchored
2577    No first char
2578    No need char
2579        aabbaa
2580     0: aabbaa
2581     1: aa
2582     2: bb
2583    
2584    /^(aa(bb)??)+$/
2585    Capturing subpattern count = 2
2586    Options: anchored
2587    No first char
2588    No need char
2589        aabbaa
2590     0: aabbaa
2591     1: aa
2592     2: bb
2593    
2594    /^(?:aa(bb)?)+$/
2595    Capturing subpattern count = 1
2596    Options: anchored
2597    No first char
2598    No need char
2599        aabbaa
2600     0: aabbaa
2601     1: bb
2602    
2603    /^(aa(b(b))?)+$/
2604    Capturing subpattern count = 3
2605    Options: anchored
2606    No first char
2607    No need char
2608        aabbaa
2609     0: aabbaa
2610     1: aa
2611     2: bb
2612     3: b
2613    
2614    /^(?:aa(b(b))?)+$/
2615    Capturing subpattern count = 2
2616    Options: anchored
2617    No first char
2618    No need char
2619        aabbaa
2620     0: aabbaa
2621     1: bb
2622     2: b
2623    
2624    /^(?:aa(b(?:b))?)+$/
2625    Capturing subpattern count = 1
2626    Options: anchored
2627    No first char
2628    No need char
2629        aabbaa
2630     0: aabbaa
2631     1: bb
2632    
2633    /^(?:aa(bb(?:b))?)+$/
2634    Capturing subpattern count = 1
2635    Options: anchored
2636    No first char
2637    No need char
2638        aabbbaa
2639     0: aabbbaa
2640     1: bbb
2641    
2642    /^(?:aa(b(?:bb))?)+$/
2643    Capturing subpattern count = 1
2644    Options: anchored
2645    No first char
2646    No need char
2647        aabbbaa
2648     0: aabbbaa
2649     1: bbb
2650    
2651    /^(?:aa(?:b(b))?)+$/
2652    Capturing subpattern count = 1
2653    Options: anchored
2654    No first char
2655    No need char
2656        aabbaa
2657     0: aabbaa
2658     1: b
2659    
2660    /^(?:aa(?:b(bb))?)+$/
2661    Capturing subpattern count = 1
2662    Options: anchored
2663    No first char
2664    No need char
2665        aabbbaa
2666     0: aabbbaa
2667     1: bb
2668    
2669    /^(aa(b(bb))?)+$/
2670    Capturing subpattern count = 3
2671    Options: anchored
2672    No first char
2673    No need char
2674        aabbbaa
2675     0: aabbbaa
2676     1: aa
2677     2: bbb
2678     3: bb
2679    
2680    /^(aa(bb(bb))?)+$/
2681    Capturing subpattern count = 3
2682    Options: anchored
2683    No first char
2684    No need char
2685        aabbbbaa
2686     0: aabbbbaa
2687     1: aa
2688     2: bbbb
2689     3: bb
2690    
2691    /--------------------------------------------------------------------/
2692    Capturing subpattern count = 0
2693    No options
2694    First char = '-'
2695    Need char = '-'
2696    
2697    /#/xMD
2698    Memory allocation (code space): 7
2699    ------------------------------------------------------------------
2700      0   3 Bra 0
2701      3   3 Ket
2702      6     End
2703    ------------------------------------------------------------------
2704    Capturing subpattern count = 0
2705    Options: extended
2706    No first char
2707    No need char
2708    
2709    /a#/xMD
2710    Memory allocation (code space): 9
2711    ------------------------------------------------------------------
2712      0   5 Bra 0
2713      3     a
2714      5   5 Ket
2715      8     End
2716    ------------------------------------------------------------------
2717    Capturing subpattern count = 0
2718    Options: extended
2719    First char = 'a'
2720    No need char
2721    
2722    /[\s]/D
2723    ------------------------------------------------------------------
2724      0  36 Bra 0
2725      3     [\x09\x0a\x0c\x0d ]
2726     36  36 Ket
2727     39     End
2728    ------------------------------------------------------------------
2729    Capturing subpattern count = 0
2730    No options
2731    No first char
2732    No need char
2733    
2734    /[\S]/D
2735    ------------------------------------------------------------------
2736      0  36 Bra 0
2737      3     [\x00-\x08\x0b\x0e-\x1f!-\xff]
2738     36  36 Ket
2739     39     End
2740    ------------------------------------------------------------------
2741    Capturing subpattern count = 0
2742    No options
2743    No first char
2744    No need char
2745    
2746    /a(?i)b/D
2747    ------------------------------------------------------------------
2748      0   9 Bra 0
2749      3     a
2750      5  01 Opt
2751      7  NC b
2752      9   9 Ket
2753     12     End
2754    ------------------------------------------------------------------
2755    Capturing subpattern count = 0
2756    No options
2757    First char = 'a'
2758    Need char = 'b' (caseless)
2759        ab
2760     0: ab
2761        aB
2762     0: aB
2763        *** Failers
2764    No match
2765        AB
2766    No match
2767    
2768    /(a(?i)b)/D
2769    ------------------------------------------------------------------
2770      0  17 Bra 0
2771      3   9 Bra 1
2772      6     a
2773      8  01 Opt
2774     10  NC b
2775     12   9 Ket
2776     15  00 Opt
2777     17  17 Ket
2778     20     End
2779    ------------------------------------------------------------------
2780    Capturing subpattern count = 1
2781    No options
2782    First char = 'a'
2783    Need char = 'b' (caseless)
2784        ab
2785     0: ab
2786     1: ab
2787        aB
2788     0: aB
2789     1: aB
2790        *** Failers
2791    No match
2792        AB
2793    No match
2794    
2795    /   (?i)abc/xD
2796    ------------------------------------------------------------------
2797      0   9 Bra 0
2798      3  NC abc
2799      9   9 Ket
2800     12     End
2801    ------------------------------------------------------------------
2802    Capturing subpattern count = 0
2803    Options: caseless extended
2804    First char = 'a' (caseless)
2805    Need char = 'c' (caseless)
2806    
2807    /#this is a comment
2808      (?i)abc/xD
2809    ------------------------------------------------------------------
2810      0   9 Bra 0
2811      3  NC abc
2812      9   9 Ket
2813     12     End
2814    ------------------------------------------------------------------
2815    Capturing subpattern count = 0
2816    Options: caseless extended
2817    First char = 'a' (caseless)
2818    Need char = 'c' (caseless)
2819    
2820    /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2821    ------------------------------------------------------------------
2822      0 603 Bra 0
2823      3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2824    603 603 Ket
2825    606     End
2826    ------------------------------------------------------------------
2827    Capturing subpattern count = 0
2828    No options
2829    First char = '1'
2830    Need char = '0'
2831    
2832    /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2833    ------------------------------------------------------------------
2834      0 603 Bra 0
2835      3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2836    603 603 Ket
2837    606     End
2838    ------------------------------------------------------------------
2839    Capturing subpattern count = 0
2840    No options
2841    First char = '1'
2842    Need char = '0'
2843    
2844    /\Q\E/D
2845    ------------------------------------------------------------------
2846      0   3 Bra 0
2847      3   3 Ket
2848      6     End
2849    ------------------------------------------------------------------
2850    Capturing subpattern count = 0
2851    No options
2852    No first char
2853    No need char
2854        \
2855     0:
2856    
2857    /\Q\Ex/D
2858    ------------------------------------------------------------------
2859      0   5 Bra 0
2860      3     x
2861      5   5 Ket
2862      8     End
2863    ------------------------------------------------------------------
2864    Capturing subpattern count = 0
2865    No options
2866    First char = 'x'
2867    No need char
2868    
2869    / \Q\E/D
2870    ------------------------------------------------------------------
2871      0   5 Bra 0
2872      3
2873      5   5 Ket
2874      8     End
2875    ------------------------------------------------------------------
2876    Capturing subpattern count = 0
2877    No options
2878    First char = ' '
2879    No need char
2880    
2881    /a\Q\E/D
2882    ------------------------------------------------------------------
2883      0   5 Bra 0
2884      3     a
2885      5   5 Ket
2886      8     End
2887    ------------------------------------------------------------------
2888    Capturing subpattern count = 0
2889    No options
2890    First char = 'a'
2891    No need char
2892      abc
2893     0: a
2894      bca
2895     0: a
2896      bac
2897     0: a
2898    
2899    /a\Q\Eb/D
2900    ------------------------------------------------------------------
2901      0   7 Bra 0
2902      3     ab
2903      7   7 Ket
2904     10     End
2905    ------------------------------------------------------------------
2906    Capturing subpattern count = 0
2907    No options
2908    First char = 'a'
2909    Need char = 'b'
2910      abc
2911     0: ab
2912    
2913    /\Q\Eabc/D
2914    ------------------------------------------------------------------
2915      0   9 Bra 0
2916      3     abc
2917      9   9 Ket
2918     12     End
2919    ------------------------------------------------------------------
2920    Capturing subpattern count = 0
2921    No options
2922    First char = 'a'
2923    Need char = 'c'
2924    
2925    /x*+\w/D
2926    ------------------------------------------------------------------
2927      0  12 Bra 0
2928      3   5 Once
2929      6     x*
2930      8   5 Ket
2931     11     \w
2932     12  12 Ket
2933     15     End
2934    ------------------------------------------------------------------
2935    Capturing subpattern count = 0
2936    Partial matching not supported
2937    No options
2938    No first char
2939    No need char
2940        *** Failers
2941     0: F
2942        xxxxx
2943    No match
2944    
2945    /x?+/D
2946    ------------------------------------------------------------------
2947      0  11 Bra 0
2948      3   5 Once
2949      6     x?
2950      8   5 Ket
2951     11  11 Ket
2952     14     End
2953    ------------------------------------------------------------------
2954    Capturing subpattern count = 0
2955    No options
2956    No first char
2957    No need char
2958    
2959    /x++/D
2960    ------------------------------------------------------------------
2961      0  11 Bra 0
2962      3   5 Once
2963      6     x+
2964      8   5 Ket
2965     11  11 Ket
2966     14     End
2967    ------------------------------------------------------------------
2968    Capturing subpattern count = 0
2969    Partial matching not supported
2970    No options
2971    First char = 'x'
2972    No need char
2973    
2974    /x{1,3}+/D
2975    ------------------------------------------------------------------
2976      0  15 Bra 0
2977      3   9 Once
2978      6     x
2979      8     x{,2}
2980     12   9 Ket
2981     15  15 Ket
2982     18     End
2983    ------------------------------------------------------------------
2984    Capturing subpattern count = 0
2985    Partial matching not supported
2986    No options
2987    First char = 'x'
2988    No need char
2989    
2990    /(x)*+/D
2991    ------------------------------------------------------------------
2992      0  18 Bra 0
2993      3  12 Once
2994      6     Brazero
2995      7   5 Bra 1
2996     10     x
2997     12   5 KetRmax
2998     15  12 Ket
2999     18  18 Ket
3000     21     End
3001    ------------------------------------------------------------------
3002    Capturing subpattern count = 1
3003    No options
3004    No first char
3005    No need char
3006    
3007    /^(\w++|\s++)*$/
3008    Capturing subpattern count = 1
3009    Partial matching not supported
3010    Options: anchored
3011    No first char
3012    No need char
3013        now is the time for all good men to come to the aid of the party
3014     0: now is the time for all good men to come to the aid of the party
3015     1: party
3016        *** Failers
3017    No match
3018        this is not a line with only words and spaces!
3019    No match
3020    
3021    /(\d++)(\w)/
3022    Capturing subpattern count = 2
3023    Partial matching not supported
3024    No options
3025    No first char
3026    No need char
3027        12345a
3028     0: 12345a
3029     1: 12345
3030     2: a
3031        *** Failers
3032    No match
3033        12345+
3034    No match
3035    
3036    /a++b/
3037    Capturing subpattern count = 0
3038    Partial matching not supported
3039    No options
3040    First char = 'a'
3041    Need char = 'b'
3042        aaab
3043     0: aaab
3044    
3045    /(a++b)/
3046    Capturing subpattern count = 1
3047    Partial matching not supported
3048    No options
3049    First char = 'a'
3050    Need char = 'b'
3051        aaab
3052     0: aaab
3053     1: aaab
3054    
3055    /(a++)b/
3056    Capturing subpattern count = 1
3057    Partial matching not supported
3058    No options
3059    First char = 'a'
3060    Need char = 'b'
3061        aaab
3062     0: aaab
3063     1: aaa
3064    
3065    /([^()]++|\([^()]*\))+/
3066    Capturing subpattern count = 1
3067    Partial matching not supported
3068    No options
3069    No first char
3070    No need char
3071        ((abc(ade)ufh()()x
3072     0: abc(ade)ufh()()x
3073     1: x
3074    
3075    /\(([^()]++|\([^()]+\))+\)/
3076    Capturing subpattern count = 1
3077    Partial matching not supported
3078    No options
3079    First char = '('
3080    Need char = ')'
3081        (abc)
3082     0: (abc)
3083     1: abc
3084        (abc(def)xyz)
3085     0: (abc(def)xyz)
3086     1: xyz
3087        *** Failers
3088    No match
3089        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3090    No match
3091    
3092    /(abc){1,3}+/D
3093    ------------------------------------------------------------------
3094      0  53 Bra 0
3095      3  47 Once
3096      6   9 Bra 1
3097      9     abc
3098     15   9 Ket
3099     18     Brazero
3100     19  28 Bra 0
3101     22   9 Bra 1
3102     25     abc
3103     31   9 Ket
3104     34     Brazero
3105     35   9 Bra 1
3106     38     abc
3107     44   9 Ket
3108     47  28 Ket
3109     50  47 Ket
3110     53  53 Ket
3111     56     End
3112    ------------------------------------------------------------------
3113    Capturing subpattern count = 1
3114    No options
3115    First char = 'a'
3116    Need char = 'c'
3117    
3118    /a+?+/
3119    Failed: nothing to repeat at offset 3
3120    
3121    /a{2,3}?+b/
3122    Failed: nothing to repeat at offset 7
3123    
3124    /(?U)a+?+/
3125    Failed: nothing to repeat at offset 7
3126    
3127    /a{2,3}?+b/U
3128    Failed: nothing to repeat at offset 7
3129    
3130    /x(?U)a++b/D
3131    ------------------------------------------------------------------
3132      0  15 Bra 0
3133      3     x
3134      5   5 Once
3135      8     a+
3136     10   5 Ket
3137     13     b
3138     15  15 Ket
3139     18     End
3140    ------------------------------------------------------------------
3141    Capturing subpattern count = 0
3142    Partial matching not supported
3143    No options
3144    First char = 'x'
3145    Need char = 'b'
3146        xaaaab
3147     0: xaaaab
3148    
3149    /(?U)xa++b/D
3150    ------------------------------------------------------------------
3151      0  15 Bra 0
3152      3     x
3153      5   5 Once
3154      8     a+
3155     10   5 Ket
3156     13     b
3157     15  15 Ket
3158     18     End
3159    ------------------------------------------------------------------
3160    Capturing subpattern count = 0
3161    Partial matching not supported
3162    Options: ungreedy
3163    First char = 'x'
3164    Need char = 'b'
3165        xaaaab
3166     0: xaaaab
3167    
3168    /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D
3169    ------------------------------------------------------------------
3170      0 106 Bra 0
3171      3     ^
3172      4  99 Bra 1
3173      7   5 Bra 2
3174     10     a+
3175     12   5 Ket
3176     15  37 Bra 3
3177     18     [ab]+?
3178     52  37 Ket
3179     55  37 Bra 4
3180     58     [bc]+
3181     92  37 Ket
3182     95   5 Bra 5
3183     98     \w*
3184    100   5 Ket
3185    103  99 Ket
3186    106 106 Ket
3187    109     End
3188    ------------------------------------------------------------------
3189    Capturing subpattern count = 5
3190    Partial matching not supported
3191    Options: anchored
3192    No first char
3193    No need char
3194    
3195    /^x(?U)a+b/D
3196    ------------------------------------------------------------------
3197      0  10 Bra 0
3198      3     ^
3199      4     x
3200      6     a+?
3201      8     b
3202     10  10 Ket
3203     13     End
3204    ------------------------------------------------------------------
3205    Capturing subpattern count = 0
3206    Partial matching not supported
3207    Options: anchored
3208    No first char
3209    Need char = 'b'
3210    
3211    /^x(?U)(a+)b/D
3212    ------------------------------------------------------------------
3213      0  16 Bra 0
3214      3     ^
3215      4     x
3216      6   5 Bra 1
3217      9     a+?
3218     11   5 Ket
3219     14     b
3220     16  16 Ket
3221     19     End
3222    ------------------------------------------------------------------
3223    Capturing subpattern count = 1
3224    Partial matching not supported
3225    Options: anchored
3226    No first char
3227    Need char = 'b'
3228    
3229    /[.x.]/
3230    Failed: POSIX collating elements are not supported at offset 0
3231    
3232    /[=x=]/
3233    Failed: POSIX collating elements are not supported at offset 0
3234    
3235    /[:x:]/
3236    Failed: POSIX named classes are supported only within a class at offset 0
3237    
3238    /\l/
3239    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3240    
3241    /\L/
3242    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3243    
3244    /\N{name}/
3245    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3246    
3247    /\u/
3248    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3249    
3250    /\U/
3251    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3252    
3253    /[/
3254    Failed: missing terminating ] for character class at offset 1
3255    
3256    /[a-/
3257    Failed: missing terminating ] for character class at offset 3
3258    
3259    /[[:space:]/
3260    Failed: missing terminating ] for character class at offset 10
3261    
3262    /[\s]/DM
3263    Memory allocation (code space): 40
3264    ------------------------------------------------------------------
3265      0  36 Bra 0
3266      3     [\x09\x0a\x0c\x0d ]
3267     36  36 Ket
3268     39     End
3269    ------------------------------------------------------------------
3270    Capturing subpattern count = 0
3271    No options
3272    No first char
3273    No need char
3274    
3275    /[[:space:]]/DM
3276    Memory allocation (code space): 40
3277    ------------------------------------------------------------------
3278      0  36 Bra 0
3279      3     [\x09-\x0d ]
3280     36  36 Ket
3281     39     End
3282    ------------------------------------------------------------------
3283    Capturing subpattern count = 0
3284    No options
3285    No first char
3286    No need char
3287    
3288    /[[:space:]abcde]/DM
3289    Memory allocation (code space): 40
3290    ------------------------------------------------------------------
3291      0  36 Bra 0
3292      3     [\x09-\x0d a-e]
3293     36  36 Ket
3294     39     End
3295    ------------------------------------------------------------------
3296    Capturing subpattern count = 0
3297    No options
3298    No first char
3299    No need char
3300    
3301    /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x
3302    Capturing subpattern count = 0
3303    Partial matching not supported
3304    Options: extended
3305    First char = '<'
3306    Need char = '>'
3307        <>
3308     0: <>
3309        <abcd>
3310     0: <abcd>
3311        <abc <123> hij>
3312     0: <abc <123> hij>
3313        <abc <def> hij>
3314     0: <def>
3315        <abc<>def>
3316     0: <abc<>def>
3317        <abc<>
3318     0: <>
3319        *** Failers
3320    No match
3321        <abc
3322    No match
3323    
3324    |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|DM
3325    Memory allocation (code space): 826
3326    ------------------------------------------------------------------
3327      0 822 Bra 0
3328      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
3329    821     \b
3330    822 822 Ket
3331    825     End
3332    ------------------------------------------------------------------
3333    Capturing subpattern count = 0
3334    No options
3335    First char = '8'
3336    Need char = 'X'
3337    
3338    |\$\<\.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|DM
3339    Memory allocation (code space): 816
3340    ------------------------------------------------------------------
3341      0 812 Bra 0
3342      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
3343    811     \b
3344    812 812 Ket
3345    815     End
3346    ------------------------------------------------------------------
3347    Capturing subpattern count = 0
3348    No options
3349    First char = '$'
3350    Need char = 'X'
3351    
3352    /(.*)\d+\1/I
3353    Capturing subpattern count = 1
3354    Max back reference = 1
3355    Partial matching not supported
3356    No options
3357    No first char
3358    No need char
3359    
3360    /(.*)\d+/I
3361    Capturing subpattern count = 1
3362    Partial matching not supported
3363    No options
3364    First char at start or follows newline
3365    No need char
3366    
3367    /(.*)\d+\1/Is
3368    Capturing subpattern count = 1
3369    Max back reference = 1
3370    Partial matching not supported
3371    Options: dotall
3372    No first char
3373    No need char
3374    
3375    /(.*)\d+/Is
3376    Capturing subpattern count = 1
3377    Partial matching not supported
3378    Options: anchored dotall
3379    No first char
3380    No need char
3381    
3382    /(.*(xyz))\d+\2/I
3383    Capturing subpattern count = 2
3384    Max back reference = 2
3385    Partial matching not supported
3386    No options
3387    First char at start or follows newline
3388    Need char = 'z'
3389    
3390    /((.*))\d+\1/I
3391    Capturing subpattern count = 2
3392    Max back reference = 1
3393    Partial matching not supported
3394    No options
3395    No first char
3396    No need char
3397        abc123bc
3398     0: bc123bc
3399     1: bc
3400     2: bc
3401    
3402    /a[b]/I
3403    Capturing subpattern count = 0
3404    No options
3405    First char = 'a'
3406    Need char = 'b'
3407    
3408    /(?=a).*/I
3409    Capturing subpattern count = 0
3410    Partial matching not supported
3411    No options
3412    First char = 'a'
3413    No need char
3414    
3415    /(?=abc).xyz/iI
3416    Capturing subpattern count = 0
3417    Options: caseless
3418    First char = 'a' (caseless)
3419    Need char = 'z' (caseless)
3420    
3421    /(?=abc)(?i).xyz/I
3422    Capturing subpattern count = 0
3423    No options
3424    First char = 'a'
3425    Need char = 'z' (caseless)
3426    
3427    /(?=a)(?=b)/I
3428    Capturing subpattern count = 0
3429    No options
3430    First char = 'a'
3431    No need char
3432    
3433    /(?=.)a/I
3434    Capturing subpattern count = 0
3435    No options
3436    First char = 'a'
3437    No need char
3438    
3439    /((?=abcda)a)/I
3440    Capturing subpattern count = 1
3441    No options
3442    First char = 'a'
3443    Need char = 'a'
3444    
3445    /((?=abcda)ab)/I
3446    Capturing subpattern count = 1
3447    No options
3448    First char = 'a'
3449    Need char = 'b'
3450    
3451    /()a/I
3452    Capturing subpattern count = 1
3453    No options
3454    No first char
3455    Need char = 'a'
3456    
3457    /(?(1)ab|ac)/I
3458    Capturing subpattern count = 0
3459    No options
3460    First char = 'a'
3461    No need char
3462    
3463    /(?(1)abz|acz)/I
3464    Capturing subpattern count = 0
3465    No options
3466    First char = 'a'
3467    Need char = 'z'
3468    
3469    /(?(1)abz)/I
3470    Capturing subpattern count = 0
3471    No options
3472    No first char
3473    No need char
3474    
3475    /(?(1)abz)123/I
3476    Capturing subpattern count = 0
3477    No options
3478    No first char
3479    Need char = '3'
3480    
3481    /(a)+/I
3482    Capturing subpattern count = 1
3483    No options
3484    First char = 'a'
3485    No need char
3486    
3487    /(a){2,3}/I
3488    Capturing subpattern count = 1
3489    No options
3490    First char = 'a'
3491    Need char = 'a'
3492    
3493    /(a)*/I
3494    Capturing subpattern count = 1
3495    No options
3496    No first char
3497    No need char
3498    
3499    /[a]/I
3500    Capturing subpattern count = 0
3501    No options
3502    First char = 'a'
3503    No need char
3504    
3505    /[ab]/I
3506    Capturing subpattern count = 0
3507    No options
3508    No first char
3509    No need char
3510    
3511    /[ab]/IS
3512    Capturing subpattern count = 0
3513    No options
3514    No first char
3515    No need char
3516    Starting byte set: a b
3517    
3518    /[^a]/I
3519    Capturing subpattern count = 0
3520    No options
3521    No first char
3522    No need char
3523    
3524    /\d456/I
3525    Capturing subpattern count = 0
3526    No options
3527    No first char
3528    Need char = '6'
3529    
3530    /\d456/IS
3531    Capturing subpattern count = 0
3532    No options
3533    No first char
3534    Need char = '6'
3535    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3536    
3537    /a^b/I
3538    Capturing subpattern count = 0
3539    No options
3540    First char = 'a'
3541    Need char = 'b'
3542    
3543    /^a/mI
3544    Capturing subpattern count = 0
3545    Options: multiline
3546    First char at start or follows newline
3547    Need char = 'a'
3548      abcde
3549     0: a
3550      xy\nabc
3551     0: a
3552      *** Failers
3553    No match
3554      xyabc
3555    No match
3556    
3557    /c|abc/I
3558    Capturing subpattern count = 0
3559    No options
3560    No first char
3561    Need char = 'c'
3562    
3563    /(?i)[ab]/IS
3564    Capturing subpattern count = 0
3565    Options: caseless
3566    No first char
3567    No need char
3568    Starting byte set: A B a b
3569    
3570    /[ab](?i)cd/IS
3571    Capturing subpattern count = 0
3572    No options
3573    No first char
3574    Need char = 'd' (caseless)
3575    Starting byte set: a b
3576    
3577    /abc(?C)def/
3578    Capturing subpattern count = 0
3579    No options
3580    First char = 'a'
3581    Need char = 'f'
3582        abcdef
3583    --->abcdef
3584      0 ^  ^       d
3585     0: abcdef
3586        1234abcdef
3587    --->1234abcdef
3588      0     ^  ^       d
3589     0: abcdef
3590        *** Failers
3591    No match
3592        abcxyz
3593    No match
3594        abcxyzf
3595    --->abcxyzf
3596      0 ^  ^        d
3597    No match
3598    
3599    /abc(?C)de(?C1)f/
3600    Capturing subpattern count = 0
3601    No options
3602    First char = 'a'
3603    Need char = 'f'
3604        123abcdef
3605    --->123abcdef
3606      0    ^  ^       d
3607      1    ^    ^     f
3608     0: abcdef
3609    
3610    /(?C1)\dabc(?C2)def/
3611    Capturing subpattern count = 0
3612    No options
3613    No first char
3614    Need char = 'f'
3615        1234abcdef
3616    --->1234abcdef
3617      1 ^              \d
3618      1  ^             \d
3619      1   ^            \d
3620      1    ^           \d
3621      2    ^   ^       d
3622     0: 4abcdef
3623        *** Failers
3624    No match
3625        abcdef
3626    --->abcdef
3627      1 ^          \d
3628      1  ^         \d
3629      1   ^        \d
3630      1    ^       \d
3631      1     ^      \d
3632      1      ^     \d
3633    No match
3634    
3635    /(?C255)ab/
3636    Capturing subpattern count = 0
3637    No options
3638    First char = 'a'
3639    Need char = 'b'
3640    
3641    /(?C256)ab/
3642    Failed: number after (?C is > 255 at offset 6
3643    
3644    /(?Cab)xx/
3645    Failed: closing ) for (?C expected at offset 3
3646    
3647    /(?C12vr)x/
3648    Failed: closing ) for (?C expected at offset 5
3649    
3650    /abc(?C)def/
3651    Capturing subpattern count = 0
3652    No options
3653    First char = 'a'
3654    Need char = 'f'
3655        *** Failers
3656    No match
3657        \x83\x0\x61bcdef
3658    --->\x83\x00abcdef
3659      0         ^  ^       d
3660     0: abcdef
3661    
3662    /(abc)(?C)de(?C1)f/
3663    Capturing subpattern count = 1
3664    No options
3665    First char = 'a'
3666    Need char = 'f'
3667        123abcdef
3668    --->123abcdef
3669      0    ^  ^       d
3670      1    ^    ^     f
3671     0: abcdef
3672     1: abc
3673        123abcdef\C+
3674    Callout 0: last capture = 1
3675     0: <unset>
3676     1: abc
3677    --->123abcdef
3678           ^  ^       d
3679    Callout 1: last capture = 1
3680     0: <unset>
3681     1: abc
3682    --->123abcdef
3683           ^    ^     f
3684     0: abcdef
3685     1: abc
3686        123abcdef\C-
3687     0: abcdef
3688     1: abc
3689        *** Failers
3690    No match
3691        123abcdef\C!1
3692    --->123abcdef
3693      0    ^  ^       d
3694      1    ^    ^     f
3695    No match
3696    
3697    /(?C0)(abc(?C1))*/
3698    Capturing subpattern count = 1
3699    No options
3700    No first char
3701    No need char
3702        abcabcabc
3703    --->abcabcabc
3704      0 ^             (abc(?C1))*
3705      1 ^  ^          )
3706      1 ^     ^       )
3707      1 ^        ^    )
3708     0: abcabcabc
3709     1: abc
3710        abcabc\C!1!3
3711    --->abcabc
3712      0 ^          (abc(?C1))*
3713      1 ^  ^       )
3714      1 ^     ^    )
3715     0: abcabc
3716     1: abc
3717        *** Failers
3718    --->*** Failers
3719      0 ^               (abc(?C1))*
3720     0:
3721        abcabcabc\C!1!3
3722    --->abcabcabc
3723      0 ^             (abc(?C1))*
3724      1 ^  ^          )
3725      1 ^     ^       )
3726      1 ^        ^    )
3727     0: abcabc
3728     1: abc
3729    
3730    /(\d{3}(?C))*/
3731    Capturing subpattern count = 1
3732    Partial matching not supported
3733    No options
3734    No first char
3735    No need char
3736        123\C+
3737    Callout 0: last capture = -1
3738     0: <unset>
3739    --->123
3740        ^  ^    )
3741     0: 123
3742     1: 123
3743        123456\C+
3744    Callout 0: last capture = -1
3745     0: <unset>
3746    --->123456
3747        ^  ^       )
3748    Callout 0: last capture = 1
3749     0: <unset>
3750     1: 123
3751    --->123456
3752        ^     ^    )
3753     0: 123456
3754     1: 456
3755        123456789\C+
3756    Callout 0: last capture = -1
3757     0: <unset>
3758    --->123456789
3759        ^  ^          )
3760    Callout 0: last capture = 1
3761     0: <unset>
3762     1: 123
3763    --->123456789
3764        ^     ^       )
3765    Callout 0: last capture = 1
3766     0: <unset>
3767     1: 456
3768    --->123456789
3769        ^        ^    )
3770     0: 123456789
3771     1: 789
3772    
3773    /((xyz)(?C)p|(?C1)xyzabc)/
3774    Capturing subpattern count = 2
3775    No options
3776    First char = 'x'
3777    No need char
3778        xyzabc\C+
3779    Callout 0: last capture = 2
3780     0: <unset>
3781     1: <unset>
3782     2: xyz
3783    --->xyzabc
3784        ^  ^       p
3785    Callout 1: last capture = -1
3786     0: <unset>
3787    --->xyzabc
3788        ^          x
3789     0: xyzabc
3790     1: xyzabc
3791    
3792    /(X)((xyz)(?C)p|(?C1)xyzabc)/
3793    Capturing subpattern count = 3
3794    No options
3795    First char = 'X'
3796    Need char = 'x'
3797        Xxyzabc\C+
3798    Callout 0: last capture = 3
3799     0: <unset>
3800     1: X
3801     2: <unset>
3802     3: xyz
3803    --->Xxyzabc
3804        ^   ^       p
3805    Callout 1: last capture = 1
3806     0: <unset>
3807     1: X
3808    --->Xxyzabc
3809        ^^          x
3810     0: Xxyzabc
3811     1: X
3812     2: xyzabc
3813    
3814    /(?=(abc))(?C)abcdef/
3815    Capturing subpattern count = 1
3816    No options
3817    First char = 'a'
3818    Need char = 'f'
3819        abcdef\C+
3820    Callout 0: last capture = 1
3821     0: <unset>
3822     1: abc
3823    --->abcdef
3824        ^          a
3825     0: abcdef
3826     1: abc
3827    
3828    /(?!(abc)(?C1)d)(?C2)abcxyz/
3829    Capturing subpattern count = 1
3830    No options
3831    First char = 'a'
3832    Need char = 'z'
3833        abcxyz\C+
3834    Callout 1: last capture = 1
3835     0: <unset>
3836     1: abc
3837    --->abcxyz
3838        ^  ^       d
3839    Callout 2: last capture = -1
3840     0: <unset>
3841    --->abcxyz
3842        ^          a
3843     0: abcxyz
3844    
3845    /(?<=(abc)(?C))xyz/
3846    Capturing subpattern count = 1
3847    No options
3848    First char = 'x'
3849    Need char = 'z'
3850       abcxyz\C+
3851    Callout 0: last capture = 1
3852     0: <unset>
3853     1: abc
3854    --->abcxyz
3855           ^       )
3856     0: xyz
3857     1: abc
3858    
3859    /a(b+)(c*)(?C1)/
3860    Capturing subpattern count = 2
3861    Partial matching not supported
3862    No options
3863    First char = 'a'
3864    Need char = 'b'
3865        abbbbbccc\C*1
3866    --->abbbbbccc
3867      1 ^        ^
3868    Callout data = 1
3869      1 ^       ^
3870    Callout data = 1
3871      1 ^      ^
3872    Callout data = 1
3873      1 ^     ^
3874    Callout data = 1
3875      1 ^    ^
3876    Callout data = 1
3877      1 ^   ^
3878    Callout data = 1
3879      1 ^  ^
3880    Callout data = 1
3881      1 ^ ^
3882    Callout data = 1
3883    No match
3884    
3885    /a(b+?)(c*?)(?C1)/
3886    Capturing subpattern count = 2
3887    Partial matching not supported
3888    No options
3889    First char = 'a'
3890    Need char = 'b'
3891        abbbbbccc\C*1
3892    --->abbbbbccc
3893      1 ^ ^
3894    Callout data = 1
3895      1 ^  ^
3896    Callout data = 1
3897      1 ^   ^
3898    Callout data = 1
3899      1 ^    ^
3900    Callout data = 1
3901      1 ^     ^
3902    Callout data = 1
3903      1 ^      ^
3904    Callout data = 1
3905      1 ^       ^
3906    Callout data = 1
3907      1 ^        ^
3908    Callout data = 1
3909    No match
3910    
3911    /(?C)abc/
3912    Capturing subpattern count = 0
3913    No options
3914    First char = 'a'
3915    Need char = 'c'
3916    
3917    /(?C)^abc/
3918    Capturing subpattern count = 0
3919    Options: anchored
3920    No first char
3921    No need char
3922    
3923    /(?C)a|b/S
3924    Capturing subpattern count = 0
3925    No options
3926    No first char
3927    No need char
3928    Starting byte set: a b
3929    
3930    /(?R)/
3931    Failed: recursive call could loop indefinitely at offset 3
3932    
3933    /(a|(?R))/
3934    Failed: recursive call could loop indefinitely at offset 6
3935    
3936    /(ab|(bc|(de|(?R))))/
3937    Failed: recursive call could loop indefinitely at offset 15
3938    
3939    /x(ab|(bc|(de|(?R))))/
3940    Capturing subpattern count = 3
3941    No options
3942    First char = 'x'
3943    No need char
3944        xab
3945     0: xab
3946     1: ab
3947        xbc
3948     0: xbc
3949     1: bc
3950     2: bc
3951        xde
3952     0: xde
3953     1: de
3954     2: de
3955     3: de
3956        xxab
3957     0: xxab
3958     1: xab
3959     2: xab
3960     3: xab
3961        xxxab
3962     0: xxxab
3963     1: xxab
3964     2: xxab
3965     3: xxab
3966        *** Failers
3967    No match
3968        xyab
3969    No match
3970    
3971    /(ab|(bc|(de|(?1))))/
3972    Failed: recursive call could loop indefinitely at offset 15
3973    
3974    /x(ab|(bc|(de|(?1)x)x)x)/
3975    Failed: recursive call could loop indefinitely at offset 16
3976    
3977    /^([^()]|\((?1)*\))*$/
3978    Capturing subpattern count = 1
3979    Options: anchored
3980    No first char
3981    No need char
3982        abc
3983     0: abc
3984     1: c
3985        a(b)c
3986     0: a(b)c
3987     1: c
3988        a(b(c))d
3989     0: a(b(c))d
3990     1: d
3991        *** Failers)
3992    No match
3993        a(b(c)d
3994    No match
3995    
3996    /^>abc>([^()]|\((?1)*\))*<xyz<$/
3997    Capturing subpattern count = 1
3998    Options: anchored
3999    No first char
4000    Need char = '<'
4001       >abc>123<xyz<
4002     0: >abc>123<xyz<
4003     1: 3
4004       >abc>1(2)3<xyz<
4005     0: >abc>1(2)3<xyz<
4006     1: 3
4007       >abc>(1(2)3)<xyz<
4008     0: >abc>(1(2)3)<xyz<
4009     1: (1(2)3)
4010    
4011    /(a(?1)b)/D
4012    ------------------------------------------------------------------
4013      0  22 Bra 0
4014      3  16 Bra 1
4015      6     a
4016      8   6 Once
4017     11   3 Recurse
4018     14   6 Ket
4019     17     b
4020     19  16 Ket
4021     22  22 Ket
4022     25     End
4023    ------------------------------------------------------------------
4024    Capturing subpattern count = 1
4025    No options
4026    First char = 'a'
4027    Need char = 'b'
4028    
4029    /(a(?1)+b)/D
4030    ------------------------------------------------------------------
4031      0  22 Bra 0
4032      3  16 Bra 1
4033      6     a
4034      8   6 Once
4035     11   3 Recurse
4036     14   6 KetRmax
4037     17     b
4038     19  16 Ket
4039     22  22 Ket
4040     25     End
4041    ------------------------------------------------------------------
4042    Capturing subpattern count = 1
4043    No options
4044    First char = 'a'
4045    Need char = 'b'
4046    
4047    /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i
4048    Capturing subpattern count = 4
4049    Max back reference = 4
4050    Partial matching not supported
4051    Options: anchored caseless
4052    No first char
4053    No need char
4054        1221
4055     0: 1221
4056     1: 1221
4057     2: 1
4058        Satan, oscillate my metallic sonatas!
4059     0: Satan, oscillate my metallic sonatas!
4060     1: <unset>
4061     2: <unset>
4062     3: Satan, oscillate my metallic sonatas
4063     4: S
4064        A man, a plan, a canal: Panama!
4065     0: A man, a plan, a canal: Panama!
4066     1: <unset>
4067     2: <unset>
4068     3: A man, a plan, a canal: Panama
4069     4: A
4070        Able was I ere I saw Elba.
4071     0: Able was I ere I saw Elba.
4072     1: <unset>
4073     2: <unset>
4074     3: Able was I ere I saw Elba
4075     4: A
4076        *** Failers
4077    No match
4078        The quick brown fox
4079    No match
4080    
4081    /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
4082    Capturing subpattern count = 2
4083    Partial matching not supported
4084    Options: anchored
4085    No first char
4086    No need char
4087        12
4088     0: 12
4089     1: 12
4090        (((2+2)*-3)-7)
4091     0: (((2+2)*-3)-7)
4092     1: (((2+2)*-3)-7)
4093     2: -
4094        -12
4095     0: -12
4096     1: -12
4097        *** Failers
4098    No match
4099        ((2+2)*-3)-7)
4100    No match
4101    
4102    /^(x(y|(?1){2})z)/
4103    Capturing subpattern count = 2
4104    Options: anchored
4105    No first char
4106    No need char
4107        xyz
4108     0: xyz
4109     1: xyz
4110     2: y
4111        xxyzxyzz
4112     0: xxyzxyzz
4113     1: xxyzxyzz
4114     2: xyzxyz
4115        *** Failers
4116    No match
4117        xxyzz
4118    No match
4119        xxyzxyzxyzz
4120    No match
4121    
4122    /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x
4123    Capturing subpattern count = 2
4124    Partial matching not supported
4125    Options: extended
4126    First char = '<'
4127    Need char = '>'
4128        <>
4129     0: <>
4130     1: <>
4131     2: <>
4132        <abcd>
4133     0: <abcd>
4134     1: <abcd>
4135     2: <abcd>
4136        <abc <123> hij>
4137     0: <abc <123> hij>
4138     1: <abc <123> hij>
4139     2: <abc <123> hij>
4140        <abc <def> hij>
4141     0: <def>
4142     1: <def>
4143     2: <def>
4144        <abc<>def>
4145     0: <abc<>def>
4146     1: <abc<>def>
4147     2: <abc<>def>
4148        <abc<>
4149     0: <>
4150     1: <>
4151     2: <>
4152        *** Failers
4153    No match
4154        <abc
4155    No match
4156    
4157    /(?1)/
4158    Failed: reference to non-existent subpattern at offset 3
4159    
4160    /((?2)(abc)/
4161    Failed: reference to non-existent subpattern at offset 4
4162    
4163    /^(abc)def(?1)/
4164    Capturing subpattern count = 1
4165    Options: anchored
4166    No first char
4167    No need char
4168        abcdefabc
4169     0: abcdefabc
4170     1: abc
4171    
4172    /^(a|b|c)=(?1)+/
4173    Capturing subpattern count = 1
4174    Options: anchored
4175    No first char
4176    No need char
4177        a=a
4178     0: a=a
4179     1: a
4180        a=b
4181     0: a=b
4182     1: a
4183        a=bc
4184     0: a=bc
4185     1: a
4186    
4187    /^(a|b|c)=((?1))+/
4188    Capturing subpattern count = 2
4189    Options: anchored
4190    No first char
4191    No need char
4192        a=a
4193     0: a=a
4194     1: a
4195     2: a
4196        a=b
4197     0: a=b
4198     1: a
4199     2: b
4200        a=bc
4201     0: a=bc
4202     1: a
4203     2: c
4204    
4205    /a(?P<name1>b|c)d(?P<longername2>e)/D
4206    ------------------------------------------------------------------
4207      0  28 Bra 0
4208      3     a
4209      5   5 Bra 1
4210      8     b
4211     10   5 Alt
4212     13     c
4213     15  10 Ket
4214     18     d
4215     20   5 Bra 2
4216     23     e
4217     25   5 Ket
4218     28  28 Ket
4219     31     End
4220    ------------------------------------------------------------------
4221    Capturing subpattern count = 2
4222    Named capturing subpatterns:
4223      longername2   2
4224      name1         1
4225    No options
4226    First char = 'a'
4227    Need char = 'e'
4228        abde
4229     0: abde
4230     1: b
4231     2: e
4232        acde
4233     0: acde
4234     1: c
4235     2: e
4236    
4237    /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
4238    ------------------------------------------------------------------
4239      0  35 Bra 0
4240      3  21 Bra 0
4241      6     a
4242      8  13 Bra 1
4243     11     c
4244     13   5 Bra 2
4245     16     d
4246     18   5 Ket
4247     21  13 Ket
4248     24  21 Ket
4249     27   5 Bra 3
4250     30     a
4251     32   5 Ket
4252     35  35 Ket
4253     38     End
4254    ------------------------------------------------------------------
4255    Capturing subpattern count = 3
4256    Named capturing subpatterns:
4257      a   3
4258      c   1
4259      d   2
4260    No options
4261    First char = 'a'
4262    Need char = 'a'
4263    
4264    /(?P<a>a)...(?P=a)bbb(?P>a)d/D
4265    ------------------------------------------------------------------
4266      0  34 Bra 0
4267      3   5 Bra 1
4268      6     a
4269      8   5 Ket
4270     11     Any
4271     12     Any
4272     13     Any
4273     14     \1
4274     17     bbb
4275     23   6 Once
4276     26   3 Recurse
4277     29   6 Ket
4278     32     d
4279     34  34 Ket
4280     37     End
4281    ------------------------------------------------------------------
4282    Capturing subpattern count = 1
4283    Max back reference = 1
4284    Named capturing subpatterns:
4285      a   1
4286    No options
4287    First char = 'a'
4288    Need char = 'd'
4289    
4290    /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/i
4291    Capturing subpattern count = 4
4292    Max back reference = 4
4293    Named capturing subpatterns:
4294      four    4
4295      one     1
4296      three   3
4297      two     2
4298    Partial matching not supported
4299    Options: anchored caseless
4300    No first char
4301    No need char
4302        1221
4303     0: 1221
4304     1: 1221
4305     2: 1
4306        Satan, oscillate my metallic sonatas!
4307     0: Satan, oscillate my metallic sonatas!
4308     1: <unset>
4309     2: <unset>
4310     3: Satan, oscillate my metallic sonatas
4311     4: S
4312        A man, a plan, a canal: Panama!
4313     0: A man, a plan, a canal: Panama!
4314     1: <unset>
4315     2: <unset>
4316     3: A man, a plan, a canal: Panama
4317     4: A
4318        Able was I ere I saw Elba.
4319     0: Able was I ere I saw Elba.
4320     1: <unset>
4321     2: <unset>
4322     3: Able was I ere I saw Elba
4323     4: A
4324        *** Failers
4325    No match
4326        The quick brown fox
4327    No match
4328    
4329    /((?(R)a|b))\1(?1)?/
4330    Capturing subpattern count = 1
4331    Max back reference = 1
4332    No options
4333    No first char
4334    No need char
4335      bb
4336     0: bb
4337     1: b
4338      bbaa
4339     0: bba
4340     1: b
4341    
4342    /(.*)a/sI
4343    Capturing subpattern count = 1
4344    Partial matching not supported
4345    Options: anchored dotall
4346    No first char
4347    Need char = 'a'
4348    
4349    /(.*)a\1/sI
4350    Capturing subpattern count = 1
4351    Max back reference = 1
4352    Partial matching not supported
4353    Options: dotall
4354    No first char
4355    Need char = 'a'
4356    
4357    /(.*)a(b)\2/sI
4358    Capturing subpattern count = 2
4359    Max back reference = 2
4360    Partial matching not supported
4361    Options: anchored dotall
4362    No first char
4363    Need char = 'b'
4364    
4365    /((.*)a|(.*)b)z/sI
4366    Capturing subpattern count = 3
4367    Partial matching not supported
4368    Options: anchored dotall
4369    No first char
4370    Need char = 'z'
4371    
4372    /((.*)a|(.*)b)z\1/sI
4373    Capturing subpattern count = 3
4374    Max back reference = 1
4375    Partial matching not supported
4376    Options: dotall
4377    No first char
4378    Need char = 'z'
4379    
4380    /((.*)a|(.*)b)z\2/sI
4381    Capturing subpattern count = 3
4382    Max back reference = 2
4383    Partial matching not supported
4384    Options: dotall
4385    No first char
4386    Need char = 'z'
4387    
4388    /((.*)a|(.*)b)z\3/sI
4389    Capturing subpattern count = 3
4390    Max back reference = 3
4391    Partial matching not supported
4392    Options: dotall
4393    No first char
4394    Need char = 'z'
4395    
4396    /((.*)a|^(.*)b)z\3/sI
4397    Capturing subpattern count = 3
4398    Max back reference = 3
4399    Partial matching not supported
4400    Options: anchored dotall
4401    No first char
4402    Need char = 'z'
4403    
4404    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI
4405    Capturing subpattern count = 31
4406    Partial matching not supported
4407    Options: anchored dotall
4408    No first char
4409    No need char
4410    
4411    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI
4412    Capturing subpattern count = 31
4413    Max back reference = 31
4414    Partial matching not supported
4415    Options: dotall
4416    No first char
4417    No need char
4418    
4419    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI
4420    Capturing subpattern count = 32
4421    Max back reference = 32
4422    Partial matching not supported
4423    Options: dotall
4424    No first char
4425    No need char
4426    
4427    /(a)(bc)/ND
4428    ------------------------------------------------------------------
4429      0  21 Bra 0
4430      3   5 Bra 0
4431      6     a
4432      8   5 Ket
4433     11   7 Bra 0
4434     14     bc
4435     18   7 Ket
4436     21  21 Ket
4437     24     End
4438    ------------------------------------------------------------------
4439    Capturing subpattern count = 0
4440    Options: no_auto_capture
4441    First char = 'a'
4442    Need char = 'c'
4443      abc
4444     0: abc
4445    
4446    /(?P<one>a)(bc)/ND
4447    ------------------------------------------------------------------
4448      0  21 Bra 0
4449      3   5 Bra 1
4450      6     a
4451      8   5 Ket
4452     11   7 Bra 0
4453     14     bc
4454     18   7 Ket
4455     21  21 Ket
4456     24     End
4457    ------------------------------------------------------------------
4458    Capturing subpattern count = 1
4459    Named capturing subpatterns:
4460      one   1
4461    Options: no_auto_capture
4462    First char = 'a'
4463    Need char = 'c'
4464      abc
4465     0: abc
4466     1: a
4467    
4468    /(a)(?P<named>bc)/ND
4469    ------------------------------------------------------------------
4470      0  21 Bra 0
4471      3   5 Bra 0
4472      6     a
4473      8   5 Ket
4474     11   7 Bra 1
4475     14     bc
4476     18   7 Ket
4477     21  21 Ket
4478     24     End
4479    ------------------------------------------------------------------
4480    Capturing subpattern count = 1
4481    Named capturing subpatterns:
4482      named   1
4483    Options: no_auto_capture
4484    First char = 'a'
4485    Need char = 'c'
4486    
4487    /(a+)*zz/
4488    Capturing subpattern count = 1
4489    Partial matching not supported
4490    No options
4491    No first char
4492    Need char = 'z'
4493      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4494    Minimum match() limit = 8
4495    Minimum match() recursion limit = 6
4496     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4497     1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4498      aaaaaaaaaaaaaz\M
4499    Minimum match() limit = 32768
4500    Minimum match() recursion limit = 42
4501    No match
4502    
4503    /(aaa(?C1)bbb|ab)/
4504    Capturing subpattern count = 1
4505    No options
4506    First char = 'a'
4507    Need char = 'b'
4508       aaabbb
4509    --->aaabbb
4510      1 ^  ^       b
4511     0: aaabbb
4512     1: aaabbb
4513       aaabbb\C*0
4514    --->aaabbb
4515      1 ^  ^       b
4516     0: aaabbb
4517     1: aaabbb
4518       aaabbb\C*1
4519    --->aaabbb
4520      1 ^  ^       b
4521    Callout data = 1
4522     0: ab
4523     1: ab
4524       aaabbb\C*-1
4525    --->aaabbb
4526      1 ^  ^       b
4527    Callout data = -1
4528    No match
4529    
4530    /ab(?P<one>cd)ef(?P<two>gh)/
4531    Capturing subpattern count = 2
4532    Named capturing subpatterns:
4533      one   1
4534      two   2
4535    No options
4536    First char = 'a'
4537    Need char = 'h'
4538        abcdefgh
4539     0: abcdefgh
4540     1: cd
4541     2: gh
4542        abcdefgh\C1\Gtwo
4543     0: abcdefgh
4544     1: cd
4545     2: gh
4546     1C cd (2)
4547      G gh (2) two
4548        abcdefgh\Cone\Ctwo
4549     0: abcdefgh
4550     1: cd
4551     2: gh
4552      C cd (2) one
4553      C gh (2) two
4554        abcdefgh\Cthree
4555    no parentheses with name "three"
4556     0: abcdefgh
4557     1: cd
4558     2: gh
4559    copy substring three failed -7
4560    
4561    /(?P<Tes>)(?P<Test>)/D
4562    ------------------------------------------------------------------
4563      0  15 Bra 0
4564      3   3 Bra 1
4565      6   3 Ket
4566      9   3 Bra 2
4567     12   3 Ket
4568     15  15 Ket
4569     18     End
4570    ------------------------------------------------------------------
4571    Capturing subpattern count = 2
4572    Named capturing subpatterns:
4573      Tes    1
4574      Test   2
4575    No options
4576    No first char
4577    No need char
4578    
4579    /(?P<Test>)(?P<Tes>)/D
4580    ------------------------------------------------------------------
4581      0  15 Bra 0
4582      3   3 Bra 1
4583      6   3 Ket
4584      9   3 Bra 2
4585     12   3 Ket
4586     15  15 Ket
4587     18     End
4588    ------------------------------------------------------------------
4589    Capturing subpattern count = 2
4590    Named capturing subpatterns:
4591      Tes    2
4592      Test   1
4593    No options
4594    No first char
4595    No need char
4596    
4597    /(?P<Z>zz)(?P<A>aa)/
4598    Capturing subpattern count = 2
4599    Named capturing subpatterns:
4600      A   2
4601      Z   1
4602    No options
4603    First char = 'z'
4604    Need char = 'a'
4605        zzaa\CZ
4606     0: zzaa
4607     1: zz
4608     2: aa
4609      C zz (2) Z
4610        zzaa\CA
4611     0: zzaa
4612     1: zz
4613     2: aa
4614      C aa (2) A
4615    
4616    /(?P<x>eks)(?P<x>eccs)/
4617    Failed: two named subpatterns have the same name at offset 16
4618    
4619    /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
4620    Failed: two named subpatterns have the same name at offset 31
4621    
4622    "\[((?P<elem>\d+)(,(?P>elem))*)\]"
4623    Capturing subpattern count = 3
4624    Named capturing subpatterns:
4625      elem   2
4626    Partial matching not supported
4627    No options
4628    First char = '['
4629    Need char = ']'
4630        [10,20,30,5,5,4,4,2,43,23,4234]
4631     0: [10,20,30,5,5,4,4,2,43,23,4234]
4632     1: 10,20,30,5,5,4,4,2,43,23,4234
4633     2: 10
4634     3: ,4234
4635        *** Failers
4636    No match
4637        []
4638    No match
4639    
4640    "\[((?P<elem>\d+)(,(?P>elem))*)?\]"
4641    Capturing subpattern count = 3
4642    Named capturing subpatterns:
4643      elem   2
4644    Partial matching not supported
4645    No options
4646    First char = '['
4647    Need char = ']'
4648        [10,20,30,5,5,4,4,2,43,23,4234]
4649     0: [10,20,30,5,5,4,4,2,43,23,4234]
4650     1: 10,20,30,5,5,4,4,2,43,23,4234
4651     2: 10
4652     3: ,4234
4653        []
4654     0: []
4655    
4656    /(a(b(?2)c))?/D
4657    ------------------------------------------------------------------
4658      0  31 Bra 0
4659      3     Brazero
4660      4  24 Bra 1
4661      7     a
4662      9  16 Bra 2
4663     12     b
4664     14   6 Once
4665     17   9 Recurse
4666     20   6 Ket
4667     23     c
4668     25  16 Ket
4669     28  24 Ket
4670     31  31 Ket
4671     34     End
4672    ------------------------------------------------------------------
4673    Capturing subpattern count = 2
4674    No options
4675    No first char
4676    No need char
4677    
4678    /(a(b(?2)c))*/D
4679    ------------------------------------------------------------------
4680      0  31 Bra 0
4681      3     Brazero
4682      4  24 Bra 1
4683      7     a
4684      9  16 Bra 2
4685     12     b
4686     14   6 Once
4687     17   9 Recurse
4688     20   6 Ket
4689     23     c
4690     25  16 Ket
4691     28  24 KetRmax
4692     31  31 Ket
4693     34     End
4694    ------------------------------------------------------------------
4695    Capturing subpattern count = 2
4696    No options
4697    No first char
4698    No need char
4699    
4700    /(a(b(?2)c)){0,2}/D
4701    ------------------------------------------------------------------
4702      0  65 Bra 0
4703      3     Brazero
4704      4  58 Bra 0
4705      7  24 Bra 1
4706     10     a
4707     12  16 Bra 2
4708     15     b
4709     17   6 Once
4710     20  12 Recurse
4711     23   6 Ket
4712     26     c
4713     28  16 Ket
4714     31  24 Ket
4715     34     Brazero
4716     35  24 Bra 1
4717     38     a
4718     40  16 Bra 2
4719     43     b
4720     45   6 Once
4721     48  12 Recurse
4722     51   6 Ket
4723     54     c
4724     56  16 Ket
4725     59  24 Ket
4726     62  58 Ket
4727     65  65 Ket
4728     68     End
4729    ------------------------------------------------------------------
4730    Capturing subpattern count = 2
4731    No options
4732    No first char
4733    No need char
4734    
4735    /[ab]{1}+/D
4736    ------------------------------------------------------------------
4737      0  47 Bra 0
4738      3  41 Once
4739      6     [ab]{1,1}
4740     44  41 Ket
4741     47  47 Ket
4742     50     End
4743    ------------------------------------------------------------------
4744    Capturing subpattern count = 0
4745    No options
4746    No first char
4747    No need char
4748    
4749    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i
4750    Capturing subpattern count = 3
4751    Partial matching not supported
4752    Options: caseless
4753    No first char
4754    Need char = 'g' (caseless)
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    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS
4760    Capturing subpattern count = 3
4761    Partial matching not supported
4762    Options: caseless
4763    No first char
4764    Need char = 'g' (caseless)
4765    Study returned NULL
4766         Baby Bjorn Active Carrier - With free SHIPPING!!
4767     0: Baby Bjorn Active Carrier - With free SHIPPING!!
4768     1: Baby Bjorn Active Carrier - With free SHIPPING!!
4769    
4770    /a*.*b/SD
4771    ------------------------------------------------------------------
4772      0   9 Bra 0
4773      3     a*
4774      5     Any*
4775      7     b
4776      9   9 Ket
4777     12     End
4778    ------------------------------------------------------------------
4779    Capturing subpattern count = 0
4780    Partial matching not supported
4781    No options
4782    No first char
4783    Need char = 'b'
4784    Study returned NULL
4785    
4786    /(a|b)*.?c/SD
4787    ------------------------------------------------------------------
4788      0  21 Bra 0
4789      3     Brazero
4790      4   5 Bra 1
4791      7     a
4792      9   5 Alt
4793     12     b
4794     14  10 KetRmax
4795     17     Any?
4796     19     c
4797     21  21 Ket
4798     24     End
4799    ------------------------------------------------------------------
4800    Capturing subpattern count = 1
4801    No options
4802    No first char
4803    Need char = 'c'
4804    Study returned NULL
4805    
4806    /abc(?C255)de(?C)f/D
4807    ------------------------------------------------------------------
4808      0  27 Bra 0
4809      3     abc
4810      9     Callout 255 10 1
4811     15     de
4812     19     Callout 0 16 1
4813     25     f
4814     27  27 Ket
4815     30     End
4816    ------------------------------------------------------------------
4817    Capturing subpattern count = 0
4818    No options
4819    First char = 'a'
4820    Need char = 'f'
4821    
4822    /abcde/CD
4823    ------------------------------------------------------------------
4824      0  49 Bra 0
4825      3     Callout 255 0 1
4826      9     a
4827     11     Callout 255 1 1
4828     17     b
4829     19     Callout 255 2 1
4830     25     c
4831     27     Callout 255 3 1
4832     33     d
4833     35     Callout 255 4 1
4834     41     e
4835     43     Callout 255 5 0
4836     49  49 Ket
4837     52     End
4838    ------------------------------------------------------------------
4839    Capturing subpattern count = 0
4840    Options:
4841    First char = 'a'
4842    Need char = 'e'
4843      abcde
4844    --->abcde
4845     +0 ^         a
4846     +1 ^^        b
4847     +2 ^ ^       c
4848     +3 ^  ^      d
4849     +4 ^   ^     e
4850     +5 ^    ^
4851     0: abcde
4852      abcdfe
4853    --->abcdfe
4854     +0 ^          a
4855     +1 ^^         b
4856     +2 ^ ^        c
4857     +3 ^  ^       d
4858     +4 ^   ^      e
4859    No match
4860    
4861    /a*b/CD
4862    ------------------------------------------------------------------
4863      0  25 Bra 0
4864      3     Callout 255 0 2
4865      9     a*
4866     11     Callout 255 2 1
4867     17     b
4868     19     Callout 255 3 0
4869     25  25 Ket
4870     28     End
4871    ------------------------------------------------------------------
4872    Capturing subpattern count = 0
4873    Partial matching not supported
4874    Options:
4875    No first char
4876    Need char = 'b'
4877      ab
4878    --->ab
4879     +0 ^      a*
4880     +2 ^^     b
4881     +3 ^ ^
4882     0: ab
4883      aaaab
4884    --->aaaab
4885     +0 ^         a*
4886     +2 ^   ^     b
4887     +3 ^    ^
4888     0: aaaab
4889      aaaacb
4890    --->aaaacb
4891     +0 ^          a*
4892     +2 ^   ^      b
4893     +2 ^  ^       b
4894     +2 ^ ^        b
4895     +2 ^^         b
4896     +2 ^          b
4897     +0  ^         a*
4898     +2  ^  ^      b
4899     +2  ^ ^       b
4900     +2  ^^        b
4901     +2  ^         b
4902     +0   ^        a*
4903     +2   ^ ^      b
4904     +2   ^^       b
4905     +2   ^        b
4906     +0    ^       a*
4907     +2    ^^      b
4908     +2    ^       b
4909     +0     ^      a*
4910     +2     ^      b
4911     +0      ^     a*
4912     +2      ^     b
4913     +3      ^^
4914     0: b
4915    
4916    /a+b/CD
4917    ------------------------------------------------------------------
4918      0  25 Bra 0
4919      3     Callout 255 0 2
4920      9     a+
4921     11     Callout 255 2 1
4922     17     b
4923     19     Callout 255 3 0
4924     25  25 Ket
4925     28     End
4926    ------------------------------------------------------------------
4927    Capturing subpattern count = 0
4928    Partial matching not supported
4929    Options:
4930    First char = 'a'
4931    Need char = 'b'
4932      ab
4933    --->ab
4934     +0 ^      a+
4935     +2 ^^     b
4936     +3 ^ ^
4937     0: ab
4938      aaaab
4939    --->aaaab
4940     +0 ^         a+
4941     +2 ^   ^     b
4942     +3 ^    ^
4943     0: aaaab
4944      aaaacb
4945    --->aaaacb
4946     +0 ^          a+
4947     +2 ^   ^      b
4948     +2 ^  ^       b
4949     +2 ^ ^        b
4950     +2 ^^         b
4951     +0  ^         a+
4952     +2  ^  ^      b
4953     +2  ^ ^       b
4954     +2  ^^        b
4955     +0   ^        a+
4956     +2   ^ ^      b
4957     +2   ^^       b
4958     +0    ^       a+
4959     +2    ^^      b
4960    No match
4961    
4962    /(abc|def)x/CD
4963    ------------------------------------------------------------------
4964      0  92 Bra 0
4965      3     Callout 255 0 9
4966      9  33 Bra 1
4967     12     Callout 255 1 1
4968     18     a
4969     20     Callout 255 2 1
4970     26     b
4971     28     Callout 255 3 1
4972     34     c
4973     36     Callout 255 4 0
4974     42  33 Alt
4975     45     Callout 255 5 1
4976     51     d
4977     53     Callout 255 6 1
4978     59     e
4979     61     Callout 255 7 1
4980     67     f
4981     69     Callout 255 8 0
4982     75  66 Ket
4983     78     Callout 255 9 1
4984     84     x
4985     86     Callout 255 10 0
4986     92  92 Ket
4987     95     End
4988    ------------------------------------------------------------------
4989    Capturing subpattern count = 1
4990    Options:
4991    No first char
4992    Need char = 'x'
4993      abcx
4994    --->abcx
4995     +0 ^        (abc|def)
4996     +1 ^        a
4997     +2 ^^       b
4998     +3 ^ ^      c
4999     +4 ^  ^     |
5000     +9 ^  ^     x
5001    +10 ^   ^
5002     0: abcx
5003     1: abc
5004      defx
5005    --->defx
5006     +0 ^        (abc|def)
5007     +1 ^        a
5008     +5 ^        d
5009     +6 ^^       e
5010     +7 ^ ^      f
5011     +8 ^  ^     )
5012     +9 ^  ^     x
5013    +10 ^   ^
5014     0: defx
5015     1: def
5016      abcdefzx
5017    --->abcdefzx
5018     +0 ^            (abc|def)
5019     +1 ^            a
5020     +2 ^^           b
5021     +3 ^ ^          c
5022     +4 ^  ^         |
5023     +9 ^  ^         x
5024     +5 ^            d
5025     +0  ^           (abc|def)
5026     +1  ^           a
5027     +5  ^           d
5028     +0   ^          (abc|def)
5029     +1   ^          a
5030     +5   ^          d
5031     +0    ^         (abc|def)
5032     +1    ^         a
5033     +5    ^         d
5034     +6    ^^        e
5035     +7    ^ ^       f
5036     +8    ^  ^      )
5037     +9    ^  ^      x
5038     +0     ^        (abc|def)
5039     +1     ^        a
5040     +5     ^        d
5041     +0      ^