/[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 93 by nigel, Sat Feb 24 21:41:42 2007 UTC revision 771 by ph10, Tue Nov 29 15:34:12 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        NOTE: This is a non-UTF-8 set of tests. When UTF-8 is needed, use test
9        5, and if Unicode Property Support is needed, use test 13. --/
10    
11    /-- Originally, the Perl >= 5.10 things were in here too, but now I have
12        separated many (most?) of them out into test 11. However, there may still
13        be some that were overlooked. --/
14    
15  /(a)b|/I  /(a)b|/I
16  Capturing subpattern count = 1  Capturing subpattern count = 1
17  No options  No options
# Line 40  No match Line 54  No match
54    
55  /a+bc/I  /a+bc/I
56  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
57  No options  No options
58  First char = 'a'  First char = 'a'
59  Need char = 'c'  Need char = 'c'
60    
61  /a*bc/I  /a*bc/I
62  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
63  No options  No options
64  No first char  No first char
65  Need char = 'c'  Need char = 'c'
66    
67  /a{3}bc/I  /a{3}bc/I
68  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
69  No options  No options
70  First char = 'a'  First char = 'a'
71  Need char = 'c'  Need char = 'c'
72    
73  /(abc|a+z)/I  /(abc|a+z)/I
74  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
75  No options  No options
76  First char = 'a'  First char = 'a'
77  No need char  No need char
# Line 78  No match Line 88  No match
88      def\nabc      def\nabc
89  No match  No match
90    
91  /ab\hdef/X  /ab\idef/X
92  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
93    
94  /(?X)ab\hdef/X  /(?X)ab\idef/X
95  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
96    
97  /x{5,4}/  /x{5,4}/
# Line 96  Failed: missing terminating ] for charac Line 106  Failed: missing terminating ] for charac
106  /(?X)[\B]/  /(?X)[\B]/
107  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
108    
109    /(?X)[\R]/
110    Failed: invalid escape sequence in character class at offset 6
111    
112    /(?X)[\X]/
113    Failed: invalid escape sequence in character class at offset 6
114    
115    /[\B]/BZ
116    ------------------------------------------------------------------
117            Bra
118            B
119            Ket
120            End
121    ------------------------------------------------------------------
122    
123    /[\R]/BZ
124    ------------------------------------------------------------------
125            Bra
126            R
127            Ket
128            End
129    ------------------------------------------------------------------
130    
131    /[\X]/BZ
132    ------------------------------------------------------------------
133            Bra
134            X
135            Ket
136            End
137    ------------------------------------------------------------------
138    
139  /[z-a]/  /[z-a]/
140  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
141    
# Line 109  Failed: missing ) at offset 4 Line 149  Failed: missing ) at offset 4
149  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
150    
151  /(?z)abc/  /(?z)abc/
152  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
153    
154  /.*b/I  /.*b/I
155  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
156  No options  No options
157  First char at start or follows newline  First char at start or follows newline
158  Need char = 'b'  Need char = 'b'
159    
160  /.*?b/I  /.*?b/I
161  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
162  No options  No options
163  First char at start or follows newline  First char at start or follows newline
164  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 178  Capturing subpattern count = 0
178  No options  No options
179  No first char  No first char
180  No need char  No need char
181    Subject length lower bound = 3
182  Starting byte set: c d e  Starting byte set: c d e
183      this sentence eventually mentions a cat      this sentence eventually mentions a cat
184   0: cat   0: cat
# Line 151  Capturing subpattern count = 0 Line 190  Capturing subpattern count = 0
190  Options: caseless  Options: caseless
191  No first char  No first char
192  No need char  No need char
193    Subject length lower bound = 3
194  Starting byte set: C D E c d e  Starting byte set: C D E c d e
195      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
196   0: CAT   0: CAT
# Line 162  Capturing subpattern count = 0 Line 202  Capturing subpattern count = 0
202  No options  No options
203  No first char  No first char
204  No need char  No need char
205    Subject length lower bound = 1
206  Starting byte set: a b c d  Starting byte set: a b c d
207    
208  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 169  Capturing subpattern count = 1 Line 210  Capturing subpattern count = 1
210  No options  No options
211  No first char  No first char
212  No need char  No need char
213    Subject length lower bound = 1
214  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
215    \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
216    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 189  Capturing subpattern count = 1 Line 231  Capturing subpattern count = 1
231  No options  No options
232  No first char  No first char
233  No need char  No need char
234    Subject length lower bound = 1
235  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
236    
237  /(ab\2)/  /(ab\2)/
# Line 222  Matched, but too many substrings Line 265  Matched, but too many substrings
265   0: abcb   0: abcb
266   1: a   1: a
267   2: b   2: b
268      \O12abcb      \O12abcb
269   0: abcb   0: abcb
270   1: a   1: a
271   2: b   2: b
# Line 310  No match Line 353  No match
353  No match  No match
354    
355  /ab(?z)cd/  /ab(?z)cd/
356  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
357    
358  /^abc|def/I  /^abc|def/I
359  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 324  No need char Line 367  No need char
367    
368  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
369  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
370  No options  No options
371  First char at start or follows newline  First char at start or follows newline
372  No need char  No need char
# Line 338  No need char Line 380  No need char
380   2: <unset>   2: <unset>
381   3: def   3: def
382    
383  /abc/IP  /abc/P
384      abc      abc
385   0: abc   0: abc
386      *** Failers      *** Failers
387  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
388    
389  /^abc|def/IP  /^abc|def/P
390      abcdef      abcdef
391   0: abc   0: abc
392      abcdef\B      abcdef\B
393   0: def   0: def
394    
395  /.*((abc)$|(def))/IP  /.*((abc)$|(def))/P
396      defabc      defabc
397   0: defabc   0: defabc
398   1: abc   1: abc
# Line 359  No match: POSIX code 17: match failed Line 401  No match: POSIX code 17: match failed
401   0: def   0: def
402   1: def   1: def
403   3: def   3: def
404    
405  /the quick brown fox/IP  /the quick brown fox/P
406      the quick brown fox      the quick brown fox
407   0: the quick brown fox   0: the quick brown fox
408      *** Failers      *** Failers
409  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
410      The Quick Brown Fox      The Quick Brown Fox
411  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
412    
413  /the quick brown fox/IPi  /the quick brown fox/Pi
414      the quick brown fox      the quick brown fox
415   0: the quick brown fox   0: the quick brown fox
416      The Quick Brown Fox      The Quick Brown Fox
417   0: The Quick Brown Fox   0: The Quick Brown Fox
418    
419  /abc.def/IP  /abc.def/P
420      *** Failers      *** Failers
421  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
422      abc\ndef      abc\ndef
423  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
424    
425  /abc$/IP  /abc$/P
426      abc      abc
427   0: abc   0: abc
428      abc\n      abc\n
429   0: abc   0: abc
430    
431  /(abc)\2/IP  /(abc)\2/P
432  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
433    
434  /(abc\1)/IP  /(abc\1)/P
435      abc      abc
436  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
437    
# Line 401  Failed: missing terminating ] for charac Line 443  Failed: missing terminating ] for charac
443    
444  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
445  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
446  No options  No options
447  No first char  No first char
448  No need char  No need char
449      co-processors, and for      co-processors, and for
450   0: -pr   0: -pr
451    
452  /<.*>/I  /<.*>/I
453  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
454  No options  No options
455  First char = '<'  First char = '<'
456  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 459  Need char = '>'
459    
460  /<.*?>/I  /<.*?>/I
461  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
462  No options  No options
463  First char = '<'  First char = '<'
464  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 467  Need char = '>'
467    
468  /<.*>/IU  /<.*>/IU
469  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
470  Options: ungreedy  Options: ungreedy
471  First char = '<'  First char = '<'
472  Need char = '>'  Need char = '>'
473      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
474   0: <def>   0: <def>
475    
476  /(?U)<.*>/I  /(?U)<.*>/I
477  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
478  Options: ungreedy  Options: ungreedy
479  First char = '<'  First char = '<'
480  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 483  Need char = '>'
483    
484  /<.*?>/IU  /<.*?>/IU
485  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
486  Options: ungreedy  Options: ungreedy
487  First char = '<'  First char = '<'
488  Need char = '>'  Need char = '>'
489      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
490   0: <def>ghi<klm>   0: <def>ghi<klm>
491    
492  /={3,}/IU  /={3,}/IU
493  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
494  Options: ungreedy  Options: ungreedy
495  First char = '='  First char = '='
496  Need char = '='  Need char = '='
497      abc========def      abc========def
498   0: ===   0: ===
499    
500  /(?U)={3,}?/I  /(?U)={3,}?/I
501  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
502  Options: ungreedy  Options: ungreedy
503  First char = '='  First char = '='
504  Need char = '='  Need char = '='
505      abc========def      abc========def
506   0: ========   0: ========
507    
508  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
509  Capturing subpattern count = 0  Capturing subpattern count = 0
510  No options  No options
# Line 478  First char = 'f' Line 512  First char = 'f'
512  Need char = 'o'  Need char = 'o'
513      foo      foo
514   0: foo   0: foo
515      catfoo      catfoo
516   0: foo   0: foo
517      *** Failers      *** Failers
518  No match  No match
519      the barfoo      the barfoo
520  No match  No match
521      and cattlefoo      and cattlefoo
522  No match  No match
523    
524  /(?<=a+)b/  /(?<=a+)b/
# Line 522  No need char Line 556  No need char
556    
557  /(?s).*/I  /(?s).*/I
558  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
559  Options: anchored dotall  Options: anchored dotall
560  No first char  No first char
561  No need char  No need char
# Line 532  Capturing subpattern count = 0 Line 565  Capturing subpattern count = 0
565  No options  No options
566  No first char  No first char
567  No need char  No need char
568    Subject length lower bound = 1
569  Starting byte set: a b c d  Starting byte set: a b c d
570    
571  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 539  Capturing subpattern count = 0 Line 573  Capturing subpattern count = 0
573  Options: caseless  Options: caseless
574  No first char  No first char
575  No need char  No need char
576    Subject length lower bound = 1
577  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
578    
579  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 546  Capturing subpattern count = 1 Line 581  Capturing subpattern count = 1
581  Options: multiline  Options: multiline
582  No first char  No first char
583  No need char  No need char
584    Subject length lower bound = 1
585  Starting byte set: b c x y  Starting byte set: b c x y
586    
587  /(^a|^b)/Im  /(^a|^b)/Im
# Line 584  Failed: syntax error in subpattern name Line 620  Failed: syntax error in subpattern name
620  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
621  Capturing subpattern count = 1  Capturing subpattern count = 1
622  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
623  No options  No options
624  First char = 'b'  First char = 'b'
625  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 627  Need char = 'h'
627  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
628  Capturing subpattern count = 1  Capturing subpattern count = 1
629  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
630  No options  No options
631  First char = 'b' (caseless)  First char = 'b' (caseless)
632  Need char = 'h' (caseless)  Need char = 'h' (caseless)
633    
634  /((?i)b)/IDS  /((?i)b)/IDZS
635  ------------------------------------------------------------------  ------------------------------------------------------------------
636    0  17 Bra 0          Bra
637    3   9 Bra 1          CBra 1
638    8  01 Opt       /i b
639   10  NC b          Ket
640   12   9 Ket          Ket
641   15  00 Opt          End
  17  17 Ket  
  20     End  
642  ------------------------------------------------------------------  ------------------------------------------------------------------
643  Capturing subpattern count = 1  Capturing subpattern count = 1
644  No options  No options
645  First char = 'b' (caseless)  First char = 'b' (caseless)
646  No need char  No need char
647  Study returned NULL  Subject length lower bound = 1
648    No set of starting bytes
649    
650  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
651  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
652  No options  No options
653  No first char  No first char
654  No need char  No need char
655    Subject length lower bound = 1
656  Starting byte set: C a b c d  Starting byte set: C a b c d
657    
658  /a$/I  /a$/I
# Line 631  No need char Line 664  No need char
664   0: a   0: a
665      a\n      a\n
666   0: a   0: a
667      *** Failers      *** Failers
668  No match  No match
669      \Za      \Za
670  No match  No match
671      \Za\n      \Za\n
672  No match  No match
673    
674  /a$/Im  /a$/Im
# Line 647  No need char Line 680  No need char
680   0: a   0: a
681      a\n      a\n
682   0: a   0: a
683      \Za\n      \Za\n
684   0: a   0: a
685      *** Failers      *** Failers
686  No match  No match
687      \Za      \Za
688  No match  No match
689    
690  /\Aabc/Im  /\Aabc/Im
691  Capturing subpattern count = 0  Capturing subpattern count = 0
692  Options: anchored multiline  Options: anchored multiline
693  No first char  No first char
694  No need char  No need char
695    
696  /^abc/Im  /^abc/Im
697  Capturing subpattern count = 0  Capturing subpattern count = 0
698  Options: multiline  Options: multiline
699  First char at start or follows newline  First char at start or follows newline
# Line 668  Need char = 'c' Line 701  Need char = 'c'
701    
702  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
703  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
704  Options: anchored  Options: anchored
705  No first char  No first char
706  No need char  No need char
# Line 685  Capturing subpattern count = 0 Line 717  Capturing subpattern count = 0
717  No options  No options
718  No first char  No first char
719  No need char  No need char
720    Subject length lower bound = 1
721  Starting byte set: a b  Starting byte set: a b
722    
723  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 692  Capturing subpattern count = 1 Line 725  Capturing subpattern count = 1
725  No options  No options
726  No first char  No first char
727  Need char = 'a'  Need char = 'a'
728    Subject length lower bound = 5
729  Starting byte set: a o  Starting byte set: a o
730    
731  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 699  Capturing subpattern count = 0 Line 733  Capturing subpattern count = 0
733  No options  No options
734  No first char  No first char
735  No need char  No need char
736    Subject length lower bound = 1
737  Starting byte set: a b  Starting byte set: a b
738    
739  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
740  Capturing subpattern count = 0  Capturing subpattern count = 0
741    Contains explicit CR or LF match
742  Options: multiline  Options: multiline
743  No first char  No first char
744  Need char = 'r'  Need char = 'r'
745      foo\nbarbar      foo\nbarbar
746   0: bar   0: bar
747      ***Failers      ***Failers
748  No match  No match
749      rhubarb      rhubarb
750  No match  No match
751      barbell      barbell
752  No match  No match
753      abc\nbarton      abc\nbarton
754  No match  No match
755    
756  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
757  Capturing subpattern count = 0  Capturing subpattern count = 0
758    Contains explicit CR or LF match
759  Options: multiline  Options: multiline
760  First char at start or follows newline  First char at start or follows newline
761  Need char = 'r'  Need char = 'r'
762      foo\nbarbar      foo\nbarbar
763   0: bar   0: bar
764      ***Failers      ***Failers
765  No match  No match
766      rhubarb      rhubarb
767  No match  No match
768      barbell      barbell
769  No match  No match
770      abc\nbarton      abc\nbarton
771  No match  No match
772    
773  /(?>^abc)/Im  /(?>^abc)/Im
# Line 744  Need char = 'c' Line 781  Need char = 'c'
781   0: abc   0: abc
782      *** Failers      *** Failers
783  No match  No match
784      defabc      defabc
785  No match  No match
786    
787  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 771  Need char = 't' Line 808  Need char = 't'
808  No match  No match
809      cart      cart
810  No match  No match
811      horse-and-cart      horse-and-cart
812  No match  No match
813    
814  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
815  Capturing subpattern count = 0  Capturing subpattern count = 0
816  No options  No options
# Line 782  No need char Line 819  No need char
819    
820  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
821  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
822  No options  No options
823  First char at start or follows newline  First char at start or follows newline
824  No need char  No need char
# Line 809  Need char = 'Z' Line 845  Need char = 'Z'
845   0: ZZ   0: ZZ
846      bZZ      bZZ
847   0: ZZ   0: ZZ
848      BZZ      BZZ
849   0: ZZ   0: ZZ
850      *** Failers      *** Failers
851  No match  No match
852      ZZ      ZZ
853  No match  No match
854      abXYZZ      abXYZZ
855  No match  No match
856      zzz      zzz
857  No match  No match
858      bzz      bzz
859  No match  No match
860    
861  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
# Line 829  First char = 'b' Line 865  First char = 'b'
865  Need char = 'r'  Need char = 'r'
866      bar      bar
867   0: bar   0: bar
868      foobbar      foobbar
869   0: bar   0: bar
870      *** Failers      *** Failers
871  No match  No match
872      fooabar      fooabar
873  No match  No match
874    
875  /This one is here because Perl 5.005_02 doesn't fail it/I  /This one is here because Perl 5.005_02 doesn't fail it/I
# Line 849  No first char Line 885  No first char
885  No need char  No need char
886      *** Failers      *** Failers
887  No match  No match
888      a      a
889  No match  No match
890    
891  /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
892  Capturing subpattern count = 0  Capturing subpattern count = 0
893  No options  No options
894  First char = 'T'  First char = 'T'
# Line 864  Max back reference = 1 Line 900  Max back reference = 1
900  Options: anchored  Options: anchored
901  No first char  No first char
902  No need char  No need char
903        aaaa
904    No match
905      aaaaaa      aaaaaa
906   0: aaaaaa  No match
  1: aa  
907    
908    /Perl does not fail these two for the final subjects. Neither did PCRE until/
909    /release 8.01. The problem is in backtracking into a subpattern that contains/
910    No match
911    /a recursive reference to itself. PCRE has now made these into atomic patterns./
912    No match
913    
914    /^(xa|=?\1a){2}$/
915        xa=xaa
916     0: xa=xaa
917     1: =xaa
918        ** Failers
919    No match
920        xa=xaaa
921    No match
922    
923    /^(xa|=?\1a)+$/
924        xa=xaa
925     0: xa=xaa
926     1: =xaa
927        ** Failers
928    No match
929        xa=xaaa
930    No match
931    
932  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
933  Capturing subpattern count = 0  Capturing subpattern count = 0
934  No options  No options
# Line 944  Failed: missing ) at offset 4 Line 1005  Failed: missing ) at offset 4
1005  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< 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  /a(?{"{"}})b/  /a(?{"{"}})b/
1020  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1021    
1022  /(?(1?)a|b)/  /(?(1?)a|b)/
1023  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
1024    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
1025  /[a[:xyz:/  /[a[:xyz:/
1026  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
1027    
# Line 1001  Need char = 'd' Line 1059  Need char = 'd'
1059   1: a   1: a
1060   2: d   2: d
1061  copy substring 5 failed -7  copy substring 5 failed -7
1062    
1063  /(.{20})/I  /(.{20})/I
1064  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1065  No options  No options
1066  No first char  No first char
1067  No need char  No need char
# Line 1019  No need char Line 1076  No need char
1076   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1077   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1078   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1079    
1080  /(.{15})/I  /(.{15})/I
1081  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1082  No options  No options
1083  No first char  No first char
1084  No need char  No need char
# Line 1037  No need char Line 1093  No need char
1093    
1094  /(.{16})/I  /(.{16})/I
1095  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1096  No options  No options
1097  No first char  No first char
1098  No need char  No need char
# Line 1051  No need char Line 1106  No need char
1106   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1107   0L abcdefghijklmnop   0L abcdefghijklmnop
1108   1L abcdefghijklmnop   1L abcdefghijklmnop
1109    
1110  /^(a|(bc))de(f)/I  /^(a|(bc))de(f)/I
1111  Capturing subpattern count = 3  Capturing subpattern count = 3
1112  Options: anchored  Options: anchored
1113  No first char  No first char
1114  No need char  No need char
1115      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1116   0: adef   0: adef
1117   1: a   1: a
1118   2: <unset>   2: <unset>
# Line 1070  get substring 4 failed -7 Line 1125  get substring 4 failed -7
1125   1L a   1L a
1126   2L   2L
1127   3L f   3L f
1128      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1129   0: bcdef   0: bcdef
1130   1: bc   1: bc
1131   2: bc   2: bc
# Line 1083  get substring 4 failed -7 Line 1138  get substring 4 failed -7
1138   1L bc   1L bc
1139   2L bc   2L bc
1140   3L f   3L f
1141      adefghijk\C0      adefghijk\C0
1142   0: adef   0: adef
1143   1: a   1: a
1144   2: <unset>   2: <unset>
1145   3: f   3: f
1146   0C adef (4)   0C adef (4)
1147    
1148  /^abc\00def/I  /^abc\00def/I
1149  Capturing subpattern count = 0  Capturing subpattern count = 0
1150  Options: anchored  Options: anchored
1151  No first char  No first char
1152  No need char  No need char
1153      abc\00def\L\C0      abc\00def\L\C0
1154   0: abc\x00def   0: abc\x00def
1155   0C abc (7)   0C abc (7)
1156   0L abc   0L abc
1157    
1158  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1159  )((?:[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]+
1160  )?)?)?)?)?)?)?)?)?otherword/IM  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 448  
1161  Capturing subpattern count = 8  Capturing subpattern count = 8
1162  Partial matching not supported  Contains explicit CR or LF match
1163  No options  No options
1164  First char = 'w'  First char = 'w'
1165  Need char = 'd'  Need char = 'd'
1166    
1167  /.*X/ID  /.*X/IDZ
1168  ------------------------------------------------------------------  ------------------------------------------------------------------
1169    0   7 Bra 0          Bra
1170    3     Any*          Any*
1171    5     X          X
1172    7   7 Ket          Ket
1173   10     End          End
1174  ------------------------------------------------------------------  ------------------------------------------------------------------
1175  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1176  No options  No options
1177  First char at start or follows newline  First char at start or follows newline
1178  Need char = 'X'  Need char = 'X'
1179    
1180  /.*X/IDs  /.*X/IDZs
1181  ------------------------------------------------------------------  ------------------------------------------------------------------
1182    0   7 Bra 0          Bra
1183    3     Any*          AllAny*
1184    5     X          X
1185    7   7 Ket          Ket
1186   10     End          End
1187  ------------------------------------------------------------------  ------------------------------------------------------------------
1188  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1189  Options: anchored dotall  Options: anchored dotall
1190  No first char  No first char
1191  Need char = 'X'  Need char = 'X'
1192    
1193  /(.*X|^B)/ID  /(.*X|^B)/IDZ
1194  ------------------------------------------------------------------  ------------------------------------------------------------------
1195    0  21 Bra 0          Bra
1196    3   9 Bra 1          CBra 1
1197    8     Any*          Any*
1198   10     X          X
1199   12   6 Alt          Alt
1200   15     ^          ^
1201   16     B          B
1202   18  15 Ket          Ket
1203   21  21 Ket          Ket
1204   24     End          End
1205  ------------------------------------------------------------------  ------------------------------------------------------------------
1206  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1207  No options  No options
1208  First char at start or follows newline  First char at start or follows newline
1209  No need char  No need char
1210    
1211  /(.*X|^B)/IDs  /(.*X|^B)/IDZs
1212  ------------------------------------------------------------------  ------------------------------------------------------------------
1213    0  21 Bra 0          Bra
1214    3   9 Bra 1          CBra 1
1215    8     Any*          AllAny*
1216   10     X          X
1217   12   6 Alt          Alt
1218   15     ^          ^
1219   16     B          B
1220   18  15 Ket          Ket
1221   21  21 Ket          Ket
1222   24     End          End
1223  ------------------------------------------------------------------  ------------------------------------------------------------------
1224  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1225  Options: anchored dotall  Options: anchored dotall
1226  No first char  No first char
1227  No need char  No need char
1228    
1229  /(?s)(.*X|^B)/ID  /(?s)(.*X|^B)/IDZ
1230  ------------------------------------------------------------------  ------------------------------------------------------------------
1231    0  21 Bra 0          Bra
1232    3   9 Bra 1          CBra 1
1233    8     Any*          AllAny*
1234   10     X          X
1235   12   6 Alt          Alt
1236   15     ^          ^
1237   16     B          B
1238   18  15 Ket          Ket
1239   21  21 Ket          Ket
1240   24     End          End
1241  ------------------------------------------------------------------  ------------------------------------------------------------------
1242  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1243  Options: anchored dotall  Options: anchored dotall
1244  No first char  No first char
1245  No need char  No need char
1246    
1247  /(?s:.*X|^B)/ID  /(?s:.*X|^B)/IDZ
1248  ------------------------------------------------------------------  ------------------------------------------------------------------
1249    0  25 Bra 0          Bra
1250    3   9 Bra 0          Bra
1251    6  04 Opt          AllAny*
1252    8     Any*          X
1253   10     X          Alt
1254   12   8 Alt          ^
1255   15  04 Opt          B
1256   17     ^          Ket
1257   18     B          Ket
1258   20  17 Ket          End
  23  00 Opt  
  25  25 Ket  
  28     End  
