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

Diff of /code/trunk/testdata/testoutput2

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

revision 227 by ph10, Tue Aug 21 15:00:15 2007 UTC revision 1364 by ph10, Sat Oct 5 15:45:11 2013 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    May match empty string
14  No options  No options
15  No first char  No first char
16  No need char  No need char
# Line 40  No match Line 51  No match
51    
52  /a+bc/I  /a+bc/I
53  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
54  No options  No options
55  First char = 'a'  First char = 'a'
56  Need char = 'c'  Need char = 'c'
57    
58  /a*bc/I  /a*bc/I
59  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
60  No options  No options
61  No first char  No first char
62  Need char = 'c'  Need char = 'c'
63    
64  /a{3}bc/I  /a{3}bc/I
65  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
66  No options  No options
67  First char = 'a'  First char = 'a'
68  Need char = 'c'  Need char = 'c'
69    
70  /(abc|a+z)/I  /(abc|a+z)/I
71  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
72  No options  No options
73  First char = 'a'  First char = 'a'
74  No need char  No need char
# Line 96  Failed: missing terminating ] for charac Line 103  Failed: missing terminating ] for charac
103  /(?X)[\B]/  /(?X)[\B]/
104  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
105    
106    /(?X)[\R]/
107    Failed: invalid escape sequence in character class at offset 6
108    
109    /(?X)[\X]/
110    Failed: invalid escape sequence in character class at offset 6
111    
112    /[\B]/BZ
113    ------------------------------------------------------------------
114            Bra
115            B
116            Ket
117            End
118    ------------------------------------------------------------------
119    
120    /[\R]/BZ
121    ------------------------------------------------------------------
122            Bra
123            R
124            Ket
125            End
126    ------------------------------------------------------------------
127    
128    /[\X]/BZ
129    ------------------------------------------------------------------
130            Bra
131            X
132            Ket
133            End
134    ------------------------------------------------------------------
135    
136  /[z-a]/  /[z-a]/
137  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
138    
# Line 109  Failed: missing ) at offset 4 Line 146  Failed: missing ) at offset 4
146  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
147    
148  /(?z)abc/  /(?z)abc/
149  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
150    
151  /.*b/I  /.*b/I
152  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
153  No options  No options
154  First char at start or follows newline  First char at start or follows newline
155  Need char = 'b'  Need char = 'b'
156    
157  /.*?b/I  /.*?b/I
158  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
159  No options  No options
160  First char at start or follows newline  First char at start or follows newline
161  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 175  Capturing subpattern count = 0
175  No options  No options
176  No first char  No first char
177  No need char  No need char
178    Subject length lower bound = 3
179  Starting byte set: c d e  Starting byte set: c d e
180      this sentence eventually mentions a cat      this sentence eventually mentions a cat
181   0: cat   0: cat
# Line 151  Capturing subpattern count = 0 Line 187  Capturing subpattern count = 0
187  Options: caseless  Options: caseless
188  No first char  No first char
189  No need char  No need char
190    Subject length lower bound = 3
191  Starting byte set: C D E c d e  Starting byte set: C D E c d e
192      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
193   0: CAT   0: CAT
# Line 162  Capturing subpattern count = 0 Line 199  Capturing subpattern count = 0
199  No options  No options
200  No first char  No first char
201  No need char  No need char
202    Subject length lower bound = 1
203  Starting byte set: a b c d  Starting byte set: a b c d
204    
205  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
206  Capturing subpattern count = 1  Capturing subpattern count = 1
 Contains explicit CR or LF match  
207  No options  No options
208  No first char  No first char
209  No need char  No need char
210    Subject length lower bound = 1
211  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
212    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
213    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 190  Capturing subpattern count = 1 Line 228  Capturing subpattern count = 1
228  No options  No options
229  No first char  No first char
230  No need char  No need char
231  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Subject length lower bound = 1
232    Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 a b
233    
234  /(ab\2)/  /(ab\2)/
235  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
# Line 311  No match Line 350  No match
350  No match  No match
351    
352  /ab(?z)cd/  /ab(?z)cd/
353  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
354    
355  /^abc|def/I  /^abc|def/I
356  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 325  No need char Line 364  No need char
364    
365  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
366  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
367  No options  No options
368  First char at start or follows newline  First char at start or follows newline
369  No need char  No need char
# Line 339  No need char Line 377  No need char
377   2: <unset>   2: <unset>
378   3: def   3: def
379    
 /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  
   
380  /)/  /)/
381  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
382    
# Line 402  Failed: missing terminating ] for charac Line 385  Failed: missing terminating ] for charac
385    
386  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
387  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
388  No options  No options
389  No first char  No first char
390  No need char  No need char
# Line 412  No need char Line 393  No need char
393    
394  /<.*>/I  /<.*>/I
395  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
396  No options  No options
397  First char = '<'  First char = '<'
398  Need char = '>'  Need char = '>'
# Line 421  Need char = '>' Line 401  Need char = '>'
401    
402  /<.*?>/I  /<.*?>/I
403  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
404  No options  No options
405  First char = '<'  First char = '<'
406  Need char = '>'  Need char = '>'
# Line 430  Need char = '>' Line 409  Need char = '>'
409    
410  /<.*>/IU  /<.*>/IU
411  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
412  Options: ungreedy  Options: ungreedy
413  First char = '<'  First char = '<'
414  Need char = '>'  Need char = '>'
# Line 439  Need char = '>' Line 417  Need char = '>'
417    
418  /(?U)<.*>/I  /(?U)<.*>/I
419  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
420  Options: ungreedy  Options: ungreedy
421  First char = '<'  First char = '<'
422  Need char = '>'  Need char = '>'
# Line 448  Need char = '>' Line 425  Need char = '>'
425    
426  /<.*?>/IU  /<.*?>/IU
427  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
428  Options: ungreedy  Options: ungreedy
429  First char = '<'  First char = '<'
430  Need char = '>'  Need char = '>'
# Line 457  Need char = '>' Line 433  Need char = '>'
433    
434  /={3,}/IU  /={3,}/IU
435  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
436  Options: ungreedy  Options: ungreedy
437  First char = '='  First char = '='
438  Need char = '='  Need char = '='
# Line 466  Need char = '=' Line 441  Need char = '='
441    
442  /(?U)={3,}?/I  /(?U)={3,}?/I
443  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
444  Options: ungreedy  Options: ungreedy
445  First char = '='  First char = '='
446  Need char = '='  Need char = '='
# Line 475  Need char = '=' Line 449  Need char = '='
449    
450  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
451  Capturing subpattern count = 0  Capturing subpattern count = 0
452    Max lookbehind = 6
453  No options  No options
454  First char = 'f'  First char = 'f'
455  Need char = 'o'  Need char = 'o'
# Line 524  No need char Line 499  No need char
499    
500  /(?s).*/I  /(?s).*/I
501  Capturing subpattern count = 0  Capturing subpattern count = 0
502  Partial matching not supported  May match empty string
503  Options: anchored dotall  Options: anchored dotall
504  No first char  No first char
505  No need char  No need char
# Line 534  Capturing subpattern count = 0 Line 509  Capturing subpattern count = 0
509  No options  No options
510  No first char  No first char
511  No need char  No need char
512    Subject length lower bound = 1
513  Starting byte set: a b c d  Starting byte set: a b c d
514    
515  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 541  Capturing subpattern count = 0 Line 517  Capturing subpattern count = 0
517  Options: caseless  Options: caseless
518  No first char  No first char
519  No need char  No need char
520    Subject length lower bound = 1
521  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
522    
523  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 548  Capturing subpattern count = 1 Line 525  Capturing subpattern count = 1
525  Options: multiline  Options: multiline
526  No first char  No first char
527  No need char  No need char
528    Subject length lower bound = 1
529  Starting byte set: b c x y  Starting byte set: b c x y
530    
531  /(^a|^b)/Im  /(^a|^b)/Im
# Line 586  Failed: syntax error in subpattern name Line 564  Failed: syntax error in subpattern name
564  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
565  Capturing subpattern count = 1  Capturing subpattern count = 1
566  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
567  No options  No options
568  First char = 'b'  First char = 'b'
569  Need char = 'h'  Need char = 'h'
# Line 594  Need char = 'h' Line 571  Need char = 'h'
571  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
572  Capturing subpattern count = 1  Capturing subpattern count = 1
573  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
574  No options  No options
575  First char = 'b' (caseless)  First char = 'b' (caseless)
576  Need char = 'h' (caseless)  Need char = 'h' (caseless)
# Line 603  Need char = 'h' (caseless) Line 579  Need char = 'h' (caseless)
579  ------------------------------------------------------------------  ------------------------------------------------------------------
580          Bra          Bra
581          CBra 1          CBra 1
582       01 Opt       /i b
      NC b  
583          Ket          Ket
      00 Opt  
584          Ket          Ket
585          End          End
586  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 614  Capturing subpattern count = 1 Line 588  Capturing subpattern count = 1
588  No options  No options
589  First char = 'b' (caseless)  First char = 'b' (caseless)
590  No need char  No need char
591  Study returned NULL  Subject length lower bound = 1
592    No set of starting bytes
593    
594  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
595  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
596  No options  No options
597  No first char  No first char
598  No need char  No need char
599    Subject length lower bound = 1
600  Starting byte set: C a b c d  Starting byte set: C a b c d
601    
602  /a$/I  /a$/I
# Line 658  No match Line 633  No match
633    
634  /\Aabc/Im  /\Aabc/Im
635  Capturing subpattern count = 0  Capturing subpattern count = 0
636    Max lookbehind = 1
637  Options: anchored multiline  Options: anchored multiline
638  No first char  No first char
639  No need char  No need char
# Line 670  Need char = 'c' Line 646  Need char = 'c'
646    
647  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
648  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
649  Options: anchored  Options: anchored
650  No first char  No first char
651  No need char  No need char
# Line 684  No need char Line 659  No need char
659    
660  /(?<=foo)[ab]/IS  /(?<=foo)[ab]/IS
661  Capturing subpattern count = 0  Capturing subpattern count = 0
662    Max lookbehind = 3
663  No options  No options
664  No first char  No first char
665  No need char  No need char
666    Subject length lower bound = 1
667  Starting byte set: a b  Starting byte set: a b
668    
669  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
670  Capturing subpattern count = 1  Capturing subpattern count = 1
671    Max lookbehind = 3
672  No options  No options
673  No first char  No first char
674  Need char = 'a'  Need char = 'a'
675    Subject length lower bound = 5
676  Starting byte set: a o  Starting byte set: a o
677    
678  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 701  Capturing subpattern count = 0 Line 680  Capturing subpattern count = 0
680  No options  No options
681  No first char  No first char
682  No need char  No need char
683    Subject length lower bound = 1
684  Starting byte set: a b  Starting byte set: a b
685    
686  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
687  Capturing subpattern count = 0  Capturing subpattern count = 0
688    Max lookbehind = 4
689  Contains explicit CR or LF match  Contains explicit CR or LF match
690  Options: multiline  Options: multiline
691  No first char  No first char
# Line 722  No match Line 703  No match
703    
704  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
705  Capturing subpattern count = 0  Capturing subpattern count = 0
706    Max lookbehind = 4
707  Contains explicit CR or LF match  Contains explicit CR or LF match
708  Options: multiline  Options: multiline
709  First char at start or follows newline  First char at start or follows newline
# Line 764  Failed: lookbehind assertion is not fixe Line 746  Failed: lookbehind assertion is not fixe
746    
747  /(?<=bullock|donkey)-cart/I  /(?<=bullock|donkey)-cart/I
748  Capturing subpattern count = 0  Capturing subpattern count = 0
749    Max lookbehind = 7
750  No options  No options
751  First char = '-'  First char = '-'
752  Need char = 't'  Need char = 't'
# Line 780  No match Line 763  No match
763    
764  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
765  Capturing subpattern count = 0  Capturing subpattern count = 0
766    Max lookbehind = 3
767    May match empty string
768  No options  No options
769  No first char  No first char
770  No need char  No need char
771    
772  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
773  Capturing subpattern count = 2  Capturing subpattern count = 2
774  Partial matching not supported  Max lookbehind = 4
775    May match empty string
776  No options  No options
777  First char at start or follows newline  No first char
778  No need char  No need char
779      alphabetabcd      alphabetabcd
780   0: alphabetabcd   0: alphabetabcd
# Line 800  No need char Line 786  No need char
786    
787  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
788  Capturing subpattern count = 0  Capturing subpattern count = 0
789    Max lookbehind = 4
790  No options  No options
791  First char = 'Z'  First char = 'Z'
792  Need char = 'Z'  Need char = 'Z'
# Line 828  No match Line 815  No match
815    
816  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
817  Capturing subpattern count = 1  Capturing subpattern count = 1
818    Max lookbehind = 4
819  No options  No options
820  First char = 'b'  First char = 'b'
821  Need char = 'r'  Need char = 'r'
# Line 840  No match Line 828  No match
828      fooabar      fooabar
829  No match  No match
830    
831  /This one is here because Perl 5.005_02 doesn't fail it/I  /This one is here because Perl behaves differently; see also the following/I
 Capturing subpattern count = 0  
 No options  
 First char = 'T'  
 Need char = 't'  
   
 /^(a)?(?(1)a|b)+$/I  
 Capturing subpattern count = 1  
 Options: anchored  
 No first char  
 No need char  
     *** Failers  
 No match  
     a  
 No match  
   
 /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I  
