/[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 175 by ph10, Mon Jun 11 13:38:38 2007 UTC revision 1454 by ph10, Sun Feb 9 18:55:03 2014 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    < forbid 8W
12    
13  /(a)b|/I  /(a)b|/I
14  Capturing subpattern count = 1  Capturing subpattern count = 1
15    May match empty string
16  No options  No options
17  No first char  No first char
18  No need char  No need char
# Line 40  No match Line 53  No match
53    
54  /a+bc/I  /a+bc/I
55  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
56  No options  No options
57  First char = 'a'  First char = 'a'
58  Need char = 'c'  Need char = 'c'
59    
60  /a*bc/I  /a*bc/I
61  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
62  No options  No options
63  No first char  No first char
64  Need char = 'c'  Need char = 'c'
65    
66  /a{3}bc/I  /a{3}bc/I
67  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
68  No options  No options
69  First char = 'a'  First char = 'a'
70  Need char = 'c'  Need char = 'c'
71    
72  /(abc|a+z)/I  /(abc|a+z)/I
73  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
74  No options  No options
75  First char = 'a'  First char = 'a'
76  No need char  No need char
# Line 78  No match Line 87  No match
87      def\nabc      def\nabc
88  No match  No match
89    
90  /ab\hdef/X  /ab\idef/X
91  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
92    
93  /(?X)ab\hdef/X  /(?X)ab\idef/X
94  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
95    
96  /x{5,4}/  /x{5,4}/
# Line 96  Failed: missing terminating ] for charac Line 105  Failed: missing terminating ] for charac
105  /(?X)[\B]/  /(?X)[\B]/
106  Failed: invalid escape sequence in character class at offset 6  Failed: invalid escape sequence in character class at offset 6
107    
108    /(?X)[\R]/
109    Failed: invalid escape sequence in character class at offset 6
110    
111    /(?X)[\X]/
112    Failed: invalid escape sequence in character class at offset 6
113    
114    /[\B]/BZ
115    ------------------------------------------------------------------
116            Bra
117            B
118            Ket
119            End
120    ------------------------------------------------------------------
121    
122    /[\R]/BZ
123    ------------------------------------------------------------------
124            Bra
125            R
126            Ket
127            End
128    ------------------------------------------------------------------
129    
130    /[\X]/BZ
131    ------------------------------------------------------------------
132            Bra
133            X
134            Ket
135            End
136    ------------------------------------------------------------------
137    
138  /[z-a]/  /[z-a]/
139  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
140    
# Line 109  Failed: missing ) at offset 4 Line 148  Failed: missing ) at offset 4
148  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
149    
150  /(?z)abc/  /(?z)abc/
151  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
152    
153  /.*b/I  /.*b/I
154  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
155  No options  No options
156  First char at start or follows newline  First char at start or follows newline
157  Need char = 'b'  Need char = 'b'
158    
159  /.*?b/I  /.*?b/I
160  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
161  No options  No options
162  First char at start or follows newline  First char at start or follows newline
163  Need char = 'b'  Need char = 'b'
# Line 140  Capturing subpattern count = 0 Line 177  Capturing subpattern count = 0
177  No options  No options
178  No first char  No first char
179  No need char  No need char
180  Starting byte set: c d e  Subject length lower bound = 3
181    Starting chars: c d e
182      this sentence eventually mentions a cat      this sentence eventually mentions a cat
183   0: cat   0: cat
184      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
# Line 151  Capturing subpattern count = 0 Line 189  Capturing subpattern count = 0
189  Options: caseless  Options: caseless
190  No first char  No first char
191  No need char  No need char
192  Starting byte set: C D E c d e  Subject length lower bound = 3
193    Starting chars: C D E c d e
194      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
195   0: CAT   0: CAT
196      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
# Line 162  Capturing subpattern count = 0 Line 201  Capturing subpattern count = 0
201  No options  No options
202  No first char  No first char
203  No need char  No need char
204  Starting byte set: a b c d  Subject length lower bound = 1
205    Starting chars: a b c d
206    
207  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
208  Capturing subpattern count = 1  Capturing subpattern count = 1
209  No options  No options
210  No first char  No first char
211  No need char  No need char
212  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Subject length lower bound = 1
213    Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
214    \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
215    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
216    ? @ 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 [ \ ] ^ _ ` a b c d    ? @ 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 [ \ ] ^ _ ` a b c d
# Line 189  Capturing subpattern count = 1 Line 230  Capturing subpattern count = 1
230  No options  No options
231  No first char  No first char
232  No need char  No need char
233  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Subject length lower bound = 1
234    Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 a b
235    
236  /(ab\2)/  /(ab\2)/
237  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
# Line 310  No match Line 352  No match
352  No match  No match
353    
354  /ab(?z)cd/  /ab(?z)cd/
355  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
356    
357  /^abc|def/I  /^abc|def/I
358  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 324  No need char Line 366  No need char
366    
367  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
368  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
369  No options  No options
370  First char at start or follows newline  First char at start or follows newline
371  No need char  No need char
# Line 338  No need char Line 379  No need char
379   2: <unset>   2: <unset>
380   3: def   3: def
381    
 /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  
   
382  /)/  /)/
383  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
384    
# Line 401  Failed: missing terminating ] for charac Line 387  Failed: missing terminating ] for charac
387    
388  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
389  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
390  No options  No options
391  No first char  No first char
392  No need char  No need char
# Line 410  No need char Line 395  No need char
395    
396  /<.*>/I  /<.*>/I
397  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
398  No options  No options
399  First char = '<'  First char = '<'
400  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 403  Need char = '>'
403    
404  /<.*?>/I  /<.*?>/I
405  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
406  No options  No options
407  First char = '<'  First char = '<'
408  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 411  Need char = '>'
411    
412  /<.*>/IU  /<.*>/IU
413  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
414  Options: ungreedy  Options: ungreedy
415  First char = '<'  First char = '<'
416  Need char = '>'  Need char = '>'
# Line 437  Need char = '>' Line 419  Need char = '>'
419    
420  /(?U)<.*>/I  /(?U)<.*>/I
421  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
422  Options: ungreedy  Options: ungreedy
423  First char = '<'  First char = '<'
424  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 427  Need char = '>'
427    
428  /<.*?>/IU  /<.*?>/IU
429  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
430  Options: ungreedy  Options: ungreedy
431  First char = '<'  First char = '<'
432  Need char = '>'  Need char = '>'
# Line 455  Need char = '>' Line 435  Need char = '>'
435    
436  /={3,}/IU  /={3,}/IU
437  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
438  Options: ungreedy  Options: ungreedy
439  First char = '='  First char = '='
440  Need char = '='  Need char = '='
# Line 464  Need char = '=' Line 443  Need char = '='
443    
444  /(?U)={3,}?/I  /(?U)={3,}?/I
445  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
446  Options: ungreedy  Options: ungreedy
447  First char = '='  First char = '='
448  Need char = '='  Need char = '='
# Line 473  Need char = '=' Line 451  Need char = '='
451    
452  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
453  Capturing subpattern count = 0  Capturing subpattern count = 0
454    Max lookbehind = 6
455  No options  No options
456  First char = 'f'  First char = 'f'
457  Need char = 'o'  Need char = 'o'
# Line 522  No need char Line 501  No need char
501    
502  /(?s).*/I  /(?s).*/I
503  Capturing subpattern count = 0  Capturing subpattern count = 0
504  Partial matching not supported  May match empty string
505  Options: anchored dotall  Options: anchored dotall
506  No first char  No first char
507  No need char  No need char
# Line 532  Capturing subpattern count = 0 Line 511  Capturing subpattern count = 0
511  No options  No options
512  No first char  No first char
513  No need char  No need char
514  Starting byte set: a b c d  Subject length lower bound = 1
515    Starting chars: a b c d
516    
517  /(?i)[abcd]/IS  /(?i)[abcd]/IS
518  Capturing subpattern count = 0  Capturing subpattern count = 0
519  Options: caseless  Options: caseless
520  No first char  No first char
521  No need char  No need char
522  Starting byte set: A B C D a b c d  Subject length lower bound = 1
523    Starting chars: A B C D a b c d
524    
525  /(?m)[xy]|(b|c)/IS  /(?m)[xy]|(b|c)/IS
526  Capturing subpattern count = 1  Capturing subpattern count = 1
527  Options: multiline  Options: multiline
528  No first char  No first char
529  No need char  No need char
530  Starting byte set: b c x y  Subject length lower bound = 1
531    Starting chars: b c x y
532    
533  /(^a|^b)/Im  /(^a|^b)/Im
534  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 567  Failed: conditional group contains more Line 549  Failed: conditional group contains more
549  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
550    
551  /(?(1a)/  /(?(1a)/
552  Failed: missing ) at offset 6  Failed: malformed number or name after (?( at offset 4
553    
554  /(?(1a))/  /(?(1a))/
555  Failed: reference to non-existent subpattern at offset 6  Failed: malformed number or name after (?( at offset 4
556    
557  /(?(?i))/  /(?(?i))/
558  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
# Line 584  Failed: syntax error in subpattern name Line 566  Failed: syntax error in subpattern name
566  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
567  Capturing subpattern count = 1  Capturing subpattern count = 1
568  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
569  No options  No options
570  First char = 'b'  First char = 'b'
571  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 573  Need char = 'h'
573  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
574  Capturing subpattern count = 1  Capturing subpattern count = 1
575  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
576  No options  No options
577  First char = 'b' (caseless)  First char = 'b' (caseless)
578  Need char = 'h' (caseless)  Need char = 'h' (caseless)
579    
580  /((?i)b)/IDZS  /((?i)b)/IDZS
581  ------------------------------------------------------------------  ------------------------------------------------------------------
582          Bra 0          Bra
583          Bra 1          CBra 1
584       01 Opt       /i b
      NC b  
585          Ket          Ket
      00 Opt  
586          Ket          Ket
587          End          End
588  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 612  Capturing subpattern count = 1 Line 590  Capturing subpattern count = 1
590  No options  No options
591  First char = 'b' (caseless)  First char = 'b' (caseless)
592  No need char  No need char
593  Study returned NULL  Subject length lower bound = 1
594    No starting char list
595    
596  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
597  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
598  No options  No options
599  No first char  No first char
600  No need char  No need char
601  Starting byte set: C a b c d  Subject length lower bound = 1
602    Starting chars: C a b c d
603    
604  /a$/I  /a$/I
605  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 656  No match Line 635  No match
635    
636  /\Aabc/Im  /\Aabc/Im
637  Capturing subpattern count = 0  Capturing subpattern count = 0
638    Max lookbehind = 1
639  Options: anchored multiline  Options: anchored multiline
640  No first char  No first char
641  No need char  No need char
# Line 668  Need char = 'c' Line 648  Need char = 'c'
648    
649  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
650  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
651  Options: anchored  Options: anchored
652  No first char  No first char
653  No need char  No need char
# Line 682  No need char Line 661  No need char
661    
662  /(?<=foo)[ab]/IS  /(?<=foo)[ab]/IS
663  Capturing subpattern count = 0  Capturing subpattern count = 0
664    Max lookbehind = 3
665  No options  No options
666  No first char  No first char
667  No need char  No need char
668  Starting byte set: a b  Subject length lower bound = 1
669    Starting chars: a b
670    
671  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
672  Capturing subpattern count = 1  Capturing subpattern count = 1
673    Max lookbehind = 3
674  No options  No options
675  No first char  No first char
676  Need char = 'a'  Need char = 'a'
677  Starting byte set: a o  Subject length lower bound = 5
678    Starting chars: a o
679    
680  /(?!alphabet)[ab]/IS  /(?!alphabet)[ab]/IS
681  Capturing subpattern count = 0  Capturing subpattern count = 0
682  No options  No options
683  No first char  No first char
684  No need char  No need char
685  Starting byte set: a b  Subject length lower bound = 1
686    Starting chars: a b
687    
688  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
689  Capturing subpattern count = 0  Capturing subpattern count = 0
690    Max lookbehind = 4
691    Contains explicit CR or LF match
692  Options: multiline  Options: multiline
693  No first char  No first char
694  Need char = 'r'  Need char = 'r'
# Line 719  No match Line 705  No match
705    
706  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
707  Capturing subpattern count = 0  Capturing subpattern count = 0
708    Max lookbehind = 4
709    Contains explicit CR or LF match
710  Options: multiline  Options: multiline
711  First char at start or follows newline  First char at start or follows newline
712  Need char = 'r'  Need char = 'r'
# Line 760  Failed: lookbehind assertion is not fixe Line 748  Failed: lookbehind assertion is not fixe
748    
749  /(?<=bullock|donkey)-cart/I  /(?<=bullock|donkey)-cart/I
750  Capturing subpattern count = 0  Capturing subpattern count = 0
751    Max lookbehind = 7
752  No options  No options
753  First char = '-'  First char = '-'
754  Need char = 't'  Need char = 't'
# Line 776  No match Line 765  No match
765    
766  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
767  Capturing subpattern count = 0  Capturing subpattern count = 0
768    Max lookbehind = 3
769    May match empty string
770  No options  No options
771  No first char  No first char
772  No need char  No need char
773    
774  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
775  Capturing subpattern count = 2  Capturing subpattern count = 2
776  Partial matching not supported  Max lookbehind = 4
777    May match empty string
778  No options  No options
779  First char at start or follows newline  No first char
780  No need char  No need char
781      alphabetabcd      alphabetabcd
782   0: alphabetabcd   0: alphabetabcd
# Line 796  No need char Line 788  No need char
788    
789  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
790  Capturing subpattern count = 0  Capturing subpattern count = 0
791    Max lookbehind = 4
792  No options  No options
793  First char = 'Z'  First char = 'Z'
794  Need char = 'Z'  Need char = 'Z'
# Line 824  No match Line 817  No match
817    
818  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
819  Capturing subpattern count = 1  Capturing subpattern count = 1
820    Max lookbehind = 4
821  No options  No options
822  First char = 'b'  First char = 'b'
823  Need char = 'r'  Need char = 'r'
# Line 836  No match Line 830  No match
830      fooabar      fooabar
831  No match  No match
832    
833  /This one is here because Perl 5.005_02 doesn't fail it/I  /This one is here because Perl behaves differently; see also the following/I
 Capturing subpattern count = 0  
 No options  
 First char = 'T'  
 Need char = 't'  
   
 /^(a)?(?(1)a|b)+$/I  
 Capturing subpattern count = 1  
 Options: anchored  
 No first char  
 No need char  
     *** Failers  
 No match  
     a  
 No match  
   
 /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I  
834  Capturing subpattern count = 0  Capturing subpattern count = 0
835  No options  No options
836  First char = 'T'  First char = 'T'
# Line 864  Max back reference = 1 Line 842  Max back reference = 1
842  Options: anchored  Options: anchored
843  No first char  No first char
844  No need char  No need char
845        aaaa
846    No match
847      aaaaaa      aaaaaa
848   0: aaaaaa  No match
849   1: aa  
850    /Perl does not fail these two for the final subjects. Neither did PCRE until/
851    /release 8.01. The problem is in backtracking into a subpattern that contains/
852    No match
853    /a recursive reference to itself. PCRE has now made these into atomic patterns./
854    No match
855    
856    /^(xa|=?\1a){2}$/
857        xa=xaa
858     0: xa=xaa
859     1: =xaa
860        ** Failers
861    No match
862        xa=xaaa
863    No match
864    
865    /^(xa|=?\1a)+$/
866        xa=xaa
867     0: xa=xaa
868     1: =xaa
869        ** Failers
870    No match
871        xa=xaaa
872    No match
873    
874  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
875  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 944  Failed: missing ) at offset 4 Line 947  Failed: missing ) at offset 4
947  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
948    
949  /a(?{)b/  /a(?{)b/
950  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
951    
952  /a(?{{})b/  /a(?{{})b/
953  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
954    
955  /a(?{}})b/  /a(?{}})b/
956  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
957    
958  /a(?{"{"})b/  /a(?{"{"})b/
959  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
960    
961  /a(?{"{"}})b/  /a(?{"{"}})b/
962  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
963    
964  /(?(1?)a|b)/  /(?(1?)a|b)/
965  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
966    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
967  /[a[:xyz:/  /[a[:xyz:/
968  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
969    
# Line 976  Failed: numbers out of order in {} quant Line 976  Failed: numbers out of order in {} quant
976  /abc/\  /abc/\
977  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
978    
 /abc/\P  
 Failed: POSIX code 9: bad escape sequence at offset 4  
   
979  /abc/\i  /abc/\i
980  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
981    
# Line 1004  copy substring 5 failed -7 Line 1001  copy substring 5 failed -7
1001    
1002  /(.{20})/I  /(.{20})/I
1003  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1004  No options  No options
1005  No first char  No first char
1006  No need char  No need char
# Line 1022  No need char Line 1018  No need char
1018    
1019  /(.{15})/I  /(.{15})/I
1020  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1021  No options  No options
1022  No first char  No first char
1023  No need char  No need char
# Line 1037  No need char Line 1032  No need char
1032    
1033  /(.{16})/I  /(.{16})/I
1034  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1035  No options  No options
1036  No first char  No first char
1037  No need char  No need char
# Line 1097  No first char Line 1091  No first char
1091  No need char  No need char
1092      abc\00def\L\C0      abc\00def\L\C0
1093   0: abc\x00def   0: abc\x00def
1094   0C abc (7)   0C abc\x00def (7)
1095   0L abc   0L abc
1096    
1097  /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]+
1098  )((?:[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]+
1099  )?)?)?)?)?)?)?)?)?otherword/I  )?)?)?)?)?)?)?)?)?otherword/I
1100  Capturing subpattern count = 8  Capturing subpattern count = 8
1101  Partial matching not supported  Contains explicit CR or LF match
1102  No options  No options
1103  First char = 'w'  First char = 'w'
1104  Need char = 'd'  Need char = 'd'
1105    
1106  /.*X/IDZ  /.*X/IDZ
1107  ------------------------------------------------------------------  ------------------------------------------------------------------
1108          Bra 0          Bra
1109          Any*          Any*
1110          X          X
1111          Ket          Ket
1112          End          End
1113  ------------------------------------------------------------------  ------------------------------------------------------------------
1114  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1115  No options  No options
1116  First char at start or follows newline  First char at start or follows newline
1117  Need char = 'X'  Need char = 'X'
1118    
1119  /.*X/IDZs  /.*X/IDZs
1120  ------------------------------------------------------------------  ------------------------------------------------------------------
1121          Bra 0          Bra
1122          Any*          AllAny*
1123          X          X
1124          Ket          Ket
1125          End          End
1126  ------------------------------------------------------------------  ------------------------------------------------------------------
1127  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1128  Options: anchored dotall  Options: anchored dotall
1129  No first char  No first char
1130  Need char = 'X'  Need char = 'X'
1131    
1132  /(.*X|^B)/IDZ  /(.*X|^B)/IDZ
1133  ------------------------------------------------------------------  ------------------------------------------------------------------
1134          Bra 0          Bra
1135          Bra 1          CBra 1
1136          Any*          Any*
1137          X          X
1138          Alt          Alt
# Line 1151  Need char = 'X' Line 1143  Need char = 'X'
1143          End          End
1144  ------------------------------------------------------------------  ------------------------------------------------------------------
1145  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1146  No options  No options
1147  First char at start or follows newline  First char at start or follows newline
1148  No need char  No need char
1149    
1150  /(.*X|^B)/IDZs  /(.*X|^B)/IDZs
1151  ------------------------------------------------------------------  ------------------------------------------------------------------
1152          Bra 0          Bra
1153          Bra 1          CBra 1
1154          Any*          AllAny*
1155          X          X
1156          Alt          Alt
1157          ^          ^
# Line 1170  No need char Line 1161  No need char
1161          End          End
1162  ------------------------------------------------------------------  ------------------------------------------------------------------
1163  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1164  Options: anchored dotall  Options: anchored dotall
1165  No first char  No first char
1166  No need char  No need char
1167    
1168  /(?s)(.*X|^B)/IDZ  /(?s)(.*X|^B)/IDZ
1169  ------------------------------------------------------------------  ------------------------------------------------------------------
1170          Bra 0          Bra
1171          Bra 1          CBra 1
1172          Any*          AllAny*
1173          X          X
1174          Alt          Alt
1175          ^          ^
# Line 1189  No need char Line 1179  No need char
1179          End          End
1180  ------------------------------------------------------------------  ------------------------------------------------------------------
1181  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1182  Options: anchored dotall  Options: anchored dotall
1183  No first char  No first char
1184  No need char  No need char
1185    
1186  /(?s:.*X|^B)/IDZ  /(?s:.*X|^B)/IDZ
1187  ------------------------------------------------------------------  ------------------------------------------------------------------
1188          Bra 0          Bra
1189          Bra 0          Bra
1190       04 Opt          AllAny*
         Any*  
