/[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 96 by nigel, Fri Mar 2 13:10:43 2007 UTC revision 621 by ph10, Mon Jul 18 10:14:09 2011 UTC
# Line 1  Line 1 
1    /-- This set of tests is not Perl-compatible. It checks on special features
2        of PCRE's API, error diagnostics, and the compiled code of some patterns.
3        It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4        Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5        either because PCRE can't be compatible, or there is a possible Perl
6        bug. --/
7    
8    /-- Originally, the Perl >= 5.10 things were in here too, but now I have
9        separated many (most?) of them out into test 11. However, there may still
10        be some that were overlooked. --/
11    
12  /(a)b|/I  /(a)b|/I
13  Capturing subpattern count = 1  Capturing subpattern count = 1
14  No options  No options
# Line 40  No match Line 51  No match
51    
52  /a+bc/I  /a+bc/I
53  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
54  No options  No options
55  First char = 'a'  First char = 'a'
56  Need char = 'c'  Need char = 'c'
57    
58  /a*bc/I  /a*bc/I
59  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
60  No options  No options
61  No first char  No first char
62  Need char = 'c'  Need char = 'c'
63    
64  /a{3}bc/I  /a{3}bc/I
65  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
66  No options  No options
67  First char = 'a'  First char = 'a'
68  Need char = 'c'  Need char = 'c'
69    
70  /(abc|a+z)/I  /(abc|a+z)/I
71  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
72  No options  No options
73  First char = 'a'  First char = 'a'
74  No need char  No need char
# Line 78  No match Line 85  No match
85      def\nabc      def\nabc
86  No match  No match
87    
88  /ab\hdef/X  /ab\idef/X
89  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
90    
91  /(?X)ab\hdef/X  /(?X)ab\idef/X
92  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
93    
94  /x{5,4}/  /x{5,4}/
# Line 96  Failed: missing terminating ] for charac Line 103  Failed: missing terminating ] for charac
103  /(?X)[\B]/  /(?X)[\B]/
104  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
105    
106    /(?X)[\R]/
107    Failed: invalid escape sequence in character class at offset 6
108    
109    /(?X)[\X]/
110    Failed: invalid escape sequence in character class at offset 6
111    
112    /[\B]/BZ
113    ------------------------------------------------------------------
114            Bra
115            B
116            Ket
117            End
118    ------------------------------------------------------------------
119    
120    /[\R]/BZ
121    ------------------------------------------------------------------
122            Bra
123            R
124            Ket
125            End
126    ------------------------------------------------------------------
127    
128    /[\X]/BZ
129    ------------------------------------------------------------------
130            Bra
131            X
132            Ket
133            End
134    ------------------------------------------------------------------
135    
136  /[z-a]/  /[z-a]/
137  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
138    
# Line 109  Failed: missing ) at offset 4 Line 146  Failed: missing ) at offset 4
146  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
147    
148  /(?z)abc/  /(?z)abc/
149  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
150    
151  /.*b/I  /.*b/I
152  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
153  No options  No options
154  First char at start or follows newline  First char at start or follows newline
155  Need char = 'b'  Need char = 'b'
156    
157  /.*?b/I  /.*?b/I
158  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
159  No options  No options
160  First char at start or follows newline  First char at start or follows newline
161  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 175  Capturing subpattern count = 0
175  No options  No options
176  No first char  No first char
177  No need char  No need char
178    Subject length lower bound = 3
179  Starting byte set: c d e  Starting byte set: c d e
180      this sentence eventually mentions a cat      this sentence eventually mentions a cat
181   0: cat   0: cat
# Line 151  Capturing subpattern count = 0 Line 187  Capturing subpattern count = 0
187  Options: caseless  Options: caseless
188  No first char  No first char
189  No need char  No need char
190    Subject length lower bound = 3
191  Starting byte set: C D E c d e  Starting byte set: C D E c d e
192      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
193   0: CAT   0: CAT
# Line 162  Capturing subpattern count = 0 Line 199  Capturing subpattern count = 0
199  No options  No options
200  No first char  No first char
201  No need char  No need char
202    Subject length lower bound = 1
203  Starting byte set: a b c d  Starting byte set: a b c d
204    
205  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 169  Capturing subpattern count = 1 Line 207  Capturing subpattern count = 1
207  No options  No options
208  No first char  No first char
209  No need char  No need char
210    Subject length lower bound = 1
211  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
212    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
213    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 189  Capturing subpattern count = 1 Line 228  Capturing subpattern count = 1
228  No options  No options
229  No first char  No first char
230  No need char  No need char
231    Subject length lower bound = 1
232  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
233    
234  /(ab\2)/  /(ab\2)/
# Line 222  Matched, but too many substrings Line 262  Matched, but too many substrings
262   0: abcb   0: abcb
263   1: a   1: a
264   2: b   2: b
265      \O12abcb      \O12abcb
266   0: abcb   0: abcb
267   1: a   1: a
268   2: b   2: b
# Line 310  No match Line 350  No match
350  No match  No match
351    
352  /ab(?z)cd/  /ab(?z)cd/
353  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
354    
355  /^abc|def/I  /^abc|def/I
356  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 324  No need char Line 364  No need char
364    
365  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
366  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
367  No options  No options
368  First char at start or follows newline  First char at start or follows newline
369  No need char  No need char
# Line 338  No need char Line 377  No need char
377   2: <unset>   2: <unset>
378   3: def   3: def
379    
380  /abc/IP  /abc/P
381      abc      abc
382   0: abc   0: abc
383      *** Failers      *** Failers
384  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
385    
386  /^abc|def/IP  /^abc|def/P
387      abcdef      abcdef
388   0: abc   0: abc
389      abcdef\B      abcdef\B
390   0: def   0: def
391    
392  /.*((abc)$|(def))/IP  /.*((abc)$|(def))/P
393      defabc      defabc
394   0: defabc   0: defabc
395   1: abc   1: abc
# Line 359  No match: POSIX code 17: match failed Line 398  No match: POSIX code 17: match failed
398   0: def   0: def
399   1: def   1: def
400   3: def   3: def
401    
402  /the quick brown fox/IP  /the quick brown fox/P
403      the quick brown fox      the quick brown fox
404   0: the quick brown fox   0: the quick brown fox
405      *** Failers      *** Failers
406  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
407      The Quick Brown Fox      The Quick Brown Fox
408  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
409    
410  /the quick brown fox/IPi  /the quick brown fox/Pi
411      the quick brown fox      the quick brown fox
412   0: the quick brown fox   0: the quick brown fox
413      The Quick Brown Fox      The Quick Brown Fox
414   0: The Quick Brown Fox   0: The Quick Brown Fox
415    
416  /abc.def/IP  /abc.def/P
417      *** Failers      *** Failers
418  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
419      abc\ndef      abc\ndef
420  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
421    
422  /abc$/IP  /abc$/P
423      abc      abc
424   0: abc   0: abc
425      abc\n      abc\n
426   0: abc   0: abc
427    
428  /(abc)\2/IP  /(abc)\2/P
429  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
430    
431  /(abc\1)/IP  /(abc\1)/P
432      abc      abc
433  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
434    
# Line 401  Failed: missing terminating ] for charac Line 440  Failed: missing terminating ] for charac
440    
441  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
442  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
443  No options  No options
444  No first char  No first char
445  No need char  No need char
446      co-processors, and for      co-processors, and for
447   0: -pr   0: -pr
448    
449  /<.*>/I  /<.*>/I
450  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
451  No options  No options
452  First char = '<'  First char = '<'
453  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 456  Need char = '>'
456    
457  /<.*?>/I  /<.*?>/I
458  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
459  No options  No options
460  First char = '<'  First char = '<'
461  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 464  Need char = '>'
464    
465  /<.*>/IU  /<.*>/IU
466  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
467  Options: ungreedy  Options: ungreedy
468  First char = '<'  First char = '<'
469  Need char = '>'  Need char = '>'
470      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
471   0: <def>   0: <def>
472    
473  /(?U)<.*>/I  /(?U)<.*>/I
474  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
475  Options: ungreedy  Options: ungreedy
476  First char = '<'  First char = '<'
477  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 480  Need char = '>'
480    
481  /<.*?>/IU  /<.*?>/IU
482  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
483  Options: ungreedy  Options: ungreedy
484  First char = '<'  First char = '<'
485  Need char = '>'  Need char = '>'
486      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
487   0: <def>ghi<klm>   0: <def>ghi<klm>
488    
489  /={3,}/IU  /={3,}/IU
490  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
491  Options: ungreedy  Options: ungreedy
492  First char = '='  First char = '='
493  Need char = '='  Need char = '='
494      abc========def      abc========def
495   0: ===   0: ===
496    
497  /(?U)={3,}?/I  /(?U)={3,}?/I
498  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
499  Options: ungreedy  Options: ungreedy
500  First char = '='  First char = '='
501  Need char = '='  Need char = '='
502      abc========def      abc========def
503   0: ========   0: ========
504    
505  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
506  Capturing subpattern count = 0  Capturing subpattern count = 0
507  No options  No options
# Line 478  First char = 'f' Line 509  First char = 'f'
509  Need char = 'o'  Need char = 'o'
510      foo      foo
511   0: foo   0: foo
512      catfoo      catfoo
513   0: foo   0: foo
514      *** Failers      *** Failers
515  No match  No match
516      the barfoo      the barfoo
517  No match  No match
518      and cattlefoo      and cattlefoo
519  No match  No match
520    
521  /(?<=a+)b/  /(?<=a+)b/
# Line 522  No need char Line 553  No need char
553    
554  /(?s).*/I  /(?s).*/I
555  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
556  Options: anchored dotall  Options: anchored dotall
557  No first char  No first char
558  No need char  No need char
# Line 532  Capturing subpattern count = 0 Line 562  Capturing subpattern count = 0
562  No options  No options
563  No first char  No first char
564  No need char  No need char
565    Subject length lower bound = 1
566  Starting byte set: a b c d  Starting byte set: a b c d
567    
568  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 539  Capturing subpattern count = 0 Line 570  Capturing subpattern count = 0
570  Options: caseless  Options: caseless
571  No first char  No first char
572  No need char  No need char
573    Subject length lower bound = 1
574  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
575    
576  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 546  Capturing subpattern count = 1 Line 578  Capturing subpattern count = 1
578  Options: multiline  Options: multiline
579  No first char  No first char
580  No need char  No need char
581    Subject length lower bound = 1
582  Starting byte set: b c x y  Starting byte set: b c x y
583    
584  /(^a|^b)/Im  /(^a|^b)/Im
# Line 584  Failed: syntax error in subpattern name Line 617  Failed: syntax error in subpattern name
617  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
618  Capturing subpattern count = 1  Capturing subpattern count = 1
619  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
620  No options  No options
621  First char = 'b'  First char = 'b'
622  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 624  Need char = 'h'
624  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
625  Capturing subpattern count = 1  Capturing subpattern count = 1
626  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
627  No options  No options
628  First char = 'b' (caseless)  First char = 'b' (caseless)
629  Need char = 'h' (caseless)  Need char = 'h' (caseless)
630    
631  /((?i)b)/IDS  /((?i)b)/IDZS
632  ------------------------------------------------------------------  ------------------------------------------------------------------
633    0  17 Bra 0          Bra
634    3   9 Bra 1          CBra 1
635    8  01 Opt       /i b
636   10  NC b          Ket
637   12   9 Ket          Ket
638   15  00 Opt          End
  17  17 Ket  
  20     End  
639  ------------------------------------------------------------------  ------------------------------------------------------------------
640  Capturing subpattern count = 1  Capturing subpattern count = 1
641  No options  No options
642  First char = 'b' (caseless)  First char = 'b' (caseless)
643  No need char  No need char
644  Study returned NULL  Subject length lower bound = 1
645    No set of starting bytes
646    
647  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
648  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
649  No options  No options
650  No first char  No first char
651  No need char  No need char
652    Subject length lower bound = 1
653  Starting byte set: C a b c d  Starting byte set: C a b c d
654    
655  /a$/I  /a$/I
# Line 631  No need char Line 661  No need char
661   0: a   0: a
662      a\n      a\n
663   0: a   0: a
664      *** Failers      *** Failers
665  No match  No match
666      \Za      \Za
667  No match  No match
668      \Za\n      \Za\n
669  No match  No match
670    
671  /a$/Im  /a$/Im
# Line 647  No need char Line 677  No need char
677   0: a   0: a
678      a\n      a\n
679   0: a   0: a
680      \Za\n      \Za\n
681   0: a   0: a
682      *** Failers      *** Failers
683  No match  No match
684      \Za      \Za
685  No match  No match
686    
687  /\Aabc/Im  /\Aabc/Im
688  Capturing subpattern count = 0  Capturing subpattern count = 0
689  Options: anchored multiline  Options: anchored multiline
690  No first char  No first char
691  No need char  No need char
692    
693  /^abc/Im  /^abc/Im
694  Capturing subpattern count = 0  Capturing subpattern count = 0
695  Options: multiline  Options: multiline
696  First char at start or follows newline  First char at start or follows newline
# Line 668  Need char = 'c' Line 698  Need char = 'c'
698    
699  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
700  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
701  Options: anchored  Options: anchored
702  No first char  No first char
703  No need char  No need char
# Line 685  Capturing subpattern count = 0 Line 714  Capturing subpattern count = 0
714  No options  No options
715  No first char  No first char
716  No need char  No need char
717    Subject length lower bound = 1
718  Starting byte set: a b  Starting byte set: a b
719    
720  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 692  Capturing subpattern count = 1 Line 722  Capturing subpattern count = 1
722  No options  No options
723  No first char  No first char
724  Need char = 'a'  Need char = 'a'
725    Subject length lower bound = 5
726  Starting byte set: a o  Starting byte set: a o
727    
728  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 699  Capturing subpattern count = 0 Line 730  Capturing subpattern count = 0
730  No options  No options
731  No first char  No first char
732  No need char  No need char
733    Subject length lower bound = 1
734  Starting byte set: a b  Starting byte set: a b
735    
736  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
737  Capturing subpattern count = 0  Capturing subpattern count = 0
738    Contains explicit CR or LF match
739  Options: multiline  Options: multiline
740  No first char  No first char
741  Need char = 'r'  Need char = 'r'
742      foo\nbarbar      foo\nbarbar
743   0: bar   0: bar
744      ***Failers      ***Failers
745  No match  No match
746      rhubarb      rhubarb
747  No match  No match
748      barbell      barbell
749  No match  No match
750      abc\nbarton      abc\nbarton
751  No match  No match
752    
753  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
754  Capturing subpattern count = 0  Capturing subpattern count = 0
755    Contains explicit CR or LF match
756  Options: multiline  Options: multiline
757  First char at start or follows newline  First char at start or follows newline
758  Need char = 'r'  Need char = 'r'
759      foo\nbarbar      foo\nbarbar
760   0: bar   0: bar
761      ***Failers      ***Failers
762  No match  No match
763      rhubarb      rhubarb
764  No match  No match
765      barbell      barbell
766  No match  No match
767      abc\nbarton      abc\nbarton
768  No match  No match
769    
770  /(?>^abc)/Im  /(?>^abc)/Im
# Line 744  Need char = 'c' Line 778  Need char = 'c'
778   0: abc   0: abc
779      *** Failers      *** Failers
780  No match  No match
781      defabc      defabc
782  No match  No match
783    
784  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 771  Need char = 't' Line 805  Need char = 't'
805  No match  No match
806      cart      cart
807  No match  No match
808      horse-and-cart      horse-and-cart
809  No match  No match
810    
811  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
812  Capturing subpattern count = 0  Capturing subpattern count = 0
813  No options  No options
# Line 782  No need char Line 816  No need char
816    
817  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
818  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
819  No options  No options
820  First char at start or follows newline  First char at start or follows newline
821  No need char  No need char
# Line 809  Need char = 'Z' Line 842  Need char = 'Z'
842   0: ZZ   0: ZZ
843      bZZ      bZZ
844   0: ZZ   0: ZZ
845      BZZ      BZZ
846   0: ZZ   0: ZZ
847      *** Failers      *** Failers
848  No match  No match
849      ZZ      ZZ
850  No match  No match
851      abXYZZ      abXYZZ
852  No match  No match
853      zzz      zzz
854  No match  No match
855      bzz      bzz
856  No match  No match
857    
858  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
# Line 829  First char = 'b' Line 862  First char = 'b'
862  Need char = 'r'  Need char = 'r'
863      bar      bar
864   0: bar   0: bar
865      foobbar      foobbar
866   0: bar   0: bar
867      *** Failers      *** Failers
868  No match  No match
869      fooabar      fooabar
870  No match  No match
871    
872  /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 882  No first char
882  No need char  No need char
883      *** Failers      *** Failers
884  No match  No match
885      a      a
886  No match  No match
887    
888  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I  /This one is here because Perl behaves differently; see also the following/I
889  Capturing subpattern count = 0  Capturing subpattern count = 0
890  No options  No options
891  First char = 'T'  First char = 'T'
# Line 864  Max back reference = 1 Line 897  Max back reference = 1
897  Options: anchored  Options: anchored
898  No first char  No first char
899  No need char  No need char
900        aaaa
901    No match
902      aaaaaa      aaaaaa
903   0: aaaaaa  No match
  1: aa  
904    
905    /Perl does not fail these two for the final subjects. Neither did PCRE until/
906    /release 8.01. The problem is in backtracking into a subpattern that contains/
907    No match
908    /a recursive reference to itself. PCRE has now made these into atomic patterns./
909    No match
910    
911    /^(xa|=?\1a){2}$/
912        xa=xaa
913     0: xa=xaa
914     1: =xaa
915        ** Failers
916    No match
917        xa=xaaa
918    No match
919    
920    /^(xa|=?\1a)+$/
921        xa=xaa
922     0: xa=xaa
923     1: =xaa
924        ** Failers
925    No match
926        xa=xaaa
927    No match
928    
929  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
930  Capturing subpattern count = 0  Capturing subpattern count = 0
931  No options  No options
# Line 944  Failed: missing ) at offset 4 Line 1002  Failed: missing ) at offset 4
1002  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
1003    
1004  /a(?{)b/  /a(?{)b/
1005  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1006    
1007  /a(?{{})b/  /a(?{{})b/
1008  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1009    
1010  /a(?{}})b/  /a(?{}})b/
1011  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1012    
1013  /a(?{"{"})b/  /a(?{"{"})b/
1014  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1015    
1016  /a(?{"{"}})b/  /a(?{"{"}})b/
1017  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
1018    
1019  /(?(1?)a|b)/  /(?(1?)a|b)/
1020  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
1021    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
1022  /[a[:xyz:/  /[a[:xyz:/
1023  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
1024    
# Line 1001  Need char = 'd' Line 1056  Need char = 'd'
1056   1: a   1: a
1057   2: d   2: d
1058  copy substring 5 failed -7  copy substring 5 failed -7
1059    
1060  /(.{20})/I  /(.{20})/I
1061  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1062  No options  No options
1063  No first char  No first char
1064  No need char  No need char
# Line 1019  No need char Line 1073  No need char
1073   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1074   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1075   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1076    
1077  /(.{15})/I  /(.{15})/I
1078  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1079  No options  No options
1080  No first char  No first char
1081  No need char  No need char
# Line 1037  No need char Line 1090  No need char
1090    
1091  /(.{16})/I  /(.{16})/I
1092  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1093  No options  No options
1094  No first char  No first char
1095  No need char  No need char
# Line 1051  No need char Line 1103  No need char
1103   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1104   0L abcdefghijklmnop   0L abcdefghijklmnop
1105   1L abcdefghijklmnop   1L abcdefghijklmnop
1106    
1107  /^(a|(bc))de(f)/I  /^(a|(bc))de(f)/I
1108  Capturing subpattern count = 3  Capturing subpattern count = 3
1109  Options: anchored  Options: anchored
1110  No first char  No first char
1111  No need char  No need char
1112      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1113   0: adef   0: adef
1114   1: a   1: a
1115   2: <unset>   2: <unset>
# Line 1070  get substring 4 failed -7 Line 1122  get substring 4 failed -7
1122   1L a   1L a
1123   2L   2L
1124   3L f   3L f
1125      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1126   0: bcdef   0: bcdef
1127   1: bc   1: bc
1128   2: bc   2: bc
# Line 1083  get substring 4 failed -7 Line 1135  get substring 4 failed -7
1135   1L bc   1L bc
1136   2L bc   2L bc
1137   3L f   3L f
1138      adefghijk\C0      adefghijk\C0
1139   0: adef   0: adef
1140   1: a   1: a
1141   2: <unset>   2: <unset>
1142   3: f   3: f
1143   0C adef (4)   0C adef (4)
1144    
1145  /^abc\00def/I  /^abc\00def/I
1146  Capturing subpattern count = 0  Capturing subpattern count = 0
1147  Options: anchored  Options: anchored
1148  No first char  No first char
1149  No need char  No need char
1150      abc\00def\L\C0      abc\00def\L\C0
1151   0: abc\x00def   0: abc\x00def
1152   0C abc (7)   0C abc (7)
1153   0L abc   0L abc
1154    
1155  /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]+
1156  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1157  )?)?)?)?)?)?)?)?)?otherword/IM  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 448  
1158  Capturing subpattern count = 8  Capturing subpattern count = 8
1159  Partial matching not supported  Contains explicit CR or LF match
1160  No options  No options
1161  First char = 'w'  First char = 'w'
1162  Need char = 'd'  Need char = 'd'
1163    
1164  /.*X/ID  /.*X/IDZ
1165  ------------------------------------------------------------------  ------------------------------------------------------------------
1166    0   7 Bra 0          Bra
1167    3     Any*          Any*
1168    5     X          X
1169    7   7 Ket          Ket
1170   10     End          End
1171  ------------------------------------------------------------------  ------------------------------------------------------------------
1172  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1173  No options  No options
1174  First char at start or follows newline  First char at start or follows newline
1175  Need char = 'X'  Need char = 'X'
1176    
1177  /.*X/IDs  /.*X/IDZs
1178  ------------------------------------------------------------------  ------------------------------------------------------------------
1179    0   7 Bra 0          Bra
1180    3     Any*          AllAny*
1181    5     X          X
1182    7   7 Ket          Ket
1183   10     End          End
1184  ------------------------------------------------------------------  ------------------------------------------------------------------
1185  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1186  Options: anchored dotall  Options: anchored dotall
1187  No first char  No first char
1188  Need char = 'X'  Need char = 'X'
1189    
1190  /(.*X|^B)/ID  /(.*X|^B)/IDZ
1191  ------------------------------------------------------------------  ------------------------------------------------------------------
1192    0  21 Bra 0          Bra
1193    3   9 Bra 1          CBra 1
1194    8     Any*          Any*
1195   10     X          X
1196   12   6 Alt          Alt
1197   15     ^          ^
1198   16     B          B
1199   18  15 Ket          Ket
1200   21  21 Ket          Ket
1201   24     End          End
1202  ------------------------------------------------------------------  ------------------------------------------------------------------
1203  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1204  No options  No options
1205  First char at start or follows newline  First char at start or follows newline
1206  No need char  No need char
1207    
1208  /(.*X|^B)/IDs  /(.*X|^B)/IDZs
1209  ------------------------------------------------------------------  ------------------------------------------------------------------
1210    0  21 Bra 0          Bra
1211    3   9 Bra 1          CBra 1
1212    8     Any*          AllAny*
1213   10     X          X
1214   12   6 Alt          Alt
1215   15     ^          ^
1216   16     B          B
1217   18  15 Ket          Ket
1218   21  21 Ket          Ket
1219   24     End          End
1220  ------------------------------------------------------------------  ------------------------------------------------------------------
1221  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1222  Options: anchored dotall  Options: anchored dotall
1223  No first char  No first char
1224  No need char  No need char
1225    
1226  /(?s)(.*X|^B)/ID  /(?s)(.*X|^B)/IDZ
1227  ------------------------------------------------------------------  ------------------------------------------------------------------
1228    0  21 Bra 0          Bra
1229    3   9 Bra 1          CBra 1
1230    8     Any*          AllAny*
1231   10     X          X
1232   12   6 Alt          Alt
1233   15     ^          ^
1234   16     B          B
1235   18  15 Ket          Ket
1236   21  21 Ket          Ket
1237   24     End          End
1238  ------------------------------------------------------------------  ------------------------------------------------------------------
1239  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1240  Options: anchored dotall  Options: anchored dotall
1241  No first char  No first char
1242  No need char  No need char
1243    
1244  /(?s:.*X|^B)/ID  /(?s:.*X|^B)/IDZ
1245  ------------------------------------------------------------------  ------------------------------------------------------------------
1246    0  25 Bra 0          Bra
1247    3   9 Bra 0          Bra
1248    6  04 Opt          AllAny*
1249    8     Any*          X
1250   10     X          Alt
1251   12   8 Alt          ^
1252   15  04 Opt          B
1253   17     ^          Ket
1254   18     B          Ket
1255   20  17 Ket          End
  23  00 Opt  
  25  25 Ket  
  28     End  