832  Capturing subpattern count = 0  Capturing subpattern count = 0
833  No options  No options
834  First char = 'T'  First char = 'T'
# Line 868  Max back reference = 1 Line 840  Max back reference = 1
840  Options: anchored  Options: anchored
841  No first char  No first char
842  No need char  No need char
843        aaaa
844    No match
845      aaaaaa      aaaaaa
846   0: aaaaaa  No match
847   1: aa  
848    /Perl does not fail these two for the final subjects. Neither did PCRE until/
849    /release 8.01. The problem is in backtracking into a subpattern that contains/
850    No match
851    /a recursive reference to itself. PCRE has now made these into atomic patterns./
852    No match
853    
854    /^(xa|=?\1a){2}$/
855        xa=xaa
856     0: xa=xaa
857     1: =xaa
858        ** Failers
859    No match
860        xa=xaaa
861    No match
862    
863    /^(xa|=?\1a)+$/
864        xa=xaa
865     0: xa=xaa
866     1: =xaa
867        ** Failers
868    No match
869        xa=xaaa
870    No match
871    
872  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
873  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 948  Failed: missing ) at offset 4 Line 945  Failed: missing ) at offset 4
945  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
946    
947  /a(?{)b/  /a(?{)b/
948  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
949    
950  /a(?{{})b/  /a(?{{})b/
951  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
952    
953  /a(?{}})b/  /a(?{}})b/
954  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
955    
956  /a(?{"{"})b/  /a(?{"{"})b/
957  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
958    
959  /a(?{"{"}})b/  /a(?{"{"}})b/
960  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
961    
962  /(?(1?)a|b)/  /(?(1?)a|b)/
963  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
964    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
965  /[a[:xyz:/  /[a[:xyz:/
966  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
967    
# Line 980  Failed: numbers out of order in {} quant Line 974  Failed: numbers out of order in {} quant
974  /abc/\  /abc/\
975  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
976    
 /abc/\P  
 Failed: POSIX code 9: bad escape sequence at offset 4  
   
977  /abc/\i  /abc/\i
978  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
979    
# Line 1008  copy substring 5 failed -7 Line 999  copy substring 5 failed -7
999    
1000  /(.{20})/I  /(.{20})/I
1001  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1002  No options  No options
1003  No first char  No first char
1004  No need char  No need char
# Line 1026  No need char Line 1016  No need char
1016    
1017  /(.{15})/I  /(.{15})/I
1018  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1019  No options  No options
1020  No first char  No first char
1021  No need char  No need char
# Line 1041  No need char Line 1030  No need char
1030    
1031  /(.{16})/I  /(.{16})/I
1032  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1033  No options  No options
1034  No first char  No first char
1035  No need char  No need char
# Line 1101  No first char Line 1089  No first char
1089  No need char  No need char
1090      abc\00def\L\C0      abc\00def\L\C0
1091   0: abc\x00def   0: abc\x00def
1092   0C abc (7)   0C abc\x00def (7)
1093   0L abc   0L abc
1094    
1095  /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]+
1096  )((?:[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]+
1097  )?)?)?)?)?)?)?)?)?otherword/I  )?)?)?)?)?)?)?)?)?otherword/I
1098  Capturing subpattern count = 8  Capturing subpattern count = 8
 Partial matching not supported  
1099  Contains explicit CR or LF match  Contains explicit CR or LF match
1100  No options  No options
1101  First char = 'w'  First char = 'w'
# Line 1123  Need char = 'd' Line 1110  Need char = 'd'
1110          End          End
1111  ------------------------------------------------------------------  ------------------------------------------------------------------
1112  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1113  No options  No options
1114  First char at start or follows newline  First char at start or follows newline
1115  Need char = 'X'  Need char = 'X'
# Line 1131  Need char = 'X' Line 1117  Need char = 'X'
1117  /.*X/IDZs  /.*X/IDZs
1118  ------------------------------------------------------------------  ------------------------------------------------------------------
1119          Bra          Bra
1120          Any*          AllAny*
1121          X          X
1122          Ket          Ket
1123          End          End
1124  ------------------------------------------------------------------  ------------------------------------------------------------------
1125  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1126  Options: anchored dotall  Options: anchored dotall
1127  No first char  No first char
1128  Need char = 'X'  Need char = 'X'
# Line 1156  Need char = 'X' Line 1141  Need char = 'X'
1141          End          End
1142  ------------------------------------------------------------------  ------------------------------------------------------------------
1143  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1144  No options  No options
1145  First char at start or follows newline  First char at start or follows newline
1146  No need char  No need char
# Line 1165  No need char Line 1149  No need char
1149  ------------------------------------------------------------------  ------------------------------------------------------------------
1150          Bra          Bra
1151          CBra 1          CBra 1
1152          Any*          AllAny*
1153          X          X
1154          Alt          Alt
1155          ^          ^
# Line 1175  No need char Line 1159  No need char
1159          End          End
1160  ------------------------------------------------------------------  ------------------------------------------------------------------
1161  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1162  Options: anchored dotall  Options: anchored dotall
1163  No first char  No first char
1164  No need char  No need char
# Line 1184  No need char Line 1167  No need char
1167  ------------------------------------------------------------------  ------------------------------------------------------------------
1168          Bra          Bra
1169          CBra 1          CBra 1
1170          Any*          AllAny*
1171          X          X
1172          Alt          Alt
1173          ^          ^
# Line 1194  No need char Line 1177  No need char
1177          End          End
1178  ------------------------------------------------------------------  ------------------------------------------------------------------
1179  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1180  Options: anchored dotall  Options: anchored dotall
1181  No first char  No first char
1182  No need char  No need char
# Line 1203  No need char Line 1185  No need char
1185  ------------------------------------------------------------------  ------------------------------------------------------------------
1186          Bra          Bra
1187          Bra          Bra
1188       04 Opt          AllAny*
         Any*  
1189          X          X
1190          Alt          Alt
      04 Opt  
1191          ^          ^
1192          B          B
1193          Ket          Ket
      00 Opt  
1194          Ket          Ket
1195          End          End
1196  ------------------------------------------------------------------  ------------------------------------------------------------------
1197  Capturing subpattern count = 0  Capturing subpattern count = 0
1198  Partial matching not supported  Options: anchored
1199  No options  No first char
 First char at start or follows newline  
1200  No need char  No need char
1201    
1202  /\Biss\B/I+  /\Biss\B/I+
1203  Capturing subpattern count = 0  Capturing subpattern count = 0
1204    Max lookbehind = 1
1205  No options  No options
1206  First char = 'i'  First char = 'i'
1207  Need char = 's'  Need char = 's'
# Line 1230  Need char = 's' Line 1209  Need char = 's'
1209   0: iss   0: iss
1210   0+ issippi   0+ issippi
1211    
 /\Biss\B/I+P  
     Mississippi  
  0: iss  
  0+ issippi  
   
1212  /iss/IG+  /iss/IG+
1213  Capturing subpattern count = 0  Capturing subpattern count = 0
1214  No options  No options
# Line 1248  Need char = 's' Line 1222  Need char = 's'
1222    
1223  /\Biss\B/IG+  /\Biss\B/IG+
1224  Capturing subpattern count = 0  Capturing subpattern count = 0
1225    Max lookbehind = 1
1226  No options  No options
1227  First char = 'i'  First char = 'i'
1228  Need char = 's'  Need char = 's'
# Line 1257  Need char = 's' Line 1232  Need char = 's'
1232    
1233  /\Biss\B/Ig+  /\Biss\B/Ig+
1234  Capturing subpattern count = 0  Capturing subpattern count = 0
1235    Max lookbehind = 1
1236  No options  No options
1237  First char = 'i'  First char = 'i'
1238  Need char = 's'  Need char = 's'
# Line 1272  No match Line 1248  No match
1248    
1249  /(?<=[Ms])iss/Ig+  /(?<=[Ms])iss/Ig+
1250  Capturing subpattern count = 0  Capturing subpattern count = 0
1251    Max lookbehind = 1
1252  No options  No options
1253  First char = 'i'  First char = 'i'
1254  Need char = 's'  Need char = 's'
# Line 1283  Need char = 's' Line 1260  Need char = 's'
1260    
1261  /(?<=[Ms])iss/IG+  /(?<=[Ms])iss/IG+
1262  Capturing subpattern count = 0  Capturing subpattern count = 0
1263    Max lookbehind = 1
1264  No options  No options
1265  First char = 'i'  First char = 'i'
1266  Need char = 's'  Need char = 's'
# Line 1301  No need char Line 1279  No need char
1279    
1280  /.*iss/Ig+  /.*iss/Ig+
1281  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1282  No options  No options
1283  First char at start or follows newline  First char at start or follows newline
1284  Need char = 's'  Need char = 's'
# Line 1365  Capturing subpattern count = 0 Line 1342  Capturing subpattern count = 0
1342  Contains explicit CR or LF match  Contains explicit CR or LF match
1343  Options: multiline  Options: multiline
1344  First char at start or follows newline  First char at start or follows newline
1345  Need char = 10  Need char = \x0a
1346      ab\nab\ncd      ab\nab\ncd
1347   0: ab\x0a   0: ab\x0a
1348   0+ ab\x0acd   0+ ab\x0acd
# Line 1404  Need char = 'c' Line 1381  Need char = 'c'
1381    
1382  /a*/I  /a*/I
1383  Capturing subpattern count = 0  Capturing subpattern count = 0
1384  Partial matching not supported  May match empty string
1385  No options  No options
1386  No first char  No first char
1387  No need char  No need char
1388    
1389  /a+/I  /a+/I
1390  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1391  No options  No options
1392  First char = 'a'  First char = 'a'
1393  No need char  No need char
1394    
1395  /(baa|a+)/I  /(baa|a+)/I
1396  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1397  No options  No options
1398  No first char  No first char
1399  Need char = 'a'  Need char = 'a'
1400    
1401  /a{0,3}/I  /a{0,3}/I
1402  Capturing subpattern count = 0  Capturing subpattern count = 0
1403  Partial matching not supported  May match empty string
1404  No options  No options
1405  No first char  No first char
1406  No need char  No need char
1407    
1408  /baa{3,}/I  /baa{3,}/I
1409  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1410  No options  No options
1411  First char = 'b'  First char = 'b'
1412  Need char = 'a'  Need char = 'a'
1413    
1414  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1415  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
1416  No options  No options
1417  First char = '"'  First char = '"'
1418  Need char = '"'  Need char = '"'
# Line 1471  Need char = 'r' Line 1443  Need char = 'r'
1443    
1444  /...(?<=abc)/I  /...(?<=abc)/I
1445  Capturing subpattern count = 0  Capturing subpattern count = 0
1446    Max lookbehind = 3
1447  No options  No options
1448  No first char  No first char
1449  No need char  No need char
# Line 1495  Need char = 'b' Line 1468  Need char = 'b'
1468    
1469  /abc*/I  /abc*/I
1470  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1471  No options  No options
1472  First char = 'a'  First char = 'a'
1473  Need char = 'b'  Need char = 'b'
1474    
1475  /ab.c*/I  /ab.c*/I
1476  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1477  No options  No options
1478  First char = 'a'  First char = 'a'
1479  Need char = 'b'  Need char = 'b'
1480    
1481  /a.c*/I  /a.c*/I
1482  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1483  No options  No options
1484  First char = 'a'  First char = 'a'
1485  No need char  No need char
1486    
1487  /.c*/I  /.c*/I
1488  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1489  No options  No options
1490  No first char  No first char
1491  No need char  No need char
1492    
1493  /ac*/I  /ac*/I
1494  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1495  No options  No options
1496  First char = 'a'  First char = 'a'
1497  No need char  No need char
1498    
1499  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1500  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1501  No options  No options
1502  No first char  No first char
1503  No need char  No need char
1504    
1505  /a.c*|aba/I  /a.c*|aba/I
1506  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1507  No options  No options
1508  First char = 'a'  First char = 'a'
1509  No need char  No need char
1510    
1511  /.+a/I  /.+a/I
1512  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1513  No options  No options
1514  No first char  No first char
1515  Need char = 'a'  Need char = 'a'
1516    
1517  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1518  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1519  No options  No options
1520  First char = 'a'  First char = 'a'
1521  Need char = 'a'  Need char = 'a'
1522    
1523  /(?=a)a.*/I  /(?=a)a.*/I
1524  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1525  No options  No options
1526  First char = 'a'  First char = 'a'
1527  No need char  No need char
# Line 1571  No need char Line 1534  No need char
1534    
1535  /a\d*/I  /a\d*/I
1536  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1537  No options  No options
1538  First char = 'a'  First char = 'a'
1539  No need char  No need char
1540    
1541  /ab\d*/I  /ab\d*/I
1542  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1543  No options  No options
1544  First char = 'a'  First char = 'a'
1545  Need char = 'b'  Need char = 'b'
# Line 1597  Need char = 'd' Line 1558  Need char = 'd'
1558    
1559  /ab\d+/I  /ab\d+/I
1560  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1561  No options  No options
1562  First char = 'a'  First char = 'a'
1563  Need char = 'b'  Need char = 'b'
1564    
1565  /a(?(1)b)/I  /a(?(1)b)(.)/I
1566  Capturing subpattern count = 0  Capturing subpattern count = 1
1567  No options  No options
1568  First char = 'a'  First char = 'a'
1569  No need char  No need char
1570    
1571  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1572  Capturing subpattern count = 0  Capturing subpattern count = 1
1573  No options  No options
1574  First char = 'a'  First char = 'a'
1575  Need char = 'g'  Need char = 'g'
1576    
1577  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1578  Capturing subpattern count = 0  Capturing subpattern count = 1
1579  No options  No options
1580  First char = 'a'  First char = 'a'
1581  No need char  No need char
1582    
1583  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1584  Capturing subpattern count = 0  Capturing subpattern count = 1
1585  No options  No options
1586  First char = 'a'  First char = 'a'
1587  Need char = 'g'  Need char = 'g'
1588    
1589  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1590  Capturing subpattern count = 0  Capturing subpattern count = 1
1591  No options  No options
1592  First char = 'a'  First char = 'a'
1593  Need char = 'b'  Need char = 'b'
# Line 1640  Need char = 'e' Line 1600  Need char = 'e'
1600    
1601  /a?b?/I  /a?b?/I
1602  Capturing subpattern count = 0  Capturing subpattern count = 0
1603    May match empty string
1604  No options  No options
1605  No first char  No first char
1606  No need char  No need char
# Line 1658  No match Line 1619  No match
1619    
1620  /|-/I  /|-/I
1621  Capturing subpattern count = 0  Capturing subpattern count = 0
1622    May match empty string
1623  No options  No options
1624  No first char  No first char
1625  No need char  No need char
# Line 1672  No need char Line 1634  No need char
1634      \Nabc      \Nabc
1635  No match  No match
1636    
 /a*(b+)(z)(z)/IP  
     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  
   