1191          X          X
1192          Alt          Alt
      04 Opt  
1193          ^          ^
1194          B          B
1195          Ket          Ket
      00 Opt  
1196          Ket          Ket
1197          End          End
1198  ------------------------------------------------------------------  ------------------------------------------------------------------
1199  Capturing subpattern count = 0  Capturing subpattern count = 0
1200  Partial matching not supported  Options: anchored
1201  No options  No first char
 First char at start or follows newline  
1202  No need char  No need char
1203    
1204  /\Biss\B/I+  /\Biss\B/I+
1205  Capturing subpattern count = 0  Capturing subpattern count = 0
1206    Max lookbehind = 1
1207  No options  No options
1208  First char = 'i'  First char = 'i'
1209  Need char = 's'  Need char = 's'
# Line 1225  Need char = 's' Line 1211  Need char = 's'
1211   0: iss   0: iss
1212   0+ issippi   0+ issippi
1213    
 /\Biss\B/I+P  
     Mississippi  
  0: iss  
  0+ issippi  
   
1214  /iss/IG+  /iss/IG+
1215  Capturing subpattern count = 0  Capturing subpattern count = 0
1216  No options  No options
# Line 1243  Need char = 's' Line 1224  Need char = 's'
1224    
1225  /\Biss\B/IG+  /\Biss\B/IG+
1226  Capturing subpattern count = 0  Capturing subpattern count = 0
1227    Max lookbehind = 1
1228  No options  No options
1229  First char = 'i'  First char = 'i'
1230  Need char = 's'  Need char = 's'
# Line 1252  Need char = 's' Line 1234  Need char = 's'
1234    
1235  /\Biss\B/Ig+  /\Biss\B/Ig+
1236  Capturing subpattern count = 0  Capturing subpattern count = 0
1237    Max lookbehind = 1
1238  No options  No options
1239  First char = 'i'  First char = 'i'
1240  Need char = 's'  Need char = 's'
# Line 1267  No match Line 1250  No match
1250    
1251  /(?<=[Ms])iss/Ig+  /(?<=[Ms])iss/Ig+
1252  Capturing subpattern count = 0  Capturing subpattern count = 0
1253    Max lookbehind = 1
1254  No options  No options
1255  First char = 'i'  First char = 'i'
1256  Need char = 's'  Need char = 's'
# Line 1278  Need char = 's' Line 1262  Need char = 's'
1262    
1263  /(?<=[Ms])iss/IG+  /(?<=[Ms])iss/IG+
1264  Capturing subpattern count = 0  Capturing subpattern count = 0
1265    Max lookbehind = 1
1266  No options  No options
1267  First char = 'i'  First char = 'i'
1268  Need char = 's'  Need char = 's'
# Line 1296  No need char Line 1281  No need char
1281    
1282  /.*iss/Ig+  /.*iss/Ig+
1283  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1284  No options  No options
1285  First char at start or follows newline  First char at start or follows newline
1286  Need char = 's'  Need char = 's'
# Line 1347  No need char Line 1331  No need char
1331    
1332  /^ab\n/Ig+  /^ab\n/Ig+
1333  Capturing subpattern count = 0  Capturing subpattern count = 0
1334    Contains explicit CR or LF match
1335  Options: anchored  Options: anchored
1336  No first char  No first char
1337  No need char  No need char
# Line 1356  No need char Line 1341  No need char
1341    
1342  /^ab\n/Img+  /^ab\n/Img+
1343  Capturing subpattern count = 0  Capturing subpattern count = 0
1344    Contains explicit CR or LF match
1345  Options: multiline  Options: multiline
1346  First char at start or follows newline  First char at start or follows newline
1347  Need char = 10  Need char = \x0a
1348      ab\nab\ncd      ab\nab\ncd
1349   0: ab\x0a   0: ab\x0a
1350   0+ ab\x0acd   0+ ab\x0acd
# Line 1397  Need char = 'c' Line 1383  Need char = 'c'
1383    
1384  /a*/I  /a*/I
1385  Capturing subpattern count = 0  Capturing subpattern count = 0
1386  Partial matching not supported  May match empty string
1387  No options  No options
1388  No first char  No first char
1389  No need char  No need char
1390    
1391  /a+/I  /a+/I
1392  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1393  No options  No options
1394  First char = 'a'  First char = 'a'
1395  No need char  No need char
1396    
1397  /(baa|a+)/I  /(baa|a+)/I
1398  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1399  No options  No options
1400  No first char  No first char
1401  Need char = 'a'  Need char = 'a'
1402    
1403  /a{0,3}/I  /a{0,3}/I
1404  Capturing subpattern count = 0  Capturing subpattern count = 0
1405  Partial matching not supported  May match empty string
1406  No options  No options
1407  No first char  No first char
1408  No need char  No need char
1409    
1410  /baa{3,}/I  /baa{3,}/I
1411  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1412  No options  No options
1413  First char = 'b'  First char = 'b'
1414  Need char = 'a'  Need char = 'a'
1415    
1416  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1417  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1418  No options  No options
1419  First char = '"'  First char = '"'
1420  Need char = '"'  Need char = '"'
# Line 1463  Need char = 'r' Line 1445  Need char = 'r'
1445    
1446  /...(?<=abc)/I  /...(?<=abc)/I
1447  Capturing subpattern count = 0  Capturing subpattern count = 0
1448    Max lookbehind = 3
1449  No options  No options
1450  No first char  No first char
1451  No need char  No need char
# Line 1487  Need char = 'b' Line 1470  Need char = 'b'
1470    
1471  /abc*/I  /abc*/I
1472  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1473  No options  No options
1474  First char = 'a'  First char = 'a'
1475  Need char = 'b'  Need char = 'b'
1476    
1477  /ab.c*/I  /ab.c*/I
1478  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1479  No options  No options
1480  First char = 'a'  First char = 'a'
1481  Need char = 'b'  Need char = 'b'
1482    
1483  /a.c*/I  /a.c*/I
1484  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1485  No options  No options
1486  First char = 'a'  First char = 'a'
1487  No need char  No need char
1488    
1489  /.c*/I  /.c*/I
1490  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1491  No options  No options
1492  No first char  No first char
1493  No need char  No need char
1494    
1495  /ac*/I  /ac*/I
1496  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1497  No options  No options
1498  First char = 'a'  First char = 'a'
1499  No need char  No need char
1500    
1501  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1502  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1503  No options  No options
1504  No first char  No first char
1505  No need char  No need char
1506    
1507  /a.c*|aba/I  /a.c*|aba/I
1508  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1509  No options  No options
1510  First char = 'a'  First char = 'a'
1511  No need char  No need char
1512    
1513  /.+a/I  /.+a/I
1514  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1515  No options  No options
1516  No first char  No first char
1517  Need char = 'a'  Need char = 'a'
1518    
1519  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1520  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1521  No options  No options
1522  First char = 'a'  First char = 'a'
1523  Need char = 'a'  Need char = 'a'
1524    
1525  /(?=a)a.*/I  /(?=a)a.*/I
1526  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1527  No options  No options
1528  First char = 'a'  First char = 'a'
1529  No need char  No need char
# Line 1563  No need char Line 1536  No need char
1536    
1537  /a\d*/I  /a\d*/I
1538  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1539  No options  No options
1540  First char = 'a'  First char = 'a'
1541  No need char  No need char
1542    
1543  /ab\d*/I  /ab\d*/I
1544  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1545  No options  No options
1546  First char = 'a'  First char = 'a'
1547  Need char = 'b'  Need char = 'b'
# Line 1589  Need char = 'd' Line 1560  Need char = 'd'
1560    
1561  /ab\d+/I  /ab\d+/I
1562  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1563  No options  No options
1564  First char = 'a'  First char = 'a'
1565  Need char = 'b'  Need char = 'b'
1566    
1567  /a(?(1)b)/I  /a(?(1)b)(.)/I
1568  Capturing subpattern count = 0  Capturing subpattern count = 1
1569  No options  No options
1570  First char = 'a'  First char = 'a'
1571  No need char  No need char
1572    
1573  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1574  Capturing subpattern count = 0  Capturing subpattern count = 1
1575  No options  No options
1576  First char = 'a'  First char = 'a'
1577  Need char = 'g'  Need char = 'g'
1578    
1579  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1580  Capturing subpattern count = 0  Capturing subpattern count = 1
1581  No options  No options
1582  First char = 'a'  First char = 'a'
1583  No need char  No need char
1584    
1585  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1586  Capturing subpattern count = 0  Capturing subpattern count = 1
1587  No options  No options
1588  First char = 'a'  First char = 'a'
1589  Need char = 'g'  Need char = 'g'
1590    
1591  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1592  Capturing subpattern count = 0  Capturing subpattern count = 1
1593  No options  No options
1594  First char = 'a'  First char = 'a'
1595  Need char = 'b'  Need char = 'b'
# Line 1632  Need char = 'e' Line 1602  Need char = 'e'
1602    
1603  /a?b?/I  /a?b?/I
1604  Capturing subpattern count = 0  Capturing subpattern count = 0
1605    May match empty string
1606  No options  No options
1607  No first char  No first char
1608  No need char  No need char
# Line 1650  No match Line 1621  No match
1621    
1622  /|-/I  /|-/I
1623  Capturing subpattern count = 0  Capturing subpattern count = 0
1624    May match empty string
1625  No options  No options
1626  No first char  No first char
1627  No need char  No need char
# Line 1664  No need char Line 1636  No need char
1636      \Nabc      \Nabc
1637  No match  No match
1638    
 /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  
   
