/[pcre]/code/trunk/testdata/testoutput2
ViewVC logotype

Diff of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 93 by nigel, Sat Feb 24 21:41:42 2007 UTC revision 937 by ph10, Sun Feb 26 15:58:56 2012 UTC
# Line 1  Line 1 
1    /-- This set of tests is not Perl-compatible. It checks on special features
2        of PCRE's API, error diagnostics, and the compiled code of some patterns.
3        It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4        Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5        either because PCRE can't be compatible, or there is a possible Perl
6        bug.
7    
8        NOTE: This is a non-UTF set of tests. When UTF support is needed, use
9        test 5, and if Unicode Property Support is needed, use test 7. --/
10    
11  /(a)b|/I  /(a)b|/I
12  Capturing subpattern count = 1  Capturing subpattern count = 1
13  No options  No options
# Line 40  No match Line 50  No match
50    
51  /a+bc/I  /a+bc/I
52  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
53  No options  No options
54  First char = 'a'  First char = 'a'
55  Need char = 'c'  Need char = 'c'
56    
57  /a*bc/I  /a*bc/I
58  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
59  No options  No options
60  No first char  No first char
61  Need char = 'c'  Need char = 'c'
62    
63  /a{3}bc/I  /a{3}bc/I
64  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
65  No options  No options
66  First char = 'a'  First char = 'a'
67  Need char = 'c'  Need char = 'c'
68    
69  /(abc|a+z)/I  /(abc|a+z)/I
70  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
71  No options  No options
72  First char = 'a'  First char = 'a'
73  No need char  No need char
# Line 78  No match Line 84  No match
84      def\nabc      def\nabc
85  No match  No match
86    
87  /ab\hdef/X  /ab\idef/X
88  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
89    
90  /(?X)ab\hdef/X  /(?X)ab\idef/X
91  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
92    
93  /x{5,4}/  /x{5,4}/
# Line 96  Failed: missing terminating ] for charac Line 102  Failed: missing terminating ] for charac
102  /(?X)[\B]/  /(?X)[\B]/
103  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
104    
105    /(?X)[\R]/
106    Failed: invalid escape sequence in character class at offset 6
107    
108    /(?X)[\X]/
109    Failed: invalid escape sequence in character class at offset 6
110    
111    /[\B]/BZ
112    ------------------------------------------------------------------
113            Bra
114            B
115            Ket
116            End
117    ------------------------------------------------------------------
118    
119    /[\R]/BZ
120    ------------------------------------------------------------------
121            Bra
122            R
123            Ket
124            End
125    ------------------------------------------------------------------
126    
127    /[\X]/BZ
128    ------------------------------------------------------------------
129            Bra
130            X
131            Ket
132            End
133    ------------------------------------------------------------------
134    
135  /[z-a]/  /[z-a]/
136  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
137    
# Line 109  Failed: missing ) at offset 4 Line 145  Failed: missing ) at offset 4
145  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
146    
147  /(?z)abc/  /(?z)abc/
148  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
149    
150  /.*b/I  /.*b/I
151  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
152  No options  No options
153  First char at start or follows newline  First char at start or follows newline
154  Need char = 'b'  Need char = 'b'
155    
156  /.*?b/I  /.*?b/I
157  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
158  No options  No options
159  First char at start or follows newline  First char at start or follows newline
160  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 174  Capturing subpattern count = 0
174  No options  No options
175  No first char  No first char
176  No need char  No need char
177    Subject length lower bound = 3
178  Starting byte set: c d e  Starting byte set: c d e
179      this sentence eventually mentions a cat      this sentence eventually mentions a cat
180   0: cat   0: cat
# Line 151  Capturing subpattern count = 0 Line 186  Capturing subpattern count = 0
186  Options: caseless  Options: caseless
187  No first char  No first char
188  No need char  No need char
189    Subject length lower bound = 3
190  Starting byte set: C D E c d e  Starting byte set: C D E c d e
191      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
192   0: CAT   0: CAT
# Line 162  Capturing subpattern count = 0 Line 198  Capturing subpattern count = 0
198  No options  No options
199  No first char  No first char
200  No need char  No need char
201    Subject length lower bound = 1
202  Starting byte set: a b c d  Starting byte set: a b c d
203    
204  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 169  Capturing subpattern count = 1 Line 206  Capturing subpattern count = 1
206  No options  No options
207  No first char  No first char
208  No need char  No need char
209    Subject length lower bound = 1
210  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
211    \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
212    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 189  Capturing subpattern count = 1 Line 227  Capturing subpattern count = 1
227  No options  No options
228  No first char  No first char
229  No need char  No need char
230    Subject length lower bound = 1
231  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
232    
233  /(ab\2)/  /(ab\2)/
# Line 222  Matched, but too many substrings Line 261  Matched, but too many substrings
261   0: abcb   0: abcb
262   1: a   1: a
263   2: b   2: b
264      \O12abcb      \O12abcb
265   0: abcb   0: abcb
266   1: a   1: a
267   2: b   2: b
# Line 310  No match Line 349  No match
349  No match  No match
350    
351  /ab(?z)cd/  /ab(?z)cd/
352  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
353    
354  /^abc|def/I  /^abc|def/I
355  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 324  No need char Line 363  No need char
363    
364  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
365  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
366  No options  No options
367  First char at start or follows newline  First char at start or follows newline
368  No need char  No need char
# Line 338  No need char Line 376  No need char
376   2: <unset>   2: <unset>
377   3: def   3: def
378    
 /abc/IP  
     abc  
  0: abc  
     *** Failers  
 No match: POSIX code 17: match failed  
   
 /^abc|def/IP  
     abcdef  
  0: abc  
     abcdef\B  
  0: def  
   
 /.*((abc)$|(def))/IP  
     defabc  
  0: defabc  
  1: abc  
  2: abc  
     \Zdefabc  
  0: def  
  1: def  
  3: def  
   
 /the quick brown fox/IP  
     the quick brown fox  
  0: the quick brown fox  
     *** Failers  
 No match: POSIX code 17: match failed  
     The Quick Brown Fox  
 No match: POSIX code 17: match failed  
   
 /the quick brown fox/IPi  
     the quick brown fox  
  0: the quick brown fox  
     The Quick Brown Fox  
  0: The Quick Brown Fox  
   
 /abc.def/IP  
     *** Failers  
 No match: POSIX code 17: match failed  
     abc\ndef  
 No match: POSIX code 17: match failed  
   
 /abc$/IP  
     abc  
  0: abc  
     abc\n  
  0: abc  
   
 /(abc)\2/IP  
 Failed: POSIX code 15: bad back reference at offset 7  
   
 /(abc\1)/IP  
     abc  
 No match: POSIX code 17: match failed  
   
379  /)/  /)/
380  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
381    
# Line 401  Failed: missing terminating ] for charac Line 384  Failed: missing terminating ] for charac
384    
385  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
386  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
387  No options  No options
388  No first char  No first char
389  No need char  No need char
390      co-processors, and for      co-processors, and for
391   0: -pr   0: -pr
392    
393  /<.*>/I  /<.*>/I
394  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
395  No options  No options
396  First char = '<'  First char = '<'
397  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 400  Need char = '>'
400    
401  /<.*?>/I  /<.*?>/I
402  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
403  No options  No options
404  First char = '<'  First char = '<'
405  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 408  Need char = '>'
408    
409  /<.*>/IU  /<.*>/IU
410  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
411  Options: ungreedy  Options: ungreedy
412  First char = '<'  First char = '<'
413  Need char = '>'  Need char = '>'
414      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
415   0: <def>   0: <def>
416    
417  /(?U)<.*>/I  /(?U)<.*>/I
418  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
419  Options: ungreedy  Options: ungreedy
420  First char = '<'  First char = '<'
421  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 424  Need char = '>'
424    
425  /<.*?>/IU  /<.*?>/IU
426  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
427  Options: ungreedy  Options: ungreedy
428  First char = '<'  First char = '<'
429  Need char = '>'  Need char = '>'
430      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
431   0: <def>ghi<klm>   0: <def>ghi<klm>
432    
433  /={3,}/IU  /={3,}/IU
434  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
435  Options: ungreedy  Options: ungreedy
436  First char = '='  First char = '='
437  Need char = '='  Need char = '='
438      abc========def      abc========def
439   0: ===   0: ===
440    
441  /(?U)={3,}?/I  /(?U)={3,}?/I
442  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
443  Options: ungreedy  Options: ungreedy
444  First char = '='  First char = '='
445  Need char = '='  Need char = '='
446      abc========def      abc========def
447   0: ========   0: ========
448    
449  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
450  Capturing subpattern count = 0  Capturing subpattern count = 0
451  No options  No options
452  First char = 'f'  First char = 'f'
453  Need char = 'o'  Need char = 'o'
454    Max lookbehind = 6
455      foo      foo
456   0: foo   0: foo
457      catfoo      catfoo
458   0: foo   0: foo
459      *** Failers      *** Failers
460  No match  No match
461      the barfoo      the barfoo
462  No match  No match
463      and cattlefoo      and cattlefoo
464  No match  No match
465    
466  /(?<=a+)b/  /(?<=a+)b/
# Line 522  No need char Line 498  No need char
498    
499  /(?s).*/I  /(?s).*/I
500  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
501  Options: anchored dotall  Options: anchored dotall
502  No first char  No first char
503  No need char  No need char
# Line 532  Capturing subpattern count = 0 Line 507  Capturing subpattern count = 0
507  No options  No options
508  No first char  No first char
509  No need char  No need char
510    Subject length lower bound = 1
511  Starting byte set: a b c d  Starting byte set: a b c d
512    
513  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 539  Capturing subpattern count = 0 Line 515  Capturing subpattern count = 0
515  Options: caseless  Options: caseless
516  No first char  No first char
517  No need char  No need char
518    Subject length lower bound = 1
519  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
520    
521  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 546  Capturing subpattern count = 1 Line 523  Capturing subpattern count = 1
523  Options: multiline  Options: multiline
524  No first char  No first char
525  No need char  No need char
526    Subject length lower bound = 1
527  Starting byte set: b c x y  Starting byte set: b c x y
528    
529  /(^a|^b)/Im  /(^a|^b)/Im
# Line 584  Failed: syntax error in subpattern name Line 562  Failed: syntax error in subpattern name
562  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
563  Capturing subpattern count = 1  Capturing subpattern count = 1
564  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
565  No options  No options
566  First char = 'b'  First char = 'b'
567  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 569  Need char = 'h'
569  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
570  Capturing subpattern count = 1  Capturing subpattern count = 1
571  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
572  No options  No options
573  First char = 'b' (caseless)  First char = 'b' (caseless)
574  Need char = 'h' (caseless)  Need char = 'h' (caseless)
575    
576  /((?i)b)/IDS  /((?i)b)/IDZS
577  ------------------------------------------------------------------  ------------------------------------------------------------------
578    0  17 Bra 0          Bra
579    3   9 Bra 1          CBra 1
580    8  01 Opt       /i b
581   10  NC b          Ket
582   12   9 Ket          Ket
583   15  00 Opt          End
  17  17 Ket  
  20     End  
584  ------------------------------------------------------------------  ------------------------------------------------------------------
585  Capturing subpattern count = 1  Capturing subpattern count = 1
586  No options  No options
587  First char = 'b' (caseless)  First char = 'b' (caseless)
588  No need char  No need char
589  Study returned NULL  Subject length lower bound = 1
590    No set of starting bytes
591    
592  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
593  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
594  No options  No options
595  No first char  No first char
596  No need char  No need char
597    Subject length lower bound = 1
598  Starting byte set: C a b c d  Starting byte set: C a b c d
599    
600  /a$/I  /a$/I
# Line 631  No need char Line 606  No need char
606   0: a   0: a
607      a\n      a\n
608   0: a   0: a
609      *** Failers      *** Failers
610  No match  No match
611      \Za      \Za
612  No match  No match
613      \Za\n      \Za\n
614  No match  No match
615    
616  /a$/Im  /a$/Im
# Line 647  No need char Line 622  No need char
622   0: a   0: a
623      a\n      a\n
624   0: a   0: a
625      \Za\n      \Za\n
626   0: a   0: a
627      *** Failers      *** Failers
628  No match  No match
629      \Za      \Za
630  No match  No match
631    
632  /\Aabc/Im  /\Aabc/Im
633  Capturing subpattern count = 0  Capturing subpattern count = 0
634  Options: anchored multiline  Options: anchored multiline
635  No first char  No first char
636  No need char  No need char
637    
638  /^abc/Im  /^abc/Im
639  Capturing subpattern count = 0  Capturing subpattern count = 0
640  Options: multiline  Options: multiline
641  First char at start or follows newline  First char at start or follows newline
# Line 668  Need char = 'c' Line 643  Need char = 'c'
643    
644  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
645  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
646  Options: anchored  Options: anchored
647  No first char  No first char
648  No need char  No need char
# Line 685  Capturing subpattern count = 0 Line 659  Capturing subpattern count = 0
659  No options  No options
660  No first char  No first char
661  No need char  No need char
662    Max lookbehind = 3
663    Subject length lower bound = 1
664  Starting byte set: a b  Starting byte set: a b
665    
666  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 692  Capturing subpattern count = 1 Line 668  Capturing subpattern count = 1
668  No options  No options
669  No first char  No first char
670  Need char = 'a'  Need char = 'a'
671    Max lookbehind = 3
672    Subject length lower bound = 5
673  Starting byte set: a o  Starting byte set: a o
674    
675  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 699  Capturing subpattern count = 0 Line 677  Capturing subpattern count = 0
677  No options  No options
678  No first char  No first char
679  No need char  No need char
680    Subject length lower bound = 1
681  Starting byte set: a b  Starting byte set: a b
682    
683  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
684  Capturing subpattern count = 0  Capturing subpattern count = 0
685    Contains explicit CR or LF match
686  Options: multiline  Options: multiline
687  No first char  No first char
688  Need char = 'r'  Need char = 'r'
689      foo\nbarbar  Max lookbehind = 4
690        foo\nbarbar
691   0: bar   0: bar
692      ***Failers      ***Failers
693  No match  No match
694      rhubarb      rhubarb
695  No match  No match
696      barbell      barbell
697  No match  No match
698      abc\nbarton      abc\nbarton
699  No match  No match
700    
701  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
702  Capturing subpattern count = 0  Capturing subpattern count = 0
703    Contains explicit CR or LF match
704  Options: multiline  Options: multiline
705  First char at start or follows newline  First char at start or follows newline
706  Need char = 'r'  Need char = 'r'
707      foo\nbarbar  Max lookbehind = 4
708        foo\nbarbar
709   0: bar   0: bar
710      ***Failers      ***Failers
711  No match  No match
712      rhubarb      rhubarb
713  No match  No match
714      barbell      barbell
715  No match  No match
716      abc\nbarton      abc\nbarton
717  No match  No match
718    
719  /(?>^abc)/Im  /(?>^abc)/Im
# Line 744  Need char = 'c' Line 727  Need char = 'c'
727   0: abc   0: abc
728      *** Failers      *** Failers
729  No match  No match
730      defabc      defabc
731  No match  No match
732    
733  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 763  Capturing subpattern count = 0 Line 746  Capturing subpattern count = 0
746  No options  No options
747  First char = '-'  First char = '-'
748  Need char = 't'  Need char = 't'
749    Max lookbehind = 7
750      the bullock-cart      the bullock-cart
751   0: -cart   0: -cart
752      a donkey-cart race      a donkey-cart race
# Line 771  Need char = 't' Line 755  Need char = 't'
755  No match  No match
756      cart      cart
757  No match  No match
758      horse-and-cart      horse-and-cart
759  No match  No match
760    
761  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
762  Capturing subpattern count = 0  Capturing subpattern count = 0
763  No options  No options
764  No first char  No first char
765  No need char  No need char
766    Max lookbehind = 3
767    
768  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
769  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
770  No options  No options
771  First char at start or follows newline  First char at start or follows newline
772  No need char  No need char
773    Max lookbehind = 4
774      alphabetabcd      alphabetabcd
775   0: alphabetabcd   0: alphabetabcd
776   1: abcd   1: abcd
# Line 799  Capturing subpattern count = 0 Line 784  Capturing subpattern count = 0
784  No options  No options
785  First char = 'Z'  First char = 'Z'
786  Need char = 'Z'  Need char = 'Z'
787    Max lookbehind = 4
788      abxyZZ      abxyZZ
789   0: ZZ   0: ZZ
790      abXyZZ      abXyZZ
# Line 809  Need char = 'Z' Line 795  Need char = 'Z'
795   0: ZZ   0: ZZ
796      bZZ      bZZ
797   0: ZZ   0: ZZ
798      BZZ      BZZ
799   0: ZZ   0: ZZ
800      *** Failers      *** Failers
801  No match  No match
802      ZZ      ZZ
803  No match  No match
804      abXYZZ      abXYZZ
805  No match  No match
806      zzz      zzz
807  No match  No match
808      bzz      bzz
809  No match  No match
810    
811  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
# Line 827  Capturing subpattern count = 1 Line 813  Capturing subpattern count = 1
813  No options  No options
814  First char = 'b'  First char = 'b'
815  Need char = 'r'  Need char = 'r'
816    Max lookbehind = 4
817      bar      bar
818   0: bar   0: bar
819      foobbar      foobbar
820   0: bar   0: bar
821      *** Failers      *** Failers
822  No match  No match
823      fooabar      fooabar
824  No match  No match
825    
826  /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 836  No first char
836  No need char  No need char
837      *** Failers      *** Failers
838  No match  No match
839      a      a
840  No match  No match
841    
842  /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
843  Capturing subpattern count = 0  Capturing subpattern count = 0
844  No options  No options
845  First char = 'T'  First char = 'T'
# Line 864  Max back reference = 1 Line 851  Max back reference = 1
851  Options: anchored  Options: anchored
852  No first char  No first char
853  No need char  No need char
854        aaaa
855    No match
856      aaaaaa      aaaaaa
857   0: aaaaaa  No match
  1: aa  