1259  ------------------------------------------------------------------  ------------------------------------------------------------------
1260  Capturing subpattern count = 0  Capturing subpattern count = 0
1261  Partial matching not supported  Options: anchored
1262  No options  No first char
 First char at start or follows newline  
1263  No need char  No need char
1264    
1265  /\Biss\B/I+  /\Biss\B/I+
# Line 1294  No need char Line 1339  No need char
1339      ississippi      ississippi
1340   0: iss   0: iss
1341   0+ issippi   0+ issippi
1342    
1343  /.*iss/Ig+  /.*iss/Ig+
1344  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1345  No options  No options
1346  First char at start or follows newline  First char at start or follows newline
1347  Need char = 's'  Need char = 's'
1348      abciss\nxyzisspqr      abciss\nxyzisspqr
1349   0: abciss   0: abciss
1350   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1351   0: xyziss   0: xyziss
# Line 1333  Need char = 'i' Line 1377  Need char = 'i'
1377   0+ river   0+ river
1378   0: riv   0: riv
1379   0+ er   0+ er
1380      Missouri river\A      Missouri river\A
1381   0: Mis   0: Mis
1382   0+ souri river   0+ souri river
1383    
# Line 1348  No need char Line 1392  No need char
1392    
1393  /^ab\n/Ig+  /^ab\n/Ig+
1394  Capturing subpattern count = 0  Capturing subpattern count = 0
1395    Contains explicit CR or LF match
1396  Options: anchored  Options: anchored
1397  No first char  No first char
1398  No need char  No need char
# Line 1357  No need char Line 1402  No need char
1402    
1403  /^ab\n/Img+  /^ab\n/Img+
1404  Capturing subpattern count = 0  Capturing subpattern count = 0
1405    Contains explicit CR or LF match
1406  Options: multiline  Options: multiline
1407  First char at start or follows newline  First char at start or follows newline
1408  Need char = 10  Need char = 10
# Line 1398  Need char = 'c' Line 1444  Need char = 'c'
1444    
1445  /a*/I  /a*/I
1446  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1447  No options  No options
1448  No first char  No first char
1449  No need char  No need char
1450    
1451  /a+/I  /a+/I
1452  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1453  No options  No options
1454  First char = 'a'  First char = 'a'
1455  No need char  No need char
1456    
1457  /(baa|a+)/I  /(baa|a+)/I
1458  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1459  No options  No options
1460  No first char  No first char
1461  Need char = 'a'  Need char = 'a'
1462    
1463  /a{0,3}/I  /a{0,3}/I
1464  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1465  No options  No options
1466  No first char  No first char
1467  No need char  No need char
1468    
1469  /baa{3,}/I  /baa{3,}/I
1470  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1471  No options  No options
1472  First char = 'b'  First char = 'b'
1473  Need char = 'a'  Need char = 'a'
1474    
1475  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1476  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1477  No options  No options
1478  First char = '"'  First char = '"'
1479  Need char = '"'  Need char = '"'
# Line 1488  Need char = 'b' Line 1528  Need char = 'b'
1528    
1529  /abc*/I  /abc*/I
1530  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1531  No options  No options
1532  First char = 'a'  First char = 'a'
1533  Need char = 'b'  Need char = 'b'
1534    
1535  /ab.c*/I  /ab.c*/I
1536  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1537  No options  No options
1538  First char = 'a'  First char = 'a'
1539  Need char = 'b'  Need char = 'b'
1540    
1541  /a.c*/I  /a.c*/I
1542  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1543  No options  No options
1544  First char = 'a'  First char = 'a'
1545  No need char  No need char
1546    
1547  /.c*/I  /.c*/I
1548  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1549  No options  No options
1550  No first char  No first char
1551  No need char  No need char
1552    
1553  /ac*/I  /ac*/I
1554  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1555  No options  No options
1556  First char = 'a'  First char = 'a'
1557  No need char  No need char
1558    
1559  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1560  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1561  No options  No options
1562  No first char  No first char
1563  No need char  No need char
1564    
1565  /a.c*|aba/I  /a.c*|aba/I
1566  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1567  No options  No options
1568  First char = 'a'  First char = 'a'
1569  No need char  No need char
1570    
1571  /.+a/I  /.+a/I
1572  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1573  No options  No options
1574  No first char  No first char
1575  Need char = 'a'  Need char = 'a'
1576    
1577  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1578  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1579  No options  No options
1580  First char = 'a'  First char = 'a'
1581  Need char = 'a'  Need char = 'a'
1582    
1583  /(?=a)a.*/I  /(?=a)a.*/I
1584  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1585  No options  No options
1586  First char = 'a'  First char = 'a'
1587  No need char  No need char
# Line 1564  No need char Line 1594  No need char
1594    
1595  /a\d*/I  /a\d*/I
1596  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1597  No options  No options
1598  First char = 'a'  First char = 'a'
1599  No need char  No need char
1600    
1601  /ab\d*/I  /ab\d*/I
1602  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1603  No options  No options
1604  First char = 'a'  First char = 'a'
1605  Need char = 'b'  Need char = 'b'
# Line 1590  Need char = 'd' Line 1618  Need char = 'd'
1618    
1619  /ab\d+/I  /ab\d+/I
1620  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1621  No options  No options
1622  First char = 'a'  First char = 'a'
1623  Need char = 'b'  Need char = 'b'
1624    
1625  /a(?(1)b)/I  /a(?(1)b)(.)/I
1626  Capturing subpattern count = 0  Capturing subpattern count = 1
1627  No options  No options
1628  First char = 'a'  First char = 'a'
1629  No need char  No need char
1630    
1631  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1632  Capturing subpattern count = 0  Capturing subpattern count = 1
1633  No options  No options
1634  First char = 'a'  First char = 'a'
1635  Need char = 'g'  Need char = 'g'
1636    
1637  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1638  Capturing subpattern count = 0  Capturing subpattern count = 1
1639  No options  No options
1640  First char = 'a'  First char = 'a'
1641  No need char  No need char
1642    
1643  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1644  Capturing subpattern count = 0  Capturing subpattern count = 1
1645  No options  No options
1646  First char = 'a'  First char = 'a'
1647  Need char = 'g'  Need char = 'g'
1648    
1649  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1650  Capturing subpattern count = 0  Capturing subpattern count = 1
1651  No options  No options
1652  First char = 'a'  First char = 'a'
1653  Need char = 'b'  Need char = 'b'
# Line 1646  No need char Line 1673  No need char
1673   0:   0:
1674      *** Failers      *** Failers
1675   0:   0:
1676      \N      \N
1677  No match  No match
1678    
1679  /|-/I  /|-/I
1680  Capturing subpattern count = 0  Capturing subpattern count = 0
1681  No options  No options
# Line 1662  No need char Line 1689  No need char
1689   0: -   0: -
1690      *** Failers      *** Failers
1691   0:   0:
1692      \Nabc      \Nabc
1693  No match  No match
1694    
1695  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/P
1696      aaaabbbbzzzz      aaaabbbbzzzz
1697   0: aaaabbbbzz   0: aaaabbbbzz
1698   1: bbbb   1: bbbb
# Line 1691  No match Line 1718  No match
1718   1: bbbb   1: bbbb
1719   2: z   2: z
1720   3: z   3: z
1721    
1722  /^.?abcd/IS  /^.?abcd/IS
1723  Capturing subpattern count = 0  Capturing subpattern count = 0
1724  Options: anchored  Options: anchored
1725  No first char  No first char
1726  Need char = 'd'  Need char = 'd'
1727  Study returned NULL  Subject length lower bound = 4
1728    No set of starting bytes
1729    
1730  /\(             # ( at start  /\(             # ( at start
1731    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1708  Study returned NULL Line 1736  Study returned NULL
1736    \)            # Closing )    \)            # Closing )
1737    /Ix    /Ix
1738  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1739  Options: extended  Options: extended
1740  First char = '('  First char = '('
1741  Need char = ')'  Need char = ')'
# Line 1718  Need char = ')' Line 1745  Need char = ')'
1745   0: (abcd)   0: (abcd)
1746      xyz(abcd)      xyz(abcd)
1747   0: (abcd)   0: (abcd)
1748      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1749   0: (ab(xy)cd)   0: (ab(xy)cd)
1750      (ab(xycd)pqr      (ab(xycd)pqr
1751   0: (xycd)   0: (xycd)
1752      () abc ()      () abc ()
1753   0: ()   0: ()
1754      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1755   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1756      *** Failers      *** Failers
1757  No match  No match
1758      abcd      abcd
1759  No match  No match
1760      abcd)      abcd)
1761  No match  No match
1762      (abcd      (abcd
1763  No match  No match
1764    
1765  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1766  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1767  Options: extended  Options: extended
1768  First char = '('  First char = '('
1769  Need char = ')'  Need char = ')'
1770      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1771   0: (ab(xy)cd)   0: (ab(xy)cd)
1772   1: cd   1: cd
1773      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1752  Need char = ')' Line 1778  Need char = ')'
1778    
1779  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1780  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1781  Options: extended  Options: extended
1782  First char = '('  First char = '('
1783  Need char = ')'  Need char = ')'
# Line 1760  Need char = ')' Line 1785  Need char = ')'
1785   0: (abcd)   0: (abcd)
1786      (ab(xy)cd)      (ab(xy)cd)
1787   0: (xy)   0: (xy)
1788      (a(b(c)d)e)      (a(b(c)d)e)
1789   0: (c)   0: (c)
1790      ((ab))      ((ab))
1791   0: ((ab))   0: ((ab))
1792      *** Failers      *** Failers
1793  No match  No match
1794      ()      ()
1795  No match  No match
1796    
1797  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1798  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1799  Options: extended  Options: extended
1800  First char = '('  First char = '('
1801  Need char = ')'  Need char = ')'
# Line 1782  Need char = ')' Line 1806  Need char = ')'
1806    
1807  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1808  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1809  Options: extended  Options: extended
1810  First char = '('  First char = '('
1811  Need char = ')'  Need char = ')'
# Line 1792  Need char = ')' Line 1815  Need char = ')'
1815    
1816  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1817  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1818  Options: extended  Options: extended
1819  First char = '('  First char = '('
1820  Need char = ')'  Need char = ')'
# Line 1803  Need char = ')' Line 1825  Need char = ')'
1825    
1826  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1827  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1828  Options: extended  Options: extended
1829  First char = '('  First char = '('
1830  Need char = ')'  Need char = ')'
# Line 1820  Need char = ')' Line 1841  Need char = ')'
1841    
1842  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1843  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1844  Options: extended  Options: extended
1845  First char = '('  First char = '('
1846  Need char = ')'  Need char = ')'
# Line 1837  Need char = ')' Line 1857  Need char = ')'
1857    
1858  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1859  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1860  Options: extended  Options: extended
1861  First char = '('  First char = '('
1862  Need char = ')'  Need char = ')'
# Line 1857  Need char = ')' Line 1876  Need char = ')'
1876    
1877  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1878  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1879  Options: extended  Options: extended
1880  First char = '('  First char = '('
1881  Need char = ')'  Need char = ')'
# Line 1865  Need char = ')' Line 1883  Need char = ')'
1883   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1884   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1885   2: 123   2: 123
  3: <unset>  
1886    
1887  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1888  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1889  Options: extended  Options: extended
1890  First char = '('  First char = '('
1891  Need char = ')'  Need char = ')'
# Line 1884  Need char = ')' Line 1900  Need char = ')'
1900   2: ij   2: ij
1901   3: (cd(ef)gh)   3: (cd(ef)gh)
1902    
1903  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1904  ------------------------------------------------------------------  ------------------------------------------------------------------
1905    0  37 Bra 0          Bra
1906    3     ^          ^
1907    4     [0-9A-Za-z]          [0-9A-Za-z]
1908   37  37 Ket          Ket
1909   40     End          End
1910  ------------------------------------------------------------------  ------------------------------------------------------------------
1911  Capturing subpattern count = 0  Capturing subpattern count = 0
1912  Options: anchored  Options: anchored
1913  No first char  No first char
1914  No need char  No need char
1915    
1916  /^[[:^alnum:]]/D  /^[[:^alnum:]]/DZ
1917  ------------------------------------------------------------------  ------------------------------------------------------------------
1918    0  37 Bra 0          Bra
1919    3     ^          ^
1920    4     [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1921   37  37 Ket          Ket
1922   40     End          End
1923  ------------------------------------------------------------------  ------------------------------------------------------------------
1924  Capturing subpattern count = 0  Capturing subpattern count = 0
1925  Options: anchored  Options: anchored
1926  No first char  No first char
1927  No need char  No need char
1928    
1929  /^[[:alpha:]]/D  /^[[:alpha:]]/DZ
1930  ------------------------------------------------------------------  ------------------------------------------------------------------
1931    0  37 Bra 0          Bra
1932    3     ^          ^
1933    4     [A-Za-z]          [A-Za-z]
1934   37  37 Ket          Ket
1935   40     End          End
1936  ------------------------------------------------------------------  ------------------------------------------------------------------
1937  Capturing subpattern count = 0  Capturing subpattern count = 0
1938  Options: anchored  Options: anchored
1939  No first char  No first char
1940  No need char  No need char
1941    
1942  /^[[:^alpha:]]/D  /^[[:^alpha:]]/DZ
1943  ------------------------------------------------------------------  ------------------------------------------------------------------
1944    0  37 Bra 0          Bra
1945    3     ^          ^
1946    4     [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1947   37  37 Ket          Ket
1948   40     End          End
1949  ------------------------------------------------------------------  ------------------------------------------------------------------
1950  Capturing subpattern count = 0  Capturing subpattern count = 0
1951  Options: anchored  Options: anchored
1952  No first char  No first char
1953  No need char  No need char
1954    
1955  /[_[:alpha:]]/IS  /[_[:alpha:]]/IS
1956  Capturing subpattern count = 0  Capturing subpattern count = 0
1957  No options  No options
1958  No first char  No first char
1959  No need char  No need char
1960    Subject length lower bound = 1
1961  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
1962    _ 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
1963    
1964  /^[[:ascii:]]/D  /^[[:ascii:]]/DZ
1965  ------------------------------------------------------------------  ------------------------------------------------------------------
1966    0  37 Bra 0          Bra
1967    3     ^          ^
1968    4     [\x00-\x7f]          [\x00-\x7f]
1969   37  37 Ket          Ket
1970   40     End          End
1971  ------------------------------------------------------------------  ------------------------------------------------------------------
1972  Capturing subpattern count = 0  Capturing subpattern count = 0
1973  Options: anchored  Options: anchored
1974  No first char  No first char
1975  No need char  No need char
1976    
1977  /^[[:^ascii:]]/D  /^[[:^ascii:]]/DZ
1978  ------------------------------------------------------------------  ------------------------------------------------------------------
1979    0  37 Bra 0          Bra
1980    3     ^          ^
1981    4     [\x80-\xff]          [\x80-\xff] (neg)
1982   37  37 Ket          Ket
1983   40     End          End
1984  ------------------------------------------------------------------  ------------------------------------------------------------------
1985  Capturing subpattern count = 0  Capturing subpattern count = 0
1986  Options: anchored  Options: anchored
1987  No first char  No first char
1988  No need char  No need char
1989    
1990  /^[[:blank:]]/D  /^[[:blank:]]/DZ
1991  ------------------------------------------------------------------  ------------------------------------------------------------------
1992    0  37 Bra 0          Bra
1993    3     ^          ^
1994    4     [\x09 ]          [\x09 ]
1995   37  37 Ket          Ket
1996   40     End          End
1997  ------------------------------------------------------------------  ------------------------------------------------------------------
1998  Capturing subpattern count = 0  Capturing subpattern count = 0
1999  Options: anchored  Options: anchored
2000  No first char  No first char
2001  No need char  No need char
2002    
2003  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2004  ------------------------------------------------------------------  ------------------------------------------------------------------
2005    0  37 Bra 0          Bra
2006    3     ^          ^
2007    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2008   37  37 Ket          Ket
2009   40     End          End
2010  ------------------------------------------------------------------  ------------------------------------------------------------------
2011  Capturing subpattern count = 0  Capturing subpattern count = 0
2012  Options: anchored  Options: anchored
# Line 1998  No need char Line 2015  No need char
2015    
2016  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
2017  Capturing subpattern count = 0  Capturing subpattern count = 0
2018    Contains explicit CR or LF match
2019  No options  No options
2020  No first char  No first char
2021  No need char  No need char
2022    Subject length lower bound = 1
2023  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2024    
2025  /^[[:cntrl:]]/D  /^[[:cntrl:]]/DZ
2026  ------------------------------------------------------------------  ------------------------------------------------------------------
2027    0  37 Bra 0          Bra
2028    3     ^          ^
2029    4     [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
2030   37  37 Ket          Ket
2031   40     End          End
2032  ------------------------------------------------------------------  ------------------------------------------------------------------
2033  Capturing subpattern count = 0  Capturing subpattern count = 0
2034  Options: anchored  Options: anchored
2035  No first char  No first char
2036  No need char  No need char
2037    
2038  /^[[:digit:]]/D  /^[[:digit:]]/DZ
2039  ------------------------------------------------------------------  ------------------------------------------------------------------
2040    0  37 Bra 0          Bra
2041    3     ^          ^
2042    4     [0-9]          [0-9]
2043   37  37 Ket          Ket
2044   40     End          End
2045  ------------------------------------------------------------------  ------------------------------------------------------------------
2046  Capturing subpattern count = 0  Capturing subpattern count = 0
2047  Options: anchored  Options: anchored
2048  No first char  No first char
2049  No need char  No need char
2050    
2051  /^[[:graph:]]/D  /^[[:graph:]]/DZ
2052  ------------------------------------------------------------------  ------------------------------------------------------------------
2053    0  37 Bra 0          Bra
2054    3     ^          ^
2055    4     [!-~]          [!-~]
2056   37  37 Ket          Ket
2057   40     End          End
2058  ------------------------------------------------------------------  ------------------------------------------------------------------
2059  Capturing subpattern count = 0  Capturing subpattern count = 0
2060  Options: anchored  Options: anchored
2061  No first char  No first char
2062  No need char  No need char
2063    
2064  /^[[:lower:]]/D  /^[[:lower:]]/DZ
2065  ------------------------------------------------------------------  ------------------------------------------------------------------
2066    0  37 Bra 0          Bra
2067    3     ^          ^
2068    4     [a-z]          [a-z]
2069   37  37 Ket          Ket
2070   40     End          End
2071  ------------------------------------------------------------------  ------------------------------------------------------------------
2072  Capturing subpattern count = 0  Capturing subpattern count = 0
2073  Options: anchored  Options: anchored
2074  No first char  No first char
2075  No need char  No need char
2076    
2077  /^[[:print:]]/D  /^[[:print:]]/DZ
2078  ------------------------------------------------------------------  ------------------------------------------------------------------
2079    0  37 Bra 0          Bra
2080    3     ^          ^
2081    4     [ -~]          [ -~]
2082   37  37 Ket          Ket
2083   40     End          End
2084  ------------------------------------------------------------------  ------------------------------------------------------------------
2085  Capturing subpattern count = 0  Capturing subpattern count = 0
2086  Options: anchored  Options: anchored
2087  No first char  No first char
2088  No need char  No need char
2089    
2090  /^[[:punct:]]/D  /^[[:punct:]]/DZ
2091  ------------------------------------------------------------------  ------------------------------------------------------------------
2092    0  37 Bra 0          Bra
2093    3     ^          ^
2094    4     [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2095   37  37 Ket          Ket
2096   40     End          End
2097  ------------------------------------------------------------------  ------------------------------------------------------------------
2098  Capturing subpattern count = 0  Capturing subpattern count = 0
2099  Options: anchored  Options: anchored
2100  No first char  No first char
2101  No need char  No need char
2102    
2103  /^[[:space:]]/D  /^[[:space:]]/DZ
2104  ------------------------------------------------------------------  ------------------------------------------------------------------
2105    0  37 Bra 0          Bra
2106    3     ^          ^
2107    4     [\x09-\x0d ]          [\x09-\x0d ]
2108   37  37 Ket          Ket
2109   40     End          End
2110  ------------------------------------------------------------------  ------------------------------------------------------------------
2111  Capturing subpattern count = 0  Capturing subpattern count = 0
2112  Options: anchored  Options: anchored
2113  No first char  No first char
2114  No need char  No need char
2115    
2116  /^[[:upper:]]/D  /^[[:upper:]]/DZ
2117  ------------------------------------------------------------------  ------------------------------------------------------------------
2118    0  37 Bra 0          Bra
2119    3     ^          ^
2120    4     [A-Z]          [A-Z]
2121   37  37 Ket          Ket
2122   40     End          End
2123  ------------------------------------------------------------------  ------------------------------------------------------------------
2124  Capturing subpattern count = 0  Capturing subpattern count = 0
2125  Options: anchored  Options: anchored
2126  No first char  No first char
2127  No need char  No need char
2128    
2129  /^[[:xdigit:]]/D  /^[[:xdigit:]]/DZ
2130  ------------------------------------------------------------------  ------------------------------------------------------------------
2131    0  37 Bra 0          Bra
2132    3     ^          ^
2133    4     [0-9A-Fa-f]          [0-9A-Fa-f]
2134   37  37 Ket          Ket
2135   40     End          End
2136  ------------------------------------------------------------------  ------------------------------------------------------------------
2137  Capturing subpattern count = 0  Capturing subpattern count = 0
2138  Options: anchored  Options: anchored
2139  No first char  No first char
2140  No need char  No need char
2141    
2142  /^[[:word:]]/D  /^[[:word:]]/DZ
2143  ------------------------------------------------------------------  ------------------------------------------------------------------
2144    0  37 Bra 0          Bra
2145    3     ^          ^
2146    4     [0-9A-Z_a-z]          [0-9A-Z_a-z]
2147   37  37 Ket          Ket
2148   40     End          End
2149  ------------------------------------------------------------------  ------------------------------------------------------------------
2150  Capturing subpattern count = 0  Capturing subpattern count = 0
2151  Options: anchored  Options: anchored
2152  No first char  No first char
2153  No need char  No need char
2154    
2155  /^[[:^cntrl:]]/D  /^[[:^cntrl:]]/DZ
2156  ------------------------------------------------------------------  ------------------------------------------------------------------
2157    0  37 Bra 0          Bra
2158    3     ^          ^
2159    4     [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2160   37  37 Ket          Ket
2161   40     End          End
2162  ------------------------------------------------------------------  ------------------------------------------------------------------
2163  Capturing subpattern count = 0  Capturing subpattern count = 0
2164  Options: anchored  Options: anchored
2165  No first char  No first char
2166  No need char  No need char
2167    
2168  /^[12[:^digit:]]/D  /^[12[:^digit:]]/DZ
2169  ------------------------------------------------------------------  ------------------------------------------------------------------
2170    0  37 Bra 0          Bra
2171    3     ^          ^
2172    4     [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2173   37  37 Ket          Ket
2174   40     End          End
2175  ------------------------------------------------------------------  ------------------------------------------------------------------
2176  Capturing subpattern count = 0  Capturing subpattern count = 0
2177  Options: anchored  Options: anchored
2178  No first char  No first char
2179  No need char  No need char
2180    
2181  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2182  ------------------------------------------------------------------  ------------------------------------------------------------------
2183    0  37 Bra 0          Bra
2184    3     ^          ^
2185    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2186   37  37 Ket          Ket
2187   40     End          End
2188  ------------------------------------------------------------------  ------------------------------------------------------------------
2189  Capturing subpattern count = 0  Capturing subpattern count = 0
2190  Options: anchored  Options: anchored
2191  No first char  No first char
2192  No need char  No need char
2193    
2194  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2195  ------------------------------------------------------------------  ------------------------------------------------------------------
2196    0  36 Bra 0          Bra
2197    3     [%01A-Za-z]          [%01A-Za-z]
2198   36  36 Ket          Ket
2199   39     End          End
2200  ------------------------------------------------------------------  ------------------------------------------------------------------
2201  Capturing subpattern count = 0  Capturing subpattern count = 0
2202  No options  No options
# Line 2200  No first char Line 2219  No first char
2219  No need char  No need char
2220      A      A
2221   0: A   0: A
2222      a      a
2223   0: a   0: a
2224    
2225  /[[:lower:]]/Ii  /[[:lower:]]/Ii
2226  Capturing subpattern count = 0  Capturing subpattern count = 0
2227  Options: caseless  Options: caseless
# Line 2210  No first char Line 2229  No first char
2229  No need char  No need char
2230      A      A
2231   0: A   0: A
2232      a      a
2233   0: a   0: a
2234    
2235  /((?-i)[[:lower:]])[[:lower:]]/Ii  /((?-i)[[:lower:]])[[:lower:]]/Ii
# Line 2229  No need char Line 2248  No need char
2248   1: a   1: a
2249      Ab      Ab
2250  No match  No match
2251      AB      AB
2252  No match  No match
2253    
2254  /[\200-\110]/I  /[\200-\110]/I
# Line 2247  Need char = 'd' Line 2266  Need char = 'd'
2266  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2267  Capturing subpattern count = 271  Capturing subpattern count = 271
2268  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2269  No options  No options
2270  No first char  No first char
2271  No need char  No need char
# Line 2543  Need char = 'n' Line 2561  Need char = 'n'
2561   0: mainOmain   0: mainOmain
2562   1: main   1: main
2563   2: O   2: O
2564    
2565  /These are all cases where Perl does it differently (nested captures)/I  /These are all cases where Perl does it differently (nested captures)/I
2566  Capturing subpattern count = 1  Capturing subpattern count = 1
2567  No options  No options
# Line 2559  No need char Line 2577  No need char
2577   0: aba   0: aba
2578   1: a   1: a
2579   2: b   2: b
2580    
2581  /^(aa(bb)?)+$/I  /^(aa(bb)?)+$/I
2582  Capturing subpattern count = 2  Capturing subpattern count = 2
2583  Options: anchored  Options: anchored
2584  No first char  No first char
2585  No need char  No need char
2586      aabbaa      aabbaa
2587   0: aabbaa   0: aabbaa
2588   1: aa   1: aa
2589   2: bb   2: bb
2590    
2591  /^(aa|aa(bb))+$/I  /^(aa|aa(bb))+$/I
2592  Capturing subpattern count = 2  Capturing subpattern count = 2
2593  Options: anchored  Options: anchored
2594  No first char  No first char
2595  No need char  No need char
2596      aabbaa      aabbaa
2597   0: aabbaa   0: aabbaa
2598   1: aa   1: aa
2599   2: bb   2: bb
2600    
2601  /^(aa(bb)??)+$/I  /^(aa(bb)??)+$/I
2602  Capturing subpattern count = 2  Capturing subpattern count = 2
2603  Options: anchored  Options: anchored
2604  No first char  No first char
2605  No need char  No need char
2606      aabbaa      aabbaa
2607   0: aabbaa   0: aabbaa
2608   1: aa   1: aa
2609   2: bb   2: bb
2610    
2611  /^(?:aa(bb)?)+$/I  /^(?:aa(bb)?)+$/I
2612  Capturing subpattern count = 1  Capturing subpattern count = 1
2613  Options: anchored  Options: anchored
2614  No first char  No first char
2615  No need char  No need char
2616      aabbaa      aabbaa
2617   0: aabbaa   0: aabbaa
2618   1: bb   1: bb
2619    
2620  /^(aa(b(b))?)+$/I  /^(aa(b(b))?)+$/I
2621  Capturing subpattern count = 3  Capturing subpattern count = 3
2622  Options: anchored  Options: anchored
2623  No first char  No first char
2624  No need char  No need char
2625      aabbaa      aabbaa
2626   0: aabbaa   0: aabbaa
2627   1: aa   1: aa
2628   2: bb   2: bb
# Line 2615  Capturing subpattern count = 2 Line 2633  Capturing subpattern count = 2
2633  Options: anchored  Options: anchored
2634  No first char  No first char
2635  No need char  No need char
2636      aabbaa      aabbaa
2637   0: aabbaa   0: aabbaa
2638   1: bb   1: bb
2639   2: b   2: b
# Line 2625  Capturing subpattern count = 1 Line 2643  Capturing subpattern count = 1
2643  Options: anchored  Options: anchored
2644  No first char  No first char
2645  No need char  No need char
2646      aabbaa      aabbaa
2647   0: aabbaa   0: aabbaa
2648   1: bb   1: bb
2649    
# Line 2634  Capturing subpattern count = 1 Line 2652  Capturing subpattern count = 1
2652  Options: anchored  Options: anchored
2653  No first char  No first char
2654  No need char  No need char
2655      aabbbaa      aabbbaa
2656   0: aabbbaa   0: aabbbaa
2657   1: bbb   1: bbb
2658    
2659  /^(?:aa(b(?:bb))?)+$/I  /^(?:aa(b(?:bb))?)+$/I
2660  Capturing subpattern count = 1  Capturing subpattern count = 1
2661  Options: anchored  Options: anchored
2662  No first char  No first char
2663  No need char  No need char
2664      aabbbaa      aabbbaa
2665   0: aabbbaa   0: aabbbaa
2666   1: bbb   1: bbb
2667    
# Line 2652  Capturing subpattern count = 1 Line 2670  Capturing subpattern count = 1
2670  Options: anchored  Options: anchored
2671  No first char  No first char
2672  No need char  No need char
2673      aabbaa      aabbaa
2674   0: aabbaa   0: aabbaa
2675   1: b   1: b
2676    
# Line 2661  Capturing subpattern count = 1 Line 2679  Capturing subpattern count = 1
2679  Options: anchored  Options: anchored
2680  No first char  No first char
2681  No need char  No need char
2682      aabbbaa      aabbbaa
2683   0: aabbbaa   0: aabbbaa
2684   1: bb   1: bb
2685    
# Line 2670  Capturing subpattern count = 3 Line 2688  Capturing subpattern count = 3
2688  Options: anchored  Options: anchored
2689  No first char  No first char
2690  No need char  No need char
2691      aabbbaa      aabbbaa
2692   0: aabbbaa   0: aabbbaa
2693   1: aa   1: aa
2694   2: bbb   2: bbb
# Line 2681  Capturing subpattern count = 3 Line 2699  Capturing subpattern count = 3
2699  Options: anchored  Options: anchored
2700  No first char  No first char
2701  No need char  No need char
2702      aabbbbaa      aabbbbaa
2703   0: aabbbbaa   0: aabbbbaa
2704   1: aa   1: aa
2705   2: bbbb   2: bbbb
2706   3: bb   3: bb
2707    
2708  /--------------------------------------------------------------------/I  /--------------------------------------------------------------------/I
2709  Capturing subpattern count = 0  Capturing subpattern count = 0
2710  No options  No options
2711  First char = '-'  First char = '-'
2712  Need char = '-'  Need char = '-'
2713    
2714  /#/IxMD  /#/IxDZ
 Memory allocation (code space): 7  
2715  ------------------------------------------------------------------  ------------------------------------------------------------------
2716    0   3 Bra 0          Bra
2717    3   3 Ket          Ket
2718    6     End          End
2719  ------------------------------------------------------------------  ------------------------------------------------------------------
2720  Capturing subpattern count = 0  Capturing subpattern count = 0
2721  Options: extended  Options: extended
2722  No first char  No first char
2723  No need char  No need char
2724    
2725  /a#/IxMD  /a#/IxDZ
 Memory allocation (code space): 9  
2726  ------------------------------------------------------------------  ------------------------------------------------------------------
2727    0   5 Bra 0          Bra
2728    3     a          a
2729    5   5 Ket          Ket
2730    8     End          End
2731  ------------------------------------------------------------------  ------------------------------------------------------------------
2732  Capturing subpattern count = 0  Capturing subpattern count = 0
2733  Options: extended  Options: extended
2734  First char = 'a'  First char = 'a'
2735  No need char  No need char
2736    
2737  /[\s]/D  /[\s]/DZ
2738  ------------------------------------------------------------------  ------------------------------------------------------------------
2739    0  36 Bra 0          Bra
2740    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2741   36  36 Ket          Ket
2742   39     End          End
2743  ------------------------------------------------------------------  ------------------------------------------------------------------
2744  Capturing subpattern count = 0  Capturing subpattern count = 0
2745  No options  No options
2746  No first char  No first char
2747  No need char  No need char
2748    
2749  /[\S]/D  /[\S]/DZ
2750  ------------------------------------------------------------------  ------------------------------------------------------------------
2751    0  36 Bra 0          Bra
2752    3     [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2753   36  36 Ket          Ket
2754   39     End          End
2755  ------------------------------------------------------------------  ------------------------------------------------------------------
2756  Capturing subpattern count = 0  Capturing subpattern count = 0
2757  No options  No options
2758  No first char  No first char
2759  No need char  No need char
2760    
2761  /a(?i)b/D  /a(?i)b/DZ
2762  ------------------------------------------------------------------  ------------------------------------------------------------------
2763    0   9 Bra 0          Bra
2764    3     a          a
2765    5  01 Opt       /i b
2766    7  NC b          Ket
2767    9   9 Ket          End
  12     End  
2768  ------------------------------------------------------------------  ------------------------------------------------------------------
2769  Capturing subpattern count = 0  Capturing subpattern count = 0
2770  No options  No options
# Line 2759  Need char = 'b' (caseless) Line 2774  Need char = 'b' (caseless)
2774   0: ab   0: ab
2775      aB      aB
2776   0: aB   0: aB
2777      *** Failers      *** Failers
2778  No match  No match
2779      AB      AB
2780  No match  No match
2781    
2782  /(a(?i)b)/D  /(a(?i)b)/DZ
2783  ------------------------------------------------------------------  ------------------------------------------------------------------
2784    0  19 Bra 0          Bra
2785    3  11 Bra 1          CBra 1
2786    8     a          a
2787   10  01 Opt       /i b
2788   12  NC b          Ket
2789   14  11 Ket          Ket
2790   17  00 Opt          End
  19  19 Ket  
  22     End  
2791  ------------------------------------------------------------------  ------------------------------------------------------------------
2792  Capturing subpattern count = 1  Capturing subpattern count = 1
2793  No options  No options
# Line 2786  Need char = 'b' (caseless) Line 2799  Need char = 'b' (caseless)
2799      aB      aB
2800   0: aB   0: aB
2801   1: aB   1: aB
2802      *** Failers      *** Failers
2803  No match  No match
2804      AB      AB
2805  No match  No match
2806    
2807  /   (?i)abc/IxD  /   (?i)abc/IxDZ
2808  ------------------------------------------------------------------  ------------------------------------------------------------------
2809    0   9 Bra 0          Bra
2810    3  NC abc       /i abc
2811    9   9 Ket          Ket
2812   12     End          End
2813  ------------------------------------------------------------------  ------------------------------------------------------------------
2814  Capturing subpattern count = 0  Capturing subpattern count = 0
2815  Options: caseless extended  Options: caseless extended
# Line 2804  First char = 'a' (caseless) Line 2817  First char = 'a' (caseless)
2817  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2818    
2819  /#this is a comment  /#this is a comment
2820    (?i)abc/IxD    (?i)abc/IxDZ
2821  ------------------------------------------------------------------  ------------------------------------------------------------------
2822    0   9 Bra 0          Bra
2823    3  NC abc       /i abc
2824    9   9 Ket          Ket
2825   12     End          End
2826  ------------------------------------------------------------------  ------------------------------------------------------------------
2827  Capturing subpattern count = 0  Capturing subpattern count = 0
2828  Options: caseless extended  Options: caseless extended
2829  First char = 'a' (caseless)  First char = 'a' (caseless)
2830  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2831    
2832  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2833  ------------------------------------------------------------------  ------------------------------------------------------------------
2834    0 603 Bra 0          Bra
2835    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2836  603 603 Ket          Ket
2837  606     End          End
2838  ------------------------------------------------------------------  ------------------------------------------------------------------
2839  Capturing subpattern count = 0  Capturing subpattern count = 0
2840  No options  No options
2841  First char = '1'  First char = '1'
2842  Need char = '0'  Need char = '0'
2843    
2844  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2845  ------------------------------------------------------------------  ------------------------------------------------------------------
2846    0 603 Bra 0          Bra
2847    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2848  603 603 Ket          Ket
2849  606     End          End
2850  ------------------------------------------------------------------  ------------------------------------------------------------------
2851  Capturing subpattern count = 0  Capturing subpattern count = 0
2852  No options  No options
2853  First char = '1'  First char = '1'
2854  Need char = '0'  Need char = '0'
2855    
2856  /\Q\E/D  /\Q\E/DZ
2857  ------------------------------------------------------------------  ------------------------------------------------------------------
2858    0   3 Bra 0          Bra
2859    3   3 Ket          Ket
2860    6     End          End
2861  ------------------------------------------------------------------  ------------------------------------------------------------------
2862  Capturing subpattern count = 0  Capturing subpattern count = 0
2863  No options  No options
# Line 2853  No need char Line 2866  No need char
2866      \      \
2867   0:   0:
2868    
2869  /\Q\Ex/D  /\Q\Ex/DZ
2870  ------------------------------------------------------------------  ------------------------------------------------------------------
2871    0   5 Bra 0          Bra
2872    3     x          x
2873    5   5 Ket          Ket
2874    8     End          End
2875  ------------------------------------------------------------------  ------------------------------------------------------------------
2876  Capturing subpattern count = 0  Capturing subpattern count = 0
2877  No options  No options
2878  First char = 'x'  First char = 'x'
2879  No need char  No need char
2880    
2881  / \Q\E/D  / \Q\E/DZ
2882  ------------------------------------------------------------------  ------------------------------------------------------------------
2883    0   5 Bra 0          Bra
2884    3  
2885    5   5 Ket          Ket
2886    8     End          End
2887  ------------------------------------------------------------------  ------------------------------------------------------------------
2888  Capturing subpattern count = 0  Capturing subpattern count = 0
2889  No options  No options
2890  First char = ' '  First char = ' '
2891  No need char  No need char
2892    
2893  /a\Q\E/D  /a\Q\E/DZ
2894  ------------------------------------------------------------------  ------------------------------------------------------------------
2895    0   5 Bra 0          Bra
2896    3     a          a
2897    5   5 Ket          Ket
2898    8     End          End
2899  ------------------------------------------------------------------  ------------------------------------------------------------------
2900  Capturing subpattern count = 0  Capturing subpattern count = 0
2901  No options  No options
# Line 2892  No need char Line 2905  No need char
2905   0: a   0: a
2906    bca    bca
2907   0: a   0: a
2908    bac    bac
2909   0: a   0: a
2910    
2911  /a\Q\Eb/D  /a\Q\Eb/DZ
2912  ------------------------------------------------------------------  ------------------------------------------------------------------
2913    0   7 Bra 0          Bra
2914    3     ab          ab
2915    7   7 Ket          Ket
2916   10     End          End
2917  ------------------------------------------------------------------  ------------------------------------------------------------------
2918  Capturing subpattern count = 0  Capturing subpattern count = 0
2919  No options  No options
# Line 2909  Need char = 'b' Line 2922  Need char = 'b'
2922    abc    abc
2923   0: ab   0: ab
2924    
2925  /\Q\Eabc/D  /\Q\Eabc/DZ
2926  ------------------------------------------------------------------  ------------------------------------------------------------------
2927    0   9 Bra 0          Bra
2928    3     abc          abc
2929    9   9 Ket          Ket
2930   12     End          End
2931  ------------------------------------------------------------------  ------------------------------------------------------------------
2932  Capturing subpattern count = 0  Capturing subpattern count = 0
2933  No options  No options
2934  First char = 'a'  First char = 'a'
2935  Need char = 'c'  Need char = 'c'
2936    
2937  /x*+\w/D  /x*+\w/DZ
2938  ------------------------------------------------------------------  ------------------------------------------------------------------
2939    0   6 Bra 0          Bra
2940    3     x*+          x*+
2941    5     \w          \w
2942    6   6 Ket          Ket
2943    9     End          End
2944  ------------------------------------------------------------------  ------------------------------------------------------------------
2945  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2946  No options  No options
2947  No first char  No first char
2948  No need char  No need char
# Line 2938  No need char Line 2950  No need char
2950   0: F   0: F
2951      xxxxx      xxxxx
2952  No match  No match
2953    
2954  /x?+/D  /x?+/DZ
2955  ------------------------------------------------------------------  ------------------------------------------------------------------
2956    0   5 Bra 0          Bra
2957    3     x?+          x?+
2958    5   5 Ket          Ket
2959    8     End          End
2960  ------------------------------------------------------------------  ------------------------------------------------------------------
2961  Capturing subpattern count = 0  Capturing subpattern count = 0
2962  No options  No options
2963  No first char  No first char
2964  No need char  No need char
2965    
2966  /x++/D  /x++/DZ
2967  ------------------------------------------------------------------  ------------------------------------------------------------------
2968    0   5 Bra 0          Bra
2969    3     x++          x++
2970    5   5 Ket          Ket
2971    8     End          End
2972  ------------------------------------------------------------------  ------------------------------------------------------------------
2973  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2974  No options  No options
2975  First char = 'x'  First char = 'x'
2976  No need char  No need char
2977    
2978  /x{1,3}+/D  /x{1,3}+/DZ
2979  ------------------------------------------------------------------  ------------------------------------------------------------------
2980    0  15 Bra 0          Bra
2981    3   9 Once          Once
2982    6     x          x
2983    8     x{0,2}          x{0,2}
2984   12   9 Ket          Ket
2985   15  15 Ket          Ket
2986   18     End          End
2987  ------------------------------------------------------------------  ------------------------------------------------------------------
2988  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2989  No options  No options
2990  First char = 'x'  First char = 'x'
2991  No need char  No need char
2992    
2993  /(x)*+/D  /(x)*+/DZ
2994  ------------------------------------------------------------------  ------------------------------------------------------------------
2995    0  20 Bra 0          Bra
2996    3  14 Once          Braposzero
2997    6     Brazero          CBraPos 1
2998    7   7 Bra 1          x
2999   12     x          KetRpos
3000   14   7 KetRmax          Ket
3001   17  14 Ket          End
  20  20 Ket  
  23     End  
3002  ------------------------------------------------------------------  ------------------------------------------------------------------
3003  Capturing subpattern count = 1  Capturing subpattern count = 1
3004  No options  No options
# Line 2999  No need char Line 3007  No need char
3007    
3008  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
3009  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3010  Options: anchored  Options: anchored
3011  No first char  No first char
3012  No need char  No need char
# Line 3010  No need char Line 3017  No need char
3017  No match  No match
3018      this is not a line with only words and spaces!      this is not a line with only words and spaces!
3019  No match  No match
3020    
3021  /(\d++)(\w)/I  /(\d++)(\w)/I
3022  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3023  No options  No options
3024  No first char  No first char
3025  No need char  No need char
# Line 3023  No need char Line 3029  No need char
3029   2: a   2: a
3030      *** Failers      *** Failers
3031  No match  No match
3032      12345+      12345+
3033  No match  No match
3034    
3035  /a++b/I  /a++b/I
3036  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3037  No options  No options
3038  First char = 'a'  First char = 'a'
3039  Need char = 'b'  Need char = 'b'
# Line 3037  Need char = 'b' Line 3042  Need char = 'b'
3042    
3043  /(a++b)/I  /(a++b)/I
3044  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3045  No options  No options
3046  First char = 'a'  First char = 'a'
3047  Need char = 'b'  Need char = 'b'
# Line 3047  Need char = 'b' Line 3051  Need char = 'b'
3051    
3052  /(a++)b/I  /(a++)b/I
3053  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3054  No options  No options
3055  First char = 'a'  First char = 'a'
3056  Need char = 'b'  Need char = 'b'
# Line 3057  Need char = 'b' Line 3060  Need char = 'b'
3060    
3061  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
3062  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3063  No options  No options
3064  No first char  No first char
3065  No need char  No need char
3066      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
3067   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
3068   1: x   1: x
3069    
3070  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3071  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3072  No options  No options
3073  First char = '('  First char = '('
3074  Need char = ')'  Need char = ')'
# Line 3079  Need char = ')' Line 3080  Need char = ')'
3080   1: xyz   1: xyz
3081      *** Failers      *** Failers
3082  No match  No match
3083      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3084  No match  No match
3085    
3086  /(abc){1,3}+/D  /(abc){1,3}+/DZ
3087  ------------------------------------------------------------------  ------------------------------------------------------------------
3088    0  59 Bra 0          Bra
3089    3  53 Once          Once
3090    6  11 Bra 1          CBra 1
3091   11     abc          abc
3092   17  11 Ket          Ket
3093   20     Brazero          Brazero
3094   21  32 Bra 0          Bra
3095   24  11 Bra 1          CBra 1
3096   29     abc          abc
3097   35  11 Ket          Ket
3098   38     Brazero          Brazero
3099   39  11 Bra 1          CBra 1
3100   44     abc          abc
3101   50  11 Ket          Ket
3102   53  32 Ket          Ket
3103   56  53 Ket          Ket
3104   59  59 Ket          Ket
3105   62     End          End
3106  ------------------------------------------------------------------  ------------------------------------------------------------------
3107  Capturing subpattern count = 1  Capturing subpattern count = 1
3108  No options  No options
# Line 3120  Failed: nothing to repeat at offset 7 Line 3121  Failed: nothing to repeat at offset 7
3121  /a{2,3}?+b/IU  /a{2,3}?+b/IU
3122  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3123    
3124  /x(?U)a++b/D  /x(?U)a++b/DZ
3125  ------------------------------------------------------------------  ------------------------------------------------------------------
3126    0   9 Bra 0          Bra
3127    3     x          x
3128    5     a++          a++
3129    7     b          b
3130    9   9 Ket          Ket
3131   12     End          End
3132  ------------------------------------------------------------------  ------------------------------------------------------------------
3133  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3134  No options  No options
3135  First char = 'x'  First char = 'x'
3136  Need char = 'b'  Need char = 'b'
3137      xaaaab      xaaaab
3138   0: xaaaab   0: xaaaab
3139    
3140  /(?U)xa++b/D  /(?U)xa++b/DZ
3141  ------------------------------------------------------------------  ------------------------------------------------------------------
3142    0   9 Bra 0          Bra
3143    3     x          x
3144    5     a++          a++
3145    7     b          b
3146    9   9 Ket          Ket
3147   12     End          End
3148  ------------------------------------------------------------------  ------------------------------------------------------------------
3149  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3150  Options: ungreedy  Options: ungreedy
3151  First char = 'x'  First char = 'x'
3152  Need char = 'b'  Need char = 'b'
3153      xaaaab      xaaaab
3154   0: xaaaab   0: xaaaab
3155    
3156  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3157  ------------------------------------------------------------------  ------------------------------------------------------------------
3158    0 116 Bra 0          Bra
3159    3     ^          ^
3160    4 109 Bra 1          CBra 1
3161    9   7 Bra 2          CBra 2
3162   14     a+          a+
3163   16   7 Ket          Ket
3164   19  39 Bra 3          CBra 3
3165   24     [ab]+?          [ab]+?
3166   58  39 Ket          Ket
3167   61  39 Bra 4          CBra 4
3168   66     [bc]+          [bc]+
3169  100  39 Ket          Ket
3170  103   7 Bra 5          CBra 5
3171  108     \w*          \w*
3172  110   7 Ket          Ket
3173  113 109 Ket          Ket
3174  116 116 Ket          Ket
3175  119     End          End
3176  ------------------------------------------------------------------  ------------------------------------------------------------------
3177  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3178  Options: anchored  Options: anchored
3179  No first char  No first char
3180  No need char  No need char
3181    
3182  /^x(?U)a+b/D  /^x(?U)a+b/DZ
3183  ------------------------------------------------------------------  ------------------------------------------------------------------
3184    0  10 Bra 0          Bra
3185    3     ^          ^
3186    4     x          x
3187    6     a++          a++
3188    8     b          b
3189   10  10 Ket          Ket
3190   13     End          End
3191  ------------------------------------------------------------------  ------------------------------------------------------------------
3192  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3193  Options: anchored  Options: anchored
3194  No first char  No first char
3195  Need char = 'b'  Need char = 'b'
3196    
3197  /^x(?U)(a+)b/D  /^x(?U)(a+)b/DZ
3198  ------------------------------------------------------------------  ------------------------------------------------------------------
3199    0  18 Bra 0          Bra
3200    3     ^          ^
3201    4     x          x
3202    6   7 Bra 1          CBra 1
3203   11     a+?          a+?
3204   13   7 Ket          Ket
3205   16     b          b
3206   18  18 Ket          Ket
3207   21     End          End
3208  ------------------------------------------------------------------  ------------------------------------------------------------------
3209  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3210  Options: anchored  Options: anchored
3211  No first char  No first char
3212  Need char = 'b'  Need char = 'b'
# Line 3225  Failed: POSIX collating elements are not Line 3221  Failed: POSIX collating elements are not
3221  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
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  /\L/I  /\L/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  /\N{name}/I  /\N{name}/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  /\U/I  /\U/I
3236  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
3237    
3238  /[/I  /[/I
3239  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3248  Failed: missing terminating ] for charac Line 3244  Failed: missing terminating ] for charac
3244  /[[:space:]/I  /[[:space:]/I
3245  Failed: missing terminating ] for character class at offset 10  Failed: missing terminating ] for character class at offset 10
3246    
3247  /[\s]/IDM  /[\s]/IDZ
 Memory allocation (code space): 40  
3248  ------------------------------------------------------------------  ------------------------------------------------------------------
3249    0  36 Bra 0          Bra
3250    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3251   36  36 Ket          Ket
3252   39     End          End
3253  ------------------------------------------------------------------  ------------------------------------------------------------------
3254  Capturing subpattern count = 0  Capturing subpattern count = 0
3255  No options  No options
3256  No first char  No first char
3257  No need char  No need char
3258    
3259  /[[:space:]]/IDM  /[[:space:]]/IDZ
 Memory allocation (code space): 40  
3260  ------------------------------------------------------------------  ------------------------------------------------------------------
3261    0  36 Bra 0          Bra
3262    3     [\x09-\x0d ]          [\x09-\x0d ]
3263   36  36 Ket          Ket
3264   39     End          End
3265  ------------------------------------------------------------------  ------------------------------------------------------------------
3266  Capturing subpattern count = 0  Capturing subpattern count = 0
3267  No options  No options
3268  No first char  No first char
3269  No need char  No need char
3270    
3271  /[[:space:]abcde]/IDM  /[[:space:]abcde]/IDZ
 Memory allocation (code space): 40  
3272  ------------------------------------------------------------------  ------------------------------------------------------------------
3273    0  36 Bra 0          Bra
3274    3     [\x09-\x0d a-e]          [\x09-\x0d a-e]
3275   36  36 Ket          Ket
3276   39     End          End
3277  ------------------------------------------------------------------  ------------------------------------------------------------------
3278  Capturing subpattern count = 0  Capturing subpattern count = 0
3279  No options  No options
# Line 3289  No need char Line 3282  No need char
3282    
3283  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3284  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3285  Options: extended  Options: extended
3286  First char = '<'  First char = '<'
3287  Need char = '>'  Need char = '>'
# Line 3301  Need char = '>' Line 3293  Need char = '>'
3293   0: <abc <123> hij>   0: <abc <123> hij>
3294      <abc <def> hij>      <abc <def> hij>
3295   0: <def>   0: <def>
3296      <abc<>def>      <abc<>def>
3297   0: <abc<>def>   0: <abc<>def>
3298      <abc<>      <abc<>
3299   0: <>   0: <>
3300      *** Failers      *** Failers
3301  No match  No match
3302      <abc      <abc
3303  No match  No match
3304    
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\b|IDM  |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
 Memory allocation (code space): 826  
3306  ------------------------------------------------------------------  ------------------------------------------------------------------
3307    0 822 Bra 0          Bra
3308    3     8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X          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
3309  821     \b          \b
3310  822 822 Ket          Ket
3311  825     End          End
3312  ------------------------------------------------------------------  ------------------------------------------------------------------
3313  Capturing subpattern count = 0  Capturing subpattern count = 0
3314  No options  No options
3315  First char = '8'  First char = '8'
3316  Need char = 'X'  Need char = 'X'
3317    
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\b|IDM  |\$\<\.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
 Memory allocation (code space): 816  
3319  ------------------------------------------------------------------  ------------------------------------------------------------------
3320    0 812 Bra 0          Bra
3321    3     $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X          $<.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
3322  811     \b          \b
3323  812 812 Ket          Ket
3324  815     End          End
3325  ------------------------------------------------------------------  ------------------------------------------------------------------
3326  Capturing subpattern count = 0  Capturing subpattern count = 0
3327  No options  No options
# Line 3341  Need char = 'X' Line 3331  Need char = 'X'
3331  /(.*)\d+\1/I  /(.*)\d+\1/I
3332  Capturing subpattern count = 1  Capturing subpattern count = 1
3333  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3334  No options  No options
3335  No first char  No first char
3336  No need char  No need char
3337    
3338  /(.*)\d+/I  /(.*)\d+/I
3339  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3340  No options  No options
3341  First char at start or follows newline  First char at start or follows newline
3342  No need char  No need char
3343    
3344  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3345  Capturing subpattern count = 1  Capturing subpattern count = 1
3346  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3347  Options: dotall  Options: dotall
3348  No first char  No first char
3349  No need char  No need char
3350    
3351  /(.*)\d+/Is  /(.*)\d+/Is
3352  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3353  Options: anchored dotall  Options: anchored dotall
3354  No first char  No first char
3355  No need char  No need char
# Line 3371  No need char Line 3357  No need char
3357  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3358  Capturing subpattern count = 2  Capturing subpattern count = 2
3359  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3360  No options  No options
3361  First char at start or follows newline  First char at start or follows newline
3362  Need char = 'z'  Need char = 'z'
# Line 3379  Need char = 'z' Line 3364  Need char = 'z'
3364  /((.*))\d+\1/I  /((.*))\d+\1/I
3365  Capturing subpattern count = 2  Capturing subpattern count = 2
3366  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3367  No options  No options
3368  No first char  No first char
3369  No need char  No need char
# Line 3387  No need char Line 3371  No need char
3371   0: bc123bc   0: bc123bc
3372   1: bc   1: bc
3373   2: bc   2: bc
3374    
3375  /a[b]/I  /a[b]/I
3376  Capturing subpattern count = 0  Capturing subpattern count = 0
3377  No options  No options
# Line 3396  Need char = 'b' Line 3380  Need char = 'b'
3380    
3381  /(?=a).*/I  /(?=a).*/I
3382  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3383  No options  No options
3384  First char = 'a'  First char = 'a'
3385  No need char  No need char
# Line 3443  No options Line 3426  No options
3426  No first char  No first char
3427  Need char = 'a'  Need char = 'a'
3428    
3429  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3430  Capturing subpattern count = 0  Capturing subpattern count = 1
3431  No options  No options
3432  First char = 'a'  First char = 'a'
3433  No need char  No need char
3434    
3435  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3436  Capturing subpattern count = 0  Capturing subpattern count = 1
3437  No options  No options
3438  First char = 'a'  First char = 'a'
3439  Need char = 'z'  Need char = 'z'
3440    
3441  /(?(1)abz)/I  /(?(1)abz)(.)/I
3442  Capturing subpattern count = 0  Capturing subpattern count = 1
3443  No options  No options
3444  No first char  No first char
3445  No need char  No need char
3446    
3447  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3448  Capturing subpattern count = 0  Capturing subpattern count = 1
3449  No options  No options
3450  No first char  No first char
3451  Need char = '3'  Need char = '3'
# Line 3502  Capturing subpattern count = 0 Line 3485  Capturing subpattern count = 0
3485  No options  No options
3486  No first char  No first char
3487  No need char  No need char
3488    Subject length lower bound = 1
3489  Starting byte set: a b  Starting byte set: a b
3490    
3491  /[^a]/I  /[^a]/I
# Line 3521  Capturing subpattern count = 0 Line 3505  Capturing subpattern count = 0
3505  No options  No options
3506  No first char  No first char
3507  Need char = '6'  Need char = '6'
3508    Subject length lower bound = 4
3509  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
3510    
3511  /a^b/I  /a^b/I
# Line 3536  First char at start or follows newline Line 3521  First char at start or follows newline
3521  Need char = 'a'  Need char = 'a'
3522    abcde    abcde
3523   0: a   0: a
3524    xy\nabc    xy\nabc
3525   0: a   0: a
3526    *** Failers    *** Failers
3527  No match  No match
3528    xyabc    xyabc
3529  No match  No match
3530    
3531  /c|abc/I  /c|abc/I
# Line 3554  Capturing subpattern count = 0 Line 3539  Capturing subpattern count = 0
3539  Options: caseless  Options: caseless
3540  No first char  No first char
3541  No need char  No need char
3542    Subject length lower bound = 1
3543  Starting byte set: A B a b  Starting byte set: A B a b
3544    
3545  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3561  Capturing subpattern count = 0 Line 3547  Capturing subpattern count = 0
3547  No options  No options
3548  No first char  No first char
3549  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3550    Subject length lower bound = 3
3551  Starting byte set: a b  Starting byte set: a b
3552    
3553  /abc(?C)def/I  /abc(?C)def/I
# Line 3572  Need char = 'f' Line 3559  Need char = 'f'
3559  --->abcdef  --->abcdef
3560    0 ^  ^       d    0 ^  ^       d
3561   0: abcdef   0: abcdef
3562      1234abcdef      1234abcdef
3563  --->1234abcdef  --->1234abcdef
3564    0     ^  ^       d    0     ^  ^       d
3565   0: abcdef   0: abcdef
# Line 3580  Need char = 'f' Line 3567  Need char = 'f'
3567  No match  No match
3568      abcxyz      abcxyz
3569  No match  No match
3570      abcxyzf      abcxyzf
3571  --->abcxyzf  --->abcxyzf
3572    0 ^  ^        d    0 ^  ^        d
3573  No match  No match
# Line 3595  Need char = 'f' Line 3582  Need char = 'f'
3582    0    ^  ^       d    0    ^  ^       d
3583    1    ^    ^     f    1    ^    ^     f
3584   0: abcdef   0: abcdef
3585    
3586  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3587    Capturing subpattern count = 0
3588    No options
3589    No first char
3590    Need char = 'f'
3591    Subject length lower bound = 7
3592    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3593        1234abcdef
3594    --->1234abcdef
3595      1 ^              \d
3596      1  ^             \d
3597      1   ^            \d
3598      1    ^           \d
3599      2    ^   ^       d
3600     0: 4abcdef
3601        *** Failers
3602    No match
3603        abcdef
3604    No match
3605    
3606    /(?C1)\dabc(?C2)def/ISS
3607  Capturing subpattern count = 0  Capturing subpattern count = 0
3608  No options  No options
3609  No first char  No first char
# Line 3611  Need char = 'f' Line 3618  Need char = 'f'
3618   0: 4abcdef   0: 4abcdef
3619      *** Failers      *** Failers
3620  No match  No match
3621      abcdef      abcdef
3622  --->abcdef  --->abcdef
3623    1 ^          \d    1 ^          \d
3624    1  ^         \d    1  ^         \d
# Line 3620  No match Line 3627  No match
3627    1     ^      \d    1     ^      \d
3628    1      ^     \d    1      ^     \d
3629  No match  No match
3630    
3631  /(?C255)ab/I  /(?C255)ab/I
3632  Capturing subpattern count = 0  Capturing subpattern count = 0
3633  No options  No options
# Line 3630  Need char = 'b' Line 3637  Need char = 'b'
3637  /(?C256)ab/I  /(?C256)ab/I
3638  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3639    
3640  /(?Cab)xx/I  /(?Cab)xx/I
3641  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3642    
3643  /(?C12vr)x/I  /(?C12vr)x/I
# Line 3659  Need char = 'f' Line 3666  Need char = 'f'
3666    1    ^    ^     f    1    ^    ^     f
3667   0: abcdef   0: abcdef
3668   1: abc   1: abc
3669      123abcdef\C+      123abcdef\C+
3670  Callout 0: last capture = 1  Callout 0: last capture = 1
3671   0: <unset>   0: <unset>
3672   1: abc   1: abc
# Line 3672  Callout 1: last capture = 1 Line 3679  Callout 1: last capture = 1
3679         ^    ^     f         ^    ^     f
3680   0: abcdef   0: abcdef
3681   1: abc   1: abc
3682      123abcdef\C-      123abcdef\C-
3683   0: abcdef   0: abcdef
3684   1: abc   1: abc
3685      *** Failers      *** Failers
3686  No match  No match
3687      123abcdef\C!1      123abcdef\C!1
3688  --->123abcdef  --->123abcdef
3689    0    ^  ^       d    0    ^  ^       d
3690    1    ^    ^     f    1    ^    ^     f
3691  No match  No match
3692    
3693  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3694  Capturing subpattern count = 1  Capturing subpattern count = 1
3695  No options  No options
# Line 3696  No need char Line 3703  No need char
3703    1 ^        ^    )    1 ^        ^    )
3704   0: abcabcabc   0: abcabcabc
3705   1: abc   1: abc
3706      abcabc\C!1!3      abcabc\C!1!3
3707  --->abcabc  --->abcabc
3708    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3709    1 ^  ^       )    1 ^  ^       )
# Line 3707  No need char Line 3714  No need char
3714  --->*** Failers  --->*** Failers
3715    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3716   0:   0:
3717      abcabcabc\C!1!3      abcabcabc\C!1!3
3718  --->abcabcabc  --->abcabcabc
3719    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3720    1 ^  ^          )    1 ^  ^          )
# Line 3718  No need char Line 3725  No need char
3725    
3726  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3727  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3728  No options  No options
3729  No first char  No first char
3730  No need char  No need char
# Line 3741  Callout 0: last capture = 1 Line 3747  Callout 0: last capture = 1
3747      ^     ^    )      ^     ^    )
3748   0: 123456   0: 123456
3749   1: 456   1: 456
3750      123456789\C+      123456789\C+
3751  Callout 0: last capture = -1  Callout 0: last capture = -1
3752   0: <unset>   0: <unset>
3753  --->123456789  --->123456789
# Line 3813  Callout 0: last capture = 1 Line 3819  Callout 0: last capture = 1
3819      ^          a      ^          a
3820   0: abcdef   0: abcdef
3821   1: abc   1: abc
3822    
3823  /(?!(abc)(?C1)d)(?C2)abcxyz/I  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3824  Capturing subpattern count = 1  Capturing subpattern count = 1
3825  No options  No options
3826  First char = 'a'  First char = 'a'
3827  Need char = 'z'  Need char = 'z'
3828      abcxyz\C+      abcxyz\C+
3829  Callout 1: last capture = 1  Callout 1: last capture = 1
3830   0: <unset>   0: <unset>
3831   1: abc   1: abc
# Line 3844  Callout 0: last capture = 1 Line 3850  Callout 0: last capture = 1
3850         ^       )         ^       )
3851   0: xyz   0: xyz
3852   1: abc   1: abc
3853    
3854  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3855  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3856  No options  No options
3857  First char = 'a'  First char = 'a'
3858  Need char = 'b'  Need char = 'b'
# Line 3873  No match Line 3878  No match
3878    
3879  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3880  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3881  No options  No options
3882  First char = 'a'  First char = 'a'
3883  Need char = 'b'  Need char = 'b'
# Line 3896  Callout data = 1 Line 3900  Callout data = 1
3900    1 ^        ^    1 ^        ^
3901  Callout data = 1  Callout data = 1
3902  No match  No match
3903    
3904  /(?C)abc/I  /(?C)abc/I
3905  Capturing subpattern count = 0  Capturing subpattern count = 0
3906  No options  No options
3907  First char = 'a'  First char = 'a'
# Line 3914  Capturing subpattern count = 0 Line 3918  Capturing subpattern count = 0
3918  No options  No options
3919  No first char  No first char
3920  No need char  No need char
3921    Subject length lower bound = 1
3922  Starting byte set: a b  Starting byte set: a b
3923    
3924  /(?R)/I  /(?R)/I
# Line 3954  No need char Line 3959  No need char
3959   3: xxab   3: xxab
3960      *** Failers      *** Failers
3961  No match  No match
3962      xyab      xyab
3963  No match  No match
3964    
3965  /(ab|(bc|(de|(?1))))/I  /(ab|(bc|(de|(?1))))/I
# Line 3974  No need char Line 3979  No need char
3979      a(b)c      a(b)c
3980   0: a(b)c   0: a(b)c
3981   1: c   1: c
3982      a(b(c))d      a(b(c))d
3983   0: a(b(c))d   0: a(b(c))d
3984   1: d   1: d
3985      *** Failers)      *** Failers)
3986  No match  No match
3987      a(b(c)d      a(b(c)d
3988  No match  No match
3989    
3990  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
# Line 3997  Need char = '<' Line 4002  Need char = '<'
4002   0: >abc>(1(2)3)<xyz<   0: >abc>(1(2)3)<xyz<
4003   1: (1(2)3)   1: (1(2)3)
4004    
4005  /(a(?1)b)/D  /(a(?1)b)/DZ
4006  ------------------------------------------------------------------  ------------------------------------------------------------------
4007    0  24 Bra 0          Bra
4008    3  18 Bra 1          CBra 1
4009    8     a          a
4010   10   6 Once          Recurse
4011   13   3 Recurse          b
4012   16   6 Ket          Ket
4013   19     b          Ket
4014   21  18 Ket          End
  24  24 Ket  
  27     End  
4015  ------------------------------------------------------------------  ------------------------------------------------------------------
4016  Capturing subpattern count = 1  Capturing subpattern count = 1
4017  No options  No options
4018  First char = 'a'  First char = 'a'
4019  Need char = 'b'  Need char = 'b'
4020    
4021  /(a(?1)+b)/D  /(a(?1)+b)/DZ
4022  ------------------------------------------------------------------  ------------------------------------------------------------------
4023    0  24 Bra 0          Bra
4024    3  18 Bra 1          CBra 1
4025    8     a          a
4026   10   6 Once          Once
4027   13   3 Recurse          Recurse
4028   16   6 KetRmax          KetRmax
4029   19     b          b
4030   21  18 Ket          Ket
4031   24  24 Ket          Ket
4032   27     End          End
4033  ------------------------------------------------------------------  ------------------------------------------------------------------
4034  Capturing subpattern count = 1  Capturing subpattern count = 1
4035  No options  No options
4036  First char = 'a'  First char = 'a'
4037  Need char = 'b'  Need char = 'b'
4038    
 /^\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  
   
4039  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4040  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4041  Options: anchored  Options: anchored
4042  No first char  No first char
4043  No need char  No need char
# Line 4087  No need char Line 4055  No need char
4055  No match  No match
4056      ((2+2)*-3)-7)      ((2+2)*-3)-7)
4057  No match  No match
4058    
4059  /^(x(y|(?1){2})z)/I  /^(x(y|(?1){2})z)/I
4060  Capturing subpattern count = 2  Capturing subpattern count = 2
4061  Options: anchored  Options: anchored
# Line 4097  No need char Line 4065  No need char
4065   0: xyz   0: xyz
4066   1: xyz   1: xyz
4067   2: y   2: y
4068      xxyzxyzz      xxyzxyzz
4069   0: xxyzxyzz   0: xxyzxyzz
4070   1: xxyzxyzz   1: xxyzxyzz
4071   2: xyzxyz   2: xyzxyz
# Line 4105  No need char Line 4073  No need char
4073  No match  No match
4074      xxyzz      xxyzz
4075  No match  No match
4076      xxyzxyzxyzz      xxyzxyzxyzz
4077  No match  No match
4078    
4079  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4080  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4081  Options: extended  Options: extended
4082  First char = '<'  First char = '<'
4083  Need char = '>'  Need char = '>'
# Line 4130  Need char = '>' Line 4097  Need char = '>'
4097   0: <def>   0: <def>
4098   1: <def>   1: <def>
4099   2: <def>   2: <def>
4100      <abc<>def>      <abc<>def>
4101   0: <abc<>def>   0: <abc<>def>
4102   1: <abc<>def>   1: <abc<>def>
4103   2: <abc<>def>   2: <abc<>def>
4104      <abc<>      <abc<>
4105   0: <>   0: <>
4106   1: <>   1: <>
4107   2: <>   2: <>
# Line 4169  No need char Line 4136  No need char
4136      a=b      a=b
4137   0: a=b   0: a=b
4138   1: a   1: a
4139      a=bc      a=bc
4140   0: a=bc   0: a=bc
4141   1: a   1: a
4142    
# Line 4186  No need char Line 4153  No need char
4153   0: a=b   0: a=b
4154   1: a   1: a
4155   2: b   2: b
4156      a=bc      a=bc
4157   0: a=bc   0: a=bc
4158   1: a   1: a
4159   2: c   2: c
4160    
4161  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4162  ------------------------------------------------------------------  ------------------------------------------------------------------
4163    0  32 Bra 0          Bra
4164    3     a          a
4165    5   7 Bra 1          CBra 1
4166   10     b          b
4167   12   5 Alt          Alt
4168   15     c          c
4169   17  12 Ket          Ket
4170   20     d          d
4171   22   7 Bra 2          CBra 2
4172   27     e          e
4173   29   7 Ket          Ket
4174   32  32 Ket          Ket
4175   35     End          End
4176  ------------------------------------------------------------------  ------------------------------------------------------------------
4177  Capturing subpattern count = 2  Capturing subpattern count = 2
4178  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4218  Need char = 'e' Line 4185  Need char = 'e'
4185   0: abde   0: abde
4186   1: b   1: b
4187   2: e   2: e
4188      acde      acde
4189   0: acde   0: acde
4190   1: c   1: c
4191   2: e   2: e
4192    
4193  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4194  ------------------------------------------------------------------  ------------------------------------------------------------------
4195    0  41 Bra 0          Bra
4196    3  25 Bra 0          Bra
4197    6     a          a
4198    8  17 Bra 1          CBra 1
4199   13     c          c
4200   15   7 Bra 2          CBra 2
4201   20     d          d
4202   22   7 Ket          Ket
4203   25  17 Ket          Ket
4204   28  25 Ket          Ket
4205   31   7 Bra 3          CBra 3
4206   36     a          a
4207   38   7 Ket          Ket
4208   41  41 Ket          Ket
4209   44     End          End
4210  ------------------------------------------------------------------  ------------------------------------------------------------------
4211  Capturing subpattern count = 3  Capturing subpattern count = 3
4212  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4250  No options Line 4217  No options
4217  First char = 'a'  First char = 'a'
4218  Need char = 'a'  Need char = 'a'
4219    
4220  /(?P<a>a)...(?P=a)bbb(?P>a)d/D  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4221  ------------------------------------------------------------------  ------------------------------------------------------------------
4222    0  36 Bra 0          Bra
4223    3   7 Bra 1          CBra 1
4224    8     a          a
4225   10   7 Ket          Ket
4226   13     Any          Any
4227   14     Any          Any
4228   15     Any          Any
4229   16     \1          \1
4230   19     bbb          bbb
4231   25   6 Once          Recurse
4232   28   3 Recurse          d
4233   31   6 Ket          Ket
4234   34     d          End
  36  36 Ket  
  39     End  
