/[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 96 by nigel, Fri Mar 2 13:10:43 2007 UTC revision 454 by ph10, Tue Sep 22 09:42:11 2009 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 potential Perl
6        bug. --/
7    
8    /-- Originally, the Perl 5.10 things were in here too, but now I have separated
9        many (most?) of them out into test 11. However, there may still be some
10        that were overlooked. --/
11    
12  /(a)b|/I  /(a)b|/I
13  Capturing subpattern count = 1  Capturing subpattern count = 1
14  No options  No options
# Line 40  No match Line 51  No match
51    
52  /a+bc/I  /a+bc/I
53  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
54  No options  No options
55  First char = 'a'  First char = 'a'
56  Need char = 'c'  Need char = 'c'
57    
58  /a*bc/I  /a*bc/I
59  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
60  No options  No options
61  No first char  No first char
62  Need char = 'c'  Need char = 'c'
63    
64  /a{3}bc/I  /a{3}bc/I
65  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
66  No options  No options
67  First char = 'a'  First char = 'a'
68  Need char = 'c'  Need char = 'c'
69    
70  /(abc|a+z)/I  /(abc|a+z)/I
71  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
72  No options  No options
73  First char = 'a'  First char = 'a'
74  No need char  No need char
# Line 78  No match Line 85  No match
85      def\nabc      def\nabc
86  No match  No match
87    
88  /ab\hdef/X  /ab\idef/X
89  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
90    
91  /(?X)ab\hdef/X  /(?X)ab\idef/X
92  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
93    
94  /x{5,4}/  /x{5,4}/
# Line 109  Failed: missing ) at offset 4 Line 116  Failed: missing ) at offset 4
116  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
117    
118  /(?z)abc/  /(?z)abc/
119  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
120    
121  /.*b/I  /.*b/I
122  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
123  No options  No options
124  First char at start or follows newline  First char at start or follows newline
125  Need char = 'b'  Need char = 'b'
126    
127  /.*?b/I  /.*?b/I
128  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
129  No options  No options
130  First char at start or follows newline  First char at start or follows newline
131  Need char = 'b'  Need char = 'b'
# Line 222  Matched, but too many substrings Line 227  Matched, but too many substrings
227   0: abcb   0: abcb
228   1: a   1: a
229   2: b   2: b
230      \O12abcb      \O12abcb
231   0: abcb   0: abcb
232   1: a   1: a
233   2: b   2: b
# Line 310  No match Line 315  No match
315  No match  No match
316    
317  /ab(?z)cd/  /ab(?z)cd/
318  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
319    
320  /^abc|def/I  /^abc|def/I
321  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 324  No need char Line 329  No need char
329    
330  /.*((abc)$|(def))/I  /.*((abc)$|(def))/I
331  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
332  No options  No options
333  First char at start or follows newline  First char at start or follows newline
334  No need char  No need char
# Line 338  No need char Line 342  No need char
342   2: <unset>   2: <unset>
343   3: def   3: def
344    
345  /abc/IP  /abc/P
346      abc      abc
347   0: abc   0: abc
348      *** Failers      *** Failers
349  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
350    
351  /^abc|def/IP  /^abc|def/P
352      abcdef      abcdef
353   0: abc   0: abc
354      abcdef\B      abcdef\B
355   0: def   0: def
356    
357  /.*((abc)$|(def))/IP  /.*((abc)$|(def))/P
358      defabc      defabc
359   0: defabc   0: defabc
360   1: abc   1: abc
# Line 359  No match: POSIX code 17: match failed Line 363  No match: POSIX code 17: match failed
363   0: def   0: def
364   1: def   1: def
365   3: def   3: def
366    
367  /the quick brown fox/IP  /the quick brown fox/P
368      the quick brown fox      the quick brown fox
369   0: the quick brown fox   0: the quick brown fox
370      *** Failers      *** Failers
371  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
372      The Quick Brown Fox      The Quick Brown Fox
373  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
374    
375  /the quick brown fox/IPi  /the quick brown fox/Pi
376      the quick brown fox      the quick brown fox
377   0: the quick brown fox   0: the quick brown fox
378      The Quick Brown Fox      The Quick Brown Fox
379   0: The Quick Brown Fox   0: The Quick Brown Fox
380    
381  /abc.def/IP  /abc.def/P
382      *** Failers      *** Failers
383  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
384      abc\ndef      abc\ndef
385  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
386    
387  /abc$/IP  /abc$/P
388      abc      abc
389   0: abc   0: abc
390      abc\n      abc\n
391   0: abc   0: abc
392    
393  /(abc)\2/IP  /(abc)\2/P
394  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
395    
396  /(abc\1)/IP  /(abc\1)/P
397      abc      abc
398  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
399    
# Line 401  Failed: missing terminating ] for charac Line 405  Failed: missing terminating ] for charac
405    
406  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
407  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
408  No options  No options
409  No first char  No first char
410  No need char  No need char
411      co-processors, and for      co-processors, and for
412   0: -pr   0: -pr
413    
414  /<.*>/I  /<.*>/I
415  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
416  No options  No options
417  First char = '<'  First char = '<'
418  Need char = '>'  Need char = '>'
# Line 419  Need char = '>' Line 421  Need char = '>'
421    
422  /<.*?>/I  /<.*?>/I
423  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
424  No options  No options
425  First char = '<'  First char = '<'
426  Need char = '>'  Need char = '>'
# Line 428  Need char = '>' Line 429  Need char = '>'
429    
430  /<.*>/IU  /<.*>/IU
431  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
432  Options: ungreedy  Options: ungreedy
433  First char = '<'  First char = '<'
434  Need char = '>'  Need char = '>'
435      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
436   0: <def>   0: <def>
437    
438  /(?U)<.*>/I  /(?U)<.*>/I
439  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
440  Options: ungreedy  Options: ungreedy
441  First char = '<'  First char = '<'
442  Need char = '>'  Need char = '>'
# Line 446  Need char = '>' Line 445  Need char = '>'
445    
446  /<.*?>/IU  /<.*?>/IU
447  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
448  Options: ungreedy  Options: ungreedy
449  First char = '<'  First char = '<'
450  Need char = '>'  Need char = '>'
451      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
452   0: <def>ghi<klm>   0: <def>ghi<klm>
453    
454  /={3,}/IU  /={3,}/IU
455  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
456  Options: ungreedy  Options: ungreedy
457  First char = '='  First char = '='
458  Need char = '='  Need char = '='
459      abc========def      abc========def
460   0: ===   0: ===
461    
462  /(?U)={3,}?/I  /(?U)={3,}?/I
463  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
464  Options: ungreedy  Options: ungreedy
465  First char = '='  First char = '='
466  Need char = '='  Need char = '='
467      abc========def      abc========def
468   0: ========   0: ========
469    
470  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
471  Capturing subpattern count = 0  Capturing subpattern count = 0
472  No options  No options
# Line 478  First char = 'f' Line 474  First char = 'f'
474  Need char = 'o'  Need char = 'o'
475      foo      foo
476   0: foo   0: foo
477      catfoo      catfoo
478   0: foo   0: foo
479      *** Failers      *** Failers
480  No match  No match
481      the barfoo      the barfoo
482  No match  No match
483      and cattlefoo      and cattlefoo
484  No match  No match
485    
486  /(?<=a+)b/  /(?<=a+)b/
# Line 522  No need char Line 518  No need char
518    
519  /(?s).*/I  /(?s).*/I
520  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
521  Options: anchored dotall  Options: anchored dotall
522  No first char  No first char
523  No need char  No need char
# Line 584  Failed: syntax error in subpattern name Line 579  Failed: syntax error in subpattern name
579  /((?s)blah)\s+\1/I  /((?s)blah)\s+\1/I
580  Capturing subpattern count = 1  Capturing subpattern count = 1
581  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
582  No options  No options
583  First char = 'b'  First char = 'b'
584  Need char = 'h'  Need char = 'h'
# Line 592  Need char = 'h' Line 586  Need char = 'h'
586  /((?i)blah)\s+\1/I  /((?i)blah)\s+\1/I
587  Capturing subpattern count = 1  Capturing subpattern count = 1
588  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
589  No options  No options
590  First char = 'b' (caseless)  First char = 'b' (caseless)
591  Need char = 'h' (caseless)  Need char = 'h' (caseless)
592    
593  /((?i)b)/IDS  /((?i)b)/IDZS
594  ------------------------------------------------------------------  ------------------------------------------------------------------
595    0  17 Bra 0          Bra
596    3   9 Bra 1          CBra 1
597    8  01 Opt       01 Opt
598   10  NC b       NC b
599   12   9 Ket          Ket
600   15  00 Opt       00 Opt
601   17  17 Ket          Ket
602   20     End          End
603  ------------------------------------------------------------------  ------------------------------------------------------------------
604  Capturing subpattern count = 1  Capturing subpattern count = 1
605  No options  No options
# Line 616  Study returned NULL Line 609  Study returned NULL
609    
610  /(a*b|(?i:c*(?-i)d))/IS  /(a*b|(?i:c*(?-i)d))/IS
611  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
612  No options  No options
613  No first char  No first char
614  No need char  No need char
# Line 631  No need char Line 623  No need char
623   0: a   0: a
624      a\n      a\n
625   0: a   0: a
626      *** Failers      *** Failers
627  No match  No match
628      \Za      \Za
629  No match  No match
630      \Za\n      \Za\n
631  No match  No match
632    
633  /a$/Im  /a$/Im
# Line 647  No need char Line 639  No need char
639   0: a   0: a
640      a\n      a\n
641   0: a   0: a
642      \Za\n      \Za\n
643   0: a   0: a
644      *** Failers      *** Failers
645  No match  No match
646      \Za      \Za
647  No match  No match
648    
649  /\Aabc/Im  /\Aabc/Im
650  Capturing subpattern count = 0  Capturing subpattern count = 0
651  Options: anchored multiline  Options: anchored multiline
652  No first char  No first char
653  No need char  No need char
654    
655  /^abc/Im  /^abc/Im
656  Capturing subpattern count = 0  Capturing subpattern count = 0
657  Options: multiline  Options: multiline
658  First char at start or follows newline  First char at start or follows newline
# Line 668  Need char = 'c' Line 660  Need char = 'c'
660    
661  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
662  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
663  Options: anchored  Options: anchored
664  No first char  No first char
665  No need char  No need char
# Line 703  Starting byte set: a b Line 694  Starting byte set: a b
694    
695  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
696  Capturing subpattern count = 0  Capturing subpattern count = 0
697    Contains explicit CR or LF match
698  Options: multiline  Options: multiline
699  No first char  No first char
700  Need char = 'r'  Need char = 'r'
701      foo\nbarbar      foo\nbarbar
702   0: bar   0: bar
703      ***Failers      ***Failers
704  No match  No match
705      rhubarb      rhubarb
706  No match  No match
707      barbell      barbell
708  No match  No match
709      abc\nbarton      abc\nbarton
710  No match  No match
711    
712  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
713  Capturing subpattern count = 0  Capturing subpattern count = 0
714    Contains explicit CR or LF match
715  Options: multiline  Options: multiline
716  First char at start or follows newline  First char at start or follows newline
717  Need char = 'r'  Need char = 'r'
718      foo\nbarbar      foo\nbarbar
719   0: bar   0: bar
720      ***Failers      ***Failers
721  No match  No match
722      rhubarb      rhubarb
723  No match  No match
724      barbell      barbell
725  No match  No match
726      abc\nbarton      abc\nbarton
727  No match  No match
728    
729  /(?>^abc)/Im  /(?>^abc)/Im
# Line 744  Need char = 'c' Line 737  Need char = 'c'
737   0: abc   0: abc
738      *** Failers      *** Failers
739  No match  No match
740      defabc      defabc
741  No match  No match
742    
743  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 771  Need char = 't' Line 764  Need char = 't'
764  No match  No match
765      cart      cart
766  No match  No match
767      horse-and-cart      horse-and-cart
768  No match  No match
769    
770  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
771  Capturing subpattern count = 0  Capturing subpattern count = 0
772  No options  No options
# Line 782  No need char Line 775  No need char
775    
776  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
777  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
778  No options  No options
779  First char at start or follows newline  First char at start or follows newline
780  No need char  No need char
# Line 809  Need char = 'Z' Line 801  Need char = 'Z'
801   0: ZZ   0: ZZ
802      bZZ      bZZ
803   0: ZZ   0: ZZ
804      BZZ      BZZ
805   0: ZZ   0: ZZ
806      *** Failers      *** Failers
807  No match  No match
808      ZZ      ZZ
809  No match  No match
810      abXYZZ      abXYZZ
811  No match  No match
812      zzz      zzz
813  No match  No match
814      bzz      bzz
815  No match  No match
816    
817  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
# Line 829  First char = 'b' Line 821  First char = 'b'
821  Need char = 'r'  Need char = 'r'
822      bar      bar
823   0: bar   0: bar
824      foobbar      foobbar
825   0: bar   0: bar
826      *** Failers      *** Failers
827  No match  No match
828      fooabar      fooabar
829  No match  No match
830    
831  /This one is here because Perl 5.005_02 doesn't fail it/I  /This one is here because Perl 5.005_02 doesn't fail it/I
# Line 849  No first char Line 841  No first char
841  No need char  No need char
842      *** Failers      *** Failers
843  No match  No match
844      a      a
845  No match  No match
846    
847  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I
# Line 867  No need char Line 859  No need char
859      aaaaaa      aaaaaa
860   0: aaaaaa   0: aaaaaa
861   1: aa   1: aa
862    
863  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
864  Capturing subpattern count = 0  Capturing subpattern count = 0
865  No options  No options
# Line 944  Failed: missing ) at offset 4 Line 936  Failed: missing ) at offset 4
936  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
937    
938  /a(?{)b/  /a(?{)b/
939  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
940    
941  /a(?{{})b/  /a(?{{})b/
942  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
943    
944  /a(?{}})b/  /a(?{}})b/
945  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
946    
947  /a(?{"{"})b/  /a(?{"{"})b/
948  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
949    
950  /a(?{"{"}})b/  /a(?{"{"}})b/
951  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
952    
953  /(?(1?)a|b)/  /(?(1?)a|b)/
954  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
955    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
956  /[a[:xyz:/  /[a[:xyz:/
957  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
958    
# Line 1001  Need char = 'd' Line 990  Need char = 'd'
990   1: a   1: a
991   2: d   2: d
992  copy substring 5 failed -7  copy substring 5 failed -7
993    
994  /(.{20})/I  /(.{20})/I
995  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
996  No options  No options
997  No first char  No first char
998  No need char  No need char
# Line 1019  No need char Line 1007  No need char
1007   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1008   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1009   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1010    
1011  /(.{15})/I  /(.{15})/I
1012  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1013  No options  No options
1014  No first char  No first char
1015  No need char  No need char
# Line 1037  No need char Line 1024  No need char
1024    
1025  /(.{16})/I  /(.{16})/I
1026  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1027  No options  No options
1028  No first char  No first char
1029  No need char  No need char
# Line 1051  No need char Line 1037  No need char
1037   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1038   0L abcdefghijklmnop   0L abcdefghijklmnop
1039   1L abcdefghijklmnop   1L abcdefghijklmnop
1040    
1041  /^(a|(bc))de(f)/I  /^(a|(bc))de(f)/I
1042  Capturing subpattern count = 3  Capturing subpattern count = 3
1043  Options: anchored  Options: anchored
1044  No first char  No first char
1045  No need char  No need char
1046      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1047   0: adef   0: adef
1048   1: a   1: a
1049   2: <unset>   2: <unset>
# Line 1070  get substring 4 failed -7 Line 1056  get substring 4 failed -7
1056   1L a   1L a
1057   2L   2L
1058   3L f   3L f
1059      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1060   0: bcdef   0: bcdef
1061   1: bc   1: bc
1062   2: bc   2: bc
# Line 1083  get substring 4 failed -7 Line 1069  get substring 4 failed -7
1069   1L bc   1L bc
1070   2L bc   2L bc
1071   3L f   3L f
1072      adefghijk\C0      adefghijk\C0
1073   0: adef   0: adef
1074   1: a   1: a
1075   2: <unset>   2: <unset>
1076   3: f   3: f
1077   0C adef (4)   0C adef (4)
1078    
1079  /^abc\00def/I  /^abc\00def/I
1080  Capturing subpattern count = 0  Capturing subpattern count = 0
1081  Options: anchored  Options: anchored
1082  No first char  No first char
1083  No need char  No need char
1084      abc\00def\L\C0      abc\00def\L\C0
1085   0: abc\x00def   0: abc\x00def
1086   0C abc (7)   0C abc (7)
1087   0L abc   0L abc
1088    
1089  /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]+
1090  )((?:[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]+
1091  )?)?)?)?)?)?)?)?)?otherword/IM  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 448  
1092  Capturing subpattern count = 8  Capturing subpattern count = 8
1093  Partial matching not supported  Contains explicit CR or LF match
1094  No options  No options
1095  First char = 'w'  First char = 'w'
1096  Need char = 'd'  Need char = 'd'
1097    
1098  /.*X/ID  /.*X/IDZ
1099  ------------------------------------------------------------------  ------------------------------------------------------------------
1100    0   7 Bra 0          Bra
1101    3     Any*          Any*
1102    5     X          X
1103    7   7 Ket          Ket
1104   10     End          End
1105  ------------------------------------------------------------------  ------------------------------------------------------------------
1106  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1107  No options  No options
1108  First char at start or follows newline  First char at start or follows newline
1109  Need char = 'X'  Need char = 'X'
1110    
1111  /.*X/IDs  /.*X/IDZs
1112  ------------------------------------------------------------------  ------------------------------------------------------------------
1113    0   7 Bra 0          Bra
1114    3     Any*          AllAny*
1115    5     X          X
1116    7   7 Ket          Ket
1117   10     End          End
1118  ------------------------------------------------------------------  ------------------------------------------------------------------
1119  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1120  Options: anchored dotall  Options: anchored dotall
1121  No first char  No first char
1122  Need char = 'X'  Need char = 'X'
1123    
1124  /(.*X|^B)/ID  /(.*X|^B)/IDZ
1125  ------------------------------------------------------------------  ------------------------------------------------------------------
1126    0  21 Bra 0          Bra
1127    3   9 Bra 1          CBra 1
1128    8     Any*          Any*
1129   10     X          X
1130   12   6 Alt          Alt
1131   15     ^          ^
1132   16     B          B
1133   18  15 Ket          Ket
1134   21  21 Ket          Ket
1135   24     End          End
1136  ------------------------------------------------------------------  ------------------------------------------------------------------
1137  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1138  No options  No options
1139  First char at start or follows newline  First char at start or follows newline
1140  No need char  No need char
1141    
1142  /(.*X|^B)/IDs  /(.*X|^B)/IDZs
1143  ------------------------------------------------------------------  ------------------------------------------------------------------
1144    0  21 Bra 0          Bra
1145    3   9 Bra 1          CBra 1
1146    8     Any*          AllAny*
1147   10     X          X
1148   12   6 Alt          Alt
1149   15     ^          ^
1150   16     B          B
1151   18  15 Ket          Ket
1152   21  21 Ket          Ket
1153   24     End          End
1154  ------------------------------------------------------------------  ------------------------------------------------------------------
1155  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1156  Options: anchored dotall  Options: anchored dotall
1157  No first char  No first char
1158  No need char  No need char
1159    
1160  /(?s)(.*X|^B)/ID  /(?s)(.*X|^B)/IDZ
1161  ------------------------------------------------------------------  ------------------------------------------------------------------
1162    0  21 Bra 0          Bra
1163    3   9 Bra 1          CBra 1
1164    8     Any*          AllAny*
1165   10     X          X
1166   12   6 Alt          Alt
1167   15     ^          ^
1168   16     B          B
1169   18  15 Ket          Ket
1170   21  21 Ket          Ket
1171   24     End          End
1172  ------------------------------------------------------------------  ------------------------------------------------------------------
1173  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1174  Options: anchored dotall  Options: anchored dotall
1175  No first char  No first char
1176  No need char  No need char
1177    
1178  /(?s:.*X|^B)/ID  /(?s:.*X|^B)/IDZ
1179  ------------------------------------------------------------------  ------------------------------------------------------------------
1180    0  25 Bra 0          Bra
1181    3   9 Bra 0          Bra
1182    6  04 Opt       04 Opt
1183    8     Any*          AllAny*
1184   10     X          X
1185   12   8 Alt          Alt
1186   15  04 Opt       04 Opt
1187   17     ^          ^
1188   18     B          B
1189   20  17 Ket          Ket
1190   23  00 Opt       00 Opt
1191   25  25 Ket          Ket
1192   28     End          End
1193  ------------------------------------------------------------------  ------------------------------------------------------------------
1194  Capturing subpattern count = 0  Capturing subpattern count = 0
1195  Partial matching not supported  Options: anchored
1196  No options  No first char
 First char at start or follows newline  