1256  ------------------------------------------------------------------  ------------------------------------------------------------------
1257  Capturing subpattern count = 0  Capturing subpattern count = 0
1258  Partial matching not supported  Options: anchored
1259  No options  No first char
 First char at start or follows newline  
1260  No need char  No need char
1261    
1262  /\Biss\B/I+  /\Biss\B/I+
# Line 1294  No need char Line 1336  No need char
1336      ississippi      ississippi
1337   0: iss   0: iss
1338   0+ issippi   0+ issippi
1339    
1340  /.*iss/Ig+  /.*iss/Ig+
1341  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1342  No options  No options
1343  First char at start or follows newline  First char at start or follows newline
1344  Need char = 's'  Need char = 's'
1345      abciss\nxyzisspqr      abciss\nxyzisspqr
1346   0: abciss   0: abciss
1347   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1348   0: xyziss   0: xyziss
# Line 1333  Need char = 'i' Line 1374  Need char = 'i'
1374   0+ river   0+ river
1375   0: riv   0: riv
1376   0+ er   0+ er
1377      Missouri river\A      Missouri river\A
1378   0: Mis   0: Mis
1379   0+ souri river   0+ souri river
1380    
# Line 1348  No need char Line 1389  No need char
1389    
1390  /^ab\n/Ig+  /^ab\n/Ig+
1391  Capturing subpattern count = 0  Capturing subpattern count = 0
1392    Contains explicit CR or LF match
1393  Options: anchored  Options: anchored
1394  No first char  No first char
1395  No need char  No need char
# Line 1357  No need char Line 1399  No need char
1399    
1400  /^ab\n/Img+  /^ab\n/Img+
1401  Capturing subpattern count = 0  Capturing subpattern count = 0
1402    Contains explicit CR or LF match
1403  Options: multiline  Options: multiline
1404  First char at start or follows newline  First char at start or follows newline
1405  Need char = 10  Need char = 10
# Line 1398  Need char = 'c' Line 1441  Need char = 'c'
1441    
1442  /a*/I  /a*/I
1443  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1444  No options  No options
1445  No first char  No first char
1446  No need char  No need char
1447    
1448  /a+/I  /a+/I
1449  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1450  No options  No options
1451  First char = 'a'  First char = 'a'
1452  No need char  No need char
1453    
1454  /(baa|a+)/I  /(baa|a+)/I
1455  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1456  No options  No options
1457  No first char  No first char
1458  Need char = 'a'  Need char = 'a'
1459    
1460  /a{0,3}/I  /a{0,3}/I
1461  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1462  No options  No options
1463  No first char  No first char
1464  No need char  No need char
1465    
1466  /baa{3,}/I  /baa{3,}/I
1467  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1468  No options  No options
1469  First char = 'b'  First char = 'b'
1470  Need char = 'a'  Need char = 'a'
1471    
1472  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1473  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1474  No options  No options
1475  First char = '"'  First char = '"'
1476  Need char = '"'  Need char = '"'
# Line 1488  Need char = 'b' Line 1525  Need char = 'b'
1525    
1526  /abc*/I  /abc*/I
1527  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1528  No options  No options
1529  First char = 'a'  First char = 'a'
1530  Need char = 'b'  Need char = 'b'
1531    
1532  /ab.c*/I  /ab.c*/I
1533  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1534  No options  No options
1535  First char = 'a'  First char = 'a'
1536  Need char = 'b'  Need char = 'b'
1537    
1538  /a.c*/I  /a.c*/I
1539  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1540  No options  No options
1541  First char = 'a'  First char = 'a'
1542  No need char  No need char
1543    
1544  /.c*/I  /.c*/I
1545  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1546  No options  No options
1547  No first char  No first char
1548  No need char  No need char
1549    
1550  /ac*/I  /ac*/I
1551  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1552  No options  No options
1553  First char = 'a'  First char = 'a'
1554  No need char  No need char
1555    
1556  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1557  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1558  No options  No options
1559  No first char  No first char
1560  No need char  No need char
1561    
1562  /a.c*|aba/I  /a.c*|aba/I
1563  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1564  No options  No options
1565  First char = 'a'  First char = 'a'
1566  No need char  No need char
1567    
1568  /.+a/I  /.+a/I
1569  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1570  No options  No options
1571  No first char  No first char
1572  Need char = 'a'  Need char = 'a'
1573    
1574  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1575  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1576  No options  No options
1577  First char = 'a'  First char = 'a'
1578  Need char = 'a'  Need char = 'a'
1579    
1580  /(?=a)a.*/I  /(?=a)a.*/I
1581  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1582  No options  No options
1583  First char = 'a'  First char = 'a'
1584  No need char  No need char
# Line 1564  No need char Line 1591  No need char
1591    
1592  /a\d*/I  /a\d*/I
1593  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1594  No options  No options
1595  First char = 'a'  First char = 'a'
1596  No need char  No need char
1597    
1598  /ab\d*/I  /ab\d*/I
1599  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1600  No options  No options
1601  First char = 'a'  First char = 'a'
1602  Need char = 'b'  Need char = 'b'
# Line 1590  Need char = 'd' Line 1615  Need char = 'd'
1615    
1616  /ab\d+/I  /ab\d+/I
1617  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1618  No options  No options
1619  First char = 'a'  First char = 'a'
1620  Need char = 'b'  Need char = 'b'
1621    
1622  /a(?(1)b)/I  /a(?(1)b)(.)/I
1623  Capturing subpattern count = 0  Capturing subpattern count = 1
1624  No options  No options
1625  First char = 'a'  First char = 'a'
1626  No need char  No need char
1627    
1628  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1629  Capturing subpattern count = 0  Capturing subpattern count = 1
1630  No options  No options
1631  First char = 'a'  First char = 'a'
1632  Need char = 'g'  Need char = 'g'
1633    
1634  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1635  Capturing subpattern count = 0  Capturing subpattern count = 1
1636  No options  No options
1637  First char = 'a'  First char = 'a'
1638  No need char  No need char
1639    
1640  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1641  Capturing subpattern count = 0  Capturing subpattern count = 1
1642  No options  No options
1643  First char = 'a'  First char = 'a'
1644  Need char = 'g'  Need char = 'g'
1645    
1646  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1647  Capturing subpattern count = 0  Capturing subpattern count = 1
1648  No options  No options
1649  First char = 'a'  First char = 'a'
1650  Need char = 'b'  Need char = 'b'
# Line 1646  No need char Line 1670  No need char
1670   0:   0:
1671      *** Failers      *** Failers
1672   0:   0:
1673      \N      \N
1674  No match  No match
1675    
1676  /|-/I  /|-/I
1677  Capturing subpattern count = 0  Capturing subpattern count = 0
1678  No options  No options
# Line 1662  No need char Line 1686  No need char
1686   0: -   0: -
1687      *** Failers      *** Failers
1688   0:   0:
1689      \Nabc      \Nabc
1690  No match  No match
1691    
1692  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/P
1693      aaaabbbbzzzz      aaaabbbbzzzz
1694   0: aaaabbbbzz   0: aaaabbbbzz
1695   1: bbbb   1: bbbb
# Line 1691  No match Line 1715  No match
1715   1: bbbb   1: bbbb
1716   2: z   2: z
1717   3: z   3: z
1718    
1719  /^.?abcd/IS  /^.?abcd/IS
1720  Capturing subpattern count = 0  Capturing subpattern count = 0
1721  Options: anchored  Options: anchored
1722  No first char  No first char
1723  Need char = 'd'  Need char = 'd'
1724  Study returned NULL  Subject length lower bound = 4
1725    No set of starting bytes
1726    
1727  /\(             # ( at start  /\(             # ( at start
1728    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1708  Study returned NULL Line 1733  Study returned NULL
1733    \)            # Closing )    \)            # Closing )
1734    /Ix    /Ix
1735  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1736  Options: extended  Options: extended
1737  First char = '('  First char = '('
1738  Need char = ')'  Need char = ')'
# Line 1718  Need char = ')' Line 1742  Need char = ')'
1742   0: (abcd)   0: (abcd)
1743      xyz(abcd)      xyz(abcd)
1744   0: (abcd)   0: (abcd)
1745      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1746   0: (ab(xy)cd)   0: (ab(xy)cd)
1747      (ab(xycd)pqr      (ab(xycd)pqr
1748   0: (xycd)   0: (xycd)
1749      () abc ()      () abc ()
1750   0: ()   0: ()
1751      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1752   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1753      *** Failers      *** Failers
1754  No match  No match
1755      abcd      abcd
1756  No match  No match
1757      abcd)      abcd)
1758  No match  No match
1759      (abcd      (abcd
1760  No match  No match
1761    
1762  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1763  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1764  Options: extended  Options: extended
1765  First char = '('  First char = '('
1766  Need char = ')'  Need char = ')'
1767      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1768   0: (ab(xy)cd)   0: (ab(xy)cd)
1769   1: cd   1: cd
1770      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1752  Need char = ')' Line 1775  Need char = ')'
1775    
1776  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1777  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1778  Options: extended  Options: extended
1779  First char = '('  First char = '('
1780  Need char = ')'  Need char = ')'
# Line 1760  Need char = ')' Line 1782  Need char = ')'
1782   0: (abcd)   0: (abcd)
1783      (ab(xy)cd)      (ab(xy)cd)
1784   0: (xy)   0: (xy)
1785      (a(b(c)d)e)      (a(b(c)d)e)
1786   0: (c)   0: (c)
1787      ((ab))      ((ab))
1788   0: ((ab))   0: ((ab))
1789      *** Failers      *** Failers
1790  No match  No match
1791      ()      ()
1792  No match  No match
1793    
1794  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1795  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1796  Options: extended  Options: extended
1797  First char = '('  First char = '('
1798  Need char = ')'  Need char = ')'
# Line 1782  Need char = ')' Line 1803  Need char = ')'
1803    
1804  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1805  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1806  Options: extended  Options: extended
1807  First char = '('  First char = '('
1808  Need char = ')'  Need char = ')'
# Line 1792  Need char = ')' Line 1812  Need char = ')'
1812    
1813  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1814  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1815  Options: extended  Options: extended
1816  First char = '('  First char = '('
1817  Need char = ')'  Need char = ')'
# Line 1803  Need char = ')' Line 1822  Need char = ')'
1822    
1823  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1824  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1825  Options: extended  Options: extended
1826  First char = '('  First char = '('
1827  Need char = ')'  Need char = ')'
# Line 1820  Need char = ')' Line 1838  Need char = ')'
1838    
1839  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1840  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1841  Options: extended  Options: extended
1842  First char = '('  First char = '('
1843  Need char = ')'  Need char = ')'
# Line 1837  Need char = ')' Line 1854  Need char = ')'
1854    
1855  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1856  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1857  Options: extended  Options: extended
1858  First char = '('  First char = '('
1859  Need char = ')'  Need char = ')'
# Line 1857  Need char = ')' Line 1873  Need char = ')'
1873    
1874  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1875  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1876  Options: extended  Options: extended
1877  First char = '('  First char = '('
1878  Need char = ')'  Need char = ')'
# Line 1865  Need char = ')' Line 1880  Need char = ')'
1880   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1881   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1882   2: 123   2: 123
  3: <unset>  
1883    
1884  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1885  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1886  Options: extended  Options: extended
1887  First char = '('  First char = '('
1888  Need char = ')'  Need char = ')'
# Line 1884  Need char = ')' Line 1897  Need char = ')'
1897   2: ij   2: ij
1898   3: (cd(ef)gh)   3: (cd(ef)gh)
1899    
1900  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1901  ------------------------------------------------------------------  ------------------------------------------------------------------
1902    0  37 Bra 0          Bra
1903    3     ^          ^
1904    4     [0-9A-Za-z]          [0-9A-Za-z]
1905   37  37 Ket          Ket
1906   40     End          End
1907  ------------------------------------------------------------------  ------------------------------------------------------------------
1908  Capturing subpattern count = 0  Capturing subpattern count = 0
1909  Options: anchored  Options: anchored
1910  No first char  No first char
1911  No need char  No need char
1912    
1913  /^[[:^alnum:]]/D  /^[[:^alnum:]]/DZ
1914  ------------------------------------------------------------------  ------------------------------------------------------------------
1915    0  37 Bra 0          Bra
1916    3     ^          ^
1917    4     [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1918   37  37 Ket          Ket
1919   40     End          End
1920  ------------------------------------------------------------------  ------------------------------------------------------------------
1921  Capturing subpattern count = 0  Capturing subpattern count = 0
1922  Options: anchored  Options: anchored
1923  No first char  No first char
1924  No need char  No need char
1925    
1926  /^[[:alpha:]]/D  /^[[:alpha:]]/DZ
1927  ------------------------------------------------------------------  ------------------------------------------------------------------
1928    0  37 Bra 0          Bra
1929    3     ^          ^
1930    4     [A-Za-z]          [A-Za-z]
1931   37  37 Ket          Ket
1932   40     End          End
1933  ------------------------------------------------------------------  ------------------------------------------------------------------
1934  Capturing subpattern count = 0  Capturing subpattern count = 0
1935  Options: anchored  Options: anchored
1936  No first char  No first char
1937  No need char  No need char
1938    
1939  /^[[:^alpha:]]/D  /^[[:^alpha:]]/DZ
1940  ------------------------------------------------------------------  ------------------------------------------------------------------
1941    0  37 Bra 0          Bra
1942    3     ^          ^
1943    4     [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1944   37  37 Ket          Ket
1945   40     End          End
1946  ------------------------------------------------------------------  ------------------------------------------------------------------
1947  Capturing subpattern count = 0  Capturing subpattern count = 0
1948  Options: anchored  Options: anchored
1949  No first char  No first char
1950  No need char  No need char
1951    
1952  /[_[:alpha:]]/IS  /[_[:alpha:]]/IS
1953  Capturing subpattern count = 0  Capturing subpattern count = 0
1954  No options  No options
1955  No first char  No first char
1956  No need char  No need char
1957    Subject length lower bound = 1
1958  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1959    _ a b c d e f g h i j k l m n o p q r s t u v w x y z    _ a b c d e f g h i j k l m n o p q r s t u v w x y z
1960    
1961  /^[[:ascii:]]/D  /^[[:ascii:]]/DZ
1962  ------------------------------------------------------------------  ------------------------------------------------------------------
1963    0  37 Bra 0          Bra
1964    3     ^          ^
1965    4     [\x00-\x7f]          [\x00-\x7f]
1966   37  37 Ket          Ket
1967   40     End          End
1968  ------------------------------------------------------------------  ------------------------------------------------------------------
1969  Capturing subpattern count = 0  Capturing subpattern count = 0
1970  Options: anchored  Options: anchored
1971  No first char  No first char
1972  No need char  No need char
1973    
1974  /^[[:^ascii:]]/D  /^[[:^ascii:]]/DZ
1975  ------------------------------------------------------------------  ------------------------------------------------------------------
1976    0  37 Bra 0          Bra
1977    3     ^          ^
1978    4     [\x80-\xff]          [\x80-\xff] (neg)
1979   37  37 Ket          Ket
1980   40     End          End
1981  ------------------------------------------------------------------  ------------------------------------------------------------------
1982  Capturing subpattern count = 0  Capturing subpattern count = 0
1983  Options: anchored  Options: anchored
1984  No first char  No first char
1985  No need char  No need char
1986    
1987  /^[[:blank:]]/D  /^[[:blank:]]/DZ
1988  ------------------------------------------------------------------  ------------------------------------------------------------------
1989    0  37 Bra 0          Bra
1990    3     ^          ^
1991    4     [\x09 ]          [\x09 ]
1992   37  37 Ket          Ket
1993   40     End          End
1994  ------------------------------------------------------------------  ------------------------------------------------------------------
1995  Capturing subpattern count = 0  Capturing subpattern count = 0
1996  Options: anchored  Options: anchored
1997  No first char  No first char
1998  No need char  No need char
1999    
2000  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2001  ------------------------------------------------------------------  ------------------------------------------------------------------
2002    0  37 Bra 0          Bra
2003    3     ^          ^
2004    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2005   37  37 Ket          Ket
2006   40     End          End
2007  ------------------------------------------------------------------  ------------------------------------------------------------------
2008  Capturing subpattern count = 0  Capturing subpattern count = 0
2009  Options: anchored  Options: anchored
# Line 1998  No need char Line 2012  No need char
2012    
2013  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
2014  Capturing subpattern count = 0  Capturing subpattern count = 0
2015    Contains explicit CR or LF match
2016  No options  No options
2017  No first char  No first char
2018  No need char  No need char
2019    Subject length lower bound = 1
2020  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2021    
2022  /^[[:cntrl:]]/D  /^[[:cntrl:]]/DZ
2023  ------------------------------------------------------------------  ------------------------------------------------------------------
2024    0  37 Bra 0          Bra
2025    3     ^          ^
2026    4     [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
2027   37  37 Ket          Ket
2028   40     End          End
2029  ------------------------------------------------------------------  ------------------------------------------------------------------
2030  Capturing subpattern count = 0  Capturing subpattern count = 0
2031  Options: anchored  Options: anchored
2032  No first char  No first char
2033  No need char  No need char
2034    
2035  /^[[:digit:]]/D  /^[[:digit:]]/DZ
2036  ------------------------------------------------------------------  ------------------------------------------------------------------
2037    0  37 Bra 0          Bra
2038    3     ^          ^
2039    4     [0-9]          [0-9]
2040   37  37 Ket          Ket
2041   40     End          End
2042  ------------------------------------------------------------------  ------------------------------------------------------------------
2043  Capturing subpattern count = 0  Capturing subpattern count = 0
2044  Options: anchored  Options: anchored
2045  No first char  No first char
2046  No need char  No need char
2047    
2048  /^[[:graph:]]/D  /^[[:graph:]]/DZ
2049  ------------------------------------------------------------------  ------------------------------------------------------------------
2050    0  37 Bra 0          Bra
2051    3     ^          ^
2052    4     [!-~]          [!-~]
2053   37  37 Ket          Ket
2054   40     End          End
2055  ------------------------------------------------------------------  ------------------------------------------------------------------
2056  Capturing subpattern count = 0  Capturing subpattern count = 0
2057  Options: anchored  Options: anchored
2058  No first char  No first char
2059  No need char  No need char
2060    
2061  /^[[:lower:]]/D  /^[[:lower:]]/DZ
2062  ------------------------------------------------------------------  ------------------------------------------------------------------
2063    0  37 Bra 0          Bra
2064    3     ^          ^
2065    4     [a-z]          [a-z]
2066   37  37 Ket          Ket
2067   40     End          End
2068  ------------------------------------------------------------------  ------------------------------------------------------------------
2069  Capturing subpattern count = 0  Capturing subpattern count = 0
2070  Options: anchored  Options: anchored
2071  No first char  No first char
2072  No need char  No need char
2073    
2074  /^[[:print:]]/D  /^[[:print:]]/DZ
2075  ------------------------------------------------------------------  ------------------------------------------------------------------
2076    0  37 Bra 0          Bra
2077    3     ^          ^
2078    4     [ -~]          [ -~]
2079   37  37 Ket          Ket
2080   40     End          End
2081  ------------------------------------------------------------------  ------------------------------------------------------------------
2082  Capturing subpattern count = 0  Capturing subpattern count = 0
2083  Options: anchored  Options: anchored
2084  No first char  No first char
2085  No need char  No need char
2086    
2087  /^[[:punct:]]/D  /^[[:punct:]]/DZ
2088  ------------------------------------------------------------------  ------------------------------------------------------------------
2089    0  37 Bra 0          Bra
2090    3     ^          ^
2091    4     [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2092   37  37 Ket          Ket
2093   40     End          End
2094  ------------------------------------------------------------------  ------------------------------------------------------------------
2095  Capturing subpattern count = 0  Capturing subpattern count = 0
2096  Options: anchored  Options: anchored
2097  No first char  No first char
2098  No need char  No need char
2099    
2100  /^[[:space:]]/D  /^[[:space:]]/DZ
2101  ------------------------------------------------------------------  ------------------------------------------------------------------
2102    0  37 Bra 0          Bra
2103    3     ^          ^
2104    4     [\x09-\x0d ]          [\x09-\x0d ]
2105   37  37 Ket          Ket
2106   40     End          End
2107  ------------------------------------------------------------------  ------------------------------------------------------------------
2108  Capturing subpattern count = 0  Capturing subpattern count = 0
2109  Options: anchored  Options: anchored
2110  No first char  No first char
2111  No need char  No need char
2112    
2113  /^[[:upper:]]/D  /^[[:upper:]]/DZ
2114  ------------------------------------------------------------------  ------------------------------------------------------------------
2115    0  37 Bra 0          Bra
2116    3     ^          ^
2117    4     [A-Z]          [A-Z]
2118   37  37 Ket          Ket
2119   40     End          End
2120  ------------------------------------------------------------------  ------------------------------------------------------------------
2121  Capturing subpattern count = 0  Capturing subpattern count = 0
2122  Options: anchored  Options: anchored
2123  No first char  No first char
2124  No need char  No need char
2125    
2126  /^[[:xdigit:]]/D  /^[[:xdigit:]]/DZ
2127  ------------------------------------------------------------------  ------------------------------------------------------------------
2128    0  37 Bra 0          Bra
2129    3     ^          ^
2130    4     [0-9A-Fa-f]          [0-9A-Fa-f]
2131   37  37 Ket          Ket
2132   40     End          End
2133  ------------------------------------------------------------------  ------------------------------------------------------------------
2134  Capturing subpattern count = 0  Capturing subpattern count = 0
2135  Options: anchored  Options: anchored
2136  No first char  No first char
2137  No need char  No need char
2138    
2139  /^[[:word:]]/D  /^[[:word:]]/DZ
2140  ------------------------------------------------------------------  ------------------------------------------------------------------
2141    0  37 Bra 0          Bra
2142    3     ^          ^
2143    4     [0-9A-Z_a-z]          [0-9A-Z_a-z]
2144   37  37 Ket          Ket
2145   40     End          End
2146  ------------------------------------------------------------------  ------------------------------------------------------------------
2147  Capturing subpattern count = 0  Capturing subpattern count = 0
2148  Options: anchored  Options: anchored
2149  No first char  No first char
2150  No need char  No need char
2151    
2152  /^[[:^cntrl:]]/D  /^[[:^cntrl:]]/DZ
2153  ------------------------------------------------------------------  ------------------------------------------------------------------
2154    0  37 Bra 0          Bra
2155    3     ^          ^
2156    4     [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2157   37  37 Ket          Ket
2158   40     End          End
2159  ------------------------------------------------------------------  ------------------------------------------------------------------
2160  Capturing subpattern count = 0  Capturing subpattern count = 0
2161  Options: anchored  Options: anchored
2162  No first char  No first char
2163  No need char  No need char
2164    
2165  /^[12[:^digit:]]/D  /^[12[:^digit:]]/DZ
2166  ------------------------------------------------------------------  ------------------------------------------------------------------
2167    0  37 Bra 0          Bra
2168    3     ^          ^
2169    4     [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2170   37  37 Ket          Ket
2171   40     End          End
2172  ------------------------------------------------------------------  ------------------------------------------------------------------
2173  Capturing subpattern count = 0  Capturing subpattern count = 0
2174  Options: anchored  Options: anchored
2175  No first char  No first char
2176  No need char  No need char
2177    
2178  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2179  ------------------------------------------------------------------  ------------------------------------------------------------------
2180    0  37 Bra 0          Bra
2181    3     ^          ^
2182    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2183   37  37 Ket          Ket
2184   40     End          End
2185  ------------------------------------------------------------------  ------------------------------------------------------------------
2186  Capturing subpattern count = 0  Capturing subpattern count = 0
2187  Options: anchored  Options: anchored
2188  No first char  No first char
2189  No need char  No need char
2190    
2191  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2192  ------------------------------------------------------------------  ------------------------------------------------------------------
2193    0  36 Bra 0          Bra
2194    3     [%01A-Za-z]          [%01A-Za-z]
2195   36  36 Ket          Ket
2196   39     End          End
2197  ------------------------------------------------------------------  ------------------------------------------------------------------
2198  Capturing subpattern count = 0  Capturing subpattern count = 0
2199  No options  No options
# Line 2200  No first char Line 2216  No first char
2216  No need char  No need char
2217      A      A
2218   0: A   0: A
2219      a      a
2220   0: a   0: a
2221    
2222  /[[:lower:]]/Ii  /[[:lower:]]/Ii
2223  Capturing subpattern count = 0  Capturing subpattern count = 0
2224  Options: caseless  Options: caseless
# Line 2210  No first char Line 2226  No first char
2226  No need char  No need char
2227      A      A
2228   0: A   0: A
2229      a      a
2230   0: a   0: a
2231    
2232  /((?-i)[[:lower:]])[[:lower:]]/Ii  /((?-i)[[:lower:]])[[:lower:]]/Ii
# Line 2229  No need char Line 2245  No need char
2245   1: a   1: a
2246      Ab      Ab
2247  No match  No match
2248      AB      AB
2249  No match  No match
2250    
2251  /[\200-\110]/I  /[\200-\110]/I
# Line 2247  Need char = 'd' Line 2263  Need char = 'd'
2263  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
2264  Capturing subpattern count = 271  Capturing subpattern count = 271
2265  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2266  No options  No options
2267  No first char  No first char
2268  No need char  No need char
# Line 2543  Need char = 'n' Line 2558  Need char = 'n'
2558   0: mainOmain   0: mainOmain
2559   1: main   1: main
2560   2: O   2: O
2561    
2562  /These are all cases where Perl does it differently (nested captures)/I  /These are all cases where Perl does it differently (nested captures)/I
2563  Capturing subpattern count = 1  Capturing subpattern count = 1
2564  No options  No options
# Line 2559  No need char Line 2574  No need char
2574   0: aba   0: aba
2575   1: a   1: a
2576   2: b   2: b
2577    
2578  /^(aa(bb)?)+$/I  /^(aa(bb)?)+$/I
2579  Capturing subpattern count = 2  Capturing subpattern count = 2
2580  Options: anchored  Options: anchored
2581  No first char  No first char
2582  No need char  No need char
2583      aabbaa      aabbaa
2584   0: aabbaa   0: aabbaa
2585   1: aa   1: aa
2586   2: bb   2: bb
2587    
2588  /^(aa|aa(bb))+$/I  /^(aa|aa(bb))+$/I
2589  Capturing subpattern count = 2  Capturing subpattern count = 2
2590  Options: anchored  Options: anchored
2591  No first char  No first char
2592  No need char  No need char
2593      aabbaa      aabbaa
2594   0: aabbaa   0: aabbaa
2595   1: aa   1: aa
2596   2: bb   2: bb
2597    
2598  /^(aa(bb)??)+$/I  /^(aa(bb)??)+$/I
2599  Capturing subpattern count = 2  Capturing subpattern count = 2
2600  Options: anchored  Options: anchored
2601  No first char  No first char
2602  No need char  No need char
2603      aabbaa      aabbaa
2604   0: aabbaa   0: aabbaa
2605   1: aa   1: aa
2606   2: bb   2: bb
2607    
2608  /^(?:aa(bb)?)+$/I  /^(?:aa(bb)?)+$/I
2609  Capturing subpattern count = 1  Capturing subpattern count = 1
2610  Options: anchored  Options: anchored
2611  No first char  No first char
2612  No need char  No need char
2613      aabbaa      aabbaa
2614   0: aabbaa   0: aabbaa
2615   1: bb   1: bb
2616    
2617  /^(aa(b(b))?)+$/I  /^(aa(b(b))?)+$/I
2618  Capturing subpattern count = 3  Capturing subpattern count = 3
2619  Options: anchored  Options: anchored
2620  No first char  No first char
2621  No need char  No need char
2622      aabbaa      aabbaa
2623   0: aabbaa   0: aabbaa
2624   1: aa   1: aa
2625   2: bb   2: bb
# Line 2615  Capturing subpattern count = 2 Line 2630  Capturing subpattern count = 2
2630  Options: anchored  Options: anchored
2631  No first char  No first char
2632  No need char  No need char
2633      aabbaa      aabbaa
2634   0: aabbaa   0: aabbaa
2635   1: bb   1: bb
2636   2: b   2: b
# Line 2625  Capturing subpattern count = 1 Line 2640  Capturing subpattern count = 1
2640  Options: anchored  Options: anchored
2641  No first char  No first char
2642  No need char  No need char
2643      aabbaa      aabbaa
2644   0: aabbaa   0: aabbaa
2645   1: bb   1: bb
2646    
# Line 2634  Capturing subpattern count = 1 Line 2649  Capturing subpattern count = 1
2649  Options: anchored  Options: anchored
2650  No first char  No first char
2651  No need char  No need char
2652      aabbbaa      aabbbaa
2653   0: aabbbaa   0: aabbbaa
2654   1: bbb   1: bbb
2655    
2656  /^(?:aa(b(?:bb))?)+$/I  /^(?:aa(b(?:bb))?)+$/I
2657  Capturing subpattern count = 1  Capturing subpattern count = 1
2658  Options: anchored  Options: anchored
2659  No first char  No first char
2660  No need char  No need char
2661      aabbbaa      aabbbaa
2662   0: aabbbaa   0: aabbbaa
2663   1: bbb   1: bbb
2664    
# Line 2652  Capturing subpattern count = 1 Line 2667  Capturing subpattern count = 1
2667  Options: anchored  Options: anchored
2668  No first char  No first char
2669  No need char  No need char
2670      aabbaa      aabbaa
2671   0: aabbaa   0: aabbaa
2672   1: b   1: b
2673    
# Line 2661  Capturing subpattern count = 1 Line 2676  Capturing subpattern count = 1
2676  Options: anchored  Options: anchored
2677  No first char  No first char
2678  No need char  No need char
2679      aabbbaa      aabbbaa
2680   0: aabbbaa   0: aabbbaa
2681   1: bb   1: bb
2682    
# Line 2670  Capturing subpattern count = 3 Line 2685  Capturing subpattern count = 3
2685  Options: anchored  Options: anchored
2686  No first char  No first char
2687  No need char  No need char
2688      aabbbaa      aabbbaa
2689   0: aabbbaa   0: aabbbaa
2690   1: aa   1: aa
2691   2: bbb   2: bbb
# Line 2681  Capturing subpattern count = 3 Line 2696  Capturing subpattern count = 3
2696  Options: anchored  Options: anchored
2697  No first char  No first char
2698  No need char  No need char
2699      aabbbbaa      aabbbbaa
2700   0: aabbbbaa   0: aabbbbaa
2701   1: aa   1: aa
2702   2: bbbb   2: bbbb
2703   3: bb   3: bb
2704    
2705  /--------------------------------------------------------------------/I  /--------------------------------------------------------------------/I
2706  Capturing subpattern count = 0  Capturing subpattern count = 0
2707  No options  No options
2708  First char = '-'  First char = '-'
2709  Need char = '-'  Need char = '-'
2710    
2711  /#/IxMD  /#/IxDZ
 Memory allocation (code space): 7  
2712  ------------------------------------------------------------------  ------------------------------------------------------------------
2713    0   3 Bra 0          Bra
2714    3   3 Ket          Ket
2715    6     End          End
2716  ------------------------------------------------------------------  ------------------------------------------------------------------
2717  Capturing subpattern count = 0  Capturing subpattern count = 0
2718  Options: extended  Options: extended
2719  No first char  No first char
2720  No need char  No need char
2721    
2722  /a#/IxMD  /a#/IxDZ
 Memory allocation (code space): 9  
2723  ------------------------------------------------------------------  ------------------------------------------------------------------
2724    0   5 Bra 0          Bra
2725    3     a          a
2726    5   5 Ket          Ket
2727    8     End          End
2728  ------------------------------------------------------------------  ------------------------------------------------------------------
2729  Capturing subpattern count = 0  Capturing subpattern count = 0
2730  Options: extended  Options: extended
2731  First char = 'a'  First char = 'a'
2732  No need char  No need char
2733    
2734  /[\s]/D  /[\s]/DZ
2735  ------------------------------------------------------------------  ------------------------------------------------------------------
2736    0  36 Bra 0          Bra
2737    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2738   36  36 Ket          Ket
2739   39     End          End
2740  ------------------------------------------------------------------  ------------------------------------------------------------------
2741  Capturing subpattern count = 0  Capturing subpattern count = 0
2742  No options  No options
2743  No first char  No first char
2744  No need char  No need char
2745    
2746  /[\S]/D  /[\S]/DZ
2747  ------------------------------------------------------------------  ------------------------------------------------------------------
2748    0  36 Bra 0          Bra
2749    3     [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2750   36  36 Ket          Ket
2751   39     End          End
2752  ------------------------------------------------------------------  ------------------------------------------------------------------
2753  Capturing subpattern count = 0  Capturing subpattern count = 0
2754  No options  No options
2755  No first char  No first char
2756  No need char  No need char
2757    
2758  /a(?i)b/D  /a(?i)b/DZ
2759  ------------------------------------------------------------------  ------------------------------------------------------------------
2760    0   9 Bra 0          Bra
2761    3     a          a
2762    5  01 Opt       /i b
2763    7  NC b          Ket
2764    9   9 Ket          End
  12     End  
2765  ------------------------------------------------------------------  ------------------------------------------------------------------
2766  Capturing subpattern count = 0  Capturing subpattern count = 0
2767  No options  No options
# Line 2759  Need char = 'b' (caseless) Line 2771  Need char = 'b' (caseless)
2771   0: ab   0: ab
2772      aB      aB
2773   0: aB   0: aB
2774      *** Failers      *** Failers
2775  No match  No match
2776      AB      AB
2777  No match  No match
2778    
2779  /(a(?i)b)/D  /(a(?i)b)/DZ
2780  ------------------------------------------------------------------  ------------------------------------------------------------------
2781    0  19 Bra 0          Bra
2782    3  11 Bra 1          CBra 1
2783    8     a          a
2784   10  01 Opt       /i b
2785   12  NC b          Ket
2786   14  11 Ket          Ket
2787   17  00 Opt          End
  19  19 Ket  
  22     End  
2788  ------------------------------------------------------------------  ------------------------------------------------------------------
2789  Capturing subpattern count = 1  Capturing subpattern count = 1
2790  No options  No options
# Line 2786  Need char = 'b' (caseless) Line 2796  Need char = 'b' (caseless)
2796      aB      aB
2797   0: aB   0: aB
2798   1: aB   1: aB
2799      *** Failers      *** Failers
2800  No match  No match
2801      AB      AB
2802  No match  No match
2803    
2804  /   (?i)abc/IxD  /   (?i)abc/IxDZ
2805  ------------------------------------------------------------------  ------------------------------------------------------------------
2806    0   9 Bra 0          Bra
2807    3  NC abc       /i abc
2808    9   9 Ket          Ket
2809   12     End          End
2810  ------------------------------------------------------------------  ------------------------------------------------------------------
2811  Capturing subpattern count = 0  Capturing subpattern count = 0
2812  Options: caseless extended  Options: caseless extended
# Line 2804  First char = 'a' (caseless) Line 2814  First char = 'a' (caseless)
2814  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2815    
2816  /#this is a comment  /#this is a comment
2817    (?i)abc/IxD    (?i)abc/IxDZ
2818  ------------------------------------------------------------------  ------------------------------------------------------------------
2819    0   9 Bra 0          Bra
2820    3  NC abc       /i abc
2821    9   9 Ket          Ket
2822   12     End          End
2823  ------------------------------------------------------------------  ------------------------------------------------------------------
2824  Capturing subpattern count = 0  Capturing subpattern count = 0
2825  Options: caseless extended  Options: caseless extended
2826  First char = 'a' (caseless)  First char = 'a' (caseless)
2827  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2828    
2829  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2830  ------------------------------------------------------------------  ------------------------------------------------------------------
2831    0 603 Bra 0          Bra
2832    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2833  603 603 Ket          Ket
2834  606     End          End
2835  ------------------------------------------------------------------  ------------------------------------------------------------------
2836  Capturing subpattern count = 0  Capturing subpattern count = 0
2837  No options  No options
2838  First char = '1'  First char = '1'
2839  Need char = '0'  Need char = '0'
2840    
2841  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2842  ------------------------------------------------------------------  ------------------------------------------------------------------
2843    0 603 Bra 0          Bra
2844    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2845  603 603 Ket          Ket
2846  606     End          End
2847  ------------------------------------------------------------------  ------------------------------------------------------------------
2848  Capturing subpattern count = 0  Capturing subpattern count = 0
2849  No options  No options
2850  First char = '1'  First char = '1'
2851  Need char = '0'  Need char = '0'
2852    
2853  /\Q\E/D  /\Q\E/DZ
2854  ------------------------------------------------------------------  ------------------------------------------------------------------
2855    0   3 Bra 0          Bra
2856    3   3 Ket          Ket
2857    6     End          End
2858  ------------------------------------------------------------------  ------------------------------------------------------------------
2859  Capturing subpattern count = 0  Capturing subpattern count = 0
2860  No options  No options
# Line 2853  No need char Line 2863  No need char
2863      \      \
2864   0:   0:
2865    
2866  /\Q\Ex/D  /\Q\Ex/DZ
2867  ------------------------------------------------------------------  ------------------------------------------------------------------
2868    0   5 Bra 0          Bra
2869    3     x          x
2870    5   5 Ket          Ket
2871    8     End          End
2872  ------------------------------------------------------------------  ------------------------------------------------------------------
2873  Capturing subpattern count = 0  Capturing subpattern count = 0
2874  No options  No options
2875  First char = 'x'  First char = 'x'
2876  No need char  No need char
2877    
2878  / \Q\E/D  / \Q\E/DZ
2879  ------------------------------------------------------------------  ------------------------------------------------------------------
2880    0   5 Bra 0          Bra
2881    3  
2882    5   5 Ket          Ket
2883    8     End          End
2884  ------------------------------------------------------------------  ------------------------------------------------------------------
2885  Capturing subpattern count = 0  Capturing subpattern count = 0
2886  No options  No options
2887  First char = ' '  First char = ' '
2888  No need char  No need char
2889    
2890  /a\Q\E/D  /a\Q\E/DZ
2891  ------------------------------------------------------------------  ------------------------------------------------------------------
2892    0   5 Bra 0          Bra
2893    3     a          a
2894    5   5 Ket          Ket
2895    8     End          End
2896  ------------------------------------------------------------------  ------------------------------------------------------------------
2897  Capturing subpattern count = 0  Capturing subpattern count = 0
2898  No options  No options
# Line 2892  No need char Line 2902  No need char
2902   0: a   0: a
2903    bca    bca
2904   0: a   0: a
2905    bac    bac
2906   0: a   0: a
2907    
2908  /a\Q\Eb/D  /a\Q\Eb/DZ
2909  ------------------------------------------------------------------  ------------------------------------------------------------------
2910    0   7 Bra 0          Bra
2911    3     ab          ab
2912    7   7 Ket          Ket
2913   10     End          End
2914  ------------------------------------------------------------------  ------------------------------------------------------------------
2915  Capturing subpattern count = 0  Capturing subpattern count = 0
2916  No options  No options
# Line 2909  Need char = 'b' Line 2919  Need char = 'b'
2919    abc    abc
2920   0: ab   0: ab
2921    
2922  /\Q\Eabc/D  /\Q\Eabc/DZ
2923  ------------------------------------------------------------------  ------------------------------------------------------------------
2924    0   9 Bra 0          Bra
2925    3     abc          abc
2926    9   9 Ket          Ket
2927   12     End          End
2928  ------------------------------------------------------------------  ------------------------------------------------------------------
2929  Capturing subpattern count = 0  Capturing subpattern count = 0
2930  No options  No options
2931  First char = 'a'  First char = 'a'
2932  Need char = 'c'  Need char = 'c'
2933    
2934  /x*+\w/D  /x*+\w/DZ
2935  ------------------------------------------------------------------  ------------------------------------------------------------------
2936    0   6 Bra 0          Bra
2937    3     x*+          x*+
2938    5     \w          \w
2939    6   6 Ket          Ket
2940    9     End          End
2941  ------------------------------------------------------------------  ------------------------------------------------------------------
2942  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2943  No options  No options
2944  No first char  No first char
2945  No need char  No need char
# Line 2938  No need char Line 2947  No need char
2947   0: F   0: F
2948      xxxxx      xxxxx
2949  No match  No match
2950    
2951  /x?+/D  /x?+/DZ
2952  ------------------------------------------------------------------  ------------------------------------------------------------------
2953    0   5 Bra 0          Bra
2954    3     x?+          x?+
2955    5   5 Ket          Ket
2956    8     End          End
2957  ------------------------------------------------------------------  ------------------------------------------------------------------
2958  Capturing subpattern count = 0  Capturing subpattern count = 0
2959  No options  No options
2960  No first char  No first char
2961  No need char  No need char
2962    
2963  /x++/D  /x++/DZ
2964  ------------------------------------------------------------------  ------------------------------------------------------------------
2965    0   5 Bra 0          Bra
2966    3     x++          x++
2967    5   5 Ket          Ket
2968    8     End          End
2969  ------------------------------------------------------------------  ------------------------------------------------------------------
2970  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2971  No options  No options
2972  First char = 'x'  First char = 'x'
2973  No need char  No need char
2974    
2975  /x{1,3}+/D  /x{1,3}+/DZ
2976  ------------------------------------------------------------------  ------------------------------------------------------------------
2977    0  15 Bra 0          Bra
2978    3   9 Once          Once
2979    6     x          x
2980    8     x{0,2}          x{0,2}
2981   12   9 Ket          Ket
2982   15  15 Ket          Ket
2983   18     End          End
2984  ------------------------------------------------------------------  ------------------------------------------------------------------
2985  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2986  No options  No options
2987  First char = 'x'  First char = 'x'
2988  No need char  No need char
2989    
2990  /(x)*+/D  /(x)*+/DZ
2991  ------------------------------------------------------------------  ------------------------------------------------------------------
2992    0  20 Bra 0          Bra
2993    3  14 Once          Braposzero
2994    6     Brazero          CBraPos 1
2995    7   7 Bra 1          x
2996   12     x          KetRpos
2997   14   7 KetRmax          Ket
2998   17  14 Ket          End
  20  20 Ket  
  23     End  
2999  ------------------------------------------------------------------  ------------------------------------------------------------------
3000  Capturing subpattern count = 1  Capturing subpattern count = 1
3001  No options  No options
# Line 2999  No need char Line 3004  No need char
3004    
3005  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
3006  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3007  Options: anchored  Options: anchored
3008  No first char  No first char
3009  No need char  No need char
# Line 3010  No need char Line 3014  No need char
3014  No match  No match
3015      this is not a line with only words and spaces!      this is not a line with only words and spaces!
3016  No match  No match
3017    
3018  /(\d++)(\w)/I  /(\d++)(\w)/I
3019  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3020  No options  No options
3021  No first char  No first char
3022  No need char  No need char
# Line 3023  No need char Line 3026  No need char
3026   2: a   2: a
3027      *** Failers      *** Failers
3028  No match  No match
3029      12345+      12345+
3030  No match  No match
3031    
3032  /a++b/I  /a++b/I
3033  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3034  No options  No options
3035  First char = 'a'  First char = 'a'
3036  Need char = 'b'  Need char = 'b'
# Line 3037  Need char = 'b' Line 3039  Need char = 'b'
3039    
3040  /(a++b)/I  /(a++b)/I
3041  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3042  No options  No options
3043  First char = 'a'  First char = 'a'
3044  Need char = 'b'  Need char = 'b'
# Line 3047  Need char = 'b' Line 3048  Need char = 'b'
3048    
3049  /(a++)b/I  /(a++)b/I
3050  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3051  No options  No options
3052  First char = 'a'  First char = 'a'
3053  Need char = 'b'  Need char = 'b'
# Line 3057  Need char = 'b' Line 3057  Need char = 'b'
3057    
3058  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
3059  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3060  No options  No options
3061  No first char  No first char
3062  No need char  No need char
3063      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
3064   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
3065   1: x   1: x
3066    
3067  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3068  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3069  No options  No options
3070  First char = '('  First char = '('
3071  Need char = ')'  Need char = ')'
# Line 3079  Need char = ')' Line 3077  Need char = ')'
3077   1: xyz   1: xyz
3078      *** Failers      *** Failers
3079  No match  No match
3080      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3081  No match  No match
3082    
3083  /(abc){1,3}+/D  /(abc){1,3}+/DZ
3084  ------------------------------------------------------------------  ------------------------------------------------------------------
3085    0  59 Bra 0          Bra
3086    3  53 Once          Once
3087    6  11 Bra 1          CBra 1
3088   11     abc          abc
3089   17  11 Ket          Ket
3090   20     Brazero          Brazero
3091   21  32 Bra 0          Bra
3092   24  11 Bra 1          CBra 1
3093   29     abc          abc
3094   35  11 Ket          Ket
3095   38     Brazero          Brazero
3096   39  11 Bra 1          CBra 1
3097   44     abc          abc
3098   50  11 Ket          Ket
3099   53  32 Ket          Ket
3100   56  53 Ket          Ket
3101   59  59 Ket          Ket
3102   62     End          End
3103  ------------------------------------------------------------------  ------------------------------------------------------------------
3104  Capturing subpattern count = 1  Capturing subpattern count = 1
3105  No options  No options
# Line 3120  Failed: nothing to repeat at offset 7 Line 3118  Failed: nothing to repeat at offset 7
3118  /a{2,3}?+b/IU  /a{2,3}?+b/IU
3119  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3120    
3121  /x(?U)a++b/D  /x(?U)a++b/DZ
3122  ------------------------------------------------------------------  ------------------------------------------------------------------
3123    0   9 Bra 0          Bra
3124    3     x          x
3125    5     a++          a++
3126    7     b          b
3127    9   9 Ket          Ket
3128   12     End          End
3129  ------------------------------------------------------------------  ------------------------------------------------------------------
3130  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3131  No options  No options
3132  First char = 'x'  First char = 'x'
3133  Need char = 'b'  Need char = 'b'
3134      xaaaab      xaaaab
3135   0: xaaaab   0: xaaaab
3136    
3137  /(?U)xa++b/D  /(?U)xa++b/DZ
3138  ------------------------------------------------------------------  ------------------------------------------------------------------
3139    0   9 Bra 0          Bra
3140    3     x          x
3141    5     a++          a++
3142    7     b          b
3143    9   9 Ket          Ket
3144   12     End          End
3145  ------------------------------------------------------------------  ------------------------------------------------------------------
3146  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3147  Options: ungreedy  Options: ungreedy
3148  First char = 'x'  First char = 'x'
3149  Need char = 'b'  Need char = 'b'
3150      xaaaab      xaaaab
3151   0: xaaaab   0: xaaaab
3152    
3153  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3154  ------------------------------------------------------------------  ------------------------------------------------------------------
3155    0 116 Bra 0          Bra
3156    3     ^          ^
3157    4 109 Bra 1          CBra 1
3158    9   7 Bra 2          CBra 2
3159   14     a+          a+
3160   16   7 Ket          Ket
3161   19  39 Bra 3          CBra 3
3162   24     [ab]+?          [ab]+?
3163   58  39 Ket          Ket
3164   61  39 Bra 4          CBra 4
3165   66     [bc]+          [bc]+
3166  100  39 Ket          Ket
3167  103   7 Bra 5          CBra 5
3168  108     \w*          \w*
3169  110   7 Ket          Ket
3170  113 109 Ket          Ket
3171  116 116 Ket          Ket
3172  119     End          End
3173  ------------------------------------------------------------------  ------------------------------------------------------------------
3174  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3175  Options: anchored  Options: anchored
3176  No first char  No first char
3177  No need char  No need char
3178    
3179  /^x(?U)a+b/D  /^x(?U)a+b/DZ
3180  ------------------------------------------------------------------  ------------------------------------------------------------------
3181    0  10 Bra 0          Bra
3182    3     ^          ^
3183    4     x          x
3184    6     a++          a++
3185    8     b          b
3186   10  10 Ket          Ket
3187   13     End          End
3188  ------------------------------------------------------------------  ------------------------------------------------------------------
3189  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3190  Options: anchored  Options: anchored
3191  No first char  No first char
3192  Need char = 'b'  Need char = 'b'
3193    
3194  /^x(?U)(a+)b/D  /^x(?U)(a+)b/DZ
3195  ------------------------------------------------------------------  ------------------------------------------------------------------
3196    0  18 Bra 0          Bra
3197    3     ^          ^
3198    4     x          x
3199    6   7 Bra 1          CBra 1
3200   11     a+?          a+?
3201   13   7 Ket          Ket
3202   16     b          b
3203   18  18 Ket          Ket
3204   21     End          End
3205  ------------------------------------------------------------------  ------------------------------------------------------------------
3206  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3207  Options: anchored  Options: anchored
3208  No first char  No first char
3209  Need char = 'b'  Need char = 'b'
# Line 3225  Failed: POSIX collating elements are not Line 3218  Failed: POSIX collating elements are not
3218  Failed: POSIX named classes are supported only within a class at offset 0  Failed: POSIX named classes are supported only within a class at offset 0
3219    
3220  /\l/I  /\l/I
3221  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3222    
3223  /\L/I  /\L/I
3224  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3225    
3226  /\N{name}/I  /\N{name}/I
3227  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3228    
3229  /\u/I  /\u/I
3230  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3231    
3232  /\U/I  /\U/I
3233  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3234    
3235  /[/I  /[/I
3236  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3248  Failed: missing terminating ] for charac Line 3241  Failed: missing terminating ] for charac
3241  /[[:space:]/I  /[[:space:]/I
3242  Failed: missing terminating ] for character class at offset 10  Failed: missing terminating ] for character class at offset 10
3243    
3244  /[\s]/IDM  /[\s]/IDZ
 Memory allocation (code space): 40  
3245  ------------------------------------------------------------------  ------------------------------------------------------------------
3246    0  36 Bra 0          Bra
3247    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3248   36  36 Ket          Ket
3249   39     End          End
3250  ------------------------------------------------------------------  ------------------------------------------------------------------
3251  Capturing subpattern count = 0  Capturing subpattern count = 0
3252  No options  No options
3253  No first char  No first char
3254  No need char  No need char
3255    
3256  /[[:space:]]/IDM  /[[:space:]]/IDZ
 Memory allocation (code space): 40  
3257  ------------------------------------------------------------------  ------------------------------------------------------------------
3258    0  36 Bra 0          Bra
3259    3     [\x09-\x0d ]          [\x09-\x0d ]
3260   36  36 Ket          Ket
3261   39     End          End
3262  ------------------------------------------------------------------  ------------------------------------------------------------------
3263  Capturing subpattern count = 0  Capturing subpattern count = 0
3264  No options  No options
3265  No first char  No first char
3266  No need char  No need char
3267    
3268  /[[:space:]abcde]/IDM  /[[:space:]abcde]/IDZ
 Memory allocation (code space): 40  
3269  ------------------------------------------------------------------  ------------------------------------------------------------------
3270    0  36 Bra 0          Bra
3271    3     [\x09-\x0d a-e]          [\x09-\x0d a-e]
3272   36  36 Ket          Ket
3273   39     End          End
3274  ------------------------------------------------------------------  ------------------------------------------------------------------
3275  Capturing subpattern count = 0  Capturing subpattern count = 0
3276  No options  No options
# Line 3289  No need char Line 3279  No need char
3279    
3280  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3281  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3282  Options: extended  Options: extended
3283  First char = '<'  First char = '<'
3284  Need char = '>'  Need char = '>'
# Line 3301  Need char = '>' Line 3290  Need char = '>'
3290   0: <abc <123> hij>   0: <abc <123> hij>
3291      <abc <def> hij>      <abc <def> hij>
3292   0: <def>   0: <def>
3293      <abc<>def>      <abc<>def>
3294   0: <abc<>def>   0: <abc<>def>
3295      <abc<>      <abc<>
3296   0: <>   0: <>
3297      *** Failers      *** Failers
3298  No match  No match
3299      <abc      <abc
3300  No match  No match
3301    
3302  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|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  
3303  ------------------------------------------------------------------  ------------------------------------------------------------------
3304    0 822 Bra 0          Bra
3305    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
3306  821     \b          \b
3307  822 822 Ket          Ket
3308  825     End          End
3309  ------------------------------------------------------------------  ------------------------------------------------------------------
3310  Capturing subpattern count = 0  Capturing subpattern count = 0
3311  No options  No options
3312  First char = '8'  First char = '8'
3313  Need char = 'X'  Need char = 'X'
3314    
3315  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|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  
3316  ------------------------------------------------------------------  ------------------------------------------------------------------
3317    0 812 Bra 0          Bra
3318    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
3319  811     \b          \b
3320  812 812 Ket          Ket
3321  815     End          End
3322  ------------------------------------------------------------------  ------------------------------------------------------------------
3323  Capturing subpattern count = 0  Capturing subpattern count = 0
3324  No options  No options
# Line 3341  Need char = 'X' Line 3328  Need char = 'X'
3328  /(.*)\d+\1/I  /(.*)\d+\1/I
3329  Capturing subpattern count = 1  Capturing subpattern count = 1
3330  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3331  No options  No options
3332  No first char  No first char
3333  No need char  No need char
3334    
3335  /(.*)\d+/I  /(.*)\d+/I
3336  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3337  No options  No options
3338  First char at start or follows newline  First char at start or follows newline
3339  No need char  No need char
3340    
3341  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3342  Capturing subpattern count = 1  Capturing subpattern count = 1
3343  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3344  Options: dotall  Options: dotall
3345  No first char  No first char
3346  No need char  No need char
3347    
3348  /(.*)\d+/Is  /(.*)\d+/Is
3349  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3350  Options: anchored dotall  Options: anchored dotall
3351  No first char  No first char
3352  No need char  No need char
# Line 3371  No need char Line 3354  No need char
3354  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3355  Capturing subpattern count = 2  Capturing subpattern count = 2
3356  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3357  No options  No options
3358  First char at start or follows newline  First char at start or follows newline
3359  Need char = 'z'  Need char = 'z'
# Line 3379  Need char = 'z' Line 3361  Need char = 'z'
3361  /((.*))\d+\1/I  /((.*))\d+\1/I
3362  Capturing subpattern count = 2  Capturing subpattern count = 2
3363  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3364  No options  No options
3365  No first char  No first char
3366  No need char  No need char
# Line 3387  No need char Line 3368  No need char
3368   0: bc123bc   0: bc123bc
3369   1: bc   1: bc
3370   2: bc   2: bc
3371    
3372  /a[b]/I  /a[b]/I
3373  Capturing subpattern count = 0  Capturing subpattern count = 0
3374  No options  No options
# Line 3396  Need char = 'b' Line 3377  Need char = 'b'
3377    
3378  /(?=a).*/I  /(?=a).*/I
3379  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3380  No options  No options
3381  First char = 'a'  First char = 'a'
3382  No need char  No need char
# Line 3443  No options Line 3423  No options
3423  No first char  No first char
3424  Need char = 'a'  Need char = 'a'
3425    
3426  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3427  Capturing subpattern count = 0  Capturing subpattern count = 1
3428  No options  No options
3429  First char = 'a'  First char = 'a'
3430  No need char  No need char
3431    
3432  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3433  Capturing subpattern count = 0  Capturing subpattern count = 1
3434  No options  No options
3435  First char = 'a'  First char = 'a'
3436  Need char = 'z'  Need char = 'z'
3437    
3438  /(?(1)abz)/I  /(?(1)abz)(.)/I
3439  Capturing subpattern count = 0  Capturing subpattern count = 1
3440  No options  No options
3441  No first char  No first char
3442  No need char  No need char
3443    
3444  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3445  Capturing subpattern count = 0  Capturing subpattern count = 1
3446  No options  No options
3447  No first char  No first char
3448  Need char = '3'  Need char = '3'
# Line 3502  Capturing subpattern count = 0 Line 3482  Capturing subpattern count = 0
3482  No options  No options
3483  No first char  No first char
3484  No need char  No need char
3485    Subject length lower bound = 1
3486  Starting byte set: a b  Starting byte set: a b
3487    
3488  /[^a]/I  /[^a]/I
# Line 3521  Capturing subpattern count = 0 Line 3502  Capturing subpattern count = 0
3502  No options  No options
3503  No first char  No first char
3504  Need char = '6'  Need char = '6'
3505    Subject length lower bound = 4
3506  Starting byte set: 0 1 2 3 4 5 6 7 8 9  Starting byte set: 0 1 2 3 4 5 6 7 8 9
3507    
3508  /a^b/I  /a^b/I
# Line 3536  First char at start or follows newline Line 3518  First char at start or follows newline
3518  Need char = 'a'  Need char = 'a'
3519    abcde    abcde
3520   0: a   0: a
3521    xy\nabc    xy\nabc
3522   0: a   0: a
3523    *** Failers    *** Failers
3524  No match  No match
3525    xyabc    xyabc
3526  No match  No match
3527    
3528  /c|abc/I  /c|abc/I
# Line 3554  Capturing subpattern count = 0 Line 3536  Capturing subpattern count = 0
3536  Options: caseless  Options: caseless
3537  No first char  No first char
3538  No need char  No need char
3539    Subject length lower bound = 1
3540  Starting byte set: A B a b  Starting byte set: A B a b
3541    
3542  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3561  Capturing subpattern count = 0 Line 3544  Capturing subpattern count = 0
3544  No options  No options
3545  No first char  No first char
3546  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3547    Subject length lower bound = 3
3548  Starting byte set: a b  Starting byte set: a b
3549    
3550  /abc(?C)def/I  /abc(?C)def/I
# Line 3572  Need char = 'f' Line 3556  Need char = 'f'
3556  --->abcdef  --->abcdef
3557    0 ^  ^       d    0 ^  ^       d
3558   0: abcdef   0: abcdef
3559      1234abcdef      1234abcdef
3560  --->1234abcdef  --->1234abcdef
3561    0     ^  ^       d    0     ^  ^       d
3562   0: abcdef   0: abcdef
# Line 3580  Need char = 'f' Line 3564  Need char = 'f'
3564  No match  No match
3565      abcxyz      abcxyz
3566  No match  No match
3567      abcxyzf      abcxyzf
3568  --->abcxyzf  --->abcxyzf
3569    0 ^  ^        d    0 ^  ^        d
3570  No match  No match
# Line 3595  Need char = 'f' Line 3579  Need char = 'f'
3579    0    ^  ^       d    0    ^  ^       d
3580    1    ^    ^     f    1    ^    ^     f
3581   0: abcdef   0: abcdef
3582    
3583  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3584    Capturing subpattern count = 0
3585    No options
3586    No first char
3587    Need char = 'f'
3588    Subject length lower bound = 7
3589    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3590        1234abcdef
3591    --->1234abcdef
3592      1 ^              \d
3593      1  ^             \d
3594      1   ^            \d
3595      1    ^           \d
3596      2    ^   ^       d
3597     0: 4abcdef
3598        *** Failers
3599    No match
3600        abcdef
3601    No match
3602    
3603    /(?C1)\dabc(?C2)def/ISS
3604  Capturing subpattern count = 0  Capturing subpattern count = 0
3605  No options  No options
3606  No first char  No first char
# Line 3611  Need char = 'f' Line 3615  Need char = 'f'
3615   0: 4abcdef   0: 4abcdef
3616      *** Failers      *** Failers
3617  No match  No match
3618      abcdef      abcdef
3619  --->abcdef  --->abcdef
3620    1 ^          \d    1 ^          \d
3621    1  ^         \d    1  ^         \d
# Line 3620  No match Line 3624  No match
3624    1     ^      \d    1     ^      \d
3625    1      ^     \d    1      ^     \d
3626  No match  No match
3627    
3628  /(?C255)ab/I  /(?C255)ab/I
3629  Capturing subpattern count = 0  Capturing subpattern count = 0
3630  No options  No options
# Line 3630  Need char = 'b' Line 3634  Need char = 'b'
3634  /(?C256)ab/I  /(?C256)ab/I
3635  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3636    
3637  /(?Cab)xx/I  /(?Cab)xx/I
3638  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3639    
3640  /(?C12vr)x/I  /(?C12vr)x/I
# Line 3659  Need char = 'f' Line 3663  Need char = 'f'
3663    1    ^    ^     f    1    ^    ^     f
3664   0: abcdef   0: abcdef
3665   1: abc   1: abc
3666      123abcdef\C+      123abcdef\C+
3667  Callout 0: last capture = 1  Callout 0: last capture = 1
3668   0: <unset>   0: <unset>
3669   1: abc   1: abc
# Line 3672  Callout 1: last capture = 1 Line 3676  Callout 1: last capture = 1
3676         ^    ^     f         ^    ^     f
3677   0: abcdef   0: abcdef
3678   1: abc   1: abc
3679      123abcdef\C-      123abcdef\C-
3680   0: abcdef   0: abcdef
3681   1: abc   1: abc
3682      *** Failers      *** Failers
3683  No match  No match
3684      123abcdef\C!1      123abcdef\C!1
3685  --->123abcdef  --->123abcdef
3686    0    ^  ^       d    0    ^  ^       d
3687    1    ^    ^     f    1    ^    ^     f
3688  No match  No match
3689    
3690  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3691  Capturing subpattern count = 1  Capturing subpattern count = 1
3692  No options  No options
# Line 3696  No need char Line 3700  No need char
3700    1 ^        ^    )    1 ^        ^    )
3701   0: abcabcabc   0: abcabcabc
3702   1: abc   1: abc
3703      abcabc\C!1!3      abcabc\C!1!3
3704  --->abcabc  --->abcabc
3705    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3706    1 ^  ^       )    1 ^  ^       )
# Line 3707  No need char Line 3711  No need char
3711  --->*** Failers  --->*** Failers
3712    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3713   0:   0:
3714      abcabcabc\C!1!3      abcabcabc\C!1!3
3715  --->abcabcabc  --->abcabcabc
3716    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3717    1 ^  ^          )    1 ^  ^          )
# Line 3718  No need char Line 3722  No need char
3722    
3723  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3724  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3725  No options  No options
3726  No first char  No first char
3727  No need char  No need char
# Line 3741  Callout 0: last capture = 1 Line 3744  Callout 0: last capture = 1
3744      ^     ^    )      ^     ^    )
3745   0: 123456   0: 123456
3746   1: 456   1: 456
3747      123456789\C+      123456789\C+
3748  Callout 0: last capture = -1  Callout 0: last capture = -1
3749   0: <unset>   0: <unset>
3750  --->123456789  --->123456789
# Line 3813  Callout 0: last capture = 1 Line 3816  Callout 0: last capture = 1
3816      ^          a      ^          a
3817   0: abcdef   0: abcdef
3818   1: abc   1: abc
3819    
3820  /(?!(abc)(?C1)d)(?C2)abcxyz/I  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3821  Capturing subpattern count = 1  Capturing subpattern count = 1
3822  No options  No options
3823  First char = 'a'  First char = 'a'
3824  Need char = 'z'  Need char = 'z'
3825      abcxyz\C+      abcxyz\C+
3826  Callout 1: last capture = 1  Callout 1: last capture = 1
3827   0: <unset>   0: <unset>
3828   1: abc   1: abc
# Line 3844  Callout 0: last capture = 1 Line 3847  Callout 0: last capture = 1
3847         ^       )         ^       )
3848   0: xyz   0: xyz
3849   1: abc   1: abc
3850    
3851  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3852  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3853  No options  No options
3854  First char = 'a'  First char = 'a'
3855  Need char = 'b'  Need char = 'b'
# Line 3873  No match Line 3875  No match
3875    
3876  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3877  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3878  No options  No options
3879  First char = 'a'  First char = 'a'
3880  Need char = 'b'  Need char = 'b'
# Line 3896  Callout data = 1 Line 3897  Callout data = 1
3897    1 ^        ^    1 ^        ^
3898  Callout data = 1  Callout data = 1
3899  No match  No match
3900    
3901  /(?C)abc/I  /(?C)abc/I
3902  Capturing subpattern count = 0  Capturing subpattern count = 0
3903  No options  No options
3904  First char = 'a'  First char = 'a'
# Line 3914  Capturing subpattern count = 0 Line 3915  Capturing subpattern count = 0
3915  No options  No options
3916  No first char  No first char
3917  No need char  No need char
3918    Subject length lower bound = 1
3919  Starting byte set: a b  Starting byte set: a b
3920    
3921  /(?R)/I  /(?R)/I
# Line 3954  No need char Line 3956  No need char
3956   3: xxab   3: xxab
3957      *** Failers      *** Failers
3958  No match  No match
3959      xyab      xyab
3960  No match  No match
3961    
3962  /(ab|(bc|(de|(?1))))/I  /(ab|(bc|(de|(?1))))/I
# Line 3974  No need char Line 3976  No need char
3976      a(b)c      a(b)c
3977   0: a(b)c   0: a(b)c
3978   1: c   1: c
3979      a(b(c))d      a(b(c))d
3980   0: a(b(c))d   0: a(b(c))d
3981   1: d   1: d
3982      *** Failers)      *** Failers)
3983  No match  No match
3984      a(b(c)d      a(b(c)d
3985  No match  No match
3986    
3987  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
# Line 3997  Need char = '<' Line 3999  Need char = '<'
3999   0: >abc>(1(2)3)<xyz<   0: >abc>(1(2)3)<xyz<
4000   1: (1(2)3)   1: (1(2)3)
4001    
4002  /(a(?1)b)/D  /(a(?1)b)/DZ
4003  ------------------------------------------------------------------  ------------------------------------------------------------------
4004    0  24 Bra 0          Bra
4005    3  18 Bra 1          CBra 1
4006    8     a          a
4007   10   6 Once          Recurse
4008   13   3 Recurse          b
4009   16   6 Ket          Ket
4010   19     b          Ket
4011   21  18 Ket          End
  24  24 Ket  
  27     End  
4012  ------------------------------------------------------------------  ------------------------------------------------------------------
4013  Capturing subpattern count = 1  Capturing subpattern count = 1
4014  No options  No options
4015  First char = 'a'  First char = 'a'
4016  Need char = 'b'  Need char = 'b'
4017    
4018  /(a(?1)+b)/D  /(a(?1)+b)/DZ
4019  ------------------------------------------------------------------  ------------------------------------------------------------------
4020    0  24 Bra 0          Bra
4021    3  18 Bra 1          CBra 1
4022    8     a          a
4023   10   6 Once          Once
4024   13   3 Recurse          Recurse
4025   16   6 KetRmax          KetRmax
4026   19     b          b
4027   21  18 Ket          Ket
4028   24  24 Ket          Ket
4029   27     End          End
4030  ------------------------------------------------------------------  ------------------------------------------------------------------
4031  Capturing subpattern count = 1  Capturing subpattern count = 1
4032  No options  No options
4033  First char = 'a'  First char = 'a'
4034  Need char = 'b'  Need char = 'b'
4035    
 /^\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  
   
4036  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4037  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4038  Options: anchored  Options: anchored
4039  No first char  No first char
4040  No need char  No need char
# Line 4087  No need char Line 4052  No need char
4052  No match  No match
4053      ((2+2)*-3)-7)      ((2+2)*-3)-7)
4054  No match  No match
4055    
4056  /^(x(y|(?1){2})z)/I  /^(x(y|(?1){2})z)/I
4057  Capturing subpattern count = 2  Capturing subpattern count = 2
4058  Options: anchored  Options: anchored
# Line 4097  No need char Line 4062  No need char
4062   0: xyz   0: xyz
4063   1: xyz   1: xyz
4064   2: y   2: y
4065      xxyzxyzz      xxyzxyzz
4066   0: xxyzxyzz   0: xxyzxyzz
4067   1: xxyzxyzz   1: xxyzxyzz
4068   2: xyzxyz   2: xyzxyz
# Line 4105  No need char Line 4070  No need char
4070  No match  No match
4071      xxyzz      xxyzz
4072  No match  No match
4073      xxyzxyzxyzz      xxyzxyzxyzz
4074  No match  No match
4075    
4076  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4077  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4078  Options: extended  Options: extended
4079  First char = '<'  First char = '<'
4080  Need char = '>'  Need char = '>'
# Line 4130  Need char = '>' Line 4094  Need char = '>'
4094   0: <def>   0: <def>
4095   1: <def>   1: <def>
4096   2: <def>   2: <def>
4097      <abc<>def>      <abc<>def>
4098   0: <abc<>def>   0: <abc<>def>
4099   1: <abc<>def>   1: <abc<>def>
4100   2: <abc<>def>   2: <abc<>def>
4101      <abc<>      <abc<>
4102   0: <>   0: <>
4103   1: <>   1: <>
4104   2: <>   2: <>
# Line 4169  No need char Line 4133  No need char
4133      a=b      a=b
4134   0: a=b   0: a=b
4135   1: a   1: a
4136      a=bc      a=bc
4137   0: a=bc   0: a=bc
4138   1: a   1: a
4139    
# Line 4186  No need char Line 4150  No need char
4150   0: a=b   0: a=b
4151   1: a   1: a
4152   2: b   2: b
4153      a=bc      a=bc
4154   0: a=bc   0: a=bc
4155   1: a   1: a
4156   2: c   2: c
4157    
4158  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4159  ------------------------------------------------------------------  ------------------------------------------------------------------
4160    0  32 Bra 0          Bra
4161    3     a          a
4162    5   7 Bra 1          CBra 1
4163   10     b          b
4164   12   5 Alt          Alt
4165   15     c          c
4166   17  12 Ket          Ket
4167   20     d          d
4168   22   7 Bra 2          CBra 2
4169   27     e          e
4170   29   7 Ket          Ket
4171   32  32 Ket          Ket
4172   35     End          End
4173  ------------------------------------------------------------------  ------------------------------------------------------------------
4174  Capturing subpattern count = 2  Capturing subpattern count = 2
4175  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4218  Need char = 'e' Line 4182  Need char = 'e'
4182   0: abde   0: abde
4183   1: b   1: b
4184   2: e   2: e
4185      acde      acde
4186   0: acde   0: acde
4187   1: c   1: c
4188   2: e   2: e
4189    
4190  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4191  ------------------------------------------------------------------  ------------------------------------------------------------------
4192    0  41 Bra 0          Bra
4193    3  25 Bra 0          Bra
4194    6     a          a
4195    8  17 Bra 1          CBra 1
4196   13     c          c
4197   15   7 Bra 2          CBra 2
4198   20     d          d
4199   22   7 Ket          Ket
4200   25  17 Ket          Ket
4201   28  25 Ket          Ket
4202   31   7 Bra 3          CBra 3
4203   36     a          a
4204   38   7 Ket          Ket
4205   41  41 Ket          Ket
4206   44     End          End
4207  ------------------------------------------------------------------  ------------------------------------------------------------------
4208  Capturing subpattern count = 3  Capturing subpattern count = 3
4209  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4250  No options Line 4214  No options
4214  First char = 'a'  First char = 'a'
4215  Need char = 'a'  Need char = 'a'
4216    
4217  /(?P<a>a)...(?P=a)bbb(?P>a)d/D  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4218  ------------------------------------------------------------------  ------------------------------------------------------------------
4219    0  36 Bra 0          Bra
4220    3   7 Bra 1          CBra 1
4221    8     a          a
4222   10   7 Ket          Ket
4223   13     Any          Any
4224   14     Any          Any
4225   15     Any          Any
4226   16     \1          \1
4227   19     bbb          bbb
4228   25   6 Once          Recurse
4229   28   3 Recurse          d
4230   31   6 Ket          Ket
4231   34     d          End
  36  36 Ket  
  39     End  
