/[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 411 by ph10, Fri Apr 10 15:40:21 2009 UTC revision 937 by ph10, Sun Feb 26 15:58:56 2012 UTC
# Line 1  Line 1 
1    /-- This set of tests is not Perl-compatible. It checks on special features
2        of PCRE's API, error diagnostics, and the compiled code of some patterns.
3        It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4        Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5        either because PCRE can't be compatible, or there is a possible Perl
6        bug.
7    
8        NOTE: This is a non-UTF set of tests. When UTF support is needed, use
9        test 5, and if Unicode Property Support is needed, use test 7. --/
10    
11  /(a)b|/I  /(a)b|/I
12  Capturing subpattern count = 1  Capturing subpattern count = 1
13  No options  No options
# Line 40  No match Line 50  No match
50    
51  /a+bc/I  /a+bc/I
52  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
53  No options  No options
54  First char = 'a'  First char = 'a'
55  Need char = 'c'  Need char = 'c'
56    
57  /a*bc/I  /a*bc/I
58  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
59  No options  No options
60  No first char  No first char
61  Need char = 'c'  Need char = 'c'
62    
63  /a{3}bc/I  /a{3}bc/I
64  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
65  No options  No options
66  First char = 'a'  First char = 'a'
67  Need char = 'c'  Need char = 'c'
68    
69  /(abc|a+z)/I  /(abc|a+z)/I
70  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
71  No options  No options
72  First char = 'a'  First char = 'a'
73  No need char  No need char
# Line 96  Failed: missing terminating ] for charac Line 102  Failed: missing terminating ] for charac
102  /(?X)[\B]/  /(?X)[\B]/
103  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
104    
105    /(?X)[\R]/
106    Failed: invalid escape sequence in character class at offset 6
107    
108    /(?X)[\X]/
109    Failed: invalid escape sequence in character class at offset 6
110    
111    /[\B]/BZ
112    ------------------------------------------------------------------
113            Bra
114            B
115            Ket
116            End
117    ------------------------------------------------------------------
118    
119    /[\R]/BZ
120    ------------------------------------------------------------------
121            Bra
122            R
123            Ket
124            End
125    ------------------------------------------------------------------
126    
127    /[\X]/BZ
128    ------------------------------------------------------------------
129            Bra
130            X
131            Ket
132            End
133    ------------------------------------------------------------------
134    
135  /[z-a]/  /[z-a]/
136  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
137    
# Line 113  Failed: unrecognized character after (? Line 149  Failed: unrecognized character after (?
149    
150  /.*b/I  /.*b/I
151  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
152  No options  No options
153  First char at start or follows newline  First char at start or follows newline
154  Need char = 'b'  Need char = 'b'
155    
156  /.*?b/I  /.*?b/I
157  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
158  No options  No options
159  First char at start or follows newline  First char at start or follows newline
160  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 174  Capturing subpattern count = 0
174  No options  No options
175  No first char  No first char
176  No need char  No need char
177    Subject length lower bound = 3
178  Starting byte set: c d e  Starting byte set: c d e
179      this sentence eventually mentions a cat      this sentence eventually mentions a cat
180   0: cat   0: cat
# Line 151  Capturing subpattern count = 0 Line 186  Capturing subpattern count = 0
186  Options: caseless  Options: caseless
187  No first char  No first char
188  No need char  No need char
189    Subject length lower bound = 3
190  Starting byte set: C D E c d e  Starting byte set: C D E c d e
191      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
192   0: CAT   0: CAT
# Line 162  Capturing subpattern count = 0 Line 198  Capturing subpattern count = 0
198  No options  No options
199  No first char  No first char
200  No need char  No need char
201    Subject length lower bound = 1
202  Starting byte set: a b c d  Starting byte set: a b c d
203    
204  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 169  Capturing subpattern count = 1 Line 206  Capturing subpattern count = 1
206  No options  No options
207  No first char  No first char
208  No need char  No need char
209    Subject length lower bound = 1
210  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
211    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
212    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 189  Capturing subpattern count = 1 Line 227  Capturing subpattern count = 1
227  No options  No options
228  No first char  No first char
229  No need char  No need char
230    Subject length lower bound = 1
231  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
232    
233  /(ab\2)/  /(ab\2)/
# Line 324  No need char Line 363  No need char
363    
364  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
365  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
366  No options  No options
367  First char at start or follows newline  First char at start or follows newline
368  No need char  No need char
# Line 338  No need char Line 376  No need char
376   2: <unset>   2: <unset>
377   3: def   3: def
378    
 /abc/IP  
     abc  
  0: abc  
     *** Failers  
 No match: POSIX code 17: match failed  
   
 /^abc|def/IP  
     abcdef  
  0: abc  
     abcdef\B  
  0: def  
   
 /.*((abc)$|(def))/IP  
     defabc  
  0: defabc  
  1: abc  
  2: abc  
     \Zdefabc  
  0: def  
  1: def  
  3: def  
   
 /the quick brown fox/IP  
     the quick brown fox  
  0: the quick brown fox  
     *** Failers  
 No match: POSIX code 17: match failed  
     The Quick Brown Fox  
 No match: POSIX code 17: match failed  
   
 /the quick brown fox/IPi  
     the quick brown fox  
  0: the quick brown fox  
     The Quick Brown Fox  
  0: The Quick Brown Fox  
   
 /abc.def/IP  
     *** Failers  
 No match: POSIX code 17: match failed  
     abc\ndef  
 No match: POSIX code 17: match failed  
   
 /abc$/IP  
     abc  
  0: abc  
     abc\n  
  0: abc  
   
 /(abc)\2/IP  
 Failed: POSIX code 15: bad back reference at offset 7  
   
 /(abc\1)/IP  
     abc  
 No match: POSIX code 17: match failed  
   
379  /)/  /)/
380  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
381    
# Line 401  Failed: missing terminating ] for charac Line 384  Failed: missing terminating ] for charac
384    
385  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
386  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
387  No options  No options
388  No first char  No first char
389  No need char  No need char
# Line 410  No need char Line 392  No need char
392    
393  /<.*>/I  /<.*>/I
394  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
395  No options  No options
396  First char = '<'  First char = '<'
397  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 400  Need char = '>'
400    
401  /<.*?>/I  /<.*?>/I
402  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
403  No options  No options
404  First char = '<'  First char = '<'
405  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 408  Need char = '>'
408    
409  /<.*>/IU  /<.*>/IU
410  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
411  Options: ungreedy  Options: ungreedy
412  First char = '<'  First char = '<'
413  Need char = '>'  Need char = '>'
# Line 437  Need char = '>' Line 416  Need char = '>'
416    
417  /(?U)<.*>/I  /(?U)<.*>/I
418  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
419  Options: ungreedy  Options: ungreedy
420  First char = '<'  First char = '<'
421  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 424  Need char = '>'
424    
425  /<.*?>/IU  /<.*?>/IU
426  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
427  Options: ungreedy  Options: ungreedy
428  First char = '<'  First char = '<'
429  Need char = '>'  Need char = '>'
# Line 455  Need char = '>' Line 432  Need char = '>'
432    
433  /={3,}/IU  /={3,}/IU
434  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
435  Options: ungreedy  Options: ungreedy
436  First char = '='  First char = '='
437  Need char = '='  Need char = '='
# Line 464  Need char = '=' Line 440  Need char = '='
440    
441  /(?U)={3,}?/I  /(?U)={3,}?/I
442  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
443  Options: ungreedy  Options: ungreedy
444  First char = '='  First char = '='
445  Need char = '='  Need char = '='
# Line 476  Capturing subpattern count = 0 Line 451  Capturing subpattern count = 0
451  No options  No options
452  First char = 'f'  First char = 'f'
453  Need char = 'o'  Need char = 'o'
454    Max lookbehind = 6
455      foo      foo
456   0: foo   0: foo
457      catfoo      catfoo
# Line 522  No need char Line 498  No need char
498    
499  /(?s).*/I  /(?s).*/I
500  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
501  Options: anchored dotall  Options: anchored dotall
502  No first char  No first char
503  No need char  No need char
# Line 532  Capturing subpattern count = 0 Line 507  Capturing subpattern count = 0
507  No options  No options
508  No first char  No first char
509  No need char  No need char
510    Subject length lower bound = 1
511  Starting byte set: a b c d  Starting byte set: a b c d
512    
513  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 539  Capturing subpattern count = 0 Line 515  Capturing subpattern count = 0
515  Options: caseless  Options: caseless
516  No first char  No first char
517  No need char  No need char
518    Subject length lower bound = 1
519  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
520    
521  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 546  Capturing subpattern count = 1 Line 523  Capturing subpattern count = 1
523  Options: multiline  Options: multiline
524  No first char  No first char
525  No need char  No need char
526    Subject length lower bound = 1
527  Starting byte set: b c x y  Starting byte set: b c x y
528    
529  /(^a|^b)/Im  /(^a|^b)/Im
# Line 584  Failed: syntax error in subpattern name Line 562  Failed: syntax error in subpattern name
562  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
563  Capturing subpattern count = 1  Capturing subpattern count = 1
564  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
565  No options  No options
566  First char = 'b'  First char = 'b'
567  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 569  Need char = 'h'
569  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
570  Capturing subpattern count = 1  Capturing subpattern count = 1
571  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
572  No options  No options
573  First char = 'b' (caseless)  First char = 'b' (caseless)
574  Need char = 'h' (caseless)  Need char = 'h' (caseless)
# Line 601  Need char = 'h' (caseless) Line 577  Need char = 'h' (caseless)
577  ------------------------------------------------------------------  ------------------------------------------------------------------
578          Bra          Bra
579          CBra 1          CBra 1
580       01 Opt       /i b
      NC b  
581          Ket          Ket
      00 Opt  
582          Ket          Ket
583          End          End
584  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 612  Capturing subpattern count = 1 Line 586  Capturing subpattern count = 1
586  No options  No options
587  First char = 'b' (caseless)  First char = 'b' (caseless)
588  No need char  No need char
589  Study returned NULL  Subject length lower bound = 1
590    No set of starting bytes
591    
592  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
593  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
594  No options  No options
595  No first char  No first char
596  No need char  No need char
597    Subject length lower bound = 1
598  Starting byte set: C a b c d  Starting byte set: C a b c d
599    
600  /a$/I  /a$/I
# Line 668  Need char = 'c' Line 643  Need char = 'c'
643    
644  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
645  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
646  Options: anchored  Options: anchored
647  No first char  No first char
648  No need char  No need char
# Line 685  Capturing subpattern count = 0 Line 659  Capturing subpattern count = 0
659  No options  No options
660  No first char  No first char
661  No need char  No need char
662    Max lookbehind = 3
663    Subject length lower bound = 1
664  Starting byte set: a b  Starting byte set: a b
665    
666  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 692  Capturing subpattern count = 1 Line 668  Capturing subpattern count = 1
668  No options  No options
669  No first char  No first char
670  Need char = 'a'  Need char = 'a'
671    Max lookbehind = 3
672    Subject length lower bound = 5
673  Starting byte set: a o  Starting byte set: a o
674    
675  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 699  Capturing subpattern count = 0 Line 677  Capturing subpattern count = 0
677  No options  No options
678  No first char  No first char
679  No need char  No need char
680    Subject length lower bound = 1
681  Starting byte set: a b  Starting byte set: a b
682    
683  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
# Line 707  Contains explicit CR or LF match Line 686  Contains explicit CR or LF match
686  Options: multiline  Options: multiline
687  No first char  No first char
688  Need char = 'r'  Need char = 'r'
689    Max lookbehind = 4
690      foo\nbarbar      foo\nbarbar
691   0: bar   0: bar
692      ***Failers      ***Failers
# Line 724  Contains explicit CR or LF match Line 704  Contains explicit CR or LF match
704  Options: multiline  Options: multiline
705  First char at start or follows newline  First char at start or follows newline
706  Need char = 'r'  Need char = 'r'
707    Max lookbehind = 4
708      foo\nbarbar      foo\nbarbar
709   0: bar   0: bar
710      ***Failers      ***Failers
# Line 765  Capturing subpattern count = 0 Line 746  Capturing subpattern count = 0
746  No options  No options
747  First char = '-'  First char = '-'
748  Need char = 't'  Need char = 't'
749    Max lookbehind = 7
750      the bullock-cart      the bullock-cart
751   0: -cart   0: -cart
752      a donkey-cart race      a donkey-cart race
# Line 781  Capturing subpattern count = 0 Line 763  Capturing subpattern count = 0
763  No options  No options
764  No first char  No first char
765  No need char  No need char
766    Max lookbehind = 3
767    
768  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
769  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
770  No options  No options
771  First char at start or follows newline  First char at start or follows newline
772  No need char  No need char
773    Max lookbehind = 4
774      alphabetabcd      alphabetabcd
775   0: alphabetabcd   0: alphabetabcd
776   1: abcd   1: abcd
# Line 801  Capturing subpattern count = 0 Line 784  Capturing subpattern count = 0
784  No options  No options
785  First char = 'Z'  First char = 'Z'
786  Need char = 'Z'  Need char = 'Z'
787    Max lookbehind = 4
788      abxyZZ      abxyZZ
789   0: ZZ   0: ZZ
790      abXyZZ      abXyZZ
# Line 829  Capturing subpattern count = 1 Line 813  Capturing subpattern count = 1
813  No options  No options
814  First char = 'b'  First char = 'b'
815  Need char = 'r'  Need char = 'r'
816    Max lookbehind = 4
817      bar      bar
818   0: bar   0: bar
819      foobbar      foobbar
# Line 854  No match Line 839  No match
839      a      a
840  No match  No match
841    
842  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I  /This one is here because Perl behaves differently; see also the following/I
843  Capturing subpattern count = 0  Capturing subpattern count = 0
844  No options  No options
845  First char = 'T'  First char = 'T'
# Line 866  Max back reference = 1 Line 851  Max back reference = 1
851  Options: anchored  Options: anchored
852  No first char  No first char
853  No need char  No need char
854        aaaa
855    No match
856      aaaaaa      aaaaaa
857   0: aaaaaa  No match
858   1: aa  
859    /Perl does not fail these two for the final subjects. Neither did PCRE until/
860    /release 8.01. The problem is in backtracking into a subpattern that contains/
861    No match
862    /a recursive reference to itself. PCRE has now made these into atomic patterns./
863    No match
864    
865    /^(xa|=?\1a){2}$/
866        xa=xaa
867     0: xa=xaa
868     1: =xaa
869        ** Failers
870    No match
871        xa=xaaa
872    No match
873    
874    /^(xa|=?\1a)+$/
875        xa=xaa
876     0: xa=xaa
877     1: =xaa
878        ** Failers
879    No match
880        xa=xaaa
881    No match
882    
883  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
884  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 975  Failed: numbers out of order in {} quant Line 985  Failed: numbers out of order in {} quant
985  /abc/\  /abc/\
986  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
987    
 /abc/\P  
 Failed: POSIX code 9: bad escape sequence at offset 4  
   