858    
859    /Perl does not fail these two for the final subjects. Neither did PCRE until/
860    /release 8.01. The problem is in backtracking into a subpattern that contains/
861    No match
862    /a recursive reference to itself. PCRE has now made these into atomic patterns./
863    No match
864    
865    /^(xa|=?\1a){2}$/
866        xa=xaa
867     0: xa=xaa
868     1: =xaa
869        ** Failers
870    No match
871        xa=xaaa
872    No match
873    
874    /^(xa|=?\1a)+$/
875        xa=xaa
876     0: xa=xaa
877     1: =xaa
878        ** Failers
879    No match
880        xa=xaaa
881    No match
882    
883  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
884  Capturing subpattern count = 0  Capturing subpattern count = 0
885  No options  No options
# Line 944  Failed: missing ) at offset 4 Line 956  Failed: missing ) at offset 4
956  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
957    
958  /a(?{)b/  /a(?{)b/
959  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
960    
961  /a(?{{})b/  /a(?{{})b/
962  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
963    
964  /a(?{}})b/  /a(?{}})b/
965  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
966    
967  /a(?{"{"})b/  /a(?{"{"})b/
968  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
969    
970  /a(?{"{"}})b/  /a(?{"{"}})b/
971  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
972    
973  /(?(1?)a|b)/  /(?(1?)a|b)/
974  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
975    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
976  /[a[:xyz:/  /[a[:xyz:/
977  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
978    
# Line 976  Failed: numbers out of order in {} quant Line 985  Failed: numbers out of order in {} quant
985  /abc/\  /abc/\
986  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
987    
 /abc/\P  
 Failed: POSIX code 9: bad escape sequence at offset 4  
   
988  /abc/\i  /abc/\i
989  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
990    
# Line 1001  Need char = 'd' Line 1007  Need char = 'd'
1007   1: a   1: a
1008   2: d   2: d
1009  copy substring 5 failed -7  copy substring 5 failed -7
1010    
1011  /(.{20})/I  /(.{20})/I
1012  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1013  No options  No options
1014  No first char  No first char
1015  No need char  No need char
# Line 1019  No need char Line 1024  No need char
1024   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1025   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1026   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1027    
1028  /(.{15})/I  /(.{15})/I
1029  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1030  No options  No options
1031  No first char  No first char
1032  No need char  No need char
# Line 1037  No need char Line 1041  No need char
1041    
1042  /(.{16})/I  /(.{16})/I
1043  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1044  No options  No options
1045  No first char  No first char
1046  No need char  No need char
# Line 1051  No need char Line 1054  No need char
1054   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1055   0L abcdefghijklmnop   0L abcdefghijklmnop
1056   1L abcdefghijklmnop   1L abcdefghijklmnop
1057    
1058  /^(a|(bc))de(f)/I  /^(a|(bc))de(f)/I
1059  Capturing subpattern count = 3  Capturing subpattern count = 3
1060  Options: anchored  Options: anchored
1061  No first char  No first char
1062  No need char  No need char
1063      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1064   0: adef   0: adef
1065   1: a   1: a
1066   2: <unset>   2: <unset>
# Line 1070  get substring 4 failed -7 Line 1073  get substring 4 failed -7
1073   1L a   1L a
1074   2L   2L
1075   3L f   3L f
1076      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1077   0: bcdef   0: bcdef
1078   1: bc   1: bc
1079   2: bc   2: bc
# Line 1083  get substring 4 failed -7 Line 1086  get substring 4 failed -7
1086   1L bc   1L bc
1087   2L bc   2L bc
1088   3L f   3L f
1089      adefghijk\C0      adefghijk\C0
1090   0: adef   0: adef
1091   1: a   1: a
1092   2: <unset>   2: <unset>
1093   3: f   3: f
1094   0C adef (4)   0C adef (4)
1095    
1096  /^abc\00def/I  /^abc\00def/I
1097  Capturing subpattern count = 0  Capturing subpattern count = 0
1098  Options: anchored  Options: anchored
1099  No first char  No first char
1100  No need char  No need char
1101      abc\00def\L\C0      abc\00def\L\C0
1102   0: abc\x00def   0: abc\x00def
1103   0C abc (7)   0C abc\x00def (7)
1104   0L abc   0L abc
1105    
1106  /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]+
1107  )((?:[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]+
1108  )?)?)?)?)?)?)?)?)?otherword/IM  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 448  
1109  Capturing subpattern count = 8  Capturing subpattern count = 8
1110  Partial matching not supported  Contains explicit CR or LF match
1111  No options  No options
1112  First char = 'w'  First char = 'w'
1113  Need char = 'd'  Need char = 'd'
1114    
1115  /.*X/ID  /.*X/IDZ
1116  ------------------------------------------------------------------  ------------------------------------------------------------------
1117    0   7 Bra 0          Bra
1118    3     Any*          Any*
1119    5     X          X
1120    7   7 Ket          Ket
1121   10     End          End
1122  ------------------------------------------------------------------  ------------------------------------------------------------------
1123  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1124  No options  No options
1125  First char at start or follows newline  First char at start or follows newline
1126  Need char = 'X'  Need char = 'X'
1127    
1128  /.*X/IDs  /.*X/IDZs
1129  ------------------------------------------------------------------  ------------------------------------------------------------------
1130    0   7 Bra 0          Bra
1131    3     Any*          AllAny*
1132    5     X          X
1133    7   7 Ket          Ket
1134   10     End          End
1135  ------------------------------------------------------------------  ------------------------------------------------------------------
1136  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1137  Options: anchored dotall  Options: anchored dotall
1138  No first char  No first char
1139  Need char = 'X'  Need char = 'X'
1140    
1141  /(.*X|^B)/ID  /(.*X|^B)/IDZ
1142  ------------------------------------------------------------------  ------------------------------------------------------------------
1143    0  21 Bra 0          Bra
1144    3   9 Bra 1          CBra 1
1145    8     Any*          Any*
1146   10     X          X
1147   12   6 Alt          Alt
1148   15     ^          ^
1149   16     B          B
1150   18  15 Ket          Ket
1151   21  21 Ket          Ket
1152   24     End          End
1153  ------------------------------------------------------------------  ------------------------------------------------------------------
1154  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1155  No options  No options
1156  First char at start or follows newline  First char at start or follows newline
1157  No need char  No need char
1158    
1159  /(.*X|^B)/IDs  /(.*X|^B)/IDZs
1160  ------------------------------------------------------------------  ------------------------------------------------------------------
1161    0  21 Bra 0          Bra
1162    3   9 Bra 1          CBra 1
1163    8     Any*          AllAny*
1164   10     X          X
1165   12   6 Alt          Alt
1166   15     ^          ^
1167   16     B          B
1168   18  15 Ket          Ket
1169   21  21 Ket          Ket
1170   24     End          End
1171  ------------------------------------------------------------------  ------------------------------------------------------------------
1172  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1173  Options: anchored dotall  Options: anchored dotall
1174  No first char  No first char
1175  No need char  No need char
1176    
1177  /(?s)(.*X|^B)/ID  /(?s)(.*X|^B)/IDZ
1178  ------------------------------------------------------------------  ------------------------------------------------------------------
1179    0  21 Bra 0          Bra
1180    3   9 Bra 1          CBra 1
1181    8     Any*          AllAny*
1182   10     X          X
1183   12   6 Alt          Alt
1184   15     ^          ^
1185   16     B          B
1186   18  15 Ket          Ket
1187   21  21 Ket          Ket
1188   24     End          End
1189  ------------------------------------------------------------------  ------------------------------------------------------------------
1190  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1191  Options: anchored dotall  Options: anchored dotall
1192  No first char  No first char
1193  No need char  No need char
1194    
1195  /(?s:.*X|^B)/ID  /(?s:.*X|^B)/IDZ
1196  ------------------------------------------------------------------  ------------------------------------------------------------------
1197    0  25 Bra 0          Bra
1198    3   9 Bra 0          Bra
1199    6  04 Opt          AllAny*
1200    8     Any*          X
1201   10     X          Alt
1202   12   8 Alt          ^
1203   15  04 Opt          B
1204   17     ^          Ket
1205   18     B          Ket
1206   20  17 Ket          End
  23  00 Opt  
  25  25 Ket  
  28     End  
1207  ------------------------------------------------------------------  ------------------------------------------------------------------
1208  Capturing subpattern count = 0  Capturing subpattern count = 0
1209  Partial matching not supported  Options: anchored
1210  No options  No first char
 First char at start or follows newline  
1211  No need char  No need char
1212    
1213  /\Biss\B/I+  /\Biss\B/I+
# Line 1222  Capturing subpattern count = 0 Line 1215  Capturing subpattern count = 0
1215  No options  No options
1216  First char = 'i'  First char = 'i'
1217  Need char = 's'  Need char = 's'
1218      Mississippi  Max lookbehind = 1
  0: iss  
  0+ issippi  
   
 /\Biss\B/I+P  