1637  /^.?abcd/IS  /^.?abcd/IS
1638  Capturing subpattern count = 0  Capturing subpattern count = 0
1639  Options: anchored  Options: anchored
1640  No first char  No first char
1641  Need char = 'd'  Need char = 'd'
1642  Study returned NULL  Subject length lower bound = 4
1643    No set of starting bytes
1644    
1645  /\(             # ( at start  /\(             # ( at start
1646    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1715  Study returned NULL Line 1651  Study returned NULL
1651    \)            # Closing )    \)            # Closing )
1652    /Ix    /Ix
1653  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
1654  Options: extended  Options: extended
1655  First char = '('  First char = '('
1656  Need char = ')'  Need char = ')'
# Line 1745  No match Line 1679  No match
1679    
1680  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1681  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
1682  Options: extended  Options: extended
1683  First char = '('  First char = '('
1684  Need char = ')'  Need char = ')'
# Line 1761  Need char = ')' Line 1693  Need char = ')'
1693    
1694  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1695  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
1696  Options: extended  Options: extended
1697  First char = '('  First char = '('
1698  Need char = ')'  Need char = ')'
# Line 1781  No match Line 1711  No match
1711    
1712  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1713  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
1714  Options: extended  Options: extended
1715  First char = '('  First char = '('
1716  Need char = ')'  Need char = ')'
# Line 1793  Need char = ')' Line 1721  Need char = ')'
1721    
1722  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1723  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
1724  Options: extended  Options: extended
1725  First char = '('  First char = '('
1726  Need char = ')'  Need char = ')'
# Line 1804  Need char = ')' Line 1730  Need char = ')'
1730    
1731  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1732  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
 Contains explicit CR or LF match  
1733  Options: extended  Options: extended
1734  First char = '('  First char = '('
1735  Need char = ')'  Need char = ')'
# Line 1816  Need char = ')' Line 1740  Need char = ')'
1740    
1741  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1742  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
 Contains explicit CR or LF match  
1743  Options: extended  Options: extended
1744  First char = '('  First char = '('
1745  Need char = ')'  Need char = ')'
# Line 1834  Need char = ')' Line 1756  Need char = ')'
1756    
1757  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1758  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
 Contains explicit CR or LF match  
1759  Options: extended  Options: extended
1760  First char = '('  First char = '('
1761  Need char = ')'  Need char = ')'
# Line 1852  Need char = ')' Line 1772  Need char = ')'
1772    
1773  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1774  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
 Contains explicit CR or LF match  
1775  Options: extended  Options: extended
1776  First char = '('  First char = '('
1777  Need char = ')'  Need char = ')'
# Line 1873  Need char = ')' Line 1791  Need char = ')'
1791    
1792  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1793  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
 Contains explicit CR or LF match  
1794  Options: extended  Options: extended
1795  First char = '('  First char = '('
1796  Need char = ')'  Need char = ')'
# Line 1882  Need char = ')' Line 1798  Need char = ')'
1798   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1799   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1800   2: 123   2: 123
  3: <unset>  
1801    
1802  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1803  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
 Contains explicit CR or LF match  
