/[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 73 by nigel, Sat Feb 24 21:40:30 2007 UTC revision 91 by nigel, Sat Feb 24 21:41:34 2007 UTC
# Line 1  Line 1 
 PCRE version 4.5 01-December-2003  
   
1  /(a)b|/  /(a)b|/
2  Capturing subpattern count = 1  Capturing subpattern count = 1
3  No options  No options
# Line 42  No match Line 40  No match
40    
41  /a+bc/  /a+bc/
42  Capturing subpattern count = 0  Capturing subpattern count = 0
43    Partial matching not supported
44  No options  No options
45  First char = 'a'  First char = 'a'
46  Need char = 'c'  Need char = 'c'
47    
48  /a*bc/  /a*bc/
49  Capturing subpattern count = 0  Capturing subpattern count = 0
50    Partial matching not supported
51  No options  No options
52  No first char  No first char
53  Need char = 'c'  Need char = 'c'
54    
55  /a{3}bc/  /a{3}bc/
56  Capturing subpattern count = 0  Capturing subpattern count = 0
57    Partial matching not supported
58  No options  No options
59  First char = 'a'  First char = 'a'
60  Need char = 'c'  Need char = 'c'
61    
62  /(abc|a+z)/  /(abc|a+z)/
63  Capturing subpattern count = 1  Capturing subpattern count = 1
64    Partial matching not supported
65  No options  No options
66  First char = 'a'  First char = 'a'
67  No need char  No need char
# Line 111  Failed: unrecognized character after (? Line 113  Failed: unrecognized character after (?
113    
114  /.*b/  /.*b/
115  Capturing subpattern count = 0  Capturing subpattern count = 0
116    Partial matching not supported
117  No options  No options
118  First char at start or follows \n  First char at start or follows newline
119  Need char = 'b'  Need char = 'b'
120    
121  /.*?b/  /.*?b/
122  Capturing subpattern count = 0  Capturing subpattern count = 0
123    Partial matching not supported
124  No options  No options
125  First char at start or follows \n  First char at start or follows newline
126  Need char = 'b'  Need char = 'b'
127    
128  /cat|dog|elephant/  /cat|dog|elephant/
# Line 136  Capturing subpattern count = 0 Line 140  Capturing subpattern count = 0
140  No options  No options
141  No first char  No first char
142  No need char  No need char
143  Starting character set: c d e  Starting byte set: c d e
144      this sentence eventually mentions a cat      this sentence eventually mentions a cat
145   0: cat   0: cat
146      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
# Line 147  Capturing subpattern count = 0 Line 151  Capturing subpattern count = 0
151  Options: caseless  Options: caseless
152  No first char  No first char
153  No need char  No need char
154  Starting character set: C D E c d e  Starting byte set: C D E c d e
155      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
156   0: CAT   0: CAT
157      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
# Line 158  Capturing subpattern count = 0 Line 162  Capturing subpattern count = 0
162  No options  No options
163  No first char  No first char
164  No need char  No need char
165  Starting character set: a b c d  Starting byte set: a b c d
166    
167  /(a|[^\dZ])/S  /(a|[^\dZ])/S
168  Capturing subpattern count = 1  Capturing subpattern count = 1
169  No options  No options
170  No first char  No first char
171  No need char  No need char
172  Starting character set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
173    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
174    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
175    ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d    ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d
# Line 185  Capturing subpattern count = 1 Line 189  Capturing subpattern count = 1
189  No options  No options
190  No first char  No first char
191  No need char  No need char
192  Starting character set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
193    
194  /(ab\2)/  /(ab\2)/
195  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
# Line 320  No need char Line 324  No need char
324    
325  /.*((abc)$|(def))/  /.*((abc)$|(def))/
326  Capturing subpattern count = 3  Capturing subpattern count = 3
327    Partial matching not supported
328  No options  No options
329  First char at start or follows \n  First char at start or follows newline
330  No need char  No need char
331      defabc      defabc
332   0: defabc   0: defabc
# Line 396  Failed: missing terminating ] for charac Line 401  Failed: missing terminating ] for charac
401    
402  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/
403  Capturing subpattern count = 0  Capturing subpattern count = 0
404    Partial matching not supported
405  No options  No options
406  No first char  No first char
407  No need char  No need char
# Line 404  No need char Line 410  No need char
410    
411  /<.*>/  /<.*>/
412  Capturing subpattern count = 0  Capturing subpattern count = 0
413    Partial matching not supported
414  No options  No options
415  First char = '<'  First char = '<'
416  Need char = '>'  Need char = '>'
# Line 412  Need char = '>' Line 419  Need char = '>'
419    
420  /<.*?>/  /<.*?>/
421  Capturing subpattern count = 0  Capturing subpattern count = 0
422    Partial matching not supported
423  No options  No options
424  First char = '<'  First char = '<'
425  Need char = '>'  Need char = '>'
# Line 420  Need char = '>' Line 428  Need char = '>'
428    
429  /<.*>/U  /<.*>/U
430  Capturing subpattern count = 0  Capturing subpattern count = 0
431    Partial matching not supported
432  Options: ungreedy  Options: ungreedy
433  First char = '<'  First char = '<'
434  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 437  Need char = '>'
437    
438  /(?U)<.*>/  /(?U)<.*>/
439  Capturing subpattern count = 0  Capturing subpattern count = 0
440    Partial matching not supported
441  Options: ungreedy  Options: ungreedy
442  First char = '<'  First char = '<'
443  Need char = '>'  Need char = '>'
# Line 436  Need char = '>' Line 446  Need char = '>'
446    
447  /<.*?>/U  /<.*?>/U
448  Capturing subpattern count = 0  Capturing subpattern count = 0
449    Partial matching not supported
450  Options: ungreedy  Options: ungreedy
451  First char = '<'  First char = '<'
452  Need char = '>'  Need char = '>'
# Line 444  Need char = '>' Line 455  Need char = '>'
455    
456  /={3,}/U  /={3,}/U
457  Capturing subpattern count = 0  Capturing subpattern count = 0
458    Partial matching not supported
459  Options: ungreedy  Options: ungreedy
460  First char = '='  First char = '='
461  Need char = '='  Need char = '='
# Line 452  Need char = '=' Line 464  Need char = '='
464    
465  /(?U)={3,}?/  /(?U)={3,}?/
466  Capturing subpattern count = 0  Capturing subpattern count = 0
467    Partial matching not supported
468  Options: ungreedy  Options: ungreedy
469  First char = '='  First char = '='
470  Need char = '='  Need char = '='
# Line 504  No need char Line 517  No need char
517  /(^b|(?i)^d)/  /(^b|(?i)^d)/
518  Capturing subpattern count = 1  Capturing subpattern count = 1
519  Options: anchored  Options: anchored
 Case state changes  
520  No first char  No first char
521  No need char  No need char
522    
523  /(?s).*/  /(?s).*/
524  Capturing subpattern count = 0  Capturing subpattern count = 0
525    Partial matching not supported
526  Options: anchored dotall  Options: anchored dotall
527  No first char  No first char
528  No need char  No need char
# Line 519  Capturing subpattern count = 0 Line 532  Capturing subpattern count = 0
532  No options  No options
533  No first char  No first char
534  No need char  No need char
535  Starting character set: a b c d  Starting byte set: a b c d
536    
537  /(?i)[abcd]/S  /(?i)[abcd]/S
538  Capturing subpattern count = 0  Capturing subpattern count = 0
539  Options: caseless  Options: caseless
540  No first char  No first char
541  No need char  No need char
542  Starting character set: A B C D a b c d  Starting byte set: A B C D a b c d
543    
544  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/S
545  Capturing subpattern count = 1  Capturing subpattern count = 1
546  Options: multiline  Options: multiline
547  No first char  No first char
548  No need char  No need char
549  Starting character set: b c x y  Starting byte set: b c x y
550    
551  /(^a|^b)/m  /(^a|^b)/m
552  Capturing subpattern count = 1  Capturing subpattern count = 1
553  Options: multiline  Options: multiline
554  First char at start or follows \n  First char at start or follows newline
555  No need char  No need char
556    
557  /(?i)(^a|^b)/m  /(?i)(^a|^b)/m
558  Capturing subpattern count = 1  Capturing subpattern count = 1
559  Options: caseless multiline  Options: caseless multiline
560  First char at start or follows \n  First char at start or follows newline
561  No need char  No need char
562    
563  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
# Line 554  Failed: conditional group contains more Line 567  Failed: conditional group contains more
567  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
568    
569  /(?(1a)/  /(?(1a)/
570  Failed: malformed number after (?( at offset 4  Failed: reference to non-existent subpattern at offset 6
571    
572  /(?(?i))/  /(?(?i))/
573  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
574    
575  /(?(abc))/  /(?(abc))/
576  Failed: assertion expected after (?( at offset 3  Failed: reference to non-existent subpattern at offset 7
577    
578  /(?(?<ab))/  /(?(?<ab))/
579  Failed: unrecognized character after (?< at offset 5  Failed: unrecognized character after (?< at offset 5
# Line 568  Failed: unrecognized character after (?< Line 581  Failed: unrecognized character after (?<
581  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/
582  Capturing subpattern count = 1  Capturing subpattern count = 1
583  Max back reference = 1  Max back reference = 1
584    Partial matching not supported
585  No options  No options
586  First char = 'b'  First char = 'b'
587  Need char = 'h'  Need char = 'h'
# Line 575  Need char = 'h' Line 589  Need char = 'h'
589  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/
590  Capturing subpattern count = 1  Capturing subpattern count = 1
591  Max back reference = 1  Max back reference = 1
592    Partial matching not supported
593  No options  No options
 Case state changes  
594  First char = 'b' (caseless)  First char = 'b' (caseless)
595  Need char = 'h' (caseless)  Need char = 'h' (caseless)
596    
597  /((?i)b)/DS  /((?i)b)/DS
598  ------------------------------------------------------------------  ------------------------------------------------------------------
599    0  16 Bra 0    0  15 Bra 0
600    3   8 Bra 1    3   7 Bra 1
601    6  01 Opt    6  01 Opt
602    8   1 b    8  NC b
603   11   8 Ket   10   7 Ket
604   14  00 Opt   13  00 Opt
605   16  16 Ket   15  15 Ket
606   19     End   18     End
607  ------------------------------------------------------------------  ------------------------------------------------------------------
608  Capturing subpattern count = 1  Capturing subpattern count = 1
609  No options  No options
 Case state changes  
610  First char = 'b' (caseless)  First char = 'b' (caseless)
611  No need char  No need char
612  Study returned NULL  Study returned NULL
613    
614  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/S
615  Capturing subpattern count = 1  Capturing subpattern count = 1
616    Partial matching not supported
617  No options  No options
 Case state changes  
618  No first char  No first char
619  No need char  No need char
620  Starting character set: C a b c d  Starting byte set: C a b c d
621    
622  /a$/  /a$/
623  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 647  No need char Line 660  No need char
660  /^abc/m  /^abc/m
661  Capturing subpattern count = 0  Capturing subpattern count = 0
662  Options: multiline  Options: multiline
663  First char at start or follows \n  First char at start or follows newline
664  Need char = 'c'  Need char = 'c'
665    
666  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
667  Capturing subpattern count = 5  Capturing subpattern count = 5
668    Partial matching not supported
669  Options: anchored  Options: anchored
670  No first char  No first char
671  No need char  No need char
# Line 668  Capturing subpattern count = 0 Line 682  Capturing subpattern count = 0
682  No options  No options
683  No first char  No first char
684  No need char  No need char
685  Starting character set: a b  Starting byte set: a b
686    
687  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/S
688  Capturing subpattern count = 1  Capturing subpattern count = 1
689  No options  No options
690  No first char  No first char
691  Need char = 'a'  Need char = 'a'
692  Starting character set: a o  Starting byte set: a o
693    
694  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/S
695  Capturing subpattern count = 0  Capturing subpattern count = 0
696  No options  No options
697  No first char  No first char
698  No need char  No need char
699  Starting character set: a b  Starting byte set: a b
700    
701  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/m
702  Capturing subpattern count = 0  Capturing subpattern count = 0
703  Options: multiline  Options: multiline
704  First char at start or follows \n  No first char
705    Need char = 'r'
706        foo\nbarbar
707     0: bar
708        ***Failers
709    No match
710        rhubarb
711    No match
712        barbell
713    No match
714        abc\nbarton
715    No match
716    
717    /^(?<=foo\n)bar/m
718    Capturing subpattern count = 0
719    Options: multiline
720    First char at start or follows newline
721  Need char = 'r'  Need char = 'r'
722        foo\nbarbar
723     0: bar
724        ***Failers
725    No match
726        rhubarb
727    No match
728        barbell
729    No match
730        abc\nbarton
731    No match
732    
733  /(?>^abc)/m  /(?>^abc)/m
734  Capturing subpattern count = 0  Capturing subpattern count = 0
735  Options: multiline  Options: multiline
736  First char at start or follows \n  First char at start or follows newline
737  Need char = 'c'  Need char = 'c'
738      abc      abc
739   0: abc   0: abc
# Line 738  No match Line 778  No match
778  /(?<=ab(?i)x|y|z)/  /(?<=ab(?i)x|y|z)/
779  Capturing subpattern count = 0  Capturing subpattern count = 0
780  No options  No options
 Case state changes  
781  No first char  No first char
782  No need char  No need char
783    
784  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/
785  Capturing subpattern count = 2  Capturing subpattern count = 2
786    Partial matching not supported
787  No options  No options
788  First char at start or follows \n  First char at start or follows newline
789  No need char  No need char
790      alphabetabcd      alphabetabcd
791   0: alphabetabcd   0: alphabetabcd
# Line 758  No need char Line 798  No need char
798  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
799  Capturing subpattern count = 0  Capturing subpattern count = 0
800  No options  No options
 Case state changes  
801  First char = 'Z'  First char = 'Z'
802  Need char = 'Z'  Need char = 'Z'
803      abxyZZ      abxyZZ
# Line 921  Failed: unrecognized character after (? Line 960  Failed: unrecognized character after (?
960  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
961    
962  /(?(1?)a|b)/  /(?(1?)a|b)/
963  Failed: malformed number after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
964    
965  /(?(1)a|b|c)/  /(?(1)a|b|c)/
966  Failed: conditional group contains more than two branches at offset 10  Failed: conditional group contains more than two branches at offset 10
# Line 966  copy substring 5 failed -7 Line 1005  copy substring 5 failed -7
1005    
1006  /(.{20})/  /(.{20})/
1007  Capturing subpattern count = 1  Capturing subpattern count = 1
1008    Partial matching not supported
1009  No options  No options
1010  No first char  No first char
1011  No need char  No need char
# Line 975  No need char Line 1015  No need char
1015      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
1016   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1017   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1018  copy substring 1 failed -6   1C abcdefghijklmnopqrst (20)
1019      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
1020   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1021   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
# Line 983  copy substring 1 failed -6 Line 1023  copy substring 1 failed -6
1023    
1024  /(.{15})/  /(.{15})/
1025  Capturing subpattern count = 1  Capturing subpattern count = 1
1026    Partial matching not supported
1027  No options  No options
1028  No first char  No first char
1029  No need char  No need char
# Line 997  No need char Line 1038  No need char
1038    
1039  /(.{16})/  /(.{16})/
1040  Capturing subpattern count = 1  Capturing subpattern count = 1
1041    Partial matching not supported
1042  No options  No options
1043  No first char  No first char
1044  No need char  No need char
# Line 1006  No need char Line 1048  No need char
1048      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
1049   0: abcdefghijklmnop   0: abcdefghijklmnop
1050   1: abcdefghijklmnop   1: abcdefghijklmnop
1051  copy substring 1 failed -6   1C abcdefghijklmnop (16)
1052   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1053   0L abcdefghijklmnop   0L abcdefghijklmnop
1054   1L abcdefghijklmnop   1L abcdefghijklmnop
# Line 1062  No need char Line 1104  No need char
1104  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1105  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1106  )?)?)?)?)?)?)?)?)?otherword/M  )?)?)?)?)?)?)?)?)?otherword/M
1107  Memory allocation (code space): 428  Memory allocation (code space): 432
1108  Capturing subpattern count = 8  Capturing subpattern count = 8
1109    Partial matching not supported
1110  No options  No options
1111  First char = 'w'  First char = 'w'
1112  Need char = 'd'  Need char = 'd'
1113    
1114  /.*X/D  /.*X/D
1115  ------------------------------------------------------------------  ------------------------------------------------------------------
1116    0   8 Bra 0    0   7 Bra 0
1117    3     Any*    3     Any*
1118    5   1 X    5     X
1119    8   8 Ket    7   7 Ket
1120   11     End   10     End
1121  ------------------------------------------------------------------  ------------------------------------------------------------------
1122  Capturing subpattern count = 0  Capturing subpattern count = 0
1123    Partial matching not supported
1124  No options  No options
1125  First char at start or follows \n  First char at start or follows newline
1126  Need char = 'X'  Need char = 'X'
1127    
1128  /.*X/Ds  /.*X/Ds
1129  ------------------------------------------------------------------  ------------------------------------------------------------------
1130    0   8 Bra 0    0   7 Bra 0
1131    3     Any*    3     Any*
1132    5   1 X    5     X
1133    8   8 Ket    7   7 Ket
1134   11     End   10     End
1135  ------------------------------------------------------------------  ------------------------------------------------------------------
1136  Capturing subpattern count = 0  Capturing subpattern count = 0
1137    Partial matching not supported
1138  Options: anchored dotall  Options: anchored dotall
1139  No first char  No first char
1140  Need char = 'X'  Need char = 'X'
1141    
1142  /(.*X|^B)/D  /(.*X|^B)/D
1143  ------------------------------------------------------------------  ------------------------------------------------------------------
1144    0  21 Bra 0    0  19 Bra 0
1145    3   8 Bra 1    3   7 Bra 1
1146    6     Any*    6     Any*
1147    8   1 X    8     X
1148   11   7 Alt   10   6 Alt
1149   14     ^   13     ^
1150   15   1 B   14     B
1151   18  15 Ket   16  13 Ket
1152   21  21 Ket   19  19 Ket
1153   24     End   22     End
1154  ------------------------------------------------------------------  ------------------------------------------------------------------
1155  Capturing subpattern count = 1  Capturing subpattern count = 1
1156    Partial matching not supported
1157  No options  No options
1158  First char at start or follows \n  First char at start or follows newline
1159  No need char  No need char
1160    
1161  /(.*X|^B)/Ds  /(.*X|^B)/Ds
1162  ------------------------------------------------------------------  ------------------------------------------------------------------
1163    0  21 Bra 0    0  19 Bra 0
1164    3   8 Bra 1    3   7 Bra 1
1165    6     Any*    6     Any*
1166    8   1 X    8     X
1167   11   7 Alt   10   6 Alt
1168   14     ^   13     ^
1169   15   1 B   14     B
1170   18  15 Ket   16  13 Ket
1171   21  21 Ket   19  19 Ket
1172   24     End   22     End
1173  ------------------------------------------------------------------  ------------------------------------------------------------------
1174  Capturing subpattern count = 1  Capturing subpattern count = 1
1175    Partial matching not supported
1176  Options: anchored dotall  Options: anchored dotall
1177  No first char  No first char
1178  No need char  No need char
1179    
1180  /(?s)(.*X|^B)/D  /(?s)(.*X|^B)/D
1181  ------------------------------------------------------------------  ------------------------------------------------------------------
1182    0  21 Bra 0    0  19 Bra 0
1183    3   8 Bra 1    3   7 Bra 1
1184    6     Any*    6     Any*
1185    8   1 X    8     X
1186   11   7 Alt   10   6 Alt
1187   14     ^   13     ^
1188   15   1 B   14     B
1189   18  15 Ket   16  13 Ket
1190   21  21 Ket   19  19 Ket
1191   24     End   22     End
1192  ------------------------------------------------------------------  ------------------------------------------------------------------
1193  Capturing subpattern count = 1  Capturing subpattern count = 1
1194    Partial matching not supported
1195  Options: anchored dotall  Options: anchored dotall
1196  No first char  No first char
1197  No need char  No need char
1198    
1199  /(?s:.*X|^B)/D  /(?s:.*X|^B)/D
1200  ------------------------------------------------------------------  ------------------------------------------------------------------
1201    0  27 Bra 0    0  25 Bra 0
1202    3  10 Bra 0    3   9 Bra 0
1203    6  04 Opt    6  04 Opt
1204    8     Any*    8     Any*
1205   10   1 X   10     X
1206   13   9 Alt   12   8 Alt
1207   16  04 Opt   15  04 Opt
1208   18     ^   17     ^
1209   19   1 B   18     B
1210   22  19 Ket   20  17 Ket
1211   25  00 Opt   23  00 Opt
1212   27  27 Ket   25  25 Ket
1213   30     End   28     End
1214  ------------------------------------------------------------------  ------------------------------------------------------------------
1215  Capturing subpattern count = 0  Capturing subpattern count = 0
1216    Partial matching not supported
1217  No options  No options
1218  First char at start or follows \n  First char at start or follows newline
1219  No need char  No need char
1220    
1221  /\Biss\B/+  /\Biss\B/+
# Line 1249  No need char Line 1298  No need char
1298    
1299  /.*iss/g+  /.*iss/g+
1300  Capturing subpattern count = 0  Capturing subpattern count = 0
1301    Partial matching not supported
1302  No options  No options
1303  First char at start or follows \n  First char at start or follows newline
1304  Need char = 's'  Need char = 's'
1305      abciss\nxyzisspqr      abciss\nxyzisspqr
1306   0: abciss   0: abciss
# Line 1309  No need char Line 1359  No need char
1359  /^ab\n/mg+  /^ab\n/mg+
1360  Capturing subpattern count = 0  Capturing subpattern count = 0
1361  Options: multiline  Options: multiline
1362  First char at start or follows \n  First char at start or follows newline
1363  Need char = 10  Need char = 10
1364      ab\nab\ncd      ab\nab\ncd
1365   0: ab\x0a   0: ab\x0a
# Line 1349  Need char = 'c' Line 1399  Need char = 'c'
1399    
1400  /a*/  /a*/
1401  Capturing subpattern count = 0  Capturing subpattern count = 0
1402    Partial matching not supported
1403  No options  No options
1404  No first char  No first char
1405  No need char  No need char
1406    
1407  /a+/  /a+/
1408  Capturing subpattern count = 0  Capturing subpattern count = 0
1409    Partial matching not supported
1410  No options  No options
1411  First char = 'a'  First char = 'a'
1412  No need char  No need char
1413    
1414  /(baa|a+)/  /(baa|a+)/
1415  Capturing subpattern count = 1  Capturing subpattern count = 1
1416    Partial matching not supported
1417  No options  No options
1418  No first char  No first char
1419  Need char = 'a'  Need char = 'a'
1420    
1421  /a{0,3}/  /a{0,3}/
1422  Capturing subpattern count = 0  Capturing subpattern count = 0
1423    Partial matching not supported
1424  No options  No options
1425  No first char  No first char
1426  No need char  No need char
1427    
1428  /baa{3,}/  /baa{3,}/
1429  Capturing subpattern count = 0  Capturing subpattern count = 0
1430    Partial matching not supported
1431  No options  No options
1432  First char = 'b'  First char = 'b'
1433  Need char = 'a'  Need char = 'a'
1434    
1435  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/
1436  Capturing subpattern count = 1  Capturing subpattern count = 1
1437    Partial matching not supported
1438  No options  No options
1439  First char = '"'  First char = '"'
1440  Need char = '"'  Need char = '"'
# Line 1433  Need char = 'b' Line 1489  Need char = 'b'
1489    
1490  /abc*/  /abc*/
1491  Capturing subpattern count = 0  Capturing subpattern count = 0
1492    Partial matching not supported
1493  No options  No options
1494  First char = 'a'  First char = 'a'
1495  Need char = 'b'  Need char = 'b'
1496    
1497  /ab.c*/  /ab.c*/
1498  Capturing subpattern count = 0  Capturing subpattern count = 0
1499    Partial matching not supported
1500  No options  No options
1501  First char = 'a'  First char = 'a'
1502  Need char = 'b'  Need char = 'b'
1503    
1504  /a.c*/  /a.c*/
1505  Capturing subpattern count = 0  Capturing subpattern count = 0
1506    Partial matching not supported
1507  No options  No options
1508  First char = 'a'  First char = 'a'
1509  No need char  No need char
1510    
1511  /.c*/  /.c*/
1512  Capturing subpattern count = 0  Capturing subpattern count = 0
1513    Partial matching not supported
1514  No options  No options
1515  No first char  No first char
1516  No need char  No need char
1517    
1518  /ac*/  /ac*/
1519  Capturing subpattern count = 0  Capturing subpattern count = 0
1520    Partial matching not supported
1521  No options  No options
1522  First char = 'a'  First char = 'a'
1523  No need char  No need char
1524    
1525  /(a.c*|b.c*)/  /(a.c*|b.c*)/
1526  Capturing subpattern count = 1  Capturing subpattern count = 1
1527    Partial matching not supported
1528  No options  No options
1529  No first char  No first char
1530  No need char  No need char
1531    
1532  /a.c*|aba/  /a.c*|aba/
1533  Capturing subpattern count = 0  Capturing subpattern count = 0
1534    Partial matching not supported
1535  No options  No options
1536  First char = 'a'  First char = 'a'
1537  No need char  No need char
1538    
1539  /.+a/  /.+a/
1540  Capturing subpattern count = 0  Capturing subpattern count = 0
1541    Partial matching not supported
1542  No options  No options
1543  No first char  No first char
1544  Need char = 'a'  Need char = 'a'
1545    
1546  /(?=abcda)a.*/  /(?=abcda)a.*/
1547  Capturing subpattern count = 0  Capturing subpattern count = 0
1548    Partial matching not supported
1549  No options  No options
1550  First char = 'a'  First char = 'a'
1551  Need char = 'a'  Need char = 'a'
1552    
1553  /(?=a)a.*/  /(?=a)a.*/
1554  Capturing subpattern count = 0  Capturing subpattern count = 0
1555    Partial matching not supported
1556  No options  No options
1557  First char = 'a'  First char = 'a'
1558  No need char  No need char
# Line 1499  No need char Line 1565  No need char
1565    
1566  /a\d*/  /a\d*/
1567  Capturing subpattern count = 0  Capturing subpattern count = 0
1568    Partial matching not supported
1569  No options  No options
1570  First char = 'a'  First char = 'a'
1571  No need char  No need char
1572    
1573  /ab\d*/  /ab\d*/
1574  Capturing subpattern count = 0  Capturing subpattern count = 0
1575    Partial matching not supported
1576  No options  No options
1577  First char = 'a'  First char = 'a'
1578  Need char = 'b'  Need char = 'b'
# Line 1523  Need char = 'd' Line 1591  Need char = 'd'
1591    
1592  /ab\d+/  /ab\d+/
1593  Capturing subpattern count = 0  Capturing subpattern count = 0
1594    Partial matching not supported
1595  No options  No options
1596  First char = 'a'  First char = 'a'
1597  Need char = 'b'  Need char = 'b'
# Line 1640  Study returned NULL Line 1709  Study returned NULL
1709    \)            # Closing )    \)            # Closing )
1710    /x    /x
1711  Capturing subpattern count = 0  Capturing subpattern count = 0
1712    Partial matching not supported
1713  Options: extended  Options: extended
1714  First char = '('  First char = '('
1715  Need char = ')'  Need char = ')'
# Line 1668  No match Line 1738  No match
1738    
1739  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /xg
1740  Capturing subpattern count = 1  Capturing subpattern count = 1
1741    Partial matching not supported
1742  Options: extended  Options: extended
1743  First char = '('  First char = '('
1744  Need char = ')'  Need char = ')'
# Line 1682  Need char = ')' Line 1753  Need char = ')'
1753    
1754  /\(  (?: (?>[^()]+) | (?R) ) \) /x  /\(  (?: (?>[^()]+) | (?R) ) \) /x
1755  Capturing subpattern count = 0  Capturing subpattern count = 0
1756    Partial matching not supported
1757  Options: extended  Options: extended
1758  First char = '('  First char = '('
1759  Need char = ')'  Need char = ')'
# Line 1700  No match Line 1772  No match
1772    
1773  /\(  (?: (?>[^()]+) | (?R) )? \) /x  /\(  (?: (?>[^()]+) | (?R) )? \) /x
1774  Capturing subpattern count = 0  Capturing subpattern count = 0
1775    Partial matching not supported
1776  Options: extended  Options: extended
1777  First char = '('  First char = '('
1778  Need char = ')'  Need char = ')'
# Line 1710  Need char = ')' Line 1783  Need char = ')'
1783    
1784  /\(  ( (?>[^()]+) | (?R) )* \) /x  /\(  ( (?>[^()]+) | (?R) )* \) /x
1785  Capturing subpattern count = 1  Capturing subpattern count = 1
1786    Partial matching not supported
1787  Options: extended  Options: extended
1788  First char = '('  First char = '('
1789  Need char = ')'  Need char = ')'
# Line 1719  Need char = ')' Line 1793  Need char = ')'
1793    
1794  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x
1795  Capturing subpattern count = 2  Capturing subpattern count = 2
1796    Partial matching not supported
1797  Options: extended  Options: extended
1798  First char = '('  First char = '('
1799  Need char = ')'  Need char = ')'
# Line 1729  Need char = ')' Line 1804  Need char = ')'
1804    
1805  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
1806  Capturing subpattern count = 3  Capturing subpattern count = 3
1807    Partial matching not supported
1808  Options: extended  Options: extended
1809  First char = '('  First char = '('
1810  Need char = ')'  Need char = ')'
# Line 1745  Need char = ')' Line 1821  Need char = ')'
1821    
1822  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
1823  Capturing subpattern count = 3  Capturing subpattern count = 3
1824    Partial matching not supported
1825  Options: extended  Options: extended
1826  First char = '('  First char = '('
1827  Need char = ')'  Need char = ')'
# Line 1761  Need char = ')' Line 1838  Need char = ')'
1838    
1839  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
1840  Capturing subpattern count = 11  Capturing subpattern count = 11
1841    Partial matching not supported
1842  Options: extended  Options: extended
1843  First char = '('  First char = '('
1844  Need char = ')'  Need char = ')'
# Line 1780  Need char = ')' Line 1858  Need char = ')'
1858    
1859  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
1860  Capturing subpattern count = 3  Capturing subpattern count = 3
1861    Partial matching not supported
1862  Options: extended  Options: extended
1863  First char = '('  First char = '('
1864  Need char = ')'  Need char = ')'
# Line 1791  Need char = ')' Line 1870  Need char = ')'
1870    
1871  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
1872  Capturing subpattern count = 3  Capturing subpattern count = 3
1873    Partial matching not supported
1874  Options: extended  Options: extended
1875  First char = '('  First char = '('
1876  Need char = ')'  Need char = ')'
# Line 1818  Options: anchored Line 1898  Options: anchored
1898  No first char  No first char
1899  No need char  No need char
1900    
1901    /^[[:^alnum:]]/D
1902    ------------------------------------------------------------------
1903      0  37 Bra 0
1904      3     ^
1905      4     [\x00-/:-@[-`{-\xff]
1906     37  37 Ket
1907     40     End
1908    ------------------------------------------------------------------
1909    Capturing subpattern count = 0
1910    Options: anchored
1911    No first char
1912    No need char
1913    
1914  /^[[:alpha:]]/D  /^[[:alpha:]]/D
1915  ------------------------------------------------------------------  ------------------------------------------------------------------
1916    0  37 Bra 0    0  37 Bra 0
# Line 1830  Capturing subpattern count = 0 Line 1923  Capturing subpattern count = 0
1923  Options: anchored  Options: anchored
1924  No first char  No first char
1925  No need char  No need char
1926    
1927    /^[[:^alpha:]]/D
1928    ------------------------------------------------------------------
1929      0  37 Bra 0
1930      3     ^
1931      4     [\x00-@[-`{-\xff]
1932     37  37 Ket
1933     40     End
1934    ------------------------------------------------------------------
1935    Capturing subpattern count = 0
1936    Options: anchored
1937    No first char
1938    No need char
1939    
1940    /[_[:alpha:]]/IS
1941    Capturing subpattern count = 0
1942    No options
1943    No first char
1944    No need char
1945    Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1946      _ a b c d e f g h i j k l m n o p q r s t u v w x y z
1947    
1948  /^[[:ascii:]]/D  /^[[:ascii:]]/D
1949  ------------------------------------------------------------------  ------------------------------------------------------------------
1950    0  37 Bra 0    0  37 Bra 0
# Line 1844  Options: anchored Line 1958  Options: anchored
1958  No first char  No first char
1959  No need char  No need char
1960    
1961    /^[[:^ascii:]]/D
1962    ------------------------------------------------------------------
1963      0  37 Bra 0
1964      3     ^
1965      4     [\x80-\xff]
1966     37  37 Ket
1967     40     End
1968    ------------------------------------------------------------------
1969    Capturing subpattern count = 0
1970    Options: anchored
1971    No first char
1972    No need char
1973    
1974  /^[[:blank:]]/D  /^[[:blank:]]/D
1975  ------------------------------------------------------------------  ------------------------------------------------------------------
1976    0  37 Bra 0    0  37 Bra 0
# Line 1857  Options: anchored Line 1984  Options: anchored
1984  No first char  No first char
1985  No need char  No need char
1986    
1987    /^[[:^blank:]]/D
1988    ------------------------------------------------------------------
1989      0  37 Bra 0
1990      3     ^
1991      4     [\x00-\x08\x0a-\x1f!-\xff]
1992     37  37 Ket
1993     40     End
1994    ------------------------------------------------------------------
1995    Capturing subpattern count = 0
1996    Options: anchored
1997    No first char
1998    No need char
1999    
2000    /[\n\x0b\x0c\x0d[:blank:]]/IS
2001    Capturing subpattern count = 0
2002    No options
2003    No first char
2004    No need char
2005    Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2006    
2007  /^[[:cntrl:]]/D  /^[[:cntrl:]]/D
2008  ------------------------------------------------------------------  ------------------------------------------------------------------
2009    0  37 Bra 0    0  37 Bra 0
# Line 2004  No need char Line 2151  No need char
2151  ------------------------------------------------------------------  ------------------------------------------------------------------
2152    0  37 Bra 0    0  37 Bra 0
2153    3     ^    3     ^
2154    4     [\x00-/1-2:-\xff]    4     [\x00-/12:-\xff]
2155   37  37 Ket   37  37 Ket
2156   40     End   40     End
2157  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2029  No need char Line 2176  No need char
2176  /[01[:alpha:]%]/D  /[01[:alpha:]%]/D
2177  ------------------------------------------------------------------  ------------------------------------------------------------------
2178    0  36 Bra 0    0  36 Bra 0
2179    3     [%0-1A-Za-z]    3     [%01A-Za-z]
2180   36  36 Ket   36  36 Ket
2181   39     End   39     End
2182  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2070  No need char Line 2217  No need char
2217  /((?-i)[[:lower:]])[[:lower:]]/i  /((?-i)[[:lower:]])[[:lower:]]/i
2218  Capturing subpattern count = 1  Capturing subpattern count = 1
2219  Options: caseless  Options: caseless
 Case state changes  
2220  No first char  No first char
2221  No need char  No need char
2222      ab      ab
# Line 2087  No match Line 2233  No match
2233      AB      AB
2234  No match  No match
2235    
2236  /[\200-\410]/  /[\200-\110]/
2237  Failed: range out of order in character class at offset 9  Failed: range out of order in character class at offset 9
2238    
2239  /^(?(0)f|b)oo/  /^(?(0)f|b)oo/
2240  Failed: invalid condition (?(0) at offset 5  Failed: invalid condition (?(0) at offset 6
2241    
2242  /This one's here because of the large output vector needed/  /This one's here because of the large output vector needed/
2243  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 2102  Need char = 'd' Line 2248  Need char = 'd'
2248  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/
2249  Capturing subpattern count = 271  Capturing subpattern count = 271
2250  Max back reference = 270  Max back reference = 270
2251    Partial matching not supported
2252  No options  No options
2253  No first char  No first char
2254  No need char  No need char
# Line 2560  No first char Line 2707  No first char
2707  No need char  No need char
2708    
2709  /a#/xMD  /a#/xMD
2710  Memory allocation (code space): 13  Memory allocation (code space): 9
2711  ------------------------------------------------------------------  ------------------------------------------------------------------
2712    0   6 Bra 0    0   5 Bra 0
2713    3   1 a    3     a
2714    6   6 Ket    5   5 Ket
2715    9     End    8     End
2716  ------------------------------------------------------------------  ------------------------------------------------------------------
2717  Capturing subpattern count = 0  Capturing subpattern count = 0
2718  Options: extended  Options: extended
# Line 2575  No need char Line 2722  No need char
2722  /[\s]/D  /[\s]/D
2723  ------------------------------------------------------------------  ------------------------------------------------------------------
2724    0  36 Bra 0    0  36 Bra 0
2725    3     [\x09-\x0a\x0c-\x0d ]    3     [\x09\x0a\x0c\x0d ]
2726   36  36 Ket   36  36 Ket
2727   39     End   39     End
2728  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2598  No need char Line 2745  No need char
2745    
2746  /a(?i)b/D  /a(?i)b/D
2747  ------------------------------------------------------------------  ------------------------------------------------------------------
2748    0  11 Bra 0    0   9 Bra 0
2749    3   1 a    3     a
2750    6  01 Opt    5  01 Opt
2751    8   1 b    7  NC b
2752   11  11 Ket    9   9 Ket
2753   14     End   12     End
2754  ------------------------------------------------------------------  ------------------------------------------------------------------
2755  Capturing subpattern count = 0  Capturing subpattern count = 0
2756  No options  No options
 Case state changes  
2757  First char = 'a'  First char = 'a'
2758  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2759      ab      ab
# Line 2621  No match Line 2767  No match
2767    
2768  /(a(?i)b)/D  /(a(?i)b)/D
2769  ------------------------------------------------------------------  ------------------------------------------------------------------
2770    0  19 Bra 0    0  17 Bra 0
2771    3  11 Bra 1    3   9 Bra 1
2772    6   1 a    6     a
2773    9  01 Opt    8  01 Opt
2774   11   1 b   10  NC b
2775   14  11 Ket   12   9 Ket
2776   17  00 Opt   15  00 Opt
2777   19  19 Ket   17  17 Ket
2778   22     End   20     End
2779  ------------------------------------------------------------------  ------------------------------------------------------------------
2780  Capturing subpattern count = 1  Capturing subpattern count = 1
2781  No options  No options
 Case state changes  
2782  First char = 'a'  First char = 'a'
2783  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2784      ab      ab
# Line 2649  No match Line 2794  No match
2794    
2795  /   (?i)abc/xD  /   (?i)abc/xD
2796  ------------------------------------------------------------------  ------------------------------------------------------------------
2797    0   8 Bra 0    0   9 Bra 0
2798    3   3 abc    3  NC abc
2799    8   8 Ket    9   9 Ket
2800   11     End   12     End
2801  ------------------------------------------------------------------  ------------------------------------------------------------------
2802  Capturing subpattern count = 0  Capturing subpattern count = 0
2803  Options: caseless extended  Options: caseless extended
# Line 2662  Need char = 'c' (caseless) Line 2807  Need char = 'c' (caseless)
2807  /#this is a comment  /#this is a comment
2808    (?i)abc/xD    (?i)abc/xD
2809  ------------------------------------------------------------------  ------------------------------------------------------------------
2810    0   8 Bra 0    0   9 Bra 0
2811    3   3 abc    3  NC abc
2812    8   8 Ket    9   9 Ket
2813   11     End   12     End
2814  ------------------------------------------------------------------  ------------------------------------------------------------------
2815  Capturing subpattern count = 0  Capturing subpattern count = 0
2816  Options: caseless extended  Options: caseless extended
# Line 2674  Need char = 'c' (caseless) Line 2819  Need char = 'c' (caseless)
2819    
2820  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2821  ------------------------------------------------------------------  ------------------------------------------------------------------
2822    0 307 Bra 0    0 603 Bra 0
2823    3 250 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2824  255  50 12345678901234567890123456789012345678901234567890  603 603 Ket
2825  307 307 Ket  606     End
 310     End  
2826  ------------------------------------------------------------------  ------------------------------------------------------------------
2827  Capturing subpattern count = 0  Capturing subpattern count = 0
2828  No options  No options
# Line 2687  Need char = '0' Line 2831  Need char = '0'
2831    
2832  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2833  ------------------------------------------------------------------  ------------------------------------------------------------------
2834    0 307 Bra 0    0 603 Bra 0
2835    3 250 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2836  255  50 12345678901234567890123456789012345678901234567890  603 603 Ket
2837  307 307 Ket  606     End
 310     End  
2838  ------------------------------------------------------------------  ------------------------------------------------------------------
2839  Capturing subpattern count = 0  Capturing subpattern count = 0
2840  No options  No options
# Line 2713  No need char Line 2856  No need char
2856    
2857  /\Q\Ex/D  /\Q\Ex/D
2858  ------------------------------------------------------------------  ------------------------------------------------------------------
2859    0   6 Bra 0    0   5 Bra 0
2860    3   1 x    3     x
2861    6   6 Ket    5   5 Ket
2862    9     End    8     End
2863  ------------------------------------------------------------------  ------------------------------------------------------------------
2864  Capturing subpattern count = 0  Capturing subpattern count = 0
2865  No options  No options
# Line 2725  No need char Line 2868  No need char
2868    
2869  / \Q\E/D  / \Q\E/D
2870  ------------------------------------------------------------------  ------------------------------------------------------------------
2871    0   6 Bra 0    0   5 Bra 0
2872    3   1    3
2873    6   6 Ket    5   5 Ket
2874    9     End    8     End
2875  ------------------------------------------------------------------  ------------------------------------------------------------------
2876  Capturing subpattern count = 0  Capturing subpattern count = 0
2877  No options  No options
# Line 2737  No need char Line 2880  No need char
2880    
2881  /a\Q\E/D  /a\Q\E/D
2882  ------------------------------------------------------------------  ------------------------------------------------------------------
2883    0   6 Bra 0    0   5 Bra 0
2884    3   1 a    3     a
2885    6   6 Ket    5   5 Ket
2886    9     End    8     End
2887  ------------------------------------------------------------------  ------------------------------------------------------------------
2888  Capturing subpattern count = 0  Capturing subpattern count = 0
2889  No options  No options
# Line 2755  No need char Line 2898  No need char
2898    
2899  /a\Q\Eb/D  /a\Q\Eb/D
2900  ------------------------------------------------------------------  ------------------------------------------------------------------
2901    0   9 Bra 0    0   7 Bra 0
2902    3   1 a    3     ab
2903    6   1 b    7   7 Ket
2904    9   9 Ket   10     End
  12     End  
2905  ------------------------------------------------------------------  ------------------------------------------------------------------
2906  Capturing subpattern count = 0  Capturing subpattern count = 0
2907  No options  No options
# Line 2770  Need char = 'b' Line 2912  Need char = 'b'
2912    
2913  /\Q\Eabc/D  /\Q\Eabc/D
2914  ------------------------------------------------------------------  ------------------------------------------------------------------
2915    0   8 Bra 0    0   9 Bra 0
2916    3   3 abc    3     abc
2917    8   8 Ket    9   9 Ket
2918   11     End   12     End
2919  ------------------------------------------------------------------  ------------------------------------------------------------------
2920  Capturing subpattern count = 0  Capturing subpattern count = 0
2921  No options  No options
# Line 2791  Need char = 'c' Line 2933  Need char = 'c'
2933   15     End   15     End
2934  ------------------------------------------------------------------  ------------------------------------------------------------------
2935  Capturing subpattern count = 0  Capturing subpattern count = 0
2936    Partial matching not supported
2937  No options  No options
2938  No first char  No first char
2939  No need char  No need char
# Line 2823  No need char Line 2966  No need char
2966   14     End   14     End
2967  ------------------------------------------------------------------  ------------------------------------------------------------------
2968  Capturing subpattern count = 0  Capturing subpattern count = 0
2969    Partial matching not supported
2970  No options  No options
2971  First char = 'x'  First char = 'x'
2972  No need char  No need char
2973    
2974  /x{1,3}+/D  /x{1,3}+/D
2975  ------------------------------------------------------------------  ------------------------------------------------------------------
2976    0  16 Bra 0    0  15 Bra 0
2977    3  10 Once    3   9 Once
2978    6   1 x    6     x
2979    9     x{,2}    8     x{,2}
2980   13  10 Ket   12   9 Ket
2981   16  16 Ket   15  15 Ket
2982   19     End   18     End
2983  ------------------------------------------------------------------  ------------------------------------------------------------------
2984  Capturing subpattern count = 0  Capturing subpattern count = 0
2985    Partial matching not supported
2986  No options  No options
2987  First char = 'x'  First char = 'x'
2988  No need char  No need char
2989    
2990  /(x)*+/D  /(x)*+/D
2991  ------------------------------------------------------------------  ------------------------------------------------------------------
2992    0  19 Bra 0    0  18 Bra 0
2993    3  13 Once    3  12 Once
2994    6     Brazero    6     Brazero
2995    7   6 Bra 1    7   5 Bra 1
2996   10   1 x   10     x
2997   13   6 KetRmax   12   5 KetRmax
2998   16  13 Ket   15  12 Ket
2999   19  19 Ket   18  18 Ket
3000   22     End   21     End
3001  ------------------------------------------------------------------  ------------------------------------------------------------------
3002  Capturing subpattern count = 1  Capturing subpattern count = 1
3003  No options  No options
# Line 2861  No need char Line 3006  No need char
3006    
3007  /^(\w++|\s++)*$/  /^(\w++|\s++)*$/
3008  Capturing subpattern count = 1  Capturing subpattern count = 1
3009    Partial matching not supported
3010  Options: anchored  Options: anchored
3011  No first char  No first char
3012  No need char  No need char
# Line 2874  No match Line 3020  No match
3020    
3021  /(\d++)(\w)/  /(\d++)(\w)/
3022  Capturing subpattern count = 2  Capturing subpattern count = 2
3023    Partial matching not supported
3024  No options  No options
3025  No first char  No first char
3026  No need char  No need char
# Line 2888  No match Line 3035  No match
3035    
3036  /a++b/  /a++b/
3037  Capturing subpattern count = 0  Capturing subpattern count = 0
3038    Partial matching not supported
3039  No options  No options
3040  First char = 'a'  First char = 'a'
3041  Need char = 'b'  Need char = 'b'
# Line 2896  Need char = 'b' Line 3044  Need char = 'b'
3044    
3045  /(a++b)/  /(a++b)/
3046  Capturing subpattern count = 1  Capturing subpattern count = 1
3047    Partial matching not supported
3048  No options  No options
3049  First char = 'a'  First char = 'a'
3050  Need char = 'b'  Need char = 'b'
# Line 2905  Need char = 'b' Line 3054  Need char = 'b'
3054    
3055  /(a++)b/  /(a++)b/
3056  Capturing subpattern count = 1  Capturing subpattern count = 1
3057    Partial matching not supported
3058  No options  No options
3059  First char = 'a'  First char = 'a'
3060  Need char = 'b'  Need char = 'b'
# Line 2914  Need char = 'b' Line 3064  Need char = 'b'
3064    
3065  /([^()]++|\([^()]*\))+/  /([^()]++|\([^()]*\))+/
3066  Capturing subpattern count = 1  Capturing subpattern count = 1
3067    Partial matching not supported
3068  No options  No options
3069  No first char  No first char
3070  No need char  No need char
# Line 2923  No need char Line 3074  No need char
3074    
3075  /\(([^()]++|\([^()]+\))+\)/  /\(([^()]++|\([^()]+\))+\)/
3076  Capturing subpattern count = 1  Capturing subpattern count = 1
3077    Partial matching not supported
3078  No options  No options
3079  First char = '('  First char = '('
3080  Need char = ')'  Need char = ')'
# Line 2939  No match Line 3091  No match
3091    
3092  /(abc){1,3}+/D  /(abc){1,3}+/D
3093  ------------------------------------------------------------------  ------------------------------------------------------------------
3094    0  50 Bra 0    0  53 Bra 0
3095    3  44 Once    3  47 Once
3096    6   8 Bra 1    6   9 Bra 1
3097    9   3 abc    9     abc
3098   14   8 Ket   15   9 Ket
3099   17     Brazero   18     Brazero
3100   18  26 Bra 0   19  28 Bra 0
3101   21   8 Bra 1   22   9 Bra 1
3102   24   3 abc   25     abc
3103   29   8 Ket   31   9 Ket
3104   32     Brazero   34     Brazero
3105   33   8 Bra 1   35   9 Bra 1
3106   36   3 abc   38     abc
3107   41   8 Ket   44   9 Ket
3108   44  26 Ket   47  28 Ket
3109   47  44 Ket   50  47 Ket
3110   50  50 Ket   53  53 Ket
3111   53     End   56     End
3112  ------------------------------------------------------------------  ------------------------------------------------------------------
3113  Capturing subpattern count = 1  Capturing subpattern count = 1
3114  No options  No options
# Line 2977  Failed: nothing to repeat at offset 7 Line 3129  Failed: nothing to repeat at offset 7
3129    
3130  /x(?U)a++b/D  /x(?U)a++b/D
3131  ------------------------------------------------------------------  ------------------------------------------------------------------
3132    0  17 Bra 0    0  15 Bra 0
3133    3   1 x    3     x
3134    6   5 Once    5   5 Once
3135    9     a+    8     a+
3136   11   5 Ket   10   5 Ket
3137   14   1 b   13     b
3138   17  17 Ket   15  15 Ket
3139   20     End   18     End
3140  ------------------------------------------------------------------  ------------------------------------------------------------------
3141  Capturing subpattern count = 0  Capturing subpattern count = 0
3142    Partial matching not supported
3143  No options  No options
3144  First char = 'x'  First char = 'x'
3145  Need char = 'b'  Need char = 'b'
# Line 2995  Need char = 'b' Line 3148  Need char = 'b'
3148    
3149  /(?U)xa++b/D  /(?U)xa++b/D
3150  ------------------------------------------------------------------  ------------------------------------------------------------------
3151    0  17 Bra 0    0  15 Bra 0
3152    3   1 x    3     x
3153    6   5 Once    5   5 Once
3154    9     a+    8     a+
3155   11   5 Ket   10   5 Ket
3156   14   1 b   13     b
3157   17  17 Ket   15  15 Ket
3158   20     End   18     End
3159  ------------------------------------------------------------------  ------------------------------------------------------------------
3160  Capturing subpattern count = 0  Capturing subpattern count = 0
3161    Partial matching not supported
3162  Options: ungreedy  Options: ungreedy
3163  First char = 'x'  First char = 'x'
3164  Need char = 'b'  Need char = 'b'
# Line 3020  Need char = 'b' Line 3174  Need char = 'b'
3174   10     a+   10     a+
3175   12   5 Ket   12   5 Ket
3176   15  37 Bra 3   15  37 Bra 3
3177   18     [a-b]+?   18     [ab]+?
3178   52  37 Ket   52  37 Ket
3179   55  37 Bra 4   55  37 Bra 4
3180   58     [b-c]+   58     [bc]+
3181   92  37 Ket   92  37 Ket
3182   95   5 Bra 5   95   5 Bra 5
3183   98     \w*   98     \w*
# Line 3033  Need char = 'b' Line 3187  Need char = 'b'
3187  109     End  109     End
3188  ------------------------------------------------------------------  ------------------------------------------------------------------
3189  Capturing subpattern count = 5  Capturing subpattern count = 5
3190    Partial matching not supported
3191  Options: anchored  Options: anchored
3192  No first char  No first char
3193  No need char  No need char
3194    
3195  /^x(?U)a+b/D  /^x(?U)a+b/D
3196  ------------------------------------------------------------------  ------------------------------------------------------------------
3197    0  12 Bra 0    0  10 Bra 0
3198    3     ^    3     ^
3199    4   1 x    4     x
3200    7     a+?    6     a+?
3201    9   1 b    8     b
3202   12  12 Ket   10  10 Ket
3203   15     End   13     End
3204  ------------------------------------------------------------------  ------------------------------------------------------------------
3205  Capturing subpattern count = 0  Capturing subpattern count = 0
3206    Partial matching not supported
3207  Options: anchored  Options: anchored
3208  No first char  No first char
3209  Need char = 'b'  Need char = 'b'
3210    
3211  /^x(?U)(a+)b/D  /^x(?U)(a+)b/D
3212  ------------------------------------------------------------------  ------------------------------------------------------------------
3213    0  18 Bra 0    0  16 Bra 0
3214    3     ^    3     ^
3215    4   1 x    4     x
3216    7   5 Bra 1    6   5 Bra 1
3217   10     a+?    9     a+?
3218   12   5 Ket   11   5 Ket
3219   15   1 b   14     b
3220   18  18 Ket   16  16 Ket
3221   21     End   19     End
3222  ------------------------------------------------------------------  ------------------------------------------------------------------
3223  Capturing subpattern count = 1  Capturing subpattern count = 1
3224    Partial matching not supported
3225  Options: anchored  Options: anchored
3226  No first char  No first char
3227  Need char = 'b'  Need char = 'b'
# Line 3079  Failed: POSIX collating elements are not Line 3236  Failed: POSIX collating elements are not
3236  Failed: POSIX named classes are supported only within a class at offset 0  Failed: POSIX named classes are supported only within a class at offset 0
3237    
3238  /\l/  /\l/
3239  Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3240    
3241  /\L/  /\L/
3242  Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3243    
3244  /\N{name}/  /\N{name}/
3245  Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
   
 /\pP/  
 Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  
   
 /\PP/  
 Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  
   
 /\p{prop}/  
 Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  
   
 /\P{prop}/  
 Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  
3246    
3247  /\u/  /\u/
3248  Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3249    
3250  /\U/  /\U/
3251  Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
   
 /\X/  
 Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1  
3252    
3253  /[/  /[/
3254  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3121  Failed: missing terminating ] for charac Line 3263  Failed: missing terminating ] for charac
3263  Memory allocation (code space): 40  Memory allocation (code space): 40
3264  ------------------------------------------------------------------  ------------------------------------------------------------------
3265    0  36 Bra 0    0  36 Bra 0
3266    3     [\x09-\x0a\x0c-\x0d ]    3     [\x09\x0a\x0c\x0d ]
3267   36  36 Ket   36  36 Ket
3268   39     End   39     End
3269  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3158  No need char Line 3300  No need char
3300    
3301  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x
3302  Capturing subpattern count = 0  Capturing subpattern count = 0
3303    Partial matching not supported
3304  Options: extended  Options: extended
3305  First char = '<'  First char = '<'
3306  Need char = '>'  Need char = '>'
# Line 3179  No match Line 3322  No match
3322  No match  No match
3323    
3324  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM
3325  Memory allocation (code space): 421  Memory allocation (code space): 826
3326  ------------------------------------------------------------------  ------------------------------------------------------------------
3327    0 417 Bra 0    0 822 Bra 0
3328    3 250 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:    3     8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3329  255 159 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  821     \b
3330  416     \b  822 822 Ket
3331  417 417 Ket  825     End
 420     End  
3332  ------------------------------------------------------------------  ------------------------------------------------------------------
3333  Capturing subpattern count = 0  Capturing subpattern count = 0
3334  No options  No options
# Line 3194  First char = '8' Line 3336  First char = '8'
3336  Need char = 'X'  Need char = 'X'
3337    
3338  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM
3339  Memory allocation (code space): 416  Memory allocation (code space): 816
3340  ------------------------------------------------------------------  ------------------------------------------------------------------
3341    0 412 Bra 0    0 812 Bra 0
3342    3 250 $<.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[    3     $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3343  255 154 %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  811     \b
3344  411     \b  812 812 Ket
3345  412 412 Ket  815     End
 415     End  
3346  ------------------------------------------------------------------  ------------------------------------------------------------------
3347  Capturing subpattern count = 0  Capturing subpattern count = 0
3348  No options  No options
# Line 3211  Need char = 'X' Line 3352  Need char = 'X'
3352  /(.*)\d+\1/I  /(.*)\d+\1/I
3353  Capturing subpattern count = 1  Capturing subpattern count = 1
3354  Max back reference = 1  Max back reference = 1
3355    Partial matching not supported
3356  No options  No options
3357  No first char  No first char
3358  No need char  No need char
3359    
3360  /(.*)\d+/I  /(.*)\d+/I
3361  Capturing subpattern count = 1  Capturing subpattern count = 1
3362    Partial matching not supported
3363  No options  No options
3364  First char at start or follows \n  First char at start or follows newline
3365  No need char  No need char
3366    
3367  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3368  Capturing subpattern count = 1  Capturing subpattern count = 1
3369  Max back reference = 1  Max back reference = 1
3370    Partial matching not supported
3371  Options: dotall  Options: dotall
3372  No first char  No first char
3373  No need char  No need char
3374    
3375  /(.*)\d+/Is  /(.*)\d+/Is
3376  Capturing subpattern count = 1  Capturing subpattern count = 1
3377    Partial matching not supported
3378  Options: anchored dotall  Options: anchored dotall
3379  No first char  No first char
3380  No need char  No need char
# Line 3237  No need char Line 3382  No need char
3382  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3383  Capturing subpattern count = 2  Capturing subpattern count = 2
3384  Max back reference = 2  Max back reference = 2
3385    Partial matching not supported
3386  No options  No options
3387  First char at start or follows \n  First char at start or follows newline
3388  Need char = 'z'  Need char = 'z'
3389    
3390  /((.*))\d+\1/I  /((.*))\d+\1/I
3391  Capturing subpattern count = 2  Capturing subpattern count = 2
3392  Max back reference = 1  Max back reference = 1
3393    Partial matching not supported
3394  No options  No options
3395  No first char  No first char
3396  No need char  No need char
# Line 3260  Need char = 'b' Line 3407  Need char = 'b'
3407    
3408  /(?=a).*/I  /(?=a).*/I
3409  Capturing subpattern count = 0  Capturing subpattern count = 0
3410    Partial matching not supported
3411  No options  No options
3412  First char = 'a'  First char = 'a'
3413  No need char  No need char
# Line 3273  Need char = 'z' (caseless) Line 3421  Need char = 'z' (caseless)
3421  /(?=abc)(?i).xyz/I  /(?=abc)(?i).xyz/I
3422  Capturing subpattern count = 0  Capturing subpattern count = 0
3423  No options  No options
 Case state changes  
3424  First char = 'a'  First char = 'a'
3425  Need char = 'z' (caseless)  Need char = 'z' (caseless)
3426    
# Line 3366  Capturing subpattern count = 0 Line 3513  Capturing subpattern count = 0
3513  No options  No options
3514  No first char  No first char
3515  No need char  No need char
3516  Starting character set: a b  Starting byte set: a b
3517    
3518  /[^a]/I  /[^a]/I
3519  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3385  Capturing subpattern count = 0 Line 3532  Capturing subpattern count = 0
3532  No options  No options
3533  No first char  No first char
3534  Need char = '6'  Need char = '6'
3535  Starting character set: 0 1 2 3 4 5 6 7 8 9  Starting byte set: 0 1 2 3 4 5 6 7 8 9
3536    
3537  /a^b/I  /a^b/I
3538  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3396  Need char = 'b' Line 3543  Need char = 'b'
3543  /^a/mI  /^a/mI
3544  Capturing subpattern count = 0  Capturing subpattern count = 0
3545  Options: multiline  Options: multiline
3546  First char at start or follows \n  First char at start or follows newline
3547  Need char = 'a'  Need char = 'a'
3548    abcde    abcde
3549   0: a   0: a
# Line 3418  Capturing subpattern count = 0 Line 3565  Capturing subpattern count = 0
3565  Options: caseless  Options: caseless
3566  No first char  No first char
3567  No need char  No need char
3568  Starting character set: A B a b  Starting byte set: A B a b
3569    
3570  /[ab](?i)cd/IS  /[ab](?i)cd/IS
3571  Capturing subpattern count = 0  Capturing subpattern count = 0
3572  No options  No options
 Case state changes  
3573  No first char  No first char
3574  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3575  Starting character set: a b  Starting byte set: a b
3576    
3577  /abc(?C)def/  /abc(?C)def/
3578  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3435  First char = 'a' Line 3581  First char = 'a'
3581  Need char = 'f'  Need char = 'f'
3582      abcdef      abcdef
3583  --->abcdef  --->abcdef
3584    0 ^  ^    0 ^  ^       d
3585   0: abcdef   0: abcdef
3586      1234abcdef      1234abcdef
3587  --->1234abcdef  --->1234abcdef
3588    0     ^  ^    0     ^  ^       d
3589   0: abcdef   0: abcdef
3590      *** Failers      *** Failers
3591  No match  No match
# Line 3447  No match Line 3593  No match
3593  No match  No match
3594      abcxyzf      abcxyzf
3595  --->abcxyzf  --->abcxyzf
3596    0 ^  ^    0 ^  ^        d
3597  No match  No match
3598    
3599  /abc(?C)de(?C1)f/  /abc(?C)de(?C1)f/
# Line 3457  First char = 'a' Line 3603  First char = 'a'
3603  Need char = 'f'  Need char = 'f'
3604      123abcdef      123abcdef
3605  --->123abcdef  --->123abcdef
3606    0    ^  ^    0    ^  ^       d
3607    1    ^    ^    1    ^    ^     f
3608   0: abcdef   0: abcdef
3609    
3610  /(?C1)\dabc(?C2)def/  /(?C1)\dabc(?C2)def/
# Line 3468  No first char Line 3614  No first char
3614  Need char = 'f'  Need char = 'f'
3615      1234abcdef      1234abcdef
3616  --->1234abcdef  --->1234abcdef
3617    1 ^    1 ^              \d
3618    1  ^    1  ^             \d
3619    1   ^    1   ^            \d
3620    1    ^    1    ^           \d
3621    2    ^   ^    2    ^   ^       d
3622   0: 4abcdef   0: 4abcdef
3623      *** Failers      *** Failers
3624  No match  No match
3625      abcdef      abcdef
3626  --->abcdef  --->abcdef
3627    1 ^    1 ^          \d
3628    1  ^    1  ^         \d
3629    1   ^    1   ^        \d
3630    1    ^    1    ^       \d
3631    1     ^    1     ^      \d
3632    1      ^    1      ^     \d
3633  No match  No match
3634    
3635  /(?C255)ab/  /(?C255)ab/
# Line 3510  Need char = 'f' Line 3656  Need char = 'f'
3656  No match  No match
3657      \x83\x0\x61bcdef      \x83\x0\x61bcdef
3658  --->\x83\x00abcdef  --->\x83\x00abcdef
3659    0         ^  ^    0         ^  ^       d
3660   0: abcdef   0: abcdef
3661    
3662  /(abc)(?C)de(?C1)f/  /(abc)(?C)de(?C1)f/
# Line 3520  First char = 'a' Line 3666  First char = 'a'
3666  Need char = 'f'  Need char = 'f'
3667      123abcdef      123abcdef
3668  --->123abcdef  --->123abcdef
3669    0    ^  ^    0    ^  ^       d
3670    1    ^    ^    1    ^    ^     f
3671   0: abcdef   0: abcdef
3672   1: abc   1: abc
3673      123abcdef\C+      123abcdef\C+
# Line 3529  Callout 0: last capture = 1 Line 3675  Callout 0: last capture = 1
3675   0: <unset>   0: <unset>
3676   1: abc   1: abc
3677  --->123abcdef  --->123abcdef
3678         ^  ^         ^  ^       d
3679  Callout 1: last capture = 1  Callout 1: last capture = 1
3680   0: <unset>   0: <unset>
3681   1: abc   1: abc
3682  --->123abcdef  --->123abcdef
3683         ^    ^         ^    ^     f
3684   0: abcdef   0: abcdef
3685   1: abc   1: abc
3686      123abcdef\C-      123abcdef\C-
# Line 3544  Callout 1: last capture = 1 Line 3690  Callout 1: last capture = 1
3690  No match  No match
3691      123abcdef\C!1      123abcdef\C!1
3692  --->123abcdef  --->123abcdef
3693    0    ^  ^    0    ^  ^       d
3694    1    ^    ^    1    ^    ^     f
3695  No match  No match
3696    
3697  /(?C0)(abc(?C1))*/  /(?C0)(abc(?C1))*/
# Line 3555  No first char Line 3701  No first char
3701  No need char  No need char
3702      abcabcabc      abcabcabc
3703  --->abcabcabc  --->abcabcabc
3704    0 ^    0 ^             (abc(?C1))*
3705    1 ^  ^    1 ^  ^          )
3706    1 ^     ^    1 ^     ^       )
3707    1 ^        ^    1 ^        ^    )
3708   0: abcabcabc   0: abcabcabc
3709   1: abc   1: abc
3710      abcabc\C!1!3      abcabc\C!1!3
3711  --->abcabc  --->abcabc
3712    0 ^    0 ^          (abc(?C1))*
3713    1 ^  ^    1 ^  ^       )
3714    1 ^     ^    1 ^     ^    )
3715   0: abcabc   0: abcabc
3716   1: abc   1: abc
3717      *** Failers      *** Failers
3718  --->*** Failers  --->*** Failers
3719    0 ^    0 ^               (abc(?C1))*
3720   0:   0:
3721      abcabcabc\C!1!3      abcabcabc\C!1!3
3722  --->abcabcabc  --->abcabcabc
3723    0 ^    0 ^             (abc(?C1))*
3724    1 ^  ^    1 ^  ^          )
3725    1 ^     ^    1 ^     ^       )
3726    1 ^        ^    1 ^        ^    )
3727   0: abcabc   0: abcabc
3728   1: abc   1: abc
3729    
3730  /(\d{3}(?C))*/  /(\d{3}(?C))*/
3731  Capturing subpattern count = 1  Capturing subpattern count = 1
3732    Partial matching not supported
3733  No options  No options
3734  No first char  No first char
3735  No need char  No need char
# Line 3590  No need char Line 3737  No need char
3737  Callout 0: last capture = -1  Callout 0: last capture = -1
3738   0: <unset>   0: <unset>
3739  --->123  --->123
3740      ^  ^      ^  ^    )
3741   0: 123   0: 123
3742   1: 123   1: 123
3743      123456\C+      123456\C+
3744  Callout 0: last capture = -1  Callout 0: last capture = -1
3745   0: <unset>   0: <unset>
3746  --->123456  --->123456
3747      ^  ^      ^  ^       )
3748  Callout 0: last capture = 1  Callout 0: last capture = 1
3749   0: <unset>   0: <unset>
3750   1: 123   1: 123
3751  --->123456  --->123456
3752      ^     ^      ^     ^    )
3753   0: 123456   0: 123456
3754   1: 456   1: 456
3755      123456789\C+      123456789\C+
3756  Callout 0: last capture = -1  Callout 0: last capture = -1
3757   0: <unset>   0: <unset>
3758  --->123456789  --->123456789
3759      ^  ^      ^  ^          )
3760  Callout 0: last capture = 1  Callout 0: last capture = 1
3761   0: <unset>   0: <unset>
3762   1: 123   1: 123
3763  --->123456789  --->123456789
3764      ^     ^      ^     ^       )
3765  Callout 0: last capture = 1  Callout 0: last capture = 1
3766   0: <unset>   0: <unset>
3767   1: 456   1: 456
3768  --->123456789  --->123456789
3769      ^        ^      ^        ^    )
3770   0: 123456789   0: 123456789
3771   1: 789   1: 789
3772    
# Line 3634  Callout 0: last capture = 2 Line 3781  Callout 0: last capture = 2
3781   1: <unset>   1: <unset>
3782   2: xyz   2: xyz
3783  --->xyzabc  --->xyzabc
3784      ^  ^      ^  ^       p
3785  Callout 1: last capture = -1  Callout 1: last capture = -1
3786   0: <unset>   0: <unset>
3787  --->xyzabc  --->xyzabc
3788      ^      ^          x
3789   0: xyzabc   0: xyzabc
3790   1: xyzabc   1: xyzabc
3791    
# Line 3654  Callout 0: last capture = 3 Line 3801  Callout 0: last capture = 3
3801   2: <unset>   2: <unset>
3802   3: xyz   3: xyz
3803  --->Xxyzabc  --->Xxyzabc
3804      ^   ^      ^   ^       p
3805  Callout 1: last capture = 1  Callout 1: last capture = 1
3806   0: <unset>   0: <unset>
3807   1: X   1: X
3808  --->Xxyzabc  --->Xxyzabc
3809      ^^      ^^          x
3810   0: Xxyzabc   0: Xxyzabc
3811   1: X   1: X
3812   2: xyzabc   2: xyzabc
# Line 3674  Callout 0: last capture = 1 Line 3821  Callout 0: last capture = 1
3821   0: <unset>   0: <unset>
3822   1: abc   1: abc
3823  --->abcdef  --->abcdef
3824      ^      ^          a
3825   0: abcdef   0: abcdef
3826   1: abc   1: abc
3827    
# Line 3688  Callout 1: last capture = 1 Line 3835  Callout 1: last capture = 1
3835   0: <unset>   0: <unset>
3836   1: abc   1: abc
3837  --->abcxyz  --->abcxyz
3838      ^  ^      ^  ^       d
3839  Callout 2: last capture = -1  Callout 2: last capture = -1
3840   0: <unset>   0: <unset>
3841  --->abcxyz  --->abcxyz
3842      ^      ^          a
3843   0: abcxyz   0: abcxyz
3844    
3845  /(?<=(abc)(?C))xyz/  /(?<=(abc)(?C))xyz/
# Line 3705  Callout 0: last capture = 1 Line 3852  Callout 0: last capture = 1
3852   0: <unset>   0: <unset>
3853   1: abc   1: abc
3854  --->abcxyz  --->abcxyz
3855         ^         ^       )
3856   0: xyz   0: xyz
3857   1: abc   1: abc
3858    
3859    /a(b+)(c*)(?C1)/
3860    Capturing subpattern count = 2
3861    Partial matching not supported
3862    No options
3863    First char = 'a'
3864    Need char = 'b'
3865        abbbbbccc\C*1
3866    --->abbbbbccc
3867      1 ^        ^
3868    Callout data = 1
3869      1 ^       ^
3870    Callout data = 1
3871      1 ^      ^
3872    Callout data = 1
3873      1 ^     ^
3874    Callout data = 1
3875      1 ^    ^
3876    Callout data = 1
3877      1 ^   ^
3878    Callout data = 1
3879      1 ^  ^
3880    Callout data = 1
3881      1 ^ ^
3882    Callout data = 1
3883    No match
3884    
3885    /a(b+?)(c*?)(?C1)/
3886    Capturing subpattern count = 2
3887    Partial matching not supported
3888    No options
3889    First char = 'a'
3890    Need char = 'b'
3891        abbbbbccc\C*1
3892    --->abbbbbccc
3893      1 ^ ^
3894    Callout data = 1
3895      1 ^  ^
3896    Callout data = 1
3897      1 ^   ^
3898    Callout data = 1
3899      1 ^    ^
3900    Callout data = 1
3901      1 ^     ^
3902    Callout data = 1
3903      1 ^      ^
3904    Callout data = 1
3905      1 ^       ^
3906    Callout data = 1
3907      1 ^        ^
3908    Callout data = 1
3909    No match
3910    
3911  /(?C)abc/  /(?C)abc/
3912  Capturing subpattern count = 0  Capturing subpattern count = 0
3913  No options  No options
# Line 3726  Capturing subpattern count = 0 Line 3925  Capturing subpattern count = 0
3925  No options  No options
3926  No first char  No first char
3927  No need char  No need char
3928  Starting character set: a b  Starting byte set: a b
3929    
3930  /(?R)/  /(?R)/
3931  Failed: recursive call could loop indefinitely at offset 3  Failed: recursive call could loop indefinitely at offset 3
# Line 3811  Need char = '<' Line 4010  Need char = '<'
4010    
4011  /(a(?1)b)/D  /(a(?1)b)/D
4012  ------------------------------------------------------------------  ------------------------------------------------------------------
4013    0  18 Bra 0    0  22 Bra 0
4014    3  12 Bra 1    3  16 Bra 1
4015    6   1 a    6     a
4016    9   3 Recurse    8   6 Once
4017   12   1 b   11   3 Recurse
4018   15  12 Ket   14   6 Ket
4019   18  18 Ket   17     b
4020   21     End   19  16 Ket
4021     22  22 Ket
4022     25     End
4023  ------------------------------------------------------------------  ------------------------------------------------------------------
4024  Capturing subpattern count = 1  Capturing subpattern count = 1
4025  No options  No options
# Line 3827  Need char = 'b' Line 4028  Need char = 'b'
4028    
4029  /(a(?1)+b)/D  /(a(?1)+b)/D
4030  ------------------------------------------------------------------  ------------------------------------------------------------------
4031    0  24 Bra 0    0  22 Bra 0
4032    3  18 Bra 1    3  16 Bra 1
4033    6   1 a    6     a
4034    9   6 Bra 0    8   6 Once
4035   12   3 Recurse   11   3 Recurse
4036   15   6 KetRmax   14   6 KetRmax
4037   18   1 b   17     b
4038   21  18 Ket   19  16 Ket
4039   24  24 Ket   22  22 Ket
4040   27     End   25     End
4041  ------------------------------------------------------------------  ------------------------------------------------------------------
4042  Capturing subpattern count = 1  Capturing subpattern count = 1
4043  No options  No options
# Line 3846  Need char = 'b' Line 4047  Need char = 'b'
4047  /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i  /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i
4048  Capturing subpattern count = 4  Capturing subpattern count = 4
4049  Max back reference = 4  Max back reference = 4
4050    Partial matching not supported
4051  Options: anchored caseless  Options: anchored caseless
4052  No first char  No first char
4053  No need char  No need char
# Line 3878  No match Line 4080  No match
4080    
4081  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
4082  Capturing subpattern count = 2  Capturing subpattern count = 2
4083    Partial matching not supported
4084  Options: anchored  Options: anchored
4085  No first char  No first char
4086  No need char  No need char
# Line 3918  No match Line 4121  No match
4121    
4122  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x
4123  Capturing subpattern count = 2  Capturing subpattern count = 2
4124    Partial matching not supported
4125  Options: extended  Options: extended
4126  First char = '<'  First char = '<'
4127  Need char = '>'  Need char = '>'
# Line 4000  No need char Line 4204  No need char
4204    
4205  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/D
4206  ------------------------------------------------------------------  ------------------------------------------------------------------
4207    0  33 Bra 0    0  28 Bra 0
4208    3   1 a    3     a
4209    6   6 Bra 1    5   5 Bra 1
4210    9   1 b    8     b
4211   12   6 Alt   10   5 Alt
4212   15   1 c   13     c
4213   18  12 Ket   15  10 Ket
4214   21   1 d   18     d
4215   24   6 Bra 2   20   5 Bra 2
4216   27   1 e   23     e
4217   30   6 Ket   25   5 Ket
4218   33  33 Ket   28  28 Ket
4219   36     End   31     End
4220  ------------------------------------------------------------------  ------------------------------------------------------------------
4221  Capturing subpattern count = 2  Capturing subpattern count = 2
4222  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4032  Need char = 'e' Line 4236  Need char = 'e'
4236    
4237  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
4238  ------------------------------------------------------------------  ------------------------------------------------------------------
4239    0  39 Bra 0    0  35 Bra 0
4240    3  24 Bra 0    3  21 Bra 0
4241    6   1 a    6     a
4242    9  15 Bra 1    8  13 Bra 1
4243   12   1 c   11     c
4244   15   6 Bra 2   13   5 Bra 2
4245   18   1 d   16     d
4246   21   6 Ket   18   5 Ket
4247   24  15 Ket   21  13 Ket
4248   27  24 Ket   24  21 Ket
4249   30   6 Bra 3   27   5 Bra 3
4250   33   1 a   30     a
4251   36   6 Ket   32   5 Ket
4252   39  39 Ket   35  35 Ket
4253   42     End   38     End
4254  ------------------------------------------------------------------  ------------------------------------------------------------------
4255  Capturing subpattern count = 3  Capturing subpattern count = 3
4256  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4059  Need char = 'a' Line 4263  Need char = 'a'
4263    
4264  /(?P<a>a)...(?P=a)bbb(?P>a)d/D  /(?P<a>a)...(?P=a)bbb(?P>a)d/D
4265  ------------------------------------------------------------------  ------------------------------------------------------------------
4266    0  29 Bra 0    0  34 Bra 0
4267    3   6 Bra 1    3   5 Bra 1
4268    6   1 a    6     a
4269    9   6 Ket    8   5 Ket
4270     11     Any
4271   12     Any   12     Any
4272   13     Any   13     Any
4273   14     Any   14     \1
4274   15     \1   17     bbb
4275   18   3 bbb   23   6 Once
4276   23   3 Recurse   26   3 Recurse
4277   26   1 d   29   6 Ket
4278   29  29 Ket   32     d
4279   32     End   34  34 Ket
4280     37     End
4281  ------------------------------------------------------------------  ------------------------------------------------------------------
4282  Capturing subpattern count = 1  Capturing subpattern count = 1
4283  Max back reference = 1  Max back reference = 1
# Line 4089  Named capturing subpatterns: Line 4295  Named capturing subpatterns:
4295    one     1    one     1
4296    three   3    three   3
4297    two     2    two     2
4298    Partial matching not supported
4299  Options: anchored caseless  Options: anchored caseless
4300  No first char  No first char
4301  No need char  No need char
# Line 4134  No need char Line 4341  No need char
4341    
4342  /(.*)a/sI  /(.*)a/sI
4343  Capturing subpattern count = 1  Capturing subpattern count = 1
4344    Partial matching not supported
4345  Options: anchored dotall  Options: anchored dotall
4346  No first char  No first char
4347  Need char = 'a'  Need char = 'a'
# Line 4141  Need char = 'a' Line 4349  Need char = 'a'
4349  /(.*)a\1/sI  /(.*)a\1/sI
4350  Capturing subpattern count = 1  Capturing subpattern count = 1
4351  Max back reference = 1  Max back reference = 1
4352    Partial matching not supported
4353  Options: dotall  Options: dotall
4354  No first char  No first char
4355  Need char = 'a'  Need char = 'a'
# Line 4148  Need char = 'a' Line 4357  Need char = 'a'
4357  /(.*)a(b)\2/sI  /(.*)a(b)\2/sI
4358  Capturing subpattern count = 2  Capturing subpattern count = 2
4359  Max back reference = 2  Max back reference = 2
4360    Partial matching not supported
4361  Options: anchored dotall  Options: anchored dotall
4362  No first char  No first char
4363  Need char = 'b'  Need char = 'b'
4364    
4365  /((.*)a|(.*)b)z/sI  /((.*)a|(.*)b)z/sI
4366  Capturing subpattern count = 3  Capturing subpattern count = 3
4367    Partial matching not supported
4368  Options: anchored dotall  Options: anchored dotall
4369  No first char  No first char
4370  Need char = 'z'  Need char = 'z'
# Line 4161  Need char = 'z' Line 4372  Need char = 'z'
4372  /((.*)a|(.*)b)z\1/sI  /((.*)a|(.*)b)z\1/sI
4373  Capturing subpattern count = 3  Capturing subpattern count = 3
4374  Max back reference = 1  Max back reference = 1
4375    Partial matching not supported
4376  Options: dotall  Options: dotall
4377  No first char  No first char
4378  Need char = 'z'  Need char = 'z'
# Line 4168  Need char = 'z' Line 4380  Need char = 'z'
4380  /((.*)a|(.*)b)z\2/sI  /((.*)a|(.*)b)z\2/sI
4381  Capturing subpattern count = 3  Capturing subpattern count = 3
4382  Max back reference = 2  Max back reference = 2
4383    Partial matching not supported
4384  Options: dotall  Options: dotall
4385  No first char  No first char
4386  Need char = 'z'  Need char = 'z'
# Line 4175  Need char = 'z' Line 4388  Need char = 'z'
4388  /((.*)a|(.*)b)z\3/sI  /((.*)a|(.*)b)z\3/sI
4389  Capturing subpattern count = 3  Capturing subpattern count = 3
4390  Max back reference = 3  Max back reference = 3
4391    Partial matching not supported
4392  Options: dotall  Options: dotall
4393  No first char  No first char
4394  Need char = 'z'  Need char = 'z'
# Line 4182  Need char = 'z' Line 4396  Need char = 'z'
4396  /((.*)a|^(.*)b)z\3/sI  /((.*)a|^(.*)b)z\3/sI
4397  Capturing subpattern count = 3  Capturing subpattern count = 3
4398  Max back reference = 3  Max back reference = 3
4399    Partial matching not supported
4400  Options: anchored dotall  Options: anchored dotall
4401  No first char  No first char
4402  Need char = 'z'  Need char = 'z'
4403    
4404  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI
4405  Capturing subpattern count = 31  Capturing subpattern count = 31
4406    Partial matching not supported
4407  Options: anchored dotall  Options: anchored dotall
4408  No first char  No first char
4409  No need char  No need char
# Line 4195  No need char Line 4411  No need char
4411  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI
4412  Capturing subpattern count = 31  Capturing subpattern count = 31
4413  Max back reference = 31  Max back reference = 31
4414    Partial matching not supported
4415  Options: dotall  Options: dotall
4416  No first char  No first char
4417  No need char  No need char
# Line 4202  No need char Line 4419  No need char
4419  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI
4420  Capturing subpattern count = 32  Capturing subpattern count = 32
4421  Max back reference = 32  Max back reference = 32
4422    Partial matching not supported
4423  Options: dotall  Options: dotall
4424  No first char  No first char
4425  No need char  No need char
4426    
4427  /(a)(bc)/ND  /(a)(bc)/ND
4428  ------------------------------------------------------------------  ------------------------------------------------------------------
4429    0  22 Bra 0    0  21 Bra 0
4430    3   6 Bra 0    3   5 Bra 0
4431    6   1 a    6     a
4432    9   6 Ket    8   5 Ket
4433   12   7 Bra 0   11   7 Bra 0
4434   15   2 bc   14     bc
4435   19   7 Ket   18   7 Ket
4436   22  22 Ket   21  21 Ket
4437   25     End   24     End
4438  ------------------------------------------------------------------  ------------------------------------------------------------------
4439  Capturing subpattern count = 0  Capturing subpattern count = 0
4440  Options:  Options: no_auto_capture
4441  First char = 'a'  First char = 'a'
4442  Need char = 'c'  Need char = 'c'
4443    abc    abc
# Line 4227  Need char = 'c' Line 4445  Need char = 'c'
4445    
4446  /(?P<one>a)(bc)/ND  /(?P<one>a)(bc)/ND
4447  ------------------------------------------------------------------  ------------------------------------------------------------------
4448    0  22 Bra 0    0  21 Bra 0
4449    3   6 Bra 1    3   5 Bra 1
4450    6   1 a    6     a
4451    9   6 Ket    8   5 Ket
4452   12   7 Bra 0   11   7 Bra 0
4453   15   2 bc   14     bc
4454   19   7 Ket   18   7 Ket
4455   22  22 Ket   21  21 Ket
4456   25     End   24     End
4457  ------------------------------------------------------------------  ------------------------------------------------------------------
4458  Capturing subpattern count = 1  Capturing subpattern count = 1
4459  Named capturing subpatterns:  Named capturing subpatterns:
4460    one   1    one   1
4461  Options:  Options: no_auto_capture
4462  First char = 'a'  First char = 'a'
4463  Need char = 'c'  Need char = 'c'
4464    abc    abc
# Line 4249  Need char = 'c' Line 4467  Need char = 'c'
4467    
4468  /(a)(?P<named>bc)/ND  /(a)(?P<named>bc)/ND
4469  ------------------------------------------------------------------  ------------------------------------------------------------------
4470    0  22 Bra 0    0  21 Bra 0
4471    3   6 Bra 0    3   5 Bra 0
4472    6   1 a    6     a
4473    9   6 Ket    8   5 Ket
4474   12   7 Bra 1   11   7 Bra 1
4475   15   2 bc   14     bc
4476   19   7 Ket   18   7 Ket
4477   22  22 Ket   21  21 Ket
4478   25     End   24     End
4479  ------------------------------------------------------------------  ------------------------------------------------------------------
4480  Capturing subpattern count = 1  Capturing subpattern count = 1
4481  Named capturing subpatterns:  Named capturing subpatterns:
4482    named   1    named   1
4483  Options:  Options: no_auto_capture
4484  First char = 'a'  First char = 'a'
4485  Need char = 'c'  Need char = 'c'
4486    
4487  /(a+)*zz/  /(a+)*zz/
4488  Capturing subpattern count = 1  Capturing subpattern count = 1
4489    Partial matching not supported
4490  No options  No options
4491  No first char  No first char
4492  Need char = 'z'  Need char = 'z'
4493    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4494  Minimum match limit = 8  Minimum match() limit = 8
4495    Minimum match() recursion limit = 6
4496   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4497   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4498    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4499  Minimum match limit = 32768  Minimum match() limit = 32768
4500    Minimum match() recursion limit = 42
4501  No match  No match
4502    
4503  /(aaa(?C1)bbb|ab)/  /(aaa(?C1)bbb|ab)/
# Line 4286  First char = 'a' Line 4507  First char = 'a'
4507  Need char = 'b'  Need char = 'b'
4508     aaabbb     aaabbb
4509  --->aaabbb  --->aaabbb
4510    1 ^  ^    1 ^  ^       b
4511   0: aaabbb   0: aaabbb
4512   1: aaabbb   1: aaabbb
4513     aaabbb\C*0     aaabbb\C*0
4514  --->aaabbb  --->aaabbb
4515    1 ^  ^    1 ^  ^       b
4516   0: aaabbb   0: aaabbb
4517   1: aaabbb   1: aaabbb
4518     aaabbb\C*1     aaabbb\C*1
4519  --->aaabbb  --->aaabbb
4520    1 ^  ^    1 ^  ^       b
4521  Callout data = 1  Callout data = 1
4522   0: ab   0: ab
4523   1: ab   1: ab
4524     aaabbb\C*-1     aaabbb\C*-1
4525  --->aaabbb  --->aaabbb
4526    1 ^  ^    1 ^  ^       b
4527  Callout data = -1  Callout data = -1
4528  No match  No match
4529    
# Line 4323  Need char = 'h' Line 4544  Need char = 'h'
4544   1: cd   1: cd
4545   2: gh   2: gh
4546   1C cd (2)   1C cd (2)
4547   2G gh (2)    G gh (2) two
4548      abcdefgh\Cone\Ctwo      abcdefgh\Cone\Ctwo
4549   0: abcdefgh   0: abcdefgh
4550   1: cd   1: cd
4551   2: gh   2: gh
4552   1C cd (2)    C cd (2) one
4553   2C gh (2)    C gh (2) two
4554      abcdefgh\Cthree      abcdefgh\Cthree
4555  no parentheses with name "three"  no parentheses with name "three"
4556   0: abcdefgh   0: abcdefgh
4557   1: cd   1: cd
4558   2: gh   2: gh
4559    copy substring three failed -7
4560    
4561  /(?P<Tes>)(?P<Test>)/D  /(?P<Tes>)(?P<Test>)/D
4562  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4384  Need char = 'a' Line 4606  Need char = 'a'
4606   0: zzaa   0: zzaa
4607   1: zz   1: zz
4608   2: aa   2: aa
4609   1C zz (2)    C zz (2) Z
4610      zzaa\CA      zzaa\CA
4611   0: zzaa   0: zzaa
4612   1: zz   1: zz
4613   2: aa   2: aa
4614   2C aa (2)    C aa (2) A
4615    
4616  /(?P<x>eks)(?P<x>eccs)/  /(?P<x>eks)(?P<x>eccs)/
4617  Failed: two named groups have the same name at offset 16  Failed: two named subpatterns have the same name at offset 16
4618    
4619  /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/  /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
4620  Failed: two named groups have the same name at offset 31  Failed: two named subpatterns have the same name at offset 31
4621    
4622  "\[((?P<elem>\d+)(,(?P>elem))*)\]"  "\[((?P<elem>\d+)(,(?P>elem))*)\]"
4623  Capturing subpattern count = 3  Capturing subpattern count = 3
4624  Named capturing subpatterns:  Named capturing subpatterns:
4625    elem   2    elem   2
4626    Partial matching not supported
4627  No options  No options
4628  First char = '['  First char = '['
4629  Need char = ']'  Need char = ']'
# Line 4418  No match Line 4641  No match
4641  Capturing subpattern count = 3  Capturing subpattern count = 3
4642  Named capturing subpatterns:  Named capturing subpatterns:
4643    elem   2    elem   2
4644    Partial matching not supported
4645  No options  No options
4646  First char = '['  First char = '['
4647  Need char = ']'  Need char = ']'
# Line 4431  Need char = ']' Line 4655  Need char = ']'
4655    
4656  /(a(b(?2)c))?/D  /(a(b(?2)c))?/D
4657  ------------------------------------------------------------------  ------------------------------------------------------------------
4658    0  28 Bra 0    0  31 Bra 0
4659    3     Brazero    3     Brazero
4660    4  21 Bra 1    4  24 Bra 1
4661    7   1 a    7     a
4662   10  12 Bra 2    9  16 Bra 2
4663   13   1 b   12     b
4664   16  10 Recurse   14   6 Once
4665   19   1 c   17   9 Recurse
4666   22  12 Ket   20   6 Ket
4667   25  21 Ket   23     c
4668   28  28 Ket   25  16 Ket
4669   31     End   28  24 Ket
4670     31  31 Ket
4671     34     End
4672  ------------------------------------------------------------------  ------------------------------------------------------------------
4673  Capturing subpattern count = 2  Capturing subpattern count = 2
4674  No options  No options
# Line 4451  No need char Line 4677  No need char
4677    
4678  /(a(b(?2)c))*/D  /(a(b(?2)c))*/D
4679  ------------------------------------------------------------------  ------------------------------------------------------------------
4680    0  28 Bra 0    0  31 Bra 0
4681    3     Brazero    3     Brazero
4682    4  21 Bra 1    4  24 Bra 1
4683    7   1 a    7     a
4684   10  12 Bra 2    9  16 Bra 2
4685   13   1 b   12     b
4686   16  10 Recurse   14   6 Once
4687   19   1 c   17   9 Recurse
4688   22  12 Ket   20   6 Ket
4689   25  21 KetRmax   23     c
4690   28  28 Ket   25  16 Ket
4691   31     End   28  24 KetRmax
4692     31  31 Ket
4693     34     End
4694  ------------------------------------------------------------------  ------------------------------------------------------------------
4695  Capturing subpattern count = 2  Capturing subpattern count = 2
4696  No options  No options
# Line 4471  No need char Line 4699  No need char
4699    
4700  /(a(b(?2)c)){0,2}/D  /(a(b(?2)c)){0,2}/D
4701  ------------------------------------------------------------------  ------------------------------------------------------------------
4702    0  59 Bra 0    0  65 Bra 0
4703    3     Brazero    3     Brazero
4704    4  52 Bra 0    4  58 Bra 0
4705    7  21 Bra 1    7  24 Bra 1
4706   10   1 a   10     a
4707   13  12 Bra 2   12  16 Bra 2
4708   16   1 b   15     b
4709   19  13 Recurse   17   6 Once
4710   22   1 c   20  12 Recurse
4711   25  12 Ket   23   6 Ket
4712   28  21 Ket   26     c
4713   31     Brazero   28  16 Ket
4714   32  21 Bra 1   31  24 Ket
4715   35   1 a   34     Brazero
4716   38  12 Bra 2   35  24 Bra 1
4717   41   1 b   38     a
4718   44  13 Recurse   40  16 Bra 2
4719   47   1 c   43     b
4720   50  12 Ket   45   6 Once
4721   53  21 Ket   48  12 Recurse
4722   56  52 Ket   51   6 Ket
4723   59  59 Ket   54     c
4724   62     End   56  16 Ket
4725     59  24 Ket
4726     62  58 Ket
4727     65  65 Ket
4728     68     End
4729  ------------------------------------------------------------------  ------------------------------------------------------------------
4730  Capturing subpattern count = 2  Capturing subpattern count = 2
4731  No options  No options
# Line 4504  No need char Line 4736  No need char
4736  ------------------------------------------------------------------  ------------------------------------------------------------------
4737    0  47 Bra 0    0  47 Bra 0
4738    3  41 Once    3  41 Once
4739    6     [a-b]{1,1}    6     [ab]{1,1}
4740   44  41 Ket   44  41 Ket
4741   47  47 Ket   47  47 Ket
4742   50     End   50     End
# Line 4516  No need char Line 4748  No need char
4748    
4749  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i
4750  Capturing subpattern count = 3  Capturing subpattern count = 3
4751    Partial matching not supported
4752  Options: caseless  Options: caseless
4753  No first char  No first char
4754  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4525  Need char = 'g' (caseless) Line 4758  Need char = 'g' (caseless)
4758    
4759  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS
4760  Capturing subpattern count = 3  Capturing subpattern count = 3
4761    Partial matching not supported
4762  Options: caseless  Options: caseless
4763  No first char  No first char
4764  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4535  Study returned NULL Line 4769  Study returned NULL
4769    
4770  /a*.*b/SD  /a*.*b/SD
4771  ------------------------------------------------------------------  ------------------------------------------------------------------
4772    0  10 Bra 0    0   9 Bra 0
4773    3     a*    3     a*
4774    5     Any*    5     Any*
4775    7   1 b    7     b
4776   10  10 Ket    9   9 Ket
4777   13     End   12     End
4778  ------------------------------------------------------------------  ------------------------------------------------------------------
4779  Capturing subpattern count = 0  Capturing subpattern count = 0
4780    Partial matching not supported
4781  No options  No options
4782  No first char  No first char
4783  Need char = 'b'  Need char = 'b'
# Line 4550  Study returned NULL Line 4785  Study returned NULL
4785    
4786  /(a|b)*.?c/SD  /(a|b)*.?c/SD
4787  ------------------------------------------------------------------  ------------------------------------------------------------------
4788    0  24 Bra 0    0  21 Bra 0
4789    3     Brazero    3     Brazero
4790    4   6 Bra 1    4   5 Bra 1
4791    7   1 a    7     a
4792   10   6 Alt    9   5 Alt
4793   13   1 b   12     b
4794   16  12 KetRmax   14  10 KetRmax
4795   19     Any?   17     Any?
4796   21   1 c   19     c
4797   24  24 Ket   21  21 Ket
4798   27     End   24     End
4799  ------------------------------------------------------------------  ------------------------------------------------------------------
4800  Capturing subpattern count = 1  Capturing subpattern count = 1
4801  No options  No options
# Line 4568  No first char Line 4803  No first char
4803  Need char = 'c'  Need char = 'c'
4804  Study returned NULL  Study returned NULL
4805    
4806    /abc(?C255)de(?C)f/D
4807    ------------------------------------------------------------------
4808      0  27 Bra 0
4809      3     abc
4810      9     Callout 255 10 1
4811     15     de
4812     19     Callout 0 16 1
4813     25     f
4814     27  27 Ket
4815     30     End
4816    ------------------------------------------------------------------
4817    Capturing subpattern count = 0
4818    No options
4819    First char = 'a'
4820    Need char = 'f'
4821    
4822    /abcde/CD
4823    ------------------------------------------------------------------
4824      0  49 Bra 0
4825      3     Callout 255 0 1
4826      9     a
4827     11     Callout 255 1 1
4828     17     b
4829     19     Callout 255 2 1
4830     25     c
4831     27     Callout 255 3 1
4832     33     d
4833     35     Callout 255 4 1
4834     41     e
4835     43     Callout 255 5 0
4836     49  49 Ket
4837     52     End
4838    ------------------------------------------------------------------
4839    Capturing subpattern count = 0
4840    Options:
4841    First char = 'a'
4842    Need char = 'e'
4843      abcde
4844    --->abcde
4845     +0 ^         a
4846     +1 ^^        b
4847     +2 ^ ^       c
4848     +3 ^  ^      d
4849     +4 ^   ^     e
4850     +5 ^    ^
4851     0: abcde
4852      abcdfe
4853    --->abcdfe
4854     +0 ^          a
4855     +1 ^^         b
4856     +2 ^ ^        c
4857     +3 ^  ^       d
4858     +4 ^   ^      e
4859    No match
4860    
4861    /a*b/CD
4862    ------------------------------------------------------------------
4863      0  25 Bra 0
4864      3     Callout 255 0 2
4865      9     a*
4866     11     Callout 255 2 1
4867     17     b
4868     19     Callout 255 3 0
4869     25  25 Ket
4870     28     End
4871    ------------------------------------------------------------------
4872    Capturing subpattern count = 0
4873    Partial matching not supported
4874    Options:
4875    No first char
4876    Need char = 'b'
4877      ab
4878    --->ab
4879     +0 ^      a*
4880     +2 ^^     b
4881     +3 ^ ^
4882     0: ab
4883      aaaab
4884    --->aaaab
4885     +0 ^         a*
4886     +2 ^   ^     b
4887     +3 ^    ^
4888     0: aaaab
4889      aaaacb
4890    --->aaaacb
4891     +0 ^          a*
4892     +2 ^   ^      b
4893     +2 ^  ^       b
4894     +2 ^ ^        b
4895     +2 ^^         b
4896     +2 ^          b
4897     +0  ^         a*
4898     +2  ^  ^      b
4899     +2  ^ ^       b
4900     +2  ^^        b
4901     +2  ^         b
4902     +0   ^        a*
4903     +2   ^ ^      b
4904     +2   ^^       b
4905     +2   ^        b
4906     +0    ^       a*
4907     +2    ^^      b
4908     +2    ^       b
4909     +0     ^      a*
4910     +2     ^      b
4911     +0      ^     a*
4912     +2      ^     b
4913     +3      ^^
4914     0: b
4915    
4916    /a+b/CD
4917    ------------------------------------------------------------------
4918      0  25 Bra 0
4919      3     Callout 255 0 2
4920      9     a+
4921     11     Callout 255 2 1
4922     17     b
4923     19     Callout 255 3 0
4924     25  25 Ket
4925     28     End
4926    ------------------------------------------------------------------
4927    Capturing subpattern count = 0
4928    Partial matching not supported
4929    Options:
4930    First char = 'a'
4931    Need char = 'b'
4932      ab
4933    --->ab
4934     +0 ^      a+
4935     +2 ^^     b
4936     +3 ^ ^
4937     0: ab
4938      aaaab
4939    --->aaaab
4940     +0 ^         a+
4941     +2 ^   ^     b
4942     +3 ^    ^
4943     0: aaaab
4944      aaaacb
4945    --->aaaacb
4946     +0 ^          a+
4947     +2 ^   ^      b
4948     +2 ^  ^       b
4949     +2 ^ ^        b
4950     +2 ^^         b
4951     +0  ^         a+
4952     +2  ^  ^      b
4953     +2  ^ ^       b
4954     +2  ^^        b
4955     +0   ^        a+
4956     +2   ^ ^      b
4957     +2   ^^       b
4958     +0    ^       a+
4959     +2    ^^      b
4960    No match
4961    
4962    /(abc|def)x/CD
4963    ------------------------------------------------------------------
4964      0  92 Bra 0
4965      3     Callout 255 0 9
4966      9  33 Bra 1
4967     12     Callout 255 1 1
4968     18     a
4969     20     Callout 255 2 1
4970     26     b
4971     28     Callout 255 3 1
4972     34     c
4973     36     Callout 255 4 0
4974     42  33 Alt
4975     45     Callout 255 5 1
4976     51     d
4977     53     Callout 255 6 1
4978     59     e
4979     61     Callout 255 7 1
4980     67     f
4981     69     Callout 255 8 0
4982     75  66 Ket
4983     78     Callout 255 9 1
4984     84     x
4985     86     Callout 255 10 0
4986     92  92 Ket
4987     95     End
4988    ------------------------------------------------------------------
4989    Capturing subpattern count = 1
4990    Options:
4991    No first char
4992    Need char = 'x'
4993      abcx
4994    --->abcx
4995     +0 ^        (abc|def)
4996     +1 ^        a
4997     +2 ^^       b
4998     +3 ^ ^      c
4999     +4 ^  ^     |
5000     +9 ^  ^     x
5001    +10 ^   ^
5002     0: abcx
5003     1: abc
5004      defx
5005    --->defx
5006     +0 ^        (abc|def)
5007     +1 ^        a
5008     +5 ^        d
5009     +6 ^^       e
5010     +7 ^ ^      f
5011     +8 ^  ^     )
5012     +9 ^  ^     x
5013    +10 ^   ^
5014     0: defx
5015     1: def
5016      abcdefzx
5017    --->abcdefzx
5018     +0 ^            (abc|def)
5019     +1 ^            a
5020     +2 ^^           b
5021     +3 ^ ^          c
5022     +4 ^  ^         |
5023     +9 ^  ^         x
5024     +5 ^            d
5025     +0  ^           (abc|def)
5026     +1  ^           a
5027     +5  ^           d
5028     +0   ^          (abc|def)
5029     +1   ^          a
5030     +5   ^          d
5031     +0    ^         (abc|def)
5032     +1    ^         a
5033     +5    ^         d
5034     +6    ^^        e
5035     +7    ^ ^       f
5036     +8    ^  ^      )
5037     +9    ^  ^      x
5038     +0     ^        (abc|def)
5039     +1     ^        a
5040     +5     ^        d
5041     +0      ^       (abc|def)
5042     +1      ^       a
5043     +5      ^       d
5044     +0       ^      (abc|def)
5045     +1       ^      a
5046     +5       ^      d
5047     +0        ^     (abc|def)
5048     +1        ^     a
5049     +5        ^     d
5050    No match
5051    
5052    /(ab|cd){3,4}/C
5053    Capturing subpattern count = 1
5054    Options:
5055    No first char
5056    No need char
5057      ababab
5058    --->ababab
5059     +0 ^          (ab|cd){3,4}
5060     +1 ^          a
5061     +2 ^^         b
5062     +3 ^ ^        |
5063     +1 ^ ^        a
5064     +2 ^  ^       b
5065     +3 ^   ^      |
5066     +1 ^   ^      a
5067     +2 ^    ^     b
5068     +3 ^     ^    |
5069     +1 ^     ^    a
5070     +4 ^     ^    c
5071    +12 ^     ^
5072     0: ababab
5073     1: ab
5074      abcdabcd
5075    --->abcdabcd
5076     +0 ^            (ab|cd){3,4}
5077     +1 ^            a
5078     +2 ^^           b
5079     +3 ^ ^          |
5080     +1 ^ ^          a
5081     +4 ^ ^          c
5082     +5 ^  ^         d
5083     +6 ^   ^        )
5084     +1 ^   ^        a
5085     +2 ^    ^       b
5086     +3 ^     ^      |
5087     +1 ^     ^      a
5088     +4 ^     ^      c
5089     +5 ^      ^     d
5090     +6 ^       ^    )
5091    +12 ^       ^
5092     0: abcdabcd
5093     1: cd
5094      abcdcdcdcdcd
5095    --->abcdcdcdcdcd
5096     +0 ^                (ab|cd){3,4}
5097     +1 ^                a
5098     +2 ^^               b
5099     +3 ^ ^              |
5100     +1 ^ ^              a
5101     +4 ^ ^              c
5102     +5 ^  ^             d
5103     +6 ^   ^            )
5104     +1 ^   ^            a
5105     +4 ^   ^            c
5106     +5 ^    ^           d
5107     +6 ^     ^          )
5108     +1 ^     ^          a
5109     +4 ^     ^          c
5110     +5 ^      ^         d
5111     +6 ^       ^        )
5112    +12 ^       ^
5113     0: abcdcdcd
5114     1: cd
5115    
5116    /([ab]{,4}c|xy)/CD
5117    ------------------------------------------------------------------
5118      0 131 Bra 0
5119      3     Callout 255 0 14
5120      9  88 Bra 1
5121     12     Callout 255 1 4
5122     18     [ab]
5123     51     Callout 255 5 1
5124     57     {
5125     59     Callout 255 6 1
5126     65     ,
5127     67     Callout 255 7 1
5128     73     4
5129     75     Callout 255 8 1
5130     81     }
5131     83     Callout 255 9 1
5132     89     c
5133     91     Callout 255 10 0
5134     97  25 Alt
5135    100     Callout 255 11 1
5136    106     x
5137    108     Callout 255 12 1
5138    114     y
5139    116     Callout 255 13 0
5140    122 113 Ket
5141    125     Callout 255 14 0
5142    131 131 Ket
5143    134     End
5144    ------------------------------------------------------------------
5145    Capturing subpattern count = 1
5146    Options:
5147    No first char
5148    No need char
5149        Note: that { does NOT introduce a quantifier
5150    --->Note: that { does NOT introduce a quantifier
5151     +0 ^                                                ([ab]{,4}c|xy)
5152     +1 ^                                                [ab]
5153    +11 ^                                                x
5154     +0  ^                                               ([ab]{,4}c|xy)
5155     +1  ^                                               [ab]
5156    +11  ^                                               x
5157     +0   ^                                              ([ab]{,4}c|xy)
5158     +1   ^                                              [ab]
5159    +11   ^                                              x
5160     +0    ^                                             ([ab]{,4}c|xy)
5161     +1    ^                                             [ab]
5162    +11    ^                                             x
5163     +0     ^                                            ([ab]{,4}c|xy)
5164     +1     ^                                            [ab]
5165    +11     ^                                            x
5166     +0      ^                                           ([ab]{,4}c|xy)
5167     +1      ^                                           [ab]
5168    +11      ^                                           x
5169     +0       ^                                          ([ab]{,4}c|xy)
5170     +1       ^                                          [ab]
5171    +11       ^                                          x
5172     +0        ^                                         ([ab]{,4}c|xy)
5173     +1        ^                                         [ab]
5174    +11        ^                                         x
5175     +0         ^                                        ([ab]{,4}c|xy)
5176     +1         ^                                        [ab]
5177     +5         ^^                                       {
5178    +11         ^                                        x
5179     +0          ^                                       ([ab]{,4}c|xy)
5180     +1          ^                                       [ab]
5181    +11          ^                                       x
5182     +0           ^                                      ([ab]{,4}c|xy)
5183     +1           ^                                      [ab]
5184    +11           ^                                      x
5185     +0            ^                                     ([ab]{,4}c|xy)
5186     +1            ^                                     [ab]
5187    +11            ^                                     x
5188     +0             ^                                    ([ab]{,4}c|xy)
5189     +1             ^                                    [ab]
5190    +11             ^                                    x
5191     +0              ^                                   ([ab]{,4}c|xy)
5192     +1              ^                                   [ab]
5193    +11              ^                                   x
5194     +0               ^                                  ([ab]{,4}c|xy)
5195     +1               ^                                  [ab]
5196    +11               ^                                  x
5197     +0                ^                                 ([ab]{,4}c|xy)
5198     +1                ^                                 [ab]
5199    +11                ^                                 x
5200     +0                 ^                                ([ab]{,4}c|xy)
5201     +1                 ^                                [ab]
5202    +11                 ^                                x
5203     +0                  ^                               ([ab]{,4}c|xy)
5204     +1                  ^                               [ab]
5205    +11                  ^                               x
5206     +0                   ^                              ([ab]{,4}c|xy)
5207     +1                   ^                              [ab]
5208    +11                   ^                              x
5209     +0                    ^                             ([ab]{,4}c|xy)
5210     +1                    ^                             [ab]
5211    +11                    ^                             x
5212     +0                     ^                            ([ab]{,4}c|xy)
5213     +1                     ^                            [ab]
5214    +11                     ^                            x
5215     +0                      ^                           ([ab]{,4}c|xy)
5216     +1                      ^                           [ab]
5217    +11                      ^                           x
5218     +0                       ^                          ([ab]{,4}c|xy)
5219     +1                       ^                          [ab]
5220    +11                       ^                          x
5221     +0                        ^                         ([ab]{,4}c|xy)
5222     +1                        ^                         [ab]
5223    +11                        ^                         x
5224     +0                         ^                        ([ab]{,4}c|xy)
5225     +1                         ^                        [ab]
5226    +11                         ^                        x
5227     +0                          ^                       ([ab]{,4}c|xy)
5228     +1                          ^                       [ab]
5229    +11                          ^                       x
5230     +0                           ^                      ([ab]{,4}c|xy)
5231     +1                           ^                      [ab]
5232    +11                           ^                      x
5233     +0                            ^                     ([ab]{,4}c|xy)
5234     +1                            ^                     [ab]
5235    +11                            ^                     x
5236     +0                             ^                    ([ab]{,4}c|xy)
5237     +1                             ^                    [ab]
5238    +11                             ^                    x
5239     +0                              ^                   ([ab]{,4}c|xy)
5240     +1                              ^                   [ab]
5241    +11                              ^                   x
5242     +0                               ^                  ([ab]{,4}c|xy)
5243     +1                               ^                  [ab]
5244    +11                               ^                  x
5245     +0                                ^                 ([ab]{,4}c|xy)
5246     +1                                ^                 [ab]
5247    +11                                ^                 x
5248     +0                                 ^                ([ab]{,4}c|xy)
5249     +1                                 ^                [ab]
5250     +5                                 ^^               {
5251    +11                                 ^                x
5252     +0                                  ^               ([ab]{,4}c|xy)
5253     +1                                  ^               [ab]
5254    +11                                  ^               x
5255     +0                                   ^              ([ab]{,4}c|xy)
5256     +1                                   ^              [ab]
5257    +11                                   ^              x
5258     +0                                    ^             ([ab]{,4}c|xy)
5259     +1                                    ^             [ab]
5260    +11                                    ^             x
5261     +0                                     ^            ([ab]{,4}c|xy)
5262     +1                                     ^            [ab]
5263     +5                                     ^^           {
5264    +11                                     ^            x
5265     +0                                      ^           ([ab]{,4}c|xy)
5266     +1                                      ^           [ab]
5267    +11                                      ^           x
5268     +0                                       ^          ([ab]{,4}c|xy)
5269     +1                                       ^          [ab]
5270    +11                                       ^          x
5271     +0                                        ^         ([ab]{,4}c|xy)
5272     +1                                        ^         [ab]
5273    +11                                        ^         x
5274     +0                                         ^        ([ab]{,4}c|xy)
5275     +1                                         ^        [ab]
5276    +11                                         ^        x
5277     +0                                          ^       ([ab]{,4}c|xy)
5278     +1                                          ^       [ab]
5279    +11                                          ^       x
5280     +0                                           ^      ([ab]{,4}c|xy)
5281     +1                                           ^      [ab]
5282    +11                                           ^      x
5283     +0                                            ^     ([ab]{,4}c|xy)
5284     +1                                            ^     [ab]
5285    +11                                            ^     x
5286     +0                                             ^    ([ab]{,4}c|xy)
5287     +1                                             ^    [ab]
5288    +11                                             ^    x
5289    No match
5290    
5291    /([ab]{1,4}c|xy){4,5}?123/CD
5292    ------------------------------------------------------------------
5293      0 485 Bra 0
5294      3     Callout 255 0 21
5295      9  61 Bra 1
5296     12     Callout 255 1 9
5297     18     [ab]{1,4}
5298     56     Callout 255 10 1
5299     62     c
5300     64     Callout 255 11 0
5301     70  25 Alt
5302     73     Callout 255 12 1
5303     79     x
5304     81     Callout 255 13 1
5305     87     y
5306     89     Callout 255 14 0
5307     95  86 Ket
5308     98  61 Bra 1
5309    101     Callout 255 1 9
5310    107     [ab]{1,4}
5311    145     Callout 255 10 1
5312    151     c
5313    153     Callout 255 11 0
5314    159  25 Alt
5315    162     Callout 255 12 1
5316    168     x
5317    170     Callout 255 13 1
5318    176     y
5319    178     Callout 255 14 0
5320    184  86 Ket
5321    187  61 Bra 1
5322    190     Callout 255 1 9
5323    196     [ab]{1,4}
5324    234     Callout 255 10 1
5325    240     c
5326    242     Callout 255 11 0
5327    248  25 Alt
5328    251     Callout 255 12 1
5329    257     x
5330    259     Callout 255 13 1
5331    265     y
5332    267     Callout 255 14 0
5333    273  86 Ket
5334    276  61 Bra 1
5335    279     Callout 255 1 9
5336    285     [ab]{1,4}
5337    323     Callout 255 10 1
5338    329     c
5339    331     Callout 255 11 0
5340    337  25 Alt
5341    340     Callout 255 12 1
5342    346     x
5343    348     Callout 255 13 1
5344    354     y
5345    356     Callout 255 14 0
5346    362  86 Ket
5347    365     Braminzero
5348    366  61 Bra 1
5349    369     Callout 255 1 9
5350    375     [ab]{1,4}
5351    413     Callout 255 10 1
5352    419     c
5353    421     Callout 255 11 0
5354    427  25 Alt
5355    430     Callout 255 12 1
5356    436     x
5357    438     Callout 255 13 1
5358    444     y
5359    446     Callout 255 14 0
5360    452  86 Ket
5361    455     Callout 255 21 1
5362    461     1
5363    463     Callout 255 22 1
5364    469     2
5365    471     Callout 255 23 1
5366    477     3
5367    479     Callout 255 24 0
5368    485 485 Ket
5369    488     End
5370    ------------------------------------------------------------------
5371    Capturing subpattern count = 1
5372    Partial matching not supported
5373    Options:
5374    No first char
5375    Need char = '3'
5376        aacaacaacaacaac123
5377    --->aacaacaacaacaac123
5378     +0 ^                      ([ab]{1,4}c|xy){4,5}?
5379     +1 ^                      [ab]{1,4}
5380    +10 ^ ^                    c
5381    +11 ^  ^                   |
5382     +1 ^  ^                   [ab]{1,4}
5383    +10 ^    ^                 c
5384    +11 ^     ^                |
5385     +1 ^     ^                [ab]{1,4}
5386    +10 ^       ^              c
5387    +11 ^        ^             |
5388     +1 ^        ^             [ab]{1,4}
5389    +10 ^          ^           c
5390    +11 ^           ^          |
5391    +21 ^           ^          1
5392     +1 ^           ^          [ab]{1,4}
5393    +10 ^             ^        c
5394    +11 ^              ^       |
5395    +21 ^              ^       1
5396    +22 ^               ^      2
5397    +23 ^                ^     3
5398    +24 ^                 ^
5399     0: aacaacaacaacaac123
5400     1: aac
5401    
5402    /\b.*/I
5403    Capturing subpattern count = 0
5404    Partial matching not supported
5405    No options
5406    No first char
5407    No need char
5408      ab cd\>1
5409     0:  cd
5410    
5411    /\b.*/Is
5412    Capturing subpattern count = 0
5413    Partial matching not supported
5414    Options: dotall
5415    No first char
5416    No need char
5417      ab cd\>1
5418     0:  cd
5419    
5420    /(?!.bcd).*/I
5421    Capturing subpattern count = 0
5422    Partial matching not supported
5423    No options
5424    No first char
5425    No need char
5426      Xbcd12345
5427     0: bcd12345
5428    
5429    /abcde/
5430    Capturing subpattern count = 0
5431    No options
5432    First char = 'a'
5433    Need char = 'e'
5434        ab\P
5435    Partial match
5436        abc\P
5437    Partial match
5438        abcd\P
5439    Partial match
5440        abcde\P
5441     0: abcde
5442        the quick brown abc\P
5443    Partial match
5444        ** Failers\P
5445    No match
5446        the quick brown abxyz fox\P
5447    No match
5448    
5449    "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"
5450    Capturing subpattern count = 3
5451    Options: anchored
5452    No first char
5453    Need char = '/'
5454        13/05/04\P
5455     0: 13/05/04
5456     1: 13
5457     2: 05
5458        13/5/2004\P
5459     0: 13/5/2004
5460     1: 13
5461     2: 5
5462     3: 20
5463        02/05/09\P
5464     0: 02/05/09
5465     1: 02
5466     2: 05
5467        1\P
5468    Partial match
5469        1/2\P
5470    Partial match
5471        1/2/0\P
5472    Partial match
5473        1/2/04\P
5474     0: 1/2/04
5475     1: 1
5476     2: 2
5477        0\P
5478    Partial match
5479        02/\P
5480    Partial match
5481        02/0\P
5482    Partial match
5483        02/1\P
5484    Partial match
5485        ** Failers\P
5486    No match
5487        \P
5488    No match
5489        123\P
5490    No match
5491        33/4/04\P
5492    No match
5493        3/13/04\P
5494    No match
5495        0/1/2003\P
5496    No match
5497        0/\P
5498    No match
5499        02/0/\P
5500    No match
5501        02/13\P
5502    No match
5503    
5504    /0{0,2}ABC/I
5505    Capturing subpattern count = 0
5506    Partial matching not supported
5507    No options
5508    No first char
5509    Need char = 'C'
5510    
5511    /\d{3,}ABC/I
5512    Capturing subpattern count = 0
5513    Partial matching not supported
5514    No options
5515    No first char
5516    Need char = 'C'
5517    
5518    /\d*ABC/I
5519    Capturing subpattern count = 0
5520    Partial matching not supported
5521    No options
5522    No first char
5523    Need char = 'C'
5524    
5525    /[abc]+DE/I
5526    Capturing subpattern count = 0
5527    Partial matching not supported
5528    No options
5529    No first char
5530    Need char = 'E'
5531    
5532    /[abc]?123/
5533    Capturing subpattern count = 0
5534    No options
5535    No first char
5536    Need char = '3'
5537        123\P
5538     0: 123
5539        a\P
5540    Partial match
5541        b\P
5542    Partial match
5543        c\P
5544    Partial match
5545        c12\P
5546    Partial match
5547        c123\P
5548     0: c123
5549    
5550    /^(?:\d){3,5}X/
5551    Capturing subpattern count = 0
5552    Options: anchored
5553    No first char
5554    Need char = 'X'
5555        1\P
5556    Partial match
5557        123\P
5558    Partial match
5559        123X
5560     0: 123X
5561        1234\P
5562    Partial match
5563        1234X
5564     0: 1234X
5565        12345\P
5566    Partial match
5567        12345X
5568     0: 12345X
5569        *** Failers
5570    No match
5571        1X
5572    No match
5573        123456\P
5574    No match
5575    
5576    /abc/>testsavedregex
5577    Capturing subpattern count = 0
5578    No options
5579    First char = 'a'
5580    Need char = 'c'
5581    Compiled regex written to testsavedregex
5582    <testsavedregex
5583    Compiled regex loaded from testsavedregex
5584    No study data
5585    Capturing subpattern count = 0
5586    No options
5587    First char = 'a'
5588    Need char = 'c'
5589        abc
5590     0: abc
5591        ** Failers
5592    No match
5593        bca
5594    No match
5595    
5596    /abc/F>testsavedregex
5597    Capturing subpattern count = 0
5598    No options
5599    First char = 'a'
5600    Need char = 'c'
5601    Compiled regex written to testsavedregex
5602    <testsavedregex
5603    Compiled regex (byte-inverted) loaded from testsavedregex
5604    No study data
5605    Capturing subpattern count = 0
5606    No options
5607    First char = 'a'
5608    Need char = 'c'
5609        abc
5610     0: abc
5611        ** Failers
5612    No match
5613        bca
5614    No match
5615    
5616    /(a|b)/S>testsavedregex
5617    Capturing subpattern count = 1
5618    No options
5619    No first char
5620    No need char
5621    Starting byte set: a b
5622    Compiled regex written to testsavedregex
5623    Study data written to testsavedregex
5624    <testsavedregex
5625    Compiled regex loaded from testsavedregex
5626    Study data loaded from testsavedregex
5627    Capturing subpattern count = 1
5628    No options
5629    No first char
5630    No need char
5631    Starting byte set: a b
5632        abc
5633     0: a
5634     1: a
5635        ** Failers
5636     0: a
5637     1: a
5638        def
5639    No match
5640    
5641    /(a|b)/SF>testsavedregex
5642    Capturing subpattern count = 1
5643    No options
5644    No first char
5645    No need char
5646    Starting byte set: a b
5647    Compiled regex written to testsavedregex
5648    Study data written to testsavedregex
5649    <testsavedregex
5650    Compiled regex (byte-inverted) loaded from testsavedregex
5651    Study data loaded from testsavedregex
5652    Capturing subpattern count = 1
5653    No options
5654    No first char
5655    No need char
5656    Starting byte set: a b
5657        abc
5658     0: a
5659     1: a
5660        ** Failers
5661     0: a
5662     1: a
5663        def
5664    No match
5665    
5666    ~<(\w+)/?>(.)*</(\1)>~smg
5667    Capturing subpattern count = 3
5668    Max back reference = 1
5669    Partial matching not supported
5670    Options: multiline dotall
5671    First char = '<'
5672    Need char = '>'
5673        <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
5674     0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>
5675     1: seite
5676     2: \x0a
5677     3: seite
5678    
5679    /^a/IF
5680    Capturing subpattern count = 0
5681    Options: anchored
5682    No first char
5683    No need char
5684    
5685    /line\nbreak/
5686    Capturing subpattern count = 0
5687    No options
5688    First char = 'l'
5689    Need char = 'k'
5690        this is a line\nbreak
5691     0: line\x0abreak
5692        line one\nthis is a line\nbreak in the second line
5693     0: line\x0abreak
5694    
5695    /line\nbreak/f
5696    Capturing subpattern count = 0
5697    Options: firstline
5698    First char = 'l'
5699    Need char = 'k'
5700        this is a line\nbreak
5701     0: line\x0abreak
5702        ** Failers
5703    No match
5704        line one\nthis is a line\nbreak in the second line
5705    No match
5706    
5707    /line\nbreak/mf
5708    Capturing subpattern count = 0
5709    Options: multiline firstline
5710    First char = 'l'
5711    Need char = 'k'
5712        this is a line\nbreak
5713     0: line\x0abreak
5714        ** Failers
5715    No match
5716        line one\nthis is a line\nbreak in the second line
5717    No match
5718    
5719    /ab.cd/P
5720        ab-cd
5721     0: ab-cd
5722        ab=cd
5723     0: ab=cd
5724        ** Failers
5725    No match: POSIX code 17: match failed
5726        ab\ncd
5727    No match: POSIX code 17: match failed
5728    
5729    /ab.cd/Ps
5730        ab-cd
5731     0: ab-cd
5732        ab=cd
5733     0: ab=cd
5734        ab\ncd
5735     0: ab\x0acd
5736    
5737    /(?i)(?-i)AbCd/
5738    Capturing subpattern count = 0
5739    No options
5740    First char = 'A'
5741    Need char = 'd'
5742        AbCd
5743     0: AbCd
5744        ** Failers
5745    No match
5746        abcd
5747    No match
5748    
5749    /a{11111111111111111111}/
5750    Failed: number too big in {} quantifier at offset 22
5751    
5752    /(){64294967295}/
5753    Failed: number too big in {} quantifier at offset 14
5754    
5755    /(){2,4294967295}/
5756    Failed: number too big in {} quantifier at offset 15
5757    
5758    "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"
5759    Capturing subpattern count = 1
5760    Max back reference = 1
5761    No options
5762    First char = 'a' (caseless)
5763    Need char = 'B'
5764        abcdefghijklAkB
5765     0: abcdefghijklAkB
5766     1: k
5767    
5768    "(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"
5769    Capturing subpattern count = 12
5770    Max back reference = 11
5771    Named capturing subpatterns:
5772      n0    1
5773      n1    2
5774      n10  11
5775      n11  12
5776      n2    3
5777      n3    4
5778      n4    5
5779      n5    6
5780      n6    7
5781      n7    8
5782      n8    9
5783      n9   10
5784    No options
5785    First char = 'a'
5786    Need char = 'B'
5787        abcdefghijklAkB
5788     0: abcdefghijklAkB
5789     1: a
5790     2: b
5791     3: c
5792     4: d
5793     5: e
5794     6: f
5795     7: g
5796     8: h
5797     9: i
5798    10: j
5799    11: k
5800    12: l
5801    
5802    "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"
5803    Capturing subpattern count = 12
5804    Max back reference = 11
5805    No options
5806    First char = 'a'
5807    Need char = 'B'
5808        abcdefghijklAkB
5809     0: abcdefghijklAkB
5810     1: a
5811     2: b
5812     3: c
5813     4: d
5814     5: e
5815     6: f
5816     7: g
5817     8: h
5818     9: i
5819    10: j
5820    11: k
5821    12: l
5822    
5823    "(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"
5824    Capturing subpattern count = 101
5825    Named capturing subpatterns:
5826      name0     1
5827      name1     2
5828      name10   11
5829      name100 101
5830      name11   12
5831      name12   13
5832      name13   14
5833      name14   15
5834      name15   16
5835      name16   17
5836      name17   18
5837      name18   19
5838      name19   20
5839      name2     3
5840      name20   21
5841      name21   22
5842      name22   23
5843      name23   24
5844      name24   25
5845      name25   26
5846      name26   27
5847      name27   28
5848      name28   29
5849      name29   30
5850      name3     4
5851      name30   31
5852      name31   32
5853      name32   33
5854      name33   34
5855      name34   35
5856      name35   36
5857      name36   37
5858      name37   38
5859      name38   39
5860      name39   40
5861      name4     5
5862      name40   41
5863      name41   42
5864      name42   43
5865      name43   44
5866      name44   45
5867      name45   46
5868      name46   47
5869      name47   48
5870      name48   49
5871      name49   50
5872      name5     6
5873      name50   51
5874      name51   52
5875      name52   53
5876      name53   54
5877      name54   55
5878      name55   56
5879      name56   57
5880      name57   58
5881      name58   59
5882      name59   60
5883      name6     7
5884      name60   61
5885      name61   62
5886      name62   63
5887      name63   64
5888      name64   65
5889      name65   66
5890      name66   67
5891      name67   68
5892      name68   69
5893      name69   70
5894      name7     8
5895      name70   71
5896      name71   72
5897      name72   73
5898      name73   74
5899      name74   75
5900      name75   76
5901      name76   77
5902      name77   78
5903      name78   79
5904      name79   80
5905      name8     9
5906      name80   81
5907      name81   82
5908      name82   83
5909      name83   84
5910      name84   85
5911      name85   86
5912      name86   87
5913      name87   88
5914      name88   89
5915      name89   90
5916      name9    10
5917      name90   91
5918      name91   92
5919      name92   93
5920      name93   94
5921      name94   95
5922      name95   96
5923      name96   97
5924      name97   98
5925      name98   99
5926      name99  100
5927    No options
5928    First char = 'a'
5929    Need char = 'a'
5930        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5931    Matched, but too many substrings
5932     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5933     1: a
5934     2: a
5935     3: a
5936     4: a
5937     5: a
5938     6: a
5939     7: a
5940     8: a
5941     9: a
5942    10: a
5943    11: a
5944    12: a
5945    13: a
5946    14: a
5947    
5948    "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"
5949    Capturing subpattern count = 101
5950    No options
5951    First char = 'a'
5952    Need char = 'a'
5953        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5954    Matched, but too many substrings
5955     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5956     1: a
5957     2: a
5958     3: a
5959     4: a
5960     5: a
5961     6: a
5962     7: a
5963     8: a
5964     9: a
5965    10: a
5966    11: a
5967    12: a
5968    13: a
5969    14: a
5970    
5971    /[^()]*(?:\((?R)\)[^()]*)*/
5972    Capturing subpattern count = 0
5973    Partial matching not supported
5974    No options
5975    No first char
5976    No need char
5977        (this(and)that
5978     0:
5979        (this(and)that)
5980     0: (this(and)that)
5981        (this(and)that)stuff
5982     0: (this(and)that)stuff
5983    
5984    /[^()]*(?:\((?>(?R))\)[^()]*)*/
5985    Capturing subpattern count = 0
5986    Partial matching not supported
5987    No options
5988    No first char
5989    No need char
5990        (this(and)that
5991     0:
5992        (this(and)that)
5993     0: (this(and)that)
5994    
5995    /[^()]*(?:\((?R)\))*[^()]*/
5996    Capturing subpattern count = 0
5997    Partial matching not supported
5998    No options
5999    No first char
6000    No need char
6001        (this(and)that
6002     0:
6003        (this(and)that)
6004     0: (this(and)that)
6005    
6006    /(?:\((?R)\))*[^()]*/
6007    Capturing subpattern count = 0
6008    Partial matching not supported
6009    No options
6010    No first char
6011    No need char
6012        (this(and)that
6013     0:
6014        (this(and)that)
6015     0:
6016        ((this))
6017     0: ((this))
6018    
6019    /(?:\((?R)\))|[^()]*/
6020    Capturing subpattern count = 0
6021    Partial matching not supported
6022    No options
6023    No first char
6024    No need char
6025        (this(and)that
6026     0:
6027        (this(and)that)
6028     0:
6029        (this)
6030     0: (this)
6031        ((this))
6032     0: ((this))
6033    
6034    /a(b)c/PN
6035        abc
6036    Matched with REG_NOSUB
6037    
6038    /a(?P<name>b)c/PN
6039        abc
6040    Matched with REG_NOSUB
6041    
6042    /\x{100}/
6043    Failed: character value in \x{...} sequence is too large at offset 6
6044    
6045    /\x{0000ff}/
6046    Capturing subpattern count = 0
6047    No options
6048    First char = 255
6049    No need char
6050    
6051    /^((?P<A>a1)|(?P<A>a2)b)/
6052    Failed: two named subpatterns have the same name at offset 18
6053    
6054    /^((?P<A>a1)|(?P<A>a2)b)/J
6055    Capturing subpattern count = 3
6056    Named capturing subpatterns:
6057      A   2
6058      A   3
6059    Options: anchored dupnames
6060    No first char
6061    No need char
6062        a1b\CA
6063     0: a1
6064     1: a1
6065     2: a1
6066      C a1 (2) A
6067        a2b\CA
6068     0: a2b
6069     1: a2b
6070     2: <unset>
6071     3: a2
6072      C a2 (2) A
6073        ** Failers
6074    No match
6075        a1b\CZ\CA
6076    no parentheses with name "Z"
6077     0: a1
6078     1: a1
6079     2: a1
6080    copy substring Z failed -7
6081      C a1 (2) A
6082    
6083    /^(?P<A>a)(?P<A>b)/J
6084    Capturing subpattern count = 2
6085    Named capturing subpatterns:
6086      A   1
6087      A   2
6088    Options: anchored dupnames
6089    No first char
6090    No need char
6091        ab\CA
6092     0: ab
6093     1: a
6094     2: b
6095      C a (1) A
6096    
6097    /^(?P<A>a)(?P<A>b)|cd/J
6098    Capturing subpattern count = 2
6099    Named capturing subpatterns:
6100      A   1
6101      A   2
6102    Options: dupnames
6103    No first char
6104    No need char
6105        ab\CA
6106     0: ab
6107     1: a
6108     2: b
6109      C a (1) A
6110        cd\CA
6111     0: cd
6112    copy substring A failed -7
6113    
6114    /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/J
6115    Capturing subpattern count = 4
6116    Named capturing subpatterns:
6117      A   1
6118      A   2
6119      A   3
6120      A   4
6121    Options: dupnames
6122    No first char
6123    No need char
6124        cdefgh\CA
6125     0: cdefgh
6126     1: <unset>
6127     2: <unset>
6128     3: ef
6129     4: gh
6130      C ef (2) A
6131    
6132    /^((?P<A>a1)|(?P<A>a2)b)/J
6133    Capturing subpattern count = 3
6134    Named capturing subpatterns:
6135      A   2
6136      A   3
6137    Options: anchored dupnames
6138    No first char
6139    No need char
6140        a1b\GA
6141     0: a1
6142     1: a1
6143     2: a1
6144      G a1 (2) A
6145        a2b\GA
6146     0: a2b
6147     1: a2b
6148     2: <unset>
6149     3: a2
6150      G a2 (2) A
6151        ** Failers
6152    No match
6153        a1b\GZ\GA
6154    no parentheses with name "Z"
6155     0: a1
6156     1: a1
6157     2: a1
6158    copy substring Z failed -7
6159      G a1 (2) A
6160    
6161    /^(?P<A>a)(?P<A>b)/J
6162    Capturing subpattern count = 2
6163    Named capturing subpatterns:
6164      A   1
6165      A   2
6166    Options: anchored dupnames
6167    No first char
6168    No need char
6169        ab\GA
6170     0: ab
6171     1: a
6172     2: b
6173      G a (1) A
6174    
6175    /^(?P<A>a)(?P<A>b)|cd/J
6176    Capturing subpattern count = 2
6177    Named capturing subpatterns:
6178      A   1
6179      A   2
6180    Options: dupnames
6181    No first char
6182    No need char
6183        ab\GA
6184     0: ab
6185     1: a
6186     2: b
6187      G a (1) A
6188        cd\GA
6189     0: cd
6190    copy substring A failed -7
6191    
6192    /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/J
6193    Capturing subpattern count = 4
6194    Named capturing subpatterns:
6195      A   1
6196      A   2
6197      A   3
6198      A   4
6199    Options: dupnames
6200    No first char
6201    No need char
6202        cdefgh\GA
6203     0: cdefgh
6204     1: <unset>
6205     2: <unset>
6206     3: ef
6207     4: gh
6208      G ef (2) A
6209    
6210    /(?J)^((?P<A>a1)|(?P<A>a2)b)/
6211    Capturing subpattern count = 3
6212    Named capturing subpatterns:
6213      A   2
6214      A   3
6215    Options: anchored dupnames
6216    No first char
6217    No need char