/[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 227 by ph10, Tue Aug 21 15:00:15 2007 UTC revision 613 by ph10, Sat Jul 2 16:59:52 2011 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 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 603  Need char = 'h' (caseless) Line 632  Need char = 'h' (caseless)
632  ------------------------------------------------------------------  ------------------------------------------------------------------
633          Bra          Bra
634          CBra 1          CBra 1
635       01 Opt       /i b
      NC b  
636          Ket          Ket
      00 Opt  
637          Ket          Ket
638          End          End
639  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 614  Capturing subpattern count = 1 Line 641  Capturing subpattern count = 1
641  No options  No options
642  First char = 'b' (caseless)  First char = 'b' (caseless)
643  No need char  No need char
644  Study returned NULL  Subject length lower bound = 1
645    No set of starting bytes
646    
647  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
648  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
649  No options  No options
650  No first char  No first char
651  No need char  No need char
652    Subject length lower bound = 1
653  Starting byte set: C a b c d  Starting byte set: C a b c d
654    
655  /a$/I  /a$/I
# Line 670  Need char = 'c' Line 698  Need char = 'c'
698    
699  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
700  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
701  Options: anchored  Options: anchored
702  No first char  No first char
703  No need char  No need char
# Line 687  Capturing subpattern count = 0 Line 714  Capturing subpattern count = 0
714  No options  No options
715  No first char  No first char
716  No need char  No need char
717    Subject length lower bound = 1
718  Starting byte set: a b  Starting byte set: a b
719    
720  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 694  Capturing subpattern count = 1 Line 722  Capturing subpattern count = 1
722  No options  No options
723  No first char  No first char
724  Need char = 'a'  Need char = 'a'
725    Subject length lower bound = 5
726  Starting byte set: a o  Starting byte set: a o
727    
728  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 701  Capturing subpattern count = 0 Line 730  Capturing subpattern count = 0
730  No options  No options
731  No first char  No first char
732  No need char  No need char
733    Subject length lower bound = 1
734  Starting byte set: a b  Starting byte set: a b
735    
736  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
# Line 786  No need char Line 816  No need char
816    
817  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
818  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
819  No options  No options
820  First char at start or follows newline  First char at start or follows newline
821  No need char  No need char
# Line 856  No match Line 885  No match
885      a      a
886  No match  No match
887    
888  /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
889  Capturing subpattern count = 0  Capturing subpattern count = 0
890  No options  No options
891  First char = 'T'  First char = 'T'
# Line 868  Max back reference = 1 Line 897  Max back reference = 1
897  Options: anchored  Options: anchored
898  No first char  No first char
899  No need char  No need char
900        aaaa
901    No match
902      aaaaaa      aaaaaa
903   0: aaaaaa  No match
904   1: aa  
905    /Perl does not fail these two for the final subjects. Neither did PCRE until/
906    /release 8.01. The problem is in backtracking into a subpattern that contains/
907    No match
908    /a recursive reference to itself. PCRE has now made these into atomic patterns./
909    No match
910    
911    /^(xa|=?\1a){2}$/
912        xa=xaa
913     0: xa=xaa
914     1: =xaa
915        ** Failers
916    No match
917        xa=xaaa
918    No match
919    
920    /^(xa|=?\1a)+$/
921        xa=xaa
922     0: xa=xaa
923     1: =xaa
924        ** Failers
925    No match
926        xa=xaaa
927    No match
928    
929  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
930  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 948  Failed: missing ) at offset 4 Line 1002  Failed: missing ) at offset 4
1002  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
1003    
1004  /a(?{)b/  /a(?{)b/
1005  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1006    
1007  /a(?{{})b/  /a(?{{})b/
1008  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1009    
1010  /a(?{}})b/  /a(?{}})b/
1011  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1012    
1013  /a(?{"{"})b/  /a(?{"{"})b/
1014  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1015    
1016  /a(?{"{"}})b/  /a(?{"{"}})b/
1017  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1018    
1019  /(?(1?)a|b)/  /(?(1?)a|b)/
1020  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
1021    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
1022  /[a[:xyz:/  /[a[:xyz:/
1023  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
1024    
# Line 1008  copy substring 5 failed -7 Line 1059  copy substring 5 failed -7
1059    
1060  /(.{20})/I  /(.{20})/I
1061  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1062  No options  No options
1063  No first char  No first char
1064  No need char  No need char
# Line 1026  No need char Line 1076  No need char
1076    
1077  /(.{15})/I  /(.{15})/I
1078  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1079  No options  No options
1080  No first char  No first char
1081  No need char  No need char
# Line 1041  No need char Line 1090  No need char
1090    
1091  /(.{16})/I  /(.{16})/I
1092  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1093  No options  No options
1094  No first char  No first char
1095  No need char  No need char
# Line 1108  No need char Line 1156  No need char
1156  )((?:[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]+
1157  )?)?)?)?)?)?)?)?)?otherword/I  )?)?)?)?)?)?)?)?)?otherword/I
1158  Capturing subpattern count = 8  Capturing subpattern count = 8
 Partial matching not supported  
1159  Contains explicit CR or LF match  Contains explicit CR or LF match
1160  No options  No options
1161  First char = 'w'  First char = 'w'
# Line 1123  Need char = 'd' Line 1170  Need char = 'd'
1170          End          End
1171  ------------------------------------------------------------------  ------------------------------------------------------------------
1172  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1173  No options  No options
1174  First char at start or follows newline  First char at start or follows newline
1175  Need char = 'X'  Need char = 'X'
# Line 1131  Need char = 'X' Line 1177  Need char = 'X'
1177  /.*X/IDZs  /.*X/IDZs
1178  ------------------------------------------------------------------  ------------------------------------------------------------------
1179          Bra          Bra
1180          Any*          AllAny*
1181          X          X
1182          Ket          Ket
1183          End          End
1184  ------------------------------------------------------------------  ------------------------------------------------------------------
1185  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1186  Options: anchored dotall  Options: anchored dotall
1187  No first char  No first char
1188  Need char = 'X'  Need char = 'X'
# Line 1156  Need char = 'X' Line 1201  Need char = 'X'
1201          End          End
1202  ------------------------------------------------------------------  ------------------------------------------------------------------
1203  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1204  No options  No options
1205  First char at start or follows newline  First char at start or follows newline
1206  No need char  No need char
# Line 1165  No need char Line 1209  No need char
1209  ------------------------------------------------------------------  ------------------------------------------------------------------
1210          Bra          Bra
1211          CBra 1          CBra 1
1212          Any*          AllAny*
1213          X          X
1214          Alt          Alt
1215          ^          ^
# Line 1175  No need char Line 1219  No need char
1219          End          End
1220  ------------------------------------------------------------------  ------------------------------------------------------------------
1221  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1222  Options: anchored dotall  Options: anchored dotall
1223  No first char  No first char
1224  No need char  No need char
# Line 1184  No need char Line 1227  No need char
1227  ------------------------------------------------------------------  ------------------------------------------------------------------
1228          Bra          Bra
1229          CBra 1          CBra 1
1230          Any*          AllAny*
1231          X          X
1232          Alt          Alt
1233          ^          ^
# Line 1194  No need char Line 1237  No need char
1237          End          End
1238  ------------------------------------------------------------------  ------------------------------------------------------------------
1239  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1240  Options: anchored dotall  Options: anchored dotall
1241  No first char  No first char
1242  No need char  No need char
# Line 1203  No need char Line 1245  No need char
1245  ------------------------------------------------------------------  ------------------------------------------------------------------
1246          Bra          Bra
1247          Bra          Bra
1248       04 Opt          AllAny*
         Any*  
1249          X          X
1250          Alt          Alt
      04 Opt  
1251          ^          ^
1252          B          B
1253          Ket          Ket
      00 Opt  
1254          Ket          Ket
1255          End          End
1256  ------------------------------------------------------------------  ------------------------------------------------------------------
1257  Capturing subpattern count = 0  Capturing subpattern count = 0
1258  Partial matching not supported  Options: anchored
1259  No options  No first char
 First char at start or follows newline  
1260  No need char  No need char
1261    
1262  /\Biss\B/I+  /\Biss\B/I+
# Line 1301  No need char Line 1339  No need char
1339    
1340  /.*iss/Ig+  /.*iss/Ig+
1341  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1342  No options  No options
1343  First char at start or follows newline  First char at start or follows newline
1344  Need char = 's'  Need char = 's'
# Line 1404  Need char = 'c' Line 1441  Need char = 'c'
1441    
1442  /a*/I  /a*/I
1443  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1444  No options  No options
1445  No first char  No first char
1446  No need char  No need char
1447    
1448  /a+/I  /a+/I
1449  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1450  No options  No options
1451  First char = 'a'  First char = 'a'
1452  No need char  No need char
1453    
1454  /(baa|a+)/I  /(baa|a+)/I
1455  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1456  No options  No options
1457  No first char  No first char
1458  Need char = 'a'  Need char = 'a'
1459    
1460  /a{0,3}/I  /a{0,3}/I
1461  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1462  No options  No options
1463  No first char  No first char
1464  No need char  No need char
1465    
1466  /baa{3,}/I  /baa{3,}/I
1467  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1468  No options  No options
1469  First char = 'b'  First char = 'b'
1470  Need char = 'a'  Need char = 'a'
1471    
1472  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1473  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
1474  No options  No options
1475  First char = '"'  First char = '"'
1476  Need char = '"'  Need char = '"'
# Line 1495  Need char = 'b' Line 1525  Need char = 'b'
1525    
1526  /abc*/I  /abc*/I
1527  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1528  No options  No options
1529  First char = 'a'  First char = 'a'
1530  Need char = 'b'  Need char = 'b'
1531    
1532  /ab.c*/I  /ab.c*/I
1533  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1534  No options  No options
1535  First char = 'a'  First char = 'a'
1536  Need char = 'b'  Need char = 'b'
1537    
1538  /a.c*/I  /a.c*/I
1539  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1540  No options  No options
1541  First char = 'a'  First char = 'a'
1542  No need char  No need char
1543    
1544  /.c*/I  /.c*/I
1545  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1546  No options  No options
1547  No first char  No first char
1548  No need char  No need char
1549    
1550  /ac*/I  /ac*/I
1551  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1552  No options  No options
1553  First char = 'a'  First char = 'a'
1554  No need char  No need char
1555    
1556  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1557  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1558  No options  No options
1559  No first char  No first char
1560  No need char  No need char
1561    
1562  /a.c*|aba/I  /a.c*|aba/I
1563  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1564  No options  No options
1565  First char = 'a'  First char = 'a'
1566  No need char  No need char
1567    
1568  /.+a/I  /.+a/I
1569  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1570  No options  No options
1571  No first char  No first char
1572  Need char = 'a'  Need char = 'a'
1573    
1574  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1575  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1576  No options  No options
1577  First char = 'a'  First char = 'a'
1578  Need char = 'a'  Need char = 'a'
1579    
1580  /(?=a)a.*/I  /(?=a)a.*/I
1581  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1582  No options  No options
1583  First char = 'a'  First char = 'a'
1584  No need char  No need char
# Line 1571  No need char Line 1591  No need char
1591    
1592  /a\d*/I  /a\d*/I
1593  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1594  No options  No options
1595  First char = 'a'  First char = 'a'
1596  No need char  No need char
1597    
1598  /ab\d*/I  /ab\d*/I
1599  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1600  No options  No options
1601  First char = 'a'  First char = 'a'
1602  Need char = 'b'  Need char = 'b'
# Line 1597  Need char = 'd' Line 1615  Need char = 'd'
1615    
1616  /ab\d+/I  /ab\d+/I
1617  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1618  No options  No options
1619  First char = 'a'  First char = 'a'
1620  Need char = 'b'  Need char = 'b'
1621    
1622  /a(?(1)b)/I  /a(?(1)b)(.)/I
1623  Capturing subpattern count = 0  Capturing subpattern count = 1
1624  No options  No options
1625  First char = 'a'  First char = 'a'
1626  No need char  No need char
1627    
1628  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1629  Capturing subpattern count = 0  Capturing subpattern count = 1
1630  No options  No options
1631  First char = 'a'  First char = 'a'
1632  Need char = 'g'  Need char = 'g'
1633    
1634  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1635  Capturing subpattern count = 0  Capturing subpattern count = 1
1636  No options  No options
1637  First char = 'a'  First char = 'a'
1638  No need char  No need char
1639    
1640  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1641  Capturing subpattern count = 0  Capturing subpattern count = 1
1642  No options  No options
1643  First char = 'a'  First char = 'a'
1644  Need char = 'g'  Need char = 'g'
1645    
1646  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1647  Capturing subpattern count = 0  Capturing subpattern count = 1
1648  No options  No options
1649  First char = 'a'  First char = 'a'
1650  Need char = 'b'  Need char = 'b'
# Line 1672  No need char Line 1689  No need char
1689      \Nabc      \Nabc
1690  No match  No match
1691    
1692  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/P
1693      aaaabbbbzzzz      aaaabbbbzzzz
1694   0: aaaabbbbzz   0: aaaabbbbzz
1695   1: bbbb   1: bbbb
# Line 1704  Capturing subpattern count = 0 Line 1721  Capturing subpattern count = 0
1721  Options: anchored  Options: anchored
1722  No first char  No first char
1723  Need char = 'd'  Need char = 'd'
1724  Study returned NULL  Subject length lower bound = 4
1725    No set of starting bytes
1726    
1727  /\(             # ( at start  /\(             # ( at start
1728    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1715  Study returned NULL Line 1733  Study returned NULL
1733    \)            # Closing )    \)            # Closing )
1734    /Ix    /Ix
1735  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
1736  Options: extended  Options: extended
1737  First char = '('  First char = '('
1738  Need char = ')'  Need char = ')'
# Line 1745  No match Line 1761  No match
1761    
1762  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1763  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
1764  Options: extended  Options: extended
1765  First char = '('  First char = '('
1766  Need char = ')'  Need char = ')'
# Line 1761  Need char = ')' Line 1775  Need char = ')'
1775    
1776  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1777  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
1778  Options: extended  Options: extended
1779  First char = '('  First char = '('
1780  Need char = ')'  Need char = ')'
# Line 1781  No match Line 1793  No match
1793    
1794  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1795  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
1796  Options: extended  Options: extended
1797  First char = '('  First char = '('
1798  Need char = ')'  Need char = ')'
# Line 1793  Need char = ')' Line 1803  Need char = ')'
1803    
1804  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1805  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
1806  Options: extended  Options: extended
1807  First char = '('  First char = '('
1808  Need char = ')'  Need char = ')'
# Line 1804  Need char = ')' Line 1812  Need char = ')'
1812    
1813  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1814  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
 Contains explicit CR or LF match  
