/[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 226 by ph10, Tue Aug 21 11:46:08 2007 UTC revision 513 by ph10, Mon May 3 11:13:37 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 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
206  Capturing subpattern count = 1  Capturing subpattern count = 1
 Contains explicit CR or LF match  
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 190  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 311  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 325  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 339  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 361  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 369  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 402  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  
 Contains explicit CR or LF match  
443  No options  No options
444  No first char  No first char
445  No need char  No need char
# Line 412  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 421  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 430  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 439  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 448  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 457  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 466  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 524  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 534  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 541  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 548  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 586  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 594  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)
# Line 614  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 670  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 687  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 694  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 701  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
# Line 786  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 856  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 868  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 948  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 1008  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 1026  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 1041  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 1108  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
 Partial matching not supported  
1161  Contains explicit CR or LF match  Contains explicit CR or LF match
1162  No options  No options
1163  First char = 'w'  First char = 'w'
# Line 1123  Need char = 'd' Line 1172  Need char = 'd'
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'
# Line 1131  Need char = 'X' Line 1179  Need char = 'X'
1179  /.*X/IDZs  /.*X/IDZs
1180  ------------------------------------------------------------------  ------------------------------------------------------------------
1181          Bra          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'
# Line 1156  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
# Line 1165  No need char Line 1211  No need char
1211  ------------------------------------------------------------------  ------------------------------------------------------------------
1212          Bra          Bra
1213          CBra 1          CBra 1
1214          Any*          AllAny*
1215          X          X
1216          Alt          Alt
1217          ^          ^
# Line 1175  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
# Line 1184  No need char Line 1229  No need char
1229  ------------------------------------------------------------------  ------------------------------------------------------------------
1230          Bra          Bra
1231          CBra 1          CBra 1
1232          Any*          AllAny*
1233          X          X
1234          Alt          Alt
1235          ^          ^
# Line 1194  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
# Line 1204  No need char Line 1248  No need char
1248          Bra          Bra
1249          Bra          Bra
1250       04 Opt       04 Opt
1251          Any*          AllAny*
1252          X          X
1253          Alt          Alt
1254       04 Opt       04 Opt
# Line 1216  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 1301  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 1404  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  
 Contains explicit CR or LF match  
1479  No options  No options
1480  First char = '"'  First char = '"'
1481  Need char = '"'  Need char = '"'
# Line 1495  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 1571  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 1597  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 1672  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 1704  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 1715  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  
 Contains explicit CR or LF match  
1741  Options: extended  Options: extended
1742  First char = '('  First char = '('
1743  Need char = ')'  Need char = ')'
# Line 1745  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  
 Contains explicit CR or LF match  
1769  Options: extended  Options: extended
1770  First char = '('  First char = '('
1771  Need char = ')'  Need char = ')'
# Line 1761  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  
 Contains explicit CR or LF match  
1783  Options: extended  Options: extended
1784  First char = '('  First char = '('
1785  Need char = ')'  Need char = ')'
# Line 1781  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  
 Contains explicit CR or LF match  
1801  Options: extended  Options: extended
1802  First char = '('  First char = '('
1803  Need char = ')'  Need char = ')'
# Line 1793  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  
 Contains explicit CR or LF match  
1811  Options: extended  Options: extended
1812  First char = '('  First char = '('
1813  Need char = ')'  Need char = ')'
# Line 1804  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  
 Contains explicit CR or LF match  
1820  Options: extended  Options: extended
1821  First char = '('  First char = '('
1822  Need char = ')'  Need char = ')'
# Line 1816  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  
 Contains explicit CR or LF match  
1830  Options: extended  Options: extended
1831  First char = '('  First char = '('
1832  Need char = ')'  Need char = ')'
# Line 1834  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  
 Contains explicit CR or LF match  
1846  Options: extended  Options: extended
1847  First char = '('  First char = '('
1848  Need char = ')'  Need char = ')'
# Line 1852  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  
 Contains explicit CR or LF match  
1862  Options: extended  Options: extended
1863  First char = '('  First char = '('
1864  Need char = ')'  Need char = ')'
# Line 1873  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  
 Contains explicit CR or LF match  
1881  Options: extended  Options: extended
1882  First char = '('  First char = '('
1883  Need char = ')'  Need char = ')'
# Line 1882  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  
 Contains explicit CR or LF match  
1891  Options: extended  Options: extended
1892  First char = '('  First char = '('
1893  Need char = ')'  Need char = ')'
# Line 1919  No need char Line 1919  No need char
1919  ------------------------------------------------------------------  ------------------------------------------------------------------
1920          Bra          Bra
1921          ^          ^
1922          [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1923          Ket          Ket
1924          End          End
1925  ------------------------------------------------------------------  ------------------------------------------------------------------
1926  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1927  Options: anchored  Options: anchored
1928  No first char  No first char
1929  No need char  No need char
# Line 1946  No need char Line 1945  No need char
1945  ------------------------------------------------------------------  ------------------------------------------------------------------
1946          Bra          Bra
1947          ^          ^
1948          [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1949          Ket          Ket
1950          End          End
1951  ------------------------------------------------------------------  ------------------------------------------------------------------
1952  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1953  Options: anchored  Options: anchored
1954  No first char  No first char
1955  No need char  No need char
# Line 1961  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    
# Line 1973  Starting byte set: A B C D E F G H I J K Line 1972  Starting byte set: A B C D E F G H I J K
1972          End          End
1973  ------------------------------------------------------------------  ------------------------------------------------------------------
1974  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1975  Options: anchored  Options: anchored
1976  No first char  No first char
1977  No need char  No need char
# Line 1982  No need char Line 1980  No need char
1980  ------------------------------------------------------------------  ------------------------------------------------------------------
1981          Bra          Bra
1982          ^          ^
1983          [\x80-\xff]          [\x80-\xff] (neg)
1984          Ket          Ket
1985          End          End
1986  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2008  No need char Line 2006  No need char
2006  ------------------------------------------------------------------  ------------------------------------------------------------------
2007          Bra          Bra
2008          ^          ^
2009          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2010          Ket          Ket
2011          End          End
2012  ------------------------------------------------------------------  ------------------------------------------------------------------
2013  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2014  Options: anchored  Options: anchored
2015  No first char  No first char
2016  No need char  No need char
# Line 2024  Contains explicit CR or LF match Line 2021  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
# Line 2035  Starting byte set: \x09 \x0a \x0b \x0c \ Line 2033  Starting byte set: \x09 \x0a \x0b \x0c \
2033          End          End
2034  ------------------------------------------------------------------  ------------------------------------------------------------------
2035  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2036  Options: anchored  Options: anchored
2037  No first char  No first char
2038  No need char  No need char
# Line 2114  No need char Line 2111  No need char
2111          End          End
2112  ------------------------------------------------------------------  ------------------------------------------------------------------
2113  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2114  Options: anchored  Options: anchored
2115  No first char  No first char
2116  No need char  No need char
# Line 2162  No need char Line 2158  No need char
2158  ------------------------------------------------------------------  ------------------------------------------------------------------
2159          Bra          Bra
2160          ^          ^
2161          [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2162          Ket          Ket
2163          End          End
2164  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2175  No need char Line 2171  No need char
2171  ------------------------------------------------------------------  ------------------------------------------------------------------
2172          Bra          Bra
2173          ^          ^
2174          [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2175          Ket          Ket
2176          End          End
2177  ------------------------------------------------------------------  ------------------------------------------------------------------
2178  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2179  Options: anchored  Options: anchored
2180  No first char  No first char
2181  No need char  No need char
# Line 2189  No need char Line 2184  No need char
2184  ------------------------------------------------------------------  ------------------------------------------------------------------
2185          Bra          Bra
2186          ^          ^
2187          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2188          Ket          Ket
2189          End          End
2190  ------------------------------------------------------------------  ------------------------------------------------------------------
2191  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2192  Options: anchored  Options: anchored
2193  No first char  No first char
2194  No need char  No need char
# Line 2274  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 2758  No need char Line 2751  No need char
2751  /[\S]/DZ  /[\S]/DZ
2752  ------------------------------------------------------------------  ------------------------------------------------------------------
2753          Bra          Bra
2754          [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2755          Ket          Ket
2756          End          End
2757  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2955  Need char = 'c' Line 2948  Need char = 'c'
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 2984  No need char Line 2976  No need char
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
# Line 3000  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
# Line 3024  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 3038  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 3053  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 3062  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 3072  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 3082  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  
 Contains explicit CR or LF match  
3070  No options  No options
3071  No first char  No first char
3072  No need char  No need char
# Line 3093  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  
 Contains explicit CR or LF match  
3079  No options  No options
3080  First char = '('  First char = '('
3081  Need char = ')'  Need char = ')'
# Line 3157  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 3174  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 3203  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
# Line 3219  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'
# Line 3237  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 3295  No need char Line 3271  No need char
3271          End          End
3272  ------------------------------------------------------------------  ------------------------------------------------------------------
3273  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
3274  No options  No options
3275  No first char  No first char
3276  No need char  No need char
# Line 3308  No need char Line 3283  No need char
3283          End          End
3284  ------------------------------------------------------------------  ------------------------------------------------------------------
3285  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
3286  No options  No options
3287  No first char  No first char
3288  No need char  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  
 Contains explicit CR or LF match  
3292  Options: extended  Options: extended
3293  First char = '<'  First char = '<'
3294  Need char = '>'  Need char = '>'
# Line 3366  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 3381  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 3396  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 3404  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 3421  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 3468  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 3527  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
3499  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
3500  No options  No options
3501  No first char  No first char
3502  No need char  No need char
# Line 3547  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 3580  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 3587  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 3744  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 3873  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 3899  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 3940  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  Failed: recursive call could loop indefi Line 3957  Failed: recursive call could loop indefi
3957    
3958  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3959  Capturing subpattern count = 1  Capturing subpattern count = 1
 Contains explicit CR or LF match  
3960  Options: anchored  Options: anchored
3961  No first char  No first char
3962  No need char  No need char
# Line 4011  No match Line 3976  No match
3976    
3977  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
3978  Capturing subpattern count = 1  Capturing subpattern count = 1
 Contains explicit CR or LF match  
3979  Options: anchored  Options: anchored
3980  No first char  No first char
3981  Need char = '<'  Need char = '<'
# Line 4061  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 4138  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  
 Contains explicit CR or LF match  
4070  Options: extended  Options: extended
4071  First char = '<'  First char = '<'
4072  Need char = '>'  Need char = '>'
# Line 4313  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 4359  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 4367  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 4375  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 4390  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 4398  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 4406  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 4414  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 4429  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 4437  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
# Line 4504  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 4641  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 4659  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 4766  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 4776  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!!
# Line 4795  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  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4819  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  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4888  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 4933  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 5371  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 5403  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 5412  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 5421  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 5434  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 5467  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 5505  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 5539  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 5555  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 5612  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 5632  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 5650  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 5703  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 5713  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 5957  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  
 Contains explicit CR or LF match  
5863  No options  No options
5864  No first char  No first char
5865  No need char  No need char
# Line 5971  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  
 Contains explicit CR or LF match  
5875  No options  No options
5876  No first char  No first char
5877  No need char  No need char
# Line 5983  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  
 Contains explicit CR or LF match  
5885  No options  No options
5886  No first char  No first char
5887  No need char  No need char
# Line 5995  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  
 Contains explicit CR or LF match  
5895  No options  No options
5896  No first char  No first char
5897  No need char  No need char
# Line 6009  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  
 Contains explicit CR or LF match  
5907  No options  No options
5908  No first char  No first char
5909  No need char  No need char
# Line 6023  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 6205  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 6351  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 6481  Unknown newline type at: Line 6375  Unknown newline type at:
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 6507  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 6524  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 6659  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 6670  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 6677  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 6684  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 6691  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 6698  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 6705  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
# Line 6718  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'
# Line 6734  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'
# Line 6750  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'
# Line 6766  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 6788  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 6799  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 7632  No match Line 7524  No match
7524          ^          ^
7525          CBra 1          CBra 1
7526          Cond          Cond
7527        2 Cond ref        2 Cond nref
7528          y          y
7529          Ket          Ket
7530          [()]          [()]
# Line 7698  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 7732  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 7745  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 7753  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 7793  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 7830  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 7889  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 7899  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 7913  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 7931  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 7951  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 7973  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 7995  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 8025  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 8102  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 7  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 5  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 7  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 8  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 8201  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 8255  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
# Line 8343  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          Bra
8153          ^          ^
# Line 8353  Failed: reference to non-existent subpat Line 8157  Failed: reference to non-existent subpat
8157          Alt          Alt
8158          Y          Y
8159          Ket          Ket
8160            CBra 1
8161            Any
8162            Ket
8163          Ket          Ket
8164          End          End
8165  ------------------------------------------------------------------  ------------------------------------------------------------------
8166      Y      Y!
8167   0: Y   0: Y!
8168     1: !
 /(foo)\Kbar/  
     foobar  
  0: bar  
  1: foo  
   
 /(foo)(\Kbar|baz)/  
     foobar  
  0: bar  
  1: foo  
  2: bar  
     foobaz  
  0: foobaz  
  1: foo  
  2: baz  
   
 /(foo\Kbar)baz/  
     foobarbaz  
  0: barbaz  
  1: foobar  
8169    
8170  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8171      tom-tom      tom-tom
# Line 8391  No match Line 8179  No match
8179      tom-bon      tom-bon
8180  No match  No match
8181    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
  0: tom-tom  
  1: tom  
     bon-bon  
  0: bon-bon  
  1: bon  
   
8182  /\g{A/  /\g{A/
8183  Failed: syntax error in subpattern name (missing terminator) at offset 4  Failed: syntax error in subpattern name (missing terminator) at offset 4
8184    
# Line 8493  Failed: syntax error in subpattern name Line 8273  Failed: syntax error in subpattern name
8273   3: <unset>   3: <unset>
8274   4: x   4: x
8275    
 /(?|(abc)|(xyz))\1/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzxyz  
  0: xyzxyz  
  1: xyz  
     ** Failers  
 No match  
     abcxyz  
 No match  
     xyzabc  
 No match  
   
 /(?|(abc)|(xyz))(?1)/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzabc  
  0: xyzabc  
  1: xyz  
     ** Failers  
 No match  
     xyzxyz  
 No match  
   
 /\H\h\V\v/  
     X X\x0a  
  0: X X\x0a  
     X\x09X\x0b  
  0: X\x09X\x0b  
     ** Failers  
 No match  
     \xa0 X\x0a  
 No match  
   
 /\H*\h+\V?\v{3,4}/  
     \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0X\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c  
  0: \x09 \xa0\x0a\x0b\x0c  
     ** Failers  
 No match  
     \x09\x20\xa0\x0a\x0b  
 No match  
   
 /\H{3,4}/  
     XY  ABCDE  
  0: ABCD  
     XY  PQR ST  
  0: PQR  
   
 /.\h{3,4}./  
     XY  AB    PQRS  
  0: B    P  
   
 /\h*X\h?\H+Y\H?Z/  
     >XNNNYZ  
  0: XNNNYZ  
     >  X NYQZ  
  0:   X NYQZ  
     ** Failers  
 No match  
     >XYZ  
 No match  
     >  X NY Z  
 No match  
   
 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/  
     >XY\x0aZ\x0aA\x0bNN\x0c  
  0: XY\x0aZ\x0aA\x0bNN\x0c  
     >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
  0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
   
8276  /[\h]/BZ  /[\h]/BZ
8277  ------------------------------------------------------------------  ------------------------------------------------------------------
8278          Bra          Bra
# Line 8865  Failed: missing terminating ] for charac Line 8569  Failed: missing terminating ] for charac
8569          End          End
8570  ------------------------------------------------------------------  ------------------------------------------------------------------
8571    
 /^a+(*FAIL)/  
     aaaaaa  
 No match  
   
 /a+b?c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*PRUNE)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*COMMIT)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*SKIP)c+(*FAIL)/  
     aaabcccaaabccc  
 No match  
   
 /^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
     aaa++++++  
  0: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
     bbb+++++  
  0: bbb  
     cccxxxx  
  0: cccxxxx  
     ccc++++  
  0: ccc  
     dddddddd  
  0: ddd  
   
 /^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
  1: aaaxxxxxx  
     aaa++++++  
  0: aaa  
  1: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
  1: bbbxxxxx  
     bbb+++++  
  0: bbb  
  1: bbb  
     cccxxxx  
  0: cccxxxx  
  1: cccxxxx  
     ccc++++  
  0: ccc  
  1: ccc  
     dddddddd  
  0: ddd  
  1: ddd  
   
 /a+b?(*THEN)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /(A (A|B(*ACCEPT)|C) D)(E)/x  
     ABX  
  0: AB  
     AADE  
  0: AADE  
  1: AAD  
  2: A  
  3: E  
     ACDE  
  0: ACDE  
  1: ACD  
  2: C  
  3: E  
     ** Failers  
 No match  
     AD  
 No match  
   
8572  /^a+(*FAIL)/C  /^a+(*FAIL)/C
8573      aaaaaa      aaaaaa
8574  --->aaaaaa  --->aaaaaa
# Line 9074  No match Line 8697  No match
8697  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8698  No match  No match
8699    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8700  /a(*MARK)b/  /a(*MARK)b/
8701  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8702    
8703  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8704  Failed: number is too big at offset 19  Failed: number is too big at offset 19
# Line 9109  No match Line 8729  No match
8729   0: \x0aA   0: \x0aA
8730   1: \x0a   1: \x0a
8731    
8732  / End of testinput2 /  /a(*CR)b/
8733    Failed: (*VERB) not recognized at offset 5
8734    
8735    /(*CR)a.b/
8736        a\nb
8737     0: a\x0ab
8738        ** Failers
8739    No match
8740        a\rb
8741    No match
8742    
8743    /(*CR)a.b/<lf>
8744        a\nb
8745     0: a\x0ab
8746        ** Failers
8747    No match
8748        a\rb
8749    No match
8750    
8751    /(*LF)a.b/<CRLF>
8752        a\rb
8753     0: a\x0db
8754        ** Failers
8755    No match
8756        a\nb
8757    No match
8758    
8759    /(*CRLF)a.b/
8760        a\rb
8761     0: a\x0db
8762        a\nb
8763     0: a\x0ab
8764        ** Failers
8765    No match
8766        a\r\nb
8767    No match
8768    
8769    /(*ANYCRLF)a.b/<CR>
8770        ** Failers
8771    No match
8772        a\rb
8773    No match
8774        a\nb
8775    No match
8776        a\r\nb
8777    No match
8778    
8779    /(*ANY)a.b/<cr>
8780        ** Failers
8781    No match
8782        a\rb
8783    No match
8784        a\nb
8785    No match
8786        a\r\nb
8787    No match
8788        a\x85b
8789    No match
8790    
8791    /a\Rb/I<bsr_anycrlf>
8792    Capturing subpattern count = 0
8793    Options: bsr_anycrlf
8794    First char = 'a'
8795    Need char = 'b'
8796        a\rb
8797     0: a\x0db
8798        a\nb
8799     0: a\x0ab
8800        a\r\nb
8801     0: a\x0d\x0ab
8802        ** Failers
8803    No match
8804        a\x85b
8805    No match
8806        a\x0bb
8807    No match
8808    
8809    /a\Rb/I<bsr_unicode>
8810    Capturing subpattern count = 0
8811    Options: bsr_unicode
8812    First char = 'a'
8813    Need char = 'b'
8814        a\rb
8815     0: a\x0db
8816        a\nb
8817     0: a\x0ab
8818        a\r\nb
8819     0: a\x0d\x0ab
8820        a\x85b
8821     0: a\x85b
8822        a\x0bb
8823     0: a\x0bb
8824        ** Failers
8825    No match
8826        a\x85b\<bsr_anycrlf>
8827    No match
8828        a\x0bb\<bsr_anycrlf>
8829    No match
8830    
8831    /a\R?b/I<bsr_anycrlf>
8832    Capturing subpattern count = 0
8833    Options: bsr_anycrlf
8834    First char = 'a'
8835    Need char = 'b'
8836        a\rb
8837     0: a\x0db
8838        a\nb
8839     0: a\x0ab
8840        a\r\nb
8841     0: a\x0d\x0ab
8842        ** Failers
8843    No match
8844        a\x85b
8845    No match
8846        a\x0bb
8847    No match
8848    
8849    /a\R?b/I<bsr_unicode>
8850    Capturing subpattern count = 0
8851    Options: bsr_unicode
8852    First char = 'a'
8853    Need char = 'b'
8854        a\rb
8855     0: a\x0db
8856        a\nb
8857     0: a\x0ab
8858        a\r\nb
8859     0: a\x0d\x0ab
8860        a\x85b
8861     0: a\x85b
8862        a\x0bb
8863     0: a\x0bb
8864        ** Failers
8865    No match
8866        a\x85b\<bsr_anycrlf>
8867    No match
8868        a\x0bb\<bsr_anycrlf>
8869    No match
8870    
8871    /a\R{2,4}b/I<bsr_anycrlf>
8872    Capturing subpattern count = 0
8873    Options: bsr_anycrlf
8874    First char = 'a'
8875    Need char = 'b'
8876        a\r\n\nb
8877     0: a\x0d\x0a\x0ab
8878        a\n\r\rb
8879     0: a\x0a\x0d\x0db
8880        a\r\n\r\n\r\n\r\nb
8881     0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
8882        ** Failers
8883    No match
8884        a\x85\85b
8885    No match
8886        a\x0b\0bb
8887    No match
8888    
8889    /a\R{2,4}b/I<bsr_unicode>
8890    Capturing subpattern count = 0
8891    Options: bsr_unicode
8892    First char = 'a'
8893    Need char = 'b'
8894        a\r\rb
8895     0: a\x0d\x0db
8896        a\n\n\nb
8897     0: a\x0a\x0a\x0ab
8898        a\r\n\n\r\rb
8899     0: a\x0d\x0a\x0a\x0d\x0db
8900        a\x85\85b
8901    No match
8902        a\x0b\0bb
8903    No match
8904        ** Failers
8905    No match
8906        a\r\r\r\r\rb
8907    No match
8908        a\x85\85b\<bsr_anycrlf>
8909    No match
8910        a\x0b\0bb\<bsr_anycrlf>
8911    No match
8912    
8913    /(*BSR_ANYCRLF)a\Rb/I
8914    Capturing subpattern count = 0
8915    Options: bsr_anycrlf
8916    First char = 'a'
8917    Need char = 'b'
8918        a\nb
8919     0: a\x0ab
8920        a\rb
8921     0: a\x0db
8922    
8923    /(*BSR_UNICODE)a\Rb/I
8924    Capturing subpattern count = 0
8925    Options: bsr_unicode
8926    First char = 'a'
8927    Need char = 'b'
8928        a\x85b
8929     0: a\x85b
8930    
8931    /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
8932    Capturing subpattern count = 0
8933    Options: bsr_anycrlf
8934    Forced newline sequence: CRLF
8935    First char = 'a'
8936    Need char = 'b'
8937        a\nb
8938     0: a\x0ab
8939        a\rb
8940     0: a\x0db
8941    
8942    /(*CRLF)(*BSR_UNICODE)a\Rb/I
8943    Capturing subpattern count = 0
8944    Options: bsr_unicode
8945    Forced newline sequence: CRLF
8946    First char = 'a'
8947    Need char = 'b'
8948        a\x85b
8949     0: a\x85b
8950    
8951    /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
8952    Capturing subpattern count = 0
8953    Options: bsr_anycrlf
8954    Forced newline sequence: CR
8955    First char = 'a'
8956    Need char = 'b'
8957    
8958    /(?<a>)(?&)/
8959    Failed: subpattern name expected at offset 9
8960    
8961    /(?<abc>)(?&a)/
8962    Failed: reference to non-existent subpattern at offset 12
8963    
8964    /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
8965    Failed: reference to non-existent subpattern at offset 32
8966    
8967    /(?+-a)/
8968    Failed: digit expected after (?+ at offset 3
8969    
8970    /(?-+a)/
8971    Failed: unrecognized character after (? or (?- at offset 3
8972    
8973    /(?(-1))/
8974    Failed: reference to non-existent subpattern at offset 6
8975    
8976    /(?(+10))/
8977    Failed: reference to non-existent subpattern at offset 7
8978    
8979    /(?(10))/
8980    Failed: reference to non-existent subpattern at offset 6
8981    
8982    /(?(+2))()()/
8983    
8984    /(?(2))()()/
8985    
8986    /\k''/
8987    Failed: subpattern name expected at offset 3
8988    
8989    /\k<>/
8990    Failed: subpattern name expected at offset 3
8991    
8992    /\k{}/
8993    Failed: subpattern name expected at offset 3
8994    
8995    /(?P=)/
8996    Failed: subpattern name expected at offset 4
8997    
8998    /(?P>)/
8999    Failed: subpattern name expected at offset 4
9000    
9001    /(?!\w)(?R)/
9002    Failed: recursive call could loop indefinitely at offset 9
9003    
9004    /(?=\w)(?R)/
9005    Failed: recursive call could loop indefinitely at offset 9
9006    
9007    /(?<!\w)(?R)/
9008    Failed: recursive call could loop indefinitely at offset 10
9009    
9010    /(?<=\w)(?R)/
9011    Failed: recursive call could loop indefinitely at offset 10
9012    
9013    /[[:foo:]]/
9014    Failed: unknown POSIX class name at offset 3
9015    
9016    /[[:1234:]]/
9017    Failed: unknown POSIX class name at offset 3
9018    
9019    /[[:f\oo:]]/
9020    Failed: unknown POSIX class name at offset 3
9021    
9022    /[[: :]]/
9023    Failed: unknown POSIX class name at offset 3
9024    
9025    /[[:...:]]/
9026    Failed: unknown POSIX class name at offset 3
9027    
9028    /[[:l\ower:]]/
9029    Failed: unknown POSIX class name at offset 3
9030    
9031    /[[:abc\:]]/
9032    Failed: unknown POSIX class name at offset 3
9033    
9034    /[abc[:x\]pqr:]]/
9035    Failed: unknown POSIX class name at offset 6
9036    
9037    /[[:a\dz:]]/
9038    Failed: unknown POSIX class name at offset 3
9039    
9040    /(^(a|b\g<-1'c))/
9041    Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
9042    
9043    /^(?+1)(?<a>x|y){0}z/
9044        xzxx
9045     0: xz
9046        yzyy
9047     0: yz
9048        ** Failers
9049    No match
9050        xxz
9051    No match
9052    
9053    /(\3)(\1)(a)/
9054        cat
9055    No match
9056    
9057    /(\3)(\1)(a)/<JS>
9058        cat
9059     0: a
9060     1:
9061     2:
9062     3: a
9063    
9064    /TA]/
9065        The ACTA] comes
9066     0: TA]
9067    
9068    /TA]/<JS>
9069    Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
9070    
9071    /(?2)[]a()b](abc)/
9072    Failed: reference to non-existent subpattern at offset 3
9073    
9074    /(?2)[^]a()b](abc)/
9075    Failed: reference to non-existent subpattern at offset 3
9076    
9077    /(?1)[]a()b](abc)/
9078        abcbabc
9079     0: abcbabc
9080     1: abc
9081        ** Failers
9082    No match
9083        abcXabc
9084    No match
9085    
9086    /(?1)[^]a()b](abc)/
9087        abcXabc
9088     0: abcXabc
9089     1: abc
9090        ** Failers
9091    No match
9092        abcbabc
9093    No match
9094    
9095    /(?2)[]a()b](abc)(xyz)/
9096        xyzbabcxyz
9097     0: xyzbabcxyz
9098     1: abc
9099     2: xyz
9100    
9101    /(?&N)[]a(?<N>)](?<M>abc)/
9102    Failed: reference to non-existent subpattern at offset 4
9103    
9104    /(?&N)[]a(?<N>)](abc)/
9105    Failed: reference to non-existent subpattern at offset 4
9106    
9107    /a[]b/
9108    Failed: missing terminating ] for character class at offset 4
9109    
9110    /a[^]b/
9111    Failed: missing terminating ] for character class at offset 5
9112    
9113    /a[]b/<JS>
9114        ** Failers
9115    No match
9116        ab
9117    No match
9118    
9119    /a[]+b/<JS>
9120        ** Failers
9121    No match
9122        ab
9123    No match
9124    
9125    /a[]*+b/<JS>
9126        ** Failers
9127    No match
9128        ab
9129    No match
9130    
9131    /a[^]b/<JS>
9132        aXb
9133     0: aXb
9134        a\nb
9135     0: a\x0ab
9136        ** Failers
9137    No match
9138        ab
9139    No match
9140    
9141    /a[^]+b/<JS>
9142        aXb
9143     0: aXb
9144        a\nX\nXb
9145     0: a\x0aX\x0aXb
9146        ** Failers
9147    No match
9148        ab
9149    No match
9150    
9151    /a(?!)+b/
9152    Failed: nothing to repeat at offset 5
9153    
9154    /a(*FAIL)+b/
9155    Failed: nothing to repeat at offset 8
9156    
9157    /(abc|pqr|123){0}[xyz]/SI
9158    Capturing subpattern count = 1
9159    No options
9160    No first char
9161    No need char
9162    Subject length lower bound = 1
9163    Starting byte set: x y z
9164    
9165    /(?(?=.*b)b|^)/CI
9166    Capturing subpattern count = 0
9167    Options:
9168    No first char
9169    No need char
9170       adc
9171    --->adc
9172     +0 ^       (?(?=.*b)b|^)
9173     +2 ^       (?=.*b)
9174     +5 ^       .*
9175     +7 ^  ^    b
9176     +7 ^ ^     b
9177     +7 ^^      b
9178     +7 ^       b
9179    +12 ^       )
9180    +13 ^
9181     0:
9182       abc
9183    --->abc
9184     +0 ^       (?(?=.*b)b|^)
9185     +2 ^       (?=.*b)
9186     +5 ^       .*
9187     +7 ^  ^    b
9188     +7 ^ ^     b
9189     +7 ^^      b
9190     +8 ^ ^     )
9191     +9 ^       b
9192     +0  ^      (?(?=.*b)b|^)
9193     +2  ^      (?=.*b)
9194     +5  ^      .*
9195     +7  ^ ^    b
9196     +7  ^^     b
9197     +7  ^      b
9198     +8  ^^     )
9199     +9  ^      b
9200    +10  ^^     |
9201    +13  ^^
9202     0: b
9203    
9204    /(?(?=b).*b|^d)/I
9205    Capturing subpattern count = 0
9206    No options
9207    No first char
9208    No need char
9209    
9210    /(?(?=.*b).*b|^d)/I
9211    Capturing subpattern count = 0
9212    No options
9213    First char at start or follows newline
9214    No need char
9215    
9216    /a?|b?/P
9217        abc
9218     0: a
9219        ** Failers
9220     0:
9221        ddd\N
9222    No match: POSIX code 17: match failed
9223    
9224    /xyz/C
9225      xyz
9226    --->xyz
9227     +0 ^       x
9228     +1 ^^      y
9229     +2 ^ ^     z
9230     +3 ^  ^
9231     0: xyz
9232      abcxyz
9233    --->abcxyz
9234     +0    ^       x
9235     +1    ^^      y
9236     +2    ^ ^     z
9237     +3    ^  ^
9238     0: xyz
9239      abcxyz\Y
9240    --->abcxyz
9241     +0 ^          x
9242     +0  ^         x
9243     +0   ^        x
9244     +0    ^       x
9245     +1    ^^      y
9246     +2    ^ ^     z
9247     +3    ^  ^
9248     0: xyz
9249      ** Failers
9250    No match
9251      abc
9252    No match
9253      abc\Y
9254    --->abc
9255     +0 ^       x
9256     +0  ^      x
9257     +0   ^     x
9258     +0    ^    x
9259    No match
9260      abcxypqr
9261    No match
9262      abcxypqr\Y
9263    --->abcxypqr
9264     +0 ^            x
9265     +0  ^           x
9266     +0   ^          x
9267     +0    ^         x
9268     +1    ^^        y
9269     +2    ^ ^       z
9270     +0     ^        x
9271     +0      ^       x
9272     +0       ^      x
9273     +0        ^     x
9274     +0         ^    x
9275    No match
9276    
9277    /^"((?(?=[a])[^"])|b)*"$/C
9278        "ab"
9279    --->"ab"
9280     +0 ^        ^
9281     +1 ^        "
9282     +2 ^^       ((?(?=[a])[^"])|b)*
9283     +3 ^^       (?(?=[a])[^"])
9284     +5 ^^       (?=[a])
9285     +8 ^^       [a]
9286    +11 ^ ^      )
9287    +12 ^^       [^"]
9288    +16 ^ ^      )
9289    +17 ^ ^      |
9290     +3 ^ ^      (?(?=[a])[^"])
9291     +5 ^ ^      (?=[a])
9292     +8 ^ ^      [a]
9293    +21 ^ ^      "
9294    +18 ^ ^      b
9295    +19 ^  ^     )
9296     +3 ^  ^     (?(?=[a])[^"])
9297     +5 ^  ^     (?=[a])
9298     +8 ^  ^     [a]
9299    +21 ^  ^     "
9300    +22 ^   ^    $
9301    +23 ^   ^
9302     0: "ab"
9303     1:
9304    
9305    /^"((?(?=[a])[^"])|b)*"$/
9306        "ab"
9307     0: "ab"
9308     1:
9309    
9310    /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
9311    Failed: reference to non-existent subpattern at offset 5
9312    
9313    /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
9314        XYabcdY
9315     0: XYabcdY
9316     1: a
9317     2: b
9318     3: c
9319     4: d
9320     5: Y
9321    
9322    /Xa{2,4}b/
9323        X\P
9324    Partial match: X
9325        Xa\P
9326    Partial match: Xa
9327        Xaa\P
9328    Partial match: Xaa
9329        Xaaa\P
9330    Partial match: Xaaa
9331        Xaaaa\P
9332    Partial match: Xaaaa
9333    
9334    /Xa{2,4}?b/
9335        X\P
9336    Partial match: X
9337        Xa\P
9338    Partial match: Xa
9339        Xaa\P
9340    Partial match: Xaa
9341        Xaaa\P
9342    Partial match: Xaaa
9343        Xaaaa\P
9344    Partial match: Xaaaa
9345    
9346    /Xa{2,4}+b/
9347        X\P
9348    Partial match: X
9349        Xa\P
9350    Partial match: Xa
9351        Xaa\P
9352    Partial match: Xaa
9353        Xaaa\P
9354    Partial match: Xaaa
9355        Xaaaa\P
9356    Partial match: Xaaaa
9357    
9358    /X\d{2,4}b/
9359        X\P
9360    Partial match: X
9361        X3\P
9362    Partial match: X3
9363        X33\P
9364    Partial match: X33
9365        X333\P
9366    Partial match: X333
9367        X3333\P
9368    Partial match: X3333
9369    
9370    /X\d{2,4}?b/
9371        X\P
9372    Partial match: X
9373        X3\P
9374    Partial match: X3
9375        X33\P
9376    Partial match: X33
9377        X333\P
9378    Partial match: X333
9379        X3333\P
9380    Partial match: X3333
9381    
9382    /X\d{2,4}+b/
9383        X\P
9384    Partial match: X
9385        X3\P
9386    Partial match: X3
9387        X33\P
9388    Partial match: X33
9389        X333\P
9390    Partial match: X333
9391        X3333\P
9392    Partial match: X3333
9393    
9394    /X\D{2,4}b/
9395        X\P
9396    Partial match: X
9397        Xa\P
9398    Partial match: Xa
9399        Xaa\P
9400    Partial match: Xaa
9401        Xaaa\P
9402    Partial match: Xaaa
9403        Xaaaa\P
9404    Partial match: Xaaaa
9405    
9406    /X\D{2,4}?b/
9407        X\P
9408    Partial match: X
9409        Xa\P
9410    Partial match: Xa
9411        Xaa\P
9412    Partial match: Xaa
9413        Xaaa\P
9414    Partial match: Xaaa
9415        Xaaaa\P
9416    Partial match: Xaaaa
9417    
9418    /X\D{2,4}+b/
9419        X\P
9420    Partial match: X
9421        Xa\P
9422    Partial match: Xa
9423        Xaa\P
9424    Partial match: Xaa
9425        Xaaa\P
9426    Partial match: Xaaa
9427        Xaaaa\P
9428    Partial match: Xaaaa
9429    
9430    /X[abc]{2,4}b/
9431        X\P
9432    Partial match: X
9433        Xa\P
9434    Partial match: Xa
9435        Xaa\P
9436    Partial match: Xaa
9437        Xaaa\P
9438    Partial match: Xaaa
9439        Xaaaa\P
9440    Partial match: Xaaaa
9441    
9442    /X[abc]{2,4}?b/
9443        X\P
9444    Partial match: X
9445        Xa\P
9446    Partial match: Xa
9447        Xaa\P
9448    Partial match: Xaa
9449        Xaaa\P
9450    Partial match: Xaaa
9451        Xaaaa\P
9452    Partial match: Xaaaa
9453    
9454    /X[abc]{2,4}+b/
9455        X\P
9456    Partial match: X
9457        Xa\P
9458    Partial match: Xa
9459        Xaa\P
9460    Partial match: Xaa
9461        Xaaa\P
9462    Partial match: Xaaa
9463        Xaaaa\P
9464    Partial match: Xaaaa
9465    
9466    /X[^a]{2,4}b/
9467        X\P
9468    Partial match: X
9469        Xz\P
9470    Partial match: Xz
9471        Xzz\P
9472    Partial match: Xzz
9473        Xzzz\P
9474    Partial match: Xzzz
9475        Xzzzz\P
9476    Partial match: Xzzzz
9477    
9478    /X[^a]{2,4}?b/
9479        X\P
9480    Partial match: X
9481        Xz\P
9482    Partial match: Xz
9483        Xzz\P
9484    Partial match: Xzz
9485        Xzzz\P
9486    Partial match: Xzzz
9487        Xzzzz\P
9488    Partial match: Xzzzz
9489    
9490    /X[^a]{2,4}+b/
9491        X\P
9492    Partial match: X
9493        Xz\P
9494    Partial match: Xz
9495        Xzz\P
9496    Partial match: Xzz
9497        Xzzz\P
9498    Partial match: Xzzz
9499        Xzzzz\P
9500    Partial match: Xzzzz
9501    
9502    /(Y)X\1{2,4}b/
9503        YX\P
9504    Partial match: YX
9505        YXY\P
9506    Partial match: YXY
9507        YXYY\P
9508    Partial match: YXYY
9509        YXYYY\P
9510    Partial match: YXYYY
9511        YXYYYY\P
9512    Partial match: YXYYYY
9513    
9514    /(Y)X\1{2,4}?b/
9515        YX\P
9516    Partial match: YX
9517        YXY\P
9518    Partial match: YXY
9519        YXYY\P
9520    Partial match: YXYY
9521        YXYYY\P
9522    Partial match: YXYYY
9523        YXYYYY\P
9524    Partial match: YXYYYY
9525    
9526    /(Y)X\1{2,4}+b/
9527        YX\P
9528    Partial match: YX
9529        YXY\P
9530    Partial match: YXY
9531        YXYY\P
9532    Partial match: YXYY
9533        YXYYY\P
9534    Partial match: YXYYY
9535        YXYYYY\P
9536    Partial match: YXYYYY
9537    
9538    /\++\KZ|\d+X|9+Y/
9539        ++++123999\P
9540    Partial match: 123999
9541        ++++123999Y\P
9542     0: 999Y
9543        ++++Z1234\P
9544     0: Z
9545    
9546    /Z(*F)/
9547        Z\P
9548    No match
9549        ZA\P
9550    No match
9551    
9552    /Z(?!)/
9553        Z\P
9554    No match
9555        ZA\P
9556    No match
9557    
9558    /dog(sbody)?/
9559        dogs\P
9560     0: dog
9561        dogs\P\P
9562    Partial match: dogs
9563    
9564    /dog(sbody)??/
9565        dogs\P
9566     0: dog
9567        dogs\P\P
9568     0: dog
9569    
9570    /dog|dogsbody/
9571        dogs\P
9572     0: dog
9573        dogs\P\P
9574     0: dog
9575    
9576    /dogsbody|dog/
9577        dogs\P
9578     0: dog
9579        dogs\P\P
9580    Partial match: dogs
9581    
9582    /\bthe cat\b/
9583        the cat\P
9584     0: the cat
9585        the cat\P\P
9586    Partial match: the cat
9587    
9588    /abc/
9589       abc\P
9590     0: abc
9591       abc\P\P
9592     0: abc
9593    
9594    /\w+A/P
9595       CDAAAAB
9596     0: CDAAAA
9597    
9598    /\w+A/PU
9599       CDAAAAB
9600     0: CDA
9601    
9602    /abc\K123/
9603        xyzabc123pqr
9604     0: 123
9605        xyzabc12\P
9606    Partial match: abc12
9607        xyzabc12\P\P
9608    Partial match: abc12
9609    
9610    /(?<=abc)123/
9611        xyzabc123pqr
9612     0: 123
9613        xyzabc12\P
9614    Partial match: abc12
9615        xyzabc12\P\P
9616    Partial match: abc12
9617    
9618    /\babc\b/
9619        +++abc+++
9620     0: abc
9621        +++ab\P
9622    Partial match: +ab
9623        +++ab\P\P
9624    Partial match: +ab
9625    
9626    /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9627    ------------------------------------------------------------------
9628            Bra
9629            Once
9630            Recurse
9631            Ket
9632            Once
9633            Recurse
9634            Ket
9635            Cond
9636            Cond def
9637            CBra 1
9638            <
9639            [^m]
9640            [^>]
9641            >
9642            [^<]
9643            Ket
9644            CBra 2
9645            \w*+
9646            Ket
9647            Ket
9648            Ket
9649            End
9650    ------------------------------------------------------------------
9651    
9652    /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
9653    ------------------------------------------------------------------
9654            Bra
9655            Once
9656            Recurse
9657            Ket
9658            Once
9659            Recurse
9660            Ket
9661            Cond
9662            Cond def
9663            CBra 1
9664            <
9665            [\x00-/:-\xff] (neg)
9666            [^>]
9667            >
9668            [^<]
9669            Ket
9670            CBra 2
9671            \w*+
9672            Ket
9673            Ket
9674            Ket
9675            End
9676    ------------------------------------------------------------------
9677    
9678    /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
9679    ------------------------------------------------------------------
9680            Bra
9681            CBra 1
9682            ab
9683            Ket
9684            CBra 2
9685            x
9686            CBra 3
9687            y
9688            Ket
9689            z
9690            CBra 4
9691            cd
9692            Close 4
9693            Close 2
9694            *ACCEPT
9695            Ket
9696            Ket
9697            pq
9698            Ket
9699            End
9700    ------------------------------------------------------------------
9701    
9702    /abc\K/+
9703        abcdef
9704     0:
9705     0+ def
9706        abcdef\N\N
9707     0:
9708     0+ def
9709        xyzabcdef\N\N
9710     0:
9711     0+ def
9712        ** Failers
9713    No match
9714        abcdef\N
9715    No match
9716        xyzabcdef\N
9717    No match
9718    
9719    /^(?:(?=abc)|abc\K)/+
9720        abcdef
9721     0:
9722     0+ abcdef
9723        abcdef\N\N
9724     0:
9725     0+ def
9726        ** Failers
9727    No match
9728        abcdef\N
9729    No match
9730    
9731    /a?b?/+
9732        xyz
9733     0:
9734     0+ xyz
9735        xyzabc
9736     0:
9737     0+ xyzabc
9738        xyzabc\N
9739     0: ab
9740     0+ c
9741        xyzabc\N\N
9742     0:
9743     0+ yzabc
9744        xyz\N\N
9745     0:
9746     0+ yz
9747        ** Failers
9748     0:
9749     0+ ** Failers
9750        xyz\N
9751    No match
9752    
9753    /^a?b?/+
9754        xyz
9755     0:
9756     0+ xyz
9757        xyzabc
9758     0:
9759     0+ xyzabc
9760        ** Failers
9761     0:
9762     0+ ** Failers
9763        xyzabc\N
9764    No match
9765        xyzabc\N\N
9766    No match
9767        xyz\N\N
9768    No match
9769        xyz\N
9770    No match
9771    
9772    /^(?<name>a|b\g<name>c)/
9773        aaaa
9774     0: a
9775     1: a
9776        bacxxx
9777     0: bac
9778     1: bac
9779        bbaccxxx
9780     0: bbacc
9781     1: bbacc
9782        bbbacccxx
9783     0: bbbaccc
9784     1: bbbaccc
9785    
9786    /^(?<name>a|b\g'name'c)/
9787        aaaa
9788     0: a
9789     1: a
9790        bacxxx
9791     0: bac
9792     1: bac
9793        bbaccxxx
9794     0: bbacc
9795     1: bbacc
9796        bbbacccxx
9797     0: bbbaccc
9798     1: bbbaccc
9799    
9800    /^(a|b\g<1>c)/
9801        aaaa
9802     0: a
9803     1: a
9804        bacxxx
9805     0: bac
9806     1: bac
9807        bbaccxxx
9808     0: bbacc
9809     1: bbacc
9810        bbbacccxx
9811     0: bbbaccc
9812     1: bbbaccc
9813    
9814    /^(a|b\g'1'c)/
9815        aaaa
9816     0: a
9817     1: a
9818        bacxxx
9819     0: bac
9820     1: bac
9821        bbaccxxx
9822     0: bbacc
9823     1: bbacc
9824        bbbacccxx
9825     0: bbbaccc
9826     1: bbbaccc
9827    
9828    /^(a|b\g'-1'c)/
9829        aaaa
9830     0: a
9831     1: a
9832        bacxxx
9833     0: bac
9834     1: bac
9835        bbaccxxx
9836     0: bbacc
9837     1: bbacc
9838        bbbacccxx
9839     0: bbbaccc
9840     1: bbbaccc
9841    
9842    /(^(a|b\g<-1>c))/
9843        aaaa
9844     0: a
9845     1: a
9846     2: a
9847        bacxxx
9848     0: bac
9849     1: bac
9850     2: bac
9851        bbaccxxx
9852     0: bbacc
9853     1: bbacc
9854     2: bbacc
9855        bbbacccxx
9856     0: bbbaccc
9857     1: bbbaccc
9858     2: bbbaccc
9859    
9860    /(?-i:\g<name>)(?i:(?<name>a))/
9861        XaaX
9862     0: aa
9863     1: a
9864        XAAX
9865     0: AA
9866     1: A
9867    
9868    /(?i:\g<name>)(?-i:(?<name>a))/
9869        XaaX
9870     0: aa
9871     1: a
9872        ** Failers
9873    No match
9874        XAAX
9875    No match
9876    
9877    /(?-i:\g<+1>)(?i:(a))/
9878        XaaX
9879     0: aa
9880     1: a
9881        XAAX
9882     0: AA
9883     1: A
9884    
9885    /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
9886    
9887    /(?<n>a|b|c)\g<n>*/
9888       abc
9889     0: abc
9890     1: a
9891       accccbbb
9892     0: accccbbb
9893     1: a
9894    
9895    /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
9896        XYabcdY
9897     0: XYabcdY
9898     1: a
9899     2: b
9900     3: <unset>
9901     4: <unset>
9902     5: c
9903     6: d
9904     7: Y
9905    
9906    /(?<=b(?1)|zzz)(a)/
9907        xbaax
9908     0: a
9909     1: a
9910        xzzzax
9911     0: a
9912     1: a
9913    
9914    /(a)(?<=b\1)/
9915    Failed: lookbehind assertion is not fixed length at offset 10
9916    
9917    /(a)(?<=b+(?1))/
9918    Failed: lookbehind assertion is not fixed length at offset 13
9919    
9920    /(a+)(?<=b(?1))/
9921    Failed: lookbehind assertion is not fixed length at offset 14
9922    
9923    /(a(?<=b(?1)))/
9924    Failed: lookbehind assertion is not fixed length at offset 13
9925    
9926    /(?<=b(?1))xyz/
9927    Failed: reference to non-existent subpattern at offset 8
9928    
9929    /(?<=b(?1))xyz(b+)pqrstuvew/
9930    Failed: lookbehind assertion is not fixed length at offset 26
9931    
9932    /(a|bc)\1/SI
9933    Capturing subpattern count = 1
9934    Max back reference = 1
9935    No options
9936    No first char
9937    No need char
9938    Subject length lower bound = 2
9939    Starting byte set: a b
9940    
9941    /(a|bc)\1{2,3}/SI
9942    Capturing subpattern count = 1
9943    Max back reference = 1
9944    No options
9945    No first char
9946    No need char
9947    Subject length lower bound = 3
9948    Starting byte set: a b
9949    
9950    /(a|bc)(?1)/SI
9951    Capturing subpattern count = 1
9952    No options
9953    No first char
9954    No need char
9955    Subject length lower bound = 2
9956    Starting byte set: a b
9957    
9958    /(a|b\1)(a|b\1)/SI
9959    Capturing subpattern count = 2
9960    Max back reference = 1
9961    No options
9962    No first char
9963    No need char
9964    Subject length lower bound = 2
9965    Starting byte set: a b
9966    
9967    /(a|b\1){2}/SI
9968    Capturing subpattern count = 1
9969    Max back reference = 1
9970    No options
9971    No first char
9972    No need char
9973    Subject length lower bound = 2
9974    Starting byte set: a b
9975    
9976    /(a|bbbb\1)(a|bbbb\1)/SI
9977    Capturing subpattern count = 2
9978    Max back reference = 1
9979    No options
9980