4235  ------------------------------------------------------------------  ------------------------------------------------------------------
4236  Capturing subpattern count = 1  Capturing subpattern count = 1
4237  Max back reference = 1  Max back reference = 1
# Line 4284  Named capturing subpatterns: Line 4249  Named capturing subpatterns:
4249    one     1    one     1
4250    three   3    three   3
4251    two     2    two     2
 Partial matching not supported  
4252  Options: anchored caseless  Options: anchored caseless
4253  No first char  No first char
4254  No need char  No need char
# Line 4304  No need char Line 4268  No need char
4268   2: <unset>   2: <unset>
4269   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4270   4: A   4: A
4271      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4272   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4273   1: <unset>   1: <unset>
4274   2: <unset>   2: <unset>
# Line 4312  No need char Line 4276  No need char
4276   4: A   4: A
4277      *** Failers      *** Failers
4278  No match  No match
4279      The quick brown fox      The quick brown fox
4280  No match  No match
4281    
4282  /((?(R)a|b))\1(?1)?/I  /((?(R)a|b))\1(?1)?/I
4283  Capturing subpattern count = 1  Capturing subpattern count = 1
4284  Max back reference = 1  Max back reference = 1
# Line 4324  No need char Line 4288  No need char
4288    bb    bb
4289   0: bb   0: bb
4290   1: b   1: b
4291    bbaa    bbaa
4292   0: bba   0: bba
4293   1: b   1: b
4294    
4295  /(.*)a/Is  /(.*)a/Is
4296  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4297  Options: anchored dotall  Options: anchored dotall
4298  No first char  No first char
4299  Need char = 'a'  Need char = 'a'
# Line 4338  Need char = 'a' Line 4301  Need char = 'a'
4301  /(.*)a\1/Is  /(.*)a\1/Is
4302  Capturing subpattern count = 1  Capturing subpattern count = 1
4303  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4304  Options: dotall  Options: dotall
4305  No first char  No first char
4306  Need char = 'a'  Need char = 'a'
# Line 4346  Need char = 'a' Line 4308  Need char = 'a'
4308  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4309  Capturing subpattern count = 2  Capturing subpattern count = 2
4310  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4311  Options: anchored dotall  Options: anchored dotall
4312  No first char  No first char
4313  Need char = 'b'  Need char = 'b'
4314    
4315  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4316  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4317  Options: anchored dotall  Options: anchored dotall
4318  No first char  No first char
4319  Need char = 'z'  Need char = 'z'
# Line 4361  Need char = 'z' Line 4321  Need char = 'z'
4321  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4322  Capturing subpattern count = 3  Capturing subpattern count = 3
4323  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4324  Options: dotall  Options: dotall
4325  No first char  No first char
4326  Need char = 'z'  Need char = 'z'
# Line 4369  Need char = 'z' Line 4328  Need char = 'z'
4328  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4329  Capturing subpattern count = 3  Capturing subpattern count = 3
4330  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4331  Options: dotall  Options: dotall
4332  No first char  No first char
4333  Need char = 'z'  Need char = 'z'
# Line 4377  Need char = 'z' Line 4335  Need char = 'z'
4335  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4336  Capturing subpattern count = 3  Capturing subpattern count = 3
4337  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4338  Options: dotall  Options: dotall
4339  No first char  No first char
4340  Need char = 'z'  Need char = 'z'
# Line 4385  Need char = 'z' Line 4342  Need char = 'z'
4342  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4343  Capturing subpattern count = 3  Capturing subpattern count = 3
4344  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4345  Options: anchored dotall  Options: anchored dotall
4346  No first char  No first char
4347  Need char = 'z'  Need char = 'z'
4348    
4349  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4350  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4351  Options: anchored dotall  Options: anchored dotall
4352  No first char  No first char
4353  No need char  No need char
# Line 4400  No need char Line 4355  No need char
4355  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4356  Capturing subpattern count = 31  Capturing subpattern count = 31
4357  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4358  Options: dotall  Options: dotall
4359  No first char  No first char
4360  No need char  No need char
# Line 4408  No need char Line 4362  No need char
4362  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4363  Capturing subpattern count = 32  Capturing subpattern count = 32
4364  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4365  Options: dotall  Options: dotall
4366  No first char  No first char
4367  No need char  No need char
4368    
4369  /(a)(bc)/IND  /(a)(bc)/INDZ
4370  ------------------------------------------------------------------  ------------------------------------------------------------------
4371    0  21 Bra 0          Bra
4372    3   5 Bra 0          Bra
4373    6     a          a
4374    8   5 Ket          Ket
4375   11   7 Bra 0          Bra
4376   14     bc          bc
4377   18   7 Ket          Ket
4378   21  21 Ket          Ket
4379   24     End          End
4380  ------------------------------------------------------------------  ------------------------------------------------------------------
4381  Capturing subpattern count = 0  Capturing subpattern count = 0
4382  Options: no_auto_capture  Options: no_auto_capture
# Line 4432  Need char = 'c' Line 4385  Need char = 'c'
4385    abc    abc
4386   0: abc   0: abc
4387    
4388  /(?P<one>a)(bc)/IND  /(?P<one>a)(bc)/INDZ
4389  ------------------------------------------------------------------  ------------------------------------------------------------------
4390    0  23 Bra 0          Bra
4391    3   7 Bra 1          CBra 1
4392    8     a          a
4393   10   7 Ket          Ket
4394   13   7 Bra 0          Bra
4395   16     bc          bc
4396   20   7 Ket          Ket
4397   23  23 Ket          Ket
4398   26     End          End
4399  ------------------------------------------------------------------  ------------------------------------------------------------------
4400  Capturing subpattern count = 1  Capturing subpattern count = 1
4401  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4454  Need char = 'c' Line 4407  Need char = 'c'
4407   0: abc   0: abc
4408   1: a   1: a
4409    
4410  /(a)(?P<named>bc)/IND  /(a)(?P<named>bc)/INDZ
4411  ------------------------------------------------------------------  ------------------------------------------------------------------
4412    0  23 Bra 0          Bra
4413    3   5 Bra 0          Bra
4414    6     a          a
4415    8   5 Ket          Ket
4416   11   9 Bra 1          CBra 1
4417   16     bc          bc
4418   20   9 Ket          Ket
4419   23  23 Ket          Ket
4420   26     End          End
4421  ------------------------------------------------------------------  ------------------------------------------------------------------
4422  Capturing subpattern count = 1  Capturing subpattern count = 1
4423  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4475  Need char = 'c' Line 4428  Need char = 'c'
4428    
4429  /(a+)*zz/I  /(a+)*zz/I
4430  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4431  No options  No options
4432  No first char  No first char
4433  Need char = 'z'  Need char = 'z'
# Line 4540  Need char = 'h' Line 4492  Need char = 'h'
4492   2: gh   2: gh
4493    C cd (2) one    C cd (2) one
4494    C gh (2) two    C gh (2) two
4495      abcdefgh\Cthree      abcdefgh\Cthree
4496  no parentheses with name "three"  no parentheses with name "three"
4497   0: abcdefgh   0: abcdefgh
4498   1: cd   1: cd
4499   2: gh   2: gh
4500  copy substring three failed -7  copy substring three failed -7
4501    
4502  /(?P<Tes>)(?P<Test>)/D  /(?P<Tes>)(?P<Test>)/DZ
4503  ------------------------------------------------------------------  ------------------------------------------------------------------
4504    0  19 Bra 0          Bra
4505    3   5 Bra 1          CBra 1
4506    8   5 Ket          Ket
4507   11   5 Bra 2          CBra 2
4508   16   5 Ket          Ket
4509   19  19 Ket          Ket
4510   22     End          End
4511  ------------------------------------------------------------------  ------------------------------------------------------------------
4512  Capturing subpattern count = 2  Capturing subpattern count = 2
4513  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4565  No options Line 4517  No options
4517  No first char  No first char
4518  No need char  No need char
4519    
4520  /(?P<Test>)(?P<Tes>)/D  /(?P<Test>)(?P<Tes>)/DZ
4521  ------------------------------------------------------------------  ------------------------------------------------------------------
4522    0  19 Bra 0          Bra
4523    3   5 Bra 1          CBra 1
4524    8   5 Ket          Ket
4525   11   5 Bra 2          CBra 2
4526   16   5 Ket          Ket
4527   19  19 Ket          Ket
4528   22     End          End
4529  ------------------------------------------------------------------  ------------------------------------------------------------------
4530  Capturing subpattern count = 2  Capturing subpattern count = 2
4531  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4612  Failed: two named subpatterns have the s Line 4564  Failed: two named subpatterns have the s
4564  Capturing subpattern count = 3  Capturing subpattern count = 3
4565  Named capturing subpatterns:  Named capturing subpatterns:
4566    elem   2    elem   2
 Partial matching not supported  