1219      Mississippi      Mississippi
1220   0: iss   0: iss
1221   0+ issippi   0+ issippi
# Line 1247  Capturing subpattern count = 0 Line 1236  Capturing subpattern count = 0
1236  No options  No options
1237  First char = 'i'  First char = 'i'
1238  Need char = 's'  Need char = 's'
1239    Max lookbehind = 1
1240      Mississippi      Mississippi
1241   0: iss   0: iss
1242   0+ issippi   0+ issippi
# Line 1256  Capturing subpattern count = 0 Line 1246  Capturing subpattern count = 0
1246  No options  No options
1247  First char = 'i'  First char = 'i'
1248  Need char = 's'  Need char = 's'
1249    Max lookbehind = 1
1250      Mississippi      Mississippi
1251   0: iss   0: iss
1252   0+ issippi   0+ issippi
# Line 1271  Capturing subpattern count = 0 Line 1262  Capturing subpattern count = 0
1262  No options  No options
1263  First char = 'i'  First char = 'i'
1264  Need char = 's'  Need char = 's'
1265    Max lookbehind = 1
1266      Mississippi      Mississippi
1267   0: iss   0: iss
1268   0+ issippi   0+ issippi
# Line 1282  Capturing subpattern count = 0 Line 1274  Capturing subpattern count = 0
1274  No options  No options
1275  First char = 'i'  First char = 'i'
1276  Need char = 's'  Need char = 's'
1277    Max lookbehind = 1
1278      Mississippi      Mississippi
1279   0: iss   0: iss
1280   0+ issippi   0+ issippi
# Line 1294  No need char Line 1287  No need char
1287      ississippi      ississippi
1288   0: iss   0: iss
1289   0+ issippi   0+ issippi
1290    
1291  /.*iss/Ig+  /.*iss/Ig+
1292  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1293  No options  No options
1294  First char at start or follows newline  First char at start or follows newline
1295  Need char = 's'  Need char = 's'
1296      abciss\nxyzisspqr      abciss\nxyzisspqr
1297   0: abciss   0: abciss
1298   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1299   0: xyziss   0: xyziss
# Line 1333  Need char = 'i' Line 1325  Need char = 'i'
1325   0+ river   0+ river
1326   0: riv   0: riv
1327   0+ er   0+ er
1328      Missouri river\A      Missouri river\A
1329   0: Mis   0: Mis
1330   0+ souri river   0+ souri river
1331    
# Line 1348  No need char Line 1340  No need char
1340    
1341  /^ab\n/Ig+  /^ab\n/Ig+
1342  Capturing subpattern count = 0  Capturing subpattern count = 0
1343    Contains explicit CR or LF match
1344  Options: anchored  Options: anchored
1345  No first char  No first char
1346  No need char  No need char
# Line 1357  No need char Line 1350  No need char
1350    
1351  /^ab\n/Img+  /^ab\n/Img+
1352  Capturing subpattern count = 0  Capturing subpattern count = 0
1353    Contains explicit CR or LF match
1354  Options: multiline  Options: multiline
1355  First char at start or follows newline  First char at start or follows newline
1356  Need char = 10  Need char = \x0a
1357      ab\nab\ncd      ab\nab\ncd
1358   0: ab\x0a   0: ab\x0a
1359   0+ ab\x0acd   0+ ab\x0acd
# Line 1398  Need char = 'c' Line 1392  Need char = 'c'
1392    
1393  /a*/I  /a*/I
1394  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1395  No options  No options
1396  No first char  No first char
1397  No need char  No need char
1398    
1399  /a+/I  /a+/I
1400  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1401  No options  No options
1402  First char = 'a'  First char = 'a'
1403  No need char  No need char
1404    
1405  /(baa|a+)/I  /(baa|a+)/I
1406  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1407  No options  No options
1408  No first char  No first char
1409  Need char = 'a'  Need char = 'a'
1410    
1411  /a{0,3}/I  /a{0,3}/I
1412  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1413  No options  No options
1414  No first char  No first char
1415  No need char  No need char
1416    
1417  /baa{3,}/I  /baa{3,}/I
1418  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1419  No options  No options
1420  First char = 'b'  First char = 'b'
1421  Need char = 'a'  Need char = 'a'
1422    
1423  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1424  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1425  No options  No options
1426  First char = '"'  First char = '"'
1427  Need char = '"'  Need char = '"'
# Line 1467  Capturing subpattern count = 0 Line 1455  Capturing subpattern count = 0
1455  No options  No options
1456  No first char  No first char
1457  No need char  No need char
1458    Max lookbehind = 3
1459    
1460  /abc(?!pqr)/I  /abc(?!pqr)/I
1461  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1488  Need char = 'b' Line 1477  Need char = 'b'
1477    
1478  /abc*/I  /abc*/I
1479  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1480  No options  No options
1481  First char = 'a'  First char = 'a'
1482  Need char = 'b'  Need char = 'b'
1483    
1484  /ab.c*/I  /ab.c*/I
1485  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1486  No options  No options
1487  First char = 'a'  First char = 'a'
1488  Need char = 'b'  Need char = 'b'
1489    
1490  /a.c*/I  /a.c*/I
1491  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1492  No options  No options
1493  First char = 'a'  First char = 'a'
1494  No need char  No need char
1495    
1496  /.c*/I  /.c*/I
1497  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1498  No options  No options
1499  No first char  No first char
1500  No need char  No need char
1501    
1502  /ac*/I  /ac*/I
1503  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1504  No options  No options
1505  First char = 'a'  First char = 'a'
1506  No need char  No need char
1507    
1508  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1509  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1510  No options  No options
1511  No first char  No first char
1512  No need char  No need char
1513    
1514  /a.c*|aba/I  /a.c*|aba/I
1515  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1516  No options  No options
1517  First char = 'a'  First char = 'a'
1518  No need char  No need char
1519    
1520  /.+a/I  /.+a/I
1521  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1522  No options  No options
1523  No first char  No first char
1524  Need char = 'a'  Need char = 'a'
1525    
1526  /(?=abcda)a.*/I  /(?=abcda)a.*/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 = 'a'  Need char = 'a'
1531    
1532  /(?=a)a.*/I  /(?=a)a.*/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  No need char  No need char
# Line 1564  No need char Line 1543  No need char
1543    
1544  /a\d*/I  /a\d*/I
1545  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1546  No options  No options
1547  First char = 'a'  First char = 'a'
1548  No need char  No need char
1549    
1550  /ab\d*/I  /ab\d*/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  Need char = 'b'  Need char = 'b'
# Line 1590  Need char = 'd' Line 1567  Need char = 'd'
1567    
1568  /ab\d+/I  /ab\d+/I
1569  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1570  No options  No options
1571  First char = 'a'  First char = 'a'
1572  Need char = 'b'  Need char = 'b'
1573    
1574  /a(?(1)b)/I  /a(?(1)b)(.)/I
1575  Capturing subpattern count = 0  Capturing subpattern count = 1
1576  No options  No options
1577  First char = 'a'  First char = 'a'
1578  No need char  No need char
1579    
1580  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1581  Capturing subpattern count = 0  Capturing subpattern count = 1
1582  No options  No options
1583  First char = 'a'  First char = 'a'
1584  Need char = 'g'  Need char = 'g'
1585    
1586  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1587  Capturing subpattern count = 0  Capturing subpattern count = 1
1588  No options  No options
1589  First char = 'a'  First char = 'a'
1590  No need char  No need char
1591    
1592  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1593  Capturing subpattern count = 0  Capturing subpattern count = 1
1594  No options  No options
1595  First char = 'a'  First char = 'a'
1596  Need char = 'g'  Need char = 'g'
1597    
1598  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1599  Capturing subpattern count = 0  Capturing subpattern count = 1
1600  No options  No options
1601  First char = 'a'  First char = 'a'
1602  Need char = 'b'  Need char = 'b'
# Line 1646  No need char Line 1622  No need char
1622   0:   0:
1623      *** Failers      *** Failers
1624   0:   0:
1625      \N      \N
1626  No match  No match
1627    
1628  /|-/I  /|-/I
1629  Capturing subpattern count = 0  Capturing subpattern count = 0
1630  No options  No options
# Line 1662  No need char Line 1638  No need char
1638   0: -   0: -
1639      *** Failers      *** Failers
1640   0:   0:
1641      \Nabc      \Nabc
1642  No match  No match
1643    
1644  /a*(b+)(z)(z)/IP  /^.?abcd/IS
     aaaabbbbzzzz  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
     aaaabbbbzzzz\O0  
     aaaabbbbzzzz\O1  
  0: aaaabbbbzz  
     aaaabbbbzzzz\O2  
  0: aaaabbbbzz  
  1: bbbb  
     aaaabbbbzzzz\O3  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
     aaaabbbbzzzz\O4  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
     aaaabbbbzzzz\O5  
  0: aaaabbbbzz  
  1: bbbb  
  2: z  
  3: z  
   
 /^.?abcd/IS  