1639  /^.?abcd/IS  /^.?abcd/IS
1640  Capturing subpattern count = 0  Capturing subpattern count = 0
1641  Options: anchored  Options: anchored
1642  No first char  No first char
1643  Need char = 'd'  Need char = 'd'
1644  Study returned NULL  Subject length lower bound = 4
1645    No starting char list
1646    
1647  /\(             # ( at start  /\(             # ( at start
1648    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1707  Study returned NULL Line 1653  Study returned NULL
1653    \)            # Closing )    \)            # Closing )
1654    /Ix    /Ix
1655  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1656  Options: extended  Options: extended
1657  First char = '('  First char = '('
1658  Need char = ')'  Need char = ')'
# Line 1736  No match Line 1681  No match
1681    
1682  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1683  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1684  Options: extended  Options: extended
1685  First char = '('  First char = '('
1686  Need char = ')'  Need char = ')'
# Line 1751  Need char = ')' Line 1695  Need char = ')'
1695    
1696  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1697  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1698  Options: extended  Options: extended
1699  First char = '('  First char = '('
1700  Need char = ')'  Need char = ')'
# Line 1770  No match Line 1713  No match
1713    
1714  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1715  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1716  Options: extended  Options: extended
1717  First char = '('  First char = '('
1718  Need char = ')'  Need char = ')'
# Line 1781  Need char = ')' Line 1723  Need char = ')'
1723    
1724  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1725  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1726  Options: extended  Options: extended
1727  First char = '('  First char = '('
1728  Need char = ')'  Need char = ')'
# Line 1791  Need char = ')' Line 1732  Need char = ')'
1732    
1733  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1734  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1735  Options: extended  Options: extended
1736  First char = '('  First char = '('
1737  Need char = ')'  Need char = ')'
# Line 1802  Need char = ')' Line 1742  Need char = ')'
1742    
1743  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1744  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1745  Options: extended  Options: extended
1746  First char = '('  First char = '('
1747  Need char = ')'  Need char = ')'
# Line 1819  Need char = ')' Line 1758  Need char = ')'
1758    
1759  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1760  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1761  Options: extended  Options: extended
1762  First char = '('  First char = '('
1763  Need char = ')'  Need char = ')'
# Line 1836  Need char = ')' Line 1774  Need char = ')'
1774    
1775  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1776  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1777  Options: extended  Options: extended
1778  First char = '('  First char = '('
1779  Need char = ')'  Need char = ')'
# Line 1856  Need char = ')' Line 1793  Need char = ')'
1793    
1794  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1795  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1796  Options: extended  Options: extended
1797  First char = '('  First char = '('
1798  Need char = ')'  Need char = ')'
# Line 1864  Need char = ')' Line 1800  Need char = ')'
1800   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1801   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1802   2: 123   2: 123
  3: <unset>  