1197  No need char  No need char
1198    
1199  /\Biss\B/I+  /\Biss\B/I+
# Line 1294  No need char Line 1273  No need char
1273      ississippi      ississippi
1274   0: iss   0: iss
1275   0+ issippi   0+ issippi
1276    
1277  /.*iss/Ig+  /.*iss/Ig+
1278  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1279  No options  No options
1280  First char at start or follows newline  First char at start or follows newline
1281  Need char = 's'  Need char = 's'
1282      abciss\nxyzisspqr      abciss\nxyzisspqr
1283   0: abciss   0: abciss
1284   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1285   0: xyziss   0: xyziss
# Line 1333  Need char = 'i' Line 1311  Need char = 'i'
1311   0+ river   0+ river
1312   0: riv   0: riv
1313   0+ er   0+ er
1314      Missouri river\A      Missouri river\A
1315   0: Mis   0: Mis
1316   0+ souri river   0+ souri river
1317    
# Line 1348  No need char Line 1326  No need char
1326    
1327  /^ab\n/Ig+  /^ab\n/Ig+
1328  Capturing subpattern count = 0  Capturing subpattern count = 0
1329    Contains explicit CR or LF match
1330  Options: anchored  Options: anchored
1331  No first char  No first char
1332  No need char  No need char
# Line 1357  No need char Line 1336  No need char
1336    
1337  /^ab\n/Img+  /^ab\n/Img+
1338  Capturing subpattern count = 0  Capturing subpattern count = 0
1339    Contains explicit CR or LF match
1340  Options: multiline  Options: multiline
1341  First char at start or follows newline  First char at start or follows newline
1342  Need char = 10  Need char = 10
# Line 1398  Need char = 'c' Line 1378  Need char = 'c'
1378    
1379  /a*/I  /a*/I
1380  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1381  No options  No options
1382  No first char  No first char
1383  No need char  No need char
1384    
1385  /a+/I  /a+/I
1386  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1387  No options  No options
1388  First char = 'a'  First char = 'a'
1389  No need char  No need char
1390    
1391  /(baa|a+)/I  /(baa|a+)/I
1392  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1393  No options  No options
1394  No first char  No first char
1395  Need char = 'a'  Need char = 'a'
1396    
1397  /a{0,3}/I  /a{0,3}/I
1398  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1399  No options  No options
1400  No first char  No first char
1401  No need char  No need char
1402    
1403  /baa{3,}/I  /baa{3,}/I
1404  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1405  No options  No options
1406  First char = 'b'  First char = 'b'
1407  Need char = 'a'  Need char = 'a'
1408    
1409  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1410  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1411  No options  No options
1412  First char = '"'  First char = '"'
1413  Need char = '"'  Need char = '"'
# Line 1488  Need char = 'b' Line 1462  Need char = 'b'
1462    
1463  /abc*/I  /abc*/I
1464  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1465  No options  No options
1466  First char = 'a'  First char = 'a'
1467  Need char = 'b'  Need char = 'b'
1468    
1469  /ab.c*/I  /ab.c*/I
1470  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1471  No options  No options
1472  First char = 'a'  First char = 'a'
1473  Need char = 'b'  Need char = 'b'
1474    
1475  /a.c*/I  /a.c*/I
1476  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1477  No options  No options
1478  First char = 'a'  First char = 'a'
1479  No need char  No need char
1480    
1481  /.c*/I  /.c*/I
1482  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1483  No options  No options
1484  No first char  No first char
1485  No need char  No need char
1486    
1487  /ac*/I  /ac*/I
1488  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1489  No options  No options
1490  First char = 'a'  First char = 'a'
1491  No need char  No need char
1492    
1493  /(a.c*|b.c*)/I  /(a.c*|b.c*)/I
1494  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1495  No options  No options
1496  No first char  No first char
1497  No need char  No need char
1498    
1499  /a.c*|aba/I  /a.c*|aba/I
1500  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1501  No options  No options
1502  First char = 'a'  First char = 'a'
1503  No need char  No need char
1504    
1505  /.+a/I  /.+a/I
1506  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1507  No options  No options
1508  No first char  No first char
1509  Need char = 'a'  Need char = 'a'
1510    
1511  /(?=abcda)a.*/I  /(?=abcda)a.*/I
1512  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1513  No options  No options
1514  First char = 'a'  First char = 'a'
1515  Need char = 'a'  Need char = 'a'
1516    
1517  /(?=a)a.*/I  /(?=a)a.*/I
1518  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1519  No options  No options
1520  First char = 'a'  First char = 'a'
1521  No need char  No need char
# Line 1564  No need char Line 1528  No need char
1528    
1529  /a\d*/I  /a\d*/I
1530  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1531  No options  No options
1532  First char = 'a'  First char = 'a'
1533  No need char  No need char
1534    
1535  /ab\d*/I  /ab\d*/I
1536  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1537  No options  No options
1538  First char = 'a'  First char = 'a'
1539  Need char = 'b'  Need char = 'b'
# Line 1590  Need char = 'd' Line 1552  Need char = 'd'
1552    
1553  /ab\d+/I  /ab\d+/I
1554  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1555  No options  No options
1556  First char = 'a'  First char = 'a'
1557  Need char = 'b'  Need char = 'b'
1558    
1559  /a(?(1)b)/I  /a(?(1)b)(.)/I
1560  Capturing subpattern count = 0  Capturing subpattern count = 1
1561  No options  No options
1562  First char = 'a'  First char = 'a'
1563  No need char  No need char
1564    
1565  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1566  Capturing subpattern count = 0  Capturing subpattern count = 1
1567  No options  No options
1568  First char = 'a'  First char = 'a'
1569  Need char = 'g'  Need char = 'g'
1570    
1571  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1572  Capturing subpattern count = 0  Capturing subpattern count = 1
1573  No options  No options
1574  First char = 'a'  First char = 'a'
1575  No need char  No need char
1576    
1577  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1578  Capturing subpattern count = 0  Capturing subpattern count = 1
1579  No options  No options
1580  First char = 'a'  First char = 'a'
1581  Need char = 'g'  Need char = 'g'
1582    
1583  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1584  Capturing subpattern count = 0  Capturing subpattern count = 1
1585  No options  No options
1586  First char = 'a'  First char = 'a'
1587  Need char = 'b'  Need char = 'b'
# Line 1646  No need char Line 1607  No need char
1607   0:   0:
1608      *** Failers      *** Failers
1609   0:   0:
1610      \N      \N
1611  No match  No match
1612    
1613  /|-/I  /|-/I
1614  Capturing subpattern count = 0  Capturing subpattern count = 0
1615  No options  No options
# Line 1662  No need char Line 1623  No need char
1623   0: -   0: -
1624      *** Failers      *** Failers
1625   0:   0:
1626      \Nabc      \Nabc
1627  No match  No match
1628    
1629  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/P
1630      aaaabbbbzzzz      aaaabbbbzzzz
1631   0: aaaabbbbzz   0: aaaabbbbzz
1632   1: bbbb   1: bbbb
# Line 1691  No match Line 1652  No match
1652   1: bbbb   1: bbbb
1653   2: z   2: z
1654   3: z   3: z
1655    
1656  /^.?abcd/IS  /^.?abcd/IS
1657  Capturing subpattern count = 0  Capturing subpattern count = 0
1658  Options: anchored  Options: anchored
1659  No first char  No first char
# Line 1708  Study returned NULL Line 1669  Study returned NULL
1669    \)            # Closing )    \)            # Closing )
1670    /Ix    /Ix
1671  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1672  Options: extended  Options: extended
1673  First char = '('  First char = '('
1674  Need char = ')'  Need char = ')'
# Line 1718  Need char = ')' Line 1678  Need char = ')'
1678   0: (abcd)   0: (abcd)
1679      xyz(abcd)      xyz(abcd)
1680   0: (abcd)   0: (abcd)
1681      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1682   0: (ab(xy)cd)   0: (ab(xy)cd)
1683      (ab(xycd)pqr      (ab(xycd)pqr
1684   0: (xycd)   0: (xycd)
1685      () abc ()      () abc ()
1686   0: ()   0: ()
1687      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1688   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1689      *** Failers      *** Failers
1690  No match  No match
1691      abcd      abcd
1692  No match  No match
1693      abcd)      abcd)
1694  No match  No match
1695      (abcd      (abcd
1696  No match  No match
1697    
1698  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1699  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1700  Options: extended  Options: extended
1701  First char = '('  First char = '('
1702  Need char = ')'  Need char = ')'
1703      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1704   0: (ab(xy)cd)   0: (ab(xy)cd)
1705   1: cd   1: cd
1706      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1752  Need char = ')' Line 1711  Need char = ')'
1711    
1712  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1713  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1714  Options: extended  Options: extended
1715  First char = '('  First char = '('
1716  Need char = ')'  Need char = ')'
# Line 1760  Need char = ')' Line 1718  Need char = ')'
1718   0: (abcd)   0: (abcd)
1719      (ab(xy)cd)      (ab(xy)cd)
1720   0: (xy)   0: (xy)
1721      (a(b(c)d)e)      (a(b(c)d)e)
1722   0: (c)   0: (c)
1723      ((ab))      ((ab))
1724   0: ((ab))   0: ((ab))
1725      *** Failers      *** Failers
1726  No match  No match
1727      ()      ()
1728  No match  No match
1729    
1730  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1731  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
1732  Options: extended  Options: extended
1733  First char = '('  First char = '('
1734  Need char = ')'  Need char = ')'
# Line 1782  Need char = ')' Line 1739  Need char = ')'
1739    
1740  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1741  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
1742  Options: extended  Options: extended
1743  First char = '('  First char = '('
1744  Need char = ')'  Need char = ')'
# Line 1792  Need char = ')' Line 1748  Need char = ')'
1748    
1749  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1750  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
1751  Options: extended  Options: extended
1752  First char = '('  First char = '('
1753  Need char = ')'  Need char = ')'
# Line 1803  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 1820  Need char = ')' Line 1774  Need char = ')'
1774    
1775  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1776  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1777  Options: extended  Options: extended
1778  First char = '('  First char = '('
1779  Need char = ')'  Need char = ')'
# Line 1837  Need char = ')' Line 1790  Need char = ')'
1790    
1791  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1792  Capturing subpattern count = 11  Capturing subpattern count = 11
 Partial matching not supported  
1793  Options: extended  Options: extended
1794  First char = '('  First char = '('
1795  Need char = ')'  Need char = ')'
# Line 1857  Need char = ')' Line 1809  Need char = ')'
1809    
1810  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1811  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1812  Options: extended  Options: extended
1813  First char = '('  First char = '('
1814  Need char = ')'  Need char = ')'
# Line 1865  Need char = ')' Line 1816  Need char = ')'
1816   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1817   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1818   2: 123   2: 123
  3: <unset>  
1819    
1820  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1821  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
1822  Options: extended  Options: extended
1823  First char = '('  First char = '('
1824  Need char = ')'  Need char = ')'
# Line 1884  Need char = ')' Line 1833  Need char = ')'
1833   2: ij   2: ij
1834   3: (cd(ef)gh)   3: (cd(ef)gh)
1835    
1836  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1837  ------------------------------------------------------------------  ------------------------------------------------------------------
1838    0  37 Bra 0          Bra
1839    3     ^          ^
1840    4     [0-9A-Za-z]          [0-9A-Za-z]
1841   37  37 Ket          Ket
1842   40     End          End
1843  ------------------------------------------------------------------  ------------------------------------------------------------------
1844  Capturing subpattern count = 0  Capturing subpattern count = 0
1845  Options: anchored  Options: anchored
1846  No first char  No first char
1847  No need char  No need char
1848    
1849  /^[[:^alnum:]]/D  /^[[:^alnum:]]/DZ
1850  ------------------------------------------------------------------  ------------------------------------------------------------------
1851    0  37 Bra 0          Bra
1852    3     ^          ^
1853    4     [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1854   37  37 Ket          Ket
1855   40     End          End
1856  ------------------------------------------------------------------  ------------------------------------------------------------------
1857  Capturing subpattern count = 0  Capturing subpattern count = 0
1858  Options: anchored  Options: anchored
1859  No first char  No first char
1860  No need char  No need char
1861    
1862  /^[[:alpha:]]/D  /^[[:alpha:]]/DZ
1863  ------------------------------------------------------------------  ------------------------------------------------------------------
1864    0  37 Bra 0          Bra
1865    3     ^          ^
1866    4     [A-Za-z]          [A-Za-z]
1867   37  37 Ket          Ket
1868   40     End          End
1869  ------------------------------------------------------------------  ------------------------------------------------------------------
1870  Capturing subpattern count = 0  Capturing subpattern count = 0
1871  Options: anchored  Options: anchored
1872  No first char  No first char
1873  No need char  No need char
1874    
1875  /^[[:^alpha:]]/D  /^[[:^alpha:]]/DZ
1876  ------------------------------------------------------------------  ------------------------------------------------------------------
1877    0  37 Bra 0          Bra
1878    3     ^          ^
1879    4     [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1880   37  37 Ket          Ket
1881   40     End          End
1882  ------------------------------------------------------------------  ------------------------------------------------------------------
1883  Capturing subpattern count = 0  Capturing subpattern count = 0
1884  Options: anchored  Options: anchored
1885  No first char  No first char
1886  No need char  No need char
1887    
1888  /[_[:alpha:]]/IS  /[_[:alpha:]]/IS
1889  Capturing subpattern count = 0  Capturing subpattern count = 0
1890  No options  No options
# Line 1944  No need char Line 1893  No need char
1893  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1894    _ 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
1895    
1896  /^[[:ascii:]]/D  /^[[:ascii:]]/DZ
1897  ------------------------------------------------------------------  ------------------------------------------------------------------
1898    0  37 Bra 0          Bra
1899    3     ^          ^
1900    4     [\x00-\x7f]          [\x00-\x7f]
1901   37  37 Ket          Ket
1902   40     End          End
1903  ------------------------------------------------------------------  ------------------------------------------------------------------
1904  Capturing subpattern count = 0  Capturing subpattern count = 0
1905  Options: anchored  Options: anchored
1906  No first char  No first char
1907  No need char  No need char
1908    
1909  /^[[:^ascii:]]/D  /^[[:^ascii:]]/DZ
1910  ------------------------------------------------------------------  ------------------------------------------------------------------
1911    0  37 Bra 0          Bra
1912    3     ^          ^
1913    4     [\x80-\xff]          [\x80-\xff] (neg)
1914   37  37 Ket          Ket
1915   40     End          End
1916  ------------------------------------------------------------------  ------------------------------------------------------------------
1917  Capturing subpattern count = 0  Capturing subpattern count = 0
1918  Options: anchored  Options: anchored
1919  No first char  No first char
1920  No need char  No need char
1921    
1922  /^[[:blank:]]/D  /^[[:blank:]]/DZ
1923  ------------------------------------------------------------------  ------------------------------------------------------------------
1924    0  37 Bra 0          Bra
1925    3     ^          ^
1926    4     [\x09 ]          [\x09 ]
1927   37  37 Ket          Ket
1928   40     End          End
1929  ------------------------------------------------------------------  ------------------------------------------------------------------
1930  Capturing subpattern count = 0  Capturing subpattern count = 0
1931  Options: anchored  Options: anchored
1932  No first char  No first char
1933  No need char  No need char
1934    
1935  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
1936  ------------------------------------------------------------------  ------------------------------------------------------------------
1937    0  37 Bra 0          Bra
1938    3     ^          ^
1939    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1940   37  37 Ket          Ket
1941   40     End          End
1942  ------------------------------------------------------------------  ------------------------------------------------------------------
1943  Capturing subpattern count = 0  Capturing subpattern count = 0
1944  Options: anchored  Options: anchored
# Line 1998  No need char Line 1947  No need char
1947    
1948  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
1949  Capturing subpattern count = 0  Capturing subpattern count = 0
1950    Contains explicit CR or LF match
1951  No options  No options
1952  No first char  No first char
1953  No need char  No need char
1954  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
1955    
1956  /^[[:cntrl:]]/D  /^[[:cntrl:]]/DZ
1957  ------------------------------------------------------------------  ------------------------------------------------------------------
1958    0  37 Bra 0          Bra
1959    3     ^          ^
1960    4     [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
1961   37  37 Ket          Ket
1962   40     End          End
1963  ------------------------------------------------------------------  ------------------------------------------------------------------
1964  Capturing subpattern count = 0  Capturing subpattern count = 0
1965  Options: anchored  Options: anchored
1966  No first char  No first char
1967  No need char  No need char
1968    
1969  /^[[:digit:]]/D  /^[[:digit:]]/DZ
1970  ------------------------------------------------------------------  ------------------------------------------------------------------
1971    0  37 Bra 0          Bra
1972    3     ^          ^
1973    4     [0-9]          [0-9]
1974   37  37 Ket          Ket
1975   40     End          End
1976  ------------------------------------------------------------------  ------------------------------------------------------------------
1977  Capturing subpattern count = 0  Capturing subpattern count = 0
1978  Options: anchored  Options: anchored
1979  No first char  No first char
1980  No need char  No need char
1981    
1982  /^[[:graph:]]/D  /^[[:graph:]]/DZ
1983  ------------------------------------------------------------------  ------------------------------------------------------------------
1984    0  37 Bra 0          Bra
1985    3     ^          ^
1986    4     [!-~]          [!-~]
1987   37  37 Ket          Ket
1988   40     End          End
1989  ------------------------------------------------------------------  ------------------------------------------------------------------
1990  Capturing subpattern count = 0  Capturing subpattern count = 0
1991  Options: anchored  Options: anchored
1992  No first char  No first char
1993  No need char  No need char
1994    
1995  /^[[:lower:]]/D  /^[[:lower:]]/DZ
1996  ------------------------------------------------------------------  ------------------------------------------------------------------
1997    0  37 Bra 0          Bra
1998    3     ^          ^
1999    4     [a-z]          [a-z]
2000   37  37 Ket          Ket
2001   40     End          End
2002  ------------------------------------------------------------------  ------------------------------------------------------------------
2003  Capturing subpattern count = 0  Capturing subpattern count = 0
2004  Options: anchored  Options: anchored
2005  No first char  No first char
2006  No need char  No need char
2007    
2008  /^[[:print:]]/D  /^[[:print:]]/DZ
2009  ------------------------------------------------------------------  ------------------------------------------------------------------
2010    0  37 Bra 0          Bra
2011    3     ^          ^
2012    4     [ -~]          [ -~]
2013   37  37 Ket          Ket
2014   40     End          End
2015  ------------------------------------------------------------------  ------------------------------------------------------------------
2016  Capturing subpattern count = 0  Capturing subpattern count = 0
2017  Options: anchored  Options: anchored
2018  No first char  No first char
2019  No need char  No need char
2020    
2021  /^[[:punct:]]/D  /^[[:punct:]]/DZ
2022  ------------------------------------------------------------------  ------------------------------------------------------------------
2023    0  37 Bra 0          Bra
2024    3     ^          ^
2025    4     [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2026   37  37 Ket          Ket
2027   40     End          End
2028  ------------------------------------------------------------------  ------------------------------------------------------------------
2029  Capturing subpattern count = 0  Capturing subpattern count = 0
2030  Options: anchored  Options: anchored
2031  No first char  No first char
2032  No need char  No need char
2033    
2034  /^[[:space:]]/D  /^[[:space:]]/DZ
2035  ------------------------------------------------------------------  ------------------------------------------------------------------
2036    0  37 Bra 0          Bra
2037    3     ^          ^
2038    4     [\x09-\x0d ]          [\x09-\x0d ]
2039   37  37 Ket          Ket
2040   40     End          End
2041  ------------------------------------------------------------------  ------------------------------------------------------------------
2042  Capturing subpattern count = 0  Capturing subpattern count = 0
2043  Options: anchored  Options: anchored
2044  No first char  No first char
2045  No need char  No need char
2046    
2047  /^[[:upper:]]/D  /^[[:upper:]]/DZ
2048  ------------------------------------------------------------------  ------------------------------------------------------------------
2049    0  37 Bra 0          Bra
2050    3     ^          ^
2051    4     [A-Z]          [A-Z]
2052   37  37 Ket          Ket
2053   40     End          End
2054  ------------------------------------------------------------------  ------------------------------------------------------------------
2055  Capturing subpattern count = 0  Capturing subpattern count = 0
2056  Options: anchored  Options: anchored
2057  No first char  No first char
2058  No need char  No need char
2059    
2060  /^[[:xdigit:]]/D  /^[[:xdigit:]]/DZ
2061  ------------------------------------------------------------------  ------------------------------------------------------------------
2062    0  37 Bra 0          Bra
2063    3     ^          ^
2064    4     [0-9A-Fa-f]          [0-9A-Fa-f]
2065   37  37 Ket          Ket
2066   40     End          End
2067  ------------------------------------------------------------------  ------------------------------------------------------------------
2068  Capturing subpattern count = 0  Capturing subpattern count = 0
2069  Options: anchored  Options: anchored
2070  No first char  No first char
2071  No need char  No need char
2072    
2073  /^[[:word:]]/D  /^[[:word:]]/DZ
2074  ------------------------------------------------------------------  ------------------------------------------------------------------
2075    0  37 Bra 0          Bra
2076    3     ^          ^
2077    4     [0-9A-Z_a-z]          [0-9A-Z_a-z]
2078   37  37 Ket          Ket
2079   40     End          End
2080  ------------------------------------------------------------------  ------------------------------------------------------------------
2081  Capturing subpattern count = 0  Capturing subpattern count = 0
2082  Options: anchored  Options: anchored
2083  No first char  No first char
2084  No need char  No need char
2085    
2086  /^[[:^cntrl:]]/D  /^[[:^cntrl:]]/DZ
2087  ------------------------------------------------------------------  ------------------------------------------------------------------
2088    0  37 Bra 0          Bra
2089    3     ^          ^
2090    4     [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2091   37  37 Ket          Ket
2092   40     End          End
2093  ------------------------------------------------------------------  ------------------------------------------------------------------
2094  Capturing subpattern count = 0  Capturing subpattern count = 0
2095  Options: anchored  Options: anchored
2096  No first char  No first char
2097  No need char  No need char
2098    
2099  /^[12[:^digit:]]/D  /^[12[:^digit:]]/DZ
2100  ------------------------------------------------------------------  ------------------------------------------------------------------
2101    0  37 Bra 0          Bra
2102    3     ^          ^
2103    4     [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2104   37  37 Ket          Ket
2105   40     End          End
2106  ------------------------------------------------------------------  ------------------------------------------------------------------
2107  Capturing subpattern count = 0  Capturing subpattern count = 0
2108  Options: anchored  Options: anchored
2109  No first char  No first char
2110  No need char  No need char
2111    
2112  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2113  ------------------------------------------------------------------  ------------------------------------------------------------------
2114    0  37 Bra 0          Bra
2115    3     ^          ^
2116    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2117   37  37 Ket          Ket
2118   40     End          End
2119  ------------------------------------------------------------------  ------------------------------------------------------------------
2120  Capturing subpattern count = 0  Capturing subpattern count = 0
2121  Options: anchored  Options: anchored
2122  No first char  No first char
2123  No need char  No need char
2124    
2125  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2126  ------------------------------------------------------------------  ------------------------------------------------------------------
2127    0  36 Bra 0          Bra
2128    3     [%01A-Za-z]          [%01A-Za-z]
2129   36  36 Ket          Ket
2130   39     End          End
2131  ------------------------------------------------------------------  ------------------------------------------------------------------
2132  Capturing subpattern count = 0  Capturing subpattern count = 0
2133  No options  No options
# Line 2200  No first char Line 2150  No first char
2150  No need char  No need char
2151      A      A
2152   0: A   0: A
2153      a      a
2154   0: a   0: a
2155    
2156  /[[:lower:]]/Ii  /[[:lower:]]/Ii
2157  Capturing subpattern count = 0  Capturing subpattern count = 0
2158  Options: caseless  Options: caseless
# Line 2210  No first char Line 2160  No first char
2160  No need char  No need char
2161      A      A
2162   0: A   0: A
2163      a      a
2164   0: a   0: a
2165    
2166  /((?-i)[[:lower:]])[[:lower:]]/Ii  /((?-i)[[:lower:]])[[:lower:]]/Ii
# Line 2229  No need char Line 2179  No need char
2179   1: a   1: a
2180      Ab      Ab
2181  No match  No match
2182      AB      AB
2183  No match  No match
2184    
2185  /[\200-\110]/I  /[\200-\110]/I
# Line 2247  Need char = 'd' Line 2197  Need char = 'd'
2197  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2198  Capturing subpattern count = 271  Capturing subpattern count = 271
2199  Max back reference = 270  Max back reference = 270
 Partial matching not supported  
2200  No options  No options
2201  No first char  No first char
2202  No need char  No need char
# Line 2543  Need char = 'n' Line 2492  Need char = 'n'
2492   0: mainOmain   0: mainOmain
2493   1: main   1: main
2494   2: O   2: O
2495    
2496  /These are all cases where Perl does it differently (nested captures)/I  /These are all cases where Perl does it differently (nested captures)/I
2497  Capturing subpattern count = 1  Capturing subpattern count = 1
2498  No options  No options
# Line 2559  No need char Line 2508  No need char
2508   0: aba   0: aba
2509   1: a   1: a
2510   2: b   2: b
2511    
2512  /^(aa(bb)?)+$/I  /^(aa(bb)?)+$/I
2513  Capturing subpattern count = 2  Capturing subpattern count = 2
2514  Options: anchored  Options: anchored
2515  No first char  No first char
2516  No need char  No need char
2517      aabbaa      aabbaa
2518   0: aabbaa   0: aabbaa
2519   1: aa   1: aa
2520   2: bb   2: bb
2521    
2522  /^(aa|aa(bb))+$/I  /^(aa|aa(bb))+$/I
2523  Capturing subpattern count = 2  Capturing subpattern count = 2
2524  Options: anchored  Options: anchored
2525  No first char  No first char
2526  No need char  No need char
2527      aabbaa      aabbaa
2528   0: aabbaa   0: aabbaa
2529   1: aa   1: aa
2530   2: bb   2: bb
2531    
2532  /^(aa(bb)??)+$/I  /^(aa(bb)??)+$/I
2533  Capturing subpattern count = 2  Capturing subpattern count = 2
2534  Options: anchored  Options: anchored
2535  No first char  No first char
2536  No need char  No need char
2537      aabbaa      aabbaa
2538   0: aabbaa   0: aabbaa
2539   1: aa   1: aa
2540   2: bb   2: bb
2541    
2542  /^(?:aa(bb)?)+$/I  /^(?:aa(bb)?)+$/I
2543  Capturing subpattern count = 1  Capturing subpattern count = 1
2544  Options: anchored  Options: anchored
2545  No first char  No first char
2546  No need char  No need char
2547      aabbaa      aabbaa
2548   0: aabbaa   0: aabbaa
2549   1: bb   1: bb
2550    
2551  /^(aa(b(b))?)+$/I  /^(aa(b(b))?)+$/I
2552  Capturing subpattern count = 3  Capturing subpattern count = 3
2553  Options: anchored  Options: anchored
2554  No first char  No first char
2555  No need char  No need char
2556      aabbaa      aabbaa
2557   0: aabbaa   0: aabbaa
2558   1: aa   1: aa
2559   2: bb   2: bb
# Line 2615  Capturing subpattern count = 2 Line 2564  Capturing subpattern count = 2
2564  Options: anchored  Options: anchored
2565  No first char  No first char
2566  No need char  No need char
2567      aabbaa      aabbaa
2568   0: aabbaa   0: aabbaa
2569   1: bb   1: bb
2570   2: b   2: b
# Line 2625  Capturing subpattern count = 1 Line 2574  Capturing subpattern count = 1
2574  Options: anchored  Options: anchored
2575  No first char  No first char
2576  No need char  No need char
2577      aabbaa      aabbaa
2578   0: aabbaa   0: aabbaa
2579   1: bb   1: bb
2580    
# Line 2634  Capturing subpattern count = 1 Line 2583  Capturing subpattern count = 1
2583  Options: anchored  Options: anchored
2584  No first char  No first char
2585  No need char  No need char
2586      aabbbaa      aabbbaa
2587   0: aabbbaa   0: aabbbaa
2588   1: bbb   1: bbb
2589    
2590  /^(?:aa(b(?:bb))?)+$/I  /^(?:aa(b(?:bb))?)+$/I
2591  Capturing subpattern count = 1  Capturing subpattern count = 1
2592  Options: anchored  Options: anchored
2593  No first char  No first char
2594  No need char  No need char
2595      aabbbaa      aabbbaa
2596   0: aabbbaa   0: aabbbaa
2597   1: bbb   1: bbb
2598    
# Line 2652  Capturing subpattern count = 1 Line 2601  Capturing subpattern count = 1
2601  Options: anchored  Options: anchored
2602  No first char  No first char
2603  No need char  No need char
2604      aabbaa      aabbaa
2605   0: aabbaa   0: aabbaa
2606   1: b   1: b
2607    
# Line 2661  Capturing subpattern count = 1 Line 2610  Capturing subpattern count = 1
2610  Options: anchored  Options: anchored
2611  No first char  No first char
2612  No need char  No need char
2613      aabbbaa      aabbbaa
2614   0: aabbbaa   0: aabbbaa
2615   1: bb   1: bb
2616    
# Line 2670  Capturing subpattern count = 3 Line 2619  Capturing subpattern count = 3
2619  Options: anchored  Options: anchored
2620  No first char  No first char
2621  No need char  No need char
2622      aabbbaa      aabbbaa
2623   0: aabbbaa   0: aabbbaa
2624   1: aa   1: aa
2625   2: bbb   2: bbb
# Line 2681  Capturing subpattern count = 3 Line 2630  Capturing subpattern count = 3
2630  Options: anchored  Options: anchored
2631  No first char  No first char
2632  No need char  No need char
2633      aabbbbaa      aabbbbaa
2634   0: aabbbbaa   0: aabbbbaa
2635   1: aa   1: aa
2636   2: bbbb   2: bbbb
2637   3: bb   3: bb
2638    
2639  /--------------------------------------------------------------------/I  /--------------------------------------------------------------------/I
2640  Capturing subpattern count = 0  Capturing subpattern count = 0
2641  No options  No options
2642  First char = '-'  First char = '-'
2643  Need char = '-'  Need char = '-'
2644    
2645  /#/IxMD  /#/IxDZ
 Memory allocation (code space): 7  
2646  ------------------------------------------------------------------  ------------------------------------------------------------------
2647    0   3 Bra 0          Bra
2648    3   3 Ket          Ket
2649    6     End          End
2650  ------------------------------------------------------------------  ------------------------------------------------------------------
2651  Capturing subpattern count = 0  Capturing subpattern count = 0
2652  Options: extended  Options: extended
2653  No first char  No first char
2654  No need char  No need char
2655    
2656  /a#/IxMD  /a#/IxDZ
 Memory allocation (code space): 9  
2657  ------------------------------------------------------------------  ------------------------------------------------------------------
2658    0   5 Bra 0          Bra
2659    3     a          a
2660    5   5 Ket          Ket
2661    8     End          End
2662  ------------------------------------------------------------------  ------------------------------------------------------------------
2663  Capturing subpattern count = 0  Capturing subpattern count = 0
2664  Options: extended  Options: extended
2665  First char = 'a'  First char = 'a'
2666  No need char  No need char
2667    
2668  /[\s]/D  /[\s]/DZ
2669  ------------------------------------------------------------------  ------------------------------------------------------------------
2670    0  36 Bra 0          Bra
2671    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2672   36  36 Ket          Ket
2673   39     End          End
2674  ------------------------------------------------------------------  ------------------------------------------------------------------
2675  Capturing subpattern count = 0  Capturing subpattern count = 0
2676  No options  No options
2677  No first char  No first char
2678  No need char  No need char
2679    
2680  /[\S]/D  /[\S]/DZ
2681  ------------------------------------------------------------------  ------------------------------------------------------------------
2682    0  36 Bra 0          Bra
2683    3     [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2684   36  36 Ket          Ket
2685   39     End          End
2686  ------------------------------------------------------------------  ------------------------------------------------------------------
2687  Capturing subpattern count = 0  Capturing subpattern count = 0
2688  No options  No options
2689  No first char  No first char
2690  No need char  No need char
2691    
2692  /a(?i)b/D  /a(?i)b/DZ
2693  ------------------------------------------------------------------  ------------------------------------------------------------------
2694    0   9 Bra 0          Bra
2695    3     a          a
2696    5  01 Opt       01 Opt
2697    7  NC b       NC b
2698    9   9 Ket          Ket
2699   12     End          End
2700  ------------------------------------------------------------------  ------------------------------------------------------------------
2701  Capturing subpattern count = 0  Capturing subpattern count = 0
2702  No options  No options
# Line 2759  Need char = 'b' (caseless) Line 2706  Need char = 'b' (caseless)
2706   0: ab   0: ab
2707      aB      aB
2708   0: aB   0: aB
2709      *** Failers      *** Failers
2710  No match  No match
2711      AB      AB
2712  No match  No match
2713    
2714  /(a(?i)b)/D  /(a(?i)b)/DZ
2715  ------------------------------------------------------------------  ------------------------------------------------------------------
2716    0  19 Bra 0          Bra
2717    3  11 Bra 1          CBra 1
2718    8     a          a
2719   10  01 Opt       01 Opt
2720   12  NC b       NC b
2721   14  11 Ket          Ket
2722   17  00 Opt       00 Opt
2723   19  19 Ket          Ket
2724   22     End          End
2725  ------------------------------------------------------------------  ------------------------------------------------------------------
2726  Capturing subpattern count = 1  Capturing subpattern count = 1
2727  No options  No options
# Line 2786  Need char = 'b' (caseless) Line 2733  Need char = 'b' (caseless)
2733      aB      aB
2734   0: aB   0: aB
2735   1: aB   1: aB
2736      *** Failers      *** Failers
2737  No match  No match
2738      AB      AB
2739  No match  No match
2740    
2741  /   (?i)abc/IxD  /   (?i)abc/IxDZ
2742  ------------------------------------------------------------------  ------------------------------------------------------------------
2743    0   9 Bra 0          Bra
2744    3  NC abc       NC abc
2745    9   9 Ket          Ket
2746   12     End          End
2747  ------------------------------------------------------------------  ------------------------------------------------------------------
2748  Capturing subpattern count = 0  Capturing subpattern count = 0
2749  Options: caseless extended  Options: caseless extended
# Line 2804  First char = 'a' (caseless) Line 2751  First char = 'a' (caseless)
2751  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2752    
2753  /#this is a comment  /#this is a comment
2754    (?i)abc/IxD    (?i)abc/IxDZ
2755  ------------------------------------------------------------------  ------------------------------------------------------------------
2756    0   9 Bra 0          Bra
2757    3  NC abc       NC abc
2758    9   9 Ket          Ket
2759   12     End          End
2760  ------------------------------------------------------------------  ------------------------------------------------------------------
2761  Capturing subpattern count = 0  Capturing subpattern count = 0
2762  Options: caseless extended  Options: caseless extended
2763  First char = 'a' (caseless)  First char = 'a' (caseless)
2764  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2765    
2766  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2767  ------------------------------------------------------------------  ------------------------------------------------------------------
2768    0 603 Bra 0          Bra
2769    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2770  603 603 Ket          Ket
2771  606     End          End
2772  ------------------------------------------------------------------  ------------------------------------------------------------------
2773  Capturing subpattern count = 0  Capturing subpattern count = 0
2774  No options  No options
2775  First char = '1'  First char = '1'
2776  Need char = '0'  Need char = '0'
2777    
2778  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2779  ------------------------------------------------------------------  ------------------------------------------------------------------
2780    0 603 Bra 0          Bra
2781    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2782  603 603 Ket          Ket
2783  606     End          End
2784  ------------------------------------------------------------------  ------------------------------------------------------------------
2785  Capturing subpattern count = 0  Capturing subpattern count = 0
2786  No options  No options
2787  First char = '1'  First char = '1'
2788  Need char = '0'  Need char = '0'
2789    
2790  /\Q\E/D  /\Q\E/DZ
2791  ------------------------------------------------------------------  ------------------------------------------------------------------
2792    0   3 Bra 0          Bra
2793    3   3 Ket          Ket
2794    6     End          End
2795  ------------------------------------------------------------------  ------------------------------------------------------------------
2796  Capturing subpattern count = 0  Capturing subpattern count = 0
2797  No options  No options
# Line 2853  No need char Line 2800  No need char
2800      \      \
2801   0:   0:
2802    
2803  /\Q\Ex/D  /\Q\Ex/DZ
2804  ------------------------------------------------------------------  ------------------------------------------------------------------
2805    0   5 Bra 0          Bra
2806    3     x          x
2807    5   5 Ket          Ket
2808    8     End          End
2809  ------------------------------------------------------------------  ------------------------------------------------------------------
2810  Capturing subpattern count = 0  Capturing subpattern count = 0
2811  No options  No options
2812  First char = 'x'  First char = 'x'
2813  No need char  No need char
2814    
2815  / \Q\E/D  / \Q\E/DZ
2816  ------------------------------------------------------------------  ------------------------------------------------------------------
2817    0   5 Bra 0          Bra
2818    3  
2819    5   5 Ket          Ket
2820    8     End          End
2821  ------------------------------------------------------------------  ------------------------------------------------------------------
2822  Capturing subpattern count = 0  Capturing subpattern count = 0
2823  No options  No options
2824  First char = ' '  First char = ' '
2825  No need char  No need char
2826    
2827  /a\Q\E/D  /a\Q\E/DZ
2828  ------------------------------------------------------------------  ------------------------------------------------------------------
2829    0   5 Bra 0          Bra
2830    3     a          a
2831    5   5 Ket          Ket
2832    8     End          End
2833  ------------------------------------------------------------------  ------------------------------------------------------------------
2834  Capturing subpattern count = 0  Capturing subpattern count = 0
2835  No options  No options
# Line 2892  No need char Line 2839  No need char
2839   0: a   0: a
2840    bca    bca
2841   0: a   0: a
2842    bac    bac
2843   0: a   0: a
2844    
2845  /a\Q\Eb/D  /a\Q\Eb/DZ
2846  ------------------------------------------------------------------  ------------------------------------------------------------------
2847    0   7 Bra 0          Bra
2848    3     ab          ab
2849    7   7 Ket          Ket
2850   10     End          End
2851  ------------------------------------------------------------------  ------------------------------------------------------------------
2852  Capturing subpattern count = 0  Capturing subpattern count = 0
2853  No options  No options
# Line 2909  Need char = 'b' Line 2856  Need char = 'b'
2856    abc    abc
2857   0: ab   0: ab
2858    
2859  /\Q\Eabc/D  /\Q\Eabc/DZ
2860  ------------------------------------------------------------------  ------------------------------------------------------------------
2861    0   9 Bra 0          Bra
2862    3     abc          abc
2863    9   9 Ket          Ket
2864   12     End          End
2865  ------------------------------------------------------------------  ------------------------------------------------------------------
2866  Capturing subpattern count = 0  Capturing subpattern count = 0
2867  No options  No options
2868  First char = 'a'  First char = 'a'
2869  Need char = 'c'  Need char = 'c'
2870    
2871  /x*+\w/D  /x*+\w/DZ
2872  ------------------------------------------------------------------  ------------------------------------------------------------------
2873    0   6 Bra 0          Bra
2874    3     x*+          x*+
2875    5     \w          \w
2876    6   6 Ket          Ket
2877    9     End          End
2878  ------------------------------------------------------------------  ------------------------------------------------------------------
2879  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2880  No options  No options
2881  No first char  No first char
2882  No need char  No need char
# Line 2938  No need char Line 2884  No need char
2884   0: F   0: F
2885      xxxxx      xxxxx
2886  No match  No match
2887    
2888  /x?+/D  /x?+/DZ
2889  ------------------------------------------------------------------  ------------------------------------------------------------------
2890    0   5 Bra 0          Bra
2891    3     x?+          x?+
2892    5   5 Ket          Ket
2893    8     End          End
2894  ------------------------------------------------------------------  ------------------------------------------------------------------
2895  Capturing subpattern count = 0  Capturing subpattern count = 0
2896  No options  No options
2897  No first char  No first char
2898  No need char  No need char
2899    
2900  /x++/D  /x++/DZ
2901  ------------------------------------------------------------------  ------------------------------------------------------------------
2902    0   5 Bra 0          Bra
2903    3     x++          x++
2904    5   5 Ket          Ket
2905    8     End          End
2906  ------------------------------------------------------------------  ------------------------------------------------------------------
2907  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2908  No options  No options
2909  First char = 'x'  First char = 'x'
2910  No need char  No need char
2911    
2912  /x{1,3}+/D  /x{1,3}+/DZ
2913  ------------------------------------------------------------------  ------------------------------------------------------------------
2914    0  15 Bra 0          Bra
2915    3   9 Once          Once
2916    6     x          x
2917    8     x{0,2}          x{0,2}
2918   12   9 Ket          Ket
2919   15  15 Ket          Ket
2920   18     End          End
2921  ------------------------------------------------------------------  ------------------------------------------------------------------
2922  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2923  No options  No options
2924  First char = 'x'  First char = 'x'
2925  No need char  No need char
2926    
2927  /(x)*+/D  /(x)*+/DZ
2928  ------------------------------------------------------------------  ------------------------------------------------------------------
2929    0  20 Bra 0          Bra
2930    3  14 Once          Once
2931    6     Brazero          Brazero
2932    7   7 Bra 1          CBra 1
2933   12     x          x
2934   14   7 KetRmax          KetRmax
2935   17  14 Ket          Ket
2936   20  20 Ket          Ket
2937   23     End          End
2938  ------------------------------------------------------------------  ------------------------------------------------------------------
2939  Capturing subpattern count = 1  Capturing subpattern count = 1
2940  No options  No options
# Line 2999  No need char Line 2943  No need char
2943    
2944  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2945  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2946  Options: anchored  Options: anchored
2947  No first char  No first char
2948  No need char  No need char
# Line 3010  No need char Line 2953  No need char
2953  No match  No match
2954      this is not a line with only words and spaces!      this is not a line with only words and spaces!
2955  No match  No match
2956    
2957  /(\d++)(\w)/I  /(\d++)(\w)/I
2958  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
2959  No options  No options
2960  No first char  No first char
2961  No need char  No need char
# Line 3023  No need char Line 2965  No need char
2965   2: a   2: a
2966      *** Failers      *** Failers
2967  No match  No match
2968      12345+      12345+
2969  No match  No match
2970    
2971  /a++b/I  /a++b/I
2972  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
2973  No options  No options
2974  First char = 'a'  First char = 'a'
2975  Need char = 'b'  Need char = 'b'
# Line 3037  Need char = 'b' Line 2978  Need char = 'b'
2978    
2979  /(a++b)/I  /(a++b)/I
2980  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2981  No options  No options
2982  First char = 'a'  First char = 'a'
2983  Need char = 'b'  Need char = 'b'
# Line 3047  Need char = 'b' Line 2987  Need char = 'b'
2987    
2988  /(a++)b/I  /(a++)b/I
2989  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2990  No options  No options
2991  First char = 'a'  First char = 'a'
2992  Need char = 'b'  Need char = 'b'
# Line 3057  Need char = 'b' Line 2996  Need char = 'b'
2996    
2997  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
2998  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
2999  No options  No options
3000  No first char  No first char
3001  No need char  No need char
3002      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
3003   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
3004   1: x   1: x
3005    
3006  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3007  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3008  No options  No options
3009  First char = '('  First char = '('
3010  Need char = ')'  Need char = ')'
# Line 3079  Need char = ')' Line 3016  Need char = ')'
3016   1: xyz   1: xyz
3017      *** Failers      *** Failers
3018  No match  No match
3019      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3020  No match  No match
3021    
3022  /(abc){1,3}+/D  /(abc){1,3}+/DZ
3023  ------------------------------------------------------------------  ------------------------------------------------------------------
3024    0  59 Bra 0          Bra
3025    3  53 Once          Once
3026    6  11 Bra 1          CBra 1
3027   11     abc          abc
3028   17  11 Ket          Ket
3029   20     Brazero          Brazero
3030   21  32 Bra 0          Bra
3031   24  11 Bra 1          CBra 1
3032   29     abc          abc
3033   35  11 Ket          Ket
3034   38     Brazero          Brazero
3035   39  11 Bra 1          CBra 1
3036   44     abc          abc
3037   50  11 Ket          Ket
3038   53  32 Ket          Ket
3039   56  53 Ket          Ket
3040   59  59 Ket          Ket
3041   62     End          End
3042  ------------------------------------------------------------------  ------------------------------------------------------------------
3043  Capturing subpattern count = 1  Capturing subpattern count = 1
3044  No options  No options
# Line 3120  Failed: nothing to repeat at offset 7 Line 3057  Failed: nothing to repeat at offset 7
3057  /a{2,3}?+b/IU  /a{2,3}?+b/IU
3058  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3059    
3060  /x(?U)a++b/D  /x(?U)a++b/DZ
3061  ------------------------------------------------------------------  ------------------------------------------------------------------
3062    0   9 Bra 0          Bra
3063    3     x          x
3064    5     a++          a++
3065    7     b          b
3066    9   9 Ket          Ket
3067   12     End          End
3068  ------------------------------------------------------------------  ------------------------------------------------------------------
3069  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3070  No options  No options
3071  First char = 'x'  First char = 'x'
3072  Need char = 'b'  Need char = 'b'
3073      xaaaab      xaaaab
3074   0: xaaaab   0: xaaaab
3075    
3076  /(?U)xa++b/D  /(?U)xa++b/DZ
3077  ------------------------------------------------------------------  ------------------------------------------------------------------
3078    0   9 Bra 0          Bra
3079    3     x          x
3080    5     a++          a++
3081    7     b          b
3082    9   9 Ket          Ket
3083   12     End          End
3084  ------------------------------------------------------------------  ------------------------------------------------------------------
3085  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3086  Options: ungreedy  Options: ungreedy
3087  First char = 'x'  First char = 'x'
3088  Need char = 'b'  Need char = 'b'
3089      xaaaab      xaaaab
3090   0: xaaaab   0: xaaaab
3091    
3092  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3093  ------------------------------------------------------------------  ------------------------------------------------------------------
3094    0 116 Bra 0          Bra
3095    3     ^          ^
3096    4 109 Bra 1          CBra 1
3097    9   7 Bra 2          CBra 2
3098   14     a+          a+
3099   16   7 Ket          Ket
3100   19  39 Bra 3          CBra 3
3101   24     [ab]+?          [ab]+?
3102   58  39 Ket          Ket
3103   61  39 Bra 4          CBra 4
3104   66     [bc]+          [bc]+
3105  100  39 Ket          Ket
3106  103   7 Bra 5          CBra 5
3107  108     \w*          \w*
3108  110   7 Ket          Ket
3109  113 109 Ket          Ket
3110  116 116 Ket          Ket
3111  119     End          End
3112  ------------------------------------------------------------------  ------------------------------------------------------------------
3113  Capturing subpattern count = 5  Capturing subpattern count = 5
 Partial matching not supported  
3114  Options: anchored  Options: anchored
3115  No first char  No first char
3116  No need char  No need char
3117    
3118  /^x(?U)a+b/D  /^x(?U)a+b/DZ
3119  ------------------------------------------------------------------  ------------------------------------------------------------------
3120    0  10 Bra 0          Bra
3121    3     ^          ^
3122    4     x          x
3123    6     a++          a++
3124    8     b          b
3125   10  10 Ket          Ket
3126   13     End          End
3127  ------------------------------------------------------------------  ------------------------------------------------------------------
3128  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3129  Options: anchored  Options: anchored
3130  No first char  No first char
3131  Need char = 'b'  Need char = 'b'
3132    
3133  /^x(?U)(a+)b/D  /^x(?U)(a+)b/DZ
3134  ------------------------------------------------------------------  ------------------------------------------------------------------
3135    0  18 Bra 0          Bra
3136    3     ^          ^
3137    4     x          x
3138    6   7 Bra 1          CBra 1
3139   11     a+?          a+?
3140   13   7 Ket          Ket
3141   16     b          b
3142   18  18 Ket          Ket
3143   21     End          End
3144  ------------------------------------------------------------------  ------------------------------------------------------------------
3145  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3146  Options: anchored  Options: anchored
3147  No first char  No first char
3148  Need char = 'b'  Need char = 'b'
# Line 3248  Failed: missing terminating ] for charac Line 3180  Failed: missing terminating ] for charac
3180  /[[:space:]/I  /[[:space:]/I
3181  Failed: missing terminating ] for character class at offset 10  Failed: missing terminating ] for character class at offset 10
3182    
3183  /[\s]/IDM  /[\s]/IDZ
 Memory allocation (code space): 40  
3184  ------------------------------------------------------------------  ------------------------------------------------------------------
3185    0  36 Bra 0          Bra
3186    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3187   36  36 Ket          Ket
3188   39     End          End
3189  ------------------------------------------------------------------  ------------------------------------------------------------------
3190  Capturing subpattern count = 0  Capturing subpattern count = 0
3191  No options  No options
3192  No first char  No first char
3193  No need char  No need char
3194    
3195  /[[:space:]]/IDM  /[[:space:]]/IDZ
 Memory allocation (code space): 40  
3196  ------------------------------------------------------------------  ------------------------------------------------------------------
3197    0  36 Bra 0          Bra
3198    3     [\x09-\x0d ]          [\x09-\x0d ]
3199   36  36 Ket          Ket
3200   39     End          End
3201  ------------------------------------------------------------------  ------------------------------------------------------------------
3202  Capturing subpattern count = 0  Capturing subpattern count = 0
3203  No options  No options
3204  No first char  No first char
3205  No need char  No need char
3206    
3207  /[[:space:]abcde]/IDM  /[[:space:]abcde]/IDZ
 Memory allocation (code space): 40  
3208  ------------------------------------------------------------------  ------------------------------------------------------------------
3209    0  36 Bra 0          Bra
3210    3     [\x09-\x0d a-e]          [\x09-\x0d a-e]
3211   36  36 Ket          Ket
3212   39     End          End
3213  ------------------------------------------------------------------  ------------------------------------------------------------------
3214  Capturing subpattern count = 0  Capturing subpattern count = 0
3215  No options  No options
# Line 3289  No need char Line 3218  No need char
3218    
3219  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3220  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3221  Options: extended  Options: extended
3222  First char = '<'  First char = '<'
3223  Need char = '>'  Need char = '>'
# Line 3301  Need char = '>' Line 3229  Need char = '>'
3229   0: <abc <123> hij>   0: <abc <123> hij>
3230      <abc <def> hij>      <abc <def> hij>
3231   0: <def>   0: <def>
3232      <abc<>def>      <abc<>def>
3233   0: <abc<>def>   0: <abc<>def>
3234      <abc<>      <abc<>
3235   0: <>   0: <>
3236      *** Failers      *** Failers
3237  No match  No match
3238      <abc      <abc
3239  No match  No match
3240    
3241  |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|IDM  |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
 Memory allocation (code space): 826  
3242  ------------------------------------------------------------------  ------------------------------------------------------------------
3243    0 822 Bra 0          Bra
3244    3     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
3245  821     \b          \b
3246  822 822 Ket          Ket
3247  825     End          End
3248  ------------------------------------------------------------------  ------------------------------------------------------------------
3249  Capturing subpattern count = 0  Capturing subpattern count = 0
3250  No options  No options
3251  First char = '8'  First char = '8'
3252  Need char = 'X'  Need char = 'X'
3253    
3254  |\$\<\.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|IDM  |\$\<\.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
 Memory allocation (code space): 816  
3255  ------------------------------------------------------------------  ------------------------------------------------------------------
3256    0 812 Bra 0          Bra
3257    3     $<.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
3258  811     \b          \b
3259  812 812 Ket          Ket
3260  815     End          End
3261  ------------------------------------------------------------------  ------------------------------------------------------------------
3262  Capturing subpattern count = 0  Capturing subpattern count = 0
3263  No options  No options
# Line 3341  Need char = 'X' Line 3267  Need char = 'X'
3267  /(.*)\d+\1/I  /(.*)\d+\1/I
3268  Capturing subpattern count = 1  Capturing subpattern count = 1
3269  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3270  No options  No options
3271  No first char  No first char
3272  No need char  No need char
3273    
3274  /(.*)\d+/I  /(.*)\d+/I
3275  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3276  No options  No options
3277  First char at start or follows newline  First char at start or follows newline
3278  No need char  No need char
3279    
3280  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3281  Capturing subpattern count = 1  Capturing subpattern count = 1
3282  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3283  Options: dotall  Options: dotall
3284  No first char  No first char
3285  No need char  No need char
3286    
3287  /(.*)\d+/Is  /(.*)\d+/Is
3288  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3289  Options: anchored dotall  Options: anchored dotall
3290  No first char  No first char
3291  No need char  No need char
# Line 3371  No need char Line 3293  No need char
3293  /(.*(xyz))\d+\2/I  /(.*(xyz))\d+\2/I
3294  Capturing subpattern count = 2  Capturing subpattern count = 2
3295  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
3296  No options  No options
3297  First char at start or follows newline  First char at start or follows newline
3298  Need char = 'z'  Need char = 'z'
# Line 3379  Need char = 'z' Line 3300  Need char = 'z'
3300  /((.*))\d+\1/I  /((.*))\d+\1/I
3301  Capturing subpattern count = 2  Capturing subpattern count = 2
3302  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
3303  No options  No options
3304  No first char  No first char
3305  No need char  No need char
# Line 3387  No need char Line 3307  No need char
3307   0: bc123bc   0: bc123bc
3308   1: bc   1: bc
3309   2: bc   2: bc
3310    
3311  /a[b]/I  /a[b]/I
3312  Capturing subpattern count = 0  Capturing subpattern count = 0
3313  No options  No options
# Line 3396  Need char = 'b' Line 3316  Need char = 'b'
3316    
3317  /(?=a).*/I  /(?=a).*/I
3318  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3319  No options  No options
3320  First char = 'a'  First char = 'a'
3321  No need char  No need char
# Line 3443  No options Line 3362  No options
3362  No first char  No first char
3363  Need char = 'a'  Need char = 'a'
3364    
3365  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3366  Capturing subpattern count = 0  Capturing subpattern count = 1
3367  No options  No options
3368  First char = 'a'  First char = 'a'
3369  No need char  No need char
3370    
3371  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3372  Capturing subpattern count = 0  Capturing subpattern count = 1
3373  No options  No options
3374  First char = 'a'  First char = 'a'
3375  Need char = 'z'  Need char = 'z'
3376    
3377  /(?(1)abz)/I  /(?(1)abz)(.)/I
3378  Capturing subpattern count = 0  Capturing subpattern count = 1
3379  No options  No options
3380  No first char  No first char
3381  No need char  No need char
3382    
3383  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3384  Capturing subpattern count = 0  Capturing subpattern count = 1
3385  No options  No options
3386  No first char  No first char
3387  Need char = '3'  Need char = '3'
# Line 3536  First char at start or follows newline Line 3455  First char at start or follows newline
3455  Need char = 'a'  Need char = 'a'
3456    abcde    abcde
3457   0: a   0: a
3458    xy\nabc    xy\nabc
3459   0: a   0: a
3460    *** Failers    *** Failers
3461  No match  No match
3462    xyabc    xyabc
3463  No match  No match
3464    
3465  /c|abc/I  /c|abc/I
# Line 3572  Need char = 'f' Line 3491  Need char = 'f'
3491  --->abcdef  --->abcdef
3492    0 ^  ^       d    0 ^  ^       d
3493   0: abcdef   0: abcdef
3494      1234abcdef      1234abcdef
3495  --->1234abcdef  --->1234abcdef
3496    0     ^  ^       d    0     ^  ^       d
3497   0: abcdef   0: abcdef
# Line 3580  Need char = 'f' Line 3499  Need char = 'f'
3499  No match  No match
3500      abcxyz      abcxyz
3501  No match  No match
3502      abcxyzf      abcxyzf
3503  --->abcxyzf  --->abcxyzf
3504    0 ^  ^        d    0 ^  ^        d
3505  No match  No match
# Line 3595  Need char = 'f' Line 3514  Need char = 'f'
3514    0    ^  ^       d    0    ^  ^       d
3515    1    ^    ^     f    1    ^    ^     f
3516   0: abcdef   0: abcdef
3517    
3518  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/I
3519  Capturing subpattern count = 0  Capturing subpattern count = 0
3520  No options  No options
3521  No first char  No first char
# Line 3611  Need char = 'f' Line 3530  Need char = 'f'
3530   0: 4abcdef   0: 4abcdef
3531      *** Failers      *** Failers
3532  No match  No match
3533      abcdef      abcdef
3534  --->abcdef  --->abcdef
3535    1 ^          \d    1 ^          \d
3536    1  ^         \d    1  ^         \d
# Line 3620  No match Line 3539  No match
3539    1     ^      \d    1     ^      \d
3540    1      ^     \d    1      ^     \d
3541  No match  No match
3542    
3543  /(?C255)ab/I  /(?C255)ab/I
3544  Capturing subpattern count = 0  Capturing subpattern count = 0
3545  No options  No options
# Line 3630  Need char = 'b' Line 3549  Need char = 'b'
3549  /(?C256)ab/I  /(?C256)ab/I
3550  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3551    
3552  /(?Cab)xx/I  /(?Cab)xx/I
3553  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3554    
3555  /(?C12vr)x/I  /(?C12vr)x/I
# Line 3659  Need char = 'f' Line 3578  Need char = 'f'
3578    1    ^    ^     f    1    ^    ^     f
3579   0: abcdef   0: abcdef
3580   1: abc   1: abc
3581      123abcdef\C+      123abcdef\C+
3582  Callout 0: last capture = 1  Callout 0: last capture = 1
3583   0: <unset>   0: <unset>
3584   1: abc   1: abc
# Line 3672  Callout 1: last capture = 1 Line 3591  Callout 1: last capture = 1
3591         ^    ^     f         ^    ^     f
3592   0: abcdef   0: abcdef
3593   1: abc   1: abc
3594      123abcdef\C-      123abcdef\C-
3595   0: abcdef   0: abcdef
3596   1: abc   1: abc
3597      *** Failers      *** Failers
3598  No match  No match
3599      123abcdef\C!1      123abcdef\C!1
3600  --->123abcdef  --->123abcdef
3601    0    ^  ^       d    0    ^  ^       d
3602    1    ^    ^     f    1    ^    ^     f
3603  No match  No match
3604    
3605  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3606  Capturing subpattern count = 1  Capturing subpattern count = 1
3607  No options  No options
# Line 3696  No need char Line 3615  No need char
3615    1 ^        ^    )    1 ^        ^    )
3616   0: abcabcabc   0: abcabcabc
3617   1: abc   1: abc
3618      abcabc\C!1!3      abcabc\C!1!3
3619  --->abcabc  --->abcabc
3620    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3621    1 ^  ^       )    1 ^  ^       )
# Line 3707  No need char Line 3626  No need char
3626  --->*** Failers  --->*** Failers
3627    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3628   0:   0:
3629      abcabcabc\C!1!3      abcabcabc\C!1!3
3630  --->abcabcabc  --->abcabcabc
3631    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3632    1 ^  ^          )    1 ^  ^          )
# Line 3718  No need char Line 3637  No need char
3637    
3638  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3639  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
3640  No options  No options
3641  No first char  No first char
3642  No need char  No need char
# Line 3741  Callout 0: last capture = 1 Line 3659  Callout 0: last capture = 1
3659      ^     ^    )      ^     ^    )
3660   0: 123456   0: 123456
3661   1: 456   1: 456
3662      123456789\C+      123456789\C+
3663  Callout 0: last capture = -1  Callout 0: last capture = -1
3664   0: <unset>   0: <unset>
3665  --->123456789  --->123456789
# Line 3813  Callout 0: last capture = 1 Line 3731  Callout 0: last capture = 1
3731      ^          a      ^          a
3732   0: abcdef   0: abcdef
3733   1: abc   1: abc
3734    
3735  /(?!(abc)(?C1)d)(?C2)abcxyz/I  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3736  Capturing subpattern count = 1  Capturing subpattern count = 1
3737  No options  No options
3738  First char = 'a'  First char = 'a'
3739  Need char = 'z'  Need char = 'z'
3740      abcxyz\C+      abcxyz\C+
3741  Callout 1: last capture = 1  Callout 1: last capture = 1
3742   0: <unset>   0: <unset>
3743   1: abc   1: abc
# Line 3844  Callout 0: last capture = 1 Line 3762  Callout 0: last capture = 1
3762         ^       )         ^       )
3763   0: xyz   0: xyz
3764   1: abc   1: abc
3765    
3766  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3767  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3768  No options  No options
3769  First char = 'a'  First char = 'a'
3770  Need char = 'b'  Need char = 'b'
# Line 3873  No match Line 3790  No match
3790    
3791  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
3792  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3793  No options  No options
3794  First char = 'a'  First char = 'a'
3795  Need char = 'b'  Need char = 'b'
# Line 3896  Callout data = 1 Line 3812  Callout data = 1
3812    1 ^        ^    1 ^        ^
3813  Callout data = 1  Callout data = 1
3814  No match  No match
3815    
3816  /(?C)abc/I  /(?C)abc/I
3817  Capturing subpattern count = 0  Capturing subpattern count = 0
3818  No options  No options
3819  First char = 'a'  First char = 'a'
# Line 3954  No need char Line 3870  No need char
3870   3: xxab   3: xxab
3871      *** Failers      *** Failers
3872  No match  No match
3873      xyab      xyab
3874  No match  No match
3875    
3876  /(ab|(bc|(de|(?1))))/I  /(ab|(bc|(de|(?1))))/I
# Line 3974  No need char Line 3890  No need char
3890      a(b)c      a(b)c
3891   0: a(b)c   0: a(b)c
3892   1: c   1: c
3893      a(b(c))d      a(b(c))d
3894   0: a(b(c))d   0: a(b(c))d
3895   1: d   1: d
3896      *** Failers)      *** Failers)
3897  No match  No match
3898      a(b(c)d      a(b(c)d
3899  No match  No match
3900    
3901  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
# Line 3997  Need char = '<' Line 3913  Need char = '<'
3913   0: >abc>(1(2)3)<xyz<   0: >abc>(1(2)3)<xyz<
3914   1: (1(2)3)   1: (1(2)3)
3915    
3916  /(a(?1)b)/D  /(a(?1)b)/DZ
3917  ------------------------------------------------------------------  ------------------------------------------------------------------
3918    0  24 Bra 0          Bra
3919    3  18 Bra 1          CBra 1
3920    8     a          a
3921   10   6 Once          Once
3922   13   3 Recurse          Recurse
3923   16   6 Ket          Ket
3924   19     b          b
3925   21  18 Ket          Ket
3926   24  24 Ket          Ket
3927   27     End          End
3928  ------------------------------------------------------------------  ------------------------------------------------------------------
3929  Capturing subpattern count = 1  Capturing subpattern count = 1
3930  No options  No options
3931  First char = 'a'  First char = 'a'
3932  Need char = 'b'  Need char = 'b'
3933    
3934  /(a(?1)+b)/D  /(a(?1)+b)/DZ
3935  ------------------------------------------------------------------  ------------------------------------------------------------------
3936    0  24 Bra 0          Bra
3937    3  18 Bra 1          CBra 1
3938    8     a          a
3939   10   6 Once          Once
3940   13   3 Recurse          Recurse
3941   16   6 KetRmax          KetRmax
3942   19     b          b
3943   21  18 Ket          Ket
3944   24  24 Ket          Ket
3945   27     End          End
3946  ------------------------------------------------------------------  ------------------------------------------------------------------
3947  Capturing subpattern count = 1  Capturing subpattern count = 1
3948  No options  No options
3949  First char = 'a'  First char = 'a'
3950  Need char = 'b'  Need char = 'b'
3951    
 /^\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  
   
3952  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
3953  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3954  Options: anchored  Options: anchored
3955  No first char  No first char
3956  No need char  No need char
# Line 4087  No need char Line 3968  No need char
3968  No match  No match
3969      ((2+2)*-3)-7)      ((2+2)*-3)-7)
3970  No match  No match
3971    
3972  /^(x(y|(?1){2})z)/I  /^(x(y|(?1){2})z)/I
3973  Capturing subpattern count = 2  Capturing subpattern count = 2
3974  Options: anchored  Options: anchored
# Line 4097  No need char Line 3978  No need char
3978   0: xyz   0: xyz
3979   1: xyz   1: xyz
3980   2: y   2: y
3981      xxyzxyzz      xxyzxyzz
3982   0: xxyzxyzz   0: xxyzxyzz
3983   1: xxyzxyzz   1: xxyzxyzz
3984   2: xyzxyz   2: xyzxyz
# Line 4105  No need char Line 3986  No need char
3986  No match  No match
3987      xxyzz      xxyzz
3988  No match  No match
3989      xxyzxyzxyzz      xxyzxyzxyzz
3990  No match  No match
3991    
3992  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
3993  Capturing subpattern count = 2  Capturing subpattern count = 2
 Partial matching not supported  