988  /abc/\i  /abc/\i
989  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
990    
# Line 1003  copy substring 5 failed -7 Line 1010  copy substring 5 failed -7
1010    
1011  /(.{20})/I  /(.{20})/I
1012  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1013  No options  No options
1014  No first char  No first char
1015  No need char  No need char
# Line 1021  No need char Line 1027  No need char
1027    
1028  /(.{15})/I  /(.{15})/I
1029  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1030  No options  No options
1031  No first char  No first char
1032  No need char  No need char
# Line 1036  No need char Line 1041  No need char
1041    
1042  /(.{16})/I  /(.{16})/I
1043  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1044  No options  No options
1045  No first char  No first char
1046  No need char  No need char
# Line 1096  No first char Line 1100  No first char
1100  No need char  No need char
1101      abc\00def\L\C0      abc\00def\L\C0
1102   0: abc\x00def   0: abc\x00def
1103   0C abc (7)   0C abc\x00def (7)
1104   0L abc   0L abc
1105    
1106  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1107  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1108  )?)?)?)?)?)?)?)?)?otherword/I  )?)?)?)?)?)?)?)?)?otherword/I
1109  Capturing subpattern count = 8  Capturing subpattern count = 8
 Partial matching not supported  
1110  Contains explicit CR or LF match  Contains explicit CR or LF match
1111  No options  No options
1112  First char = 'w'  First char = 'w'
# Line 1118  Need char = 'd' Line 1121  Need char = 'd'
1121          End          End
1122  ------------------------------------------------------------------  ------------------------------------------------------------------
1123  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1124  No options  No options
1125  First char at start or follows newline  First char at start or follows newline
1126  Need char = 'X'  Need char = 'X'
# Line 1132  Need char = 'X' Line 1134  Need char = 'X'
1134          End          End
1135  ------------------------------------------------------------------  ------------------------------------------------------------------
1136  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1137  Options: anchored dotall  Options: anchored dotall
1138  No first char  No first char
1139  Need char = 'X'  Need char = 'X'
# Line 1151  Need char = 'X' Line 1152  Need char = 'X'
1152          End          End
1153  ------------------------------------------------------------------  ------------------------------------------------------------------
1154  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1155  No options  No options
1156  First char at start or follows newline  First char at start or follows newline
1157  No need char  No need char
# Line 1170  No need char Line 1170  No need char
1170          End          End
1171  ------------------------------------------------------------------  ------------------------------------------------------------------
1172  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1173  Options: anchored dotall  Options: anchored dotall
1174  No first char  No first char
1175  No need char  No need char
# Line 1189  No need char Line 1188  No need char
1188          End          End
1189  ------------------------------------------------------------------  ------------------------------------------------------------------
1190  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1191  Options: anchored dotall  Options: anchored dotall
1192  No first char  No first char
1193  No need char  No need char
# Line 1198  No need char Line 1196  No need char
1196  ------------------------------------------------------------------  ------------------------------------------------------------------
1197          Bra          Bra
1198          Bra          Bra
      04 Opt  
1199          AllAny*          AllAny*
1200          X          X
1201          Alt          Alt
      04 Opt  
1202          ^          ^
1203          B          B
1204          Ket          Ket
      00 Opt  
1205          Ket          Ket
1206          End          End
1207  ------------------------------------------------------------------  ------------------------------------------------------------------
1208  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1209  Options: anchored  Options: anchored
1210  No first char  No first char
1211  No need char  No need char
# Line 1221  Capturing subpattern count = 0 Line 1215  Capturing subpattern count = 0
1215  No options  No options
1216  First char = 'i'  First char = 'i'
1217  Need char = 's'  Need char = 's'
1218      Mississippi  Max lookbehind = 1
  0: iss  
  0+ issippi  
   
 /\Biss\B/I+P  
1219      Mississippi      Mississippi
1220   0: iss   0: iss
1221   0+ issippi   0+ issippi
# Line 1246  Capturing subpattern count = 0 Line 1236  Capturing subpattern count = 0
1236  No options  No options
1237  First char = 'i'  First char = 'i'
1238  Need char = 's'  Need char = 's'
1239    Max lookbehind = 1
1240      Mississippi      Mississippi
1241   0: iss   0: iss
1242   0+ issippi   0+ issippi
# Line 1255  Capturing subpattern count = 0 Line 1246  Capturing subpattern count = 0
1246  No options  No options
1247  First char = 'i'  First char = 'i'
1248  Need char = 's'  Need char = 's'
1249    Max lookbehind = 1
1250      Mississippi      Mississippi
1251   0: iss   0: iss
1252   0+ issippi   0+ issippi
# Line 1270  Capturing subpattern count = 0 Line 1262  Capturing subpattern count = 0
1262  No options  No options
1263  First char = 'i'  First char = 'i'
1264  Need char = 's'  Need char = 's'
1265    Max lookbehind = 1
1266      Mississippi      Mississippi
1267   0: iss   0: iss
1268   0+ issippi   0+ issippi
# Line 1281  Capturing subpattern count = 0 Line 1274  Capturing subpattern count = 0
1274  No options  No options
1275  First char = 'i'  First char = 'i'
1276  Need char = 's'  Need char = 's'
1277    Max lookbehind = 1
1278      Mississippi      Mississippi
1279   0: iss   0: iss
1280   0+ issippi   0+ issippi
# Line 1296  No need char Line 1290  No need char
1290    
1291  /.*iss/Ig+  /.*iss/Ig+
1292  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1293  No options  No options
1294  First char at start or follows newline  First char at start or follows newline
1295  Need char = 's'  Need char = 's'
# Line 1360  Capturing subpattern count = 0 Line 1353  Capturing subpattern count = 0
1353  Contains explicit CR or LF match  Contains explicit CR or LF match
1354  Options: multiline  Options: multiline
1355  First char at start or follows newline  First char at start or follows newline
1356  Need char = 10  Need char = \x0a
1357      ab\nab\ncd      ab\nab\ncd
1358   0: ab\x0a   0: ab\x0a
1359   0+ ab\x0acd   0+ ab\x0acd
# Line 1399  Need char = 'c' Line 1392  Need char = 'c'
1392    
1393  /a*/I  /a*/I
1394  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1395  No options  No options
1396  No first char  No first char
1397  No need char  No need char
1398    
1399  /a+/I  /a+/I
1400  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1401  No options  No options
1402  First char = 'a'  First char = 'a'
1403  No need char  No need char
1404    
1405  /(baa|a+)/I  /(baa|a+)/I
1406  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1407  No options  No options
1408  No first char  No first char
1409  Need char = 'a'  Need char = 'a'
1410    
1411  /a{0,3}/I  /a{0,3}/I
1412  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1413  No options  No options
1414  No first char  No first char
1415  No need char  No need char
1416    
1417  /baa{3,}/I  /baa{3,}/I
1418  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1419  No options  No options
1420  First char = 'b'  First char = 'b'
1421  Need char = 'a'  Need char = 'a'
1422    
1423  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1424  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1425  No options  No options
1426  First char = '"'  First char = '"'
1427  Need char = '"'  Need char = '"'
# Line 1468  Capturing subpattern count = 0 Line 1455  Capturing subpattern count = 0
1455  No options  No options
1456  No first char  No first char
1457  No need char  No need char
1458    Max lookbehind = 3
1459    
1460  /abc(?!pqr)/I  /abc(?!pqr)/I
1461  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1489  Need char = 'b' Line 1477  Need char = 'b'
1477    
1478  /abc*/I  /abc*/I
1479  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1480  No options  No options
1481  First char = 'a'  First char = 'a'
1482  Need char = 'b'  Need char = 'b'
1483    
1484  /ab.c*/I  /ab.c*/I
1485  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1486  No options  No options
1487  First char = 'a'  First char = 'a'
1488  Need char = 'b'  Need char = 'b'
1489    
1490  /a.c*/I  /a.c*/I
1491  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1492  No options  No options
1493  First char = 'a'  First char = 'a'
1494  No need char  No need char
1495    
1496  /.c*/I  /.c*/I
1497  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1498  No options  No options
1499  No first char  No first char
1500  No need char  No need char
1501    
1502  /ac*/I  /ac*/I
1503  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1504  No options  No options
1505  First char = 'a'  First char = 'a'
1506  No need char  No need char
1507    
1508  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1509  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1510  No options  No options
1511  No first char  No first char
1512  No need char  No need char
1513    
1514  /a.c*|aba/I  /a.c*|aba/I
1515  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1516  No options  No options
1517  First char = 'a'  First char = 'a'
1518  No need char  No need char
1519    
1520  /.+a/I  /.+a/I
1521  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1522  No options  No options
1523  No first char  No first char
1524  Need char = 'a'  Need char = 'a'
1525    
1526  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1527  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1528  No options  No options
1529  First char = 'a'  First char = 'a'
1530  Need char = 'a'  Need char = 'a'
1531    
1532  /(?=a)a.*/I  /(?=a)a.*/I
1533  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1534  No options  No options
1535  First char = 'a'  First char = 'a'
1536  No need char  No need char
# Line 1565  No need char Line 1543  No need char
1543    
1544  /a\d*/I  /a\d*/I
1545  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1546  No options  No options
1547  First char = 'a'  First char = 'a'
1548  No need char  No need char
1549    
1550  /ab\d*/I  /ab\d*/I
1551  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1552  No options  No options
1553  First char = 'a'  First char = 'a'
1554  Need char = 'b'  Need char = 'b'
# Line 1591  Need char = 'd' Line 1567  Need char = 'd'
1567    
1568  /ab\d+/I  /ab\d+/I
1569  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1570  No options  No options
1571  First char = 'a'  First char = 'a'
1572  Need char = 'b'  Need char = 'b'
# Line 1666  No need char Line 1641  No need char
1641      \Nabc      \Nabc
1642  No match  No match
1643    
 /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  
   