4232  ------------------------------------------------------------------  ------------------------------------------------------------------
4233  Capturing subpattern count = 1  Capturing subpattern count = 1
4234  Max back reference = 1  Max back reference = 1
# Line 4284  Named capturing subpatterns: Line 4246  Named capturing subpatterns:
4246    one     1    one     1
4247    three   3    three   3
4248    two     2    two     2
 Partial matching not supported  
4249  Options: anchored caseless  Options: anchored caseless
4250  No first char  No first char
4251  No need char  No need char
# Line 4304  No need char Line 4265  No need char
4265   2: <unset>   2: <unset>
4266   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4267   4: A   4: A
4268      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4269   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4270   1: <unset>   1: <unset>
4271   2: <unset>   2: <unset>
# Line 4312  No need char Line 4273  No need char
4273   4: A   4: A
4274      *** Failers      *** Failers
4275  No match  No match
4276      The quick brown fox      The quick brown fox
4277  No match  No match
4278    
4279  /((?(R)a|b))\1(?1)?/I  /((?(R)a|b))\1(?1)?/I
4280  Capturing subpattern count = 1  Capturing subpattern count = 1
4281  Max back reference = 1  Max back reference = 1
# Line 4324  No need char Line 4285  No need char
4285    bb    bb
4286   0: bb   0: bb
4287   1: b   1: b
4288    bbaa    bbaa
4289   0: bba   0: bba
4290   1: b   1: b
4291    
4292  /(.*)a/Is  /(.*)a/Is
4293  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4294  Options: anchored dotall  Options: anchored dotall
4295  No first char  No first char
4296  Need char = 'a'  Need char = 'a'
# Line 4338  Need char = 'a' Line 4298  Need char = 'a'
4298  /(.*)a\1/Is  /(.*)a\1/Is
4299  Capturing subpattern count = 1  Capturing subpattern count = 1
4300  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4301  Options: dotall  Options: dotall
4302  No first char  No first char
4303  Need char = 'a'  Need char = 'a'
# Line 4346  Need char = 'a' Line 4305  Need char = 'a'
4305  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4306  Capturing subpattern count = 2  Capturing subpattern count = 2
4307  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4308  Options: anchored dotall  Options: anchored dotall
4309  No first char  No first char
4310  Need char = 'b'  Need char = 'b'
4311    
4312  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4313  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4314  Options: anchored dotall  Options: anchored dotall
4315  No first char  No first char
4316  Need char = 'z'  Need char = 'z'
# Line 4361  Need char = 'z' Line 4318  Need char = 'z'
4318  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4319  Capturing subpattern count = 3  Capturing subpattern count = 3
4320  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4321  Options: dotall  Options: dotall
4322  No first char  No first char
4323  Need char = 'z'  Need char = 'z'
# Line 4369  Need char = 'z' Line 4325  Need char = 'z'
4325  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4326  Capturing subpattern count = 3  Capturing subpattern count = 3
4327  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4328  Options: dotall  Options: dotall
4329  No first char  No first char
4330  Need char = 'z'  Need char = 'z'
# Line 4377  Need char = 'z' Line 4332  Need char = 'z'
4332  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4333  Capturing subpattern count = 3  Capturing subpattern count = 3
4334  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4335  Options: dotall  Options: dotall
4336  No first char  No first char
4337  Need char = 'z'  Need char = 'z'
# Line 4385  Need char = 'z' Line 4339  Need char = 'z'
4339  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4340  Capturing subpattern count = 3  Capturing subpattern count = 3
4341  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4342  Options: anchored dotall  Options: anchored dotall
4343  No first char  No first char
4344  Need char = 'z'  Need char = 'z'
4345    
4346  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4347  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4348  Options: anchored dotall  Options: anchored dotall
4349  No first char  No first char
4350  No need char  No need char
# Line 4400  No need char Line 4352  No need char
4352  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4353  Capturing subpattern count = 31  Capturing subpattern count = 31
4354  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4355  Options: dotall  Options: dotall
4356  No first char  No first char
4357  No need char  No need char
# Line 4408  No need char Line 4359  No need char
4359  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4360  Capturing subpattern count = 32  Capturing subpattern count = 32
4361  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4362  Options: dotall  Options: dotall
4363  No first char  No first char
4364  No need char  No need char
4365    
4366  /(a)(bc)/IND  /(a)(bc)/INDZ
4367  ------------------------------------------------------------------  ------------------------------------------------------------------
4368    0  21 Bra 0          Bra
4369    3   5 Bra 0          Bra
4370    6     a          a
4371    8   5 Ket          Ket
4372   11   7 Bra 0          Bra
4373   14     bc          bc
4374   18   7 Ket          Ket
4375   21  21 Ket          Ket
4376   24     End          End
4377  ------------------------------------------------------------------  ------------------------------------------------------------------
4378  Capturing subpattern count = 0  Capturing subpattern count = 0
4379  Options: no_auto_capture  Options: no_auto_capture
# Line 4432  Need char = 'c' Line 4382  Need char = 'c'
4382    abc    abc
4383   0: abc   0: abc
4384    
4385  /(?P<one>a)(bc)/IND  /(?P<one>a)(bc)/INDZ
4386  ------------------------------------------------------------------  ------------------------------------------------------------------
4387    0  23 Bra 0          Bra
4388    3   7 Bra 1          CBra 1
4389    8     a          a
4390   10   7 Ket          Ket
4391   13   7 Bra 0          Bra
4392   16     bc          bc
4393   20   7 Ket          Ket
4394   23  23 Ket          Ket
4395   26     End          End
4396  ------------------------------------------------------------------  ------------------------------------------------------------------
4397  Capturing subpattern count = 1  Capturing subpattern count = 1
4398  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4454  Need char = 'c' Line 4404  Need char = 'c'
4404   0: abc   0: abc
4405   1: a   1: a
4406    
4407  /(a)(?P<named>bc)/IND  /(a)(?P<named>bc)/INDZ
4408  ------------------------------------------------------------------  ------------------------------------------------------------------
4409    0  23 Bra 0          Bra
4410    3   5 Bra 0          Bra
4411    6     a          a
4412    8   5 Ket          Ket
4413   11   9 Bra 1          CBra 1
4414   16     bc          bc
4415   20   9 Ket          Ket
4416   23  23 Ket          Ket
4417   26     End          End
4418  ------------------------------------------------------------------  ------------------------------------------------------------------
4419  Capturing subpattern count = 1  Capturing subpattern count = 1
4420  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4475  Need char = 'c' Line 4425  Need char = 'c'
4425    
4426  /(a+)*zz/I  /(a+)*zz/I
4427  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4428  No options  No options
4429  No first char  No first char
4430  Need char = 'z'  Need char = 'z'
4431    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4432  Minimum match() limit = 8  Minimum match() limit = 8
4433  Minimum match() recursion limit = 6  Minimum match() recursion limit = 7
4434   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz   0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4435   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4436    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4437  Minimum match() limit = 32768  Minimum match() limit = 32768
4438  Minimum match() recursion limit = 42  Minimum match() recursion limit = 43
4439  No match  No match
4440    
4441  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4540  Need char = 'h' Line 4489  Need char = 'h'
4489   2: gh   2: gh
4490    C cd (2) one    C cd (2) one
4491    C gh (2) two    C gh (2) two
4492      abcdefgh\Cthree      abcdefgh\Cthree
4493  no parentheses with name "three"  no parentheses with name "three"
4494   0: abcdefgh   0: abcdefgh
4495   1: cd   1: cd
4496   2: gh   2: gh
4497  copy substring three failed -7  copy substring three failed -7
4498    
4499  /(?P<Tes>)(?P<Test>)/D  /(?P<Tes>)(?P<Test>)/DZ
4500  ------------------------------------------------------------------  ------------------------------------------------------------------
4501    0  19 Bra 0          Bra
4502    3   5 Bra 1          CBra 1
4503    8   5 Ket          Ket
4504   11   5 Bra 2          CBra 2
4505   16   5 Ket          Ket
4506   19  19 Ket          Ket
4507   22     End          End
4508  ------------------------------------------------------------------  ------------------------------------------------------------------
4509  Capturing subpattern count = 2  Capturing subpattern count = 2
4510  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4565  No options Line 4514  No options
4514  No first char  No first char
4515  No need char  No need char
4516    
4517  /(?P<Test>)(?P<Tes>)/D  /(?P<Test>)(?P<Tes>)/DZ
4518  ------------------------------------------------------------------  ------------------------------------------------------------------
4519    0  19 Bra 0          Bra
4520    3   5 Bra 1          CBra 1
4521    8   5 Ket          Ket
4522   11   5 Bra 2          CBra 2
4523   16   5 Ket          Ket
4524   19  19 Ket          Ket
4525   22     End          End
4526  ------------------------------------------------------------------  ------------------------------------------------------------------
4527  Capturing subpattern count = 2  Capturing subpattern count = 2
4528  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4612  Failed: two named subpatterns have the s Line 4561  Failed: two named subpatterns have the s
4561  Capturing subpattern count = 3  Capturing subpattern count = 3
4562  Named capturing subpatterns:  Named capturing subpatterns:
4563    elem   2    elem   2
 Partial matching not supported  