3994  Options: extended  Options: extended
3995  First char = '<'  First char = '<'
3996  Need char = '>'  Need char = '>'
# Line 4130  Need char = '>' Line 4010  Need char = '>'
4010   0: <def>   0: <def>
4011   1: <def>   1: <def>
4012   2: <def>   2: <def>
4013      <abc<>def>      <abc<>def>
4014   0: <abc<>def>   0: <abc<>def>
4015   1: <abc<>def>   1: <abc<>def>
4016   2: <abc<>def>   2: <abc<>def>
4017      <abc<>      <abc<>
4018   0: <>   0: <>
4019   1: <>   1: <>
4020   2: <>   2: <>
# Line 4169  No need char Line 4049  No need char
4049      a=b      a=b
4050   0: a=b   0: a=b
4051   1: a   1: a
4052      a=bc      a=bc
4053   0: a=bc   0: a=bc
4054   1: a   1: a
4055    
# Line 4186  No need char Line 4066  No need char
4066   0: a=b   0: a=b
4067   1: a   1: a
4068   2: b   2: b
4069      a=bc      a=bc
4070   0: a=bc   0: a=bc
4071   1: a   1: a
4072   2: c   2: c
4073    
4074  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4075  ------------------------------------------------------------------  ------------------------------------------------------------------
4076    0  32 Bra 0          Bra
4077    3     a          a
4078    5   7 Bra 1          CBra 1
4079   10     b          b
4080   12   5 Alt          Alt
4081   15     c          c
4082   17  12 Ket          Ket
4083   20     d          d
4084   22   7 Bra 2          CBra 2
4085   27     e          e
4086   29   7 Ket          Ket
4087   32  32 Ket          Ket
4088   35     End          End
4089  ------------------------------------------------------------------  ------------------------------------------------------------------
4090  Capturing subpattern count = 2  Capturing subpattern count = 2
4091  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4218  Need char = 'e' Line 4098  Need char = 'e'
4098   0: abde   0: abde
4099   1: b   1: b
4100   2: e   2: e
4101      acde      acde
4102   0: acde   0: acde
4103   1: c   1: c
4104   2: e   2: e
4105    
4106  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4107  ------------------------------------------------------------------  ------------------------------------------------------------------
4108    0  41 Bra 0          Bra
4109    3  25 Bra 0          Bra
4110    6     a          a
4111    8  17 Bra 1          CBra 1
4112   13     c          c
4113   15   7 Bra 2          CBra 2
4114   20     d          d
4115   22   7 Ket          Ket
4116   25  17 Ket          Ket
4117   28  25 Ket          Ket
4118   31   7 Bra 3          CBra 3
4119   36     a          a
4120   38   7 Ket          Ket
4121   41  41 Ket          Ket
4122   44     End          End
4123  ------------------------------------------------------------------  ------------------------------------------------------------------
4124  Capturing subpattern count = 3  Capturing subpattern count = 3
4125  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4250  No options Line 4130  No options
4130  First char = 'a'  First char = 'a'
4131  Need char = 'a'  Need char = 'a'
4132    
4133  /(?P<a>a)...(?P=a)bbb(?P>a)d/D  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4134  ------------------------------------------------------------------  ------------------------------------------------------------------
4135    0  36 Bra 0          Bra
4136    3   7 Bra 1          CBra 1
4137    8     a          a
4138   10   7 Ket          Ket
4139   13     Any          Any
4140   14     Any          Any
4141   15     Any          Any
4142   16     \1          \1
4143   19     bbb          bbb
4144   25   6 Once          Once
4145   28   3 Recurse          Recurse
4146   31   6 Ket          Ket
4147   34     d          d
4148   36  36 Ket          Ket
4149   39     End          End
4150  ------------------------------------------------------------------  ------------------------------------------------------------------
4151  Capturing subpattern count = 1  Capturing subpattern count = 1
4152  Max back reference = 1  Max back reference = 1
# Line 4284  Named capturing subpatterns: Line 4164  Named capturing subpatterns:
4164    one     1    one     1
4165    three   3    three   3
4166    two     2    two     2
 Partial matching not supported  
