/[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 1361 by ph10, Fri Sep 6 17:47:32 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    Subject length lower bound = 1
232  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
233    
234  /(ab\2)/  /(ab\2)/
# Line 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 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\x0b\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 3000  No need char Line 2904  No need char
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 3203  Need char = 'b' Line 3095  Need char = 'b'
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 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 3899  No match Line 3806  No match
3806    
3807  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3808  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3809  No options  No options
3810  First char = 'a'  First char = 'a'
3811  Need char = 'b'  Need char = 'b'
# Line 3940  Capturing subpattern count = 0 Line 3846  Capturing subpattern count = 0
3846  No options  No options
3847  No first char  No first char
3848  No need char  No need char
3849    Subject length lower bound = 1
3850  Starting byte set: a b  Starting byte set: a b
3851    
3852  /(?R)/I  /(?R)/I
# Line 3991  Failed: recursive call could loop indefi Line 3898  Failed: recursive call could loop indefi
3898    
3899  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3900  Capturing subpattern count = 1  Capturing subpattern count = 1
3901  Contains explicit CR or LF match  May match empty string
3902  Options: anchored  Options: anchored
3903  No first char  No first char
3904  No need char  No need char
# Line 4011  No match Line 3918  No match
3918    
3919  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
3920  Capturing subpattern count = 1  Capturing subpattern count = 1
 Contains explicit CR or LF match  
3921  Options: anchored  Options: anchored
3922  No first char  No first char
3923  Need char = '<'  Need char = '<'
# Line 4030  Need char = '<' Line 3936  Need char = '<'
3936          Bra          Bra
3937          CBra 1          CBra 1
3938          a          a
         Once  
3939          Recurse          Recurse
         Ket  
3940          b          b
3941          Ket          Ket
3942          Ket          Ket
# Line 4061  No options Line 3965  No options
3965  First char = 'a'  First char = 'a'
3966  Need char = 'b'  Need char = 'b'
3967    
 /^\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  
   
3968  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3969  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3970  Options: anchored  Options: anchored
3971  No first char  No first char
3972  No need char  No need char
# Line 4138  No match Line 4007  No match
4007    
4008  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4009  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
 Contains explicit CR or LF match  
4010  Options: extended  Options: extended
4011  First char = '<'  First char = '<'
4012  Need char = '>'  Need char = '>'
# Line 4290  Need char = 'a' Line 4157  Need char = 'a'
4157          Any          Any
4158          \1          \1
4159          bbb          bbb
         Once  
4160          Recurse          Recurse
         Ket  
4161          d          d
4162          Ket          Ket
4163          End          End
# Line 4313  Named capturing subpatterns: Line 4178  Named capturing subpatterns:
4178    one     1    one     1
4179    three   3    three   3
4180    two     2    two     2
4181  Partial matching not supported  May match empty string
4182  Options: anchored caseless  Options: anchored caseless
4183  No first char  No first char
4184  No need char  No need char
# Line 4359  No need char Line 4224  No need char
4224    
4225  /(.*)a/Is  /(.*)a/Is
4226  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4227  Options: anchored dotall  Options: anchored dotall
4228  No first char  No first char
4229  Need char = 'a'  Need char = 'a'
# Line 4367  Need char = 'a' Line 4231  Need char = 'a'
4231  /(.*)a\1/Is  /(.*)a\1/Is
4232  Capturing subpattern count = 1  Capturing subpattern count = 1
4233  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4234  Options: dotall  Options: dotall
4235  No first char  No first char
4236  Need char = 'a'  Need char = 'a'
# Line 4375  Need char = 'a' Line 4238  Need char = 'a'
4238  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4239  Capturing subpattern count = 2  Capturing subpattern count = 2
4240  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4241  Options: anchored dotall  Options: anchored dotall
4242  No first char  No first char
4243  Need char = 'b'  Need char = 'b'
4244    
4245  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4246  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4247  Options: anchored dotall  Options: anchored dotall
4248  No first char  No first char
4249  Need char = 'z'  Need char = 'z'
# Line 4390  Need char = 'z' Line 4251  Need char = 'z'
4251  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4252  Capturing subpattern count = 3  Capturing subpattern count = 3
4253  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4254  Options: dotall  Options: dotall
4255  No first char  No first char
4256  Need char = 'z'  Need char = 'z'
# Line 4398  Need char = 'z' Line 4258  Need char = 'z'
4258  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4259  Capturing subpattern count = 3  Capturing subpattern count = 3
4260  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4261  Options: dotall  Options: dotall
4262  No first char  No first char
4263  Need char = 'z'  Need char = 'z'
# Line 4406  Need char = 'z' Line 4265  Need char = 'z'
4265  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4266  Capturing subpattern count = 3  Capturing subpattern count = 3
4267  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4268  Options: dotall  Options: dotall
4269  No first char  No first char
4270  Need char = 'z'  Need char = 'z'
# Line 4414  Need char = 'z' Line 4272  Need char = 'z'
4272  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4273  Capturing subpattern count = 3  Capturing subpattern count = 3
4274  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4275  Options: anchored dotall  Options: anchored dotall
4276  No first char  No first char
4277  Need char = 'z'  Need char = 'z'
4278    
4279  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4280  Capturing subpattern count = 31  Capturing subpattern count = 31
4281  Partial matching not supported  May match empty string
4282  Options: anchored dotall  Options: anchored dotall
4283  No first char  No first char
4284  No need char  No need char
# Line 4429  No need char Line 4286  No need char
4286  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4287  Capturing subpattern count = 31  Capturing subpattern count = 31
4288  Max back reference = 31  Max back reference = 31
4289  Partial matching not supported  May match empty string
4290  Options: dotall  Options: dotall
4291  No first char  No first char
4292  No need char  No need char
# Line 4437  No need char Line 4294  No need char
4294  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4295  Capturing subpattern count = 32  Capturing subpattern count = 32
4296  Max back reference = 32  Max back reference = 32
4297  Partial matching not supported  May match empty string
4298  Options: dotall  Options: dotall
4299  No first char  No first char
4300  No need char  No need char
# Line 4504  Need char = 'c' Line 4361  Need char = 'c'
4361    
4362  /(a+)*zz/I  /(a+)*zz/I
4363  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4364  No options  No options
4365  No first char  No first char
4366  Need char = 'z'  Need char = 'z'
# Line 4515  Minimum match() recursion limit = 6 Line 4371  Minimum match() recursion limit = 6
4371   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4372    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4373  Minimum match() limit = 32768  Minimum match() limit = 32768
4374  Minimum match() recursion limit = 42  Minimum match() recursion limit = 29
4375  No match  No match
4376    
4377  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4590  Capturing subpattern count = 2 Line 4446  Capturing subpattern count = 2
4446  Named capturing subpatterns:  Named capturing subpatterns:
4447    Tes    1    Tes    1
4448    Test   2    Test   2
4449    May match empty string
4450  No options  No options
4451  No first char  No first char
4452  No need char  No need char
# Line 4608  Capturing subpattern count = 2 Line 4465  Capturing subpattern count = 2
4465  Named capturing subpatterns:  Named capturing subpatterns:
4466    Tes    2    Tes    2
4467    Test   1    Test   1
4468    May match empty string
4469  No options  No options
4470  No first char  No first char
4471  No need char  No need char
# Line 4641  Failed: two named subpatterns have the s Line 4499  Failed: two named subpatterns have the s
4499  Capturing subpattern count = 3  Capturing subpattern count = 3
4500  Named capturing subpatterns:  Named capturing subpatterns:
4501    elem   2    elem   2
 Partial matching not supported  
4502  No options  No options
4503  First char = '['  First char = '['
4504  Need char = ']'  Need char = ']'
# Line 4659  No match Line 4516  No match
4516  Capturing subpattern count = 3  Capturing subpattern count = 3
4517  Named capturing subpatterns:  Named capturing subpatterns:
4518    elem   2    elem   2
 Partial matching not supported  
4519  No options  No options
4520  First char = '['  First char = '['
4521  Need char = ']'  Need char = ']'
# Line 4679  Need char = ']' Line 4535  Need char = ']'
4535          a          a
4536          CBra 2          CBra 2
4537          b          b
         Once  
4538          Recurse          Recurse
         Ket  
4539          c          c
4540          Ket          Ket
4541          Ket          Ket
# Line 4689  Need char = ']' Line 4543  Need char = ']'
4543          End          End
4544  ------------------------------------------------------------------  ------------------------------------------------------------------
4545  Capturing subpattern count = 2  Capturing subpattern count = 2
4546    May match empty string
4547  No options  No options
4548  No first char  No first char
4549  No need char  No need char
# Line 4701  No need char Line 4556  No need char
4556          a          a
4557          CBra 2          CBra 2
4558          b          b
         Once  
4559          Recurse          Recurse
         Ket  
4560          c          c
4561          Ket          Ket
4562          KetRmax          KetRmax
# Line 4711  No need char Line 4564  No need char
4564          End          End
4565  ------------------------------------------------------------------  ------------------------------------------------------------------
4566  Capturing subpattern count = 2  Capturing subpattern count = 2
4567    May match empty string
4568  No options  No options
4569  No first char  No first char
4570  No need char  No need char
# Line 4724  No need char Line 4578  No need char
4578          a          a
4579          CBra 2          CBra 2
4580          b          b
         Once  
4581          Recurse          Recurse
         Ket  
4582          c          c
4583          Ket          Ket
4584          Ket          Ket
# Line 4735  No need char Line 4587  No need char
4587          a          a
4588          CBra 2          CBra 2
4589          b          b
         Once  
4590          Recurse          Recurse
         Ket  
4591          c          c
4592          Ket          Ket
4593          Ket          Ket
# Line 4746  No need char Line 4596  No need char
4596          End          End
4597  ------------------------------------------------------------------  ------------------------------------------------------------------
4598  Capturing subpattern count = 2  Capturing subpattern count = 2
4599    May match empty string
4600  No options  No options
4601  No first char  No first char
4602  No need char  No need char
# Line 4766  No need char Line 4617  No need char
4617    
4618  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4619  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4620  Options: caseless  Options: caseless
4621  No first char  No first char
4622  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4776  Need char = 'g' (caseless) Line 4626  Need char = 'g' (caseless)
4626    
4627  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4628  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4629  Options: caseless  Options: caseless
4630  No first char  No first char
4631  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4632  Study returned NULL  Subject length lower bound = 8
4633    No set of starting bytes
4634       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4635   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4636   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4795  Study returned NULL Line 4645  Study returned NULL
4645          End          End
4646  ------------------------------------------------------------------  ------------------------------------------------------------------
4647  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4648  No options  No options
4649  No first char  No first char
4650  Need char = 'b'  Need char = 'b'
4651  Study returned NULL  Subject length lower bound = 1
4652    No set of starting bytes
4653    
4654  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4655  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4819  Capturing subpattern count = 1 Line 4669  Capturing subpattern count = 1
4669  No options  No options
4670  No first char  No first char
4671  Need char = 'c'  Need char = 'c'
4672  Study returned NULL  Subject length lower bound = 1
4673    No set of starting bytes
4674    
4675  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4676  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4876  Need char = 'e' Line 4727  Need char = 'e'
4727   +4 ^   ^      e   +4 ^   ^      e
4728  No match  No match
4729    
4730  /a*b/ICDZ  /a*b/ICDZS
4731  ------------------------------------------------------------------  ------------------------------------------------------------------
4732          Bra          Bra
4733          Callout 255 0 2          Callout 255 0 2
# Line 4888  No match Line 4739  No match
4739          End          End
4740  ------------------------------------------------------------------  ------------------------------------------------------------------
4741  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4742  Options:  Options:
4743  No first char  No first char
4744  Need char = 'b'  Need char = 'b'
4745    Subject length lower bound = 1
4746    Starting byte set: a b
4747    ab    ab
4748  --->ab  --->ab
4749   +0 ^      a*   +0 ^      a*
# Line 4914  Need char = 'b' Line 4766  Need char = 'b'
4766   +2   ^ ^      b   +2   ^ ^      b
4767   +0    ^       a*   +0    ^       a*
4768   +2    ^^      b   +2    ^^      b
  +0     ^      a*  
  +2     ^      b  
4769   +0      ^     a*   +0      ^     a*
4770   +2      ^     b   +2      ^     b
4771   +3      ^^   +3      ^^
4772   0: b   0: b
4773    
4774  /a+b/ICDZ  /a*b/ICDZSS
4775  ------------------------------------------------------------------  ------------------------------------------------------------------
4776          Bra          Bra
4777          Callout 255 0 2          Callout 255 0 2
4778          a++          a*+
4779          Callout 255 2 1          Callout 255 2 1
4780          b          b
4781          Callout 255 3 0          Callout 255 3 0
# Line 4933  Need char = 'b' Line 4783  Need char = 'b'
4783          End          End
4784  ------------------------------------------------------------------  ------------------------------------------------------------------
4785  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4786  Options:  Options:
4787  First char = 'a'  No first char
4788  Need char = 'b'  Need char = 'b'
4789    ab    ab
4790  --->ab  --->ab
4791   +0 ^      a+   +0 ^      a*
4792   +2 ^^     b   +2 ^^     b
4793   +3 ^ ^   +3 ^ ^
4794   0: ab   0: ab
4795    aaaab    aaaab
4796  --->aaaab  --->aaaab
4797   +0 ^         a+   +0 ^         a*
4798   +2 ^   ^     b   +2 ^   ^     b
4799   +3 ^    ^   +3 ^    ^
4800   0: aaaab   0: aaaab
4801    aaaacb    aaaacb
4802  --->aaaacb  --->aaaacb
4803   +0 ^          a+   +0 ^          a*
4804   +2 ^   ^      b   +2 ^   ^      b
4805   +0  ^         a+   +0  ^         a*
4806   +2  ^  ^      b   +2  ^  ^      b
4807   +0   ^        a+   +0   ^        a*
4808   +2   ^ ^      b   +2   ^ ^      b
4809   +0    ^       a+   +0    ^       a*
4810   +2    ^^      b   +2    ^^      b
4811  No match   +0     ^      a*
4812     +2     ^      b
4813     +0      ^     a*
4814     +2      ^     b
4815     +3      ^^
4816     0: b
4817    
4818  /(abc|def)x/ICDZ  /a+b/ICDZ
4819    ------------------------------------------------------------------
4820            Bra
4821            Callout 255 0 2
4822            a++
4823            Callout 255 2 1
4824            b
4825            Callout 255 3 0
4826            Ket
4827            End
4828    ------------------------------------------------------------------
4829    Capturing subpattern count = 0
4830    Options:
4831    First char = 'a'
4832    Need char = 'b'
4833      ab
4834    --->ab
4835     +0 ^      a+
4836     +2 ^^     b
4837     +3 ^ ^
4838     0: ab
4839      aaaab
4840    --->aaaab
4841     +0 ^         a+
4842     +2 ^   ^     b
4843     +3 ^    ^
4844     0: aaaab
4845      aaaacb
4846    --->aaaacb
4847     +0 ^          a+
4848     +2 ^   ^      b
4849     +0  ^         a+
4850     +2  ^  ^      b
4851     +0   ^        a+
4852     +2   ^ ^      b
4853     +0    ^       a+
4854     +2    ^^      b
4855    No match
4856    
4857    /(abc|def)x/ICDZS
4858    ------------------------------------------------------------------
4859            Bra
4860            Callout 255 0 9
4861            CBra 1
4862            Callout 255 1 1
4863            a
4864            Callout 255 2 1
4865            b
4866            Callout 255 3 1
4867            c
4868            Callout 255 4 0
4869            Alt
4870            Callout 255 5 1
4871            d
4872            Callout 255 6 1
4873            e
4874            Callout 255 7 1
4875            f
4876            Callout 255 8 0
4877            Ket
4878            Callout 255 9 1
4879            x
4880            Callout 255 10 0
4881            Ket
4882            End
4883    ------------------------------------------------------------------
4884    Capturing subpattern count = 1
4885    Options:
4886    No first char
4887    Need char = 'x'
4888    Subject length lower bound = 4
4889    Starting byte set: a d
4890      abcx
4891    --->abcx
4892     +0 ^        (abc|def)
4893     +1 ^        a
4894     +2 ^^       b
4895     +3 ^ ^      c
4896     +4 ^  ^     |
4897     +9 ^  ^     x
4898    +10 ^   ^
4899     0: abcx
4900     1: abc
4901      defx
4902    --->defx
4903     +0 ^        (abc|def)
4904     +1 ^        a
4905     +5 ^        d
4906     +6 ^^       e
4907     +7 ^ ^      f
4908     +8 ^  ^     )
4909     +9 ^  ^     x
4910    +10 ^   ^
4911     0: defx
4912     1: def
4913      ** Failers
4914    No match
4915      abcdefzx
4916    --->abcdefzx
4917     +0 ^            (abc|def)
4918     +1 ^            a
4919     +2 ^^           b
4920     +3 ^ ^          c
4921     +4 ^  ^         |
4922     +9 ^  ^         x
4923     +5 ^            d
4924     +0    ^         (abc|def)
4925     +1    ^         a
4926     +5    ^         d
4927     +6    ^^        e
4928     +7    ^ ^       f
4929     +8    ^  ^      )
4930     +9    ^  ^      x
4931    No match
4932    
4933    /(abc|def)x/ICDZSS
4934  ------------------------------------------------------------------  ------------------------------------------------------------------
4935          Bra          Bra
4936          Callout 255 0 9          Callout 255 0 9
# Line 5015  Need char = 'x' Line 4984  Need char = 'x'
4984  +10 ^   ^  +10 ^   ^
4985   0: defx   0: defx
4986   1: def   1: def
4987      ** Failers
4988    No match
4989    abcdefzx    abcdefzx
4990  --->abcdefzx  --->abcdefzx
4991   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 5115  No need char Line 5086  No need char
5086   0: abcdcdcd   0: abcdcdcd
5087   1: cd   1: cd
5088    
5089  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZS
5090    ------------------------------------------------------------------
5091            Bra
5092            Callout 255 0 14
5093            CBra 1
5094            Callout 255 1 4
5095            [ab]
5096            Callout 255 5 1
5097            {
5098            Callout 255 6 1
5099            ,
5100            Callout 255 7 1
5101            4
5102            Callout 255 8 1
5103            }
5104            Callout 255 9 1
5105            c
5106            Callout 255 10 0
5107            Alt
5108            Callout 255 11 1
5109            x
5110            Callout 255 12 1
5111            y
5112            Callout 255 13 0
5113            Ket
5114            Callout 255 14 0
5115            Ket
5116            End
5117    ------------------------------------------------------------------
5118    Capturing subpattern count = 1
5119    Options:
5120    No first char
5121    No need char
5122    Subject length lower bound = 2
5123    Starting byte set: a b x
5124        Note: that { does NOT introduce a quantifier
5125    --->Note: that { does NOT introduce a quantifier
5126     +0         ^                                        ([ab]{,4}c|xy)
5127     +1         ^                                        [ab]
5128     +5         ^^                                       {
5129    +11         ^                                        x
5130     +0                                 ^                ([ab]{,4}c|xy)
5131     +1                                 ^                [ab]
5132     +5                                 ^^               {
5133    +11                                 ^                x
5134     +0                                     ^            ([ab]{,4}c|xy)
5135     +1                                     ^            [ab]
5136     +5                                     ^^           {
5137    +11                                     ^            x
5138    No match
5139    
5140    /([ab]{,4}c|xy)/ICDZSS
5141  ------------------------------------------------------------------  ------------------------------------------------------------------
5142          Bra          Bra
5143          Callout 255 0 14          Callout 255 0 14
# Line 5371  No match Line 5393  No match
5393          End          End
5394  ------------------------------------------------------------------  ------------------------------------------------------------------
5395  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5396  Options:  Options:
5397  No first char  No first char
5398  Need char = '3'  Need char = '3'
# Line 5403  Need char = '3' Line 5424  Need char = '3'
5424    
5425  /\b.*/I  /\b.*/I
5426  Capturing subpattern count = 0  Capturing subpattern count = 0
5427  Partial matching not supported  Max lookbehind = 1
5428    May match empty string
5429  No options  No options
5430  No first char  No first char
5431  No need char  No need char
# Line 5412  No need char Line 5434  No need char
5434    
5435  /\b.*/Is  /\b.*/Is
5436  Capturing subpattern count = 0  Capturing subpattern count = 0
5437  Partial matching not supported  Max lookbehind = 1
5438    May match empty string
5439  Options: dotall  Options: dotall
5440  No first char  No first char
5441  No need char  No need char
# Line 5421  No need char Line 5444  No need char
5444    
5445  /(?!.bcd).*/I  /(?!.bcd).*/I
5446  Capturing subpattern count = 0  Capturing subpattern count = 0
5447  Partial matching not supported  May match empty string
5448  No options  No options
5449  No first char  No first char
5450  No need char  No need char
# Line 5434  No options Line 5457  No options
5457  First char = 'a'  First char = 'a'
5458  Need char = 'e'  Need char = 'e'
5459      ab\P      ab\P
5460  Partial match  Partial match: ab
5461      abc\P      abc\P
5462  Partial match  Partial match: abc
5463      abcd\P      abcd\P
5464  Partial match  Partial match: abcd
5465      abcde\P      abcde\P
5466   0: abcde   0: abcde
5467      the quick brown abc\P      the quick brown abc\P
5468  Partial match  Partial match: abc
5469      ** Failers\P      ** Failers\P
5470  No match  No match
5471      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5467  Need char = '/' Line 5490  Need char = '/'
5490   1: 02   1: 02
5491   2: 05   2: 05
5492      1\P      1\P
5493  Partial match  Partial match: 1
5494      1/2\P      1/2\P
5495  Partial match  Partial match: 1/2
5496      1/2/0\P      1/2/0\P
5497  Partial match  Partial match: 1/2/0
5498      1/2/04\P      1/2/04\P
5499   0: 1/2/04   0: 1/2/04
5500   1: 1   1: 1
5501   2: 2   2: 2
5502      0\P      0\P
5503  Partial match  Partial match: 0
5504      02/\P      02/\P
5505  Partial match  Partial match: 02/
5506      02/0\P      02/0\P
5507  Partial match  Partial match: 02/0
5508      02/1\P      02/1\P
5509  Partial match  Partial match: 02/1
5510      ** Failers\P      ** Failers\P
5511  No match  No match
5512      \P      \P
# Line 5505  No match Line 5528  No match
5528    
5529  /0{0,2}ABC/I  /0{0,2}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{3,}ABC/I  /\d{3,}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  /\d*ABC/I  /\d*ABC/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 = 'C'  Need char = 'C'
5546    
5547  /[abc]+DE/I  /[abc]+DE/I
5548  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5549  No options  No options
5550  No first char  No first char
5551  Need char = 'E'  Need char = 'E'
# Line 5539  Need char = '3' Line 5558  Need char = '3'
5558      123\P      123\P
5559   0: 123   0: 123
5560      a\P      a\P
5561  Partial match  Partial match: a
5562      b\P      b\P
5563  Partial match  Partial match: b
5564      c\P      c\P
5565  Partial match  Partial match: c
5566      c12\P      c12\P
5567  Partial match  Partial match: c12
5568      c123\P      c123\P
5569   0: c123   0: c123
5570    
# Line 5555  Options: anchored Line 5574  Options: anchored
5574  No first char  No first char
5575  Need char = 'X'  Need char = 'X'
5576      1\P      1\P
5577  Partial match  Partial match: 1
5578      123\P      123\P
5579  Partial match  Partial match: 123
5580      123X      123X
5581   0: 123X   0: 123X
5582      1234\P      1234\P
5583  Partial match  Partial match: 1234
5584      1234X      1234X
5585   0: 1234X   0: 1234X
5586      12345\P      12345\P
5587  Partial match  Partial match: 12345
5588      12345X      12345X
5589   0: 12345X   0: 12345X
5590      *** Failers      *** Failers
# Line 5575  No match Line 5594  No match
5594      123456\P      123456\P
5595  No match  No match
5596    
5597  /abc/I>testsavedregex  /abc/IS>testsavedregex
5598    Capturing subpattern count = 0
5599    No options
5600    First char = 'a'
5601    Need char = 'c'
5602    Subject length lower bound = 3
5603    No set of starting bytes
5604    Compiled pattern written to testsavedregex
5605    Study data written to testsavedregex
5606    <testsavedregex
5607    Compiled pattern loaded from testsavedregex
5608    Study data loaded from testsavedregex
5609        abc
5610     0: abc
5611        ** Failers
5612    No match
5613        bca
5614    No match
5615    
5616    /abc/ISS>testsavedregex
5617  Capturing subpattern count = 0  Capturing subpattern count = 0
5618  No options  No options
5619  First char = 'a'  First char = 'a'
5620  Need char = 'c'  Need char = 'c'
5621  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5622  <testsavedregex  <testsavedregex
5623  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5624  No study data  No study data
5625      abc      abc
5626   0: abc   0: abc
# Line 5591  No match Line 5629  No match
5629      bca      bca
5630  No match  No match
5631    
5632  /abc/IF>testsavedregex  /abc/IFS>testsavedregex
5633    Capturing subpattern count = 0
5634    No options
5635    First char = 'a'
5636    Need char = 'c'
5637    Subject length lower bound = 3
5638    No set of starting bytes
5639    Compiled pattern written to testsavedregex
5640    Study data written to testsavedregex
5641    <testsavedregex
5642    Compiled pattern (byte-inverted) loaded from testsavedregex
5643    Study data loaded from testsavedregex
5644        abc
5645     0: abc
5646        ** Failers
5647    No match
5648        bca
5649    No match
5650    
5651    /abc/IFSS>testsavedregex
5652  Capturing subpattern count = 0  Capturing subpattern count = 0
5653  No options  No options
5654  First char = 'a'  First char = 'a'
5655  Need char = 'c'  Need char = 'c'
5656  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5657  <testsavedregex  <testsavedregex
5658  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5659  No study data  No study data
5660      abc      abc
5661   0: abc   0: abc
# Line 5612  Capturing subpattern count = 1 Line 5669  Capturing subpattern count = 1
5669  No options  No options
5670  No first char  No first char
5671  No need char  No need char
5672    Subject length lower bound = 1
5673  Starting byte set: a b  Starting byte set: a b
5674  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5675  Study data written to testsavedregex  Study data written to testsavedregex
5676  <testsavedregex  <testsavedregex
5677  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5678  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5679      abc      abc
5680   0: a   0: a
# Line 5627  Study data loaded from testsavedregex Line 5685  Study data loaded from testsavedregex
5685      def      def
5686  No match  No match
5687    
5688    /(a|b)/ISS>testsavedregex
5689    Capturing subpattern count = 1
5690    No options
5691    No first char
5692    No need char
5693    Compiled pattern written to testsavedregex
5694    <testsavedregex
5695    Compiled pattern loaded from testsavedregex
5696    No study data
5697        abc
5698     0: a
5699     1: a
5700        ** Failers
5701     0: a
5702     1: a
5703        def
5704    No match
5705    
5706  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5707  Capturing subpattern count = 1  Capturing subpattern count = 1
5708  No options  No options
5709  No first char  No first char
5710  No need char  No need char
5711    Subject length lower bound = 1
5712  Starting byte set: a b  Starting byte set: a b
5713  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5714  Study data written to testsavedregex  Study data written to testsavedregex
5715  <testsavedregex  <testsavedregex
5716  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5717  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5718      abc      abc
5719   0: a   0: a
# Line 5647  Study data loaded from testsavedregex Line 5724  Study data loaded from testsavedregex
5724      def      def
5725  No match  No match
5726    
5727    /(a|b)/ISSF>testsavedregex
5728    Capturing subpattern count = 1
5729    No options
5730    No first char
5731    No need char
5732    Compiled pattern written to testsavedregex
5733    <testsavedregex
5734    Compiled pattern (byte-inverted) loaded from testsavedregex
5735    No study data
5736        abc
5737     0: a
5738     1: a
5739        ** Failers
5740     0: a
5741     1: a
5742        def
5743    No match
5744    
5745  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5746  Capturing subpattern count = 3  Capturing subpattern count = 3
5747  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5748  Options: multiline dotall  Options: multiline dotall
5749  First char = '<'  First char = '<'
5750  Need char = '>'  Need char = '>'
5751      <!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>
5752   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>
5753   1: seite   1: seite
5754   2: \x0a   2: \x0a
# Line 5703  No match Line 5797  No match
5797      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5798  No match  No match
5799    
 /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  
   
5800  /(?i)(?-i)AbCd/I  /(?i)(?-i)AbCd/I
5801  Capturing subpattern count = 0  Capturing subpattern count = 0
5802  No options  No options
# Line 5957  Matched, but too many substrings Line 6033  Matched, but too many substrings
6033    
6034  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6035  Capturing subpattern count = 0  Capturing subpattern count = 0
6036  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6037  No options  No options
6038  No first char  No first char
6039  No need char  No need char
# Line 5971  No need char Line 6046  No need char
6046    
6047  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6048  Capturing subpattern count = 0  Capturing subpattern count = 0
6049  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6050  No options  No options
6051  No first char  No first char
6052  No need char  No need char
# Line 5983  No need char Line 6057  No need char
6057    
6058  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6059  Capturing subpattern count = 0  Capturing subpattern count = 0
6060  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6061  No options  No options
6062  No first char  No first char
6063  No need char  No need char
# Line 5995  No need char Line 6068  No need char
6068    
6069  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6070  Capturing subpattern count = 0  Capturing subpattern count = 0
6071  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6072  No options  No options
6073  No first char  No first char
6074  No need char  No need char
# Line 6009  No need char Line 6081  No need char
6081    
6082  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6083  Capturing subpattern count = 0  Capturing subpattern count = 0
6084  Partial matching not supported  May match empty string
 Contains explicit CR or LF match  
6085  No options  No options
6086  No first char  No first char
6087  No need char  No need char
# Line 6023  No need char Line 6094  No need char
6094      ((this))      ((this))
6095   0: ((this))   0: ((this))
6096    
 /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  
   
6097  /\x{0000ff}/I  /\x{0000ff}/I
6098  Capturing subpattern count = 0  Capturing subpattern count = 0
6099  No options  No options
6100  First char = 255  First char = \xff
6101  No need char  No need char
6102    
6103  /^((?P<A>a1)|(?P<A>a2)b)/I  /^((?P<A>a1)|(?P<A>a2)b)/I
# Line 6071  no parentheses with name "Z" Line 6131  no parentheses with name "Z"
6131   2: a1   2: a1
6132  copy substring Z failed -7  copy substring Z failed -7
6133    C a1 (2) A    C a1 (2) A
6134    
6135    /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
6136    Capturing subpattern count = 3
6137    Named capturing subpatterns:
6138      a   1
6139      a   3
6140      b   2
6141    May match empty string
6142    Options: dupnames
6143    No first char
6144    No need char
6145    
6146  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6147  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 6147  no parentheses with name "Z" Line 6218  no parentheses with name "Z"
6218   0: a1   0: a1
6219   1: a1   1: a1
6220   2: a1   2: a1
6221  copy substring Z failed -7  get substring Z failed -7
6222    G a1 (2) A    G a1 (2) A
6223    
6224  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
# Line 6179  No need char Line 6250  No need char
6250    G a (1) A    G a (1) A
6251      cd\GA      cd\GA
6252   0: cd   0: cd
6253  copy substring A failed -7  get substring A failed -7
6254    
6255  /^(?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
6256  Capturing subpattern count = 4  Capturing subpattern count = 4
# Line 6205  Named capturing subpatterns: Line 6276  Named capturing subpatterns:
6276    A   2    A   2
6277    A   3    A   3
6278  Options: anchored dupnames  Options: anchored dupnames
6279    Duplicate name status changes
6280  No first char  No first char
6281  No need char  No need char
6282      a1b\CA      a1b\CA
# Line 6346  No need char Line 6418  No need char
6418   9:   9:
6419  10: Y  10: Y
6420    
 /\777/I  
 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3  
   
6421  /\s*,\s*/IS  /\s*,\s*/IS
6422  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6423  No options  No options
6424  No first char  No first char
6425  Need char = ','  Need char = ','
6426    Subject length lower bound = 1
6427  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6428      \x0b,\x0b      \x0b,\x0b
6429   0: ,   0: ,
# Line 6481  Unknown newline type at: <bad> Line 6550  Unknown newline type at: <bad>
6550    
6551  /.*/I<lf>  /.*/I<lf>
6552  Capturing subpattern count = 0  Capturing subpattern count = 0
6553  Partial matching not supported  May match empty string
6554  Options:  Options:
6555  Forced newline sequence: LF  Forced newline sequence: LF
6556  First char at start or follows newline  First char at start or follows newline
# Line 6507  No need char Line 6576  No need char
6576    
6577  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6578  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6579  Options: dotall  Options: dotall
6580  No first char  No first char
6581  Need char = 'f'  Need char = 'f'
# Line 6524  Need char = 'f' Line 6592  Need char = 'f'
6592    
6593  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6594  Capturing subpattern count = 1  Capturing subpattern count = 1
6595  Partial matching not supported  May match empty string
6596  No options  No options
6597  No first char  No first char
6598  No need char  No need char
# Line 6659  No need char Line 6727  No need char
6727    
6728  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6729  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6730  No options  No options
6731  No first char  No first char
6732  No need char  No need char
6733    Subject length lower bound = 1
6734  Starting byte set: C a b c d  Starting byte set: C a b c d
6735    
6736  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6670  Capturing subpattern count = 1 Line 6738  Capturing subpattern count = 1
6738  No options  No options
6739  No first char  No first char
6740  Need char = 'z'  Need char = 'z'
6741    Subject length lower bound = 4
6742  Starting byte set: a b  Starting byte set: a b
6743    
6744  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6677  Capturing subpattern count = 1 Line 6746  Capturing subpattern count = 1
6746  No options  No options
6747  No first char  No first char
6748  Need char = 'z'  Need char = 'z'
6749    Subject length lower bound = 4
6750  Starting byte set: a b  Starting byte set: a b
6751    
6752  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6684  Capturing subpattern count = 1 Line 6754  Capturing subpattern count = 1
6754  No options  No options
6755  No first char  No first char
6756  Need char = 'z'  Need char = 'z'
6757    Subject length lower bound = 4
6758  Starting byte set: a b c  Starting byte set: a b c
6759    
6760  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6691  Capturing subpattern count = 1 Line 6762  Capturing subpattern count = 1
6762  No options  No options
6763  No first char  No first char
6764  Need char = 'z'  Need char = 'z'
6765    Subject length lower bound = 4
6766  Starting byte set: a b c  Starting byte set: a b c
6767    
6768  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6698  Capturing subpattern count = 1 Line 6770  Capturing subpattern count = 1
6770  No options  No options
6771  No first char  No first char
6772  Need char = 'z'  Need char = 'z'
6773    Subject length lower bound = 4
6774  Starting byte set: a b c d  Starting byte set: a b c d
6775    
6776  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6705  Capturing subpattern count = 1 Line 6778  Capturing subpattern count = 1
6778  No options  No options
6779  No first char  No first char
6780  Need char = 'z'  Need char = 'z'
6781    Subject length lower bound = 4
6782  Starting byte set: a b c d  Starting byte set: a b c d
6783    
6784  /^a*b\d/DZ  /^a*b\d/DZ
# Line 6718  Starting byte set: a b c d Line 6792  Starting byte set: a b c d
6792          End          End
6793  ------------------------------------------------------------------  ------------------------------------------------------------------
6794  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6795  Options: anchored  Options: anchored
6796  No first char  No first char
6797  Need char = 'b'  Need char = 'b'
# Line 6734  Need char = 'b' Line 6807  Need char = 'b'
6807          End          End
6808  ------------------------------------------------------------------  ------------------------------------------------------------------
6809  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6810  Options: anchored  Options: anchored
6811  No first char  No first char
6812  Need char = 'b'  Need char = 'b'
# Line 6750  Need char = 'b' Line 6822  Need char = 'b'
6822          End          End
6823  ------------------------------------------------------------------  ------------------------------------------------------------------
6824  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6825  Options: anchored  Options: anchored
6826  No first char  No first char
6827  Need char = 'b'  Need char = 'b'
# Line 6766  Need char = 'b' Line 6837  Need char = 'b'
6837          End          End
6838  ------------------------------------------------------------------  ------------------------------------------------------------------
6839  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6840  Options: anchored  Options: anchored
6841  No first char  No first char
6842  Need char = 'A'  Need char = 'A'
# Line 6781  No match Line 6851  No match
6851  ------------------------------------------------------------------  ------------------------------------------------------------------
6852          Bra          Bra
6853          ^          ^
6854          a*       /i a*
6855       NC A       /i A
6856          \d          \d
6857          Ket          Ket
6858          End          End
6859  ------------------------------------------------------------------  ------------------------------------------------------------------
6860  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6861  Options: anchored caseless  Options: anchored caseless
6862  No first char  No first char
6863  Need char = 'A' (caseless)  Need char = 'A' (caseless)
# Line 6799  Need char = 'A' (caseless) Line 6868  Need char = 'A' (caseless)
6868    
6869  /(a*|b*)[cd]/IS  /(a*|b*)[cd]/IS
6870  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6871  No options  No options
6872  No first char  No first char
6873  No need char  No need char
6874    Subject length lower bound = 1
6875  Starting byte set: a b c d  Starting byte set: a b c d
6876    
6877  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6878  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6879  No options  No options
6880  No first char  No first char
6881  No need char  No need char
6882    Subject length lower bound = 1
6883  Starting byte set: a b c d  Starting byte set: a b c d
6884    
6885  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6886  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6887  No options  No options
6888  No first char  No first char
6889  No need char  No need char
6890    Subject length lower bound = 1
6891  Starting byte set: a b c d  Starting byte set: a b c d
6892    
6893  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6894  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6895  No options  No options
6896  No first char  No first char
6897  No need char  No need char
6898    Subject length lower bound = 2
6899  Starting byte set: a b  Starting byte set: a b
6900    
6901  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7411  Matched, but too many substrings Line 7480  Matched, but too many substrings
7480  /[^a]+a/BZi  /[^a]+a/BZi
7481  ------------------------------------------------------------------  ------------------------------------------------------------------
7482          Bra          Bra
7483          [^A]++       /i [^a]++
7484       NC a       /i a
7485          Ket          Ket
7486          End          End
7487  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7420  Matched, but too many substrings Line 7489  Matched, but too many substrings
7489  /[^a]+A/BZi  /[^a]+A/BZi
7490  ------------------------------------------------------------------  ------------------------------------------------------------------
7491          Bra          Bra
7492          [^A]++       /i [^a]++
7493       NC A       /i A
7494          Ket          Ket
7495          End          End
7496  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7616  No match Line 7685  No match
7685  ------------------------------------------------------------------  ------------------------------------------------------------------
7686          Bra          Bra
7687          ^          ^
         Once  
7688          Recurse          Recurse
         Ket  
7689          [()]          [()]
7690          CBra 1          CBra 1
7691          Ket          Ket
# Line 7632  No match Line 7699  No match
7699          ^          ^
7700          CBra 1          CBra 1
7701          Cond          Cond
7702        2 Cond ref        2 Cond nref
7703          y          y
7704          Ket          Ket
7705          [()]          [()]
# Line 7652  No match Line 7719  No match
7719  ------------------------------------------------------------------  ------------------------------------------------------------------
7720          Bra          Bra
7721          ^          ^
         Once  
7722          Recurse          Recurse
         Ket  
7723          ()          ()
7724          CBra 1          CBra 1
7725          Ket          Ket
# Line 7666  No match Line 7731  No match
7731  ------------------------------------------------------------------  ------------------------------------------------------------------
7732          Bra          Bra
7733          ^          ^
         Once  
7734          Recurse          Recurse
         Ket  
7735          [(\]a]          [(\]a]
7736          CBra 1          CBra 1
7737          Ket          Ket
# Line 7681  No match Line 7744  No match
7744  ------------------------------------------------------------------  ------------------------------------------------------------------
7745          Bra          Bra
7746          ^          ^
         Once  
7747          Recurse          Recurse
         Ket  
7748          CBra 1          CBra 1
7749          Ket          Ket
7750          Ket          Ket
# Line 7698  Named capturing subpatterns: Line 7759  Named capturing subpatterns:
7759    one     1    one     1
7760    three   3    three   3
7761    two     2    two     2
7762  Partial matching not supported  May match empty string
7763  Options: anchored caseless  Options: anchored caseless
7764  No first char  No first char
7765  No need char  No need char
# Line 7732  No match Line 7793  No match
7793  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7794  Capturing subpattern count = 1  Capturing subpattern count = 1
7795  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
7796  No options  No options
7797  No first char  No first char
7798  Need char = ':'  Need char = ':'
# Line 7745  Capturing subpattern count = 1 Line 7805  Capturing subpattern count = 1
7805  Max back reference = 1  Max back reference = 1
7806  Named capturing subpatterns:  Named capturing subpatterns:
7807    abc   1    abc   1
 Partial matching not supported  
7808  No options  No options
7809  No first char  No first char
7810  Need char = ':'  Need char = ':'
# Line 7753  Need char = ':' Line 7812  Need char = ':'
7812   0: abcd:   0: abcd:
7813   1: abcd   1: abcd
7814    
7815  /(?'abc'\w+):\k<abc>{2}/  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7816      a:aaxyz      adaa
7817   0: a:aa   0: adaa
7818   1: a   1: a
7819      ab:ababxyz   2: d
  0: ab:abab  
  1: ab  
7820      ** Failers      ** Failers
7821  No match  No match
7822      a:axyz      addd
 No match  
     ab:abxyz  
 No match  
   
 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  
     adaa  
  0: adaa  
  1: a  
  2: d  
     ** Failers  
 No match  
     addd  
7823  No match  No match
7824      adbb      adbb
7825  No match  No match
# Line 7793  No match Line 7838  No match
7838      bddd      bddd
7839  No match  No match
7840    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7841  /(?(<bc))/  /(?(<bc))/
7842  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7843    
# Line 7830  Failed: reference to non-existent subpat Line 7868  Failed: reference to non-existent subpat
7868   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7869   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7870    
 /^(?(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>  
   
7871  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7872  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7873    
# Line 7857  Options: extended Line 7877  Options: extended
7877  First char = 'x'  First char = 'x'
7878  Need char = 'z'  Need char = 'z'
7879    
 /(?(DEFINE) abc){3} xyz/x  
 Failed: repeating a DEFINE group is not allowed at offset 17  
   
7880  /(a|)*\d/  /(a|)*\d/
7881    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
7882  No match  No match
# Line 7889  No match Line 7906  No match
7906  No match  No match
7907    
7908  /^abc./mgx<any>  /^abc./mgx<any>
7909      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
7910   0: abc1   0: abc1
7911   0: abc2   0: abc2
7912   0: abc3   0: abc3
# Line 7899  No match Line 7916  No match
7916   0: abc7   0: abc7
7917    
7918  /abc.$/mgx<any>  /abc.$/mgx<any>
7919      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
7920   0: abc1   0: abc1
7921   0: abc2   0: abc2
7922   0: abc3   0: abc3
# Line 7913  No match Line 7930  No match
7930  /a/<any><crlf>  /a/<any><crlf>
7931  Failed: inconsistent NEWLINE options at offset 0  Failed: inconsistent NEWLINE options at offset 0
7932    
7933  /^a\Rb/  /^a\Rb/<bsr_unicode>
7934      a\nb      a\nb
7935   0: a\x0ab   0: a\x0ab
7936      a\rb      a\rb
# Line 7931  No match Line 7948  No match
7948      a\n\rb      a\n\rb
7949  No match  No match
7950    
7951  /^a\R*b/  /^a\R*b/<bsr_unicode>
7952      ab      ab
7953   0: ab   0: ab
7954      a\nb      a\nb
# Line 7951  No match Line 7968  No match
7968      a\n\r\x85\x0cb      a\n\r\x85\x0cb
7969   0: a\x0a\x0d\x85\x0cb   0: a\x0a\x0d\x85\x0cb
7970    
7971  /^a\R+b/  /^a\R+b/<bsr_unicode>
7972      a\nb      a\nb
7973   0: a\x0ab   0: a\x0ab
7974      a\rb      a\rb
# Line 7973  No match Line 7990  No match
7990      ab      ab
7991  No match  No match
7992    
7993  /^a\R{1,3}b/  /^a\R{1,3}b/<bsr_unicode>
7994      a\nb      a\nb
7995   0: a\x0ab   0: a\x0ab
7996      a\n\rb      a\n\rb
# Line 7995  No match Line 8012  No match
8012      a\r      a\r
8013  No match  No match
8014    
8015  /^a[\R]b/  /^a[\R]b/<bsr_unicode>
8016      aRb      aRb
8017   0: aRb   0: aRb
8018      ** Failers      ** Failers
# Line 8025  Need char = 'P' Line 8042  Need char = 'P'
8042   0: PXP   0: PXP
8043   1: P   1: P
8044    
 /(?(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  
   
8045  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
8046      123axbaxbaxbx456      123axbaxbaxbx456
8047   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8102  No match Line 8079  No match
8079     DEFabcABCXYZ     DEFabcABCXYZ
8080  No match  No match
8081    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
  0: ababababbbabZ  
  1: ab  
  2: b  
   
8082  /^(a)\g-2/  /^(a)\g-2/
8083  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8084    
8085  /^(a)\g/  /^(a)\g/
8086  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
8087    
8088  /^(a)\g{0}/  /^(a)\g{0}/
8089  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
8090    
8091  /^(a)\g{3/  /^(a)\g{3/
8092  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
8093    
8094  /^(a)\g{4a}/  /^(a)\g{4a}/
8095  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 8201  No match Line 8172  No match
8172   0+   0+
8173    
8174  /abc.$/mgx<anycrlf>  /abc.$/mgx<anycrlf>
8175      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
8176   0: abc1   0: abc1
8177   0: abc4   0: abc4
8178   0: abc5   0: abc5
# Line 8223  No match Line 8194  No match
8194          Alt          Alt
8195          c          c
8196          Ket          Ket
         Once  
8197          Recurse          Recurse
8198          Ket          Ket
         Ket  
8199          End          End
8200  ------------------------------------------------------------------  ------------------------------------------------------------------
8201      abc      abc
# Line 8237  No match Line 8206  No match
8206  ------------------------------------------------------------------  ------------------------------------------------------------------
8207          Bra          Bra
8208          xy          xy
         Once  
8209          Recurse          Recurse
         Ket  
8210          CBra 1          CBra 1
8211          abc          abc
8212          Ket          Ket
# Line 8255  No match Line 8222  No match
8222  No match  No match
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
8229    
8230  /x(?+0)y/  /x(?+0)y/
8231  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
8232    
8233  /x(?+1)y/  /x(?+1)y/
8234  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 8310  Failed: reference to non-existent subpat
8310  /((?(-2)a))/BZ  /((?(-2)a))/BZ
8311  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8312    
8313  /^(?(+1)X|Y)/BZ  /^(?(+1)X|Y)(.)/BZ
8314  ------------------------------------------------------------------  ------------------------------------------------------------------
8315          Bra          Bra
8316          ^          ^
# Line 8353  Failed: reference to non-existent subpat Line 8320  Failed: reference to non-existent subpat
8320          Alt          Alt
8321          Y          Y
8322          Ket          Ket
8323            CBra 1
8324            Any
8325            Ket
8326          Ket          Ket
8327          End          End
8328  ------------------------------------------------------------------  ------------------------------------------------------------------
8329      Y      Y!
8330   0: Y   0: Y!
8331     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  
8332    
8333  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8334      tom-tom      tom-tom
# Line 8391  No match Line 8342  No match
8342      tom-bon      tom-bon
8343  No match  No match
8344    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
  0: tom-tom  
  1: tom  
     bon-bon  
  0: bon-bon  
  1: bon  
   
8345  /\g{A/  /\g{A/
8346  Failed: syntax error in subpattern name (missing terminator) at offset 4  Failed: syntax error in subpattern name (missing terminator) at offset 4
8347    
# Line 8493  Failed: syntax error in subpattern name Line 8436  Failed: syntax error in subpattern name
8436   3: <unset>   3: <unset>
8437   4: x   4: x
8438    
 /(?|(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  
 ------------------------------------------------------------------  
   
8439  /\H++X/BZ  /\H++X/BZ
8440  ------------------------------------------------------------------  ------------------------------------------------------------------
8441          Bra          Bra
# Line 8820  No match Line 8627  No match
8627  ------------------------------------------------------------------  ------------------------------------------------------------------
8628    
8629  /\( (?: [^()]* | (?R) )* \)/x  /\( (?: [^()]* | (?R) )* \)/x
8630  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
8631   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
8632    
8633  /[\E]AAA/  /[\E]AAA/
# Line 8865  Failed: missing terminating ] for charac Line 8672  Failed: missing terminating ] for charac
8672          End          End
8673  ------------------------------------------------------------------  ------------------------------------------------------------------
8674    
 /^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  
   
8675  /^a+(*FAIL)/C  /^a+(*FAIL)/C
8676      aaaaaa      aaaaaa
8677  --->aaaaaa  --->aaaaaa
# Line 9074  No match Line 8800  No match
8800  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8801  No match  No match
8802    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8803  /a(*MARK)b/  /a(*MARK)b/
8804  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8805    
8806  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8807  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 8809  Failed: number is too big at offset 19
8809  /\g6666666666/  /\g6666666666/
8810  Failed: number is too big at offset 11  Failed: number is too big at offset 11
8811    
8812  /[\g6666666666]/  /[\g6666666666]/BZ
8813  Failed: number is too big at offset 12  ------------------------------------------------------------------
8814            Bra
8815            [6g]
8816            Ket
8817            End
8818    ------------------------------------------------------------------
8819    
8820  /(?1)\c[/  /(?1)\c[/
8821  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
# Line 9110  No match Line 8838  No match
8838   1: \x0a   1: \x0a
8839    
8840  /a(*CR)b/  /a(*CR)b/
8841  Failed: (*VERB) not recognized at offset 5  Failed: (*VERB) not recognized or malformed at offset 5
8842    
8843  /(*CR)a.b/  /(*CR)a.b/
8844      a\nb      a\nb
# Line 9167  No match Line 8895  No match
8895  No match  No match
8896      a\x85b      a\x85b
8897  No match  No match
8898    
8899    /(*ANY).*/g
8900        abc\r\ndef
8901     0: abc
8902     0:
8903     0: def
8904     0:
8905    
8906    /(*ANYCRLF).*/g
8907        abc\r\ndef
8908     0: abc
8909     0:
8910     0: def
8911     0:
8912    
8913    /(*CRLF).*/g
8914        abc\r\ndef
8915     0: abc
8916     0:
8917     0: def
8918     0:
8919    
8920    /a\Rb/I<bsr_anycrlf>
8921    Capturing subpattern count = 0
8922    Options: bsr_anycrlf
8923    First char = 'a'
8924    Need char = 'b'
8925        a\rb
8926     0: a\x0db
8927        a\nb
8928     0: a\x0ab
8929        a\r\nb
8930     0: a\x0d\x0ab
8931        ** Failers
8932    No match
8933        a\x85b
8934    No match
8935        a\x0bb
8936    No match
8937    
8938    /a\Rb/I<bsr_unicode>
8939    Capturing subpattern count = 0
8940    Options: bsr_unicode
8941    First char = 'a'
8942    Need char = 'b'
8943        a\rb
8944     0: a\x0db
8945        a\nb
8946     0: a\x0ab
8947        a\r\nb
8948     0: a\x0d\x0ab
8949        a\x85b
8950     0: a\x85b
8951        a\x0bb
8952     0: a\x0bb
8953        ** Failers
8954    No match
8955        a\x85b\<bsr_anycrlf>
8956    No match
8957        a\x0bb\<bsr_anycrlf>
8958    No match
8959    
8960    /a\R?b/I<bsr_anycrlf>
8961    Capturing subpattern count = 0
8962    Options: bsr_anycrlf
8963    First char = 'a'
8964    Need char = 'b'
8965        a\rb
8966     0: a\x0db
8967        a\nb
8968     0: a\x0ab
8969        a\r\nb
8970     0: a\x0d\x0ab
8971        ** Failers
8972    No match
8973        a\x85b
8974    No match
8975        a\x0bb
8976    No match
8977    
8978    /a\R?b/I<bsr_unicode>
8979    Capturing subpattern count = 0
8980    Options: bsr_unicode
8981    First char = 'a'
8982    Need char = 'b'
8983        a\rb
8984     0: a\x0db
8985        a\nb
8986     0: a\x0ab
8987        a\r\nb
8988     0: a\x0d\x0ab
8989        a\x85b
8990     0: a\x85b
8991        a\x0bb
8992     0: a\x0bb
8993        ** Failers
8994    No match
8995        a\x85b\<bsr_anycrlf>
8996    No match
8997        a\x0bb\<bsr_anycrlf>
8998    No match
8999    
9000    /a\R{2,4}b/I<bsr_anycrlf>
9001    Capturing subpattern count = 0
9002    Options: bsr_anycrlf
9003    First char = 'a'
9004    Need char = 'b'
9005        a\r\n\nb
9006     0: a\x0d\x0a\x0a