/[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 174 by ph10, Tue Jun 5 11:38:06 2007 UTC revision 528 by ph10, Sat May 29 16:40:22 2010 UTC
# Line 1  Line 1 
1    /-- This set of tests is not Perl-compatible. It checks on special features
2        of PCRE's API, error diagnostics, and the compiled code of some patterns.
3        It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4        Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5        either because PCRE can't be compatible, or there is a possible Perl
6        bug. --/
7    
8    /-- Originally, the Perl 5.10 and 5.11 things were in here too, but now I have
9        separated many (most?) of them out into test 11. However, there may still
10        be some that were overlooked. --/
11    
12  /(a)b|/I  /(a)b|/I
13  Capturing subpattern count = 1  Capturing subpattern count = 1
14  No options  No options
# Line 40  No match Line 51  No match
51    
52  /a+bc/I  /a+bc/I
53  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
54  No options  No options
55  First char = 'a'  First char = 'a'
56  Need char = 'c'  Need char = 'c'
57    
58  /a*bc/I  /a*bc/I
59  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
60  No options  No options
61  No first char  No first char
62  Need char = 'c'  Need char = 'c'
63    
64  /a{3}bc/I  /a{3}bc/I
65  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
66  No options  No options
67  First char = 'a'  First char = 'a'
68  Need char = 'c'  Need char = 'c'
69    
70  /(abc|a+z)/I  /(abc|a+z)/I
71  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
72  No options  No options
73  First char = 'a'  First char = 'a'
74  No need char  No need char
# Line 78  No match Line 85  No match
85      def\nabc      def\nabc
86  No match  No match
87    
88  /ab\hdef/X  /ab\idef/X
89  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
90    
91  /(?X)ab\hdef/X  /(?X)ab\idef/X
92  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
93    
94  /x{5,4}/  /x{5,4}/
# Line 96  Failed: missing terminating ] for charac Line 103  Failed: missing terminating ] for charac
103  /(?X)[\B]/  /(?X)[\B]/
104  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
105    
106    /(?X)[\R]/
107    Failed: invalid escape sequence in character class at offset 6
108    
109    /(?X)[\X]/
110    Failed: invalid escape sequence in character class at offset 6
111    
112    /[\B]/BZ
113    ------------------------------------------------------------------
114            Bra
115            B
116            Ket
117            End
118    ------------------------------------------------------------------
119    
120    /[\R]/BZ
121    ------------------------------------------------------------------
122            Bra
123            R
124            Ket
125            End
126    ------------------------------------------------------------------
127    
128    /[\X]/BZ
129    ------------------------------------------------------------------
130            Bra
131            X
132            Ket
133            End
134    ------------------------------------------------------------------
135    
136  /[z-a]/  /[z-a]/
137  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
138    
# Line 109  Failed: missing ) at offset 4 Line 146  Failed: missing ) at offset 4
146  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
147    
148  /(?z)abc/  /(?z)abc/
149  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
150    
151  /.*b/I  /.*b/I
152  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
153  No options  No options
154  First char at start or follows newline  First char at start or follows newline
155  Need char = 'b'  Need char = 'b'
156    
157  /.*?b/I  /.*?b/I
158  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
159  No options  No options
160  First char at start or follows newline  First char at start or follows newline
161  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 175  Capturing subpattern count = 0
175  No options  No options
176  No first char  No first char
177  No need char  No need char
178    Subject length lower bound = 3
179  Starting byte set: c d e  Starting byte set: c d e
180      this sentence eventually mentions a cat      this sentence eventually mentions a cat
181   0: cat   0: cat
# Line 151  Capturing subpattern count = 0 Line 187  Capturing subpattern count = 0
187  Options: caseless  Options: caseless
188  No first char  No first char
189  No need char  No need char
190    Subject length lower bound = 3
191  Starting byte set: C D E c d e  Starting byte set: C D E c d e
192      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
193   0: CAT   0: CAT
# Line 162  Capturing subpattern count = 0 Line 199  Capturing subpattern count = 0
199  No options  No options
200  No first char  No first char
201  No need char  No need char
202    Subject length lower bound = 1
203  Starting byte set: a b c d  Starting byte set: a b c d
204    
205  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 169  Capturing subpattern count = 1 Line 207  Capturing subpattern count = 1
207  No options  No options
208  No first char  No first char
209  No need char  No need char
210    Subject length lower bound = 1
211  Starting byte 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
212    \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
213    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 189  Capturing subpattern count = 1 Line 228  Capturing subpattern count = 1
228  No options  No options
229  No first char  No first char
230  No need char  No need char
231    Subject length lower bound = 1
232  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
233    
234  /(ab\2)/  /(ab\2)/
# Line 310  No match Line 350  No match
350  No match  No match
351    
352  /ab(?z)cd/  /ab(?z)cd/
353  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
354    
355  /^abc|def/I  /^abc|def/I
356  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 324  No need char Line 364  No need char
364    
365  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
366  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
367  No options  No options
368  First char at start or follows newline  First char at start or follows newline
369  No need char  No need char
# Line 338  No need char Line 377  No need char
377   2: <unset>   2: <unset>
378   3: def   3: def
379    
380  /abc/IP  /abc/P
381      abc      abc
382   0: abc   0: abc
383      *** Failers      *** Failers
384  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
385    
386  /^abc|def/IP  /^abc|def/P
387      abcdef      abcdef
388   0: abc   0: abc
389      abcdef\B      abcdef\B
390   0: def   0: def
391    
392  /.*((abc)$|(def))/IP  /.*((abc)$|(def))/P
393      defabc      defabc
394   0: defabc   0: defabc
395   1: abc   1: abc
# Line 360  No match: POSIX code 17: match failed Line 399  No match: POSIX code 17: match failed
399   1: def   1: def
400   3: def   3: def
401    
402  /the quick brown fox/IP  /the quick brown fox/P
403      the quick brown fox      the quick brown fox
404   0: the quick brown fox   0: the quick brown fox
405      *** Failers      *** Failers
# Line 368  No match: POSIX code 17: match failed Line 407  No match: POSIX code 17: match failed
407      The Quick Brown Fox      The Quick Brown Fox
408  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
409    
410  /the quick brown fox/IPi  /the quick brown fox/Pi
411      the quick brown fox      the quick brown fox
412   0: the quick brown fox   0: the quick brown fox
413      The Quick Brown Fox      The Quick Brown Fox
414   0: The Quick Brown Fox   0: The Quick Brown Fox
415    
416  /abc.def/IP  /abc.def/P
417      *** Failers      *** Failers
418  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
419      abc\ndef      abc\ndef
420  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
421    
422  /abc$/IP  /abc$/P
423      abc      abc
424   0: abc   0: abc
425      abc\n      abc\n
426   0: abc   0: abc
427    
428  /(abc)\2/IP  /(abc)\2/P
429  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
430    
431  /(abc\1)/IP  /(abc\1)/P
432      abc      abc
433  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
434    
# Line 401  Failed: missing terminating ] for charac Line 440  Failed: missing terminating ] for charac
440    
441  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
442  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
443  No options  No options
444  No first char  No first char
445  No need char  No need char
# Line 410  No need char Line 448  No need char
448    
449  /<.*>/I  /<.*>/I
450  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
451  No options  No options
452  First char = '<'  First char = '<'
453  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 456  Need char = '>'
456    
457  /<.*?>/I  /<.*?>/I
458  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
459  No options  No options
460  First char = '<'  First char = '<'
461  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 464  Need char = '>'
464    
465  /<.*>/IU  /<.*>/IU
466  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
467  Options: ungreedy  Options: ungreedy
468  First char = '<'  First char = '<'
469  Need char = '>'  Need char = '>'
# Line 437  Need char = '>' Line 472  Need char = '>'
472    
473  /(?U)<.*>/I  /(?U)<.*>/I
474  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
475  Options: ungreedy  Options: ungreedy
476  First char = '<'  First char = '<'
477  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 480  Need char = '>'
480    
481  /<.*?>/IU  /<.*?>/IU
482  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
483  Options: ungreedy  Options: ungreedy
484  First char = '<'  First char = '<'
485  Need char = '>'  Need char = '>'
# Line 455  Need char = '>' Line 488  Need char = '>'
488    
489  /={3,}/IU  /={3,}/IU
490  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
491  Options: ungreedy  Options: ungreedy
492  First char = '='  First char = '='
493  Need char = '='  Need char = '='
# Line 464  Need char = '=' Line 496  Need char = '='
496    
497  /(?U)={3,}?/I  /(?U)={3,}?/I
498  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
499  Options: ungreedy  Options: ungreedy
500  First char = '='  First char = '='
501  Need char = '='  Need char = '='
# Line 522  No need char Line 553  No need char
553    
554  /(?s).*/I  /(?s).*/I
555  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
556  Options: anchored dotall  Options: anchored dotall
557  No first char  No first char
558  No need char  No need char
# Line 532  Capturing subpattern count = 0 Line 562  Capturing subpattern count = 0
562  No options  No options
563  No first char  No first char
564  No need char  No need char
565    Subject length lower bound = 1
566  Starting byte set: a b c d  Starting byte set: a b c d
567    
568  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 539  Capturing subpattern count = 0 Line 570  Capturing subpattern count = 0
570  Options: caseless  Options: caseless
571  No first char  No first char
572  No need char  No need char
573    Subject length lower bound = 1
574  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
575    
576  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 546  Capturing subpattern count = 1 Line 578  Capturing subpattern count = 1
578  Options: multiline  Options: multiline
579  No first char  No first char
580  No need char  No need char
581    Subject length lower bound = 1
582  Starting byte set: b c x y  Starting byte set: b c x y
583    
584  /(^a|^b)/Im  /(^a|^b)/Im
# Line 584  Failed: syntax error in subpattern name Line 617  Failed: syntax error in subpattern name
617  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
618  Capturing subpattern count = 1  Capturing subpattern count = 1
619  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
620  No options  No options
621  First char = 'b'  First char = 'b'
622  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 624  Need char = 'h'
624  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
625  Capturing subpattern count = 1  Capturing subpattern count = 1
626  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
627  No options  No options
628  First char = 'b' (caseless)  First char = 'b' (caseless)
629  Need char = 'h' (caseless)  Need char = 'h' (caseless)
630    
631  /((?i)b)/IDZS  /((?i)b)/IDZS
632  ------------------------------------------------------------------  ------------------------------------------------------------------
633          Bra 0          Bra
634          Bra 1          CBra 1
635       01 Opt       01 Opt
636       NC b       NC b
637          Ket          Ket
# Line 612  Capturing subpattern count = 1 Line 643  Capturing subpattern count = 1
643  No options  No options
644  First char = 'b' (caseless)  First char = 'b' (caseless)
645  No need char  No need char
646  Study returned NULL  Subject length lower bound = 1
647    No set of starting bytes
648    
649  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
650  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
651  No options  No options
652  No first char  No first char
653  No need char  No need char
654    Subject length lower bound = 1
655  Starting byte set: C a b c d  Starting byte set: C a b c d
656    
657  /a$/I  /a$/I
# Line 668  Need char = 'c' Line 700  Need char = 'c'
700    
701  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
702  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
703  Options: anchored  Options: anchored
704  No first char  No first char
705  No need char  No need char
# Line 685  Capturing subpattern count = 0 Line 716  Capturing subpattern count = 0
716  No options  No options
717  No first char  No first char
718  No need char  No need char
719    Subject length lower bound = 1
720  Starting byte set: a b  Starting byte set: a b
721    
722  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 692  Capturing subpattern count = 1 Line 724  Capturing subpattern count = 1
724  No options  No options
725  No first char  No first char
726  Need char = 'a'  Need char = 'a'
727    Subject length lower bound = 5
728  Starting byte set: a o  Starting byte set: a o
729    
730  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 699  Capturing subpattern count = 0 Line 732  Capturing subpattern count = 0
732  No options  No options
733  No first char  No first char
734  No need char  No need char
735    Subject length lower bound = 1
736  Starting byte set: a b  Starting byte set: a b
737    
738  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
739  Capturing subpattern count = 0  Capturing subpattern count = 0
740    Contains explicit CR or LF match
741  Options: multiline  Options: multiline
742  No first char  No first char
743  Need char = 'r'  Need char = 'r'
# Line 719  No match Line 754  No match
754    
755  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
756  Capturing subpattern count = 0  Capturing subpattern count = 0
757    Contains explicit CR or LF match
758  Options: multiline  Options: multiline
759  First char at start or follows newline  First char at start or follows newline
760  Need char = 'r'  Need char = 'r'
# Line 782  No need char Line 818  No need char
818    
819  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
820  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
821  No options  No options
822  First char at start or follows newline  First char at start or follows newline
823  No need char  No need char
# Line 852  No match Line 887  No match
887      a      a
888  No match  No match
889    
890  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I  /This one is here because Perl behaves differently; see also the following/I
891  Capturing subpattern count = 0  Capturing subpattern count = 0
892  No options  No options
893  First char = 'T'  First char = 'T'
# Line 864  Max back reference = 1 Line 899  Max back reference = 1
899  Options: anchored  Options: anchored
900  No first char  No first char
901  No need char  No need char
902        aaaa
903    No match
904      aaaaaa      aaaaaa
905   0: aaaaaa  No match
906   1: aa  
907    /Perl does not fail these two for the final subjects. Neither did PCRE until/
908    /release 8.01. The problem is in backtracking into a subpattern that contains/
909    No match
910    /a recursive reference to itself. PCRE has now made these into atomic patterns./
911    No match
912    
913    /^(xa|=?\1a){2}$/
914        xa=xaa
915     0: xa=xaa
916     1: =xaa
917        ** Failers
918    No match
919        xa=xaaa
920    No match
921    
922    /^(xa|=?\1a)+$/
923        xa=xaa
924     0: xa=xaa
925     1: =xaa
926        ** Failers
927    No match
928        xa=xaaa
929    No match
930    
931  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
932  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 944  Failed: missing ) at offset 4 Line 1004  Failed: missing ) at offset 4
1004  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
1005    
1006  /a(?{)b/  /a(?{)b/
1007  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1008    
1009  /a(?{{})b/  /a(?{{})b/
1010  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1011    
1012  /a(?{}})b/  /a(?{}})b/
1013  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1014    
1015  /a(?{"{"})b/  /a(?{"{"})b/
1016  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1017    
1018  /a(?{"{"}})b/  /a(?{"{"}})b/
1019  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1020    
1021  /(?(1?)a|b)/  /(?(1?)a|b)/
1022  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
1023    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
1024  /[a[:xyz:/  /[a[:xyz:/
1025  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
1026    
# Line 1004  copy substring 5 failed -7 Line 1061  copy substring 5 failed -7
1061    
1062  /(.{20})/I  /(.{20})/I
1063  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1064  No options  No options
1065  No first char  No first char
1066  No need char  No need char
# Line 1022  No need char Line 1078  No need char
1078    
1079  /(.{15})/I  /(.{15})/I
1080  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1081  No options  No options
1082  No first char  No first char
1083  No need char  No need char
# Line 1037  No need char Line 1092  No need char
1092    
1093  /(.{16})/I  /(.{16})/I
1094  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1095  No options  No options
1096  No first char  No first char
1097  No need char  No need char
# Line 1104  No need char Line 1158  No need char
1158  )((?:[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]+
1159  )?)?)?)?)?)?)?)?)?otherword/I  )?)?)?)?)?)?)?)?)?otherword/I
1160  Capturing subpattern count = 8  Capturing subpattern count = 8
1161  Partial matching not supported  Contains explicit CR or LF match
1162  No options  No options
1163  First char = 'w'  First char = 'w'
1164  Need char = 'd'  Need char = 'd'
1165    
1166  /.*X/IDZ  /.*X/IDZ
1167  ------------------------------------------------------------------  ------------------------------------------------------------------
1168          Bra 0          Bra
1169          Any*          Any*
1170          X          X
1171          Ket          Ket
1172          End          End
1173  ------------------------------------------------------------------  ------------------------------------------------------------------
1174  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1175  No options  No options
1176  First char at start or follows newline  First char at start or follows newline
1177  Need char = 'X'  Need char = 'X'
1178    
1179  /.*X/IDZs  /.*X/IDZs
1180  ------------------------------------------------------------------  ------------------------------------------------------------------
1181          Bra 0          Bra
1182          Any*          AllAny*
1183          X          X
1184          Ket          Ket
1185          End          End
1186  ------------------------------------------------------------------  ------------------------------------------------------------------
1187  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1188  Options: anchored dotall  Options: anchored dotall
1189  No first char  No first char
1190  Need char = 'X'  Need char = 'X'
1191    
1192  /(.*X|^B)/IDZ  /(.*X|^B)/IDZ
1193  ------------------------------------------------------------------  ------------------------------------------------------------------
1194          Bra 0          Bra
1195          Bra 1          CBra 1
1196          Any*          Any*
1197          X          X
1198          Alt          Alt
# Line 1151  Need char = 'X' Line 1203  Need char = 'X'
1203          End          End
1204  ------------------------------------------------------------------  ------------------------------------------------------------------
1205  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1206  No options  No options
1207  First char at start or follows newline  First char at start or follows newline
1208  No need char  No need char
1209    
1210  /(.*X|^B)/IDZs  /(.*X|^B)/IDZs
1211  ------------------------------------------------------------------  ------------------------------------------------------------------
1212          Bra 0          Bra
1213          Bra 1          CBra 1
1214          Any*          AllAny*
1215          X          X
1216          Alt          Alt
1217          ^          ^
# Line 1170  No need char Line 1221  No need char
1221          End          End
1222  ------------------------------------------------------------------  ------------------------------------------------------------------
1223  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1224  Options: anchored dotall  Options: anchored dotall
1225  No first char  No first char
1226  No need char  No need char
1227    
1228  /(?s)(.*X|^B)/IDZ  /(?s)(.*X|^B)/IDZ
1229  ------------------------------------------------------------------  ------------------------------------------------------------------
1230          Bra 0          Bra
1231          Bra 1          CBra 1
1232          Any*          AllAny*
1233          X          X
1234          Alt          Alt
1235          ^          ^
# Line 1189  No need char Line 1239  No need char
1239          End          End
1240  ------------------------------------------------------------------  ------------------------------------------------------------------
1241  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1242  Options: anchored dotall  Options: anchored dotall
1243  No first char  No first char
1244  No need char  No need char
1245    
1246  /(?s:.*X|^B)/IDZ  /(?s:.*X|^B)/IDZ
1247  ------------------------------------------------------------------  ------------------------------------------------------------------
1248          Bra 0          Bra
1249          Bra 0          Bra
1250       04 Opt       04 Opt
1251          Any*          AllAny*
1252          X          X
1253          Alt          Alt
1254       04 Opt       04 Opt
# Line 1211  No need char Line 1260  No need char
1260          End          End
1261  ------------------------------------------------------------------  ------------------------------------------------------------------
1262  Capturing subpattern count = 0  Capturing subpattern count = 0
1263  Partial matching not supported  Options: anchored
1264  No options  No first char
 First char at start or follows newline  