4564  No options  No options
4565  First char = '['  First char = '['
4566  Need char = ']'  Need char = ']'
# Line 4623  Need char = ']' Line 4571  Need char = ']'
4571   3: ,4234   3: ,4234
4572      *** Failers      *** Failers
4573  No match  No match
4574      []      []
4575  No match  No match
4576    
4577  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
4578  Capturing subpattern count = 3  Capturing subpattern count = 3
4579  Named capturing subpatterns:  Named capturing subpatterns:
4580    elem   2    elem   2
 Partial matching not supported  
4581  No options  No options
4582  First char = '['  First char = '['
4583  Need char = ']'  Need char = ']'
# Line 4639  Need char = ']' Line 4586  Need char = ']'
4586   1: 10,20,30,5,5,4,4,2,43,23,4234   1: 10,20,30,5,5,4,4,2,43,23,4234
4587   2: 10   2: 10
4588   3: ,4234   3: ,4234
4589      []      []
4590   0: []   0: []
4591    
4592  /(a(b(?2)c))?/D  /(a(b(?2)c))?/DZ
4593  ------------------------------------------------------------------  ------------------------------------------------------------------
4594    0  35 Bra 0          Bra
4595    3     Brazero          Brazero
4596    4  28 Bra 1          CBra 1
4597    9     a          a
4598   11  18 Bra 2          CBra 2
4599   16     b          b
4600   18   6 Once          Recurse
4601   21  11 Recurse          c
4602   24   6 Ket          Ket
4603   27     c          Ket
4604   29  18 Ket          Ket
4605   32  28 Ket          End
  35  35 Ket  
  38     End  
