/[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 264 by ph10, Tue Nov 13 11:07:16 2007 UTC revision 848 by ph10, Wed Jan 4 16:34:01 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 109  Failed: missing ) at offset 4 Line 145  Failed: missing ) at offset 4
145  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
146    
147  /(?z)abc/  /(?z)abc/
148  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
149    
150  /.*b/I  /.*b/I
151  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
152  No options  No options
153  First char at start or follows newline  First char at start or follows newline
154  Need char = 'b'  Need char = 'b'
155    
156  /.*?b/I  /.*?b/I
157  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
158  No options  No options
159  First char at start or follows newline  First char at start or follows newline
160  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 174  Capturing subpattern count = 0
174  No options  No options
175  No first char  No first char
176  No need char  No need char
177    Subject length lower bound = 3
178  Starting byte set: c d e  Starting byte set: c d e
179      this sentence eventually mentions a cat      this sentence eventually mentions a cat
180   0: cat   0: cat
# Line 151  Capturing subpattern count = 0 Line 186  Capturing subpattern count = 0
186  Options: caseless  Options: caseless
187  No first char  No first char
188  No need char  No need char
189    Subject length lower bound = 3
190  Starting byte set: C D E c d e  Starting byte set: C D E c d e
191      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
192   0: CAT   0: CAT
# Line 162  Capturing subpattern count = 0 Line 198  Capturing subpattern count = 0
198  No options  No options
199  No first char  No first char
200  No need char  No need char
201    Subject length lower bound = 1
202  Starting byte set: a b c d  Starting byte set: a b c d
203    
204  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
# Line 169  Capturing subpattern count = 1 Line 206  Capturing subpattern count = 1
206  No options  No options
207  No first char  No first char
208  No need char  No need char
209    Subject length lower bound = 1
210  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
211    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
212    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 189  Capturing subpattern count = 1 Line 227  Capturing subpattern count = 1
227  No options  No options
228  No first char  No first char
229  No need char  No need char
230    Subject length lower bound = 1
231  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
232    
233  /(ab\2)/  /(ab\2)/
# Line 310  No match Line 349  No match
349  No match  No match
350    
351  /ab(?z)cd/  /ab(?z)cd/
352  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
353    
354  /^abc|def/I  /^abc|def/I
355  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 324  No need char Line 363  No need char
363    
364  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
365  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
366  No options  No options
367  First char at start or follows newline  First char at start or follows newline
368  No need char  No need char
# Line 338  No need char Line 376  No need char
376   2: <unset>   2: <unset>
377   3: def   3: def
378    
 /abc/IP  
     abc  
  0: abc  
     *** Failers  
 No match: POSIX code 17: match failed  
   
 /^abc|def/IP  
     abcdef  
  0: abc  
     abcdef\B  
  0: def  
   
 /.*((abc)$|(def))/IP  
     defabc  
  0: defabc  
  1: abc  
  2: abc  
     \Zdefabc  
  0: def  
  1: def  
  3: def  
   
 /the quick brown fox/IP  
     the quick brown fox  
  0: the quick brown fox  
     *** Failers  
 No match: POSIX code 17: match failed  
     The Quick Brown Fox  
 No match: POSIX code 17: match failed  
   
 /the quick brown fox/IPi  
     the quick brown fox  
  0: the quick brown fox  
     The Quick Brown Fox  
  0: The Quick Brown Fox  
   
 /abc.def/IP  
     *** Failers  
 No match: POSIX code 17: match failed  
     abc\ndef  
 No match: POSIX code 17: match failed  
   
 /abc$/IP  
     abc  
  0: abc  
     abc\n  
  0: abc  
   
 /(abc)\2/IP  
 Failed: POSIX code 15: bad back reference at offset 7  
   
 /(abc\1)/IP  
     abc  
 No match: POSIX code 17: match failed  
   
379  /)/  /)/
380  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
381    
# Line 401  Failed: missing terminating ] for charac Line 384  Failed: missing terminating ] for charac
384    
385  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
386  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
387  No options  No options
388  No first char  No first char
389  No need char  No need char
# 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 522  No need char Line 497  No need char
497    
498  /(?s).*/I  /(?s).*/I
499  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
500  Options: anchored dotall  Options: anchored dotall
501  No first char  No first char
502  No need char  No need char
# Line 532  Capturing subpattern count = 0 Line 506  Capturing subpattern count = 0
506  No options  No options
507  No first char  No first char
508  No need char  No need char
509    Subject length lower bound = 1
510  Starting byte set: a b c d  Starting byte set: a b c d
511    
512  /(?i)[abcd]/IS  /(?i)[abcd]/IS
# Line 539  Capturing subpattern count = 0 Line 514  Capturing subpattern count = 0
514  Options: caseless  Options: caseless
515  No first char  No first char
516  No need char  No need char
517    Subject length lower bound = 1
518  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
519    
520  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
# Line 546  Capturing subpattern count = 1 Line 522  Capturing subpattern count = 1
522  Options: multiline  Options: multiline
523  No first char  No first char
524  No need char  No need char
525    Subject length lower bound = 1
526  Starting byte set: b c x y  Starting byte set: b c x y
527    
528  /(^a|^b)/Im  /(^a|^b)/Im
# Line 584  Failed: syntax error in subpattern name Line 561  Failed: syntax error in subpattern name
561  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
562  Capturing subpattern count = 1  Capturing subpattern count = 1
563  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
564  No options  No options
565  First char = 'b'  First char = 'b'
566  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 568  Need char = 'h'
568  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
569  Capturing subpattern count = 1  Capturing subpattern count = 1
570  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
571  No options  No options
572  First char = 'b' (caseless)  First char = 'b' (caseless)
573  Need char = 'h' (caseless)  Need char = 'h' (caseless)
# Line 601  Need char = 'h' (caseless) Line 576  Need char = 'h' (caseless)
576  ------------------------------------------------------------------  ------------------------------------------------------------------
577          Bra          Bra
578          CBra 1          CBra 1
579       01 Opt       /i b
      NC b  
580          Ket          Ket
      00 Opt  
581          Ket          Ket
582          End          End
583  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 612  Capturing subpattern count = 1 Line 585  Capturing subpattern count = 1
585  No options  No options
586  First char = 'b' (caseless)  First char = 'b' (caseless)
587  No need char  No need char
588  Study returned NULL  Subject length lower bound = 1
589    No set of starting bytes
590    
591  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
592  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
593  No options  No options
594  No first char  No first char
595  No need char  No need char
596    Subject length lower bound = 1
597  Starting byte set: C a b c d  Starting byte set: C a b c d
598    
599  /a$/I  /a$/I
# Line 668  Need char = 'c' Line 642  Need char = 'c'
642    
643  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
644  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
645  Options: anchored  Options: anchored
646  No first char  No first char
647  No need char  No need char
# Line 685  Capturing subpattern count = 0 Line 658  Capturing subpattern count = 0
658  No options  No options
659  No first char  No first char
660  No need char  No need char
661    Subject length lower bound = 1
662  Starting byte set: a b  Starting byte set: a b
663    
664  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
# Line 692  Capturing subpattern count = 1 Line 666  Capturing subpattern count = 1
666  No options  No options
667  No first char  No first char
668  Need char = 'a'  Need char = 'a'
669    Subject length lower bound = 5
670  Starting byte set: a o  Starting byte set: a o
671    
672  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
# Line 699  Capturing subpattern count = 0 Line 674  Capturing subpattern count = 0
674  No options  No options
675  No first char  No first char
676  No need char  No need char
677    Subject length lower bound = 1
678  Starting byte set: a b  Starting byte set: a b
679    
680  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
# Line 784  No need char Line 760  No need char
760    
761  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
762  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
763  No options  No options
764  First char at start or follows newline  First char at start or follows newline
765  No need char  No need char
# Line 854  No match Line 829  No match
829      a      a
830  No match  No match
831    
832  /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
833  Capturing subpattern count = 0  Capturing subpattern count = 0
834  No options  No options
835  First char = 'T'  First char = 'T'
# Line 866  Max back reference = 1 Line 841  Max back reference = 1
841  Options: anchored  Options: anchored
842  No first char  No first char
843  No need char  No need char
844        aaaa
845    No match
846      aaaaaa      aaaaaa
847   0: aaaaaa  No match
848   1: aa  
849    /Perl does not fail these two for the final subjects. Neither did PCRE until/
850    /release 8.01. The problem is in backtracking into a subpattern that contains/
851    No match
852    /a recursive reference to itself. PCRE has now made these into atomic patterns./
853    No match
854    
855    /^(xa|=?\1a){2}$/
856        xa=xaa
857     0: xa=xaa
858     1: =xaa
859        ** Failers
860    No match
861        xa=xaaa
862    No match
863    
864    /^(xa|=?\1a)+$/
865        xa=xaa
866     0: xa=xaa
867     1: =xaa
868        ** Failers
869    No match
870        xa=xaaa
871    No match
872    
873  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
874  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 946  Failed: missing ) at offset 4 Line 946  Failed: missing ) at offset 4
946  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
947    
948  /a(?{)b/  /a(?{)b/
949  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
950    
951  /a(?{{})b/  /a(?{{})b/
952  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
953    
954  /a(?{}})b/  /a(?{}})b/
955  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
956    
957  /a(?{"{"})b/  /a(?{"{"})b/
958  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
959    
960  /a(?{"{"}})b/  /a(?{"{"}})b/
961  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
962    
963  /(?(1?)a|b)/  /(?(1?)a|b)/
964  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
965    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
966  /[a[:xyz:/  /[a[:xyz:/
967  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
968    
# Line 978  Failed: numbers out of order in {} quant Line 975  Failed: numbers out of order in {} quant
975  /abc/\  /abc/\
976  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
977    
 /abc/\P  
 Failed: POSIX code 9: bad escape sequence at offset 4  
   
978  /abc/\i  /abc/\i
979  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
980    
# Line 1006  copy substring 5 failed -7 Line 1000  copy substring 5 failed -7
1000    
1001  /(.{20})/I  /(.{20})/I
1002  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1003  No options  No options
1004  No first char  No first char
1005  No need char  No need char
# Line 1024  No need char Line 1017  No need char
1017    
1018  /(.{15})/I  /(.{15})/I
1019  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1020  No options  No options
1021  No first char  No first char
1022  No need char  No need char
# Line 1039  No need char Line 1031  No need char
1031    
1032  /(.{16})/I  /(.{16})/I
1033  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1034  No options  No options
1035  No first char  No first char
1036  No need char  No need char
# Line 1099  No first char Line 1090  No first char
1090  No need char  No need char
1091      abc\00def\L\C0      abc\00def\L\C0
1092   0: abc\x00def   0: abc\x00def
1093   0C abc (7)   0C abc\x00def (7)
1094   0L abc   0L abc
1095    
1096  /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]+
1097  )((?:[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]+
1098  )?)?)?)?)?)?)?)?)?otherword/I  )?)?)?)?)?)?)?)?)?otherword/I
1099  Capturing subpattern count = 8  Capturing subpattern count = 8
 Partial matching not supported  
1100  Contains explicit CR or LF match  Contains explicit CR or LF match
1101  No options  No options
1102  First char = 'w'  First char = 'w'
# Line 1121  Need char = 'd' Line 1111  Need char = 'd'
1111          End          End
1112  ------------------------------------------------------------------  ------------------------------------------------------------------
1113  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1114  No options  No options
1115  First char at start or follows newline  First char at start or follows newline
1116  Need char = 'X'  Need char = 'X'
# Line 1129  Need char = 'X' Line 1118  Need char = 'X'
1118  /.*X/IDZs  /.*X/IDZs
1119  ------------------------------------------------------------------  ------------------------------------------------------------------
1120          Bra          Bra
1121          Any*          AllAny*
1122          X          X
1123          Ket          Ket
1124          End          End
1125  ------------------------------------------------------------------  ------------------------------------------------------------------
1126  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1127  Options: anchored dotall  Options: anchored dotall
1128  No first char  No first char
1129  Need char = 'X'  Need char = 'X'
# Line 1154  Need char = 'X' Line 1142  Need char = 'X'
1142          End          End
1143  ------------------------------------------------------------------  ------------------------------------------------------------------
1144  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1145  No options  No options
1146  First char at start or follows newline  First char at start or follows newline
1147  No need char  No need char
# Line 1163  No need char Line 1150  No need char
1150  ------------------------------------------------------------------  ------------------------------------------------------------------
1151          Bra          Bra
1152          CBra 1          CBra 1
1153          Any*          AllAny*
1154          X          X
1155          Alt          Alt
1156          ^          ^
# Line 1173  No need char Line 1160  No need char
1160          End          End
1161  ------------------------------------------------------------------  ------------------------------------------------------------------
1162  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1163  Options: anchored dotall  Options: anchored dotall
1164  No first char  No first char
1165  No need char  No need char
# Line 1182  No need char Line 1168  No need char
1168  ------------------------------------------------------------------  ------------------------------------------------------------------
1169          Bra          Bra
1170          CBra 1          CBra 1
1171          Any*          AllAny*
1172          X          X
1173          Alt          Alt
1174          ^          ^
# Line 1192  No need char Line 1178  No need char
1178          End          End
1179  ------------------------------------------------------------------  ------------------------------------------------------------------
1180  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1181  Options: anchored dotall  Options: anchored dotall
1182  No first char  No first char
1183  No need char  No need char
# Line 1201  No need char Line 1186  No need char
1186  ------------------------------------------------------------------  ------------------------------------------------------------------
1187          Bra          Bra
1188          Bra          Bra
1189       04 Opt          AllAny*
         Any*  