1815  Options: extended  Options: extended
1816  First char = '('  First char = '('
1817  Need char = ')'  Need char = ')'
# Line 1816  Need char = ')' Line 1822  Need char = ')'
1822    
1823  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1824  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
 Contains explicit CR or LF match  
1825  Options: extended  Options: extended
1826  First char = '('  First char = '('
1827  Need char = ')'  Need char = ')'
# Line 1834  Need char = ')' Line 1838  Need char = ')'
1838    
1839  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1840  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
 Contains explicit CR or LF match  
1841  Options: extended  Options: extended
1842  First char = '('  First char = '('
1843  Need char = ')'  Need char = ')'
# Line 1852  Need char = ')' Line 1854  Need char = ')'
1854    
1855  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1856  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
 Contains explicit CR or LF match  
1857  Options: extended  Options: extended
1858  First char = '('  First char = '('
1859  Need char = ')'  Need char = ')'
# Line 1873  Need char = ')' Line 1873  Need char = ')'
1873    
1874  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1875  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
 Contains explicit CR or LF match  
1876  Options: extended  Options: extended
1877  First char = '('  First char = '('
1878  Need char = ')'  Need char = ')'
# Line 1882  Need char = ')' Line 1880  Need char = ')'
1880   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1881   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1882   2: 123   2: 123
  3: <unset>  
1883    
1884  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1885  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
 Contains explicit CR or LF match  