1804  Options: extended  Options: extended
1805  First char = '('  First char = '('
1806  Need char = ')'  Need char = ')'
# Line 1919  No need char Line 1832  No need char
1832  ------------------------------------------------------------------  ------------------------------------------------------------------
1833          Bra          Bra
1834          ^          ^
1835          [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1836          Ket          Ket
1837          End          End
1838  ------------------------------------------------------------------  ------------------------------------------------------------------
1839  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1840  Options: anchored  Options: anchored
1841  No first char  No first char
1842  No need char  No need char
# Line 1946  No need char Line 1858  No need char
1858  ------------------------------------------------------------------  ------------------------------------------------------------------
1859          Bra          Bra
1860          ^          ^
1861          [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1862          Ket          Ket
1863          End          End
1864  ------------------------------------------------------------------  ------------------------------------------------------------------
1865  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1866  Options: anchored  Options: anchored
1867  No first char  No first char
1868  No need char  No need char
# Line 1961  Capturing subpattern count = 0 Line 1872  Capturing subpattern count = 0
1872  No options  No options
1873  No first char  No first char
1874  No need char  No need char
1875    Subject length lower bound = 1
1876  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
1877    _ 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
1878    
# Line 1973  Starting byte set: A B C D E F G H I J K Line 1885  Starting byte set: A B C D E F G H I J K
1885          End          End
1886  ------------------------------------------------------------------  ------------------------------------------------------------------
1887  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1888  Options: anchored  Options: anchored
1889  No first char  No first char
1890  No need char  No need char
# Line 1982  No need char Line 1893  No need char
1893  ------------------------------------------------------------------  ------------------------------------------------------------------
1894          Bra          Bra
1895          ^          ^
1896          [\x80-\xff]          [\x80-\xff] (neg)
1897          Ket          Ket
1898          End          End
1899  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2008  No need char Line 1919  No need char
1919  ------------------------------------------------------------------  ------------------------------------------------------------------
1920          Bra          Bra
1921          ^          ^
1922          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1923          Ket          Ket
1924          End          End
1925  ------------------------------------------------------------------  ------------------------------------------------------------------
1926  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1927  Options: anchored  Options: anchored
1928  No first char  No first char
1929  No need char  No need char
# Line 2024  Contains explicit CR or LF match Line 1934  Contains explicit CR or LF match
1934  No options  No options
1935  No first char  No first char
1936  No need char  No need char
1937    Subject length lower bound = 1
1938  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
1939    
1940  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
# Line 2035  Starting byte set: \x09 \x0a \x0b \x0c \ Line 1946  Starting byte set: \x09 \x0a \x0b \x0c \
1946          End          End
1947  ------------------------------------------------------------------  ------------------------------------------------------------------
1948  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
1949  Options: anchored  Options: anchored
1950  No first char  No first char
1951  No need char  No need char
# Line 2114  No need char Line 2024  No need char
2024          End          End
2025  ------------------------------------------------------------------  ------------------------------------------------------------------
2026  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2027  Options: anchored  Options: anchored
2028  No first char  No first char
2029  No need char  No need char
# Line 2162  No need char Line 2071  No need char
2071  ------------------------------------------------------------------  ------------------------------------------------------------------
2072          Bra          Bra
2073          ^          ^
2074          [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2075          Ket          Ket
2076          End          End
2077  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2175  No need char Line 2084  No need char
2084  ------------------------------------------------------------------  ------------------------------------------------------------------
2085          Bra          Bra
2086          ^          ^
2087          [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2088          Ket          Ket
2089          End          End
2090  ------------------------------------------------------------------  ------------------------------------------------------------------
2091  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2092  Options: anchored  Options: anchored
2093  No first char  No first char
2094  No need char  No need char
# Line 2189  No need char Line 2097  No need char
2097  ------------------------------------------------------------------  ------------------------------------------------------------------
2098          Bra          Bra
2099          ^          ^
2100          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2101          Ket          Ket
2102          End          End
2103  ------------------------------------------------------------------  ------------------------------------------------------------------
2104  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
2105  Options: anchored  Options: anchored
2106  No first char  No first char
2107  No need char  No need char
# Line 2274  Need char = 'd' Line 2181  Need char = 'd'
2181  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2182  Capturing subpattern count = 271  Capturing subpattern count = 271
2183  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2184  No options  No options
2185  No first char  No first char
2186  No need char  No need char
# Line 2727  Need char = '-' Line 2633  Need char = '-'
2633          End          End
2634  ------------------------------------------------------------------  ------------------------------------------------------------------
2635  Capturing subpattern count = 0  Capturing subpattern count = 0
2636    May match empty string
2637  Options: extended  Options: extended
2638  No first char  No first char
2639  No need char  No need char
# Line 2746  No need char Line 2653  No need char
2653  /[\s]/DZ  /[\s]/DZ
2654  ------------------------------------------------------------------  ------------------------------------------------------------------
2655          Bra          Bra
2656          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
2657          Ket          Ket
2658          End          End
2659  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2758  No need char Line 2665  No need char
2665  /[\S]/DZ  /[\S]/DZ
2666  ------------------------------------------------------------------  ------------------------------------------------------------------
2667          Bra          Bra
2668          [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0e-\x1f!-\xff] (neg)
2669          Ket          Ket
2670          End          End
2671  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2771  No need char Line 2678  No need char
2678  ------------------------------------------------------------------  ------------------------------------------------------------------
2679          Bra          Bra
2680          a          a
2681       01 Opt       /i b
      NC b  
2682          Ket          Ket
2683          End          End
2684  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2794  No match Line 2700  No match
2700          Bra          Bra
2701          CBra 1          CBra 1
2702          a          a
2703       01 Opt       /i b
      NC b  
2704          Ket          Ket
      00 Opt  
2705          Ket          Ket
2706          End          End
2707  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2819  No match Line 2723  No match
2723  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2724  ------------------------------------------------------------------  ------------------------------------------------------------------
2725          Bra          Bra
2726       NC abc       /i abc
2727          Ket          Ket
2728          End          End
2729  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2832  Need char = 'c' (caseless) Line 2736  Need char = 'c' (caseless)
2736    (?i)abc/IxDZ    (?i)abc/IxDZ
2737  ------------------------------------------------------------------  ------------------------------------------------------------------
2738          Bra          Bra
2739       NC abc       /i abc
2740          Ket          Ket
2741          End          End
2742  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2872  Need char = '0' Line 2776  Need char = '0'
2776          End          End
2777  ------------------------------------------------------------------  ------------------------------------------------------------------
2778  Capturing subpattern count = 0  Capturing subpattern count = 0
2779    May match empty string
2780  No options  No options
2781  No first char  No first char
2782  No need char  No need char
# Line 2955  Need char = 'c' Line 2860  Need char = 'c'
2860          End          End
2861  ------------------------------------------------------------------  ------------------------------------------------------------------
2862  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2863  No options  No options
2864  No first char  No first char
2865  No need char  No need char
# Line 2972  No match Line 2876  No match
2876          End          End
2877  ------------------------------------------------------------------  ------------------------------------------------------------------
2878  Capturing subpattern count = 0  Capturing subpattern count = 0
2879    May match empty string
2880  No options  No options
2881  No first char  No first char
2882  No need char  No need char
# Line 2984  No need char Line 2889  No need char
2889          End          End
2890  ------------------------------------------------------------------  ------------------------------------------------------------------
2891  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2892  No options  No options
2893  First char = 'x'  First char = 'x'
2894  No need char  No need char
# Line 2994  No need char Line 2898  No need char
2898          Bra          Bra
2899          Once          Once
2900          x          x
2901          x{0,2}          x{0,2}+
2902          Ket          Ket
2903          Ket          Ket
2904          End          End
2905  ------------------------------------------------------------------  ------------------------------------------------------------------
2906  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2907  No options  No options
2908  First char = 'x'  First char = 'x'
2909  No need char  No need char
# Line 3008  No need char Line 2911  No need char
2911  /(x)*+/DZ  /(x)*+/DZ
2912  ------------------------------------------------------------------  ------------------------------------------------------------------
2913          Bra          Bra
2914          Once          Braposzero
2915          Brazero          CBraPos 1
         CBra 1  
2916          x          x
2917          KetRmax          KetRpos
         Ket  
2918          Ket          Ket
2919          End          End
2920  ------------------------------------------------------------------  ------------------------------------------------------------------
2921  Capturing subpattern count = 1  Capturing subpattern count = 1
2922    May match empty string
2923  No options  No options
2924  No first char  No first char
2925  No need char  No need char
2926    
2927  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2928  Capturing subpattern count = 1  Capturing subpattern count = 1
2929  Partial matching not supported  May match empty string
2930  Options: anchored  Options: anchored
2931  No first char  No first char
2932  No need char  No need char
# Line 3038  No match Line 2940  No match
2940    
2941  /(\d++)(\w)/I  /(\d++)(\w)/I
2942  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
2943  No options  No options
2944  No first char  No first char
2945  No need char  No need char
# Line 3053  No match Line 2954  No match
2954    
2955  /a++b/I  /a++b/I
2956  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2957  No options  No options
2958  First char = 'a'  First char = 'a'
2959  Need char = 'b'  Need char = 'b'
# Line 3062  Need char = 'b' Line 2962  Need char = 'b'
2962    
2963  /(a++b)/I  /(a++b)/I
2964  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2965  No options  No options
2966  First char = 'a'  First char = 'a'
2967  Need char = 'b'  Need char = 'b'
# Line 3072  Need char = 'b' Line 2971  Need char = 'b'
2971    
2972  /(a++)b/I  /(a++)b/I
2973  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2974  No options  No options
2975  First char = 'a'  First char = 'a'
2976  Need char = 'b'  Need char = 'b'
# Line 3082  Need char = 'b' Line 2980  Need char = 'b'
2980    
2981  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
2982  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
2983  No options  No options
2984  No first char  No first char
2985  No need char  No need char
# Line 3093  No need char Line 2989  No need char
2989    
2990  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
2991  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
 Contains explicit CR or LF match  
2992  No options  No options
2993  First char = '('  First char = '('
2994  Need char = ')'  Need char = ')'
# Line 3157  Failed: nothing to repeat at offset 7 Line 3051  Failed: nothing to repeat at offset 7
3051          End          End
3052  ------------------------------------------------------------------  ------------------------------------------------------------------
3053  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3054  No options  No options
3055  First char = 'x'  First char = 'x'
3056  Need char = 'b'  Need char = 'b'
# Line 3174  Need char = 'b' Line 3067  Need char = 'b'
3067          End          End
3068  ------------------------------------------------------------------  ------------------------------------------------------------------
3069  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3070  Options: ungreedy  Options: ungreedy
3071  First char = 'x'  First char = 'x'
3072  Need char = 'b'  Need char = 'b'
# Line 3196  Need char = 'b' Line 3088  Need char = 'b'
3088          [bc]+          [bc]+
3089          Ket          Ket
3090          CBra 5          CBra 5
3091          \w*          \w*+
3092          Ket          Ket
3093          Ket          Ket
3094          Ket          Ket
3095          End          End
3096  ------------------------------------------------------------------  ------------------------------------------------------------------
3097  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3098  Options: anchored  Options: anchored
3099  No first char  No first char
3100  No need char  No need char
# Line 3219  No need char Line 3110  No need char
3110          End          End
3111  ------------------------------------------------------------------  ------------------------------------------------------------------
3112  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3113  Options: anchored  Options: anchored
3114  No first char  No first char
3115  Need char = 'b'  Need char = 'b'
# Line 3237  Need char = 'b' Line 3127  Need char = 'b'
3127          End          End
3128  ------------------------------------------------------------------  ------------------------------------------------------------------
3129  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3130  Options: anchored  Options: anchored
3131  No first char  No first char
3132  Need char = 'b'  Need char = 'b'
# Line 3252  Failed: POSIX collating elements are not Line 3141  Failed: POSIX collating elements are not
3141  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
3142    
3143  /\l/I  /\l/I
3144  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
3145    
3146  /\L/I  /\L/I
3147  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
3148    
3149  /\N{name}/I  /\N{name}/I
3150  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
3151    
3152  /\u/I  /\u/I
3153  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
3154    
3155  /\U/I  /\U/I
3156  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
3157    
3158  /[/I  /[/I
3159  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3278  Failed: missing terminating ] for charac Line 3167  Failed: missing terminating ] for charac
3167  /[\s]/IDZ  /[\s]/IDZ
3168  ------------------------------------------------------------------  ------------------------------------------------------------------
3169          Bra          Bra
3170          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
3171          Ket          Ket
3172          End          End
3173  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3295  No need char Line 3184  No need char
3184          End          End
3185  ------------------------------------------------------------------  ------------------------------------------------------------------
3186  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
3187  No options  No options
3188  No first char  No first char
3189  No need char  No need char
# Line 3308  No need char Line 3196  No need char
3196          End          End
3197  ------------------------------------------------------------------  ------------------------------------------------------------------
3198  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
3199  No options  No options
3200  No first char  No first char
3201  No need char  No need char
3202    
3203  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3204  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
 Contains explicit CR or LF match  
3205  Options: extended  Options: extended
3206  First char = '<'  First char = '<'
3207  Need char = '>'  Need char = '>'
# Line 3346  No match Line 3231  No match
3231          End          End
3232  ------------------------------------------------------------------  ------------------------------------------------------------------
3233  Capturing subpattern count = 0  Capturing subpattern count = 0
3234    Max lookbehind = 1
3235  No options  No options
3236  First char = '8'  First char = '8'
3237  Need char = 'X'  Need char = 'X'
# Line 3359  Need char = 'X' Line 3245  Need char = 'X'
3245          End          End
3246  ------------------------------------------------------------------  ------------------------------------------------------------------
3247  Capturing subpattern count = 0  Capturing subpattern count = 0
3248    Max lookbehind = 1
3249  No options  No options
3250  First char = '$'  First char = '$'
3251  Need char = 'X'  Need char = 'X'
# Line 3366  Need char = 'X' Line 3253  Need char = 'X'
3253  /(.*)\d+\1/I  /(.*)\d+\1/I
3254  Capturing subpattern count = 1  Capturing subpattern count = 1
3255  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3256  No options  No options
3257  No first char  No first char
3258  No need char  No need char
3259    
3260  /(.*)\d+/I  /(.*)\d+/I
3261  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3262  No options  No options
3263  First char at start or follows newline  First char at start or follows newline
3264  No need char  No need char
# Line 3381  No need char Line 3266  No need char
3266  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3267  Capturing subpattern count = 1  Capturing subpattern count = 1
3268  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3269  Options: dotall  Options: dotall
3270  No first char  No first char
3271  No need char  No need char
3272    
3273  /(.*)\d+/Is  /(.*)\d+/Is
3274  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3275  Options: anchored dotall  Options: anchored dotall
3276  No first char  No first char
3277  No need char  No need char
# Line 3396  No need char Line 3279  No need char
3279  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3280  Capturing subpattern count = 2  Capturing subpattern count = 2
3281  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3282  No options  No options
3283  First char at start or follows newline  First char at start or follows newline
3284  Need char = 'z'  Need char = 'z'
# Line 3404  Need char = 'z' Line 3286  Need char = 'z'
3286  /((.*))\d+\1/I  /((.*))\d+\1/I
3287  Capturing subpattern count = 2  Capturing subpattern count = 2
3288  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3289  No options  No options
3290  No first char  No first char
3291  No need char  No need char
# Line 3421  Need char = 'b' Line 3302  Need char = 'b'
3302    
3303  /(?=a).*/I  /(?=a).*/I
3304  Capturing subpattern count = 0  Capturing subpattern count = 0
3305  Partial matching not supported  May match empty string
3306  No options  No options
3307  First char = 'a'  First char = 'a'
3308  No need char  No need char
# Line 3440  Need char = 'z' (caseless) Line 3321  Need char = 'z' (caseless)
3321    
3322  /(?=a)(?=b)/I  /(?=a)(?=b)/I
3323  Capturing subpattern count = 0  Capturing subpattern count = 0
3324    May match empty string
3325  No options  No options
3326  First char = 'a'  First char = 'a'
3327  No need char  No need char
# Line 3468  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 3506  Need char = 'a' Line 3388  Need char = 'a'
3388    
3389  /(a)*/I  /(a)*/I
3390  Capturing subpattern count = 1  Capturing subpattern count = 1
3391    May match empty string
3392  No options  No options
3393  No first char  No first char
3394  No need char  No need char
# Line 3527  Capturing subpattern count = 0 Line 3410  Capturing subpattern count = 0
3410  No options  No options
3411  No first char  No first char
3412  No need char  No need char
3413    Subject length lower bound = 1
3414  Starting byte set: a b  Starting byte set: a b
3415    
3416  /[^a]/I  /[^a]/I
3417  Capturing subpattern count = 0  Capturing subpattern count = 0
 Contains explicit CR or LF match  
3418  No options  No options
3419  No first char  No first char
3420  No need char  No need char
# Line 3547  Capturing subpattern count = 0 Line 3430  Capturing subpattern count = 0
3430  No options  No options
3431  No first char  No first char
3432  Need char = '6'  Need char = '6'
3433    Subject length lower bound = 4
3434  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
3435    
3436  /a^b/I  /a^b/I
# Line 3580  Capturing subpattern count = 0 Line 3464  Capturing subpattern count = 0
3464  Options: caseless  Options: caseless
3465  No first char  No first char
3466  No need char  No need char
3467    Subject length lower bound = 1
3468  Starting byte set: A B a b  Starting byte set: A B a b
3469    
3470  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3587  Capturing subpattern count = 0 Line 3472  Capturing subpattern count = 0
3472  No options  No options
3473  No first char  No first char
3474  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3475    Subject length lower bound = 3
3476  Starting byte set: a b  Starting byte set: a b
3477    
3478  /abc(?C)def/I  /abc(?C)def/I
# Line 3622  Need char = 'f' Line 3508  Need char = 'f'
3508    1    ^    ^     f    1    ^    ^     f
3509   0: abcdef   0: abcdef
3510    
3511  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3512    Capturing subpattern count = 0
3513    No options
3514    No first char
3515    Need char = 'f'
3516    Subject length lower bound = 7
3517    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3518        1234abcdef
3519    --->1234abcdef
3520      1 ^              \d
3521      1  ^             \d
3522      1   ^            \d
3523      1    ^           \d
3524      2    ^   ^       d
3525     0: 4abcdef
3526        *** Failers
3527    No match
3528        abcdef
3529    No match
3530    
3531    /(?C1)\dabc(?C2)def/ISS
3532  Capturing subpattern count = 0  Capturing subpattern count = 0
3533  No options  No options
3534  No first char  No first char
# Line 3711  No match Line 3617  No match
3617    
3618  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3619  Capturing subpattern count = 1  Capturing subpattern count = 1
3620    May match empty string
3621  No options  No options
3622  No first char  No first char
3623  No need char  No need char
# Line 3744  No need char Line 3651  No need char
3651    
3652  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3653  Capturing subpattern count = 1  Capturing subpattern count = 1
3654  Partial matching not supported  May match empty string
3655  No options  No options
3656  No first char  No first char
3657  No need char  No need char
# Line 3859  Callout 2: last capture = -1 Line 3766  Callout 2: last capture = -1
3766    
3767  /(?<=(abc)(?C))xyz/I  /(?<=(abc)(?C))xyz/I
3768  Capturing subpattern count = 1  Capturing subpattern count = 1
3769    Max lookbehind = 3
3770  No options  No options
3771  First char = 'x'  First char = 'x'
3772  Need char = 'z'  Need char = 'z'
# Line 3873  Callout 0: last capture = 1 Line 3781  Callout 0: last capture = 1
3781    
3782  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3783  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3784  No options  No options
3785  First char = 'a'  First char = 'a'
3786  Need char = 'b'  Need char = 'b'
# Line 3881  Need char = 'b' Line 3788  Need char = 'b'
3788  --->abbbbbccc  --->abbbbbccc
3789    1 ^        ^    1 ^        ^
3790  Callout data = 1  Callout data = 1
   1 ^       ^  
 Callout data = 1  
   1 ^      ^  
 Callout data = 1  
   1 ^     ^  
 Callout data = 1  
3791    1 ^    ^    1 ^    ^
3792  Callout data = 1  Callout data = 1
3793    1 ^   ^    1 ^   ^
# Line 3899  No match Line 3800  No match
3800    
3801  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3802  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3803  No options  No options
3804  First char = 'a'  First char = 'a'
3805  Need char = 'b'  Need char = 'b'
# Line 3940  Capturing subpattern count = 0 Line 3840  Capturing subpattern count = 0
3840  No options  No options
3841  No first char  No first char
3842  No need char  No need char
3843    Subject length lower bound = 1
3844  Starting byte set: a b  Starting byte set: a b
3845    
3846  /(?R)/I  /(?R)/I
# Line 3991  Failed: recursive call could loop indefi Line 3892  Failed: recursive call could loop indefi
3892    
3893  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3894  Capturing subpattern count = 1  Capturing subpattern count = 1
3895  Contains explicit CR or LF match  May match empty string
3896  Options: anchored  Options: anchored
3897  No first char  No first char
3898  No need char  No need char
# Line 4011  No match Line 3912  No match
3912    
3913  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
3914  Capturing subpattern count = 1  Capturing subpattern count = 1
 Contains explicit CR or LF match  
3915  Options: anchored  Options: anchored
3916  No first char  No first char
3917  Need char = '<'  Need char = '<'
# Line 4030  Need char = '<' Line 3930  Need char = '<'
3930          Bra          Bra
3931          CBra 1          CBra 1
3932          a          a
         Once  
3933          Recurse          Recurse
         Ket  
3934          b          b
3935          Ket          Ket
3936          Ket          Ket
# Line 4061  No options Line 3959  No options
3959  First char = 'a'  First char = 'a'
3960  Need char = 'b'  Need char = 'b'
3961    
 /^\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  
   
3962  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3963  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3964  Options: anchored  Options: anchored
3965  No first char  No first char
3966  No need char  No need char
# Line 4138  No match Line 4001  No match
4001    
4002  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4003  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
 Contains explicit CR or LF match  
4004  Options: extended  Options: extended
4005  First char = '<'  First char = '<'
4006  Need char = '>'  Need char = '>'
# Line 4290  Need char = 'a' Line 4151  Need char = 'a'
4151          Any          Any
4152          \1          \1
4153          bbb          bbb
         Once  
4154          Recurse          Recurse
         Ket  
4155          d          d
4156          Ket          Ket
4157          End          End
# Line 4313  Named capturing subpatterns: Line 4172  Named capturing subpatterns:
4172    one     1    one     1
4173    three   3    three   3
4174    two     2    two     2
4175  Partial matching not supported  May match empty string
4176  Options: anchored caseless  Options: anchored caseless
4177  No first char  No first char
4178  No need char  No need char
# Line 4359  No need char Line 4218  No need char
4218    
4219  /(.*)a/Is  /(.*)a/Is
4220  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4221  Options: anchored dotall  Options: anchored dotall
4222  No first char  No first char
4223  Need char = 'a'  Need char = 'a'
# Line 4367  Need char = 'a' Line 4225  Need char = 'a'
4225  /(.*)a\1/Is  /(.*)a\1/Is
4226  Capturing subpattern count = 1  Capturing subpattern count = 1
4227  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4228  Options: dotall  Options: dotall
4229  No first char  No first char
4230  Need char = 'a'  Need char = 'a'
# Line 4375  Need char = 'a' Line 4232  Need char = 'a'
4232  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4233  Capturing subpattern count = 2  Capturing subpattern count = 2
4234  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4235  Options: anchored dotall  Options: anchored dotall
4236  No first char  No first char
4237  Need char = 'b'  Need char = 'b'
4238    
4239  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4240  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4241  Options: anchored dotall  Options: anchored dotall
4242  No first char  No first char
4243  Need char = 'z'  Need char = 'z'
# Line 4390  Need char = 'z' Line 4245  Need char = 'z'
4245  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4246  Capturing subpattern count = 3  Capturing subpattern count = 3
4247  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4248  Options: dotall  Options: dotall
4249  No first char  No first char
4250  Need char = 'z'  Need char = 'z'
# Line 4398  Need char = 'z' Line 4252  Need char = 'z'
4252  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4253  Capturing subpattern count = 3  Capturing subpattern count = 3
4254  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4255  Options: dotall  Options: dotall
4256  No first char  No first char
4257  Need char = 'z'  Need char = 'z'
# Line 4406  Need char = 'z' Line 4259  Need char = 'z'
4259  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4260  Capturing subpattern count = 3  Capturing subpattern count = 3
4261  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4262  Options: dotall  Options: dotall
4263  No first char  No first char
4264  Need char = 'z'  Need char = 'z'
# Line 4414  Need char = 'z' Line 4266  Need char = 'z'
4266  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4267  Capturing subpattern count = 3  Capturing subpattern count = 3
4268  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4269  Options: anchored dotall  Options: anchored dotall
4270  No first char  No first char
4271  Need char = 'z'  Need char = 'z'
4272    
4273  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4274  Capturing subpattern count = 31  Capturing subpattern count = 31
4275  Partial matching not supported  May match empty string
4276  Options: anchored dotall  Options: anchored dotall
4277  No first char  No first char
4278  No need char  No need char
# Line 4429  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
4283  Partial matching not supported  May match empty string
4284  Options: dotall  Options: dotall
4285  No first char  No first char
4286  No need char  No need char
# Line 4437  No need char Line 4288  No need char
4288  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4289  Capturing subpattern count = 32  Capturing subpattern count = 32
4290  Max back reference = 32  Max back reference = 32
4291  Partial matching not supported  May match empty string
4292  Options: dotall  Options: dotall
4293  No first char  No first char
4294  No need char  No need char
# Line 4504  Need char = 'c' Line 4355  Need char = 'c'
4355    
4356  /(a+)*zz/I  /(a+)*zz/I
4357  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4358  No options  No options
4359  No first char  No first char
4360  Need char = 'z'  Need char = 'z'
# Line 4515  Minimum match() recursion limit = 6 Line 4365  Minimum match() recursion limit = 6
4365   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4366    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4367  Minimum match() limit = 32768  Minimum match() limit = 32768
4368  Minimum match() recursion limit = 42  Minimum match() recursion limit = 29
4369  No match  No match
4370    
4371  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4590  Capturing subpattern count = 2 Line 4440  Capturing subpattern count = 2
4440  Named capturing subpatterns:  Named capturing subpatterns:
4441    Tes    1    Tes    1
4442    Test   2    Test   2
4443    May match empty string
4444  No options  No options
4445  No first char  No first char
4446  No need char  No need char
# Line 4608  Capturing subpattern count = 2 Line 4459  Capturing subpattern count = 2
4459  Named capturing subpatterns:  Named capturing subpatterns:
4460    Tes    2    Tes    2
4461    Test   1    Test   1
4462    May match empty string
4463  No options  No options
4464  No first char  No first char
4465  No need char  No need char
# Line 4641  Failed: two named subpatterns have the s Line 4493  Failed: two named subpatterns have the s
4493  Capturing subpattern count = 3  Capturing subpattern count = 3
4494  Named capturing subpatterns:  Named capturing subpatterns:
4495    elem   2    elem   2
 Partial matching not supported  
4496  No options  No options
4497  First char = '['  First char = '['
4498  Need char = ']'  Need char = ']'
# Line 4659  No match Line 4510  No match
4510  Capturing subpattern count = 3  Capturing subpattern count = 3
4511  Named capturing subpatterns:  Named capturing subpatterns:
4512    elem   2    elem   2
 Partial matching not supported  
4513  No options  No options
4514  First char = '['  First char = '['
4515  Need char = ']'  Need char = ']'
# Line 4679  Need char = ']' Line 4529  Need char = ']'
4529          a          a
4530          CBra 2          CBra 2
4531          b          b
         Once  
4532          Recurse          Recurse
         Ket  
4533          c          c
4534          Ket          Ket
4535          Ket          Ket
# Line 4689  Need char = ']' Line 4537  Need char = ']'
4537          End          End
4538  ------------------------------------------------------------------  ------------------------------------------------------------------
4539  Capturing subpattern count = 2  Capturing subpattern count = 2
4540    May match empty string
4541  No options  No options
4542  No first char  No first char
4543  No need char  No need char
# Line 4701  No need char Line 4550  No need char
4550          a          a
4551          CBra 2          CBra 2
4552          b          b
         Once  
4553          Recurse          Recurse
         Ket  
4554          c          c
4555          Ket          Ket
4556          KetRmax          KetRmax
# Line 4711  No need char Line 4558  No need char
4558          End          End
4559  ------------------------------------------------------------------  ------------------------------------------------------------------
4560  Capturing subpattern count = 2  Capturing subpattern count = 2
4561    May match empty string
4562  No options  No options
4563  No first char  No first char
4564  No need char  No need char
# Line 4724  No need char Line 4572  No need char
4572          a          a
4573          CBra 2          CBra 2
4574          b          b
         Once  
4575          Recurse          Recurse
         Ket  
4576          c          c
4577          Ket          Ket
4578          Ket          Ket
# Line 4735  No need char Line 4581  No need char
4581          a          a
4582          CBra 2          CBra 2
4583          b          b
         Once  
4584          Recurse          Recurse
         Ket  
4585          c          c
4586          Ket          Ket
4587          Ket          Ket
# Line 4746  No need char Line 4590  No need char
4590          End          End
4591  ------------------------------------------------------------------  ------------------------------------------------------------------
4592  Capturing subpattern count = 2  Capturing subpattern count = 2
4593    May match empty string
4594  No options  No options
4595  No first char  No first char
4596  No need char  No need char
# Line 4766  No need char Line 4611  No need char
4611    
4612  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4613  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4614  Options: caseless  Options: caseless
4615  No first char  No first char
4616  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4776  Need char = 'g' (caseless) Line 4620  Need char = 'g' (caseless)
4620    
4621  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4622  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4623  Options: caseless  Options: caseless
4624  No first char  No first char
4625  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4626  Study returned NULL  Subject length lower bound = 8
4627    No set of starting bytes
4628       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4629   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4630   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4795  Study returned NULL Line 4639  Study returned NULL
4639          End          End
4640  ------------------------------------------------------------------  ------------------------------------------------------------------
4641  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4642  No options  No options
4643  No first char  No first char
4644  Need char = 'b'  Need char = 'b'
4645  Study returned NULL  Subject length lower bound = 1
4646    No set of starting bytes
4647    
4648  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4649  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4819  Capturing subpattern count = 1 Line 4663  Capturing subpattern count = 1
4663  No options  No options
4664  No first char  No first char
4665  Need char = 'c'  Need char = 'c'
4666  Study returned NULL  Subject length lower bound = 1
4667    No set of starting bytes
4668    
4669  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4670  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4876  Need char = 'e' Line 4721  Need char = 'e'
4721   +4 ^   ^      e   +4 ^   ^      e
4722  No match  No match
4723    
4724  /a*b/ICDZ  /a*b/ICDZS
4725  ------------------------------------------------------------------  ------------------------------------------------------------------
4726          Bra          Bra
4727          Callout 255 0 2          Callout 255 0 2
# Line 4888  No match Line 4733  No match
4733          End          End
4734  ------------------------------------------------------------------  ------------------------------------------------------------------
4735  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4736  Options:  Options:
4737  No first char  No first char
4738  Need char = 'b'  Need char = 'b'
4739    Subject length lower bound = 1
4740    Starting byte set: a b
4741    ab    ab
4742  --->ab  --->ab
4743   +0 ^      a*   +0 ^      a*
# Line 4914  Need char = 'b' Line 4760  Need char = 'b'
4760   +2   ^ ^      b   +2   ^ ^      b
4761   +0    ^       a*   +0    ^       a*
4762   +2    ^^      b   +2    ^^      b
  +0     ^      a*  
  +2     ^      b  
4763   +0      ^     a*   +0      ^     a*
4764   +2      ^     b   +2      ^     b
4765   +3      ^^   +3      ^^
4766   0: b   0: b
4767    
4768  /a+b/ICDZ  /a*b/ICDZSS
4769  ------------------------------------------------------------------  ------------------------------------------------------------------
4770          Bra          Bra
4771          Callout 255 0 2          Callout 255 0 2
4772          a++          a*+
4773          Callout 255 2 1          Callout 255 2 1
4774          b          b
4775          Callout 255 3 0          Callout 255 3 0
# Line 4933  Need char = 'b' Line 4777  Need char = 'b'
4777          End          End
4778  ------------------------------------------------------------------  ------------------------------------------------------------------
4779  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4780  Options:  Options:
4781  First char = 'a'  No first char
4782  Need char = 'b'  Need char = 'b'
4783    ab    ab
4784  --->ab  --->ab
4785   +0 ^      a+   +0 ^      a*
4786   +2 ^^     b   +2 ^^     b
4787   +3 ^ ^   +3 ^ ^
4788   0: ab   0: ab
4789    aaaab    aaaab
4790  --->aaaab  --->aaaab
4791   +0 ^         a+   +0 ^         a*
4792   +2 ^   ^     b   +2 ^   ^     b
4793   +3 ^    ^   +3 ^    ^
4794   0: aaaab   0: aaaab
4795    aaaacb    aaaacb
4796  --->aaaacb  --->aaaacb
4797   +0 ^          a+   +0 ^          a*
4798   +2 ^   ^      b   +2 ^   ^      b
4799   +0  ^         a+   +0  ^         a*
4800   +2  ^  ^      b   +2  ^  ^      b
4801   +0   ^        a+   +0   ^        a*
4802     +2   ^ ^      b
4803     +0    ^       a*
4804     +2    ^^      b
4805     +0     ^      a*
4806     +2     ^      b
4807     +0      ^     a*
4808     +2      ^     b
4809     +3      ^^
4810     0: b
4811    
4812    /a+b/ICDZ
4813    ------------------------------------------------------------------
4814            Bra
4815            Callout 255 0 2
4816            a++
4817            Callout 255 2 1
4818            b
4819            Callout 255 3 0
4820            Ket
4821            End
4822    ------------------------------------------------------------------
4823    Capturing subpattern count = 0
4824    Options:
4825    First char = 'a'
4826    Need char = 'b'
4827      ab
4828    --->ab
4829     +0 ^      a+
4830     +2 ^^     b
4831     +3 ^ ^
4832     0: ab
4833      aaaab
4834    --->aaaab
4835     +0 ^         a+
4836     +2 ^   ^     b
4837     +3 ^    ^
4838     0: aaaab
4839      aaaacb
4840    --->aaaacb
4841     +0 ^          a+
4842     +2 ^   ^      b
4843     +0  ^         a+
4844     +2  ^  ^      b
4845     +0   ^        a+
4846   +2   ^ ^      b   +2   ^ ^      b
4847   +0    ^       a+   +0    ^       a+
4848   +2    ^^      b   +2    ^^      b
4849  No match  No match
4850    
4851  /(abc|def)x/ICDZ  /(abc|def)x/ICDZS
4852    ------------------------------------------------------------------
4853            Bra
4854            Callout 255 0 9
4855            CBra 1
4856            Callout 255 1 1
4857            a
4858            Callout 255 2 1
4859            b
4860            Callout 255 3 1
4861            c
4862            Callout 255 4 0
4863            Alt
4864            Callout 255 5 1
4865            d
4866            Callout 255 6 1
4867            e
4868            Callout 255 7 1
4869            f
4870            Callout 255 8 0
4871            Ket
4872            Callout 255 9 1
4873            x
4874            Callout 255 10 0
4875            Ket
4876            End
4877    ------------------------------------------------------------------
4878    Capturing subpattern count = 1
4879    Options:
4880    No first char
4881    Need char = 'x'
4882    Subject length lower bound = 4
4883    Starting byte set: a d
4884      abcx
4885    --->abcx
4886     +0 ^        (abc|def)
4887     +1 ^        a
4888     +2 ^^       b
4889     +3 ^ ^      c
4890     +4 ^  ^     |
4891     +9 ^  ^     x
4892    +10 ^   ^
4893     0: abcx
4894     1: abc
4895      defx
4896    --->defx
4897     +0 ^        (abc|def)
4898     +1 ^        a
4899     +5 ^        d
4900     +6 ^^       e
4901     +7 ^ ^      f
4902     +8 ^  ^     )
4903     +9 ^  ^     x
4904    +10 ^   ^
4905     0: defx
4906     1: def
4907      ** Failers
4908    No match
4909      abcdefzx
4910    --->abcdefzx
4911     +0 ^            (abc|def)
4912     +1 ^            a
4913     +2 ^^           b
4914     +3 ^ ^          c
4915     +4 ^  ^         |
4916     +9 ^  ^         x
4917     +5 ^            d
4918     +0    ^         (abc|def)
4919     +1    ^         a
4920     +5    ^         d
4921     +6    ^^        e
4922     +7    ^ ^       f
4923     +8    ^  ^      )
4924     +9    ^  ^      x
4925    No match
4926    
4927    /(abc|def)x/ICDZSS
4928  ------------------------------------------------------------------  ------------------------------------------------------------------
4929          Bra          Bra
4930          Callout 255 0 9          Callout 255 0 9
# Line 5015  Need char = 'x' Line 4978  Need char = 'x'
4978  +10 ^   ^  +10 ^   ^
4979   0: defx   0: defx
4980   1: def   1: def
4981      ** Failers
4982    No match
4983    abcdefzx    abcdefzx
4984  --->abcdefzx  --->abcdefzx
4985   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 5115  No need char Line 5080  No need char
5080   0: abcdcdcd   0: abcdcdcd
5081   1: cd   1: cd
5082    
5083  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZS
5084    ------------------------------------------------------------------
5085            Bra
5086            Callout 255 0 14
5087            CBra 1
5088            Callout 255 1 4
5089            [ab]
5090            Callout 255 5 1
5091            {
5092            Callout 255 6 1
5093            ,
5094            Callout 255 7 1
5095            4
5096            Callout 255 8 1
5097            }
5098            Callout 255 9 1
5099            c
5100            Callout 255 10 0
5101            Alt
5102            Callout 255 11 1
5103            x
5104            Callout 255 12 1
5105            y
5106            Callout 255 13 0
5107            Ket
5108            Callout 255 14 0
5109            Ket
5110            End
5111    ------------------------------------------------------------------
5112    Capturing subpattern count = 1
5113    Options:
5114    No first char
5115    No need char
5116    Subject length lower bound = 2
5117    Starting byte set: a b x
5118        Note: that { does NOT introduce a quantifier
5119    --->Note: that { does NOT introduce a quantifier
5120     +0         ^                                        ([ab]{,4}c|xy)
5121     +1         ^                                        [ab]
5122     +5         ^^                                       {
5123    +11         ^                                        x
5124     +0                                 ^                ([ab]{,4}c|xy)
5125     +1                                 ^                [ab]
5126     +5                                 ^^               {
5127    +11                                 ^                x
5128     +0                                     ^            ([ab]{,4}c|xy)
5129     +1                                     ^            [ab]
5130     +5                                     ^^           {
5131    +11                                     ^            x
5132    No match
5133    
5134    /([ab]{,4}c|xy)/ICDZSS
5135  ------------------------------------------------------------------  ------------------------------------------------------------------
5136          Bra          Bra
5137          Callout 255 0 14          Callout 255 0 14
# Line 5371  No match Line 5387  No match
5387          End          End
5388  ------------------------------------------------------------------  ------------------------------------------------------------------
5389  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5390  Options:  Options:
5391  No first char  No first char
5392  Need char = '3'  Need char = '3'
# Line 5403  Need char = '3' Line 5418  Need char = '3'
5418    
5419  /\b.*/I  /\b.*/I
5420  Capturing subpattern count = 0  Capturing subpattern count = 0
5421  Partial matching not supported  Max lookbehind = 1
5422    May match empty string
5423  No options  No options
5424  No first char  No first char
5425  No need char  No need char
# Line 5412  No need char Line 5428  No need char
5428    
5429  /\b.*/Is  /\b.*/Is
5430  Capturing subpattern count = 0  Capturing subpattern count = 0
5431  Partial matching not supported  Max lookbehind = 1
5432    May match empty string
5433  Options: dotall  Options: dotall
5434  No first char  No first char
5435  No need char  No need char
# Line 5421  No need char Line 5438  No need char
5438    
5439  /(?!.bcd).*/I  /(?!.bcd).*/I
5440  Capturing subpattern count = 0  Capturing subpattern count = 0
5441  Partial matching not supported  May match empty string
5442  No options  No options
5443  No first char  No first char
5444  No need char  No need char
# Line 5434  No options Line 5451  No options
5451  First char = 'a'  First char = 'a'
5452  Need char = 'e'  Need char = 'e'
5453      ab\P      ab\P
5454  Partial match  Partial match: ab
5455      abc\P      abc\P
5456  Partial match  Partial match: abc
5457      abcd\P      abcd\P
5458  Partial match  Partial match: abcd
5459      abcde\P      abcde\P
5460   0: abcde   0: abcde
5461      the quick brown abc\P      the quick brown abc\P
5462  Partial match  Partial match: abc
5463      ** Failers\P      ** Failers\P
5464  No match  No match
5465      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5467  Need char = '/' Line 5484  Need char = '/'
5484   1: 02   1: 02
5485   2: 05   2: 05
5486      1\P      1\P
5487  Partial match  Partial match: 1
5488      1/2\P      1/2\P
5489  Partial match  Partial match: 1/2
5490      1/2/0\P      1/2/0\P
5491  Partial match  Partial match: 1/2/0
5492      1/2/04\P      1/2/04\P
5493   0: 1/2/04   0: 1/2/04
5494   1: 1   1: 1
5495   2: 2   2: 2
5496      0\P      0\P
5497  Partial match  Partial match: 0
5498      02/\P      02/\P
5499  Partial match  Partial match: 02/
5500      02/0\P      02/0\P
5501  Partial match  Partial match: 02/0
5502      02/1\P      02/1\P
5503  Partial match  Partial match: 02/1
5504      ** Failers\P      ** Failers\P
5505  No match  No match
5506      \P      \P
# Line 5505  No match Line 5522  No match
5522    
5523  /0{0,2}ABC/I  /0{0,2}ABC/I
5524  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5525  No options  No options
5526  No first char  No first char
5527  Need char = 'C'  Need char = 'C'
5528    
5529  /\d{3,}ABC/I  /\d{3,}ABC/I
5530  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5531  No options  No options
5532  No first char  No first char
5533  Need char = 'C'  Need char = 'C'
5534    
5535  /\d*ABC/I  /\d*ABC/I
5536  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5537  No options  No options
5538  No first char  No first char
5539  Need char = 'C'  Need char = 'C'
5540    
5541  /[abc]+DE/I  /[abc]+DE/I
5542  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5543  No options  No options
5544  No first char  No first char
5545  Need char = 'E'  Need char = 'E'
# Line 5539  Need char = '3' Line 5552  Need char = '3'
5552      123\P      123\P
5553   0: 123   0: 123
5554      a\P      a\P
5555  Partial match  Partial match: a
5556      b\P      b\P
5557  Partial match  Partial match: b
5558      c\P      c\P
5559  Partial match  Partial match: c
5560      c12\P      c12\P
5561  Partial match  Partial match: c12
5562      c123\P      c123\P
5563   0: c123   0: c123
5564    
# Line 5555  Options: anchored Line 5568  Options: anchored
5568  No first char  No first char
5569  Need char = 'X'  Need char = 'X'
5570      1\P      1\P
5571  Partial match  Partial match: 1
5572      123\P      123\P
5573  Partial match  Partial match: 123
5574      123X      123X
5575   0: 123X   0: 123X
5576      1234\P      1234\P
5577  Partial match  Partial match: 1234
5578      1234X      1234X
5579   0: 1234X   0: 1234X
5580      12345\P      12345\P
5581  Partial match  Partial match: 12345
5582      12345X      12345X
5583   0: 12345X   0: 12345X
5584      *** Failers      *** Failers
# Line 5575  No match Line 5588  No match
5588      123456\P      123456\P
5589  No match  No match
5590    
5591  /abc/I>testsavedregex  /abc/IS>testsavedregex
5592    Capturing subpattern count = 0
5593    No options
5594    First char = 'a'
5595    Need char = 'c'
5596    Subject length lower bound = 3
5597    No set of starting bytes
5598    Compiled pattern written to testsavedregex
5599    Study data written to testsavedregex
5600    <testsavedregex
5601    Compiled pattern loaded from testsavedregex
5602    Study data loaded from testsavedregex
5603        abc
5604     0: abc
5605        ** Failers
5606    No match
5607        bca
5608    No match
5609    
5610    /abc/ISS>testsavedregex
5611  Capturing subpattern count = 0  Capturing subpattern count = 0
5612  No options  No options
5613  First char = 'a'  First char = 'a'
5614  Need char = 'c'  Need char = 'c'
5615  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5616  <testsavedregex  <testsavedregex
5617  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5618  No study data  No study data
5619      abc      abc
5620   0: abc   0: abc
# Line 5591  No match Line 5623  No match
5623      bca      bca
5624  No match  No match
5625    
5626  /abc/IF>testsavedregex  /abc/IFS>testsavedregex
5627    Capturing subpattern count = 0
5628    No options
5629    First char = 'a'
5630    Need char = 'c'
5631    Subject length lower bound = 3
5632    No set of starting bytes
5633    Compiled pattern written to testsavedregex
5634    Study data written to testsavedregex
5635    <testsavedregex
5636    Compiled pattern (byte-inverted) loaded from testsavedregex
5637    Study data loaded from testsavedregex
5638        abc
5639     0: abc
5640        ** Failers
5641    No match
5642        bca
5643    No match
5644    
5645    /abc/IFSS>testsavedregex
5646  Capturing subpattern count = 0  Capturing subpattern count = 0
5647  No options  No options
5648  First char = 'a'  First char = 'a'
5649  Need char = 'c'  Need char = 'c'
5650  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5651  <testsavedregex  <testsavedregex
5652  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5653  No study data  No study data
5654      abc      abc
5655   0: abc   0: abc
# Line 5612  Capturing subpattern count = 1 Line 5663  Capturing subpattern count = 1
5663  No options  No options
5664  No first char  No first char
5665  No need char  No need char
5666    Subject length lower bound = 1
5667  Starting byte set: a b  Starting byte set: a b
5668  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5669  Study data written to testsavedregex  Study data written to testsavedregex
5670  <testsavedregex  <testsavedregex
5671  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5672  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5673      abc      abc
5674   0: a   0: a
# Line 5627  Study data loaded from testsavedregex Line 5679  Study data loaded from testsavedregex
5679      def      def
5680  No match  No match
5681    
5682    /(a|b)/ISS>testsavedregex
5683    Capturing subpattern count = 1
5684    No options
5685    No first char
5686    No need char
5687    Compiled pattern written to testsavedregex
5688    <testsavedregex
5689    Compiled pattern loaded from testsavedregex
5690    No study data
5691        abc
5692     0: a
5693     1: a
5694        ** Failers
5695     0: a
5696     1: a
5697        def
5698    No match
5699    
5700  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5701  Capturing subpattern count = 1  Capturing subpattern count = 1
5702  No options  No options
5703  No first char  No first char
5704  No need char  No need char
5705    Subject length lower bound = 1
5706  Starting byte set: a b  Starting byte set: a b
5707  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5708  Study data written to testsavedregex  Study data written to testsavedregex
5709  <testsavedregex  <testsavedregex
5710  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5711  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5712      abc      abc
5713   0: a   0: a
# Line 5647  Study data loaded from testsavedregex Line 5718  Study data loaded from testsavedregex
5718      def      def
5719  No match  No match
5720    
5721    /(a|b)/ISSF>testsavedregex
5722    Capturing subpattern count = 1
5723    No options
5724    No first char
5725    No need char
5726    Compiled pattern written to testsavedregex
5727    <testsavedregex
5728    Compiled pattern (byte-inverted) loaded from testsavedregex
5729    No study data
5730        abc
5731     0: a
5732     1: a
5733        ** Failers
5734     0: a
5735     1: a
5736        def
5737    No match
5738    
5739  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5740  Capturing subpattern count = 3  Capturing subpattern count = 3
5741  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5742  Options: multiline dotall  Options: multiline dotall
5743  First char = '<'  First char = '<'
5744  Need char = '>'  Need char = '>'
5745      <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>      \J1024<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
5746   0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>   0: <seite>\x0a<dokumenteninformation>\x0a<seitentitel>Partner der LCO</seitentitel>\x0a<sprache>de</sprache>\x0a<seitenbeschreibung>Partner der LINEAS Consulting\x0aGmbH</seitenbeschreibung>\x0a<schluesselworte>LINEAS Consulting GmbH Hamburg\x0aPartnerfirmen</schluesselworte>\x0a<revisit>30 days</revisit>\x0a<robots>index,follow</robots>\x0a<menueinformation>\x0a<aktiv>ja</aktiv>\x0a<menueposition>3</menueposition>\x0a<menuetext>Partner</menuetext>\x0a</menueinformation>\x0a<lastedited>\x0a<autor>LCO</autor>\x0a<firma>LINEAS Consulting</firma>\x0a<datum>15.10.2003</datum>\x0a</lastedited>\x0a</dokumenteninformation>\x0a<inhalt>\x0a\x0a<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\x0aGmbH</absatzueberschrift>\x0a\x0a<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\x0a<bild name="logo_ca.gif" rahmen="no"/></link> <link\x0aziel="http://www.ey.com/" zielfenster="_blank"><bild\x0aname="logo_euy.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\x0a<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.atelion.de/"\x0azielfenster="_blank"><bild\x0aname="logo_atelion.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><link ziel="http://www.line-information.de/"\x0azielfenster="_blank">\x0a<bild name="logo_line_information.gif" rahmen="no"/></link>\x0a</absatz>\x0a\x0a<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\x0a\x0a<absatz><link ziel="http://www.incognis.de/"\x0azielfenster="_blank"><bild\x0aname="logo_incognis.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.addcraft.com/"\x0azielfenster="_blank"><bild\x0aname="logo_addcraft.gif" rahmen="no"/></link></absatz>\x0a\x0a<absatz><link ziel="http://www.comendo.com/"\x0azielfenster="_blank"><bild\x0aname="logo_comendo.gif" rahmen="no"/></link></absatz>\x0a\x0a</inhalt>\x0a</seite>
5747   1: seite   1: seite
5748   2: \x0a   2: \x0a
# Line 5703  No match Line 5791  No match
5791      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5792  No match  No match
5793    
 /ab.cd/IP  
     ab-cd  
  0: ab-cd  
     ab=cd  
  0: ab=cd  
     ** Failers  
 No match: POSIX code 17: match failed  
     ab\ncd  
 No match: POSIX code 17: match failed  
   
 /ab.cd/IPs  
     ab-cd  
  0: ab-cd  
     ab=cd  
  0: ab=cd  
     ab\ncd  
  0: ab\x0acd  
   
5794  /(?i)(?-i)AbCd/I  /(?i)(?-i)AbCd/I
5795  Capturing subpattern count = 0  Capturing subpattern count = 0
5796  No options  No options
# Line 5957  Matched, but too many substrings Line 6027  Matched, but too many substrings
6027    
6028  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6029  Capturing subpattern count = 0  Capturing subpattern count = 0
6030  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6031  No options  No options
6032  No first char  No first char
6033  No need char  No need char
# Line 5971  No need char Line 6040  No need char
6040    
6041  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6042  Capturing subpattern count = 0  Capturing subpattern count = 0
6043  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6044  No options  No options
6045  No first char  No first char
6046  No need char  No need char
# Line 5983  No need char Line 6051  No need char
6051    
6052  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6053  Capturing subpattern count = 0  Capturing subpattern count = 0
6054  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6055  No options  No options
6056  No first char  No first char
6057  No need char  No need char
# Line 5995  No need char Line 6062  No need char
6062    
6063  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6064  Capturing subpattern count = 0  Capturing subpattern count = 0
6065  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6066  No options  No options
6067  No first char  No first char
6068  No need char  No need char
# Line 6009  No need char Line 6075  No need char
6075    
6076  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6077  Capturing subpattern count = 0  Capturing subpattern count = 0
6078  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6079  No options  No options
6080  No first char  No first char
6081  No need char  No need char
# Line 6023  No need char Line 6088  No need char
6088      ((this))      ((this))
6089   0: ((this))   0: ((this))
6090    
 /a(b)c/IPN  
     abc  
 Matched with REG_NOSUB  
   
 /a(?P<name>b)c/IPN  
     abc  
 Matched with REG_NOSUB  
   
 /\x{100}/I  
 Failed: character value in \x{...} sequence is too large at offset 6  
   
6091  /\x{0000ff}/I  /\x{0000ff}/I
6092  Capturing subpattern count = 0  Capturing subpattern count = 0
6093  No options  No options
6094  First char = 255  First char = \xff
6095  No need char  No need char
6096    
6097  /^((?P<A>a1)|(?P<A>a2)b)/I  /^((?P<A>a1)|(?P<A>a2)b)/I
# Line 6071  no parentheses with name "Z" Line 6125  no parentheses with name "Z"
6125   2: a1   2: a1
6126  copy substring Z failed -7  copy substring Z failed -7
6127    C a1 (2) A    C a1 (2) A
6128    
6129    /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
6130    Capturing subpattern count = 3
6131    Named capturing subpatterns:
6132      a   1
6133      a   3
6134      b   2
6135    May match empty string
6136    Options: dupnames
6137    No first char
6138    No need char
6139    
6140  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6141  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 6147  no parentheses with name "Z" Line 6212  no parentheses with name "Z"
6212   0: a1   0: a1
6213   1: a1   1: a1
6214   2: a1   2: a1
6215  copy substring Z failed -7  get substring Z failed -7
6216    G a1 (2) A    G a1 (2) A
6217    
6218  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
# Line 6179  No need char Line 6244  No need char
6244    G a (1) A    G a (1) A
6245      cd\GA      cd\GA
6246   0: cd   0: cd
6247  copy substring A failed -7  get substring A failed -7
6248    
6249  /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ  /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
6250  Capturing subpattern count = 4  Capturing subpattern count = 4
# Line 6205  Named capturing subpatterns: Line 6270  Named capturing subpatterns:
6270    A   2    A   2
6271    A   3    A   3
6272  Options: anchored dupnames  Options: anchored dupnames
6273    Duplicate name status changes
6274  No first char  No first char
6275  No need char  No need char
6276      a1b\CA      a1b\CA
# Line 6346  No need char Line 6412  No need char
6412   9:   9:
6413  10: Y  10: Y
6414    
 /\777/I  
 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3  
   
6415  /\s*,\s*/IS  /\s*,\s*/IS
6416  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6417  No options  No options
6418  No first char  No first char
6419  Need char = ','  Need char = ','
6420  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Subject length lower bound = 1
6421    Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 ,
6422      \x0b,\x0b      \x0b,\x0b
6423   0: ,   0: \x0b,\x0b
6424      \x0c,\x0d      \x0c,\x0d
6425   0: \x0c,\x0d   0: \x0c,\x0d
6426    
# Line 6481  Unknown newline type at: <bad> Line 6544  Unknown newline type at: <bad>
6544    
6545  /.*/I<lf>  /.*/I<lf>
6546  Capturing subpattern count = 0  Capturing subpattern count = 0
6547  Partial matching not supported  May match empty string
6548  Options:  Options:
6549  Forced newline sequence: LF  Forced newline sequence: LF
6550  First char at start or follows newline  First char at start or follows newline
# Line 6507  No need char Line 6570  No need char
6570    
6571  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6572  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6573  Options: dotall  Options: dotall
6574  No first char  No first char
6575  Need char = 'f'  Need char = 'f'
# Line 6524  Need char = 'f' Line 6586  Need char = 'f'
6586    
6587  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6588  Capturing subpattern count = 1  Capturing subpattern count = 1
6589  Partial matching not supported  May match empty string
6590  No options  No options
6591  No first char  No first char
6592  No need char  No need char
# Line 6659  No need char Line 6721  No need char
6721    
6722  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6723  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6724  No options  No options
6725  No first char  No first char
6726  No need char  No need char
6727    Subject length lower bound = 1
6728  Starting byte set: C a b c d  Starting byte set: C a b c d
6729    
6730  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6670  Capturing subpattern count = 1 Line 6732  Capturing subpattern count = 1
6732  No options  No options
6733  No first char  No first char
6734  Need char = 'z'  Need char = 'z'
6735    Subject length lower bound = 4
6736  Starting byte set: a b  Starting byte set: a b
6737    
6738  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6677  Capturing subpattern count = 1 Line 6740  Capturing subpattern count = 1
6740  No options  No options
6741  No first char  No first char
6742  Need char = 'z'  Need char = 'z'
6743    Subject length lower bound = 4
6744  Starting byte set: a b  Starting byte set: a b
6745    
6746  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6684  Capturing subpattern count = 1 Line 6748  Capturing subpattern count = 1
6748  No options  No options
6749  No first char  No first char
6750  Need char = 'z'  Need char = 'z'
6751    Subject length lower bound = 4
6752  Starting byte set: a b c  Starting byte set: a b c
6753    
6754  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6691  Capturing subpattern count = 1 Line 6756  Capturing subpattern count = 1
6756  No options  No options
6757  No first char  No first char
6758  Need char = 'z'  Need char = 'z'
6759    Subject length lower bound = 4
6760  Starting byte set: a b c  Starting byte set: a b c
6761    
6762  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6698  Capturing subpattern count = 1 Line 6764  Capturing subpattern count = 1
6764  No options  No options
6765  No first char  No first char
6766  Need char = 'z'  Need char = 'z'
6767    Subject length lower bound = 4
6768  Starting byte set: a b c d  Starting byte set: a b c d
6769    
6770  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6705  Capturing subpattern count = 1 Line 6772  Capturing subpattern count = 1
6772  No options  No options
6773  No first char  No first char
6774  Need char = 'z'  Need char = 'z'
6775    Subject length lower bound = 4
6776  Starting byte set: a b c d  Starting byte set: a b c d
6777    
6778  /^a*b\d/DZ  /^a*b\d/DZ
# Line 6718  Starting byte set: a b c d Line 6786  Starting byte set: a b c d
6786          End          End
6787  ------------------------------------------------------------------  ------------------------------------------------------------------
6788  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6789  Options: anchored  Options: anchored
6790  No first char  No first char
6791  Need char = 'b'  Need char = 'b'
# Line 6734  Need char = 'b' Line 6801  Need char = 'b'
6801          End          End
6802  ------------------------------------------------------------------  ------------------------------------------------------------------
6803  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6804  Options: anchored  Options: anchored
6805  No first char  No first char
6806  Need char = 'b'  Need char = 'b'
# Line 6750  Need char = 'b' Line 6816  Need char = 'b'
6816          End          End
6817  ------------------------------------------------------------------  ------------------------------------------------------------------
6818  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6819  Options: anchored  Options: anchored
6820  No first char  No first char
6821  Need char = 'b'  Need char = 'b'
# Line 6766  Need char = 'b' Line 6831  Need char = 'b'
6831          End          End
6832  ------------------------------------------------------------------  ------------------------------------------------------------------
6833  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6834  Options: anchored  Options: anchored
6835  No first char  No first char
6836  Need char = 'A'  Need char = 'A'
# Line 6781  No match Line 6845  No match
6845  ------------------------------------------------------------------  ------------------------------------------------------------------
6846          Bra          Bra
6847          ^          ^
6848          a*       /i a*
6849       NC A       /i A
6850          \d          \d
6851          Ket          Ket
6852          End          End
6853  ------------------------------------------------------------------  ------------------------------------------------------------------
6854  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6855  Options: anchored caseless  Options: anchored caseless
6856  No first char  No first char
6857  Need char = 'A' (caseless)  Need char = 'A' (caseless)
# Line 6799  Need char = 'A' (caseless) Line 6862  Need char = 'A' (caseless)
6862    
6863  /(a*|b*)[cd]/IS  /(a*|b*)[cd]/IS
6864  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6865  No options  No options
6866  No first char  No first char
6867  No need char  No need char
6868    Subject length lower bound = 1
6869  Starting byte set: a b c d  Starting byte set: a b c d
6870    
6871  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6872  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6873  No options  No options
6874  No first char  No first char
6875  No need char  No need char
6876    Subject length lower bound = 1
6877  Starting byte set: a b c d  Starting byte set: a b c d
6878    
6879  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6880  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6881  No options  No options
6882  No first char  No first char
6883  No need char  No need char
6884    Subject length lower bound = 1
6885  Starting byte set: a b c d  Starting byte set: a b c d
6886    
6887  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6888  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6889  No options  No options
6890  No first char  No first char
6891  No need char  No need char
6892    Subject length lower bound = 2
6893  Starting byte set: a b  Starting byte set: a b
6894    
6895  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7411  Matched, but too many substrings Line 7474  Matched, but too many substrings
7474  /[^a]+a/BZi  /[^a]+a/BZi
7475  ------------------------------------------------------------------  ------------------------------------------------------------------
7476          Bra          Bra
7477          [^A]++       /i [^a]++
7478       NC a       /i a
7479          Ket          Ket
7480          End          End
7481  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7420  Matched, but too many substrings Line 7483  Matched, but too many substrings
7483  /[^a]+A/BZi  /[^a]+A/BZi
7484  ------------------------------------------------------------------  ------------------------------------------------------------------
7485          Bra          Bra
7486          [^A]++       /i [^a]++
7487       NC A       /i A
7488          Ket          Ket
7489          End          End
7490  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7447  Matched, but too many substrings Line 7510  Matched, but too many substrings
7510  /a*[^a]/BZ  /a*[^a]/BZ
7511  ------------------------------------------------------------------  ------------------------------------------------------------------
7512          Bra          Bra
7513          a*          a*+
7514          [^a]          [^a]
7515          Ket          Ket
7516          End          End
# Line 7616  No match Line 7679  No match
7679  ------------------------------------------------------------------  ------------------------------------------------------------------
7680          Bra          Bra
7681          ^          ^
         Once  
7682          Recurse          Recurse
         Ket  
7683          [()]          [()]
7684          CBra 1          CBra 1
7685          Ket          Ket
# Line 7632  No match Line 7693  No match
7693          ^          ^
7694          CBra 1          CBra 1
7695          Cond          Cond
7696        2 Cond ref        2 Cond nref
7697          y          y
7698          Ket          Ket
7699          [()]          [()]
# Line 7652  No match Line 7713  No match
7713  ------------------------------------------------------------------  ------------------------------------------------------------------
7714          Bra          Bra
7715          ^          ^
         Once  
7716          Recurse          Recurse
         Ket  
7717          ()          ()
7718          CBra 1          CBra 1
7719          Ket          Ket
# Line 7666  No match Line 7725  No match
7725  ------------------------------------------------------------------  ------------------------------------------------------------------
7726          Bra          Bra
7727          ^          ^
         Once  
7728          Recurse          Recurse
         Ket  
7729          [(\]a]          [(\]a]
7730          CBra 1          CBra 1
7731          Ket          Ket
# Line 7681  No match Line 7738  No match
7738  ------------------------------------------------------------------  ------------------------------------------------------------------
7739          Bra          Bra
7740          ^          ^
         Once  
7741          Recurse          Recurse
         Ket  
7742          CBra 1          CBra 1
7743          Ket          Ket
7744          Ket          Ket
# Line 7698  Named capturing subpatterns: Line 7753  Named capturing subpatterns:
7753    one     1    one     1
7754    three   3    three   3
7755    two     2    two     2
7756  Partial matching not supported  May match empty string
7757  Options: anchored caseless  Options: anchored caseless
7758  No first char  No first char
7759  No need char  No need char
# Line 7732  No match Line 7787  No match
7787  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7788  Capturing subpattern count = 1  Capturing subpattern count = 1
7789  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
7790  No options  No options
7791  No first char  No first char
7792  Need char = ':'  Need char = ':'
# Line 7745  Capturing subpattern count = 1 Line 7799  Capturing subpattern count = 1
7799  Max back reference = 1  Max back reference = 1
7800  Named capturing subpatterns:  Named capturing subpatterns:
7801    abc   1    abc   1
 Partial matching not supported  
7802  No options  No options
7803  No first char  No first char
7804  Need char = ':'  Need char = ':'
# Line 7753  Need char = ':' Line 7806  Need char = ':'
7806   0: abcd:   0: abcd:
7807   1: abcd   1: abcd
7808    
 /(?'abc'\w+):\k<abc>{2}/  
     a:aaxyz  
  0: a:aa  
  1: a  
     ab:ababxyz  
  0: ab:abab  
  1: ab  
     ** Failers  
 No match  
     a:axyz  
 No match  
     ab:abxyz  
 No match  
   
7809  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7810      adaa      adaa
7811   0: adaa   0: adaa
# Line 7793  No match Line 7832  No match
7832      bddd      bddd
7833  No match  No match
7834    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7835  /(?(<bc))/  /(?(<bc))/
7836  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7837    
# Line 7830  Failed: reference to non-existent subpat Line 7862  Failed: reference to non-existent subpat
7862   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7863   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7864    
 /^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x  
     abcd  
  0: ab  
  1: <unset>  
  2: <unset>  
   
 /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))  
   (?(DEFINE)  
   (?<NAME_PAT>[a-z]+)  
   (?<ADDRESS_PAT>\d+)  
   )/x  
     metcalfe 33  
  0: metcalfe 33  
  1: metcalfe  
  2: 33  
  3: <unset>  
  4: <unset>  
   
7865  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7866  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7867    
# Line 7857  Options: extended Line 7871  Options: extended
7871  First char = 'x'  First char = 'x'
7872  Need char = 'z'  Need char = 'z'
7873    
 /(?(DEFINE) abc){3} xyz/x  
 Failed: repeating a DEFINE group is not allowed at offset 17  
   
7874  /(a|)*\d/  /(a|)*\d/
7875    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
7876  No match  No match
# Line 7889  No match Line 7900  No match
7900  No match  No match
7901    
7902  /^abc./mgx<any>  /^abc./mgx<any>
7903      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
7904   0: abc1   0: abc1
7905   0: abc2   0: abc2
7906   0: abc3   0: abc3
# Line 7899  No match Line 7910  No match
7910   0: abc7   0: abc7
7911    
7912  /abc.$/mgx<any>  /abc.$/mgx<any>
7913      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
7914   0: abc1   0: abc1
7915   0: abc2   0: abc2
7916   0: abc3   0: abc3
# Line 7913  No match Line 7924  No match
7924  /a/<any><crlf>  /a/<any><crlf>
7925  Failed: inconsistent NEWLINE options at offset 0  Failed: inconsistent NEWLINE options at offset 0
7926    
7927  /^a\Rb/  /^a\Rb/<bsr_unicode>
7928      a\nb      a\nb
7929   0: a\x0ab   0: a\x0ab
7930      a\rb      a\rb
# Line 7931  No match Line 7942  No match
7942      a\n\rb      a\n\rb
7943  No match  No match
7944    
7945  /^a\R*b/  /^a\R*b/<bsr_unicode>
7946      ab      ab
7947   0: ab   0: ab
7948      a\nb      a\nb
# Line 7951  No match Line 7962  No match
7962      a\n\r\x85\x0cb      a\n\r\x85\x0cb
7963   0: a\x0a\x0d\x85\x0cb   0: a\x0a\x0d\x85\x0cb
7964    
7965  /^a\R+b/  /^a\R+b/<bsr_unicode>
7966      a\nb      a\nb
7967   0: a\x0ab   0: a\x0ab
7968      a\rb      a\rb
# Line 7973  No match Line 7984  No match
7984      ab      ab
7985  No match  No match
7986    
7987  /^a\R{1,3}b/  /^a\R{1,3}b/<bsr_unicode>
7988      a\nb      a\nb
7989   0: a\x0ab   0: a\x0ab
7990      a\n\rb      a\n\rb
# Line 7995  No match Line 8006  No match
8006      a\r      a\r
8007  No match  No match
8008    
8009  /^a[\R]b/  /^a[\R]b/<bsr_unicode>
8010      aRb      aRb
8011   0: aRb   0: aRb
8012      ** Failers      ** Failers
# Line 8025  Need char = 'P' Line 8036  Need char = 'P'
8036   0: PXP   0: PXP
8037   1: P   1: P
8038    
 /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/  
     1.2.3.4  
  0: 1.2.3.4  
  1: <unset>  
  2: .4  
     131.111.10.206  
  0: 131.111.10.206  
  1: <unset>  
  2: .206  
     10.0.0.0  
  0: 10.0.0.0  
  1: <unset>  
  2: .0  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
 /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/  
     1.2.3.4  
  0: 1.2.3.4  
  1: .4  
  2: <unset>  
     131.111.10.206  
  0: 131.111.10.206  
  1: .206  
  2: <unset>  
     10.0.0.0  
  0: 10.0.0.0  
  1: .0  
  2: <unset>  
     ** Failers  
 No match  
     10.6  
 No match  
     455.3.4.5  
 No match  
   
8039  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
8040      123axbaxbaxbx456      123axbaxbaxbx456
8041   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8102  No match Line 8073  No match
8073     DEFabcABCXYZ     DEFabcABCXYZ
8074  No match  No match
8075    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
  0: ababababbbabZ  
  1: ab  
  2: b  
   
8076  /^(a)\g-2/  /^(a)\g-2/
8077  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8078    
8079  /^(a)\g/  /^(a)\g/
8080  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
8081    
8082  /^(a)\g{0}/  /^(a)\g{0}/
8083  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 7  Failed: a numbered reference must not be zero at offset 8
8084    
8085  /^(a)\g{3/  /^(a)\g{3/
8086  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 8  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
8087    
8088  /^(a)\g{4a}/  /^(a)\g{4a}/
8089  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 8201  No match Line 8166  No match
8166   0+   0+
8167    
8168  /abc.$/mgx<anycrlf>  /abc.$/mgx<anycrlf>
8169      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
8170   0: abc1   0: abc1
8171   0: abc4   0: abc4
8172   0: abc5   0: abc5
# Line 8223  No match Line 8188  No match
8188          Alt          Alt
8189          c          c
8190          Ket          Ket
         Once  
8191          Recurse          Recurse
8192          Ket          Ket
         Ket  
8193          End          End
8194  ------------------------------------------------------------------  ------------------------------------------------------------------
8195      abc      abc
# Line 8237  No match Line 8200  No match
8200  ------------------------------------------------------------------  ------------------------------------------------------------------
8201          Bra          Bra
8202          xy          xy
         Once  
8203          Recurse          Recurse
         Ket  
8204          CBra 1          CBra 1
8205          abc          abc
8206          Ket          Ket
# Line 8255  No match Line 8216  No match
8216  No match  No match
8217    
8218  /x(?-0)y/  /x(?-0)y/
8219  Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
8220    
8221  /x(?-1)y/  /x(?-1)y/
8222  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
8223    
8224  /x(?+0)y/  /x(?+0)y/
8225  Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
8226    
8227  /x(?+1)y/  /x(?+1)y/
8228  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
# Line 8343  Failed: reference to non-existent subpat Line 8304  Failed: reference to non-existent subpat
8304  /((?(-2)a))/BZ  /((?(-2)a))/BZ
8305  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8306    
8307  /^(?(+1)X|Y)/BZ  /^(?(+1)X|Y)(.)/BZ
8308  ------------------------------------------------------------------  ------------------------------------------------------------------
8309          Bra          Bra
8310          ^          ^
# Line 8353  Failed: reference to non-existent subpat Line 8314  Failed: reference to non-existent subpat
8314          Alt          Alt
8315          Y          Y
8316          Ket          Ket
8317            CBra 1
8318            Any
8319            Ket
8320          Ket          Ket
8321          End          End
8322  ------------------------------------------------------------------  ------------------------------------------------------------------
8323      Y      Y!
8324   0: Y   0: Y!
8325     1: !
 /(foo)\Kbar/  
     foobar  
  0: bar  
  1: foo  
   
 /(foo)(\Kbar|baz)/  
     foobar  
  0: bar  
  1: foo  
  2: bar  
     foobaz  
  0: foobaz  
  1: foo  
  2: baz  
   
 /(foo\Kbar)baz/  
     foobarbaz  
  0: barbaz  
  1: foobar  
8326    
8327  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8328      tom-tom      tom-tom
# Line 8391  No match Line 8336  No match
8336      tom-bon      tom-bon
8337  No match  No match
8338    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
  0: tom-tom  
  1: tom  
     bon-bon  
  0: bon-bon  
  1: bon  
   
8339  /\g{A/  /\g{A/
8340  Failed: syntax error in subpattern name (missing terminator) at offset 4  Failed: syntax error in subpattern name (missing terminator) at offset 4
8341    
# Line 8493  Failed: syntax error in subpattern name Line 8430  Failed: syntax error in subpattern name
8430   3: <unset>   3: <unset>
8431   4: x   4: x
8432    
 /(?|(abc)|(xyz))\1/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzxyz  
  0: xyzxyz  
  1: xyz  
     ** Failers  
 No match  
     abcxyz  
 No match  
     xyzabc  
 No match  
   
 /(?|(abc)|(xyz))(?1)/  
     abcabc  
  0: abcabc  
  1: abc  
     xyzabc  
  0: xyzabc  
  1: xyz  
     ** Failers  
 No match  
     xyzxyz  
 No match  
   
 /\H\h\V\v/  
     X X\x0a  
  0: X X\x0a  
     X\x09X\x0b  
  0: X\x09X\x0b  
     ** Failers  
 No match  
     \xa0 X\x0a  
 No match  
   
 /\H*\h+\V?\v{3,4}/  
     \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0X\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a  
  0: \x09 \xa0\x0a\x0b\x0c\x0d  
     \x09\x20\xa0\x0a\x0b\x0c  
  0: \x09 \xa0\x0a\x0b\x0c  
     ** Failers  
 No match  
     \x09\x20\xa0\x0a\x0b  
 No match  
   
 /\H{3,4}/  
     XY  ABCDE  
  0: ABCD  
     XY  PQR ST  
  0: PQR  
   
 /.\h{3,4}./  
     XY  AB    PQRS  
  0: B    P  
   
 /\h*X\h?\H+Y\H?Z/  
     >XNNNYZ  
  0: XNNNYZ  
     >  X NYQZ  
  0:   X NYQZ  
     ** Failers  
 No match  
     >XYZ  
 No match  
     >  X NY Z  
 No match  
   
 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/  
     >XY\x0aZ\x0aA\x0bNN\x0c  
  0: XY\x0aZ\x0aA\x0bNN\x0c  
     >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
  0: \x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
   
 /[\h]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x09 \xa0]  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x09<  
  0: \x09  
   
 /[\h]+/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x09 \xa0]+  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x09\x20\xa0<  
  0: \x09 \xa0  
   
 /[\v]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x0a-\x0d\x85]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[\H]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[^\h]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] (neg)  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[\V]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x09\x0e-\x84\x86-\xff]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[\x0a\V]/BZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x0a\x0e-\x84\x86-\xff]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
8433  /\H++X/BZ  /\H++X/BZ
8434  ------------------------------------------------------------------  ------------------------------------------------------------------
8435          Bra          Bra
# Line 8789  No match Line 8590  No match
8590          \d          \d
8591          \v++          \v++
8592          \w          \w
8593          \v+          \v++
8594          \S          \S
8595          \v++          \v++
8596          \V          \V
# Line 8820  No match Line 8621  No match
8621  ------------------------------------------------------------------  ------------------------------------------------------------------
8622    
8623  /\( (?: [^()]* | (?R) )* \)/x  /\( (?: [^()]* | (?R) )* \)/x
8624  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)  \J1024(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8625   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8626    
8627  /[\E]AAA/  /[\E]AAA/
# Line 8865  Failed: missing terminating ] for charac Line 8666  Failed: missing terminating ] for charac
8666          End          End
8667  ------------------------------------------------------------------  ------------------------------------------------------------------
8668    
 /^a+(*FAIL)/  
     aaaaaa  
 No match  
   
 /a+b?c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*PRUNE)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*COMMIT)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /a+b?(*SKIP)c+(*FAIL)/  
     aaabcccaaabccc  
 No match  
   
 /^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
     aaa++++++  
  0: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
     bbb+++++  
  0: bbb  
     cccxxxx  
  0: cccxxxx  
     ccc++++  
  0: ccc  
     dddddddd  
  0: ddd  
   
 /^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/  
     aaaxxxxxx  
  0: aaaxxxxxx  
  1: aaaxxxxxx  
     aaa++++++  
  0: aaa  
  1: aaa  
     bbbxxxxx  
  0: bbbxxxxx  
  1: bbbxxxxx  
     bbb+++++  
  0: bbb  
  1: bbb  
     cccxxxx  
  0: cccxxxx  
  1: cccxxxx  
     ccc++++  
  0: ccc  
  1: ccc  
     dddddddd  
  0: ddd  
  1: ddd  
   
 /a+b?(*THEN)c+(*FAIL)/  
     aaabccc  
 No match  
   
 /(A (A|B(*ACCEPT)|C) D)(E)/x  
     ABX  
  0: AB  
     AADE  
  0: AADE  
  1: AAD  
  2: A  
  3: E  
     ACDE  
  0: ACDE  
  1: ACD  
  2: C  
  3: E  
     ** Failers  
 No match  
     AD  
 No match  
   
8669  /^a+(*FAIL)/C  /^a+(*FAIL)/C
8670      aaaaaa      aaaaaa
8671  --->aaaaaa  --->aaaaaa
# Line 8968  No match Line 8688  No match
8688   +6 ^      ^    (*FAIL)   +6 ^      ^    (*FAIL)
8689   +6 ^     ^     (*FAIL)   +6 ^     ^     (*FAIL)
8690   +6 ^    ^      (*FAIL)   +6 ^    ^      (*FAIL)
  +4 ^  ^        c+  
  +2 ^ ^         b?  
  +4 ^ ^         c+  
  +2 ^^          b?  
  +4 ^^          c+  
8691   +0  ^          a+   +0  ^          a+
8692   +2  ^ ^        b?   +2  ^ ^        b?
8693   +4  ^  ^       c+   +4  ^  ^       c+
8694   +6  ^     ^    (*FAIL)   +6  ^     ^    (*FAIL)
8695   +6  ^    ^     (*FAIL)   +6  ^    ^     (*FAIL)
8696   +6  ^   ^      (*FAIL)   +6  ^   ^      (*FAIL)
  +4  ^ ^        c+  
  +2  ^^         b?  
  +4  ^^         c+  
8697   +0   ^         a+   +0   ^         a+
8698   +2   ^^        b?   +2   ^^        b?
8699   +4   ^ ^       c+   +4   ^ ^       c+
8700   +6   ^    ^    (*FAIL)   +6   ^    ^    (*FAIL)
8701   +6   ^   ^     (*FAIL)   +6   ^   ^     (*FAIL)
8702   +6   ^  ^      (*FAIL)   +6   ^  ^      (*FAIL)
  +4   ^^        c+  
8703  No match  No match
8704    
8705  /a+b?(*PRUNE)c+(*FAIL)/C  /a+b?(*PRUNE)c+(*FAIL)/C
# Line 9074  No match Line 8785  No match
8785  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8786  No match  No match
8787    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8788  /a(*MARK)b/  /a(*MARK)b/
8789  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8790    
8791  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8792  Failed: number is too big at offset 19  Failed: number is too big at offset 19
# Line 9086  Failed: number is too big at offset 19 Line 8794  Failed: number is too big at offset 19
8794  /\g6666666666/  /\g6666666666/
8795  Failed: number is too big at offset 11  Failed: number is too big at offset 11
8796    
8797  /[\g6666666666]/  /[\g6666666666]/BZ
8798  Failed: number is too big at offset 12  ------------------------------------------------------------------
8799            Bra
8800            [6g]
8801            Ket
8802            End
8803    ------------------------------------------------------------------
8804    
8805  /(?1)\c[/  /(?1)\c[/
8806  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
# Line 9110  No match Line 8823  No match
8823   1: \x0a   1: \x0a
8824    
8825  /a(*CR)b/  /a(*CR)b/
8826  Failed: (*VERB) not recognized at offset 5  Failed: (*VERB) not recognized or malformed at offset 5
8827    
8828  /(*CR)a.b/  /(*CR)a.b/
8829      a\nb      a\nb
# Line 9167  No match Line 8880  No match
8880  No match  No match
8881      a\x85b      a\x85b
8882  No match  No match
8883    
8884    /(*ANY).*/g
8885        abc\r\ndef
8886     0: abc
8887     0:
8888     0: def
8889     0:
8890    
8891    /(*ANYCRLF).*/g
8892        abc\r\ndef
8893     0: abc
8894     0:
8895     0: def
8896     0:
8897    
8