1190          X          X
1191          Alt          Alt
      04 Opt  
1192          ^          ^
1193          B          B
1194          Ket          Ket
      00 Opt  
1195          Ket          Ket
1196          End          End
1197  ------------------------------------------------------------------  ------------------------------------------------------------------
1198  Capturing subpattern count = 0  Capturing subpattern count = 0
1199  Partial matching not supported  Options: anchored
1200  No options  No first char
 First char at start or follows newline  
1201  No need char  No need char
1202    
1203  /\Biss\B/I+  /\Biss\B/I+
# Line 1228  Need char = 's' Line 1209  Need char = 's'
1209   0: iss   0: iss
1210   0+ issippi   0+ issippi
1211    
 /\Biss\B/I+P  
     Mississippi  
  0: iss  
  0+ issippi  
   
1212  /iss/IG+  /iss/IG+
1213  Capturing subpattern count = 0  Capturing subpattern count = 0
1214  No options  No options
# Line 1299  No need char Line 1275  No need char
1275    
1276  /.*iss/Ig+  /.*iss/Ig+
1277  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1278  No options  No options
1279  First char at start or follows newline  First char at start or follows newline
1280  Need char = 's'  Need char = 's'
# Line 1363  Capturing subpattern count = 0 Line 1338  Capturing subpattern count = 0
1338  Contains explicit CR or LF match  Contains explicit CR or LF match
1339  Options: multiline  Options: multiline
1340  First char at start or follows newline  First char at start or follows newline
1341  Need char = 10  Need char = \x0a
1342      ab\nab\ncd      ab\nab\ncd
1343   0: ab\x0a   0: ab\x0a
1344   0+ ab\x0acd   0+ ab\x0acd
# Line 1402  Need char = 'c' Line 1377  Need char = 'c'
1377    
1378  /a*/I  /a*/I
1379  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1380  No options  No options
1381  No first char  No first char
1382  No need char  No need char
1383    
1384  /a+/I  /a+/I
1385  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1386  No options  No options
1387  First char = 'a'  First char = 'a'
1388  No need char  No need char
1389    
1390  /(baa|a+)/I  /(baa|a+)/I
1391  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1392  No options  No options
1393  No first char  No first char
1394  Need char = 'a'  Need char = 'a'
1395    
1396  /a{0,3}/I  /a{0,3}/I
1397  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1398  No options  No options
1399  No first char  No first char
1400  No need char  No need char
1401    
1402  /baa{3,}/I  /baa{3,}/I
1403  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1404  No options  No options
1405  First char = 'b'  First char = 'b'
1406  Need char = 'a'  Need char = 'a'
1407    
1408  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1409  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1410  No options  No options
1411  First char = '"'  First char = '"'
1412  Need char = '"'  Need char = '"'
# Line 1492  Need char = 'b' Line 1461  Need char = 'b'
1461    
1462  /abc*/I  /abc*/I
1463  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1464  No options  No options
1465  First char = 'a'  First char = 'a'
1466  Need char = 'b'  Need char = 'b'
1467    
1468  /ab.c*/I  /ab.c*/I
1469  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1470  No options  No options
1471  First char = 'a'  First char = 'a'
1472  Need char = 'b'  Need char = 'b'
1473    
1474  /a.c*/I  /a.c*/I
1475  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1476  No options  No options
1477  First char = 'a'  First char = 'a'
1478  No need char  No need char
1479    
1480  /.c*/I  /.c*/I
1481  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1482  No options  No options
1483  No first char  No first char
1484  No need char  No need char
1485    
1486  /ac*/I  /ac*/I
1487  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1488  No options  No options
1489  First char = 'a'  First char = 'a'
1490  No need char  No need char
1491    
1492  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1493  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1494  No options  No options
1495  No first char  No first char
1496  No need char  No need char
1497    
1498  /a.c*|aba/I  /a.c*|aba/I
1499  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1500  No options  No options
1501  First char = 'a'  First char = 'a'
1502  No need char  No need char
1503    
1504  /.+a/I  /.+a/I
1505  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1506  No options  No options
1507  No first char  No first char
1508  Need char = 'a'  Need char = 'a'
1509    
1510  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1511  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1512  No options  No options
1513  First char = 'a'  First char = 'a'
1514  Need char = 'a'  Need char = 'a'
1515    
1516  /(?=a)a.*/I  /(?=a)a.*/I
1517  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1518  No options  No options
1519  First char = 'a'  First char = 'a'
1520  No need char  No need char
# Line 1568  No need char Line 1527  No need char
1527    
1528  /a\d*/I  /a\d*/I
1529  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1530  No options  No options
1531  First char = 'a'  First char = 'a'
1532  No need char  No need char
1533    
1534  /ab\d*/I  /ab\d*/I
1535  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1536  No options  No options
1537  First char = 'a'  First char = 'a'
1538  Need char = 'b'  Need char = 'b'
# Line 1594  Need char = 'd' Line 1551  Need char = 'd'
1551    
1552  /ab\d+/I  /ab\d+/I
1553  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1554  No options  No options
1555  First char = 'a'  First char = 'a'
1556  Need char = 'b'  Need char = 'b'
1557    
1558  /a(?(1)b)/I  /a(?(1)b)(.)/I
1559  Capturing subpattern count = 0  Capturing subpattern count = 1
1560  No options  No options
1561  First char = 'a'  First char = 'a'
1562  No need char  No need char
1563    
1564  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1565  Capturing subpattern count = 0  Capturing subpattern count = 1
1566  No options  No options
1567  First char = 'a'  First char = 'a'
1568  Need char = 'g'  Need char = 'g'
1569    
1570  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1571  Capturing subpattern count = 0  Capturing subpattern count = 1
1572  No options  No options
1573  First char = 'a'  First char = 'a'
1574  No need char  No need char
1575    
1576  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1577  Capturing subpattern count = 0  Capturing subpattern count = 1
1578  No options  No options
1579  First char = 'a'  First char = 'a'
1580  Need char = 'g'  Need char = 'g'
1581    
1582  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1583  Capturing subpattern count = 0  Capturing subpattern count = 1
1584  No options  No options
1585  First char = 'a'  First char = 'a'
1586  Need char = 'b'  Need char = 'b'
# Line 1669  No need char Line 1625  No need char
1625      \Nabc      \Nabc
1626  No match  No match
1627    
 /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  
   
1628  /^.?abcd/IS  /^.?abcd/IS
1629  Capturing subpattern count = 0  Capturing subpattern count = 0
1630  Options: anchored  Options: anchored
1631  No first char  No first char
1632  Need char = 'd'  Need char = 'd'
1633  Study returned NULL  Subject length lower bound = 4
1634    No set of starting bytes
1635    
1636  /\(             # ( at start  /\(             # ( at start
1637    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1712  Study returned NULL Line 1642  Study returned NULL
1642    \)            # Closing )    \)            # Closing )
1643    /Ix    /Ix
1644  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1645  Options: extended  Options: extended
1646  First char = '('  First char = '('
1647  Need char = ')'  Need char = ')'
# Line 1741  No match Line 1670  No match
1670    
1671  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1672  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1673  Options: extended  Options: extended
1674  First char = '('  First char = '('
1675  Need char = ')'  Need char = ')'
# Line 1756  Need char = ')' Line 1684  Need char = ')'
1684    
1685  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1686  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1687  Options: extended  Options: extended
1688  First char = '('  First char = '('
1689  Need char = ')'  Need char = ')'
# Line 1775  No match Line 1702  No match
1702    
1703  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1704  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1705  Options: extended  Options: extended
1706  First char = '('  First char = '('
1707  Need char = ')'  Need char = ')'
# Line 1786  Need char = ')' Line 1712  Need char = ')'
1712    
1713  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1714  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1715  Options: extended  Options: extended
1716  First char = '('  First char = '('
1717  Need char = ')'  Need char = ')'
# Line 1796  Need char = ')' Line 1721  Need char = ')'
1721    
1722  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1723  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1724  Options: extended  Options: extended
1725  First char = '('  First char = '('
1726  Need char = ')'  Need char = ')'
# Line 1807  Need char = ')' Line 1731  Need char = ')'
1731    
1732  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1733  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1734  Options: extended  Options: extended
1735  First char = '('  First char = '('
1736  Need char = ')'  Need char = ')'
# Line 1824  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 1841  Need char = ')' Line 1763  Need char = ')'
1763    
1764  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1765  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1766  Options: extended  Options: extended
1767  First char = '('  First char = '('
1768  Need char = ')'  Need char = ')'
# Line 1861  Need char = ')' Line 1782  Need char = ')'
1782    
1783  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1784  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1785  Options: extended  Options: extended
1786  First char = '('  First char = '('
1787  Need char = ')'  Need char = ')'
# Line 1869  Need char = ')' Line 1789  Need char = ')'
1789   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1790   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1791   2: 123   2: 123
  3: <unset>  