4167  Options: anchored caseless  Options: anchored caseless
4168  No first char  No first char
4169  No need char  No need char
# Line 4304  No need char Line 4183  No need char
4183   2: <unset>   2: <unset>
4184   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4185   4: A   4: A
4186      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4187   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4188   1: <unset>   1: <unset>
4189   2: <unset>   2: <unset>
# Line 4312  No need char Line 4191  No need char
4191   4: A   4: A
4192      *** Failers      *** Failers
4193  No match  No match
4194      The quick brown fox      The quick brown fox
4195  No match  No match
4196    
4197  /((?(R)a|b))\1(?1)?/I  /((?(R)a|b))\1(?1)?/I
4198  Capturing subpattern count = 1  Capturing subpattern count = 1
4199  Max back reference = 1  Max back reference = 1
# Line 4324  No need char Line 4203  No need char
4203    bb    bb
4204   0: bb   0: bb
4205   1: b   1: b
4206    bbaa    bbaa
4207   0: bba   0: bba
4208   1: b   1: b
4209    
4210  /(.*)a/Is  /(.*)a/Is
4211  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4212  Options: anchored dotall  Options: anchored dotall
4213  No first char  No first char
4214  Need char = 'a'  Need char = 'a'
# Line 4338  Need char = 'a' Line 4216  Need char = 'a'
4216  /(.*)a\1/Is  /(.*)a\1/Is
4217  Capturing subpattern count = 1  Capturing subpattern count = 1
4218  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4219  Options: dotall  Options: dotall
4220  No first char  No first char
4221  Need char = 'a'  Need char = 'a'
# Line 4346  Need char = 'a' Line 4223  Need char = 'a'
4223  /(.*)a(b)\2/Is  /(.*)a(b)\2/Is
4224  Capturing subpattern count = 2  Capturing subpattern count = 2
4225  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4226  Options: anchored dotall  Options: anchored dotall
4227  No first char  No first char
4228  Need char = 'b'  Need char = 'b'
4229    
4230  /((.*)a|(.*)b)z/Is  /((.*)a|(.*)b)z/Is
4231  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4232  Options: anchored dotall  Options: anchored dotall
4233  No first char  No first char
4234  Need char = 'z'  Need char = 'z'
# Line 4361  Need char = 'z' Line 4236  Need char = 'z'
4236  /((.*)a|(.*)b)z\1/Is  /((.*)a|(.*)b)z\1/Is
4237  Capturing subpattern count = 3  Capturing subpattern count = 3
4238  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
4239  Options: dotall  Options: dotall
4240  No first char  No first char
4241  Need char = 'z'  Need char = 'z'
# Line 4369  Need char = 'z' Line 4243  Need char = 'z'
4243  /((.*)a|(.*)b)z\2/Is  /((.*)a|(.*)b)z\2/Is
4244  Capturing subpattern count = 3  Capturing subpattern count = 3
4245  Max back reference = 2  Max back reference = 2
 Partial matching not supported  