1645  Capturing subpattern count = 0  Capturing subpattern count = 0
1646  Options: anchored  Options: anchored
1647  No first char  No first char
1648  Need char = 'd'  Need char = 'd'
1649  Study returned NULL  Subject length lower bound = 4
1650    No set of starting bytes
1651    
1652  /\(             # ( at start  /\(             # ( at start
1653    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1708  Study returned NULL Line 1658  Study returned NULL
1658    \)            # Closing )    \)            # Closing )
1659    /Ix    /Ix
1660  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1661  Options: extended  Options: extended
1662  First char = '('  First char = '('
1663  Need char = ')'  Need char = ')'
# Line 1718  Need char = ')' Line 1667  Need char = ')'
1667   0: (abcd)   0: (abcd)
1668      xyz(abcd)      xyz(abcd)
1669   0: (abcd)   0: (abcd)
1670      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1671   0: (ab(xy)cd)   0: (ab(xy)cd)
1672      (ab(xycd)pqr      (ab(xycd)pqr
1673   0: (xycd)   0: (xycd)
1674      () abc ()      () abc ()
1675   0: ()   0: ()
1676      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1677   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1678      *** Failers      *** Failers
1679  No match  No match
1680      abcd      abcd
1681  No match  No match
1682      abcd)      abcd)
1683  No match  No match
1684      (abcd      (abcd
1685  No match  No match
1686    
1687  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1688  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1689  Options: extended  Options: extended
1690  First char = '('  First char = '('
1691  Need char = ')'  Need char = ')'
1692      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1693   0: (ab(xy)cd)   0: (ab(xy)cd)
1694   1: cd   1: cd
1695      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1752  Need char = ')' Line 1700  Need char = ')'
1700    
1701  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1702  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1703  Options: extended  Options: extended
1704  First char = '('  First char = '('
1705  Need char = ')'  Need char = ')'
# Line 1760  Need char = ')' Line 1707  Need char = ')'
1707   0: (abcd)   0: (abcd)
1708      (ab(xy)cd)      (ab(xy)cd)
1709   0: (xy)   0: (xy)
1710      (a(b(c)d)e)      (a(b(c)d)e)
1711   0: (c)   0: (c)
1712      ((ab))      ((ab))
1713   0: ((ab))   0: ((ab))
1714      *** Failers      *** Failers
1715  No match  No match
1716      ()      ()
1717  No match  No match
1718    
1719  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1720  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1721  Options: extended  Options: extended
1722  First char = '('  First char = '('
1723  Need char = ')'  Need char = ')'
# Line 1782  Need char = ')' Line 1728  Need char = ')'
1728    
1729  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1730  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1731  Options: extended  Options: extended
1732  First char = '('  First char = '('
1733  Need char = ')'  Need char = ')'
# Line 1792  Need char = ')' Line 1737  Need char = ')'
1737    
1738  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1739  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1740  Options: extended  Options: extended
1741  First char = '('  First char = '('
1742  Need char = ')'  Need char = ')'
# Line 1803  Need char = ')' Line 1747  Need char = ')'
1747    
1748  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1749  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1750  Options: extended  Options: extended
1751  First char = '('  First char = '('
1752  Need char = ')'  Need char = ')'
# Line 1820  Need char = ')' Line 1763  Need char = ')'
1763    
1764  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1765  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1766  Options: extended  Options: extended
1767  First char = '('  First char = '('
1768  Need char = ')'  Need char = ')'
# Line 1837  Need char = ')' Line 1779  Need char = ')'
1779    
1780  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1781  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1782  Options: extended  Options: extended
1783  First char = '('  First char = '('
1784  Need char = ')'  Need char = ')'
# Line 1857  Need char = ')' Line 1798  Need char = ')'
1798    
1799  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1800  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1801  Options: extended  Options: extended
1802  First char = '('  First char = '('
1803  Need char = ')'  Need char = ')'
# Line 1865  Need char = ')' Line 1805  Need char = ')'
1805   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1806   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1807   2: 123   2: 123
  3: <unset>  
1808    
1809  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1810  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1811  Options: extended  Options: extended
1812  First char = '('  First char = '('
1813  Need char = ')'  Need char = ')'
# Line 1884  Need char = ')' Line 1822  Need char = ')'
1822   2: ij   2: ij
1823   3: (cd(ef)gh)   3: (cd(ef)gh)
1824    
1825  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1826  ------------------------------------------------------------------  ------------------------------------------------------------------
1827    0  37 Bra 0          Bra
1828    3     ^          ^
1829    4     [0-9A-Za-z]          [0-9A-Za-z]
1830   37  37 Ket          Ket
1831   40     End          End
1832  ------------------------------------------------------------------  ------------------------------------------------------------------
1833  Capturing subpattern count = 0  Capturing subpattern count = 0
1834  Options: anchored  Options: anchored
1835  No first char  No first char
1836  No need char  No need char
1837    
1838  /^[[:^alnum:]]/D  /^[[:^alnum:]]/DZ
1839  ------------------------------------------------------------------  ------------------------------------------------------------------
1840    0  37 Bra 0          Bra
1841    3     ^          ^
1842    4     [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1843   37  37 Ket          Ket
1844   40     End          End
1845  ------------------------------------------------------------------  ------------------------------------------------------------------
1846  Capturing subpattern count = 0  Capturing subpattern count = 0
1847  Options: anchored  Options: anchored
1848  No first char  No first char
1849  No need char  No need char
1850    
1851  /^[[:alpha:]]/D  /^[[:alpha:]]/DZ
1852  ------------------------------------------------------------------  ------------------------------------------------------------------
1853    0  37 Bra 0          Bra
1854    3     ^          ^
1855    4     [A-Za-z]          [A-Za-z]
1856   37  37 Ket          Ket
1857   40     End          End
1858  ------------------------------------------------------------------  ------------------------------------------------------------------
1859  Capturing subpattern count = 0  Capturing subpattern count = 0
1860  Options: anchored  Options: anchored
1861  No first char  No first char
1862  No need char  No need char
1863    
1864  /^[[:^alpha:]]/D  /^[[:^alpha:]]/DZ
1865  ------------------------------------------------------------------  ------------------------------------------------------------------
1866    0  37 Bra 0          Bra
1867    3     ^          ^
1868    4     [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1869   37  37 Ket          Ket
1870   40     End          End
1871  ------------------------------------------------------------------  ------------------------------------------------------------------
1872  Capturing subpattern count = 0  Capturing subpattern count = 0
1873  Options: anchored  Options: anchored
1874  No first char  No first char
1875  No need char  No need char
1876    
1877  /[_[:alpha:]]/IS  /[_[:alpha:]]/IS
1878  Capturing subpattern count = 0  Capturing subpattern count = 0
1879  No options  No options
1880  No first char  No first char
1881  No need char  No need char
1882    Subject length lower bound = 1
1883  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
1884    _ 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
1885    
1886  /^[[:ascii:]]/D  /^[[:ascii:]]/DZ
1887  ------------------------------------------------------------------  ------------------------------------------------------------------
1888    0  37 Bra 0          Bra
1889    3     ^          ^
1890    4     [\x00-\x7f]          [\x00-\x7f]
1891   37  37 Ket          Ket
1892   40     End          End
1893  ------------------------------------------------------------------  ------------------------------------------------------------------
1894  Capturing subpattern count = 0  Capturing subpattern count = 0
1895  Options: anchored  Options: anchored
1896  No first char  No first char
1897  No need char  No need char
1898    
1899  /^[[:^ascii:]]/D  /^[[:^ascii:]]/DZ
1900  ------------------------------------------------------------------  ------------------------------------------------------------------
1901    0  37 Bra 0          Bra
1902    3     ^          ^
1903    4     [\x80-\xff]          [\x80-\xff] (neg)
1904   37  37 Ket          Ket
1905   40     End          End
1906  ------------------------------------------------------------------  ------------------------------------------------------------------
1907  Capturing subpattern count = 0  Capturing subpattern count = 0
1908  Options: anchored  Options: anchored
1909  No first char  No first char
1910  No need char  No need char
1911    
1912  /^[[:blank:]]/D  /^[[:blank:]]/DZ
1913  ------------------------------------------------------------------  ------------------------------------------------------------------
1914    0  37 Bra 0          Bra
1915    3     ^          ^
1916    4     [\x09 ]          [\x09 ]
1917   37  37 Ket          Ket
1918   40     End          End
1919  ------------------------------------------------------------------  ------------------------------------------------------------------
1920  Capturing subpattern count = 0  Capturing subpattern count = 0
1921  Options: anchored  Options: anchored
1922  No first char  No first char
1923  No need char  No need char
1924    
1925  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
1926  ------------------------------------------------------------------  ------------------------------------------------------------------
1927    0  37 Bra 0          Bra
1928    3     ^          ^
1929    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1930   37  37 Ket          Ket
1931   40     End          End
1932  ------------------------------------------------------------------  ------------------------------------------------------------------
1933  Capturing subpattern count = 0  Capturing subpattern count = 0
1934  Options: anchored  Options: anchored
# Line 1998  No need char Line 1937  No need char
1937    
1938  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
1939  Capturing subpattern count = 0  Capturing subpattern count = 0
1940    Contains explicit CR or LF match
1941  No options  No options
1942  No first char  No first char
1943  No need char  No need char
1944    Subject length lower bound = 1
1945  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
1946    
1947  /^[[:cntrl:]]/D  /^[[:cntrl:]]/DZ
1948  ------------------------------------------------------------------  ------------------------------------------------------------------
1949    0  37 Bra 0          Bra
1950    3     ^          ^
1951    4     [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
1952   37  37 Ket          Ket
1953   40     End          End
1954  ------------------------------------------------------------------  ------------------------------------------------------------------
1955  Capturing subpattern count = 0  Capturing subpattern count = 0
1956  Options: anchored  Options: anchored
1957  No first char  No first char
1958  No need char  No need char
1959    
1960  /^[[:digit:]]/D  /^[[:digit:]]/DZ
1961  ------------------------------------------------------------------  ------------------------------------------------------------------
1962    0  37 Bra 0          Bra
1963    3     ^          ^
1964    4     [0-9]          [0-9]
1965   37  37 Ket          Ket
1966   40     End          End
1967  ------------------------------------------------------------------  ------------------------------------------------------------------
1968  Capturing subpattern count = 0  Capturing subpattern count = 0
1969  Options: anchored  Options: anchored
1970  No first char  No first char
1971  No need char  No need char
1972    
1973  /^[[:graph:]]/D  /^[[:graph:]]/DZ
1974  ------------------------------------------------------------------  ------------------------------------------------------------------
1975    0  37 Bra 0          Bra
1976    3     ^          ^
1977    4     [!-~]          [!-~]
1978   37  37 Ket          Ket
1979   40     End          End
1980  ------------------------------------------------------------------  ------------------------------------------------------------------
1981  Capturing subpattern count = 0  Capturing subpattern count = 0
1982  Options: anchored  Options: anchored
1983  No first char  No first char
1984  No need char  No need char
1985    
1986  /^[[:lower:]]/D  /^[[:lower:]]/DZ
1987  ------------------------------------------------------------------  ------------------------------------------------------------------
1988    0  37 Bra 0          Bra
1989    3     ^          ^
1990    4     [a-z]          [a-z]
1991   37  37 Ket          Ket
1992   40     End          End
1993  ------------------------------------------------------------------  ------------------------------------------------------------------
1994  Capturing subpattern count = 0  Capturing subpattern count = 0
1995  Options: anchored  Options: anchored
1996  No first char  No first char
1997  No need char  No need char
1998    
1999  /^[[:print:]]/D  /^[[:print:]]/DZ
2000  ------------------------------------------------------------------  ------------------------------------------------------------------
2001    0  37 Bra 0          Bra
2002    3     ^          ^
2003    4     [ -~]          [ -~]
2004   37  37 Ket          Ket
2005   40     End          End
2006  ------------------------------------------------------------------  ------------------------------------------------------------------
2007  Capturing subpattern count = 0  Capturing subpattern count = 0
2008  Options: anchored  Options: anchored
2009  No first char  No first char
2010  No need char  No need char
2011    
2012  /^[[:punct:]]/D  /^[[:punct:]]/DZ
2013  ------------------------------------------------------------------  ------------------------------------------------------------------
2014    0  37 Bra 0          Bra
2015    3     ^          ^
2016    4     [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2017   37  37 Ket          Ket
2018   40     End          End
2019  ------------------------------------------------------------------  ------------------------------------------------------------------
2020  Capturing subpattern count = 0  Capturing subpattern count = 0
2021  Options: anchored  Options: anchored
2022  No first char  No first char
2023  No need char  No need char
2024    
2025  /^[[:space:]]/D  /^[[:space:]]/DZ
2026  ------------------------------------------------------------------  ------------------------------------------------------------------
2027    0  37 Bra 0          Bra
2028    3     ^          ^
2029    4     [\x09-\x0d ]          [\x09-\x0d ]
2030   37  37 Ket          Ket
2031   40     End          End
2032  ------------------------------------------------------------------  ------------------------------------------------------------------
2033  Capturing subpattern count = 0  Capturing subpattern count = 0
2034  Options: anchored  Options: anchored
2035  No first char  No first char
2036  No need char  No need char
2037    
2038  /^[[:upper:]]/D  /^[[:upper:]]/DZ
2039  ------------------------------------------------------------------  ------------------------------------------------------------------
2040    0  37 Bra 0          Bra
2041    3     ^          ^
2042    4     [A-Z]          [A-Z]
2043   37  37 Ket          Ket
2044   40     End          End
2045  ------------------------------------------------------------------  ------------------------------------------------------------------
2046  Capturing subpattern count = 0  Capturing subpattern count = 0
2047  Options: anchored  Options: anchored
2048  No first char  No first char
2049  No need char  No need char
2050    
2051  /^[[:xdigit:]]/D  /^[[:xdigit:]]/DZ
2052  ------------------------------------------------------------------  ------------------------------------------------------------------
2053    0  37 Bra 0          Bra
2054    3     ^          ^
2055    4     [0-9A-Fa-f]          [0-9A-Fa-f]
2056   37  37 Ket          Ket
2057   40     End          End
2058  ------------------------------------------------------------------  ------------------------------------------------------------------
2059  Capturing subpattern count = 0  Capturing subpattern count = 0
2060  Options: anchored  Options: anchored
2061  No first char  No first char
2062  No need char  No need char
2063    
2064  /^[[:word:]]/D  /^[[:word:]]/DZ
2065  ------------------------------------------------------------------  ------------------------------------------------------------------
2066    0  37 Bra 0          Bra
2067    3     ^          ^
2068    4     [0-9A-Z_a-z]          [0-9A-Z_a-z]
2069   37  37 Ket          Ket
2070   40     End          End
2071  ------------------------------------------------------------------  ------------------------------------------------------------------
2072  Capturing subpattern count = 0  Capturing subpattern count = 0
2073  Options: anchored  Options: anchored
2074  No first char  No first char
2075  No need char  No need char
2076    
2077  /^[[:^cntrl:]]/D  /^[[:^cntrl:]]/DZ
2078  ------------------------------------------------------------------  ------------------------------------------------------------------
2079    0  37 Bra 0          Bra
2080    3     ^          ^
2081    4     [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2082   37  37 Ket          Ket
2083   40     End          End
2084  ------------------------------------------------------------------  ------------------------------------------------------------------
2085  Capturing subpattern count = 0  Capturing subpattern count = 0
2086  Options: anchored  Options: anchored
2087  No first char  No first char
2088  No need char  No need char
2089    
2090  /^[12[:^digit:]]/D  /^[12[:^digit:]]/DZ
2091  ------------------------------------------------------------------  ------------------------------------------------------------------
2092    0  37 Bra 0          Bra
2093    3     ^          ^
2094    4     [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2095   37  37 Ket          Ket
2096   40     End          End
2097  ------------------------------------------------------------------  ------------------------------------------------------------------
2098  Capturing subpattern count = 0  Capturing subpattern count = 0
2099  Options: anchored  Options: anchored
2100  No first char  No first char
2101  No need char  No need char
2102    
2103  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2104  ------------------------------------------------------------------  ------------------------------------------------------------------
2105    0  37 Bra 0          Bra
2106    3     ^          ^
2107    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2108   37  37 Ket          Ket
2109   40     End          End
2110  ------------------------------------------------------------------  ------------------------------------------------------------------
2111  Capturing subpattern count = 0  Capturing subpattern count = 0
2112  Options: anchored  Options: anchored
2113  No first char  No first char
2114  No need char  No need char
2115    
2116  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2117  ------------------------------------------------------------------  ------------------------------------------------------------------
2118    0  36 Bra 0          Bra
2119    3     [%01A-Za-z]          [%01A-Za-z]
2120   36  36 Ket          Ket
2121   39     End          End
2122  ------------------------------------------------------------------  ------------------------------------------------------------------
2123  Capturing subpattern count = 0  Capturing subpattern count = 0
2124  No options  No options
# Line 2200  No first char Line 2141  No first char
2141  No need char  No need char
2142      A      A
2143   0: A   0: A
2144      a      a
2145   0: a   0: a
2146    
2147  /[[:lower:]]/Ii  /[[:lower:]]/Ii
2148  Capturing subpattern count = 0  Capturing subpattern count = 0
2149  Options: caseless  Options: caseless
# Line 2210  No first char Line 2151  No first char
2151  No need char  No need char
2152      A      A
2153   0: A   0: A
2154      a      a
2155   0: a   0: a
2156    
2157  /((?-i)[[:lower:]])[[:lower:]]/Ii  /((?-i)[[:lower:]])[[:lower:]]/Ii
# Line 2229  No need char Line 2170  No need char
2170   1: a   1: a
2171      Ab      Ab
2172  No match  No match
2173      AB      AB
2174  No match  No match
2175    
2176  /[\200-\110]/I  /[\200-\110]/I
# Line 2247  Need char = 'd' Line 2188  Need char = 'd'
2188  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2189  Capturing subpattern count = 271  Capturing subpattern count = 271
2190  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2191  No options  No options
2192  No first char  No first char
2193  No need char  No need char
# Line 2543  Need char = 'n' Line 2483  Need char = 'n'
2483   0: mainOmain   0: mainOmain
2484   1: main   1: main
2485   2: O   2: O
2486    
2487  /These are all cases where Perl does it differently (nested captures)/I  /These are all cases where Perl does it differently (nested captures)/I
2488  Capturing subpattern count = 1  Capturing subpattern count = 1
2489  No options  No options
# Line 2559  No need char Line 2499  No need char
2499   0: aba   0: aba
2500   1: a   1: a
2501   2: b   2: b
2502    
2503  /^(aa(bb)?)+$/I  /^(aa(bb)?)+$/I
2504  Capturing subpattern count = 2  Capturing subpattern count = 2
2505  Options: anchored  Options: anchored
2506  No first char  No first char
2507  No need char  No need char
2508      aabbaa      aabbaa
2509   0: aabbaa   0: aabbaa
2510   1: aa   1: aa
2511   2: bb   2: bb
2512    
2513  /^(aa|aa(bb))+$/I  /^(aa|aa(bb))+$/I
2514  Capturing subpattern count = 2  Capturing subpattern count = 2
2515  Options: anchored  Options: anchored
2516  No first char  No first char
2517  No need char  No need char
2518      aabbaa      aabbaa
2519   0: aabbaa   0: aabbaa
2520   1: aa   1: aa
2521   2: bb   2: bb
2522    
2523  /^(aa(bb)??)+$/I  /^(aa(bb)??)+$/I
2524  Capturing subpattern count = 2  Capturing subpattern count = 2
2525  Options: anchored  Options: anchored
2526  No first char  No first char
2527  No need char  No need char
2528      aabbaa      aabbaa
2529   0: aabbaa   0: aabbaa
2530   1: aa   1: aa
2531   2: bb   2: bb
2532    
2533  /^(?:aa(bb)?)+$/I  /^(?:aa(bb)?)+$/I
2534  Capturing subpattern count = 1  Capturing subpattern count = 1
2535  Options: anchored  Options: anchored
2536  No first char  No first char
2537  No need char  No need char
2538      aabbaa      aabbaa
2539   0: aabbaa   0: aabbaa
2540   1: bb   1: bb
2541    
2542  /^(aa(b(b))?)+$/I  /^(aa(b(b))?)+$/I
2543  Capturing subpattern count = 3  Capturing subpattern count = 3
2544  Options: anchored  Options: anchored
2545  No first char  No first char
2546  No need char  No need char
2547      aabbaa      aabbaa
2548   0: aabbaa   0: aabbaa
2549   1: aa   1: aa
2550   2: bb   2: bb
# Line 2615  Capturing subpattern count = 2 Line 2555  Capturing subpattern count = 2
2555  Options: anchored  Options: anchored
2556  No first char  No first char
2557  No need char  No need char
2558      aabbaa      aabbaa
2559   0: aabbaa   0: aabbaa
2560   1: bb   1: bb
2561   2: b   2: b
# Line 2625  Capturing subpattern count = 1 Line 2565  Capturing subpattern count = 1
2565  Options: anchored  Options: anchored
2566  No first char  No first char
2567  No need char  No need char
2568      aabbaa      aabbaa
2569   0: aabbaa   0: aabbaa
2570   1: bb   1: bb
2571    
# Line 2634  Capturing subpattern count = 1 Line 2574  Capturing subpattern count = 1
2574  Options: anchored  Options: anchored
2575  No first char  No first char
2576  No need char  No need char
2577      aabbbaa      aabbbaa
2578   0: aabbbaa   0: aabbbaa
2579   1: bbb   1: bbb
2580    
2581  /^(?:aa(b(?:bb))?)+$/I  /^(?:aa(b(?:bb))?)+$/I
2582  Capturing subpattern count = 1  Capturing subpattern count = 1
2583  Options: anchored  Options: anchored
2584  No first char  No first char
2585  No need char  No need char
2586      aabbbaa      aabbbaa
2587   0: aabbbaa   0: aabbbaa
2588   1: bbb   1: bbb
2589    
# Line 2652  Capturing subpattern count = 1 Line 2592  Capturing subpattern count = 1
2592  Options: anchored  Options: anchored
2593  No first char  No first char
2594  No need char  No need char
2595      aabbaa      aabbaa
2596   0: aabbaa   0: aabbaa
2597   1: b   1: b
2598    
# Line 2661  Capturing subpattern count = 1 Line 2601  Capturing subpattern count = 1
2601  Options: anchored  Options: anchored
2602  No first char  No first char
2603  No need char  No need char
2604      aabbbaa      aabbbaa
2605   0: aabbbaa   0: aabbbaa
2606   1: bb   1: bb
2607    
# Line 2670  Capturing subpattern count = 3 Line 2610  Capturing subpattern count = 3
2610  Options: anchored  Options: anchored
2611  No first char  No first char
2612  No need char  No need char
2613      aabbbaa      aabbbaa
2614   0: aabbbaa   0: aabbbaa
2615   1: aa   1: aa
2616   2: bbb   2: bbb
# Line 2681  Capturing subpattern count = 3 Line 2621  Capturing subpattern count = 3
2621  Options: anchored  Options: anchored
2622  No first char  No first char
2623  No need char  No need char
2624      aabbbbaa      aabbbbaa
2625   0: aabbbbaa   0: aabbbbaa
2626   1: aa   1: aa
2627   2: bbbb   2: bbbb
2628   3: bb   3: bb
2629    
2630  /--------------------------------------------------------------------/I  /--------------------------------------------------------------------/I
2631  Capturing subpattern count = 0  Capturing subpattern count = 0
2632  No options  No options
2633  First char = '-'  First char = '-'
2634  Need char = '-'  Need char = '-'
2635    
2636  /#/IxMD  /#/IxDZ
 Memory allocation (code space): 7  
2637  ------------------------------------------------------------------  ------------------------------------------------------------------
2638    0   3 Bra 0          Bra
2639    3   3 Ket          Ket
2640    6     End          End
2641  ------------------------------------------------------------------  ------------------------------------------------------------------
2642  Capturing subpattern count = 0  Capturing subpattern count = 0
2643  Options: extended  Options: extended
2644  No first char  No first char
2645  No need char  No need char
2646    
2647  /a#/IxMD  /a#/IxDZ
 Memory allocation (code space): 9  
2648  ------------------------------------------------------------------  ------------------------------------------------------------------
2649    0   5 Bra 0          Bra
2650    3     a          a
2651    5   5 Ket          Ket
2652    8     End          End
2653  ------------------------------------------------------------------  ------------------------------------------------------------------
2654  Capturing subpattern count = 0  Capturing subpattern count = 0
2655  Options: extended  Options: extended
2656  First char = 'a'  First char = 'a'
2657  No need char  No need char
2658    
2659  /[\s]/D  /[\s]/DZ
2660  ------------------------------------------------------------------  ------------------------------------------------------------------
2661    0  36 Bra 0          Bra
2662    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2663   36  36 Ket          Ket
2664   39     End          End
2665  ------------------------------------------------------------------  ------------------------------------------------------------------
2666  Capturing subpattern count = 0  Capturing subpattern count = 0
2667  No options  No options
2668  No first char  No first char
2669  No need char  No need char
2670    
2671  /[\S]/D  /[\S]/DZ
2672  ------------------------------------------------------------------  ------------------------------------------------------------------
2673    0  36 Bra 0          Bra
2674    3     [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2675   36  36 Ket          Ket
2676   39     End          End
2677  ------------------------------------------------------------------  ------------------------------------------------------------------
2678  Capturing subpattern count = 0  Capturing subpattern count = 0
2679  No options  No options
2680  No first char  No first char
2681  No need char  No need char
2682    
2683  /a(?i)b/D  /a(?i)b/DZ
2684  ------------------------------------------------------------------  ------------------------------------------------------------------
2685    0   9 Bra 0          Bra
2686    3     a          a
2687    5  01 Opt       /i b
2688    7  NC b          Ket
2689    9   9 Ket          End
  12     End  
2690  ------------------------------------------------------------------  ------------------------------------------------------------------
2691  Capturing subpattern count = 0  Capturing subpattern count = 0
2692  No options  No options
# Line 2759  Need char = 'b' (caseless) Line 2696  Need char = 'b' (caseless)
2696   0: ab   0: ab
2697      aB      aB
2698   0: aB   0: aB
2699      *** Failers      *** Failers
2700  No match  No match
2701      AB      AB
2702  No match  No match
2703    
2704  /(a(?i)b)/D  /(a(?i)b)/DZ
2705  ------------------------------------------------------------------  ------------------------------------------------------------------
2706    0  19 Bra 0          Bra
2707    3  11 Bra 1          CBra 1
2708    8     a          a
2709   10  01 Opt       /i b
2710   12  NC b          Ket
2711   14  11 Ket          Ket
2712   17  00 Opt          End
  19  19 Ket  
  22     End  
2713  ------------------------------------------------------------------  ------------------------------------------------------------------
2714  Capturing subpattern count = 1  Capturing subpattern count = 1
2715  No options  No options
# Line 2786  Need char = 'b' (caseless) Line 2721  Need char = 'b' (caseless)
2721      aB      aB
2722   0: aB   0: aB
2723   1: aB   1: aB
2724      *** Failers      *** Failers
2725  No match  No match
2726      AB      AB
2727  No match  No match
2728    
2729  /   (?i)abc/IxD  /   (?i)abc/IxDZ
2730  ------------------------------------------------------------------  ------------------------------------------------------------------
2731    0   9 Bra 0          Bra
2732    3  NC abc       /i abc
2733    9   9 Ket          Ket
2734   12     End          End
2735  ------------------------------------------------------------------  ------------------------------------------------------------------
2736  Capturing subpattern count = 0  Capturing subpattern count = 0
2737  Options: caseless extended  Options: caseless extended
# Line 2804  First char = 'a' (caseless) Line 2739  First char = 'a' (caseless)
2739  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2740    
2741  /#this is a comment  /#this is a comment
2742    (?i)abc/IxD    (?i)abc/IxDZ
2743  ------------------------------------------------------------------  ------------------------------------------------------------------
2744    0   9 Bra 0          Bra
2745    3  NC abc       /i abc
2746    9   9 Ket          Ket
2747   12     End          End
2748  ------------------------------------------------------------------  ------------------------------------------------------------------
2749  Capturing subpattern count = 0  Capturing subpattern count = 0
2750  Options: caseless extended  Options: caseless extended
2751  First char = 'a' (caseless)  First char = 'a' (caseless)
2752  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2753    
2754  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2755  ------------------------------------------------------------------  ------------------------------------------------------------------
2756    0 603 Bra 0          Bra
2757    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2758  603 603 Ket          Ket
2759  606     End          End
2760  ------------------------------------------------------------------  ------------------------------------------------------------------
2761  Capturing subpattern count = 0  Capturing subpattern count = 0
2762  No options  No options
2763  First char = '1'  First char = '1'
2764  Need char = '0'  Need char = '0'
2765    
2766  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2767  ------------------------------------------------------------------  ------------------------------------------------------------------
2768    0 603 Bra 0          Bra
2769    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2770  603 603 Ket          Ket
2771  606     End          End
2772  ------------------------------------------------------------------  ------------------------------------------------------------------
2773  Capturing subpattern count = 0  Capturing subpattern count = 0
2774  No options  No options
2775  First char = '1'  First char = '1'
2776  Need char = '0'  Need char = '0'
2777    
2778  /\Q\E/D  /\Q\E/DZ
2779  ------------------------------------------------------------------  ------------------------------------------------------------------
2780    0   3 Bra 0          Bra
2781    3   3 Ket          Ket
2782    6     End          End
2783  ------------------------------------------------------------------  ------------------------------------------------------------------
2784  Capturing subpattern count = 0  Capturing subpattern count = 0
2785  No options  No options
# Line 2853  No need char Line 2788  No need char
2788      \      \
2789   0:   0:
2790    
2791  /\Q\Ex/D  /\Q\Ex/DZ
2792  ------------------------------------------------------------------  ------------------------------------------------------------------
2793    0   5 Bra 0          Bra
2794    3     x          x
2795    5   5 Ket          Ket
2796    8     End          End
2797  ------------------------------------------------------------------  ------------------------------------------------------------------
2798  Capturing subpattern count = 0  Capturing subpattern count = 0
2799  No options  No options
2800  First char = 'x'  First char = 'x'
2801  No need char  No need char
2802    
2803  / \Q\E/D  / \Q\E/DZ
2804  ------------------------------------------------------------------  ------------------------------------------------------------------
2805    0   5 Bra 0          Bra
2806    3  
2807    5   5 Ket          Ket
2808    8     End          End
2809  ------------------------------------------------------------------  ------------------------------------------------------------------
2810  Capturing subpattern count = 0  Capturing subpattern count = 0
2811  No options  No options
2812  First char = ' '  First char = ' '
2813  No need char  No need char
2814    
2815  /a\Q\E/D  /a\Q\E/DZ
2816  ------------------------------------------------------------------  ------------------------------------------------------------------
2817    0   5 Bra 0          Bra
2818    3     a          a
2819    5   5 Ket          Ket
2820    8     End          End
2821  ------------------------------------------------------------------  ------------------------------------------------------------------
2822  Capturing subpattern count = 0  Capturing subpattern count = 0
2823  No options  No options
# Line 2892  No need char Line 2827  No need char
2827   0: a   0: a
2828    bca    bca
2829   0: a   0: a
2830    bac    bac
2831   0: a   0: a
2832    
2833  /a\Q\Eb/D  /a\Q\Eb/DZ
2834  ------------------------------------------------------------------  ------------------------------------------------------------------
2835    0   7 Bra 0          Bra
2836    3     ab          ab
2837    7   7 Ket          Ket
2838   10     End          End
2839  ------------------------------------------------------------------  ------------------------------------------------------------------
2840  Capturing subpattern count = 0  Capturing subpattern count = 0
2841  No options  No options
# Line 2909  Need char = 'b' Line 2844  Need char = 'b'
2844    abc    abc
2845   0: ab   0: ab
2846    
2847  /\Q\Eabc/D  /\Q\Eabc/DZ
2848  ------------------------------------------------------------------  ------------------------------------------------------------------
2849    0   9 Bra 0          Bra
2850    3     abc          abc
2851    9   9 Ket          Ket
2852   12     End          End
2853  ------------------------------------------------------------------  ------------------------------------------------------------------
2854  Capturing subpattern count = 0  Capturing subpattern count = 0
2855  No options  No options
2856  First char = 'a'  First char = 'a'
2857  Need char = 'c'  Need char = 'c'
2858    
2859  /x*+\w/D  /x*+\w/DZ
2860  ------------------------------------------------------------------  ------------------------------------------------------------------
2861    0   6 Bra 0          Bra
2862    3     x*+          x*+
2863    5     \w          \w
2864    6   6 Ket          Ket
2865    9     End          End
2866  ------------------------------------------------------------------  ------------------------------------------------------------------
2867  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2868  No options  No options
2869  No first char  No first char
2870  No need char  No need char
# Line 2938  No need char Line 2872  No need char
2872   0: F   0: F
2873      xxxxx      xxxxx
2874  No match  No match
2875    
2876  /x?+/D  /x?+/DZ
2877  ------------------------------------------------------------------  ------------------------------------------------------------------
2878    0   5 Bra 0          Bra
2879    3     x?+          x?+
2880    5   5 Ket          Ket
2881    8     End          End
2882  ------------------------------------------------------------------  ------------------------------------------------------------------
2883  Capturing subpattern count = 0  Capturing subpattern count = 0
2884  No options  No options
2885  No first char  No first char
2886  No need char  No need char
2887    
2888  /x++/D  /x++/DZ
2889  ------------------------------------------------------------------  ------------------------------------------------------------------
2890    0   5 Bra 0          Bra
2891    3     x++          x++
2892    5   5 Ket          Ket
2893    8     End          End
2894  ------------------------------------------------------------------  ------------------------------------------------------------------
2895  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2896  No options  No options
2897  First char = 'x'  First char = 'x'
2898  No need char  No need char
2899    
2900  /x{1,3}+/D  /x{1,3}+/DZ
2901  ------------------------------------------------------------------  ------------------------------------------------------------------
2902    0  15 Bra 0          Bra
2903    3   9 Once          Once
2904    6     x          x
2905    8     x{0,2}          x{0,2}
2906   12   9 Ket          Ket
2907   15  15 Ket          Ket
2908   18     End          End
2909  ------------------------------------------------------------------  ------------------------------------------------------------------
2910  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2911  No options  No options
2912  First char = 'x'  First char = 'x'
2913  No need char  No need char
2914    
2915  /(x)*+/D  /(x)*+/DZ
2916  ------------------------------------------------------------------  ------------------------------------------------------------------
2917    0  20 Bra 0          Bra
2918    3  14 Once          Braposzero
2919    6     Brazero          CBraPos 1
2920    7   7 Bra 1          x
2921   12     x          KetRpos
2922   14   7 KetRmax          Ket
2923   17  14 Ket          End
  20  20 Ket  
  23     End  
2924  ------------------------------------------------------------------  ------------------------------------------------------------------
2925  Capturing subpattern count = 1  Capturing subpattern count = 1
2926  No options  No options
# Line 2999  No need char Line 2929  No need char
2929    
2930  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2931  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2932  Options: anchored  Options: anchored
2933  No first char  No first char
2934  No need char  No need char
# Line 3010  No need char Line 2939  No need char
2939  No match  No match
2940      this is not a line with only words and spaces!      this is not a line with only words and spaces!
2941  No match  No match
2942    
2943  /(\d++)(\w)/I  /(\d++)(\w)/I
2944  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
2945  No options  No options
2946  No first char  No first char
2947  No need char  No need char
# Line 3023  No need char Line 2951  No need char
2951   2: a   2: a
2952      *** Failers      *** Failers
2953  No match  No match
2954      12345+      12345+
2955  No match  No match
2956    
2957  /a++b/I  /a++b/I
2958  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2959  No options  No options
2960  First char = 'a'  First char = 'a'
2961  Need char = 'b'  Need char = 'b'
# Line 3037  Need char = 'b' Line 2964  Need char = 'b'
2964    
2965  /(a++b)/I  /(a++b)/I
2966  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2967  No options  No options
2968  First char = 'a'  First char = 'a'
2969  Need char = 'b'  Need char = 'b'
# Line 3047  Need char = 'b' Line 2973  Need char = 'b'
2973    
2974  /(a++)b/I  /(a++)b/I
2975  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2976  No options  No options
2977  First char = 'a'  First char = 'a'
2978  Need char = 'b'  Need char = 'b'
# Line 3057  Need char = 'b' Line 2982  Need char = 'b'
2982    
2983  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
2984  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2985  No options  No options
2986  No first char  No first char
2987  No need char  No need char
2988      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
2989   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
2990   1: x   1: x
2991    
2992  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
2993  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2994  No options  No options
2995  First char = '('  First char = '('
2996  Need char = ')'  Need char = ')'
# Line 3079  Need char = ')' Line 3002  Need char = ')'
3002   1: xyz   1: xyz
3003      *** Failers      *** Failers
3004  No match  No match
3005      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3006  No match  No match
3007    
3008  /(abc){1,3}+/D  /(abc){1,3}+/DZ
3009  ------------------------------------------------------------------  ------------------------------------------------------------------
3010    0  59 Bra 0          Bra
3011    3  53 Once          Once
3012    6  11 Bra 1          CBra 1
3013   11     abc          abc
3014   17  11 Ket          Ket
3015   20     Brazero          Brazero
3016   21  32 Bra 0          Bra
3017   24  11 Bra 1          CBra 1
3018   29     abc          abc
3019   35  11 Ket          Ket
3020   38     Brazero          Brazero
3021   39  11 Bra 1          CBra 1
3022   44     abc          abc
3023   50  11 Ket          Ket
3024   53  32 Ket          Ket
3025   56  53 Ket          Ket
3026   59  59 Ket          Ket
3027   62     End          End
3028  ------------------------------------------------------------------  ------------------------------------------------------------------
3029  Capturing subpattern count = 1  Capturing subpattern count = 1
3030  No options  No options
# Line 3120  Failed: nothing to repeat at offset 7 Line 3043  Failed: nothing to repeat at offset 7
3043  /a{2,3}?+b/IU  /a{2,3}?+b/IU
3044  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3045    
3046  /x(?U)a++b/D  /x(?U)a++b/DZ
3047  ------------------------------------------------------------------  ------------------------------------------------------------------
3048    0   9 Bra 0          Bra
3049    3     x          x
3050    5     a++          a++
3051    7     b          b
3052    9   9 Ket          Ket
3053   12     End          End
3054  ------------------------------------------------------------------  ------------------------------------------------------------------
3055  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3056  No options  No options
3057  First char = 'x'  First char = 'x'
3058  Need char = 'b'  Need char = 'b'
3059      xaaaab      xaaaab
3060   0: xaaaab   0: xaaaab
3061    
3062  /(?U)xa++b/D  /(?U)xa++b/DZ
3063  ------------------------------------------------------------------  ------------------------------------------------------------------
3064    0   9 Bra 0          Bra
3065    3     x          x
3066    5     a++          a++
3067    7     b          b
3068    9   9 Ket          Ket
3069   12     End          End
3070  ------------------------------------------------------------------  ------------------------------------------------------------------
3071  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3072  Options: ungreedy  Options: ungreedy
3073  First char = 'x'  First char = 'x'
3074  Need char = 'b'  Need char = 'b'
3075      xaaaab      xaaaab
3076   0: xaaaab   0: xaaaab
3077    
3078  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3079  ------------------------------------------------------------------  ------------------------------------------------------------------
3080    0 116 Bra 0          Bra
3081    3     ^          ^
3082    4 109 Bra 1          CBra 1
3083    9   7 Bra 2          CBra 2
3084   14     a+          a+
3085   16   7 Ket          Ket
3086   19  39 Bra 3          CBra 3
3087   24     [ab]+?          [ab]+?
3088   58  39 Ket          Ket
3089   61  39 Bra 4          CBra 4
3090   66     [bc]+          [bc]+
3091  100  39 Ket          Ket
3092  103   7 Bra 5          CBra 5
3093  108     \w*          \w*
3094  110   7 Ket          Ket
3095  113 109 Ket          Ket
3096  116 116 Ket          Ket
3097  119     End          End
3098  ------------------------------------------------------------------  ------------------------------------------------------------------
3099  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3100  Options: anchored  Options: anchored
3101  No first char  No first char
3102  No need char  No need char
3103    
3104  /^x(?U)a+b/D  /^x(?U)a+b/DZ
3105  ------------------------------------------------------------------  ------------------------------------------------------------------
3106    0  10 Bra 0          Bra
3107    3     ^          ^
3108    4     x          x
3109    6     a++          a++
3110    8     b          b
3111   10  10 Ket          Ket
3112   13     End          End
3113  ------------------------------------------------------------------  ------------------------------------------------------------------
3114  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3115  Options: anchored  Options: anchored
3116  No first char  No first char
3117  Need char = 'b'  Need char = 'b'
3118    
3119  /^x(?U)(a+)b/D  /^x(?U)(a+)b/DZ
3120  ------------------------------------------------------------------  ------------------------------------------------------------------
3121    0  18 Bra 0          Bra
3122    3     ^          ^
3123    4     x          x
3124    6   7 Bra 1          CBra 1
3125   11     a+?          a+?
3126   13   7 Ket          Ket
3127   16     b          b
3128   18  18 Ket          Ket
3129   21     End          End
3130  ------------------------------------------------------------------  ------------------------------------------------------------------
3131  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3132  Options: anchored  Options: anchored
3133  No first char  No first char
3134  Need char = 'b'  Need char = 'b'
# Line 3225  Failed: POSIX collating elements are not Line 3143  Failed: POSIX collating elements are not
3143  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
3144    
3145  /\l/I  /\l/I
3146  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
3147    
3148  /\L/I  /\L/I
3149  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
3150    
3151  /\N{name}/I  /\N{name}/I
3152  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
3153    
3154  /\u/I  /\u/I
3155  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
3156    
3157  /\U/I  /\U/I
3158  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
3159    
3160  /[/I  /[/I
3161  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 3166  Failed: missing terminating ] for charac
3166  /[[:space:]/I  /[[:space:]/I
3167  Failed: missing terminating ] for character class at offset 10  Failed: missing terminating ] for character class at offset 10
3168    
3169  /[\s]/IDM  /[\s]/IDZ
 Memory allocation (code space): 40  
3170  ------------------------------------------------------------------  ------------------------------------------------------------------
3171    0  36 Bra 0          Bra
3172    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3173   36  36 Ket          Ket
3174   39     End          End
3175  ------------------------------------------------------------------  ------------------------------------------------------------------
3176  Capturing subpattern count = 0  Capturing subpattern count = 0
3177  No options  No options
3178  No first char  No first char
3179  No need char  No need char
3180    
3181  /[[:space:]]/IDM  /[[:space:]]/IDZ
 Memory allocation (code space): 40  
3182  ------------------------------------------------------------------  ------------------------------------------------------------------
3183    0  36 Bra 0          Bra
3184    3     [\x09-\x0d ]          [\x09-\x0d ]
3185   36  36 Ket          Ket
3186   39     End          End
3187  ------------------------------------------------------------------  ------------------------------------------------------------------
3188  Capturing subpattern count = 0  Capturing subpattern count = 0
3189  No options  No options
3190  No first char  No first char
3191  No need char  No need char
3192    
3193  /[[:space:]abcde]/IDM  /[[:space:]abcde]/IDZ
 Memory allocation (code space): 40  
3194  ------------------------------------------------------------------  ------------------------------------------------------------------
3195    0  36 Bra 0          Bra
3196    3     [\x09-\x0d a-e]          [\x09-\x0d a-e]
3197   36  36 Ket          Ket
3198   39     End          End
3199  ------------------------------------------------------------------  ------------------------------------------------------------------
3200  Capturing subpattern count = 0  Capturing subpattern count = 0
3201  No options  No options
# Line 3289  No need char Line 3204  No need char
3204    
3205  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3206  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3207  Options: extended  Options: extended
3208  First char = '<'  First char = '<'
3209  Need char = '>'  Need char = '>'
# Line 3301  Need char = '>' Line 3215  Need char = '>'
3215   0: <abc <123> hij>   0: <abc <123> hij>
3216      <abc <def> hij>      <abc <def> hij>
3217   0: <def>   0: <def>
3218      <abc<>def>      <abc<>def>
3219   0: <abc<>def>   0: <abc<>def>
3220      <abc<>      <abc<>
3221   0: <>   0: <>
3222      *** Failers      *** Failers
3223  No match  No match
3224      <abc      <abc
3225  No match  No match
3226    
3227  |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  
3228  ------------------------------------------------------------------  ------------------------------------------------------------------
3229    0 822 Bra 0          Bra
3230    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
3231  821     \b          \b
3232  822 822 Ket          Ket
3233  825     End          End
3234  ------------------------------------------------------------------  ------------------------------------------------------------------
3235  Capturing subpattern count = 0  Capturing subpattern count = 0
3236  No options  No options
3237  First char = '8'  First char = '8'
3238  Need char = 'X'  Need char = 'X'
3239    Max lookbehind = 1
3240    
3241  |\$\<\.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  
3242  ------------------------------------------------------------------  ------------------------------------------------------------------
3243    0 812 Bra 0          Bra
3244    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
3245  811     \b          \b
3246  812 812 Ket          Ket
3247  815     End          End
3248  ------------------------------------------------------------------  ------------------------------------------------------------------
3249  Capturing subpattern count = 0  Capturing subpattern count = 0
3250  No options  No options
3251  First char = '$'  First char = '$'
3252  Need char = 'X'  Need char = 'X'
3253    Max lookbehind = 1
3254    
3255  /(.*)\d+\1/I  /(.*)\d+\1/I
3256  Capturing subpattern count = 1  Capturing subpattern count = 1
3257  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3258  No options  No options
3259  No first char  No first char
3260  No need char  No need char
3261    
3262  /(.*)\d+/I  /(.*)\d+/I
3263  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3264  No options  No options
3265  First char at start or follows newline  First char at start or follows newline
3266  No need char  No need char
3267    
3268  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3269  Capturing subpattern count = 1  Capturing subpattern count = 1
3270  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3271  Options: dotall  Options: dotall
3272  No first char  No first char
3273  No need char  No need char
3274    
3275  /(.*)\d+/Is  /(.*)\d+/Is
3276  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3277  Options: anchored dotall  Options: anchored dotall
3278  No first char  No first char
3279  No need char  No need char
# Line 3371  No need char Line 3281  No need char
3281  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3282  Capturing subpattern count = 2  Capturing subpattern count = 2
3283  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3284  No options  No options
3285  First char at start or follows newline  First char at start or follows newline
3286  Need char = 'z'  Need char = 'z'
# Line 3379  Need char = 'z' Line 3288  Need char = 'z'
3288  /((.*))\d+\1/I  /((.*))\d+\1/I
3289  Capturing subpattern count = 2  Capturing subpattern count = 2
3290  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3291  No options  No options
3292  No first char  No first char
3293  No need char  No need char
# Line 3387  No need char Line 3295  No need char
3295   0: bc123bc   0: bc123bc
3296   1: bc   1: bc
3297   2: bc   2: bc
3298    
3299  /a[b]/I  /a[b]/I
3300  Capturing subpattern count = 0  Capturing subpattern count = 0
3301  No options  No options
# Line 3396  Need char = 'b' Line 3304  Need char = 'b'
3304    
3305  /(?=a).*/I  /(?=a).*/I
3306  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3307  No options  No options
3308  First char = 'a'  First char = 'a'
3309  No need char  No need char
# Line 3443  No options Line 3350  No options
3350  No first char  No first char
3351  Need char = 'a'  Need char = 'a'
3352    
3353  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3354  Capturing subpattern count = 0  Capturing subpattern count = 1
3355  No options  No options
3356  First char = 'a'  First char = 'a'
3357  No need char  No need char
3358    
3359  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3360  Capturing subpattern count = 0  Capturing subpattern count = 1
3361  No options  No options
3362  First char = 'a'  First char = 'a'
3363  Need char = 'z'  Need char = 'z'
3364    
3365  /(?(1)abz)/I  /(?(1)abz)(.)/I
3366  Capturing subpattern count = 0  Capturing subpattern count = 1
3367  No options  No options
3368  No first char  No first char
3369  No need char  No need char
3370    
3371  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3372  Capturing subpattern count = 0  Capturing subpattern count = 1
3373  No options  No options
3374  No first char  No first char
3375  Need char = '3'  Need char = '3'
# Line 3502  Capturing subpattern count = 0 Line 3409  Capturing subpattern count = 0
3409  No options  No options
3410  No first char  No first char
3411  No need char  No need char
3412    Subject length lower bound = 1
3413  Starting byte set: a b  Starting byte set: a b
3414    
3415  /[^a]/I  /[^a]/I
# Line 3521  Capturing subpattern count = 0 Line 3429  Capturing subpattern count = 0
3429  No options  No options
3430  No first char  No first char
3431  Need char = '6'  Need char = '6'
3432    Subject length lower bound = 4
3433  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
3434    
3435  /a^b/I  /a^b/I
# Line 3536  First char at start or follows newline Line 3445  First char at start or follows newline
3445  Need char = 'a'  Need char = 'a'
3446    abcde    abcde
3447   0: a   0: a
3448    xy\nabc    xy\nabc
3449   0: a   0: a
3450    *** Failers    *** Failers
3451  No match  No match
3452    xyabc    xyabc
3453  No match  No match
3454    
3455  /c|abc/I  /c|abc/I
# Line 3554  Capturing subpattern count = 0 Line 3463  Capturing subpattern count = 0
3463  Options: caseless  Options: caseless
3464  No first char  No first char
3465  No need char  No need char
3466    Subject length lower bound = 1
3467  Starting byte set: A B a b  Starting byte set: A B a b
3468    
3469  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3561  Capturing subpattern count = 0 Line 3471  Capturing subpattern count = 0
3471  No options  No options
3472  No first char  No first char
3473  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3474    Subject length lower bound = 3
3475  Starting byte set: a b  Starting byte set: a b
3476    
3477  /abc(?C)def/I  /abc(?C)def/I
# Line 3572  Need char = 'f' Line 3483  Need char = 'f'
3483  --->abcdef  --->abcdef
3484    0 ^  ^       d    0 ^  ^       d
3485   0: abcdef   0: abcdef
3486      1234abcdef      1234abcdef
3487  --->1234abcdef  --->1234abcdef
3488    0     ^  ^       d    0     ^  ^       d
3489   0: abcdef   0: abcdef
# Line 3580  Need char = 'f' Line 3491  Need char = 'f'
3491  No match  No match
3492      abcxyz      abcxyz
3493  No match  No match
3494      abcxyzf      abcxyzf
3495  --->abcxyzf  --->abcxyzf
3496    0 ^  ^        d    0 ^  ^        d
3497  No match  No match
# Line 3595  Need char = 'f' Line 3506  Need char = 'f'
3506    0    ^  ^       d    0    ^  ^       d
3507    1    ^    ^     f    1    ^    ^     f
3508   0: abcdef   0: abcdef
3509    
3510  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3511    Capturing subpattern count = 0
3512    No options
3513    No first char
3514    Need char = 'f'
3515    Subject length lower bound = 7
3516    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3517        1234abcdef
3518    --->1234abcdef
3519      1 ^              \d
3520      1  ^             \d
3521      1   ^            \d
3522      1    ^           \d
3523      2    ^   ^       d
3524     0: 4abcdef
3525        *** Failers
3526    No match
3527        abcdef
3528    No match
3529    
3530    /(?C1)\dabc(?C2)def/ISS
3531  Capturing subpattern count = 0  Capturing subpattern count = 0
3532  No options  No options
3533  No first char  No first char
# Line 3611  Need char = 'f' Line 3542  Need char = 'f'
3542   0: 4abcdef   0: 4abcdef
3543      *** Failers      *** Failers
3544  No match  No match
3545      abcdef      abcdef
3546  --->abcdef  --->abcdef
3547    1 ^          \d    1 ^          \d
3548    1  ^         \d    1  ^         \d
# Line 3620  No match Line 3551  No match
3551    1     ^      \d    1     ^      \d
3552    1      ^     \d    1      ^     \d
3553  No match  No match
3554    
3555  /(?C255)ab/I  /(?C255)ab/I
3556  Capturing subpattern count = 0  Capturing subpattern count = 0
3557  No options  No options
# Line 3630  Need char = 'b' Line 3561  Need char = 'b'
3561  /(?C256)ab/I  /(?C256)ab/I
3562  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3563    
3564  /(?Cab)xx/I  /(?Cab)xx/I
3565  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3566    
3567  /(?C12vr)x/I  /(?C12vr)x/I
# Line 3659  Need char = 'f' Line 3590  Need char = 'f'
3590    1    ^    ^     f    1    ^    ^     f
3591   0: abcdef   0: abcdef
3592   1: abc   1: abc
3593      123abcdef\C+      123abcdef\C+
3594  Callout 0: last capture = 1  Callout 0: last capture = 1
3595   0: <unset>   0: <unset>
3596   1: abc   1: abc
# Line 3672  Callout 1: last capture = 1 Line 3603  Callout 1: last capture = 1
3603         ^    ^     f         ^    ^     f
3604   0: abcdef   0: abcdef
3605   1: abc   1: abc
3606      123abcdef\C-      123abcdef\C-
3607   0: abcdef   0: abcdef
3608   1: abc   1: abc
3609      *** Failers      *** Failers
3610  No match  No match
3611      123abcdef\C!1      123abcdef\C!1
3612  --->123abcdef  --->123abcdef
3613    0    ^  ^       d    0    ^  ^       d
3614    1    ^    ^     f    1    ^    ^     f
3615  No match  No match
3616    
3617  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3618  Capturing subpattern count = 1  Capturing subpattern count = 1
3619  No options  No options
# Line 3696  No need char Line 3627  No need char
3627    1 ^        ^    )    1 ^        ^    )
3628   0: abcabcabc   0: abcabcabc
3629   1: abc   1: abc
3630      abcabc\C!1!3      abcabc\C!1!3
3631  --->abcabc  --->abcabc
3632    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3633    1 ^  ^       )    1 ^  ^       )
# Line 3707  No need char Line 3638  No need char
3638  --->*** Failers  --->*** Failers
3639    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3640   0:   0:
3641      abcabcabc\C!1!3      abcabcabc\C!1!3
3642  --->abcabcabc  --->abcabcabc
3643    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3644    1 ^  ^          )    1 ^  ^          )
# Line 3718  No need char Line 3649  No need char
3649    
3650  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3651  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3652  No options  No options
3653  No first char  No first char
3654  No need char  No need char
# Line 3741  Callout 0: last capture = 1 Line 3671  Callout 0: last capture = 1
3671      ^     ^    )      ^     ^    )
3672   0: 123456   0: 123456
3673   1: 456   1: 456
3674      123456789\C+      123456789\C+
3675  Callout 0: last capture = -1  Callout 0: last capture = -1
3676   0: <unset>   0: <unset>
3677  --->123456789  --->123456789
# Line 3813  Callout 0: last capture = 1 Line 3743  Callout 0: last capture = 1
3743      ^          a      ^          a
3744   0: abcdef   0: abcdef
3745   1: abc   1: abc
3746    
3747  /(?!(abc)(?C1)d)(?C2)abcxyz/I  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3748  Capturing subpattern count = 1  Capturing subpattern count = 1
3749  No options  No options
3750  First char = 'a'  First char = 'a'
3751  Need char = 'z'  Need char = 'z'
3752      abcxyz\C+      abcxyz\C+
3753  Callout 1: last capture = 1  Callout 1: last capture = 1
3754   0: <unset>   0: <unset>
3755   1: abc   1: abc
# Line 3836  Capturing subpattern count = 1 Line 3766  Capturing subpattern count = 1
3766  No options  No options
3767  First char = 'x'  First char = 'x'
3768  Need char = 'z'  Need char = 'z'
3769    Max lookbehind = 3
3770     abcxyz\C+     abcxyz\C+
3771  Callout 0: last capture = 1  Callout 0: last capture = 1
3772   0: <unset>   0: <unset>
# Line 3844  Callout 0: last capture = 1 Line 3775  Callout 0: last capture = 1
3775         ^       )         ^       )
3776   0: xyz   0: xyz
3777   1: abc   1: abc
3778    
3779  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3780  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3781  No options  No options
3782  First char = 'a'  First char = 'a'
3783  Need char = 'b'  Need char = 'b'
# Line 3873  No match Line 3803  No match
3803    
3804  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3805  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3806  No options  No options
3807  First char = 'a'  First char = 'a'
3808  Need char = 'b'  Need char = 'b'
# Line 3896  Callout data = 1 Line 3825  Callout data = 1
3825    1 ^        ^    1 ^        ^
3826  Callout data = 1  Callout data = 1
3827  No match  No match
3828    
3829  /(?C)abc/I  /(?C)abc/I
3830  Capturing subpattern count = 0  Capturing subpattern count = 0
3831  No options  No options
3832  First char = 'a'  First char = 'a'
# Line 3914  Capturing subpattern count = 0 Line 3843  Capturing subpattern count = 0
3843  No options  No options
3844  No first char  No first char
3845  No need char  No need char
3846    Subject length lower bound = 1
3847  Starting byte set: a b  Starting byte set: a b
3848    
3849  /(?R)/I  /(?R)/I
# Line 3954  No need char Line 3884  No need char
3884   3: xxab   3: xxab
3885      *** Failers      *** Failers
3886  No match  No match
3887      xyab      xyab
3888  No match  No match
3889    
3890  /(ab|(bc|(de|(?1))))/I  /(ab|(bc|(de|(?1))))/I
# Line 3974  No need char Line 3904  No need char
3904      a(b)c      a(b)c
3905   0: a(b)c   0: a(b)c
3906   1: c   1: c
3907      a(b(c))d      a(b(c))d
3908   0: a(b(c))d   0: a(b(c))d
3909   1: d   1: d
3910      *** Failers)      *** Failers)
3911  No match  No match
3912      a(b(c)d      a(b(c)d
3913  No match  No match
3914    
3915  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
# Line 3997  Need char = '<' Line 3927  Need char = '<'
3927   0: >abc>(1(2)3)<xyz<   0: >abc>(1(2)3)<xyz<
3928   1: (1(2)3)   1: (1(2)3)
3929    
3930  /(a(?1)b)/D  /(a(?1)b)/DZ
3931  ------------------------------------------------------------------  ------------------------------------------------------------------
3932    0  24 Bra 0          Bra
3933    3  18 Bra 1          CBra 1
3934    8     a          a
3935   10   6 Once          Recurse
3936   13   3 Recurse          b
3937   16   6 Ket          Ket
3938   19     b          Ket
3939   21  18 Ket          End
  24  24 Ket  
  27     End  
3940  ------------------------------------------------------------------  ------------------------------------------------------------------
3941  Capturing subpattern count = 1  Capturing subpattern count = 1
3942  No options  No options
3943  First char = 'a'  First char = 'a'
3944  Need char = 'b'  Need char = 'b'
3945    
3946  /(a(?1)+b)/D  /(a(?1)+b)/DZ
3947  ------------------------------------------------------------------  ------------------------------------------------------------------
3948    0  24 Bra 0          Bra
3949    3  18 Bra 1          CBra 1
3950    8     a          a
3951   10   6 Once          Once
3952   13   3 Recurse          Recurse
3953   16   6 KetRmax          KetRmax
3954   19     b          b
3955   21  18 Ket          Ket
3956   24  24 Ket          Ket
3957   27     End          End
3958  ------------------------------------------------------------------  ------------------------------------------------------------------
3959  Capturing subpattern count = 1  Capturing subpattern count = 1
3960  No options  No options
3961  First char = 'a'  First char = 'a'
3962  Need char = 'b'  Need char = 'b'
3963    
 /^\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  
   
3964  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3965  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3966  Options: anchored  Options: anchored
3967  No first char  No first char
3968  No need char  No need char
# Line 4087  No need char Line 3980  No need char
3980  No match  No match
3981      ((2+2)*-3)-7)      ((2+2)*-3)-7)
3982  No match  No match
3983    
3984  /^(x(y|(?1){2})z)/I  /^(x(y|(?1){2})z)/I
3985  Capturing subpattern count = 2  Capturing subpattern count = 2
3986  Options: anchored  Options: anchored
# Line 4097  No need char Line 3990  No need char
3990   0: xyz   0: xyz
3991   1: xyz   1: xyz
3992   2: y   2: y
3993      xxyzxyzz      xxyzxyzz
3994   0: xxyzxyzz   0: xxyzxyzz
3995   1: xxyzxyzz   1: xxyzxyzz
3996   2: xyzxyz   2: xyzxyz
# Line 4105  No need char Line 3998  No need char
3998  No match  No match
3999      xxyzz      xxyzz
4000  No match  No match
4001      xxyzxyzxyzz      xxyzxyzxyzz
4002  No match  No match
4003    
4004  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4005  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4006  Options: extended  Options: extended
4007  First char = '<'  First char = '<'
4008  Need char = '>'  Need char = '>'
# Line 4130  Need char = '>' Line 4022  Need char = '>'
4022   0: <def>   0: <def>
4023   1: <def>   1: <def>
4024   2: <def>   2: <def>
4025      <abc<>def>      <abc<>def>
4026   0: <abc<>def>   0: <abc<>def>
4027   1: <abc<>def>   1: <abc<>def>
4028   2: <abc<>def>   2: <abc<>def>
4029      <abc<>      <abc<>
4030   0: <>   0: <>
4031   1: <>   1: <>
4032   2: <>   2: <>
# Line 4169  No need char Line 4061  No need char
4061      a=b      a=b
4062   0: a=b   0: a=b
4063   1: a   1: a
4064      a=bc      a=bc
4065   0: a=bc   0: a=bc
4066   1: a   1: a
4067    
# Line 4186  No need char Line 4078  No need char
4078   0: a=b   0: a=b
4079   1: a   1: a
4080   2: b   2: b
4081      a=bc      a=bc
4082   0: a=bc   0: a=bc
4083   1: a   1: a
4084   2: c   2: c
4085    
4086  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4087  ------------------------------------------------------------------  ------------------------------------------------------------------
4088    0  32 Bra 0          Bra
4089    3     a          a
4090    5   7 Bra 1          CBra 1
4091   10     b          b
4092   12   5 Alt          Alt
4093   15     c          c
4094   17  12 Ket          Ket
4095   20     d          d
4096   22   7 Bra 2          CBra 2
4097   27     e          e
4098   29   7 Ket          Ket
4099   32  32 Ket          Ket
4100   35     End          End
4101  ------------------------------------------------------------------  ------------------------------------------------------------------
4102  Capturing subpattern count = 2  Capturing subpattern count = 2
4103  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4218  Need char = 'e' Line 4110  Need char = 'e'
4110   0: abde   0: abde
4111   1: b   1: b
4112   2: e   2: e
4113      acde      acde
4114   0: acde   0: acde
4115   1: c   1: c
4116   2: e   2: e
4117    
4118  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4119  ------------------------------------------------------------------  ------------------------------------------------------------------
4120    0  41 Bra 0          Bra
4121    3  25 Bra 0          Bra
4122    6     a          a
4123    8  17 Bra 1          CBra 1
4124   13     c          c
4125   15   7 Bra 2          CBra 2
4126   20     d          d
4127   22   7 Ket          Ket
4128   25  17 Ket          Ket
4129   28  25 Ket          Ket
4130   31   7 Bra 3          CBra 3
4131   36     a          a
4132   38   7 Ket          Ket
4133   41  41 Ket          Ket
4134   44     End          End
4135  ------------------------------------------------------------------  ------------------------------------------------------------------
4136  Capturing subpattern count = 3  Capturing subpattern count = 3
4137  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4250  No options Line 4142  No options
4142  First char = 'a'  First char = 'a'
4143  Need char = 'a'  Need char = 'a'
4144    
4145  /(?P<a>a)...(?P=a)bbb(?P>a)d/D  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4146  ------------------------------------------------------------------  ------------------------------------------------------------------
4147    0  36 Bra 0          Bra
4148    3   7 Bra 1          CBra 1
4149    8     a          a
4150   10   7 Ket          Ket
4151   13     Any          Any
4152   14     Any          Any
4153   15     Any          Any
4154   16     \1          \1
4155   19     bbb          bbb
4156   25   6 Once          Recurse
4157   28   3 Recurse          d
4158   31   6 Ket          Ket
4159   34     d          End
  36  36 Ket  
  39     End  