1644  /^.?abcd/IS  /^.?abcd/IS
1645  Capturing subpattern count = 0  Capturing subpattern count = 0
1646  Options: anchored  Options: anchored
1647  No first char  No first char
1648  Need char = 'd'  Need char = 'd'
1649  Study returned NULL  Subject length lower bound = 4
1650    No set of starting bytes
1651    
1652  /\(             # ( at start  /\(             # ( at start
1653    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1709  Study returned NULL Line 1658  Study returned NULL
1658    \)            # Closing )    \)            # Closing )
1659    /Ix    /Ix
1660  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1661  Options: extended  Options: extended
1662  First char = '('  First char = '('
1663  Need char = ')'  Need char = ')'
# Line 1738  No match Line 1686  No match
1686    
1687  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1688  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1689  Options: extended  Options: extended
1690  First char = '('  First char = '('
1691  Need char = ')'  Need char = ')'
# Line 1753  Need char = ')' Line 1700  Need char = ')'
1700    
1701  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1702  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1703  Options: extended  Options: extended
1704  First char = '('  First char = '('
1705  Need char = ')'  Need char = ')'
# Line 1772  No match Line 1718  No match
1718    
1719  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1720  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1721  Options: extended  Options: extended
1722  First char = '('  First char = '('
1723  Need char = ')'  Need char = ')'
# Line 1783  Need char = ')' Line 1728  Need char = ')'
1728    
1729  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1730  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1731  Options: extended  Options: extended
1732  First char = '('  First char = '('
1733  Need char = ')'  Need char = ')'
# Line 1793  Need char = ')' Line 1737  Need char = ')'
1737    
1738  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1739  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1740  Options: extended  Options: extended
1741  First char = '('  First char = '('
1742  Need char = ')'  Need char = ')'
# Line 1804  Need char = ')' Line 1747  Need char = ')'
1747    
1748  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1749  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1750  Options: extended  Options: extended
1751  First char = '('  First char = '('
1752  Need char = ')'  Need char = ')'
# Line 1821  Need char = ')' Line 1763  Need char = ')'
1763    
1764  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1765  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1766  Options: extended  Options: extended
1767  First char = '('  First char = '('
1768  Need char = ')'  Need char = ')'
# Line 1838  Need char = ')' Line 1779  Need char = ')'
1779    
1780  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1781  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1782  Options: extended  Options: extended
1783  First char = '('  First char = '('
1784  Need char = ')'  Need char = ')'
# Line 1858  Need char = ')' Line 1798  Need char = ')'
1798    
1799  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1800  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1801  Options: extended  Options: extended
1802  First char = '('  First char = '('
1803  Need char = ')'  Need char = ')'
# Line 1866  Need char = ')' Line 1805  Need char = ')'
1805   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1806   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1807   2: 123   2: 123
  3: <unset>  
1808    
1809  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1810  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1811  Options: extended  Options: extended
1812  First char = '('  First char = '('
1813  Need char = ')'  Need char = ')'
# Line 1942  Capturing subpattern count = 0 Line 1879  Capturing subpattern count = 0
1879  No options  No options
1880  No first char  No first char
1881  No need char  No need char
1882    Subject length lower bound = 1
1883  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1884    _ a b c d e f g h i j k l m n o p q r s t u v w x y z    _ a b c d e f g h i j k l m n o p q r s t u v w x y z
1885    
# Line 2003  Contains explicit CR or LF match Line 1941  Contains explicit CR or LF match
1941  No options  No options
1942  No first char  No first char
1943  No need char  No need char
1944    Subject length lower bound = 1
1945  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
1946    
1947  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
# Line 2249  Need char = 'd' Line 2188  Need char = 'd'
2188  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
2189  Capturing subpattern count = 271  Capturing subpattern count = 271
2190  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2191  No options  No options
2192  No first char  No first char
2193  No need char  No need char
# Line 2746  No need char Line 2684  No need char
2684  ------------------------------------------------------------------  ------------------------------------------------------------------
2685          Bra          Bra
2686          a          a
2687       01 Opt       /i b
      NC b  
2688          Ket          Ket
2689          End          End
2690  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2769  No match Line 2706  No match
2706          Bra          Bra
2707          CBra 1          CBra 1
2708          a          a
2709       01 Opt       /i b
      NC b  
2710          Ket          Ket
      00 Opt  
2711          Ket          Ket
2712          End          End
2713  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2794  No match Line 2729  No match
2729  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2730  ------------------------------------------------------------------  ------------------------------------------------------------------
2731          Bra          Bra
2732       NC abc       /i abc
2733          Ket          Ket
2734          End          End
2735  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2807  Need char = 'c' (caseless) Line 2742  Need char = 'c' (caseless)
2742    (?i)abc/IxDZ    (?i)abc/IxDZ
2743  ------------------------------------------------------------------  ------------------------------------------------------------------
2744          Bra          Bra
2745       NC abc       /i abc
2746          Ket          Ket
2747          End          End
2748  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2930  Need char = 'c' Line 2865  Need char = 'c'
2865          End          End
2866  ------------------------------------------------------------------  ------------------------------------------------------------------
2867  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2868  No options  No options
2869  No first char  No first char
2870  No need char  No need char
# Line 2959  No need char Line 2893  No need char
2893          End          End
2894  ------------------------------------------------------------------  ------------------------------------------------------------------
2895  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2896  No options  No options
2897  First char = 'x'  First char = 'x'
2898  No need char  No need char
# Line 2975  No need char Line 2908  No need char
2908          End          End
2909  ------------------------------------------------------------------  ------------------------------------------------------------------
2910  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2911  No options  No options
2912  First char = 'x'  First char = 'x'
2913  No need char  No need char
# Line 2983  No need char Line 2915  No need char
2915  /(x)*+/DZ  /(x)*+/DZ
2916  ------------------------------------------------------------------  ------------------------------------------------------------------
2917          Bra          Bra
2918          Once          Braposzero
2919          Brazero          CBraPos 1
         CBra 1  
2920          x          x
2921          KetRmax          KetRpos
         Ket  