4246  Options: dotall  Options: dotall
4247  No first char  No first char
4248  Need char = 'z'  Need char = 'z'
# Line 4377  Need char = 'z' Line 4250  Need char = 'z'
4250  /((.*)a|(.*)b)z\3/Is  /((.*)a|(.*)b)z\3/Is
4251  Capturing subpattern count = 3  Capturing subpattern count = 3
4252  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4253  Options: dotall  Options: dotall
4254  No first char  No first char
4255  Need char = 'z'  Need char = 'z'
# Line 4385  Need char = 'z' Line 4257  Need char = 'z'
4257  /((.*)a|^(.*)b)z\3/Is  /((.*)a|^(.*)b)z\3/Is
4258  Capturing subpattern count = 3  Capturing subpattern count = 3
4259  Max back reference = 3  Max back reference = 3
 Partial matching not supported  
4260  Options: anchored dotall  Options: anchored dotall
4261  No first char  No first char
4262  Need char = 'z'  Need char = 'z'
4263    
4264  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4265  Capturing subpattern count = 31  Capturing subpattern count = 31
 Partial matching not supported  
4266  Options: anchored dotall  Options: anchored dotall
4267  No first char  No first char
4268  No need char  No need char
# Line 4400  No need char Line 4270  No need char
4270  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4271  Capturing subpattern count = 31  Capturing subpattern count = 31
4272  Max back reference = 31  Max back reference = 31
 Partial matching not supported  