4160  ------------------------------------------------------------------  ------------------------------------------------------------------
4161  Capturing subpattern count = 1  Capturing subpattern count = 1
4162  Max back reference = 1  Max back reference = 1
# Line 4284  Named capturing subpatterns: Line 4174  Named capturing subpatterns:
4174    one     1    one     1
4175    three   3    three   3
4176    two     2    two     2
 Partial matching not supported  
4177  Options: anchored caseless  Options: anchored caseless
4178  No first char  No first char
4179  No need char  No need char
# Line 4304  No need char Line 4193  No need char
4193   2: <unset>   2: <unset>
4194   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4195   4: A   4: A
4196      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4197   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4198   1: <unset>   1: <unset>
4199   2: <unset>   2: <unset>
# Line 4312  No need char Line 4201  No need char
4201   4: A   4: A
4202      *** Failers      *** Failers
4203  No match  No match
4204      The quick brown fox      The quick brown fox
4205  No match  No match
4206    
4207  /((?(R)a|b))\1(?1)?/I  /((?(R)a|b))\1(?1)?/I
4208  Capturing subpattern count = 1  Capturing subpattern count = 1
4209  Max back reference = 1  Max back reference = 1
# Line 4324  No need char Line 4213  No need char
4213    bb    bb
4214   0: bb   0: bb
4215   1: b   1: b
4216    bbaa    bbaa
4217   0: bba   0: bba
4218   1: b   1: b
4219    
4220  /(.*)a/Is  /(.*)a/Is
4221  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4222  Options: anchored dotall  Options: anchored dotall
4223  No first char  No first char
4224  Need char = 'a'  Need char = 'a'
# Line 4338  Need char = 'a' Line 4226  Need char = 'a'
4226  /(.*)a\1/Is  /(.*)a\1/Is
4227  Capturing subpattern count = 1  Capturing subpattern count = 1
4228  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4229  Options: dotall  Options: dotall
4230  No first char  No first char
4231  Need char = 'a'  Need char = 'a'
# Line 4346  Need char = 'a' Line 4233  Need char = 'a'
4233  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4234  Capturing subpattern count = 2  Capturing subpattern count = 2
4235  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4236  Options: anchored dotall  Options: anchored dotall
4237  No first char  No first char
4238  Need char = 'b'  Need char = 'b'
4239    
4240  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4241  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4242  Options: anchored dotall  Options: anchored dotall
4243  No first char  No first char
4244  Need char = 'z'  Need char = 'z'
# Line 4361  Need char = 'z' Line 4246  Need char = 'z'
4246  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4247  Capturing subpattern count = 3  Capturing subpattern count = 3
4248  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4249  Options: dotall  Options: dotall
4250  No first char  No first char
4251  Need char = 'z'  Need char = 'z'
# Line 4369  Need char = 'z' Line 4253  Need char = 'z'
4253  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4254  Capturing subpattern count = 3  Capturing subpattern count = 3
4255  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4256  Options: dotall  Options: dotall
4257  No first char  No first char
4258  Need char = 'z'  Need char = 'z'
# Line 4377  Need char = 'z' Line 4260  Need char = 'z'
4260  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4261  Capturing subpattern count = 3  Capturing subpattern count = 3
4262  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4263  Options: dotall  Options: dotall
4264  No first char  No first char
4265  Need char = 'z'  Need char = 'z'
# Line 4385  Need char = 'z' Line 4267  Need char = 'z'
4267  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4268  Capturing subpattern count = 3  Capturing subpattern count = 3
4269  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4270  Options: anchored dotall  Options: anchored dotall
4271  No first char  No first char
4272  Need char = 'z'  Need char = 'z'
4273    
4274  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4275  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4276  Options: anchored dotall  Options: anchored dotall
4277  No first char  No first char
4278  No need char  No need char
# Line 4400  No need char Line 4280  No need char
4280  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4281  Capturing subpattern count = 31  Capturing subpattern count = 31
4282  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4283  Options: dotall  Options: dotall
4284  No first char  No first char
4285  No need char  No need char
# Line 4408  No need char Line 4287  No need char
4287  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4288  Capturing subpattern count = 32  Capturing subpattern count = 32
4289  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4290  Options: dotall  Options: dotall
4291  No first char  No first char
4292  No need char  No need char
4293    
4294  /(a)(bc)/IND  /(a)(bc)/INDZ
4295  ------------------------------------------------------------------  ------------------------------------------------------------------
4296    0  21 Bra 0          Bra
4297    3   5 Bra 0          Bra
4298    6     a          a
4299    8   5 Ket          Ket
4300   11   7 Bra 0          Bra
4301   14     bc          bc
4302   18   7 Ket          Ket
4303   21  21 Ket          Ket
4304   24     End          End
4305  ------------------------------------------------------------------  ------------------------------------------------------------------
4306  Capturing subpattern count = 0  Capturing subpattern count = 0
4307  Options: no_auto_capture  Options: no_auto_capture
# Line 4432  Need char = 'c' Line 4310  Need char = 'c'
4310    abc    abc
4311   0: abc   0: abc
4312    
4313  /(?P<one>a)(bc)/IND  /(?P<one>a)(bc)/INDZ
4314  ------------------------------------------------------------------  ------------------------------------------------------------------
4315    0  23 Bra 0          Bra
4316    3   7 Bra 1          CBra 1
4317    8     a          a
4318   10   7 Ket          Ket
4319   13   7 Bra 0          Bra
4320   16     bc          bc
4321   20   7 Ket          Ket
4322   23  23 Ket          Ket
4323   26     End          End
4324  ------------------------------------------------------------------  ------------------------------------------------------------------
4325  Capturing subpattern count = 1  Capturing subpattern count = 1
4326  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4454  Need char = 'c' Line 4332  Need char = 'c'
4332   0: abc   0: abc
4333   1: a   1: a
4334    
4335  /(a)(?P<named>bc)/IND  /(a)(?P<named>bc)/INDZ
4336  ------------------------------------------------------------------  ------------------------------------------------------------------
4337    0  23 Bra 0          Bra
4338    3   5 Bra 0          Bra
4339    6     a          a
4340    8   5 Ket          Ket
4341   11   9 Bra 1          CBra 1
4342   16     bc          bc
4343   20   9 Ket          Ket
4344   23  23 Ket          Ket
4345   26     End          End
4346  ------------------------------------------------------------------  ------------------------------------------------------------------
4347  Capturing subpattern count = 1  Capturing subpattern count = 1
4348  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4475  Need char = 'c' Line 4353  Need char = 'c'
4353    
4354  /(a+)*zz/I  /(a+)*zz/I
4355  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4356  No options  No options
4357  No first char  No first char
4358  Need char = 'z'  Need char = 'z'
# Line 4540  Need char = 'h' Line 4417  Need char = 'h'
4417   2: gh   2: gh
4418    C cd (2) one    C cd (2) one
4419    C gh (2) two    C gh (2) two
4420      abcdefgh\Cthree      abcdefgh\Cthree
4421  no parentheses with name "three"  no parentheses with name "three"
4422   0: abcdefgh   0: abcdefgh
4423   1: cd   1: cd
4424   2: gh   2: gh
4425  copy substring three failed -7  copy substring three failed -7
4426    
4427  /(?P<Tes>)(?P<Test>)/D  /(?P<Tes>)(?P<Test>)/DZ
4428  ------------------------------------------------------------------  ------------------------------------------------------------------
4429    0  19 Bra 0          Bra
4430    3   5 Bra 1          CBra 1
4431    8   5 Ket          Ket
4432   11   5 Bra 2          CBra 2
4433   16   5 Ket          Ket
4434   19  19 Ket          Ket
4435   22     End          End
4436  ------------------------------------------------------------------  ------------------------------------------------------------------
4437  Capturing subpattern count = 2  Capturing subpattern count = 2
4438  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4565  No options Line 4442  No options
4442  No first char  No first char
4443  No need char  No need char
4444    
4445  /(?P<Test>)(?P<Tes>)/D  /(?P<Test>)(?P<Tes>)/DZ
4446  ------------------------------------------------------------------  ------------------------------------------------------------------
4447    0  19 Bra 0          Bra
4448    3   5 Bra 1          CBra 1
4449    8   5 Ket          Ket
4450   11   5 Bra 2          CBra 2
4451   16   5 Ket          Ket
4452   19  19 Ket          Ket
4453   22     End          End
4454  ------------------------------------------------------------------  ------------------------------------------------------------------
4455  Capturing subpattern count = 2  Capturing subpattern count = 2
4456  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4612  Failed: two named subpatterns have the s Line 4489  Failed: two named subpatterns have the s
4489  Capturing subpattern count = 3  Capturing subpattern count = 3
4490  Named capturing subpatterns:  Named capturing subpatterns:
4491    elem   2    elem   2
 Partial matching not supported  