4606  ------------------------------------------------------------------  ------------------------------------------------------------------
4607  Capturing subpattern count = 2  Capturing subpattern count = 2
4608  No options  No options
4609  No first char  No first char
4610  No need char  No need char
4611    
4612  /(a(b(?2)c))*/D  /(a(b(?2)c))*/DZ
4613  ------------------------------------------------------------------  ------------------------------------------------------------------
4614    0  35 Bra 0          Bra
4615    3     Brazero          Brazero
4616    4  28 Bra 1          CBra 1
4617    9     a          a
4618   11  18 Bra 2          CBra 2
4619   16     b          b
4620   18   6 Once          Recurse
4621   21  11 Recurse          c
4622   24   6 Ket          Ket
4623   27     c          KetRmax
4624   29  18 Ket          Ket
4625   32  28 KetRmax          End
  35  35 Ket  
  38     End  
4626  ------------------------------------------------------------------  ------------------------------------------------------------------
4627  Capturing subpattern count = 2  Capturing subpattern count = 2
4628  No options  No options
4629  No first char  No first char
4630  No need char  No need char
4631    
4632  /(a(b(?2)c)){0,2}/D  /(a(b(?2)c)){0,2}/DZ
4633  ------------------------------------------------------------------  ------------------------------------------------------------------
4634    0  73 Bra 0          Bra
4635    3     Brazero          Brazero
4636    4  66 Bra 0          Bra
4637    7  28 Bra 1          CBra 1
4638   12     a          a
4639   14  18 Bra 2          CBra 2
4640   19     b          b
4641   21   6 Once          Recurse
4642   24  14 Recurse          c
4643   27   6 Ket          Ket
4644   30     c          Ket
4645   32  18 Ket          Brazero
4646   35  28 Ket          CBra 1
4647   38     Brazero          a
4648   39  28 Bra 1          CBra 2
4649   44     a          b
4650   46  18 Bra 2          Recurse
4651   51     b          c
4652   53   6 Once          Ket
4653   56  14 Recurse          Ket
4654   59   6 Ket          Ket
4655   62     c          Ket
4656   64  18 Ket          End
  67  28 Ket  
  70  66 Ket  
  73  73 Ket  
  76     End  