2922          Ket          Ket
2923          End          End
2924  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2999  No need char Line 2929  No need char
2929    
2930  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2931  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2932  Options: anchored  Options: anchored
2933  No first char  No first char
2934  No need char  No need char
# Line 3013  No match Line 2942  No match
2942    
2943  /(\d++)(\w)/I  /(\d++)(\w)/I
2944  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
2945  No options  No options
2946  No first char  No first char
2947  No need char  No need char
# Line 3028  No match Line 2956  No match
2956    
2957  /a++b/I  /a++b/I
2958  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2959  No options  No options
2960  First char = 'a'  First char = 'a'
2961  Need char = 'b'  Need char = 'b'
# Line 3037  Need char = 'b' Line 2964  Need char = 'b'
2964    
2965  /(a++b)/I  /(a++b)/I
2966  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2967  No options  No options
2968  First char = 'a'  First char = 'a'
2969  Need char = 'b'  Need char = 'b'
# Line 3047  Need char = 'b' Line 2973  Need char = 'b'
2973    
2974  /(a++)b/I  /(a++)b/I
2975  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2976  No options  No options
2977  First char = 'a'  First char = 'a'
2978  Need char = 'b'  Need char = 'b'
# Line 3057  Need char = 'b' Line 2982  Need char = 'b'
2982    
2983  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
2984  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2985  No options  No options
2986  No first char  No first char
2987  No need char  No need char
# Line 3067  No need char Line 2991  No need char
2991    
2992  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
2993  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2994  No options  No options
2995  First char = '('  First char = '('
2996  Need char = ')'  Need char = ')'
# Line 3130  Failed: nothing to repeat at offset 7 Line 3053  Failed: nothing to repeat at offset 7
3053          End          End
3054  ------------------------------------------------------------------  ------------------------------------------------------------------
3055  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3056  No options  No options
3057  First char = 'x'  First char = 'x'
3058  Need char = 'b'  Need char = 'b'
# Line 3147  Need char = 'b' Line 3069  Need char = 'b'
3069          End          End
3070  ------------------------------------------------------------------  ------------------------------------------------------------------
3071  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3072  Options: ungreedy  Options: ungreedy
3073  First char = 'x'  First char = 'x'
3074  Need char = 'b'  Need char = 'b'
# Line 3176  Need char = 'b' Line 3097  Need char = 'b'
3097          End          End
3098  ------------------------------------------------------------------  ------------------------------------------------------------------
3099  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3100  Options: anchored  Options: anchored
3101  No first char  No first char
3102  No need char  No need char
# Line 3192  No need char Line 3112  No need char
3112          End          End
3113  ------------------------------------------------------------------  ------------------------------------------------------------------
3114  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3115  Options: anchored  Options: anchored
3116  No first char  No first char
3117  Need char = 'b'  Need char = 'b'
# Line 3210  Need char = 'b' Line 3129  Need char = 'b'
3129          End          End
3130  ------------------------------------------------------------------  ------------------------------------------------------------------
3131  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3132  Options: anchored  Options: anchored
3133  No first char  No first char
3134  Need char = 'b'  Need char = 'b'
# Line 3225  Failed: POSIX collating elements are not Line 3143  Failed: POSIX collating elements are not
3143  Failed: POSIX named classes are supported only within a class at offset 0  Failed: POSIX named classes are supported only within a class at offset 0
3144    
3145  /\l/I  /\l/I
3146  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3147    
3148  /\L/I  /\L/I
3149  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3150    
3151  /\N{name}/I  /\N{name}/I
3152  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3153    
3154  /\u/I  /\u/I
3155  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3156    
3157  /\U/I  /\U/I
3158  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1
3159    
3160  /[/I  /[/I
3161  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3286  No need char Line 3204  No need char
3204    
3205  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3206  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3207  Options: extended  Options: extended
3208  First char = '<'  First char = '<'
3209  Need char = '>'  Need char = '>'
# Line 3319  Capturing subpattern count = 0 Line 3236  Capturing subpattern count = 0
3236  No options  No options
3237  First char = '8'  First char = '8'
3238  Need char = 'X'  Need char = 'X'
3239    Max lookbehind = 1
3240    
3241  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3242  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3332  Capturing subpattern count = 0 Line 3250  Capturing subpattern count = 0
3250  No options  No options
3251  First char = '$'  First char = '$'
3252  Need char = 'X'  Need char = 'X'
3253    Max lookbehind = 1
3254    
3255  /(.*)\d+\1/I  /(.*)\d+\1/I
3256  Capturing subpattern count = 1  Capturing subpattern count = 1
3257  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3258  No options  No options
3259  No first char  No first char
3260  No need char  No need char
3261    
3262  /(.*)\d+/I  /(.*)\d+/I
3263  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3264  No options  No options
3265  First char at start or follows newline  First char at start or follows newline
3266  No need char  No need char
# Line 3351  No need char Line 3268  No need char
3268  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3269  Capturing subpattern count = 1  Capturing subpattern count = 1
3270  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3271  Options: dotall  Options: dotall
3272  No first char  No first char
3273  No need char  No need char
3274    
3275  /(.*)\d+/Is  /(.*)\d+/Is
3276  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3277  Options: anchored dotall  Options: anchored dotall
3278  No first char  No first char
3279  No need char  No need char
# Line 3366  No need char Line 3281  No need char
3281  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3282  Capturing subpattern count = 2  Capturing subpattern count = 2
3283  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3284  No options  No options
3285  First char at start or follows newline  First char at start or follows newline
3286  Need char = 'z'  Need char = 'z'
# Line 3374  Need char = 'z' Line 3288  Need char = 'z'
3288  /((.*))\d+\1/I  /((.*))\d+\1/I
3289  Capturing subpattern count = 2  Capturing subpattern count = 2
3290  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3291  No options  No options
3292  No first char  No first char
3293  No need char  No need char
# Line 3391  Need char = 'b' Line 3304  Need char = 'b'
3304    
3305  /(?=a).*/I  /(?=a).*/I
3306  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3307  No options  No options
3308  First char = 'a'  First char = 'a'
3309  No need char  No need char
# Line 3497  Capturing subpattern count = 0 Line 3409  Capturing subpattern count = 0
3409  No options  No options
3410  No first char  No first char
3411  No need char  No need char
3412    Subject length lower bound = 1
3413  Starting byte set: a b  Starting byte set: a b
3414    
3415  /[^a]/I  /[^a]/I
# Line 3516  Capturing subpattern count = 0 Line 3429  Capturing subpattern count = 0
3429  No options  No options
3430  No first char  No first char
3431  Need char = '6'  Need char = '6'
3432    Subject length lower bound = 4
3433  Starting byte set: 0 1 2 3 4 5 6 7 8 9  Starting byte set: 0 1 2 3 4 5 6 7 8 9
3434    
3435  /a^b/I  /a^b/I
# Line 3549  Capturing subpattern count = 0 Line 3463  Capturing subpattern count = 0
3463  Options: caseless  Options: caseless
3464  No first char  No first char
3465  No need char  No need char
3466    Subject length lower bound = 1
3467  Starting byte set: A B a b  Starting byte set: A B a b
3468    
3469  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3556  Capturing subpattern count = 0 Line 3471  Capturing subpattern count = 0
3471  No options  No options
3472  No first char  No first char
3473  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3474    Subject length lower bound = 3
3475  Starting byte set: a b  Starting byte set: a b
3476    
3477  /abc(?C)def/I  /abc(?C)def/I
# Line 3591  Need char = 'f' Line 3507  Need char = 'f'
3507    1    ^    ^     f    1    ^    ^     f
3508   0: abcdef   0: abcdef
3509    
3510  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3511    Capturing subpattern count = 0
3512    No options
3513    No first char
3514    Need char = 'f'
3515    Subject length lower bound = 7
3516    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3517        1234abcdef
3518    --->1234abcdef
3519      1 ^              \d
3520      1  ^             \d
3521      1   ^            \d
3522      1    ^           \d
3523      2    ^   ^       d
3524     0: 4abcdef
3525        *** Failers
3526    No match
3527        abcdef
3528    No match
3529    
3530    /(?C1)\dabc(?C2)def/ISS
3531  Capturing subpattern count = 0  Capturing subpattern count = 0
3532  No options  No options
3533  No first char  No first char
# Line 3713  No need char Line 3649  No need char
3649    
3650  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3651  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3652  No options  No options
3653  No first char  No first char
3654  No need char  No need char
# Line 3831  Capturing subpattern count = 1 Line 3766  Capturing subpattern count = 1
3766  No options  No options
3767  First char = 'x'  First char = 'x'
3768  Need char = 'z'  Need char = 'z'
3769    Max lookbehind = 3
3770     abcxyz\C+     abcxyz\C+
3771  Callout 0: last capture = 1  Callout 0: last capture = 1
3772   0: <unset>   0: <unset>
# Line 3842  Callout 0: last capture = 1 Line 3778  Callout 0: last capture = 1
3778    
3779  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3780  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3781  No options  No options
3782  First char = 'a'  First char = 'a'
3783  Need char = 'b'  Need char = 'b'
# Line 3868  No match Line 3803  No match
3803    
3804  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3805  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3806  No options  No options
3807  First char = 'a'  First char = 'a'
3808  Need char = 'b'  Need char = 'b'
# Line 3909  Capturing subpattern count = 0 Line 3843  Capturing subpattern count = 0
3843  No options  No options
3844  No first char  No first char
3845  No need char  No need char
3846    Subject length lower bound = 1
3847  Starting byte set: a b  Starting byte set: a b
3848    
3849  /(?R)/I  /(?R)/I
# Line 3997  Need char = '<' Line 3932  Need char = '<'
3932          Bra          Bra
3933          CBra 1          CBra 1
3934          a          a
         Once  
3935          Recurse          Recurse
         Ket  
3936          b          b
3937          Ket          Ket
3938          Ket          Ket
# Line 4028  No options Line 3961  No options
3961  First char = 'a'  First char = 'a'
3962  Need char = 'b'  Need char = 'b'
3963    
 /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii  
 Capturing subpattern count = 4  
 Max back reference = 4  
 Partial matching not supported  
 Options: anchored caseless  
 No first char  
 No need char  
     1221  
  0: 1221  
  1: 1221  
  2: 1  
     Satan, oscillate my metallic sonatas!  
  0: Satan, oscillate my metallic sonatas!  
  1: <unset>  
  2: <unset>  
  3: Satan, oscillate my metallic sonatas  
  4: S  
     A man, a plan, a canal: Panama!  
  0: A man, a plan, a canal: Panama!  
  1: <unset>  
  2: <unset>  
  3: A man, a plan, a canal: Panama  
  4: A  
     Able was I ere I saw Elba.  
  0: Able was I ere I saw Elba.  
  1: <unset>  
  2: <unset>  
  3: Able was I ere I saw Elba  
  4: A  
     *** Failers  
 No match  
     The quick brown fox  
 No match  
   
3964  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3965  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3966  Options: anchored  Options: anchored
3967  No first char  No first char
3968  No need char  No need char
# Line 4105  No match Line 4003  No match
4003    
4004  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4005  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4006  Options: extended  Options: extended
4007  First char = '<'  First char = '<'
4008  Need char = '>'  Need char = '>'
# Line 4256  Need char = 'a' Line 4153  Need char = 'a'
4153          Any          Any
4154          \1          \1
4155          bbb          bbb
         Once  
4156          Recurse          Recurse
         Ket  
4157          d          d
4158          Ket          Ket
4159          End          End
# Line 4279  Named capturing subpatterns: Line 4174  Named capturing subpatterns:
4174    one     1    one     1
4175    three   3    three   3
4176    two     2    two     2
 Partial matching not supported  
4177  Options: anchored caseless  Options: anchored caseless
4178  No first char  No first char
4179  No need char  No need char
# Line 4325  No need char Line 4219  No need char
4219    
4220  /(.*)a/Is  /(.*)a/Is
4221  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4222  Options: anchored dotall  Options: anchored dotall
4223  No first char  No first char
4224  Need char = 'a'  Need char = 'a'
# Line 4333  Need char = 'a' Line 4226  Need char = 'a'
4226  /(.*)a\1/Is  /(.*)a\1/Is
4227  Capturing subpattern count = 1  Capturing subpattern count = 1
4228  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4229  Options: dotall  Options: dotall
4230  No first char  No first char
4231  Need char = 'a'  Need char = 'a'
# Line 4341  Need char = 'a' Line 4233  Need char = 'a'
4233  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4234  Capturing subpattern count = 2  Capturing subpattern count = 2
4235  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4236  Options: anchored dotall  Options: anchored dotall
4237  No first char  No first char
4238  Need char = 'b'  Need char = 'b'
4239    
4240  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4241  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4242  Options: anchored dotall  Options: anchored dotall
4243  No first char  No first char
4244  Need char = 'z'  Need char = 'z'
# Line 4356  Need char = 'z' Line 4246  Need char = 'z'
4246  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4247  Capturing subpattern count = 3  Capturing subpattern count = 3
4248  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4249  Options: dotall  Options: dotall
4250  No first char  No first char
4251  Need char = 'z'  Need char = 'z'
# Line 4364  Need char = 'z' Line 4253  Need char = 'z'
4253  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4254  Capturing subpattern count = 3  Capturing subpattern count = 3
4255  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4256  Options: dotall  Options: dotall
4257  No first char  No first char
4258  Need char = 'z'  Need char = 'z'
# Line 4372  Need char = 'z' Line 4260  Need char = 'z'
4260  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4261  Capturing subpattern count = 3  Capturing subpattern count = 3
4262  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4263  Options: dotall  Options: dotall
4264  No first char  No first char
4265  Need char = 'z'  Need char = 'z'
# Line 4380  Need char = 'z' Line 4267  Need char = 'z'
4267  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4268  Capturing subpattern count = 3  Capturing subpattern count = 3
4269  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4270  Options: anchored dotall  Options: anchored dotall
4271  No first char  No first char
4272  Need char = 'z'  Need char = 'z'
4273    
4274  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4275  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4276  Options: anchored dotall  Options: anchored dotall
4277  No first char  No first char
4278  No need char  No need char
# Line 4395  No need char Line 4280  No need char
4280  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4281  Capturing subpattern count = 31  Capturing subpattern count = 31
4282  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4283  Options: dotall  Options: dotall
4284  No first char  No first char
4285  No need char  No need char
# Line 4403  No need char Line 4287  No need char
4287  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4288  Capturing subpattern count = 32  Capturing subpattern count = 32
4289  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4290  Options: dotall  Options: dotall
4291  No first char  No first char
4292  No need char  No need char
# Line 4470  Need char = 'c' Line 4353  Need char = 'c'
4353    
4354  /(a+)*zz/I  /(a+)*zz/I
4355  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4356  No options  No options
4357  No first char  No first char
4358  Need char = 'z'  Need char = 'z'
# Line 4607  Failed: two named subpatterns have the s Line 4489  Failed: two named subpatterns have the s
4489  Capturing subpattern count = 3  Capturing subpattern count = 3
4490  Named capturing subpatterns:  Named capturing subpatterns:
4491    elem   2    elem   2
 Partial matching not supported  
4492  No options  No options
4493  First char = '['  First char = '['
4494  Need char = ']'  Need char = ']'
# Line 4625  No match Line 4506  No match
4506  Capturing subpattern count = 3  Capturing subpattern count = 3
4507  Named capturing subpatterns:  Named capturing subpatterns:
4508    elem   2    elem   2
 Partial matching not supported  
4509  No options  No options
4510  First char = '['  First char = '['
4511  Need char = ']'  Need char = ']'
# Line 4645  Need char = ']' Line 4525  Need char = ']'
4525          a          a
4526          CBra 2          CBra 2
4527          b          b
         Once  
4528          Recurse          Recurse
         Ket  
4529          c          c
4530          Ket          Ket
4531          Ket          Ket
# Line 4667  No need char Line 4545  No need char
4545          a          a
4546          CBra 2          CBra 2
4547          b          b
         Once  
4548          Recurse          Recurse
         Ket  
4549          c          c
4550          Ket          Ket
4551          KetRmax          KetRmax
# Line 4690  No need char Line 4566  No need char
4566          a          a
4567          CBra 2          CBra 2
4568          b          b
         Once  
4569          Recurse          Recurse
         Ket  
4570          c          c
4571          Ket          Ket
4572          Ket          Ket
# Line 4701  No need char Line 4575  No need char
4575          a          a
4576          CBra 2          CBra 2
4577          b          b
         Once  
4578          Recurse          Recurse
         Ket  
4579          c          c
4580          Ket          Ket
4581          Ket          Ket
# Line 4732  No need char Line 4604  No need char
4604    
4605  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4606  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4607  Options: caseless  Options: caseless
4608  No first char  No first char
4609  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4742  Need char = 'g' (caseless) Line 4613  Need char = 'g' (caseless)
4613    
4614  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4615  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4616  Options: caseless  Options: caseless
4617  No first char  No first char
4618  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4619  Study returned NULL  Subject length lower bound = 8
4620    No set of starting bytes
4621       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4622   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4623   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4761  Study returned NULL Line 4632  Study returned NULL
4632          End          End
4633  ------------------------------------------------------------------  ------------------------------------------------------------------
4634  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4635  No options  No options
4636  No first char  No first char
4637  Need char = 'b'  Need char = 'b'
4638  Study returned NULL  Subject length lower bound = 1
4639    No set of starting bytes
4640    
4641  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4642  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4785  Capturing subpattern count = 1 Line 4656  Capturing subpattern count = 1
4656  No options  No options
4657  No first char  No first char
4658  Need char = 'c'  Need char = 'c'
4659  Study returned NULL  Subject length lower bound = 1
4660    No set of starting bytes
4661    
4662  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4663  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4842  Need char = 'e' Line 4714  Need char = 'e'
4714   +4 ^   ^      e   +4 ^   ^      e
4715  No match  No match
4716    
4717  /a*b/ICDZ  /a*b/ICDZS
4718    ------------------------------------------------------------------
4719            Bra
4720            Callout 255 0 2
4721            a*+
4722            Callout 255 2 1
4723            b
4724            Callout 255 3 0
4725            Ket
4726            End
4727    ------------------------------------------------------------------
4728    Capturing subpattern count = 0
4729    Options:
4730    No first char
4731    Need char = 'b'
4732    Subject length lower bound = 1
4733    Starting byte set: a b
4734      ab
4735    --->ab
4736     +0 ^      a*
4737     +2 ^^     b
4738     +3 ^ ^
4739     0: ab
4740      aaaab
4741    --->aaaab
4742     +0 ^         a*
4743     +2 ^   ^     b
4744     +3 ^    ^
4745     0: aaaab
4746      aaaacb
4747    --->aaaacb
4748     +0 ^          a*
4749     +2 ^   ^      b
4750     +0  ^         a*
4751     +2  ^  ^      b
4752     +0   ^        a*
4753     +2   ^ ^      b
4754     +0    ^       a*
4755     +2    ^^      b
4756     +0      ^     a*
4757     +2      ^     b
4758     +3      ^^
4759     0: b
4760    
4761    /a*b/ICDZSS
4762  ------------------------------------------------------------------  ------------------------------------------------------------------
4763          Bra          Bra
4764          Callout 255 0 2          Callout 255 0 2
# Line 4854  No match Line 4770  No match
4770          End          End
4771  ------------------------------------------------------------------  ------------------------------------------------------------------
4772  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4773  Options:  Options:
4774  No first char  No first char
4775  Need char = 'b'  Need char = 'b'
# Line 4899  Need char = 'b' Line 4814  Need char = 'b'
4814          End          End
4815  ------------------------------------------------------------------  ------------------------------------------------------------------
4816  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4817  Options:  Options:
4818  First char = 'a'  First char = 'a'
4819  Need char = 'b'  Need char = 'b'
# Line 4927  Need char = 'b' Line 4841  Need char = 'b'
4841   +2    ^^      b   +2    ^^      b
4842  No match  No match
4843    
4844  /(abc|def)x/ICDZ  /(abc|def)x/ICDZS
4845  ------------------------------------------------------------------  ------------------------------------------------------------------
4846          Bra          Bra
4847          Callout 255 0 9          Callout 255 0 9
# Line 4958  Capturing subpattern count = 1 Line 4872  Capturing subpattern count = 1
4872  Options:  Options:
4873  No first char  No first char
4874  Need char = 'x'  Need char = 'x'
4875    Subject length lower bound = 4
4876    Starting byte set: a d
4877    abcx    abcx
4878  --->abcx  --->abcx
4879   +0 ^        (abc|def)   +0 ^        (abc|def)
# Line 4981  Need char = 'x' Line 4897  Need char = 'x'
4897  +10 ^   ^  +10 ^   ^
4898   0: defx   0: defx
4899   1: def   1: def
4900      ** Failers
4901    No match
4902    abcdefzx    abcdefzx
4903  --->abcdefzx  --->abcdefzx
4904   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 4990  Need char = 'x' Line 4908  Need char = 'x'
4908   +4 ^  ^         |   +4 ^  ^         |
4909   +9 ^  ^         x   +9 ^  ^         x
4910   +5 ^            d   +5 ^            d
  +0  ^           (abc|def)  
  +1  ^           a  
  +5  ^           d  
  +0   ^          (abc|def)  
  +1   ^          a  
  +5   ^          d  
4911   +0    ^         (abc|def)   +0    ^         (abc|def)
4912   +1    ^         a   +1    ^         a
4913   +5    ^         d   +5    ^         d
# Line 5003  Need char = 'x' Line 4915  Need char = 'x'
4915   +7    ^ ^       f   +7    ^ ^       f
4916   +8    ^  ^      )   +8    ^  ^      )
4917   +9    ^  ^      x   +9    ^  ^      x
  +0     ^        (abc|def)  
  +1     ^        a  
  +5     ^        d  
  +0      ^       (abc|def)  
  +1      ^       a  
  +5      ^       d  
  +0       ^      (abc|def)  
  +1       ^      a  
  +5       ^      d  
  +0        ^     (abc|def)  
  +1        ^     a  
  +5        ^     d  
