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

Diff of /code/trunk/testdata/testoutput2

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

revision 43 by nigel, Sat Feb 24 21:39:21 2007 UTC revision 75 by nigel, Sat Feb 24 21:40:37 2007 UTC
# Line 1  Line 1 
1  PCRE version 3.0 01-Feb-2000  PCRE version 5.0 13-Sep-2004
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
   
 /[a-\w]/  
 Failed: invalid escape sequence in character class at offset 4  
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 114  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 139  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 150  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 161  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 188  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 284  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 300  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 323  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 399  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 407  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 415  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 423  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 439  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 447  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 455  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 489  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 502  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 513  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 522  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 566  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 578  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 645  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 655  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 671  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 747  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 828  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 867  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 906  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 969  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 986  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 1000  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 1018  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 1056  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 1065  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 1245  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 1295  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 1304  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 1352  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 1436  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 1502  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 1526  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 1643  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 1671  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 1685  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 1703  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 1713  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 1722  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 1732  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 1748  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 1764  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 1783  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 1790  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 1821  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 1833  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 1847  Options: anchored Line 1958  Options: anchored
1958  No first char  No first char
1959  No need char  No need char
1960    
1961    /^[[:^ascii:]]/D
1962    ------------------------------------------------------------------
1963      0  37 Bra 0
1964      3     ^
1965      4     [\x80-\xff]
1966     37  37 Ket
1967     40     End
1968    ------------------------------------------------------------------
1969    Capturing subpattern count = 0
1970    Options: anchored
1971    No first char
1972    No need char
1973    
1974    /^[[:blank:]]/D
1975    ------------------------------------------------------------------
1976      0  37 Bra 0
1977      3     ^
1978      4     [\x09 ]
1979     37  37 Ket
1980     40     End
1981    ------------------------------------------------------------------
1982    Capturing subpattern count = 0
1983    Options: anchored
1984    No first char
1985    No need char
1986    
1987  /^[[:cntrl:]]/D  /^[[:cntrl:]]/D
1988  ------------------------------------------------------------------  ------------------------------------------------------------------
1989    0  37 Bra 0    0  37 Bra 0
# Line 1994  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 2006  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 2064  No match Line 2214  No match
2214      AB      AB
2215  No match  No match
2216    
2217  / End of test input /  /[\200-\410]/
2218    Failed: range out of order in character class at offset 9
2219    
2220    /^(?(0)f|b)oo/
2221    Failed: invalid condition (?(0) at offset 5
2222    
2223    /This one's here because of the large output vector needed/
2224  Capturing subpattern count = 0  Capturing subpattern count = 0
2225  No options  No options
2226  First char = ' '  First char = 'T'
2227  Need char = ' '  Need char = 'd'
2228    
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)/
2230    Capturing subpattern count = 271
2231    Max back reference = 270
2232    Partial matching not supported
2233    No options
2234    No first char
2235    No need char
2236        \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
2237     0: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
2238     1: 1
2239     2: 2
2240     3: 3
2241     4: 4
2242     5: 5
2243     6: 6
2244     7: 7
2245     8: 8
2246     9: 9
2247    10: 10
2248    11: 11
2249    12: 12
2250    13: 13
2251    14: 14
2252    15: 15
2253    16: 16
2254    17: 17
2255    18: 18
2256    19: 19
2257    20: 20
2258    21: 21
2259    22: 22
2260    23: 23
2261    24: 24
2262    25: 25
2263    26: 26
2264    27: 27
2265    28: 28
2266    29: 29
2267    30: 30
2268    31: 31
2269    32: 32
2270    33: 33
2271    34: 34
2272    35: 35
2273    36: 36
2274    37: 37
2275    38: 38
2276    39: 39
2277    40: 40
2278    41: 41
2279    42: 42
2280    43: 43
2281    44: 44
2282    45: 45
2283    46: 46
2284    47: 47
2285    48: 48
2286    49: 49
2287    50: 50
2288    51: 51
2289    52: 52
2290    53: 53
2291    54: 54
2292    55: 55
2293    56: 56
2294    57: 57
2295    58: 58
2296    59: 59
2297    60: 60
2298    61: 61
2299    62: 62
2300    63: 63
2301    64: 64
2302    65: 65
2303    66: 66
2304    67: 67
2305    68: 68
2306    69: 69
2307    70: 70
2308    71: 71
2309    72: 72
2310    73: 73
2311    74: 74
2312    75: 75
2313    76: 76
2314    77: 77
2315    78: 78
2316    79: 79
2317    80: 80
2318    81: 81
2319    82: 82
2320    83: 83
2321    84: 84
2322    85: 85
2323    86: 86
2324    87: 87
2325    88: 88
2326    89: 89
2327    90: 90
2328    91: 91
2329    92: 92
2330    93: 93
2331    94: 94
2332    95: 95
2333    96: 96
2334    97: 97
2335    98: 98
2336    99: 99
2337    100: 100
2338    101: 101
2339    102: 102
2340    103: 103
2341    104: 104
2342    105: 105
2343    106: 106
2344    107: 107
2345    108: 108
2346    109: 109
2347    110: 110
2348    111: 111
2349    112: 112
2350    113: 113
2351    114: 114
2352    115: 115
2353    116: 116
2354    117: 117
2355    118: 118
2356    119: 119
2357    120: 120
2358    121: 121
2359    122: 122
2360    123: 123
2361    124: 124
2362    125: 125
2363    126: 126
2364    127: 127
2365    128: 128
2366    129: 129
2367    130: 130
2368    131: 131
2369    132: 132
2370    133: 133
2371    134: 134
2372    135: 135
2373    136: 136
2374    137: 137
2375    138: 138
2376    139: 139
2377    140: 140
2378    141: 141
2379    142: 142
2380    143: 143
2381    144: 144
2382    145: 145
2383    146: 146
2384    147: 147
2385    148: 148
2386    149: 149
2387    150: 150
2388    151: 151
2389    152: 152
2390    153: 153
2391    154: 154
2392    155: 155
2393    156: 156
2394    157: 157
2395    158: 158
2396    159: 159
2397    160: 160
2398    161: 161
2399    162: 162
2400    163: 163
2401    164: 164
2402    165: 165
2403    166: 166
2404    167: 167
2405    168: 168
2406    169: 169
2407    170: 170
2408    171: 171
2409    172: 172
2410    173: 173
2411    174: 174
2412    175: 175
2413    176: 176
2414    177: 177
2415    178: 178
2416    179: 179
2417    180: 180
2418    181: 181
2419    182: 182
2420    183: 183
2421    184: 184
2422    185: 185
2423    186: 186
2424    187: 187
2425    188: 188
2426    189: 189
2427    190: 190
2428    191: 191
2429    192: 192
2430    193: 193
2431    194: 194
2432    195: 195
2433    196: 196
2434    197: 197
2435    198: 198
2436    199: 199
2437    200: 200
2438    201: 201
2439    202: 202
2440    203: 203
2441    204: 204
2442    205: 205
2443    206: 206
2444    207: 207
2445    208: 208
2446    209: 209
2447    210: 210
2448    211: 211
2449    212: 212
2450    213: 213
2451    214: 214
2452    215: 215
2453    216: 216
2454    217: 217
2455    218: 218
2456    219: 219
2457    220: 220
2458    221: 221
2459    222: 222
2460    223: 223
2461    224: 224
2462    225: 225
2463    226: 226
2464    227: 227
2465    228: 228
2466    229: 229
2467    230: 230
2468    231: 231
2469    232: 232
2470    233: 233
2471    234: 234
2472    235: 235
2473    236: 236
2474    237: 237
2475    238: 238
2476    239: 239
2477    240: 240
2478    241: 241
2479    242: 242
2480    243: 243
2481    244: 244
2482    245: 245
2483    246: 246
2484    247: 247
2485    248: 248
2486    249: 249
2487    250: 250
2488    251: 251
2489    252: 252
2490    253: 253
2491    254: 254
2492    255: 255
2493    256: 256
2494    257: 257
2495    258: 258
2496    259: 259
2497    260: 260
2498    261: 261
2499    262: 262
2500    263: 263
2501    264: 264
2502    265: 265
2503    266: 266
2504    267: 267
2505    268: 268
2506    269: 269
2507    270: ABC
2508    271: ABC
2509    
2510    /This one's here because Perl does this differently and PCRE can't at present/
2511    Capturing subpattern count = 0
2512    No options
2513    First char = 'T'
2514    Need char = 't'
2515    
2516    /(main(O)?)+/
2517    Capturing subpattern count = 2
2518    No options
2519    First char = 'm'
2520    Need char = 'n'
2521        mainmain
2522     0: mainmain
2523     1: main
2524        mainOmain
2525     0: mainOmain
2526     1: main
2527     2: O
2528    
2529    /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
2674    No options
2675    First char = '-'
2676    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    /(?C)abc/
3845    Capturing subpattern count = 0
3846    No options
3847    First char = 'a'
3848    Need char = 'c'
3849    
3850    /(?C)^abc/
3851    Capturing subpattern count = 0
3852    Options: anchored
3853    No first char
3854    No need char
3855    
3856    /(?C)a|b/S
3857    Capturing subpattern count = 0
3858    No options
3859    No first char
3860    No need char
3861    Starting byte set: a b
3862    
3863    /(?R)/
3864    Failed: recursive call could loop indefinitely at offset 3
3865    
3866    /(a|(?R))/
3867    Failed: recursive call could loop indefinitely at offset 6
3868    
3869    /(ab|(bc|(de|(?R))))/
3870    Failed: recursive call could loop indefinitely at offset 15
3871    
3872    /x(ab|(bc|(de|(?R))))/
3873    Capturing subpattern count = 3
3874    No options
3875    First char = 'x'
3876    No need char
3877        xab
3878     0: xab
3879     1: ab
3880        xbc
3881     0: xbc
3882     1: bc
3883     2: bc
3884        xde
3885     0: xde
3886     1: de
3887     2: de
3888     3: de
3889        xxab
3890     0: xxab
3891     1: xab
3892     2: xab
3893     3: xab
3894        xxxab
3895     0: xxxab
3896     1: xxab
3897     2: xxab
3898     3: xxab
3899        *** Failers
3900    No match
3901        xyab
3902    No match
3903    
3904    /(ab|(bc|(de|(?1))))/
3905    Failed: recursive call could loop indefinitely at offset 15
3906    
3907    /x(ab|(bc|(de|(?1)x)x)x)/
3908    Failed: recursive call could loop indefinitely at offset 16
3909    
3910    /^([^()]|\((?1)*\))*$/
3911    Capturing subpattern count = 1
3912    Options: anchored
3913    No first char
3914    No need char
3915        abc
3916     0: abc
3917     1: c
3918        a(b)c
3919     0: a(b)c
3920     1: c
3921        a(b(c))d
3922     0: a(b(c))d
3923     1: d
3924        *** Failers)
3925    No match
3926        a(b(c)d
3927    No match
3928    
3929    /^>abc>([^()]|\((?1)*\))*<xyz<$/
3930    Capturing subpattern count = 1
3931    Options: anchored
3932    No first char
3933    Need char = '<'
3934       >abc>123<xyz<
3935     0: >abc>123<xyz<
3936     1: 3
3937       >abc>1(2)3<xyz<
3938     0: >abc>1(2)3<xyz<
3939     1: 3
3940       >abc>(1(2)3)<xyz<
3941     0: >abc>(1(2)3)<xyz<
3942     1: (1(2)3)
3943    
3944    /(a(?1)b)/D
3945    ------------------------------------------------------------------
3946      0  16 Bra 0
3947      3  10 Bra 1
3948      6     a
3949      8   3 Recurse
3950     11     b
3951     13  10 Ket
3952     16  16 Ket
3953     19     End
3954    ------------------------------------------------------------------
3955    Capturing subpattern count = 1
3956    No options
3957    First char = 'a'
3958    Need char = 'b'
3959    
3960    /(a(?1)+b)/D
3961    ------------------------------------------------------------------
3962      0  22 Bra 0
3963      3  16 Bra 1
3964      6     a
3965      8   6 Bra 0
3966     11   3 Recurse
3967     14   6 KetRmax
3968     17     b
3969     19  16 Ket
3970     22  22 Ket
3971     25     End
3972    ------------------------------------------------------------------
3973    Capturing subpattern count = 1
3974    No options
3975    First char = 'a'
3976    Need char = 'b'
3977    
3978    /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i
3979    Capturing subpattern count = 4
3980    Max back reference = 4
3981    Partial matching not supported
3982    Options: anchored caseless
3983    No first char
3984    No need char
3985        1221
3986     0: 1221
3987     1: 1221
3988     2: 1
3989        Satan, oscillate my metallic sonatas!
3990     0: Satan, oscillate my metallic sonatas!
3991     1: <unset>
3992     2: <unset>
3993     3: Satan, oscillate my metallic sonatas
3994     4: S
3995        A man, a plan, a canal: Panama!
3996     0: A man, a plan, a canal: Panama!
3997     1: <unset>
3998     2: <unset>
3999     3: A man, a plan, a canal: Panama
4000     4: A
4001        Able was I ere I saw Elba.
4002     0: Able was I ere I saw Elba.
4003     1: <unset>
4004     2: <unset>
4005     3: Able was I ere I saw Elba
4006     4: A
4007        *** Failers
4008    No match
4009        The quick brown fox
4010    No match
4011    
4012    /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
4013    Capturing subpattern count = 2
4014    Partial matching not supported
4015    Options: anchored
4016    No first char
4017    No need char
4018        12
4019     0: 12
4020     1: 12
4021        (((2+2)*-3)-7)
4022     0: (((2+2)*-3)-7)
4023     1: (((2+2)*-3)-7)
4024     2: -
4025        -12
4026     0: -12
4027     1: -12
4028        *** Failers
4029    No match
4030        ((2+2)*-3)-7)
4031    No match
4032    
4033    /^(x(y|(?1){2})z)/
4034    Capturing subpattern count = 2
4035    Options: anchored
4036    No first char
4037    No need char
4038        xyz
4039     0: xyz
4040     1: xyz
4041     2: y
4042        xxyzxyzz
4043     0: xxyzxyzz
4044     1: xxyzxyzz
4045     2: xyzxyz
4046        *** Failers
4047    No match
4048        xxyzz
4049    No match
4050        xxyzxyzxyzz
4051    No match
4052    
4053    /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x
4054    Capturing subpattern count = 2
4055    Partial matching not supported
4056    Options: extended
4057    First char = '<'
4058    Need char = '>'
4059        <>
4060     0: <>
4061     1: <>
4062     2: <>
4063        <abcd>
4064     0: <abcd>
4065     1: <abcd>
4066     2: <abcd>
4067        <abc <123> hij>
4068     0: <abc <123> hij>
4069     1: <abc <123> hij>
4070     2: <abc <123> hij>
4071        <abc <def> hij>
4072     0: <def>
4073     1: <def>
4074     2: <def>
4075        <abc<>def>
4076     0: <abc<>def>
4077     1: <abc<>def>
4078     2: <abc<>def>
4079        <abc<>
4080     0: <>
4081     1: <>
4082     2: <>
4083        *** Failers
4084    No match
4085        <abc
4086    No match
4087    
4088    /(?1)/
4089    Failed: reference to non-existent subpattern at offset 3
4090    
4091    /((?2)(abc)/
4092    Failed: reference to non-existent subpattern at offset 4
4093    
4094    /^(abc)def(?1)/
4095    Capturing subpattern count = 1
4096    Options: anchored
4097    No first char
4098    No need char
4099        abcdefabc
4100     0: abcdefabc
4101     1: abc
4102    
4103    /^(a|b|c)=(?1)+/
4104    Capturing subpattern count = 1
4105    Options: anchored
4106    No first char
4107    No need char
4108        a=a
4109     0: a=a
4110     1: a
4111        a=b
4112     0: a=b
4113     1: a
4114        a=bc
4115     0: a=bc
4116     1: a
4117    
4118    /^(a|b|c)=((?1))+/
4119    Capturing subpattern count = 2
4120    Options: anchored
4121    No first char
4122    No need char
4123        a=a
4124     0: a=a
4125     1: a
4126     2: a
4127        a=b
4128     0: a=b
4129     1: a
4130     2: b
4131        a=bc
4132     0: a=bc
4133     1: a
4134     2: c
4135    
4136    /a(?P<name1>b|c)d(?P<longername2>e)/D
4137    ------------------------------------------------------------------
4138      0  28 Bra 0
4139      3     a
4140      5   5 Bra 1
4141      8     b
4142     10   5 Alt
4143     13     c
4144     15  10 Ket
4145     18     d
4146     20   5 Bra 2
4147     23     e
4148     25   5 Ket
4149     28  28 Ket
4150     31     End
4151    ------------------------------------------------------------------
4152    Capturing subpattern count = 2
4153    Named capturing subpatterns:
4154      longername2   2
4155      name1         1
4156    No options
4157    First char = 'a'
4158    Need char = 'e'
4159        abde
4160     0: abde
4161     1: b
4162     2: e
4163        acde
4164     0: acde
4165     1: c
4166     2: e
4167    
4168    /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
4169    ------------------------------------------------------------------
4170      0  35 Bra 0
4171      3  21 Bra 0
4172      6     a
4173      8  13 Bra 1
4174     11     c
4175     13   5 Bra 2
4176     16     d
4177     18   5 Ket
4178     21  13 Ket
4179     24  21 Ket
4180     27   5 Bra 3
4181     30     a
4182     32   5 Ket
4183     35  35 Ket
4184     38     End
4185    ------------------------------------------------------------------
4186    Capturing subpattern count = 3
4187    Named capturing subpatterns:
4188      a   3
4189      c   1
4190      d   2
4191    No options
4192    First char = 'a'
4193    Need char = 'a'
4194    
4195    /(?P<a>a)...(?P=a)bbb(?P>a)d/D
4196    ------------------------------------------------------------------
4197      0  28 Bra 0
4198      3   5 Bra 1
4199      6     a
4200      8   5 Ket
4201     11     Any
4202     12     Any
4203     13     Any
4204     14     \1
4205     17     bbb
4206     23   3 Recurse
4207     26     d
4208     28  28 Ket
4209     31     End
4210    ------------------------------------------------------------------
4211    Capturing subpattern count = 1
4212    Max back reference = 1
4213    Named capturing subpatterns:
4214      a   1
4215    No options
4216    First char = 'a'
4217    Need char = 'd'
4218    
4219    /^\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
4220    Capturing subpattern count = 4
4221    Max back reference = 4
4222    Named capturing subpatterns:
4223      four    4
4224      one     1
4225      three   3
4226      two     2
4227    Partial matching not supported
4228    Options: anchored caseless
4229    No first char
4230    No need char
4231        1221
4232     0: 1221
4233     1: 1221
4234     2: 1
4235        Satan, oscillate my metallic sonatas!
4236     0: Satan, oscillate my metallic sonatas!
4237     1: <unset>
4238     2: <unset>
4239     3: Satan, oscillate my metallic sonatas
4240     4: S
4241        A man, a plan, a canal: Panama!
4242     0: A man, a plan, a canal: Panama!
4243     1: <unset>
4244     2: <unset>
4245     3: A man, a plan, a canal: Panama
4246     4: A
4247        Able was I ere I saw Elba.
4248     0: Able was I ere I saw Elba.
4249     1: <unset>
4250     2: <unset>
4251     3: Able was I ere I saw Elba
4252     4: A
4253        *** Failers
4254    No match
4255        The quick brown fox
4256    No match
4257    
4258    /((?(R)a|b))\1(?1)?/
4259    Capturing subpattern count = 1
4260    Max back reference = 1
4261    No options
4262    No first char
4263    No need char
4264      bb
4265     0: bb
4266     1: b
4267      bbaa
4268     0: bba
4269     1: b
4270    
4271    /(.*)a/sI
4272    Capturing subpattern count = 1
4273    Partial matching not supported
4274    Options: anchored dotall
4275    No first char
4276    Need char = 'a'
4277    
4278    /(.*)a\1/sI
4279    Capturing subpattern count = 1
4280    Max back reference = 1
4281    Partial matching not supported
4282    Options: dotall
4283    No first char
4284    Need char = 'a'
4285    
4286    /(.*)a(b)\2/sI
4287    Capturing subpattern count = 2
4288    Max back reference = 2
4289    Partial matching not supported
4290    Options: anchored dotall
4291    No first char
4292    Need char = 'b'
4293    
4294    /((.*)a|(.*)b)z/sI
4295    Capturing subpattern count = 3
4296    Partial matching not supported
4297    Options: anchored dotall
4298    No first char
4299    Need char = 'z'
4300    
4301    /((.*)a|(.*)b)z\1/sI
4302    Capturing subpattern count = 3
4303    Max back reference = 1
4304    Partial matching not supported
4305    Options: dotall
4306    No first char
4307    Need char = 'z'
4308    
4309    /((.*)a|(.*)b)z\2/sI
4310    Capturing subpattern count = 3
4311    Max back reference = 2
4312    Partial matching not supported
4313    Options: dotall
4314    No first char
4315    Need char = 'z'
4316    
4317    /((.*)a|(.*)b)z\3/sI
4318    Capturing subpattern count = 3
4319    Max back reference = 3
4320    Partial matching not supported
4321    Options: dotall
4322    No first char
4323    Need char = 'z'
4324    
4325    /((.*)a|^(.*)b)z\3/sI
4326    Capturing subpattern count = 3
4327    Max back reference = 3
4328    Partial matching not supported
4329    Options: anchored dotall
4330    No first char
4331    Need char = 'z'
4332    
4333    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI
4334    Capturing subpattern count = 31
4335    Partial matching not supported
4336    Options: anchored dotall
4337    No first char
4338    No need char
4339    
4340    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI
4341    Capturing subpattern count = 31
4342    Max back reference = 31
4343    Partial matching not supported
4344    Options: dotall
4345    No first char
4346    No need char
4347    
4348    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI
4349    Capturing subpattern count = 32
4350    Max back reference = 32
4351    Partial matching not supported
4352    Options: dotall
4353    No first char
4354    No need char
4355    
4356    /(a)(bc)/ND
4357    ------------------------------------------------------------------
4358      0  21 Bra 0
4359      3   5 Bra 0
4360      6     a
4361      8   5 Ket
4362     11   7 Bra 0
4363     14     bc
4364     18   7 Ket
4365     21  21 Ket
4366     24     End
4367    ------------------------------------------------------------------
4368    Capturing subpattern count = 0
4369    Options:
4370    First char = 'a'
4371    Need char = 'c'
4372      abc
4373     0: abc
4374    
4375    /(?P<one>a)(bc)/ND
4376    ------------------------------------------------------------------
4377      0  21 Bra 0
4378      3   5 Bra 1
4379      6     a
4380      8   5 Ket
4381     11   7 Bra 0
4382     14     bc
4383     18   7 Ket
4384     21  21 Ket
4385     24     End
4386    ------------------------------------------------------------------
4387    Capturing subpattern count = 1
4388    Named capturing subpatterns:
4389      one   1
4390    Options:
4391    First char = 'a'
4392    Need char = 'c'
4393      abc
4394     0: abc
4395     1: a
4396    
4397    /(a)(?P<named>bc)/ND
4398    ------------------------------------------------------------------
4399      0  21 Bra 0
4400      3   5 Bra 0
4401      6     a
4402      8   5 Ket
4403     11   7 Bra 1
4404     14     bc
4405     18   7 Ket
4406     21  21 Ket
4407     24     End
4408    ------------------------------------------------------------------
4409    Capturing subpattern count = 1
4410    Named capturing subpatterns:
4411      named   1
4412    Options:
4413    First char = 'a'
4414    Need char = 'c'
4415    
4416    /(a+)*zz/
4417    Capturing subpattern count = 1
4418    Partial matching not supported
4419    No options
4420    No first char
4421    Need char = 'z'
4422      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4423    Minimum match limit = 8
4424     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4425     1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4426      aaaaaaaaaaaaaz\M
4427    Minimum match limit = 32768
4428    No match
4429    
4430    /(aaa(?C1)bbb|ab)/
4431    Capturing subpattern count = 1
4432    No options
4433    First char = 'a'
4434    Need char = 'b'
4435       aaabbb
4436    --->aaabbb
4437      1 ^  ^       b
4438     0: aaabbb
4439     1: aaabbb
4440       aaabbb\C*0
4441    --->aaabbb
4442      1 ^  ^       b
4443     0: aaabbb
4444     1: aaabbb
4445       aaabbb\C*1
4446    --->aaabbb
4447      1 ^  ^       b
4448    Callout data = 1
4449     0: ab
4450     1: ab
4451       aaabbb\C*-1
4452    --->aaabbb
4453      1 ^  ^       b
4454    Callout data = -1
4455    No match
4456    
4457    /ab(?P<one>cd)ef(?P<two>gh)/
4458    Capturing subpattern count = 2
4459    Named capturing subpatterns:
4460      one   1
4461      two   2
4462    No options
4463    First char = 'a'
4464    Need char = 'h'
4465        abcdefgh
4466     0: abcdefgh
4467     1: cd
4468     2: gh
4469        abcdefgh\C1\Gtwo
4470     0: abcdefgh
4471     1: cd
4472     2: gh
4473     1C cd (2)
4474     2G gh (2)
4475        abcdefgh\Cone\Ctwo
4476     0: abcdefgh
4477     1: cd
4478     2: gh
4479     1C cd (2)
4480     2C gh (2)
4481        abcdefgh\Cthree
4482    no parentheses with name "three"
4483     0: abcdefgh
4484     1: cd
4485     2: gh
4486    
4487    /(?P<Tes>)(?P<Test>)/D
4488    ------------------------------------------------------------------
4489      0  15 Bra 0
4490      3   3 Bra 1
4491      6   3 Ket
4492      9   3 Bra 2
4493     12   3 Ket
4494     15  15 Ket
4495     18     End
4496    ------------------------------------------------------------------
4497    Capturing subpattern count = 2
4498    Named capturing subpatterns:
4499      Tes    1
4500      Test   2
4501    No options
4502    No first char
4503    No need char
4504    
4505    /(?P<Test>)(?P<Tes>)/D
4506    ------------------------------------------------------------------
4507      0  15 Bra 0
4508      3   3 Bra 1
4509      6   3 Ket
4510      9   3 Bra 2
4511     12   3 Ket
4512     15  15 Ket
4513     18     End
4514    ------------------------------------------------------------------
4515    Capturing subpattern count = 2
4516    Named capturing subpatterns:
4517      Tes    2
4518      Test   1
4519    No options
4520    No first char
4521    No need char
4522    
4523    /(?P<Z>zz)(?P<A>aa)/
4524    Capturing subpattern count = 2
4525    Named capturing subpatterns:
4526      A   2
4527      Z   1
4528    No options
4529    First char = 'z'
4530    Need char = 'a'
4531        zzaa\CZ
4532     0: zzaa
4533     1: zz
4534     2: aa
4535     1C zz (2)
4536        zzaa\CA
4537     0: zzaa
4538     1: zz
4539     2: aa
4540     2C aa (2)
4541    
4542    /(?P<x>eks)(?P<x>eccs)/
4543    Failed: two named groups have the same name at offset 16
4544    
4545    /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
4546    Failed: two named groups have the same name at offset 31
4547    
4548    "\[((?P<elem>\d+)(,(?P>elem))*)\]"
4549    Capturing subpattern count = 3
4550    Named capturing subpatterns:
4551      elem   2
4552    Partial matching not supported
4553    No options
4554    First char = '['
4555    Need char = ']'
4556        [10,20,30,5,5,4,4,2,43,23,4234]
4557     0: [10,20,30,5,5,4,4,2,43,23,4234]
4558     1: 10,20,30,5,5,4,4,2,43,23,4234
4559     2: 10
4560     3: ,4234
4561        *** Failers
4562    No match
4563        []
4564    No match
4565    
4566    "\[((?P<elem>\d+)(,(?P>elem))*)?\]"
4567    Capturing subpattern count = 3
4568    Named capturing subpatterns:
4569      elem   2
4570    Partial matching not supported
4571    No options
4572    First char = '['
4573    Need char = ']'
4574        [10,20,30,5,5,4,4,2,43,23,4234]
4575     0: [10,20,30,5,5,4,4,2,43,23,4234]
4576     1: 10,20,30,5,5,4,4,2,43,23,4234
4577     2: 10
4578     3: ,4234
4579        []
4580     0: []
4581    
4582    /(a(b(?2)c))?/D
4583    ------------------------------------------------------------------
4584      0  25 Bra 0
4585      3     Brazero
4586      4  18 Bra 1
4587      7     a
4588      9  10 Bra 2
4589     12     b
4590     14   9 Recurse
4591     17     c
4592     19  10 Ket
4593     22  18 Ket
4594     25  25 Ket
4595     28     End
4596    ------------------------------------------------------------------
4597    Capturing subpattern count = 2
4598    No options
4599    No first char
4600    No need char
4601    
4602    /(a(b(?2)c))*/D
4603    ------------------------------------------------------------------
4604      0  25 Bra 0
4605      3     Brazero
4606      4  18 Bra 1
4607      7     a
4608      9  10 Bra 2
4609     12     b
4610     14   9 Recurse
4611     17     c
4612     19  10 Ket
4613     22  18 KetRmax
4614     25  25 Ket
4615     28     End
4616    ------------------------------------------------------------------
4617    Capturing subpattern count = 2
4618    No options
4619    No first char
4620    No need char
4621    
4622    /(a(b(?2)c)){0,2}/D
4623    ------------------------------------------------------------------
4624      0  53 Bra 0
4625      3     Brazero
4626      4  46 Bra 0
4627      7  18 Bra 1
4628     10     a
4629     12  10 Bra 2
4630     15     b
4631     17  12 Recurse
4632     20     c
4633     22  10 Ket
4634     25  18 Ket
4635     28     Brazero
4636     29  18 Bra 1
4637     32     a
4638     34  10 Bra 2
4639     37     b
4640     39  12 Recurse
4641     42     c
4642     44  10 Ket
4643     47  18 Ket
4644     50  46 Ket
4645     53  53 Ket
4646     56     End
4647    ------------------------------------------------------------------
4648    Capturing subpattern count = 2
4649    No options
4650    No first char
4651    No need char
4652    
4653    /[ab]{1}+/D
4654    ------------------------------------------------------------------
4655      0  47 Bra 0
4656      3  41 Once
4657      6     [ab]{1,1}
4658     44  41 Ket
4659     47  47 Ket
4660     50     End
4661    ------------------------------------------------------------------
4662    Capturing subpattern count = 0
4663    No options
4664    No first char
4665    No need char
4666    
4667    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i
4668    Capturing subpattern count = 3
4669    Partial matching not supported
4670    Options: caseless
4671    No first char
4672    Need char = 'g' (caseless)
4673         Baby Bjorn Active Carrier - With free SHIPPING!!
4674     0: Baby Bjorn Active Carrier - With free SHIPPING!!
4675     1: Baby Bjorn Active Carrier - With free SHIPPING!!
4676    
4677    /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS
4678    Capturing subpattern count = 3
4679    Partial matching not supported
4680    Options: caseless
4681    No first char
4682    Need char = 'g' (caseless)
4683    Study returned NULL
4684         Baby Bjorn Active Carrier - With free SHIPPING!!
4685     0: Baby Bjorn Active Carrier - With free SHIPPING!!
4686     1: Baby Bjorn Active Carrier - With free SHIPPING!!
4687    
4688    /a*.*b/SD
4689    ------------------------------------------------------------------
4690      0   9 Bra 0
4691      3     a*
4692      5     Any*
4693      7     b
4694      9   9 Ket
4695     12     End
4696    ------------------------------------------------------------------
4697    Capturing subpattern count = 0
4698    Partial matching not supported
4699    No options
4700    No first char
4701    Need char = 'b'
4702    Study returned NULL
4703    
4704    /(a|b)*.?c/SD
4705    ------------------------------------------------------------------
4706      0  21 Bra 0
4707      3     Brazero
4708      4   5 Bra 1
4709      7     a
4710      9   5 Alt
4711     12     b
4712     14  10 KetRmax
4713     17     Any?
4714     19     c
4715     21  21 Ket
4716     24     End
4717    ------------------------------------------------------------------
4718    Capturing subpattern count = 1
4719    No options
4720    No first char
4721    Need char = 'c'
4722    Study returned NULL
4723    
4724    /abc(?C255)de(?C)f/D
4725    ------------------------------------------------------------------
4726      0  27 Bra 0
4727      3     abc
4728      9     Callout 255 10 1
4729     15     de
4730     19     Callout 0 16 1
4731     25     f
4732     27  27 Ket
4733     30     End
4734    ------------------------------------------------------------------
4735    Capturing subpattern count = 0
4736    No options
4737    First char = 'a'
4738    Need char = 'f'
4739    
4740    /abcde/CD
4741    ------------------------------------------------------------------
4742      0  49 Bra 0
4743      3     Callout 255 0 1
4744      9     a
4745     11     Callout 255 1 1
4746     17     b
4747     19     Callout 255 2 1
4748     25     c
4749     27     Callout 255 3 1
4750     33     d
4751     35     Callout 255 4 1
4752     41     e
4753     43     Callout 255 5 0
4754     49  49 Ket
4755     52     End
4756    ------------------------------------------------------------------
4757    Capturing subpattern count = 0
4758    Options:
4759    First char = 'a'
4760    Need char = 'e'
4761      abcde
4762    --->abcde
4763     +0 ^         a
4764     +1 ^^        b
4765     +2 ^ ^       c
4766     +3 ^  ^      d
4767     +4 ^   ^     e
4768     +5 ^    ^
4769     0: abcde
4770      abcdfe
4771    --->abcdfe
4772     +0 ^          a
4773     +1 ^^         b
4774     +2 ^ ^        c
4775     +3 ^  ^       d
4776     +4 ^   ^      e
4777    No match
4778    
4779    /a*b/CD
4780    ------------------------------------------------------------------
4781      0  25 Bra 0
4782      3     Callout 255 0 2
4783      9     a*
4784     11     Callout 255 2 1
4785     17     b
4786     19     Callout 255 3 0
4787     25  25 Ket
4788     28     End
4789    ------------------------------------------------------------------
4790    Capturing subpattern count = 0
4791    Partial matching not supported
4792    Options:
4793    No first char
4794    Need char = 'b'
4795      ab
4796    --->ab
4797     +0 ^      a*
4798     +2 ^^     b
4799     +3 ^ ^
4800     0: ab
4801      aaaab
4802    --->aaaab
4803     +0 ^         a*
4804     +2 ^   ^     b
4805     +3 ^    ^
4806     0: aaaab
4807      aaaacb
4808    --->aaaacb
4809     +0 ^          a*
4810     +2 ^   ^      b
4811     +2 ^  ^       b
4812     +2 ^ ^        b
4813     +2 ^^         b
4814     +2 ^          b
4815     +0  ^         a*
4816     +2  ^  ^      b
4817     +2  ^ ^       b
4818     +2  ^^        b
4819     +2  ^         b
4820     +0   ^        a*
4821     +2   ^ ^      b
4822     +2   ^^       b
4823     +2   ^        b
4824     +0    ^       a*
4825     +2    ^^      b
4826     +2    ^       b
4827     +0     ^      a*
4828     +2     ^      b
4829     +0      ^     a*
4830     +2      ^     b
4831     +3      ^^
4832     0: b
4833    
4834    /a+b/CD
4835    ------------------------------------------------------------------
4836      0  25 Bra 0
4837      3     Callout 255 0 2
4838      9     a+
4839     11     Callout 255 2 1
4840     17     b
4841     19     Callout 255 3 0
4842     25  25 Ket
4843     28     End
4844    ------------------------------------------------------------------
4845    Capturing subpattern count = 0
4846    Partial matching not supported
4847    Options:
4848    First char = 'a'
4849    Need char = 'b'
4850      ab
4851    --->ab
4852     +0 ^      a+
4853     +2 ^^     b
4854     +3 ^ ^
4855     0: ab
4856      aaaab
4857    --->aaaab
4858     +0 ^         a+
4859     +2 ^   ^     b
4860     +3 ^    ^
4861     0: aaaab
4862      aaaacb
4863    --->aaaacb
4864     +0 ^          a+
4865     +2 ^   ^      b
4866     +2 ^  ^       b
4867     +2 ^ ^        b
4868     +2 ^^         b
4869     +0  ^         a+
4870     +2  ^  ^      b
4871     +2  ^ ^       b
4872     +2  ^^        b
4873     +0   ^        a+
4874     +2   ^ ^      b
4875     +2   ^^       b
4876     +0    ^       a+
4877     +2    ^^      b
4878    No match
4879    
4880    /(abc|def)x/CD
4881    ------------------------------------------------------------------
4882      0  92 Bra 0
4883      3     Callout 255 0 9
4884      9  33 Bra 1
4885     12     Callout 255 1 1
4886     18     a
4887     20     Callout 255 2 1
4888     26     b
4889     28     Callout 255 3 1
4890     34     c
4891     36     Callout 255 4 0
4892     42  33 Alt
4893     45     Callout 255 5 1
4894     51     d
4895     53     Callout 255 6 1
4896     59     e
4897     61     Callout 255 7 1
4898     67     f
4899     69     Callout 255 8 0
4900     75  66 Ket
4901     78     Callout 255 9 1
4902     84     x
4903     86     Callout 255 10 0
4904     92  92 Ket
4905     95     End
4906    ------------------------------------------------------------------
4907    Capturing subpattern count = 1
4908    Options:
4909    No first char
4910    Need char = 'x'
4911      abcx
4912    --->abcx
4913     +0 ^        (abc|def)
4914     +1 ^        a
4915     +2 ^^       b
4916     +3 ^ ^      c
4917     +4 ^  ^     |
4918     +9 ^  ^     x
4919    +10 ^   ^
4920     0: abcx
4921     1: abc
4922      defx
4923    --->defx
4924     +0 ^        (abc|def)
4925     +1 ^        a
4926     +5 ^        d
4927     +6 ^^       e
4928     +7 ^ ^      f
4929     +8 ^  ^     )
4930     +9 ^  ^     x
4931    +10 ^   ^
4932     0: defx
4933     1: def
4934      abcdefzx
4935    --->abcdefzx
4936     +0 ^            (abc|def)
4937     +1 ^            a
4938     +2 ^^           b
4939     +3 ^ ^          c
4940     +4 ^  ^         |
4941     +9 ^  ^         x
4942     +5 ^            d
4943     +0  ^           (abc|def)
4944     +1  ^           a
4945     +5  ^           d
4946     +0   ^          (abc|def)
4947     +1   ^          a
4948     +5   ^          d
4949     +0    ^         (abc|def)
4950     +1    ^         a
4951     +5    ^         d
4952     +6    ^^        e
4953     +7    ^ ^       f
4954     +8    ^  ^      )
4955     +9    ^  ^      x
4956     +0     ^        (abc|def)
4957     +1     ^        a
4958     +5     ^        d
4959     +0      ^       (abc|def)
4960     +1      ^       a
4961     +5      ^       d
4962     +0       ^      (abc|def)
4963     +1       ^      a
4964     +5       ^      d
4965     +0        ^     (abc|def)
4966     +1        ^     a
4967     +5        ^     d
4968    No match
4969    
4970    /(ab|cd){3,4}/C
4971    Capturing subpattern count = 1
4972    Options:
4973    No first char
4974    No need char
4975      ababab
4976    --->ababab
4977     +0 ^          (ab|cd){3,4}
4978     +1 ^          a
4979     +2 ^^         b
4980     +3 ^ ^        |
4981     +1 ^ ^        a
4982     +2 ^  ^       b
4983     +3 ^   ^      |
4984     +1 ^   ^      a
4985     +2 ^    ^     b
4986     +3 ^     ^    |
4987     +1 ^     ^    a
4988     +4 ^     ^    c
4989    +12 ^     ^
4990     0: ababab
4991     1: ab
4992      abcdabcd
4993    --->abcdabcd
4994     +0 ^            (ab|cd){3,4}