4273  Options: dotall  Options: dotall
4274  No first char  No first char
4275  No need char  No need char
# Line 4408  No need char Line 4277  No need char
4277  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4278  Capturing subpattern count = 32  Capturing subpattern count = 32
4279  Max back reference = 32  Max back reference = 32
 Partial matching not supported  
4280  Options: dotall  Options: dotall
4281  No first char  No first char
4282  No need char  No need char
4283    
4284  /(a)(bc)/IND  /(a)(bc)/INDZ
4285  ------------------------------------------------------------------  ------------------------------------------------------------------
4286    0  21 Bra 0          Bra
4287    3   5 Bra 0          Bra
4288    6     a          a
4289    8   5 Ket          Ket
4290   11   7 Bra 0          Bra
4291   14     bc          bc
4292   18   7 Ket          Ket
4293   21  21 Ket          Ket
4294   24     End          End
4295  ------------------------------------------------------------------  ------------------------------------------------------------------
4296  Capturing subpattern count = 0  Capturing subpattern count = 0
4297  Options: no_auto_capture  Options: no_auto_capture
# Line 4432  Need char = 'c' Line 4300  Need char = 'c'
4300    abc    abc
4301   0: abc   0: abc
4302    
4303  /(?P<one>a)(bc)/IND  /(?P<one>a)(bc)/INDZ
4304  ------------------------------------------------------------------  ------------------------------------------------------------------
4305    0  23 Bra 0          Bra
4306    3   7 Bra 1          CBra 1
4307    8     a          a
4308   10   7 Ket          Ket
4309   13   7 Bra 0          Bra
4310   16     bc          bc
4311   20   7 Ket          Ket
4312   23  23 Ket          Ket
4313   26     End          End
4314  ------------------------------------------------------------------  ------------------------------------------------------------------
4315  Capturing subpattern count = 1  Capturing subpattern count = 1
4316  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4454  Need char = 'c' Line 4322  Need char = 'c'
4322   0: abc   0: abc
4323   1: a   1: a
4324    
4325  /(a)(?P<named>bc)/IND  /(a)(?P<named>bc)/INDZ
4326  ------------------------------------------------------------------  ------------------------------------------------------------------
4327    0  23 Bra 0          Bra
4328    3   5 Bra 0          Bra
4329    6     a          a
4330    8   5 Ket          Ket
4331   11   9 Bra 1          CBra 1
4332   16     bc          bc
4333   20   9 Ket          Ket
4334   23  23 Ket          Ket
4335   26     End          End
4336  ------------------------------------------------------------------  ------------------------------------------------------------------
4337  Capturing subpattern count = 1  Capturing subpattern count = 1
4338  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4475  Need char = 'c' Line 4343  Need char = 'c'
4343    
4344  /(a+)*zz/I  /(a+)*zz/I
4345  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
4346  No options  No options
4347  No first char  No first char
4348  Need char = 'z'  Need char = 'z'
# Line 4540  Need char = 'h' Line 4407  Need char = 'h'
4407   2: gh   2: gh
4408    C cd (2) one    C cd (2) one
4409    C gh (2) two    C gh (2) two
4410      abcdefgh\Cthree      abcdefgh\Cthree
4411  no parentheses with name "three"  no parentheses with name "three"
4412   0: abcdefgh   0: abcdefgh
4413   1: cd   1: cd
4414   2: gh   2: gh
4415  copy substring three failed -7  copy substring three failed -7
4416    
4417  /(?P<Tes>)(?P<Test>)/D  /(?P<Tes>)(?P<Test>)/DZ
4418  ------------------------------------------------------------------  ------------------------------------------------------------------
4419    0  19 Bra 0          Bra
4420    3   5 Bra 1          CBra 1
4421    8   5 Ket          Ket
4422   11   5 Bra 2          CBra 2
4423   16   5 Ket          Ket
4424   19  19 Ket          Ket
4425   22     End          End
4426  ------------------------------------------------------------------  ------------------------------------------------------------------
4427  Capturing subpattern count = 2  Capturing subpattern count = 2
4428  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4565  No options Line 4432  No options
4432  No first char  No first char
4433  No need char  No need char
4434    
4435  /(?P<Test>)(?P<Tes>)/D  /(?P<Test>)(?P<Tes>)/DZ
4436  ------------------------------------------------------------------  ------------------------------------------------------------------
4437    0  19 Bra 0          Bra
4438    3   5 Bra 1          CBra 1
4439    8   5 Ket          Ket
4440   11   5 Bra 2          CBra 2
4441   16   5 Ket          Ket
4442   19  19 Ket          Ket
4443   22     End          End
4444  ------------------------------------------------------------------  ------------------------------------------------------------------
4445  Capturing subpattern count = 2  Capturing subpattern count = 2
4446  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4612  Failed: two named subpatterns have the s Line 4479  Failed: two named subpatterns have the s
4479  Capturing subpattern count = 3  Capturing subpattern count = 3
4480  Named capturing subpatterns:  Named capturing subpatterns:
4481    elem   2    elem   2
 Partial matching not supported  
4482  No options  No options
4483  First char = '['  First char = '['
4484  Need char = ']'  Need char = ']'
# Line 4623  Need char = ']' Line 4489  Need char = ']'
4489   3: ,4234   3: ,4234
4490      *** Failers      *** Failers
4491  No match  No match
4492      []      []
4493  No match  No match
4494    
4495  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
4496  Capturing subpattern count = 3  Capturing subpattern count = 3
4497  Named capturing subpatterns:  Named capturing subpatterns:
4498    elem   2    elem   2
 Partial matching not supported  
