/[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 53 by nigel, Sat Feb 24 21:39:42 2007 UTC revision 83 by nigel, Sat Feb 24 21:41:06 2007 UTC
# Line 1  Line 1 
1  PCRE version 3.5 15-Aug-2001  PCRE version 6.3 15-Aug-2005
2    
3  /(a)b|/  /(a)b|/
4  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 28  No match Line 28  No match
28  Capturing subpattern count = 0  Capturing subpattern count = 0
29  Options: anchored  Options: anchored
30  No first char  No first char
31  Need char = 'c'  No need char
32      abc      abc
33   0: abc   0: abc
34      \Aabc      \Aabc
# Line 42  No match Line 42  No match
42    
43  /a+bc/  /a+bc/
44  Capturing subpattern count = 0  Capturing subpattern count = 0
45    Partial matching not supported
46  No options  No options
47  First char = 'a'  First char = 'a'
48  Need char = 'c'  Need char = 'c'
49    
50  /a*bc/  /a*bc/
51  Capturing subpattern count = 0  Capturing subpattern count = 0
52    Partial matching not supported
53  No options  No options
54  No first char  No first char
55  Need char = 'c'  Need char = 'c'
56    
57  /a{3}bc/  /a{3}bc/
58  Capturing subpattern count = 0  Capturing subpattern count = 0
59    Partial matching not supported
60  No options  No options
61  First char = 'a'  First char = 'a'
62  Need char = 'c'  Need char = 'c'
63    
64  /(abc|a+z)/  /(abc|a+z)/
65  Capturing subpattern count = 1  Capturing subpattern count = 1
66    Partial matching not supported
67  No options  No options
68  First char = 'a'  First char = 'a'
69  No need char  No need char
# Line 68  No need char Line 72  No need char
72  Capturing subpattern count = 0  Capturing subpattern count = 0
73  Options: anchored  Options: anchored
74  No first char  No first char
75  Need char = 'c'  No need char
76      abc      abc
77   0: abc   0: abc
78      *** Failers      *** Failers
# Line 91  Failed: number too big in {} quantifier Line 95  Failed: number too big in {} quantifier
95  /[abcd/  /[abcd/
96  Failed: missing terminating ] for character class at offset 5  Failed: missing terminating ] for character class at offset 5
97    
98  /[\B]/  /(?X)[\B]/
99  Failed: invalid escape sequence in character class at offset 2  Failed: invalid escape sequence in character class at offset 6
100    
101  /[z-a]/  /[z-a]/
102  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
# Line 111  Failed: unrecognized character after (? Line 115  Failed: unrecognized character after (?
115    
116  /.*b/  /.*b/
117  Capturing subpattern count = 0  Capturing subpattern count = 0
118    Partial matching not supported
119  No options  No options
120  First char at start or follows \n  First char at start or follows \n
121  Need char = 'b'  Need char = 'b'
122    
123  /.*?b/  /.*?b/
124  Capturing subpattern count = 0  Capturing subpattern count = 0
125    Partial matching not supported
126  No options  No options
127  First char at start or follows \n  First char at start or follows \n
128  Need char = 'b'  Need char = 'b'
# Line 136  Capturing subpattern count = 0 Line 142  Capturing subpattern count = 0
142  No options  No options
143  No first char  No first char
144  No need char  No need char
145  Starting character set: c d e  Starting byte set: c d e
146      this sentence eventually mentions a cat      this sentence eventually mentions a cat
147   0: cat   0: cat
148      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 147  Capturing subpattern count = 0 Line 153  Capturing subpattern count = 0
153  Options: caseless  Options: caseless
154  No first char  No first char
155  No need char  No need char
156  Starting character set: C D E c d e  Starting byte set: C D E c d e
157      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
158   0: CAT   0: CAT
159      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 158  Capturing subpattern count = 0 Line 164  Capturing subpattern count = 0
164  No options  No options
165  No first char  No first char
166  No need char  No need char
167  Starting character set: a b c d  Starting byte set: a b c d
168    
169  /(a|[^\dZ])/S  /(a|[^\dZ])/S
170  Capturing subpattern count = 1  Capturing subpattern count = 1
171  No options  No options
172  No first char  No first char
173  No need char  No need char
174  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
175    \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
176    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
177    ? @ 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 185  Capturing subpattern count = 1 Line 191  Capturing subpattern count = 1
191  No options  No options
192  No first char  No first char
193  No need char  No need char
194  Starting character set: \x09 \x0a \x0b \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
195    
196  /(ab\2)/  /(ab\2)/
197  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
198    
199  /{4,5}abc/  /{4,5}abc/
200  Failed: nothing to repeat at offset 4  Failed: nothing to repeat at offset 4
# Line 281  No match Line 287  No match
287  No match  No match
288    
289  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
290  Failed: back reference to non-existent subpattern at offset 17  Failed: reference to non-existent subpattern at offset 17
291    
292  /the quick brown fox/  /the quick brown fox/
293  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 297  Need char = 'x' Line 303  Need char = 'x'
303  Capturing subpattern count = 0  Capturing subpattern count = 0
304  Options: anchored  Options: anchored
305  No first char  No first char
306  Need char = 'x'  No need char
307      the quick brown fox      the quick brown fox
308   0: the quick brown fox   0: the quick brown fox
309      *** Failers      *** Failers
# Line 320  No need char Line 326  No need char
326    
327  /.*((abc)$|(def))/  /.*((abc)$|(def))/
328  Capturing subpattern count = 3  Capturing subpattern count = 3
329    Partial matching not supported
330  No options  No options
331  First char at start or follows \n  First char at start or follows \n
332  No need char  No need char
# Line 396  Failed: missing terminating ] for charac Line 403  Failed: missing terminating ] for charac
403    
404  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/
405  Capturing subpattern count = 0  Capturing subpattern count = 0
406    Partial matching not supported
407  No options  No options
408  No first char  No first char
409  No need char  No need char
# Line 404  No need char Line 412  No need char
412    
413  /<.*>/  /<.*>/
414  Capturing subpattern count = 0  Capturing subpattern count = 0
415    Partial matching not supported
416  No options  No options
417  First char = '<'  First char = '<'
418  Need char = '>'  Need char = '>'
# Line 412  Need char = '>' Line 421  Need char = '>'
421    
422  /<.*?>/  /<.*?>/
423  Capturing subpattern count = 0  Capturing subpattern count = 0
424    Partial matching not supported
425  No options  No options
426  First char = '<'  First char = '<'
427  Need char = '>'  Need char = '>'
# Line 420  Need char = '>' Line 430  Need char = '>'
430    
431  /<.*>/U  /<.*>/U
432  Capturing subpattern count = 0  Capturing subpattern count = 0
433    Partial matching not supported
434  Options: ungreedy  Options: ungreedy
435  First char = '<'  First char = '<'
436  Need char = '>'  Need char = '>'
437      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
438   0: <def>   0: <def>
439    
440  /<.*>(?U)/  /(?U)<.*>/
441  Capturing subpattern count = 0  Capturing subpattern count = 0
442    Partial matching not supported
443  Options: ungreedy  Options: ungreedy
444  First char = '<'  First char = '<'
445  Need char = '>'  Need char = '>'
# Line 436  Need char = '>' Line 448  Need char = '>'
448    
449  /<.*?>/U  /<.*?>/U
450  Capturing subpattern count = 0  Capturing subpattern count = 0
451    Partial matching not supported
452  Options: ungreedy  Options: ungreedy
453  First char = '<'  First char = '<'
454  Need char = '>'  Need char = '>'
# Line 444  Need char = '>' Line 457  Need char = '>'
457    
458  /={3,}/U  /={3,}/U
459  Capturing subpattern count = 0  Capturing subpattern count = 0
460    Partial matching not supported
461  Options: ungreedy  Options: ungreedy
462  First char = '='  First char = '='
463  Need char = '='  Need char = '='
# Line 452  Need char = '=' Line 466  Need char = '='
466    
467  /(?U)={3,}?/  /(?U)={3,}?/
468  Capturing subpattern count = 0  Capturing subpattern count = 0
469    Partial matching not supported
470  Options: ungreedy  Options: ungreedy
471  First char = '='  First char = '='
472  Need char = '='  Need char = '='
# Line 486  Failed: lookbehind assertion is not fixe Line 501  Failed: lookbehind assertion is not fixe
501  /(?i)abc/  /(?i)abc/
502  Capturing subpattern count = 0  Capturing subpattern count = 0
503  Options: caseless  Options: caseless
504  First char = 'a'  First char = 'a' (caseless)
505  Need char = 'c'  Need char = 'c' (caseless)
506    
507  /(a|(?m)a)/  /(a|(?m)a)/
508  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 499  No need char Line 514  No need char
514  Capturing subpattern count = 0  Capturing subpattern count = 0
515  Options: anchored caseless  Options: anchored caseless
516  No first char  No first char
517  Need char = '4'  No need char
518    
519  /(^b|(?i)^d)/  /(^b|(?i)^d)/
520  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 510  No need char Line 525  No need char
525    
526  /(?s).*/  /(?s).*/
527  Capturing subpattern count = 0  Capturing subpattern count = 0
528    Partial matching not supported
529  Options: anchored dotall  Options: anchored dotall
530  No first char  No first char
531  No need char  No need char
# Line 519  Capturing subpattern count = 0 Line 535  Capturing subpattern count = 0
535  No options  No options
536  No first char  No first char
537  No need char  No need char
538  Starting character set: a b c d  Starting byte set: a b c d
539    
540  /(?i)[abcd]/S  /(?i)[abcd]/S
541  Capturing subpattern count = 0  Capturing subpattern count = 0
542  Options: caseless  Options: caseless
543  No first char  No first char
544  No need char  No need char
545  Starting character set: A B C D a b c d  Starting byte set: A B C D a b c d
546    
547  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/S
548  Capturing subpattern count = 1  Capturing subpattern count = 1
549  Options: multiline  Options: multiline
550  No first char  No first char
551  No need char  No need char
552  Starting character set: b c x y  Starting byte set: b c x y
553    
554  /(^a|^b)/m  /(^a|^b)/m
555  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 563  Failed: assertion expected after (?( at Line 579  Failed: assertion expected after (?( at
579  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
580    
581  /(?(?<ab))/  /(?(?<ab))/
582  Failed: unrecognized character after (?< at offset 2  Failed: unrecognized character after (?< at offset 5
583    
584  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/
585  Capturing subpattern count = 1  Capturing subpattern count = 1
586  Max back reference = 1  Max back reference = 1
587    Partial matching not supported
588  No options  No options
589  First char = 'b'  First char = 'b'
590  Need char = 'h'  Need char = 'h'
# Line 575  Need char = 'h' Line 592  Need char = 'h'
592  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/
593  Capturing subpattern count = 1  Capturing subpattern count = 1
594  Max back reference = 1  Max back reference = 1
595    Partial matching not supported
596  No options  No options
597  Case state changes  Case state changes
598  No first char  First char = 'b' (caseless)
599  Need char = 'h'  Need char = 'h' (caseless)
600    
601  /((?i)b)/DS  /((?i)b)/DS
602  ------------------------------------------------------------------  ------------------------------------------------------------------
603    0  16 Bra 0    0  15 Bra 0
604    3   8 Bra 1    3   7 Bra 1
605    6  01 Opt    6  01 Opt
606    8   1 b    8  NC b
607   11   8 Ket   10   7 Ket
608   14  00 Opt   13  00 Opt
609   16  16 Ket   15  15 Ket
610   19     End   18     End
611  ------------------------------------------------------------------  ------------------------------------------------------------------
612  Capturing subpattern count = 1  Capturing subpattern count = 1
613  No options  No options
614  Case state changes  Case state changes
615  No first char  First char = 'b' (caseless)
616  Need char = 'b'  No need char
617  Starting character set: B b  Study returned NULL
618    
619  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/S
620  Capturing subpattern count = 1  Capturing subpattern count = 1
621    Partial matching not supported
622  No options  No options
623  Case state changes  Case state changes
624  No first char  No first char
625  No need char  No need char
626  Starting character set: C a b c d  Starting byte set: C a b c d
627    
628  /a$/  /a$/
629  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 642  No match Line 661  No match
661  Capturing subpattern count = 0  Capturing subpattern count = 0
662  Options: anchored multiline  Options: anchored multiline
663  No first char  No first char
664  Need char = 'c'  No need char
665    
666  /^abc/m  /^abc/m
667  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 652  Need char = 'c' Line 671  Need char = 'c'
671    
672  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
673  Capturing subpattern count = 5  Capturing subpattern count = 5
674    Partial matching not supported
675  Options: anchored  Options: anchored
676  No first char  No first char
677  Need char = 'a'  No need char
678    aaaaabbbbbcccccdef    aaaaabbbbbcccccdef
679   0: aaaaabbbbbcccccdef   0: aaaaabbbbbcccccdef
680   1: aaaaabbbbbcccccdef   1: aaaaabbbbbcccccdef
# Line 668  Capturing subpattern count = 0 Line 688  Capturing subpattern count = 0
688  No options  No options
689  No first char  No first char
690  No need char  No need char
691  Starting character set: a b  Starting byte set: a b
692    
693  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/S
694  Capturing subpattern count = 1  Capturing subpattern count = 1
695  No options  No options
696  No first char  No first char
697  Need char = 'a'  Need char = 'a'
698  Starting character set: a o  Starting byte set: a o
699    
700  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/S
701  Capturing subpattern count = 0  Capturing subpattern count = 0
702  No options  No options
703  No first char  No first char
704  No need char  No need char
705  Starting character set: a b  Starting byte set: a b
706    
707  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/m
708  Capturing subpattern count = 0  Capturing subpattern count = 0
709  Options: multiline  Options: multiline
710    No first char
711    Need char = 'r'
712        foo\nbarbar
713     0: bar
714        ***Failers
715    No match
716        rhubarb
717    No match
718        barbell
719    No match
720        abc\nbarton
721    No match
722    
723    /^(?<=foo\n)bar/m
724    Capturing subpattern count = 0
725    Options: multiline
726  First char at start or follows \n  First char at start or follows \n
727  Need char = 'r'  Need char = 'r'
728        foo\nbarbar
729     0: bar
730        ***Failers
731    No match
732        rhubarb
733    No match
734        barbell
735    No match
736        abc\nbarton
737    No match
738    
739  /(?>^abc)/m  /(?>^abc)/m
740  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 744  No need char Line 790  No need char
790    
791  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/
792  Capturing subpattern count = 2  Capturing subpattern count = 2
793    Partial matching not supported
794  No options  No options
795  First char at start or follows \n  First char at start or follows \n
796  No need char  No need char
# Line 825  Capturing subpattern count = 1 Line 872  Capturing subpattern count = 1
872  Max back reference = 1  Max back reference = 1
873  Options: anchored  Options: anchored
874  No first char  No first char
875  Need char = 'a'  No need char
876      aaaaaa      aaaaaa
877   0: aaaaaa   0: aaaaaa
878   1: aa   1: aa
# Line 864  Failed: nothing to repeat at offset 2 Line 911  Failed: nothing to repeat at offset 2
911  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
912    
913  /\1/  /\1/
914  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
915    
916  /\2/  /\2/
917  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
918    
919  /(a)|\2/  /(a)|\2/
920  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
921    
922  /a[b-a]/i  /a[b-a]/i
923  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
# Line 903  Failed: unmatched parentheses at offset Line 950  Failed: unmatched parentheses at offset
950  Failed: missing ) at offset 4  Failed: missing ) at offset 4
951    
952  /(?<%)b/  /(?<%)b/
953  Failed: unrecognized character after (?< at offset 0  Failed: unrecognized character after (?< at offset 3
954    
955  /a(?{)b/  /a(?{)b/
956  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
# Line 966  copy substring 5 failed -7 Line 1013  copy substring 5 failed -7
1013    
1014  /(.{20})/  /(.{20})/
1015  Capturing subpattern count = 1  Capturing subpattern count = 1
1016    Partial matching not supported
1017  No options  No options
1018  No first char  No first char
1019  No need char  No need char
# Line 983  copy substring 1 failed -6 Line 1031  copy substring 1 failed -6
1031    
1032  /(.{15})/  /(.{15})/
1033  Capturing subpattern count = 1  Capturing subpattern count = 1
1034    Partial matching not supported
1035  No options  No options
1036  No first char  No first char
1037  No need char  No need char
# Line 997  No need char Line 1046  No need char
1046    
1047  /(.{16})/  /(.{16})/
1048  Capturing subpattern count = 1  Capturing subpattern count = 1
1049    Partial matching not supported
1050  No options  No options
1051  No first char  No first char
1052  No need char  No need char
# Line 1015  copy substring 1 failed -6 Line 1065  copy substring 1 failed -6
1065  Capturing subpattern count = 3  Capturing subpattern count = 3
1066  Options: anchored  Options: anchored
1067  No first char  No first char
1068  Need char = 'f'  No need char
1069      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1070   0: adef   0: adef
1071   1: a   1: a
# Line 1053  get substring 4 failed -7 Line 1103  get substring 4 failed -7
1103  Capturing subpattern count = 0  Capturing subpattern count = 0
1104  Options: anchored  Options: anchored
1105  No first char  No first char
1106  Need char = 'f'  No need char
1107      abc\00def\L\C0      abc\00def\L\C0
1108   0: abc\x00def   0: abc\x00def
1109   0C abc (7)   0C abc (7)
# Line 1062  Need char = 'f' Line 1112  Need char = 'f'
1112  /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]+
1113  )((?:[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]+
1114  )?)?)?)?)?)?)?)?)?otherword/M  )?)?)?)?)?)?)?)?)?otherword/M
1115  Memory allocation (code space): 428  Memory allocation (code space): 432
1116  Capturing subpattern count = 8  Capturing subpattern count = 8
1117    Partial matching not supported
1118  No options  No options
1119  First char = 'w'  First char = 'w'
1120  Need char = 'd'  Need char = 'd'
1121    
1122  /.*X/D  /.*X/D
1123  ------------------------------------------------------------------  ------------------------------------------------------------------
1124    0   8 Bra 0    0   7 Bra 0
1125    3     Any*    3     Any*
1126    5   1 X    5     X
1127    8   8 Ket    7   7 Ket
1128   11     End   10     End
1129  ------------------------------------------------------------------  ------------------------------------------------------------------
1130  Capturing subpattern count = 0  Capturing subpattern count = 0
1131    Partial matching not supported
1132  No options  No options
1133  First char at start or follows \n  First char at start or follows \n
1134  Need char = 'X'  Need char = 'X'
1135    
1136  /.*X/Ds  /.*X/Ds
1137  ------------------------------------------------------------------  ------------------------------------------------------------------
1138    0   8 Bra 0    0   7 Bra 0
1139    3     Any*    3     Any*
1140    5   1 X    5     X
1141    8   8 Ket    7   7 Ket
1142   11     End   10     End
1143  ------------------------------------------------------------------  ------------------------------------------------------------------
1144  Capturing subpattern count = 0  Capturing subpattern count = 0
1145    Partial matching not supported
1146  Options: anchored dotall  Options: anchored dotall
1147  No first char  No first char
1148  Need char = 'X'  Need char = 'X'
1149    
1150  /(.*X|^B)/D  /(.*X|^B)/D
1151  ------------------------------------------------------------------  ------------------------------------------------------------------
1152    0  21 Bra 0    0  19 Bra 0
1153    3   8 Bra 1    3   7 Bra 1
1154    6     Any*    6     Any*
1155    8   1 X    8     X
1156   11   7 Alt   10   6 Alt
1157   14     ^   13     ^
1158   15   1 B   14     B
1159   18  15 Ket   16  13 Ket
1160   21  21 Ket   19  19 Ket
1161   24     End   22     End
1162  ------------------------------------------------------------------  ------------------------------------------------------------------
1163  Capturing subpattern count = 1  Capturing subpattern count = 1
1164    Partial matching not supported
1165  No options  No options
1166  First char at start or follows \n  First char at start or follows \n
1167  No need char  No need char
1168    
1169  /(.*X|^B)/Ds  /(.*X|^B)/Ds
1170  ------------------------------------------------------------------  ------------------------------------------------------------------
1171    0  21 Bra 0    0  19 Bra 0
1172    3   8 Bra 1    3   7 Bra 1
1173    6     Any*    6     Any*
1174    8   1 X    8     X
1175   11   7 Alt   10   6 Alt
1176   14     ^   13     ^
1177   15   1 B   14     B
1178   18  15 Ket   16  13 Ket
1179   21  21 Ket   19  19 Ket
1180   24     End   22     End
1181  ------------------------------------------------------------------  ------------------------------------------------------------------
1182  Capturing subpattern count = 1  Capturing subpattern count = 1
1183    Partial matching not supported
1184  Options: anchored dotall  Options: anchored dotall
1185  No first char  No first char
1186  No need char  No need char
1187    
1188  /(?s)(.*X|^B)/D  /(?s)(.*X|^B)/D
1189  ------------------------------------------------------------------  ------------------------------------------------------------------
1190    0  21 Bra 0    0  19 Bra 0
1191    3   8 Bra 1    3   7 Bra 1
1192    6     Any*    6     Any*
1193    8   1 X    8     X
1194   11   7 Alt   10   6 Alt
1195   14     ^   13     ^
1196   15   1 B   14     B
1197   18  15 Ket   16  13 Ket
1198   21  21 Ket   19  19 Ket
1199   24     End   22     End
1200  ------------------------------------------------------------------  ------------------------------------------------------------------
1201  Capturing subpattern count = 1  Capturing subpattern count = 1
1202    Partial matching not supported
1203  Options: anchored dotall  Options: anchored dotall
1204  No first char  No first char
1205  No need char  No need char
1206    
1207  /(?s:.*X|^B)/D  /(?s:.*X|^B)/D
1208  ------------------------------------------------------------------  ------------------------------------------------------------------
1209    0  27 Bra 0    0  25 Bra 0
1210    3  10 Bra 0    3   9 Bra 0
1211    6  04 Opt    6  04 Opt
1212    8     Any*    8     Any*
1213   10   1 X   10     X
1214   13   9 Alt   12   8 Alt
1215   16  04 Opt   15  04 Opt
1216   18     ^   17     ^
1217   19   1 B   18     B
1218   22  19 Ket   20  17 Ket
1219   25  00 Opt   23  00 Opt
1220   27  27 Ket   25  25 Ket
1221   30     End   28     End
1222  ------------------------------------------------------------------  ------------------------------------------------------------------
1223  Capturing subpattern count = 0  Capturing subpattern count = 0
1224    Partial matching not supported
1225  No options  No options
1226  First char at start or follows \n  First char at start or follows \n
1227  No need char  No need char
# Line 1242  Need char = 's' Line 1299  Need char = 's'
1299  Capturing subpattern count = 0  Capturing subpattern count = 0
1300  Options: anchored  Options: anchored
1301  No first char  No first char
1302  Need char = 's'  No need char
1303      ississippi      ississippi
1304   0: iss   0: iss
1305   0+ issippi   0+ issippi
1306    
1307  /.*iss/g+  /.*iss/g+
1308  Capturing subpattern count = 0  Capturing subpattern count = 0
1309    Partial matching not supported
1310  No options  No options
1311  First char at start or follows \n  First char at start or follows \n
1312  Need char = 's'  Need char = 's'
# Line 1292  Need char = 'i' Line 1350  Need char = 'i'
1350  Capturing subpattern count = 0  Capturing subpattern count = 0
1351  Options: anchored  Options: anchored
1352  No first char  No first char
1353  Need char = 's'  No need char
1354      Mississippi      Mississippi
1355   0: Mis   0: Mis
1356   0+ sissippi   0+ sissippi
# Line 1301  Need char = 's' Line 1359  Need char = 's'
1359  Capturing subpattern count = 0  Capturing subpattern count = 0
1360  Options: anchored  Options: anchored
1361  No first char  No first char
1362  Need char = 10  No need char
1363      ab\nab\ncd      ab\nab\ncd
1364   0: ab\x0a   0: ab\x0a
1365   0+ ab\x0acd   0+ ab\x0acd
# Line 1349  Need char = 'c' Line 1407  Need char = 'c'
1407    
1408  /a*/  /a*/
1409  Capturing subpattern count = 0  Capturing subpattern count = 0
1410    Partial matching not supported
1411  No options  No options
1412  No first char  No first char
1413  No need char  No need char
1414    
1415  /a+/  /a+/
1416  Capturing subpattern count = 0  Capturing subpattern count = 0
1417    Partial matching not supported
1418  No options  No options
1419  First char = 'a'  First char = 'a'
1420  No need char  No need char
1421    
1422  /(baa|a+)/  /(baa|a+)/
1423  Capturing subpattern count = 1  Capturing subpattern count = 1
1424    Partial matching not supported
1425  No options  No options
1426  No first char  No first char
1427  Need char = 'a'  Need char = 'a'
1428    
1429  /a{0,3}/  /a{0,3}/
1430  Capturing subpattern count = 0  Capturing subpattern count = 0
1431    Partial matching not supported
1432  No options  No options
1433  No first char  No first char
1434  No need char  No need char
1435    
1436  /baa{3,}/  /baa{3,}/
1437  Capturing subpattern count = 0  Capturing subpattern count = 0
1438    Partial matching not supported
1439  No options  No options
1440  First char = 'b'  First char = 'b'
1441  Need char = 'a'  Need char = 'a'
1442    
1443  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/
1444  Capturing subpattern count = 1  Capturing subpattern count = 1
1445    Partial matching not supported
1446  No options  No options
1447  First char = '"'  First char = '"'
1448  Need char = '"'  Need char = '"'
# Line 1433  Need char = 'b' Line 1497  Need char = 'b'
1497    
1498  /abc*/  /abc*/
1499  Capturing subpattern count = 0  Capturing subpattern count = 0
1500    Partial matching not supported
1501  No options  No options
1502  First char = 'a'  First char = 'a'
1503  Need char = 'b'  Need char = 'b'
1504    
1505  /ab.c*/  /ab.c*/
1506  Capturing subpattern count = 0  Capturing subpattern count = 0
1507    Partial matching not supported
1508  No options  No options
1509  First char = 'a'  First char = 'a'
1510  Need char = 'b'  Need char = 'b'
1511    
1512  /a.c*/  /a.c*/
1513  Capturing subpattern count = 0  Capturing subpattern count = 0
1514    Partial matching not supported
1515  No options  No options
1516  First char = 'a'  First char = 'a'
1517  No need char  No need char
1518    
1519  /.c*/  /.c*/
1520  Capturing subpattern count = 0  Capturing subpattern count = 0
1521    Partial matching not supported
1522  No options  No options
1523  No first char  No first char
1524  No need char  No need char
1525    
1526  /ac*/  /ac*/
1527  Capturing subpattern count = 0  Capturing subpattern count = 0
1528    Partial matching not supported
1529  No options  No options
1530  First char = 'a'  First char = 'a'
1531  No need char  No need char
1532    
1533  /(a.c*|b.c*)/  /(a.c*|b.c*)/
1534  Capturing subpattern count = 1  Capturing subpattern count = 1
1535    Partial matching not supported
1536  No options  No options
1537  No first char  No first char
1538  No need char  No need char
1539    
1540  /a.c*|aba/  /a.c*|aba/
1541  Capturing subpattern count = 0  Capturing subpattern count = 0
1542    Partial matching not supported
1543  No options  No options
1544  First char = 'a'  First char = 'a'
1545  No need char  No need char
1546    
1547  /.+a/  /.+a/
1548  Capturing subpattern count = 0  Capturing subpattern count = 0
1549    Partial matching not supported
1550  No options  No options
1551  No first char  No first char
1552  Need char = 'a'  Need char = 'a'
1553    
1554  /(?=abcda)a.*/  /(?=abcda)a.*/
1555  Capturing subpattern count = 0  Capturing subpattern count = 0
1556    Partial matching not supported
1557  No options  No options
1558  First char = 'a'  First char = 'a'
1559  No need char  Need char = 'a'
1560    
1561  /(?=a)a.*/  /(?=a)a.*/
1562  Capturing subpattern count = 0  Capturing subpattern count = 0
1563    Partial matching not supported
1564  No options  No options
1565  First char = 'a'  First char = 'a'
1566  No need char  No need char
# Line 1499  No need char Line 1573  No need char
1573    
1574  /a\d*/  /a\d*/
1575  Capturing subpattern count = 0  Capturing subpattern count = 0
1576    Partial matching not supported
1577  No options  No options
1578  First char = 'a'  First char = 'a'
1579  No need char  No need char
1580    
1581  /ab\d*/  /ab\d*/
1582  Capturing subpattern count = 0  Capturing subpattern count = 0
1583    Partial matching not supported
1584  No options  No options
1585  First char = 'a'  First char = 'a'
1586  Need char = 'b'  Need char = 'b'
# Line 1523  Need char = 'd' Line 1599  Need char = 'd'
1599    
1600  /ab\d+/  /ab\d+/
1601  Capturing subpattern count = 0  Capturing subpattern count = 0
1602    Partial matching not supported
1603  No options  No options
1604  First char = 'a'  First char = 'a'
1605  Need char = 'b'  Need char = 'b'
# Line 1640  Study returned NULL Line 1717  Study returned NULL
1717    \)            # Closing )    \)            # Closing )
1718    /x    /x
1719  Capturing subpattern count = 0  Capturing subpattern count = 0
1720    Partial matching not supported
1721  Options: extended  Options: extended
1722  First char = '('  First char = '('
1723  Need char = ')'  Need char = ')'
# Line 1668  No match Line 1746  No match
1746    
1747  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /xg
1748  Capturing subpattern count = 1  Capturing subpattern count = 1
1749    Partial matching not supported
1750  Options: extended  Options: extended
1751  First char = '('  First char = '('
1752  Need char = ')'  Need char = ')'
# Line 1682  Need char = ')' Line 1761  Need char = ')'
1761    
1762  /\(  (?: (?>[^()]+) | (?R) ) \) /x  /\(  (?: (?>[^()]+) | (?R) ) \) /x
1763  Capturing subpattern count = 0  Capturing subpattern count = 0
1764    Partial matching not supported
1765  Options: extended  Options: extended
1766  First char = '('  First char = '('
1767  Need char = ')'  Need char = ')'
# Line 1700  No match Line 1780  No match
1780    
1781  /\(  (?: (?>[^()]+) | (?R) )? \) /x  /\(  (?: (?>[^()]+) | (?R) )? \) /x
1782  Capturing subpattern count = 0  Capturing subpattern count = 0
1783    Partial matching not supported
1784  Options: extended  Options: extended
1785  First char = '('  First char = '('
1786  Need char = ')'  Need char = ')'
# Line 1710  Need char = ')' Line 1791  Need char = ')'
1791    
1792  /\(  ( (?>[^()]+) | (?R) )* \) /x  /\(  ( (?>[^()]+) | (?R) )* \) /x
1793  Capturing subpattern count = 1  Capturing subpattern count = 1
1794    Partial matching not supported
1795  Options: extended  Options: extended
1796  First char = '('  First char = '('
1797  Need char = ')'  Need char = ')'
# Line 1719  Need char = ')' Line 1801  Need char = ')'
1801    
1802  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x
1803  Capturing subpattern count = 2  Capturing subpattern count = 2
1804    Partial matching not supported
1805  Options: extended  Options: extended
1806  First char = '('  First char = '('
1807  Need char = ')'  Need char = ')'
# Line 1729  Need char = ')' Line 1812  Need char = ')'
1812    
1813  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
1814  Capturing subpattern count = 3  Capturing subpattern count = 3
1815    Partial matching not supported
1816  Options: extended  Options: extended
1817  First char = '('  First char = '('
1818  Need char = ')'  Need char = ')'
# Line 1745  Need char = ')' Line 1829  Need char = ')'
1829    
1830  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
1831  Capturing subpattern count = 3  Capturing subpattern count = 3
1832    Partial matching not supported
1833  Options: extended  Options: extended
1834  First char = '('  First char = '('
1835  Need char = ')'  Need char = ')'
# Line 1761  Need char = ')' Line 1846  Need char = ')'
1846    
1847  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
1848  Capturing subpattern count = 11  Capturing subpattern count = 11
1849    Partial matching not supported
1850  Options: extended  Options: extended
1851  First char = '('  First char = '('
1852  Need char = ')'  Need char = ')'
# Line 1780  Need char = ')' Line 1866  Need char = ')'
1866    
1867  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
1868  Capturing subpattern count = 3  Capturing subpattern count = 3
1869    Partial matching not supported
1870  Options: extended  Options: extended
1871  First char = '('  First char = '('
1872  Need char = ')'  Need char = ')'
# Line 1787  Need char = ')' Line 1874  Need char = ')'
1874   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1875   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1876   2: 123   2: 123
1877   3: <p>qrs   3: <unset>
1878    
1879  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
1880  Capturing subpattern count = 3  Capturing subpattern count = 3
1881    Partial matching not supported
1882  Options: extended  Options: extended
1883  First char = '('  First char = '('
1884  Need char = ')'  Need char = ')'
# Line 1818  Options: anchored Line 1906  Options: anchored
1906  No first char  No first char
1907  No need char  No need char
1908    
1909    /^[[:^alnum:]]/D
1910    ------------------------------------------------------------------
1911      0  37 Bra 0
1912      3     ^
1913      4     [\x00-/:-@[-`{-\xff]
1914     37  37 Ket
1915     40     End
1916    ------------------------------------------------------------------
1917    Capturing subpattern count = 0
1918    Options: anchored
1919    No first char
1920    No need char
1921    
1922  /^[[:alpha:]]/D  /^[[:alpha:]]/D
1923  ------------------------------------------------------------------  ------------------------------------------------------------------
1924    0  37 Bra 0    0  37 Bra 0
# Line 1830  Capturing subpattern count = 0 Line 1931  Capturing subpattern count = 0
1931  Options: anchored  Options: anchored
1932  No first char  No first char
1933  No need char  No need char
1934    
1935    /^[[:^alpha:]]/D
1936    ------------------------------------------------------------------
1937      0  37 Bra 0
1938      3     ^
1939      4     [\x00-@[-`{-\xff]
1940     37  37 Ket
1941     40     End
1942    ------------------------------------------------------------------
1943    Capturing subpattern count = 0
1944    Options: anchored
1945    No first char
1946    No need char
1947    
1948  /^[[:ascii:]]/D  /^[[:ascii:]]/D
1949  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1844  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  /^[[:cntrl:]]/D  /^[[:cntrl:]]/D
1988  ------------------------------------------------------------------  ------------------------------------------------------------------
1989    0  37 Bra 0    0  37 Bra 0
# Line 1991  No need char Line 2131  No need char
2131  ------------------------------------------------------------------  ------------------------------------------------------------------
2132    0  37 Bra 0    0  37 Bra 0
2133    3     ^    3     ^
2134    4     [\x00-/1-2:-\xff]    4     [\x00-/12:-\xff]
2135     37  37 Ket
2136     40     End
2137    ------------------------------------------------------------------
2138    Capturing subpattern count = 0
2139    Options: anchored
2140    No first char
2141    No need char
2142    
2143    /^[[:^blank:]]/D
2144    ------------------------------------------------------------------
2145      0  37 Bra 0
2146      3     ^
2147      4     [\x00-\x08\x0a-\x1f!-\xff]
2148   37  37 Ket   37  37 Ket
2149   40     End   40     End
2150  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2003  No need char Line 2156  No need char
2156  /[01[:alpha:]%]/D  /[01[:alpha:]%]/D
2157  ------------------------------------------------------------------  ------------------------------------------------------------------
2158    0  36 Bra 0    0  36 Bra 0
2159    3     [%0-1A-Za-z]    3     [%01A-Za-z]
2160   36  36 Ket   36  36 Ket
2161   39     End   39     End
2162  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2076  Need char = 'd' Line 2229  Need char = 'd'
2229  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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)/  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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)/
2230  Capturing subpattern count = 271  Capturing subpattern count = 271
2231  Max back reference = 270  Max back reference = 270
2232    Partial matching not supported
2233  No options  No options
2234  No first char  No first char
2235  No need char  No need char
# Line 2372  Need char = 'n' Line 2526  Need char = 'n'
2526   1: main   1: main
2527   2: O   2: O
2528    
2529  / End of testinput2 /  /These are all cases where Perl does it differently (nested captures)/
2530    Capturing subpattern count = 1
2531    No options
2532    First char = 'T'
2533    Need char = 's'
2534    
2535    /^(a(b)?)+$/
2536    Capturing subpattern count = 2
2537    Options: anchored
2538    No first char
2539    No need char
2540        aba
2541     0: aba
2542     1: a
2543     2: b
2544    
2545    /^(aa(bb)?)+$/
2546    Capturing subpattern count = 2
2547    Options: anchored
2548    No first char
2549    No need char
2550        aabbaa
2551     0: aabbaa
2552     1: aa
2553     2: bb
2554    
2555    /^(aa|aa(bb))+$/
2556    Capturing subpattern count = 2
2557    Options: anchored
2558    No first char
2559    No need char
2560        aabbaa
2561     0: aabbaa
2562     1: aa
2563     2: bb
2564    
2565    /^(aa(bb)??)+$/
2566    Capturing subpattern count = 2
2567    Options: anchored
2568    No first char
2569    No need char
2570        aabbaa
2571     0: aabbaa
2572     1: aa
2573     2: bb
2574    
2575    /^(?:aa(bb)?)+$/
2576    Capturing subpattern count = 1
2577    Options: anchored
2578    No first char
2579    No need char
2580        aabbaa
2581     0: aabbaa
2582     1: bb
2583    
2584    /^(aa(b(b))?)+$/
2585    Capturing subpattern count = 3
2586    Options: anchored
2587    No first char
2588    No need char
2589        aabbaa
2590     0: aabbaa
2591     1: aa
2592     2: bb
2593     3: b
2594    
2595    /^(?:aa(b(b))?)+$/
2596    Capturing subpattern count = 2
2597    Options: anchored
2598    No first char
2599    No need char
2600        aabbaa
2601     0: aabbaa
2602     1: bb
2603     2: b
2604    
2605    /^(?:aa(b(?:b))?)+$/
2606    Capturing subpattern count = 1
2607    Options: anchored
2608    No first char
2609    No need char
2610        aabbaa
2611     0: aabbaa
2612     1: bb
2613    
2614    /^(?:aa(bb(?:b))?)+$/
2615    Capturing subpattern count = 1
2616    Options: anchored
2617    No first char
2618    No need char
2619        aabbbaa
2620     0: aabbbaa
2621     1: bbb
2622    
2623    /^(?:aa(b(?:bb))?)+$/
2624    Capturing subpattern count = 1
2625    Options: anchored
2626    No first char
2627    No need char
2628        aabbbaa
2629     0: aabbbaa
2630     1: bbb
2631    
2632    /^(?:aa(?:b(b))?)+$/
2633    Capturing subpattern count = 1
2634    Options: anchored
2635    No first char
2636    No need char
2637        aabbaa
2638     0: aabbaa
2639     1: b
2640    
2641    /^(?:aa(?:b(bb))?)+$/
2642    Capturing subpattern count = 1
2643    Options: anchored
2644    No first char
2645    No need char
2646        aabbbaa
2647     0: aabbbaa
2648     1: bb
2649    
2650    /^(aa(b(bb))?)+$/
2651    Capturing subpattern count = 3
2652    Options: anchored
2653    No first char
2654    No need char
2655        aabbbaa
2656     0: aabbbaa
2657     1: aa
2658     2: bbb
2659     3: bb
2660    
2661    /^(aa(bb(bb))?)+$/
2662    Capturing subpattern count = 3
2663    Options: anchored
2664    No first char
2665    No need char
2666        aabbbbaa
2667     0: aabbbbaa
2668     1: aa
2669     2: bbbb
2670     3: bb
2671    
2672    /--------------------------------------------------------------------/
2673  Capturing subpattern count = 0  Capturing subpattern count = 0
2674  No options  No options
2675  First char = ' '  First char = '-'
2676  Need char = ' '  Need char = '-'
2677    
2678    /#/xMD
2679    Memory allocation (code space): 7
2680    ------------------------------------------------------------------
2681      0   3 Bra 0
2682      3   3 Ket
2683      6     End
2684    ------------------------------------------------------------------
2685    Capturing subpattern count = 0
2686    Options: extended
2687    No first char
2688    No need char
2689    
2690    /a#/xMD
2691    Memory allocation (code space): 9
2692    ------------------------------------------------------------------
2693      0   5 Bra 0
2694      3     a
2695      5   5 Ket
2696      8     End
2697    ------------------------------------------------------------------
2698    Capturing subpattern count = 0
2699    Options: extended
2700    First char = 'a'
2701    No need char
2702    
2703    /[\s]/D
2704    ------------------------------------------------------------------
2705      0  36 Bra 0
2706      3     [\x09\x0a\x0c\x0d ]
2707     36  36 Ket
2708     39     End
2709    ------------------------------------------------------------------
2710    Capturing subpattern count = 0
2711    No options
2712    No first char
2713    No need char
2714    
2715    /[\S]/D
2716    ------------------------------------------------------------------
2717      0  36 Bra 0
2718      3     [\x00-\x08\x0b\x0e-\x1f!-\xff]
2719     36  36 Ket
2720     39     End
2721    ------------------------------------------------------------------
2722    Capturing subpattern count = 0
2723    No options
2724    No first char
2725    No need char
2726    
2727    /a(?i)b/D
2728    ------------------------------------------------------------------
2729      0   9 Bra 0
2730      3     a
2731      5  01 Opt
2732      7  NC b
2733      9   9 Ket
2734     12     End
2735    ------------------------------------------------------------------
2736    Capturing subpattern count = 0
2737    No options
2738    Case state changes
2739    First char = 'a'
2740    Need char = 'b' (caseless)
2741        ab
2742     0: ab
2743        aB
2744     0: aB
2745        *** Failers
2746    No match
2747        AB
2748    No match
2749    
2750    /(a(?i)b)/D
2751    ------------------------------------------------------------------
2752      0  17 Bra 0
2753      3   9 Bra 1
2754      6     a
2755      8  01 Opt
2756     10  NC b
2757     12   9 Ket
2758     15  00 Opt
2759     17  17 Ket
2760     20     End
2761    ------------------------------------------------------------------
2762    Capturing subpattern count = 1
2763    No options
2764    Case state changes
2765    First char = 'a'
2766    Need char = 'b' (caseless)
2767        ab
2768     0: ab
2769     1: ab
2770        aB
2771     0: aB
2772     1: aB
2773        *** Failers
2774    No match
2775        AB
2776    No match
2777    
2778    /   (?i)abc/xD
2779    ------------------------------------------------------------------
2780      0   9 Bra 0
2781      3  NC abc
2782      9   9 Ket
2783     12     End
2784    ------------------------------------------------------------------
2785    Capturing subpattern count = 0
2786    Options: caseless extended
2787    First char = 'a' (caseless)
2788    Need char = 'c' (caseless)
2789    
2790    /#this is a comment
2791      (?i)abc/xD
2792    ------------------------------------------------------------------
2793      0   9 Bra 0
2794      3  NC abc
2795      9   9 Ket
2796     12     End
2797    ------------------------------------------------------------------
2798    Capturing subpattern count = 0
2799    Options: caseless extended
2800    First char = 'a' (caseless)
2801    Need char = 'c' (caseless)
2802    
2803    /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2804    ------------------------------------------------------------------
2805      0 603 Bra 0
2806      3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2807    603 603 Ket
2808    606     End
2809    ------------------------------------------------------------------
2810    Capturing subpattern count = 0
2811    No options
2812    First char = '1'
2813    Need char = '0'
2814    
2815    /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2816    ------------------------------------------------------------------
2817      0 603 Bra 0
2818      3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2819    603 603 Ket
2820    606     End
2821    ------------------------------------------------------------------
2822    Capturing subpattern count = 0
2823    No options
2824    First char = '1'
2825    Need char = '0'
2826    
2827    /\Q\E/D
2828    ------------------------------------------------------------------
2829      0   3 Bra 0
2830      3   3 Ket
2831      6     End
2832    ------------------------------------------------------------------
2833    Capturing subpattern count = 0
2834    No options
2835    No first char
2836    No need char
2837        \
2838     0:
2839    
2840    /\Q\Ex/D
2841    ------------------------------------------------------------------
2842      0   5 Bra 0
2843      3     x
2844      5   5 Ket
2845      8     End
2846    ------------------------------------------------------------------
2847    Capturing subpattern count = 0
2848    No options
2849    First char = 'x'
2850    No need char
2851    
2852    / \Q\E/D
2853    ------------------------------------------------------------------
2854      0   5 Bra 0
2855      3
2856      5   5 Ket
2857      8     End
2858    ------------------------------------------------------------------
2859    Capturing subpattern count = 0
2860    No options
2861    First char = ' '
2862    No need char
2863    
2864    /a\Q\E/D
2865    ------------------------------------------------------------------
2866      0   5 Bra 0
2867      3     a
2868      5   5 Ket
2869      8     End
2870    ------------------------------------------------------------------
2871    Capturing subpattern count = 0
2872    No options
2873    First char = 'a'
2874    No need char
2875      abc
2876     0: a
2877      bca
2878     0: a
2879      bac
2880     0: a
2881    
2882    /a\Q\Eb/D
2883    ------------------------------------------------------------------
2884      0   7 Bra 0
2885      3     ab
2886      7   7 Ket
2887     10     End
2888    ------------------------------------------------------------------
2889    Capturing subpattern count = 0
2890    No options
2891    First char = 'a'
2892    Need char = 'b'
2893      abc
2894     0: ab
2895    
2896    /\Q\Eabc/D
2897    ------------------------------------------------------------------
2898      0   9 Bra 0
2899      3     abc
2900      9   9 Ket
2901     12     End
2902    ------------------------------------------------------------------
2903    Capturing subpattern count = 0
2904    No options
2905    First char = 'a'
2906    Need char = 'c'
2907    
2908    /x*+\w/D
2909    ------------------------------------------------------------------
2910      0  12 Bra 0
2911      3   5 Once
2912      6     x*
2913      8   5 Ket
2914     11     \w
2915     12  12 Ket
2916     15     End
2917    ------------------------------------------------------------------
2918    Capturing subpattern count = 0
2919    Partial matching not supported
2920    No options
2921    No first char
2922    No need char
2923        *** Failers
2924     0: F
2925        xxxxx
2926    No match
2927    
2928    /x?+/D
2929    ------------------------------------------------------------------
2930      0  11 Bra 0
2931      3   5 Once
2932      6     x?
2933      8   5 Ket
2934     11  11 Ket
2935     14     End
2936    ------------------------------------------------------------------
2937    Capturing subpattern count = 0
2938    No options
2939    No first char
2940    No need char
2941    
2942    /x++/D
2943    ------------------------------------------------------------------
2944      0  11 Bra 0
2945      3   5 Once
2946      6     x+
2947      8   5 Ket
2948     11  11 Ket
2949     14     End
2950    ------------------------------------------------------------------
2951    Capturing subpattern count = 0
2952    Partial matching not supported
2953    No options
2954    First char = 'x'
2955    No need char
2956    
2957    /x{1,3}+/D
2958    ------------------------------------------------------------------
2959      0  15 Bra 0
2960      3   9 Once
2961      6     x
2962      8     x{,2}
2963     12   9 Ket
2964     15  15 Ket
2965     18     End
2966    ------------------------------------------------------------------
2967    Capturing subpattern count = 0
2968    Partial matching not supported
2969    No options
2970    First char = 'x'
2971    No need char
2972    
2973    /(x)*+/D
2974    ------------------------------------------------------------------
2975      0  18 Bra 0
2976      3  12 Once
2977      6     Brazero
2978      7   5 Bra 1
2979     10     x
2980     12   5 KetRmax
2981     15  12 Ket
2982     18  18 Ket
2983     21     End
2984    ------------------------------------------------------------------
2985    Capturing subpattern count = 1
2986    No options
2987    No first char
2988    No need char
2989    
2990    /^(\w++|\s++)*$/
2991    Capturing subpattern count = 1
2992    Partial matching not supported
2993    Options: anchored
2994    No first char
2995    No need char
2996        now is the time for all good men to come to the aid of the party
2997     0: now is the time for all good men to come to the aid of the party
2998     1: party
2999        *** Failers
3000    No match
3001        this is not a line with only words and spaces!
3002    No match
3003    
3004    /(\d++)(\w)/
3005    Capturing subpattern count = 2
3006    Partial matching not supported
3007    No options
3008    No first char
3009    No need char
3010        12345a
3011     0: 12345a
3012     1: 12345
3013     2: a
3014        *** Failers
3015    No match
3016        12345+
3017    No match
3018    
3019    /a++b/
3020    Capturing subpattern count = 0
3021    Partial matching not supported
3022    No options
3023    First char = 'a'
3024    Need char = 'b'
3025        aaab
3026     0: aaab
3027    
3028    /(a++b)/
3029    Capturing subpattern count = 1
3030    Partial matching not supported
3031    No options
3032    First char = 'a'
3033    Need char = 'b'
3034        aaab
3035     0: aaab
3036     1: aaab
3037    
3038    /(a++)b/
3039    Capturing subpattern count = 1
3040    Partial matching not supported
3041    No options
3042    First char = 'a'
3043    Need char = 'b'
3044        aaab
3045     0: aaab
3046     1: aaa
3047    
3048    /([^()]++|\([^()]*\))+/
3049    Capturing subpattern count = 1
3050    Partial matching not supported
3051    No options
3052    No first char
3053    No need char
3054        ((abc(ade)ufh()()x
3055     0: abc(ade)ufh()()x
3056     1: x
3057    
3058    /\(([^()]++|\([^()]+\))+\)/
3059    Capturing subpattern count = 1
3060    Partial matching not supported
3061    No options
3062    First char = '('
3063    Need char = ')'
3064        (abc)
3065     0: (abc)
3066     1: abc
3067        (abc(def)xyz)
3068     0: (abc(def)xyz)
3069     1: xyz
3070        *** Failers
3071    No match
3072        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3073    No match
3074    
3075    /(abc){1,3}+/D
3076    ------------------------------------------------------------------
3077      0  53 Bra 0
3078      3  47 Once
3079      6   9 Bra 1
3080      9     abc
3081     15   9 Ket
3082     18     Brazero
3083     19  28 Bra 0
3084     22   9 Bra 1
3085     25     abc
3086     31   9 Ket
3087     34     Brazero
3088     35   9 Bra 1
3089     38     abc
3090     44   9 Ket
3091     47  28 Ket
3092     50  47 Ket
3093     53  53 Ket
3094     56     End
3095    ------------------------------------------------------------------
3096    Capturing subpattern count = 1
3097    No options
3098    First char = 'a'
3099    Need char = 'c'
3100    
3101    /a+?+/
3102    Failed: nothing to repeat at offset 3
3103    
3104    /a{2,3}?+b/
3105    Failed: nothing to repeat at offset 7
3106    
3107    /(?U)a+?+/
3108    Failed: nothing to repeat at offset 7
3109    
3110    /a{2,3}?+b/U
3111    Failed: nothing to repeat at offset 7
3112    
3113    /x(?U)a++b/D
3114    ------------------------------------------------------------------
3115      0  15 Bra 0
3116      3     x
3117      5   5 Once
3118      8     a+
3119     10   5 Ket
3120     13     b
3121     15  15 Ket
3122     18     End
3123    ------------------------------------------------------------------
3124    Capturing subpattern count = 0
3125    Partial matching not supported
3126    No options
3127    First char = 'x'
3128    Need char = 'b'
3129        xaaaab
3130     0: xaaaab
3131    
3132    /(?U)xa++b/D
3133    ------------------------------------------------------------------
3134      0  15 Bra 0
3135      3     x
3136      5   5 Once
3137      8     a+
3138     10   5 Ket
3139     13     b
3140     15  15 Ket
3141     18     End
3142    ------------------------------------------------------------------
3143    Capturing subpattern count = 0
3144    Partial matching not supported
3145    Options: ungreedy
3146    First char = 'x'
3147    Need char = 'b'
3148        xaaaab
3149     0: xaaaab
3150    
3151    /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D
3152    ------------------------------------------------------------------
3153      0 106 Bra 0
3154      3     ^
3155      4  99 Bra 1
3156      7   5 Bra 2
3157     10     a+
3158     12   5 Ket
3159     15  37 Bra 3
3160     18     [ab]+?
3161     52  37 Ket
3162     55  37 Bra 4
3163     58     [bc]+
3164     92  37 Ket
3165     95   5 Bra 5
3166     98     \w*
3167    100   5 Ket
3168    103  99 Ket
3169    106 106 Ket
3170    109     End
3171    ------------------------------------------------------------------
3172    Capturing subpattern count = 5
3173    Partial matching not supported
3174    Options: anchored
3175    No first char
3176    No need char
3177    
3178    /^x(?U)a+b/D
3179    ------------------------------------------------------------------
3180      0  10 Bra 0
3181      3     ^
3182      4     x
3183      6     a+?
3184      8     b
3185     10  10 Ket
3186     13     End
3187    ------------------------------------------------------------------
3188    Capturing subpattern count = 0
3189    Partial matching not supported
3190    Options: anchored
3191    No first char
3192    Need char = 'b'
3193    
3194    /^x(?U)(a+)b/D
3195    ------------------------------------------------------------------
3196      0  16 Bra 0
3197      3     ^
3198      4     x
3199      6   5 Bra 1
3200      9     a+?
3201     11   5 Ket
3202     14     b
3203     16  16 Ket
3204     19     End
3205    ------------------------------------------------------------------
3206    Capturing subpattern count = 1
3207    Partial matching not supported
3208    Options: anchored
3209    No first char
3210    Need char = 'b'
3211    
3212    /[.x.]/
3213    Failed: POSIX collating elements are not supported at offset 0
3214    
3215    /[=x=]/
3216    Failed: POSIX collating elements are not supported at offset 0
3217    
3218    /[:x:]/
3219    Failed: POSIX named classes are supported only within a class at offset 0
3220    
3221    /\l/
3222    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3223    
3224    /\L/
3225    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3226    
3227    /\N{name}/
3228    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3229    
3230    /\u/
3231    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3232    
3233    /\U/
3234    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3235    
3236    /[/
3237    Failed: missing terminating ] for character class at offset 1
3238    
3239    /[a-/
3240    Failed: missing terminating ] for character class at offset 3
3241    
3242    /[[:space:]/
3243    Failed: missing terminating ] for character class at offset 10
3244    
3245    /[\s]/DM
3246    Memory allocation (code space): 40
3247    ------------------------------------------------------------------
3248      0  36 Bra 0
3249      3     [\x09\x0a\x0c\x0d ]
3250     36  36 Ket
3251     39     End
3252    ------------------------------------------------------------------
3253    Capturing subpattern count = 0
3254    No options
3255    No first char
3256    No need char
3257    
3258    /[[:space:]]/DM
3259    Memory allocation (code space): 40
3260    ------------------------------------------------------------------
3261      0  36 Bra 0
3262      3     [\x09-\x0d ]
3263     36  36 Ket
3264     39     End
3265    ------------------------------------------------------------------
3266    Capturing subpattern count = 0
3267    No options
3268    No first char
3269    No need char
3270    
3271    /[[:space:]abcde]/DM
3272    Memory allocation (code space): 40
3273    ------------------------------------------------------------------
3274      0  36 Bra 0
3275      3     [\x09-\x0d a-e]
3276     36  36 Ket
3277     39     End
3278    ------------------------------------------------------------------
3279    Capturing subpattern count = 0
3280    No options
3281    No first char
3282    No need char
3283    
3284    /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x
3285    Capturing subpattern count = 0
3286    Partial matching not supported
3287    Options: extended
3288    First char = '<'
3289    Need char = '>'
3290        <>
3291     0: <>
3292        <abcd>
3293     0: <abcd>
3294        <abc <123> hij>
3295     0: <abc <123> hij>
3296        <abc <def> hij>
3297     0: <def>
3298        <abc<>def>
3299     0: <abc<>def>
3300        <abc<>
3301     0: <>
3302        *** Failers
3303    No match
3304        <abc
3305    No match
3306    
3307    |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
3308    Memory allocation (code space): 826
3309    ------------------------------------------------------------------
3310      0 822 Bra 0
3311      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
3312    821     \b
3313    822 822 Ket
3314    825     End
3315    ------------------------------------------------------------------
3316    Capturing subpattern count = 0
3317    No options
3318    First char = '8'
3319    Need char = 'X'
3320    
3321    |\$\<\.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
3322    Memory allocation (code space): 816
3323    ------------------------------------------------------------------
3324      0 812 Bra 0
3325      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
3326    811     \b
3327    812 812 Ket
3328    815     End
3329    ------------------------------------------------------------------
3330    Capturing subpattern count = 0
3331    No options
3332    First char = '$'
3333    Need char = 'X'
3334    
3335    /(.*)\d+\1/I
3336    Capturing subpattern count = 1
3337    Max back reference = 1
3338    Partial matching not supported
3339    No options
3340    No first char
3341    No need char
3342    
3343    /(.*)\d+/I
3344    Capturing subpattern count = 1
3345    Partial matching not supported
3346    No options
3347    First char at start or follows \n
3348    No need char
3349    
3350    /(.*)\d+\1/Is
3351    Capturing subpattern count = 1
3352    Max back reference = 1
3353    Partial matching not supported
3354    Options: dotall
3355    No first char
3356    No need char
3357    
3358    /(.*)\d+/Is
3359    Capturing subpattern count = 1
3360    Partial matching not supported
3361    Options: anchored dotall
3362    No first char
3363    No need char
3364    
3365    /(.*(xyz))\d+\2/I
3366    Capturing subpattern count = 2
3367    Max back reference = 2
3368    Partial matching not supported
3369    No options
3370    First char at start or follows \n
3371    Need char = 'z'
3372    
3373    /((.*))\d+\1/I
3374    Capturing subpattern count = 2
3375    Max back reference = 1
3376    Partial matching not supported
3377    No options
3378    No first char
3379    No need char
3380        abc123bc
3381     0: bc123bc
3382     1: bc
3383     2: bc
3384    
3385    /a[b]/I
3386    Capturing subpattern count = 0
3387    No options
3388    First char = 'a'
3389    Need char = 'b'
3390    
3391    /(?=a).*/I
3392    Capturing subpattern count = 0
3393    Partial matching not supported
3394    No options
3395    First char = 'a'
3396    No need char
3397    
3398    /(?=abc).xyz/iI
3399    Capturing subpattern count = 0
3400    Options: caseless
3401    First char = 'a' (caseless)
3402    Need char = 'z' (caseless)
3403    
3404    /(?=abc)(?i).xyz/I
3405    Capturing subpattern count = 0
3406    No options
3407    Case state changes
3408    First char = 'a'
3409    Need char = 'z' (caseless)
3410    
3411    /(?=a)(?=b)/I
3412    Capturing subpattern count = 0
3413    No options
3414    First char = 'a'
3415    No need char
3416    
3417    /(?=.)a/I
3418    Capturing subpattern count = 0
3419    No options
3420    First char = 'a'
3421    No need char
3422    
3423    /((?=abcda)a)/I
3424    Capturing subpattern count = 1
3425    No options
3426    First char = 'a'
3427    Need char = 'a'
3428    
3429    /((?=abcda)ab)/I
3430    Capturing subpattern count = 1
3431    No options
3432    First char = 'a'
3433    Need char = 'b'
3434    
3435    /()a/I
3436    Capturing subpattern count = 1
3437    No options
3438    No first char
3439    Need char = 'a'
3440    
3441    /(?(1)ab|ac)/I
3442    Capturing subpattern count = 0
3443    No options
3444    First char = 'a'
3445    No need char
3446    
3447    /(?(1)abz|acz)/I
3448    Capturing subpattern count = 0
3449    No options
3450    First char = 'a'
3451    Need char = 'z'
3452    
3453    /(?(1)abz)/I
3454    Capturing subpattern count = 0
3455    No options
3456    No first char
3457    No need char
3458    
3459    /(?(1)abz)123/I
3460    Capturing subpattern count = 0
3461    No options
3462    No first char
3463    Need char = '3'
3464    
3465    /(a)+/I
3466    Capturing subpattern count = 1
3467    No options
3468    First char = 'a'
3469    No need char
3470    
3471    /(a){2,3}/I
3472    Capturing subpattern count = 1
3473    No options
3474    First char = 'a'
3475    Need char = 'a'
3476    
3477    /(a)*/I
3478    Capturing subpattern count = 1
3479    No options
3480    No first char
3481    No need char
3482    
3483    /[a]/I
3484    Capturing subpattern count = 0
3485    No options
3486    First char = 'a'
3487    No need char
3488    
3489    /[ab]/I
3490    Capturing subpattern count = 0
3491    No options
3492    No first char
3493    No need char
3494    
3495    /[ab]/IS
3496    Capturing subpattern count = 0
3497    No options
3498    No first char
3499    No need char
3500    Starting byte set: a b
3501    
3502    /[^a]/I
3503    Capturing subpattern count = 0
3504    No options
3505    No first char
3506    No need char
3507    
3508    /\d456/I
3509    Capturing subpattern count = 0
3510    No options
3511    No first char
3512    Need char = '6'
3513    
3514    /\d456/IS
3515    Capturing subpattern count = 0
3516    No options
3517    No first char
3518    Need char = '6'
3519    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3520    
3521    /a^b/I
3522    Capturing subpattern count = 0
3523    No options
3524    First char = 'a'
3525    Need char = 'b'
3526    
3527    /^a/mI
3528    Capturing subpattern count = 0
3529    Options: multiline
3530    First char at start or follows \n
3531    Need char = 'a'
3532      abcde
3533     0: a
3534      xy\nabc
3535     0: a
3536      *** Failers
3537    No match
3538      xyabc
3539    No match
3540    
3541    /c|abc/I
3542    Capturing subpattern count = 0
3543    No options
3544    No first char
3545    Need char = 'c'
3546    
3547    /(?i)[ab]/IS
3548    Capturing subpattern count = 0
3549    Options: caseless
3550    No first char
3551    No need char
3552    Starting byte set: A B a b
3553    
3554    /[ab](?i)cd/IS
3555    Capturing subpattern count = 0
3556    No options
3557    Case state changes
3558    No first char
3559    Need char = 'd' (caseless)
3560    Starting byte set: a b
3561    
3562    /abc(?C)def/
3563    Capturing subpattern count = 0
3564    No options
3565    First char = 'a'
3566    Need char = 'f'
3567        abcdef
3568    --->abcdef
3569      0 ^  ^       d
3570     0: abcdef
3571        1234abcdef
3572    --->1234abcdef
3573      0     ^  ^       d
3574     0: abcdef
3575        *** Failers
3576    No match
3577        abcxyz
3578    No match
3579        abcxyzf
3580    --->abcxyzf
3581      0 ^  ^        d
3582    No match
3583    
3584    /abc(?C)de(?C1)f/
3585    Capturing subpattern count = 0
3586    No options
3587    First char = 'a'
3588    Need char = 'f'
3589        123abcdef
3590    --->123abcdef
3591      0    ^  ^       d
3592      1    ^    ^     f
3593     0: abcdef
3594    
3595    /(?C1)\dabc(?C2)def/
3596    Capturing subpattern count = 0
3597    No options
3598    No first char
3599    Need char = 'f'
3600        1234abcdef
3601    --->1234abcdef
3602      1 ^              \d
3603      1  ^             \d
3604      1   ^            \d
3605      1    ^           \d
3606      2    ^   ^       d
3607     0: 4abcdef
3608        *** Failers
3609    No match
3610        abcdef
3611    --->abcdef
3612      1 ^          \d
3613      1  ^         \d
3614      1   ^        \d
3615      1    ^       \d
3616      1     ^      \d
3617      1      ^     \d
3618    No match
3619    
3620    /(?C255)ab/
3621    Capturing subpattern count = 0
3622    No options
3623    First char = 'a'
3624    Need char = 'b'
3625    
3626    /(?C256)ab/
3627    Failed: number after (?C is > 255 at offset 6
3628    
3629    /(?Cab)xx/
3630    Failed: closing ) for (?C expected at offset 3
3631    
3632    /(?C12vr)x/
3633    Failed: closing ) for (?C expected at offset 5
3634    
3635    /abc(?C)def/
3636    Capturing subpattern count = 0
3637    No options
3638    First char = 'a'
3639    Need char = 'f'
3640        *** Failers
3641    No match
3642        \x83\x0\x61bcdef
3643    --->\x83\x00abcdef
3644      0         ^  ^       d
3645     0: abcdef
3646    
3647    /(abc)(?C)de(?C1)f/
3648    Capturing subpattern count = 1
3649    No options
3650    First char = 'a'
3651    Need char = 'f'
3652        123abcdef
3653    --->123abcdef
3654      0    ^  ^       d
3655      1    ^    ^     f
3656     0: abcdef
3657     1: abc
3658        123abcdef\C+
3659    Callout 0: last capture = 1
3660     0: <unset>
3661     1: abc
3662    --->123abcdef
3663           ^  ^       d
3664    Callout 1: last capture = 1
3665     0: <unset>
3666     1: abc
3667    --->123abcdef
3668           ^    ^     f
3669     0: abcdef
3670     1: abc
3671        123abcdef\C-
3672     0: abcdef
3673     1: abc
3674        *** Failers
3675    No match
3676        123abcdef\C!1
3677    --->123abcdef
3678      0    ^  ^       d
3679      1    ^    ^     f
3680    No match
3681    
3682    /(?C0)(abc(?C1))*/
3683    Capturing subpattern count = 1
3684    No options
3685    No first char
3686    No need char
3687        abcabcabc
3688    --->abcabcabc
3689      0 ^             (abc(?C1))*
3690      1 ^  ^          )
3691      1 ^     ^       )
3692      1 ^        ^    )
3693     0: abcabcabc
3694     1: abc
3695        abcabc\C!1!3
3696    --->abcabc
3697      0 ^          (abc(?C1))*
3698      1 ^  ^       )
3699      1 ^     ^    )
3700     0: abcabc
3701     1: abc
3702        *** Failers
3703    --->*** Failers
3704      0 ^               (abc(?C1))*
3705     0:
3706        abcabcabc\C!1!3
3707    --->abcabcabc
3708      0 ^             (abc(?C1))*
3709      1 ^  ^          )
3710      1 ^     ^       )
3711      1 ^        ^    )
3712     0: abcabc
3713     1: abc
3714    
3715    /(\d{3}(?C))*/
3716    Capturing subpattern count = 1
3717    Partial matching not supported
3718    No options
3719    No first char
3720    No need char
3721        123\C+
3722    Callout 0: last capture = -1
3723     0: <unset>
3724    --->123
3725        ^  ^    )
3726     0: 123
3727     1: 123
3728        123456\C+
3729    Callout 0: last capture = -1
3730     0: <unset>
3731    --->123456
3732        ^  ^       )
3733    Callout 0: last capture = 1
3734     0: <unset>
3735     1: 123
3736    --->123456
3737        ^     ^    )
3738     0: 123456
3739     1: 456
3740        123456789\C+
3741    Callout 0: last capture = -1
3742     0: <unset>
3743    --->123456789
3744        ^  ^          )
3745    Callout 0: last capture = 1
3746     0: <unset>
3747     1: 123
3748    --->123456789
3749        ^     ^       )
3750    Callout 0: last capture = 1
3751     0: <unset>
3752     1: 456
3753    --->123456789
3754        ^        ^    )
3755     0: 123456789
3756     1: 789
3757    
3758    /((xyz)(?C)p|(?C1)xyzabc)/
3759    Capturing subpattern count = 2
3760    No options
3761    First char = 'x'
3762    No need char
3763        xyzabc\C+
3764    Callout 0: last capture = 2
3765     0: <unset>
3766     1: <unset>
3767     2: xyz
3768    --->xyzabc
3769        ^  ^       p
3770    Callout 1: last capture = -1
3771     0: <unset>
3772    --->xyzabc
3773        ^          x
3774     0: xyzabc
3775     1: xyzabc
3776    
3777    /(X)((xyz)(?C)p|(?C1)xyzabc)/
3778    Capturing subpattern count = 3
3779    No options
3780    First char = 'X'
3781    Need char = 'x'
3782        Xxyzabc\C+
3783    Callout 0: last capture = 3
3784     0: <unset>
3785     1: X
3786     2: <unset>
3787     3: xyz
3788    --->Xxyzabc
3789        ^   ^       p
3790    Callout 1: last capture = 1
3791     0: <unset>
3792     1: X
3793    --->Xxyzabc
3794        ^^          x
3795     0: Xxyzabc
3796     1: X
3797     2: xyzabc
3798    
3799    /(?=(abc))(?C)abcdef/
3800    Capturing subpattern count = 1
3801    No options
3802    First char = 'a'
3803    Need char = 'f'
3804        abcdef\C+
3805    Callout 0: last capture = 1
3806     0: <unset>
3807     1: abc
3808    --->abcdef
3809        ^          a
3810     0: abcdef
3811     1: abc
3812    
3813    /(?!(abc)(?C1)d)(?C2)abcxyz/
3814    Capturing subpattern count = 1
3815    No options
3816    First char = 'a'
3817    Need char = 'z'
3818        abcxyz\C+
3819    Callout 1: last capture = 1
3820     0: <unset>
3821     1: abc
3822    --->abcxyz
3823        ^  ^       d
3824    Callout 2: last capture = -1
3825     0: <unset>
3826    --->abcxyz
3827        ^          a
3828     0: abcxyz
3829    
3830    /(?<=(abc)(?C))xyz/
3831    Capturing subpattern count = 1
3832    No options
3833    First char = 'x'
3834    Need char = 'z'
3835       abcxyz\C+
3836    Callout 0: last capture = 1
3837     0: <unset>
3838     1: abc
3839    --->abcxyz
3840           ^       )
3841     0: xyz
3842     1: abc
3843    
3844    /a(b+)(c*)(?C1)/
3845    Capturing subpattern count = 2
3846    Partial matching not supported
3847    No options
3848    First char = 'a'
3849    Need char = 'b'
3850        abbbbbccc\C*1
3851    --->abbbbbccc
3852      1 ^        ^
3853    Callout data = 1
3854      1 ^       ^
3855    Callout data = 1
3856      1 ^      ^
3857    Callout data = 1
3858      1 ^     ^
3859    Callout data = 1
3860      1 ^    ^
3861    Callout data = 1
3862      1 ^   ^
3863    Callout data = 1
3864      1 ^  ^
3865    Callout data = 1
3866      1 ^ ^
3867    Callout data = 1
3868    No match
3869    
3870    /a(b+?)(c*?)(?C1)/
3871    Capturing subpattern count = 2
3872    Partial matching not supported
3873    No options
3874    First char = 'a'
3875    Need char = 'b'
3876        abbbbbccc\C*1
3877    --->abbbbbccc
3878      1 ^ ^
3879    Callout data = 1
3880      1 ^  ^
3881    Callout data = 1
3882      1 ^   ^
3883    Callout data = 1
3884      1 ^    ^
3885    Callout data = 1
3886      1 ^     ^
3887    Callout data = 1
3888      1 ^      ^
3889    Callout data = 1
3890      1 ^       ^
3891    Callout data = 1
3892      1 ^        ^
3893    Callout data = 1
3894    No match
3895    
3896    /(?C)abc/
3897    Capturing subpattern count = 0
3898    No options
3899    First char = 'a'
3900    Need char = 'c'
3901    
3902    /(?C)^abc/
3903    Capturing subpattern count = 0
3904    Options: anchored
3905    No first char
3906    No need char
3907    
3908    /(?C)a|b/S
3909    Capturing subpattern count = 0
3910    No options
3911    No first char
3912    No need char
3913    Starting byte set: a b
3914    
3915    /(?R)/
3916    Failed: recursive call could loop indefinitely at offset 3
3917    
3918    /(a|(?R))/
3919    Failed: recursive call could loop indefinitely at offset 6
3920    
3921    /(ab|(bc|(de|(?R))))/
3922    Failed: recursive call could loop indefinitely at offset 15
3923    
3924    /x(ab|(bc|(de|(?R))))/
3925    Capturing subpattern count = 3
3926    No options
3927    First char = 'x'
3928    No need char
3929        xab
3930     0: xab
3931     1: ab
3932        xbc
3933     0: xbc
3934     1: bc
3935     2: bc
3936        xde
3937     0: xde
3938     1: de
3939     2: de
3940     3: de
3941        xxab
3942     0: xxab
3943     1: xab
3944     2: xab
3945     3: xab
3946        xxxab
3947     0: xxxab
3948     1: xxab
3949     2: xxab
3950     3: xxab
3951        *** Failers
3952    No match
3953        xyab
3954    No match
3955    
3956    /(ab|(bc|(de|(?1))))/
3957    Failed: recursive call could loop indefinitely at offset 15
3958    
3959    /x(ab|(bc|(de|(?1)x)x)x)/
3960    Failed: recursive call could loop indefinitely at offset 16
3961    
3962    /^([^()]|\((?1)*\))*$/
3963    Capturing subpattern count = 1
3964    Options: anchored
3965    No first char
3966    No need char
3967        abc
3968     0: abc
3969     1: c
3970        a(b)c
3971     0: a(b)c
3972     1: c
3973        a(b(c))d
3974     0: a(b(c))d
3975     1: d
3976        *** Failers)
3977    No match
3978        a(b(c)d
3979    No match
3980    
3981    /^>abc>([^()]|\((?1)*\))*<xyz<$/
3982    Capturing subpattern count = 1
3983    Options: anchored
3984    No first char
3985    Need char = '<'
3986       >abc>123<xyz<
3987     0: >abc>123<xyz<
3988     1: 3
3989       >abc>1(2)3<xyz<
3990     0: >abc>1(2)3<xyz<
3991     1: 3
3992       >abc>(1(2)3)<xyz<
3993     0: >abc>(1(2)3)<xyz<
3994     1: (1(2)3)
3995    
3996    /(a(?1)b)/D
3997    ------------------------------------------------------------------
3998      0  16 Bra 0
3999      3  10 Bra 1
4000      6     a
4001      8   3 Recurse
4002     11     b
4003     13  10 Ket
4004     16  16 Ket
4005     19     End
4006    ------------------------------------------------------------------
4007    Capturing subpattern count = 1
4008    No options
4009    First char = 'a'
4010    Need char = 'b'
4011    
4012    /(a(?1)+b)/D
4013    ------------------------------------------------------------------
4014      0  22 Bra 0
4015      3  16 Bra 1
4016      6     a
4017      8   6 Bra 0
4018     11   3 Recurse
4019     14   6 KetRmax
4020     17     b
4021     19  16 Ket
4022     22  22 Ket
4023     25     End
4024    ------------------------------------------------------------------
4025    Capturing subpattern count = 1
4026    No options
4027    First char = 'a'
4028    Need char = 'b'
4029    
4030    /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i
4031    Capturing subpattern count = 4
4032    Max back reference = 4
4033    Partial matching not supported
4034    Options: anchored caseless
4035    No first char
4036    No need char
4037        1221
4038     0: 1221
4039     1: 1221
4040     2: 1
4041        Satan, oscillate my metallic sonatas!
4042     0: Satan, oscillate my metallic sonatas!
4043     1: <unset>
4044     2: <unset>
4045     3: Satan, oscillate my metallic sonatas
4046     4: S
4047        A man, a plan, a canal: Panama!
4048     0: A man, a plan, a canal: Panama!
4049     1: <unset>
4050     2: <unset>
4051     3: A man, a plan, a canal: Panama
4052     4: A
4053        Able was I ere I saw Elba.
4054     0: Able was I ere I saw Elba.
4055     1: <unset>
4056     2: <unset>
4057     3: Able was I ere I saw Elba
4058     4: A
4059        *** Failers
4060    No match
4061        The quick brown fox
4062    No match
4063    
4064    /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
4065    Capturing subpattern count = 2
4066    Partial matching not supported
4067    Options: anchored
4068    No first char
4069    No need char
4070        12
4071     0: 12
4072     1: 12
4073        (((2+2)*-3)-7)
4074     0: (((2+2)*-3)-7)
4075     1: (((2+2)*-3)-7)
4076     2: -
4077        -12
4078     0: -12
4079     1: -12
4080        *** Failers
4081    No match
4082        ((2+2)*-3)-7)
4083    No match
4084    
4085    /^(x(y|(?1){2})z)/
4086    Capturing subpattern count = 2
4087    Options: anchored
4088    No first char
4089    No need char
4090        xyz
4091     0: xyz
4092     1: xyz
4093     2: y
4094        xxyzxyzz
4095     0: xxyzxyzz
4096     1: xxyzxyzz
4097     2: xyzxyz
4098        *** Failers
4099    No match
4100        xxyzz
4101    No match
4102        xxyzxyzxyzz
4103    No match
4104    
4105    /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x
4106    Capturing subpattern count = 2
4107    Partial matching not supported
4108    Options: extended
4109    First char = '<'
4110    Need char = '>'
4111        <>
4112     0: <>
4113     1: <>
4114     2: <>
4115        <abcd>
4116     0: <abcd>
4117     1: <abcd>
4118     2: <abcd>
4119        <abc <123> hij>
4120     0: <abc <123> hij>
4121     1: <abc <123> hij>
4122     2: <abc <123> hij>
4123        <abc <def> hij>
4124     0: <def>
4125     1: <def>
4126     2: <def>
4127        <abc<>def>
4128     0: <abc<>def>
4129     1: <abc<>def>
4130     2: <abc<>def>
4131        <abc<>
4132     0: <>
4133     1: <>
4134     2: <>
4135        *** Failers
4136    No match
4137        <abc
4138    No match
4139    
4140    /(?1)/
4141    Failed: reference to non-existent subpattern at offset 3
4142    
4143    /((?2)(abc)/
4144    Failed: reference to non-existent subpattern at offset 4
4145    
4146    /^(abc)def(?1)/
4147    Capturing subpattern count = 1
4148    Options: anchored
4149    No first char
4150    No need char
4151        abcdefabc
4152     0: abcdefabc
4153     1: abc
4154    
4155    /^(a|b|c)=(?1)+/
4156    Capturing subpattern count = 1
4157    Options: anchored
4158    No first char
4159    No need char
4160        a=a
4161     0: a=a
4162     1: a
4163        a=b
4164     0: a=b
4165     1: a
4166        a=bc
4167     0: a=bc
4168     1: a
4169    
4170    /^(a|b|c)=((?1))+/
4171    Capturing subpattern count = 2
4172    Options: anchored
4173    No first char
4174    No need char
4175        a=a
4176     0: a=a
4177     1: a
4178     2: a
4179        a=b
4180     0: a=b
4181     1: a
4182     2: b
4183        a=bc
4184     0: a=bc
4185     1: a
4186     2: c
4187    
4188    /a(?P<name1>b|c)d(?P<longername2>e)/D
4189    ------------------------------------------------------------------
4190      0  28 Bra 0
4191      3     a
4192      5   5 Bra 1
4193      8     b
4194     10   5 Alt
4195     13     c
4196     15  10 Ket
4197     18     d
4198     20   5 Bra 2
4199     23     e
4200     25   5 Ket
4201     28  28 Ket
4202     31     End
4203    ------------------------------------------------------------------
4204    Capturing subpattern count = 2
4205    Named capturing subpatterns:
4206      longername2   2
4207      name1         1
4208    No options
4209    First char = 'a'
4210    Need char = 'e'
4211        abde
4212     0: abde
4213     1: b
4214     2: e
4215        acde
4216     0: acde
4217     1: c
4218     2: e
4219    
4220    /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
4221    ------------------------------------------------------------------
4222      0  35 Bra 0
4223      3  21 Bra 0
4224      6     a
4225      8  13 Bra 1
4226     11     c
4227     13   5 Bra 2
4228     16     d
4229     18   5 Ket
4230     21  13 Ket
4231     24  21 Ket
4232     27   5 Bra 3
4233     30     a
4234     32   5 Ket
4235     35  35 Ket
4236     38     End
4237    ------------------------------------------------------------------
4238    Capturing subpattern count = 3
4239    Named capturing subpatterns:
4240      a   3
4241      c   1
4242      d   2
4243    No options
4244    First char = 'a'
4245    Need char = 'a'
4246    
4247    /(?P<a>a)...(?P=a)bbb(?P>a)d/D
4248    ------------------------------------------------------------------
4249      0  28 Bra 0
4250      3   5 Bra 1
4251      6     a
4252      8   5 Ket
4253     11     Any
4254     12     Any
4255     13     Any
4256     14     \1
4257     17     bbb
4258     23   3 Recurse
4259     26     d
4260     28  28 Ket
4261     31     End
4262    ------------------------------------------------------------------
4263    Capturing subpattern count = 1
4264    Max back reference = 1
4265    Named capturing subpatterns:
4266      a   1
4267    No options
4268    First char = 'a'
4269    Need char = 'd'
4270    
4271    /^\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
4272    Capturing subpattern count = 4
4273    Max back reference = 4
4274    Named capturing subpatterns:
4275      four    4
4276      one     1
4277      three   3
4278      two     2
4279    Partial matching not supported
4280    Options: anchored caseless
4281    No first char
4282    No need char
4283        1221
4284     0: 1221
4285     1: 1221
4286     2: 1
4287        Satan, oscillate my metallic sonatas!
4288     0: Satan, oscillate my metallic sonatas!
4289     1: <unset>
4290     2: <unset>
4291     3: Satan, oscillate my metallic sonatas
4292     4: S
4293        A man, a plan, a canal: Panama!
4294     0: A man, a plan, a canal: Panama!
4295     1: <unset>
4296     2: <unset>
4297     3: A man, a plan, a canal: Panama
4298     4: A
4299        Able was I ere I saw Elba.
4300     0: Able was I ere I saw Elba.
4301     1: <unset>
4302     2: <unset>
4303     3: Able was I ere I saw Elba
4304     4: A
4305        *** Failers
4306    No match
4307        The quick brown fox
4308    No match
4309    
4310    /((?(R)a|b))\1(?1)?/
4311    Capturing subpattern count = 1
4312    Max back reference = 1
4313    No options
4314    No first char
4315    No need char
4316      bb
4317     0: bb
4318     1: b
4319      bbaa
4320     0: bba
4321     1: b
4322    
4323    /(.*)a/sI
4324    Capturing subpattern count = 1
4325    Partial matching not supported
4326    Options: anchored dotall
4327    No first char
4328    Need char = 'a'
4329    
4330    /(.*)a\1/sI
4331    Capturing subpattern count = 1
4332    Max back reference = 1
4333    Partial matching not supported
4334    Options: dotall
4335    No first char
4336    Need char = 'a'
4337    
4338    /(.*)a(b)\2/sI
4339    Capturing subpattern count = 2
4340    Max back reference = 2
4341    Partial matching not supported
4342    Options: anchored dotall
4343    No first char
4344    Need char = 'b'
4345    
4346    /((.*)a|(.*)b)z/sI
4347    Capturing subpattern count = 3
4348    Partial matching not supported
4349    Options: anchored dotall
4350    No first char
4351    Need char = 'z'
4352    
4353    /((.*)a|(.*)b)z\1/sI
4354    Capturing subpattern count = 3
4355    Max back reference = 1
4356    Partial matching not supported
4357    Options: dotall
4358    No first char
4359    Need char = 'z'
4360    
4361    /((.*)a|(.*)b)z\2/sI
4362    Capturing subpattern count = 3
4363    Max back reference = 2
4364    Partial matching not supported
4365    Options: dotall
4366    No first char
4367    Need char = 'z'
4368    
4369    /((.*)a|(.*)b)z\3/sI
4370    Capturing subpattern count = 3
4371    Max back reference = 3
4372    Partial matching not supported
4373    Options: dotall
4374    No first char
4375    Need char = 'z'
4376    
4377    /((.*)a|^(.*)b)z\3/sI
4378    Capturing subpattern count = 3
4379    Max back reference = 3
4380    Partial matching not supported
4381    Options: anchored dotall
4382    No first char
4383    Need char = 'z'
4384    
4385    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI
4386    Capturing subpattern count = 31
4387    Partial matching not supported
4388    Options: anchored dotall
4389    No first char
4390    No need char
4391    
4392    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI
4393    Capturing subpattern count = 31
4394    Max back reference = 31
4395    Partial matching not supported
4396    Options: dotall
4397    No first char
4398    No need char
4399    
4400    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI
4401    Capturing subpattern count = 32
4402    Max back reference = 32
4403    Partial matching not supported
4404    Options: dotall
4405    No first char
4406    No need char
4407    
4408    /(a)(bc)/ND
4409    ------------------------------------------------------------------
4410      0  21 Bra 0
4411      3   5 Bra 0
4412      6     a
4413      8   5 Ket
4414     11   7 Bra 0
4415     14     bc
4416     18   7 Ket
4417     21  21 Ket
4418     24     End
4419    ------------------------------------------------------------------
4420    Capturing subpattern count = 0
4421    Options:
4422    First char = 'a'
4423    Need char = 'c'
4424      abc
4425     0: abc
4426    
4427    /(?P<one>a)(bc)/ND
4428    ------------------------------------------------------------------
4429      0  21 Bra 0
4430      3   5 Bra 1
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 = 1
4440    Named capturing subpatterns:
4441      one   1
4442    Options:
4443    First char = 'a'
4444    Need char = 'c'
4445      abc
4446     0: abc
4447     1: a
4448    
4449    /(a)(?P<named>bc)/ND
4450    ------------------------------------------------------------------
4451      0  21 Bra 0
4452      3   5 Bra 0
4453      6     a
4454      8   5 Ket
4455     11   7 Bra 1
4456     14     bc
4457     18   7 Ket
4458     21  21 Ket
4459     24     End
4460    ------------------------------------------------------------------
4461    Capturing subpattern count = 1
4462    Named capturing subpatterns:
4463      named   1
4464    Options:
4465    First char = 'a'
4466    Need char = 'c'
4467    
4468    /(a+)*zz/
4469    Capturing subpattern count = 1
4470    Partial matching not supported
4471    No options
4472    No first char
4473    Need char = 'z'
4474      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4475    Minimum match limit = 8
4476     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4477     1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4478      aaaaaaaaaaaaaz\M
4479    Minimum match limit = 32768
4480    No match
4481    
4482    /(aaa(?C1)bbb|ab)/
4483    Capturing subpattern count = 1
4484    No options
4485    First char = 'a'
4486    Need char = 'b'
4487       aaabbb
4488    --->aaabbb
4489      1 ^  ^       b
4490     0: aaabbb
4491     1: aaabbb
4492       aaabbb\C*0
4493    --->aaabbb
4494      1 ^  ^       b
4495     0: aaabbb
4496     1: aaabbb
4497       aaabbb\C*1
4498    --->aaabbb
4499      1 ^  ^       b
4500    Callout data = 1
4501     0: ab
4502     1: ab
4503       aaabbb\C*-1
4504    --->aaabbb
4505      1 ^  ^       b
4506    Callout data = -1
4507    No match
4508    
4509    /ab(?P<one>cd)ef(?P<two>gh)/
4510    Capturing subpattern count = 2
4511    Named capturing subpatterns:
4512      one   1
4513      two   2
4514    No options
4515    First char = 'a'
4516    Need char = 'h'
4517        abcdefgh
4518     0: abcdefgh
4519     1: cd
4520     2: gh
4521        abcdefgh\C1\Gtwo
4522     0: abcdefgh
4523     1: cd
4524     2: gh
4525     1C cd (2)
4526     2G gh (2)
4527        abcdefgh\Cone\Ctwo
4528     0: abcdefgh
4529     1: cd
4530     2: gh
4531     1C cd (2)
4532     2C gh (2)
4533        abcdefgh\Cthree
4534    no parentheses with name "three"
4535     0: abcdefgh
4536     1: cd
4537     2: gh
4538    
4539    /(?P<Tes>)(?P<Test>)/D
4540    ------------------------------------------------------------------
4541      0  15 Bra 0
4542      3   3 Bra 1
4543      6   3 Ket
4544      9   3 Bra 2
4545     12   3 Ket
4546     15  15 Ket
4547     18     End
4548    ------------------------------------------------------------------
4549    Capturing subpattern count = 2
4550    Named capturing subpatterns:
4551      Tes    1
4552      Test   2
4553    No options
4554    No first char
4555    No need char
4556    
4557    /(?P<Test>)(?P<Tes>)/D
4558    ------------------------------------------------------------------
4559      0  15 Bra 0
4560      3   3 Bra 1
4561      6   3 Ket
4562      9   3 Bra 2
4563     12   3 Ket
4564     15  15 Ket
4565     18     End
4566    ------------------------------------------------------------------
4567    Capturing subpattern count = 2
4568    Named capturing subpatterns:
4569      Tes    2
4570      Test   1
4571    No options
4572    No first char
4573    No need char
4574    
4575    /(?P<Z>zz)(?P<A>aa)/
4576    Capturing subpattern count = 2
4577    Named capturing subpatterns:
4578      A   2
4579      Z   1
4580    No options
4581    First char = 'z'
4582    Need char = 'a'
4583        zzaa\CZ
4584     0: zzaa
4585     1: zz
4586     2: aa
4587     1C zz (2)
4588        zzaa\CA
4589     0: zzaa
4590     1: zz
4591     2: aa
4592     2C aa (2)
4593    
4594    /(?P<x>eks)(?P<x>eccs)/
4595    Failed: two named groups have the same name at offset 16
4596    
4597    /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
4598    Failed: two named groups have the same name at offset 31
4599    
4600    "\[((?P<elem>\d+)(,(?P>elem))*)\]"
4601    Capturing subpattern count = 3
4602    Named capturing subpatterns:
4603      elem   2
4604    Partial matching not supported
4605    No options
4606    First char = '['
4607    Need char = ']'
4608        [10,20,30,5,5,4,4,2,43,23,4234]
4609     0: [10,20,30,5,5,4,4,2,43,23,4234]
4610     1: 10,20,30,5,5,4,4,2,43,23,4234
4611     2: 10
4612     3: ,4234
4613        *** Failers
4614    No match
4615        []
4616    No match
4617    
4618    "\[((?P<elem>\d+)(,(?P>elem))*)?\]"
4619    Capturing subpattern count = 3
4620    Named capturing subpatterns:
4621      elem   2
4622    Partial matching not supported
4623    No options
4624    First char = '['
4625    Need char = ']'
4626        [10,20,30,5,5,4,4,2,43,23,4234]
4627     0: [10,20,30,5,5,4,4,2,43,23,4234]
4628     1: 10,20,30,5,5,4,4,2,43,23,4234
4629     2: 10
4630     3: ,4234
4631        []
4632     0: []
4633    
4634    /(a(b(?2)c))?/D
4635    ------------------------------------------------------------------
4636      0  25 Bra 0
4637      3     Brazero
4638      4  18 Bra 1
4639      7     a
4640      9  10 Bra 2
4641     12     b
4642     14   9 Recurse
4643     17     c
4644     19  10 Ket
4645     22  18 Ket
4646     25  25 Ket
4647     28     End
4648    ------------------------------------------------------------------
4649    Capturing subpattern count = 2
4650    No options
4651    No first char
4652    No need char
4653    
4654    /(a(b(?2)c))*/D
4655    ------------------------------------------------------------------
4656      0  25 Bra 0
4657      3     Brazero
4658      4  18 Bra 1
4659      7     a
4660      9  10 Bra 2
4661     12     b
4662     14   9 Recurse
4663     17     c
4664     19  10 Ket
4665     22  18 KetRmax
4666     25  25 Ket
4667     28     End
4668    ------------------------------------------------------------------
4669    Capturing subpattern count = 2
4670    No options
4671    No first char
4672    No need char
4673    
4674    /(a(b(?2)c)){0,2}/D
4675    ------------------------------------------------------------------
4676      0  53 Bra 0
4677      3     Brazero
4678      4  46 Bra 0
4679      7  18 Bra 1
4680     10     a
4681     12  10 Bra 2
4682     15     b
4683     17  12 Recurse
4684     20     c
4685     22  10 Ket
4686     25  18 Ket
4687     28     Brazero
4688     29  18 Bra 1
4689     32     a
4690     34  10 Bra 2
4691     37     b
4692     39  12 Recurse
4693     42     c
4694     44  10 Ket
4695     47  18 Ket
4696     50  46 Ket
4697     53  53 Ket
4698     56     End
4699    ------------------------------------------------------------------
4700    Capturing subpattern count = 2
4701    No options
4702    No first char
4703    No need char
4704    
4705    /[ab]{1}+/D
4706    ------------------------------------------------------------------
4707      0  47 Bra 0
4708      3  41 Once
4709      6     [ab]{1,1}
4710     44  41 Ket
4711     47  47 Ket
4712     50     End
4713    ------------------------------------------------------------------
4714    Capturing subpattern count = 0
4715    No options
4716    No first char
4717    No need char
4718    
4719    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i
4720    Capturing subpattern count = 3
4721    Partial matching not supported
4722    Options: caseless
4723    No first char
4724    Need char = 'g' (caseless)
4725         Baby Bjorn Active Carrier - With free SHIPPING!!
4726     0: Baby Bjorn Active Carrier - With free SHIPPING!!
4727     1: Baby Bjorn Active Carrier - With free SHIPPING!!
4728    
4729    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS
4730    Capturing subpattern count = 3
4731    Partial matching not supported
4732    Options: caseless
4733    No first char
4734    Need char = 'g' (caseless)
4735    Study returned NULL
4736         Baby Bjorn Active Carrier - With free SHIPPING!!
4737     0: Baby Bjorn Active Carrier - With free SHIPPING!!
4738     1: Baby Bjorn Active Carrier - With free SHIPPING!!
4739    
4740    /a*.*b/SD
4741    ------------------------------------------------------------------
4742      0   9 Bra 0
4743      3     a*
4744      5     Any*
4745      7     b
4746      9   9 Ket
4747     12     End
4748    ------------------------------------------------------------------
4749    Capturing subpattern count = 0
4750    Partial matching not supported
4751    No options
4752    No first char
4753    Need char = 'b'
4754    Study returned NULL
4755    
4756    /(a|b)*.?c/SD
4757    ------------------------------------------------------------------
4758      0  21 Bra 0
4759      3     Brazero
4760      4   5 Bra 1
4761      7     a
4762      9   5 Alt
4763     12     b
4764     14  10 KetRmax
4765     17     Any?
4766     19     c
4767     21  21 Ket
4768     24     End
4769    ------------------------------------------------------------------
4770    Capturing subpattern count = 1
4771    No options
4772    No first char
4773    Need char = 'c'
4774    Study returned NULL
4775    
4776    /abc(?C255)de(?C)f/D
4777    ------------------------------------------------------------------
4778      0  27 Bra 0
4779      3     abc
4780      9     Callout 255 10 1
4781     15     de
4782     19     Callout 0 16 1
4783     25     f
4784     27  27 Ket
4785     30     End
4786    ------------------------------------------------------------------
4787    Capturing subpattern count = 0
4788    No options
4789    First char = 'a'
4790    Need char = 'f'
4791    
4792    /abcde/CD
4793    ------------------------------------------------------------------
4794      0  49 Bra 0
4795      3     Callout 255 0 1
4796      9     a
4797     11     Callout 255 1 1
4798     17     b
4799     19     Callout 255 2 1
4800     25     c
4801     27     Callout 255 3 1
4802     33     d
4803     35     Callout 255 4 1
4804     41     e
4805     43     Callout 255 5 0
4806     49  49 Ket
4807     52     End
4808    ------------------------------------------------------------------
4809    Capturing subpattern count = 0
4810    Options:
4811    First char = 'a'
4812    Need char = 'e'
4813      abcde
4814    --->abcde
4815     +0 ^         a
4816     +1 ^^        b
4817     +2 ^ ^       c
4818     +3 ^  ^      d
4819     +4 ^   ^     e
4820     +5 ^    ^
4821     0: abcde
4822      abcdfe
4823    --->abcdfe
4824     +0 ^          a
4825     +1 ^^         b
4826     +2 ^ ^        c
4827     +3 ^  ^       d
4828     +4 ^   ^      e
4829    No match
4830    
4831    /a*b/CD
4832    ------------------------------------------------------------------
4833      0  25 Bra 0
4834      3     Callout 255 0 2
4835      9     a*
4836     11     Callout 255 2 1
4837     17     b
4838     19     Callout 255 3 0
4839     25  25 Ket
4840     28     End
4841    ------------------------------------------------------------------
4842    Capturing subpattern count = 0
4843    Partial matching not supported
4844    Options:
4845    No first char
4846    Need char = 'b'
4847      ab
4848    --->ab
4849     +0 ^      a*
4850     +2 ^^     b
4851     +3 ^ ^
4852     0: ab
4853      aaaab
4854    --->aaaab
4855     +0 ^         a*
4856     +2 ^   ^     b
4857     +3 ^    ^
4858     0: aaaab
4859      aaaacb
4860    --->aaaacb
4861     +0 ^          a*
4862     +2 ^   ^      b
4863     +2 ^  ^       b
4864     +2 ^ ^        b
4865     +2 ^^         b
4866     +2 ^          b
4867     +0  ^         a*
4868     +2  ^  ^      b
4869     +2  ^ ^       b
4870     +2  ^^        b
4871     +2  ^         b
4872     +0   ^        a*
4873     +2   ^ ^      b
4874     +2   ^^       b
4875     +2   ^        b
4876     +0    ^       a*
4877     +2    ^^      b
4878     +2    ^       b
4879     +0     ^      a*
4880     +2     ^      b
4881     +0      ^     a*
4882     +2      ^     b
4883     +3      ^^
4884     0: b
4885    
4886    /a+b/CD
4887    ------------------------------------------------------------------
4888      0  25 Bra 0
4889      3     Callout 255 0 2
4890      9     a+
4891     11     Callout 255 2 1
4892     17     b
4893     19     Callout 255 3 0
4894     25  25 Ket
4895     28     End
4896    ------------------------------------------------------------------
4897    Capturing subpattern count = 0
4898    Partial matching not supported
4899    Options:
4900    First char = 'a'
4901    Need char = 'b'
4902      ab
4903    --->ab
4904     +0 ^      a+
4905     +2 ^^     b
4906     +3 ^ ^
4907     0: ab
4908      aaaab
4909    --->aaaab
4910     +0 ^         a+
4911     +2 ^   ^     b
4912     +3 ^    ^
4913     0: aaaab
4914      aaaacb
4915    --->aaaacb
4916     +0 ^          a+
4917     +2 ^   ^      b
4918     +2 ^  ^       b
4919     +2 ^ ^        b
4920     +2 ^^         b
4921     +0  ^         a+
4922     +2  ^  ^      b
4923     +2  ^ ^       b
4924     +2  ^^        b
4925     +0   ^        a+
4926     +2   ^ ^      b
4927     +2   ^^       b
4928     +0    ^       a+
4929     +2    ^^      b
4930    No match
4931    
4932    /(abc|def)x/CD
4933    ------------------------------------------------------------------
4934      0  92 Bra 0
4935      3     Callout 255 0 9
4936      9  33 Bra 1
4937     12     Callout 255 1 1
4938     18     a
4939     20     Callout 255 2 1
4940     26     b
4941     28     Callout 255 3 1
4942     34     c
4943     36     Callout 255 4 0
4944     42  33 Alt
4945     45     Callout 255 5 1
4946     51     d
4947     53     Callout 255 6 1
4948     59     e
4949     61     Callout 255 7 1
4950     67     f
4951     69     Callout 255 8 0
4952     75  66 Ket
4953     78     Callout 255 9 1
4954     84     x
4955     86     Callout 255 10 0
4956     92  92 Ket
4957     95     End
4958    ------------------------------------------------------------------
4959    Capturing subpattern count = 1
4960    Options:
4961    No first char
4962    Need char = 'x'
4963      abcx
4964    --->abcx
4965     +0 ^        (abc|def)
4966     +1 ^        a
4967     +2 ^^       b
4968     +3 ^ ^      c
4969     +4 ^  ^     |
4970     +9 ^  ^     x
4971    +10 ^   ^
4972     0: abcx
4973     1: abc
4974      defx
4975    --->defx
4976     +0 ^        (abc|def)
4977     +1 ^        a
4978     +5 ^        d
4979     +6 ^^       e
4980     +7 ^ ^      f
4981     +8 ^  ^     )
4982     +9 ^  ^     x
4983    +10 ^   ^
4984     0: defx
4985     1: def
4986      abcdefzx
4987    --->abcdefzx
4988     +0 ^            (abc|def)
4989     +1 ^            a
4990     +2 ^^           b
4991     +3 ^ ^          c
4992     +4 ^  ^         |
4993     +9 ^  ^         x
4994     +5 ^            d
4995     +0  ^           (abc|def)
4996     +1  ^           a
4997     +5  ^           d
4998     +0   ^          (abc|def)
4999     +1   ^          a
5000     +5   ^          d
5001     +0    ^         (abc|def)
5002     +1    ^         a
5003     +5    ^         d
5004     +6    ^^        e
5005     +7    ^ ^       f
5006     +8    ^  ^      )
5007     +9    ^  ^      x
5008     +0     ^        (abc|def)
5009     +1     ^        a
5010     +5     ^        d
5011     +0      ^       (abc|def)
5012     +1      ^       a
5013     +5      ^       d
5014     +0       ^      (abc|def)
5015     +1       ^      a
5016     +5       ^      d
5017     +0        ^     (abc|def)
5018     +1        ^     a
5019     +5        ^     d
5020    No match
5021    
5022    /(ab|cd){3,4}/C
5023    Capturing subpattern count = 1
5024    Options:
5025    No first char
5026    No need char
5027      ababab
5028    --->ababab
5029     +0 ^          (ab|cd){3,4}
5030     +1 ^          a
5031     +2 ^^         b
5032     +3 ^ ^        |
5033     +1 ^ ^        a
5034     +2 ^  ^       b
5035     +3 ^   ^      |
5036     +1 ^   ^      a
5037     +2 ^    ^     b
5038     +3 ^     ^    |
5039     +1 ^     ^    a
5040     +4 ^     ^    c
5041    +12 ^     ^
5042     0: ababab
5043     1: ab
5044      abcdabcd
5045    --->abcdabcd
5046     +0 ^            (ab|cd){3,4}
5047     +1 ^            a
5048     +2 ^^           b
5049     +3 ^ ^          |
5050     +1 ^ ^          a
5051     +4 ^ ^          c
5052     +5 ^  ^         d
5053     +6 ^   ^        )
5054     +1 ^   ^        a
5055     +2 ^    ^       b
5056     +3 ^     ^      |
5057     +1 ^     ^      a
5058     +4 ^     ^      c
5059     +5 ^      ^     d
5060     +6 ^       ^    )
5061    +12 ^       ^
5062     0: abcdabcd
5063     1: cd
5064      abcdcdcdcdcd
5065    --->abcdcdcdcdcd
5066     +0 ^                (ab|cd){3,4}
5067     +1 ^                a
5068     +2 ^^               b
5069     +3 ^ ^              |
5070     +1 ^ ^              a
5071     +4 ^ ^              c
5072     +5 ^  ^             d
5073     +6 ^   ^            )
5074     +1 ^   ^            a
5075     +4 ^   ^            c
5076     +5 ^    ^           d
5077     +6 ^     ^          )
5078     +1 ^     ^          a
5079     +4 ^     ^          c
5080     +5 ^      ^         d
5081     +6 ^       ^        )
5082    +12 ^       ^
5083     0: abcdcdcd
5084     1: cd
5085    
5086    /([ab]{,4}c|xy)/CD
5087    ------------------------------------------------------------------
5088      0 131 Bra 0
5089      3     Callout 255 0 14
5090      9  88 Bra 1
5091     12     Callout 255 1 4
5092     18     [ab]
5093     51     Callout 255 5 1
5094     57     {
5095     59     Callout 255 6 1
5096     65     ,
5097     67     Callout 255 7 1
5098     73     4
5099     75     Callout 255 8 1
5100     81     }
5101     83     Callout 255 9 1
5102     89     c
5103     91     Callout 255 10 0
5104     97  25 Alt
5105    100     Callout 255 11 1
5106    106     x
5107    108     Callout 255 12 1
5108    114     y
5109    116     Callout 255 13 0
5110    122 113 Ket
5111    125     Callout 255 14 0
5112    131 131 Ket
5113    134     End
5114    ------------------------------------------------------------------
5115    Capturing subpattern count = 1
5116    Options:
5117    No first char
5118    No need char
5119        Note: that { does NOT introduce a quantifier
5120    --->Note: that { does NOT introduce a quantifier
5121     +0 ^                                                ([ab]{,4}c|xy)
5122     +1 ^                                                [ab]
5123    +11 ^                                                x
5124     +0  ^                                               ([ab]{,4}c|xy)
5125     +1  ^                                               [ab]
5126    +11  ^                                               x
5127     +0   ^                                              ([ab]{,4}c|xy)
5128     +1   ^                                              [ab]
5129    +11   ^                                              x
5130     +0    ^                                             ([ab]{,4}c|xy)
5131     +1    ^                                             [ab]
5132    +11    ^                                             x
5133     +0     ^                                            ([ab]{,4}c|xy)
5134     +1     ^                                            [ab]
5135    +11     ^                                            x
5136     +0      ^                                           ([ab]{,4}c|xy)
5137     +1      ^                                           [ab]
5138    +11      ^                                           x
5139     +0       ^                                          ([ab]{,4}c|xy)
5140     +1       ^                                          [ab]
5141    +11       ^                                          x
5142     +0        ^                                         ([ab]{,4}c|xy)
5143     +1        ^                                         [ab]
5144    +11        ^                                         x
5145     +0         ^                                        ([ab]{,4}c|xy)
5146     +1         ^                                        [ab]
5147     +5         ^^                                       {
5148    +11         ^                                        x
5149     +0          ^                                       ([ab]{,4}c|xy)
5150     +1          ^                                       [ab]
5151    +11          ^                                       x
5152     +0           ^                                      ([ab]{,4}c|xy)
5153     +1           ^                                      [ab]
5154    +11           ^                                      x
5155     +0            ^                                     ([ab]{,4}c|xy)
5156     +1            ^                                     [ab]
5157    +11            ^                                     x
5158     +0             ^                                    ([ab]{,4}c|xy)
5159     +1             ^                                    [ab]
5160    +11             ^                                    x
5161     +0              ^                                   ([ab]{,4}c|xy)
5162     +1              ^                                   [ab]
5163    +11              ^                                   x
5164     +0               ^                                  ([ab]{,4}c|xy)
5165     +1               ^                                  [ab]
5166    +11               ^                                  x
5167     +0                ^                                 ([ab]{,4}c|xy)
5168     +1                ^                                 [ab]
5169    +11                ^                                 x
5170     +0                 ^                                ([ab]{,4}c|xy)
5171     +1                 ^                                [ab]
5172    +11                 ^                                x
5173     +0                  ^                               ([ab]{,4}c|xy)
5174     +1                  ^                               [ab]
5175    +11                  ^                               x
5176     +0                   ^                              ([ab]{,4}c|xy)
5177     +1                   ^                              [ab]
5178    +11                   ^                              x
5179     +0                    ^                             ([ab]{,4}c|xy)
5180     +1                    ^                             [ab]
5181    +11                    ^                             x
5182     +0                     ^                            ([ab]{,4}c|xy)
5183     +1                     ^                            [ab]
5184    +11                     ^                            x
5185     +0                      ^                           ([ab]{,4}c|xy)
5186     +1                      ^                           [ab]
5187    +11                      ^                           x
5188     +0                       ^                          ([ab]{,4}c|xy)
5189     +1                       ^                          [ab]
5190    +11                       ^                          x
5191     +0                        ^                         ([ab]{,4}c|xy)
5192     +1                        ^                         [ab]
5193    +11                        ^                         x
5194     +0                         ^                        ([ab]{,4}c|xy)
5195     +1                         ^                        [ab]
5196    +11                         ^                        x
5197     +0                          ^                       ([ab]{,4}c|xy)
5198     +1                          ^                       [ab]
5199    +11                          ^                       x
5200     +0                           ^                      ([ab]{,4}c|xy)
5201     +1                           ^                      [ab]
5202    +11                           ^                      x
5203     +0                            ^                     ([ab]{,4}c|xy)
5204     +1                            ^                     [ab]
5205    +11                            ^                     x
5206     +0                             ^                    ([ab]{,4}c|xy)
5207     +1                             ^                    [ab]
5208    +11                             ^                    x
5209     +0                              ^                   ([ab]{,4}c|xy)
5210     +1                              ^                   [ab]
5211    +11                              ^                   x
5212     +0                               ^                  ([ab]{,4}c|xy)
5213     +1                               ^                  [ab]
5214    +11                               ^                  x
5215     +0                                ^                 ([ab]{,4}c|xy)
5216     +1                                ^                 [ab]
5217    +11                                ^                 x
5218     +0                                 ^                ([ab]{,4}c|xy)
5219     +1                                 ^                [ab]
5220     +5                                 ^^               {
5221    +11                                 ^                x
5222     +0                                  ^               ([ab]{,4}c|xy)
5223     +1                                  ^               [ab]
5224    +11                                  ^               x
5225     +0                                   ^              ([ab]{,4}c|xy)
5226     +1                                   ^              [ab]
5227    +11                                   ^              x
5228     +0                                    ^             ([ab]{,4}c|xy)
5229     +1                                    ^             [ab]
5230    +11                                    ^             x
5231     +0                     &