4657  ------------------------------------------------------------------  ------------------------------------------------------------------
4658  Capturing subpattern count = 2  Capturing subpattern count = 2
4659  No options  No options
4660  No first char  No first char
4661  No need char  No need char
4662    
4663  /[ab]{1}+/D  /[ab]{1}+/DZ
4664  ------------------------------------------------------------------  ------------------------------------------------------------------
4665    0  47 Bra 0          Bra
4666    3  41 Once          Once
4667    6     [ab]{1,1}          [ab]{1,1}
4668   44  41 Ket          Ket
4669   47  47 Ket          Ket
4670   50     End          End
4671  ------------------------------------------------------------------  ------------------------------------------------------------------
4672  Capturing subpattern count = 0  Capturing subpattern count = 0
4673  No options  No options
# Line 4737  No need char Line 4676  No need char
4676    
4677  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4678  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4679  Options: caseless  Options: caseless
4680  No first char  No first char
4681  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4747  Need char = 'g' (caseless) Line 4685  Need char = 'g' (caseless)
4685    
4686  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4687  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4688  Options: caseless  Options: caseless
4689  No first char  No first char
4690  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4691  Study returned NULL  Subject length lower bound = 8
4692    No set of starting bytes
4693       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4694   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4695   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4696    
4697  /a*.*b/ISD  /a*.*b/ISDZ
4698  ------------------------------------------------------------------  ------------------------------------------------------------------
4699    0   9 Bra 0          Bra
4700    3     a*          a*
4701    5     Any*          Any*
4702    7     b          b
4703    9   9 Ket          Ket
4704   12     End          End
4705  ------------------------------------------------------------------  ------------------------------------------------------------------
4706  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4707  No options  No options
4708  No first char  No first char
4709  Need char = 'b'  Need char = 'b'
4710  Study returned NULL  Subject length lower bound = 1
4711    No set of starting bytes
4712    
4713  /(a|b)*.?c/ISD  /(a|b)*.?c/ISDZ
4714  ------------------------------------------------------------------  ------------------------------------------------------------------
4715    0  23 Bra 0          Bra
4716    3     Brazero          Brazero
4717    4   7 Bra 1          CBra 1
4718    9     a          a
4719   11   5 Alt          Alt
4720   14     b          b
4721   16  12 KetRmax          KetRmax
4722   19     Any?          Any?
4723   21     c          c
4724   23  23 Ket          Ket
4725   26     End          End
4726  ------------------------------------------------------------------  ------------------------------------------------------------------
4727  Capturing subpattern count = 1  Capturing subpattern count = 1
4728  No options  No options
4729  No first char  No first char
4730  Need char = 'c'  Need char = 'c'
4731  Study returned NULL  Subject length lower bound = 1
4732    No set of starting bytes
4733    
4734  /abc(?C255)de(?C)f/D  /abc(?C255)de(?C)f/DZ
4735  ------------------------------------------------------------------  ------------------------------------------------------------------
4736    0  27 Bra 0          Bra
4737    3     abc          abc
4738    9     Callout 255 10 1          Callout 255 10 1
4739   15     de          de
4740   19     Callout 0 16 1          Callout 0 16 1
4741   25     f          f
4742   27  27 Ket          Ket
4743   30     End          End
4744  ------------------------------------------------------------------  ------------------------------------------------------------------
4745  Capturing subpattern count = 0  Capturing subpattern count = 0
4746  No options  No options
4747  First char = 'a'  First char = 'a'
4748  Need char = 'f'  Need char = 'f'
4749    
4750  /abcde/ICD  /abcde/ICDZ
4751  ------------------------------------------------------------------  ------------------------------------------------------------------
4752    0  49 Bra 0          Bra
4753    3     Callout 255 0 1          Callout 255 0 1
4754    9     a          a
4755   11     Callout 255 1 1          Callout 255 1 1
4756   17     b          b
4757   19     Callout 255 2 1          Callout 255 2 1
4758   25     c          c
4759   27     Callout 255 3 1          Callout 255 3 1
4760   33     d          d
4761   35     Callout 255 4 1          Callout 255 4 1
4762   41     e          e
4763   43     Callout 255 5 0          Callout 255 5 0
4764   49  49 Ket          Ket
4765   52     End          End
4766  ------------------------------------------------------------------  ------------------------------------------------------------------
4767  Capturing subpattern count = 0  Capturing subpattern count = 0
4768  Options:  Options:
# Line 4838  Need char = 'e' Line 4777  Need char = 'e'
4777   +4 ^   ^     e   +4 ^   ^     e
4778   +5 ^    ^   +5 ^    ^
4779   0: abcde   0: abcde
4780    abcdfe    abcdfe
4781  --->abcdfe  --->abcdfe
4782   +0 ^          a   +0 ^          a
4783   +1 ^^         b   +1 ^^         b
# Line 4846  Need char = 'e' Line 4785  Need char = 'e'
4785   +3 ^  ^       d   +3 ^  ^       d
4786   +4 ^   ^      e   +4 ^   ^      e
4787  No match  No match
4788    
4789  /a*b/ICD  /a*b/ICDZS
4790    ------------------------------------------------------------------
4791            Bra
4792            Callout 255 0 2
4793            a*+
4794            Callout 255 2 1
4795            b
4796            Callout 255 3 0
4797            Ket
4798            End
4799    ------------------------------------------------------------------
4800    Capturing subpattern count = 0
4801    Options:
4802    No first char
4803    Need char = 'b'
4804    Subject length lower bound = 1
4805    Starting byte set: a b
4806      ab
4807    --->ab
4808     +0 ^      a*
4809     +2 ^^     b
4810     +3 ^ ^
4811     0: ab
4812      aaaab
4813    --->aaaab
4814     +0 ^         a*
4815     +2 ^   ^     b
4816     +3 ^    ^
4817     0: aaaab
4818      aaaacb
4819    --->aaaacb
4820     +0 ^          a*
4821     +2 ^   ^      b
4822     +0  ^         a*
4823     +2  ^  ^      b
4824     +0   ^        a*
4825     +2   ^ ^      b
4826     +0    ^       a*
4827     +2    ^^      b
4828     +0      ^     a*
4829     +2      ^     b
4830     +3      ^^
4831     0: b
4832    
4833    /a*b/ICDZSS
4834  ------------------------------------------------------------------  ------------------------------------------------------------------
4835    0  25 Bra 0          Bra
4836    3     Callout 255 0 2          Callout 255 0 2
4837    9     a*+          a*+
4838   11     Callout 255 2 1          Callout 255 2 1
4839   17     b          b
4840   19     Callout 255 3 0          Callout 255 3 0
4841   25  25 Ket          Ket
4842   28     End          End
4843  ------------------------------------------------------------------  ------------------------------------------------------------------
4844  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4845  Options:  Options:
4846  No first char  No first char
4847  Need char = 'b'  Need char = 'b'
# Line 4875  Need char = 'b' Line 4857  Need char = 'b'
4857   +2 ^   ^     b   +2 ^   ^     b
4858   +3 ^    ^   +3 ^    ^
4859   0: aaaab   0: aaaab
4860    aaaacb    aaaacb
4861  --->aaaacb  --->aaaacb
4862   +0 ^          a*   +0 ^          a*
4863   +2 ^   ^      b   +2 ^   ^      b
# Line 4892  Need char = 'b' Line 4874  Need char = 'b'
4874   +3      ^^   +3      ^^
4875   0: b   0: b
4876    
4877  /a+b/ICD  /a+b/ICDZ
4878  ------------------------------------------------------------------  ------------------------------------------------------------------
4879    0  25 Bra 0          Bra
4880    3     Callout 255 0 2          Callout 255 0 2
4881    9     a++          a++
4882   11     Callout 255 2 1          Callout 255 2 1
4883   17     b          b
4884   19     Callout 255 3 0          Callout 255 3 0
4885   25  25 Ket          Ket
4886   28     End          End
4887  ------------------------------------------------------------------  ------------------------------------------------------------------
4888  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4889  Options:  Options:
4890  First char = 'a'  First char = 'a'
4891  Need char = 'b'  Need char = 'b'
# Line 4920  Need char = 'b' Line 4901  Need char = 'b'
4901   +2 ^   ^     b   +2 ^   ^     b
4902   +3 ^    ^   +3 ^    ^
4903   0: aaaab   0: aaaab
4904    aaaacb    aaaacb
4905  --->aaaacb  --->aaaacb
4906   +0 ^          a+   +0 ^          a+
4907   +2 ^   ^      b   +2 ^   ^      b
# Line 4932  Need char = 'b' Line 4913  Need char = 'b'
4913   +2    ^^      b   +2    ^^      b
4914  No match  No match
4915    
4916  /(abc|def)x/ICD  /(abc|def)x/ICDZS
4917  ------------------------------------------------------------------  ------------------------------------------------------------------
4918    0  94 Bra 0          Bra
4919    3     Callout 255 0 9          Callout 255 0 9
4920    9  35 Bra 1          CBra 1
4921   14     Callout 255 1 1          Callout 255 1 1
4922   20     a          a
4923   22     Callout 255 2 1          Callout 255 2 1
4924   28     b          b
4925   30     Callout 255 3 1          Callout 255 3 1
4926   36     c          c
4927   38     Callout 255 4 0          Callout 255 4 0
4928   44  33 Alt          Alt
4929   47     Callout 255 5 1          Callout 255 5 1
4930   53     d          d
4931   55     Callout 255 6 1          Callout 255 6 1
4932   61     e          e
4933   63     Callout 255 7 1          Callout 255 7 1
4934   69     f          f
4935   71     Callout 255 8 0          Callout 255 8 0
4936   77  68 Ket          Ket
4937   80     Callout 255 9 1          Callout 255 9 1
4938   86     x          x
4939   88     Callout 255 10 0          Callout 255 10 0
4940   94  94 Ket          Ket
4941   97     End          End
4942  ------------------------------------------------------------------  ------------------------------------------------------------------
4943  Capturing subpattern count = 1  Capturing subpattern count = 1
4944  Options:  Options:
4945  No first char  No first char
4946  Need char = 'x'  Need char = 'x'
4947    Subject length lower bound = 4
4948    Starting byte set: a d
4949    abcx    abcx
4950  --->abcx  --->abcx
4951   +0 ^        (abc|def)   +0 ^        (abc|def)
# Line 4986  Need char = 'x' Line 4969  Need char = 'x'
4969  +10 ^   ^  +10 ^   ^
4970   0: defx   0: defx
4971   1: def   1: def
4972      ** Failers
4973    No match
4974    abcdefzx    abcdefzx
4975  --->abcdefzx  --->abcdefzx
4976   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 4995  Need char = 'x' Line 4980  Need char = 'x'
4980   +4 ^  ^         |   +4 ^  ^         |
4981   +9 ^  ^         x   +9 ^  ^         x
4982   +5 ^            d   +5 ^            d
  +0  ^           (abc|def)  
  +1  ^           a  
  +5  ^           d  
  +0   ^          (abc|def)  
  +1   ^          a  
  +5   ^          d  