4499  No options  No options
4500  First char = '['  First char = '['
4501  Need char = ']'  Need char = ']'
# Line 4639  Need char = ']' Line 4504  Need char = ']'
4504   1: 10,20,30,5,5,4,4,2,43,23,4234   1: 10,20,30,5,5,4,4,2,43,23,4234
4505   2: 10   2: 10
4506   3: ,4234   3: ,4234
4507      []      []
4508   0: []   0: []
4509    
4510  /(a(b(?2)c))?/D  /(a(b(?2)c))?/DZ
4511  ------------------------------------------------------------------  ------------------------------------------------------------------
4512    0  35 Bra 0          Bra
4513    3     Brazero          Brazero
4514    4  28 Bra 1          CBra 1
4515    9     a          a
4516   11  18 Bra 2          CBra 2
4517   16     b          b
4518   18   6 Once          Once
4519   21  11 Recurse          Recurse
4520   24   6 Ket          Ket
4521   27     c          c
4522   29  18 Ket          Ket
4523   32  28 Ket          Ket
4524   35  35 Ket          Ket
4525   38     End          End
4526  ------------------------------------------------------------------  ------------------------------------------------------------------
4527  Capturing subpattern count = 2  Capturing subpattern count = 2
4528  No options  No options
4529  No first char  No first char
4530  No need char  No need char
4531    
4532  /(a(b(?2)c))*/D  /(a(b(?2)c))*/DZ
4533  ------------------------------------------------------------------  ------------------------------------------------------------------
4534    0  35 Bra 0          Bra
4535    3     Brazero          Brazero
4536    4  28 Bra 1          CBra 1
4537    9     a          a
4538   11  18 Bra 2          CBra 2
4539   16     b          b
4540   18   6 Once          Once
4541   21  11 Recurse          Recurse
4542   24   6 Ket          Ket
4543   27     c          c
4544   29  18 Ket          Ket
4545   32  28 KetRmax          KetRmax
4546   35  35 Ket          Ket
4547   38     End          End
4548  ------------------------------------------------------------------  ------------------------------------------------------------------
4549  Capturing subpattern count = 2  Capturing subpattern count = 2
4550  No options  No options
4551  No first char  No first char
4552  No need char  No need char
4553    
4554  /(a(b(?2)c)){0,2}/D  /(a(b(?2)c)){0,2}/DZ
4555  ------------------------------------------------------------------  ------------------------------------------------------------------
4556    0  73 Bra 0          Bra
4557    3     Brazero          Brazero
4558    4  66 Bra 0          Bra
4559    7  28 Bra 1          CBra 1
4560   12     a          a
4561   14  18 Bra 2          CBra 2
4562   19     b          b
4563   21   6 Once          Once
4564   24  14 Recurse          Recurse
4565   27   6 Ket          Ket
4566   30     c          c
4567   32  18 Ket          Ket
4568   35  28 Ket          Ket
4569   38     Brazero          Brazero
4570   39  28 Bra 1          CBra 1
4571   44     a          a
4572   46  18 Bra 2          CBra 2
4573   51     b          b
4574   53   6 Once          Once
4575   56  14 Recurse          Recurse
4576   59   6 Ket          Ket
4577   62     c          c
4578   64  18 Ket          Ket
4579   67  28 Ket          Ket
4580   70  66 Ket          Ket
4581   73  73 Ket          Ket
4582   76     End          End
4583  ------------------------------------------------------------------  ------------------------------------------------------------------
4584  Capturing subpattern count = 2  Capturing subpattern count = 2
4585  No options  No options
4586  No first char  No first char
4587  No need char  No need char
4588    
4589  /[ab]{1}+/D  /[ab]{1}+/DZ
4590  ------------------------------------------------------------------  ------------------------------------------------------------------
4591    0  47 Bra 0          Bra
4592    3  41 Once          Once
4593    6     [ab]{1,1}          [ab]{1,1}
4594   44  41 Ket          Ket
4595   47  47 Ket          Ket
4596   50     End          End
4597  ------------------------------------------------------------------  ------------------------------------------------------------------
4598  Capturing subpattern count = 0  Capturing subpattern count = 0
4599  No options  No options
# Line 4737  No need char Line 4602  No need char
4602    
4603  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
4604  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4605  Options: caseless  Options: caseless
4606  No first char  No first char
4607  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4747  Need char = 'g' (caseless) Line 4611  Need char = 'g' (caseless)
4611    
4612  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS  /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
4613  Capturing subpattern count = 3  Capturing subpattern count = 3
 Partial matching not supported  
4614  Options: caseless  Options: caseless
4615  No first char  No first char
4616  Need char = 'g' (caseless)  Need char = 'g' (caseless)
# Line 4755  Study returned NULL Line 4618  Study returned NULL
4618       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4619   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4620   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4621    
4622  /a*.*b/ISD  /a*.*b/ISDZ
4623  ------------------------------------------------------------------  ------------------------------------------------------------------
4624    0   9 Bra 0          Bra
4625    3     a*          a*
4626    5     Any*          Any*
4627    7     b          b
4628    9   9 Ket          Ket
4629   12     End          End
4630  ------------------------------------------------------------------  ------------------------------------------------------------------
4631  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4632  No options  No options
4633  No first char  No first char
4634  Need char = 'b'  Need char = 'b'
4635  Study returned NULL  Study returned NULL
4636    
4637  /(a|b)*.?c/ISD  /(a|b)*.?c/ISDZ
4638  ------------------------------------------------------------------  ------------------------------------------------------------------
4639    0  23 Bra 0          Bra
4640    3     Brazero          Brazero
4641    4   7 Bra 1          CBra 1
4642    9     a          a
4643   11   5 Alt          Alt
4644   14     b          b
4645   16  12 KetRmax          KetRmax
4646   19     Any?          Any?
4647   21     c          c
4648   23  23 Ket          Ket
4649   26     End          End
4650  ------------------------------------------------------------------  ------------------------------------------------------------------
4651  Capturing subpattern count = 1  Capturing subpattern count = 1
4652  No options  No options
# Line 4792  No first char Line 4654  No first char
4654  Need char = 'c'  Need char = 'c'
4655  Study returned NULL  Study returned NULL
4656    
4657  /abc(?C255)de(?C)f/D  /abc(?C255)de(?C)f/DZ
4658  ------------------------------------------------------------------  ------------------------------------------------------------------
4659    0  27 Bra 0          Bra
4660    3     abc          abc
4661    9     Callout 255 10 1          Callout 255 10 1
4662   15     de          de
4663   19     Callout 0 16 1          Callout 0 16 1
4664   25     f          f
4665   27  27 Ket          Ket
4666   30     End          End
4667  ------------------------------------------------------------------  ------------------------------------------------------------------
4668  Capturing subpattern count = 0  Capturing subpattern count = 0
4669  No options  No options
4670  First char = 'a'  First char = 'a'
4671  Need char = 'f'  Need char = 'f'
4672    
4673  /abcde/ICD  /abcde/ICDZ
4674  ------------------------------------------------------------------  ------------------------------------------------------------------
4675    0  49 Bra 0          Bra
4676    3     Callout 255 0 1          Callout 255 0 1
4677    9     a          a
4678   11     Callout 255 1 1          Callout 255 1 1
4679   17     b          b
4680   19     Callout 255 2 1          Callout 255 2 1
4681   25     c          c
4682   27     Callout 255 3 1          Callout 255 3 1
4683   33     d          d
4684   35     Callout 255 4 1          Callout 255 4 1
4685   41     e          e
4686   43     Callout 255 5 0          Callout 255 5 0
4687   49  49 Ket          Ket
4688   52     End          End
4689  ------------------------------------------------------------------  ------------------------------------------------------------------
4690  Capturing subpattern count = 0  Capturing subpattern count = 0
4691  Options:  Options:
# Line 4838  Need char = 'e' Line 4700  Need char = 'e'
4700   +4 ^   ^     e   +4 ^   ^     e
4701   +5 ^    ^   +5 ^    ^
4702   0: abcde   0: abcde
4703    abcdfe    abcdfe
4704  --->abcdfe  --->abcdfe
4705   +0 ^          a   +0 ^          a
4706   +1 ^^         b   +1 ^^         b
# Line 4846  Need char = 'e' Line 4708  Need char = 'e'
4708   +3 ^  ^       d   +3 ^  ^       d
4709   +4 ^   ^      e   +4 ^   ^      e
4710  No match  No match
4711    
4712  /a*b/ICD  /a*b/ICDZ
4713  ------------------------------------------------------------------  ------------------------------------------------------------------
4714    0  25 Bra 0          Bra
4715    3     Callout 255 0 2          Callout 255 0 2
4716    9     a*+          a*+
4717   11     Callout 255 2 1          Callout 255 2 1
4718   17     b          b
4719   19     Callout 255 3 0          Callout 255 3 0
4720   25  25 Ket          Ket
4721   28     End          End
4722  ------------------------------------------------------------------  ------------------------------------------------------------------
4723  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4724  Options:  Options:
4725  No first char  No first char
4726  Need char = 'b'  Need char = 'b'
# Line 4875  Need char = 'b' Line 4736  Need char = 'b'
4736   +2 ^   ^     b   +2 ^   ^     b
4737   +3 ^    ^   +3 ^    ^
4738   0: aaaab   0: aaaab
4739    aaaacb    aaaacb
4740  --->aaaacb  --->aaaacb
4741   +0 ^          a*   +0 ^          a*
4742   +2 ^   ^      b   +2 ^   ^      b
# Line 4892  Need char = 'b' Line 4753  Need char = 'b'
4753   +3      ^^   +3      ^^
4754   0: b   0: b
4755    
4756  /a+b/ICD  /a+b/ICDZ
4757  ------------------------------------------------------------------  ------------------------------------------------------------------
4758    0  25 Bra 0          Bra
4759    3     Callout 255 0 2          Callout 255 0 2
4760    9     a++          a++
4761   11     Callout 255 2 1          Callout 255 2 1
4762   17     b          b
4763   19     Callout 255 3 0          Callout 255 3 0
4764   25  25 Ket          Ket
4765   28     End          End
4766  ------------------------------------------------------------------  ------------------------------------------------------------------
4767  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
4768  Options:  Options:
4769  First char = 'a'  First char = 'a'
4770  Need char = 'b'  Need char = 'b'
# Line 4920  Need char = 'b' Line 4780  Need char = 'b'
4780   +2 ^   ^     b   +2 ^   ^     b
4781   +3 ^    ^   +3 ^    ^
4782   0: aaaab   0: aaaab
4783    aaaacb    aaaacb
4784  --->aaaacb  --->aaaacb
4785   +0 ^          a+   +0 ^          a+
4786   +2 ^   ^      b   +2 ^   ^      b
# Line 4932  Need char = 'b' Line 4792  Need char = 'b'
4792   +2    ^^      b   +2    ^^      b
4793  No match  No match
4794    
4795  /(abc|def)x/ICD  /(abc|def)x/ICDZ
4796  ------------------------------------------------------------------  ------------------------------------------------------------------
4797    0  94 Bra 0          Bra
4798    3     Callout 255 0 9          Callout 255 0 9
4799    9  35 Bra 1          CBra 1
4800   14     Callout 255 1 1          Callout 255 1 1
4801   20     a          a
4802   22     Callout 255 2 1          Callout 255 2 1
4803   28     b          b
4804   30     Callout 255 3 1          Callout 255 3 1
4805   36     c          c
4806   38     Callout 255 4 0          Callout 255 4 0
4807   44  33 Alt          Alt
4808   47     Callout 255 5 1          Callout 255 5 1
4809   53     d          d
4810   55     Callout 255 6 1          Callout 255 6 1
4811   61     e          e
4812   63     Callout 255 7 1          Callout 255 7 1
4813   69     f          f
4814   71     Callout 255 8 0          Callout 255 8 0
4815   77  68 Ket          Ket
4816   80     Callout 255 9 1          Callout 255 9 1
4817   86     x          x
4818   88     Callout 255 10 0          Callout 255 10 0
4819   94  94 Ket          Ket
4820   97     End          End
4821  ------------------------------------------------------------------  ------------------------------------------------------------------
4822  Capturing subpattern count = 1  Capturing subpattern count = 1
4823  Options:  Options:
# Line 5064  No need char Line 4924  No need char
4924  +12 ^       ^  +12 ^       ^
4925   0: abcdabcd   0: abcdabcd
4926   1: cd   1: cd
4927    abcdcdcdcdcd    abcdcdcdcdcd
4928  --->abcdcdcdcdcd  --->abcdcdcdcdcd
4929   +0 ^                (ab|cd){3,4}   +0 ^                (ab|cd){3,4}
4930   +1 ^                a   +1 ^                a
# Line 5086  No need char Line 4946  No need char
4946   0: abcdcdcd   0: abcdcdcd
4947   1: cd   1: cd
4948    
4949  /([ab]{,4}c|xy)/ICD  /([ab]{,4}c|xy)/ICDZ
4950  ------------------------------------------------------------------  ------------------------------------------------------------------
4951    0 133 Bra 0          Bra
4952    3     Callout 255 0 14          Callout 255 0 14
4953    9  90 Bra 1          CBra 1
4954   14     Callout 255 1 4          Callout 255 1 4
4955   20     [ab]          [ab]
4956   53     Callout 255 5 1          Callout 255 5 1
4957   59     {          {
4958   61     Callout 255 6 1          Callout 255 6 1
4959   67     ,          ,
4960   69     Callout 255 7 1          Callout 255 7 1
4961   75     4          4
4962   77     Callout 255 8 1          Callout 255 8 1
4963   83     }          }
4964   85     Callout 255 9 1          Callout 255 9 1
4965   91     c          c
4966   93     Callout 255 10 0          Callout 255 10 0
4967   99  25 Alt          Alt
4968  102     Callout 255 11 1          Callout 255 11 1
4969  108     x          x
4970  110     Callout 255 12 1          Callout 255 12 1
4971  116     y          y
4972  118     Callout 255 13 0          Callout 255 13 0
4973  124 115 Ket          Ket
4974  127     Callout 255 14 0          Callout 255 14 0
4975  133 133 Ket          Ket
4976  136     End          End
4977  ------------------------------------------------------------------  ------------------------------------------------------------------
4978  Capturing subpattern count = 1  Capturing subpattern count = 1
4979  Options:  Options:
# Line 5261  No need char Line 5121  No need char
5121  +11                                             ^    x  +11                                             ^    x
5122  No match  No match
5123    
5124  /([ab]{1,4}c|xy){4,5}?123/ICD  /([ab]{1,4}c|xy){4,5}?123/ICDZ
5125  ------------------------------------------------------------------  ------------------------------------------------------------------
5126    0 495 Bra 0          Bra
5127    3     Callout 255 0 21          Callout 255 0 21
5128    9  63 Bra 1          CBra 1
5129   14     Callout 255 1 9          Callout 255 1 9
5130   20     [ab]{1,4}          [ab]{1,4}
5131   58     Callout 255 10 1          Callout 255 10 1
5132   64     c          c
5133   66     Callout 255 11 0          Callout 255 11 0
5134   72  25 Alt          Alt
5135   75     Callout 255 12 1          Callout 255 12 1
5136   81     x          x
5137   83     Callout 255 13 1          Callout 255 13 1
5138   89     y          y
5139   91     Callout 255 14 0          Callout 255 14 0
5140   97  88 Ket          Ket
5141  100  63 Bra 1          CBra 1
5142  105     Callout 255 1 9          Callout 255 1 9
5143  111     [ab]{1,4}          [ab]{1,4}
5144  149     Callout 255 10 1          Callout 255 10 1
5145  155     c          c
5146  157     Callout 255 11 0          Callout 255 11 0
5147  163  25 Alt          Alt
5148  166     Callout 255 12 1          Callout 255 12 1
5149  172     x          x
5150  174     Callout 255 13 1          Callout 255 13 1
5151  180     y          y
5152  182     Callout 255 14 0          Callout 255 14 0
5153  188  88 Ket          Ket
5154  191  63 Bra 1          CBra 1
5155  196     Callout 255 1 9          Callout 255 1 9
5156  202     [ab]{1,4}          [ab]{1,4}
5157  240     Callout 255 10 1          Callout 255 10 1
5158  246     c          c
5159  248     Callout 255 11 0          Callout 255 11 0
5160  254  25 Alt          Alt
5161  257     Callout 255 12 1          Callout 255 12 1
5162  263     x          x
5163  265     Callout 255 13 1          Callout 255 13 1
5164  271     y          y
5165  273     Callout 255 14 0          Callout 255 14 0
5166  279  88 Ket          Ket
5167  282  63 Bra 1          CBra 1
5168  287     Callout 255 1 9          Callout 255 1 9
5169  293     [ab]{1,4}          [ab]{1,4}
5170  331     Callout 255 10 1          Callout 255 10 1
5171  337     c          c
5172  339     Callout 255 11 0          Callout 255 11 0
5173  345  25 Alt          Alt
5174  348     Callout 255 12 1          Callout 255 12 1
5175  354     x          x
5176  356     Callout 255 13 1          Callout 255 13 1
5177  362     y          y
5178  364     Callout 255 14 0          Callout 255 14 0
5179  370  88 Ket          Ket
5180  373     Braminzero          Braminzero
5181  374  63 Bra 1          CBra 1
5182  379     Callout 255 1 9          Callout 255 1 9
5183  385     [ab]{1,4}          [ab]{1,4}
5184  423     Callout 255 10 1          Callout 255 10 1
5185  429     c          c
5186  431     Callout 255 11 0          Callout 255 11 0
5187  437  25 Alt          Alt
5188  440     Callout 255 12 1          Callout 255 12 1
5189  446     x          x
5190  448     Callout 255 13 1          Callout 255 13 1
5191  454     y          y
5192  456     Callout 255 14 0          Callout 255 14 0
5193  462  88 Ket          Ket
5194  465     Callout 255 21 1          Callout 255 21 1
5195  471     1          1
5196  473     Callout 255 22 1          Callout 255 22 1
5197  479     2          2
5198  481     Callout 255 23 1          Callout 255 23 1
5199  487     3          3
5200  489     Callout 255 24 0          Callout 255 24 0
5201  495 495 Ket          Ket
5202  498     End          End
5203  ------------------------------------------------------------------  ------------------------------------------------------------------
5204  Capturing subpattern count = 1  Capturing subpattern count = 1
 Partial matching not supported  