1886  Options: extended  Options: extended
1887  First char = '('  First char = '('
1888  Need char = ')'  Need char = ')'
# Line 1919  No need char Line 1914  No need char
1914  ------------------------------------------------------------------  ------------------------------------------------------------------
1915          Bra          Bra
1916          ^          ^
1917          [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1918          Ket          Ket
1919          End          End
1920  ------------------------------------------------------------------  ------------------------------------------------------------------
1921  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1922  Options: anchored  Options: anchored
1923  No first char  No first char
1924  No need char  No need char
# Line 1946  No need char Line 1940  No need char
1940  ------------------------------------------------------------------  ------------------------------------------------------------------
1941          Bra          Bra
1942          ^          ^
1943          [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1944          Ket          Ket
1945          End          End
1946  ------------------------------------------------------------------  ------------------------------------------------------------------
1947  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1948  Options: anchored  Options: anchored
1949  No first char  No first char
1950  No need char  No need char
# Line 1961  Capturing subpattern count = 0 Line 1954  Capturing subpattern count = 0
1954  No options  No options
1955  No first char  No first char
1956  No need char  No need char
1957    Subject length lower bound = 1
1958  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
1959    _ 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
1960    
# Line 1973  Starting byte set: A B C D E F G H I J K Line 1967  Starting byte set: A B C D E F G H I J K
1967          End          End
1968  ------------------------------------------------------------------  ------------------------------------------------------------------
1969  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1970  Options: anchored  Options: anchored
1971  No first char  No first char
1972  No need char  No need char
# Line 1982  No need char Line 1975  No need char
1975  ------------------------------------------------------------------  ------------------------------------------------------------------
1976          Bra          Bra
1977          ^          ^
1978          [\x80-\xff]          [\x80-\xff] (neg)
1979          Ket          Ket
1980          End          End
1981  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2008  No need char Line 2001  No need char
2001  ------------------------------------------------------------------  ------------------------------------------------------------------
2002          Bra          Bra
2003          ^          ^
2004          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2005          Ket          Ket
2006          End          End
2007  ------------------------------------------------------------------  ------------------------------------------------------------------
2008  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2009  Options: anchored  Options: anchored
2010  No first char  No first char
2011  No need char  No need char
# Line 2024  Contains explicit CR or LF match Line 2016  Contains explicit CR or LF match
2016  No options  No options
2017  No first char  No first char
2018  No need char  No need char
2019    Subject length lower bound = 1
2020  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2021    
2022  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
# Line 2035  Starting byte set: \x09 \x0a \x0b \x0c \ Line 2028  Starting byte set: \x09 \x0a \x0b \x0c \
2028          End          End
2029  ------------------------------------------------------------------  ------------------------------------------------------------------
2030  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2031  Options: anchored  Options: anchored
2032  No first char  No first char
2033  No need char  No need char
# Line 2114  No need char Line 2106  No need char
2106          End          End
2107  ------------------------------------------------------------------  ------------------------------------------------------------------
2108  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2109  Options: anchored  Options: anchored
2110  No first char  No first char
2111  No need char  No need char
# Line 2162  No need char Line 2153  No need char
2153  ------------------------------------------------------------------  ------------------------------------------------------------------
2154          Bra          Bra
2155          ^          ^
2156          [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2157          Ket          Ket
2158          End          End
2159  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2175  No need char Line 2166  No need char
2166  ------------------------------------------------------------------  ------------------------------------------------------------------
2167          Bra          Bra
2168          ^          ^
2169          [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2170          Ket          Ket
2171          End          End
2172  ------------------------------------------------------------------  ------------------------------------------------------------------
2173  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2174  Options: anchored  Options: anchored
2175  No first char  No first char
2176  No need char  No need char
# Line 2189  No need char Line 2179  No need char
2179  ------------------------------------------------------------------  ------------------------------------------------------------------
2180          Bra          Bra
2181          ^          ^
2182          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2183          Ket          Ket
2184          End          End
2185  ------------------------------------------------------------------  ------------------------------------------------------------------
2186  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2187  Options: anchored  Options: anchored
2188  No first char  No first char
2189  No need char  No need char
# Line 2274  Need char = 'd' Line 2263  Need char = 'd'
2263  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2264  Capturing subpattern count = 271  Capturing subpattern count = 271
2265  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2266  No options  No options
2267  No first char  No first char
2268  No need char  No need char
# Line 2758  No need char Line 2746  No need char
2746  /[\S]/DZ  /[\S]/DZ
2747  ------------------------------------------------------------------  ------------------------------------------------------------------
2748          Bra          Bra
2749          [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2750          Ket          Ket
2751          End          End
2752  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2771  No need char Line 2759  No need char
2759  ------------------------------------------------------------------  ------------------------------------------------------------------
2760          Bra          Bra
2761          a          a
2762       01 Opt       /i b
      NC b  
2763          Ket          Ket
2764          End          End
2765  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2794  No match Line 2781  No match
2781          Bra          Bra
2782          CBra 1          CBra 1
2783          a          a
2784       01 Opt       /i b
      NC b  
2785          Ket          Ket
      00 Opt  
2786          Ket          Ket
2787          End          End
2788  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2819  No match Line 2804  No match
2804  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2805  ------------------------------------------------------------------  ------------------------------------------------------------------
2806          Bra          Bra
2807       NC abc       /i abc
2808          Ket          Ket
2809          End          End
2810  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2832  Need char = 'c' (caseless) Line 2817  Need char = 'c' (caseless)
2817    (?i)abc/IxDZ    (?i)abc/IxDZ
2818  ------------------------------------------------------------------  ------------------------------------------------------------------
2819          Bra          Bra
2820       NC abc       /i abc
2821          Ket          Ket
2822          End          End
2823  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2955  Need char = 'c' Line 2940  Need char = 'c'
2940          End          End
2941  ------------------------------------------------------------------  ------------------------------------------------------------------
2942  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2943  No options  No options
2944  No first char  No first char
2945  No need char  No need char
# Line 2984  No need char Line 2968  No need char
2968          End          End
2969  ------------------------------------------------------------------  ------------------------------------------------------------------
2970  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2971  No options  No options
2972  First char = 'x'  First char = 'x'
2973  No need char  No need char
# Line 3000  No need char Line 2983  No need char
2983          End          End
2984  ------------------------------------------------------------------  ------------------------------------------------------------------
2985  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2986  No options  No options
2987  First char = 'x'  First char = 'x'
2988  No need char  No need char
# Line 3008  No need char Line 2990  No need char
2990  /(x)*+/DZ  /(x)*+/DZ
2991  ------------------------------------------------------------------  ------------------------------------------------------------------
2992          Bra          Bra
2993          Once          Braposzero
2994          Brazero          CBraPos 1
         CBra 1  
2995          x          x
2996          KetRmax          KetRpos
         Ket  
2997          Ket          Ket
2998          End          End
2999  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3024  No need char Line 3004  No need char
3004    
3005  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
3006  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3007  Options: anchored  Options: anchored
3008  No first char  No first char
3009  No need char  No need char
# Line 3038  No match Line 3017  No match
3017    
3018  /(\d++)(\w)/I  /(\d++)(\w)/I
3019  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3020  No options  No options
3021  No first char  No first char
3022  No need char  No need char
# Line 3053  No match Line 3031  No match
3031    
3032  /a++b/I  /a++b/I
3033  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3034  No options  No options
3035  First char = 'a'  First char = 'a'
3036  Need char = 'b'  Need char = 'b'
# Line 3062  Need char = 'b' Line 3039  Need char = 'b'
3039    
3040  /(a++b)/I  /(a++b)/I
3041  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3042  No options  No options
3043  First char = 'a'  First char = 'a'
3044  Need char = 'b'  Need char = 'b'
# Line 3072  Need char = 'b' Line 3048  Need char = 'b'
3048    
3049  /(a++)b/I  /(a++)b/I
3050  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3051  No options  No options
3052  First char = 'a'  First char = 'a'
3053  Need char = 'b'  Need char = 'b'
# Line 3082  Need char = 'b' Line 3057  Need char = 'b'
3057    
3058  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
3059  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
3060  No options  No options
3061  No first char  No first char
3062  No need char  No need char
# Line 3093  No need char Line 3066  No need char
3066    
3067  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3068  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
3069  No options  No options
3070  First char = '('  First char = '('
3071  Need char = ')'  Need char = ')'
# Line 3157  Failed: nothing to repeat at offset 7 Line 3128  Failed: nothing to repeat at offset 7
3128          End          End
3129  ------------------------------------------------------------------  ------------------------------------------------------------------
3130  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3131  No options  No options
3132  First char = 'x'  First char = 'x'
3133  Need char = 'b'  Need char = 'b'
# Line 3174  Need char = 'b' Line 3144  Need char = 'b'
3144          End          End
3145  ------------------------------------------------------------------  ------------------------------------------------------------------
3146  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3147  Options: ungreedy  Options: ungreedy
3148  First char = 'x'  First char = 'x'
3149  Need char = 'b'  Need char = 'b'
# Line 3203  Need char = 'b' Line 3172  Need char = 'b'
3172          End          End
3173  ------------------------------------------------------------------  ------------------------------------------------------------------
3174  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3175  Options: anchored  Options: anchored
3176  No first char  No first char
3177  No need char  No need char
# Line 3219  No need char Line 3187  No need char
3187          End          End
3188  ------------------------------------------------------------------  ------------------------------------------------------------------
3189  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3190  Options: anchored  Options: anchored
3191  No first char  No first char
3192  Need char = 'b'  Need char = 'b'
# Line 3237  Need char = 'b' Line 3204  Need char = 'b'
3204          End          End
3205  ------------------------------------------------------------------  ------------------------------------------------------------------
3206  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3207  Options: anchored  Options: anchored
3208  No first char  No first char
3209  Need char = 'b'  Need char = 'b'
# Line 3252  Failed: POSIX collating elements are not Line 3218  Failed: POSIX collating elements are not
3218  Failed: POSIX named classes are supported only within a class at offset 0  Failed: POSIX named classes are supported only within a class at offset 0
3219    
3220  /\l/I  /\l/I
3221  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3222    
3223  /\L/I  /\L/I
3224  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3225    
3226  /\N{name}/I  /\N{name}/I
3227  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3228    
3229  /\u/I  /\u/I
3230  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3231    
3232  /\U/I  /\U/I
3233  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3234    
3235  /[/I  /[/I
3236  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3295  No need char Line 3261  No need char
3261          End          End
3262  ------------------------------------------------------------------  ------------------------------------------------------------------
3263  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
3264  No options  No options
3265  No first char  No first char
3266  No need char  No need char
# Line 3308  No need char Line 3273  No need char
3273          End          End
3274  ------------------------------------------------------------------  ------------------------------------------------------------------
3275  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
3276  No options  No options
3277  No first char  No first char
3278  No need char  No need char
3279    
3280  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3281  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
3282  Options: extended  Options: extended
3283  First char = '<'  First char = '<'
3284  Need char = '>'  Need char = '>'
# Line 3366  Need char = 'X' Line 3328  Need char = 'X'
3328  /(.*)\d+\1/I  /(.*)\d+\1/I
3329  Capturing subpattern count = 1  Capturing subpattern count = 1
3330  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3331  No options  No options
3332  No first char  No first char
3333  No need char  No need char
3334    
3335  /(.*)\d+/I  /(.*)\d+/I
3336  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3337  No options  No options
3338  First char at start or follows newline  First char at start or follows newline
3339  No need char  No need char
# Line 3381  No need char Line 3341  No need char
3341  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3342  Capturing subpattern count = 1  Capturing subpattern count = 1
3343  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3344  Options: dotall  Options: dotall
3345  No first char  No first char
3346  No need char  No need char
3347    
3348  /(.*)\d+/Is  /(.*)\d+/Is
3349  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3350  Options: anchored dotall  Options: anchored dotall
3351  No first char  No first char
3352  No need char  No need char
# Line 3396  No need char Line 3354  No need char
3354  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3355  Capturing subpattern count = 2  Capturing subpattern count = 2
3356  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3357  No options  No options
3358  First char at start or follows newline  First char at start or follows newline
3359  Need char = 'z'  Need char = 'z'
# Line 3404  Need char = 'z' Line 3361  Need char = 'z'
3361  /((.*))\d+\1/I  /((.*))\d+\1/I
3362  Capturing subpattern count = 2  Capturing subpattern count = 2
3363  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3364  No options  No options
3365  No first char  No first char
3366  No need char  No need char
# Line 3421  Need char = 'b' Line 3377  Need char = 'b'
3377    
3378  /(?=a).*/I  /(?=a).*/I
3379  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3380  No options  No options
3381  First char = 'a'  First char = 'a'
3382  No need char  No need char
# Line 3468  No options Line 3423  No options
3423  No first char  No first char
3424  Need char = 'a'  Need char = 'a'
3425    
3426  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3427  Capturing subpattern count = 0  Capturing subpattern count = 1
3428  No options  No options
3429  First char = 'a'  First char = 'a'
3430  No need char  No need char
3431    
3432  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3433  Capturing subpattern count = 0  Capturing subpattern count = 1
3434  No options  No options
3435  First char = 'a'  First char = 'a'
3436  Need char = 'z'  Need char = 'z'
3437    
3438  /(?(1)abz)/I  /(?(1)abz)(.)/I
3439  Capturing subpattern count = 0  Capturing subpattern count = 1
3440  No options  No options
3441  No first char  No first char
3442  No need char  No need char
3443    
3444  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3445  Capturing subpattern count = 0  Capturing subpattern count = 1
3446  No options  No options
3447  No first char  No first char
3448  Need char = '3'  Need char = '3'
# Line 3527  Capturing subpattern count = 0 Line 3482  Capturing subpattern count = 0
3482  No options  No options
3483  No first char  No first char
3484  No need char  No need char
3485    Subject length lower bound = 1
3486  Starting byte set: a b  Starting byte set: a b
3487    
3488  /[^a]/I  /[^a]/I
3489  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
3490  No options  No options
3491  No first char  No first char
3492  No need char  No need char
# Line 3547  Capturing subpattern count = 0 Line 3502  Capturing subpattern count = 0
3502  No options  No options
3503  No first char  No first char
3504  Need char = '6'  Need char = '6'
3505    Subject length lower bound = 4
3506  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
3507    
3508  /a^b/I  /a^b/I
# Line 3580  Capturing subpattern count = 0 Line 3536  Capturing subpattern count = 0
3536  Options: caseless  Options: caseless
3537  No first char  No first char
3538  No need char  No need char
3539    Subject length lower bound = 1
3540  Starting byte set: A B a b  Starting byte set: A B a b
3541    
3542  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3587  Capturing subpattern count = 0 Line 3544  Capturing subpattern count = 0
3544  No options  No options
3545  No first char  No first char
3546  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3547    Subject length lower bound = 3
3548  Starting byte set: a b  Starting byte set: a b
3549    
3550  /abc(?C)def/I  /abc(?C)def/I
# Line 3622  Need char = 'f' Line 3580  Need char = 'f'
3580    1    ^    ^     f    1    ^    ^     f
3581   0: abcdef   0: abcdef
3582    
3583  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3584    Capturing subpattern count = 0
3585    No options
3586    No first char
3587    Need char = 'f'
3588    Subject length lower bound = 7
3589    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3590        1234abcdef
3591    --->1234abcdef
3592      1 ^              \d
3593      1  ^             \d
3594      1   ^            \d
3595      1    ^           \d
3596      2    ^   ^       d
3597     0: 4abcdef
3598        *** Failers
3599    No match
3600        abcdef
3601    No match
3602    
3603    /(?C1)\dabc(?C2)def/ISS
3604  Capturing subpattern count = 0  Capturing subpattern count = 0
3605  No options  No options
3606  No first char  No first char
# Line 3744  No need char Line 3722  No need char
3722    
3723  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3724  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3725  No options  No options
3726  No first char  No first char
3727  No need char  No need char
# Line 3873  Callout 0: last capture = 1 Line 3850  Callout 0: last capture = 1
3850    
3851  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3852  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3853  No options  No options
3854  First char = 'a'  First char = 'a'
3855  Need char = 'b'  Need char = 'b'
# Line 3899  No match Line 3875  No match
3875    
3876  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3877  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3878  No options  No options
3879  First char = 'a'  First char = 'a'
3880  Need char = 'b'  Need char = 'b'
# Line 3940  Capturing subpattern count = 0 Line 3915  Capturing subpattern count = 0
3915  No options  No options
3916  No first char  No first char
3917  No need char  No need char
3918    Subject length lower bound = 1
3919  Starting byte set: a b  Starting byte set: a b
3920    
3921  /(?R)/I  /(?R)/I
# Line 3991  Failed: recursive call could loop indefi Line 3967  Failed: recursive call could loop indefi
3967    
3968  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3969  Capturing subpattern count = 1  Capturing subpattern count = 1
 Contains explicit CR or LF match  
3970  Options: anchored  Options: anchored
3971  No first char  No first char
3972  No need char  No need char
# Line 4011  No match Line 3986  No match
3986    
3987  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
3988  Capturing subpattern count = 1  Capturing subpattern count = 1
 Contains explicit CR or LF match  
3989  Options: anchored  Options: anchored
3990  No first char  No first char
3991  Need char = '<'  Need char = '<'
# Line 4061  No options Line 4035  No options
4035  First char = 'a'  First char = 'a'
4036  Need char = 'b'  Need char = 'b'
4037    
 /^\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  
   
4038  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4039  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4040  Options: anchored  Options: anchored
4041  No first char  No first char
4042  No need char  No need char
# Line 4138  No match Line 4077  No match
4077    
4078  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4079  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
 Contains explicit CR or LF match  
4080  Options: extended  Options: extended
4081  First char = '<'  First char = '<'
4082  Need char = '>'  Need char = '>'
# Line 4313  Named capturing subpatterns: Line 4250  Named capturing subpatterns:
4250    one     1    one     1
4251    three   3    three   3
4252    two     2    two     2
 Partial matching not supported  
4253  Options: anchored caseless  Options: anchored caseless
4254  No first char  No first char
4255  No need char  No need char
# Line 4359  No need char Line 4295  No need char
4295    
4296  /(.*)a/Is  /(.*)a/Is
4297  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4298  Options: anchored dotall  Options: anchored dotall
4299  No first char  No first char
4300  Need char = 'a'  Need char = 'a'
# Line 4367  Need char = 'a' Line 4302  Need char = 'a'
4302  /(.*)a\1/Is  /(.*)a\1/Is
4303  Capturing subpattern count = 1  Capturing subpattern count = 1
4304  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4305  Options: dotall  Options: dotall
4306  No first char  No first char
4307  Need char = 'a'  Need char = 'a'
# Line 4375  Need char = 'a' Line 4309  Need char = 'a'
4309  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4310  Capturing subpattern count = 2  Capturing subpattern count = 2
4311  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4312  Options: anchored dotall  Options: anchored dotall
4313  No first char  No first char
4314  Need char = 'b'  Need char = 'b'
4315    
4316  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4317  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4318  Options: anchored dotall  Options: anchored dotall
4319  No first char  No first char
4320  Need char = 'z'  Need char = 'z'
# Line 4390  Need char = 'z' Line 4322  Need char = 'z'
4322  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4323  Capturing subpattern count = 3  Capturing subpattern count = 3
4324  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4325  Options: dotall  Options: dotall
4326  No first char  No first char
4327  Need char = 'z'  Need char = 'z'
# Line 4398  Need char = 'z' Line 4329  Need char = 'z'
4329  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4330  Capturing subpattern count = 3  Capturing subpattern count = 3
4331  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4332  Options: dotall  Options: dotall
4333  No first char  No first char
4334  Need char = 'z'  Need char = 'z'
# Line 4406  Need char = 'z' Line 4336  Need char = 'z'
4336  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4337  Capturing subpattern count = 3  Capturing subpattern count = 3
4338  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4339  Options: dotall  Options: dotall
4340  No first char  No first char
4341  Need char = 'z'  Need char = 'z'
# Line 4414  Need char = 'z' Line 4343  Need char = 'z'
4343  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4344  Capturing subpattern count = 3  Capturing subpattern count = 3
4345  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4346  Options: anchored dotall  Options: anchored dotall
4347  No first char  No first char
4348  Need char = 'z'  Need char = 'z'
4349    
4350  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4351  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4352  Options: anchored dotall  Options: anchored dotall
4353  No first char  No first char
4354  No need char  No need char
# Line 4429  No need char Line 4356  No need char
4356  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4357  Capturing subpattern count = 31  Capturing subpattern count = 31
4358  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4359  Options: dotall  Options: dotall
4360  No first char  No first char
4361  No need char  No need char
# Line 4437  No need char Line 4363  No need char
4363  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4364  Capturing subpattern count = 32  Capturing subpattern count = 32
4365  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4366  Options: dotall  Options: dotall
4367  No first char  No first char
4368  No need char  No need char
# Line 4504  Need char = 'c' Line 4429  Need char = 'c'
4429    
4430  /(a+)*zz/I  /(a+)*zz/I
4431  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4432  No options  No options
4433  No first char  No first char
4434  Need char = 'z'  Need char = 'z'
4435    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4436  Minimum match() limit = 8  Minimum match() limit = 8
4437  Minimum match() recursion limit = 6  Minimum match() recursion limit = 7
4438   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4439   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4440    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4441  Minimum match() limit = 32768  Minimum match() limit = 32768
4442  Minimum match() recursion limit = 42  Minimum match() recursion limit = 43
4443  No match  No match
4444    
4445  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4641  Failed: two named subpatterns have the s Line 4565  Failed: two named subpatterns have the s
4565  Capturing subpattern count = 3  Capturing subpattern count = 3
4566  Named capturing subpatterns:  Named capturing subpatterns:
4567    elem   2    elem   2
 Partial matching not supported  
4568  No options  No options
4569  First char = '['  First char = '['
4570  Need char = ']'  Need char = ']'
# Line 4659  No match Line 4582  No match
4582  Capturing subpattern count = 3  Capturing subpattern count = 3
4583  Named capturing subpatterns:  Named capturing subpatterns:
4584    elem   2    elem   2
 Partial matching not supported  
4585  No options  No options
4586  First char = '['  First char = '['
4587  Need char = ']'  Need char = ']'
# Line 4766  No need char Line 4688  No need char
4688    
4689  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4690  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4691  Options: caseless  Options: caseless
4692  No first char  No first char
4693  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4776  Need char = 'g' (caseless) Line 4697  Need char = 'g' (caseless)
4697    
4698  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4699  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4700  Options: caseless  Options: caseless
4701  No first char  No first char
4702  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4703  Study returned NULL  Subject length lower bound = 8
4704    No set of starting bytes
4705       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4706   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4707   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4795  Study returned NULL Line 4716  Study returned NULL
4716          End          End
4717  ------------------------------------------------------------------  ------------------------------------------------------------------
4718  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4719  No options  No options
4720  No first char  No first char
4721  Need char = 'b'  Need char = 'b'
4722  Study returned NULL  Subject length lower bound = 1
4723    No set of starting bytes
4724    
4725  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4726  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4819  Capturing subpattern count = 1 Line 4740  Capturing subpattern count = 1
4740  No options  No options
4741  No first char  No first char
4742  Need char = 'c'  Need char = 'c'
4743  Study returned NULL  Subject length lower bound = 1
4744    No set of starting bytes
4745    
4746  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4747  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4876  Need char = 'e' Line 4798  Need char = 'e'
4798   +4 ^   ^      e   +4 ^   ^      e
4799  No match  No match
4800    
4801  /a*b/ICDZ  /a*b/ICDZS
4802    ------------------------------------------------------------------
4803            Bra
4804            Callout 255 0 2
4805            a*+
4806            Callout 255 2 1
4807            b
4808            Callout 255 3 0
4809            Ket
4810            End
4811    ------------------------------------------------------------------
4812    Capturing subpattern count = 0
4813    Options:
4814    No first char
4815    Need char = 'b'
4816    Subject length lower bound = 1
4817    Starting byte set: a b
4818      ab
4819    --->ab
4820     +0 ^      a*
4821     +2 ^^     b
4822     +3 ^ ^
4823     0: ab
4824      aaaab
4825    --->aaaab
4826     +0 ^         a*
4827     +2 ^   ^     b
4828     +3 ^    ^
4829     0: aaaab
4830      aaaacb
4831    --->aaaacb
4832     +0 ^          a*
4833     +2 ^   ^      b
4834     +0  ^         a*
4835     +2  ^  ^      b
4836     +0   ^        a*
4837     +2   ^ ^      b
4838     +0    ^       a*
4839     +2    ^^      b
4840     +0      ^     a*
4841     +2      ^     b
4842     +3      ^^
4843     0: b
4844    
4845    /a*b/ICDZSS
4846  ------------------------------------------------------------------  ------------------------------------------------------------------
4847          Bra          Bra
4848          Callout 255 0 2          Callout 255 0 2
# Line 4888  No match Line 4854  No match
4854          End          End
4855  ------------------------------------------------------------------  ------------------------------------------------------------------
4856  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4857  Options:  Options:
4858  No first char  No first char
4859  Need char = 'b'  Need char = 'b'
# Line 4933  Need char = 'b' Line 4898  Need char = 'b'
4898          End          End
4899  ------------------------------------------------------------------  ------------------------------------------------------------------
4900  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4901  Options:  Options:
4902  First char = 'a'  First char = 'a'
4903  Need char = 'b'  Need char = 'b'
# Line 4961  Need char = 'b' Line 4925  Need char = 'b'
4925   +2    ^^      b   +2    ^^      b
4926  No match  No match
4927    
4928  /(abc|def)x/ICDZ  /(abc|def)x/ICDZS
4929  ------------------------------------------------------------------  ------------------------------------------------------------------
4930          Bra          Bra
4931          Callout 255 0 9          Callout 255 0 9
# Line 4992  Capturing subpattern count = 1 Line 4956  Capturing subpattern count = 1
4956  Options:  Options:
4957  No first char  No first char
4958  Need char = 'x'  Need char = 'x'
4959    Subject length lower bound = 4
4960    Starting byte set: a d
4961    abcx    abcx
4962  --->abcx  --->abcx
4963   +0 ^        (abc|def)   +0 ^        (abc|def)
# Line 5015  Need char = 'x' Line 4981  Need char = 'x'
4981  +10 ^   ^  +10 ^   ^
4982   0: defx   0: defx
4983   1: def   1: def
4984      ** Failers
4985    No match
4986    abcdefzx    abcdefzx
4987  --->abcdefzx  --->abcdefzx
4988   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 5024  Need char = 'x' Line 4992  Need char = 'x'
4992   +4 ^  ^         |   +4 ^  ^         |
4993   +9 ^  ^         x   +9 ^  ^         x
4994   +5 ^            d   +5 ^            d
  +0  ^           (abc|def)  
  +1  ^           a  
  +5  ^           d  
  +0   ^          (abc|def)  
  +1   ^          a  
  +5   ^          d  
4995   +0    ^         (abc|def)   +0    ^         (abc|def)
4996   +1    ^         a   +1    ^         a
4997   +5    ^         d   +5    ^         d
# Line 5037  Need char = 'x' Line 4999  Need char = 'x'
4999   +7    ^ ^       f   +7    ^ ^       f
5000   +8    ^  ^      )   +8    ^  ^      )
5001   +9    ^  ^      x   +9    ^  ^      x
  +0     ^        (abc|def)  
  +1     ^        a  
  +5     ^        d  
  +0      ^       (abc|def)  
  +1      ^       a  
  +5      ^       d  
  +0       ^      (abc|def)  
  +1       ^      a  
  +5       ^      d  
  +0        ^     (abc|def)  
  +1        ^     a  
  +5        ^     d  
5002  No match  No match
5003    
5004  /(ab|cd){3,4}/IC  /(abc|def)x/ICDZSS
5005    ------------------------------------------------------------------
5006            Bra
5007            Callout 255 0 9
5008            CBra 1
5009            Callout 255 1 1
5010            a
5011            Callout 255 2 1
5012            b
5013            Callout 255 3 1
5014            c
5015            Callout 255 4 0
5016            Alt
5017            Callout 255 5 1
5018            d
5019            Callout 255 6 1
5020            e
5021            Callout 255 7 1
5022            f
5023            Callout 255 8 0
5024            Ket
5025            Callout 255 9 1
5026            x
5027            Callout 255 10 0
5028            Ket
5029            End
5030    ------------------------------------------------------------------
5031  Capturing subpattern count = 1  Capturing subpattern count = 1
5032  Options:  Options:
5033  No first char  No first char
5034  No need char  Need char = 'x'
5035    ababab    abcx
5036  --->ababab  --->abcx
5037   +0 ^          (ab|cd){3,4}   +0 ^        (abc|def)
5038   +1 ^          a   +1 ^        a
5039   +2 ^^         b   +2 ^^       b
5040   +3 ^ ^        |   +3 ^ ^      c
5041   +1 ^ ^        a   +4 ^  ^     |
5042   +2 ^  ^       b   +9 ^  ^     x
5043   +3 ^   ^      |  +10 ^   ^
5044   +1 ^   ^      a   0: abcx
5045   +2 ^    ^     b   1: abc
5046   +3 ^     ^    |    defx
5047   +1 ^     ^    a  --->defx
5048   +4 ^     ^    c   +0 ^        (abc|def)
5049     +1 ^        a
5050     +5 ^        d
5051     +6 ^^       e
5052     +7 ^ ^      f
5053     +8 ^  ^     )
5054     +9 ^  ^     x
5055    +10 ^   ^
5056     0: defx
5057     1: def
5058      ** Failers
5059    No match
5060      abcdefzx
5061    --->abcdefzx
5062     +0 ^            (abc|def)
5063     +1 ^            a
5064     +2 ^^           b
5065     +3 ^ ^          c
5066     +4 ^  ^         |
5067     +9 ^  ^         x
5068     +5 ^            d
5069     +0  ^           (abc|def)
5070     +1  ^           a
5071     +5  ^           d
5072     +0   ^          (abc|def)
5073     +1   ^          a
5074     +5   ^          d
5075     +0    ^         (abc|def)
5076     +1    ^         a
5077     +5    ^         d
5078     +6    ^^        e
5079     +7    ^ ^       f
5080     +8    ^  ^      )
5081     +9    ^  ^      x
5082     +0     ^        (abc|def)
5083     +1     ^        a
5084     +5     ^        d
5085     +0      ^       (abc|def)
5086     +1      ^       a
5087     +5      ^       d
5088     +0       ^      (abc|def)
5089     +1       ^      a
5090     +5       ^      d
5091     +0        ^     (abc|def)
5092     +1        ^     a
5093     +5        ^     d
5094    No match
5095    
5096    /(ab|cd){3,4}/IC
5097    Capturing subpattern count = 1
5098    Options:
5099    No first char
5100    No need char
5101      ababab
5102    --->ababab
5103     +0 ^          (ab|cd){3,4}
5104     +1 ^          a
5105     +2 ^^         b
5106     +3 ^ ^        |
5107     +1 ^ ^        a
5108     +2 ^  ^       b
5109     +3 ^   ^      |
5110     +1 ^   ^      a
5111     +2 ^    ^     b
5112     +3 ^     ^    |
5113     +1 ^     ^    a
5114     +4 ^     ^    c
5115  +12 ^     ^  +12 ^     ^
5116   0: ababab   0: ababab
5117   1: ab   1: ab
# Line 5115  No need char Line 5157  No need char
5157   0: abcdcdcd   0: abcdcdcd
5158   1: cd   1: cd
5159    
5160  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZS
5161    ------------------------------------------------------------------
5162            Bra
5163            Callout 255 0 14
5164            CBra 1
5165            Callout 255 1 4
5166            [ab]
5167            Callout 255 5 1
5168            {
5169            Callout 255 6 1
5170            ,
5171            Callout 255 7 1
5172            4
5173            Callout 255 8 1
5174            }
5175            Callout 255 9 1
5176            c
5177            Callout 255 10 0
5178            Alt
5179            Callout 255 11 1
5180            x
5181            Callout 255 12 1
5182            y
5183            Callout 255 13 0
5184            Ket
5185            Callout 255 14 0
5186            Ket
5187            End
5188    ------------------------------------------------------------------
5189    Capturing subpattern count = 1
5190    Options:
5191    No first char
5192    No need char
5193    Subject length lower bound = 2
5194    Starting byte set: a b x
5195        Note: that { does NOT introduce a quantifier
5196    --->Note: that { does NOT introduce a quantifier
5197     +0         ^                                        ([ab]{,4}c|xy)
5198     +1         ^                                        [ab]
5199     +5         ^^                                       {
5200    +11         ^                                        x
5201     +0                                 ^                ([ab]{,4}c|xy)
5202     +1                                 ^                [ab]
5203     +5                                 ^^               {
5204    +11                                 ^                x
5205     +0                                     ^            ([ab]{,4}c|xy)
5206     +1                                     ^            [ab]
5207     +5                                     ^^           {
5208    +11                                     ^            x
5209    No match
5210    
5211    /([ab]{,4}c|xy)/ICDZSS
5212  ------------------------------------------------------------------  ------------------------------------------------------------------
5213          Bra          Bra
5214          Callout 255 0 14          Callout 255 0 14
# Line 5371  No match Line 5464  No match
5464          End          End
5465  ------------------------------------------------------------------  ------------------------------------------------------------------
5466  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5467  Options:  Options:
5468  No first char  No first char
5469  Need char = '3'  Need char = '3'
# Line 5403  Need char = '3' Line 5495  Need char = '3'
5495    
5496  /\b.*/I  /\b.*/I
5497  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5498  No options  No options
5499  No first char  No first char
5500  No need char  No need char
# Line 5412  No need char Line 5503  No need char
5503    
5504  /\b.*/Is  /\b.*/Is
5505  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5506  Options: dotall  Options: dotall
5507  No first char  No first char
5508  No need char  No need char
# Line 5421  No need char Line 5511  No need char
5511    
5512  /(?!.bcd).*/I  /(?!.bcd).*/I
5513  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5514  No options  No options
5515  No first char  No first char
5516  No need char  No need char
# Line 5434  No options Line 5523  No options
5523  First char = 'a'  First char = 'a'
5524  Need char = 'e'  Need char = 'e'
5525      ab\P      ab\P
5526  Partial match  Partial match: ab
5527      abc\P      abc\P
5528  Partial match  Partial match: abc
5529      abcd\P      abcd\P
5530  Partial match  Partial match: abcd
5531      abcde\P      abcde\P
5532   0: abcde   0: abcde
5533      the quick brown abc\P      the quick brown abc\P
5534  Partial match  Partial match: abc
5535      ** Failers\P      ** Failers\P
5536  No match  No match
5537      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5467  Need char = '/' Line 5556  Need char = '/'
5556   1: 02   1: 02
5557   2: 05   2: 05
5558      1\P      1\P
5559  Partial match  Partial match: 1
5560      1/2\P      1/2\P
5561  Partial match  Partial match: 1/2
5562      1/2/0\P      1/2/0\P
5563  Partial match  Partial match: 1/2/0
5564      1/2/04\P      1/2/04\P
5565   0: 1/2/04   0: 1/2/04
5566   1: 1   1: 1
5567   2: 2   2: 2
5568      0\P      0\P
5569  Partial match  Partial match: 0
5570      02/\P      02/\P
5571  Partial match  Partial match: 02/
5572      02/0\P      02/0\P
5573  Partial match  Partial match: 02/0
5574      02/1\P      02/1\P
5575  Partial match  Partial match: 02/1
5576      ** Failers\P      ** Failers\P
5577  No match  No match
5578      \P      \P
# Line 5505  No match Line 5594  No match
5594    
5595  /0{0,2}ABC/I  /0{0,2}ABC/I
5596  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5597  No options  No options
5598  No first char  No first char
5599  Need char = 'C'  Need char = 'C'
5600    
5601  /\d{3,}ABC/I  /\d{3,}ABC/I
5602  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5603  No options  No options
5604  No first char  No first char
5605  Need char = 'C'  Need char = 'C'
5606    
5607  /\d*ABC/I  /\d*ABC/I
5608  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5609  No options  No options
5610  No first char  No first char
5611  Need char = 'C'  Need char = 'C'
5612    
5613  /[abc]+DE/I  /[abc]+DE/I
5614  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5615  No options  No options
5616  No first char  No first char
5617  Need char = 'E'  Need char = 'E'
# Line 5539  Need char = '3' Line 5624  Need char = '3'
5624      123\P      123\P
5625   0: 123   0: 123
5626      a\P      a\P
5627  Partial match  Partial match: a
5628      b\P      b\P
5629  Partial match  Partial match: b
5630      c\P      c\P
5631  Partial match  Partial match: c
5632      c12\P      c12\P
5633  Partial match  Partial match: c12
5634      c123\P      c123\P
5635   0: c123   0: c123
5636    
# Line 5555  Options: anchored Line 5640  Options: anchored
5640  No first char  No first char
5641  Need char = 'X'  Need char = 'X'
5642      1\P      1\P
5643  Partial match  Partial match: 1
5644      123\P      123\P
5645  Partial match  Partial match: 123
5646      123X      123X
5647   0: 123X   0: 123X
5648      1234\P      1234\P
5649  Partial match  Partial match: 1234
5650      1234X      1234X
5651   0: 1234X   0: 1234X
5652      12345\P      12345\P
5653  Partial match  Partial match: 12345
5654      12345X      12345X
5655   0: 12345X   0: 12345X
5656      *** Failers      *** Failers
# Line 5575  No match Line 5660  No match
5660      123456\P      123456\P
5661  No match  No match
5662    
5663  /abc/I>testsavedregex  /abc/IS>testsavedregex
5664  Capturing subpattern count = 0  Capturing subpattern count = 0
5665  No options  No options
5666  First char = 'a'  First char = 'a'
5667  Need char = 'c'  Need char = 'c'
5668  Compiled regex written to testsavedregex  Subject length lower bound = 3
5669    No set of starting bytes
5670    Compiled pattern written to testsavedregex
5671    Study data written to testsavedregex
5672    <testsavedregex
5673    Compiled pattern loaded from testsavedregex
5674    Study data loaded from testsavedregex
5675        abc
5676     0: abc
5677        ** Failers
5678    No match
5679        bca
5680    No match
5681    
5682    /abc/ISS>testsavedregex
5683    Capturing subpattern count = 0
5684    No options
5685    First char = 'a'
5686    Need char = 'c'
5687    Compiled pattern written to testsavedregex
5688  <testsavedregex  <testsavedregex
5689  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5690  No study data  No study data
5691      abc      abc
5692   0: abc   0: abc
# Line 5591  No match Line 5695  No match
5695      bca      bca
5696  No match  No match
5697    
5698  /abc/IF>testsavedregex  /abc/IFS>testsavedregex
5699    Capturing subpattern count = 0
5700    No options
5701    First char = 'a'
5702    Need char = 'c'
5703    Subject length lower bound = 3
5704    No set of starting bytes
5705    Compiled pattern written to testsavedregex
5706    Study data written to testsavedregex
5707    <testsavedregex
5708    Compiled pattern (byte-inverted) loaded from testsavedregex
5709    Study data loaded from testsavedregex
5710        abc
5711     0: abc
5712        ** Failers
5713    No match
5714        bca
5715    No match
5716    
5717    /abc/IFSS>testsavedregex
5718  Capturing subpattern count = 0  Capturing subpattern count = 0
5719  No options  No options
5720  First char = 'a'  First char = 'a'
5721  Need char = 'c'  Need char = 'c'
5722  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5723  <testsavedregex  <testsavedregex
5724  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5725  No study data  No study data
5726      abc      abc
5727   0: abc   0: abc
# Line 5612  Capturing subpattern count = 1 Line 5735  Capturing subpattern count = 1
5735  No options  No options
5736  No first char  No first char
5737  No need char  No need char
5738    Subject length lower bound = 1
5739  Starting byte set: a b  Starting byte set: a b
5740  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5741  Study data written to testsavedregex  Study data written to testsavedregex
5742  <testsavedregex  <testsavedregex
5743  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5744  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5745      abc      abc
5746   0: a   0: a
# Line 5627  Study data loaded from testsavedregex Line 5751  Study data loaded from testsavedregex
5751      def      def
5752  No match  No match
5753    
5754    /(a|b)/ISS>testsavedregex
5755    Capturing subpattern count = 1
5756    No options
5757    No first char
5758    No need char
5759    Compiled pattern written to testsavedregex
5760    <testsavedregex
5761    Compiled pattern loaded from testsavedregex
5762    No study data
5763        abc
5764     0: a
5765     1: a
5766        ** Failers
5767     0: a
5768     1: a
5769        def
5770    No match
5771    
5772  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5773  Capturing subpattern count = 1  Capturing subpattern count = 1
5774  No options  No options
5775  No first char  No first char
5776  No need char  No need char
5777    Subject length lower bound = 1
5778  Starting byte set: a b  Starting byte set: a b
5779  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5780  Study data written to testsavedregex  Study data written to testsavedregex
5781  <testsavedregex  <testsavedregex
5782  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5783  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5784      abc      abc
5785   0: a   0: a
# Line 5647  Study data loaded from testsavedregex Line 5790  Study data loaded from testsavedregex
5790      def      def
5791  No match  No match
5792    
5793    /(a|b)/ISSF>testsavedregex
5794    Capturing subpattern count = 1
5795    No options
5796    No first char
5797    No need char
5798    Compiled pattern written to testsavedregex
5799    <testsavedregex
5800    Compiled pattern (byte-inverted) loaded from testsavedregex
5801    No study data
5802        abc
5803     0: a
5804     1: a
5805        ** Failers
5806     0: a
5807     1: a
5808        def
5809    No match
5810    
5811  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5812  Capturing subpattern count = 3  Capturing subpattern count = 3
5813  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5814  Options: multiline dotall  Options: multiline dotall
5815  First char = '<'  First char = '<'
5816  Need char = '>'  Need char = '>'
# Line 5703  No match Line 5863  No match
5863      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5864  No match  No match
5865    
5866  /ab.cd/IP  /ab.cd/P
5867      ab-cd      ab-cd
5868   0: ab-cd   0: ab-cd
5869      ab=cd      ab=cd
# Line 5713  No match: POSIX code 17: match failed Line 5873  No match: POSIX code 17: match failed
5873      ab\ncd      ab\ncd
5874  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
5875    
5876  /ab.cd/IPs  /ab.cd/Ps
5877      ab-cd      ab-cd
5878   0: ab-cd   0: ab-cd
5879      ab=cd      ab=cd
# Line 5957  Matched, but too many substrings Line 6117  Matched, but too many substrings
6117    
6118  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6119  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
6120  No options  No options
6121  No first char  No first char
6122  No need char  No need char
# Line 5971  No need char Line 6129  No need char
6129    
6130  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6131  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
6132  No options  No options
6133  No first char  No first char
6134  No need char  No need char
# Line 5983  No need char Line 6139  No need char
6139    
6140  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6141  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
6142  No options  No options
6143  No first char  No first char
6144  No need char  No need char
# Line 5995  No need char Line 6149  No need char
6149    
6150  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6151  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
6152  No options  No options
6153  No first char  No first char
6154  No need char  No need char
# Line 6009  No need char Line 6161  No need char
6161    
6162  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6163  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
6164  No options  No options
6165  No first char  No first char
6166  No need char  No need char
# Line 6023  No need char Line 6173  No need char
6173      ((this))      ((this))
6174   0: ((this))   0: ((this))
6175    
6176  /a(b)c/IPN  /a(b)c/PN
6177      abc      abc
6178  Matched with REG_NOSUB  Matched with REG_NOSUB
6179    
6180  /a(?P<name>b)c/IPN  /a(?P<name>b)c/PN
6181      abc      abc
6182  Matched with REG_NOSUB  Matched with REG_NOSUB
6183    
# Line 6205  Named capturing subpatterns: Line 6355  Named capturing subpatterns:
6355    A   2    A   2
6356    A   3    A   3
6357  Options: anchored dupnames  Options: anchored dupnames
6358    Duplicate name status changes
6359  No first char  No first char
6360  No need char  No need char
6361      a1b\CA      a1b\CA
# Line 6351  Failed: octal value is greater than \377 Line 6502  Failed: octal value is greater than \377
6502    
6503  /\s*,\s*/IS  /\s*,\s*/IS
6504  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6505  No options  No options
6506  No first char  No first char
6507  Need char = ','  Need char = ','
6508    Subject length lower bound = 1
6509  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6510      \x0b,\x0b      \x0b,\x0b
6511   0: ,   0: ,
# Line 6481  Unknown newline type at: <bad> Line 6632  Unknown newline type at: <bad>
6632    
6633  /.*/I<lf>  /.*/I<lf>
6634  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6635  Options:  Options:
6636  Forced newline sequence: LF  Forced newline sequence: LF
6637  First char at start or follows newline  First char at start or follows newline
# Line 6507  No need char Line 6657  No need char
6657    
6658  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6659  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6660  Options: dotall  Options: dotall
6661  No first char  No first char
6662  Need char = 'f'  Need char = 'f'
# Line 6524  Need char = 'f' Line 6673  Need char = 'f'
6673    
6674  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6675  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6676  No options  No options
6677  No first char  No first char
6678  No need char  No need char
6679     /* this is a C style comment */\M     /* this is a C style comment */\M
6680  Minimum match() limit = 120  Minimum match() limit = 120
6681  Minimum match() recursion limit = 6  Minimum match() recursion limit = 35
6682   0: /* this is a C style comment */   0: /* this is a C style comment */
6683   1: /* this is a C style comment */   1: /* this is a C style comment */
6684    
# Line 6659  No need char Line 6807  No need char
6807    
6808  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6809  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6810  No options  No options
6811  No first char  No first char
6812  No need char  No need char
6813    Subject length lower bound = 1
6814  Starting byte set: C a b c d  Starting byte set: C a b c d
6815    
6816  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6670  Capturing subpattern count = 1 Line 6818  Capturing subpattern count = 1
6818  No options  No options
6819  No first char  No first char
6820  Need char = 'z'  Need char = 'z'
6821    Subject length lower bound = 4
6822  Starting byte set: a b  Starting byte set: a b
6823    
6824  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6677  Capturing subpattern count = 1 Line 6826  Capturing subpattern count = 1
6826  No options  No options
6827  No first char  No first char
6828  Need char = 'z'  Need char = 'z'
6829    Subject length lower bound = 4
6830  Starting byte set: a b  Starting byte set: a b
6831    
6832  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6684  Capturing subpattern count = 1 Line 6834  Capturing subpattern count = 1
6834  No options  No options
6835  No first char  No first char
6836  Need char = 'z'  Need char = 'z'
6837    Subject length lower bound = 4
6838  Starting byte set: a b c  Starting byte set: a b c
6839    
6840  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6691  Capturing subpattern count = 1 Line 6842  Capturing subpattern count = 1
6842  No options  No options
6843  No first char  No first char
6844  Need char = 'z'  Need char = 'z'
6845    Subject length lower bound = 4
6846  Starting byte set: a b c  Starting byte set: a b c
6847    
6848  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6698  Capturing subpattern count = 1 Line 6850  Capturing subpattern count = 1
6850  No options  No options
6851  No first char  No first char
6852  Need char = 'z'  Need char = 'z'
6853    Subject length lower bound = 4
6854  Starting byte set: a b c d  Starting byte set: a b c d
6855    
6856  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6705  Capturing subpattern count = 1 Line 6858  Capturing subpattern count = 1
6858  No options  No options
6859  No first char  No first char
6860  Need char = 'z'  Need char = 'z'
6861    Subject length lower bound = 4
6862  Starting byte set: a b c d  Starting byte set: a b c d
6863    
6864  /^a*b\d/DZ  /^a*b\d/DZ
# Line 6718  Starting byte set: a b c d Line 6872  Starting byte set: a b c d
6872          End          End
6873  ------------------------------------------------------------------  ------------------------------------------------------------------
6874  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6875  Options: anchored  Options: anchored
6876  No first char  No first char
6877  Need char = 'b'  Need char = 'b'
# Line 6734  Need char = 'b' Line 6887  Need char = 'b'
6887          End          End
6888  ------------------------------------------------------------------  ------------------------------------------------------------------
6889  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6890  Options: anchored  Options: anchored
6891  No first char  No first char
6892  Need char = 'b'  Need char = 'b'
# Line 6750  Need char = 'b' Line 6902  Need char = 'b'
6902          End          End
6903  ------------------------------------------------------------------  ------------------------------------------------------------------
6904  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6905  Options: anchored  Options: anchored
6906  No first char  No first char
6907  Need char = 'b'  Need char = 'b'
# Line 6766  Need char = 'b' Line 6917  Need char = 'b'
6917          End          End
6918  ------------------------------------------------------------------  ------------------------------------------------------------------
6919  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6920  Options: anchored  Options: anchored
6921  No first char  No first char
6922  Need char = 'A'  Need char = 'A'
# Line 6781  No match Line 6931  No match
6931  ------------------------------------------------------------------  ------------------------------------------------------------------
6932          Bra          Bra
6933          ^          ^
6934          a*       /i a*
6935       NC A       /i A
6936          \d          \d
6937          Ket          Ket
6938          End          End
6939  ------------------------------------------------------------------  ------------------------------------------------------------------
6940  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6941  Options: anchored caseless  Options: anchored caseless
6942  No first char  No first char
6943  Need char = 'A' (caseless)  Need char = 'A' (caseless)
# Line 6799  Need char = 'A' (caseless) Line 6948  Need char = 'A' (caseless)
6948    
6949  /(a*|b*)[cd]/IS  /(a*|b*)[cd]/IS
6950  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6951  No options  No options
6952  No first char  No first char
6953  No need char  No need char
6954    Subject length lower bound = 1
6955  Starting byte set: a b c d  Starting byte set: a b c d
6956    
6957  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6958  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6959  No options  No options
6960  No first char  No first char
6961  No need char  No need char
6962    Subject length lower bound = 1
6963  Starting byte set: a b c d  Starting byte set: a b c d
6964    
6965  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6966  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6967  No options  No options
6968  No first char  No first char
6969  No need char  No need char
6970    Subject length lower bound = 1
6971  Starting byte set: a b c d  Starting byte set: a b c d
6972    
6973  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6974  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6975  No options  No options
6976  No first char  No first char
6977  No need char  No need char
6978    Subject length lower bound = 2
6979  Starting byte set: a b  Starting byte set: a b
6980    
6981  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7411  Matched, but too many substrings Line 7560  Matched, but too many substrings
7560  /[^a]+a/BZi  /[^a]+a/BZi
7561  ------------------------------------------------------------------  ------------------------------------------------------------------
7562          Bra          Bra
7563          [^A]++       /i [^A]++
7564       NC a       /i a
7565          Ket          Ket
7566          End          End
7567  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7420  Matched, but too many substrings Line 7569  Matched, but too many substrings
7569  /[^a]+A/BZi  /[^a]+A/BZi
7570  ------------------------------------------------------------------  ------------------------------------------------------------------
7571          Bra          Bra
7572          [^A]++       /i [^A]++
7573       NC A       /i A
7574          Ket          Ket
7575          End          End
7576  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7632  No match Line 7781  No match
7781          ^          ^
7782          CBra 1          CBra 1
7783          Cond          Cond
7784        2 Cond ref        2 Cond nref
7785          y          y
7786          Ket          Ket
7787          [()]          [()]
# Line 7698  Named capturing subpatterns: Line 7847  Named capturing subpatterns:
7847    one     1    one     1
7848    three   3    three   3
7849    two     2    two     2
 Partial matching not supported  
7850  Options: anchored caseless  Options: anchored caseless
7851  No first char  No first char
7852  No need char  No need char
# Line 7732  No match Line 7880  No match
7880  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7881  Capturing subpattern count = 1  Capturing subpattern count = 1
7882  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
7883  No options  No options
7884  No first char  No first char
7885  Need char = ':'  Need char = ':'
# Line 7745  Capturing subpattern count = 1 Line 7892  Capturing subpattern count = 1
7892  Max back reference = 1  Max back reference = 1
7893  Named capturing subpatterns:  Named capturing subpatterns:
7894    abc   1    abc   1
 Partial matching not supported  
7895  No options  No options
7896  No first char  No first char
7897  Need char = ':'  Need char = ':'
# Line 7753  Need char = ':' Line 7899  Need char = ':'
7899   0: abcd:   0: abcd:
7900   1: abcd   1: abcd
7901    
 /(?'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  
   
7902  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7903      adaa      adaa
7904   0: adaa   0: adaa
# Line 7793  No match Line 7925  No match
7925      bddd      bddd
7926  No match  No match
7927    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7928  /(?(<bc))/  /(?(<bc))/
7929  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7930    
# Line 7830  Failed: reference to non-existent subpat Line 7955  Failed: reference to non-existent subpat
7955   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7956   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7957    
 /^(?(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>  
   
7958  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7959  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7960    
# Line 7889  No match Line 7996  No match
7996  No match  No match
7997    
7998  /^abc./mgx<any>  /^abc./mgx<any>
7999      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
8000   0: abc1   0: abc1
8001   0: abc2   0: abc2
8002   0: abc3   0: abc3
# Line 7899  No match Line 8006  No match
8006   0: abc7   0: abc7
8007    
8008  /abc.$/mgx<any>  /abc.$/mgx<any>
8009      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
8010   0: abc1   0: abc1
8011   0: abc2   0: abc2
8012   0: abc3   0: abc3
# Line 7913  No match Line 8020  No match
8020  /a/<any><crlf>  /a/<any><crlf>
8021  Failed: inconsistent NEWLINE options at offset 0  Failed: inconsistent NEWLINE options at offset 0
8022    
8023  /^a\Rb/  /^a\Rb/<bsr_unicode>
8024      a\nb      a\nb
8025   0: a\x0ab   0: a\x0ab
8026      a\rb      a\rb
# Line 7931  No match Line 8038  No match
8038      a\n\rb      a\n\rb
8039  No match  No match
8040    
8041  /^a\R*b/  /^a\R*b/<bsr_unicode>
8042      ab      ab
8043   0: ab   0: ab
8044      a\nb      a\nb
# Line 7951  No match Line 8058  No match
8058      a\n\r\x85\x0cb      a\n\r\x85\x0cb
8059   0: a\x0a\x0d\x85\x0cb   0: a\x0a\x0d\x85\x0cb
8060    
8061  /^a\R+b/  /^a\R+b/<bsr_unicode>
8062      a\nb      a\nb
8063   0: a\x0ab   0: a\x0ab
8064      a\rb      a\rb
# Line 7973  No match Line 8080  No match
8080      ab      ab
8081  No match  No match
8082    
8083  /^a\R{1,3}b/  /^a\R{1,3}b/<bsr_unicode>
8084      a\nb      a\nb
8085   0: a\x0ab   0: a\x0ab
8086      a\n\rb      a\n\rb
# Line 7995  No match Line 8102  No match
8102      a\r      a\r
8103  No match  No match
8104    
8105  /^a[\R]b/  /^a[\R]b/<bsr_unicode>
8106      aRb      aRb
8107   0: aRb   0: aRb
8108      ** Failers      ** Failers
# Line 8025  Need char = 'P' Line 8132  Need char = 'P'
8132   0: PXP   0: PXP
8133   1: P   1: P
8134    
 /(?(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  
   
8135  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
8136      123axbaxbaxbx456      123axbaxbaxbx456
8137   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8102  No match Line 8169  No match
8169     DEFabcABCXYZ     DEFabcABCXYZ
8170  No match  No match
8171    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
  0: ababababbbabZ  
  1: ab  
  2: b  
   
8172  /^(a)\g-2/  /^(a)\g-2/
8173  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8174    
8175  /^(a)\g/  /^(a)\g/
8176  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
8177    
8178  /^(a)\g{0}/  /^(a)\g{0}/
8179  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
8180    
8181  /^(a)\g{3/  /^(a)\g{3/
8182  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
8183    
8184  /^(a)\g{4a}/  /^(a)\g{4a}/
8185  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 8201  No match Line 8262  No match
8262   0+   0+
8263    
8264  /abc.$/mgx<anycrlf>  /abc.$/mgx<anycrlf>
8265      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
8266   0: abc1   0: abc1
8267   0: abc4   0: abc4
8268   0: abc5   0: abc5
# Line 8255  No match Line 8316  No match
8316  No match  No match
8317    
8318  /x(?-0)y/  /x(?-0)y/
8319  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
8320    
8321  /x(?-1)y/  /x(?-1)y/
8322  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
8323    
8324  /x(?+0)y/  /x(?+0)y/
8325  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
8326    
8327  /x(?+1)y/  /x(?+1)y/
8328  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 8404  Failed: reference to non-existent subpat
8404  /((?(-2)a))/BZ  /((?(-2)a))/BZ
8405  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8406    
8407  /^(?(+1)X|Y)/BZ  /^(?(+1)X|Y)(.)/BZ
8408  ------------------------------------------------------------------  ------------------------------------------------------------------
8409          Bra          Bra
8410          ^          ^
# Line 8353  Failed: reference to non-existent subpat Line 8414  Failed: reference to non-existent subpat
8414          Alt          Alt
8415          Y          Y
8416          Ket          Ket
8417            CBra 1
8418            Any
8419            Ket
8420          Ket          Ket
8421          End          End
8422  ------------------------------------------------------------------  ------------------------------------------------------------------
8423      Y      Y!
8424   0: Y   0: Y!
8425     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  
8426    
8427  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8428      tom-tom      tom-tom
# Line 8391  No match Line 8436  No match
8436      tom-bon      tom-bon
8437  No match  No match
8438    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
  0: tom-tom  
  1: tom  
     bon-bon  
  0: bon-bon  
  1: bon  
   
8439  /\g{A/  /\g{A/
8440  Failed: syntax error in subpattern name (missing terminator) at offset 4  Failed: syntax error in subpattern name (missing terminator) at offset 4
8441    
# Line 8493  Failed: syntax error in subpattern name Line 8530  Failed: syntax error in subpattern name
8530   3: <unset>   3: <unset>
8531   4: x   4: x
8532    
 /(?|(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  
   
8533  /[\h]/BZ  /[\h]/BZ
8534  ------------------------------------------------------------------  ------------------------------------------------------------------
8535          Bra          Bra
# Line 8865  Failed: missing terminating ] for charac Line 8826  Failed: missing terminating ] for charac
8826          End          End
8827  ------------------------------------------------------------------  ------------------------------------------------------------------
8828    
 /^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  
   
8829  /^a+(*FAIL)/C  /^a+(*FAIL)/C
8830      aaaaaa      aaaaaa
8831  --->aaaaaa  --->aaaaaa
# Line 9074  No match Line 8954  No match
8954  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8955  No match  No match
8956    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8957  /a(*MARK)b/  /a(*MARK)b/
8958  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8959    
8960  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8961  Failed: number is too big at offset 19  Failed: number is too big at offset 19
# Line 9167  No match Line 9044  No match
9044  No match  No match
9045      a\x85b      a\x85b
9046  No match  No match
9047    
9048    /(*ANY).*/g
9049        abc\r\ndef
9050     0: abc
9051     0:
9052     0: def
9053     0:
9054    
9055    /(*ANYCRLF).*/g
9056        abc\r\ndef
9057     0: abc
9058     0:
9059     0: def
9060     0:
9061    
9062    /(*CRLF).*/g
9063        abc\r\ndef
9064     0: abc
9065     0:
9066     0: def
9067     0:
9068    
9069    /a\Rb/I<bsr_anycrlf>
9070    Capturing subpattern count = 0
9071    Options: bsr_anycrlf
9072    First char = 'a'
9073    Need char = 'b'
9074        a\rb
9075     0: a\x0db
9076        a\nb
9077     0: a\x0ab
9078        a\r\nb
9079     0: a\x0d\x0ab
9080        ** Failers
9081    No match
9082        a\x85b
9083    No match
9084        a\x0bb
9085    No match
9086    
9087    /a\Rb/I<bsr_unicode>
9088    Capturing subpattern count = 0
9089    Options: bsr_unicode
9090    First char = 'a'
9091    Need char = 'b'
9092        a\rb
9093     0: a\x0db
9094        a\nb
9095     0: a\x0ab
9096        a\r\nb
9097     0: a\x0d\x0ab
9098        a\x85b
9099     0: a\x85b
9100        a\x0bb
9101     0: a\x0bb
9102        ** Failers
9103    No match
9104        a\x85b\<bsr_anycrlf>
9105    No match
9106        a\x0bb\<bsr_anycrlf>
9107    No match
9108    
9109    /a\R?b/I<bsr_anycrlf>
9110    Capturing subpattern count = 0
9111    Options: bsr_anycrlf
9112    First char = 'a'
9113    Need char = 'b'
9114        a\rb
9115     0: a\x0db
9116        a\nb
9117     0: a\x0ab
9118        a\r\nb
9119     0: a\x0d\x0ab
9120        ** Failers
9121    No match
9122        a\x85b
9123    No match
9124        a\x0bb
9125    No match
9126    
9127    /a\R?b/I<bsr_unicode>
9128    Capturing subpattern count = 0
9129    Options: bsr_unicode
9130    First char = 'a'
9131    Need char = 'b'
9132        a\rb
9133     0: a\x0db
9134        a\nb
9135     0: a\x0ab
9136        a\r\nb
9137     0: a\x0d\x0ab
9138        a\x85b
9139     0: a\x85b
9140        a\x0bb
9141     0: a\x0bb
9142        ** Failers
9143    No match
9144        a\x85b\<bsr_anycrlf>
9145    No match
9146        a\x0bb\<bsr_anycrlf>
9147    No match
9148    
9149    /a\R{2,4}b/I<bsr_anycrlf>
9150    Capturing subpattern count = 0
9151    Options: bsr_anycrlf
9152    First char = 'a'
9153    Need char = 'b'
9154        a\r\n\nb
9155     0: a\x0d\x0a\x0ab
9156        a\n\r\rb
9157     0: a\x0a\x0d\x0db
9158        a\r\n\r\n\r\n\r\nb
9159     0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
9160        ** Failers
9161    No match
9162        a\x85\85b
9163    No match
9164        a\x0b\0bb
9165    No match
9166    
9167    /a\R{2,4}b/I<bsr_unicode>
9168    Capturing subpattern count = 0
9169    Options: bsr_unicode
9170    First char = 'a'
9171    Need char = 'b'
9172        a\r\rb
9173     0: a\x0d\x0db
9174        a\n\n\nb
9175     0: a\x0a\x0a\x0ab
9176        a\r\n\n\r\rb
9177     0: a\x0d\x0a\x0a\x0d\x0db
9178        a\x85\85b
9179    No match
9180        a\x0b\0bb
9181    No match
9182        ** Failers
9183    No match
9184        a\r\r\r\r\rb
9185    No match
9186        a\x85\85b\<bsr_anycrlf>
9187    No match
9188        a\x0b\0bb\<bsr_anycrlf>
9189    No match
9190    
9191    /(*BSR_ANYCRLF)a\Rb/I
9192    Capturing subpattern count = 0
9193    Options: bsr_anycrlf
9194    First char = 'a'
9195    Need char = 'b'
9196        a\nb
9197     0: a\x0ab
9198        a\rb
9199     0: a\x0db
9200    
9201    /(*BSR_UNICODE)a\Rb/I
9202    Capturing subpattern count = 0
9203    Options: bsr_unicode
9204    First char = 'a'
9205    Need char = 'b'
9206        a\x85b
9207     0: a\x85b
9208    
9209    /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
9210    Capturing subpattern count = 0
9211    Options: bsr_anycrlf
9212    Forced newline sequence: CRLF
9213    First char = 'a'
9214    Need char = 'b'
9215        a\nb
9216     0: a\x0ab
9217        a\rb
9218     0: a\x0db
9219    
9220    /(*CRLF)(*BSR_UNICODE)a\Rb/I
9221    Capturing subpattern count = 0
9222    Options: bsr_unicode
9223    Forced newline sequence: CRLF
9224    First char = 'a'
9225    Need char = 'b'
9226        a\x85b
9227     0: a\x85b
9228    
9229    /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
9230    Capturing subpattern count = 0
9231    Options: bsr_anycrlf
9232    Forced newline sequence: CR
9233    First char = 'a'
9234    Need char = 'b'
9235    
9236    /(?<a>)(?&)/
9237    Failed: subpattern name expected at offset 9
9238    
9239    /(?<abc>)(?&a)/
9240    Failed: reference to non-existent subpattern at offset 12
9241    
9242    /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
9243    Failed: reference to non-existent subpattern at offset 32
9244    
9245    /(?+-a)/
9246    Failed: digit expected after (?+ at offset 3
9247    
9248    /(?-+a)/
9249    Failed: unrecognized character after (? or (?- at offset 3
9250    
9251    /(?(-1))/
9252    Failed: reference to non-existent subpattern at offset 6
9253    
9254    /(?(+10))/
9255    Failed: reference to non-existent subpattern at offset 7
9256    
9257    /(?(10))/
9258    Failed: reference to non-existent subpattern at offset 6
9259    
9260    /(?(+2))()()/
9261    
9262    /(?(2))()()/
9263    
9264    /\k''/
9265    Failed: subpattern name expected at offset 3
9266    
9267    /\k<>/
9268    Failed: subpattern name expected at offset 3
9269    
9270    /\k{}/
9271    Failed: subpattern name expected at offset 3
9272    
9273    /(?P=)/
9274    Failed: subpattern name expected at offset 4
9275    
9276    /(?P>)/
9277    Failed: subpattern name expected at offset 4
9278    
9279    /(?!\w)(?R)/
9280    Failed: recursive call could loop indefinitely at offset 9
9281    
9282    /(?=\w)(?R)/
9283    Failed: recursive call could loop indefinitely at offset 9
9284    
9285    /(?<!\w)(?R)/
9286    Failed: recursive call could loop indefinitely at offset 10
9287    
9288    /(?<=\w)(?R)/
9289    Failed: recursive call could loop indefinitely at offset 10
9290    
9291    /[[:foo:]]/
9292    Failed: unknown POSIX class name at offset 3
9293    
9294    /[[:1234:]]/
9295    Failed: unknown POSIX class name at offset 3
9296    
9297    /[[:f\oo:]]/
9298    Failed: unknown POSIX class name at offset 3
9299    
9300    /[[: :]]/
9301    Failed: unknown POSIX class name at offset 3
9302    
9303    /[[:...:]]/
9304    Failed: unknown POSIX class name at offset 3
9305    
9306    /[[:l\ower:]]/
9307    Failed: unknown POSIX class name at offset 3
9308    
9309    /[[:abc\:]]/
9310    Failed: unknown POSIX class name at offset 3
9311    
9312    /[abc[:x\]pqr:]]/
9313    Failed: unknown POSIX class name at offset 6
9314    
9315    /[[:a\dz:]]/
9316    Failed: unknown POSIX class name at offset 3
9317    
9318    /(^(a|b\g<-1'c))/
9319    Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
9320    
9321    /^(?+1)(?<a>x|y){0}z/
9322        xzxx
9323     0: xz
9324        yzyy
9325     0: yz
9326        ** Failers
9327    No match
9328        xxz
9329    No match
9330    
9331    /(\3)(\1)(a)/
9332        cat
9333    No match
9334    
9335    /(\3)(\1)(a)/<JS>
9336        cat
9337     0: a
9338     1:
9339     2:
9340     3: a
9341    
9342    /TA]/
9343        The ACTA] comes
9344     0: TA]
9345    
9346    /TA]/<JS>
9347    Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
9348    
9349    /(?2)[]a()b](abc)/
9350    Failed: reference to non-existent subpattern at offset 3
9351    
9352    /(?2)[^]a()b](abc)/
9353    Failed: reference to non-existent subpattern at offset 3
9354    
9355    /(?1)[]a()b](abc)/
9356        abcbabc
9357     0: abcbabc
9358     1: abc
9359        ** Failers
9360    No match
9361        abcXabc
9362    No match
9363    
9364    /(?1)[^]a()b](abc)/
9365        abcXabc
9366     0: abcXabc
9367     1: abc
9368        ** Failers
9369    No match
9370        abcbabc
9371    No match
9372    
9373    /(?2)[]a()b](abc)(xyz)/
9374        xyzbabcxyz
9375     0: xyzbabcxyz
9376     1: abc
9377     2: xyz
9378    
9379    /(?&N)[]a(?<N>)](?<M>abc)/
9380    Failed: reference to non-existent subpattern at offset 4
9381    
9382    /(?&N)[]a(?<N>)](abc)/
9383    Failed: reference to non-existent subpattern at offset 4
9384    
9385    /a[]b/
9386    Failed: missing terminating ] for character class at offset 4
9387    
9388    /a[^]b/
9389    Failed: missing terminating ] for character class at offset 5
9390    
9391    /a[]b/<JS>
9392        ** Failers
9393    No match
9394        ab
9395    No match
9396    
9397    /a[]+b/<JS>
9398        ** Failers
9399    No match
9400        ab
9401    No match
9402    
9403    /a[]*+b/<JS>
9404        ** Failers
9405    No match
9406        ab
9407    No match
9408    
9409    /a[^]b/<JS>
9410        aXb
9411     0: aXb
9412        a\nb
9413     0: a\x0ab
9414        ** Failers
9415    No match
9416        ab
9417    No match
9418    
9419    /a[^]+b/<JS>
9420        aXb
9421     0: aXb
9422        a\nX\nXb
9423     0: a\x0aX\x0aXb
9424        ** Failers
9425    No match
9426        ab
9427    No match
9428    
9429    /a(?!)+b/
9430    Failed: nothing to repeat at offset 5
9431    
9432    /a(*FAIL)+b/
9433    Failed: nothing to repeat at offset 8
9434    
9435    /(abc|pqr|123){0}[xyz]/SI
9436    Capturing subpattern count = 1
9437    No options
9438    No first char
9439    No need char
9440    Subject length lower bound = 1
9441    Starting byte set: x y z
9442    
9443    /(?(?=.*b)b|^)/CI
9444    Capturing subpattern count = 0
9445    Options:
9446    No first char
9447    No need char
9448       adc
9449    --->adc
9450     +0 ^       (?(?=.*b)b|^)
9451     +2 ^       (?=.*b)
9452     +5 ^       .*
9453     +7 ^  ^    b
9454     +7 ^ ^     b
9455     +7 ^^      b
9456     +7 ^       b
9457    +12 ^       )
9458    +13 ^
9459     0:
9460       abc
9461    --->abc
9462     +0 ^       (?(?=.*b)b|^)
9463     +2 ^       (?=.*b)
9464     +5 ^       .*
9465     +7 ^  ^    b
9466     +7 ^ ^     b
9467     +7 ^^      b
9468     +8 ^ ^     )
9469     +9 ^       b
9470     +0  ^      (?(?=.*b)b|^)
9471     +2  ^      (?=.*b)
9472     +5  ^      .*
9473     +7  ^ ^    b
9474     +7  ^^     b
9475     +7  ^      b
9476     +8  ^^     )
9477     +9  ^      b
9478    +10  ^^     |
9479    +13  ^^
9480     0: b
9481    
9482    /(?(?=b).*b|^d)/I
9483    Capturing subpattern count = 0
9484    No options
9485    No first char
9486    No need char
9487    
9488    /(?(?=.*b).*b|^d)/I
9489    Capturing subpattern count = 0
9490    No options
9491    First char at start or follows newline
9492    No need char
9493    
9494    /a?|b?/P
9495        abc
9496     0: a
9497        ** Failers
9498     0:
9499        ddd\N
9500    No match: POSIX code 17: match failed
9501    
9502    /xyz/C
9503      xyz
9504    --->xyz
9505     +0 ^       x
9506     +1 ^^      y
9507     +2 ^ ^     z
9508     +3 ^  ^
9509     0: xyz
9510      abcxyz
9511    --->abcxyz
9512     +0    ^       x
9513     +1    ^^      y
9514     +2    ^ ^     z
9515     +3    ^  ^
9516     0: xyz
9517      abcxyz\Y
9518    --->abcxyz
9519     +0 ^          x
9520     +0  ^         x
9521     +0   ^        x
9522     +0    ^       x
9523     +1    ^^      y
9524     +2    ^ ^     z
9525     +3    ^  ^
9526     0: xyz
9527      ** Failers
9528    No match
9529      abc
9530    No match
9531      abc\Y
9532    --->abc
9533     +0 ^       x
9534     +0  ^      x
9535     +0   ^     x
9536     +0    ^    x
9537    No match
9538      abcxypqr
9539    No match
9540      abcxypqr\Y
9541    --->abcxypqr
9542     +0 ^            x
9543     +0  ^           x
9544     +0   ^          x
9545     +0    ^         x
9546     +1    ^^        y
9547     +2    ^ ^       z
9548     +0     ^        x
9549     +0      ^       x
9550     +0       ^      x
9551     +0        ^     x
9552     +0         ^    x
9553    No match
9554    
9555    /(*NO_START_OPT)xyz/C
9556      abcxyz
9557    --->abcxyz
9558    +15 ^          x
9559    +15  ^         x
9560    +15   ^        x
9561    +15    ^       x
9562    +16    ^^      y
9563    +17    ^ ^     z
9564    +18    ^  ^
9565     0: xyz
9566    
9567    /xyz/CY
9568      abcxyz
9569    --->abcxyz
9570     +0 ^          x
9571     +0  ^         x
9572     +0   ^        x
9573     +0    ^       x
9574     +1    ^^      y
9575     +2    ^ ^     z
9576     +3    ^  ^
9577     0: xyz
9578    
9579    /^"((?(?=[a])[^"])|b)*"$/C
9580        "ab"
9581    --->"ab"
9582     +0 ^        ^
9583     +1 ^        "
9584     +2 ^^       ((?(?=[a])[^"])|b)*
9585     +3 ^^       (?(?=[a])[^"])
9586     +5 ^^       (?=[a])
9587     +8 ^^       [a]
9588    +11 ^ ^      )
9589    +12 ^^       [^"]
9590    +16 ^ ^      )
9591    +17 ^ ^      |
9592     +3 ^ ^      (?(?=[a])[^"])
9593     +5 ^ ^      (?=[a])
9594     +8 ^ ^      [a]
9595    +21 ^ ^      "
9596    +18 ^ ^      b
9597    +19 ^  ^     )
9598     +3 ^  ^     (?(?=[a])[^"])
9599     +5 ^  ^     (?=[a])
9600     +8 ^  ^     [a]
9601    +21 ^  ^     "
9602    +22 ^   ^    $
9603    +23 ^   ^
9604     0: "ab"
9605     1:
9606    
9607    /^"((?(?=[a])[^"])|b)*"$/
9608        "ab"
9609     0: "ab"
9610     1:
9611    
9612    /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
9613    Failed: reference to non-existent subpattern at offset 5
9614    
9615    /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
9616        XYabcdY
9617     0: XYabcdY
9618     1: a
9619     2: b
9620     3: c
9621     4: d
9622     5: Y
9623    
9624    /Xa{2,4}b/
9625        X\P
9626    Partial match: X
9627        Xa\P
9628    Partial match: Xa
9629        Xaa\P
9630    Partial match: Xaa
9631        Xaaa\P
9632    Partial match: Xaaa
9633        Xaaaa\P
9634    Partial match: Xaaaa
9635    
9636    /Xa{2,4}?b/
9637        X\P
9638    Partial match: X
9639        Xa\P
9640    Partial match: Xa
9641        Xaa\P
9642    Partial match: Xaa
9643        Xaaa\P
9644    Partial match: Xaaa
9645        Xaaaa\P
9646    Partial match: Xaaaa
9647    
9648    /Xa{2,4}+b/
9649        X\P
9650    Partial match: X
9651        Xa\P
9652    Partial match: Xa
9653        Xaa\P
9654    Partial match: Xaa
9655        Xaaa\P
9656    Partial match: Xaaa
9657        Xaaaa\P
9658    Partial match: Xaaaa
9659    
9660    /X\d{2,4}b/
9661        X\P
9662    Partial match: X
9663        X3\P
9664    Partial match: X3
9665        X33\P
9666    Partial match: X33
9667        X333\P
9668    Partial match: X333
9669        X3333\P
9670    Partial match: X3333
9671    
9672    /X\d{2,4}?b/
9673        X\P
9674    Partial match: X
9675        X3\P
9676    Partial match: X3
9677        X33\P
9678    Partial match: X33
9679        X333\P
9680    Partial match: X333
9681        X3333\P
9682    Partial match: X3333
9683    
9684    /X\d{2,4}+b/
9685        X\P
9686    Partial match: X
9687        X3\P
9688    Partial match: X3
9689        X33\P
9690    Partial match: X33
9691        X333\P
9692    Partial match: X333
9693        X3333\P
9694    Partial match: X3333
9695    
9696    /X\D{2,4}b/
9697        X\P
9698    Partial match: X
9699        Xa\P
9700    Partial match: Xa
9701        Xaa\P
9702    Partial match: Xaa
9703        Xaaa\P
9704    Partial match: Xaaa
9705        Xaaaa\P
9706    Partial match: Xaaaa
9707    
9708    /X\D{2,4}?b/
9709        X\P
9710    Partial match: X
9711        Xa\P
9712    Partial match: Xa
9713        Xaa\P
9714    Partial match: Xaa
9715        Xaaa\P
9716    Partial match: Xaaa
9717        Xaaaa\P
9718    Partial match: Xaaaa
9719    
9720    /X\D{2,4}+b/
9721        X\P
9722    Partial match: X
9723        Xa\P
9724    Partial match: Xa
9725        Xaa\P
9726    Partial match: Xaa
9727        Xaaa\P
9728    Partial match: Xaaa
9729        Xaaaa\P
9730    Partial match: Xaaaa
9731    
9732    /X[abc]{2,4}b/
9733        X\P
9734    Partial match: X
9735        Xa\P
9736    Partial match: Xa
9737        Xaa\P
9738    Partial match: Xaa
9739        Xaaa\P
9740    Partial match: Xaaa
9741        Xaaaa\P
9742    Partial match: Xaaaa
9743    
9744    /X[abc]{2,4}?b/
9745        X\P
9746    Partial match: X
9747        Xa\P
9748    Partial match: Xa
9749        Xaa\P
9750    Partial match: Xaa
9751        Xaaa\P
9752    Partial match: Xaaa
9753        Xaaaa\P
9754    Partial match: Xaaaa
9755    
9756    /X[abc]{2,4}+b/
9757        X\P
9758    Partial match: X
9759        Xa\P
9760    Partial match: Xa
9761        Xaa\P
9762    Partial match: Xaa
9763        Xaaa\P
9764    Partial match: Xaaa
9765        Xaaaa\P
9766    Partial match: Xaaaa
9767    
9768    /X[^a]{2,4}b/
9769        X\P
9770    Partial match: X
9771        Xz\P
9772    Partial match: Xz
9773        Xzz\P
9774    Partial match: Xzz
9775        Xzzz\P
9776    Partial match: Xzzz
9777        Xzzzz\P
9778    Partial match: Xzzzz
9779    
9780    /X[^a]{2,4}?b/
9781        X\P
9782    Partial match: X
9783        Xz\P
9784    Partial match: Xz
9785        Xzz\P
9786    Partial match: Xzz
9787        Xzzz\P
9788    Partial match: Xzzz
9789        Xzzzz\P
9790    Partial match: Xzzzz
9791    
9792    /X[^a]{2,4}+b/
9793        X\P
9794    Partial match: X
9795        Xz\P
9796    Partial match: Xz
9797        Xzz\P
9798    Partial match: Xzz
9799        Xzzz\P
9800    Partial match: Xzzz
9801        Xzzzz\P
9802    Partial match: Xzzzz
9803    
9804    /(Y)X\1{2,4}b/
9805        YX\P
9806    Partial match: YX
9807