1792    
1793  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1794  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1795  Options: extended  Options: extended
1796  First char = '('  First char = '('
1797  Need char = ')'  Need char = ')'
# Line 1905  No need char Line 1823  No need char
1823  ------------------------------------------------------------------  ------------------------------------------------------------------
1824          Bra          Bra
1825          ^          ^
1826          [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1827          Ket          Ket
1828          End          End
1829  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1931  No need char Line 1849  No need char
1849  ------------------------------------------------------------------  ------------------------------------------------------------------
1850          Bra          Bra
1851          ^          ^
1852          [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1853          Ket          Ket
1854          End          End
1855  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1945  Capturing subpattern count = 0 Line 1863  Capturing subpattern count = 0
1863  No options  No options
1864  No first char  No first char
1865  No need char  No need char
1866    Subject length lower bound = 1
1867  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
1868    _ 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
1869    
# Line 1965  No need char Line 1884  No need char
1884  ------------------------------------------------------------------  ------------------------------------------------------------------
1885          Bra          Bra
1886          ^          ^
1887          [\x80-\xff]          [\x80-\xff] (neg)
1888          Ket          Ket
1889          End          End
1890  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1991  No need char Line 1910  No need char
1910  ------------------------------------------------------------------  ------------------------------------------------------------------
1911          Bra          Bra
1912          ^          ^
1913          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1914          Ket          Ket
1915          End          End
1916  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2006  Contains explicit CR or LF match Line 1925  Contains explicit CR or LF match
1925  No options  No options
1926  No first char  No first char
1927  No need char  No need char
1928    Subject length lower bound = 1
1929  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
1930    
1931  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
# Line 2142  No need char Line 2062  No need char
2062  ------------------------------------------------------------------  ------------------------------------------------------------------
2063          Bra          Bra
2064          ^          ^
2065          [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2066          Ket          Ket
2067          End          End
2068  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2155  No need char Line 2075  No need char
2075  ------------------------------------------------------------------  ------------------------------------------------------------------
2076          Bra          Bra
2077          ^          ^
2078          [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2079          Ket          Ket
2080          End          End
2081  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2168  No need char Line 2088  No need char
2088  ------------------------------------------------------------------  ------------------------------------------------------------------
2089          Bra          Bra
2090          ^          ^
2091          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2092          Ket          Ket
2093          End          End
2094  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2252  Need char = 'd' Line 2172  Need char = 'd'
2172  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2173  Capturing subpattern count = 271  Capturing subpattern count = 271
2174  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2175  No options  No options
2176  No first char  No first char
2177  No need char  No need char
# Line 2749  No need char Line 2668  No need char
2668  ------------------------------------------------------------------  ------------------------------------------------------------------
2669          Bra          Bra
2670          a          a
2671       01 Opt       /i b
      NC b  
2672          Ket          Ket
2673          End          End
2674  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2772  No match Line 2690  No match
2690          Bra          Bra
2691          CBra 1          CBra 1
2692          a          a
2693       01 Opt       /i b
      NC b  
2694          Ket          Ket
      00 Opt  
2695          Ket          Ket
2696          End          End
2697  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2797  No match Line 2713  No match
2713  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2714  ------------------------------------------------------------------  ------------------------------------------------------------------
2715          Bra          Bra
2716       NC abc       /i abc
2717          Ket          Ket
2718          End          End
2719  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2810  Need char = 'c' (caseless) Line 2726  Need char = 'c' (caseless)
2726    (?i)abc/IxDZ    (?i)abc/IxDZ
2727  ------------------------------------------------------------------  ------------------------------------------------------------------
2728          Bra          Bra
2729       NC abc       /i abc
2730          Ket          Ket
2731          End          End
2732  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2933  Need char = 'c' Line 2849  Need char = 'c'
2849          End          End
2850  ------------------------------------------------------------------  ------------------------------------------------------------------
2851  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2852  No options  No options
2853  No first char  No first char
2854  No need char  No need char
# Line 2962  No need char Line 2877  No need char
2877          End          End
2878  ------------------------------------------------------------------  ------------------------------------------------------------------
2879  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2880  No options  No options
2881  First char = 'x'  First char = 'x'
2882  No need char  No need char
# Line 2978  No need char Line 2892  No need char
2892          End          End
2893  ------------------------------------------------------------------  ------------------------------------------------------------------
2894  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2895  No options  No options
2896  First char = 'x'  First char = 'x'
2897  No need char  No need char
# Line 2986  No need char Line 2899  No need char
2899  /(x)*+/DZ  /(x)*+/DZ
2900  ------------------------------------------------------------------  ------------------------------------------------------------------
2901          Bra          Bra
2902          Once          Braposzero
2903          Brazero          CBraPos 1
         CBra 1  
2904          x          x
2905          KetRmax          KetRpos
         Ket  
2906          Ket          Ket
2907          End          End
2908  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3002  No need char Line 2913  No need char
2913    
2914  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2915  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2916  Options: anchored  Options: anchored
2917  No first char  No first char
2918  No need char  No need char
# Line 3016  No match Line 2926  No match
2926    
2927  /(\d++)(\w)/I  /(\d++)(\w)/I
2928  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
2929  No options  No options
2930  No first char  No first char
2931  No need char  No need char
# Line 3031  No match Line 2940  No match
2940    
2941  /a++b/I  /a++b/I
2942  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2943  No options  No options
2944  First char = 'a'  First char = 'a'
2945  Need char = 'b'  Need char = 'b'
# Line 3040  Need char = 'b' Line 2948  Need char = 'b'
2948    
2949  /(a++b)/I  /(a++b)/I
2950  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2951  No options  No options
2952  First char = 'a'  First char = 'a'
2953  Need char = 'b'  Need char = 'b'
# Line 3050  Need char = 'b' Line 2957  Need char = 'b'
2957    
2958  /(a++)b/I  /(a++)b/I
2959  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2960  No options  No options
2961  First char = 'a'  First char = 'a'
2962  Need char = 'b'  Need char = 'b'
# Line 3060  Need char = 'b' Line 2966  Need char = 'b'
2966    
2967  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
2968  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2969  No options  No options
2970  No first char  No first char
2971  No need char  No need char
# Line 3070  No need char Line 2975  No need char
2975    
2976  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
2977  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2978  No options  No options
2979  First char = '('  First char = '('
2980  Need char = ')'  Need char = ')'
# Line 3133  Failed: nothing to repeat at offset 7 Line 3037  Failed: nothing to repeat at offset 7
3037          End          End
3038  ------------------------------------------------------------------  ------------------------------------------------------------------
3039  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3040  No options  No options
3041  First char = 'x'  First char = 'x'
3042  Need char = 'b'  Need char = 'b'
# Line 3150  Need char = 'b' Line 3053  Need char = 'b'
3053          End          End
3054  ------------------------------------------------------------------  ------------------------------------------------------------------
3055  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3056  Options: ungreedy  Options: ungreedy
3057  First char = 'x'  First char = 'x'
3058  Need char = 'b'  Need char = 'b'
# Line 3179  Need char = 'b' Line 3081  Need char = 'b'
3081          End          End
3082  ------------------------------------------------------------------  ------------------------------------------------------------------
3083  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3084  Options: anchored  Options: anchored
3085  No first char  No first char
3086  No need char  No need char
# Line 3195  No need char Line 3096  No need char
3096          End          End
3097  ------------------------------------------------------------------  ------------------------------------------------------------------
3098  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3099  Options: anchored  Options: anchored
3100  No first char  No first char
3101  Need char = 'b'  Need char = 'b'
# Line 3213  Need char = 'b' Line 3113  Need char = 'b'
3113          End          End
3114  ------------------------------------------------------------------  ------------------------------------------------------------------
3115  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3116  Options: anchored  Options: anchored
3117  No first char  No first char
3118  Need char = 'b'  Need char = 'b'
# Line 3228  Failed: POSIX collating elements are not Line 3127  Failed: POSIX collating elements are not
3127  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
3128    
3129  /\l/I  /\l/I
3130  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
3131    
3132  /\L/I  /\L/I
3133  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
3134    
3135  /\N{name}/I  /\N{name}/I
3136  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
3137    
3138  /\u/I  /\u/I
3139  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
3140    
3141  /\U/I  /\U/I
3142  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
3143    
3144  /[/I  /[/I
3145  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3289  No need char Line 3188  No need char
3188    
3189  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3190  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3191  Options: extended  Options: extended
3192  First char = '<'  First char = '<'
3193  Need char = '>'  Need char = '>'
# Line 3339  Need char = 'X' Line 3237  Need char = 'X'
3237  /(.*)\d+\1/I  /(.*)\d+\1/I
3238  Capturing subpattern count = 1  Capturing subpattern count = 1
3239  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3240  No options  No options
3241  No first char  No first char
3242  No need char  No need char
3243    
3244  /(.*)\d+/I  /(.*)\d+/I
3245  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3246  No options  No options
3247  First char at start or follows newline  First char at start or follows newline
3248  No need char  No need char
# Line 3354  No need char Line 3250  No need char
3250  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3251  Capturing subpattern count = 1  Capturing subpattern count = 1
3252  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3253  Options: dotall  Options: dotall
3254  No first char  No first char
3255  No need char  No need char
3256    
3257  /(.*)\d+/Is  /(.*)\d+/Is
3258  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3259  Options: anchored dotall  Options: anchored dotall
3260  No first char  No first char
3261  No need char  No need char
# Line 3369  No need char Line 3263  No need char
3263  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3264  Capturing subpattern count = 2  Capturing subpattern count = 2
3265  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3266  No options  No options
3267  First char at start or follows newline  First char at start or follows newline
3268  Need char = 'z'  Need char = 'z'
# Line 3377  Need char = 'z' Line 3270  Need char = 'z'
3270  /((.*))\d+\1/I  /((.*))\d+\1/I
3271  Capturing subpattern count = 2  Capturing subpattern count = 2
3272  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3273  No options  No options
3274  No first char  No first char
3275  No need char  No need char
# Line 3394  Need char = 'b' Line 3286  Need char = 'b'
3286    
3287  /(?=a).*/I  /(?=a).*/I
3288  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3289  No options  No options
3290  First char = 'a'  First char = 'a'
3291  No need char  No need char
# Line 3441  No options Line 3332  No options
3332  No first char  No first char
3333  Need char = 'a'  Need char = 'a'
3334    
3335  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3336  Capturing subpattern count = 0  Capturing subpattern count = 1
3337  No options  No options
3338  First char = 'a'  First char = 'a'
3339  No need char  No need char
3340    
3341  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3342  Capturing subpattern count = 0  Capturing subpattern count = 1
3343  No options  No options
3344  First char = 'a'  First char = 'a'
3345  Need char = 'z'  Need char = 'z'
3346    
3347  /(?(1)abz)/I  /(?(1)abz)(.)/I
3348  Capturing subpattern count = 0  Capturing subpattern count = 1
3349  No options  No options
3350  No first char  No first char
3351  No need char  No need char
3352    
3353  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3354  Capturing subpattern count = 0  Capturing subpattern count = 1
3355  No options  No options
3356  No first char  No first char
3357  Need char = '3'  Need char = '3'
# Line 3500  Capturing subpattern count = 0 Line 3391  Capturing subpattern count = 0
3391  No options  No options
3392  No first char  No first char
3393  No need char  No need char
3394    Subject length lower bound = 1
3395  Starting byte set: a b  Starting byte set: a b
3396    
3397  /[^a]/I  /[^a]/I
# Line 3519  Capturing subpattern count = 0 Line 3411  Capturing subpattern count = 0
3411  No options  No options
3412  No first char  No first char
3413  Need char = '6'  Need char = '6'
3414    Subject length lower bound = 4
3415  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
3416    
3417  /a^b/I  /a^b/I
# Line 3552  Capturing subpattern count = 0 Line 3445  Capturing subpattern count = 0
3445  Options: caseless  Options: caseless
3446  No first char  No first char
3447  No need char  No need char
3448    Subject length lower bound = 1
3449  Starting byte set: A B a b  Starting byte set: A B a b
3450    
3451  /[ab](?i)cd/IS  /[ab](?i)cd/IS
# Line 3559  Capturing subpattern count = 0 Line 3453  Capturing subpattern count = 0
3453  No options  No options
3454  No first char  No first char
3455  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3456    Subject length lower bound = 3
3457  Starting byte set: a b  Starting byte set: a b
3458    
3459  /abc(?C)def/I  /abc(?C)def/I
# Line 3594  Need char = 'f' Line 3489  Need char = 'f'
3489    1    ^    ^     f    1    ^    ^     f
3490   0: abcdef   0: abcdef
3491    
3492  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3493    Capturing subpattern count = 0
3494    No options
3495    No first char
3496    Need char = 'f'
3497    Subject length lower bound = 7
3498    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3499        1234abcdef
3500    --->1234abcdef
3501      1 ^              \d
3502      1  ^             \d
3503      1   ^            \d
3504      1    ^           \d
3505      2    ^   ^       d
3506     0: 4abcdef
3507        *** Failers
3508    No match
3509        abcdef
3510    No match
3511    
3512    /(?C1)\dabc(?C2)def/ISS
3513  Capturing subpattern count = 0  Capturing subpattern count = 0
3514  No options  No options
3515  No first char  No first char
# Line 3716  No need char Line 3631  No need char
3631    
3632  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3633  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3634  No options  No options
3635  No first char  No first char
3636  No need char  No need char
# Line 3845  Callout 0: last capture = 1 Line 3759  Callout 0: last capture = 1
3759    
3760  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3761  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3762  No options  No options
3763  First char = 'a'  First char = 'a'
3764  Need char = 'b'  Need char = 'b'
# Line 3871  No match Line 3784  No match
3784    
3785  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3786  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3787  No options  No options
3788  First char = 'a'  First char = 'a'
3789  Need char = 'b'  Need char = 'b'
# Line 3912  Capturing subpattern count = 0 Line 3824  Capturing subpattern count = 0
3824  No options  No options
3825  No first char  No first char
3826  No need char  No need char
3827    Subject length lower bound = 1
3828  Starting byte set: a b  Starting byte set: a b
3829    
3830  /(?R)/I  /(?R)/I
# Line 4000  Need char = '<' Line 3913  Need char = '<'
3913          Bra          Bra
3914          CBra 1          CBra 1
3915          a          a
         Once  
3916          Recurse          Recurse
         Ket  
3917          b          b
3918          Ket          Ket
3919          Ket          Ket
# Line 4031  No options Line 3942  No options
3942  First char = 'a'  First char = 'a'
3943  Need char = 'b'  Need char = 'b'
3944    
 /^\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  
   
3945  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3946  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3947  Options: anchored  Options: anchored
3948  No first char  No first char
3949  No need char  No need char
# Line 4108  No match Line 3984  No match
3984    
3985  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
3986  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3987  Options: extended  Options: extended
3988  First char = '<'  First char = '<'
3989  Need char = '>'  Need char = '>'
# Line 4259  Need char = 'a' Line 4134  Need char = 'a'
4134          Any          Any
4135          \1          \1
4136          bbb          bbb
         Once  
4137          Recurse          Recurse
         Ket  
4138          d          d
4139          Ket          Ket
4140          End          End
# Line 4282  Named capturing subpatterns: Line 4155  Named capturing subpatterns:
4155    one     1    one     1
4156    three   3    three   3
4157    two     2    two     2
 Partial matching not supported  
4158  Options: anchored caseless  Options: anchored caseless
4159  No first char  No first char
4160  No need char  No need char
# Line 4328  No need char Line 4200  No need char
4200    
4201  /(.*)a/Is  /(.*)a/Is
4202  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4203  Options: anchored dotall  Options: anchored dotall
4204  No first char  No first char
4205  Need char = 'a'  Need char = 'a'
# Line 4336  Need char = 'a' Line 4207  Need char = 'a'
4207  /(.*)a\1/Is  /(.*)a\1/Is
4208  Capturing subpattern count = 1  Capturing subpattern count = 1
4209  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4210  Options: dotall  Options: dotall
4211  No first char  No first char
4212  Need char = 'a'  Need char = 'a'
# Line 4344  Need char = 'a' Line 4214  Need char = 'a'
4214  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4215  Capturing subpattern count = 2  Capturing subpattern count = 2
4216  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4217  Options: anchored dotall  Options: anchored dotall
4218  No first char  No first char
4219  Need char = 'b'  Need char = 'b'
4220    
4221  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4222  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4223  Options: anchored dotall  Options: anchored dotall
4224  No first char  No first char
4225  Need char = 'z'  Need char = 'z'
# Line 4359  Need char = 'z' Line 4227  Need char = 'z'
4227  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4228  Capturing subpattern count = 3  Capturing subpattern count = 3
4229  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4230  Options: dotall  Options: dotall
4231  No first char  No first char
4232  Need char = 'z'  Need char = 'z'
# Line 4367  Need char = 'z' Line 4234  Need char = 'z'
4234  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4235  Capturing subpattern count = 3  Capturing subpattern count = 3
4236  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4237  Options: dotall  Options: dotall
4238  No first char  No first char
4239  Need char = 'z'  Need char = 'z'
# Line 4375  Need char = 'z' Line 4241  Need char = 'z'
4241  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4242  Capturing subpattern count = 3  Capturing subpattern count = 3
4243  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4244  Options: dotall  Options: dotall
4245  No first char  No first char
4246  Need char = 'z'  Need char = 'z'
# Line 4383  Need char = 'z' Line 4248  Need char = 'z'
4248  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4249  Capturing subpattern count = 3  Capturing subpattern count = 3
4250  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4251  Options: anchored dotall  Options: anchored dotall
4252  No first char  No first char
4253  Need char = 'z'  Need char = 'z'
4254    
4255  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4256  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4257  Options: anchored dotall  Options: anchored dotall
4258  No first char  No first char
4259  No need char  No need char
# Line 4398  No need char Line 4261  No need char
4261  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4262  Capturing subpattern count = 31  Capturing subpattern count = 31
4263  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4264  Options: dotall  Options: dotall
4265  No first char  No first char
4266  No need char  No need char
# Line 4406  No need char Line 4268  No need char
4268  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4269  Capturing subpattern count = 32  Capturing subpattern count = 32
4270  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4271  Options: dotall  Options: dotall
4272  No first char  No first char
4273  No need char  No need char
# Line 4473  Need char = 'c' Line 4334  Need char = 'c'
4334    
4335  /(a+)*zz/I  /(a+)*zz/I
4336  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4337  No options  No options
4338  No first char  No first char
4339  Need char = 'z'  Need char = 'z'
# Line 4610  Failed: two named subpatterns have the s Line 4470  Failed: two named subpatterns have the s
4470  Capturing subpattern count = 3  Capturing subpattern count = 3
4471  Named capturing subpatterns:  Named capturing subpatterns:
4472    elem   2    elem   2
 Partial matching not supported  
4473  No options  No options
4474  First char = '['  First char = '['
4475  Need char = ']'  Need char = ']'
# Line 4628  No match Line 4487  No match
4487  Capturing subpattern count = 3  Capturing subpattern count = 3
4488  Named capturing subpatterns:  Named capturing subpatterns:
4489    elem   2    elem   2
 Partial matching not supported  
4490  No options  No options
4491  First char = '['  First char = '['
4492  Need char = ']'  Need char = ']'
# Line 4648  Need char = ']' Line 4506  Need char = ']'
4506          a          a
4507          CBra 2          CBra 2
4508          b          b
         Once  
4509          Recurse          Recurse
         Ket  
4510          c          c
4511          Ket          Ket
4512          Ket          Ket
# Line 4670  No need char Line 4526  No need char
4526          a          a
4527          CBra 2          CBra 2
4528          b          b
         Once  
4529          Recurse          Recurse
         Ket  
4530          c          c
4531          Ket          Ket
4532          KetRmax          KetRmax
# Line 4693  No need char Line 4547  No need char
4547          a          a
4548          CBra 2          CBra 2
4549          b          b
         Once  
4550          Recurse          Recurse
         Ket  
4551          c          c
4552          Ket          Ket
4553          Ket          Ket
# Line 4704  No need char Line 4556  No need char
4556          a          a
4557          CBra 2          CBra 2
4558          b          b
         Once  
4559          Recurse          Recurse
         Ket  
4560          c          c
4561          Ket          Ket
4562          Ket          Ket
# Line 4735  No need char Line 4585  No need char
4585    
4586  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4587  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4588  Options: caseless  Options: caseless
4589  No first char  No first char
4590  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4745  Need char = 'g' (caseless) Line 4594  Need char = 'g' (caseless)
4594    
4595  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4596  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4597  Options: caseless  Options: caseless
4598  No first char  No first char
4599  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4600  Study returned NULL  Subject length lower bound = 8
4601    No set of starting bytes
4602       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4603   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4604   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
# Line 4764  Study returned NULL Line 4613  Study returned NULL
4613          End          End
4614  ------------------------------------------------------------------  ------------------------------------------------------------------
4615  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4616  No options  No options
4617  No first char  No first char
4618  Need char = 'b'  Need char = 'b'
4619  Study returned NULL  Subject length lower bound = 1
4620    No set of starting bytes
4621    
4622  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4623  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4788  Capturing subpattern count = 1 Line 4637  Capturing subpattern count = 1
4637  No options  No options
4638  No first char  No first char
4639  Need char = 'c'  Need char = 'c'
4640  Study returned NULL  Subject length lower bound = 1
4641    No set of starting bytes
4642    
4643  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4644  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4845  Need char = 'e' Line 4695  Need char = 'e'
4695   +4 ^   ^      e   +4 ^   ^      e
4696  No match  No match
4697    
4698  /a*b/ICDZ  /a*b/ICDZS
4699    ------------------------------------------------------------------
4700            Bra
4701            Callout 255 0 2
4702            a*+
4703            Callout 255 2 1
4704            b
4705            Callout 255 3 0
4706            Ket
4707            End
4708    ------------------------------------------------------------------
4709    Capturing subpattern count = 0
4710    Options:
4711    No first char
4712    Need char = 'b'
4713    Subject length lower bound = 1
4714    Starting byte set: a b
4715      ab
4716    --->ab
4717     +0 ^      a*
4718     +2 ^^     b
4719     +3 ^ ^
4720     0: ab
4721      aaaab
4722    --->aaaab
4723     +0 ^         a*
4724     +2 ^   ^     b
4725     +3 ^    ^
4726     0: aaaab
4727      aaaacb
4728    --->aaaacb
4729     +0 ^          a*
4730     +2 ^   ^      b
4731     +0  ^         a*
4732     +2  ^  ^      b
4733     +0   ^        a*
4734     +2   ^ ^      b
4735     +0    ^       a*
4736     +2    ^^      b
4737     +0      ^     a*
4738     +2      ^     b
4739     +3      ^^
4740     0: b
4741    
4742    /a*b/ICDZSS
4743  ------------------------------------------------------------------  ------------------------------------------------------------------
4744          Bra          Bra
4745          Callout 255 0 2          Callout 255 0 2
# Line 4857  No match Line 4751  No match
4751          End          End
4752  ------------------------------------------------------------------  ------------------------------------------------------------------
4753  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4754  Options:  Options:
4755  No first char  No first char
4756  Need char = 'b'  Need char = 'b'
# Line 4902  Need char = 'b' Line 4795  Need char = 'b'
4795          End          End
4796  ------------------------------------------------------------------  ------------------------------------------------------------------
4797  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4798  Options:  Options:
4799  First char = 'a'  First char = 'a'
4800  Need char = 'b'  Need char = 'b'
# Line 4930  Need char = 'b' Line 4822  Need char = 'b'
4822   +2    ^^      b   +2    ^^      b
4823  No match  No match
4824    
4825  /(abc|def)x/ICDZ  /(abc|def)x/ICDZS
4826  ------------------------------------------------------------------  ------------------------------------------------------------------
4827          Bra          Bra
4828          Callout 255 0 9          Callout 255 0 9
# Line 4961  Capturing subpattern count = 1 Line 4853  Capturing subpattern count = 1
4853  Options:  Options:
4854  No first char  No first char
4855  Need char = 'x'  Need char = 'x'
4856    Subject length lower bound = 4
4857    Starting byte set: a d
4858    abcx    abcx
4859  --->abcx  --->abcx
4860   +0 ^        (abc|def)   +0 ^        (abc|def)
# Line 4984  Need char = 'x' Line 4878  Need char = 'x'
4878  +10 ^   ^  +10 ^   ^
4879   0: defx   0: defx
4880   1: def   1: def
4881      ** Failers
4882    No match
4883    abcdefzx    abcdefzx
4884  --->abcdefzx  --->abcdefzx
4885   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 4993  Need char = 'x' Line 4889  Need char = 'x'
4889   +4 ^  ^         |   +4 ^  ^         |
4890   +9 ^  ^         x   +9 ^  ^         x
4891   +5 ^            d   +5 ^            d
  +0  ^           (abc|def)  
  +1  ^           a  
  +5  ^           d  
  +0   ^          (abc|def)  
  +1   ^          a  
  +5   ^          d  
4892   +0    ^         (abc|def)   +0    ^         (abc|def)
4893   +1    ^         a   +1    ^         a
4894   +5    ^         d   +5    ^         d
# Line 5006  Need char = 'x' Line 4896  Need char = 'x'
4896   +7    ^ ^       f   +7    ^ ^       f
4897   +8    ^  ^      )   +8    ^  ^      )
4898   +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  
4899  No match  No match
4900    
4901  /(ab|cd){3,4}/IC  /(abc|def)x/ICDZSS
4902  Capturing subpattern count = 1  ------------------------------------------------------------------
4903  Options:          Bra
4904  No first char          Callout 255 0 9
4905  No need char          CBra 1
4906    ababab          Callout 255 1 1
4907  --->ababab          a
4908   +0 ^          (ab|cd){3,4}          Callout 255 2 1
4909   +1 ^          a          b
4910   +2 ^^         b          Callout 255 3 1
4911   +3 ^ ^        |          c
4912   +1 ^ ^        a          Callout 255 4 0
4913   +2 ^  ^       b          Alt
4914   +3 ^   ^      |          Callout 255 5 1
4915            d
4916            Callout 255 6 1
4917            e
4918            Callout 255 7 1
4919            f
4920            Callout 255 8 0
4921            Ket
4922            Callout 255 9 1
4923            x
4924            Callout 255 10 0
4925            Ket
4926            End
4927    ------------------------------------------------------------------
4928    Capturing subpattern count = 1
4929    Options:
4930    No first char
4931    Need char = 'x'
4932      abcx
4933    --->abcx
4934     +0 ^        (abc|def)
4935     +1 ^        a
4936     +2 ^^       b
4937     +3 ^ ^      c
4938     +4 ^  ^     |
4939     +9 ^  ^     x
4940    +10 ^   ^
4941     0: abcx
4942     1: abc
4943      defx
4944    --->defx
4945     +0 ^        (abc|def)
4946     +1 ^        a
4947     +5 ^        d
4948     +6 ^^       e
4949     +7 ^ ^      f
4950     +8 ^  ^     )
4951     +9 ^  ^     x
4952    +10 ^   ^
4953     0: defx
4954     1: def
4955      ** Failers
4956    No match
4957      abcdefzx
4958    --->abcdefzx
4959     +0 ^            (abc|def)
4960     +1 ^            a
4961     +2 ^^           b
4962     +3 ^ ^          c
4963     +4 ^  ^         |
4964     +9 ^  ^         x
4965     +5 ^            d
4966     +0  ^           (abc|def)
4967     +1  ^           a
4968     +5  ^           d
4969     +0   ^          (abc|def)
4970     +1   ^          a
4971     +5   ^          d
4972     +0    ^         (abc|def)
4973     +1    ^         a
4974     +5    ^         d
4975     +6    ^^        e
4976     +7    ^ ^       f
4977     +8    ^  ^      )
4978     +9    ^  ^      x
4979     +0     ^        (abc|def)
4980     +1     ^        a
4981     +5     ^        d
4982     +0      ^       (abc|def)
4983     +1      ^       a
4984     +5      ^       d
4985     +0       ^      (abc|def)
4986     +1       ^      a
4987     +5       ^      d
4988     +0        ^     (abc|def)
4989     +1        ^     a
4990     +5        ^     d
4991    No match
4992    
4993    /(ab|cd){3,4}/IC
4994    Capturing subpattern count = 1
4995    Options:
4996    No first char
4997    No need char
4998      ababab
4999    --->ababab
5000     +0 ^          (ab|cd){3,4}
5001     +1 ^          a
5002     +2 ^^         b
5003     +3 ^ ^        |
5004     +1 ^ ^        a
5005     +2 ^  ^       b
5006     +3 ^   ^      |
5007   +1 ^   ^      a   +1 ^   ^      a
5008   +2 ^    ^     b   +2 ^    ^     b
5009   +3 ^     ^    |   +3 ^     ^    |
# Line 5084  No need char Line 5054  No need char
5054   0: abcdcdcd   0: abcdcdcd
5055   1: cd   1: cd
5056    
5057  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZS
5058    ------------------------------------------------------------------
5059            Bra
5060            Callout 255 0 14
5061            CBra 1
5062            Callout 255 1 4
5063            [ab]
5064            Callout 255 5 1
5065            {
5066            Callout 255 6 1
5067            ,
5068            Callout 255 7 1
5069            4
5070            Callout 255 8 1
5071            }
5072            Callout 255 9 1
5073            c
5074            Callout 255 10 0
5075            Alt
5076            Callout 255 11 1
5077            x
5078            Callout 255 12 1
5079            y
5080            Callout 255 13 0
5081            Ket
5082            Callout 255 14 0
5083            Ket
5084            End
5085    ------------------------------------------------------------------
5086    Capturing subpattern count = 1
5087    Options:
5088    No first char
5089    No need char
5090    Subject length lower bound = 2
5091    Starting byte set: a b x
5092        Note: that { does NOT introduce a quantifier
5093    --->Note: that { does NOT introduce a quantifier
5094     +0         ^                                        ([ab]{,4}c|xy)
5095     +1         ^                                        [ab]
5096     +5         ^^                                       {
5097    +11         ^                                        x
5098     +0                                 ^                ([ab]{,4}c|xy)
5099     +1                                 ^                [ab]
5100     +5                                 ^^               {
5101    +11                                 ^                x
5102     +0                                     ^            ([ab]{,4}c|xy)
5103     +1                                     ^            [ab]
5104     +5                                     ^^           {
5105    +11                                     ^            x
5106    No match
5107    
5108    /([ab]{,4}c|xy)/ICDZSS
5109  ------------------------------------------------------------------  ------------------------------------------------------------------
5110          Bra          Bra
5111          Callout 255 0 14          Callout 255 0 14
# Line 5340  No match Line 5361  No match
5361          End          End
5362  ------------------------------------------------------------------  ------------------------------------------------------------------
5363  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5364  Options:  Options:
5365  No first char  No first char
5366  Need char = '3'  Need char = '3'
# Line 5372  Need char = '3' Line 5392  Need char = '3'
5392    
5393  /\b.*/I  /\b.*/I
5394  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5395  No options  No options
5396  No first char  No first char
5397  No need char  No need char
# Line 5381  No need char Line 5400  No need char
5400    
5401  /\b.*/Is  /\b.*/Is
5402  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5403  Options: dotall  Options: dotall
5404  No first char  No first char
5405  No need char  No need char
# Line 5390  No need char Line 5408  No need char
5408    
5409  /(?!.bcd).*/I  /(?!.bcd).*/I
5410  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5411  No options  No options
5412  No first char  No first char
5413  No need char  No need char
# Line 5403  No options Line 5420  No options
5420  First char = 'a'  First char = 'a'
5421  Need char = 'e'  Need char = 'e'
5422      ab\P      ab\P
5423  Partial match  Partial match: ab
5424      abc\P      abc\P
5425  Partial match  Partial match: abc
5426      abcd\P      abcd\P
5427  Partial match  Partial match: abcd
5428      abcde\P      abcde\P
5429   0: abcde   0: abcde
5430      the quick brown abc\P      the quick brown abc\P
5431  Partial match  Partial match: abc
5432      ** Failers\P      ** Failers\P
5433  No match  No match
5434      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5436  Need char = '/' Line 5453  Need char = '/'
5453   1: 02   1: 02
5454   2: 05   2: 05
5455      1\P      1\P
5456  Partial match  Partial match: 1
5457      1/2\P      1/2\P
5458  Partial match  Partial match: 1/2
5459      1/2/0\P      1/2/0\P
5460  Partial match  Partial match: 1/2/0
5461      1/2/04\P      1/2/04\P
5462   0: 1/2/04   0: 1/2/04
5463   1: 1   1: 1
5464   2: 2   2: 2
5465      0\P      0\P
5466  Partial match  Partial match: 0
5467      02/\P      02/\P
5468  Partial match  Partial match: 02/
5469      02/0\P      02/0\P
5470  Partial match  Partial match: 02/0
5471      02/1\P      02/1\P
5472  Partial match  Partial match: 02/1
5473      ** Failers\P      ** Failers\P
5474  No match  No match
5475      \P      \P
# Line 5474  No match Line 5491  No match
5491    
5492  /0{0,2}ABC/I  /0{0,2}ABC/I
5493  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5494  No options  No options
5495  No first char  No first char
5496  Need char = 'C'  Need char = 'C'
5497    
5498  /\d{3,}ABC/I  /\d{3,}ABC/I
5499  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5500  No options  No options
5501  No first char  No first char
5502  Need char = 'C'  Need char = 'C'
5503    
5504  /\d*ABC/I  /\d*ABC/I
5505  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5506  No options  No options
5507  No first char  No first char
5508  Need char = 'C'  Need char = 'C'
5509    
5510  /[abc]+DE/I  /[abc]+DE/I
5511  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5512  No options  No options
5513  No first char  No first char
5514  Need char = 'E'  Need char = 'E'
# Line 5508  Need char = '3' Line 5521  Need char = '3'
5521      123\P      123\P
5522   0: 123   0: 123
5523      a\P      a\P
5524  Partial match  Partial match: a
5525      b\P      b\P
5526  Partial match  Partial match: b
5527      c\P      c\P
5528  Partial match  Partial match: c
5529      c12\P      c12\P
5530  Partial match  Partial match: c12
5531      c123\P      c123\P
5532   0: c123   0: c123
5533    
# Line 5524  Options: anchored Line 5537  Options: anchored
5537  No first char  No first char
5538  Need char = 'X'  Need char = 'X'
5539      1\P      1\P
5540  Partial match  Partial match: 1
5541      123\P      123\P
5542  Partial match  Partial match: 123
5543      123X      123X
5544   0: 123X   0: 123X
5545      1234\P      1234\P
5546  Partial match  Partial match: 1234
5547      1234X      1234X
5548   0: 1234X   0: 1234X
5549      12345\P      12345\P
5550  Partial match  Partial match: 12345
5551      12345X      12345X
5552   0: 12345X   0: 12345X
5553      *** Failers      *** Failers
# Line 5544  No match Line 5557  No match
5557      123456\P      123456\P
5558  No match  No match
5559    
5560  /abc/I>testsavedregex  /abc/IS>testsavedregex
5561    Capturing subpattern count = 0
5562    No options
5563    First char = 'a'
5564    Need char = 'c'
5565    Subject length lower bound = 3
5566    No set of starting bytes
5567    Compiled pattern written to testsavedregex
5568    Study data written to testsavedregex
5569    <testsavedregex
5570    Compiled pattern loaded from testsavedregex
5571    Study data loaded from testsavedregex
5572        abc
5573     0: abc
5574        ** Failers
5575    No match
5576        bca
5577    No match
5578    
5579    /abc/ISS>testsavedregex
5580  Capturing subpattern count = 0  Capturing subpattern count = 0
5581  No options  No options
5582  First char = 'a'  First char = 'a'
5583  Need char = 'c'  Need char = 'c'
5584  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5585  <testsavedregex  <testsavedregex
5586  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5587  No study data  No study data
5588      abc      abc
5589   0: abc   0: abc
# Line 5560  No match Line 5592  No match
5592      bca      bca
5593  No match  No match
5594    
5595  /abc/IF>testsavedregex  /abc/IFS>testsavedregex
5596    Capturing subpattern count = 0
5597    No options
5598    First char = 'a'
5599    Need char = 'c'
5600    Subject length lower bound = 3
5601    No set of starting bytes
5602    Compiled pattern written to testsavedregex
5603    Study data written to testsavedregex
5604    <testsavedregex
5605    Compiled pattern (byte-inverted) loaded from testsavedregex
5606    Study data loaded from testsavedregex
5607        abc
5608     0: abc
5609        ** Failers
5610    No match
5611        bca
5612    No match
5613    
5614    /abc/IFSS>testsavedregex
5615  Capturing subpattern count = 0  Capturing subpattern count = 0
5616  No options  No options
5617  First char = 'a'  First char = 'a'
5618  Need char = 'c'  Need char = 'c'
5619  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5620  <testsavedregex  <testsavedregex
5621  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5622  No study data  No study data
5623      abc      abc
5624   0: abc   0: abc
# Line 5581  Capturing subpattern count = 1 Line 5632  Capturing subpattern count = 1
5632  No options  No options
5633  No first char  No first char
5634  No need char  No need char
5635    Subject length lower bound = 1
5636  Starting byte set: a b  Starting byte set: a b
5637  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5638  Study data written to testsavedregex  Study data written to testsavedregex
5639  <testsavedregex  <testsavedregex
5640  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5641  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5642      abc      abc
5643   0: a   0: a
# Line 5596  Study data loaded from testsavedregex Line 5648  Study data loaded from testsavedregex
5648      def      def
5649  No match  No match
5650    
5651    /(a|b)/ISS>testsavedregex
5652    Capturing subpattern count = 1
5653    No options
5654    No first char
5655    No need char
5656    Compiled pattern written to testsavedregex
5657    <testsavedregex
5658    Compiled pattern loaded from testsavedregex
5659    No study data
5660        abc
5661     0: a
5662     1: a
5663        ** Failers
5664     0: a
5665     1: a
5666        def
5667    No match
5668    
5669  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5670  Capturing subpattern count = 1  Capturing subpattern count = 1
5671  No options  No options
5672  No first char  No first char
5673  No need char  No need char
5674    Subject length lower bound = 1
5675  Starting byte set: a b  Starting byte set: a b
5676  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5677  Study data written to testsavedregex  Study data written to testsavedregex
5678  <testsavedregex  <testsavedregex
5679  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5680  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5681      abc      abc
5682   0: a   0: a
# Line 5616  Study data loaded from testsavedregex Line 5687  Study data loaded from testsavedregex
5687      def      def
5688  No match  No match
5689    
5690    /(a|b)/ISSF>testsavedregex
5691    Capturing subpattern count = 1
5692    No options
5693    No first char
5694    No need char
5695    Compiled pattern written to testsavedregex
5696    <testsavedregex
5697    Compiled pattern (byte-inverted) loaded from testsavedregex
5698    No study data
5699        abc
5700     0: a
5701     1: a
5702        ** Failers
5703     0: a
5704     1: a
5705        def
5706    No match
5707    
5708  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5709  Capturing subpattern count = 3  Capturing subpattern count = 3
5710  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5711  Options: multiline dotall  Options: multiline dotall
5712  First char = '<'  First char = '<'
5713  Need char = '>'  Need char = '>'
5714      <!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>
5715   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>
5716   1: seite   1: seite
5717   2: \x0a   2: \x0a
# Line 5672  No match Line 5760  No match
5760      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5761  No match  No match
5762    
 /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  
   
5763  /(?i)(?-i)AbCd/I  /(?i)(?-i)AbCd/I
5764  Capturing subpattern count = 0  Capturing subpattern count = 0
5765  No options  No options
# Line 5926  Matched, but too many substrings Line 5996  Matched, but too many substrings
5996    
5997  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
5998  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5999  No options  No options
6000  No first char  No first char
6001  No need char  No need char
# Line 5939  No need char Line 6008  No need char
6008    
6009  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6010  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6011  No options  No options
6012  No first char  No first char
6013  No need char  No need char
# Line 5950  No need char Line 6018  No need char
6018    
6019  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6020  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6021  No options  No options
6022  No first char  No first char
6023  No need char  No need char
# Line 5961  No need char Line 6028  No need char
6028    
6029  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6030  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6031  No options  No options
6032  No first char  No first char
6033  No need char  No need char
# Line 5974  No need char Line 6040  No need char
6040    
6041  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6042  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6043  No options  No options
6044  No first char  No first char
6045  No need char  No need char
# Line 5987  No need char Line 6052  No need char
6052      ((this))      ((this))
6053   0: ((this))   0: ((this))
6054    
 /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  
   
6055  /\x{0000ff}/I  /\x{0000ff}/I
6056  Capturing subpattern count = 0  Capturing subpattern count = 0
6057  No options  No options
6058  First char = 255  First char = \xff
6059  No need char  No need char
6060    
6061  /^((?P<A>a1)|(?P<A>a2)b)/I  /^((?P<A>a1)|(?P<A>a2)b)/I
# Line 6111  no parentheses with name "Z" Line 6165  no parentheses with name "Z"
6165   0: a1   0: a1
6166   1: a1   1: a1
6167   2: a1   2: a1
6168  copy substring Z failed -7  get substring Z failed -7
6169    G a1 (2) A    G a1 (2) A
6170    
6171  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
# Line 6143  No need char Line 6197  No need char
6197    G a (1) A    G a (1) A
6198      cd\GA      cd\GA
6199   0: cd   0: cd
6200  copy substring A failed -7  get substring A failed -7
6201    
6202  /^(?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
6203  Capturing subpattern count = 4  Capturing subpattern count = 4
# Line 6312  No need char Line 6366  No need char
6366  10: Y  10: Y
6367    
6368  /\777/I  /\777/I
6369  Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3  Failed: octal value is greater than \377 in 8-bit non-UTF-8 mode at offset 3
6370    
6371  /\s*,\s*/IS  /\s*,\s*/IS
6372  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6373  No options  No options
6374  No first char  No first char
6375  Need char = ','  Need char = ','
6376    Subject length lower bound = 1
6377  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6378      \x0b,\x0b      \x0b,\x0b
6379   0: ,   0: ,
# Line 6446  Unknown newline type at: <bad> Line 6500  Unknown newline type at: <bad>
6500    
6501  /.*/I<lf>  /.*/I<lf>
6502  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6503  Options:  Options:
6504  Forced newline sequence: LF  Forced newline sequence: LF
6505  First char at start or follows newline  First char at start or follows newline
# Line 6472  No need char Line 6525  No need char
6525    
6526  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6527  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6528  Options: dotall  Options: dotall
6529  No first char  No first char
6530  Need char = 'f'  Need char = 'f'
# Line 6489  Need char = 'f' Line 6541  Need char = 'f'
6541    
6542  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6543  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6544  No options  No options
6545  No first char  No first char
6546  No need char  No need char
# Line 6624  No need char Line 6675  No need char
6675    
6676  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6677  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6678  No options  No options
6679  No first char  No first char
6680  No need char  No need char
6681    Subject length lower bound = 1
6682  Starting byte set: C a b c d  Starting byte set: C a b c d
6683    
6684  /()[ab]xyz/IS  /()[ab]xyz/IS
# Line 6635  Capturing subpattern count = 1 Line 6686  Capturing subpattern count = 1
6686  No options  No options
6687  No first char  No first char
6688  Need char = 'z'  Need char = 'z'
6689    Subject length lower bound = 4
6690  Starting byte set: a b  Starting byte set: a b
6691    
6692  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
# Line 6642  Capturing subpattern count = 1 Line 6694  Capturing subpattern count = 1
6694  No options  No options
6695  No first char  No first char
6696  Need char = 'z'  Need char = 'z'
6697    Subject length lower bound = 4
6698  Starting byte set: a b  Starting byte set: a b
6699    
6700  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
# Line 6649  Capturing subpattern count = 1 Line 6702  Capturing subpattern count = 1
6702  No options  No options
6703  No first char  No first char
6704  Need char = 'z'  Need char = 'z'
6705    Subject length lower bound = 4
6706  Starting byte set: a b c  Starting byte set: a b c
6707    
6708  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
# Line 6656  Capturing subpattern count = 1 Line 6710  Capturing subpattern count = 1
6710  No options  No options
6711  No first char  No first char
6712  Need char = 'z'  Need char = 'z'
6713    Subject length lower bound = 4
6714  Starting byte set: a b c  Starting byte set: a b c
6715    
6716  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
# Line 6663  Capturing subpattern count = 1 Line 6718  Capturing subpattern count = 1
6718  No options  No options
6719  No first char  No first char
6720  Need char = 'z'  Need char = 'z'
6721    Subject length lower bound = 4
6722  Starting byte set: a b c d  Starting byte set: a b c d
6723    
6724  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
# Line 6670  Capturing subpattern count = 1 Line 6726  Capturing subpattern count = 1
6726  No options  No options
6727  No first char  No first char
6728  Need char = 'z'  Need char = 'z'
6729    Subject length lower bound = 4
6730  Starting byte set: a b c d  Starting byte set: a b c d
6731    
6732  /^a*b\d/DZ  /^a*b\d/DZ
# Line 6683  Starting byte set: a b c d Line 6740  Starting byte set: a b c d
6740          End          End
6741  ------------------------------------------------------------------  ------------------------------------------------------------------
6742  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6743  Options: anchored  Options: anchored
6744  No first char  No first char
6745  Need char = 'b'  Need char = 'b'
# Line 6699  Need char = 'b' Line 6755  Need char = 'b'
6755          End          End
6756  ------------------------------------------------------------------  ------------------------------------------------------------------
6757  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6758  Options: anchored  Options: anchored
6759  No first char  No first char
6760  Need char = 'b'  Need char = 'b'
# Line 6715  Need char = 'b' Line 6770  Need char = 'b'
6770          End          End
6771  ------------------------------------------------------------------  ------------------------------------------------------------------
6772  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6773  Options: anchored  Options: anchored
6774  No first char  No first char
6775  Need char = 'b'  Need char = 'b'
# Line 6731  Need char = 'b' Line 6785  Need char = 'b'
6785          End          End
6786  ------------------------------------------------------------------  ------------------------------------------------------------------
6787  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6788  Options: anchored  Options: anchored
6789  No first char  No first char
6790  Need char = 'A'  Need char = 'A'
# Line 6746  No match Line 6799  No match
6799  ------------------------------------------------------------------  ------------------------------------------------------------------
6800          Bra          Bra
6801          ^          ^
6802          a*       /i a*
6803       NC A       /i A
6804          \d          \d
6805          Ket          Ket
6806          End          End
6807  ------------------------------------------------------------------  ------------------------------------------------------------------
6808  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6809  Options: anchored caseless  Options: anchored caseless
6810  No first char  No first char
6811  Need char = 'A' (caseless)  Need char = 'A' (caseless)
# Line 6764  Need char = 'A' (caseless) Line 6816  Need char = 'A' (caseless)
6816    
6817  /(a*|b*)[cd]/IS  /(a*|b*)[cd]/IS
6818  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6819  No options  No options
6820  No first char  No first char
6821  No need char  No need char
6822    Subject length lower bound = 1
6823  Starting byte set: a b c d  Starting byte set: a b c d
6824    
6825  /(a+|b*)[cd]/IS  /(a+|b*)[cd]/IS
6826  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6827  No options  No options
6828  No first char  No first char
6829  No need char  No need char
6830    Subject length lower bound = 1
6831  Starting byte set: a b c d  Starting byte set: a b c d
6832    
6833  /(a*|b+)[cd]/IS  /(a*|b+)[cd]/IS
6834  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6835  No options  No options
6836  No first char  No first char
6837  No need char  No need char
6838    Subject length lower bound = 1
6839  Starting byte set: a b c d  Starting byte set: a b c d
6840    
6841  /(a+|b+)[cd]/IS  /(a+|b+)[cd]/IS
6842  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6843  No options  No options
6844  No first char  No first char
6845  No need char  No need char
6846    Subject length lower bound = 2
6847  Starting byte set: a b  Starting byte set: a b
6848    
6849  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((  /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
# Line 7376  Matched, but too many substrings Line 7428  Matched, but too many substrings
7428  /[^a]+a/BZi  /[^a]+a/BZi
7429  ------------------------------------------------------------------  ------------------------------------------------------------------
7430          Bra          Bra
7431          [^A]++       /i [^a]++
7432       NC a       /i a
7433          Ket          Ket
7434          End          End
7435  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7385  Matched, but too many substrings Line 7437  Matched, but too many substrings
7437  /[^a]+A/BZi  /[^a]+A/BZi
7438  ------------------------------------------------------------------  ------------------------------------------------------------------
7439          Bra          Bra
7440          [^A]++       /i [^a]++
7441       NC A       /i A
7442          Ket          Ket
7443          End          End
7444  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7581  No match Line 7633  No match
7633  ------------------------------------------------------------------  ------------------------------------------------------------------
7634          Bra          Bra
7635          ^          ^
         Once  
7636          Recurse          Recurse
         Ket  
7637          [()]          [()]
7638          CBra 1          CBra 1
7639          Ket          Ket
# Line 7597  No match Line 7647  No match
7647          ^          ^
7648          CBra 1          CBra 1
7649          Cond          Cond
7650        2 Cond ref        2 Cond nref
7651          y          y
7652          Ket          Ket
7653          [()]          [()]
# Line 7617  No match Line 7667  No match
7667  ------------------------------------------------------------------  ------------------------------------------------------------------
7668          Bra          Bra
7669          ^          ^
         Once  
7670          Recurse          Recurse
         Ket  
7671          ()          ()
7672          CBra 1          CBra 1
7673          Ket          Ket
# Line 7631  No match Line 7679  No match
7679  ------------------------------------------------------------------  ------------------------------------------------------------------
7680          Bra          Bra
7681          ^          ^
         Once  
7682          Recurse          Recurse
         Ket  
7683          [(\]a]          [(\]a]
7684          CBra 1          CBra 1
7685          Ket          Ket
# Line 7646  No match Line 7692  No match
7692  ------------------------------------------------------------------  ------------------------------------------------------------------
7693          Bra          Bra
7694          ^          ^
         Once  
7695          Recurse          Recurse
         Ket  
7696          CBra 1          CBra 1
7697          Ket          Ket
7698          Ket          Ket
# Line 7663  Named capturing subpatterns: Line 7707  Named capturing subpatterns:
7707    one     1    one     1
7708    three   3    three   3
7709    two     2    two     2
 Partial matching not supported  
7710  Options: anchored caseless  Options: anchored caseless
7711  No first char  No first char
7712  No need char  No need char
# Line 7697  No match Line 7740  No match
7740  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7741  Capturing subpattern count = 1  Capturing subpattern count = 1
7742  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
7743  No options  No options
7744  No first char  No first char
7745  Need char = ':'  Need char = ':'
# Line 7710  Capturing subpattern count = 1 Line 7752  Capturing subpattern count = 1
7752  Max back reference = 1  Max back reference = 1
7753  Named capturing subpatterns:  Named capturing subpatterns:
7754    abc   1    abc   1
 Partial matching not supported  
7755  No options  No options
7756  No first char  No first char
7757  Need char = ':'  Need char = ':'
# Line 7718  Need char = ':' Line 7759  Need char = ':'
7759   0: abcd:   0: abcd:
7760   1: abcd   1: abcd
7761    
 /(?'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  
   
7762  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
7763      adaa      adaa
7764   0: adaa   0: adaa
# Line 7758  No match Line 7785  No match
7785      bddd      bddd
7786  No match  No match
7787    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
  0: abd  
  1: a  
     ce  
  0: ce  
   
7788  /(?(<bc))/  /(?(<bc))/
7789  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7790    
# Line 7795  Failed: reference to non-existent subpat Line 7815  Failed: reference to non-existent subpat
7815   1: abcabc1Xabc2XabcX   1: abcabc1Xabc2XabcX
7816   2: abcabc1Xabc2XabcX   2: abcabc1Xabc2XabcX
7817    
 /^(?(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>  
   
7818  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7819  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7820    
# Line 7822  Options: extended Line 7824  Options: extended
7824  First char = 'x'  First char = 'x'
7825  Need char = 'z'  Need char = 'z'
7826    
 /(?(DEFINE) abc){3} xyz/x  
 Failed: repeating a DEFINE group is not allowed at offset 17  
   
7827  /(a|)*\d/  /(a|)*\d/
7828    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa    \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
7829  No match  No match
# Line 7854  No match Line 7853  No match
7853  No match  No match
7854    
7855  /^abc./mgx<any>  /^abc./mgx<any>
7856      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
7857   0: abc1   0: abc1
7858   0: abc2   0: abc2
7859   0: abc3   0: abc3
# Line 7864  No match Line 7863  No match
7863   0: abc7   0: abc7
7864    
7865  /abc.$/mgx<any>  /abc.$/mgx<any>
7866      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
7867   0: abc1   0: abc1
7868   0: abc2   0: abc2
7869   0: abc3   0: abc3
# Line 7990  Need char = 'P' Line 7989  Need char = 'P'
7989   0: PXP   0: PXP
7990   1: P   1: P
7991    
 /(?(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  
   
7992  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
7993      123axbaxbaxbx456      123axbaxbaxbx456
7994   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8067  No match Line 8026  No match
8026     DEFabcABCXYZ     DEFabcABCXYZ
8027  No match  No match
8028    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
  0: ababababbbabZ  
  1: ab  
  2: b  
   
8029  /^(a)\g-2/  /^(a)\g-2/
8030  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8031    
8032  /^(a)\g/  /^(a)\g/
8033  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
8034    
8035  /^(a)\g{0}/  /^(a)\g{0}/
8036  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 7  Failed: a numbered reference must not be zero at offset 8
8037    
8038  /^(a)\g{3/  /^(a)\g{3/
8039  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 8  Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 8
8040    
8041  /^(a)\g{4a}/  /^(a)\g{4a}/
8042  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 8166  No match Line 8119  No match
8119   0+   0+
8120    
8121  /abc.$/mgx<anycrlf>  /abc.$/mgx<anycrlf>
8122      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
8123   0: abc1   0: abc1
8124   0: abc4   0: abc4
8125   0: abc5   0: abc5
# Line 8188  No match Line 8141  No match
8141          Alt          Alt
8142          c          c
8143          Ket          Ket
         Once  
8144          Recurse          Recurse
8145          Ket          Ket
         Ket  
8146          End          End
8147  ------------------------------------------------------------------  ------------------------------------------------------------------
8148      abc      abc
# Line 8202  No match Line 8153  No match
8153  ------------------------------------------------------------------  ------------------------------------------------------------------
8154          Bra          Bra
8155          xy          xy
         Once  
8156          Recurse          Recurse
         Ket  
8157          CBra 1          CBra 1
8158          abc          abc
8159          Ket          Ket
# Line 8220  No match Line 8169  No match
8169  No match  No match
8170    
8171  /x(?-0)y/  /x(?-0)y/
8172  Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
8173    
8174  /x(?-1)y/  /x(?-1)y/
8175  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
8176    
8177  /x(?+0)y/  /x(?+0)y/
8178  Failed: (?+ or (?- or (?(+ or (?(- must be followed by a non-zero number at offset 5  Failed: a numbered reference must not be zero at offset 5
8179    
8180  /x(?+1)y/  /x(?+1)y/
8181  Failed: reference to non-existent subpattern at offset 5  Failed: reference to non-existent subpattern at offset 5
# Line 8308  Failed: reference to non-existent subpat Line 8257  Failed: reference to non-existent subpat
8257  /((?(-2)a))/BZ  /((?(-2)a))/BZ
8258  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
8259    
8260  /^(?(+1)X|Y)/BZ  /^(?(+1)X|Y)(.)/BZ
8261  ------------------------------------------------------------------  ------------------------------------------------------------------
8262          Bra          Bra
8263          ^          ^
# Line 8318  Failed: reference to non-existent subpat Line 8267  Failed: reference to non-existent subpat
8267          Alt          Alt
8268          Y          Y
8269          Ket          Ket
8270            CBra 1
8271            Any
8272            Ket
8273          Ket          Ket
8274          End          End
8275  ------------------------------------------------------------------  ------------------------------------------------------------------
8276      Y      Y!
8277   0: Y   0: Y!
8278     1: !
 /(foo)\Kbar/  
     foobar  
  0: bar  
  1: foo  
   
 /(foo)(\Kbar|baz)/  
     foobar  
  0: bar  
  1: foo  
  2: bar  
     foobaz  
  0: foobaz  
  1: foo  
  2: baz  
   
 /(foo\Kbar)baz/  
     foobarbaz  
  0: barbaz  
  1: foobar  
8279    
8280  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
8281      tom-tom      tom-tom
# Line 8356  No match Line 8289  No match
8289      tom-bon      tom-bon
8290  No match  No match
8291    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
  0: tom-tom  
  1: tom  
     bon-bon  
  0: bon-bon  
  1: bon  
   
8292  /\g{A/  /\g{A/
8293  Failed: syntax error in subpattern name (missing terminator) at offset 4  Failed: syntax error in subpattern name (missing terminator) at offset 4
8294    
# Line 8458  Failed: syntax error in subpattern name Line 8383  Failed: syntax error in subpattern name
8383   3: <unset>   3: <unset>
8384   4: x   4: x
8385    
 /(?|(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  
 ------------------------------------------------------------------  
   
8386  /\H++X/BZ  /\H++X/BZ
8387  ------------------------------------------------------------------  ------------------------------------------------------------------
8388          Bra          Bra
# Line 8785  No match Line 8574  No match
8574  ------------------------------------------------------------------  ------------------------------------------------------------------
8575    
8576  /\( (?: [^()]* | (?R) )* \)/x  /\( (?: [^()]* | (?R) )* \)/x
8577  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
8578   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
8579    
8580  /[\E]AAA/  /[\E]AAA/
# Line 8830  Failed: missing terminating ] for charac Line 8619  Failed: missing terminating ] for charac
8619          End          End
8620  ------------------------------------------------------------------  ------------------------------------------------------------------
8621    
 /^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  
   
8622  /^a+(*FAIL)/C  /^a+(*FAIL)/C
8623      aaaaaa      aaaaaa
8624  --->aaaaaa  --->aaaaaa
# Line 9039  No match Line 8747  No match
8747  +13   ^  ^      (*FAIL)  +13   ^  ^      (*FAIL)
8748  No match  No match
8749    
 /a(*PRUNE:XXX)b/  
 Failed: (*VERB) with an argument is not supported at offset 8  
   
8750  /a(*MARK)b/  /a(*MARK)b/
8751  Failed: (*VERB) not recognized at offset 7  Failed: (*MARK) must have an argument at offset 7
8752    
8753  /(?i:A{1,}\6666666666)/  /(?i:A{1,}\6666666666)/
8754  Failed: number is too big at offset 19  Failed: number is too big at offset 19
# Line 9051  Failed: number is too big at offset 19 Line 8756  Failed: number is too big at offset 19
8756  /\g6666666666/  /\g6666666666/
8757  Failed: number is too big at offset 11  Failed: number is too big at offset 11
8758    
8759  /[\g6666666666]/  /[\g6666666666]/BZ
8760  Failed: number is too big at offset 12  ------------------------------------------------------------------
8761            Bra
8762            [6g]
8763            Ket
8764            End
8765    ------------------------------------------------------------------
8766    
8767  /(?1)\c[/  /(?1)\c[/
8768  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
# Line 9132  No match Line 8842  No match
8842  No match  No match
8843      a\x85b      a\x85b
8844  No match  No match
8845    
8846    /(*ANY).*/g
8847        abc\r\ndef
8848     0: abc
8849     0:
8850     0: def
8851     0:
8852    
8853    /(*ANYCRLF).*/g
8854        abc\r\ndef
8855     0: abc
8856     0:
8857     0: def
8858     0:
8859    
8860    /(*CRLF).*/g
8861        abc\r\ndef
8862     0: abc
8863     0:
8864     0: def
8865     0:
8866    
8867  /a\Rb/I<bsr_anycrlf>  /a\Rb/I<bsr_anycrlf>
8868  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 9215  No match Line 8946  No match
8946    
8947  /a\R{2,4}b/I<bsr_anycrlf>  /a\R{2,4}b/I<bsr_anycrlf>
8948  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
8949  Options: bsr_anycrlf  Options: bsr_anycrlf
8950  First char = 'a'  First char = 'a'
8951  Need char = 'b'  Need char = 'b'
# Line 9234  No match Line 8964  No match
8964    
8965  /a\R{2,4}b/I<bsr_unicode>  /a\R{2,4}b/I<bsr_unicode>
8966  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
8967  Options: bsr_unicode  Options: bsr_unicode
8968  First char = 'a'  First char = 'a'
8969  Need char = 'b'  Need char = 'b'
# Line 9302  Forced newline sequence: CR Line 9031  Forced newline sequence: CR
9031  First char = 'a'  First char = 'a'
9032  Need char = 'b'  Need char = 'b'
9033    
9034  / End of testinput2 /  /(?<a>)(?&)/
9035    Failed: subpattern name expected at offset 9
9036    
9037    /(?<abc>)(?&a)/
9038    Failed: reference to non-existent subpattern at offset 12
9039    
9040    /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
9041    Failed: reference to non-existent subpattern at offset 32
9042    
9043    /(?+-a)/
9044    Failed: digit expected after (?+ at offset 3
9045    
9046    /(?-+a)/
9047    Failed: unrecognized character after (? or (?- at offset 3
9048    
9049    /(?(-1))/
9050    Failed: reference to non-existent subpattern at offset 6
9051    
9052    /(?(+10))/
9053    Failed: reference to non-existent subpattern at offset 7
9054    
9055    /(?(10))/
9056    Failed: reference to non-existent subpattern at offset 6
9057    
9058    /(?(+2))()()/
9059    
9060    /(?(2))()()/
9061    
9062    /\k''/
9063    Failed: subpattern name expected at offset 3
9064    
9065    /\k<>/
9066    Failed: subpattern name expected at offset 3
9067    
9068    /\k{}/
9069    Failed: subpattern name expected at offset 3
9070    
9071    /\k/
9072    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 2
9073    
9074    /\kabc/
9075    Failed: \k is not followed by a braced, angle-bracketed, or quoted name at offset 5
9076    
9077    /(?P=)/
9078    Failed: subpattern name expected at offset 4
9079    
9080    /(?P>)/
9081    Failed: subpattern name expected at offset 4
9082    
9083    /(?!\w)(?R)/
9084    Failed: recursive call could loop indefinitely at offset 9
9085    
9086    /(?=\w)(?R)/
9087    Failed: recursive call could loop indefinitely at offset 9
9088    
9089    /(?<!\w)(?R)/
9090    Failed: recursive call could loop indefinitely at offset 10
9091    
9092    /(?<=\w)(?R)/
9093    Failed: recursive call could loop indefinitely at offset 10
9094    
9095    /[[:foo:]]/
9096    Failed: unknown POSIX class name at offset 3
9097    
9098    /[[:1234:]]/
9099    Failed: unknown POSIX class name at offset 3
9100    
9101    /[[:f\oo:]]/
9102    Failed: unknown POSIX class name at offset 3
9103    
9104    /[[: :]]/
9105    Failed: unknown POSIX class name at offset 3
9106    
9107    /[[:...:]]/
9108    Failed: unknown POSIX class name at offset 3
9109    
9110    /[[:l\ower:]]/
9111    Failed: unknown POSIX class name at offset 3
9112    
9113    /[[:abc\:]]/
9114    Failed: unknown POSIX class name at offset 3
9115    
9116    /[abc[:x\]pqr:]]/
9117    Failed: unknown POSIX class name at offset 6
9118    
9119    /[[:a\dz:]]/
9120    Failed: unknown POSIX class name at offset 3
9121    
9122    /(^(a|b\g<-1'c))/
9123    Failed: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number at offset 15
9124    
9125    /^(?+1)(?<a>x|y){0}z/
9126        xzxx
9127     0: xz
9128        yzyy
9129     0: yz
9130        ** Failers
9131    No match
9132        xxz
9133    No match
9134    
9135    /(\3)(\1)(a)/
9136        cat
9137    No match
9138    
9139    /(\3)(\1)(a)/<JS>
9140        cat
9141     0: a
9142     1:
9143     2:
9144     3: a
9145    
9146    /TA]/
9147        The ACTA] comes
9148     0: TA]
9149    
9150    /TA]/<JS>
9151    Failed: ] is an invalid data character in JavaScript compatibility mode at offset 2
9152    
9153    /(?2)[]a()b](abc)/
9154    Failed: reference to non-existent subpattern at offset 3
9155    
9156    /(?2)[^]a()b](abc)/
9157    Failed: reference to non-existent subpattern at offset 3
9158    
9159    /(?1)[]a()b](abc)/
9160        abcbabc
9161     0: abcbabc
9162     1: abc
9163        ** Failers
9164    No match
9165        abcXabc
9166    No match
9167    
9168    /(?1)[^]a()b](abc)/
9169        abcXabc
9170     0: abcXabc
9171     1: abc
9172        ** Failers
9173    No match
9174        abcbabc
9175    No match
9176    
9177    /(?2)[]a()b](abc)(xyz)/
9178        xyzbabcxyz
9179     0: xyzbabcxyz
9180     1: abc
9181     2: xyz
9182    
9183    /(?&N)[]a(?<N>)](?<M>abc)/
9184    Failed: reference to non-existent subpattern at offset 4
9185    
9186    /(?&N)[]a(?<N>)](abc)/
9187    Failed: reference to non-existent subpattern at offset 4
9188    
9189    /a[]b/
9190    Failed: missing terminating ] for character class at offset 4
9191    
9192    /a[^]b/
9193    Failed: missing terminating ] for character class at offset 5
9194    
9195    /a[]b/<JS>
9196        ** Failers
9197    No match
9198        ab
9199    No match
9200    
9201    /a[]+b/<JS>
9202        ** Failers
9203    No match
9204        ab
9205    No match
9206    
9207    /a[]*+b/<JS>
9208        ** Failers
9209    No match
9210        ab
9211    No match
9212    
9213    /a[^]b/<JS>
9214        aXb
9215     0: aXb
9216        a\nb
9217     0: a\x0ab
9218        ** Failers
9219    No match
9220        ab
9221    No match
9222    
9223    /a[^]+b/<JS>
9224        aXb
9225     0: aXb
9226        a\nX\nXb
9227     0: a\x0aX\x0aXb
9228        ** Failers
9229    No match
9230        ab
9231    No match
9232    
9233    /a(?!)+b/
9234    Failed: nothing to repeat at offset 5
9235    
9236    /a(*FAIL)+b/
9237    Failed: nothing to repeat at offset 8
9238    
9239    /(abc|pqr|123){0}[xyz]/SI
9240    Capturing subpattern count = 1
9241    No options
9242    No first char
9243    No need char
9244    Subject length lower bound = 1
9245    Starting byte set: x y z
9246    
9247    /(?(?=.*b)b|^)/CI
9248    Capturing subpattern count = 0
9249    Options:
9250    No first char
9251    No need char
9252       adc
9253    --->adc
9254     +0 ^       (?(?=.*b)b|^)
9255     +2 ^       (?=.*b)
9256     +5 ^       .*
9257     +7 ^  ^    b
9258     +7 ^ ^     b
9259     +7 ^^      b
9260     +7 ^       b
9261    +12 ^       )
9262    +13 ^
9263     0:
9264       abc
9265    --->abc
9266     +0 ^       (?(?=.*b)b|^)
9267     +2 ^       (?=.*b)
9268     +5 ^       .*
9269     +7 ^  ^    b
9270     +7 ^ ^     b
9271     +7 ^^      b
9272     +8 ^ ^     )
9273     +9 ^       b
9274     +0  ^      (?(?=.*b)b|^)
9275     +2  ^      (?=.*b)
9276     +5  ^      .*
9277     +7  ^ ^    b
9278     +7  ^^     b
9279     +7  ^      b
9280     +8  ^^     )
9281     +9  ^      b
9282    +10  ^^     |
9283    +13  ^^
9284     0: b
9285    
9286    /(?(?=b).*b|^d)/I
9287    Capturing subpattern count = 0
9288    No options
9289    No first char
9290    No need char
9291    
9292    /(?(?=.*b).*b|^d)/I
9293    Capturing subpattern count = 0
9294    No options
9295    First char at start or follows newline
9296    No need char
9297    
9298    /xyz/C
9299      xyz
9300    --->xyz
9301     +0 ^       x
9302     +1 ^^      y
9303     +2 ^ ^     z
9304     +3 ^  ^
9305     0: xyz
9306      abcxyz
9307    --->abcxyz
9308     +0    ^       x
9309     +1    ^^      y
9310     +2    ^ ^     z
9311     +3    ^  ^
9312     0: xyz
9313      abcxyz\Y
9314    --->abcxyz
9315     +0 ^          x
9316     +0  ^         x
9317     +0   ^        x
9318     +0    ^       x
9319     +1    ^^      y
9320     +2    ^ ^     z
9321     +3    ^  ^
9322     0: xyz
9323      ** Failers
9324    No match
9325      abc
9326    No match
9327      abc\Y
9328    --->abc
9329     +0 ^       x
9330     +0  ^      x
9331     +0   ^     x
9332     +0    ^    x
9333    No match
9334      abcxypqr
9335    No match
9336      abcxypqr\Y
9337    --->abcxypqr
9338     +0 ^            x
9339     +0  ^           x
9340     +0   ^          x
9341     +0    ^         x
9342     +1    ^^        y
9343     +2    ^ ^       z
9344     +0     ^        x
9345     +0      ^       x
9346     +0       ^      x
9347     +0        ^     x
9348     +0         ^    x
9349    No match
9350    
9351    /(*NO_START_OPT)xyz/C
9352      abcxyz
9353    --->abcxyz
9354    +15 ^          x
9355    +15  ^         x
9356    +15   ^        x
9357    +15    ^       x
9358    +16    ^^      y
9359    +17    ^ ^     z
9360    +18    ^  ^
9361     0: xyz
9362    
9363    /xyz/CY
9364      abcxyz
9365    --->abcxyz
9366     +0 ^          x
9367     +0  ^         x
9368     +0   ^        x
9369     +0    ^       x
9370     +1    ^^      y
9371     +2    ^ ^     z
9372     +3    ^  ^
9373     0: xyz
9374    
9375    /^"((?(?=[a])[^"])|b)*"$/C
9376        "ab"
9377    --->"ab"
9378     +0 ^        ^
9379     +1 ^        "
9380     +2 ^^       ((?(?=[a])[^"])|b)*
9381     +3 ^^       (?(?=[a])[^"])
9382     +5 ^^       (?=[a])
9383     +8 ^^       [a]
9384    +11 ^ ^      )
9385    +12 ^^       [^"]
9386    +16 ^ ^      )
9387    +17 ^ ^      |
9388     +3 ^ ^      (?(?=[a])[^"])
9389     +5 ^ ^      (?=[a])
9390     +8 ^ ^      [a]
9391    +21 ^ ^      "
9392    +18 ^ ^      b
9393    +19 ^  ^     )
9394     +3 ^  ^     (?(?=[a])[^"])
9395     +5 ^  ^     (?=[a])
9396     +8 ^  ^     [a]
9397    +21 ^  ^     "
9398    +22 ^   ^    $
9399    +23 ^   ^
9400     0: "ab"
9401     1:
9402    
9403    /^"((?(?=[a])[^"])|b)*"$/
9404        "ab"
9405     0: "ab"
9406     1:
9407    
9408    /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
9409    Failed: reference to non-existent subpattern at offset 5
9410    
9411    /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
9412        XYabcdY
9413     0: XYabcdY
9414     1: a
9415     2: b
9416     3: c
9417     4: d
9418     5: Y
9419    
9420    /Xa{2,4}b/
9421        X\P
9422    Partial match: X
9423        Xa\P
9424    Partial match: Xa
9425        Xaa\P
9426    Partial match: Xaa
9427        Xaaa\P
9428    Partial match: Xaaa
9429        Xaaaa\P
9430    Partial match: Xaaaa
9431    
9432    /Xa{2,4}?b/
9433        X\P
9434    Partial match: X
9435        Xa\P
9436    Partial match: Xa
9437        Xaa\P
9438    Partial match: Xaa
9439        Xaaa\P
9440    Partial match: Xaaa
9441        Xaaaa\P
9442    Partial match: Xaaaa
9443    
9444    /Xa{2,4}+b/
9445        X\P
9446    Partial match: X
9447        Xa\P
9448    Partial match: Xa
9449        Xaa\P
9450    Partial match: Xaa
9451        Xaaa\P
9452    Partial match: Xaaa
9453        Xaaaa\P
9454    Partial match: Xaaaa
9455    
9456    /X\d{2,4}b/
9457        X\P
9458    Partial match: X
9459        X3\P
9460    Partial match: X3
9461        X33\P
9462    Partial match: X33
9463        X333\P
9464    Partial match: X333
9465        X3333\P
9466    Partial match: X3333
9467    
9468    /X\d{2,4}?b/
9469        X\P
9470    Partial match: X
9471        X3\P
9472    Partial match: X3
9473        X33\P
9474    Partial match: X33
9475        X333\P
9476    Partial match: X333
9477        X3333\P
9478    Partial match: X3333
9479    
9480    /X\d{2,4}+b/
9481        X\P
9482    Partial match: X
9483        X3\P
9484    Partial match: X3
9485        X33\P
9486    Partial match: X33
9487        X333\P
9488    Partial match: X333
9489        X3333\P
9490    Partial match: X3333
9491    
9492    /X\D{2,4}b/
9493        X\P
9494    Partial match: X
9495        Xa\P
9496    Partial match: Xa
9497        Xaa\P
9498    Partial match: Xaa
9499        Xaaa\P
9500    Partial match: Xaaa
9501        Xaaaa\P
9502    Partial match: Xaaaa
9503    
9504    /X\D{2,4}?b/
9505        X\P
9506    Partial match: X
9507        Xa\P
9508    Partial match: Xa
9509        Xaa\P
9510    Partial match: Xaa
9511        Xaaa\P
9512    Partial match: Xaaa
9513        Xaaaa\P
9514    Partial match: Xaaaa
9515    
9516    /X\D{2,4}+b/
9517        X\P
9518    Partial match: X
9519        Xa\P
9520    Partial match: Xa
9521        Xaa\P
9522    Partial match: Xaa
9523        Xaaa\P
9524    Partial match: Xaaa
9525        Xaaaa\P
9526    Partial match: Xaaaa
9527    
9528    /X[abc]{2,4}b/
9529        X\P
9530    Partial match: X
9531        Xa\P
9532    Partial match: Xa
9533        Xaa\P
9534    Partial match: Xaa
9535        Xaaa\P
9536    Partial match: Xaaa
9537        Xaaaa\P
9538    Partial match: Xaaaa
9539    
9540    /X[abc]{2,4}?b/
9541        X\P
9542    Partial match: X
9543        Xa\P
9544    Partial match: Xa
9545        Xaa\P
9546    Partial match: Xaa
9547        Xaaa\P
9548    Partial match: Xaaa
9549        Xaaaa\P
9550    Partial match: Xaaaa
9551    
9552    /X[abc]{2,4}+b/
9553        X\P
9554    Partial match: X
9555        Xa\P
9556    Partial match: Xa
9557        Xaa\P
9558    Partial match: Xaa
9559        Xaaa\P