1803    
1804  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1805  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1806  Options: extended  Options: extended
1807  First char = '('  First char = '('
1808  Need char = ')'  Need char = ')'
# Line 1885  Need char = ')' Line 1819  Need char = ')'
1819    
1820  /^[[:alnum:]]/DZ  /^[[:alnum:]]/DZ
1821  ------------------------------------------------------------------  ------------------------------------------------------------------
1822          Bra 0          Bra
1823          ^          ^
1824          [0-9A-Za-z]          [0-9A-Za-z]
1825          Ket          Ket
# Line 1898  No need char Line 1832  No need char
1832    
1833  /^[[:^alnum:]]/DZ  /^[[:^alnum:]]/DZ
1834  ------------------------------------------------------------------  ------------------------------------------------------------------
1835          Bra 0          Bra
1836          ^          ^
1837          [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1838          Ket          Ket
1839          End          End
1840  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1911  No need char Line 1845  No need char
1845    
1846  /^[[:alpha:]]/DZ  /^[[:alpha:]]/DZ
1847  ------------------------------------------------------------------  ------------------------------------------------------------------
1848          Bra 0          Bra
1849          ^          ^
1850          [A-Za-z]          [A-Za-z]
1851          Ket          Ket
# Line 1924  No need char Line 1858  No need char
1858    
1859  /^[[:^alpha:]]/DZ  /^[[:^alpha:]]/DZ
1860  ------------------------------------------------------------------  ------------------------------------------------------------------
1861          Bra 0          Bra
1862          ^          ^
1863          [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1864          Ket          Ket
1865          End          End
1866  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1940  Capturing subpattern count = 0 Line 1874  Capturing subpattern count = 0
1874  No options  No options
1875  No first char  No first char
1876  No need char  No need char
1877  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  Subject length lower bound = 1
1878    Starting chars: 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
1879    _ 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
1880    
1881  /^[[:ascii:]]/DZ  /^[[:ascii:]]/DZ
1882  ------------------------------------------------------------------  ------------------------------------------------------------------
1883          Bra 0          Bra
1884          ^          ^
1885          [\x00-\x7f]          [\x00-\x7f]
1886          Ket          Ket
# Line 1958  No need char Line 1893  No need char
1893    
1894  /^[[:^ascii:]]/DZ  /^[[:^ascii:]]/DZ
1895  ------------------------------------------------------------------  ------------------------------------------------------------------
1896          Bra 0          Bra
1897          ^          ^
1898          [\x80-\xff]          [\x80-\xff] (neg)
1899          Ket          Ket
1900          End          End
1901  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1971  No need char Line 1906  No need char
1906    
1907  /^[[:blank:]]/DZ  /^[[:blank:]]/DZ
1908  ------------------------------------------------------------------  ------------------------------------------------------------------
1909          Bra 0          Bra
1910          ^          ^
1911          [\x09 ]          [\x09 ]
1912          Ket          Ket
# Line 1984  No need char Line 1919  No need char
1919    
1920  /^[[:^blank:]]/DZ  /^[[:^blank:]]/DZ
1921  ------------------------------------------------------------------  ------------------------------------------------------------------
1922          Bra 0          Bra
1923          ^          ^
1924          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1925          Ket          Ket
1926          End          End
1927  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1997  No need char Line 1932  No need char
1932    
1933  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
1934  Capturing subpattern count = 0  Capturing subpattern count = 0
1935    Contains explicit CR or LF match
1936  No options  No options
1937  No first char  No first char
1938  No need char  No need char
1939  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Subject length lower bound = 1
1940    Starting chars: \x09 \x0a \x0b \x0c \x0d \x20
1941    
1942  /^[[:cntrl:]]/DZ  /^[[:cntrl:]]/DZ
1943  ------------------------------------------------------------------  ------------------------------------------------------------------
1944          Bra 0          Bra
1945          ^          ^
1946          [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
1947          Ket          Ket
# Line 2017  No need char Line 1954  No need char
1954    
1955  /^[[:digit:]]/DZ  /^[[:digit:]]/DZ
1956  ------------------------------------------------------------------  ------------------------------------------------------------------
1957          Bra 0          Bra
1958          ^          ^
1959          [0-9]          [0-9]
1960          Ket          Ket
# Line 2030  No need char Line 1967  No need char
1967    
1968  /^[[:graph:]]/DZ  /^[[:graph:]]/DZ
1969  ------------------------------------------------------------------  ------------------------------------------------------------------
1970          Bra 0          Bra
1971          ^          ^
1972          [!-~]          [!-~]
1973          Ket          Ket
# Line 2043  No need char Line 1980  No need char
1980    
1981  /^[[:lower:]]/DZ  /^[[:lower:]]/DZ
1982  ------------------------------------------------------------------  ------------------------------------------------------------------
1983          Bra 0          Bra
1984          ^          ^
1985          [a-z]          [a-z]
1986          Ket          Ket
# Line 2056  No need char Line 1993  No need char
1993    
1994  /^[[:print:]]/DZ  /^[[:print:]]/DZ
1995  ------------------------------------------------------------------  ------------------------------------------------------------------
1996          Bra 0          Bra
1997          ^          ^
1998          [ -~]          [ -~]
1999          Ket          Ket
# Line 2069  No need char Line 2006  No need char
2006    
2007  /^[[:punct:]]/DZ  /^[[:punct:]]/DZ
2008  ------------------------------------------------------------------  ------------------------------------------------------------------
2009          Bra 0          Bra
2010          ^          ^
2011          [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2012          Ket          Ket
# Line 2082  No need char Line 2019  No need char
2019    
2020  /^[[:space:]]/DZ  /^[[:space:]]/DZ
2021  ------------------------------------------------------------------  ------------------------------------------------------------------
2022          Bra 0          Bra
2023          ^          ^
2024          [\x09-\x0d ]          [\x09-\x0d ]
2025          Ket          Ket
# Line 2095  No need char Line 2032  No need char
2032    
2033  /^[[:upper:]]/DZ  /^[[:upper:]]/DZ
2034  ------------------------------------------------------------------  ------------------------------------------------------------------
2035          Bra 0          Bra
2036          ^          ^
2037          [A-Z]          [A-Z]
2038          Ket          Ket
# Line 2108  No need char Line 2045  No need char
2045    
2046  /^[[:xdigit:]]/DZ  /^[[:xdigit:]]/DZ
2047  ------------------------------------------------------------------  ------------------------------------------------------------------
2048          Bra 0          Bra
2049          ^          ^
2050          [0-9A-Fa-f]          [0-9A-Fa-f]
2051          Ket          Ket
# Line 2121  No need char Line 2058  No need char
2058    
2059  /^[[:word:]]/DZ  /^[[:word:]]/DZ
2060  ------------------------------------------------------------------  ------------------------------------------------------------------
2061          Bra 0          Bra
2062          ^          ^
2063          [0-9A-Z_a-z]          [0-9A-Z_a-z]
2064          Ket          Ket
# Line 2134  No need char Line 2071  No need char
2071    
2072  /^[[:^cntrl:]]/DZ  /^[[:^cntrl:]]/DZ
2073  ------------------------------------------------------------------  ------------------------------------------------------------------
2074          Bra 0          Bra
2075          ^          ^
2076          [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2077          Ket          Ket
2078          End          End
2079  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2147  No need char Line 2084  No need char
2084    
2085  /^[12[:^digit:]]/DZ  /^[12[:^digit:]]/DZ
2086  ------------------------------------------------------------------  ------------------------------------------------------------------
2087          Bra 0          Bra
2088          ^          ^
2089          [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2090          Ket          Ket
2091          End          End
2092  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2160  No need char Line 2097  No need char
2097    
2098  /^[[:^blank:]]/DZ  /^[[:^blank:]]/DZ
2099  ------------------------------------------------------------------  ------------------------------------------------------------------
2100          Bra 0          Bra
2101          ^          ^
2102          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2103          Ket          Ket
2104          End          End
2105  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2173  No need char Line 2110  No need char
2110    
2111  /[01[:alpha:]%]/DZ  /[01[:alpha:]%]/DZ
2112  ------------------------------------------------------------------  ------------------------------------------------------------------
2113          Bra 0          Bra
2114          [%01A-Za-z]          [%01A-Za-z]
2115          Ket          Ket
2116          End          End
# Line 2246  Need char = 'd' Line 2183  Need char = 'd'
2183  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2184  Capturing subpattern count = 271  Capturing subpattern count = 271
2185  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2186  No options  No options
2187  No first char  No first char
2188  No need char  No need char
# Line 2694  Need char = '-' Line 2630  Need char = '-'
2630    
2631  /#/IxDZ  /#/IxDZ
2632  ------------------------------------------------------------------  ------------------------------------------------------------------
2633          Bra 0          Bra
2634          Ket          Ket
2635          End          End
2636  ------------------------------------------------------------------  ------------------------------------------------------------------
2637  Capturing subpattern count = 0  Capturing subpattern count = 0
2638    May match empty string
2639  Options: extended  Options: extended
2640  No first char  No first char
2641  No need char  No need char
2642    
2643  /a#/IxDZ  /a#/IxDZ
2644  ------------------------------------------------------------------  ------------------------------------------------------------------
2645          Bra 0          Bra
2646          a          a
2647          Ket          Ket
2648          End          End
# Line 2717  No need char Line 2654  No need char
2654    
2655  /[\s]/DZ  /[\s]/DZ
2656  ------------------------------------------------------------------  ------------------------------------------------------------------
2657          Bra 0          Bra
2658          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
2659          Ket          Ket
2660          End          End
2661  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2729  No need char Line 2666  No need char
2666    
2667  /[\S]/DZ  /[\S]/DZ
2668  ------------------------------------------------------------------  ------------------------------------------------------------------
2669          Bra 0          Bra
2670          [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0e-\x1f!-\xff] (neg)
2671          Ket          Ket
2672          End          End
2673  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2741  No need char Line 2678  No need char
2678    
2679  /a(?i)b/DZ  /a(?i)b/DZ
2680  ------------------------------------------------------------------  ------------------------------------------------------------------
2681          Bra 0          Bra
2682          a          a
2683       01 Opt       /i b
      NC b  
2684          Ket          Ket
2685          End          End
2686  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2763  No match Line 2699  No match
2699    
2700  /(a(?i)b)/DZ  /(a(?i)b)/DZ
2701  ------------------------------------------------------------------  ------------------------------------------------------------------
2702          Bra 0          Bra
2703          Bra 1          CBra 1
2704          a          a
2705       01 Opt       /i b
      NC b  
2706          Ket          Ket
      00 Opt  
2707          Ket          Ket
2708          End          End
2709  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2790  No match Line 2724  No match
2724    
2725  /   (?i)abc/IxDZ  /   (?i)abc/IxDZ
2726  ------------------------------------------------------------------  ------------------------------------------------------------------
2727          Bra 0          Bra
2728       NC abc       /i abc
2729          Ket          Ket
2730          End          End
2731  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2803  Need char = 'c' (caseless) Line 2737  Need char = 'c' (caseless)
2737  /#this is a comment  /#this is a comment
2738    (?i)abc/IxDZ    (?i)abc/IxDZ
2739  ------------------------------------------------------------------  ------------------------------------------------------------------
2740          Bra 0          Bra
2741       NC abc       /i abc
2742          Ket          Ket
2743          End          End
2744  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2815  Need char = 'c' (caseless) Line 2749  Need char = 'c' (caseless)
2749    
2750  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2751  ------------------------------------------------------------------  ------------------------------------------------------------------
2752          Bra 0          Bra
2753          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2754          Ket          Ket
2755          End          End
# Line 2827  Need char = '0' Line 2761  Need char = '0'
2761    
2762  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2763  ------------------------------------------------------------------  ------------------------------------------------------------------
2764          Bra 0          Bra
2765          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2766          Ket          Ket
2767          End          End
# Line 2839  Need char = '0' Line 2773  Need char = '0'
2773    
2774  /\Q\E/DZ  /\Q\E/DZ
2775  ------------------------------------------------------------------  ------------------------------------------------------------------
2776          Bra 0          Bra
2777          Ket          Ket
2778          End          End
2779  ------------------------------------------------------------------  ------------------------------------------------------------------
2780  Capturing subpattern count = 0  Capturing subpattern count = 0
2781    May match empty string
2782  No options  No options
2783  No first char  No first char
2784  No need char  No need char
# Line 2852  No need char Line 2787  No need char
2787    
2788  /\Q\Ex/DZ  /\Q\Ex/DZ
2789  ------------------------------------------------------------------  ------------------------------------------------------------------
2790          Bra 0          Bra
2791          x          x
2792          Ket          Ket
2793          End          End
# Line 2864  No need char Line 2799  No need char
2799    
2800  / \Q\E/DZ  / \Q\E/DZ
2801  ------------------------------------------------------------------  ------------------------------------------------------------------
2802          Bra 0          Bra
2803    
2804          Ket          Ket
2805          End          End
# Line 2876  No need char Line 2811  No need char
2811    
2812  /a\Q\E/DZ  /a\Q\E/DZ
2813  ------------------------------------------------------------------  ------------------------------------------------------------------
2814          Bra 0          Bra
2815          a          a
2816          Ket          Ket
2817          End          End
# Line 2894  No need char Line 2829  No need char
2829    
2830  /a\Q\Eb/DZ  /a\Q\Eb/DZ
2831  ------------------------------------------------------------------  ------------------------------------------------------------------
2832          Bra 0          Bra
2833          ab          ab
2834          Ket          Ket
2835          End          End
# Line 2908  Need char = 'b' Line 2843  Need char = 'b'
2843    
2844  /\Q\Eabc/DZ  /\Q\Eabc/DZ
2845  ------------------------------------------------------------------  ------------------------------------------------------------------
2846          Bra 0          Bra
2847          abc          abc
2848          Ket          Ket
2849          End          End
# Line 2920  Need char = 'c' Line 2855  Need char = 'c'
2855    
2856  /x*+\w/DZ  /x*+\w/DZ
2857  ------------------------------------------------------------------  ------------------------------------------------------------------
2858          Bra 0          Bra
2859          x*+          x*+
2860          \w          \w
2861          Ket          Ket
2862          End          End
2863  ------------------------------------------------------------------  ------------------------------------------------------------------
2864  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2865  No options  No options
2866  No first char  No first char
2867  No need char  No need char
# Line 2938  No match Line 2872  No match
2872    
2873  /x?+/DZ  /x?+/DZ
2874  ------------------------------------------------------------------  ------------------------------------------------------------------
2875          Bra 0          Bra
2876          x?+          x?+
2877          Ket          Ket
2878          End          End
2879  ------------------------------------------------------------------  ------------------------------------------------------------------
2880  Capturing subpattern count = 0  Capturing subpattern count = 0
2881    May match empty string
2882  No options  No options
2883  No first char  No first char
2884  No need char  No need char
2885    
2886  /x++/DZ  /x++/DZ
2887  ------------------------------------------------------------------  ------------------------------------------------------------------
2888          Bra 0          Bra
2889          x++          x++
2890          Ket          Ket
2891          End          End
2892  ------------------------------------------------------------------  ------------------------------------------------------------------
2893  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2894  No options  No options
2895  First char = 'x'  First char = 'x'
2896  No need char  No need char
2897    
2898  /x{1,3}+/DZ  /x{1,3}+/BZO
2899  ------------------------------------------------------------------  ------------------------------------------------------------------
2900          Bra 0          Bra
         Once  
2901          x          x
2902          x{0,2}          x{0,2}+
2903          Ket          Ket
2904            End
2905    ------------------------------------------------------------------
2906    
2907    /x{1,3}+/BZOi
2908    ------------------------------------------------------------------
2909            Bra
2910         /i x
2911         /i x{0,2}+
2912            Ket
2913            End
2914    ------------------------------------------------------------------
2915    
2916    /[^x]{1,3}+/BZO
2917    ------------------------------------------------------------------
2918            Bra
2919            [^x]
2920            [^x]{0,2}+
2921            Ket
2922            End
2923    ------------------------------------------------------------------
2924    
2925    /[^x]{1,3}+/BZOi
2926    ------------------------------------------------------------------
2927            Bra
2928         /i [^x]
2929         /i [^x]{0,2}+
2930          Ket          Ket
2931          End          End
2932  ------------------------------------------------------------------  ------------------------------------------------------------------
 Capturing subpattern count = 0  
 Partial matching not supported  
 No options  
 First char = 'x'  
 No need char  
2933    
2934  /(x)*+/DZ  /(x)*+/DZ
2935  ------------------------------------------------------------------  ------------------------------------------------------------------
2936          Bra 0          Bra
2937          Once          Braposzero
2938          Brazero          CBraPos 1
         Bra 1  
2939          x          x
2940          KetRmax          KetRpos
         Ket  
2941          Ket          Ket
2942          End          End
2943  ------------------------------------------------------------------  ------------------------------------------------------------------
2944  Capturing subpattern count = 1  Capturing subpattern count = 1
2945    May match empty string
2946  No options  No options
2947  No first char  No first char
2948  No need char  No need char
2949    
2950  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2951  Capturing subpattern count = 1  Capturing subpattern count = 1
2952  Partial matching not supported  May match empty string
2953  Options: anchored  Options: anchored
2954  No first char  No first char
2955  No need char  No need char
# Line 3010  No match Line 2963  No match
2963    
2964  /(\d++)(\w)/I  /(\d++)(\w)/I
2965  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
2966  No options  No options
2967  No first char  No first char
2968  No need char  No need char
# Line 3025  No match Line 2977  No match
2977    
2978  /a++b/I  /a++b/I
2979  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2980  No options  No options
2981  First char = 'a'  First char = 'a'
2982  Need char = 'b'  Need char = 'b'
# Line 3034  Need char = 'b' Line 2985  Need char = 'b'
2985    
2986  /(a++b)/I  /(a++b)/I
2987  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2988  No options  No options
2989  First char = 'a'  First char = 'a'
2990  Need char = 'b'  Need char = 'b'
# Line 3044  Need char = 'b' Line 2994  Need char = 'b'
2994    
2995  /(a++)b/I  /(a++)b/I
2996  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2997  No options  No options
2998  First char = 'a'  First char = 'a'
2999  Need char = 'b'  Need char = 'b'
# Line 3054  Need char = 'b' Line 3003  Need char = 'b'
3003    
3004  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
3005  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3006  No options  No options
3007  No first char  No first char
3008  No need char  No need char
# Line 3064  No need char Line 3012  No need char
3012    
3013  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3014  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3015  No options  No options
3016  First char = '('  First char = '('
3017  Need char = ')'  Need char = ')'
# Line 3081  No match Line 3028  No match
3028    
3029  /(abc){1,3}+/DZ  /(abc){1,3}+/DZ
3030  ------------------------------------------------------------------  ------------------------------------------------------------------
3031          Bra 0          Bra
3032          Once          Once
3033          Bra 1          CBra 1
3034          abc          abc
3035          Ket          Ket
3036          Brazero          Brazero
3037          Bra 0          Bra
3038          Bra 1          CBra 1
3039          abc          abc
3040          Ket          Ket
3041          Brazero          Brazero
3042          Bra 1          CBra 1
3043          abc          abc
3044          Ket          Ket
3045          Ket          Ket
# Line 3119  Failed: nothing to repeat at offset 7 Line 3066  Failed: nothing to repeat at offset 7
3066    
3067  /x(?U)a++b/DZ  /x(?U)a++b/DZ
3068  ------------------------------------------------------------------  ------------------------------------------------------------------
3069          Bra 0          Bra
3070          x          x
3071          a++          a++
3072          b          b
# Line 3127  Failed: nothing to repeat at offset 7 Line 3074  Failed: nothing to repeat at offset 7
3074          End          End
3075  ------------------------------------------------------------------  ------------------------------------------------------------------
3076  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3077  No options  No options
3078  First char = 'x'  First char = 'x'
3079  Need char = 'b'  Need char = 'b'
# Line 3136  Need char = 'b' Line 3082  Need char = 'b'
3082    
3083  /(?U)xa++b/DZ  /(?U)xa++b/DZ
3084  ------------------------------------------------------------------  ------------------------------------------------------------------
3085          Bra 0          Bra
3086          x          x
3087          a++          a++
3088          b          b
# Line 3144  Need char = 'b' Line 3090  Need char = 'b'
3090          End          End
3091  ------------------------------------------------------------------  ------------------------------------------------------------------
3092  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3093  Options: ungreedy  Options: ungreedy
3094  First char = 'x'  First char = 'x'
3095  Need char = 'b'  Need char = 'b'
# Line 3153  Need char = 'b' Line 3098  Need char = 'b'
3098    
3099  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3100  ------------------------------------------------------------------  ------------------------------------------------------------------
3101          Bra 0          Bra
3102          ^          ^
3103          Bra 1          CBra 1
3104          Bra 2          CBra 2
3105          a+          a+
3106          Ket          Ket
3107          Bra 3          CBra 3
3108          [ab]+?          [ab]+?
3109          Ket          Ket
3110          Bra 4          CBra 4
3111          [bc]+          [bc]+
3112          Ket          Ket
3113          Bra 5          CBra 5
3114          \w*          \w*+
3115          Ket          Ket
3116          Ket          Ket
3117          Ket          Ket
3118          End          End
3119  ------------------------------------------------------------------  ------------------------------------------------------------------
3120  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3121  Options: anchored  Options: anchored
3122  No first char  No first char
3123  No need char  No need char
3124    
3125  /^x(?U)a+b/DZ  /^x(?U)a+b/DZ
3126  ------------------------------------------------------------------  ------------------------------------------------------------------
3127          Bra 0          Bra
3128          ^          ^
3129          x          x
3130          a++          a++
# Line 3189  No need char Line 3133  No need char
3133          End          End
3134  ------------------------------------------------------------------  ------------------------------------------------------------------
3135  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3136  Options: anchored  Options: anchored
3137  No first char  No first char
3138  Need char = 'b'  Need char = 'b'
3139    
3140  /^x(?U)(a+)b/DZ  /^x(?U)(a+)b/DZ
3141  ------------------------------------------------------------------  ------------------------------------------------------------------
3142          Bra 0          Bra
3143          ^          ^
3144          x          x
3145          Bra 1          CBra 1
3146          a+?          a+?
3147          Ket          Ket
3148          b          b
# Line 3207  Need char = 'b' Line 3150  Need char = 'b'
3150          End          End
3151  ------------------------------------------------------------------  ------------------------------------------------------------------
3152  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3153  Options: anchored  Options: anchored
3154  No first char  No first char
3155  Need char = 'b'  Need char = 'b'
# Line 3222  Failed: POSIX collating elements are not Line 3164  Failed: POSIX collating elements are not
3164  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
3165    
3166  /\l/I  /\l/I
3167  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
3168    
3169  /\L/I  /\L/I
3170  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
3171    
3172  /\N{name}/I  /\N{name}/I
3173  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
3174    
3175  /\u/I  /\u/I
3176  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
3177    
3178  /\U/I  /\U/I
3179  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
3180    
3181  /[/I  /[/I
3182  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
# Line 3247  Failed: missing terminating ] for charac Line 3189  Failed: missing terminating ] for charac
3189    
3190  /[\s]/IDZ  /[\s]/IDZ
3191  ------------------------------------------------------------------  ------------------------------------------------------------------
3192          Bra 0          Bra
3193          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
3194          Ket          Ket
3195          End          End
3196  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3259  No need char Line 3201  No need char
3201    
3202  /[[:space:]]/IDZ  /[[:space:]]/IDZ
3203  ------------------------------------------------------------------  ------------------------------------------------------------------
3204          Bra 0          Bra
3205          [\x09-\x0d ]          [\x09-\x0d ]
3206          Ket          Ket
3207          End          End
# Line 3271  No need char Line 3213  No need char
3213    
3214  /[[:space:]abcde]/IDZ  /[[:space:]abcde]/IDZ
3215  ------------------------------------------------------------------  ------------------------------------------------------------------
3216          Bra 0          Bra
3217          [\x09-\x0d a-e]          [\x09-\x0d a-e]
3218          Ket          Ket
3219          End          End
# Line 3283  No need char Line 3225  No need char
3225    
3226  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3227  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3228  Options: extended  Options: extended
3229  First char = '<'  First char = '<'
3230  Need char = '>'  Need char = '>'
# Line 3306  No match Line 3247  No match
3247    
3248  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3249  ------------------------------------------------------------------  ------------------------------------------------------------------
3250          Bra 0          Bra
3251          8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X          8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3252          \b          \b
3253          Ket          Ket
3254          End          End
3255  ------------------------------------------------------------------  ------------------------------------------------------------------
3256  Capturing subpattern count = 0  Capturing subpattern count = 0
3257    Max lookbehind = 1
3258  No options  No options
3259  First char = '8'  First char = '8'
3260  Need char = 'X'  Need char = 'X'
3261    
3262  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3263  ------------------------------------------------------------------  ------------------------------------------------------------------
3264          Bra 0          Bra
3265          $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X          $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3266          \b          \b
3267          Ket          Ket
3268          End          End
3269  ------------------------------------------------------------------  ------------------------------------------------------------------
3270  Capturing subpattern count = 0  Capturing subpattern count = 0
3271    Max lookbehind = 1
3272  No options  No options
3273  First char = '$'  First char = '$'
3274  Need char = 'X'  Need char = 'X'
# Line 3333  Need char = 'X' Line 3276  Need char = 'X'
3276  /(.*)\d+\1/I  /(.*)\d+\1/I
3277  Capturing subpattern count = 1  Capturing subpattern count = 1
3278  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3279  No options  No options
3280  No first char  No first char
3281  No need char  No need char
3282    
3283  /(.*)\d+/I  /(.*)\d+/I
3284  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3285  No options  No options
3286  First char at start or follows newline  First char at start or follows newline
3287  No need char  No need char
# Line 3348  No need char Line 3289  No need char
3289  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3290  Capturing subpattern count = 1  Capturing subpattern count = 1
3291  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3292  Options: dotall  Options: dotall
3293  No first char  No first char
3294  No need char  No need char
3295    
3296  /(.*)\d+/Is  /(.*)\d+/Is
3297  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3298  Options: anchored dotall  Options: anchored dotall
3299  No first char  No first char
3300  No need char  No need char
# Line 3363  No need char Line 3302  No need char
3302  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3303  Capturing subpattern count = 2  Capturing subpattern count = 2
3304  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3305  No options  No options
3306  First char at start or follows newline  First char at start or follows newline
3307  Need char = 'z'  Need char = 'z'
# Line 3371  Need char = 'z' Line 3309  Need char = 'z'
3309  /((.*))\d+\1/I  /((.*))\d+\1/I
3310  Capturing subpattern count = 2  Capturing subpattern count = 2
3311  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3312  No options  No options
3313  No first char  No first char
3314  No need char  No need char
# Line 3388  Need char = 'b' Line 3325  Need char = 'b'
3325    
3326  /(?=a).*/I  /(?=a).*/I
3327  Capturing subpattern count = 0  Capturing subpattern count = 0
3328  Partial matching not supported  May match empty string
3329  No options  No options
3330  First char = 'a'  First char = 'a'
3331  No need char  No need char
# Line 3407  Need char = 'z' (caseless) Line 3344  Need char = 'z' (caseless)
3344    
3345  /(?=a)(?=b)/I  /(?=a)(?=b)/I
3346  Capturing subpattern count = 0  Capturing subpattern count = 0
3347    May match empty string
3348  No options  No options
3349  First char = 'a'  First char = 'a'
3350  No need char  No need char
# Line 3435  No options Line 3373  No options
3373  No first char  No first char
3374  Need char = 'a'  Need char = 'a'
3375    
3376  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3377  Capturing subpattern count = 0  Capturing subpattern count = 1
3378  No options  No options
3379  First char = 'a'  First char = 'a'
3380  No need char  No need char
3381    
3382  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3383  Capturing subpattern count = 0  Capturing subpattern count = 1
3384  No options  No options
3385  First char = 'a'  First char = 'a'
3386  Need char = 'z'  Need char = 'z'
3387    
3388  /(?(1)abz)/I  /(?(1)abz)(.)/I
3389  Capturing subpattern count = 0  Capturing subpattern count = 1
3390  No options  No options
3391  No first char  No first char
3392  No need char  No need char
3393    
3394  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3395  Capturing subpattern count = 0  Capturing subpattern count = 1
3396  No options  No options
3397  No first char  No first char
3398  Need char = '3'  Need char = '3'
# Line 3473  Need char = 'a' Line 3411  Need char = 'a'
3411    
3412  /(a)*/I  /(a)*/I
3413  Capturing subpattern count = 1  Capturing subpattern count = 1
3414    May match empty string
3415  No options  No options
3416  No first char  No first char
3417  No need char  No need char
# Line 3494  Capturing subpattern count = 0 Line 3433  Capturing subpattern count = 0
3433  No options  No options
3434  No first char  No first char
3435  No need char  No need char
3436  Starting byte set: a b  Subject length lower bound = 1
3437    Starting chars: a b
3438    
3439  /[^a]/I  /[^a]/I
3440  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3513  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 = '6'  Need char = '6'
3456  Starting byte set: 0 1 2 3 4 5 6 7 8 9  Subject length lower bound = 4
3457    Starting chars: 0 1 2 3 4 5 6 7 8 9
3458    
3459  /a^b/I  /a^b/I
3460  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3546  Capturing subpattern count = 0 Line 3487  Capturing subpattern count = 0
3487  Options: caseless  Options: caseless
3488  No first char  No first char
3489  No need char  No need char
3490  Starting byte set: A B a b  Subject length lower bound = 1
3491    Starting chars: A B a b
3492    
3493  /[ab](?i)cd/IS  /[ab](?i)cd/IS
3494  Capturing subpattern count = 0  Capturing subpattern count = 0
3495  No options  No options
3496  No first char  No first char
3497  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3498  Starting byte set: a b  Subject length lower bound = 3
3499    Starting chars: a b
3500    
3501  /abc(?C)def/I  /abc(?C)def/I
3502  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 3588  Need char = 'f' Line 3531  Need char = 'f'
3531    1    ^    ^     f    1    ^    ^     f
3532   0: abcdef   0: abcdef
3533    
3534  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/IS
3535    Capturing subpattern count = 0
3536    No options
3537    No first char
3538    Need char = 'f'
3539    Subject length lower bound = 7
3540    Starting chars: 0 1 2 3 4 5 6 7 8 9
3541        1234abcdef
3542    --->1234abcdef
3543      1 ^              \d
3544      1  ^             \d
3545      1   ^            \d
3546      1    ^           \d
3547      2    ^   ^       d
3548     0: 4abcdef
3549        *** Failers
3550    No match
3551        abcdef
3552    No match
3553    
3554    /(?C1)\dabc(?C2)def/ISS
3555  Capturing subpattern count = 0  Capturing subpattern count = 0
3556  No options  No options
3557  No first char  No first char
# Line 3677  No match Line 3640  No match
3640    
3641  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3642  Capturing subpattern count = 1  Capturing subpattern count = 1
3643    May match empty string
3644  No options  No options
3645  No first char  No first char
3646  No need char  No need char
# Line 3710  No need char Line 3674  No need char
3674    
3675  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3676  Capturing subpattern count = 1  Capturing subpattern count = 1
3677  Partial matching not supported  May match empty string
3678  No options  No options
3679  No first char  No first char
3680  No need char  No need char
# Line 3825  Callout 2: last capture = -1 Line 3789  Callout 2: last capture = -1
3789    
3790  /(?<=(abc)(?C))xyz/I  /(?<=(abc)(?C))xyz/I
3791  Capturing subpattern count = 1  Capturing subpattern count = 1
3792    Max lookbehind = 3
3793  No options  No options
3794  First char = 'x'  First char = 'x'
3795  Need char = 'z'  Need char = 'z'
# Line 3839  Callout 0: last capture = 1 Line 3804  Callout 0: last capture = 1
3804    
3805  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3806  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3807  No options  No options
3808  First char = 'a'  First char = 'a'
3809  Need char = 'b'  Need char = 'b'
# Line 3847  Need char = 'b' Line 3811  Need char = 'b'
3811  --->abbbbbccc  --->abbbbbccc
3812    1 ^        ^    1 ^        ^
3813  Callout data = 1  Callout data = 1
   1 ^       ^  
 Callout data = 1  
   1 ^      ^  
 Callout data = 1  
   1 ^     ^  
 Callout data = 1  
   1 ^    ^  
 Callout data = 1  
   1 ^   ^  
 Callout data = 1  
   1 ^  ^  
 Callout data = 1  
   1 ^ ^  
 Callout data = 1  
3814  No match  No match
3815    
3816  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3817  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3818  No options  No options
3819  First char = 'a'  First char = 'a'
3820  Need char = 'b'  Need char = 'b'
# Line 3906  Capturing subpattern count = 0 Line 3855  Capturing subpattern count = 0
3855  No options  No options
3856  No first char  No first char
3857  No need char  No need char
3858  Starting byte set: a b  Subject length lower bound = 1
3859    Starting chars: a b
3860    
3861  /(?R)/I  /(?R)/I
3862  Failed: recursive call could loop indefinitely at offset 3  Failed: recursive call could loop indefinitely at offset 3
# Line 3957  Failed: recursive call could loop indefi Line 3907  Failed: recursive call could loop indefi
3907    
3908  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3909  Capturing subpattern count = 1  Capturing subpattern count = 1
3910    May match empty string
3911  Options: anchored  Options: anchored
3912  No first char  No first char
3913  No need char  No need char
# Line 3991  Need char = '<' Line 3942  Need char = '<'
3942    
3943  /(a(?1)b)/DZ  /(a(?1)b)/DZ
3944  ------------------------------------------------------------------  ------------------------------------------------------------------
3945          Bra 0          Bra
3946          Bra 1          CBra 1
3947          a          a
         Once  
3948          Recurse          Recurse
         Ket  
3949          b          b
3950          Ket          Ket
3951          Ket          Ket
# Line 4009  Need char = 'b' Line 3958  Need char = 'b'
3958    
3959  /(a(?1)+b)/DZ  /(a(?1)+b)/DZ
3960  ------------------------------------------------------------------  ------------------------------------------------------------------
3961          Bra 0          Bra
3962          Bra 1          CBra 1
3963          a          a
3964          Once          Once
3965          Recurse          Recurse
# Line 4025  No options Line 3974  No options
3974  First char = 'a'  First char = 'a'
3975  Need char = 'b'  Need char = 'b'
3976    
 /^\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  
   
3977  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3978  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3979  Options: anchored  Options: anchored
3980  No first char  No first char
3981  No need char  No need char
# Line 4102  No match Line 4016  No match
4016    
4017  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4018  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
4019  Options: extended  Options: extended
4020  First char = '<'  First char = '<'
4021  Need char = '>'  Need char = '>'
# Line 4185  No need char Line 4098  No need char
4098    
4099  /a(?P<name1>b|c)d(?P<longername2>e)/DZ  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4100  ------------------------------------------------------------------  ------------------------------------------------------------------
4101          Bra 0          Bra
4102          a          a
4103          Bra 1          CBra 1
4104          b          b
4105          Alt          Alt
4106          c          c
4107          Ket          Ket
4108          d          d
4109          Bra 2          CBra 2
4110          e          e
4111          Ket          Ket
4112          Ket          Ket
# Line 4217  Need char = 'e' Line 4130  Need char = 'e'
4130    
4131  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4132  ------------------------------------------------------------------  ------------------------------------------------------------------
4133          Bra 0          Bra
4134          Bra 0          Bra
4135          a          a
4136          Bra 1          CBra 1
4137          c          c
4138          Bra 2          CBra 2
4139          d          d
4140          Ket          Ket
4141          Ket          Ket
4142          Ket          Ket
4143          Bra 3          CBra 3
4144          a          a
4145          Ket          Ket
4146          Ket          Ket
# Line 4244  Need char = 'a' Line 4157  Need char = 'a'
4157    
4158  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4159  ------------------------------------------------------------------  ------------------------------------------------------------------
4160          Bra 0          Bra
4161          Bra 1          CBra 1
4162          a          a
4163          Ket          Ket
4164          Any          Any
# Line 4253  Need char = 'a' Line 4166  Need char = 'a'
4166          Any          Any
4167          \1          \1
4168          bbb          bbb
         Once  
4169          Recurse          Recurse
         Ket  
4170          d          d
4171          Ket          Ket
4172          End          End
# Line 4276  Named capturing subpatterns: Line 4187  Named capturing subpatterns:
4187    one     1    one     1
4188    three   3    three   3
4189    two     2    two     2
4190  Partial matching not supported  May match empty string
4191  Options: anchored caseless  Options: anchored caseless
4192  No first char  No first char
4193  No need char  No need char
# Line 4322  No need char Line 4233  No need char
4233    
4234  /(.*)a/Is  /(.*)a/Is
4235  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4236  Options: anchored dotall  Options: anchored dotall
4237  No first char  No first char
4238  Need char = 'a'  Need char = 'a'
# Line 4330  Need char = 'a' Line 4240  Need char = 'a'
4240  /(.*)a\1/Is  /(.*)a\1/Is
4241  Capturing subpattern count = 1  Capturing subpattern count = 1
4242  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4243  Options: dotall  Options: dotall
4244  No first char  No first char
4245  Need char = 'a'  Need char = 'a'
# Line 4338  Need char = 'a' Line 4247  Need char = 'a'
4247  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4248  Capturing subpattern count = 2  Capturing subpattern count = 2
4249  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4250  Options: anchored dotall  Options: anchored dotall
4251  No first char  No first char
4252  Need char = 'b'  Need char = 'b'
4253    
4254  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4255  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4256  Options: anchored dotall  Options: anchored dotall
4257  No first char  No first char
4258  Need char = 'z'  Need char = 'z'
# Line 4353  Need char = 'z' Line 4260  Need char = 'z'
4260  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4261  Capturing subpattern count = 3  Capturing subpattern count = 3
4262  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4263  Options: dotall  Options: dotall
4264  No first char  No first char
4265  Need char = 'z'  Need char = 'z'
# Line 4361  Need char = 'z' Line 4267  Need char = 'z'
4267  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4268  Capturing subpattern count = 3  Capturing subpattern count = 3
4269  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4270  Options: dotall  Options: dotall
4271  No first char  No first char
4272  Need char = 'z'  Need char = 'z'
# Line 4369  Need char = 'z' Line 4274  Need char = 'z'
4274  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4275  Capturing subpattern count = 3  Capturing subpattern count = 3
4276  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4277  Options: dotall  Options: dotall
4278  No first char  No first char
4279  Need char = 'z'  Need char = 'z'
# Line 4377  Need char = 'z' Line 4281  Need char = 'z'
4281  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4282  Capturing subpattern count = 3  Capturing subpattern count = 3
4283  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4284  Options: anchored dotall  Options: anchored dotall
4285  No first char  No first char
4286  Need char = 'z'  Need char = 'z'
4287    
4288  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4289  Capturing subpattern count = 31  Capturing subpattern count = 31
4290  Partial matching not supported  May match empty string
4291  Options: anchored dotall  Options: anchored dotall
4292  No first char  No first char
4293  No need char  No need char
# Line 4392  No need char Line 4295  No need char
4295  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4296  Capturing subpattern count = 31  Capturing subpattern count = 31
4297  Max back reference = 31  Max back reference = 31
4298  Partial matching not supported  May match empty string
4299  Options: dotall  Options: dotall
4300  No first char  No first char
4301  No need char  No need char
# Line 4400  No need char Line 4303  No need char
4303  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4304  Capturing subpattern count = 32  Capturing subpattern count = 32
4305  Max back reference = 32  Max back reference = 32
4306  Partial matching not supported  May match empty string
4307  Options: dotall  Options: dotall
4308  No first char  No first char
4309  No need char  No need char
4310    
4311  /(a)(bc)/INDZ  /(a)(bc)/INDZ
4312  ------------------------------------------------------------------  ------------------------------------------------------------------
4313          Bra 0          Bra
4314          Bra 0          Bra
4315          a          a
4316          Ket          Ket
4317          Bra 0          Bra
4318          bc          bc
4319          Ket          Ket
4320          Ket          Ket
# Line 4426  Need char = 'c' Line 4329  Need char = 'c'
4329    
4330  /(?P<one>a)(bc)/INDZ  /(?P<one>a)(bc)/INDZ
4331  ------------------------------------------------------------------  ------------------------------------------------------------------
4332          Bra 0          Bra
4333          Bra 1          CBra 1
4334          a          a
4335          Ket          Ket
4336          Bra 0          Bra
4337          bc          bc
4338          Ket          Ket
4339          Ket          Ket
# Line 4448  Need char = 'c' Line 4351  Need char = 'c'
4351    
4352  /(a)(?P<named>bc)/INDZ  /(a)(?P<named>bc)/INDZ
4353  ------------------------------------------------------------------  ------------------------------------------------------------------
4354          Bra 0          Bra
4355          Bra 0          Bra
4356          a          a
4357          Ket          Ket
4358          Bra 1          CBra 1
4359          bc          bc
4360          Ket          Ket
4361          Ket          Ket
# Line 4467  Need char = 'c' Line 4370  Need char = 'c'
4370    
4371  /(a+)*zz/I  /(a+)*zz/I
4372  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4373  No options  No options
4374  No first char  No first char
4375  Need char = 'z'  Need char = 'z'
# Line 4478  Minimum match() recursion limit = 6 Line 4380  Minimum match() recursion limit = 6
4380   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4381    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4382  Minimum match() limit = 32768  Minimum match() limit = 32768
4383  Minimum match() recursion limit = 42  Minimum match() recursion limit = 29
4384  No match  No match
4385    
4386  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4541  copy substring three failed -7 Line 4443  copy substring three failed -7
4443    
4444  /(?P<Tes>)(?P<Test>)/DZ  /(?P<Tes>)(?P<Test>)/DZ
4445  ------------------------------------------------------------------  ------------------------------------------------------------------
4446          Bra 0          Bra
4447          Bra 1          CBra 1
4448          Ket          Ket
4449          Bra 2          CBra 2
4450          Ket          Ket
4451          Ket          Ket
4452          End          End
# Line 4553  Capturing subpattern count = 2 Line 4455  Capturing subpattern count = 2
4455  Named capturing subpatterns:  Named capturing subpatterns:
4456    Tes    1    Tes    1
4457    Test   2    Test   2
4458    May match empty string
4459  No options  No options
4460  No first char  No first char
4461  No need char  No need char
4462    
4463  /(?P<Test>)(?P<Tes>)/DZ  /(?P<Test>)(?P<Tes>)/DZ
4464  ------------------------------------------------------------------  ------------------------------------------------------------------
4465          Bra 0          Bra
4466          Bra 1          CBra 1
4467          Ket          Ket
4468          Bra 2          CBra 2
4469          Ket          Ket
4470          Ket          Ket
4471          End          End
# Line 4571  Capturing subpattern count = 2 Line 4474  Capturing subpattern count = 2
4474  Named capturing subpatterns:  Named capturing subpatterns:
4475    Tes    2    Tes    2
4476    Test   1    Test   1
4477    May match empty string
4478  No options  No options
4479  No first char  No first char
4480  No need char  No need char
# Line 4604  Failed: two named subpatterns have the s Line 4508  Failed: two named subpatterns have the s
4508  Capturing subpattern count = 3  Capturing subpattern count = 3
4509  Named capturing subpatterns:  Named capturing subpatterns:
4510    elem   2    elem   2
 Partial matching not supported  
4511  No options  No options
4512  First char = '['  First char = '['
4513  Need char = ']'  Need char = ']'
# Line 4622  No match Line 4525  No match
4525  Capturing subpattern count = 3  Capturing subpattern count = 3
4526  Named capturing subpatterns:  Named capturing subpatterns:
4527    elem   2    elem   2
 Partial matching not supported  
4528  No options  No options
4529  First char = '['  First char = '['
4530  Need char = ']'  Need char = ']'
# Line 4636  Need char = ']' Line 4538  Need char = ']'
4538    
4539  /(a(b(?2)c))?/DZ  /(a(b(?2)c))?/DZ
4540  ------------------------------------------------------------------  ------------------------------------------------------------------
4541          Bra 0          Bra
4542          Brazero          Brazero
4543          Bra 1          CBra 1
4544          a          a
4545          Bra 2          CBra 2
4546          b          b
         Once  
4547          Recurse          Recurse
         Ket  
4548          c          c
4549          Ket          Ket
4550          Ket          Ket
# Line 4652  Need char = ']' Line 4552  Need char = ']'
4552          End          End
4553  ------------------------------------------------------------------  ------------------------------------------------------------------
4554  Capturing subpattern count = 2  Capturing subpattern count = 2
4555    May match empty string
4556  No options  No options
4557  No first char  No first char
4558  No need char  No need char
4559    
4560  /(a(b(?2)c))*/DZ  /(a(b(?2)c))*/DZ
4561  ------------------------------------------------------------------  ------------------------------------------------------------------
4562          Bra 0          Bra
4563          Brazero          Brazero
4564          Bra 1          CBra 1
4565          a          a
4566          Bra 2          CBra 2
4567          b          b
         Once  
4568          Recurse          Recurse
         Ket  
4569          c          c
4570          Ket          Ket
4571          KetRmax          KetRmax
# Line 4674  No need char Line 4573  No need char
4573          End          End
4574  ------------------------------------------------------------------  ------------------------------------------------------------------
4575  Capturing subpattern count = 2  Capturing subpattern count = 2
4576    May match empty string
4577  No options  No options
4578  No first char  No first char
4579  No need char  No need char
4580    
4581  /(a(b(?2)c)){0,2}/DZ  /(a(b(?2)c)){0,2}/DZ
4582  ------------------------------------------------------------------  ------------------------------------------------------------------
4583          Bra 0          Bra
4584          Brazero          Brazero
4585          Bra 0          Bra
4586          Bra 1          CBra 1
4587          a          a
4588          Bra 2          CBra 2
4589          b          b
         Once  
4590          Recurse          Recurse
         Ket  
4591          c          c
4592          Ket          Ket
4593          Ket          Ket
4594          Brazero          Brazero
4595          Bra 1          CBra 1
4596          a          a
4597          Bra 2          CBra 2
4598          b          b
         Once  
4599          Recurse          Recurse
         Ket  
4600          c          c
4601          Ket          Ket
4602          Ket          Ket
# Line 4709  No need char Line 4605  No need char
4605          End          End
4606  ------------------------------------------------------------------  ------------------------------------------------------------------
4607  Capturing subpattern count = 2  Capturing subpattern count = 2
4608    May match empty string
4609  No options  No options
4610  No first char  No first char
4611  No need char  No need char
4612    
4613  /[ab]{1}+/DZ  /[ab]{1}+/DZ
4614  ------------------------------------------------------------------  ------------------------------------------------------------------
4615          Bra 0          Bra
4616          Once          [ab]{1,1}+
         [ab]{1,1}  
         Ket  
4617          Ket          Ket
4618          End          End
4619  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 4729  No need char Line 4624  No need char
4624    
4625  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4626  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4627  Options: caseless  Options: caseless
4628  No first char  No first char
4629  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4739  Need char = 'g' (caseless) Line 4633  Need char = 'g' (caseless)
4633    
4634  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4635  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4636  Options: caseless  Options: caseless
4637  No first char  No first char
4638  Need char = 'g' (caseless)  Need char = 'g' (caseless)
4639  Study returned NULL  Subject length lower bound = 8
4640    No starting char list
4641       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4642   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4643   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4644    
4645  /a*.*b/ISDZ  /a*.*b/ISDZ
4646  ------------------------------------------------------------------  ------------------------------------------------------------------
4647          Bra 0          Bra
4648          a*          a*
4649          Any*          Any*
4650          b          b
# Line 4758  Study returned NULL Line 4652  Study returned NULL
4652          End          End
4653  ------------------------------------------------------------------  ------------------------------------------------------------------
4654  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4655  No options  No options
4656  No first char  No first char
4657  Need char = 'b'  Need char = 'b'
4658  Study returned NULL  Subject length lower bound = 1
4659    No starting char list
4660    
4661  /(a|b)*.?c/ISDZ  /(a|b)*.?c/ISDZ
4662  ------------------------------------------------------------------  ------------------------------------------------------------------
4663          Bra 0          Bra
4664          Brazero          Brazero
4665          Bra 1          CBra 1
4666          a          a
4667          Alt          Alt
4668          b          b
# Line 4782  Capturing subpattern count = 1 Line 4676  Capturing subpattern count = 1
4676  No options  No options
4677  No first char  No first char
4678  Need char = 'c'  Need char = 'c'
4679  Study returned NULL  Subject length lower bound = 1
4680    No starting char list
4681    
4682  /abc(?C255)de(?C)f/DZ  /abc(?C255)de(?C)f/DZ
4683  ------------------------------------------------------------------  ------------------------------------------------------------------
4684          Bra 0          Bra
4685          abc          abc
4686          Callout 255 10 1          Callout 255 10 1
4687          de          de
# Line 4802  Need char = 'f' Line 4697  Need char = 'f'
4697    
4698  /abcde/ICDZ  /abcde/ICDZ
4699  ------------------------------------------------------------------  ------------------------------------------------------------------
4700          Bra 0          Bra
4701          Callout 255 0 1          Callout 255 0 1
4702          a          a
4703          Callout 255 1 1          Callout 255 1 1
# Line 4839  Need char = 'e' Line 4734  Need char = 'e'
4734   +4 ^   ^      e   +4 ^   ^      e
4735  No match  No match
4736    
4737  /a*b/ICDZ  /a*b/ICDZS
4738  ------------------------------------------------------------------  ------------------------------------------------------------------
4739          Bra 0          Bra
4740          Callout 255 0 2          Callout 255 0 2
4741          a*+          a*+
4742          Callout 255 2 1          Callout 255 2 1
# Line 4851  No match Line 4746  No match
4746          End          End
4747  ------------------------------------------------------------------  ------------------------------------------------------------------
4748  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4749  Options:  Options:
4750  No first char  No first char
4751  Need char = 'b'  Need char = 'b'
4752    Subject length lower bound = 1
4753    Starting chars: a b
4754    ab    ab
4755  --->ab  --->ab
4756   +0 ^      a*   +0 ^      a*
# Line 4877  Need char = 'b' Line 4773  Need char = 'b'
4773   +2   ^ ^      b   +2   ^ ^      b
4774   +0    ^       a*   +0    ^       a*
4775   +2    ^^      b   +2    ^^      b
  +0     ^      a*  
  +2     ^      b  
4776   +0      ^     a*   +0      ^     a*
4777   +2      ^     b   +2      ^     b
4778   +3      ^^   +3      ^^
4779   0: b   0: b
4780    
4781  /a+b/ICDZ  /a*b/ICDZSS
4782  ------------------------------------------------------------------  ------------------------------------------------------------------
4783          Bra 0          Bra
4784          Callout 255 0 2          Callout 255 0 2
4785          a++          a*+
4786          Callout 255 2 1          Callout 255 2 1
4787          b          b
4788          Callout 255 3 0          Callout 255 3 0
# Line 4896  Need char = 'b' Line 4790  Need char = 'b'
4790          End          End
4791  ------------------------------------------------------------------  ------------------------------------------------------------------
4792  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4793  Options:  Options:
4794  First char = 'a'  No first char
4795  Need char = 'b'  Need char = 'b'
4796    ab    ab
4797  --->ab  --->ab
4798   +0 ^      a+   +0 ^      a*
4799   +2 ^^     b   +2 ^^     b
4800   +3 ^ ^   +3 ^ ^
4801   0: ab   0: ab
4802    aaaab    aaaab
4803  --->aaaab  --->aaaab
4804   +0 ^         a+   +0 ^         a*
4805   +2 ^   ^     b   +2 ^   ^     b
4806   +3 ^    ^   +3 ^    ^
4807   0: aaaab   0: aaaab
4808    aaaacb    aaaacb
4809  --->aaaacb  --->aaaacb
4810   +0 ^          a+   +0 ^          a*
4811   +2 ^   ^      b   +2 ^   ^      b
4812   +0  ^         a+   +0  ^         a*
4813   +2  ^  ^      b   +2  ^  ^      b
4814   +0   ^        a+   +0   ^        a*
4815   +2   ^ ^      b   +2   ^ ^      b
4816   +0    ^       a+   +0    ^       a*
4817   +2    ^^      b   +2    ^^      b
4818  No match   +0     ^      a*
4819     +2     ^      b
4820  /(abc|def)x/ICDZ   +0      ^     a*
4821     +2      ^     b
4822     +3      ^^
4823     0: b
4824    
4825    /a+b/ICDZ
4826    ------------------------------------------------------------------
4827            Bra
4828            Callout 255 0 2
4829            a++
4830            Callout 255 2 1
4831            b
4832            Callout 255 3 0
4833            Ket
4834            End
4835    ------------------------------------------------------------------
4836    Capturing subpattern count = 0
4837    Options:
4838    First char = 'a'
4839    Need char = 'b'
4840      ab
4841    --->ab
4842     +0 ^      a+
4843     +2 ^^     b
4844     +3 ^ ^
4845     0: ab
4846      aaaab
4847    --->aaaab
4848     +0 ^         a+
4849     +2 ^   ^     b
4850     +3 ^    ^
4851     0: aaaab
4852      aaaacb
4853    --->aaaacb
4854     +0 ^          a+
4855     +2 ^   ^      b
4856     +0  ^         a+
4857     +2  ^  ^      b
4858     +0   ^        a+
4859     +2   ^ ^      b
4860     +0    ^       a+
4861     +2    ^^      b
4862    No match
4863    
4864    /(abc|def)x/ICDZS
4865    ------------------------------------------------------------------
4866            Bra
4867            Callout 255 0 9
4868            CBra 1
4869            Callout 255 1 1
4870            a
4871            Callout 255 2 1
4872            b
4873            Callout 255 3 1
4874            c
4875            Callout 255 4 0
4876            Alt
4877            Callout 255 5 1
4878            d
4879            Callout 255 6 1
4880            e
4881            Callout 255 7 1
4882            f
4883            Callout 255 8 0
4884            Ket
4885            Callout 255 9 1
4886            x
4887            Callout 255 10 0
4888            Ket
4889            End
4890    ------------------------------------------------------------------
4891    Capturing subpattern count = 1
4892    Options:
4893    No first char
4894    Need char = 'x'
4895    Subject length lower bound = 4
4896    Starting chars: a d
4897      abcx
4898    --->abcx
4899     +0 ^        (abc|def)
4900     +1 ^        a
4901     +2 ^^       b
4902     +3 ^ ^      c
4903     +4 ^  ^     |
4904     +9 ^  ^     x
4905    +10 ^   ^
4906     0: abcx
4907     1: abc
4908      defx
4909    --->defx
4910     +0 ^        (abc|def)
4911     +1 ^        a
4912     +5 ^        d
4913     +6 ^^       e
4914     +7 ^ ^      f
4915     +8 ^  ^     )
4916     +9 ^  ^     x
4917    +10 ^   ^
4918     0: defx
4919     1: def
4920      ** Failers
4921    No match
4922      abcdefzx
4923    --->abcdefzx
4924     +0 ^            (abc|def)
4925     +1 ^            a
4926     +2 ^^           b
4927     +3 ^ ^          c
4928     +4 ^  ^         |
4929     +9 ^  ^         x
4930     +5 ^            d
4931     +0    ^         (abc|def)
4932     +1    ^         a
4933     +5    ^         d
4934     +6    ^^        e
4935     +7    ^ ^       f
4936     +8    ^  ^      )
4937     +9    ^  ^      x
4938    No match
4939    
4940    /(abc|def)x/ICDZSS
4941  ------------------------------------------------------------------  ------------------------------------------------------------------
4942          Bra 0          Bra
4943          Callout 255 0 9          Callout 255 0 9
4944          Bra 1          CBra 1
4945          Callout 255 1 1          Callout 255 1 1
4946          a          a
4947          Callout 255 2 1          Callout 255 2 1
# Line 4978  Need char = 'x' Line 4991  Need char = 'x'
4991  +10 ^   ^  +10 ^   ^
4992   0: defx   0: defx
4993   1: def   1: def
4994      ** Failers
4995    No match
4996    abcdefzx    abcdefzx
4997  --->abcdefzx  --->abcdefzx
4998   +0 ^            (abc|def)   +0 ^            (abc|def)
# Line 5078  No need char Line 5093  No need char
5093   0: abcdcdcd   0: abcdcdcd
5094   1: cd   1: cd
5095    
5096  /([ab]{,4}c|xy)/ICDZ  /([ab]{,4}c|xy)/ICDZS
5097    ------------------------------------------------------------------
5098            Bra
5099            Callout 255 0 14
5100            CBra 1
5101            Callout 255 1 4
5102            [ab]
5103            Callout 255 5 1
5104            {
5105            Callout 255 6 1
5106            ,
5107            Callout 255 7 1
5108            4
5109            Callout 255 8 1
5110            }
5111            Callout 255 9 1
5112            c
5113            Callout 255 10 0
5114            Alt
5115            Callout 255 11 1
5116            x
5117            Callout 255 12 1
5118            y
5119            Callout 255 13 0
5120            Ket
5121            Callout 255 14 0
5122            Ket
5123            End
5124    ------------------------------------------------------------------
5125    Capturing subpattern count = 1
5126    Options:
5127    No first char
5128    No need char
5129    Subject length lower bound = 2
5130    Starting chars: a b x
5131        Note: that { does NOT introduce a quantifier
5132    --->Note: that { does NOT introduce a quantifier
5133     +0         ^                                        ([ab]{,4}c|xy)
5134     +1         ^                                        [ab]
5135     +5         ^^                                       {
5136    +11         ^                                        x
5137     +0                                 ^                ([ab]{,4}c|xy)
5138     +1                                 ^                [ab]
5139     +5                                 ^^               {
5140    +11                                 ^                x
5141     +0                                     ^            ([ab]{,4}c|xy)
5142     +1                                     ^            [ab]
5143     +5                                     ^^           {
5144    +11                                     ^            x
5145    No match
5146    
5147    /([ab]{,4}c|xy)/ICDZSS
5148  ------------------------------------------------------------------  ------------------------------------------------------------------
5149          Bra 0          Bra
5150          Callout 255 0 14          Callout 255 0 14
5151          Bra 1          CBra 1
5152          Callout 255 1 4          Callout 255 1 4
5153          [ab]          [ab]
5154          Callout 255 5 1          Callout 255 5 1
# Line 5255  No match Line 5321  No match
5321    
5322  /([ab]{1,4}c|xy){4,5}?123/ICDZ  /([ab]{1,4}c|xy){4,5}?123/ICDZ
5323  ------------------------------------------------------------------  ------------------------------------------------------------------
5324          Bra 0          Bra
5325          Callout 255 0 21          Callout 255 0 21
5326          Bra 1          CBra 1
5327          Callout 255 1 9          Callout 255 1 9
5328          [ab]{1,4}          [ab]{1,4}+
5329          Callout 255 10 1          Callout 255 10 1
5330          c          c
5331          Callout 255 11 0          Callout 255 11 0
# Line 5270  No match Line 5336  No match
5336          y          y
5337          Callout 255 14 0          Callout 255 14 0
5338          Ket          Ket
5339          Bra 1          CBra 1
5340          Callout 255 1 9          Callout 255 1 9
5341          [ab]{1,4}          [ab]{1,4}+
5342          Callout 255 10 1          Callout 255 10 1
5343          c          c
5344          Callout 255 11 0          Callout 255 11 0
# Line 5283  No match Line 5349  No match
5349          y          y
5350          Callout 255 14 0          Callout 255 14 0
5351          Ket          Ket
5352          Bra 1          CBra 1
5353          Callout 255 1 9          Callout 255 1 9
5354          [ab]{1,4}          [ab]{1,4}+
5355          Callout 255 10 1          Callout 255 10 1
5356          c          c
5357          Callout 255 11 0          Callout 255 11 0
# Line 5296  No match Line 5362  No match
5362          y          y
5363          Callout 255 14 0          Callout 255 14 0
5364          Ket          Ket
5365          Bra 1          CBra 1
5366          Callout 255 1 9          Callout 255 1 9
5367          [ab]{1,4}          [ab]{1,4}+
5368          Callout 255 10 1          Callout 255 10 1
5369          c          c
5370          Callout 255 11 0          Callout 255 11 0
# Line 5310  No match Line 5376  No match
5376          Callout 255 14 0          Callout 255 14 0
5377          Ket          Ket
5378          Braminzero          Braminzero
5379          Bra 1          CBra 1
5380          Callout 255 1 9          Callout 255 1 9
5381          [ab]{1,4}          [ab]{1,4}+
5382          Callout 255 10 1          Callout 255 10 1
5383          c          c
5384          Callout 255 11 0          Callout 255 11 0
# Line 5334  No match Line 5400  No match
5400          End          End
5401  ------------------------------------------------------------------  ------------------------------------------------------------------
5402  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5403  Options:  Options:
5404  No first char  No first char
5405  Need char = '3'  Need char = '3'
# Line 5366  Need char = '3' Line 5431  Need char = '3'
5431    
5432  /\b.*/I  /\b.*/I
5433  Capturing subpattern count = 0  Capturing subpattern count = 0
5434  Partial matching not supported  Max lookbehind = 1
5435    May match empty string
5436  No options  No options
5437  No first char  No first char
5438  No need char  No need char
# Line 5375  No need char Line 5441  No need char
5441    
5442  /\b.*/Is  /\b.*/Is
5443  Capturing subpattern count = 0  Capturing subpattern count = 0
5444  Partial matching not supported  Max lookbehind = 1
5445    May match empty string
5446  Options: dotall  Options: dotall
5447  No first char  No first char
5448  No need char  No need char
# Line 5384  No need char Line 5451  No need char
5451    
5452  /(?!.bcd).*/I  /(?!.bcd).*/I
5453  Capturing subpattern count = 0  Capturing subpattern count = 0
5454  Partial matching not supported  May match empty string
5455  No options  No options
5456  No first char  No first char
5457  No need char  No need char
# Line 5397  No options Line 5464  No options
5464  First char = 'a'  First char = 'a'
5465  Need char = 'e'  Need char = 'e'
5466      ab\P      ab\P
5467  Partial match  Partial match: ab
5468      abc\P      abc\P
5469  Partial match  Partial match: abc
5470      abcd\P      abcd\P
5471  Partial match  Partial match: abcd
5472      abcde\P      abcde\P
5473   0: abcde   0: abcde
5474      the quick brown abc\P      the quick brown abc\P
5475  Partial match  Partial match: abc
5476      ** Failers\P      ** Failers\P
5477  No match  No match
5478      the quick brown abxyz fox\P      the quick brown abxyz fox\P
# Line 5430  Need char = '/' Line 5497  Need char = '/'
5497   1: 02   1: 02
5498   2: 05   2: 05
5499      1\P      1\P
5500  Partial match  Partial match: 1
5501      1/2\P      1/2\P
5502  Partial match  Partial match: 1/2
5503      1/2/0\P      1/2/0\P
5504  Partial match  Partial match: 1/2/0
5505      1/2/04\P      1/2/04\P
5506   0: 1/2/04   0: 1/2/04
5507   1: 1   1: 1
5508   2: 2   2: 2
5509      0\P      0\P
5510  Partial match  Partial match: 0
5511      02/\P      02/\P
5512  Partial match  Partial match: 02/
5513      02/0\P      02/0\P
5514  Partial match  Partial match: 02/0
5515      02/1\P      02/1\P
5516  Partial match  Partial match: 02/1
5517      ** Failers\P      ** Failers\P
5518  No match  No match
5519      \P      \P
# Line 5468  No match Line 5535  No match
5535    
5536  /0{0,2}ABC/I  /0{0,2}ABC/I
5537  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5538  No options  No options
5539  No first char  No first char
5540  Need char = 'C'  Need char = 'C'
5541    
5542  /\d{3,}ABC/I  /\d{3,}ABC/I
5543  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5544  No options  No options
5545  No first char  No first char
5546  Need char = 'C'  Need char = 'C'
5547    
5548  /\d*ABC/I  /\d*ABC/I
5549  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5550  No options  No options
5551  No first char  No first char
5552  Need char = 'C'  Need char = 'C'
5553    
5554  /[abc]+DE/I  /[abc]+DE/I
5555  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5556  No options  No options
5557  No first char  No first char
5558  Need char = 'E'  Need char = 'E'
# Line 5502  Need char = '3' Line 5565  Need char = '3'
5565      123\P      123\P
5566   0: 123   0: 123
5567      a\P      a\P
5568  Partial match  Partial match: a
5569      b\P      b\P
5570  Partial match  Partial match: b
5571      c\P      c\P
5572  Partial match  Partial match: c
5573      c12\P      c12\P
5574  Partial match  Partial match: c12
5575      c123\P      c123\P
5576   0: c123   0: c123
5577    
# Line 5518  Options: anchored Line 5581  Options: anchored
5581  No first char  No first char
5582  Need char = 'X'  Need char = 'X'
5583      1\P      1\P
5584  Partial match  Partial match: 1
5585      123\P      123\P
5586  Partial match  Partial match: 123
5587      123X      123X
5588   0: 123X   0: 123X
5589      1234\P      1234\P
5590  Partial match  Partial match: 1234
5591      1234X      1234X
5592   0: 1234X   0: 1234X
5593      12345\P      12345\P
5594  Partial match  Partial match: 12345
5595      12345X      12345X
5596   0: 12345X   0: 12345X
5597      *** Failers      *** Failers
# Line 5538  No match Line 5601  No match
5601      123456\P      123456\P
5602  No match  No match
5603    
5604  /abc/I>testsavedregex  /abc/IS>testsavedregex
5605    Capturing subpattern count = 0
5606    No options
5607    First char = 'a'
5608    Need char = 'c'
5609    Subject length lower bound = 3
5610    No starting char list
5611    Compiled pattern written to testsavedregex
5612    Study data written to testsavedregex
5613    <testsavedregex
5614    Compiled pattern loaded from testsavedregex
5615    Study data loaded from testsavedregex
5616        abc
5617     0: abc
5618        ** Failers
5619    No match
5620        bca
5621    No match
5622    
5623    /abc/ISS>testsavedregex
5624  Capturing subpattern count = 0  Capturing subpattern count = 0
5625  No options  No options
5626  First char = 'a'  First char = 'a'
5627  Need char = 'c'  Need char = 'c'
5628  Compiled regex written to testsavedregex  Compiled pattern written to testsavedregex
5629  <testsavedregex  <testsavedregex
5630  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5631  No study data  No study data
5632      abc      abc
5633   0: abc   0: abc
# Line 5554  No match Line 5636  No match
5636      bca      bca
5637  No match  No match
5638    
5639  /abc/IF>testsavedregex  /abc/IFS>testsavedregex
5640  Capturing subpattern count = 0  Capturing subpattern count = 0
5641  No options  No options
5642  First char = 'a'  First char = 'a'
5643  Need char = 'c'  Need char = 'c'
5644  Compiled regex written to testsavedregex  Subject length lower bound = 3
5645    No starting char list
5646    Compiled pattern written to testsavedregex
5647    Study data written to testsavedregex
5648    <testsavedregex
5649    Compiled pattern (byte-inverted) loaded from testsavedregex
5650    Study data loaded from testsavedregex
5651        abc
5652     0: abc
5653        ** Failers
5654    No match
5655        bca
5656    No match
5657    
5658    /abc/IFSS>testsavedregex
5659    Capturing subpattern count = 0
5660    No options
5661    First char = 'a'
5662    Need char = 'c'
5663    Compiled pattern written to testsavedregex
5664  <testsavedregex  <testsavedregex
5665  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5666  No study data  No study data
5667      abc      abc
5668   0: abc   0: abc
# Line 5575  Capturing subpattern count = 1 Line 5676  Capturing subpattern count = 1
5676  No options  No options
5677  No first char  No first char
5678  No need char  No need char
5679  Starting byte set: a b  Subject length lower bound = 1
5680  Compiled regex written to testsavedregex  Starting chars: a b
5681    Compiled pattern written to testsavedregex
5682  Study data written to testsavedregex  Study data written to testsavedregex
5683  <testsavedregex  <testsavedregex
5684  Compiled regex loaded from testsavedregex  Compiled pattern loaded from testsavedregex
5685  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5686      abc      abc
5687   0: a   0: a
# Line 5590  Study data loaded from testsavedregex Line 5692  Study data loaded from testsavedregex
5692      def      def
5693  No match  No match
5694    
5695    /(a|b)/ISS>testsavedregex
5696    Capturing subpattern count = 1
5697    No options
5698    No first char
5699    No need char
5700    Compiled pattern written to testsavedregex
5701    <testsavedregex
5702    Compiled pattern loaded from testsavedregex
5703    No study data
5704        abc
5705     0: a
5706     1: a
5707        ** Failers
5708     0: a
5709     1: a
5710        def
5711    No match
5712    
5713  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5714  Capturing subpattern count = 1  Capturing subpattern count = 1
5715  No options  No options
5716  No first char  No first char
5717  No need char  No need char
5718  Starting byte set: a b  Subject length lower bound = 1
5719  Compiled regex written to testsavedregex  Starting chars: a b
5720    Compiled pattern written to testsavedregex
5721  Study data written to testsavedregex  Study data written to testsavedregex
5722  <testsavedregex  <testsavedregex
5723  Compiled regex (byte-inverted) loaded from testsavedregex  Compiled pattern (byte-inverted) loaded from testsavedregex
5724  Study data loaded from testsavedregex  Study data loaded from testsavedregex
5725      abc      abc
5726   0: a   0: a
# Line 5610  Study data loaded from testsavedregex Line 5731  Study data loaded from testsavedregex
5731      def      def
5732  No match  No match
5733    
5734    /(a|b)/ISSF>testsavedregex
5735    Capturing subpattern count = 1
5736    No options
5737    No first char
5738    No need char
5739    Compiled pattern written to testsavedregex
5740    <testsavedregex
5741    Compiled pattern (byte-inverted) loaded from testsavedregex
5742    No study data
5743        abc
5744     0: a
5745     1: a
5746        ** Failers
5747     0: a
5748     1: a
5749        def
5750    No match
5751    
5752  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5753  Capturing subpattern count = 3  Capturing subpattern count = 3
5754  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5755  Options: multiline dotall  Options: multiline dotall
5756  First char = '<'  First char = '<'
5757  Need char = '>'  Need char = '>'
5758      <!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>
5759   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>
5760   1: seite   1: seite
5761   2: \x0a   2: \x0a
# Line 5631  No need char Line 5769  No need char
5769    
5770  /line\nbreak/I  /line\nbreak/I
5771  Capturing subpattern count = 0  Capturing subpattern count = 0
5772    Contains explicit CR or LF match
5773  No options  No options
5774  First char = 'l'  First char = 'l'
5775  Need char = 'k'  Need char = 'k'
# Line 5641  Need char = 'k' Line 5780  Need char = 'k'
5780    
5781  /line\nbreak/If  /line\nbreak/If
5782  Capturing subpattern count = 0  Capturing subpattern count = 0
5783    Contains explicit CR or LF match
5784  Options: firstline  Options: firstline
5785  First char = 'l'  First char = 'l'
5786  Need char = 'k'  Need char = 'k'
# Line 5653  No match Line 5793  No match
5793    
5794  /line\nbreak/Imf  /line\nbreak/Imf
5795  Capturing subpattern count = 0  Capturing subpattern count = 0
5796    Contains explicit CR or LF match
5797  Options: multiline firstline  Options: multiline firstline
5798  First char = 'l'  First char = 'l'
5799  Need char = 'k'  Need char = 'k'
# Line 5663  No match Line 5804  No match
5804      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5805  No match  No match
5806    
 /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  
   
5807  /(?i)(?-i)AbCd/I  /(?i)(?-i)AbCd/I
5808  Capturing subpattern count = 0  Capturing subpattern count = 0
5809  No options  No options
# Line 5917  Matched, but too many substrings Line 6040  Matched, but too many substrings
6040    
6041  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6042  Capturing subpattern count = 0  Capturing subpattern count = 0
6043  Partial matching not supported  May match empty string
6044  No options  No options
6045  No first char  No first char
6046  No need char  No need char
# Line 5930  No need char Line 6053  No need char
6053    
6054  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6055  Capturing subpattern count = 0  Capturing subpattern count = 0
6056  Partial matching not supported  May match empty string
6057  No options  No options
6058  No first char  No first char
6059  No need char  No need char
# Line 5941  No need char Line 6064  No need char
6064    
6065  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6066  Capturing subpattern count = 0  Capturing subpattern count = 0
6067  Partial matching not supported  May match empty string
6068  No options  No options
6069  No first char  No first char
6070  No need char  No need char
# Line 5952  No need char Line 6075  No need char
6075    
6076  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6077  Capturing subpattern count = 0  Capturing subpattern count = 0
6078  Partial matching not supported  May match empty string
6079  No options  No options
6080  No first char  No first char
6081  No need char  No need char
# Line 5965  No need char Line 6088  No need char
6088    
6089  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6090  Capturing subpattern count = 0  Capturing subpattern count = 0
6091  Partial matching not supported  May match empty string
6092  No options  No options
6093  No first char  No first char
6094  No need char  No need char
# Line 5978  No need char Line 6101  No need char
6101      ((this))      ((this))
6102   0: ((this))   0: ((this))
6103    
 /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  
   
6104  /\x{0000ff}/I  /\x{0000ff}/I
6105  Capturing subpattern count = 0  Capturing subpattern count = 0
6106  No options  No options
6107  First char = 255  First char = \xff
6108  No need char  No need char
6109    
6110  /^((?P<A>a1)|(?P<A>a2)b)/I  /^((?P<A>a1)|(?P<A>a2)b)/I
# Line 6026  no parentheses with name "Z" Line 6138  no parentheses with name "Z"
6138   2: a1   2: a1
6139  copy substring Z failed -7  copy substring Z failed -7
6140    C a1 (2) A    C a1 (2) A
6141    
6142    /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
6143    Capturing subpattern count = 3
6144    Named capturing subpatterns:
6145      a   1
6146      a   3
6147      b   2
6148    May match empty string
6149    Options: dupnames
6150    No first char
6151    No need char
6152    
6153  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6154  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 6102  no parentheses with name "Z" Line 6225  no parentheses with name "Z"
6225   0: a1   0: a1
6226   1: a1   1: a1
6227   2: a1   2: a1
6228  copy substring Z failed -7  get substring Z failed -7
6229    G a1 (2) A    G a1 (2) A
6230    
6231  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
# Line 6134  No need char Line 6257  No need char
6257    G a (1) A    G a (1) A
6258      cd\GA      cd\GA
6259   0: cd   0: cd
6260  copy substring A failed -7  get substring A failed -7
6261    
6262  /^(?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
6263  Capturing subpattern count = 4  Capturing subpattern count = 4
# Line 6160  Named capturing subpatterns: Line 6283  Named capturing subpatterns:
6283    A   2    A   2
6284    A   3    A   3
6285  Options: anchored dupnames  Options: anchored dupnames
6286    Duplicate name status changes
6287  No first char  No first char
6288  No need char  No need char
6289      a1b\CA      a1b\CA
# Line 6235  Need char = 'X' Line 6359  Need char = 'X'
6359   1: X   1: X
6360    
6361  /(?:(?(2y)a|b)(X))+/I  /(?:(?(2y)a|b)(X))+/I
6362  Failed: reference to non-existent subpattern at offset 9  Failed: malformed number or name after (?( at offset 7
6363    
6364  /(?:(?(ZA)a|b)(?P<ZZ>X))+/I  /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
6365  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 6301  No need char Line 6425  No need char
6425   9:   9:
6426  10: Y  10: Y
6427    
 /\777/I  
 Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3  
   
6428  /\s*,\s*/IS  /\s*,\s*/IS
6429  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
6430  No options  No options
6431  No first char  No first char
6432  Need char = ','  Need char = ','
6433  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Subject length lower bound = 1
6434    Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 ,
6435      \x0b,\x0b      \x0b,\x0b
6436   0: ,   0: \x0b,\x0b
6437      \x0c,\x0d      \x0c,\x0d
6438   0: \x0c,\x0d   0: \x0c,\x0d
6439    
# Line 6421  No match Line 6542  No match
6542  No match  No match
6543    
6544  /^abc/Im<bad>  /^abc/Im<bad>
6545  Unknown newline type at: <bad>  Unknown modifier at: <bad>
6546    
6547    
6548  /abc/I  /abc/I
# Line 6430  No options Line 6551  No options
6551  First char = 'a'  First char = 'a'
6552  Need char = 'c'  Need char = 'c'
6553      xyz\rabc\<bad>      xyz\rabc\<bad>
6554  Unknown newline type at: <bad>  Unknown escape sequence at: <bad>
6555      abc      abc
6556   0: abc   0: abc
6557    
6558  /.*/I<lf>  /.*/I<lf>
6559  Capturing subpattern count = 0  Capturing subpattern count = 0
6560  Partial matching not supported  May match empty string
6561  Options:  Options:
6562  Forced newline sequence: LF  Forced newline sequence: LF
6563  First char at start or follows newline  First char at start or follows newline
# Line 6462  No need char Line 6583  No need char
6583    
6584  /\w+(.)(.)?def/Is  /\w+(.)(.)?def/Is
6585  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
6586  Options: dotall  Options: dotall
6587  No first char  No first char
6588  Need char = 'f'  Need char = 'f'
# Line 6479  Need char = 'f' Line 6599  Need char = 'f'
6599    
6600  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6601  Capturing subpattern count = 1  Capturing subpattern count = 1
6602  Partial matching not supported  May match empty string
6603  No options  No options
6604  No first char  No first char
6605  No need char  No need char
# Line 6614  No need char Line 6734  No need char
6734    
6735  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
6736  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
6737  No options  No options
6738  No first char  No first char
6739  No need char  No need char
6740  Starting byte set: C a b c d  Subject length lower bound = 1
6741    Starting chars: C a b c d
6742    
6743  /()[ab]xyz/IS  /()[ab]xyz/IS
6744  Capturing subpattern count = 1  Capturing subpattern count = 1
6745  No options  No options
6746  No first char  No first char
6747  Need char = 'z'  Need char = 'z'
6748  Starting byte set: a b  Subject length lower bound = 4
6749    Starting chars: a b
6750    
6751  /(|)[ab]xyz/IS  /(|)[ab]xyz/IS
6752  Capturing subpattern count = 1  Capturing subpattern count = 1
6753  No options  No options
6754  No first char  No first char
6755  Need char = 'z'  Need char = 'z'
6756  Starting byte set: a b  Subject length lower bound = 4
6757    Starting chars: a b
6758    
6759  /(|c)[ab]xyz/IS  /(|c)[ab]xyz/IS
6760  Capturing subpattern count = 1  Capturing subpattern count = 1
6761  No options  No options
6762  No first char  No first char
6763  Need char = 'z'  Need char = 'z'
6764  Starting byte set: a b c  Subject length lower bound = 4
6765    Starting chars: a b c
6766    
6767  /(|c?)[ab]xyz/IS  /(|c?)[ab]xyz/IS
6768  Capturing subpattern count = 1  Capturing subpattern count = 1
6769  No options  No options
6770  No first char  No first char
6771  Need char = 'z'  Need char = 'z'
6772  Starting byte set: a b c  Subject length lower bound = 4
6773    Starting chars: a b c
6774    
6775  /(d?|c?)[ab]xyz/IS  /(d?|c?)[ab]xyz/IS
6776  Capturing subpattern count = 1  Capturing subpattern count = 1
6777  No options  No options
6778  No first char  No first char
6779  Need char = 'z'  Need char = 'z'
6780  Starting byte set: a b c d  Subject length lower bound = 4
6781    Starting chars: a b c d
6782    
6783  /(d?|c)[ab]xyz/IS  /(d?|c)[ab]xyz/IS
6784  Capturing subpattern count = 1  Capturing subpattern count = 1
6785  No options  No options
6786  No first char  No first char
6787  Need char = 'z'  Need char = 'z'
6788  Starting byte set: a b c d  Subject length lower bound = 4
6789    Starting chars: a b c d
6790    
6791  /^a*b\d/DZ  /^a*b\d/DZ
6792  ------------------------------------------------------------------  ------------------------------------------------------------------