4567  No options  No options
4568  First char = '['  First char = '['
4569  Need char = ']'  Need char = ']'
# Line 4623  Need char = ']' Line 4574  Need char = ']'
4574   3: ,4234   3: ,4234
4575      *** Failers      *** Failers
4576  No match  No match
4577      []      []
4578  No match  No match
4579    
4580  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
4581  Capturing subpattern count = 3  Capturing subpattern count = 3
4582  Named capturing subpatterns:  Named capturing subpatterns:
4583    elem   2    elem   2
 Partial matching not supported  
4584  No options  No options
4585  First char = '['  First char = '['
4586  Need char = ']'  Need char = ']'
# Line 4639  Need char = ']' Line 4589  Need char = ']'
4589   1: 10,20,30,5,5,4,4,2,43,23,4234   1: 10,20,30,5,5,4,4,2,43,23,4234
4590   2: 10   2: 10
4591   3: ,4234   3: ,4234
4592      []      []
4593   0: []   0: []
4594    
4595  /(a(b(?2)c))?/D  /(a(b(?2)c))?/DZ
4596  ------------------------------------------------------------------  ------------------------------------------------------------------
4597    0  35 Bra 0          Bra
4598    3     Brazero          Brazero
4599    4  28 Bra 1          CBra 1
4600    9     a          a
4601   11  18 Bra 2          CBra 2
4602   16     b          b
4603   18   6 Once          Recurse
4604   21  11 Recurse          c
4605   24   6 Ket          Ket
4606   27     c          Ket
4607   29  18 Ket          Ket
4608   32  28 Ket          End
  35  35 Ket  
  38     End  