4492  No options  No options
4493  First char = '['  First char = '['
4494  Need char = ']'  Need char = ']'
# Line 4623  Need char = ']' Line 4499  Need char = ']'
4499   3: ,4234   3: ,4234
4500      *** Failers      *** Failers
4501  No match  No match
4502      []      []
4503  No match  No match
4504    
4505  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
4506  Capturing subpattern count = 3  Capturing subpattern count = 3
4507  Named capturing subpatterns:  Named capturing subpatterns:
4508    elem   2    elem   2
 Partial matching not supported  
4509  No options  No options
4510  First char = '['  First char = '['
4511  Need char = ']'  Need char = ']'
# Line 4639  Need char = ']' Line 4514  Need char = ']'
4514   1: 10,20,30,5,5,4,4,2,43,23,4234   1: 10,20,30,5,5,4,4,2,43,23,4234
4515   2: 10   2: 10
4516   3: ,4234   3: ,4234
4517      []      []
4518   0: []   0: []
4519    
4520  /(a(b(?2)c))?/D  /(a(b(?2)c))?/DZ
4521  ------------------------------------------------------------------  ------------------------------------------------------------------
4522    0  35 Bra 0          Bra
4523    3     Brazero          Brazero
4524    4  28 Bra 1          CBra 1
4525    9     a          a
4526   11  18 Bra 2          CBra 2
4527   16     b          b
4528   18   6 Once          Recurse
4529   21  11 Recurse          c
4530   24   6 Ket          Ket
4531   27     c          Ket
4532   29  18 Ket          Ket
4533   32  28 Ket          End
  35  35 Ket  
  38     End  