4983   +0    ^         (abc|def)   +0    ^         (abc|def)
4984   +1    ^         a   +1    ^         a
4985   +5    ^         d   +5    ^         d
# Line 5008  Need char = 'x' Line 4987  Need char = 'x'
4987   +7    ^ ^       f   +7    ^ ^       f
4988   +8    ^  ^      )   +8    ^  ^      )
4989   +9    ^  ^      x   +9    ^  ^      x
4990   +0     ^        (abc|def)  No match
4991   +1     ^        a  
4992   +5     ^        d  /(abc|def)x/ICDZSS
4993   +0      ^       (abc|def)  ------------------------------------------------------------------
4994   +1      ^       a          Bra
4995            Callout 255 0 9
4996            CBra 1
4997            Callout 255 1 1
4998            a
4999            Callout 255 2 1
5000            b
5001            Callout 255 3 1
5002            c
5003            Callout 255 4 0
5004            Alt
5005            Callout 255 5 1
5006            d
5007            Callout 255 6 1
5008            e
5009            Callout 255 7 1
5010            f
5011            Callout 255 8 0
5012            Ket
5013            Callout 255 9 1
5014            x
5015            Callout 255 10 0
5016            Ket
5017            End
5018    ------------------------------------------------------------------
5019    Capturing subpattern count = 1
5020    Options:
5021    No first char
5022    Need char = 'x'
5023      abcx
5024    --->abcx
5025     +0 ^        (abc|def)