/[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 175 by ph10, Mon Jun 11 13:38:38 2007 UTC revision 608 by ph10, Sun Jun 12 16:25:55 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 78  No match Line 85  No match
85      def\nabc      def\nabc
86  No match  No match
87    
88  /ab\hdef/X  /ab\idef/X
89  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
90    
91  /(?X)ab\hdef/X  /(?X)ab\idef/X
92  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
93    
94  /x{5,4}/  /x{5,4}/
# Line 96  Failed: missing terminating ] for charac Line 103  Failed: missing terminating ] for charac
103  /(?X)[\B]/  /(?X)[\B]/
104  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
105    
106    /(?X)[\R]/
107    Failed: invalid escape sequence in character class at offset 6
108    
109    /(?X)[\X]/
110    Failed: invalid escape sequence in character class at offset 6
111    
112    /[\B]/BZ
113    ------------------------------------------------------------------
114            Bra
115            B
116            Ket
117            End
118    ------------------------------------------------------------------
119    
120    /[\R]/BZ
121    ------------------------------------------------------------------
122            Bra
123            R
124            Ket
125            End
126    ------------------------------------------------------------------
127    
128    /[\X]/BZ
129    ------------------------------------------------------------------
130            Bra
131            X
132            Ket
133            End
134    ------------------------------------------------------------------
135    
136  /[z-a]/  /[z-a]/
137  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
138    
# Line 109  Failed: missing ) at offset 4 Line 146  Failed: missing ) at offset 4
146  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
147    
148  /(?z)abc/  /(?z)abc/
149  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
150    
151  /.*b/I  /.*b/I
152  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
153  No options  No options
154  First char at start or follows newline  First char at start or follows newline
155  Need char = 'b'  Need char = 'b'
156    
157  /.*?b/I  /.*?b/I
158  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
159  No options  No options
160  First char at start or follows newline  First char at start or follows newline
161  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 175  Capturing subpattern count = 0
175  No options  No options
176  No first char  No first char
177  No need char  No need char
178    Subject length lower bound = 3
179  Starting byte set: c d e  Starting byte set: c d e
180      this sentence eventually mentions a cat      this sentence eventually mentions a cat
181   0: cat   0: cat
# Line 151  Capturing subpattern count = 0 Line 187  Capturing subpattern count = 0
187  Options: caseless  Options: caseless
188  No first char  No first char
189  No need char  No need char
190    Subject length lower bound = 3
191  Starting byte set: C D E c d e  Starting byte set: C D E c d e
192      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
193   0: CAT   0: CAT
# Line 162  Capturing subpattern count = 0 Line 199  Capturing subpattern count = 0
199  No options  No options
200  No first char  No first char
201  No need char  No need char
202    Subject length lower bound = 1
203  Starting byte set: a b c d  Starting byte set: a b c d
204    
205  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 169  Capturing subpattern count = 1 Line 207  Capturing subpattern count = 1
207  No options  No options
208  No first char  No first char
209  No need char  No need char
210    Subject length lower bound = 1
211  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
212    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
213    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 189  Capturing subpattern count = 1 Line 228  Capturing subpattern count = 1
228  No options  No options
229  No first char  No first char
230  No need char  No need char
231    Subject length lower bound = 1
232  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
233    
234  /(ab\2)/  /(ab\2)/
# Line 310  No match Line 350  No match
350  No match  No match
351    
352  /ab(?z)cd/  /ab(?z)cd/
353  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
354    
355  /^abc|def/I  /^abc|def/I
356  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 324  No need char Line 364  No need char
364    
365  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
366  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
367  No options  No options
368  First char at start or follows newline  First char at start or follows newline
369  No need char  No need char
# Line 338  No need char Line 377  No need char
377   2: <unset>   2: <unset>
378   3: def   3: def
379    
380  /abc/IP  /abc/P
381      abc      abc
382   0: abc   0: abc
383      *** Failers      *** Failers
384  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
385    
386  /^abc|def/IP  /^abc|def/P
387      abcdef      abcdef
388   0: abc   0: abc
389      abcdef\B      abcdef\B
390   0: def   0: def
391    
392  /.*((abc)$|(def))/IP  /.*((abc)$|(def))/P
393      defabc      defabc
394   0: defabc   0: defabc
395   1: abc   1: abc
# Line 360  No match: POSIX code 17: match failed Line 399  No match: POSIX code 17: match failed
399   1: def   1: def
400   3: def   3: def
401    
402  /the quick brown fox/IP  /the quick brown fox/P
403      the quick brown fox      the quick brown fox
404   0: the quick brown fox   0: the quick brown fox
405      *** Failers      *** Failers
# Line 368  No match: POSIX code 17: match failed Line 407  No match: POSIX code 17: match failed
407      The Quick Brown Fox      The Quick Brown Fox
408  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
409    
410  /the quick brown fox/IPi  /the quick brown fox/Pi
411      the quick brown fox      the quick brown fox
412   0: the quick brown fox   0: the quick brown fox
413      The Quick Brown Fox      The Quick Brown Fox
414   0: The Quick Brown Fox   0: The Quick Brown Fox
415    
416  /abc.def/IP  /abc.def/P
417      *** Failers      *** Failers
418  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
419      abc\ndef      abc\ndef
420  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
421    
422  /abc$/IP  /abc$/P
423      abc      abc
424   0: abc   0: abc
425      abc\n      abc\n
426   0: abc   0: abc
427    
428  /(abc)\2/IP  /(abc)\2/P
429  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
430    
431  /(abc\1)/IP  /(abc\1)/P
432      abc      abc
433  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
434    
# Line 401  Failed: missing terminating ] for charac Line 440  Failed: missing terminating ] for charac
440    
441  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
442  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
443  No options  No options
444  No first char  No first char
445  No need char  No need char
# Line 410  No need char Line 448  No need char
448    
449  /<.*>/I  /<.*>/I
450  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
451  No options  No options
452  First char = '<'  First char = '<'
453  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 456  Need char = '>'
456    
457  /<.*?>/I  /<.*?>/I
458  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
459  No options  No options
460  First char = '<'  First char = '<'
461  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 464  Need char = '>'
464    
465  /<.*>/IU  /<.*>/IU
466  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
467  Options: ungreedy  Options: ungreedy
468  First char = '<'  First char = '<'
469  Need char = '>'  Need char = '>'
# Line 437  Need char = '>' Line 472  Need char = '>'
472    
473  /(?U)<.*>/I  /(?U)<.*>/I
474  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
475  Options: ungreedy  Options: ungreedy
476  First char = '<'  First char = '<'
477  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 480  Need char = '>'
480    
481  /<.*?>/IU  /<.*?>/IU
482  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
483  Options: ungreedy  Options: ungreedy
484  First char = '<'  First char = '<'
485  Need char = '>'  Need char = '>'
# Line 455  Need char = '>' Line 488  Need char = '>'
488    
489  /={3,}/IU  /={3,}/IU
490  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
491  Options: ungreedy  Options: ungreedy
492  First char = '='  First char = '='
493  Need char = '='  Need char = '='
# Line 464  Need char = '=' Line 496  Need char = '='
496    
497  /(?U)={3,}?/I  /(?U)={3,}?/I
498  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
499  Options: ungreedy  Options: ungreedy
500  First char = '='  First char = '='
501  Need char = '='  Need char = '='
# Line 522  No need char Line 553  No need char
553    
554  /(?s).*/I  /(?s).*/I
555  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
556  Options: anchored dotall  Options: anchored dotall
557  No first char  No first char
558  No need char  No need char
# Line 532  Capturing subpattern count = 0 Line 562  Capturing subpattern count = 0
562  No options  No options
563  No first char  No first char
564  No need char  No need char
565    Subject length lower bound = 1
566  Starting byte set: a b c d  Starting byte set: a b c d
567    
568  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 539  Capturing subpattern count = 0 Line 570  Capturing subpattern count = 0
570  Options: caseless  Options: caseless
571  No first char  No first char
572  No need char  No need char
573    Subject length lower bound = 1
574  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
575    
576  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 546  Capturing subpattern count = 1 Line 578  Capturing subpattern count = 1
578  Options: multiline  Options: multiline
579  No first char  No first char
580  No need char  No need char
581    Subject length lower bound = 1
582  Starting byte set: b c x y  Starting byte set: b c x y
583    
584  /(^a|^b)/Im  /(^a|^b)/Im
# Line 584  Failed: syntax error in subpattern name Line 617  Failed: syntax error in subpattern name
617  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
618  Capturing subpattern count = 1  Capturing subpattern count = 1
619  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
620  No options  No options
621  First char = 'b'  First char = 'b'
622  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 624  Need char = 'h'
624  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
625  Capturing subpattern count = 1  Capturing subpattern count = 1
626  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
627  No options  No options
628  First char = 'b' (caseless)  First char = 'b' (caseless)
629  Need char = 'h' (caseless)  Need char = 'h' (caseless)
630    
631  /((?i)b)/IDZS  /((?i)b)/IDZS
632  ------------------------------------------------------------------  ------------------------------------------------------------------
633          Bra 0          Bra
634          Bra 1          CBra 1
635       01 Opt       /i b
      NC b  
636          Ket          Ket
      00 Opt  
637          Ket          Ket
638          End          End
639  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 612  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 668  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 685  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 692  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 699  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
737  Capturing subpattern count = 0  Capturing subpattern count = 0
738    Contains explicit CR or LF match
739  Options: multiline  Options: multiline
740  No first char  No first char
741  Need char = 'r'  Need char = 'r'
# Line 719  No match Line 752  No match
752    
753  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
754  Capturing subpattern count = 0  Capturing subpattern count = 0
755    Contains explicit CR or LF match
756  Options: multiline  Options: multiline
757  First char at start or follows newline  First char at start or follows newline
758  Need char = 'r'  Need char = 'r'
# Line 782  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 852  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 864  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 944  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 1004  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 1022  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 1037  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 1104  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
1159  Partial matching not supported  Contains explicit CR or LF match
1160  No options  No options
1161  First char = 'w'  First char = 'w'
1162  Need char = 'd'  Need char = 'd'
1163    
1164  /.*X/IDZ  /.*X/IDZ
1165  ------------------------------------------------------------------  ------------------------------------------------------------------
1166          Bra 0          Bra
1167          Any*          Any*
1168          X          X
1169          Ket          Ket
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'
1176    
1177  /.*X/IDZs  /.*X/IDZs
1178  ------------------------------------------------------------------  ------------------------------------------------------------------
1179          Bra 0          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'
1189    
1190  /(.*X|^B)/IDZ  /(.*X|^B)/IDZ
1191  ------------------------------------------------------------------  ------------------------------------------------------------------
1192          Bra 0          Bra
1193          Bra 1          CBra 1
1194          Any*          Any*
1195          X          X
1196          Alt          Alt
# Line 1151  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
1207    
1208  /(.*X|^B)/IDZs  /(.*X|^B)/IDZs
1209  ------------------------------------------------------------------  ------------------------------------------------------------------
1210          Bra 0          Bra
1211          Bra 1          CBra 1
1212          Any*          AllAny*
1213          X          X
1214          Alt          Alt
1215          ^          ^
# Line 1170  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
1225    
1226  /(?s)(.*X|^B)/IDZ  /(?s)(.*X|^B)/IDZ
1227  ------------------------------------------------------------------  ------------------------------------------------------------------
1228          Bra 0          Bra
1229          Bra 1          CBra 1
1230          Any*          AllAny*
1231          X          X
1232          Alt          Alt
1233          ^          ^
# Line 1189  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
1243    
1244  /(?s:.*X|^B)/IDZ  /(?s:.*X|^B)/IDZ
1245  ------------------------------------------------------------------  ------------------------------------------------------------------
1246          Bra 0          Bra
1247          Bra 0          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 1296  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 1347  No need char Line 1389  No need char
1389    
1390  /^ab\n/Ig+  /^ab\n/Ig+
1391  Capturing subpattern count = 0  Capturing subpattern count = 0
1392    Contains explicit CR or LF match
1393  Options: anchored  Options: anchored
1394  No first char  No first char
1395  No need char  No need char
# Line 1356  No need char Line 1399  No need char
1399    
1400  /^ab\n/Img+  /^ab\n/Img+
1401  Capturing subpattern count = 0  Capturing subpattern count = 0
1402    Contains explicit CR or LF match
1403  Options: multiline  Options: multiline
1404  First char at start or follows newline  First char at start or follows newline
1405  Need char = 10  Need char = 10
# Line 1397  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  
1474  No options  No options
1475  First char = '"'  First char = '"'
1476  Need char = '"'  Need char = '"'
# Line 1487  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 1563  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 1589  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 1664  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 1696  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 1707  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  
1736  Options: extended  Options: extended
1737  First char = '('  First char = '('
1738  Need char = ')'  Need char = ')'
# Line 1736  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  
1764  Options: extended  Options: extended
1765  First char = '('  First char = '('
1766  Need char = ')'  Need char = ')'
# Line 1751  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  
1778  Options: extended  Options: extended
1779  First char = '('  First char = '('
1780  Need char = ')'  Need char = ')'
# Line 1770  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  
1796  Options: extended  Options: extended
1797  First char = '('  First char = '('
1798  Need char = ')'  Need char = ')'
# Line 1781  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  
1806  Options: extended  Options: extended
1807  First char = '('  First char = '('
1808  Need char = ')'  Need char = ')'
# Line 1791  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  
1815  Options: extended  Options: extended
1816  First char = '('  First char = '('
1817  Need char = ')'  Need char = ')'
# Line 1802  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  
1825  Options: extended  Options: extended
1826  First char = '('  First char = '('
1827  Need char = ')'  Need char = ')'
# Line 1819  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  
1841  Options: extended  Options: extended
1842  First char = '('  First char = '('
1843  Need char = ')'  Need char = ')'
# Line 1836  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  
1857  Options: extended  Options: extended
1858  First char = '('  First char = '('
1859  Need char = ')'  Need char = ')'
# Line 1856  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  
1876  Options: extended  Options: extended
1877  First char = '('  First char = '('
1878  Need char = ')'  Need char = ')'
# Line 1864  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  
1886  Options: extended  Options: extended
1887  First char = '('  First char = '('
1888  Need char = ')'  Need char = ')'
# Line 1885  Need char = ')' Line 1899  Need char = ')'
1899    
1900  /^[[:alnum:]]/DZ  /^[[:alnum:]]/DZ
1901  ------------------------------------------------------------------  ------------------------------------------------------------------
1902          Bra 0          Bra
1903          ^          ^
1904          [0-9A-Za-z]          [0-9A-Za-z]
1905          Ket          Ket
# Line 1898  No need char Line 1912  No need char
1912    
1913  /^[[:^alnum:]]/DZ  /^[[:^alnum:]]/DZ
1914  ------------------------------------------------------------------  ------------------------------------------------------------------
1915          Bra 0          Bra
1916          ^          ^
1917          [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1918          Ket          Ket
1919          End          End
1920  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1911  No need char Line 1925  No need char
1925    
1926  /^[[:alpha:]]/DZ  /^[[:alpha:]]/DZ
1927  ------------------------------------------------------------------  ------------------------------------------------------------------
1928          Bra 0          Bra
1929          ^          ^
1930          [A-Za-z]          [A-Za-z]
1931          Ket          Ket
# Line 1924  No need char Line 1938  No need char
1938    
1939  /^[[:^alpha:]]/DZ  /^[[:^alpha:]]/DZ
1940  ------------------------------------------------------------------  ------------------------------------------------------------------
1941          Bra 0          Bra
1942          ^          ^
1943          [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1944          Ket          Ket
1945          End          End
1946  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1940  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    
1961  /^[[:ascii:]]/DZ  /^[[:ascii:]]/DZ
1962  ------------------------------------------------------------------  ------------------------------------------------------------------
1963          Bra 0          Bra
1964          ^          ^
1965          [\x00-\x7f]          [\x00-\x7f]
1966          Ket          Ket
# Line 1958  No need char Line 1973  No need char
1973    
1974  /^[[:^ascii:]]/DZ  /^[[:^ascii:]]/DZ
1975  ------------------------------------------------------------------  ------------------------------------------------------------------
1976          Bra 0          Bra
1977          ^          ^
1978          [\x80-\xff]          [\x80-\xff] (neg)
1979          Ket          Ket
1980          End          End
1981  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1971  No need char Line 1986  No need char
1986    
1987  /^[[:blank:]]/DZ  /^[[:blank:]]/DZ
1988  ------------------------------------------------------------------  ------------------------------------------------------------------
1989          Bra 0          Bra
1990          ^          ^
1991          [\x09 ]          [\x09 ]
1992          Ket          Ket
# Line 1984  No need char Line 1999  No need char
1999    
2000  /^[[:^blank:]]/DZ  /^[[:^blank:]]/DZ
2001  ------------------------------------------------------------------  ------------------------------------------------------------------
2002          Bra 0          Bra
2003          ^          ^
2004          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2005          Ket          Ket
2006          End          End
2007  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1997  No need char Line 2012  No need char
2012    
2013  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
2014  Capturing subpattern count = 0  Capturing subpattern count = 0
2015    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
2023  ------------------------------------------------------------------  ------------------------------------------------------------------
2024          Bra 0          Bra
2025          ^          ^
2026          [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
2027          Ket          Ket
# Line 2017  No need char Line 2034  No need char
2034    
2035  /^[[:digit:]]/DZ  /^[[:digit:]]/DZ
2036  ------------------------------------------------------------------  ------------------------------------------------------------------
2037          Bra 0          Bra
2038          ^          ^
2039          [0-9]          [0-9]
2040          Ket          Ket
# Line 2030  No need char Line 2047  No need char
2047    
2048  /^[[:graph:]]/DZ  /^[[:graph:]]/DZ
2049  ------------------------------------------------------------------  ------------------------------------------------------------------
2050          Bra 0          Bra
2051          ^          ^
2052          [!-~]          [!-~]
2053          Ket          Ket
# Line 2043  No need char Line 2060  No need char
2060    
2061  /^[[:lower:]]/DZ  /^[[:lower:]]/DZ
2062  ------------------------------------------------------------------  ------------------------------------------------------------------
2063          Bra 0          Bra
2064          ^          ^
2065          [a-z]          [a-z]
2066          Ket          Ket
# Line 2056  No need char Line 2073  No need char
2073    
2074  /^[[:print:]]/DZ  /^[[:print:]]/DZ
2075  ------------------------------------------------------------------  ------------------------------------------------------------------
2076          Bra 0          Bra
2077          ^          ^
2078          [ -~]          [ -~]
2079          Ket          Ket
# Line 2069  No need char Line 2086  No need char
2086    
2087  /^[[:punct:]]/DZ  /^[[:punct:]]/DZ
2088  ------------------------------------------------------------------  ------------------------------------------------------------------
2089          Bra 0          Bra
2090          ^          ^
2091          [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2092          Ket          Ket
# Line 2082  No need char Line 2099  No need char
2099    
2100  /^[[:space:]]/DZ  /^[[:space:]]/DZ
2101  ------------------------------------------------------------------  ------------------------------------------------------------------
2102          Bra 0          Bra
2103          ^          ^
2104          [\x09-\x0d ]          [\x09-\x0d ]
2105          Ket          Ket
# Line 2095  No need char Line 2112  No need char
2112    
2113  /^[[:upper:]]/DZ  /^[[:upper:]]/DZ
2114  ------------------------------------------------------------------  ------------------------------------------------------------------
2115          Bra 0          Bra
2116          ^          ^
2117          [A-Z]          [A-Z]
2118          Ket          Ket
# Line 2108  No need char Line 2125  No need char
2125    
2126  /^[[:xdigit:]]/DZ  /^[[:xdigit:]]/DZ
2127  ------------------------------------------------------------------  ------------------------------------------------------------------
2128          Bra 0          Bra
2129          ^          ^
2130          [0-9A-Fa-f]          [0-9A-Fa-f]
2131          Ket          Ket
# Line 2121  No need char Line 2138  No need char
2138    
2139  /^[[:word:]]/DZ  /^[[:word:]]/DZ
2140  ------------------------------------------------------------------  ------------------------------------------------------------------
2141          Bra 0          Bra
2142          ^          ^
2143          [0-9A-Z_a-z]          [0-9A-Z_a-z]
2144          Ket          Ket
# Line 2134  No need char Line 2151  No need char
2151    
2152  /^[[:^cntrl:]]/DZ  /^[[:^cntrl:]]/DZ
2153  ------------------------------------------------------------------  ------------------------------------------------------------------
2154          Bra 0          Bra
2155          ^          ^
2156          [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2157          Ket          Ket
2158          End          End
2159  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2147  No need char Line 2164  No need char
2164    
2165  /^[12[:^digit:]]/DZ  /^[12[:^digit:]]/DZ
2166  ------------------------------------------------------------------  ------------------------------------------------------------------
2167          Bra 0          Bra
2168          ^          ^
2169          [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2170          Ket          Ket
2171          End          End
2172  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2160  No need char Line 2177  No need char
2177    
2178  /^[[:^blank:]]/DZ  /^[[:^blank:]]/DZ
2179  ------------------------------------------------------------------  ------------------------------------------------------------------
2180          Bra 0          Bra
2181          ^          ^
2182          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2183          Ket          Ket
2184          End          End
2185  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2173  No need char Line 2190  No need char
2190    
2191  /[01[:alpha:]%]/DZ  /[01[:alpha:]%]/DZ
2192  ------------------------------------------------------------------  ------------------------------------------------------------------
2193          Bra 0          Bra
2194          [%01A-Za-z]          [%01A-Za-z]
2195          Ket          Ket
2196          End          End
# Line 2246  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 2694  Need char = '-' Line 2710  Need char = '-'
2710    
2711  /#/IxDZ  /#/IxDZ
2712  ------------------------------------------------------------------  ------------------------------------------------------------------
2713          Bra 0          Bra
2714          Ket          Ket
2715          End          End
2716  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2705  No need char Line 2721  No need char
2721    
2722  /a#/IxDZ  /a#/IxDZ
2723  ------------------------------------------------------------------  ------------------------------------------------------------------
2724          Bra 0          Bra
2725          a          a
2726          Ket          Ket
2727          End          End
# Line 2717  No need char Line 2733  No need char
2733    
2734  /[\s]/DZ  /[\s]/DZ
2735  ------------------------------------------------------------------  ------------------------------------------------------------------
2736          Bra 0          Bra
2737          [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2738          Ket          Ket
2739          End          End
# Line 2729  No need char Line 2745  No need char
2745    
2746  /[\S]/DZ  /[\S]/DZ
2747  ------------------------------------------------------------------  ------------------------------------------------------------------
2748          Bra 0          Bra
2749          [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2750          Ket          Ket
2751          End          End
2752  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2741  No need char Line 2757  No need char
2757    
2758  /a(?i)b/DZ  /a(?i)b/DZ
2759  ------------------------------------------------------------------  ------------------------------------------------------------------
2760          Bra 0          Bra
2761          a          a
2762       01 Opt       /i b
      NC b  
2763          Ket          Ket
2764          End          End
2765  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2763  No match Line 2778  No match
2778    
2779  /(a(?i)b)/DZ  /(a(?i)b)/DZ
2780  ------------------------------------------------------------------  ------------------------------------------------------------------
2781          Bra 0          Bra
2782          Bra 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 2790  No match Line 2803  No match
2803    
2804  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2805  ------------------------------------------------------------------  ------------------------------------------------------------------
2806          Bra 0          Bra
2807       NC abc       /i abc
2808          Ket          Ket
2809          End          End
2810  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2803  Need char = 'c' (caseless) Line 2816  Need char = 'c' (caseless)
2816  /#this is a comment  /#this is a comment
2817    (?i)abc/IxDZ    (?i)abc/IxDZ
2818  ------------------------------------------------------------------  ------------------------------------------------------------------
2819          Bra 0          Bra
2820       NC abc       /i abc
2821          Ket          Ket
2822          End          End
2823  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2815  Need char = 'c' (caseless) Line 2828  Need char = 'c' (caseless)
2828    
2829  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2830  ------------------------------------------------------------------  ------------------------------------------------------------------
2831          Bra 0          Bra
2832          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2833          Ket          Ket
2834          End          End
# Line 2827  Need char = '0' Line 2840  Need char = '0'
2840    
2841  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2842  ------------------------------------------------------------------  ------------------------------------------------------------------
2843          Bra 0          Bra
2844          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2845          Ket          Ket
2846          End          End
# Line 2839  Need char = '0' Line 2852  Need char = '0'
2852    
2853  /\Q\E/DZ  /\Q\E/DZ
2854  ------------------------------------------------------------------  ------------------------------------------------------------------
2855          Bra 0          Bra
2856          Ket          Ket
2857          End          End
2858  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2852  No need char Line 2865  No need char
2865    
2866  /\Q\Ex/DZ  /\Q\Ex/DZ
2867  ------------------------------------------------------------------  ------------------------------------------------------------------
2868          Bra 0          Bra
2869          x          x
2870          Ket          Ket
2871          End          End
# Line 2864  No need char Line 2877  No need char
2877    
2878  / \Q\E/DZ  / \Q\E/DZ
2879  ------------------------------------------------------------------  ------------------------------------------------------------------
2880          Bra 0          Bra
2881    
2882          Ket          Ket
2883          End          End
# Line 2876  No need char Line 2889  No need char
2889    
2890  /a\Q\E/DZ  /a\Q\E/DZ
2891  ------------------------------------------------------------------  ------------------------------------------------------------------
2892          Bra 0          Bra
2893          a          a
2894          Ket          Ket
2895          End          End
# Line 2894  No need char Line 2907  No need char
2907    
2908  /a\Q\Eb/DZ  /a\Q\Eb/DZ
2909  ------------------------------------------------------------------  ------------------------------------------------------------------
2910          Bra 0          Bra
2911          ab          ab
2912          Ket          Ket
2913          End          End
# Line 2908  Need char = 'b' Line 2921  Need char = 'b'
2921    
2922  /\Q\Eabc/DZ  /\Q\Eabc/DZ
2923  ------------------------------------------------------------------  ------------------------------------------------------------------
2924          Bra 0          Bra
2925          abc          abc
2926          Ket          Ket
2927          End          End
# Line 2920  Need char = 'c' Line 2933  Need char = 'c'
2933    
2934  /x*+\w/DZ  /x*+\w/DZ
2935  ------------------------------------------------------------------  ------------------------------------------------------------------
2936          Bra 0          Bra
2937          x*+          x*+
2938          \w          \w
2939          Ket          Ket
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 2938  No match Line 2950  No match
2950    
2951  /x?+/DZ  /x?+/DZ
2952  ------------------------------------------------------------------  ------------------------------------------------------------------
2953          Bra 0          Bra
2954          x?+          x?+
2955          Ket          Ket
2956          End          End
# Line 2950  No need char Line 2962  No need char
2962    
2963  /x++/DZ  /x++/DZ
2964  ------------------------------------------------------------------  ------------------------------------------------------------------
2965          Bra 0          Bra
2966          x++          x++
2967          Ket          Ket
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
2974    
2975  /x{1,3}+/DZ  /x{1,3}+/DZ
2976  ------------------------------------------------------------------  ------------------------------------------------------------------
2977          Bra 0          Bra
2978          Once          Once
2979          x          x
2980          x{0,2}          x{0,2}
# Line 2972  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
2989    
2990  /(x)*+/DZ  /(x)*+/DZ
2991  ------------------------------------------------------------------  ------------------------------------------------------------------
2992          Bra 0          Bra
2993          Once          Braposzero
2994          Brazero          CBraPos 1
         Bra 1  
2995          x          x
2996          KetRmax          KetRpos
         Ket  
2997          Ket          Ket
2998          End          End
2999  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2996  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 3010  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 3025  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 3034  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 3044  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 3054  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  
3060  No options  No options
3061  No first char  No first char
3062  No need char  No need char
# Line 3064  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  
3069  No options  No options
3070  First char = '('  First char = '('
3071  Need char = ')'  Need char = ')'
# Line 3081  No match Line 3082  No match
3082    
3083  /(abc){1,3}+/DZ  /(abc){1,3}+/DZ
3084  ------------------------------------------------------------------  ------------------------------------------------------------------
3085          Bra 0          Bra
3086          Once          Once
3087          Bra 1          CBra 1
3088          abc          abc
3089          Ket          Ket
3090          Brazero          Brazero
3091          Bra 0          Bra
3092          Bra 1          CBra 1
3093          abc          abc
3094          Ket          Ket
3095          Brazero          Brazero
3096          Bra 1          CBra 1
3097          abc          abc
3098          Ket          Ket
3099          Ket          Ket
# Line 3119  Failed: nothing to repeat at offset 7 Line 3120  Failed: nothing to repeat at offset 7
3120    
3121  /x(?U)a++b/DZ  /x(?U)a++b/DZ
3122  ------------------------------------------------------------------  ------------------------------------------------------------------
3123          Bra 0          Bra
3124          x          x
3125          a++          a++
3126          b          b
# Line 3127  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 3136  Need char = 'b' Line 3136  Need char = 'b'
3136    
3137  /(?U)xa++b/DZ  /(?U)xa++b/DZ
3138  ------------------------------------------------------------------  ------------------------------------------------------------------
3139          Bra 0          Bra
3140          x          x
3141          a++          a++
3142          b          b
# Line 3144  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 3153  Need char = 'b' Line 3152  Need char = 'b'
3152    
3153  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3154  ------------------------------------------------------------------  ------------------------------------------------------------------
3155          Bra 0          Bra
3156          ^          ^
3157          Bra 1          CBra 1
3158          Bra 2          CBra 2
3159          a+          a+
3160          Ket          Ket
3161          Bra 3          CBra 3
3162          [ab]+?          [ab]+?
3163          Ket          Ket
3164          Bra 4          CBra 4
3165          [bc]+          [bc]+
3166          Ket          Ket
3167          Bra 5          CBra 5
3168          \w*          \w*
3169          Ket          Ket
3170          Ket          Ket
# Line 3173  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
3178    
3179  /^x(?U)a+b/DZ  /^x(?U)a+b/DZ
3180  ------------------------------------------------------------------  ------------------------------------------------------------------
3181          Bra 0          Bra
3182          ^          ^
3183          x          x
3184          a++          a++
# Line 3189  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'
3193    
3194  /^x(?U)(a+)b/DZ  /^x(?U)(a+)b/DZ
3195  ------------------------------------------------------------------  ------------------------------------------------------------------
3196          Bra 0          Bra
3197          ^          ^
3198          x          x
3199          Bra 1          CBra 1
3200          a+?          a+?
3201          Ket          Ket
3202          b          b
# Line 3207  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 3222  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 3247  Failed: missing terminating ] for charac Line 3243  Failed: missing terminating ] for charac
3243    
3244  /[\s]/IDZ  /[\s]/IDZ
3245  ------------------------------------------------------------------  ------------------------------------------------------------------
3246          Bra 0          Bra
3247          [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3248          Ket          Ket
3249          End          End
# Line 3259  No need char Line 3255  No need char
3255    
3256  /[[:space:]]/IDZ  /[[:space:]]/IDZ
3257  ------------------------------------------------------------------  ------------------------------------------------------------------
3258          Bra 0          Bra
3259          [\x09-\x0d ]          [\x09-\x0d ]
3260          Ket          Ket
3261          End          End
# Line 3271  No need char Line 3267  No need char
3267    
3268  /[[:space:]abcde]/IDZ  /[[:space:]abcde]/IDZ
3269  ------------------------------------------------------------------  ------------------------------------------------------------------
3270          Bra 0          Bra
3271          [\x09-\x0d a-e]          [\x09-\x0d a-e]
3272          Ket          Ket
3273          End          End
# Line 3283  No need char Line 3279  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  
3282  Options: extended  Options: extended
3283  First char = '<'  First char = '<'
3284  Need char = '>'  Need char = '>'
# Line 3306  No match Line 3301  No match
3301    
3302  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3303  ------------------------------------------------------------------  ------------------------------------------------------------------
3304          Bra 0          Bra
3305          8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X          8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3306          \b          \b
3307          Ket          Ket
# Line 3319  Need char = 'X' Line 3314  Need char = 'X'
3314    
3315  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3316  ------------------------------------------------------------------  ------------------------------------------------------------------
3317          Bra 0          Bra
3318          $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X          $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3319          \b          \b
3320          Ket          Ket
# Line 3333  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 3348  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 3363  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 3371  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 3388  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 3435  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 3494  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
# Line 3513  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 3546  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 3553  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 3710  No need char Line 3702  No need char
3702    
3703  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3704  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3705  No options  No options
3706  No first char  No first char
3707  No need char  No need char
# Line 3839  Callout 0: last capture = 1 Line 3830  Callout 0: last capture = 1
3830    
3831  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3832  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3833  No options  No options
3834  First char = 'a'  First char = 'a'
3835  Need char = 'b'  Need char = 'b'
# Line 3865  No match Line 3855  No match
3855    
3856  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3857  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3858  No options  No options
3859  First char = 'a'  First char = 'a'
3860  Need char = 'b'  Need char = 'b'
# Line 3906  Capturing subpattern count = 0 Line 3895  Capturing subpattern count = 0
3895  No options  No options
3896  No first char  No first char
3897  No need char  No need char
3898    Subject length lower bound = 1
3899  Starting byte set: a b  Starting byte set: a b
3900    
3901  /(?R)/I  /(?R)/I
# Line 3991  Need char = '<' Line 3981  Need char = '<'
3981    
3982  /(a(?1)b)/DZ  /(a(?1)b)/DZ
3983  ------------------------------------------------------------------  ------------------------------------------------------------------
3984          Bra 0          Bra
3985          Bra 1          CBra 1
3986          a          a
3987          Once          Once
3988          Recurse          Recurse
# Line 4009  Need char = 'b' Line 3999  Need char = 'b'
3999    
4000  /(a(?1)+b)/DZ  /(a(?1)+b)/DZ
4001  ------------------------------------------------------------------  ------------------------------------------------------------------
4002          Bra 0          Bra
4003          Bra 1          CBra 1
4004          a          a
4005          Once          Once
4006          Recurse          Recurse
# Line 4025  No options Line 4015  No options
4015  First char = 'a'  First char = 'a'
4016  Need char = 'b'  Need char = 'b'
4017    
 /^\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  
   
4018  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4019  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4020  Options: anchored  Options: anchored
4021  No first char  No first char
4022  No need char  No need char
# Line 4102  No match Line 4057  No match
4057    
4058  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4059  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4060  Options: extended  Options: extended
4061  First char = '<'  First char = '<'
4062  Need char = '>'  Need char = '>'
# Line 4185  No need char Line 4139  No need char
4139    
4140  /a(?P<name1>b|c)d(?P<longername2>e)/DZ  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4141  ------------------------------------------------------------------  ------------------------------------------------------------------
4142          Bra 0          Bra
4143          a          a
4144          Bra 1          CBra 1
4145          b          b
4146          Alt          Alt
4147          c          c
4148          Ket          Ket
4149          d          d
4150          Bra 2          CBra 2
4151          e          e
4152          Ket          Ket
4153          Ket          Ket
# Line 4217  Need char = 'e' Line 4171  Need char = 'e'
4171    
4172  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4173  ------------------------------------------------------------------  ------------------------------------------------------------------
4174          Bra 0          Bra
4175          Bra 0          Bra
4176          a          a
4177          Bra 1          CBra 1
4178          c          c
4179          Bra 2          CBra 2
4180          d          d
4181          Ket          Ket
4182          Ket          Ket
4183          Ket          Ket
4184          Bra 3          CBra 3
4185          a          a
4186          Ket          Ket
4187          Ket          Ket
# Line 4244  Need char = 'a' Line 4198  Need char = 'a'
4198    
4199  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4200  ------------------------------------------------------------------  ------------------------------------------------------------------
4201          Bra 0          Bra
4202          Bra 1          CBra 1
4203          a          a
4204          Ket          Ket
4205          Any          Any
# Line 4276  Named capturing subpatterns: Line 4230  Named capturing subpatterns:
4230    one     1    one     1
4231    three   3    three   3
4232    two     2    two     2
 Partial matching not supported  
4233  Options: anchored caseless  Options: anchored caseless
4234  No first char  No first char
4235  No need char  No need char
# Line 4322  No need char Line 4275  No need char
4275    
4276  /(.*)a/Is  /(.*)a/Is
4277  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4278  Options: anchored dotall  Options: anchored dotall
4279  No first char  No first char
4280  Need char = 'a'  Need char = 'a'
# Line 4330  Need char = 'a' Line 4282  Need char = 'a'
4282  /(.*)a\1/Is  /(.*)a\1/Is
4283  Capturing subpattern count = 1  Capturing subpattern count = 1
4284  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4285  Options: dotall  Options: dotall
4286  No first char  No first char
4287  Need char = 'a'  Need char = 'a'
# Line 4338  Need char = 'a' Line 4289  Need char = 'a'
4289  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4290  Capturing subpattern count = 2  Capturing subpattern count = 2
4291  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4292  Options: anchored dotall  Options: anchored dotall
4293  No first char  No first char
4294  Need char = 'b'  Need char = 'b'
4295    
4296  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4297  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4298  Options: anchored dotall  Options: anchored dotall
4299  No first char  No first char
4300  Need char = 'z'  Need char = 'z'
# Line 4353  Need char = 'z' Line 4302  Need char = 'z'
4302  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4303  Capturing subpattern count = 3  Capturing subpattern count = 3
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 = 'z'  Need char = 'z'
# Line 4361  Need char = 'z' Line 4309  Need char = 'z'
4309  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4310  Capturing subpattern count = 3  Capturing subpattern count = 3
4311  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4312  Options: dotall  Options: dotall
4313  No first char  No first char
4314  Need char = 'z'  Need char = 'z'
# Line 4369  Need char = 'z' Line 4316  Need char = 'z'
4316  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4317  Capturing subpattern count = 3  Capturing subpattern count = 3
4318  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4319  Options: dotall  Options: dotall
4320  No first char  No first char
4321  Need char = 'z'  Need char = 'z'
# Line 4377  Need char = 'z' Line 4323  Need char = 'z'
4323  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4324  Capturing subpattern count = 3  Capturing subpattern count = 3
4325  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4326  Options: anchored dotall  Options: anchored dotall
4327  No first char  No first char
4328  Need char = 'z'  Need char = 'z'
4329    
4330  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4331  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4332  Options: anchored dotall  Options: anchored dotall
4333  No first char  No first char
4334  No need char  No need char
# Line 4392  No need char Line 4336  No need char
4336  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4337  Capturing subpattern count = 31  Capturing subpattern count = 31
4338  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4339  Options: dotall  Options: dotall
4340  No first char  No first char
4341  No need char  No need char
# Line 4400  No need char Line 4343  No need char
4343  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4344  Capturing subpattern count = 32  Capturing subpattern count = 32
4345  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4346  Options: dotall  Options: dotall
4347  No first char  No first char
4348  No need char  No need char
4349    
4350  /(a)(bc)/INDZ  /(a)(bc)/INDZ
4351  ------------------------------------------------------------------  ------------------------------------------------------------------
4352          Bra 0          Bra
4353          Bra 0          Bra
4354          a          a
4355          Ket          Ket
4356          Bra 0          Bra
4357          bc          bc
4358          Ket          Ket
4359          Ket          Ket
# Line 4426  Need char = 'c' Line 4368  Need char = 'c'
4368    
4369  /(?P<one>a)(bc)/INDZ  /(?P<one>a)(bc)/INDZ
4370  ------------------------------------------------------------------  ------------------------------------------------------------------
4371          Bra 0          Bra
4372          Bra 1          CBra 1
4373          a          a
4374          Ket          Ket
4375          Bra 0          Bra
4376          bc          bc
4377          Ket          Ket
4378          Ket          Ket
# Line 4448  Need char = 'c' Line 4390  Need char = 'c'
4390    
4391  /(a)(?P<named>bc)/INDZ  /(a)(?P<named>bc)/INDZ
4392  ------------------------------------------------------------------  ------------------------------------------------------------------
4393          Bra 0          Bra
4394          Bra 0          Bra
4395          a          a
4396          Ket          Ket
4397          Bra 1          CBra 1
4398          bc          bc
4399          Ket          Ket
4400          Ket          Ket
# Line 4467  Need char = 'c' Line 4409  Need char = 'c'
4409    
4410  /(a+)*zz/I  /(a+)*zz/I
4411  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4412  No options  No options
4413  No first char  No first char
4414  Need char = 'z'  Need char = 'z'
# Line 4541  copy substring three failed -7 Line 4482  copy substring three failed -7
4482    
4483  /(?P<Tes>)(?P<Test>)/DZ  /(?P<Tes>)(?P<Test>)/DZ
4484  ------------------------------------------------------------------  ------------------------------------------------------------------
4485          Bra 0          Bra
4486          Bra 1          CBra 1
4487          Ket          Ket
4488          Bra 2          CBra 2
4489          Ket          Ket
4490          Ket          Ket
4491          End          End
# Line 4559  No need char Line 4500  No need char
4500    
4501  /(?P<Test>)(?P<Tes>)/DZ  /(?P<Test>)(?P<Tes>)/DZ
4502  ------------------------------------------------------------------  ------------------------------------------------------------------
4503          Bra 0          Bra
4504          Bra 1          CBra 1
4505          Ket          Ket
4506          Bra 2          CBra 2
4507          Ket          Ket
4508          Ket          Ket
4509          End          End
# Line 4604  Failed: two named subpatterns have the s Line 4545  Failed: two named subpatterns have the s
4545  Capturing subpattern count = 3  Capturing subpattern count = 3
4546  Named capturing subpatterns:  Named capturing subpatterns:
4547    elem   2    elem   2
 Partial matching not supported  
4548  No options  No options
4549  First char = '['  First char = '['
4550  Need char = ']'  Need char = ']'
# Line 4622  No match Line 4562  No match
4562  Capturing subpattern count = 3  Capturing subpattern count = 3
4563  Named capturing subpatterns:  Named capturing subpatterns:
4564    elem   2    elem   2
 Partial matching not supported  
4565  No options  No options
4566  First char = '['  First char = '['
4567  Need char = ']'  Need char = ']'
# Line 4636  Need char = ']' Line 4575  Need char = ']'
4575    
4576  /(a(b(?2)c))?/DZ  /(a(b(?2)c))?/DZ
4577  ------------------------------------------------------------------  ------------------------------------------------------------------
4578          Bra 0          Bra
4579          Brazero          Brazero
4580          Bra 1          CBra 1
4581          a          a
4582          Bra 2          CBra 2
4583          b          b
4584          Once          Once
4585          Recurse          Recurse
# Line 4658  No need char Line 4597  No need char
4597    
4598  /(a(b(?2)c))*/DZ  /(a(b(?2)c))*/DZ
4599  ------------------------------------------------------------------  ------------------------------------------------------------------
4600          Bra 0          Bra
4601          Brazero          Brazero
4602          Bra 1          CBra 1
4603          a          a
4604          Bra 2          CBra 2
4605          b          b
4606          Once          Once
4607          Recurse          Recurse
# Line 4680  No need char Line 4619  No need char
4619    
4620  /(a(b(?2)c)){0,2}/DZ  /(a(b(?2)c)){0,2}/DZ
4621  ------------------------------------------------------------------  ------------------------------------------------------------------
4622          Bra 0          Bra
4623          Brazero          Brazero
4624          Bra 0          Bra
4625          Bra 1          CBra 1
4626          a          a
4627          Bra 2          CBra 2
4628          b          b
4629          Once          Once
4630          Recurse          Recurse
# Line 4694  No need char Line 4633  No need char
4633          Ket          Ket
4634          Ket          Ket
4635          Brazero          Brazero
4636          Bra 1          CBra 1
4637          a          a
4638          Bra 2          CBra 2
4639          b          b
4640          Once          Once
4641          Recurse          Recurse
# Line 4715  No need char Line 4654  No need char
4654    
4655  /[ab]{1}+/DZ  /[ab]{1}+/DZ
4656  ------------------------------------------------------------------  ------------------------------------------------------------------
4657          Bra 0          Bra
4658          Once          Once
4659          [ab]{1,1}          [ab]{1,1}
4660          Ket          Ket
# Line 4729  No need char Line 4668  No need char
4668    
4669  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4670  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4671  Options: caseless  Options: caseless
4672  No first char  No first char
4673  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4739  Need char = 'g' (caseless) Line 4677  Need char = 'g' (caseless)
4677    
4678  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4679  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4680  Options: caseless  Options: caseless
4681  No first char  No first char
4682  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4683  Study returned NULL  Subject length lower bound = 8
4684    No set of starting bytes
4685       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4686   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4687   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4688    
4689  /a*.*b/ISDZ  /a*.*b/ISDZ
4690  ------------------------------------------------------------------  ------------------------------------------------------------------
4691          Bra 0          Bra
4692          a*          a*
4693          Any*          Any*
4694          b          b
# Line 4758  Study returned NULL Line 4696  Study returned NULL
4696          End          End
4697  ------------------------------------------------------------------  ------------------------------------------------------------------
4698  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4699  No options  No options
4700  No first char  No first char
4701  Need char = 'b'  Need char = 'b'
4702  Study returned NULL  Subject length lower bound = 1
4703    No set of starting bytes
4704    
4705  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4706  ------------------------------------------------------------------  ------------------------------------------------------------------
4707          Bra 0          Bra
4708          Brazero          Brazero
4709          Bra 1          CBra 1
4710          a          a
4711          Alt          Alt
4712          b          b
# Line 4782  Capturing subpattern count = 1 Line 4720  Capturing subpattern count = 1
4720  No options  No options
4721  No first char  No first char
4722  Need char = 'c'  Need char = 'c'
4723  Study returned NULL  Subject length lower bound = 1
4724    No set of starting bytes
4725    
4726  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4727  ------------------------------------------------------------------  ------------------------------------------------------------------
4728          Bra 0          Bra
4729          abc          abc
4730          Callout 255 10 1          Callout 255 10 1
4731          de          de
# Line 4802  Need char = 'f' Line 4741  Need char = 'f'
4741    
4742  /abcde/ICDZ  /abcde/ICDZ
4743  ------------------------------------------------------------------  ------------------------------------------------------------------
4744          Bra 0          Bra
4745          Callout 255 0 1          Callout 255 0 1
4746          a          a
4747          Callout 255 1 1          Callout 255 1 1
# Line 4841  No match Line 4780  No match
4780    
4781  /a*b/ICDZ  /a*b/ICDZ
4782  ------------------------------------------------------------------  ------------------------------------------------------------------
4783          Bra 0          Bra
4784          Callout 255 0 2          Callout 255 0 2
4785          a*+          a*+
4786          Callout 255 2 1          Callout 255 2 1
# Line 4851  No match Line 4790  No match
4790          End          End
4791  ------------------------------------------------------------------  ------------------------------------------------------------------
4792  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4793  Options:  Options:
4794  No first char  No first char
4795  Need char = 'b'  Need char = 'b'
# Line 4886  Need char = 'b' Line 4824  Need char = 'b'
4824    
4825  /a+b/ICDZ  /a+b/ICDZ
4826  ------------------------------------------------------------------  ------------------------------------------------------------------
4827          Bra 0          Bra
4828          Callout 255 0 2          Callout 255 0 2
4829          a++          a++
4830          Callout 255 2 1          Callout 255 2 1
# Line 4896  Need char = 'b' Line 4834  Need char = 'b'
4834          End          End
4835  ------------------------------------------------------------------  ------------------------------------------------------------------
4836  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4837  Options:  Options:
4838  First char = 'a'  First char = 'a'
4839  Need char = 'b'  Need char = 'b'
# Line 4926  No match Line 4863  No match
4863    
4864  /(abc|def)x/ICDZ  /(abc|def)x/ICDZ
4865  ------------------------------------------------------------------  ------------------------------------------------------------------
4866          Bra 0          Bra
4867          Callout 255 0 9          Callout 255 0 9
4868          Bra 1          CBra 1
4869          Callout 255 1 1          Callout 255 1 1
4870          a          a
4871          Callout 255 2 1          Callout 255 2 1
# Line 5080  No need char Line 5017  No need char
5017    
5018  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZ
5019  ------------------------------------------------------------------  ------------------------------------------------------------------
5020          Bra 0          Bra
5021          Callout 255 0 14          Callout 255 0 14
5022          Bra 1          CBra 1
5023          Callout 255 1 4          Callout 255 1 4
5024          [ab]          [ab]
5025          Callout 255 5 1          Callout 255 5 1
# Line 5255  No match Line 5192  No match
5192    
5193  /([ab]{1,4}c|xy){4,5}?123/ICDZ  /([ab]{1,4}c|xy){4,5}?123/ICDZ
5194  ------------------------------------------------------------------  ------------------------------------------------------------------
5195          Bra 0          Bra
5196          Callout 255 0 21          Callout 255 0 21
5197          Bra 1          CBra 1
5198          Callout 255 1 9          Callout 255 1 9
5199          [ab]{1,4}          [ab]{1,4}
5200          Callout 255 10 1          Callout 255 10 1
# Line 5270  No match Line 5207  No match
5207          y          y
5208          Callout 255 14 0          Callout 255 14 0
5209          Ket          Ket
5210          Bra 1          CBra 1
5211          Callout 255 1 9          Callout 255 1 9
5212          [ab]{1,4}          [ab]{1,4}
5213          Callout 255 10 1          Callout 255 10 1
# Line 5283  No match Line 5220  No match
5220          y          y
5221          Callout 255 14 0          Callout 255 14 0
5222          Ket          Ket
5223          Bra 1          CBra 1
5224          Callout 255 1 9          Callout 255 1 9
5225          [ab]{1,4}          [ab]{1,4}
5226          Callout 255 10 1          Callout 255 10 1
# Line 5296  No match Line 5233  No match
5233          y          y
5234          Callout 255 14 0          Callout 255 14 0
5235          Ket          Ket
5236          Bra 1          CBra 1
5237          Callout 255 1 9          Callout 255 1 9
5238          [ab]{1,4}          [ab]{1,4}
5239          Callout 255 10 1          Callout 255 10 1
# Line 5310  No match Line 5247  No match
5247          Callout 255 14 0          Callout 255 14 0
5248          Ket          Ket
5249          Braminzero          Braminzero
5250          Bra 1          CBra 1
5251          Callout 255 1 9          Callout 255 1 9
5252          [ab]{1,4}          [ab]{1,4}
5253          Callout 255 10 1          Callout 255 10 1
# Line 5334  No match Line 5271  No match
5271          End          End
5272  ------------------------------------------------------------------  ------------------------------------------------------------------
5273  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5274  Options:  Options:
5275  No first char  No first char
5276  Need char = '3'  Need char = '3'
# Line 5366  Need char = '3' Line 5302  Need char = '3'
5302    
5303  /\b.*/I  /\b.*/I
5304  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5305  No options  No options
5306  No first char  No first char
5307  No need char  No need char
# Line 5375  No need char Line 5310  No need char
5310    
5311  /\b.*/Is  /\b.*/Is
5312  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5313  Options: dotall  Options: dotall
5314  No first char  No first char
5315  No need char  No need char
# Line 5384  No need char Line 5318  No need char
5318    
5319  /(?!.bcd).*/I  /(?!.bcd).*/I
5320  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5321  No options  No options
5322  No first char  No first char
5323  No need char  No need char
# Line 5397  No options Line 5330  No options
5330  First char = 'a'  First char = 'a'
5331  Need char = 'e'  Need char = 'e'
5332      ab\P      ab\P
5333  Partial match  Partial match: ab
5334      abc\P      abc\P
5335  Partial match  Partial match: abc
5336      abcd\P      abcd\P
5337  Partial match  Partial match: abcd
5338      abcde\P      abcde\P
5339   0: abcde   0: abcde
5340      the quick brown abc\P      the quick brown abc\P
5341  Partial match  Partial match: abc
5342      ** Failers\P      ** Failers\P
5343  No match  No match
5344      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5430  Need char = '/' Line 5363  Need char = '/'
5363   1: 02   1: 02
5364   2: 05   2: 05
5365      1\P      1\P
5366  Partial match  Partial match: 1
5367      1/2\P      1/2\P
5368  Partial match  Partial match: 1/2
5369      1/2/0\P      1/2/0\P
5370  Partial match  Partial match: 1/2/0
5371      1/2/04\P      1/2/04\P
5372   0: 1/2/04   0: 1/2/04
5373   1: 1   1: 1
5374   2: 2   2: 2
5375      0\P      0\P
5376  Partial match  Partial match: 0
5377      02/\P      02/\P
5378  Partial match  Partial match: 02/
5379      02/0\P      02/0\P
5380  Partial match  Partial match: 02/0
5381      02/1\P      02/1\P
5382  Partial match  Partial match: 02/1
5383      ** Failers\P      ** Failers\P
5384  No match  No match
5385      \P      \P
# Line 5468  No match Line 5401  No match
5401    
5402  /0{0,2}ABC/I  /0{0,2}ABC/I
5403  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5404  No options  No options
5405  No first char  No first char
5406  Need char = 'C'  Need char = 'C'
5407    
5408  /\d{3,}ABC/I  /\d{3,}ABC/I
5409  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5410  No options  No options
5411  No first char  No first char
5412  Need char = 'C'  Need char = 'C'
5413    
5414  /\d*ABC/I  /\d*ABC/I
5415  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5416  No options  No options
5417  No first char  No first char
5418  Need char = 'C'  Need char = 'C'
5419    
5420  /[abc]+DE/I  /[abc]+DE/I
5421  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5422  No options  No options
5423  No first char  No first char
5424  Need char = 'E'  Need char = 'E'
# Line 5502  Need char = '3' Line 5431  Need char = '3'
5431      123\P      123\P
5432   0: 123   0: 123
5433      a\P      a\P
5434  Partial match  Partial match: a
5435      b\P      b\P
5436  Partial match  Partial match: b
5437      c\P      c\P
5438  Partial match  Partial match: c
5439      c12\P      c12\P
5440  Partial match  Partial match: c12
5441      c123\P      c123\P
5442   0: c123   0: c123
5443    
# Line 5518  Options: anchored Line 5447  Options: anchored
5447  No first char  No first char
5448  Need char = 'X'  Need char = 'X'
5449      1\P      1\P
5450  Partial match  Partial match: 1
5451      123\P      123\P
5452  Partial match  Partial match: 123
5453      123X      123X
5454   0: 123X   0: 123X
5455      1234\P      1234\P
5456  Partial match  Partial match: 1234
5457      1234X      1234X
5458   0: 1234X   0: 1234X
5459      12345\P      12345\P
5460  Partial match  Partial match: 12345
5461      12345X      12345X
5462   0: 12345X   0: 12345X
5463      *** Failers      *** Failers
# Line 5575  Capturing subpattern count = 1 Line 5504  Capturing subpattern count = 1
5504  No options  No options
5505  No first char  No first char
5506  No need char  No need char
5507    Subject length lower bound = 1
5508  Starting byte set: a b  Starting byte set: a b
5509  Compiled regex written to testsavedregex  Compiled regex written to testsavedregex
5510  Study data written to testsavedregex  Study data written to testsavedregex
# Line 5595  Capturing subpattern count = 1 Line 5525  Capturing subpattern count = 1
5525  No options  No options
5526  No first char  No first char
5527  No need char  No need char
5528    Subject length lower bound = 1
5529  Starting byte set: a b  Starting byte set: a b
5530  Compiled regex written to testsavedregex  Compiled regex written to testsavedregex
5531  Study data written to testsavedregex  Study data written to testsavedregex
# Line 5613  No match Line 5544  No match
5544  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5545  Capturing subpattern count = 3  Capturing subpattern count = 3
5546  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5547  Options: multiline dotall  Options: multiline dotall
5548  First char = '<'  First char = '<'
5549  Need char = '>'  Need char = '>'
# Line 5631  No need char Line 5561  No need char
5561    
5562  /line\nbreak/I  /line\nbreak/I
5563  Capturing subpattern count = 0  Capturing subpattern count = 0
5564    Contains explicit CR or LF match
5565  No options  No options
5566  First char = 'l'  First char = 'l'
5567  Need char = 'k'  Need char = 'k'
# Line 5641  Need char = 'k' Line 5572  Need char = 'k'
5572    
5573  /line\nbreak/If  /line\nbreak/If
5574  Capturing subpattern count = 0  Capturing subpattern count = 0
5575    Contains explicit CR or LF match
5576  Options: firstline  Options: firstline
5577  First char = 'l'  First char = 'l'
5578  Need char = 'k'  Need char = 'k'
# Line 5653  No match Line 5585  No match
5585    
5586  /line\nbreak/Imf  /line\nbreak/Imf
5587  Capturing subpattern count = 0  Capturing subpattern count = 0
5588    Contains explicit CR or LF match
5589  Options: multiline firstline  Options: multiline firstline
5590  First char = 'l'  First char = 'l'
5591  Need char = 'k'  Need char = 'k'
# Line 5663  No match Line 5596  No match
5596      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5597  No match  No match
5598    
5599  /ab.cd/IP  /ab.cd/P
5600      ab-cd      ab-cd
5601   0: ab-cd   0: ab-cd
5602      ab=cd      ab=cd
# Line 5673  No match: POSIX code 17: match failed Line 5606  No match: POSIX code 17: match failed
5606      ab\ncd      ab\ncd
5607  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
5608    
5609  /ab.cd/IPs  /ab.cd/Ps
5610      ab-cd      ab-cd
5611   0: ab-cd   0: ab-cd
5612      ab=cd      ab=cd
# Line 5917  Matched, but too many substrings Line 5850  Matched, but too many substrings
5850    
5851  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
5852  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5853  No options  No options
5854  No first char  No first char
5855  No need char  No need char
# Line 5930  No need char Line 5862  No need char
5862    
5863  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
5864  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5865  No options  No options
5866  No first char  No first char
5867  No need char  No need char
# Line 5941  No need char Line 5872  No need char
5872    
5873  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
5874  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5875  No options  No options
5876  No first char  No first char
5877  No need char  No need char
# Line 5952  No need char Line 5882  No need char
5882    
5883  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
5884  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5885  No options  No options
5886  No first char  No first char
5887  No need char  No need char
# Line 5965  No need char Line 5894  No need char
5894    
5895  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
5896  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5897  No options  No options
5898  No first char  No first char
5899  No need char  No need char
# Line 5978  No need char Line 5906  No need char
5906      ((this))      ((this))
5907   0: ((this))   0: ((this))
5908    
5909  /a(b)c/IPN  /a(b)c/PN
5910      abc      abc
5911  Matched with REG_NOSUB  Matched with REG_NOSUB
5912    
5913  /a(?P<name>b)c/IPN  /a(?P<name>b)c/PN
5914      abc      abc
5915  Matched with REG_NOSUB  Matched with REG_NOSUB
5916    
# Line 6160  Named capturing subpatterns: Line 6088  Named capturing subpatterns:
6088    A   2    A   2
6089    A   3    A   3
6090  Options: anchored dupnames  Options: anchored dupnames
6091    Duplicate name status changes
6092  No first char  No first char
6093  No need char  No need char
6094      a1b\CA      a1b\CA
# Line 6306  Failed: octal value is greater than \377 Line 6235  Failed: octal value is greater than \377
6235    
6236  /\s*,\s*/IS  /\s*,\s*/IS
6237  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6238  No options  No options
6239  No first char  No first char
6240  Need char = ','  Need char = ','
6241    Subject length lower bound = 1
6242  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6243      \x0b,\x0b      \x0b,\x0b
6244   0: ,   0: ,
# Line 6436  Unknown newline type at: <bad> Line 6365  Unknown newline type at: <bad>
6365    
6366  /.*/I<lf>  /.*/I<lf>
6367  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6368  Options:  Options:
6369  Forced newline sequence: LF  Forced newline sequence: LF
6370  First char at start or follows newline  First char at start or follows newline
# Line 6462  No need char Line 6390  No need char
6390    
6391  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6392  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6393  Options: dotall  Options: dotall
6394  No first char  No first char
6395  Need char = 'f'  Need char = 'f'
# Line 6479  Need char = 'f' Line 6406  Need char = 'f'
6406    
6407  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6408  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6409  No options  No options
6410  No first char  No first char
6411  No need char  No need char
# Line 6614  No need char Line 6540  No need char
6540    
6541  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6542  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6543  No options  No options
6544  No first char  No first char
6545  No need char  No need char
6546    Subject length lower bound = 1
6547  Starting byte set: C a b c d  Starting byte set: C a b c d
6548    
6549  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6625  Capturing subpattern count = 1 Line 6551  Capturing subpattern count = 1
6551  No options  No options
6552  No first char  No first char
6553  Need char = 'z'  Need char = 'z'
6554    Subject length lower bound = 4
6555  Starting byte set: a b  Starting byte set: a b
6556    
6557  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6632  Capturing subpattern count = 1 Line 6559  Capturing subpattern count = 1
6559  No options  No options
6560  No first char  No first char
6561  Need char = 'z'  Need char = 'z'
6562    Subject length lower bound = 4
6563  Starting byte set: a b  Starting byte set: a b
6564    
6565  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6639  Capturing subpattern count = 1 Line 6567  Capturing subpattern count = 1
6567  No options  No options
6568  No first char  No first char
6569  Need char = 'z'  Need char = 'z'
6570    Subject length lower bound = 4
6571  Starting byte set: a b c  Starting byte set: a b c
6572    
6573  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6646  Capturing subpattern count = 1 Line 6575  Capturing subpattern count = 1
6575  No options  No options
6576  No first char  No first char
6577  Need char = 'z'  Need char = 'z'
6578    Subject length lower bound = 4
6579  Starting byte set: a b c  Starting byte set: a b c
6580    
6581  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6653  Capturing subpattern count = 1 Line 6583  Capturing subpattern count = 1
6583  No options  No options
6584  No first char  No first char
6585  Need char = 'z'  Need char = 'z'
6586    Subject length lower bound = 4
6587  Starting byte set: a b c d  Starting byte set: a b c d
6588    
6589  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6660  Capturing subpattern count = 1 Line 6591  Capturing subpattern count = 1
6591  No options  No options
6592  No first char  No first char
6593  Need char = 'z'  Need char = 'z'
6594    Subject length lower bound = 4
6595  Starting byte set: a b c d  Starting byte set: a b c d
6596    
6597  /^a*b\d/DZ  /^a*b\d/DZ
6598  ------------------------------------------------------------------  ------------------------------------------------------------------
6599          Bra 0          Bra
6600          ^          ^
6601          a*+          a*+
6602          b          b
# Line 6673  Starting byte set: a b c d Line 6605  Starting byte set: a b c d
6605          End          End
6606  ------------------------------------------------------------------  ------------------------------------------------------------------
6607  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6608  Options: anchored  Options: anchored
6609  No first char  No first char
6610  Need char = 'b'  Need char = 'b'
6611    
6612  /^a*+b\d/DZ  /^a*+b\d/DZ
6613  ------------------------------------------------------------------  ------------------------------------------------------------------
6614          Bra 0          Bra
6615          ^          ^
6616          a*+          a*+
6617          b          b
# Line 6689  Need char = 'b' Line 6620  Need char = 'b'
6620          End          End
6621  ------------------------------------------------------------------  ------------------------------------------------------------------
6622  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6623  Options: anchored  Options: anchored
6624  No first char  No first char
6625  Need char = 'b'  Need char = 'b'
6626    
6627  /^a*?b\d/DZ  /^a*?b\d/DZ
6628  ------------------------------------------------------------------  ------------------------------------------------------------------
6629          Bra 0          Bra
6630          ^          ^
6631          a*+          a*+
6632          b          b
# Line 6705  Need char = 'b' Line 6635  Need char = 'b'
6635          End          End
6636  ------------------------------------------------------------------  ------------------------------------------------------------------
6637  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6638  Options: anchored  Options: anchored
6639  No first char  No first char
6640  Need char = 'b'  Need char = 'b'
6641    
6642  /^a+A\d/DZ  /^a+A\d/DZ
6643  ------------------------------------------------------------------  ------------------------------------------------------------------
6644          Bra 0          Bra
6645          ^          ^
6646          a++          a++
6647          A          A
# Line 6721  Need char = 'b' Line 6650  Need char = 'b'
6650          End          End
6651  ------------------------------------------------------------------  ------------------------------------------------------------------
6652  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6653  Options: anchored  Options: anchored
6654  No first char  No first char
6655  Need char = 'A'  Need char = 'A'
# Line 6734  No match Line 6662  No match
6662    
6663  /^a*A\d/IiDZ  /^a*A\d/IiDZ
6664  ------------------------------------------------------------------  ------------------------------------------------------------------
6665          Bra 0          Bra
6666          ^          ^
6667          a*       /i a*
6668       NC A       /i A
6669          \d          \d
6670          Ket          Ket
6671          End          End
6672  ------------------------------------------------------------------  ------------------------------------------------------------------
6673  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6674  Options: anchored caseless  Options: anchored caseless
6675  No first char  No first char
6676  Need char = 'A' (caseless)  Need char = 'A' (caseless)
# Line 6754  Need char = 'A' (caseless) Line 6681  Need char = 'A' (caseless)
6681    
6682  /(a*|b*)[cd]/IS  /(a*|b*)[cd]/IS
6683  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6684  No options  No options
6685  No first char  No first char
6686  No need char  No need char
6687    Subject length lower bound = 1
6688  Starting byte set: a b c d  Starting byte set: a b c d
6689    
6690  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6691  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6692  No options  No options
6693  No first char  No first char
6694  No need char  No need char
6695    Subject length lower bound = 1
6696  Starting byte set: a b c d  Starting byte set: a b c d
6697    
6698  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6699  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6700  No options  No options
6701  No first char  No first char
6702  No need char  No need char
6703    Subject length lower bound = 1
6704  Starting byte set: a b c d  Starting byte set: a b c d
6705    
6706  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6707  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6708  No options  No options
6709  No first char  No first char
6710  No need char  No need char
6711    Subject length lower bound = 2
6712  Starting byte set: a b  Starting byte set: a b
6713    
6714  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 6816  Matched, but too many substrings Line 6743  Matched, but too many substrings
6743    
6744  /a*\d/BZ  /a*\d/BZ
6745  ------------------------------------------------------------------  ------------------------------------------------------------------
6746          Bra 0          Bra
6747          a*+          a*+
6748          \d          \d
6749          Ket          Ket
# Line 6825  Matched, but too many substrings Line 6752  Matched, but too many substrings
6752    
6753  /a*\D/BZ  /a*\D/BZ
6754  ------------------------------------------------------------------  ------------------------------------------------------------------
6755          Bra 0          Bra
6756          a*          a*
6757          \D          \D
6758          Ket          Ket
# Line 6834  Matched, but too many substrings Line 6761  Matched, but too many substrings
6761    
6762  /0*\d/BZ  /0*\d/BZ
6763  ------------------------------------------------------------------  ------------------------------------------------------------------
6764          Bra 0          Bra
6765          0*          0*
6766          \d          \d
6767          Ket          Ket
# Line 6843  Matched, but too many substrings Line 6770  Matched, but too many substrings
6770    
6771  /0*\D/BZ  /0*\D/BZ
6772  ------------------------------------------------------------------  ------------------------------------------------------------------
6773          Bra 0          Bra
6774          0*+          0*+
6775          \D          \D
6776          Ket          Ket
# Line 6852  Matched, but too many substrings Line 6779  Matched, but too many substrings
6779    
6780  /a*\s/BZ  /a*\s/BZ
6781  ------------------------------------------------------------------  ------------------------------------------------------------------
6782          Bra 0          Bra
6783          a*+          a*+
6784          \s          \s
6785          Ket          Ket
# Line 6861  Matched, but too many substrings Line 6788  Matched, but too many substrings
6788    
6789  /a*\S/BZ  /a*\S/BZ
6790  ------------------------------------------------------------------  ------------------------------------------------------------------
6791          Bra 0          Bra
6792          a*          a*
6793          \S          \S
6794          Ket          Ket
# Line 6870  Matched, but too many substrings Line 6797  Matched, but too many substrings
6797    
6798  / *\s/BZ  / *\s/BZ
6799  ------------------------------------------------------------------  ------------------------------------------------------------------
6800          Bra 0          Bra
6801           *           *
6802          \s          \s
6803          Ket          Ket
# Line 6879  Matched, but too many substrings Line 6806  Matched, but too many substrings
6806    
6807  / *\S/BZ  / *\S/BZ
6808  ------------------------------------------------------------------  ------------------------------------------------------------------
6809          Bra 0          Bra
6810           *+           *+
6811          \S          \S
6812          Ket          Ket
# Line 6888  Matched, but too many substrings Line 6815  Matched, but too many substrings
6815    
6816  /a*\w/BZ  /a*\w/BZ
6817  ------------------------------------------------------------------  ------------------------------------------------------------------
6818          Bra 0          Bra
6819          a*          a*
6820          \w          \w
6821          Ket          Ket
# Line 6897  Matched, but too many substrings Line 6824  Matched, but too many substrings
6824    
6825  /a*\W/BZ  /a*\W/BZ
6826  ------------------------------------------------------------------  ------------------------------------------------------------------
6827          Bra 0          Bra
6828          a*+          a*+
6829          \W          \W
6830          Ket          Ket
# Line 6906  Matched, but too many substrings Line 6833  Matched, but too many substrings
6833    
6834  /=*\w/BZ  /=*\w/BZ
6835  ------------------------------------------------------------------  ------------------------------------------------------------------
6836          Bra 0          Bra
6837          =*+          =*+
6838          \w          \w
6839          Ket          Ket
# Line 6915  Matched, but too many substrings Line 6842  Matched, but too many substrings
6842    
6843  /=*\W/BZ  /=*\W/BZ
6844  ------------------------------------------------------------------  ------------------------------------------------------------------
6845          Bra 0          Bra
6846          =*          =*
6847          \W          \W
6848          Ket          Ket
# Line 6924  Matched, but too many substrings Line 6851  Matched, but too many substrings
6851    
6852  /\d*a/BZ  /\d*a/BZ
6853  ------------------------------------------------------------------  ------------------------------------------------------------------
6854          Bra 0          Bra
6855          \d*+          \d*+
6856          a          a
6857          Ket          Ket
# Line 6933  Matched, but too many substrings Line 6860  Matched, but too many substrings
6860    
6861  /\d*2/BZ  /\d*2/BZ
6862  ------------------------------------------------------------------  ------------------------------------------------------------------
6863          Bra 0          Bra
6864          \d*          \d*
6865          2          2
6866          Ket          Ket
# Line 6942  Matched, but too many substrings Line 6869  Matched, but too many substrings
6869    
6870  /\d*\d/BZ  /\d*\d/BZ
6871  ------------------------------------------------------------------  ------------------------------------------------------------------
6872          Bra 0          Bra
6873          \d*          \d*
6874          \d          \d
6875          Ket          Ket
# Line 6951  Matched, but too many substrings Line 6878  Matched, but too many substrings
6878    
6879  /\d*\D/BZ  /\d*\D/BZ
6880  ------------------------------------------------------------------  ------------------------------------------------------------------
6881          Bra 0          Bra
6882          \d*+          \d*+
6883          \D          \D
6884          Ket          Ket
# Line 6960  Matched, but too many substrings Line 6887  Matched, but too many substrings
6887    
6888  /\d*\s/BZ  /\d*\s/BZ
6889  ------------------------------------------------------------------  ------------------------------------------------------------------
6890          Bra 0          Bra
6891          \d*+          \d*+
6892          \s          \s
6893          Ket          Ket
# Line 6969  Matched, but too many substrings Line 6896  Matched, but too many substrings
6896    
6897  /\d*\S/BZ  /\d*\S/BZ
6898  ------------------------------------------------------------------  ------------------------------------------------------------------
6899          Bra 0          Bra
6900          \d*          \d*
6901          \S          \S
6902          Ket          Ket
# Line 6978  Matched, but too many substrings Line 6905  Matched, but too many substrings
6905    
6906  /\d*\w/BZ  /\d*\w/BZ
6907  ------------------------------------------------------------------  ------------------------------------------------------------------
6908          Bra 0          Bra
6909          \d*          \d*
6910          \w          \w
6911          Ket          Ket
# Line 6987  Matched, but too many substrings Line 6914  Matched, but too many substrings
6914    
6915  /\d*\W/BZ  /\d*\W/BZ
6916  ------------------------------------------------------------------  ------------------------------------------------------------------
6917          Bra 0          Bra
6918          \d*+          \d*+
6919          \W          \W
6920          Ket          Ket
# Line 6996  Matched, but too many substrings Line 6923  Matched, but too many substrings
6923    
6924  /\D*a/BZ  /\D*a/BZ
6925  ------------------------------------------------------------------  ------------------------------------------------------------------
6926          Bra 0          Bra
6927          \D*          \D*
6928          a          a
6929          Ket          Ket
# Line 7005  Matched, but too many substrings Line 6932  Matched, but too many substrings
6932    
6933  /\D*2/BZ  /\D*2/BZ
6934  ------------------------------------------------------------------  ------------------------------------------------------------------
6935          Bra 0          Bra
6936          \D*+          \D*+
6937          2          2
6938          Ket          Ket
# Line 7014  Matched, but too many substrings Line 6941  Matched, but too many substrings
6941    
6942  /\D*\d/BZ  /\D*\d/BZ
6943  ------------------------------------------------------------------  ------------------------------------------------------------------
6944          Bra 0          Bra
6945          \D*+          \D*+
6946          \d          \d
6947          Ket          Ket
# Line 7023  Matched, but too many substrings Line 6950  Matched, but too many substrings
6950    
6951  /\D*\D/BZ  /\D*\D/BZ
6952  ------------------------------------------------------------------  ------------------------------------------------------------------
6953          Bra 0          Bra
6954          \D*          \D*
6955          \D          \D
6956          Ket          Ket
# Line 7032  Matched, but too many substrings Line 6959  Matched, but too many substrings
6959    
6960  /\D*\s/BZ  /\D*\s/BZ
6961  ------------------------------------------------------------------  ------------------------------------------------------------------
6962          Bra 0          Bra
6963          \D*          \D*
6964          \s          \s
6965          Ket          Ket
# Line 7041  Matched, but too many substrings Line 6968  Matched, but too many substrings
6968    
6969  /\D*\S/BZ  /\D*\S/BZ
6970  ------------------------------------------------------------------  ------------------------------------------------------------------
6971          Bra 0          Bra
6972          \D*          \D*
6973          \S          \S
6974          Ket          Ket
# Line 7050  Matched, but too many substrings Line 6977  Matched, but too many substrings
6977    
6978  /\D*\w/BZ  /\D*\w/BZ
6979  ------------------------------------------------------------------  ------------------------------------------------------------------
6980          Bra 0          Bra
6981          \D*          \D*
6982          \w          \w
6983          Ket          Ket
# Line 7059  Matched, but too many substrings Line 6986  Matched, but too many substrings
6986    
6987  /\D*\W/BZ  /\D*\W/BZ
6988  ------------------------------------------------------------------  ------------------------------------------------------------------
6989          Bra 0          Bra
6990          \D*          \D*
6991          \W          \W
6992          Ket          Ket
# Line 7068  Matched, but too many substrings Line 6995  Matched, but too many substrings
6995    
6996  /\s*a/BZ  /\s*a/BZ
6997  ------------------------------------------------------------------  ------------------------------------------------------------------
6998          Bra 0          Bra
6999          \s*+          \s*+
7000          a          a
7001          Ket          Ket
# Line 7077  Matched, but too many substrings Line 7004  Matched, but too many substrings
7004    
7005  /\s*2/BZ  /\s*2/BZ
7006  ------------------------------------------------------------------  ------------------------------------------------------------------
7007          Bra 0          Bra
7008          \s*+          \s*+
7009          2          2
7010          Ket          Ket
# Line 7086  Matched, but too many substrings Line 7013  Matched, but too many substrings
7013    
7014  /\s*\d/BZ  /\s*\d/BZ
7015  ------------------------------------------------------------------  ------------------------------------------------------------------
7016          Bra 0          Bra
7017          \s*+          \s*+
7018          \d          \d
7019          Ket          Ket
# Line 7095  Matched, but too many substrings Line 7022  Matched, but too many substrings
7022    
7023  /\s*\D/BZ  /\s*\D/BZ
7024  ------------------------------------------------------------------  ------------------------------------------------------------------
7025          Bra 0          Bra
7026          \s*          \s*
7027          \D          \D
7028          Ket          Ket
# Line 7104  Matched, but too many substrings Line 7031  Matched, but too many substrings
7031    
7032  /\s*\s/BZ  /\s*\s/BZ
7033  ------------------------------------------------------------------  ------------------------------------------------------------------
7034          Bra 0          Bra
7035          \s*          \s*
7036          \s          \s
7037          Ket          Ket
# Line 7113  Matched, but too many substrings Line 7040  Matched, but too many substrings
7040    
7041  /\s*\S/BZ  /\s*\S/BZ
7042  ------------------------------------------------------------------  ------------------------------------------------------------------
7043          Bra 0          Bra
7044          \s*+          \s*+
7045          \S          \S
7046          Ket          Ket
# Line 7122  Matched, but too many substrings Line 7049  Matched, but too many substrings
7049    
7050  /\s*\w/BZ  /\s*\w/BZ
7051  ------------------------------------------------------------------  ------------------------------------------------------------------
7052          Bra 0          Bra
7053          \s*+          \s*+
7054          \w          \w
7055          Ket          Ket
# Line 7131  Matched, but too many substrings Line 7058  Matched, but too many substrings
7058    
7059  /\s*\W/BZ  /\s*\W/BZ
7060  ------------------------------------------------------------------  ------------------------------------------------------------------
7061          Bra 0          Bra
7062          \s*          \s*
7063          \W          \W
7064          Ket          Ket
# Line 7140  Matched, but too many substrings Line 7067  Matched, but too many substrings
7067    
7068  /\S*a/BZ  /\S*a/BZ
7069  ------------------------------------------------------------------  ------------------------------------------------------------------
7070          Bra 0          Bra
7071          \S*          \S*
7072          a          a
7073          Ket          Ket
# Line 7149  Matched, but too many substrings Line 7076  Matched, but too many substrings
7076    
7077  /\S*2/BZ  /\S*2/BZ
7078  ------------------------------------------------------------------  ------------------------------------------------------------------
7079          Bra 0          Bra
7080          \S*          \S*
7081          2          2
7082          Ket          Ket
# Line 7158  Matched, but too many substrings Line 7085  Matched, but too many substrings
7085    
7086  /\S*\d/BZ  /\S*\d/BZ
7087  ------------------------------------------------------------------  ------------------------------------------------------------------
7088          Bra 0          Bra
7089          \S*          \S*
7090          \d          \d
7091          Ket          Ket
# Line 7167  Matched, but too many substrings Line 7094  Matched, but too many substrings
7094    
7095  /\S*\D/BZ  /\S*\D/BZ
7096  ------------------------------------------------------------------  ------------------------------------------------------------------
7097          Bra 0          Bra
7098          \S*          \S*
7099          \D          \D
7100          Ket          Ket
# Line 7176  Matched, but too many substrings Line 7103  Matched, but too many substrings
7103    
7104  /\S*\s/BZ  /\S*\s/BZ
7105  ------------------------------------------------------------------  ------------------------------------------------------------------
7106          Bra 0          Bra
7107          \S*+          \S*+
7108          \s          \s
7109          Ket          Ket
# Line 7185  Matched, but too many substrings Line 7112  Matched, but too many substrings
7112    
7113  /\S*\S/BZ  /\S*\S/BZ
7114  ------------------------------------------------------------------  ------------------------------------------------------------------
7115          Bra 0          Bra
7116          \S*          \S*
7117          \S          \S
7118          Ket          Ket
# Line 7194  Matched, but too many substrings Line 7121  Matched, but too many substrings
7121    
7122  /\S*\w/BZ  /\S*\w/BZ
7123  ------------------------------------------------------------------  ------------------------------------------------------------------
7124          Bra 0          Bra
7125          \S*          \S*
7126          \w          \w
7127          Ket          Ket
# Line 7203  Matched, but too many substrings Line 7130  Matched, but too many substrings
7130    
7131  /\S*\W/BZ  /\S*\W/BZ
7132  ------------------------------------------------------------------  ------------------------------------------------------------------
7133          Bra 0          Bra
7134          \S*          \S*
7135          \W          \W
7136          Ket          Ket
# Line 7212  Matched, but too many substrings Line 7139  Matched, but too many substrings
7139    
7140  /\w*a/BZ  /\w*a/BZ
7141  ------------------------------------------------------------------  ------------------------------------------------------------------
7142          Bra 0          Bra
7143          \w*          \w*
7144          a          a
7145          Ket          Ket
# Line 7221  Matched, but too many substrings Line 7148  Matched, but too many substrings
7148    
7149  /\w*2/BZ  /\w*2/BZ
7150  ------------------------------------------------------------------  ------------------------------------------------------------------
7151          Bra 0          Bra
7152          \w*          \w*
7153          2          2
7154          Ket          Ket
# Line 7230  Matched, but too many substrings Line 7157  Matched, but too many substrings
7157    
7158  /\w*\d/BZ  /\w*\d/BZ
7159  ------------------------------------------------------------------  ------------------------------------------------------------------
7160          Bra 0          Bra
7161          \w*          \w*
7162          \d          \d
7163          Ket          Ket
# Line 7239  Matched, but too many substrings Line 7166  Matched, but too many substrings
7166    
7167  /\w*\D/BZ  /\w*\D/BZ
7168  ------------------------------------------------------------------  ------------------------------------------------------------------
7169          Bra 0          Bra
7170          \w*          \w*
7171          \D          \D
7172          Ket          Ket
# Line 7248  Matched, but too many substrings Line 7175  Matched, but too many substrings
7175    
7176  /\w*\s/BZ  /\w*\s/BZ
7177  ------------------------------------------------------------------  ------------------------------------------------------------------
7178          Bra 0          Bra
7179          \w*+          \w*+
7180          \s          \s
7181          Ket          Ket
# Line 7257  Matched, but too many substrings Line 7184  Matched, but too many substrings
7184    
7185  /\w*\S/BZ  /\w*\S/BZ
7186  ------------------------------------------------------------------  ------------------------------------------------------------------
7187          Bra 0          Bra
7188          \w*          \w*
7189          \S          \S
7190          Ket          Ket
# Line 7266  Matched, but too many substrings Line 7193  Matched, but too many substrings
7193    
7194  /\w*\w/BZ  /\w*\w/BZ
7195  ------------------------------------------------------------------  ------------------------------------------------------------------
7196          Bra 0          Bra
7197          \w*          \w*
7198          \w          \w
7199          Ket          Ket
# Line 7275  Matched, but too many substrings Line 7202  Matched, but too many substrings
7202    
7203  /\w*\W/BZ  /\w*\W/BZ
7204  ------------------------------------------------------------------  ------------------------------------------------------------------
7205          Bra 0          Bra
7206          \w*+          \w*+
7207          \W          \W
7208          Ket          Ket
# Line 7284  Matched, but too many substrings Line 7211  Matched, but too many substrings
7211    
7212  /\W*a/BZ  /\W*a/BZ
7213  ------------------------------------------------------------------  ------------------------------------------------------------------
7214          Bra 0          Bra
7215          \W*+          \W*+
7216          a          a
7217          Ket          Ket
# Line 7293  Matched, but too many substrings Line 7220  Matched, but too many substrings
7220    
7221  /\W*2/BZ  /\W*2/BZ
7222  ------------------------------------------------------------------  ------------------------------------------------------------------
7223          Bra 0          Bra
7224          \W*+          \W*+
7225          2          2
7226          Ket          Ket
# Line 7302  Matched, but too many substrings Line 7229  Matched, but too many substrings
7229    
7230  /\W*\d/BZ  /\W*\d/BZ
7231  ------------------------------------------------------------------  ------------------------------------------------------------------
7232          Bra 0          Bra
7233          \W*+          \W*+
7234          \d          \d
7235          Ket          Ket
# Line 7311  Matched, but too many substrings Line 7238  Matched, but too many substrings
7238    
7239  /\W*\D/BZ  /\W*\D/BZ
7240  ------------------------------------------------------------------  ------------------------------------------------------------------
7241          Bra 0          Bra
7242          \W*          \W*
7243          \D          \D
7244          Ket          Ket
# Line 7320  Matched, but too many substrings Line 7247  Matched, but too many substrings
7247    
7248  /\W*\s/BZ  /\W*\s/BZ
7249  ------------------------------------------------------------------  ------------------------------------------------------------------
7250          Bra 0          Bra
7251          \W*          \W*
7252          \s          \s
7253          Ket          Ket
# Line 7329  Matched, but too many substrings Line 7256  Matched, but too many substrings
7256    
7257  /\W*\S/BZ  /\W*\S/BZ
7258  ------------------------------------------------------------------  ------------------------------------------------------------------
7259          Bra 0          Bra
7260          \W*          \W*
7261          \S          \S
7262          Ket          Ket
# Line 7338  Matched, but too many substrings Line 7265  Matched, but too many substrings
7265    
7266  /\W*\w/BZ  /\W*\w/BZ
7267  ------------------------------------------------------------------  ------------------------------------------------------------------
7268          Bra 0          Bra
7269          \W*+          \W*+
7270          \w          \w
7271          Ket          Ket
# Line 7347  Matched, but too many substrings Line 7274  Matched, but too many substrings
7274    
7275  /\W*\W/BZ  /\W*\W/BZ
7276  ------------------------------------------------------------------  ------------------------------------------------------------------
7277          Bra 0          Bra
7278          \W*          \W*
7279          \W          \W
7280          Ket          Ket
# Line 7356  Matched, but too many substrings Line 7283  Matched, but too many substrings
7283    
7284  /[^a]+a/BZ  /[^a]+a/BZ
7285  ------------------------------------------------------------------  ------------------------------------------------------------------
7286          Bra 0          Bra
7287          [^a]++          [^a]++
7288          a          a
7289          Ket          Ket
# Line 7365  Matched, but too many substrings Line 7292  Matched, but too many substrings
7292    
7293  /[^a]+a/BZi  /[^a]+a/BZi
7294  ------------------------------------------------------------------  ------------------------------------------------------------------
7295          Bra 0          Bra
7296          [^A]++       /i [^A]++
7297       NC a       /i a
7298          Ket          Ket
7299          End          End
7300  ------------------------------------------------------------------  ------------------------------------------------------------------
7301    
7302  /[^a]+A/BZi  /[^a]+A/BZi
7303  ------------------------------------------------------------------  ------------------------------------------------------------------
7304          Bra 0          Bra
7305          [^A]++       /i [^A]++
7306       NC A       /i A
7307          Ket          Ket
7308          End          End
7309  ------------------------------------------------------------------  ------------------------------------------------------------------
7310    
7311  /[^a]+b/BZ  /[^a]+b/BZ
7312  ------------------------------------------------------------------  ------------------------------------------------------------------
7313          Bra 0          Bra
7314          [^a]+          [^a]+
7315          b          b
7316          Ket          Ket
# Line 7392  Matched, but too many substrings Line 7319  Matched, but too many substrings
7319    
7320  /[^a]+\d/BZ  /[^a]+\d/BZ
7321  ------------------------------------------------------------------  ------------------------------------------------------------------
7322          Bra 0          Bra
7323          [^a]+          [^a]+
7324          \d          \d
7325          Ket          Ket
# Line 7401  Matched, but too many substrings Line 7328  Matched, but too many substrings
7328    
7329  /a*[^a]/BZ  /a*[^a]/BZ
7330  ------------------------------------------------------------------  ------------------------------------------------------------------
7331          Bra 0          Bra
7332          a*          a*
7333          [^a]          [^a]
7334          Ket          Ket
# Line 7542  No match Line 7469  No match
7469    
7470  /^[\E\Qa\E-\Qz\E]+/BZ  /^[\E\Qa\E-\Qz\E]+/BZ
7471  ------------------------------------------------------------------  ------------------------------------------------------------------
7472          Bra 0          Bra
7473          ^          ^
7474          [a-z]+          [a-z]+
7475          Ket          Ket
# Line 7551  No match Line 7478  No match
7478    
7479  /^[a\Q]bc\E]/BZ  /^[a\Q]bc\E]/BZ
7480  ------------------------------------------------------------------  ------------------------------------------------------------------
7481          Bra 0          Bra
7482          ^          ^
7483          [\]a-c]          [\]a-c]
7484          Ket          Ket
# Line 7560  No match Line 7487  No match
7487    
7488  /^[a-\Q\E]/BZ  /^[a-\Q\E]/BZ
7489  ------------------------------------------------------------------  ------------------------------------------------------------------
7490          Bra 0          Bra
7491          ^          ^
7492          [\-a]          [\-a]
7493          Ket          Ket
# Line 7569  No match Line 7496  No match
7496    
7497  /^(?P>abc)[()](?<abc>)/BZ  /^(?P>abc)[()](?<abc>)/BZ
7498  ------------------------------------------------------------------  ------------------------------------------------------------------
7499          Bra 0          Bra
7500          ^          ^
7501          Once          Once
7502          Recurse          Recurse
7503          Ket          Ket
7504          [()]          [()]
7505          Bra 1          CBra 1
7506          Ket          Ket
7507          Ket          Ket
7508          End          End
# Line 7583  No match Line 7510  No match
7510    
7511  /^((?(abc)y)[()](?P<abc>x))+/BZ  /^((?(abc)y)[()](?P<abc>x))+/BZ
7512  ------------------------------------------------------------------  ------------------------------------------------------------------
7513          Bra 0          Bra
7514          ^          ^
7515          Bra 1          CBra 1
7516          Cond          Cond
7517        2 Cond ref        2 Cond nref
7518          y          y
7519          Ket          Ket
7520          [()]          [()]
7521          Bra 2          CBra 2
7522          x          x
7523          Ket          Ket
7524          KetRmax          KetRmax
# Line 7605  No match Line 7532  No match
7532    
7533  /^(?P>abc)\Q()\E(?<abc>)/BZ  /^(?P>abc)\Q()\E(?<abc>)/BZ
7534  ------------------------------------------------------------------  ------------------------------------------------------------------
7535          Bra 0          Bra
7536          ^          ^
7537          Once          Once
7538          Recurse          Recurse
7539          Ket          Ket
7540          ()          ()
7541          Bra 1          CBra 1
7542          Ket          Ket
7543          Ket          Ket
7544          End          End
# Line 7619  No match Line 7546  No match
7546    
7547  /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ  /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
7548  ------------------------------------------------------------------  ------------------------------------------------------------------
7549          Bra 0          Bra
7550          ^          ^
7551          Once          Once
7552          Recurse          Recurse
7553          Ket          Ket
7554          [(\]a]          [(\]a]
7555          Bra 1          CBra 1
7556          Ket          Ket
7557          Ket          Ket
7558          End          End
# Line 7634  No match Line 7561  No match
7561  /^(?P>abc) # this is (a comment)  /^(?P>abc) # this is (a comment)
7562    (?<abc>)/BZx    (?<abc>)/BZx
7563  ------------------------------------------------------------------  ------------------------------------------------------------------
7564          Bra 0          Bra
7565          ^          ^
7566          Once          Once
7567          Recurse          Recurse
7568          Ket          Ket
7569          Bra 1          CBra 1
7570          Ket          Ket
7571          Ket          Ket
7572          End          End
# Line 7653  Named capturing subpatterns: Line 7580  Named capturing subpatterns:
7580    one     1    one     1
7581    three   3    three   3
7582    two     2    two     2
 Partial matching not supported  
7583  Options: anchored caseless  Options: anchored caseless
7584  No first char  No first char
7585  No need char  No need char
# Line 7687  No match Line 7613  No match
7613  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7614  Capturing subpattern count = 1  Capturing subpattern count = 1
7615  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
7616  No options  No options
7617  No first char  No first char
7618  Need char = ':'  Need char = ':'
# Line 7700  Capturing subpattern count = 1 Line 7625  Capturing subpattern count = 1
7625  Max back reference = 1  Max back reference = 1
7626  Named capturing subpatterns:  Named capturing subpatterns:
7627    abc   1    abc   1
 Partial matching not supported  
7628  No options  No options
7629  No first char  No first char
7630  Need char = ':'  Need char = ':'
# Line 7708  Need char = ':' Line 7632  Need char = ':'
7632   0: abcd:   0: abcd:
7633   1: abcd   1: abcd
7634    
 /(?'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  
   
7635  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7636      adaa      adaa
7637   0: adaa   0: adaa
# Line 7748  No match Line 7658  No match
7658      bddd      bddd
7659  No match  No match
7660    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7661  /(?(<bc))/  /(?(<bc))/
7662  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7663    
# Line 7785  Failed: reference to non-existent subpat Line 7688  Failed: reference to non-existent subpat