4609  ------------------------------------------------------------------  ------------------------------------------------------------------
4610  Capturing subpattern count = 2  Capturing subpattern count = 2
4611  No options  No options
4612  No first char  No first char
4613  No need char  No need char
4614    
4615  /(a(b(?2)c))*/D  /(a(b(?2)c))*/DZ
4616  ------------------------------------------------------------------  ------------------------------------------------------------------
4617    0  35 Bra 0          Bra
4618    3     Brazero          Brazero
4619    4  28 Bra 1          CBra 1
4620    9     a          a
4621   11  18 Bra 2          CBra 2
4622   16     b          b
4623   18   6 Once          Recurse
4624   21  11 Recurse          c
4625   24   6 Ket          Ket
4626   27     c          KetRmax
4627   29  18 Ket          Ket
4628   32  28 KetRmax          End
  35  35 Ket  
  38     End  
4629  ------------------------------------------------------------------  ------------------------------------------------------------------
4630  Capturing subpattern count = 2  Capturing subpattern count = 2
4631  No options  No options
4632  No first char  No first char
4633  No need char  No need char
4634    
4635  /(a(b(?2)c)){0,2}/D  /(a(b(?2)c)){0,2}/DZ
4636  ------------------------------------------------------------------  ------------------------------------------------------------------
4637    0  73 Bra 0          Bra
4638    3     Brazero          Brazero
4639    4  66 Bra 0          Bra
4640    7  28 Bra 1          CBra 1
4641   12     a          a
4642   14  18 Bra 2          CBra 2
4643   19     b          b
4644   21   6 Once          Recurse
4645   24  14 Recurse          c
4646   27   6 Ket          Ket
4647   30     c          Ket
4648   32  18 Ket          Brazero
4649   35  28 Ket          CBra 1
4650   38     Brazero          a
4651   39  28 Bra 1          CBra 2
4652   44     a          b
4653   46  18 Bra 2          Recurse
4654   51     b          c
4655   53   6 Once          Ket
4656   56  14 Recurse          Ket
4657   59   6 Ket          Ket
4658   62     c          Ket
4659   64  18 Ket          End
  67  28 Ket  
  70  66 Ket  
  73  73 Ket  
  76     End  