1265  No need char  No need char
1266    
1267  /\Biss\B/I+  /\Biss\B/I+
# Line 1296  No need char Line 1344  No need char
1344    
1345  /.*iss/Ig+  /.*iss/Ig+
1346  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1347  No options  No options
1348  First char at start or follows newline  First char at start or follows newline
1349  Need char = 's'  Need char = 's'
# Line 1347  No need char Line 1394  No need char
1394    
1395  /^ab\n/Ig+  /^ab\n/Ig+
1396  Capturing subpattern count = 0  Capturing subpattern count = 0
1397    Contains explicit CR or LF match
1398  Options: anchored  Options: anchored
1399  No first char  No first char
1400  No need char  No need char
# Line 1356  No need char Line 1404  No need char
1404    
1405  /^ab\n/Img+  /^ab\n/Img+
1406  Capturing subpattern count = 0  Capturing subpattern count = 0
1407    Contains explicit CR or LF match
1408  Options: multiline  Options: multiline
1409  First char at start or follows newline  First char at start or follows newline
1410  Need char = 10  Need char = 10
# Line 1397  Need char = 'c' Line 1446  Need char = 'c'
1446    
1447  /a*/I  /a*/I
1448  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1449  No options  No options
1450  No first char  No first char
1451  No need char  No need char
1452    
1453  /a+/I  /a+/I
1454  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1455  No options  No options
1456  First char = 'a'  First char = 'a'
1457  No need char  No need char
1458    
1459  /(baa|a+)/I  /(baa|a+)/I
1460  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1461  No options  No options
1462  No first char  No first char
1463  Need char = 'a'  Need char = 'a'
1464    
1465  /a{0,3}/I  /a{0,3}/I
1466  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1467  No options  No options
1468  No first char  No first char
1469  No need char  No need char
1470    
1471  /baa{3,}/I  /baa{3,}/I
1472  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1473  No options  No options
1474  First char = 'b'  First char = 'b'
1475  Need char = 'a'  Need char = 'a'
1476    
1477  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1478  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1479  No options  No options
1480  First char = '"'  First char = '"'
1481  Need char = '"'  Need char = '"'
# Line 1487  Need char = 'b' Line 1530  Need char = 'b'
1530    
1531  /abc*/I  /abc*/I
1532  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1533  No options  No options
1534  First char = 'a'  First char = 'a'
1535  Need char = 'b'  Need char = 'b'
1536    
1537  /ab.c*/I  /ab.c*/I
1538  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1539  No options  No options
1540  First char = 'a'  First char = 'a'
1541  Need char = 'b'  Need char = 'b'
1542    
1543  /a.c*/I  /a.c*/I
1544  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1545  No options  No options
1546  First char = 'a'  First char = 'a'
1547  No need char  No need char
1548    
1549  /.c*/I  /.c*/I
1550  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1551  No options  No options
1552  No first char  No first char
1553  No need char  No need char
1554    
1555  /ac*/I  /ac*/I
1556  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1557  No options  No options
1558  First char = 'a'  First char = 'a'
1559  No need char  No need char
1560    
1561  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1562  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1563  No options  No options
1564  No first char  No first char
1565  No need char  No need char
1566    
1567  /a.c*|aba/I  /a.c*|aba/I
1568  Capturing subpattern count = 0  Capturing subpattern count = 0
 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  /.+a/I  /.+a/I
1574  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1575  No options  No options
1576  No first char  No first char
1577  Need char = 'a'  Need char = 'a'
1578    
1579  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1580  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1581  No options  No options
1582  First char = 'a'  First char = 'a'
1583  Need char = 'a'  Need char = 'a'
1584    
1585  /(?=a)a.*/I  /(?=a)a.*/I
1586  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1587  No options  No options
1588  First char = 'a'  First char = 'a'
1589  No need char  No need char
# Line 1563  No need char Line 1596  No need char
1596    
1597  /a\d*/I  /a\d*/I
1598  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1599  No options  No options
1600  First char = 'a'  First char = 'a'
1601  No need char  No need char
1602    
1603  /ab\d*/I  /ab\d*/I
1604  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1605  No options  No options
1606  First char = 'a'  First char = 'a'
1607  Need char = 'b'  Need char = 'b'
# Line 1589  Need char = 'd' Line 1620  Need char = 'd'
1620    
1621  /ab\d+/I  /ab\d+/I
1622  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1623  No options  No options
1624  First char = 'a'  First char = 'a'
1625  Need char = 'b'  Need char = 'b'
1626    
1627  /a(?(1)b)/I  /a(?(1)b)(.)/I
1628  Capturing subpattern count = 0  Capturing subpattern count = 1
1629  No options  No options
1630  First char = 'a'  First char = 'a'
1631  No need char  No need char
1632    
1633  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1634  Capturing subpattern count = 0  Capturing subpattern count = 1
1635  No options  No options
1636  First char = 'a'  First char = 'a'
1637  Need char = 'g'  Need char = 'g'
1638    
1639  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1640  Capturing subpattern count = 0  Capturing subpattern count = 1
1641  No options  No options
1642  First char = 'a'  First char = 'a'
1643  No need char  No need char
1644    
1645  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1646  Capturing subpattern count = 0  Capturing subpattern count = 1
1647  No options  No options
1648  First char = 'a'  First char = 'a'
1649  Need char = 'g'  Need char = 'g'
1650    
1651  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1652  Capturing subpattern count = 0  Capturing subpattern count = 1
1653  No options  No options
1654  First char = 'a'  First char = 'a'
1655  Need char = 'b'  Need char = 'b'
# Line 1664  No need char Line 1694  No need char
1694      \Nabc      \Nabc
1695  No match  No match
1696    
1697  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/P
1698      aaaabbbbzzzz      aaaabbbbzzzz
1699   0: aaaabbbbzz   0: aaaabbbbzz
1700   1: bbbb   1: bbbb
# Line 1696  Capturing subpattern count = 0 Line 1726  Capturing subpattern count = 0
1726  Options: anchored  Options: anchored
1727  No first char  No first char
1728  Need char = 'd'  Need char = 'd'
1729  Study returned NULL  Subject length lower bound = 4
1730    No set of starting bytes
1731    
1732  /\(             # ( at start  /\(             # ( at start
1733    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1707  Study returned NULL Line 1738  Study returned NULL
1738    \)            # Closing )    \)            # Closing )
1739    /Ix    /Ix
1740  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1741  Options: extended  Options: extended
1742  First char = '('  First char = '('
1743  Need char = ')'  Need char = ')'
# Line 1736  No match Line 1766  No match
1766    
1767  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1768  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1769  Options: extended  Options: extended
1770  First char = '('  First char = '('
1771  Need char = ')'  Need char = ')'
# Line 1751  Need char = ')' Line 1780  Need char = ')'
1780    
1781  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1782  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1783  Options: extended  Options: extended
1784  First char = '('  First char = '('
1785  Need char = ')'  Need char = ')'
# Line 1770  No match Line 1798  No match
1798    
1799  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1800  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1801  Options: extended  Options: extended
1802  First char = '('  First char = '('
1803  Need char = ')'  Need char = ')'
# Line 1781  Need char = ')' Line 1808  Need char = ')'
1808    
1809  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1810  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1811  Options: extended  Options: extended
1812  First char = '('  First char = '('
1813  Need char = ')'  Need char = ')'
# Line 1791  Need char = ')' Line 1817  Need char = ')'
1817    
1818  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1819  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1820  Options: extended  Options: extended
1821  First char = '('  First char = '('
1822  Need char = ')'  Need char = ')'
# Line 1802  Need char = ')' Line 1827  Need char = ')'
1827    
1828  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1829  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1830  Options: extended  Options: extended
1831  First char = '('  First char = '('
1832  Need char = ')'  Need char = ')'
# Line 1819  Need char = ')' Line 1843  Need char = ')'
1843    
1844  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1845  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1846  Options: extended  Options: extended
1847  First char = '('  First char = '('
1848  Need char = ')'  Need char = ')'
# Line 1836  Need char = ')' Line 1859  Need char = ')'
1859    
1860  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1861  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1862  Options: extended  Options: extended
1863  First char = '('  First char = '('
1864  Need char = ')'  Need char = ')'
# Line 1856  Need char = ')' Line 1878  Need char = ')'
1878    
1879  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1880  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1881  Options: extended  Options: extended
1882  First char = '('  First char = '('
1883  Need char = ')'  Need char = ')'
# Line 1864  Need char = ')' Line 1885  Need char = ')'
1885   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1886   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1887   2: 123   2: 123
  3: <unset>  