5205  Options:  Options:
5206  No first char  No first char
5207  Need char = '3'  Need char = '3'
# Line 5374  Need char = '3' Line 5233  Need char = '3'
5233    
5234  /\b.*/I  /\b.*/I
5235  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5236  No options  No options
5237  No first char  No first char
5238  No need char  No need char
5239    ab cd\>1    ab cd\>1
5240   0:  cd   0:  cd
5241    
5242  /\b.*/Is  /\b.*/Is
5243  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5244  Options: dotall  Options: dotall
5245  No first char  No first char
5246  No need char  No need char
5247    ab cd\>1    ab cd\>1
5248   0:  cd   0:  cd
5249    
5250  /(?!.bcd).*/I  /(?!.bcd).*/I
5251  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5252  No options  No options
5253  No first char  No first char
5254  No need char  No need char
5255    Xbcd12345    Xbcd12345
5256   0: bcd12345   0: bcd12345
5257    
5258  /abcde/I  /abcde/I
# Line 5405  No options Line 5261  No options
5261  First char = 'a'  First char = 'a'
5262  Need char = 'e'  Need char = 'e'
5263      ab\P      ab\P
5264  Partial match  Partial match: ab
5265      abc\P      abc\P
5266  Partial match  Partial match: abc
5267      abcd\P      abcd\P
5268  Partial match  Partial match: abcd
5269      abcde\P      abcde\P
5270   0: abcde   0: abcde
5271      the quick brown abc\P      the quick brown abc\P
5272  Partial match  Partial match: abc
5273      ** Failers\P      ** Failers\P
5274  No match  No match
5275      the quick brown abxyz fox\P      the quick brown abxyz fox\P
5276  No match  No match
5277    
5278  "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I  "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
5279  Capturing subpattern count = 3  Capturing subpattern count = 3
5280  Options: anchored  Options: anchored
# Line 5433  Need char = '/' Line 5289  Need char = '/'
5289   1: 13   1: 13
5290   2: 5   2: 5
5291   3: 20   3: 20
5292      02/05/09\P      02/05/09\P
5293   0: 02/05/09   0: 02/05/09
5294   1: 02   1: 02
5295   2: 05   2: 05
5296      1\P      1\P
5297  Partial match  Partial match: 1
5298      1/2\P      1/2\P
5299  Partial match  Partial match: 1/2
5300      1/2/0\P      1/2/0\P
5301  Partial match  Partial match: 1/2/0
5302      1/2/04\P      1/2/04\P
5303   0: 1/2/04   0: 1/2/04
5304   1: 1   1: 1
5305   2: 2   2: 2
5306      0\P      0\P
5307  Partial match  Partial match: 0
5308      02/\P      02/\P
5309  Partial match  Partial match: 02/
5310      02/0\P      02/0\P
5311  Partial match  Partial match: 02/0
5312      02/1\P      02/1\P
5313  Partial match  Partial match: 02/1
5314      ** Failers\P      ** Failers\P
5315  No match  No match
5316      \P      \P
# Line 5467  No match Line 5323  No match
5323  No match  No match
5324      0/1/2003\P      0/1/2003\P
5325  No match  No match
5326      0/\P      0/\P
5327  No match  No match
5328      02/0/\P      02/0/\P
5329  No match  No match
5330      02/13\P      02/13\P
5331  No match  No match
5332    
5333  /0{0,2}ABC/I  /0{0,2}ABC/I
5334  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5335  No options  No options
5336  No first char  No first char
5337  Need char = 'C'  Need char = 'C'
5338    
5339  /\d{3,}ABC/I  /\d{3,}ABC/I
5340  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5341  No options  No options
5342  No first char  No first char
5343  Need char = 'C'  Need char = 'C'
5344    
5345  /\d*ABC/I  /\d*ABC/I
5346  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5347  No options  No options
5348  No first char  No first char
5349  Need char = 'C'  Need char = 'C'
5350    
5351  /[abc]+DE/I  /[abc]+DE/I
5352  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5353  No options  No options
5354  No first char  No first char
5355  Need char = 'E'  Need char = 'E'
# Line 5510  Need char = '3' Line 5362  Need char = '3'
5362      123\P      123\P
5363   0: 123   0: 123
5364      a\P      a\P
5365  Partial match  Partial match: a
5366      b\P      b\P
5367  Partial match  Partial match: b
5368      c\P      c\P
5369  Partial match  Partial match: c
5370      c12\P      c12\P
5371  Partial match  Partial match: c12
5372      c123\P      c123\P
5373   0: c123   0: c123
5374    
5375  /^(?:\d){3,5}X/I  /^(?:\d){3,5}X/I
# Line 5526  Options: anchored Line 5378  Options: anchored
5378  No first char  No first char
5379  Need char = 'X'  Need char = 'X'
5380      1\P      1\P
5381  Partial match  Partial match: 1
5382      123\P      123\P
5383  Partial match  Partial match: 123
5384      123X      123X
5385   0: 123X   0: 123X
5386      1234\P      1234\P
5387  Partial match  Partial match: 1234
5388      1234X      1234X
5389   0: 1234X   0: 1234X
5390      12345\P      12345\P
5391  Partial match  Partial match: 12345
5392      12345X      12345X
5393   0: 12345X   0: 12345X
5394      *** Failers      *** Failers
5395  No match  No match
5396      1X      1X
5397  No match  No match
5398      123456\P      123456\P
5399  No match  No match
5400    
5401  /abc/I>testsavedregex  /abc/I>testsavedregex
# Line 5561  No study data Line 5413  No study data
5413  No match  No match
5414      bca      bca
5415  No match  No match
5416    
5417  /abc/IF>testsavedregex  /abc/IF>testsavedregex
5418  Capturing subpattern count = 0  Capturing subpattern count = 0
5419  No options  No options
# Line 5595  Study data loaded from testsavedregex Line 5447  Study data loaded from testsavedregex
5447      ** Failers      ** Failers
5448   0: a   0: a
5449   1: a   1: a
5450      def      def
5451  No match  No match
5452    
5453  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5454  Capturing subpattern count = 1  Capturing subpattern count = 1
5455  No options  No options
# Line 5615  Study data loaded from testsavedregex Line 5467  Study data loaded from testsavedregex
5467      ** Failers      ** Failers
5468   0: a   0: a
5469   1: a   1: a
5470      def      def
5471  No match  No match
5472    
5473  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5474  Capturing subpattern count = 3  Capturing subpattern count = 3
5475  Max back reference = 1  Max back reference = 1
 Partial matching not supported  
5476  Options: multiline dotall  Options: multiline dotall
5477  First char = '<'  First char = '<'
5478  Need char = '>'  Need char = '>'
# Line 5639  No need char Line 5490  No need char
5490    
5491  /line\nbreak/I  /line\nbreak/I
5492  Capturing subpattern count = 0  Capturing subpattern count = 0
5493    Contains explicit CR or LF match
5494  No options  No options
5495  First char = 'l'  First char = 'l'
5496  Need char = 'k'  Need char = 'k'
5497      this is a line\nbreak      this is a line\nbreak
5498   0: line\x0abreak   0: line\x0abreak
5499      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5500   0: line\x0abreak   0: line\x0abreak
5501    
5502  /line\nbreak/If  /line\nbreak/If
5503  Capturing subpattern count = 0  Capturing subpattern count = 0
5504    Contains explicit CR or LF match
5505  Options: firstline  Options: firstline
5506  First char = 'l'  First char = 'l'
5507  Need char = 'k'  Need char = 'k'
5508      this is a line\nbreak      this is a line\nbreak
5509   0: line\x0abreak   0: line\x0abreak
5510      ** Failers      ** Failers
5511  No match  No match
5512      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5513  No match  No match
5514    
5515  /line\nbreak/Imf  /line\nbreak/Imf
5516  Capturing subpattern count = 0  Capturing subpattern count = 0
5517    Contains explicit CR or LF match
5518  Options: multiline firstline  Options: multiline firstline
5519  First char = 'l'  First char = 'l'
5520  Need char = 'k'  Need char = 'k'
5521      this is a line\nbreak      this is a line\nbreak
5522   0: line\x0abreak   0: line\x0abreak
5523      ** Failers      ** Failers
5524  No match  No match
5525      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5526  No match  No match
5527    
5528  /ab.cd/IP  /ab.cd/P
5529      ab-cd      ab-cd
5530   0: ab-cd   0: ab-cd
5531      ab=cd      ab=cd
5532   0: ab=cd   0: ab=cd
5533      ** Failers      ** Failers
5534  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
5535      ab\ncd      ab\ncd
5536  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
5537    
5538  /ab.cd/IPs  /ab.cd/Ps
5539      ab-cd      ab-cd
5540   0: ab-cd   0: ab-cd
5541      ab=cd      ab=cd
5542   0: ab=cd   0: ab=cd
5543      ab\ncd      ab\ncd
5544   0: ab\x0acd   0: ab\x0acd
# Line 5698  Need char = 'd' Line 5552  Need char = 'd'
5552   0: AbCd   0: AbCd
5553      ** Failers      ** Failers
5554  No match  No match
5555      abcd      abcd
5556  No match  No match
5557    
5558  /a{11111111111111111111}/I  /a{11111111111111111111}/I
5559  Failed: number too big in {} quantifier at offset 22  Failed: number too big in {} quantifier at offset 22
5560    
# Line 5925  Matched, but too many substrings Line 5779  Matched, but too many substrings
5779    
5780  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
5781  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5782  No options  No options
5783  No first char  No first char
5784  No need char  No need char
5785      (this(and)that      (this(and)that
5786   0:   0:
5787      (this(and)that)      (this(and)that)
5788   0: (this(and)that)   0: (this(and)that)
5789      (this(and)that)stuff      (this(and)that)stuff
5790   0: (this(and)that)stuff   0: (this(and)that)stuff
5791    
5792  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
5793  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5794  No options  No options
5795  No first char  No first char
5796  No need char  No need char
5797      (this(and)that      (this(and)that
5798   0:   0:
5799      (this(and)that)      (this(and)that)
5800   0: (this(and)that)   0: (this(and)that)
5801    
5802  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
5803  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5804  No options  No options
5805  No first char  No first char
5806  No need char  No need char
5807      (this(and)that      (this(and)that
5808   0:   0:
5809      (this(and)that)      (this(and)that)
5810   0: (this(and)that)   0: (this(and)that)
5811    
5812  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
5813  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5814  No options  No options
5815  No first char  No first char
5816  No need char  No need char
5817      (this(and)that      (this(and)that
5818   0:   0:
5819      (this(and)that)      (this(and)that)
5820   0:   0:
5821      ((this))      ((this))
5822   0: ((this))   0: ((this))
5823    
5824  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
5825  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
5826  No options  No options
5827  No first char  No first char
5828  No need char  No need char
5829      (this(and)that      (this(and)that
5830   0:   0:
5831      (this(and)that)      (this(and)that)
5832   0:   0:
5833      (this)      (this)
5834   0: (this)   0: (this)
5835      ((this))      ((this))
5836   0: ((this))   0: ((this))
5837    
5838  /a(b)c/IPN  /a(b)c/PN
5839      abc      abc
5840  Matched with REG_NOSUB  Matched with REG_NOSUB
5841    
5842  /a(?P<name>b)c/IPN  /a(?P<name>b)c/PN
5843      abc      abc
5844  Matched with REG_NOSUB  Matched with REG_NOSUB
5845    
5846  /\x{100}/I  /\x{100}/I
5847  Failed: character value in \x{...} sequence is too large at offset 6  Failed: character value in \x{...} sequence is too large at offset 6
5848    
5849  /\x{0000ff}/I  /\x{0000ff}/I
# Line 6019  No need char Line 5868  No need char
5868   1: a1   1: a1
5869   2: a1   2: a1
5870    C a1 (2) A    C a1 (2) A
5871      a2b\CA      a2b\CA
5872   0: a2b   0: a2b
5873   1: a2b   1: a2b
5874   2: <unset>   2: <unset>
# Line 6027  No need char Line 5876  No need char
5876    C a2 (2) A    C a2 (2) A
5877      ** Failers      ** Failers
5878  No match  No match
5879      a1b\CZ\CA      a1b\CZ\CA
5880  no parentheses with name "Z"  no parentheses with name "Z"
5881   0: a1   0: a1
5882   1: a1   1: a1
5883   2: a1   2: a1
5884  copy substring Z failed -7  copy substring Z failed -7
5885    C a1 (2) A    C a1 (2) A
5886    
5887  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
5888  Capturing subpattern count = 2  Capturing subpattern count = 2
5889  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6048  No need char Line 5897  No need char
5897   1: a   1: a
5898   2: b   2: b
5899    C a (1) A    C a (1) A
5900    
5901  /^(?P<A>a)(?P<A>b)|cd/IJ  /^(?P<A>a)(?P<A>b)|cd/IJ
5902  Capturing subpattern count = 2  Capturing subpattern count = 2
5903  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6062  No need char Line 5911  No need char
5911   1: a   1: a
5912   2: b   2: b
5913    C a (1) A    C a (1) A
5914      cd\CA      cd\CA
5915   0: cd   0: cd
5916  copy substring A failed -7  copy substring A failed -7
5917    
5918  /^(?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
5919  Capturing subpattern count = 4  Capturing subpattern count = 4
5920  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6076  Named capturing subpatterns: Line 5925  Named capturing subpatterns:
5925  Options: dupnames  Options: dupnames
5926  No first char  No first char
5927  No need char  No need char
5928      cdefgh\CA      cdefgh\CA
5929   0: cdefgh   0: cdefgh
5930   1: <unset>   1: <unset>
5931   2: <unset>   2: <unset>
5932   3: ef   3: ef
5933   4: gh   4: gh
5934    C ef (2) A    C ef (2) A
5935    
5936  /^((?P<A>a1)|(?P<A>a2)b)/IJ  /^((?P<A>a1)|(?P<A>a2)b)/IJ
5937  Capturing subpattern count = 3  Capturing subpattern count = 3
5938  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6097  No need char Line 5946  No need char
5946   1: a1   1: a1
5947   2: a1   2: a1
5948    G a1 (2) A    G a1 (2) A
5949      a2b\GA      a2b\GA
5950   0: a2b   0: a2b
5951   1: a2b   1: a2b
5952   2: <unset>   2: <unset>
# Line 6105  No need char Line 5954  No need char
5954    G a2 (2) A    G a2 (2) A
5955      ** Failers      ** Failers
5956  No match  No match
5957      a1b\GZ\GA      a1b\GZ\GA
5958  no parentheses with name "Z"  no parentheses with name "Z"
5959   0: a1   0: a1
5960   1: a1   1: a1
5961   2: a1   2: a1
5962  copy substring Z failed -7  copy substring Z failed -7
5963    G a1 (2) A    G a1 (2) A
5964    
5965  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
5966  Capturing subpattern count = 2  Capturing subpattern count = 2
5967  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6126  No need char Line 5975  No need char
5975   1: a   1: a
5976   2: b   2: b
5977    G a (1) A    G a (1) A
5978    
5979  /^(?P<A>a)(?P<A>b)|cd/IJ  /^(?P<A>a)(?P<A>b)|cd/IJ
5980  Capturing subpattern count = 2  Capturing subpattern count = 2
5981  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6140  No need char Line 5989  No need char
5989   1: a   1: a
5990   2: b   2: b
5991    G a (1) A    G a (1) A
5992      cd\GA      cd\GA
5993   0: cd   0: cd
5994  copy substring A failed -7  copy substring A failed -7
5995    
5996  /^(?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
5997  Capturing subpattern count = 4  Capturing subpattern count = 4
5998  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6154  Named capturing subpatterns: Line 6003  Named capturing subpatterns:
6003  Options: dupnames