4660  ------------------------------------------------------------------  ------------------------------------------------------------------
4661  Capturing subpattern count = 2  Capturing subpattern count = 2
4662  No options  No options
4663  No first char  No first char
4664  No need char  No need char
4665    
4666  /[ab]{1}+/D  /[ab]{1}+/DZ
4667  ------------------------------------------------------------------  ------------------------------------------------------------------
4668    0  47 Bra 0          Bra
4669    3  41 Once          Once
4670    6     [ab]{1,1}          [ab]{1,1}
4671   44  41 Ket          Ket
4672   47  47 Ket          Ket
4673   50     End          End
4674  ------------------------------------------------------------------  ------------------------------------------------------------------
4675  Capturing subpattern count = 0  Capturing subpattern count = 0
4676  No options  No options
# Line 4737  No need char Line 4679  No need char
4679    
4680  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4681  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4682  Options: caseless  Options: caseless
4683  No first char  No first char
4684  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4747  Need char = 'g' (caseless) Line 4688  Need char = 'g' (caseless)
4688    
4689  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4690  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4691  Options: caseless  Options: caseless
4692  No first char  No first char
4693  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4694  Study returned NULL  Subject length lower bound = 8
4695    No set of starting bytes
4696       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4697   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4698   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4699    
4700  /a*.*b/ISD  /a*.*b/ISDZ
4701  ------------------------------------------------------------------  ------------------------------------------------------------------
4702    0   9 Bra 0          Bra
4703    3     a*          a*
4704    5     Any*          Any*
4705    7     b          b
4706    9   9 Ket          Ket
4707   12     End          End
4708  ------------------------------------------------------------------  ------------------------------------------------------------------
4709  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4710  No options  No options
4711  No first char  No first char
4712  Need char = 'b'  Need char = 'b'
4713  Study returned NULL  Subject length lower bound = 1
4714    No set of starting bytes
4715    
4716  /(a|b)*.?c/ISD  /(a|b)*.?c/ISDZ
4717  ------------------------------------------------------------------  ------------------------------------------------------------------
4718    0  23 Bra 0          Bra
4719    3     Brazero          Brazero
4720    4   7 Bra 1          CBra 1
4721    9     a          a
4722   11   5 Alt          Alt
4723   14     b          b
4724   16  12 KetRmax          KetRmax
4725   19     Any?          Any?
4726   21     c          c
4727   23  23 Ket          Ket
4728   26     End          End
4729  ------------------------------------------------------------------  ------------------------------------------------------------------
4730  Capturing subpattern count = 1  Capturing subpattern count = 1
4731  No options  No options
4732  No first char  No first char
4733  Need char = 'c'  Need char = 'c'
4734  Study returned NULL  Subject length lower bound = 1
4735    No set of starting bytes
4736    
4737  /abc(?C255)de(?C)f/D  /abc(?C255)de(?C)f/DZ
4738  ------------------------------------------------------------------  ------------------------------------------------------------------
4739    0  27 Bra 0          Bra
4740    3     abc          abc
4741    9     Callout 255 10 1          Callout 255 10 1
4742   15     de          de
4743   19     Callout 0 16 1          Callout 0 16 1
4744   25     f          f
4745   27  27 Ket          Ket
4746   30     End          End
4747  ------------------------------------------------------------------  ------------------------------------------------------------------
4748  Capturing subpattern count = 0  Capturing subpattern count = 0
4749  No options  No options
4750  First char = 'a'  First char = 'a'
4751  Need char = 'f'  Need char = 'f'
4752    
4753  /abcde/ICD  /abcde/ICDZ
4754  ------------------------------------------------------------------  ------------------------------------------------------------------
4755    0  49 Bra 0          Bra
4756    3     Callout 255 0 1          Callout 255 0 1
4757    9     a          a
4758   11     Callout 255 1 1          Callout 255 1 1
4759   17     b          b
4760   19     Callout 255 2 1          Callout 255 2 1
4761   25     c          c
4762   27     Callout 255 3 1          Callout 255 3 1
4763   33     d          d
4764   35     Callout 255 4 1          Callout 255 4 1
4765   41     e          e
4766   43     Callout 255 5 0          Callout 255 5 0
4767   49  49 Ket          Ket
4768   52     End          End
4769  ------------------------------------------------------------------  ------------------------------------------------------------------
4770  Capturing subpattern count = 0  Capturing subpattern count = 0
4771  Options:  Options:
# Line 4838  Need char = 'e' Line 4780  Need char = 'e'
4780   +4 ^   ^     e   +4 ^   ^     e
4781   +5 ^    ^   +5 ^    ^
4782   0: abcde   0: abcde
4783    abcdfe    abcdfe
4784  --->abcdfe  --->abcdfe
4785   +0 ^          a   +0 ^          a
4786   +1 ^^         b   +1 ^^         b
# Line 4846  Need char = 'e' Line 4788  Need char = 'e'
4788   +3 ^  ^       d   +3 ^  ^       d
4789   +4 ^   ^      e   +4 ^   ^      e
4790  No match  No match
4791    
4792  /a*b/ICD  /a*b/ICDZS
4793    ------------------------------------------------------------------
4794            Bra
4795            Callout 255 0 2
4796            a*+
4797            Callout 255 2 1
4798            b
4799            Callout 255 3 0
4800            Ket
4801            End
4802    ------------------------------------------------------------------
4803    Capturing subpattern count = 0
4804    Options:
4805    No first char
4806    Need char = 'b'
4807    Subject length lower bound = 1
4808    Starting byte set: a b
4809      ab
4810    --->ab
4811     +0 ^      a*
4812     +2 ^^     b
4813     +3 ^ ^
4814     0: ab
4815      aaaab
4816    --->aaaab
4817     +0 ^         a*
4818     +2 ^   ^     b
4819     +3 ^    ^
4820     0: aaaab
4821      aaaacb
4822    --->aaaacb
4823     +0 ^          a*
4824     +2 ^   ^      b
4825     +0  ^         a*
4826     +2  ^  ^      b
4827     +0   ^        a*
4828     +2   ^ ^      b
4829     +0    ^       a*
4830     +2    ^^      b
4831     +0      ^     a*
4832     +2      ^     b
4833     +3      ^^
4834     0: b
4835    
4836    /a*b/ICDZSS
4837  ------------------------------------------------------------------  ------------------------------------------------------------------
4838    0  25 Bra 0          Bra
4839    3     Callout 255 0 2          Callout 255 0 2
4840    9     a*+          a*+
4841   11     Callout 255 2 1          Callout 255 2 1
4842   17     b          b
4843   19     Callout 255 3 0          Callout 255 3 0
4844   25  25 Ket          Ket
4845   28     End          End
4846  ------------------------------------------------------------------  ------------------------------------------------------------------
4847  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4848  Options:  Options:
4849  No first char  No first char
4850  Need char = 'b'  Need char = 'b'
# Line 4875  Need char = 'b' Line 4860  Need char = 'b'
4860   +2 ^   ^     b   +2 ^   ^     b
4861   +3 ^    ^   +3 ^    ^
4862   0: aaaab   0: aaaab
4863    aaaacb    aaaacb
4864  --->aaaacb  --->aaaacb
4865   +0 ^          a*   +0 ^          a*
4866   +2 ^   ^      b   +2 ^   ^      b
# Line 4892  Need char = 'b' Line 4877  Need char = 'b'
4877   +3      ^^   +3      ^^
4878   0: b   0: b
4879    
4880  /a+b/ICD  /a+b/ICDZ
4881  ------------------------------------------------------------------  ------------------------------------------------------------------
4882    0  25 Bra 0          Bra
4883    3     Callout 255 0 2          Callout 255 0 2
4884    9     a++          a++
4885   11     Callout 255 2 1          Callout 255 2 1
4886   17     b          b
4887   19     Callout 255 3 0          Callout 255 3 0
4888   25  25 Ket          Ket
4889   28     End          End
4890  ------------------------------------------------------------------  ------------------------------------------------------------------
4891  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4892  Options:  Options:
4893  First char = 'a'  First char = 'a'
4894  Need char = 'b'  Need char = 'b'
# Line 4920  Need char = 'b' Line 4904  Need char = 'b'
4904   +2 ^   ^     b   +2 ^   ^     b
4905   +3 ^    ^   +3 ^    ^
4906   0: aaaab   0: aaaab
4907    aaaacb    aaaacb
4908  --->aaaacb  --->aaaacb
4909   +0 ^          a+   +0 ^          a+
4910   +2 ^   ^      b   +2 ^   ^      b
# Line 4932  Need char = 'b' Line 4916  Need char = 'b'
4916   +2    ^^      b   +2    ^^      b
4917  No match  No match
4918    
4919  /(abc|def)x/ICD  /(abc|def)x/ICDZS
4920  ------------------------------------------------------------------  ------------------------------------------------------------------
4921    0  94 Bra 0          Bra
4922    3     Callout 255 0 9          Callout 255 0 9
4923    9  35 Bra 1          CBra 1
4924   14     Callout 255 1 1          Callout 255 1 1
4925   20     a          a
4926   22     Callout 255 2 1          Callout 255 2 1
4927   28     b          b
4928   30     Callout 255 3 1          Callout 255 3 1
4929   36     c          c
4930   38     Callout 255 4 0          Callout 255 4 0
4931   44  33 Alt          Alt
4932   47     Callout 255 5 1          Callout 255 5 1
4933   53     d          d
4934   55     Callout 255 6 1          Callout 255 6 1
4935   61     e          e
4936   63     Callout 255 7 1          Callout 255 7 1
4937   69     f          f
4938   71     Callout 255 8 0          Callout 255 8 0
4939   77  68 Ket          Ket
4940   80     Callout 255 9 1          Callout 255 9 1
4941   86     x          x
4942   88     Callout 255 10 0          Callout 255 10 0
4943   94  94 Ket          Ket
4944   97     End          End
4945  ------------------------------------------------------------------  ------------------------------------------------------------------
4946  Capturing subpattern count = 1  Capturing subpattern count = 1
4947  Options:  Options:
4948  No first char  No first char
4949  Need char = 'x'  Need char = 'x'
4950    Subject length lower bound = 4
4951    Starting byte set: a d
4952    abcx    abcx
4953  --->abcx  --->abcx
4954   +0 ^        (abc|def)   +0 ^        (abc|def)
# Line 4986  Need char = 'x' Line 4972  Need char = 'x'
4972  +10 ^   ^  +10 ^   ^
4973   0: defx   0: defx
4974   1: def   1: def
4975      ** Failers
4976    No match
4977    abcdefzx    abcdefzx
4978  --->abcdefzx  --->abcdefzx
4979   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 4995  Need char = 'x' Line 4983  Need char = 'x'
4983   +4 ^  ^         |   +4 ^  ^         |
4984   +9 ^  ^         x   +9 ^  ^         x
4985   +5 ^            d   +5 ^            d
4986   +0  ^           (abc|def)   +0    ^         (abc|def)
4987   +1  ^           a   +1    ^         a
4988   +5  ^           d   +5    ^         d
4989   +0   ^          (abc|def)   +6    ^^        e
4990   +1   ^          a   +7    ^ ^       f
4991     +8    ^  ^      )
4992     +9    ^  ^      x
4993    No match
4994    
4995    /(abc|def)x/ICDZSS
4996    ------------------------------------------------------------------
4997            Bra
4998            Callout 255 0 9
4999            CBra 1
5000            Callout 255 1 1
5001            a
5002            Callout 255 2 1
5003            b
5004            Callout 255 3 1
5005            c
5006            Callout 255 4 0
5007            Alt
5008            Callout 255 5 1
5009            d
5010            Callout 255 6 1
5011            e
5012            Callout 255 7 1
5013            f
5014            Callout 255 8 0
5015            Ket
5016            Callout 255 9 1
5017            x
5018            Callout 255 10 0
5019            Ket
5020            End
5021    ------------------------------------------------------------------
5022    Capturing subpattern count = 1
5023    Options:
5024    No first char
5025    Need char = 'x'
5026      abcx
5027    --->abcx
5028     +0 ^        (abc|def)
5029     +1 ^        a
5030     +2 ^^       b
5031     +3 ^ ^      c
5032     +4 ^  ^     |
5033     +9 ^  ^     x
5034    +10 ^   ^
5035     0: abcx
5036     1: abc
5037      defx
5038    --->defx
5039     +0 ^        (abc|def)
5040     +1 ^        a
5041     +5 ^        d
5042     +6 ^^       e
5043     +7 ^ ^      f
5044     +8 ^  ^     )
5045     +9 ^  ^     x
5046    +10 ^   ^
5047     0: defx
5048     1: def
5049      ** Failers
5050    No match
5051      abcdefzx
5052    --->abcdefzx
5053     +0 ^            (abc|def)
5054     +1 ^            a
5055     +2 ^^           b
5056     +3 ^ ^          c
5057     +4 ^  ^         |
5058     +9 ^  ^         x
5059     +5 ^            d
5060     +0  ^           (abc|def)
5061     +1  ^           a
5062     +5  ^           d
5063     +0   ^          (abc|def)
5064     +1   ^          a
5065   +5   ^          d   +5   ^          d
5066   +0    ^         (abc|def)   +0    ^         (abc|def)
5067   +1    ^         a   +1    ^         a
# Line 5064  No need char Line 5126  No need char
5126  +12 ^       ^  +12 ^       ^
5127   0: abcdabcd   0: abcdabcd
5128   1: cd   1: cd
5129    abcdcdcdcdcd    abcdcdcdcdcd
5130  --->abcdcdcdcdcd  --->abcdcdcdcdcd
5131   +0 ^                (ab|cd){3,4}   +0 ^                (ab|cd){3,4}
5132   +1 ^                a   +1 ^                a
# Line 5086  No need char Line 5148  No need char
5148   0: abcdcdcd   0: abcdcdcd
5149   1: cd   1: cd
5150    
5151  /([ab]{,4}c|xy)/ICD  /([ab]{,4}c|xy)/ICDZS
5152    ------------------------------------------------------------------
5153            Bra
5154            Callout 255 0 14
5155            CBra 1
5156            Callout 255 1 4
5157            [ab]
5158            Callout 255 5 1
5159            {
5160            Callout 255 6 1
5161            ,
5162            Callout 255 7 1
5163            4
5164            Callout 255 8 1
5165            }
5166            Callout 255 9 1
5167            c
5168            Callout 255 10 0
5169            Alt
5170            Callout 255 11 1
5171            x
5172            Callout 255 12 1
5173            y
5174            Callout 255 13 0
5175            Ket
5176            Callout 255 14 0
5177            Ket
5178            End
5179    ------------------------------------------------------------------
5180    Capturing subpattern count = 1
5181    Options:
5182    No first char
5183    No need char
5184    Subject length lower bound = 2
5185    Starting byte set: a b x
5186        Note: that { does NOT introduce a quantifier
5187    --->Note: that { does NOT introduce a quantifier
5188     +0         ^                                        ([ab]{,4}c|xy)
5189     +1         ^                                        [ab]
5190     +5         ^^                                       {
5191    +11         ^                                        x
5192     +0                                 ^                ([ab]{,4}c|xy)
5193     +1                                 ^                [ab]
5194     +5                                 ^^               {
5195    +11                                 ^                x
5196     +0                                     ^            ([ab]{,4}c|xy)
5197     +1                                     ^            [ab]
5198     +5                                     ^^           {
5199    +11                                     ^            x
5200    No match
5201    
5202    /([ab]{,4}c|xy)/ICDZSS
5203  ------------------------------------------------------------------  ------------------------------------------------------------------
5204    0 133 Bra 0          Bra
5205    3     Callout 255 0 14          Callout 255 0 14
5206    9  90 Bra 1          CBra 1
5207   14     Callout 255 1 4          Callout 255 1 4
5208   20     [ab]          [ab]
5209   53     Callout 255 5 1          Callout 255 5 1
5210   59     {          {
5211   61     Callout 255 6 1          Callout 255 6 1
5212   67     ,          ,
5213   69     Callout 255 7 1          Callout 255 7 1
5214   75     4          4
5215   77     Callout 255 8 1          Callout 255 8 1
5216   83     }          }
5217   85     Callout 255 9 1          Callout 255 9 1
5218   91     c          c
5219   93     Callout 255 10 0          Callout 255 10 0
5220   99  25 Alt          Alt
5221  102     Callout 255 11 1          Callout 255 11 1
5222  108     x          x
5223  110     Callout 255 12 1          Callout 255 12 1
5224  116     y          y
5225  118     Callout 255 13 0          Callout 255 13 0
5226  124 115 Ket          Ket
5227  127     Callout 255 14 0          Callout 255 14 0
5228  133 133 Ket          Ket
5229  136     End          End
5230  ------------------------------------------------------------------  ------------------------------------------------------------------
5231  Capturing subpattern count = 1  Capturing subpattern count = 1
5232  Options:  Options:
# Line 5261  No need char Line 5374  No need char
5374  +11                                             ^    x  +11                                             ^    x
5375  No match  No match
5376    
5377  /([ab]{1,4}c|xy){4,5}?123/ICD  /([ab]{1,4}c|xy){4,5}?123/ICDZ
5378  ------------------------------------------------------------------  ------------------------------------------------------------------
5379    0 495 Bra 0          Bra
5380    3     Callout 255 0 21          Callout 255 0 21
5381    9  63 Bra 1          CBra 1
5382   14     Callout 255 1 9          Callout 255 1 9
5383   20     [ab]{1,4}          [ab]{1,4}
5384   58     Callout 255 10 1          Callout 255 10 1
5385   64     c          c
5386   66     Callout 255 11 0          Callout 255 11 0
5387   72  25 Alt          Alt
5388   75     Callout 255 12 1          Callout 255 12 1
5389   81     x          x
5390   83     Callout 255 13 1          Callout 255 13 1
5391   89     y          y
5392   91     Callout 255 14 0          Callout 255 14 0
5393   97  88 Ket          Ket
5394  100  63 Bra 1          CBra 1
5395  105     Callout 255 1 9          Callout 255 1 9
5396  111     [ab]{1,4}          [ab]{1,4}
5397  149     Callout 255 10 1          Callout 255 10 1
5398  155     c          c
5399  157     Callout 255 11 0          Callout 255 11 0
5400  163  25 Alt          Alt
5401  166     Callout 255 12 1          Callout 255 12 1
5402  172     x          x
5403  174     Callout 255 13 1          Callout 255 13 1
5404  180     y          y
5405  182     Callout 255 14 0          Callout 255 14 0
5406  188  88 Ket          Ket
5407  191  63 Bra 1          CBra 1
5408  196     Callout 255 1 9          Callout 255 1 9
5409  202     [ab]{1,4}          [ab]{1,4}
5410  240     Callout 255 10 1          Callout 255 10 1
5411  246     c          c
5412  248     Callout 255 11 0          Callout 255 11 0
5413  254  25 Alt          Alt
5414  257     Callout 255 12 1          Callout 255 12 1
5415  263     x          x
5416  265     Callout 255 13 1          Callout 255 13 1
5417  271     y          y
5418  273     Callout 255 14 0          Callout 255 14 0
5419  279  88 Ket          Ket
5420  282  63 Bra 1          CBra 1
5421  287     Callout 255 1 9          Callout 255 1 9
5422  293     [ab]{1,4}          [ab]{1,4}
5423  331     Callout 255 10 1          Callout 255 10 1
5424  337     c          c
5425  339     Callout 255 11 0          Callout 255 11 0
5426  345  25 Alt          Alt
5427  348     Callout 255 12 1          Callout 255 12 1
5428  354     x          x
5429  356     Callout 255 13 1          Callout 255 13 1
5430  362     y          y
5431  364     Callout 255 14 0          Callout 255 14 0
5432  370  88 Ket          Ket
5433  373     Braminzero          Braminzero
5434  374  63 Bra 1          CBra 1
5435  379     Callout 255 1 9          Callout 255 1 9
5436  385     [ab]{1,4}          [ab]{1,4}
5437  423     Callout 255 10 1          Callout 255 10 1
5438  429     c          c
5439  431     Callout 255 11 0          Callout 255 11 0
5440  437  25 Alt          Alt
5441  440     Callout 255 12 1          Callout 255 12 1
5442  446     x          x
5443  448     Callout 255 13 1          Callout 255 13 1
5444  454     y   &n