4918  No match  No match
4919    
4920  /(ab|cd){3,4}/IC  /(abc|def)x/ICDZSS
4921    ------------------------------------------------------------------
4922            Bra
4923            Callout 255 0 9
4924            CBra 1
4925            Callout 255 1 1
4926            a
4927            Callout 255 2 1
4928            b
4929            Callout 255 3 1
4930            c
4931            Callout 255 4 0
4932            Alt
4933            Callout 255 5 1
4934            d
4935            Callout 255 6 1
4936            e
4937            Callout 255 7 1
4938            f
4939            Callout 255 8 0
4940            Ket
4941            Callout 255 9 1
4942            x
4943            Callout 255 10 0
4944            Ket
4945            End
4946    ------------------------------------------------------------------
4947  Capturing subpattern count = 1  Capturing subpattern count = 1
4948  Options:  Options:
4949  No first char  No first char
4950  No need char  Need char = 'x'
4951    ababab    abcx
4952  --->ababab  --->abcx
4953   +0 ^          (ab|cd){3,4}   +0 ^        (abc|def)
4954   +1 ^          a   +1 ^        a
4955   +2 ^^         b   +2 ^^       b
4956   +3 ^ ^        |   +3 ^ ^      c
4957   +1 ^ ^        a   +4 ^  ^     |
4958   +2 ^  ^       b   +9 ^  ^     x
4959   +3 ^   ^      |  +10 ^   ^
4960   +1 ^   ^      a   0: abcx
4961   +2 ^    ^     b   1: abc
4962      defx
4963    --->defx
4964     +0 ^        (abc|def)
4965     +1 ^        a
4966     +5 ^        d
4967     +6 ^^       e
4968     +7 ^ ^      f
4969     +8 ^  ^     )
4970     +9 ^  ^     x
4971    +10 ^   ^
4972     0: defx
4973     1: def
4974      ** Failers
4975    No match
4976      abcdefzx
4977    --->abcdefzx
4978     +0 ^            (abc|def)
4979     +1 ^            a
4980     +2 ^^           b
4981     +3 ^ ^          c
4982     +4 ^  ^         |
4983     +9 ^  ^         x
4984     +5 ^            d
4985     +0  ^           (abc|def)
4986     +1  ^           a
4987     +5  ^           d
4988     +0   ^          (abc|def)
4989     +1   ^          a
4990     +5   ^          d
4991     +0    ^         (abc|def)
4992     +1    ^         a
4993     +5    ^         d
4994     +6    ^^        e
4995     +7    ^ ^       f
4996     +8    ^  ^      )
4997     +9    ^  ^      x
4998     +0     ^        (abc|def)
4999     +1     ^        a
5000     +5     ^        d
5001     +0      ^       (abc|def)
5002     +1      ^       a
5003     +5      ^       d
5004     +0       ^      (abc|def)
5005     +1       ^      a
5006     +5       ^      d
5007     +0        ^     (abc|def)
5008     +1        ^     a
5009     +5        ^     d
5010    No match
5011    
5012    /(ab|cd){3,4}/IC
5013    Capturing subpattern count = 1
5014    Options:
5015    No first char
5016    No need char
5017      ababab
5018    --->ababab
5019     +0 ^          (ab|cd){3,4}
5020     +1 ^          a
5021     +2 ^^         b
5022     +3 ^ ^        |
5023     +1 ^ ^        a
5024     +2 ^  ^       b
5025     +3 ^   ^      |
5026     +1 ^   ^      a
5027     +2 ^    ^     b
5028   +3 ^     ^    |   +3 ^     ^    |
5029   +1 ^     ^    a   +1 ^     ^    a
5030   +4 ^     ^    c   +4 ^     ^    c
# Line 5081  No need char Line 5073  No need char
5073   0: abcdcdcd   0: abcdcdcd
5074   1: cd   1: cd
5075    
5076  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZS
5077    ------------------------------------------------------------------
5078            Bra
5079            Callout 255 0 14
5080            CBra 1
5081            Callout 255 1 4
5082            [ab]
5083            Callout 255 5 1
5084            {
5085            Callout 255 6 1
5086            ,
5087            Callout 255 7 1
5088            4
5089            Callout 255 8 1
5090            }
5091            Callout 255 9 1
5092            c
5093            Callout 255 10 0
5094            Alt
5095            Callout 255 11 1
5096            x
5097            Callout 255 12 1
5098            y
5099            Callout 255 13 0
5100            Ket
5101            Callout 255 14 0
5102            Ket
5103            End
5104    ------------------------------------------------------------------
5105    Capturing subpattern count = 1
5106    Options:
5107    No first char
5108    No need char
5109    Subject length lower bound = 2
5110    Starting byte set: a b x
5111        Note: that { does NOT introduce a quantifier
5112    --->Note: that { does NOT introduce a quantifier
5113     +0         ^                                        ([ab]{,4}c|xy)
5114     +1         ^                                        [ab]
5115     +5         ^^                                       {
5116    +11         ^                                        x
5117     +0                                 ^                ([ab]{,4}c|xy)
5118     +1                                 ^                [ab]
5119     +5                                 ^^               {
5120    +11                                 ^                x
5121     +0                                     ^            ([ab]{,4}c|xy)
5122     +1                                     ^            [ab]
5123     +5                                     ^^           {
5124    +11                                     ^            x
5125    No match
5126    
5127    /([ab]{,4}c|xy)/ICDZSS
5128  ------------------------------------------------------------------  ------------------------------------------------------------------
5129          Bra          Bra
5130          Callout 255 0 14          Callout 255 0 14
# Line 5337  No match Line 5380  No match
5380          End          End
5381  ------------------------------------------------------------------  ------------------------------------------------------------------
5382  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5383  Options:  Options:
5384  No first char  No first char
5385  Need char = '3'  Need char = '3'
# Line 5369  Need char = '3' Line 5411  Need char = '3'
5411    
5412  /\b.*/I  /\b.*/I
5413  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5414  No options  No options
5415  No first char  No first char
5416  No need char  No need char
5417    Max lookbehind = 1
5418    ab cd\>1    ab cd\>1
5419   0:  cd   0:  cd
5420    
5421  /\b.*/Is  /\b.*/Is
5422  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5423  Options: dotall  Options: dotall
5424  No first char  No first char
5425  No need char  No need char
5426    Max lookbehind = 1
5427    ab cd\>1    ab cd\>1
5428   0:  cd   0:  cd
5429    
5430  /(?!.bcd).*/I  /(?!.bcd).*/I
5431  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5432  No options  No options
5433  No first char  No first char
5434  No need char  No need char
# Line 5400  No options Line 5441  No options
5441  First char = 'a'  First char = 'a'
5442  Need char = 'e'  Need char = 'e'
5443      ab\P      ab\P
5444  Partial match  Partial match: ab
5445      abc\P      abc\P
5446  Partial match  Partial match: abc
5447      abcd\P      abcd\P
5448  Partial match  Partial match: abcd
5449      abcde\P      abcde\P
5450   0: abcde   0: abcde
5451      the quick brown abc\P      the quick brown abc\P
5452  Partial match  Partial match: abc
5453      ** Failers\P      ** Failers\P
5454  No match  No match
5455      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5433  Need char = '/' Line 5474  Need char = '/'
5474   1: 02   1: 02
5475   2: 05   2: 05
5476      1\P      1\P
5477  Partial match  Partial match: 1
5478      1/2\P      1/2\P
5479  Partial match  Partial match: 1/2
5480      1/2/0\P      1/2/0\P
5481  Partial match  Partial match: 1/2/0
5482      1/2/04\P      1/2/04\P
5483   0: 1/2/04   0: 1/2/04
5484   1: 1   1: 1
5485   2: 2   2: 2
5486      0\P      0\P
5487  Partial match  Partial match: 0
5488      02/\P      02/\P
5489  Partial match  Partial match: 02/
5490      02/0\P      02/0\P
5491  Partial match  Partial match: 02/0
5492      02/1\P      02/1\P
5493  Partial match  Partial match: 02/1
5494      ** Failers\P      ** Failers\P
5495  No match  No match
5496      \P      \P
# Line 5471  No match Line 5512  No match
5512    
5513  /0{0,2}ABC/I  /0{0,2}ABC/I
5514  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5515  No options  No options
5516  No first char  No first char
5517  Need char = 'C'  Need char = 'C'
5518    
5519  /\d{3,}ABC/I  /\d{3,}ABC/I
5520  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5521  No options  No options
5522  No first char  No first char
5523  Need char = 'C'  Need char = 'C'
5524    
5525  /\d*ABC/I  /\d*ABC/I
5526  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5527  No options  No options
5528  No first char  No first char
5529  Need char = 'C'  Need char = 'C'
5530    
5531  /[abc]+DE/I  /[abc]+DE/I
5532  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5533  No options  No options
5534  No first char  No first char
5535  Need char = 'E'  Need char = 'E'
# Line 5505  Need char = '3' Line 5542  Need char = '3'
5542      123\P      123\P
5543   0: 123   0: 123
5544      a\P      a\P
5545  Partial match  Partial match: a
5546      b\P      b\P
5547  Partial match  Partial match: b
5548      c\P      c\P
5549  Partial match  Partial match: c
5550      c12\P      c12\P
5551  Partial match  Partial match: c12
5552      c123\P      c123\P
5553   0: c123   0: c123
5554    
# Line 5521  Options: anchored Line 5558  Options: anchored
5558  No first char  No first char
5559  Need char = 'X'  Need char = 'X'
5560      1\P      1\P
5561  Partial match  Partial match: 1
5562      123\P      123\P
5563  Partial match  Partial match: 123
5564      123X      123X
5565   0: 123X   0: 123X
5566      1234\P      1234\P
5567  Partial match  Partial match: 1234
5568      1234X      1234X
5569   0: 1234X   0: 1234X
5570      12345\P      12345\P
5571  Partial match  Partial match: 12345
5572      12345X      12345X
5573   0: 12345X   0: 12345X
5574      *** Failers      *** Failers
# Line 5541  No match Line 5578  No match
5578      123456\P      123456\P
5579  No match  No match
5580    
5581  /abc/I>testsavedregex  /abc/IS>testsavedregex
5582    Capturing subpattern count = 0
5583    No options
5584    First char = 'a'
5585    Need char = 'c'
5586    Subject length lower bound = 3
5587    No set of starting bytes
5588    Compiled pattern written to testsavedregex
5589    Study data written to testsavedregex
5590    <testsavedregex
5591    Compiled pattern loaded from testsavedregex
5592    Study data loaded from testsavedregex
5593        abc
5594     0: abc
5595        ** Failers
5596    No match
5597        bca
5598    No match
5599    
5600    /abc/ISS>testsavedregex
5601  Capturing subpattern count = 0  Capturing subpattern count = 0
5602  No options  No options
5603  First char = 'a'  First char = 'a'
5604  Need char = 'c'  Need char = 'c'
5605  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5606  <testsavedregex  <testsavedregex
5607  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5608  No study data  No study data
5609      abc      abc
5610   0: abc   0: abc
# Line 5557  No match Line 5613  No match
5613      bca      bca
5614  No match  No match
5615    
5616  /abc/IF>testsavedregex  /abc/IFS>testsavedregex
5617    Capturing subpattern count = 0
5618    No options
5619    First char = 'a'
5620    Need char = 'c'
5621    Subject length lower bound = 3
5622    No set of starting bytes
5623    Compiled pattern written to testsavedregex
5624    Study data written to testsavedregex
5625    <testsavedregex
5626    Compiled pattern (byte-inverted) loaded from testsavedregex
5627    Study data loaded from testsavedregex
5628        abc
5629     0: abc
5630        ** Failers
5631    No match
5632        bca
5633    No match
5634    
5635    /abc/IFSS>testsavedregex
5636  Capturing subpattern count = 0  Capturing subpattern count = 0
5637  No options  No options
5638  First char = 'a'  First char = 'a'
5639  Need char = 'c'  Need char = 'c'
5640  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5641  <testsavedregex  <testsavedregex
5642  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5643  No study data  No study data
5644      abc      abc
5645   0: abc   0: abc
# Line 5578  Capturing subpattern count = 1 Line 5653  Capturing subpattern count = 1
5653  No options  No options
5654  No first char  No first char
5655  No need char  No need char
5656    Subject length lower bound = 1
5657  Starting byte set: a b  Starting byte set: a b
5658  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5659  Study data written to testsavedregex  Study data written to testsavedregex
5660  <testsavedregex  <testsavedregex
5661  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5662  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5663      abc      abc
5664   0: a   0: a
# Line 5593  Study data loaded from testsavedregex Line 5669  Study data loaded from testsavedregex
5669      def      def
5670  No match  No match
5671    
5672    /(a|b)/ISS>testsavedregex
5673    Capturing subpattern count = 1
5674    No options
5675    No first char
5676    No need char
5677    Compiled pattern written to testsavedregex
5678    <testsavedregex
5679    Compiled pattern loaded from testsavedregex
5680    No study data
5681        abc
5682     0: a
5683     1: a
5684        ** Failers
5685     0: a
5686     1: a
5687        def
5688    No match
5689    
5690  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5691  Capturing subpattern count = 1  Capturing subpattern count = 1
5692  No options  No options
5693  No first char  No first char
5694  No need char  No need char
5695    Subject length lower bound = 1
5696  Starting byte set: a b  Starting byte set: a b
5697  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5698  Study data written to testsavedregex  Study data written to testsavedregex
5699  <testsavedregex  <testsavedregex
5700  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5701  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5702      abc      abc
5703   0: a   0: a
# Line 5613  Study data loaded from testsavedregex Line 5708  Study data loaded from testsavedregex
5708      def      def
5709  No match  No match
5710    
5711    /(a|b)/ISSF>testsavedregex
5712    Capturing subpattern count = 1
5713    No options
5714    No first char
5715    No need char
5716    Compiled pattern written to testsavedregex
5717    <testsavedregex
5718    Compiled pattern (byte-inverted) loaded from testsavedregex
5719    No study data
5720        abc
5721     0: a
5722     1: a
5723        ** Failers
5724     0: a
5725     1: a
5726        def
5727    No match
5728    
5729  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5730  Capturing subpattern count = 3  Capturing subpattern count = 3
5731  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5732  Options: multiline dotall  Options: multiline dotall
5733  First char = '<'  First char = '<'
5734  Need char = '>'  Need char = '>'
5735      <!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>
5736   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>
5737   1: seite   1: seite
5738   2: \x0a   2: \x0a
# Line 5669  No match Line 5781  No match
5781      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5782  No match  No match
5783    
 /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  
   
5784  /(?i)(?-i)AbCd/I  /(?i)(?-i)AbCd/I
5785  Capturing subpattern count = 0  Capturing subpattern count = 0
5786  No options  No options
# Line 5923  Matched, but too many substrings Line 6017  Matched, but too many substrings
6017    
6018  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6019  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6020  No options  No options
6021  No first char  No first char
6022  No need char  No need char
# Line 5936  No need char Line 6029  No need char
6029    
6030  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6031  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6032  No options  No options
6033  No first char  No first char
6034  No need char  No need char
# Line 5947  No need char Line 6039  No need char
6039    
6040  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6041  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6042  No options  No options
6043  No first char  No first char
6044  No need char  No need char
# Line 5958  No need char Line 6049  No need char
6049    
6050  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6051  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6052  No options  No options
6053  No first char  No first char
6054  No need char  No need char
# Line 5971  No need char Line 6061  No need char
6061    
6062  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6063  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6064  No options  No options
6065  No first char  No first char
6066  No need char  No need char
# Line 5984  No need char Line 6073  No need char
6073      ((this))      ((this))
6074   0: ((this))   0: ((this))
6075    
 /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  
   
6076  /\x{0000ff}/I  /\x{0000ff}/I
6077  Capturing subpattern count = 0  Capturing subpattern count = 0
6078  No options  No options
6079  First char = 255  First char = \xff
6080  No need char  No need char
6081    
6082  /^((?P<A>a1)|(?P<A>a2)b)/I  /^((?P<A>a1)|(?P<A>a2)b)/I
# Line 6108  no parentheses with name "Z" Line 6186  no parentheses with name "Z"
6186   0: a1   0: a1
6187   1: a1   1: a1
6188   2: a1   2: a1
6189  copy substring Z failed -7  get substring Z failed -7
6190    G a1 (2) A    G a1 (2) A
6191    
6192  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
# Line 6140  No need char Line 6218  No need char
6218    G a (1) A    G a (1) A
6219      cd\GA      cd\GA
6220   0: cd   0: cd
6221  copy substring A failed -7  get substring A failed -7
6222    
6223  /^(?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
6224  Capturing subpattern count = 4  Capturing subpattern count = 4
# Line 6308  No need char Line 6386  No need char
6386   9:   9:
6387  10: Y  10: Y
6388    
 /\777/I  
 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3  
   
6389  /\s*,\s*/IS  /\s*,\s*/IS
6390  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6391  No options  No options
6392  No first char  No first char
6393  Need char = ','  Need char = ','
6394    Subject length lower bound = 1
6395  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6396      \x0b,\x0b      \x0b,\x0b
6397   0: ,   0: ,
# Line 6443  Unknown newline type at: <bad> Line 6518  Unknown newline type at: <bad>
6518    
6519  /.*/I<lf>  /.*/I<lf>
6520  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6521  Options:  Options:
6522  Forced newline sequence: LF  Forced newline sequence: LF
6523  First char at start or follows newline  First char at start or follows newline
# Line 6469  No need char Line 6543  No need char
6543    
6544  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6545  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6546  Options: dotall  Options: dotall
6547  No first char  No first char
6548  Need char = 'f'  Need char = 'f'
# Line 6486  Need char = 'f' Line 6559  Need char = 'f'
6559    
6560  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6561  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6562  No options  No options
6563  No first char  No first char
6564  No need char  No need char
# Line 6621  No need char Line 6693  No need char
6693    
6694  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6695  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6696  No options  No options
6697  No first char  No first char
6698  No need char  No need char
6699    Subject length lower bound = 1
6700  Starting byte set: C a b c d  Starting byte set: C a b c d
6701    
6702  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6632  Capturing subpattern count = 1 Line 6704  Capturing subpattern count = 1
6704  No options  No options
6705  No first char  No first char
6706  Need char = 'z'  Need char = 'z'
6707    Subject length lower bound = 4
6708  Starting byte set: a b  Starting byte set: a b
6709    
6710  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6639  Capturing subpattern count = 1 Line 6712  Capturing subpattern count = 1
6712  No options  No options
6713  No first char  No first char
6714  Need char = 'z'  Need char = 'z'
6715    Subject length lower bound = 4
6716  Starting byte set: a b  Starting byte set: a b
6717    
6718  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6646  Capturing subpattern count = 1 Line 6720  Capturing subpattern count = 1
6720  No options  No options
6721  No first char  No first char
6722  Need char = 'z'  Need char = 'z'
6723    Subject length lower bound = 4
6724  Starting byte set: a b c  Starting byte set: a b c
6725    
6726  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6653  Capturing subpattern count = 1 Line 6728  Capturing subpattern count = 1
6728  No options  No options
6729  No first char  No first char
6730  Need char = 'z'  Need char = 'z'
6731    Subject length lower bound = 4
6732  Starting byte set: a b c  Starting byte set: a b c
6733    
6734  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6660  Capturing subpattern count = 1 Line 6736  Capturing subpattern count = 1
6736  No options  No options
6737  No first char  No first char
6738  Need char = 'z'  Need char = 'z'
6739    Subject length lower bound = 4
6740  Starting byte set: a b c d  Starting byte set: a b c d
6741    
6742  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6667  Capturing subpattern count = 1 Line 6744  Capturing subpattern count = 1
6744  No options  No options
6745  No first char  No first char
6746  Need char = 'z'  Need char = 'z'
6747    Subject length lower bound = 4
6748  Starting byte set: a b c d  Starting byte set: a b c d
6749    
6750  /^a*b\d/DZ  /^a*b\d/DZ
# Line 6680  Starting byte set: a b c d Line 6758  Starting byte set: a b c d
6758          End          End
6759  ------------------------------------------------------------------  ------------------------------------------------------------------
6760  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6761  Options: anchored  Options: anchored
6762  No first char  No first char
6763  Need char = 'b'  Need char = 'b'
# Line 6696  Need char = 'b' Line 6773  Need char = 'b'
6773          End          End
6774  ------------------------------------------------------------------  ------------------------------------------------------------------
6775  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6776  Options: anchored  Options: anchored
6777  No first char  No first char
6778  Need char = 'b'  Need char = 'b'
# Line 6712  Need char = 'b' Line 6788  Need char = 'b'
6788          End          End
6789  ------------------------------------------------------------------  ------------------------------------------------------------------
6790  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6791  Options: anchored  Options: anchored
6792  No first char  No first char
6793  Need char = 'b'  Need char = 'b'
# Line 6728  Need char = 'b' Line 6803  Need char = 'b'
6803          End          End
6804  ------------------------------------------------------------------  ------------------------------------------------------------------
6805  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6806  Options: anchored  Options: anchored
6807  No first char  No first char
6808  Need char = 'A'  Need char = 'A'
# Line 6743  No match Line 6817  No match
6817  ------------------------------------------------------------------  ------------------------------------------------------------------
6818          Bra          Bra
6819          ^          ^
6820          a*       /i a*
6821       NC A       /i A
6822          \d          \d
6823          Ket          Ket
6824          End          End
6825  ------------------------------------------------------------------  ------------------------------------------------------------------
6826  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6827  Options: anchored caseless  Options: anchored caseless
6828  No first char  No first char
6829  Need char = 'A' (caseless)  Need char = 'A' (caseless)
# Line 6761  Need char = 'A' (caseless) Line 6834  Need char = 'A' (caseless)
6834    
6835  /(a*|b*)[cd]/IS  /(a*|b*)[cd]/IS
6836  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6837  No options  No options
6838  No first char  No first char
6839  No need char  No need char
6840    Subject length lower bound = 1
6841  Starting byte set: a b c d  Starting byte set: a b c d
6842    
6843  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6844  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6845  No options  No options
6846  No first char  No first char
6847  No need char  No need char
6848    Subject length lower bound = 1
6849  Starting byte set: a b c d  Starting byte set: a b c d
6850    
6851  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6852  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6853  No options  No options
6854  No first char  No first char
6855  No need char  No need char
6856    Subject length lower bound = 1
6857  Starting byte set: a b c d  Starting byte set: a b c d
6858    
6859  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6860  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6861  No options  No options
6862  No first char  No first char
6863  No need char  No need char
6864    Subject length lower bound = 2
6865  Starting byte set: a b  Starting byte set: a b
6866    
6867  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7373  Matched, but too many substrings Line 7446  Matched, but too many substrings
7446  /[^a]+a/BZi  /[^a]+a/BZi
7447  ------------------------------------------------------------------  ------------------------------------------------------------------
7448          Bra          Bra
7449          [^A]++       /i [^a]++
7450       NC a       /i a
7451          Ket          Ket
7452          End          End
7453  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7382  Matched, but too many substrings Line 7455  Matched, but too many substrings
7455  /[^a]+A/BZi  /[^a]+A/BZi
7456  ------------------------------------------------------------------  ------------------------------------------------------------------
7457          Bra          Bra
7458          [^A]++       /i [^a]++
7459       NC A       /i A
7460          Ket          Ket
7461          End          End
7462  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7578  No match Line 7651  No match
7651  ------------------------------------------------------------------  ------------------------------------------------------------------
7652          Bra          Bra
7653          ^          ^
         Once  
7654          Recurse          Recurse
         Ket  
7655          [()]          [()]
7656          CBra 1          CBra 1
7657          Ket          Ket
# Line 7594  No match Line 7665  No match
7665          ^          ^
7666          CBra 1          CBra 1
7667          Cond          Cond
7668        2 Cond ref        2 Cond nref
7669          y          y
7670          Ket          Ket
7671          [()]          [()]
# Line 7614  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 7628  No match Line 7697  No match
7697  ------------------------------------------------------------------  ------------------------------------------------------------------
7698          Bra          Bra
7699          ^          ^
         Once  
7700          Recurse          Recurse
         Ket  
7701          [(\]a]          [(\]a]
7702          CBra 1          CBra 1
7703          Ket          Ket
# Line 7643  No match Line 7710  No match
7710  ------------------------------------------------------------------  ------------------------------------------------------------------
7711          Bra          Bra
7712          ^          ^
         Once  
7713          Recurse          Recurse
         Ket  
7714          CBra 1          CBra 1
7715          Ket          Ket
7716          Ket          Ket
# Line 7660  Named capturing subpatterns: Line 7725  Named capturing subpatterns:
7725    one     1    one     1
7726    three   3    three   3
7727    two     2    two     2
 Partial matching not supported  
7728  Options: anchored caseless  Options: anchored caseless
7729  No first char  No first char
7730  No need char  No need char
# Line 7694  No match Line 7758  No match
7758  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7759  Capturing subpattern count = 1  Capturing subpattern count = 1
7760  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
7761  No options  No options
7762  No first char  No first char
7763  Need char = ':'  Need char = ':'
# Line 7707  Capturing subpattern count = 1 Line 7770  Capturing subpattern count = 1
7770  Max back reference = 1  Max back reference = 1
7771  Named capturing subpatterns:  Named capturing subpatterns:
7772    abc   1    abc   1
 Partial matching not supported  
7773  No options  No options
7774  No first char  No first char
7775  Need char = ':'  Need char = ':'
# Line 7715  Need char = ':' Line 7777  Need char = ':'
7777   0: abcd:   0: abcd:
7778   1: abcd   1: abcd
7779    
 /(?'abc'\w+):\k<abc>{2}/  
     a:aaxyz  
  0: a:aa  
  1: a  
     ab:ababxyz  
  0: ab:abab  
  1: ab  
     ** Failers  
 No match  
     a:axyz  
 No match  
     ab:abxyz  
 No match  
   
7780  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7781      adaa      adaa
7782   0: adaa   0: adaa
# Line 7755  No match Line 7803  No match
7803      bddd      bddd
7804  No match  No match
7805    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7806  /(?(<bc))/  /(?(<bc))/
7807  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7808    
# Line 7792  Failed: reference to non-existent subpat Line 7833  Failed: reference to non-existent subpat
7833   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7834   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7835    
 /^(?(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>  
   
7836  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7837  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7838    
# Line 7819  Options: extended Line 7842  Options: extended
7842  First char = 'x'  First char = 'x'
7843  Need char = 'z'  Need char = 'z'
7844    
 /(?(DEFINE) abc){3} xyz/x  
 Failed: repeating a DEFINE group is not allowed at offset 17  
   
7845  /(a|)*\d/  /(a|)*\d/
7846    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
7847  No match  No match
# Line 7987  Need char = 'P' Line 8007  Need char = 'P'
8007   0: PXP   0: PXP
8008   1: P   1: P
8009    
 /(?(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  
   
8010  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
8011      123axbaxbaxbx456      123axbaxbaxbx456
8012   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8064  No match Line 8044  No match
8044     DEFabcABCXYZ     DEFabcABCXYZ
8045  No match  No match
8046    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
  0: ababababbbabZ  
  1: ab  
  2: b  
   
8047  /^(a)\g-2/  /^(a)\g-2/
8048  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8049    
# Line 8185  No match Line 8159  No match
8159          Alt          Alt
8160          c          c
8161          Ket          Ket
         Once  
8162          Recurse          Recurse
8163          Ket          Ket
         Ket  
8164          End          End
8165  ------------------------------------------------------------------  ------------------------------------------------------------------
8166      abc      abc
# Line 8199  No match Line 8171  No match
8171  ------------------------------------------------------------------  ------------------------------------------------------------------
8172          Bra          Bra
8173          xy          xy
         Once  
8174          Recurse          Recurse
         Ket  
8175          CBra 1          CBra 1
8176          abc          abc
8177          Ket          Ket
# Line 8325  Failed: reference to non-existent subpat Line 8295  Failed: reference to non-existent subpat
8295   0: Y!   0: Y!
8296   1: !   1: !
8297    
 /(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  
   
8298  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8299      tom-tom      tom-tom
8300   0: tom-tom   0: tom-tom
# Line 8357  No match Line 8307  No match
8307      tom-bon      tom-bon
8308  No match  No match
8309    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
  0: tom-tom  
  1: tom  
     bon-bon  
  0: bon-bon  
  1: bon  
   
8310  /\g{A/  /\g{A/
8311  Failed: syntax error in subpattern name (missing terminator) at offset 4  Failed: syntax error in subpattern name (missing terminator) at offset 4
8312    
# Line 8459  Failed: syntax error in subpattern name Line 8401  Failed: syntax error in subpattern name
8401   3: <unset>   3: <unset>
8402   4: x   4: x
8403    
 /(?|(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  
 ------------------------------------------------------------------  
   
8404  /\H++X/BZ  /\H++X/BZ
8405  ------------------------------------------------------------------  ------------------------------------------------------------------
8406          Bra          Bra
# Line 8786  No match Line 8592  No match
8592  ------------------------------------------------------------------  ------------------------------------------------------------------
8593    
8594  /\( (?: [^()]* | (?R) )* \)/x  /\( (?: [^()]* | (?R) )* \)/x
8595  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
8596   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
8597    
8598  /[\E]AAA/  /[\E]AAA/
# Line 8831  Failed: missing terminating ] for charac Line 8637  Failed: missing terminating ] for charac
8637          End          End
8638  ------------------------------------------------------------------  ------------------------------------------------------------------
8639    
 /^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  
   
8640  /^a+(*FAIL)/C  /^a+(*FAIL)/C
8641      aaaaaa      aaaaaa
8642  --->aaaaaa  --->aaaaaa
# Line 9040  No match Line 8765  No match
8765  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8766  No match  No match
8767    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8768  /a(*MARK)b/  /a(*MARK)b/
8769  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8770    
8771  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8772  Failed: number is too big at offset 19  Failed: number is too big at offset 19
# Line 9052  Failed: number is too big at offset 19 Line 8774  Failed: number is too big at offset 19
8774  /\g6666666666/  /\g6666666666/
8775  Failed: number is too big at offset 11  Failed: number is too big at offset 11
8776    
8777  /[\g6666666666]/  /[\g6666666666]/BZ
8778  Failed: number is too big at offset 12  ------------------------------------------------------------------
8779            Bra
8780            [6g]
8781            Ket
8782            End
8783    ------------------------------------------------------------------
8784    
8785  /(?1)\c[/  /(?1)\c[/
8786  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
# Line 9133  No match Line 8860  No match
8860  No match  No match
8861      a\x85b      a\x85b
8862  No match  No match
8863    
8864    /(*ANY).*/g
8865        abc\r\ndef
8866     0: abc
8867     0:
8868     0: def
8869     0:
8870    
8871    /(*ANYCRLF).*/g
8872        abc\r\ndef
8873     0: abc
8874     0:
8875     0: def
8876     0:
8877    
8878    /(*CRLF).*/g
8879        abc\r\ndef
8880     0: abc
8881     0:
8882     0: def
8883     0:
8884    
8885  /a\Rb/I<bsr_anycrlf>  /a\Rb/I<bsr_anycrlf>
8886  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 9216  No match Line 8964  No match
8964    
8965  /a\R{2,4}b/I<bsr_anycrlf>  /a\R{2,4}b/I<bsr_anycrlf>
8966  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
8967  Options: bsr_anycrlf  Options: bsr_anycrlf
8968  First char = 'a'  First char = 'a'
8969  Need char = 'b'  Need char = 'b'
# Line 9235  No match Line 8982  No match
8982    
8983  /a\R{2,4}b/I<bsr_unicode>  /a\R{2,4}b/I<bsr_unicode>
8984  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
8985  Options: bsr_unicode  Options: bsr_unicode
8986  First char = 'a'  First char = 'a'
8987  Need char = 'b'  Need char = 'b'
# Line 9340  Failed: subpattern name expected at offs Line 9086  Failed: subpattern name expected at offs
9086  /\k{}/  /\k{}/
9087  Failed: subpattern name expected at offset 3  Failed: subpattern name expected at offset 3
9088    
9089    /\k/
9090    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
9091    
9092    /\kabc/
9093    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
9094    
9095  /(?P=)/  /(?P=)/
9096  Failed: subpattern name expected at offset 4  Failed: subpattern name expected at offset 4
9097    
# Line 9385  Failed: unknown POSIX class name at offs Line 9137  Failed: unknown POSIX class name at offs
9137  /[[:a\dz:]]/  /[[:a\dz:]]/
9138  Failed: unknown POSIX class name at offset 3  Failed: unknown POSIX class name at offset 3
9139    
9140  /^(?<name>a|b\g<name>c)/  /(^(a|b\g<-1'c))/
9141      aaaa  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9142    
9143  /^(?<name>a|b\g'name'c)/  /^(?+1)(?<a>x|y){0}z/
9144      aaaa      xzxx
9145   0: a   0: xz
9146   1: a      yzyy
9147      bacxxx   0: yz
9148   0: bac      ** Failers
9149   1: bac  No match
9150      bbaccxxx      xxz
9151   0: bbacc  No match
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9152    
9153  /^(a|b\g<1>c)/  /(\3)(\1)(a)/
9154      aaaa      cat
9155   0: a  No match
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9156    
9157  /^(a|b\g'1'c)/  /(\3)(\1)(a)/<JS>
9158      aaaa      cat
9159   0: a   0: a
9160   1: a   1:
9161      bacxxx   2:
9162   0: bac   3: a
9163   1: bac  
9164      bbaccxxx  /TA]/
9165   0: bbacc      The ACTA] comes
9166   1: bbacc   0: TA]
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9167    
9168  /^(a|b\g'-1'c)/  /TA]/<JS>
9169      aaaa  Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
  0: a  
  1: a  
     bacxxx  
  0: bac  
  1: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
9170    
9171  /(^(a|b\g<-1>c))/  /(?2)[]a()b](abc)/
9172      aaaa  Failed: reference to non-existent subpattern at offset 3
  0: a  
  1: a  
  2: a  
     bacxxx  
  0: bac  
  1: bac  
  2: bac  
     bbaccxxx  
  0: bbacc  
  1: bbacc  
  2: bbacc  
     bbbacccxx  
  0: bbbaccc  
  1: bbbaccc  
  2: bbbaccc  
9173    
9174  /(^(a|b\g<-1'c))/  /(?2)[^]a()b](abc)/
9175  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15  Failed: reference to non-existent subpattern at offset 3
9176    
9177  /(^(a|b\g{-1}))/  /(?1)[]a()b](abc)/
9178      bacxxx      abcbabc
9179  No match   0: abcbabc
9180     1: abc
9181  /(?-i:\g<name>)(?i:(?<name>a))/      ** Failers
9182      XaaX  No match
9183   0: aa      abcXabc
  1: a  
     XAAX  
  0: AA  
  1: A  
   
 /(?i:\g<name>)(?-i:(?<name>a))/  
     XaaX  
  0: aa  
  1: a  
     ** Failers  
 No match  
     XAAX  
 No match  
   
 /(?-i:\g<+1>)(?i:(a))/  
     XaaX  
  0: aa  
  1: a  
     XAAX  
  0: AA  
  1: A  
   
 /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/  
   
 /(?<n>a|b|c)\g<n>*/  
    abc  
  0: abc  
  1: a  
    accccbbb  
  0: accccbbb  
  1: a  
   
 /^(?+1)(?<a>x|y){0}z/  
     xzxx  
  0: xz  
  1: <unset>  
     yzyy  
  0: yz  
  1: <unset>  
     ** Failers  
 No match  
     xxz  
 No match  
   
 /(\3)(\1)(a)/  
     cat  
 No match  
   
 /(\3)(\1)(a)/<JS>  
     cat  
  0: a  
  1:  
  2:  
  3: a  
   
 /TA]/  
     The ACTA] comes  
  0: TA]  
   
 /TA]/<JS>  
 Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2  
   
 /(?2)[]a()b](abc)/  
 Failed: reference to non-existent subpattern at offset 3  
   
 /(?2)[^]a()b](abc)/  
 Failed: reference to non-existent subpattern at offset 3  
   
 /(?1)[]a()b](abc)/  
     abcbabc  
  0: abcbabc  
  1: abc  
     ** Failers  
 No match  
     abcXabc  
9184  No match  No match
9185    
9186  /(?1)[^]a()b](abc)/  /(?1)[^]a()b](abc)/
# Line 9636  Capturing subpattern count = 1 Line 9259  Capturing subpattern count = 1
9259  No options  No options
9260  No first char  No first char
9261  No need char  No need char
9262    Subject length lower bound = 1
9263  Starting byte set: x y z  Starting byte set: x y z
9264    
9265  /(?(?=.*b)b|^)/CI  /(?(?=.*b)b|^)/CI
9266  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
9267  Options:  Options:
9268  No first char  No first char
9269  No need char  No need char
# Line 9680  No need char Line 9303  No need char
9303    
9304  /(?(?=b).*b|^d)/I  /(?(?=b).*b|^d)/I
9305  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
9306  No options  No options
9307  No first char  No first char
9308  No need char  No need char
9309    
9310  /(?(?=.*b).*b|^d)/I  /(?(?=.*b).*b|^d)/I
9311  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
9312  No options  No options
9313  First char at start or follows newline  First char at start or follows newline
9314  No need char  No need char
9315    
 /a?|b?/P  
     abc  
  0: a  
     ** Failers  
  0:  
     ddd\N  
 No match: POSIX code 17: match failed  
   
9316  /xyz/C  /xyz/C
9317    xyz    xyz
9318  --->xyz  --->xyz
# Line 9752  No match Line 9365  No match
9365   +0        ^     x   +0        ^     x
9366   +0         ^    x   +0         ^    x
9367  No match  No match
9368    
9369    /(*NO_START_OPT)xyz/C
9370      abcxyz
9371    --->abcxyz
9372    +15 ^          x
9373    +15  ^         x
9374    +15   ^        x
9375    +15    ^       x
9376    +16    ^^      y
9377    +17    ^ ^     z
9378    +18    ^  ^
9379     0: xyz
9380    
9381    /xyz/CY
9382      abcxyz
9383    --->abcxyz
9384     +0 ^          x
9385     +0  ^         x
9386     +0   ^        x
9387     +0    ^       x
9388     +1    ^^      y
9389     +2    ^ ^     z
9390     +3    ^  ^
9391     0: xyz
9392    
9393  /^"((?(?=[a])[^"])|b)*"$/C  /^"((?(?=[a])[^"])|b)*"$/C
9394      "ab"      "ab"
# Line 9786  No match Line 9423  No match
9423   0: "ab"   0: "ab"
9424   1:   1:
9425    
 /^X(?5)(a)(?|(b)|(q))(c)(d)(Y)/  
     XYabcdY  
  0: XYabcdY  
  1: a  
  2: b  
  3: c  
  4: d  
  5: Y  
   
9426  /^X(?5)(a)(?|(b)|(q))(c)(d)Y/  /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
9427  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
9428    
# Line 9807  Failed: reference to non-existent subpat Line 9435  Failed: reference to non-existent subpat
9435   4: d   4: d
9436   5: Y   5: Y
9437    
9438  /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/  /Xa{2,4}b/
9439      XYabcdY      X\P
9440   0: XYabcdY  Partial match: X
9441   1: a      Xa\P
9442   2: b  Partial match: Xa
9443   3: <unset>      Xaa\P
9444   4: <unset>  Partial match: Xaa
9445   5: c      Xaaa\P
9446   6: d  Partial match: Xaaa
9447   7: Y      Xaaaa\P
9448    Partial match: Xaaaa
9449    
9450    /Xa{2,4}?b/
9451        X\P
9452    Partial match: X
9453        Xa\P
9454    Partial match: Xa
9455        Xaa\P
9456    Partial match: Xaa
9457        Xaaa\P
9458    Partial match: Xaaa
9459        Xaaaa\P
9460    Partial match: Xaaaa
9461    
9462    /Xa{2,4}+b/
9463        X\P
9464    Partial match: X
9465        Xa\P
9466    Partial match: Xa
9467        Xaa\P
9468    Partial match: Xaa
9469        Xaaa\P
9470    Partial match: Xaaa
9471        Xaaaa\P
9472    Partial match: Xaaaa
9473    
9474    /X\d{2,4}b/
9475        X\P
9476    Partial match: X
9477        X3\P
9478    Partial match: X3
9479        X33\P
9480    Partial match: X33
9481        X333\P
9482    Partial match: X333
9483        X3333\P
9484    Partial match: X3333
9485    
9486    /X\d{2,4}?b/
9487        X\P
9488    Partial match: X
9489        X3\P
9490    Partial match: X3
9491        X33\P
9492    Partial match: X33
9493        X333\P
9494    Partial match: X333
9495        X3333\P
9496    Partial match: X3333
9497    
9498    /X\d{2,4}+b/
9499        X\P
9500    Partial match: X
9501        X3\P
9502    Partial match: X3
9503        X33\P
9504    Partial match: X33
9505        X333\P
9506    Partial match: X333
9507        X3333\P
9508    Partial match: X3333
9509    
9510    /X\D{2,4}b/
9511        X\P
9512    Partial match: X
9513        Xa\P
9514    Partial match: Xa
9515        Xaa\P
9516    Partial match: Xaa
9517        Xaaa\P
9518    Partial match: Xaaa
9519        Xaaaa\P
9520    Partial match: Xaaaa
9521    
9522    /X\D{2,4}?b/
9523        X\P
9524    Partial match: X
9525        Xa\P
9526    Partial match: Xa
9527        Xaa\P
9528    Partial match: Xaa
9529        Xaaa\P
9530    Partial match: Xaaa
9531        Xaaaa\P
9532    Partial match: Xaaaa
9533    
9534    /X\D{2,4}+b/
9535        X\P
9536    Partial match: X
9537        Xa\P
9538    Partial match: Xa
9539        Xaa\P
9540    Partial match: Xaa
9541        Xaaa\P
9542    Partial match: Xaaa
9543        Xaaaa\P
9544    Partial match: Xaaaa
9545    
9546    /X[abc]{2,4}b/
9547        X\P
9548    Partial match: X
9549        Xa\P
9550    Partial match: Xa
9551        Xaa\P
9552    Partial match: Xaa
9553        Xaaa\P
9554    Partial match: Xaaa
9555        Xaaaa\P
9556    Partial match: Xaaaa
9557    
9558    /X[abc]{2,4}?b/
9559        X\P
9560    Partial match: X
9561        Xa\P
9562    Partial match: Xa
9563        Xaa\P
9564    Partial match: Xaa
9565        Xaaa\P
9566    Partial match: Xaaa
9567        Xaaaa\P
9568    Partial match: Xaaaa
9569    
9570    /X[abc]{2,4}+b/
9571        X\P
9572    Partial match: X
9573        Xa\P
9574    Partial match: Xa
9575        Xaa\P
9576    Partial match: Xaa
9577        Xaaa\P
9578    Partial match: Xaaa
9579        Xaaaa\P
9580    Partial match: Xaaaa
9581    
9582    /X[^a]{2,4}b/
9583        X\P
9584    Partial match: X
9585        Xz\P
9586    Partial match: Xz
9587        Xzz\P
9588    Partial match: Xzz
9589        Xzzz\P
9590    Partial match: Xzzz
9591        Xzzzz\P
9592    Partial match: Xzzzz
9593    
9594    /X[^a]{2,4}?b/
9595        X\P
9596    Partial match: X
9597        Xz\P
9598    Partial match: Xz
9599        Xzz\P
9600    Partial match: Xzz
9601        Xzzz\P
9602    Partial match: Xzzz
9603        Xzzzz\P
9604    Partial match: Xzzzz
9605    
9606    /X[^a]{2,4}+b/
9607        X\P
9608    Partial match: X
9609        Xz\P
9610    Partial match: Xz
9611        Xzz\P
9612    Partial match: Xzz
9613        Xzzz\P
9614    Partial match: Xzzz
9615        Xzzzz\P
9616    Partial match: Xzzzz
9617    
9618    /(Y)X\1{2,4}b/
9619        YX\P
9620    Partial match: YX
9621        YXY\P
9622    Partial match: YXY
9623        YXYY\P
9624    Partial match: YXYY
9625        YXYYY\P
9626    Partial match: YXYYY
9627        YXYYYY\P
9628    Partial match: YXYYYY
9629    
9630    /(Y)X\1{2,4}?b/
9631        YX\P
9632    Partial match: YX
9633        YXY\P
9634    Partial match: YXY
9635        YXYY\P
9636    Partial match: YXYY
9637        YXYYY\P
9638    Partial match: YXYYY
9639        YXYYYY\P
9640    Partial match: YXYYYY
9641    
9642    /(Y)X\1{2,4}+b/
9643        YX\P
9644    Partial match: YX
9645        YXY\P
9646    Partial match: YXY
9647        YXYY\P
9648    Partial match: YXYY
9649        YXYYY\P
9650    Partial match: YXYYY
9651        YXYYYY\P
9652    Partial match: YXYYYY
9653    
9654    /\++\KZ|\d+X|9+Y/
9655        ++++123999\P
9656    Partial match: 123999
9657        ++++123999Y\P
9658     0: 999Y
9659        ++++Z1234\P
9660     0: Z
9661    
9662  /^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)/  /Z(*F)/
9663      XYabcdY      Z\P
9664   0: XYabcdY  No match
9665        ZA\P
9666    No match
9667    
9668    /Z(?!)/
9669        Z\P
9670    No match
9671        ZA\P
9672    No match
9673    
9674    /dog(sbody)?/
9675        dogs\P
9676     0: dog
9677        dogs\P\P
9678    Partial match: dogs
9679    
9680    /dog(sbody)??/
9681        dogs\P
9682     0: dog
9683        dogs\P\P
9684     0: dog
9685    
9686    /dog|dogsbody/
9687        dogs\P
9688     0: dog
9689        dogs\P\P
9690     0: dog
9691    
9692    /dogsbody|dog/
9693        dogs\P
9694     0: dog
9695        dogs\P\P
9696    Partial match: dogs
9697    
9698    /\bthe cat\b/
9699        the cat\P
9700     0: the cat
9701        the cat\P\P
9702    Partial match: the cat
9703    
9704    /abc/
9705       abc\P
9706     0: abc
9707       abc\P\P
9708     0: abc
9709    
9710    /abc\K123/
9711        xyzabc123pqr
9712     0: 123
9713        xyzabc12\P
9714    Partial match: abc12
9715        xyzabc12\P\P
9716    Partial match: abc12
9717    
9718    /(?<=abc)123/
9719        xyzabc123pqr
9720     0: 123
9721        xyzabc12\P
9722    Partial match: abc12
9723        xyzabc12\P\P
9724    Partial match: abc12
9725    
9726    /\babc\b/
9727        +++abc+++
9728     0: abc
9729        +++ab\P
9730    Partial match: +ab
9731        +++ab\P\P
9732    Partial match: +ab
9733    
9734    /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9735    ------------------------------------------------------------------
9736            Bra
9737            Recurse
9738            Recurse
9739            Cond
9740            Cond def
9741            CBra 1
9742            <
9743            [^m]
9744            [^>]
9745            >
9746            [^<]
9747            Ket
9748            CBra 2
9749            \w*+
9750            Ket
9751            Ket
9752            Ket
9753            End
9754    ------------------------------------------------------------------
9755    
9756    /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
9757    ------------------------------------------------------------------
9758            Bra
9759            Recurse
9760            Recurse
9761            Cond
9762            Cond def
9763            CBra 1
9764            <
9765            [\x00-/:-\xff] (neg)
9766            [^>]
9767            >
9768            [^<]
9769            Ket
9770            CBra 2
9771            \w*+
9772            Ket
9773            Ket
9774            Ket
9775            End
9776    ------------------------------------------------------------------
9777    
9778    /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
9779    ------------------------------------------------------------------
9780            Bra
9781            CBra 1
9782            ab
9783            Ket
9784            CBra 2
9785            x
9786            CBra 3
9787            y
9788            Ket
9789            z
9790            CBra 4
9791            cd
9792            Close 4
9793            Close 2
9794            *ACCEPT
9795            Ket
9796            Ket
9797            pq
9798            Ket
9799            End
9800    ------------------------------------------------------------------
9801    
9802    /abc\K/+
9803        abcdef
9804     0:
9805     0+ def
9806        abcdef\N\N
9807     0:
9808     0+ def
9809        xyzabcdef\N\N
9810     0:
9811     0+ def
9812        ** Failers
9813    No match
9814        abcdef\N
9815    No match
9816        xyzabcdef\N
9817    No match
9818    
9819    /^(?:(?=abc)|abc\K)/+
9820        abcdef
9821     0:
9822     0+ abcdef
9823        abcdef\N\N
9824     0:
9825     0+ def
9826        ** Failers
9827    No match
9828        abcdef\N
9829    No match
9830    
9831    /a?b?/+
9832        xyz
9833     0:
9834     0+ xyz
9835        xyzabc
9836     0:
9837     0+ xyzabc
9838        xyzabc\N
9839     0: ab
9840     0+ c
9841        xyzabc\N\N
9842     0:
9843     0+ yzabc
9844        xyz\N\N
9845     0:
9846     0+ yz
9847        ** Failers
9848     0:
9849     0+ ** Failers
9850        xyz\N
9851    No match
9852    
9853    /^a?b?/+
9854        xyz
9855     0:
9856     0+ xyz
9857        xyzabc
9858     0:
9859     0+ xyzabc
9860        ** Failers
9861     0:
9862     0+ ** Failers
9863        xyzabc\N
9864    No match
9865        xyzabc\N\N
9866    No match
9867        xyz\N\N
9868    No match
9869        xyz\N
9870    No match
9871    
9872    /^(?<name>a|b\g<name>c)/
9873        aaaa
9874     0: a
9875   1: a   1: a
9876   2: b      bacxxx
9877   3: <unset>   0: bac
9878   4: <unset>   1: bac
9879   5: c      bbaccxxx
9880   6: d   0: bbacc
9881   7: Y   1: bbacc
9882        bbbacccxx
9883     0: bbbaccc
9884     1: bbbaccc
9885    
9886  /^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)/  /^(?<name>a|b\g'name'c)/
9887      XYabcdY      aaaa
9888   0: XYabcdY   0: a
9889   1: a   1: a
9890   2: b      bacxxx
9891     0: bac
9892     1: bac
9893        bbaccxxx
9894     0: bbacc
9895     1: bbacc