4534  ------------------------------------------------------------------  ------------------------------------------------------------------
4535  Capturing subpattern count = 2  Capturing subpattern count = 2
4536  No options  No options
4537  No first char  No first char
4538  No need char  No need char
4539    
4540  /(a(b(?2)c))*/D  /(a(b(?2)c))*/DZ
4541  ------------------------------------------------------------------  ------------------------------------------------------------------
4542    0  35 Bra 0          Bra
4543    3     Brazero          Brazero
4544    4  28 Bra 1          CBra 1
4545    9     a          a
4546   11  18 Bra 2          CBra 2
4547   16     b          b
4548   18   6 Once          Recurse
4549   21  11 Recurse          c
4550   24   6 Ket          Ket
4551   27     c          KetRmax
4552   29  18 Ket          Ket
4553   32  28 KetRmax          End
  35  35 Ket  
  38     End  
4554  ------------------------------------------------------------------  ------------------------------------------------------------------
4555  Capturing subpattern count = 2  Capturing subpattern count = 2
4556  No options  No options
4557  No first char  No first char
4558  No need char  No need char
4559    
4560  /(a(b(?2)c)){0,2}/D  /(a(b(?2)c)){0,2}/DZ
4561  ------------------------------------------------------------------  ------------------------------------------------------------------
4562    0  73 Bra 0          Bra
4563    3     Brazero          Brazero
4564    4  66 Bra 0          Bra
4565    7  28 Bra 1          CBra 1
4566   12     a          a
4567   14  18 Bra 2          CBra 2
4568   19     b          b
4569   21   6 Once          Recurse
4570   24  14 Recurse          c
4571   27   6 Ket          Ket
4572   30     c          Ket
4573   32  18 Ket          Brazero
4574   35  28 Ket          CBra 1
4575   38     Brazero          a
4576   39  28 Bra 1          CBra 2
4577   44     a          b
4578   46  18 Bra 2          Recurse
4579   51     b          c
4580   53   6 Once          Ket
4581   56  14 Recurse          Ket
4582   59   6 Ket          Ket
4583   62     c          Ket
4584   64  18 Ket          End
  67  28 Ket  
  70  66 Ket  
  73  73 Ket  
  76     End  