1888    
1889  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1890  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1891  Options: extended  Options: extended
1892  First char = '('  First char = '('
1893  Need char = ')'  Need char = ')'
# Line 1885  Need char = ')' Line 1904  Need char = ')'
1904    
1905  /^[[:alnum:]]/DZ  /^[[:alnum:]]/DZ
1906  ------------------------------------------------------------------  ------------------------------------------------------------------
1907          Bra 0          Bra
1908          ^          ^
1909          [0-9A-Za-z]          [0-9A-Za-z]
1910          Ket          Ket
# Line 1898  No need char Line 1917  No need char
1917    
1918  /^[[:^alnum:]]/DZ  /^[[:^alnum:]]/DZ
1919  ------------------------------------------------------------------  ------------------------------------------------------------------
1920          Bra 0          Bra
1921          ^          ^
1922          [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1923          Ket          Ket
1924          End          End
1925  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1911  No need char Line 1930  No need char
1930    
1931  /^[[:alpha:]]/DZ  /^[[:alpha:]]/DZ
1932  ------------------------------------------------------------------  ------------------------------------------------------------------
1933          Bra 0          Bra
1934          ^          ^
1935          [A-Za-z]          [A-Za-z]
1936          Ket          Ket
# Line 1924  No need char Line 1943  No need char
1943    
1944  /^[[:^alpha:]]/DZ  /^[[:^alpha:]]/DZ
1945  ------------------------------------------------------------------  ------------------------------------------------------------------
1946          Bra 0          Bra
1947          ^          ^
1948          [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1949          Ket          Ket
1950          End          End
1951  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1940  Capturing subpattern count = 0 Line 1959  Capturing subpattern count = 0
1959  No options  No options
1960  No first char  No first char
1961  No need char  No need char
1962    Subject length lower bound = 1
1963  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  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
1964    _ 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    _ 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
1965    
1966  /^[[:ascii:]]/DZ  /^[[:ascii:]]/DZ
1967  ------------------------------------------------------------------  ------------------------------------------------------------------
1968          Bra 0          Bra
1969          ^          ^
1970          [\x00-\x7f]          [\x00-\x7f]
1971          Ket          Ket
# Line 1958  No need char Line 1978  No need char
1978    
1979  /^[[:^ascii:]]/DZ  /^[[:^ascii:]]/DZ
1980  ------------------------------------------------------------------  ------------------------------------------------------------------
1981          Bra 0          Bra
1982          ^          ^
1983          [\x80-\xff]          [\x80-\xff] (neg)
1984          Ket          Ket
1985          End          End
1986  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1971  No need char Line 1991  No need char
1991    
1992  /^[[:blank:]]/DZ  /^[[:blank:]]/DZ
1993  ------------------------------------------------------------------  ------------------------------------------------------------------
1994          Bra 0          Bra
1995          ^          ^
1996          [\x09 ]          [\x09 ]
1997          Ket          Ket
# Line 1984  No need char Line 2004  No need char
2004    
2005  /^[[:^blank:]]/DZ  /^[[:^blank:]]/DZ
2006  ------------------------------------------------------------------  ------------------------------------------------------------------
2007          Bra 0          Bra
2008          ^          ^
2009          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2010          Ket          Ket
2011          End          End
2012  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1997  No need char Line 2017  No need char
2017    
2018  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
2019  Capturing subpattern count = 0  Capturing subpattern count = 0
2020    Contains explicit CR or LF match
2021  No options  No options
2022  No first char  No first char
2023  No need char  No need char
2024    Subject length lower bound = 1
2025  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2026    
2027  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
2028  ------------------------------------------------------------------  ------------------------------------------------------------------
2029          Bra 0          Bra
2030          ^          ^
2031          [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
2032          Ket          Ket
# Line 2017  No need char Line 2039  No need char
2039    
2040  /^[[:digit:]]/DZ  /^[[:digit:]]/DZ
2041  ------------------------------------------------------------------  ------------------------------------------------------------------
2042          Bra 0          Bra
2043          ^          ^
2044          [0-9]          [0-9]
2045          Ket          Ket
# Line 2030  No need char Line 2052  No need char
2052    
2053  /^[[:graph:]]/DZ  /^[[:graph:]]/DZ
2054  ------------------------------------------------------------------  ------------------------------------------------------------------
2055          Bra 0          Bra
2056          ^          ^
2057          [!-~]          [!-~]
2058          Ket          Ket
# Line 2043  No need char Line 2065  No need char
2065    
2066  /^[[:lower:]]/DZ  /^[[:lower:]]/DZ
2067  ------------------------------------------------------------------  ------------------------------------------------------------------
2068          Bra 0          Bra
2069          ^          ^
2070          [a-z]          [a-z]
2071          Ket          Ket
# Line 2056  No need char Line 2078  No need char
2078    
2079  /^[[:print:]]/DZ  /^[[:print:]]/DZ
2080  ------------------------------------------------------------------  ------------------------------------------------------------------
2081          Bra 0          Bra
2082          ^          ^
2083          [ -~]          [ -~]
2084          Ket          Ket
# Line 2069  No need char Line 2091  No need char
2091    
2092  /^[[:punct:]]/DZ  /^[[:punct:]]/DZ
2093  ------------------------------------------------------------------  ------------------------------------------------------------------
2094          Bra 0          Bra
2095          ^          ^
2096          [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2097          Ket          Ket
# Line 2082  No need char Line 2104  No need char
2104    
2105  /^[[:space:]]/DZ  /^[[:space:]]/DZ
2106  ------------------------------------------------------------------  ------------------------------------------------------------------
2107          Bra 0          Bra
2108          ^          ^
2109          [\x09-\x0d ]          [\x09-\x0d ]
2110          Ket          Ket
# Line 2095  No need char Line 2117  No need char
2117    
2118  /^[[:upper:]]/DZ  /^[[:upper:]]/DZ
2119  ------------------------------------------------------------------  ------------------------------------------------------------------
2120          Bra 0          Bra
2121          ^          ^
2122          [A-Z]          [A-Z]
2123          Ket          Ket
# Line 2108  No need char Line 2130  No need char
2130    
2131  /^[[:xdigit:]]/DZ  /^[[:xdigit:]]/DZ
2132  ------------------------------------------------------------------  ------------------------------------------------------------------
2133          Bra 0          Bra
2134          ^          ^
2135          [0-9A-Fa-f]          [0-9A-Fa-f]
2136          Ket          Ket
# Line 2121  No need char Line 2143  No need char
2143    
2144  /^[[:word:]]/DZ  /^[[:word:]]/DZ
2145  ------------------------------------------------------------------  ------------------------------------------------------------------
2146          Bra 0          Bra
2147          ^          ^
2148          [0-9A-Z_a-z]          [0-9A-Z_a-z]
2149          Ket          Ket
# Line 2134  No need char Line 2156  No need char
2156    
2157  /^[[:^cntrl:]]/DZ  /^[[:^cntrl:]]/DZ
2158  ------------------------------------------------------------------  ------------------------------------------------------------------
2159          Bra 0          Bra
2160          ^          ^
2161          [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2162          Ket          Ket
2163          End          End
2164  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2147  No need char Line 2169  No need char
2169    
2170  /^[12[:^digit:]]/DZ  /^[12[:^digit:]]/DZ
2171  ------------------------------------------------------------------  ------------------------------------------------------------------
2172          Bra 0          Bra
2173          ^          ^
2174          [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2175          Ket          Ket
2176          End          End
2177  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2160  No need char Line 2182  No need char
2182    
2183  /^[[:^blank:]]/DZ  /^[[:^blank:]]/DZ
2184  ------------------------------------------------------------------  ------------------------------------------------------------------
2185          Bra 0          Bra
2186          ^          ^
2187          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2188          Ket          Ket
2189          End          End
2190  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2173  No need char Line 2195  No need char
2195    
2196  /[01[:alpha:]%]/DZ  /[01[:alpha:]%]/DZ
2197  ------------------------------------------------------------------  ------------------------------------------------------------------
2198          Bra 0          Bra
2199          [%01A-Za-z]          [%01A-Za-z]
2200          Ket          Ket
2201          End          End
# Line 2246  Need char = 'd' Line 2268  Need char = 'd'
2268  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
2269  Capturing subpattern count = 271  Capturing subpattern count = 271
2270  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2271  No options  No options
2272  No first char  No first char
2273  No need char  No need char
# Line 2694  Need char = '-' Line 2715  Need char = '-'
2715    
2716  /#/IxDZ  /#/IxDZ
2717  ------------------------------------------------------------------  ------------------------------------------------------------------
2718          Bra 0          Bra
2719          Ket          Ket
2720          End          End
2721  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2705  No need char Line 2726  No need char
2726    
2727  /a#/IxDZ  /a#/IxDZ
2728  ------------------------------------------------------------------  ------------------------------------------------------------------
2729          Bra 0          Bra
2730          a          a
2731          Ket          Ket
2732          End          End
# Line 2717  No need char Line 2738  No need char
2738    
2739  /[\s]/DZ  /[\s]/DZ
2740  ------------------------------------------------------------------  ------------------------------------------------------------------
2741          Bra 0          Bra
2742          [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2743          Ket          Ket
2744          End          End
# Line 2729  No need char Line 2750  No need char
2750    
2751  /[\S]/DZ  /[\S]/DZ
2752  ------------------------------------------------------------------  ------------------------------------------------------------------
2753          Bra 0          Bra
2754          [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2755          Ket          Ket
2756          End          End
2757  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2741  No need char Line 2762  No need char
2762    
2763  /a(?i)b/DZ  /a(?i)b/DZ
2764  ------------------------------------------------------------------  ------------------------------------------------------------------
2765          Bra 0          Bra
2766          a          a
2767       01 Opt       01 Opt
2768       NC b       NC b
# Line 2763  No match Line 2784  No match
2784    
2785  /(a(?i)b)/DZ  /(a(?i)b)/DZ
2786  ------------------------------------------------------------------  ------------------------------------------------------------------
2787          Bra 0          Bra
2788          Bra 1          CBra 1
2789          a          a
2790       01 Opt       01 Opt
2791       NC b       NC b
# Line 2790  No match Line 2811  No match
2811    
2812  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2813  ------------------------------------------------------------------  ------------------------------------------------------------------
2814          Bra 0          Bra
2815       NC abc       NC abc
2816          Ket          Ket
2817          End          End
# Line 2803  Need char = 'c' (caseless) Line 2824  Need char = 'c' (caseless)
2824  /#this is a comment  /#this is a comment
2825    (?i)abc/IxDZ    (?i)abc/IxDZ
2826  ------------------------------------------------------------------  ------------------------------------------------------------------
2827          Bra 0          Bra
2828       NC abc       NC abc
2829          Ket          Ket
2830          End          End
# Line 2815  Need char = 'c' (caseless) Line 2836  Need char = 'c' (caseless)
2836    
2837  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2838  ------------------------------------------------------------------  ------------------------------------------------------------------
2839          Bra 0          Bra
2840          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2841          Ket          Ket
2842          End          End
# Line 2827  Need char = '0' Line 2848  Need char = '0'
2848    
2849  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2850  ------------------------------------------------------------------  ------------------------------------------------------------------
2851          Bra 0          Bra
2852          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2853          Ket          Ket
2854          End          End
# Line 2839  Need char = '0' Line 2860  Need char = '0'
2860    
2861  /\Q\E/DZ  /\Q\E/DZ
2862  ------------------------------------------------------------------  ------------------------------------------------------------------
2863          Bra 0          Bra
2864          Ket          Ket
2865          End          End
2866  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2852  No need char Line 2873  No need char
2873    
2874  /\Q\Ex/DZ  /\Q\Ex/DZ
2875  ------------------------------------------------------------------  ------------------------------------------------------------------
2876          Bra 0          Bra
2877          x          x
2878          Ket          Ket
2879          End          End
# Line 2864  No need char Line 2885  No need char
2885    
2886  / \Q\E/DZ  / \Q\E/DZ
2887  ------------------------------------------------------------------  ------------------------------------------------------------------
2888          Bra 0          Bra
2889    
2890          Ket          Ket
2891          End          End
# Line 2876  No need char Line 2897  No need char
2897    
2898  /a\Q\E/DZ  /a\Q\E/DZ
2899  ------------------------------------------------------------------  ------------------------------------------------------------------
2900          Bra 0          Bra
2901          a          a
2902          Ket          Ket
2903          End          End
# Line 2894  No need char Line 2915  No need char
2915    
2916  /a\Q\Eb/DZ  /a\Q\Eb/DZ
2917  ------------------------------------------------------------------  ------------------------------------------------------------------
2918          Bra 0          Bra
2919          ab          ab
2920          Ket          Ket
2921          End          End
# Line 2908  Need char = 'b' Line 2929  Need char = 'b'
2929    
2930  /\Q\Eabc/DZ  /\Q\Eabc/DZ
2931  ------------------------------------------------------------------  ------------------------------------------------------------------
2932          Bra 0          Bra
2933          abc          abc
2934          Ket          Ket
2935          End          End
# Line 2920  Need char = 'c' Line 2941  Need char = 'c'
2941    
2942  /x*+\w/DZ  /x*+\w/DZ
2943  ------------------------------------------------------------------  ------------------------------------------------------------------
2944          Bra 0          Bra
2945          x*+          x*+
2946          \w          \w
2947          Ket          Ket
2948          End          End
2949  ------------------------------------------------------------------  ------------------------------------------------------------------
2950  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2951  No options  No options
2952  No first char  No first char
2953  No need char  No need char
# Line 2938  No match Line 2958  No match
2958    
2959  /x?+/DZ  /x?+/DZ
2960  ------------------------------------------------------------------  ------------------------------------------------------------------
2961          Bra 0          Bra
2962          x?+          x?+
2963          Ket          Ket
2964          End          End
# Line 2950  No need char Line 2970  No need char
2970    
2971  /x++/DZ  /x++/DZ
2972  ------------------------------------------------------------------  ------------------------------------------------------------------
2973          Bra 0          Bra
2974          x++          x++
2975          Ket          Ket
2976          End          End
2977  ------------------------------------------------------------------  ------------------------------------------------------------------
2978  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2979  No options  No options
2980  First char = 'x'  First char = 'x'
2981  No need char  No need char
2982    
2983  /x{1,3}+/DZ  /x{1,3}+/DZ
2984  ------------------------------------------------------------------  ------------------------------------------------------------------
2985          Bra 0          Bra
2986          Once          Once
2987          x          x
2988          x{0,2}          x{0,2}
# Line 2972  No need char Line 2991  No need char
2991          End          End
2992  ------------------------------------------------------------------  ------------------------------------------------------------------
2993  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2994  No options  No options
2995  First char = 'x'  First char = 'x'
2996  No need char  No need char
2997    
2998  /(x)*+/DZ  /(x)*+/DZ
2999  ------------------------------------------------------------------  ------------------------------------------------------------------
3000          Bra 0          Bra
3001          Once          Once
3002          Brazero          Brazero
3003          Bra 1          CBra 1
3004          x          x
3005          KetRmax          KetRmax
3006          Ket          Ket
# Line 2996  No need char Line 3014  No need char
3014    
3015  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
3016  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3017  Options: anchored  Options: anchored
3018  No first char  No first char
3019  No need char  No need char
# Line 3010  No match Line 3027  No match
3027    
3028  /(\d++)(\w)/I  /(\d++)(\w)/I
3029  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3030  No options  No options
3031  No first char  No first char
3032  No need char  No need char
# Line 3025  No match Line 3041  No match
3041    
3042  /a++b/I  /a++b/I
3043  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3044  No options  No options
3045  First char = 'a'  First char = 'a'
3046  Need char = 'b'  Need char = 'b'
# Line 3034  Need char = 'b' Line 3049  Need char = 'b'
3049    
3050  /(a++b)/I  /(a++b)/I
3051  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3052  No options  No options
3053  First char = 'a'  First char = 'a'
3054  Need char = 'b'  Need char = 'b'
# Line 3044  Need char = 'b' Line 3058  Need char = 'b'
3058    
3059  /(a++)b/I  /(a++)b/I
3060  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3061  No options  No options
3062  First char = 'a'  First char = 'a'
3063  Need char = 'b'  Need char = 'b'
# Line 3054  Need char = 'b' Line 3067  Need char = 'b'
3067    
3068  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
3069  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3070  No options  No options
3071  No first char  No first char
3072  No need char  No need char
# Line 3064  No need char Line 3076  No need char
3076    
3077  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3078  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3079  No options  No options
3080  First char = '('  First char = '('
3081  Need char = ')'  Need char = ')'
# Line 3081  No match Line 3092  No match
3092    
3093  /(abc){1,3}+/DZ  /(abc){1,3}+/DZ
3094  ------------------------------------------------------------------  ------------------------------------------------------------------
3095          Bra 0          Bra
3096          Once          Once
3097          Bra 1          CBra 1
3098          abc          abc
3099          Ket          Ket
3100          Brazero          Brazero
3101          Bra 0          Bra
3102          Bra 1          CBra 1
3103          abc          abc
3104          Ket          Ket
3105          Brazero          Brazero
3106          Bra 1          CBra 1
3107          abc          abc
3108          Ket          Ket
3109          Ket          Ket
# Line 3119  Failed: nothing to repeat at offset 7 Line 3130  Failed: nothing to repeat at offset 7
3130    
3131  /x(?U)a++b/DZ  /x(?U)a++b/DZ
3132  ------------------------------------------------------------------  ------------------------------------------------------------------
3133          Bra 0          Bra
3134          x          x
3135          a++          a++
3136          b          b
# Line 3127  Failed: nothing to repeat at offset 7 Line 3138  Failed: nothing to repeat at offset 7
3138          End          End
3139  ------------------------------------------------------------------  ------------------------------------------------------------------
3140  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3141  No options  No options
3142  First char = 'x'  First char = 'x'
3143  Need char = 'b'  Need char = 'b'
# Line 3136  Need char = 'b' Line 3146  Need char = 'b'
3146    
3147  /(?U)xa++b/DZ  /(?U)xa++b/DZ
3148  ------------------------------------------------------------------  ------------------------------------------------------------------
3149          Bra 0          Bra
3150          x          x
3151          a++          a++
3152          b          b
# Line 3144  Need char = 'b' Line 3154  Need char = 'b'
3154          End          End
3155  ------------------------------------------------------------------  ------------------------------------------------------------------
3156  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3157  Options: ungreedy  Options: ungreedy
3158  First char = 'x'  First char = 'x'
3159  Need char = 'b'  Need char = 'b'
# Line 3153  Need char = 'b' Line 3162  Need char = 'b'
3162    
3163  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3164  ------------------------------------------------------------------  ------------------------------------------------------------------
3165          Bra 0          Bra
3166          ^          ^
3167          Bra 1          CBra 1
3168          Bra 2          CBra 2
3169          a+          a+
3170          Ket          Ket
3171          Bra 3          CBra 3
3172          [ab]+?          [ab]+?
3173          Ket          Ket
3174          Bra 4          CBra 4
3175          [bc]+          [bc]+
3176          Ket          Ket
3177          Bra 5          CBra 5
3178          \w*          \w*
3179          Ket          Ket
3180          Ket          Ket
# Line 3173  Need char = 'b' Line 3182  Need char = 'b'
3182          End          End
3183  ------------------------------------------------------------------  ------------------------------------------------------------------
3184  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3185  Options: anchored  Options: anchored
3186  No first char  No first char
3187  No need char  No need char
3188    
3189  /^x(?U)a+b/DZ  /^x(?U)a+b/DZ
3190  ------------------------------------------------------------------  ------------------------------------------------------------------
3191          Bra 0          Bra
3192          ^          ^
3193          x          x
3194          a++          a++
# Line 3189  No need char Line 3197  No need char
3197          End          End
3198  ------------------------------------------------------------------  ------------------------------------------------------------------
3199  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3200  Options: anchored  Options: anchored
3201  No first char  No first char
3202  Need char = 'b'  Need char = 'b'
3203    
3204  /^x(?U)(a+)b/DZ  /^x(?U)(a+)b/DZ
3205  ------------------------------------------------------------------  ------------------------------------------------------------------
3206          Bra 0          Bra
3207          ^          ^
3208          x          x
3209          Bra 1          CBra 1
3210          a+?          a+?
3211          Ket          Ket
3212          b          b
# Line 3207  Need char = 'b' Line 3214  Need char = 'b'
3214          End          End
3215  ------------------------------------------------------------------  ------------------------------------------------------------------
3216  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3217  Options: anchored  Options: anchored
3218  No first char  No first char
3219  Need char = 'b'  Need char = 'b'
# Line 3222  Failed: POSIX collating elements are not Line 3228  Failed: POSIX collating elements are not
3228  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
3229    
3230  /\l/I  /\l/I
3231  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3232    
3233  /\L/I  /\L/I
3234  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3235    
3236  /\N{name}/I  /\N{name}/I
3237  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3238    
3239  /\u/I  /\u/I
3240  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3241    
3242  /\U/I  /\U/I
3243  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3244    
3245  /[/I  /[/I
3246  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3247  Failed: missing terminating ] for charac Line 3253  Failed: missing terminating ] for charac
3253    
3254  /[\s]/IDZ  /[\s]/IDZ
3255  ------------------------------------------------------------------  ------------------------------------------------------------------
3256          Bra 0          Bra
3257          [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3258          Ket          Ket
3259          End          End
# Line 3259  No need char Line 3265  No need char
3265    
3266  /[[:space:]]/IDZ  /[[:space:]]/IDZ
3267  ------------------------------------------------------------------  ------------------------------------------------------------------
3268          Bra 0          Bra
3269          [\x09-\x0d ]          [\x09-\x0d ]
3270          Ket          Ket
3271          End          End
# Line 3271  No need char Line 3277  No need char
3277    
3278  /[[:space:]abcde]/IDZ  /[[:space:]abcde]/IDZ
3279  ------------------------------------------------------------------  ------------------------------------------------------------------
3280          Bra 0          Bra
3281          [\x09-\x0d a-e]          [\x09-\x0d a-e]
3282          Ket          Ket
3283          End          End
# Line 3283  No need char Line 3289  No need char
3289    
3290  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3291  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3292  Options: extended  Options: extended
3293  First char = '<'  First char = '<'
3294  Need char = '>'  Need char = '>'
# Line 3306  No match Line 3311  No match
3311    
3312  |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|IDZ  |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|IDZ
3313  ------------------------------------------------------------------  ------------------------------------------------------------------
3314          Bra 0          Bra
3315          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          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
3316          \b          \b
3317          Ket          Ket
# Line 3319  Need char = 'X' Line 3324  Need char = 'X'
3324    
3325  |\$\<\.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|IDZ  |\$\<\.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|IDZ
3326  ------------------------------------------------------------------  ------------------------------------------------------------------
3327          Bra 0          Bra
3328          $<.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          $<.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
3329          \b          \b
3330          Ket          Ket
# Line 3333  Need char = 'X' Line 3338  Need char = 'X'
3338  /(.*)\d+\1/I  /(.*)\d+\1/I
3339  Capturing subpattern count = 1  Capturing subpattern count = 1
3340  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3341  No options  No options
3342  No first char  No first char
3343  No need char  No need char
3344    
3345  /(.*)\d+/I  /(.*)\d+/I
3346  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3347  No options  No options
3348  First char at start or follows newline  First char at start or follows newline
3349  No need char  No need char
# Line 3348  No need char Line 3351  No need char
3351  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3352  Capturing subpattern count = 1  Capturing subpattern count = 1
3353  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3354  Options: dotall  Options: dotall
3355  No first char  No first char
3356  No need char  No need char
3357    
3358  /(.*)\d+/Is  /(.*)\d+/Is
3359  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3360  Options: anchored dotall  Options: anchored dotall
3361  No first char  No first char
3362  No need char  No need char
# Line 3363  No need char Line 3364  No need char
3364  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3365  Capturing subpattern count = 2  Capturing subpattern count = 2
3366  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3367  No options  No options
3368  First char at start or follows newline  First char at start or follows newline
3369  Need char = 'z'  Need char = 'z'
# Line 3371  Need char = 'z' Line 3371  Need char = 'z'
3371  /((.*))\d+\1/I  /((.*))\d+\1/I
3372  Capturing subpattern count = 2  Capturing subpattern count = 2
3373  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3374  No options  No options
3375  No first char  No first char
3376  No need char  No need char
# Line 3388  Need char = 'b' Line 3387  Need char = 'b'
3387    
3388  /(?=a).*/I  /(?=a).*/I
3389  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3390  No options  No options
3391  First char = 'a'  First char = 'a'
3392  No need char  No need char
# Line 3435  No options Line 3433  No options
3433  No first char  No first char
3434  Need char = 'a'  Need char = 'a'
3435    
3436  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3437  Capturing subpattern count = 0  Capturing subpattern count = 1
3438  No options  No options
3439  First char = 'a'  First char = 'a'
3440  No need char  No need char
3441    
3442  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3443  Capturing subpattern count = 0  Capturing subpattern count = 1
3444  No options  No options
3445  First char = 'a'  First char = 'a'
3446  Need char = 'z'  Need char = 'z'
3447    
3448  /(?(1)abz)/I  /(?(1)abz)(.)/I
3449  Capturing subpattern count = 0  Capturing subpattern count = 1
3450  No options  No options
3451  No first char  No first char
3452  No need char  No need char
3453    
3454  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3455  Capturing subpattern count = 0  Capturing subpattern count = 1
3456  No options  No options
3457  No first char  No first char
3458  Need char = '3'  Need char = '3'
# Line 3494  Capturing subpattern count = 0 Line 3492  Capturing subpattern count = 0
3492  No options  No options
3493  No first char  No first char
3494  No need char  No need char
3495    Subject length lower bound = 1
3496  Starting byte set: a b  Starting byte set: a b
3497    
3498  /[^a]/I  /[^a]/I
# Line 3513  Capturing subpattern count = 0 Line 3512  Capturing subpattern count = 0
3512  No options  No options
3513  No first char  No first char
3514  Need char = '6'  Need char = '6'
3515    Subject length lower bound = 4
3516  Starting byte set: 0 1 2 3 4 5 6 7 8 9  Starting byte set: 0 1 2 3 4 5 6 7 8 9
3517    
3518  /a^b/I  /a^b/I
# Line 3546  Capturing subpattern count = 0 Line 3546  Capturing subpattern count = 0
3546  Options: caseless  Options: caseless
3547  No first char  No first char
3548  No need char  No need char
3549    Subject length lower bound = 1
3550  Starting byte set: A B a b  Starting byte set: A B a b
3551    
3552  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3553  Capturing subpattern count = 0 Line 3554  Capturing subpattern count = 0
3554  No options  No options
3555  No first char  No first char
3556  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3557    Subject length lower bound = 3
3558  Starting byte set: a b  Starting byte set: a b
3559    
3560  /abc(?C)def/I  /abc(?C)def/I
# Line 3710  No need char Line 3712  No need char
3712    
3713  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3714  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3715  No options  No options
3716  No first char  No first char
3717  No need char  No need char
# Line 3839  Callout 0: last capture = 1 Line 3840  Callout 0: last capture = 1
3840    
3841  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3842  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3843  No options  No options
3844  First char = 'a'  First char = 'a'
3845  Need char = 'b'  Need char = 'b'
# Line 3865  No match Line 3865  No match
3865    
3866  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3867  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3868  No options  No options
3869  First char = 'a'  First char = 'a'
3870  Need char = 'b'  Need char = 'b'
# Line 3906  Capturing subpattern count = 0 Line 3905  Capturing subpattern count = 0
3905  No options  No options
3906  No first char  No first char
3907  No need char  No need char
3908    Subject length lower bound = 1
3909  Starting byte set: a b  Starting byte set: a b
3910    
3911  /(?R)/I  /(?R)/I
# Line 3991  Need char = '<' Line 3991  Need char = '<'
3991    
3992  /(a(?1)b)/DZ  /(a(?1)b)/DZ
3993  ------------------------------------------------------------------  ------------------------------------------------------------------
3994          Bra 0          Bra
3995          Bra 1          CBra 1
3996          a          a
3997          Once          Once
3998          Recurse          Recurse
# Line 4009  Need char = 'b' Line 4009  Need char = 'b'
4009    
4010  /(a(?1)+b)/DZ  /(a(?1)+b)/DZ
4011  ------------------------------------------------------------------  ------------------------------------------------------------------
4012          Bra 0          Bra
4013          Bra 1          CBra 1
4014          a          a
4015          Once          Once
4016          Recurse          Recurse
# Line 4025  No options Line 4025  No options
4025  First char = 'a'  First char = 'a'
4026  Need char = 'b'  Need char = 'b'
4027    
 /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii  
 Capturing subpattern count = 4  
 Max back reference = 4  
 Partial matching not supported  
 Options: anchored caseless  
 No first char  
 No need char  
     1221  
  0: 1221  
  1: 1221  
  2: 1  
     Satan, oscillate my metallic sonatas!  
  0: Satan, oscillate my metallic sonatas!  
  1: <unset>  
  2: <unset>  
  3: Satan, oscillate my metallic sonatas  
  4: S  
     A man, a plan, a canal: Panama!  
  0: A man, a plan, a canal: Panama!  
  1: <unset>  
  2: <unset>  
  3: A man, a plan, a canal: Panama  
  4: A  
     Able was I ere I saw Elba.  
  0: Able was I ere I saw Elba.  
  1: <unset>  
  2: <unset>  
  3: Able was I ere I saw Elba  
  4: A  
     *** Failers  
 No match  
     The quick brown fox  
 No match  
   
4028  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4029  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4030  Options: anchored  Options: anchored
4031  No first char  No first char
4032  No need char  No need char
# Line 4102  No match Line 4067  No match
4067    
4068  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4069  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4070  Options: extended  Options: extended
4071  First char = '<'  First char = '<'
4072  Need char = '>'  Need char = '>'
# Line 4185  No need char Line 4149  No need char
4149    
4150  /a(?P<name1>b|c)d(?P<longername2>e)/DZ  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4151  ------------------------------------------------------------------  ------------------------------------------------------------------
4152          Bra 0          Bra
4153          a          a
4154          Bra 1          CBra 1
4155          b          b
4156          Alt          Alt
4157          c          c
4158          Ket          Ket
4159          d          d
4160          Bra 2          CBra 2
4161          e          e
4162          Ket          Ket
4163          Ket          Ket
# Line 4217  Need char = 'e' Line 4181  Need char = 'e'
4181    
4182  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4183  ------------------------------------------------------------------  ------------------------------------------------------------------
4184          Bra 0          Bra
4185          Bra 0          Bra
4186          a          a
4187          Bra 1          CBra 1
4188          c          c
4189          Bra 2          CBra 2
4190          d          d
4191          Ket          Ket
4192          Ket          Ket
4193          Ket          Ket
4194          Bra 3          CBra 3
4195          a          a
4196          Ket          Ket
4197          Ket          Ket
# Line 4244  Need char = 'a' Line 4208  Need char = 'a'
4208    
4209  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4210  ------------------------------------------------------------------  ------------------------------------------------------------------
4211          Bra 0          Bra
4212          Bra 1          CBra 1
4213          a          a
4214          Ket          Ket
4215          Any          Any
# Line 4276  Named capturing subpatterns: Line 4240  Named capturing subpatterns:
4240    one     1    one     1
4241    three   3    three   3
4242    two     2    two     2
 Partial matching not supported  
4243  Options: anchored caseless  Options: anchored caseless
4244  No first char  No first char
4245  No need char  No need char
# Line 4322  No need char Line 4285  No need char
4285    
4286  /(.*)a/Is  /(.*)a/Is
4287  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4288  Options: anchored dotall  Options: anchored dotall
4289  No first char  No first char
4290  Need char = 'a'  Need char = 'a'
# Line 4330  Need char = 'a' Line 4292  Need char = 'a'
4292  /(.*)a\1/Is  /(.*)a\1/Is
4293  Capturing subpattern count = 1  Capturing subpattern count = 1
4294  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4295  Options: dotall  Options: dotall
4296  No first char  No first char
4297  Need char = 'a'  Need char = 'a'
# Line 4338  Need char = 'a' Line 4299  Need char = 'a'
4299  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4300  Capturing subpattern count = 2  Capturing subpattern count = 2
4301  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4302  Options: anchored dotall  Options: anchored dotall
4303  No first char  No first char
4304  Need char = 'b'  Need char = 'b'
4305    
4306  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4307  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4308  Options: anchored dotall  Options: anchored dotall
4309  No first char  No first char
4310  Need char = 'z'  Need char = 'z'
# Line 4353  Need char = 'z' Line 4312  Need char = 'z'
4312  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4313  Capturing subpattern count = 3  Capturing subpattern count = 3
4314  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4315  Options: dotall  Options: dotall
4316  No first char  No first char
4317  Need char = 'z'  Need char = 'z'
# Line 4361  Need char = 'z' Line 4319  Need char = 'z'
4319  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4320  Capturing subpattern count = 3  Capturing subpattern count = 3
4321  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4322  Options: dotall  Options: dotall
4323  No first char  No first char
4324  Need char = 'z'  Need char = 'z'
# Line 4369  Need char = 'z' Line 4326  Need char = 'z'
4326  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4327  Capturing subpattern count = 3  Capturing subpattern count = 3
4328  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4329  Options: dotall  Options: dotall
4330  No first char  No first char
4331  Need char = 'z'  Need char = 'z'
# Line 4377  Need char = 'z' Line 4333  Need char = 'z'
4333  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4334  Capturing subpattern count = 3  Capturing subpattern count = 3
4335  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4336  Options: anchored dotall  Options: anchored dotall
4337  No first char  No first char
4338  Need char = 'z'  Need char = 'z'
4339    
4340  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4341  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4342  Options: anchored dotall  Options: anchored dotall
4343  No first char  No first char
4344  No need char  No need char
# Line 4392  No need char Line 4346  No need char
4346  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4347  Capturing subpattern count = 31  Capturing subpattern count = 31
4348  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4349  Options: dotall  Options: dotall
4350  No first char  No first char
4351  No need char  No need char
# Line 4400  No need char Line 4353  No need char
4353  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4354  Capturing subpattern count = 32  Capturing subpattern count = 32
4355  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4356  Options: dotall  Options: dotall
4357  No first char  No first char
4358  No need char  No need char
4359    
4360  /(a)(bc)/INDZ  /(a)(bc)/INDZ
4361  ------------------------------------------------------------------  ------------------------------------------------------------------
4362          Bra 0          Bra
4363          Bra 0          Bra
4364          a          a
4365          Ket          Ket
4366          Bra 0          Bra
4367          bc          bc
4368          Ket          Ket
4369          Ket          Ket
# Line 4426  Need char = 'c' Line 4378  Need char = 'c'
4378    
4379  /(?P<one>a)(bc)/INDZ  /(?P<one>a)(bc)/INDZ
4380  ------------------------------------------------------------------  ------------------------------------------------------------------
4381          Bra 0          Bra
4382          Bra 1          CBra 1
4383          a          a
4384          Ket          Ket
4385          Bra 0          Bra
4386          bc          bc
4387          Ket          Ket
4388          Ket          Ket
# Line 4448  Need char = 'c' Line 4400  Need char = 'c'
4400    
4401  /(a)(?P<named>bc)/INDZ  /(a)(?P<named>bc)/INDZ
4402  ------------------------------------------------------------------  ------------------------------------------------------------------
4403          Bra 0          Bra
4404          Bra 0          Bra
4405          a          a
4406          Ket          Ket
4407          Bra 1          CBra 1
4408          bc          bc
4409          Ket          Ket
4410          Ket          Ket
# Line 4467  Need char = 'c' Line 4419  Need char = 'c'
4419    
4420  /(a+)*zz/I  /(a+)*zz/I
4421  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4422  No options  No options
4423  No first char  No first char
4424  Need char = 'z'  Need char = 'z'
# Line 4541  copy substring three failed -7 Line 4492  copy substring three failed -7
4492    
4493  /(?P<Tes>)(?P<Test>)/DZ  /(?P<Tes>)(?P<Test>)/DZ
4494  ------------------------------------------------------------------  ------------------------------------------------------------------
4495          Bra 0          Bra
4496          Bra 1          CBra 1
4497          Ket          Ket
4498          Bra 2          CBra 2
4499          Ket          Ket
4500          Ket          Ket
4501          End          End
# Line 4559  No need char Line 4510  No need char
4510    
4511  /(?P<Test>)(?P<Tes>)/DZ  /(?P<Test>)(?P<Tes>)/DZ
4512  ------------------------------------------------------------------  ------------------------------------------------------------------
4513          Bra 0          Bra
4514          Bra 1          CBra 1
4515          Ket          Ket
4516          Bra 2          CBra 2
4517          Ket          Ket
4518          Ket          Ket
4519          End          End
# Line 4604  Failed: two named subpatterns have the s Line 4555  Failed: two named subpatterns have the s
4555  Capturing subpattern count = 3  Capturing subpattern count = 3
4556  Named capturing subpatterns:  Named capturing subpatterns:
4557    elem   2    elem   2
 Partial matching not supported  
4558  No options  No options
4559  First char = '['  First char = '['
4560  Need char = ']'  Need char = ']'
# Line 4622  No match Line 4572  No match
4572  Capturing subpattern count = 3  Capturing subpattern count = 3
4573  Named capturing subpatterns:  Named capturing subpatterns:
4574    elem   2    elem   2
 Partial matching not supported  
4575  No options  No options
4576  First char = '['  First char = '['
4577  Need char = ']'  Need char = ']'
# Line 4636  Need char = ']' Line 4585  Need char = ']'
4585    
4586  /(a(b(?2)c))?/DZ  /(a(b(?2)c))?/DZ
4587  ------------------------------------------------------------------  ------------------------------------------------------------------
4588          Bra 0          Bra
4589          Brazero          Brazero
4590          Bra 1          CBra 1
4591          a          a
4592          Bra 2          CBra 2
4593          b          b
4594          Once          Once
4595          Recurse          Recurse
# Line 4658  No need char Line 4607  No need char
4607    
4608  /(a(b(?2)c))*/DZ  /(a(b(?2)c))*/DZ
4609  ------------------------------------------------------------------  ------------------------------------------------------------------
4610          Bra 0          Bra
4611          Brazero          Brazero
4612          Bra 1          CBra 1
4613          a          a
4614          Bra 2          CBra 2
4615          b          b
4616          Once          Once
4617          Recurse          Recurse
# Line 4680  No need char Line 4629  No need char
4629    
4630  /(a(b(?2)c)){0,2}/DZ  /(a(b(?2)c)){0,2}/DZ
4631  ------------------------------------------------------------------  ------------------------------------------------------------------
4632          Bra 0          Bra
4633          Brazero          Brazero
4634          Bra 0          Bra
4635          Bra 1          CBra 1
4636          a          a
4637          Bra 2          CBra 2
4638          b          b
4639          Once          Once
4640          Recurse          Recurse
# Line 4694  No need char Line 4643  No need char
4643          Ket          Ket
4644          Ket          Ket
4645          Brazero          Brazero
4646          Bra 1          CBra 1
4647          a          a
4648          Bra 2          CBra 2
4649          b          b
4650          Once          Once
4651          Recurse          Recurse
# Line 4715  No need char Line 4664  No need char
4664    
4665  /[ab]{1}+/DZ  /[ab]{1}+/DZ
4666  ------------------------------------------------------------------  ------------------------------------------------------------------
4667          Bra 0          Bra
4668          Once          Once
4669          [ab]{1,1}          [ab]{1,1}
4670          Ket          Ket
# Line 4729  No need char Line 4678  No need char
4678    
4679  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4680  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4681  Options: caseless  Options: caseless
4682  No first char  No first char
4683  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4739  Need char = 'g' (caseless) Line 4687  Need char = 'g' (caseless)
4687    
4688  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4689  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4690  Options: caseless  Options: caseless
4691  No first char  No first char
4692  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4693  Study returned NULL  Subject length lower bound = 8
4694    No set of starting bytes
4695       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4696   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4697   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4698    
4699  /a*.*b/ISDZ  /a*.*b/ISDZ
4700  ------------------------------------------------------------------  ------------------------------------------------------------------
4701          Bra 0          Bra
4702          a*          a*
4703          Any*          Any*
4704          b          b
# Line 4758  Study returned NULL Line 4706  Study returned NULL
4706          End          End
4707  ------------------------------------------------------------------  ------------------------------------------------------------------
4708  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4709  No options  No options
4710  No first char  No first char
4711  Need char = 'b'  Need char = 'b'
4712  Study returned NULL  Subject length lower bound = 1
4713    No set of starting bytes
4714    
4715  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4716  ------------------------------------------------------------------  ------------------------------------------------------------------
4717          Bra 0          Bra
4718          Brazero          Brazero
4719          Bra 1          CBra 1
4720          a          a
4721          Alt          Alt
4722          b          b
# Line 4782  Capturing subpattern count = 1 Line 4730  Capturing subpattern count = 1
4730  No options  No options
4731  No first char  No first char
4732  Need char = 'c'  Need char = 'c'
4733  Study returned NULL  Subject length lower bound = 1
4734    No set of starting bytes
4735    
4736  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4737  ------------------------------------------------------------------  ------------------------------------------------------------------
4738          Bra 0          Bra
4739          abc          abc
4740          Callout 255 10 1          Callout 255 10 1
4741          de          de
# Line 4802  Need char = 'f' Line 4751  Need char = 'f'
4751    
4752  /abcde/ICDZ  /abcde/ICDZ
4753  ------------------------------------------------------------------  ------------------------------------------------------------------
4754          Bra 0          Bra
4755          Callout 255 0 1          Callout 255 0 1
4756          a          a
4757          Callout 255 1 1          Callout 255 1 1
# Line 4841  No match Line 4790  No match
4790    
4791  /a*b/ICDZ  /a*b/ICDZ
4792  ------------------------------------------------------------------  ------------------------------------------------------------------
4793          Bra 0          Bra
4794          Callout 255 0 2          Callout 255 0 2
4795          a*+          a*+
4796          Callout 255 2 1          Callout 255 2 1
# Line 4851  No match Line 4800  No match
4800          End          End
4801  ------------------------------------------------------------------  ------------------------------------------------------------------
4802  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4803  Options:  Options:
4804  No first char  No first char
4805  Need char = 'b'  Need char = 'b'
# Line 4886  Need char = 'b' Line 4834  Need char = 'b'
4834    
4835  /a+b/ICDZ  /a+b/ICDZ
4836  ------------------------------------------------------------------  ------------------------------------------------------------------
4837          Bra 0          Bra
4838          Callout 255 0 2          Callout 255 0 2
4839          a++          a++
4840          Callout 255 2 1          Callout 255 2 1
# Line 4896  Need char = 'b' Line 4844  Need char = 'b'
4844          End          End
4845  ------------------------------------------------------------------  ------------------------------------------------------------------
4846  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4847  Options:  Options:
4848  First char = 'a'  First char = 'a'
4849  Need char = 'b'  Need char = 'b'
# Line 4926  No match Line 4873  No match
4873    
4874  /(abc|def)x/ICDZ  /(abc|def)x/ICDZ
4875  ------------------------------------------------------------------  ------------------------------------------------------------------
4876          Bra 0          Bra
4877          Callout 255 0 9          Callout 255 0 9
4878          Bra 1          CBra 1
4879          Callout 255 1 1          Callout 255 1 1
4880          a          a
4881          Callout 255 2 1          Callout 255 2 1
# Line 5080  No need char Line 5027  No need char
5027    
5028  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZ
5029  ------------------------------------------------------------------  ------------------------------------------------------------------
5030          Bra 0          Bra
5031          Callout 255 0 14          Callout 255 0 14
5032          Bra 1          CBra 1
5033          Callout 255 1 4          Callout 255 1 4
5034          [ab]          [ab]
5035          Callout 255 5 1          Callout 255 5 1
# Line 5255  No match Line 5202  No match
5202    
5203  /([ab]{1,4}c|xy){4,5}?123/ICDZ  /([ab]{1,4}c|xy){4,5}?123/ICDZ
5204  ------------------------------------------------------------------  ------------------------------------------------------------------
5205          Bra 0          Bra
5206          Callout 255 0 21          Callout 255 0 21
5207          Bra 1          CBra 1
5208          Callout 255 1 9          Callout 255 1 9
5209          [ab]{1,4}          [ab]{1,4}
5210          Callout 255 10 1          Callout 255 10 1
# Line 5270  No match Line 5217  No match
5217          y          y
5218          Callout 255 14 0          Callout 255 14 0
5219          Ket          Ket
5220          Bra 1          CBra 1
5221          Callout 255 1 9          Callout 255 1 9
5222          [ab]{1,4}          [ab]{1,4}
5223          Callout 255 10 1          Callout 255 10 1
# Line 5283  No match Line 5230  No match
5230          y          y
5231          Callout 255 14 0          Callout 255 14 0
5232          Ket          Ket
5233          Bra 1          CBra 1
5234          Callout 255 1 9          Callout 255 1 9
5235          [ab]{1,4}          [ab]{1,4}
5236          Callout 255 10 1          Callout 255 10 1
# Line 5296  No match Line 5243  No match
5243          y          y
5244          Callout 255 14 0          Callout 255 14 0
5245          Ket          Ket
5246          Bra 1          CBra 1
5247          Callout 255 1 9          Callout 255 1 9
5248          [ab]{1,4}          [ab]{1,4}
5249          Callout 255 10 1          Callout 255 10 1
# Line 5310  No match Line 5257  No match
5257          Callout 255 14 0          Callout 255 14 0
5258          Ket          Ket
5259          Braminzero          Braminzero
5260          Bra 1          CBra 1
5261          Callout 255 1 9          Callout 255 1 9
5262          [ab]{1,4}          [ab]{1,4}
5263          Callout 255 10 1          Callout 255 10 1
# Line 5334  No match Line 5281  No match
5281          End          End
5282  ------------------------------------------------------------------  ------------------------------------------------------------------
5283  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5284  Options:  Options:
5285  No first char  No first char
5286  Need char = '3'  Need char = '3'
# Line 5366  Need char = '3' Line 5312  Need char = '3'
5312    
5313  /\b.*/I  /\b.*/I
5314  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5315  No options  No options
5316  No first char  No first char
5317  No need char  No need char
# Line 5375  No need char Line 5320  No need char
5320    
5321  /\b.*/Is  /\b.*/Is
5322  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5323  Options: dotall  Options: dotall
5324  No first char  No first char
5325  No need char  No need char
# Line 5384  No need char Line 5328  No need char
5328    
5329  /(?!.bcd).*/I  /(?!.bcd).*/I
5330  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5331  No options  No options
5332  No first char  No first char
5333  No need char  No need char
# Line 5397  No options Line 5340  No options
5340  First char = 'a'  First char = 'a'
5341  Need char = 'e'  Need char = 'e'
5342      ab\P      ab\P
5343  Partial match  Partial match: ab
5344      abc\P      abc\P
5345  Partial match  Partial match: abc
5346      abcd\P      abcd\P
5347  Partial match  Partial match: abcd
5348      abcde\P      abcde\P
5349   0: abcde   0: abcde
5350      the quick brown abc\P      the quick brown abc\P
5351  Partial match  Partial match: abc
5352      ** Failers\P      ** Failers\P
5353  No match  No match
5354      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5430  Need char = '/' Line 5373  Need char = '/'
5373   1: 02   1: 02
5374   2: 05   2: 05
5375      1\P      1\P
5376  Partial match  Partial match: 1
5377      1/2\P      1/2\P
5378  Partial match  Partial match: 1/2
5379      1/2/0\P      1/2/0\P
5380  Partial match  Partial match: 1/2/0
5381      1/2/04\P      1/2/04\P
5382   0: 1/2/04   0: 1/2/04
5383   1: 1   1: 1
5384   2: 2   2: 2
5385      0\P      0\P
5386  Partial match  Partial match: 0
5387      02/\P      02/\P
5388  Partial match  Partial match: 02/
5389      02/0\P      02/0\P
5390  Partial match  Partial match: 02/0
5391      02/1\P      02/1\P
5392  Partial match  Partial match: 02/1
5393      ** Failers\P      ** Failers\P
5394  No match  No match
5395      \P      \P
# Line 5468  No match Line 5411  No match
5411    
5412  /0{0,2}ABC/I  /0{0,2}ABC/I
5413  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5414  No options  No options
5415  No first char  No first char
5416  Need char = 'C'  Need char = 'C'
5417    
5418  /\d{3,}ABC/I  /\d{3,}ABC/I
5419  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5420  No options  No options
5421  No first char  No first char
5422  Need char = 'C'  Need char = 'C'
5423    
5424  /\d*ABC/I  /\d*ABC/I
5425  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5426  No options  No options
5427  No first char  No first char
5428  Need char = 'C'  Need char = 'C'
5429    
5430  /[abc]+DE/I  /[abc]+DE/I
5431  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5432  No options  No options
5433  No first char  No first char
5434  Need char = 'E'  Need char = 'E'
# Line 5502  Need char = '3' Line 5441  Need char = '3'
5441      123\P      123\P
5442   0: 123   0: 123
5443      a\P      a\P
5444  Partial match  Partial match: a
5445      b\P      b\P
5446  Partial match  Partial match: b
5447      c\P      c\P
5448  Partial match  Partial match: c
5449      c12\P      c12\P
5450  Partial match  Partial match: c12
5451      c123\P      c123\P
5452   0: c123   0: c123
5453    
# Line 5518  Options: anchored Line 5457  Options: anchored
5457  No first char  No first char
5458  Need char = 'X'  Need char = 'X'
5459      1\P      1\P
5460  Partial match  Partial match: 1
5461      123\P      123\P
5462  Partial match  Partial match: 123
5463      123X      123X
5464   0: 123X   0: 123X
5465      1234\P      1234\P
5466  Partial match  Partial match: 1234
5467      1234X      1234X
5468   0: 1234X   0: 1234X
5469      12345\P      12345\P
5470  Partial match  Partial match: 12345
5471      12345X      12345X
5472   0: 12345X   0: 12345X
5473      *** Failers      *** Failers
# Line 5575  Capturing subpattern count = 1 Line 5514  Capturing subpattern count = 1
5514  No options  No options
5515  No first char  No first char
5516  No need char  No need char
5517    Subject length lower bound = 1
5518  Starting byte set: a b  Starting byte set: a b
5519  Compiled regex written to testsavedregex  Compiled regex written to testsavedregex
5520  Study data written to testsavedregex  Study data written to testsavedregex
# Line 5595  Capturing subpattern count = 1 Line 5535  Capturing subpattern count = 1
5535  No options  No options
5536  No first char  No first char
5537  No need char  No need char
5538    Subject length lower bound = 1
5539  Starting byte set: a b  Starting byte set: a b
5540  Compiled regex written to testsavedregex  Compiled regex written to testsavedregex
5541  Study data written to testsavedregex  Study data written to testsavedregex
# Line 5613  No match Line 5554  No match
5554  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5555  Capturing subpattern count = 3  Capturing subpattern count = 3
5556  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5557  Options: multiline dotall  Options: multiline dotall
5558  First char = '<'  First char = '<'
5559  Need char = '>'  Need char = '>'
# Line 5631  No need char Line 5571  No need char
5571    
5572  /line\nbreak/I  /line\nbreak/I
5573  Capturing subpattern count = 0  Capturing subpattern count = 0
5574    Contains explicit CR or LF match
5575  No options  No options
5576  First char = 'l'  First char = 'l'
5577  Need char = 'k'  Need char = 'k'
# Line 5641  Need char = 'k' Line 5582  Need char = 'k'
5582    
5583  /line\nbreak/If  /line\nbreak/If
5584  Capturing subpattern count = 0  Capturing subpattern count = 0
5585    Contains explicit CR or LF match
5586  Options: firstline  Options: firstline
5587  First char = 'l'  First char = 'l'
5588  Need char = 'k'  Need char = 'k'
# Line 5653  No match Line 5595  No match
5595    
5596  /line\nbreak/Imf  /line\nbreak/Imf
5597  Capturing subpattern count = 0  Capturing subpattern count = 0
5598    Contains explicit CR or LF match
5599  Options: multiline firstline  Options: multiline firstline
5600  First char = 'l'  First char = 'l'
5601  Need char = 'k'  Need char = 'k'
# Line 5663  No match Line 5606  No match
5606      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5607  No match  No match
5608    
5609  /ab.cd/IP  /ab.cd/P
5610      ab-cd      ab-cd
5611   0: ab-cd   0: ab-cd
5612      ab=cd      ab=cd
# Line 5673  No match: POSIX code 17: match failed Line 5616  No match: POSIX code 17: match failed
5616      ab\ncd      ab\ncd
5617  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
5618    
5619  /ab.cd/IPs  /ab.cd/Ps
5620      ab-cd      ab-cd
5621   0: ab-cd   0: ab-cd
5622      ab=cd      ab=cd
# Line 5917  Matched, but too many substrings Line 5860  Matched, but too many substrings
5860    
5861  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
5862  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5863  No options  No options
5864  No first char  No first char
5865  No need char  No need char
# Line 5930  No need char Line 5872  No need char
5872    
5873  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
5874  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5875  No options  No options
5876  No first char  No first char
5877  No need char  No need char
# Line 5941  No need char Line 5882  No need char
5882    
5883  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
5884  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5885  No options  No options
5886  No first char  No first char
5887  No need char  No need char
# Line 5952  No need char Line 5892  No need char
5892    
5893  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
5894  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5895  No options  No options
5896  No first char  No first char
5897  No need char  No need char
# Line 5965  No need char Line 5904  No need char
5904    
5905  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
5906  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5907  No options  No options
5908  No first char  No first char
5909  No need char  No need char
# Line 5978  No need char Line 5916  No need char
5916      ((this))      ((this))
5917   0: ((this))   0: ((this))
5918    
5919  /a(b)c/IPN  /a(b)c/PN
5920      abc      abc
5921  Matched with REG_NOSUB  Matched with REG_NOSUB
5922    
5923  /a(?P<name>b)c/IPN  /a(?P<name>b)c/PN
5924      abc      abc
5925  Matched with REG_NOSUB  Matched with REG_NOSUB
5926    
# Line 6160  Named capturing subpatterns: Line 6098  Named capturing subpatterns:
6098    A   2    A   2
6099    A   3    A   3
6100  Options: anchored dupnames  Options: anchored dupnames
6101    Duplicate name status changes
6102  No first char  No first char
6103  No need char  No need char
6104      a1b\CA      a1b\CA
# Line 6306  Failed: octal value is greater than \377 Line 6245  Failed: octal value is greater than \377
6245    
6246  /\s*,\s*/IS  /\s*,\s*/IS
6247  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6248  No options  No options
6249  No first char  No first char
6250  Need char = ','  Need char = ','
6251    Subject length lower bound = 1
6252  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6253      \x0b,\x0b      \x0b,\x0b
6254   0: ,   0: ,
# Line 6436  Unknown newline type at: <bad> Line 6375  Unknown newline type at: <bad>
6375    
6376  /.*/I<lf>  /.*/I<lf>
6377  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6378  Options:  Options:
6379  Forced newline sequence: LF  Forced newline sequence: LF
6380  First char at start or follows newline  First char at start or follows newline
# Line 6462  No need char Line 6400  No need char
6400    
6401  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6402  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6403  Options: dotall  Options: dotall
6404  No first char  No first char
6405  Need char = 'f'  Need char = 'f'
# Line 6479  Need char = 'f' Line 6416  Need char = 'f'
6416    
6417  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6418  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6419  No options  No options
6420  No first char  No first char
6421  No need char  No need char
# Line 6614  No need char Line 6550  No need char
6550    
6551  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6552  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6553  No options  No options
6554  No first char  No first char
6555  No need char  No need char
6556    Subject length lower bound = 1
6557  Starting byte set: C a b c d  Starting byte set: C a b c d
6558    
6559  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6625  Capturing subpattern count = 1 Line 6561  Capturing subpattern count = 1
6561  No options  No options
6562  No first char  No first char
6563  Need char = 'z'  Need char = 'z'
6564    Subject length lower bound = 4
6565  Starting byte set: a b  Starting byte set: a b
6566    
6567  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6632  Capturing subpattern count = 1 Line 6569  Capturing subpattern count = 1
6569  No options  No options
6570  No first char  No first char
6571  Need char = 'z'  Need char = 'z'
6572    Subject length lower bound = 4
6573  Starting byte set: a b  Starting byte set: a b
6574    
6575  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6639  Capturing subpattern count = 1 Line 6577  Capturing subpattern count = 1
6577  No options  No options
6578  No first char  No first char
6579  Need char = 'z'  Need char = 'z'
6580    Subject length lower bound = 4
6581  Starting byte set: a b c  Starting byte set: a b c
6582    
6583  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6646  Capturing subpattern count = 1 Line 6585  Capturing subpattern count = 1
6585  No options  No options
6586  No first char  No first char
6587  Need char = 'z'  Need char = 'z'
6588    Subject length lower bound = 4
6589  Starting byte set: a b c  Starting byte set: a b c
6590    
6591  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6653  Capturing subpattern count = 1 Line 6593  Capturing subpattern count = 1
6593  No options  No options
6594  No first char  No first char
6595  Need char = 'z'  Need char = 'z'
6596    Subject length lower bound = 4
6597  Starting byte set: a b c d  Starting byte set: a b c d
6598    
6599  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6660  Capturing subpattern count = 1 Line 6601  Capturing subpattern count = 1
6601  No options  No options
6602  No first char  No first char
6603  Need char = 'z'  Need char = 'z'
6604    Subject length lower bound = 4
6605  Starting byte set: a b c d  Starting byte set: a b c d
6606    
6607  /^a*b\d/DZ  /^a*b\d/DZ
6608  ------------------------------------------------------------------  ------------------------------------------------------------------
6609          Bra 0          Bra
6610          ^          ^
6611          a*+          a*+
6612          b          b
# Line 6673  Starting byte set: a b c d Line 6615  Starting byte set: a b c d
6615          End          End
6616  ------------------------------------------------------------------  ------------------------------------------------------------------
6617  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6618  Options: anchored  Options: anchored
6619  No first char  No first char
6620  Need char = 'b'  Need char = 'b'
6621    
6622  /^a*+b\d/DZ  /^a*+b\d/DZ
6623  ------------------------------------------------------------------  ------------------------------------------------------------------
6624          Bra 0          Bra
6625          ^          ^
6626          a*+          a*+
6627          b          b
# Line 6689  Need char = 'b' Line 6630  Need char = 'b'
6630          End          End
6631  ------------------------------------------------------------------  ------------------------------------------------------------------
6632  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6633  Options: anchored  Options: anchored
6634  No first char  No first char
6635  Need char = 'b'  Need char = 'b'
6636    
6637  /^a*?b\d/DZ  /^a*?b\d/DZ
6638  ------------------------------------------------------------------  ------------------------------------------------------------------
6639          Bra 0          Bra
6640          ^          ^
6641          a*+          a*+
6642          b          b
# Line 6705  Need char = 'b' Line 6645  Need char = 'b'
6645          End          End
6646  ------------------------------------------------------------------  ------------------------------------------------------------------
6647  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6648  Options: anchored  Options: anchored
6649  No first char  No first char
6650  Need char = 'b'  Need char = 'b'
6651    
6652  /^a+A\d/DZ  /^a+A\d/DZ
6653  ------------------------------------------------------------------  ------------------------------------------------------------------
6654          Bra 0          Bra
6655          ^          ^
6656          a++          a++
6657          A          A
# Line 6721  Need char = 'b' Line 6660  Need char = 'b'
6660          End          End
6661  ------------------------------------------------------------------  ------------------------------------------------------------------
6662  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6663  Options: anchored  Options: anchored
6664  No first char  No first char
6665  Need char = 'A'  Need char = 'A'
# Line 6734  No match Line 6672  No match
6672    
6673  /^a*A\d/IiDZ  /^a*A\d/IiDZ
6674  ------------------------------------------------------------------  ------------------------------------------------------------------
6675          Bra 0          Bra
6676          ^          ^
6677          a*          a*
6678       NC A       NC A
# Line 6743  No match Line 6681  No match
6681          End          End
6682  ------------------------------------------------------------------  ------------------------------------------------------------------
6683  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6684  Options: anchored caseless  Options: anchored caseless
6685  No first char  No first char
6686  Need char = 'A' (caseless)  Need char = 'A' (caseless)
# Line 6754  Need char = 'A' (caseless) Line 6691  Need char = 'A' (caseless)
6691    
6692  /(a*|b*)[cd]/IS  /(a*|b*)[cd]/IS
6693  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6694  No options  No options
6695  No first char  No first char
6696  No need char  No need char
6697    Subject length lower bound = 1
6698  Starting byte set: a b c d  Starting byte set: a b c d
6699    
6700  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6701  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6702  No options  No options
6703  No first char  No first char
6704  No need char  No need char
6705    Subject length lower bound = 1
6706  Starting byte set: a b c d  Starting byte set: a b c d
6707    
6708  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6709  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6710  No options  No options
6711  No first char  No first char
6712  No need char  No need char
6713    Subject length lower bound = 1
6714  Starting byte set: a b c d  Starting byte set: a b c d
6715    
6716  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6717  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6718  No options  No options
6719  No first char  No first char
6720  No need char  No need char
6721    Subject length lower bound = 2
6722  Starting byte set: a b  Starting byte set: a b
6723    
6724  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 6816  Matched, but too many substrings Line 6753  Matched, but too many substrings
6753    
6754  /a*\d/BZ  /a*\d/BZ
6755  ------------------------------------------------------------------  ------------------------------------------------------------------
6756          Bra 0          Bra
6757          a*+          a*+
6758          \d          \d
6759          Ket          Ket
# Line 6825  Matched, but too many substrings Line 6762  Matched, but too many substrings
6762    
6763  /a*\D/BZ  /a*\D/BZ
6764  ------------------------------------------------------------------  ------------------------------------------------------------------
6765          Bra 0          Bra
6766          a*          a*
6767          \D          \D
6768          Ket          Ket
# Line 6834  Matched, but too many substrings Line 6771  Matched, but too many substrings
6771    
6772  /0*\d/BZ  /0*\d/BZ
6773  ------------------------------------------------------------------  ------------------------------------------------------------------
6774          Bra 0          Bra
6775          0*          0*
6776          \d          \d
6777          Ket          Ket
# Line 6843  Matched, but too many substrings Line 6780  Matched, but too many substrings
6780    
6781  /0*\D/BZ  /0*\D/BZ
6782  ------------------------------------------------------------------  ------------------------------------------------------------------
6783          Bra 0          Bra
6784          0*+          0*+
6785          \D          \D
6786          Ket          Ket
# Line 6852  Matched, but too many substrings Line 6789  Matched, but too many substrings
6789    
6790  /a*\s/BZ  /a*\s/BZ
6791  ------------------------------------------------------------------  ------------------------------------------------------------------
6792          Bra 0          Bra
6793          a*+          a*+
6794          \s          \s
6795          Ket          Ket
# Line 6861  Matched, but too many substrings Line 6798  Matched, but too many substrings
6798    
6799  /a*\S/BZ  /a*\S/BZ
6800  ------------------------------------------------------------------  ------------------------------------------------------------------
6801          Bra 0          Bra
6802          a*          a*
6803          \S          \S
6804          Ket          Ket
# Line 6870  Matched, but too many substrings Line 6807  Matched, but too many substrings
6807    
6808  / *\s/BZ  / *\s/BZ
6809  ------------------------------------------------------------------  ------------------------------------------------------------------
6810          Bra 0          Bra
6811           *           *
6812          \s          \s
6813          Ket          Ket
# Line 6879  Matched, but too many substrings Line 6816  Matched, but too many substrings
6816    
6817  / *\S/BZ  / *\S/BZ
6818  ------------------------------------------------------------------  ------------------------------------------------------------------
6819          Bra 0          Bra
6820           *+           *+
6821          \S          \S
6822          Ket          Ket
# Line 6888  Matched, but too many substrings Line 6825  Matched, but too many substrings
6825    
6826  /a*\w/BZ  /a*\w/BZ
6827  ------------------------------------------------------------------  ------------------------------------------------------------------
6828          Bra 0          Bra
6829          a*          a*
6830          \w          \w
6831          Ket          Ket
# Line 6897  Matched, but too many substrings Line 6834  Matched, but too many substrings
6834    
6835  /a*\W/BZ  /a*\W/BZ
6836  ------------------------------------------------------------------  ------------------------------------------------------------------
6837          Bra 0          Bra
6838          a*+          a*+
6839          \W          \W
6840          Ket          Ket
# Line 6906  Matched, but too many substrings Line 6843  Matched, but too many substrings
6843    
6844  /=*\w/BZ  /=*\w/BZ
6845  ------------------------------------------------------------------  ------------------------------------------------------------------
6846          Bra 0          Bra
6847          =*+          =*+
6848          \w          \w
6849          Ket          Ket
# Line 6915  Matched, but too many substrings Line 6852  Matched, but too many substrings
6852    
6853  /=*\W/BZ  /=*\W/BZ
6854  ------------------------------------------------------------------  ------------------------------------------------------------------
6855          Bra 0          Bra
6856          =*          =*
6857          \W          \W
6858          Ket          Ket
# Line 6924  Matched, but too many substrings Line 6861  Matched, but too many substrings
6861    
6862  /\d*a/BZ  /\d*a/BZ
6863  ------------------------------------------------------------------  ------------------------------------------------------------------
6864          Bra 0          Bra
6865          \d*+          \d*+
6866          a          a
6867          Ket          Ket
# Line 6933  Matched, but too many substrings Line 6870  Matched, but too many substrings
6870    
6871  /\d*2/BZ  /\d*2/BZ
6872  ------------------------------------------------------------------  ------------------------------------------------------------------
6873          Bra 0          Bra
6874          \d*          \d*
6875          2          2
6876          Ket          Ket
# Line 6942  Matched, but too many substrings Line 6879  Matched, but too many substrings
6879    
6880  /\d*\d/BZ  /\d*\d/BZ
6881  ------------------------------------------------------------------  ------------------------------------------------------------------
6882          Bra 0          Bra
6883          \d*          \d*
6884          \d          \d
6885          Ket          Ket
# Line 6951  Matched, but too many substrings Line 6888  Matched, but too many substrings
6888    
6889  /\d*\D/BZ  /\d*\D/BZ
6890  ------------------------------------------------------------------  ------------------------------------------------------------------
6891          Bra 0          Bra
6892          \d*+          \d*+
6893          \D          \D
6894          Ket          Ket
# Line 6960  Matched, but too many substrings Line 6897  Matched, but too many substrings
6897    
6898  /\d*\s/BZ  /\d*\s/BZ
6899  ------------------------------------------------------------------  ------------------------------------------------------------------
6900          Bra 0          Bra
6901          \d*+          \d*+
6902          \s          \s
6903          Ket          Ket
# Line 6969  Matched, but too many substrings Line 6906  Matched, but too many substrings
6906    
6907  /\d*\S/BZ  /\d*\S/BZ
6908  ------------------------------------------------------------------  ------------------------------------------------------------------
6909          Bra 0          Bra
6910          \d*          \d*
6911          \S          \S
6912          Ket          Ket
# Line 6978  Matched, but too many substrings Line 6915  Matched, but too many substrings
6915    
6916  /\d*\w/BZ  /\d*\w/BZ
6917  ------------------------------------------------------------------  ------------------------------------------------------------------
6918          Bra 0          Bra
6919          \d*          \d*
6920          \w          \w
6921          Ket          Ket
# Line 6987  Matched, but too many substrings Line 6924  Matched, but too many substrings
6924    
6925  /\d*\W/BZ  /\d*\W/BZ
6926  ------------------------------------------------------------------  ------------------------------------------------------------------
6927          Bra 0          Bra
6928          \d*+          \d*+
6929          \W          \W
6930          Ket          Ket
# Line 6996  Matched, but too many substrings Line 6933  Matched, but too many substrings
6933    
6934  /\D*a/BZ  /\D*a/BZ
6935  ------------------------------------------------------------------  ------------------------------------------------------------------
6936          Bra 0          Bra
6937          \D*          \D*
6938          a          a
6939          Ket          Ket
# Line 7005  Matched, but too many substrings Line 6942  Matched, but too many substrings
6942    
6943  /\D*2/BZ  /\D*2/BZ
6944  ------------------------------------------------------------------  ------------------------------------------------------------------
6945          Bra 0          Bra
6946          \D*+          \D*+
6947          2          2
6948          Ket          Ket
# Line 7014  Matched, but too many substrings Line 6951  Matched, but too many substrings
6951    
6952  /\D*\d/BZ  /\D*\d/BZ
6953  ------------------------------------------------------------------  ------------------------------------------------------------------
6954          Bra 0          Bra
6955          \D*+          \D*+
6956          \d          \d
6957          Ket          Ket
# Line 7023  Matched, but too many substrings Line 6960  Matched, but too many substrings
6960    
6961  /\D*\D/BZ  /\D*\D/BZ
6962  ------------------------------------------------------------------  ------------------------------------------------------------------
6963          Bra 0          Bra
6964          \D*          \D*
6965          \D          \D
6966          Ket          Ket
# Line 7032  Matched, but too many substrings Line 6969  Matched, but too many substrings
6969    
6970  /\D*\s/BZ  /\D*\s/BZ
6971  ------------------------------------------------------------------  ------------------------------------------------------------------
6972          Bra 0          Bra
6973          \D*          \D*
6974          \s          \s
6975          Ket          Ket
# Line 7041  Matched, but too many substrings Line 6978  Matched, but too many substrings
6978    
6979  /\D*\S/BZ  /\D*\S/BZ
6980  ------------------------------------------------------------------  ------------------------------------------------------------------
6981          Bra 0          Bra
6982          \D*          \D*
6983          \S          \S
6984          Ket          Ket
# Line 7050  Matched, but too many substrings Line 6987  Matched, but too many substrings
6987    
6988  /\D*\w/BZ  /\D*\w/BZ
6989  ------------------------------------------------------------------  ------------------------------------------------------------------
6990          Bra 0          Bra
6991          \D*          \D*
6992          \w          \w
6993          Ket          Ket
# Line 7059  Matched, but too many substrings Line 6996  Matched, but too many substrings
6996    
6997  /\D*\W/BZ  /\D*\W/BZ
6998  ------------------------------------------------------------------  ------------------------------------------------------------------
6999          Bra 0          Bra
7000          \D*          \D*
7001          \W          \W
7002          Ket          Ket
# Line 7068  Matched, but too many substrings Line 7005  Matched, but too many substrings
7005    
7006  /\s*a/BZ  /\s*a/BZ
7007  ------------------------------------------------------------------  ------------------------------------------------------------------
7008          Bra 0          Bra
7009          \s*+          \s*+
7010          a          a
7011          Ket          Ket
# Line 7077  Matched, but too many substrings Line 7014  Matched, but too many substrings
7014    
7015  /\s*2/BZ  /\s*2/BZ
7016  ------------------------------------------------------------------  ------------------------------------------------------------------
7017          Bra 0          Bra
7018          \s*+          \s*+
7019          2          2
7020          Ket          Ket
# Line 7086  Matched, but too many substrings Line 7023  Matched, but too many substrings
7023    
7024  /\s*\d/BZ  /\s*\d/BZ
7025  ------------------------------------------------------------------  ------------------------------------------------------------------
7026          Bra 0          Bra
7027          \s*+          \s*+
7028          \d          \d
7029          Ket          Ket
# Line 7095  Matched, but too many substrings Line 7032  Matched, but too many substrings
7032    
7033  /\s*\D/BZ  /\s*\D/BZ
7034  ------------------------------------------------------------------  ------------------------------------------------------------------
7035          Bra 0          Bra
7036          \s*          \s*
7037          \D          \D
7038          Ket          Ket
# Line 7104  Matched, but too many substrings Line 7041  Matched, but too many substrings
7041    
7042  /\s*\s/BZ  /\s*\s/BZ
7043  ------------------------------------------------------------------  ------------------------------------------------------------------
7044          Bra 0          Bra
7045          \s*          \s*
7046          \s          \s
7047          Ket          Ket
# Line 7113  Matched, but too many substrings Line 7050  Matched, but too many substrings
7050    
7051  /\s*\S/BZ  /\s*\S/BZ
7052  ------------------------------------------------------------------  ------------------------------------------------------------------
7053          Bra 0          Bra
7054          \s*+          \s*+
7055          \S          \S
7056          Ket          Ket
# Line 7122  Matched, but too many substrings Line 7059  Matched, but too many substrings
7059    
7060  /\s*\w/BZ  /\s*\w/BZ
7061  ------------------------------------------------------------------  ------------------------------------------------------------------
7062          Bra 0          Bra
7063          \s*+          \s*+
7064          \w          \w
7065          Ket          Ket
# Line 7131  Matched, but too many substrings Line 7068  Matched, but too many substrings
7068    
7069  /\s*\W/BZ  /\s*\W/BZ
7070  ------------------------------------------------------------------  ------------------------------------------------------------------
7071          Bra 0          Bra
7072          \s*          \s*
7073          \W          \W
7074          Ket          Ket
# Line 7140  Matched, but too many substrings Line 7077  Matched, but too many substrings
7077    
7078  /\S*a/BZ  /\S*a/BZ
7079  ------------------------------------------------------------------  ------------------------------------------------------------------
7080          Bra 0          Bra
7081          \S*          \S*
7082          a          a
7083          Ket          Ket
# Line 7149  Matched, but too many substrings Line 7086  Matched, but too many substrings
7086    
7087  /\S*2/BZ  /\S*2/BZ
7088  ------------------------------------------------------------------  ------------------------------------------------------------------
7089          Bra 0          Bra
7090          \S*          \S*
7091          2          2
7092          Ket          Ket
# Line 7158  Matched, but too many substrings Line 7095  Matched, but too many substrings
7095    
7096  /\S*\d/BZ  /\S*\d/BZ
7097  ------------------------------------------------------------------  ------------------------------------------------------------------
7098          Bra 0          Bra
7099          \S*          \S*
7100          \d          \d
7101          Ket          Ket
# Line 7167  Matched, but too many substrings Line 7104  Matched, but too many substrings
7104    
7105  /\S*\D/BZ  /\S*\D/BZ
7106  ------------------------------------------------------------------  ------------------------------------------------------------------
7107          Bra 0          Bra
7108          \S*          \S*
7109          \D          \D
7110          Ket          Ket
# Line 7176  Matched, but too many substrings Line 7113  Matched, but too many substrings
7113    
7114  /\S*\s/BZ  /\S*\s/BZ
7115  ------------------------------------------------------------------  ------------------------------------------------------------------
7116          Bra 0          Bra
7117          \S*+          \S*+
7118          \s          \s
7119          Ket          Ket
# Line 7185  Matched, but too many substrings Line 7122  Matched, but too many substrings
7122    
7123  /\S*\S/BZ  /\S*\S/BZ
7124  ------------------------------------------------------------------  ------------------------------------------------------------------
7125          Bra 0          Bra
7126          \S*          \S*
7127          \S          \S
7128          Ket          Ket
# Line 7194  Matched, but too many substrings Line 7131  Matched, but too many substrings
7131    
7132  /\S*\w/BZ  /\S*\w/BZ
7133  ------------------------------------------------------------------  ------------------------------------------------------------------
7134          Bra 0          Bra
7135          \S*          \S*
7136          \w          \w
7137          Ket          Ket
# Line 7203  Matched, but too many substrings Line 7140  Matched, but too many substrings
7140    
7141  /\S*\W/BZ  /\S*\W/BZ
7142  ------------------------------------------------------------------  ------------------------------------------------------------------
7143          Bra 0          Bra
7144          \S*          \S*
7145          \W          \W
7146          Ket          Ket
# Line 7212  Matched, but too many substrings Line 7149  Matched, but too many substrings
7149    
7150  /\w*a/BZ  /\w*a/BZ
7151  ------------------------------------------------------------------  ------------------------------------------------------------------
7152          Bra 0          Bra
7153          \w*          \w*
7154          a          a
7155          Ket          Ket
# Line 7221  Matched, but too many substrings Line 7158  Matched, but too many substrings
7158    
7159  /\w*2/BZ  /\w*2/BZ
7160  ------------------------------------------------------------------  ------------------------------------------------------------------
7161          Bra 0          Bra
7162          \w*          \w*
7163          2          2
7164          Ket          Ket
# Line 7230  Matched, but too many substrings Line 7167  Matched, but too many substrings
7167    
7168  /\w*\d/BZ  /\w*\d/BZ
7169  ------------------------------------------------------------------  ------------------------------------------------------------------
7170          Bra 0          Bra
7171          \w*          \w*
7172          \d          \d
7173          Ket          Ket
# Line 7239  Matched, but too many substrings Line 7176  Matched, but too many substrings
7176    
7177  /\w*\D/BZ  /\w*\D/BZ
7178  ------------------------------------------------------------------  ------------------------------------------------------------------
7179          Bra 0          Bra
7180          \w*          \w*
7181          \D          \D
7182          Ket          Ket
# Line 7248  Matched, but too many substrings Line 7185  Matched, but too many substrings
7185    
7186  /\w*\s/BZ  /\w*\s/BZ
7187  ------------------------------------------------------------------  ------------------------------------------------------------------
7188          Bra 0          Bra
7189          \w*+          \w*+
7190          \s          \s
7191          Ket          Ket
# Line 7257  Matched, but too many substrings Line 7194  Matched, but too many substrings
7194    
7195  /\w*\S/BZ  /\w*\S/BZ
7196  ------------------------------------------------------------------  ------------------------------------------------------------------
7197          Bra 0          Bra
7198          \w*          \w*
7199          \S          \S
7200          Ket          Ket
# Line 7266  Matched, but too many substrings Line 7203  Matched, but too many substrings
7203    
7204  /\w*\w/BZ  /\w*\w/BZ
7205  ------------------------------------------------------------------  ------------------------------------------------------------------
7206          Bra 0          Bra
7207          \w*          \w*
7208          \w          \w
7209          Ket          Ket
# Line 7275  Matched, but too many substrings Line 7212  Matched, but too many substrings
7212    
7213  /\w*\W/BZ  /\w*\W/BZ
7214  ------------------------------------------------------------------  ------------------------------------------------------------------
7215          Bra 0          Bra
7216          \w*+          \w*+
7217          \W          \W
7218          Ket          Ket
# Line 7284  Matched, but too many substrings Line 7221  Matched, but too many substrings
7221    
7222  /\W*a/BZ  /\W*a/BZ
7223  ------------------------------------------------------------------  ------------------------------------------------------------------
7224          Bra 0          Bra
7225          \W*+          \W*+
7226          a          a
7227          Ket          Ket
# Line 7293  Matched, but too many substrings Line 7230  Matched, but too many substrings
7230    
7231  /\W*2/BZ  /\W*2/BZ
7232  ------------------------------------------------------------------  ------------------------------------------------------------------
7233          Bra 0          Bra
7234          \W*+          \W*+
7235          2          2
7236          Ket          Ket
# Line 7302  Matched, but too many substrings Line 7239  Matched, but too many substrings
7239    
7240  /\W*\d/BZ  /\W*\d/BZ
7241  ------------------------------------------------------------------  ------------------------------------------------------------------
7242          Bra 0          Bra
7243          \W*+          \W*+
7244          \d          \d
7245          Ket          Ket
# Line 7311  Matched, but too many substrings Line 7248  Matched, but too many substrings
7248    
7249  /\W*\D/BZ  /\W*\D/BZ
7250  ------------------------------------------------------------------  ------------------------------------------------------------------
7251          Bra 0          Bra
7252          \W*          \W*
7253          \D          \D
7254          Ket          Ket
# Line 7320  Matched, but too many substrings Line 7257  Matched, but too many substrings
7257    
7258  /\W*\s/BZ  /\W*\s/BZ
7259  ------------------------------------------------------------------  ------------------------------------------------------------------
7260          Bra 0          Bra
7261          \W*          \W*
7262          \s          \s
7263          Ket          Ket
# Line 7329  Matched, but too many substrings Line 7266  Matched, but too many substrings
7266    
7267  /\W*\S/BZ  /\W*\S/BZ
7268  ------------------------------------------------------------------  ------------------------------------------------------------------
7269          Bra 0          Bra
7270          \W*          \W*
7271          \S          \S
7272          Ket          Ket
# Line 7338  Matched, but too many substrings Line 7275  Matched, but too many substrings
7275    
7276  /\W*\w/BZ  /\W*\w/BZ
7277  ------------------------------------------------------------------  ------------------------------------------------------------------
7278          Bra 0          Bra
7279          \W*+          \W*+
7280          \w          \w
7281          Ket          Ket
# Line 7347  Matched, but too many substrings Line 7284  Matched, but too many substrings
7284    
7285  /\W*\W/BZ  /\W*\W/BZ
7286  ------------------------------------------------------------------  ------------------------------------------------------------------
7287          Bra 0          Bra
7288          \W*          \W*
7289          \W          \W
7290          Ket          Ket
# Line 7356  Matched, but too many substrings Line 7293  Matched, but too many substrings
7293    
7294  /[^a]+a/BZ  /[^a]+a/BZ
7295  ------------------------------------------------------------------  ------------------------------------------------------------------
7296          Bra 0          Bra
7297          [^a]++          [^a]++
7298          a          a
7299          Ket          Ket
# Line 7365  Matched, but too many substrings Line 7302  Matched, but too many substrings
7302    
7303  /[^a]+a/BZi  /[^a]+a/BZi
7304  ------------------------------------------------------------------  ------------------------------------------------------------------
7305          Bra 0          Bra
7306          [^A]++          [^A]++
7307       NC a       NC a
7308          Ket          Ket
# Line 7374  Matched, but too many substrings Line 7311  Matched, but too many substrings
7311    
7312  /[^a]+A/BZi  /[^a]+A/BZi
7313  ------------------------------------------------------------------  ------------------------------------------------------------------
7314          Bra 0          Bra
7315          [^A]++          [^A]++
7316       NC A       NC A
7317          Ket          Ket
# Line 7383  Matched, but too many substrings Line 7320  Matched, but too many substrings
7320    
7321  /[^a]+b/BZ  /[^a]+b/BZ
7322  ------------------------------------------------------------------  ------------------------------------------------------------------
7323          Bra 0          Bra
7324          [^a]+          [^a]+
7325          b          b
7326          Ket          Ket
# Line 7392  Matched, but too many substrings Line 7329  Matched, but too many substrings
7329    
7330  /[^a]+\d/BZ  /[^a]+\d/BZ
7331  ------------------------------------------------------------------  ------------------------------------------------------------------
7332          Bra 0          Bra
7333          [^a]+          [^a]+
7334          \d          \d
7335          Ket          Ket
# Line 7401  Matched, but too many substrings Line 7338  Matched, but too many substrings
7338    
7339  /a*[^a]/BZ  /a*[^a]/BZ
7340  ------------------------------------------------------------------  ------------------------------------------------------------------
7341          Bra 0          Bra
7342          a*          a*
7343          [^a]          [^a]
7344          Ket          Ket
# Line 7542  No match Line 7479  No match
7479    
7480  /^[\E\Qa\E-\Qz\E]+/BZ  /^[\E\Qa\E-\Qz\E]+/BZ
7481  ------------------------------------------------------------------  ------------------------------------------------------------------
7482          Bra 0          Bra
7483          ^          ^
7484          [a-z]+          [a-z]+
7485          Ket          Ket
# Line 7551  No match Line 7488  No match
7488    
7489  /^[a\Q]bc\E]/BZ  /^[a\Q]bc\E]/BZ
7490  ------------------------------------------------------------------  ------------------------------------------------------------------
7491          Bra 0          Bra
7492          ^          ^
7493          [\]a-c]          [\]a-c]
7494          Ket          Ket
# Line 7560  No match Line 7497  No match
7497    
7498  /^[a-\Q\E]/BZ  /^[a-\Q\E]/BZ
7499  ------------------------------------------------------------------  ------------------------------------------------------------------
7500          Bra 0          Bra
7501          ^          ^
7502          [\-a]          [\-a]
7503          Ket          Ket
# Line 7569  No match Line 7506  No match
7506    
7507  /^(?P>abc)[()](?<abc>)/BZ  /^(?P>abc)[()](?<abc>)/BZ
7508  ------------------------------------------------------------------  ------------------------------------------------------------------
7509          Bra 0          Bra
7510          ^          ^
7511          Once          Once
7512          Recurse          Recurse
7513          Ket          Ket
7514          [()]          [()]
7515          Bra 1          CBra 1
7516          Ket          Ket
7517          Ket          Ket
7518          End          End
# Line 7583  No match Line 7520  No match
7520    
7521  /^((?(abc)y)[()](?P<abc>x))+/BZ  /^((?(abc)y)[()](?P<abc>x))+/BZ
7522  ------------------------------------------------------------------  ------------------------------------------------------------------
7523          Bra 0          Bra
7524          ^          ^
7525          Bra 1          CBra 1
7526          Cond          Cond
7527        2 Cond ref        2 Cond nref
7528          y          y
7529          Ket          Ket
7530          [()]          [()]
7531          Bra 2          CBra 2
7532          x          x
7533          Ket          Ket
7534          KetRmax          KetRmax
# Line 7605  No match Line 7542  No match
7542    
7543  /^(?P>abc)\Q()\E(?<abc>)/BZ  /^(?P>abc)\Q()\E(?<abc>)/BZ
7544  ------------------------------------------------------------------  ------------------------------------------------------------------
7545          Bra 0          Bra
7546          ^          ^
7547          Once          Once
7548          Recurse          Recurse
7549          Ket          Ket
7550          ()          ()
7551          Bra 1          CBra 1
7552          Ket          Ket
7553          Ket          Ket
7554          End          End
# Line 7619  No match Line 7556  No match
7556    
7557  /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ  /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
7558  ------------------------------------------------------------------  ------------------------------------------------------------------
7559          Bra 0          Bra
7560          ^          ^
7561          Once          Once
7562          Recurse          Recurse
7563          Ket          Ket
7564          [(\]a]          [(\]a]
7565          Bra 1          CBra 1
7566          Ket          Ket
7567          Ket          Ket
7568          End          End
# Line 7634  No match Line 7571  No match
7571  /^(?P>abc) # this is (a comment)  /^(?P>abc) # this is (a comment)
7572    (?<abc>)/BZx    (?<abc>)/BZx
7573  ------------------------------------------------------------------  ------------------------------------------------------------------
7574          Bra 0          Bra
7575          ^          ^
7576          Once          Once
7577          Recurse          Recurse
7578          Ket          Ket
7579          Bra 1          CBra 1
7580          Ket          Ket
7581          Ket          Ket
7582          End          End
# Line 7653  Named capturing subpatterns: Line 7590  Named capturing subpatterns:
7590    one     1    one     1
7591    three   3    three   3
7592    two     2    two     2
 Partial matching not supported  
7593  Options: anchored caseless  Options: anchored caseless
7594  No first char  No first char
7595  No need char  No need char
# Line 7687  No match Line 7623  No match
7623  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7624  Capturing subpattern count = 1  Capturing subpattern count = 1
7625  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
7626  No options  No options
7627  No first char  No first char
7628  Need char = ':'  Need char = ':'
# Line 7700  Capturing subpattern count = 1 Line 7635  Capturing subpattern count = 1
7635  Max back reference = 1  Max back reference = 1
7636  Named capturing subpatterns:  Named capturing subpatterns:
7637    abc   1    abc   1
 Partial matching not supported  
7638  No options  No options
7639  No first char  No first char
7640  Need char = ':'  Need char = ':'
# Line 7708  Need char = ':' Line 7642  Need char = ':'
7642   0: abcd:   0: abcd:
7643   1: abcd   1: abcd
7644    
 /(?'abc'\w+):\k<abc>{2}/  
     a:aaxyz  
  0: a:aa  
  1: a  
     ab:ababxyz  
  0: ab:abab  
  1: ab  
     ** Failers  
 No match  
     a:axyz  
 No match  
     ab:abxyz  
 No match  
   
7645  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7646      adaa      adaa
7647   0: adaa   0: adaa
# Line 7748  No match Line 7668  No match
7668      bddd      bddd
7669  No match  No match
7670    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7671  /(?(<bc))/  /(?(<bc))/
7672  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7673    
# Line 7785  Failed: reference to non-existent subpat Line 7698  Failed: reference to non-existent subpat
7698   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7699   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7700    
 /^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x  
     abcd  
  0: ab  
  1: <unset>  
  2: <unset>  
   
 /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))  
   (?(DEFINE)  
   (?<NAME_PAT>[a-z]+)  
   (?<ADDRESS_PAT>\d+)  
   )/x  
     metcalfe 33  
  0: metcalfe 33  
  1: metcalfe  
  2: 33  
  3: <unset>  
  4: <unset>  
   
7701  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7702  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7703    
# Line 7844  No match Line 7739  No match
7739  No match  No match
7740    
7741  /^abc./mgx<any>  /^abc./mgx<any>
7742      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
7743   0: abc1   0: abc1
7744   0: abc2   0: abc2
7745   0: abc3   0: abc3
# Line 7854  No match Line 7749  No match
7749   0: abc7   0: abc7
7750    
7751  /abc.$/mgx<any>  /abc.$/mgx<any>
7752      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
7753   0: abc1   0: abc1
7754   0: abc2   0: abc2
7755   0: abc3   0: abc3
# Line 7868  No match Line 7763  No match
7763  /a/<any><crlf>  /a/<any><crlf>
7764  Failed: inconsistent NEWLINE options at offset 0  Failed: inconsistent NEWLINE options at offset 0
7765    
7766  /^a\Rb/  /^a\Rb/<bsr_unicode>
7767      a\nb      a\nb
7768   0: a\x0ab   0: a\x0ab
7769      a\rb      a\rb
# Line 7886  No match Line 7781  No match
7781      a\n\rb      a\n\rb
7782  No match  No match
7783    
7784  /^a\R*b/  /^a\R*b/<bsr_unicode>
7785      ab      ab
7786   0: ab   0: ab
7787      a\nb      a\nb
# Line 7906  No match Line 7801  No match
7801      a\n\r\x85\x0cb      a\n\r\x85\x0cb
7802   0: a\x0a\x0d\x85\x0cb   0: a\x0a\x0d\x85\x0cb
7803    
7804  /^a\R+b/  /^a\R+b/<bsr_unicode>
7805      a\nb      a\nb
7806   0: a\x0ab   0: a\x0ab
7807      a\rb      a\rb
# Line 7928  No match Line 7823  No match
7823      ab      ab
7824  No match  No match
7825    
7826  /^a\R{1,3}b/  /^a\R{1,3}b/<bsr_unicode>
7827      a\nb      a\nb
7828   0: a\x0ab   0: a\x0ab
7829      a\n\rb      a\n\rb
# Line 7950  No match Line 7845  No match
7845      a\r      a\r
7846  No match  No match
7847    
7848  /^a[\R]b/  /^a[\R]b/<bsr_unicode>
7849      aRb      aRb
7850   0: aRb   0: aRb
7851      ** Failers      ** Failers
# Line 7980  Need char = 'P' Line 7875  Need char = 'P'
7875   0: PXP   0: PXP
7876   1: P   1: P
7877    
 /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/  
     1.2.3.4  
  0: 1.2.3.4  
  1: <unset>  
  2: .4  
     131.111.10.206  
  0: 131.111.10.206  
  1: <unset>  
  2: .206  
     10.0.0.0  
  0: 10.0.0.0  
  1: <unset>  
  2: .0  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
 /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/  
     1.2.3.4  
  0: 1.2.3.4  
  1: .4  
  2: <unset>  
     131.111.10.206  
  0: 131.111.10.206  
  1: .206  
  2: <unset>  
     10.0.0.0  
  0: 10.0.0.0  
  1: .0  
  2: <unset>  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
7878  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
7879      123axbaxbaxbx456      123axbaxbaxbx456
7880   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8057  No match Line 7912  No match
7912     DEFabcABCXYZ     DEFabcABCXYZ
7913  No match  No match
7914    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
  0: ababababbbabZ  
  1: ab  
  2: b  
   
7915  /^(a)\g-2/  /^(a)\g-2/
7916  Failed: reference to non-existent subpattern at offset 4  Failed: reference to non-existent subpattern at offset 7
7917    
7918  /^(a)\g/  /^(a)\g/
7919  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4  Failed: a numbered reference must not be zero at offset 5
7920    
7921  /^(a)\g{0}/  /^(a)\g{0}/
7922  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4  Failed: a numbered reference must not be zero at offset 8
7923    
7924  /^(a)\g{3/  /^(a)\g{3/
7925  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
7926    
7927  /^(a)\g{4a}/  /^(a)\g{4a}/
7928  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 8156  No match Line 8005  No match
8005   0+   0+
8006    
8007  /abc.$/mgx<anycrlf>  /abc.$/mgx<anycrlf>
8008      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
8009   0: abc1   0: abc1
8010   0: abc4   0: abc4
8011   0: abc5   0: abc5
# Line 8172  No match Line 8021  No match
8021    
8022  /(ab|c)(?-1)/BZ  /(ab|c)(?-1)/BZ
8023  ------------------------------------------------------------------  ------------------------------------------------------------------
8024          Bra 0          Bra
8025          Bra 1          CBra 1
8026          ab          ab
8027          Alt          Alt
8028          c          c
# Line 8190  No match Line 8039  No match
8039    
8040  /xy(?+1)(abc)/BZ  /xy(?+1)(abc)/BZ
8041  ------------------------------------------------------------------  ------------------------------------------------------------------
8042          Bra 0          Bra
8043          xy          xy
8044          Once          Once
8045          Recurse          Recurse
8046          Ket          Ket
8047          Bra 1          CBra 1
8048          abc          abc
8049          Ket          Ket
8050          Ket          Ket
# Line 8210  No match Line 8059  No match
8059  No match  No match
8060    
8061  /x(?-0)y/  /x(?-0)y/
8062  Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
8063    
8064  /x(?-1)y/  /x(?-1)y/
8065  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
8066    
8067  /x(?+0)y/  /x(?+0)y/
8068  Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
8069    
8070  /x(?+1)y/  /x(?+1)y/
8071  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
8072    
8073  /^(abc)?(?(-1)X|Y)/BZ  /^(abc)?(?(-1)X|Y)/BZ
8074  ------------------------------------------------------------------  ------------------------------------------------------------------
8075          Bra 0          Bra
8076          ^          ^
8077          Brazero          Brazero
8078          Bra 1          CBra 1
8079          abc          abc
8080          Ket          Ket
8081          Cond          Cond
# Line 8250  No match Line 8099  No match
8099    
8100  /^((?(+1)X|Y)(abc))+/BZ  /^((?(+1)X|Y)(abc))+/BZ
8101  ------------------------------------------------------------------  ------------------------------------------------------------------
8102          Bra 0          Bra
8103          ^          ^
8104          Bra 1          CBra 1
8105          Cond          Cond
8106        2 Cond ref        2 Cond ref
8107          X          X
8108          Alt          Alt
8109          Y          Y
8110          Ket          Ket
8111          Bra 2          CBra 2
8112          abc          abc
8113          Ket          Ket
8114          KetRmax          KetRmax
# Line 8284  Failed: reference to non-existent subpat Line 8133  Failed: reference to non-existent subpat
8133    
8134  /((?(-1)a))/BZ  /((?(-1)a))/BZ
8135  ------------------------------------------------------------------  ------------------------------------------------------------------
8136          Bra 0          Bra
8137          Bra 1          CBra 1
8138          Cond          Cond
8139        1 Cond ref        1 Cond ref
8140          a          a
# Line 8298  Failed: reference to non-existent subpat Line 8147  Failed: reference to non-existent subpat
8147  /((?(-2)a))/BZ  /((?(-2)a))/BZ
8148  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8149    
8150  /^(?(+1)X|Y)/BZ  /^(?(+1)X|Y)(.)/BZ
8151  ------------------------------------------------------------------  ------------------------------------------------------------------
8152          Bra 0          Bra
8153          ^          ^
8154          Cond          Cond
8155<