4585  ------------------------------------------------------------------  ------------------------------------------------------------------
4586  Capturing subpattern count = 2  Capturing subpattern count = 2
4587  No options  No options
4588  No first char  No first char
4589  No need char  No need char
4590    
4591  /[ab]{1}+/D  /[ab]{1}+/DZ
4592  ------------------------------------------------------------------  ------------------------------------------------------------------
4593    0  47 Bra 0          Bra
4594    3  41 Once          Once
4595    6     [ab]{1,1}          [ab]{1,1}
4596   44  41 Ket          Ket
4597   47  47 Ket          Ket
4598   50     End          End
4599  ------------------------------------------------------------------  ------------------------------------------------------------------
4600  Capturing subpattern count = 0  Capturing subpattern count = 0
4601  No options  No options
# Line 4737  No need char Line 4604  No need char
4604    
4605  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4606  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4607  Options: caseless  Options: caseless
4608  No first char  No first char
4609  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4747  Need char = 'g' (caseless) Line 4613  Need char = 'g' (caseless)
4613    
4614  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4615  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4616  Options: caseless  Options: caseless
4617  No first char  No first char
4618  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4619  Study returned NULL  Subject length lower bound = 8
4620    No set of starting bytes
4621       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4622   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4623   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4624    
4625  /a*.*b/ISD  /a*.*b/ISDZ
4626  ------------------------------------------------------------------  ------------------------------------------------------------------
4627    0   9 Bra 0          Bra
4628    3     a*          a*
4629    5     Any*          Any*
4630    7     b          b
4631    9   9 Ket          Ket
4632   12     End          End
4633  ------------------------------------------------------------------  ------------------------------------------------------------------
4634  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4635  No options  No options
4636  No first char  No first char
4637  Need char = 'b'  Need char = 'b'
4638  Study returned NULL  Subject length lower bound = 1
4639    No set of starting bytes
4640    
4641  /(a|b)*.?c/ISD  /(a|b)*.?c/ISDZ
4642  ------------------------------------------------------------------  ------------------------------------------------------------------
4643    0  23 Bra 0          Bra
4644    3     Brazero          Brazero
4645    4   7 Bra 1          CBra 1
4646    9     a          a
4647   11   5 Alt          Alt
4648   14     b          b
4649   16  12 KetRmax          KetRmax
4650   19     Any?          Any?
4651   21     c          c
4652   23  23 Ket          Ket
4653   26     End          End
4654  ------------------------------------------------------------------  ------------------------------------------------------------------
4655  Capturing subpattern count = 1  Capturing subpattern count = 1
4656  No options  No options
4657  No first char  No first char
4658  Need char = 'c'  Need char = 'c'
4659  Study returned NULL  Subject length lower bound = 1
4660    No set of starting bytes
4661    
4662  /abc(?C255)de(?C)f/D  /abc(?C255)de(?C)f/DZ
4663  ------------------------------------------------------------------  ------------------------------------------------------------------
4664    0  27 Bra 0          Bra
4665    3     abc          abc
4666    9     Callout 255 10 1          Callout 255 10 1
4667   15     de          de
4668   19     Callout 0 16 1          Callout 0 16 1
4669   25     f          f
4670   27  27 Ket          Ket
4671   30     End          End
4672  ------------------------------------------------------------------  ------------------------------------------------------------------
4673  Capturing subpattern count = 0  Capturing subpattern count = 0
4674  No options  No options
4675  First char = 'a'  First char = 'a'
4676  Need char = 'f'  Need char = 'f'
4677    
4678  /abcde/ICD  /abcde/ICDZ
4679  ------------------------------------------------------------------  ------------------------------------------------------------------
4680    0  49 Bra 0          Bra
4681    3     Callout 255 0 1          Callout 255 0 1
4682    9     a          a
4683   11     Callout 255 1 1          Callout 255 1 1
4684   17     b          b
4685   19     Callout 255 2 1          Callout 255 2 1
4686   25     c          c
4687   27     Callout 255 3 1          Callout 255 3 1
4688   33     d          d
4689   35     Callout 255 4 1          Callout 255 4 1
4690   41     e          e
4691   43     Callout 255 5 0          Callout 255 5 0
4692   49  49 Ket          Ket
4693   52     End          End
4694  ------------------------------------------------------------------  ------------------------------------------------------------------
4695  Capturing subpattern count = 0  Capturing subpattern count = 0
4696  Options:  Options:
# Line 4838  Need char = 'e' Line 4705  Need char = 'e'
4705   +4 ^   ^     e   +4 ^   ^     e
4706   +5 ^    ^   +5 ^    ^
4707   0: abcde   0: abcde
4708    abcdfe    abcdfe
4709  --->abcdfe  --->abcdfe
4710   +0 ^          a   +0 ^          a
4711   +1 ^^         b   +1 ^^         b
# Line 4846  Need char = 'e' Line 4713  Need char = 'e'
4713   +3 ^  ^       d   +3 ^  ^       d
4714   +4 ^   ^      e   +4 ^   ^      e
4715  No match  No match
4716    
4717  /a*b/ICD  /a*b/ICDZS
4718  ------------------------------------------------------------------  ------------------------------------------------------------------
4719    0  25 Bra 0          Bra
4720    3     Callout 255 0 2          Callout 255 0 2
4721    9     a*+          a*+
4722   11     Callout 255 2 1          Callout 255 2 1
4723   17     b          b
4724   19     Callout 255 3 0          Callout 255 3 0
4725   25  25 Ket          Ket
4726   28     End          End
4727  ------------------------------------------------------------------  ------------------------------------------------------------------
4728  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4729  Options:  Options:
4730  No first char  No first char
4731  Need char = 'b'  Need char = 'b'
4732    Subject length lower bound = 1
4733    Starting byte set: a b
4734    ab    ab
4735  --->ab  --->ab
4736   +0 ^      a*   +0 ^      a*
# Line 4875  Need char = 'b' Line 4743  Need char = 'b'
4743   +2 ^   ^     b   +2 ^   ^     b
4744   +3 ^    ^   +3 ^    ^
4745   0: aaaab   0: aaaab
4746    aaaacb    aaaacb
4747  --->aaaacb  --->aaaacb
4748   +0 ^          a*   +0 ^          a*
4749   +2 ^   ^      b   +2 ^   ^      b
# Line 4885  Need char = 'b' Line 4753  Need char = 'b'
4753   +2   ^ ^      b   +2   ^ ^      b
4754   +0    ^       a*   +0    ^       a*
4755   +2    ^^      b   +2    ^^      b
  +0     ^      a*  
  +2     ^      b  
4756   +0      ^     a*   +0      ^     a*
4757   +2      ^     b   +2      ^     b
4758   +3      ^^   +3      ^^
4759   0: b   0: b
4760    
4761  /a+b/ICD  /a*b/ICDZSS
4762  ------------------------------------------------------------------  ------------------------------------------------------------------
4763    0  25 Bra 0          Bra
4764    3     Callout 255 0 2          Callout 255 0 2
4765    9     a++          a*+
4766   11     Callout 255 2 1          Callout 255 2 1
4767   17     b          b
4768   19     Callout 255 3 0          Callout 255 3 0
4769   25  25 Ket          Ket
4770   28     End          End
4771  ------------------------------------------------------------------  ------------------------------------------------------------------
4772  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4773  Options:  Options:
4774  First char = 'a'  No first char
4775  Need char = 'b'  Need char = 'b'
4776    ab    ab
4777  --->ab  --->ab
4778   +0 ^      a+   +0 ^      a*
4779   +2 ^^     b   +2 ^^     b
4780   +3 ^ ^   +3 ^ ^
4781   0: ab   0: ab
4782    aaaab    aaaab
4783  --->aaaab  --->aaaab
4784   +0 ^         a+   +0 ^         a*
4785   +2 ^   ^     b   +2 ^   ^     b
4786   +3 ^    ^   +3 ^    ^
4787   0: aaaab   0: aaaab
4788    aaaacb    aaaacb
4789  --->aaaacb  --->aaaacb
4790   +0 ^          a+   +0 ^          a*
4791     +2 ^   ^      b
4792     +0  ^         a*
4793     +2  ^  ^      b
4794     +0   ^        a*
4795     +2   ^ ^      b
4796     +0    ^       a*
4797     +2    ^^      b
4798     +0     ^      a*
4799     +2     ^      b
4800     +0      ^     a*
4801     +2      ^     b
4802     +3      ^^
4803     0: b
4804    
4805    /a+b/ICDZ
4806    ------------------------------------------------------------------
4807            Bra
4808            Callout 255 0 2
4809            a++
4810            Callout 255 2 1
4811            b
4812            Callout 255 3 0
4813            Ket
4814            End
4815    ------------------------------------------------------------------
4816    Capturing subpattern count = 0
4817    Options:
4818    First char = 'a'
4819    Need char = 'b'
4820      ab
4821    --->ab
4822     +0 ^      a+
4823     +2 ^^     b
4824     +3 ^ ^
4825     0: ab
4826      aaaab
4827    --->aaaab
4828     +0 ^         a+
4829     +2 ^   ^     b
4830     +3 ^    ^
4831     0: aaaab
4832      aaaacb
4833    --->aaaacb
4834     +0 ^          a+
4835   +2 ^   ^      b   +2 ^   ^      b
4836   +0  ^         a+   +0  ^         a+
4837   +2  ^  ^      b   +2  ^  ^      b
# Line 4932  Need char = 'b' Line 4841  Need char = 'b'
4841   +2    ^^      b   +2    ^^      b
4842  No match  No match
4843    
4844  /(abc|def)x/ICD  /(abc|def)x/ICDZS
4845    ------------------------------------------------------------------
4846            Bra
4847            Callout 255 0 9
4848            CBra 1
4849            Callout 255 1 1
4850            a
4851            Callout 255 2 1
4852            b
4853            Callout 255 3 1
4854            c
4855            Callout 255 4 0
4856            Alt
4857            Callout 255 5 1
4858            d
4859