/[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 340 by ph10, Fri Apr 18 20:00:21 2008 UTC
# Line 78  No match Line 78  No match
78      def\nabc      def\nabc
79  No match  No match
80    
81  /ab\hdef/X  /ab\idef/X
82  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
83    
84  /(?X)ab\hdef/X  /(?X)ab\idef/X
85  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
86    
87  /x{5,4}/  /x{5,4}/
# Line 109  Failed: missing ) at offset 4 Line 109  Failed: missing ) at offset 4
109  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
110    
111  /(?z)abc/  /(?z)abc/
112  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
113    
114  /.*b/I  /.*b/I
115  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 222  Matched, but too many substrings Line 222  Matched, but too many substrings
222   0: abcb   0: abcb
223   1: a   1: a
224   2: b   2: b
225      \O12abcb      \O12abcb
226   0: abcb   0: abcb
227   1: a   1: a
228   2: b   2: b
# Line 310  No match Line 310  No match
310  No match  No match
311    
312  /ab(?z)cd/  /ab(?z)cd/
313  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
314    
315  /^abc|def/I  /^abc|def/I
316  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 343  No need char Line 343  No need char
343   0: abc   0: abc
344      *** Failers      *** Failers
345  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
346    
347  /^abc|def/IP  /^abc|def/IP
348      abcdef      abcdef
349   0: abc   0: abc
# Line 359  No match: POSIX code 17: match failed Line 359  No match: POSIX code 17: match failed
359   0: def   0: def
360   1: def   1: def
361   3: def   3: def
362    
363  /the quick brown fox/IP  /the quick brown fox/IP
364      the quick brown fox      the quick brown fox
365   0: the quick brown fox   0: the quick brown fox
366      *** Failers      *** Failers
367  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
368      The Quick Brown Fox      The Quick Brown Fox
369  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
370    
371  /the quick brown fox/IPi  /the quick brown fox/IPi
372      the quick brown fox      the quick brown fox
373   0: the quick brown fox   0: the quick brown fox
374      The Quick Brown Fox      The Quick Brown Fox
375   0: The Quick Brown Fox   0: The Quick Brown Fox
376    
377  /abc.def/IP  /abc.def/IP
# Line 379  No match: POSIX code 17: match failed Line 379  No match: POSIX code 17: match failed
379  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
380      abc\ndef      abc\ndef
381  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
382    
383  /abc$/IP  /abc$/IP
384      abc      abc
385   0: abc   0: abc
386      abc\n      abc\n
387   0: abc   0: abc
388    
389  /(abc)\2/IP  /(abc)\2/IP
# Line 405  Partial matching not supported Line 405  Partial matching not supported
405  No options  No options
406  No first char  No first char
407  No need char  No need char
408      co-processors, and for      co-processors, and for
409   0: -pr   0: -pr
410    
411  /<.*>/I  /<.*>/I
412  Capturing subpattern count = 0  Capturing subpattern count = 0
413  Partial matching not supported  Partial matching not supported
# Line 434  First char = '<' Line 434  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
440  Partial matching not supported  Partial matching not supported
# Line 452  First char = '<' Line 452  First char = '<'
452  Need char = '>'  Need char = '>'
453      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
454   0: <def>ghi<klm>   0: <def>ghi<klm>
455    
456  /={3,}/IU  /={3,}/IU
457  Capturing subpattern count = 0  Capturing subpattern count = 0
458  Partial matching not supported  Partial matching not supported
# Line 461  First char = '=' Line 461  First char = '='
461  Need char = '='  Need char = '='
462      abc========def      abc========def
463   0: ===   0: ===
464    
465  /(?U)={3,}?/I  /(?U)={3,}?/I
466  Capturing subpattern count = 0  Capturing subpattern count = 0
467  Partial matching not supported  Partial matching not supported
# Line 470  First char = '=' Line 470  First char = '='
470  Need char = '='  Need char = '='
471      abc========def      abc========def
472   0: ========   0: ========
473    
474  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
475  Capturing subpattern count = 0  Capturing subpattern count = 0
476  No options  No options
# Line 478  First char = 'f' Line 478  First char = 'f'
478  Need char = 'o'  Need char = 'o'
479      foo      foo
480   0: foo   0: foo
481      catfoo      catfoo
482   0: foo   0: foo
483      *** Failers      *** Failers
484  No match  No match
485      the barfoo      the barfoo
486  No match  No match
487      and cattlefoo      and cattlefoo
488  No match  No match
489    
490  /(?<=a+)b/  /(?<=a+)b/
# Line 597  No options Line 597  No options
597  First char = 'b' (caseless)  First char = 'b' (caseless)
598  Need char = 'h' (caseless)  Need char = 'h' (caseless)
599    
600  /((?i)b)/IDS  /((?i)b)/IDZS
601  ------------------------------------------------------------------  ------------------------------------------------------------------
602    0  17 Bra 0          Bra
603    3   9 Bra 1          CBra 1
604    8  01 Opt       01 Opt
605   10  NC b       NC b
606   12   9 Ket          Ket
607   15  00 Opt       00 Opt
608   17  17 Ket          Ket
609   20     End          End
610  ------------------------------------------------------------------  ------------------------------------------------------------------
611  Capturing subpattern count = 1  Capturing subpattern count = 1
612  No options  No options
# Line 631  No need char Line 631  No need char
631   0: a   0: a
632      a\n      a\n
633   0: a   0: a
634      *** Failers      *** Failers
635  No match  No match
636      \Za      \Za
637  No match  No match
638      \Za\n      \Za\n
639  No match  No match
640    
641  /a$/Im  /a$/Im
# Line 647  No need char Line 647  No need char
647   0: a   0: a
648      a\n      a\n
649   0: a   0: a
650      \Za\n      \Za\n
651   0: a   0: a
652      *** Failers      *** Failers
653  No match  No match
654      \Za      \Za
655  No match  No match
656    
657  /\Aabc/Im  /\Aabc/Im
658  Capturing subpattern count = 0  Capturing subpattern count = 0
659  Options: anchored multiline  Options: anchored multiline
660  No first char  No first char
661  No need char  No need char
662    
663  /^abc/Im  /^abc/Im
664  Capturing subpattern count = 0  Capturing subpattern count = 0
665  Options: multiline  Options: multiline
666  First char at start or follows newline  First char at start or follows newline
# Line 703  Starting byte set: a b Line 703  Starting byte set: a b
703    
704  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
705  Capturing subpattern count = 0  Capturing subpattern count = 0
706    Contains explicit CR or LF match
707  Options: multiline  Options: multiline
708  No first char  No first char
709  Need char = 'r'  Need char = 'r'
710      foo\nbarbar      foo\nbarbar
711   0: bar   0: bar
712      ***Failers      ***Failers
713  No match  No match
714      rhubarb      rhubarb
715  No match  No match
716      barbell      barbell
717  No match  No match
718      abc\nbarton      abc\nbarton
719  No match  No match
720    
721  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
722  Capturing subpattern count = 0  Capturing subpattern count = 0
723    Contains explicit CR or LF match
724  Options: multiline  Options: multiline
725  First char at start or follows newline  First char at start or follows newline
726  Need char = 'r'  Need char = 'r'
727      foo\nbarbar      foo\nbarbar
728   0: bar   0: bar
729      ***Failers      ***Failers
730  No match  No match
731      rhubarb      rhubarb
732  No match  No match
733      barbell      barbell
734  No match  No match
735      abc\nbarton      abc\nbarton
736  No match  No match
737    
738  /(?>^abc)/Im  /(?>^abc)/Im
# Line 744  Need char = 'c' Line 746  Need char = 'c'
746   0: abc   0: abc
747      *** Failers      *** Failers
748  No match  No match
749      defabc      defabc
750  No match  No match
751    
752  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 771  Need char = 't' Line 773  Need char = 't'
773  No match  No match
774      cart      cart
775  No match  No match
776      horse-and-cart      horse-and-cart
777  No match  No match
778    
779  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
780  Capturing subpattern count = 0  Capturing subpattern count = 0
781  No options  No options
# Line 809  Need char = 'Z' Line 811  Need char = 'Z'
811   0: ZZ   0: ZZ
812      bZZ      bZZ
813   0: ZZ   0: ZZ
814      BZZ      BZZ
815   0: ZZ   0: ZZ
816      *** Failers      *** Failers
817  No match  No match
818      ZZ      ZZ
819  No match  No match
820      abXYZZ      abXYZZ
821  No match  No match
822      zzz      zzz
823  No match  No match
824      bzz      bzz
825  No match  No match
826    
827  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
# Line 829  First char = 'b' Line 831  First char = 'b'
831  Need char = 'r'  Need char = 'r'
832      bar      bar
833   0: bar   0: bar
834      foobbar      foobbar
835   0: bar   0: bar
836      *** Failers      *** Failers
837  No match  No match
838      fooabar      fooabar
839  No match  No match
840    
841  /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 851  No first char
851  No need char  No need char
852      *** Failers      *** Failers
853  No match  No match
854      a      a
855  No match  No match
856    
857  /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 869  No need char
869      aaaaaa      aaaaaa
870   0: aaaaaa   0: aaaaaa
871   1: aa   1: aa
872    
873  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
874  Capturing subpattern count = 0  Capturing subpattern count = 0
875  No options  No options
# Line 944  Failed: missing ) at offset 4 Line 946  Failed: missing ) at offset 4
946  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
947    
948  /a(?{)b/  /a(?{)b/
949  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
950    
951  /a(?{{})b/  /a(?{{})b/
952  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
953    
954  /a(?{}})b/  /a(?{}})b/
955  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
956    
957  /a(?{"{"})b/  /a(?{"{"})b/
958  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
959    
960  /a(?{"{"}})b/  /a(?{"{"}})b/
961  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
962    
963  /(?(1?)a|b)/  /(?(1?)a|b)/
964  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
965    
 /(?(1)a|b|c)/  
 Failed: conditional group contains more than two branches at offset 10  
   
966  /[a[:xyz:/  /[a[:xyz:/
967  Failed: missing terminating ] for character class at offset 8  Failed: missing terminating ] for character class at offset 8
968    
# Line 1001  Need char = 'd' Line 1000  Need char = 'd'
1000   1: a   1: a
1001   2: d   2: d
1002  copy substring 5 failed -7  copy substring 5 failed -7
1003    
1004  /(.{20})/I  /(.{20})/I
1005  Capturing subpattern count = 1  Capturing subpattern count = 1
1006  Partial matching not supported  Partial matching not supported
# Line 1019  No need char Line 1018  No need char
1018   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1019   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1020   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1021    
1022  /(.{15})/I  /(.{15})/I
1023  Capturing subpattern count = 1  Capturing subpattern count = 1
1024  Partial matching not supported  Partial matching not supported
# Line 1051  No need char Line 1050  No need char
1050   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1051   0L abcdefghijklmnop   0L abcdefghijklmnop
1052   1L abcdefghijklmnop   1L abcdefghijklmnop
1053    
1054  /^(a|(bc))de(f)/I  /^(a|(bc))de(f)/I
1055  Capturing subpattern count = 3  Capturing subpattern count = 3
1056  Options: anchored  Options: anchored
1057  No first char  No first char
1058  No need char  No need char
1059      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1060   0: adef   0: adef
1061   1: a   1: a
1062   2: <unset>   2: <unset>
# Line 1070  get substring 4 failed -7 Line 1069  get substring 4 failed -7
1069   1L a   1L a
1070   2L   2L
1071   3L f   3L f
1072      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1073   0: bcdef   0: bcdef
1074   1: bc   1: bc
1075   2: bc   2: bc
# Line 1083  get substring 4 failed -7 Line 1082  get substring 4 failed -7
1082   1L bc   1L bc
1083   2L bc   2L bc
1084   3L f   3L f
1085      adefghijk\C0      adefghijk\C0
1086   0: adef   0: adef
1087   1: a   1: a
1088   2: <unset>   2: <unset>
1089   3: f   3: f
1090   0C adef (4)   0C adef (4)
1091    
1092  /^abc\00def/I  /^abc\00def/I
1093  Capturing subpattern count = 0  Capturing subpattern count = 0
1094  Options: anchored  Options: anchored
1095  No first char  No first char
1096  No need char  No need char
1097      abc\00def\L\C0      abc\00def\L\C0
1098   0: abc\x00def   0: abc\x00def
1099   0C abc (7)   0C abc (7)
1100   0L abc   0L abc
1101    
1102  /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]+
1103  )((?:[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]+
1104  )?)?)?)?)?)?)?)?)?otherword/IM  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 448  
1105  Capturing subpattern count = 8  Capturing subpattern count = 8
1106  Partial matching not supported  Partial matching not supported
1107    Contains explicit CR or LF match
1108  No options  No options
1109  First char = 'w'  First char = 'w'
1110  Need char = 'd'  Need char = 'd'
1111    
1112  /.*X/ID  /.*X/IDZ
1113  ------------------------------------------------------------------  ------------------------------------------------------------------
1114    0   7 Bra 0          Bra
1115    3     Any*          Any*
1116    5     X          X
1117    7   7 Ket          Ket
1118   10     End          End
1119  ------------------------------------------------------------------  ------------------------------------------------------------------
1120  Capturing subpattern count = 0  Capturing subpattern count = 0
1121  Partial matching not supported  Partial matching not supported
# Line 1124  No options Line 1123  No options
1123  First char at start or follows newline  First char at start or follows newline
1124  Need char = 'X'  Need char = 'X'
1125    
1126  /.*X/IDs  /.*X/IDZs
1127  ------------------------------------------------------------------  ------------------------------------------------------------------
1128    0   7 Bra 0          Bra
1129    3     Any*          Any*
1130    5     X          X
1131    7   7 Ket          Ket
1132   10     End          End
1133  ------------------------------------------------------------------  ------------------------------------------------------------------
1134  Capturing subpattern count = 0  Capturing subpattern count = 0
1135  Partial matching not supported  Partial matching not supported
# Line 1138  Options: anchored dotall Line 1137  Options: anchored dotall
1137  No first char  No first char
1138  Need char = 'X'  Need char = 'X'
1139    
1140  /(.*X|^B)/ID  /(.*X|^B)/IDZ
1141  ------------------------------------------------------------------  ------------------------------------------------------------------
1142    0  21 Bra 0          Bra
1143    3   9 Bra 1          CBra 1
1144    8     Any*          Any*
1145   10     X          X
1146   12   6 Alt          Alt
1147   15     ^          ^
1148   16     B          B
1149   18  15 Ket          Ket
1150   21  21 Ket          Ket
1151   24     End          End
1152  ------------------------------------------------------------------  ------------------------------------------------------------------
1153  Capturing subpattern count = 1  Capturing subpattern count = 1
1154  Partial matching not supported  Partial matching not supported
# Line 1157  No options Line 1156  No options
1156  First char at start or follows newline  First char at start or follows newline
1157  No need char  No need char
1158    
1159  /(.*X|^B)/IDs  /(.*X|^B)/IDZs
1160  ------------------------------------------------------------------  ------------------------------------------------------------------
1161    0  21 Bra 0          Bra
1162    3   9 Bra 1          CBra 1
1163    8     Any*          Any*
1164   10     X          X
1165   12   6 Alt          Alt
1166   15     ^          ^
1167   16     B          B
1168   18  15 Ket          Ket
1169   21  21 Ket          Ket
1170   24     End          End
1171  ------------------------------------------------------------------  ------------------------------------------------------------------
1172  Capturing subpattern count = 1  Capturing subpattern count = 1
1173  Partial matching not supported  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  21 Bra 0          Bra
1181    3   9 Bra 1          CBra 1
1182    8     Any*          Any*
1183   10     X          X
1184   12   6 Alt          Alt
1185   15     ^          ^
1186   16     B          B
1187   18  15 Ket          Ket
1188   21  21 Ket          Ket
1189   24     End          End
1190  ------------------------------------------------------------------  ------------------------------------------------------------------
1191  Capturing subpattern count = 1  Capturing subpattern count = 1
1192  Partial matching not supported  Partial matching not supported
# Line 1195  Options: anchored dotall Line 1194  Options: anchored dotall
1194  No first char  No first char
1195  No need char  No need char
1196    
1197  /(?s:.*X|^B)/ID  /(?s:.*X|^B)/IDZ
1198  ------------------------------------------------------------------  ------------------------------------------------------------------
1199    0  25 Bra 0          Bra
1200    3   9 Bra 0          Bra
1201    6  04 Opt       04 Opt
1202    8     Any*          Any*
1203   10     X          X
1204   12   8 Alt          Alt
1205   15  04 Opt       04 Opt
1206   17     ^          ^
1207   18     B          B
1208   20  17 Ket          Ket
1209   23  00 Opt       00 Opt
1210   25  25 Ket          Ket
1211   28     End          End
1212  ------------------------------------------------------------------  ------------------------------------------------------------------
1213  Capturing subpattern count = 0  Capturing subpattern count = 0
1214  Partial matching not supported  Partial matching not supported
# Line 1294  No need char Line 1293  No need char
1293      ississippi      ississippi
1294   0: iss   0: iss
1295   0+ issippi   0+ issippi
1296    
1297  /.*iss/Ig+  /.*iss/Ig+
1298  Capturing subpattern count = 0  Capturing subpattern count = 0
1299  Partial matching not supported  Partial matching not supported
1300  No options  No options
1301  First char at start or follows newline  First char at start or follows newline
1302  Need char = 's'  Need char = 's'
1303      abciss\nxyzisspqr      abciss\nxyzisspqr
1304   0: abciss   0: abciss
1305   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1306   0: xyziss   0: xyziss
# Line 1333  Need char = 'i' Line 1332  Need char = 'i'
1332   0+ river   0+ river
1333   0: riv   0: riv
1334   0+ er   0+ er
1335      Missouri river\A      Missouri river\A
1336   0: Mis   0: Mis
1337   0+ souri river   0+ souri river
1338    
# Line 1348  No need char Line 1347  No need char
1347    
1348  /^ab\n/Ig+  /^ab\n/Ig+
1349  Capturing subpattern count = 0  Capturing subpattern count = 0
1350    Contains explicit CR or LF match
1351  Options: anchored  Options: anchored
1352  No first char  No first char
1353  No need char  No need char
# Line 1357  No need char Line 1357  No need char
1357    
1358  /^ab\n/Img+  /^ab\n/Img+
1359  Capturing subpattern count = 0  Capturing subpattern count = 0
1360    Contains explicit CR or LF match
1361  Options: multiline  Options: multiline
1362  First char at start or follows newline  First char at start or follows newline
1363  Need char = 10  Need char = 10
# Line 1595  No options Line 1596  No options
1596  First char = 'a'  First char = 'a'
1597  Need char = 'b'  Need char = 'b'
1598    
1599  /a(?(1)b)/I  /a(?(1)b)(.)/I
1600  Capturing subpattern count = 0  Capturing subpattern count = 1
1601  No options  No options
1602  First char = 'a'  First char = 'a'
1603  No need char  No need char
1604    
1605  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
1606  Capturing subpattern count = 0  Capturing subpattern count = 1
1607  No options  No options
1608  First char = 'a'  First char = 'a'
1609  Need char = 'g'  Need char = 'g'
1610    
1611  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
1612  Capturing subpattern count = 0  Capturing subpattern count = 1
1613  No options  No options
1614  First char = 'a'  First char = 'a'
1615  No need char  No need char
1616    
1617  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
1618  Capturing subpattern count = 0  Capturing subpattern count = 1
1619  No options  No options
1620  First char = 'a'  First char = 'a'
1621  Need char = 'g'  Need char = 'g'
1622    
1623  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
1624  Capturing subpattern count = 0  Capturing subpattern count = 1
1625  No options  No options
1626  First char = 'a'  First char = 'a'
1627  Need char = 'b'  Need char = 'b'
# Line 1646  No need char Line 1647  No need char
1647   0:   0:
1648      *** Failers      *** Failers
1649   0:   0:
1650      \N      \N
1651  No match  No match
1652    
1653  /|-/I  /|-/I
1654  Capturing subpattern count = 0  Capturing subpattern count = 0
1655  No options  No options
# Line 1662  No need char Line 1663  No need char
1663   0: -   0: -
1664      *** Failers      *** Failers
1665   0:   0:
1666      \Nabc      \Nabc
1667  No match  No match
1668    
1669  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/IP
# Line 1691  No match Line 1692  No match
1692   1: bbbb   1: bbbb
1693   2: z   2: z
1694   3: z   3: z
1695    
1696  /^.?abcd/IS  /^.?abcd/IS
1697  Capturing subpattern count = 0  Capturing subpattern count = 0
1698  Options: anchored  Options: anchored
1699  No first char  No first char
# Line 1718  Need char = ')' Line 1719  Need char = ')'
1719   0: (abcd)   0: (abcd)
1720      xyz(abcd)      xyz(abcd)
1721   0: (abcd)   0: (abcd)
1722      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1723   0: (ab(xy)cd)   0: (ab(xy)cd)
1724      (ab(xycd)pqr      (ab(xycd)pqr
1725   0: (xycd)   0: (xycd)
1726      () abc ()      () abc ()
1727   0: ()   0: ()
1728      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1729   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1730      *** Failers      *** Failers
1731  No match  No match
1732      abcd      abcd
1733  No match  No match
1734      abcd)      abcd)
1735  No match  No match
1736      (abcd      (abcd
1737  No match  No match
1738    
1739  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
# Line 1741  Partial matching not supported Line 1742  Partial matching not supported
1742  Options: extended  Options: extended
1743  First char = '('  First char = '('
1744  Need char = ')'  Need char = ')'
1745      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1746   0: (ab(xy)cd)   0: (ab(xy)cd)
1747   1: cd   1: cd
1748      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1760  Need char = ')' Line 1761  Need char = ')'
1761   0: (abcd)   0: (abcd)
1762      (ab(xy)cd)      (ab(xy)cd)
1763   0: (xy)   0: (xy)
1764      (a(b(c)d)e)      (a(b(c)d)e)
1765   0: (c)   0: (c)
1766      ((ab))      ((ab))
1767   0: ((ab))   0: ((ab))
1768      *** Failers      *** Failers
1769  No match  No match
1770      ()      ()
1771  No match  No match
1772    
1773  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
# Line 1884  Need char = ')' Line 1885  Need char = ')'
1885   2: ij   2: ij
1886   3: (cd(ef)gh)   3: (cd(ef)gh)
1887    
1888  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1889  ------------------------------------------------------------------  ------------------------------------------------------------------
1890    0  37 Bra 0          Bra
1891    3     ^          ^
1892    4     [0-9A-Za-z]          [0-9A-Za-z]
1893   37  37 Ket          Ket
1894   40     End          End
1895  ------------------------------------------------------------------  ------------------------------------------------------------------
1896  Capturing subpattern count = 0  Capturing subpattern count = 0
1897  Options: anchored  Options: anchored
1898  No first char  No first char
1899  No need char  No need char
1900    
1901  /^[[:^alnum:]]/D  /^[[:^alnum:]]/DZ
1902  ------------------------------------------------------------------  ------------------------------------------------------------------
1903    0  37 Bra 0          Bra
1904    3     ^          ^
1905    4     [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1906   37  37 Ket          Ket
1907   40     End          End
1908  ------------------------------------------------------------------  ------------------------------------------------------------------
1909  Capturing subpattern count = 0  Capturing subpattern count = 0
1910  Options: anchored  Options: anchored
1911  No first char  No first char
1912  No need char  No need char
1913    
1914  /^[[:alpha:]]/D  /^[[:alpha:]]/DZ
1915  ------------------------------------------------------------------  ------------------------------------------------------------------
1916    0  37 Bra 0          Bra
1917    3     ^          ^
1918    4     [A-Za-z]          [A-Za-z]
1919   37  37 Ket          Ket
1920   40     End          End
1921  ------------------------------------------------------------------  ------------------------------------------------------------------
1922  Capturing subpattern count = 0  Capturing subpattern count = 0
1923  Options: anchored  Options: anchored
1924  No first char  No first char
1925  No need char  No need char
1926    
1927  /^[[:^alpha:]]/D  /^[[:^alpha:]]/DZ
1928  ------------------------------------------------------------------  ------------------------------------------------------------------
1929    0  37 Bra 0          Bra
1930    3     ^          ^
1931    4     [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1932   37  37 Ket          Ket
1933   40     End          End
1934  ------------------------------------------------------------------  ------------------------------------------------------------------
1935  Capturing subpattern count = 0  Capturing subpattern count = 0
1936  Options: anchored  Options: anchored
1937  No first char  No first char
1938  No need char  No need char
1939    
1940  /[_[:alpha:]]/IS  /[_[:alpha:]]/IS
1941  Capturing subpattern count = 0  Capturing subpattern count = 0
1942  No options  No options
# Line 1944  No need char Line 1945  No need char
1945  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
1946    _ 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
1947    
1948  /^[[:ascii:]]/D  /^[[:ascii:]]/DZ
1949  ------------------------------------------------------------------  ------------------------------------------------------------------
1950    0  37 Bra 0          Bra
1951    3     ^          ^
1952    4     [\x00-\x7f]          [\x00-\x7f]
1953   37  37 Ket          Ket
1954   40     End          End
1955  ------------------------------------------------------------------  ------------------------------------------------------------------
1956  Capturing subpattern count = 0  Capturing subpattern count = 0
1957  Options: anchored  Options: anchored
1958  No first char  No first char
1959  No need char  No need char
1960    
1961  /^[[:^ascii:]]/D  /^[[:^ascii:]]/DZ
1962  ------------------------------------------------------------------  ------------------------------------------------------------------
1963    0  37 Bra 0          Bra
1964    3     ^          ^
1965    4     [\x80-\xff]          [\x80-\xff] (neg)
1966   37  37 Ket          Ket
1967   40     End          End
1968  ------------------------------------------------------------------  ------------------------------------------------------------------
1969  Capturing subpattern count = 0  Capturing subpattern count = 0
1970  Options: anchored  Options: anchored
1971  No first char  No first char
1972  No need char  No need char
1973    
1974  /^[[:blank:]]/D  /^[[:blank:]]/DZ
1975  ------------------------------------------------------------------  ------------------------------------------------------------------
1976    0  37 Bra 0          Bra
1977    3     ^          ^
1978    4     [\x09 ]          [\x09 ]
1979   37  37 Ket          Ket
1980   40     End          End
1981  ------------------------------------------------------------------  ------------------------------------------------------------------
1982  Capturing subpattern count = 0  Capturing subpattern count = 0
1983  Options: anchored  Options: anchored
1984  No first char  No first char
1985  No need char  No need char
1986    
1987  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
1988  ------------------------------------------------------------------  ------------------------------------------------------------------
1989    0  37 Bra 0          Bra
1990    3     ^          ^
1991    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1992   37  37 Ket          Ket
1993   40     End          End
1994  ------------------------------------------------------------------  ------------------------------------------------------------------
1995  Capturing subpattern count = 0  Capturing subpattern count = 0
1996  Options: anchored  Options: anchored
# Line 1998  No need char Line 1999  No need char
1999    
2000  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
2001  Capturing subpattern count = 0  Capturing subpattern count = 0
2002    Contains explicit CR or LF match
2003  No options  No options
2004  No first char  No first char
2005  No need char  No need char
2006  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2007    
2008  /^[[:cntrl:]]/D  /^[[:cntrl:]]/DZ
2009  ------------------------------------------------------------------  ------------------------------------------------------------------
2010    0  37 Bra 0          Bra
2011    3     ^          ^
2012    4     [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
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  /^[[:digit:]]/D  /^[[:digit:]]/DZ
2022  ------------------------------------------------------------------  ------------------------------------------------------------------
2023    0  37 Bra 0          Bra
2024    3     ^          ^
2025    4     [0-9]          [0-9]
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  /^[[:graph:]]/D  /^[[:graph:]]/DZ
2035  ------------------------------------------------------------------  ------------------------------------------------------------------
2036    0  37 Bra 0          Bra
2037    3     ^          ^
2038    4     [!-~]          [!-~]
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  /^[[:lower:]]/D  /^[[:lower:]]/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  /^[[:print:]]/D  /^[[:print:]]/DZ
2061  ------------------------------------------------------------------  ------------------------------------------------------------------
2062    0  37 Bra 0          Bra
2063    3     ^          ^
2064    4     [ -~]          [ -~]
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  /^[[:punct:]]/D  /^[[:punct:]]/DZ
2074  ------------------------------------------------------------------  ------------------------------------------------------------------
2075    0  37 Bra 0          Bra
2076    3     ^          ^
2077    4     [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
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  /^[[:space:]]/D  /^[[:space:]]/DZ
2087  ------------------------------------------------------------------  ------------------------------------------------------------------
2088    0  37 Bra 0          Bra
2089    3     ^          ^
2090    4     [\x09-\x0d ]          [\x09-\x0d ]
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  /^[[:upper:]]/D  /^[[:upper:]]/DZ
2100  ------------------------------------------------------------------  ------------------------------------------------------------------
2101    0  37 Bra 0          Bra
2102    3     ^          ^
2103    4     [A-Z]          [A-Z]
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  /^[[:xdigit:]]/D  /^[[:xdigit:]]/DZ
2113  ------------------------------------------------------------------  ------------------------------------------------------------------
2114    0  37 Bra 0          Bra
2115    3     ^          ^
2116    4     [0-9A-Fa-f]          [0-9A-Fa-f]
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  /^[[:word:]]/D  /^[[:word:]]/DZ
2126  ------------------------------------------------------------------  ------------------------------------------------------------------
2127    0  37 Bra 0          Bra
2128    3     ^          ^
2129    4     [0-9A-Z_a-z]          [0-9A-Z_a-z]
2130   37  37 Ket          Ket
2131   40     End          End
2132  ------------------------------------------------------------------  ------------------------------------------------------------------
2133  Capturing subpattern count = 0  Capturing subpattern count = 0
2134  Options: anchored  Options: anchored
2135  No first char  No first char
2136  No need char  No need char
2137    
2138  /^[[:^cntrl:]]/D  /^[[:^cntrl:]]/DZ
2139  ------------------------------------------------------------------  ------------------------------------------------------------------
2140    0  37 Bra 0          Bra
2141    3     ^          ^
2142    4     [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2143   37  37 Ket          Ket
2144   40     End          End
2145  ------------------------------------------------------------------  ------------------------------------------------------------------
2146  Capturing subpattern count = 0  Capturing subpattern count = 0
2147  Options: anchored  Options: anchored
2148  No first char  No first char
2149  No need char  No need char
2150    
2151  /^[12[:^digit:]]/D  /^[12[:^digit:]]/DZ
2152  ------------------------------------------------------------------  ------------------------------------------------------------------
2153    0  37 Bra 0          Bra
2154    3     ^          ^
2155    4     [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2156   37  37 Ket          Ket
2157   40     End          End
2158  ------------------------------------------------------------------  ------------------------------------------------------------------
2159  Capturing subpattern count = 0  Capturing subpattern count = 0
2160  Options: anchored  Options: anchored
2161  No first char  No first char
2162  No need char  No need char
2163    
2164  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2165  ------------------------------------------------------------------  ------------------------------------------------------------------
2166    0  37 Bra 0          Bra
2167    3     ^          ^
2168    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2169   37  37 Ket          Ket
2170   40     End          End
2171  ------------------------------------------------------------------  ------------------------------------------------------------------
2172  Capturing subpattern count = 0  Capturing subpattern count = 0
2173  Options: anchored  Options: anchored
2174  No first char  No first char
2175  No need char  No need char
2176    
2177  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2178  ------------------------------------------------------------------  ------------------------------------------------------------------
2179    0  36 Bra 0          Bra
2180    3     [%01A-Za-z]          [%01A-Za-z]
2181   36  36 Ket          Ket
2182   39     End          End
2183  ------------------------------------------------------------------  ------------------------------------------------------------------
2184  Capturing subpattern count = 0  Capturing subpattern count = 0
2185  No options  No options
# Line 2200  No first char Line 2202  No first char
2202  No need char  No need char
2203      A      A
2204   0: A   0: A
2205      a      a
2206   0: a   0: a
2207    
2208  /[[:lower:]]/Ii  /[[:lower:]]/Ii
2209  Capturing subpattern count = 0  Capturing subpattern count = 0
2210  Options: caseless  Options: caseless
# Line 2210  No first char Line 2212  No first char
2212  No need char  No need char
2213      A      A
2214   0: A   0: A
2215      a      a
2216   0: a   0: a
2217    
2218  /((?-i)[[:lower:]])[[:lower:]]/Ii  /((?-i)[[:lower:]])[[:lower:]]/Ii
# Line 2229  No need char Line 2231  No need char
2231   1: a   1: a
2232      Ab      Ab
2233  No match  No match
2234      AB      AB
2235  No match  No match
2236    
2237  /[\200-\110]/I  /[\200-\110]/I
# Line 2543  Need char = 'n' Line 2545  Need char = 'n'
2545   0: mainOmain   0: mainOmain
2546   1: main   1: main
2547   2: O   2: O
2548    
2549  /These are all cases where Perl does it differently (nested captures)/I  /These are all cases where Perl does it differently (nested captures)/I
2550  Capturing subpattern count = 1  Capturing subpattern count = 1
2551  No options  No options
# Line 2559  No need char Line 2561  No need char
2561   0: aba   0: aba
2562   1: a   1: a
2563   2: b   2: b
2564    
2565  /^(aa(bb)?)+$/I  /^(aa(bb)?)+$/I
2566  Capturing subpattern count = 2  Capturing subpattern count = 2
2567  Options: anchored  Options: anchored
2568  No first char  No first char
2569  No need char  No need char
2570      aabbaa      aabbaa
2571   0: aabbaa   0: aabbaa
2572   1: aa   1: aa
2573   2: bb   2: bb
2574    
2575  /^(aa|aa(bb))+$/I  /^(aa|aa(bb))+$/I
2576  Capturing subpattern count = 2  Capturing subpattern count = 2
2577  Options: anchored  Options: anchored
2578  No first char  No first char
2579  No need char  No need char
2580      aabbaa      aabbaa
2581   0: aabbaa   0: aabbaa
2582   1: aa   1: aa
2583   2: bb   2: bb
2584    
2585  /^(aa(bb)??)+$/I  /^(aa(bb)??)+$/I
2586  Capturing subpattern count = 2  Capturing subpattern count = 2
2587  Options: anchored  Options: anchored
2588  No first char  No first char
2589  No need char  No need char
2590      aabbaa      aabbaa
2591   0: aabbaa   0: aabbaa
2592   1: aa   1: aa
2593   2: bb   2: bb
2594    
2595  /^(?:aa(bb)?)+$/I  /^(?:aa(bb)?)+$/I
2596  Capturing subpattern count = 1  Capturing subpattern count = 1
2597  Options: anchored  Options: anchored
2598  No first char  No first char
2599  No need char  No need char
2600      aabbaa      aabbaa
2601   0: aabbaa   0: aabbaa
2602   1: bb   1: bb
2603    
2604  /^(aa(b(b))?)+$/I  /^(aa(b(b))?)+$/I
2605  Capturing subpattern count = 3  Capturing subpattern count = 3
2606  Options: anchored  Options: anchored
2607  No first char  No first char
2608  No need char  No need char
2609      aabbaa      aabbaa
2610   0: aabbaa   0: aabbaa
2611   1: aa   1: aa
2612   2: bb   2: bb
# Line 2615  Capturing subpattern count = 2 Line 2617  Capturing subpattern count = 2
2617  Options: anchored  Options: anchored
2618  No first char  No first char
2619  No need char  No need char
2620      aabbaa      aabbaa
2621   0: aabbaa   0: aabbaa
2622   1: bb   1: bb
2623   2: b   2: b
# Line 2625  Capturing subpattern count = 1 Line 2627  Capturing subpattern count = 1
2627  Options: anchored  Options: anchored
2628  No first char  No first char
2629  No need char  No need char
2630      aabbaa      aabbaa
2631   0: aabbaa   0: aabbaa
2632   1: bb   1: bb
2633    
# Line 2634  Capturing subpattern count = 1 Line 2636  Capturing subpattern count = 1
2636  Options: anchored  Options: anchored
2637  No first char  No first char
2638  No need char  No need char
2639      aabbbaa      aabbbaa
2640   0: aabbbaa   0: aabbbaa
2641   1: bbb   1: bbb
2642    
2643  /^(?:aa(b(?:bb))?)+$/I  /^(?:aa(b(?:bb))?)+$/I
2644  Capturing subpattern count = 1  Capturing subpattern count = 1
2645  Options: anchored  Options: anchored
2646  No first char  No first char
2647  No need char  No need char
2648      aabbbaa      aabbbaa
2649   0: aabbbaa   0: aabbbaa
2650   1: bbb   1: bbb
2651    
# Line 2652  Capturing subpattern count = 1 Line 2654  Capturing subpattern count = 1
2654  Options: anchored  Options: anchored
2655  No first char  No first char
2656  No need char  No need char
2657      aabbaa      aabbaa
2658   0: aabbaa   0: aabbaa
2659   1: b   1: b
2660    
# Line 2661  Capturing subpattern count = 1 Line 2663  Capturing subpattern count = 1
2663  Options: anchored  Options: anchored
2664  No first char  No first char
2665  No need char  No need char
2666      aabbbaa      aabbbaa
2667   0: aabbbaa   0: aabbbaa
2668   1: bb   1: bb
2669    
# Line 2670  Capturing subpattern count = 3 Line 2672  Capturing subpattern count = 3
2672  Options: anchored  Options: anchored
2673  No first char  No first char
2674  No need char  No need char
2675      aabbbaa      aabbbaa
2676   0: aabbbaa   0: aabbbaa
2677   1: aa   1: aa
2678   2: bbb   2: bbb
# Line 2681  Capturing subpattern count = 3 Line 2683  Capturing subpattern count = 3
2683  Options: anchored  Options: anchored
2684  No first char  No first char
2685  No need char  No need char
2686      aabbbbaa      aabbbbaa
2687   0: aabbbbaa   0: aabbbbaa
2688   1: aa   1: aa
2689   2: bbbb   2: bbbb
2690   3: bb   3: bb
2691    
2692  /--------------------------------------------------------------------/I  /--------------------------------------------------------------------/I
2693  Capturing subpattern count = 0  Capturing subpattern count = 0
2694  No options  No options
2695  First char = '-'  First char = '-'
2696  Need char = '-'  Need char = '-'
2697    
2698  /#/IxMD  /#/IxDZ
 Memory allocation (code space): 7  
2699  ------------------------------------------------------------------  ------------------------------------------------------------------
2700    0   3 Bra 0          Bra
2701    3   3 Ket          Ket
2702    6     End          End
2703  ------------------------------------------------------------------  ------------------------------------------------------------------
2704  Capturing subpattern count = 0  Capturing subpattern count = 0
2705  Options: extended  Options: extended
2706  No first char  No first char
2707  No need char  No need char
2708    
2709  /a#/IxMD  /a#/IxDZ
 Memory allocation (code space): 9  
2710  ------------------------------------------------------------------  ------------------------------------------------------------------
2711    0   5 Bra 0          Bra
2712    3     a          a
2713    5   5 Ket          Ket
2714    8     End          End
2715  ------------------------------------------------------------------  ------------------------------------------------------------------
2716  Capturing subpattern count = 0  Capturing subpattern count = 0
2717  Options: extended  Options: extended
2718  First char = 'a'  First char = 'a'
2719  No need char  No need char
2720    
2721  /[\s]/D  /[\s]/DZ
2722  ------------------------------------------------------------------  ------------------------------------------------------------------
2723    0  36 Bra 0          Bra
2724    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2725   36  36 Ket          Ket
2726   39     End          End
2727  ------------------------------------------------------------------  ------------------------------------------------------------------
2728  Capturing subpattern count = 0  Capturing subpattern count = 0
2729  No options  No options
2730  No first char  No first char
2731  No need char  No need char
2732    
2733  /[\S]/D  /[\S]/DZ
2734  ------------------------------------------------------------------  ------------------------------------------------------------------
2735    0  36 Bra 0          Bra
2736    3     [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2737   36  36 Ket          Ket
2738   39     End          End
2739  ------------------------------------------------------------------  ------------------------------------------------------------------
2740  Capturing subpattern count = 0  Capturing subpattern count = 0
2741  No options  No options
2742  No first char  No first char
2743  No need char  No need char
2744    
2745  /a(?i)b/D  /a(?i)b/DZ
2746  ------------------------------------------------------------------  ------------------------------------------------------------------
2747    0   9 Bra 0          Bra
2748    3     a          a
2749    5  01 Opt       01 Opt
2750    7  NC b       NC b
2751    9   9 Ket          Ket
2752   12     End          End
2753  ------------------------------------------------------------------  ------------------------------------------------------------------
2754  Capturing subpattern count = 0  Capturing subpattern count = 0
2755  No options  No options
# Line 2759  Need char = 'b' (caseless) Line 2759  Need char = 'b' (caseless)
2759   0: ab   0: ab
2760      aB      aB
2761   0: aB   0: aB
2762      *** Failers      *** Failers
2763  No match  No match
2764      AB      AB
2765  No match  No match
2766    
2767  /(a(?i)b)/D  /(a(?i)b)/DZ
2768  ------------------------------------------------------------------  ------------------------------------------------------------------
2769    0  19 Bra 0          Bra
2770    3  11 Bra 1          CBra 1
2771    8     a          a
2772   10  01 Opt       01 Opt
2773   12  NC b       NC b
2774   14  11 Ket          Ket
2775   17  00 Opt       00 Opt
2776   19  19 Ket          Ket
2777   22     End          End
2778  ------------------------------------------------------------------  ------------------------------------------------------------------
2779  Capturing subpattern count = 1  Capturing subpattern count = 1
2780  No options  No options
# Line 2786  Need char = 'b' (caseless) Line 2786  Need char = 'b' (caseless)
2786      aB      aB
2787   0: aB   0: aB
2788   1: aB   1: aB
2789      *** Failers      *** Failers
2790  No match  No match
2791      AB      AB
2792  No match  No match
2793    
2794  /   (?i)abc/IxD  /   (?i)abc/IxDZ
2795  ------------------------------------------------------------------  ------------------------------------------------------------------
2796    0   9 Bra 0          Bra
2797    3  NC abc       NC abc
2798    9   9 Ket          Ket
2799   12     End          End
2800  ------------------------------------------------------------------  ------------------------------------------------------------------
2801  Capturing subpattern count = 0  Capturing subpattern count = 0
2802  Options: caseless extended  Options: caseless extended
# Line 2804  First char = 'a' (caseless) Line 2804  First char = 'a' (caseless)
2804  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2805    
2806  /#this is a comment  /#this is a comment
2807    (?i)abc/IxD    (?i)abc/IxDZ
2808  ------------------------------------------------------------------  ------------------------------------------------------------------
2809    0   9 Bra 0          Bra
2810    3  NC abc       NC abc
2811    9   9 Ket          Ket
2812   12     End          End
2813  ------------------------------------------------------------------  ------------------------------------------------------------------
2814  Capturing subpattern count = 0  Capturing subpattern count = 0
2815  Options: caseless extended  Options: caseless extended
2816  First char = 'a' (caseless)  First char = 'a' (caseless)
2817  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2818    
2819  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2820  ------------------------------------------------------------------  ------------------------------------------------------------------
2821    0 603 Bra 0          Bra
2822    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2823  603 603 Ket          Ket
2824  606     End          End
2825  ------------------------------------------------------------------  ------------------------------------------------------------------
2826  Capturing subpattern count = 0  Capturing subpattern count = 0
2827  No options  No options
2828  First char = '1'  First char = '1'
2829  Need char = '0'  Need char = '0'
2830    
2831  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2832  ------------------------------------------------------------------  ------------------------------------------------------------------
2833    0 603 Bra 0          Bra
2834    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2835  603 603 Ket          Ket
2836  606     End          End
2837  ------------------------------------------------------------------  ------------------------------------------------------------------
2838  Capturing subpattern count = 0  Capturing subpattern count = 0
2839  No options  No options
2840  First char = '1'  First char = '1'
2841  Need char = '0'  Need char = '0'
2842    
2843  /\Q\E/D  /\Q\E/DZ
2844  ------------------------------------------------------------------  ------------------------------------------------------------------
2845    0   3 Bra 0          Bra
2846    3   3 Ket          Ket
2847    6     End          End
2848  ------------------------------------------------------------------  ------------------------------------------------------------------
2849  Capturing subpattern count = 0  Capturing subpattern count = 0
2850  No options  No options
# Line 2853  No need char Line 2853  No need char
2853      \      \
2854   0:   0:
2855    
2856  /\Q\Ex/D  /\Q\Ex/DZ
2857  ------------------------------------------------------------------  ------------------------------------------------------------------
2858    0   5 Bra 0          Bra
2859    3     x          x
2860    5   5 Ket          Ket
2861    8     End          End
2862  ------------------------------------------------------------------  ------------------------------------------------------------------
2863  Capturing subpattern count = 0  Capturing subpattern count = 0
2864  No options  No options
2865  First char = 'x'  First char = 'x'
2866  No need char  No need char
2867    
2868  / \Q\E/D  / \Q\E/DZ
2869  ------------------------------------------------------------------  ------------------------------------------------------------------
2870    0   5 Bra 0          Bra
2871    3  
2872    5   5 Ket          Ket
2873    8     End          End
2874  ------------------------------------------------------------------  ------------------------------------------------------------------
2875  Capturing subpattern count = 0  Capturing subpattern count = 0
2876  No options  No options
2877  First char = ' '  First char = ' '
2878  No need char  No need char
2879    
2880  /a\Q\E/D  /a\Q\E/DZ
2881  ------------------------------------------------------------------  ------------------------------------------------------------------
2882    0   5 Bra 0          Bra
2883    3     a          a
2884    5   5 Ket          Ket
2885    8     End          End
2886  ------------------------------------------------------------------  ------------------------------------------------------------------
2887  Capturing subpattern count = 0  Capturing subpattern count = 0
2888  No options  No options
# Line 2892  No need char Line 2892  No need char
2892   0: a   0: a
2893    bca    bca
2894   0: a   0: a
2895    bac    bac
2896   0: a   0: a
2897    
2898  /a\Q\Eb/D  /a\Q\Eb/DZ
2899  ------------------------------------------------------------------  ------------------------------------------------------------------
2900    0   7 Bra 0          Bra
2901    3     ab          ab
2902    7   7 Ket          Ket
2903   10     End          End
2904  ------------------------------------------------------------------  ------------------------------------------------------------------
2905  Capturing subpattern count = 0  Capturing subpattern count = 0
2906  No options  No options
# Line 2909  Need char = 'b' Line 2909  Need char = 'b'
2909    abc    abc
2910   0: ab   0: ab
2911    
2912  /\Q\Eabc/D  /\Q\Eabc/DZ
2913  ------------------------------------------------------------------  ------------------------------------------------------------------
2914    0   9 Bra 0          Bra
2915    3     abc          abc
2916    9   9 Ket          Ket
2917   12     End          End
2918  ------------------------------------------------------------------  ------------------------------------------------------------------
2919  Capturing subpattern count = 0  Capturing subpattern count = 0
2920  No options  No options
2921  First char = 'a'  First char = 'a'
2922  Need char = 'c'  Need char = 'c'
2923    
2924  /x*+\w/D  /x*+\w/DZ
2925  ------------------------------------------------------------------  ------------------------------------------------------------------
2926    0   6 Bra 0          Bra
2927    3     x*+          x*+
2928    5     \w          \w
2929    6   6 Ket          Ket
2930    9     End          End
2931  ------------------------------------------------------------------  ------------------------------------------------------------------
2932  Capturing subpattern count = 0  Capturing subpattern count = 0
2933  Partial matching not supported  Partial matching not supported
# Line 2938  No need char Line 2938  No need char
2938   0: F   0: F
2939      xxxxx      xxxxx
2940  No match  No match
2941    
2942  /x?+/D  /x?+/DZ
2943  ------------------------------------------------------------------  ------------------------------------------------------------------
2944    0   5 Bra 0          Bra
2945    3     x?+          x?+
2946    5   5 Ket          Ket
2947    8     End          End
2948  ------------------------------------------------------------------  ------------------------------------------------------------------
2949  Capturing subpattern count = 0  Capturing subpattern count = 0
2950  No options  No options
2951  No first char  No first char
2952  No need char  No need char
2953    
2954  /x++/D  /x++/DZ
2955  ------------------------------------------------------------------  ------------------------------------------------------------------
2956    0   5 Bra 0          Bra
2957    3     x++          x++
2958    5   5 Ket          Ket
2959    8     End          End
2960  ------------------------------------------------------------------  ------------------------------------------------------------------
2961  Capturing subpattern count = 0  Capturing subpattern count = 0
2962  Partial matching not supported  Partial matching not supported
# Line 2964  No options Line 2964  No options
2964  First char = 'x'  First char = 'x'
2965  No need char  No need char
2966    
2967  /x{1,3}+/D  /x{1,3}+/DZ
2968  ------------------------------------------------------------------  ------------------------------------------------------------------
2969    0  15 Bra 0          Bra
2970    3   9 Once          Once
2971    6     x          x
2972    8     x{0,2}          x{0,2}
2973   12   9 Ket          Ket
2974   15  15 Ket          Ket
2975   18     End          End
2976  ------------------------------------------------------------------  ------------------------------------------------------------------
2977  Capturing subpattern count = 0  Capturing subpattern count = 0
2978  Partial matching not supported  Partial matching not supported
# Line 2980  No options Line 2980  No options
2980  First char = 'x'  First char = 'x'
2981  No need char  No need char
2982    
2983  /(x)*+/D  /(x)*+/DZ
2984  ------------------------------------------------------------------  ------------------------------------------------------------------
2985    0  20 Bra 0          Bra
2986    3  14 Once          Once
2987    6     Brazero          Brazero
2988    7   7 Bra 1          CBra 1
2989   12     x          x
2990   14   7 KetRmax          KetRmax
2991   17  14 Ket          Ket
2992   20  20 Ket          Ket
2993   23     End          End
2994  ------------------------------------------------------------------  ------------------------------------------------------------------
2995  Capturing subpattern count = 1  Capturing subpattern count = 1
2996  No options  No options
# Line 3010  No need char Line 3010  No need char
3010  No match  No match
3011      this is not a line with only words and spaces!      this is not a line with only words and spaces!
3012  No match  No match
3013    
3014  /(\d++)(\w)/I  /(\d++)(\w)/I
3015  Capturing subpattern count = 2  Capturing subpattern count = 2
3016  Partial matching not supported  Partial matching not supported
# Line 3023  No need char Line 3023  No need char
3023   2: a   2: a
3024      *** Failers      *** Failers
3025  No match  No match
3026      12345+      12345+
3027  No match  No match
3028    
3029  /a++b/I  /a++b/I
# Line 3064  No need char Line 3064  No need char
3064      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
3065   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
3066   1: x   1: x
3067    
3068  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3069  Capturing subpattern count = 1  Capturing subpattern count = 1
3070  Partial matching not supported  Partial matching not supported
3071  No options  No options
# Line 3079  Need char = ')' Line 3079  Need char = ')'
3079   1: xyz   1: xyz
3080      *** Failers      *** Failers
3081  No match  No match
3082      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3083  No match  No match
3084    
3085  /(abc){1,3}+/D  /(abc){1,3}+/DZ
3086  ------------------------------------------------------------------  ------------------------------------------------------------------
3087    0  59 Bra 0          Bra
3088    3  53 Once          Once
3089    6  11 Bra 1          CBra 1
3090   11     abc          abc
3091   17  11 Ket          Ket
3092   20     Brazero          Brazero
3093   21  32 Bra 0          Bra
3094   24  11 Bra 1          CBra 1
3095   29     abc          abc
3096   35  11 Ket          Ket
3097   38     Brazero          Brazero
3098   39  11 Bra 1          CBra 1
3099   44     abc          abc
3100   50  11 Ket          Ket
3101   53  32 Ket          Ket
3102   56  53 Ket          Ket
3103   59  59 Ket          Ket
3104   62     End          End
3105  ------------------------------------------------------------------  ------------------------------------------------------------------
3106  Capturing subpattern count = 1  Capturing subpattern count = 1
3107  No options  No options
# Line 3120  Failed: nothing to repeat at offset 7 Line 3120  Failed: nothing to repeat at offset 7
3120  /a{2,3}?+b/IU  /a{2,3}?+b/IU
3121  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3122    
3123  /x(?U)a++b/D  /x(?U)a++b/DZ
3124  ------------------------------------------------------------------  ------------------------------------------------------------------
3125    0   9 Bra 0          Bra
3126    3     x          x
3127    5     a++          a++
3128    7     b          b
3129    9   9 Ket          Ket
3130   12     End          End
3131  ------------------------------------------------------------------  ------------------------------------------------------------------
3132  Capturing subpattern count = 0  Capturing subpattern count = 0
3133  Partial matching not supported  Partial matching not supported
# Line 3137  Need char = 'b' Line 3137  Need char = 'b'
3137      xaaaab      xaaaab
3138   0: xaaaab   0: xaaaab
3139    
3140  /(?U)xa++b/D  /(?U)xa++b/DZ
3141  ------------------------------------------------------------------  ------------------------------------------------------------------
3142    0   9 Bra 0          Bra
3143    3     x          x
3144    5     a++          a++
3145    7     b          b
3146    9   9 Ket          Ket
3147   12     End          End
3148  ------------------------------------------------------------------  ------------------------------------------------------------------
3149  Capturing subpattern count = 0  Capturing subpattern count = 0
3150  Partial matching not supported  Partial matching not supported
# Line 3154  Need char = 'b' Line 3154  Need char = 'b'
3154      xaaaab      xaaaab
3155   0: xaaaab   0: xaaaab
3156    
3157  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3158  ------------------------------------------------------------------  ------------------------------------------------------------------
3159    0 116 Bra 0          Bra
3160    3     ^          ^
3161    4 109 Bra 1          CBra 1
3162    9   7 Bra 2          CBra 2
3163   14     a+          a+
3164   16   7 Ket          Ket
3165   19  39 Bra 3          CBra 3
3166   24     [ab]+?          [ab]+?
3167   58  39 Ket          Ket
3168   61  39 Bra 4          CBra 4
3169   66     [bc]+          [bc]+
3170  100  39 Ket          Ket
3171  103   7 Bra 5          CBra 5
3172  108     \w*          \w*
3173  110   7 Ket          Ket
3174  113 109 Ket          Ket
3175  116 116 Ket          Ket
3176  119     End          End
3177  ------------------------------------------------------------------  ------------------------------------------------------------------
3178  Capturing subpattern count = 5  Capturing subpattern count = 5
3179  Partial matching not supported  Partial matching not supported
# Line 3181  Options: anchored Line 3181  Options: anchored
3181  No first char  No first char
3182  No need char  No need char
3183    
3184  /^x(?U)a+b/D  /^x(?U)a+b/DZ
3185  ------------------------------------------------------------------  ------------------------------------------------------------------
3186    0  10 Bra 0          Bra
3187    3     ^          ^
3188    4     x          x
3189    6     a++          a++
3190    8     b          b
3191   10  10 Ket          Ket
3192   13     End          End
3193  ------------------------------------------------------------------  ------------------------------------------------------------------
3194  Capturing subpattern count = 0  Capturing subpattern count = 0
3195  Partial matching not supported  Partial matching not supported
# Line 3197  Options: anchored Line 3197  Options: anchored
3197  No first char  No first char
3198  Need char = 'b'  Need char = 'b'
3199    
3200  /^x(?U)(a+)b/D  /^x(?U)(a+)b/DZ
3201  ------------------------------------------------------------------  ------------------------------------------------------------------
3202    0  18 Bra 0          Bra
3203    3     ^          ^
3204    4     x          x
3205    6   7 Bra 1          CBra 1
3206   11     a+?          a+?
3207   13   7 Ket          Ket
3208   16     b          b
3209   18  18 Ket          Ket
3210   21     End          End
3211  ------------------------------------------------------------------  ------------------------------------------------------------------
3212  Capturing subpattern count = 1  Capturing subpattern count = 1
3213  Partial matching not supported  Partial matching not supported
# Line 3248  Failed: missing terminating ] for charac Line 3248  Failed: missing terminating ] for charac
3248  /[[:space:]/I  /[[:space:]/I
3249  Failed: missing terminating ] for character class at offset 10  Failed: missing terminating ] for character class at offset 10
3250    
3251  /[\s]/IDM  /[\s]/IDZ
 Memory allocation (code space): 40  
3252  ------------------------------------------------------------------  ------------------------------------------------------------------
3253    0  36 Bra 0          Bra
3254    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3255   36  36 Ket          Ket
3256   39     End          End
3257  ------------------------------------------------------------------  ------------------------------------------------------------------
3258  Capturing subpattern count = 0  Capturing subpattern count = 0
3259  No options  No options
3260  No first char  No first char
3261  No need char  No need char
3262    
3263  /[[:space:]]/IDM  /[[:space:]]/IDZ
 Memory allocation (code space): 40  
3264  ------------------------------------------------------------------  ------------------------------------------------------------------
3265    0  36 Bra 0          Bra
3266    3     [\x09-\x0d ]          [\x09-\x0d ]
3267   36  36 Ket          Ket
3268   39     End          End
3269  ------------------------------------------------------------------  ------------------------------------------------------------------
3270  Capturing subpattern count = 0  Capturing subpattern count = 0
3271  No options  No options
3272  No first char  No first char
3273  No need char  No need char
3274    
3275  /[[:space:]abcde]/IDM  /[[:space:]abcde]/IDZ
 Memory allocation (code space): 40  
3276  ------------------------------------------------------------------  ------------------------------------------------------------------
3277    0  36 Bra 0          Bra
3278    3     [\x09-\x0d a-e]          [\x09-\x0d a-e]
3279   36  36 Ket          Ket
3280   39     End          End
3281  ------------------------------------------------------------------  ------------------------------------------------------------------
3282  Capturing subpattern count = 0  Capturing subpattern count = 0
3283  No options  No options
# Line 3301  Need char = '>' Line 3298  Need char = '>'
3298   0: <abc <123> hij>   0: <abc <123> hij>
3299      <abc <def> hij>      <abc <def> hij>
3300   0: <def>   0: <def>
3301      <abc<>def>      <abc<>def>
3302   0: <abc<>def>   0: <abc<>def>
3303      <abc<>      <abc<>
3304   0: <>   0: <>
3305      *** Failers      *** Failers
3306  No match  No match
3307      <abc      <abc
3308  No match  No match
3309    
3310  |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  
3311  ------------------------------------------------------------------  ------------------------------------------------------------------
3312    0 822 Bra 0          Bra
3313    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
3314  821     \b          \b
3315  822 822 Ket          Ket
3316  825     End          End
3317  ------------------------------------------------------------------  ------------------------------------------------------------------
3318  Capturing subpattern count = 0  Capturing subpattern count = 0
3319  No options  No options
3320  First char = '8'  First char = '8'
3321  Need char = 'X'  Need char = 'X'
3322    
3323  |\$\<\.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  
3324  ------------------------------------------------------------------  ------------------------------------------------------------------
3325    0 812 Bra 0          Bra
3326    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
3327  811     \b          \b
3328  812 812 Ket          Ket
3329  815     End          End
3330  ------------------------------------------------------------------  ------------------------------------------------------------------
3331  Capturing subpattern count = 0  Capturing subpattern count = 0
3332  No options  No options
# Line 3352  Partial matching not supported Line 3347  Partial matching not supported
3347  No options  No options
3348  First char at start or follows newline  First char at start or follows newline
3349  No need char  No need char
3350    
3351  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3352  Capturing subpattern count = 1  Capturing subpattern count = 1
3353  Max back reference = 1  Max back reference = 1
# Line 3387  No need char Line 3382  No need char
3382   0: bc123bc   0: bc123bc
3383   1: bc   1: bc
3384   2: bc   2: bc
3385    
3386  /a[b]/I  /a[b]/I
3387  Capturing subpattern count = 0  Capturing subpattern count = 0
3388  No options  No options
# Line 3443  No options Line 3438  No options
3438  No first char  No first char
3439  Need char = 'a'  Need char = 'a'
3440    
3441  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
3442  Capturing subpattern count = 0  Capturing subpattern count = 1
3443  No options  No options
3444  First char = 'a'  First char = 'a'
3445  No need char  No need char
3446    
3447  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
3448  Capturing subpattern count = 0  Capturing subpattern count = 1
3449  No options  No options
3450  First char = 'a'  First char = 'a'
3451  Need char = 'z'  Need char = 'z'
3452    
3453  /(?(1)abz)/I  /(?(1)abz)(.)/I
3454  Capturing subpattern count = 0  Capturing subpattern count = 1
3455  No options  No options
3456  No first char  No first char
3457  No need char  No need char
3458    
3459  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
3460  Capturing subpattern count = 0  Capturing subpattern count = 1
3461  No options  No options
3462  No first char  No first char
3463  Need char = '3'  Need char = '3'
# Line 3536  First char at start or follows newline Line 3531  First char at start or follows newline
3531  Need char = 'a'  Need char = 'a'
3532    abcde    abcde
3533   0: a   0: a
3534    xy\nabc    xy\nabc
3535   0: a   0: a
3536    *** Failers    *** Failers
3537  No match  No match
3538    xyabc    xyabc
3539  No match  No match
3540    
3541  /c|abc/I  /c|abc/I
# Line 3572  Need char = 'f' Line 3567  Need char = 'f'
3567  --->abcdef  --->abcdef
3568    0 ^  ^       d    0 ^  ^       d
3569   0: abcdef   0: abcdef
3570      1234abcdef      1234abcdef
3571  --->1234abcdef  --->1234abcdef
3572    0     ^  ^       d    0     ^  ^       d
3573   0: abcdef   0: abcdef
# Line 3580  Need char = 'f' Line 3575  Need char = 'f'
3575  No match  No match
3576      abcxyz      abcxyz
3577  No match  No match
3578      abcxyzf      abcxyzf
3579  --->abcxyzf  --->abcxyzf
3580    0 ^  ^        d    0 ^  ^        d
3581  No match  No match
# Line 3595  Need char = 'f' Line 3590  Need char = 'f'
3590    0    ^  ^       d    0    ^  ^       d
3591    1    ^    ^     f    1    ^    ^     f
3592   0: abcdef   0: abcdef
3593    
3594  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/I
3595  Capturing subpattern count = 0  Capturing subpattern count = 0
3596  No options  No options
3597  No first char  No first char
# Line 3611  Need char = 'f' Line 3606  Need char = 'f'
3606   0: 4abcdef   0: 4abcdef
3607      *** Failers      *** Failers
3608  No match  No match
3609      abcdef      abcdef
3610  --->abcdef  --->abcdef
3611    1 ^          \d    1 ^          \d
3612    1  ^         \d    1  ^         \d
# Line 3620  No match Line 3615  No match
3615    1     ^      \d    1     ^      \d
3616    1      ^     \d    1      ^     \d
3617  No match  No match
3618    
3619  /(?C255)ab/I  /(?C255)ab/I
3620  Capturing subpattern count = 0  Capturing subpattern count = 0
3621  No options  No options
# Line 3630  Need char = 'b' Line 3625  Need char = 'b'
3625  /(?C256)ab/I  /(?C256)ab/I
3626  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3627    
3628  /(?Cab)xx/I  /(?Cab)xx/I
3629  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3630    
3631  /(?C12vr)x/I  /(?C12vr)x/I
# Line 3659  Need char = 'f' Line 3654  Need char = 'f'
3654    1    ^    ^     f    1    ^    ^     f
3655   0: abcdef   0: abcdef
3656   1: abc   1: abc
3657      123abcdef\C+      123abcdef\C+
3658  Callout 0: last capture = 1  Callout 0: last capture = 1
3659   0: <unset>   0: <unset>
3660   1: abc   1: abc
# Line 3672  Callout 1: last capture = 1 Line 3667  Callout 1: last capture = 1
3667         ^    ^     f         ^    ^     f
3668   0: abcdef   0: abcdef
3669   1: abc   1: abc
3670      123abcdef\C-      123abcdef\C-
3671   0: abcdef   0: abcdef
3672   1: abc   1: abc
3673      *** Failers      *** Failers
3674  No match  No match
3675      123abcdef\C!1      123abcdef\C!1
3676  --->123abcdef  --->123abcdef
3677    0    ^  ^       d    0    ^  ^       d
3678    1    ^    ^     f    1    ^    ^     f
3679  No match  No match
3680    
3681  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3682  Capturing subpattern count = 1  Capturing subpattern count = 1
3683  No options  No options
# Line 3696  No need char Line 3691  No need char
3691    1 ^        ^    )    1 ^        ^    )
3692   0: abcabcabc   0: abcabcabc
3693   1: abc   1: abc
3694      abcabc\C!1!3      abcabc\C!1!3
3695  --->abcabc  --->abcabc
3696    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3697    1 ^  ^       )    1 ^  ^       )
# Line 3707  No need char Line 3702  No need char
3702  --->*** Failers  --->*** Failers
3703    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3704   0:   0:
3705      abcabcabc\C!1!3      abcabcabc\C!1!3
3706  --->abcabcabc  --->abcabcabc
3707    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3708    1 ^  ^          )    1 ^  ^          )
# Line 3741  Callout 0: last capture = 1 Line 3736  Callout 0: last capture = 1
3736      ^     ^    )      ^     ^    )
3737   0: 123456   0: 123456
3738   1: 456   1: 456
3739      123456789\C+      123456789\C+
3740  Callout 0: last capture = -1  Callout 0: last capture = -1
3741   0: <unset>   0: <unset>
3742  --->123456789  --->123456789
# Line 3813  Callout 0: last capture = 1 Line 3808  Callout 0: last capture = 1
3808      ^          a      ^          a
3809   0: abcdef   0: abcdef
3810   1: abc   1: abc
3811    
3812  /(?!(abc)(?C1)d)(?C2)abcxyz/I  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3813  Capturing subpattern count = 1  Capturing subpattern count = 1
3814  No options  No options
3815  First char = 'a'  First char = 'a'
3816  Need char = 'z'  Need char = 'z'
3817      abcxyz\C+      abcxyz\C+
3818  Callout 1: last capture = 1  Callout 1: last capture = 1
3819   0: <unset>   0: <unset>
3820   1: abc   1: abc
# Line 3844  Callout 0: last capture = 1 Line 3839  Callout 0: last capture = 1
3839         ^       )         ^       )
3840   0: xyz   0: xyz
3841   1: abc   1: abc
3842    
3843  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3844  Capturing subpattern count = 2  Capturing subpattern count = 2
3845  Partial matching not supported  Partial matching not supported
# Line 3896  Callout data = 1 Line 3891  Callout data = 1
3891    1 ^        ^    1 ^        ^
3892  Callout data = 1  Callout data = 1
3893  No match  No match
3894    
3895  /(?C)abc/I  /(?C)abc/I
3896  Capturing subpattern count = 0  Capturing subpattern count = 0
3897  No options  No options
3898  First char = 'a'  First char = 'a'
# Line 3954  No need char Line 3949  No need char
3949   3: xxab   3: xxab
3950      *** Failers      *** Failers
3951  No match  No match
3952      xyab      xyab
3953  No match  No match
3954    
3955  /(ab|(bc|(de|(?1))))/I  /(ab|(bc|(de|(?1))))/I
# Line 3974  No need char Line 3969  No need char
3969      a(b)c      a(b)c
3970   0: a(b)c   0: a(b)c
3971   1: c   1: c
3972      a(b(c))d      a(b(c))d
3973   0: a(b(c))d   0: a(b(c))d
3974   1: d   1: d
3975      *** Failers)      *** Failers)
3976  No match  No match
3977      a(b(c)d      a(b(c)d
3978  No match  No match
3979    
3980  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
# Line 3997  Need char = '<' Line 3992  Need char = '<'
3992   0: >abc>(1(2)3)<xyz<   0: >abc>(1(2)3)<xyz<
3993   1: (1(2)3)   1: (1(2)3)
3994    
3995  /(a(?1)b)/D  /(a(?1)b)/DZ
3996  ------------------------------------------------------------------  ------------------------------------------------------------------
3997    0  24 Bra 0          Bra
3998    3  18 Bra 1          CBra 1
3999    8     a          a
4000   10   6 Once          Once
4001   13   3 Recurse          Recurse
4002   16   6 Ket          Ket
4003   19     b          b
4004   21  18 Ket          Ket
4005   24  24 Ket          Ket
4006   27     End          End
4007  ------------------------------------------------------------------  ------------------------------------------------------------------
4008  Capturing subpattern count = 1  Capturing subpattern count = 1
4009  No options  No options
4010  First char = 'a'  First char = 'a'
4011  Need char = 'b'  Need char = 'b'
4012    
4013  /(a(?1)+b)/D  /(a(?1)+b)/DZ
4014  ------------------------------------------------------------------  ------------------------------------------------------------------
4015    0  24 Bra 0          Bra
4016    3  18 Bra 1          CBra 1
4017    8     a          a
4018   10   6 Once          Once
4019   13   3 Recurse          Recurse
4020   16   6 KetRmax          KetRmax
4021   19     b          b
4022   21  18 Ket          Ket
4023   24  24 Ket          Ket
4024   27     End          End
4025  ------------------------------------------------------------------  ------------------------------------------------------------------
4026  Capturing subpattern count = 1  Capturing subpattern count = 1
4027  No options  No options
# Line 4056  No need char Line 4051  No need char
4051   2: <unset>   2: <unset>
4052   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4053   4: A   4: A
4054      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4055   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4056   1: <unset>   1: <unset>
4057   2: <unset>   2: <unset>
# Line 4064  No need char Line 4059  No need char
4059   4: A   4: A
4060      *** Failers      *** Failers
4061  No match  No match
4062      The quick brown fox      The quick brown fox
4063  No match  No match
4064    
4065  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4066  Capturing subpattern count = 2  Capturing subpattern count = 2
4067  Partial matching not supported  Partial matching not supported
# Line 4087  No need char Line 4082  No need char
4082  No match  No match
4083      ((2+2)*-3)-7)      ((2+2)*-3)-7)
4084  No match  No match
4085    
4086  /^(x(y|(?1){2})z)/I  /^(x(y|(?1){2})z)/I
4087  Capturing subpattern count = 2  Capturing subpattern count = 2
4088  Options: anchored  Options: anchored
# Line 4097  No need char Line 4092  No need char
4092   0: xyz   0: xyz
4093   1: xyz   1: xyz
4094   2: y   2: y
4095      xxyzxyzz      xxyzxyzz
4096   0: xxyzxyzz   0: xxyzxyzz
4097   1: xxyzxyzz   1: xxyzxyzz
4098   2: xyzxyz   2: xyzxyz
# Line 4105  No need char Line 4100  No need char
4100  No match  No match
4101      xxyzz      xxyzz
4102  No match  No match
4103      xxyzxyzxyzz      xxyzxyzxyzz
4104  No match  No match
4105    
4106  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
# Line 4130  Need char = '>' Line 4125  Need char = '>'
4125   0: <def>   0: <def>
4126   1: <def>   1: <def>
4127   2: <def>   2: <def>
4128      <abc<>def>      <abc<>def>
4129   0: <abc<>def>   0: <abc<>def>
4130   1: <abc<>def>   1: <abc<>def>
4131   2: <abc<>def>   2: <abc<>def>
4132      <abc<>      <abc<>
4133   0: <>   0: <>
4134   1: <>   1: <>
4135   2: <>   2: <>
# Line 4169  No need char Line 4164  No need char
4164      a=b      a=b
4165   0: a=b   0: a=b
4166   1: a   1: a
4167      a=bc      a=bc
4168   0: a=bc   0: a=bc
4169   1: a   1: a
4170    
# Line 4186  No need char Line 4181  No need char
4181   0: a=b   0: a=b
4182   1: a   1: a
4183   2: b   2: b
4184      a=bc      a=bc
4185   0: a=bc   0: a=bc
4186   1: a   1: a
4187   2: c   2: c
4188    
4189  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4190  ------------------------------------------------------------------  ------------------------------------------------------------------
4191    0  32 Bra 0          Bra
4192    3     a          a
4193    5   7 Bra 1          CBra 1
4194   10     b          b
4195   12   5 Alt          Alt
4196   15     c          c
4197   17  12 Ket          Ket
4198   20     d          d
4199   22   7 Bra 2          CBra 2
4200   27     e          e
4201   29   7 Ket          Ket
4202   32  32 Ket          Ket
4203   35     End          End
4204  ------------------------------------------------------------------  ------------------------------------------------------------------
4205  Capturing subpattern count = 2  Capturing subpattern count = 2
4206  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4218  Need char = 'e' Line 4213  Need char = 'e'
4213   0: abde   0: abde
4214   1: b   1: b
4215   2: e   2: e
4216      acde      acde
4217   0: acde   0: acde
4218   1: c   1: c
4219   2: e   2: e
4220    
4221  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4222  ------------------------------------------------------------------  ------------------------------------------------------------------
4223    0  41 Bra 0          Bra
4224    3  25 Bra 0          Bra
4225    6     a          a
4226    8  17 Bra 1          CBra 1
4227   13     c          c
4228   15   7 Bra 2          CBra 2
4229   20     d          d
4230   22   7 Ket          Ket
4231   25  17 Ket          Ket
4232   28  25 Ket          Ket
4233   31   7 Bra 3          CBra 3
4234   36     a          a
4235   38   7 Ket          Ket
4236   41  41 Ket          Ket
4237   44     End          End
4238  ------------------------------------------------------------------  ------------------------------------------------------------------
4239  Capturing subpattern count = 3  Capturing subpattern count = 3
4240  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4250  No options Line 4245  No options
4245  First char = 'a'  First char = 'a'
4246  Need char = 'a'  Need char = 'a'
4247    
4248  /(?P<a>a)...(?P=a)bbb(?P>a)d/D  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4249  ------------------------------------------------------------------  ------------------------------------------------------------------
4250    0  36 Bra 0          Bra
4251    3   7 Bra 1          CBra 1
4252    8     a          a
4253   10   7 Ket          Ket
4254   13     Any          Any
4255   14     Any          Any
4256   15     Any          Any
4257   16     \1          \1
4258   19     bbb          bbb
4259   25   6 Once          Once
4260   28   3 Recurse          Recurse
4261   31   6 Ket          Ket
4262   34     d          d
4263   36  36 Ket          Ket
4264   39     End          End
4265  ------------------------------------------------------------------  ------------------------------------------------------------------
4266  Capturing subpattern count = 1  Capturing subpattern count = 1
4267  Max back reference = 1  Max back reference = 1
# Line 4304  No need char Line 4299  No need char
4299   2: <unset>   2: <unset>
4300   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4301   4: A   4: A
4302      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4303   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4304   1: <unset>   1: <unset>
4305   2: <unset>   2: <unset>
# Line 4312  No need char Line 4307  No need char
4307   4: A   4: A
4308      *** Failers      *** Failers
4309  No match  No match
4310      The quick brown fox      The quick brown fox
4311  No match  No match
4312    
4313  /((?(R)a|b))\1(?1)?/I  /((?(R)a|b))\1(?1)?/I
4314  Capturing subpattern count = 1  Capturing subpattern count = 1
4315  Max back reference = 1  Max back reference = 1
# Line 4324  No need char Line 4319  No need char
4319    bb    bb
4320   0: bb   0: bb
4321   1: b   1: b
4322    bbaa    bbaa
4323   0: bba   0: bba
4324   1: b   1: b
4325    
# Line 4413  Options: dotall Line 4408  Options: dotall
4408  No first char  No first char
4409  No need char  No need char
4410    
4411  /(a)(bc)/IND  /(a)(bc)/INDZ
4412  ------------------------------------------------------------------  ------------------------------------------------------------------
4413    0  21 Bra 0          Bra
4414    3   5 Bra 0          Bra
4415    6     a          a
4416    8   5 Ket          Ket
4417   11   7 Bra 0          Bra
4418   14     bc          bc
4419   18   7 Ket          Ket
4420   21  21 Ket          Ket
4421   24     End          End
4422  ------------------------------------------------------------------  ------------------------------------------------------------------
4423  Capturing subpattern count = 0  Capturing subpattern count = 0
4424  Options: no_auto_capture  Options: no_auto_capture
# Line 4432  Need char = 'c' Line 4427  Need char = 'c'
4427    abc    abc
4428   0: abc   0: abc
4429    
4430  /(?P<one>a)(bc)/IND  /(?P<one>a)(bc)/INDZ
4431  ------------------------------------------------------------------  ------------------------------------------------------------------
4432    0  23 Bra 0          Bra
4433    3   7 Bra 1          CBra 1
4434    8     a          a
4435   10   7 Ket          Ket
4436   13   7 Bra 0          Bra
4437   16     bc          bc
4438   20   7 Ket          Ket
4439   23  23 Ket          Ket
4440   26     End          End
4441  ------------------------------------------------------------------  ------------------------------------------------------------------
4442  Capturing subpattern count = 1  Capturing subpattern count = 1
4443  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4454  Need char = 'c' Line 4449  Need char = 'c'
4449   0: abc   0: abc
4450   1: a   1: a
4451    
4452  /(a)(?P<named>bc)/IND  /(a)(?P<named>bc)/INDZ
4453  ------------------------------------------------------------------  ------------------------------------------------------------------
4454    0  23 Bra 0          Bra
4455    3   5 Bra 0          Bra
4456    6     a          a
4457    8   5 Ket          Ket
4458   11   9 Bra 1          CBra 1
4459   16     bc          bc
4460   20   9 Ket          Ket
4461   23  23 Ket          Ket
4462   26     End          End
4463  ------------------------------------------------------------------  ------------------------------------------------------------------
4464  Capturing subpattern count = 1  Capturing subpattern count = 1
4465  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4540  Need char = 'h' Line 4535  Need char = 'h'
4535   2: gh   2: gh
4536    C cd (2) one    C cd (2) one
4537    C gh (2) two    C gh (2) two
4538      abcdefgh\Cthree      abcdefgh\Cthree
4539  no parentheses with name "three"  no parentheses with name "three"
4540   0: abcdefgh   0: abcdefgh
4541   1: cd   1: cd
4542   2: gh   2: gh
4543  copy substring three failed -7  copy substring three failed -7
4544    
4545  /(?P<Tes>)(?P<Test>)/D  /(?P<Tes>)(?P<Test>)/DZ
4546  ------------------------------------------------------------------  ------------------------------------------------------------------
4547    0  19 Bra 0          Bra
4548    3   5 Bra 1          CBra 1
4549    8   5 Ket          Ket
4550   11   5 Bra 2          CBra 2
4551   16   5 Ket          Ket
4552   19  19 Ket          Ket
4553   22     End          End
4554  ------------------------------------------------------------------  ------------------------------------------------------------------
4555  Capturing subpattern count = 2  Capturing subpattern count = 2
4556  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4565  No options Line 4560  No options
4560  No first char  No first char
4561  No need char  No need char
4562    
4563  /(?P<Test>)(?P<Tes>)/D  /(?P<Test>)(?P<Tes>)/DZ
4564  ------------------------------------------------------------------  ------------------------------------------------------------------
4565    0  19 Bra 0          Bra
4566    3   5 Bra 1          CBra 1
4567    8   5 Ket          Ket
4568   11   5 Bra 2          CBra 2
4569   16   5 Ket          Ket
4570   19  19 Ket          Ket
4571   22     End          End
4572  ------------------------------------------------------------------  ------------------------------------------------------------------
4573  Capturing subpattern count = 2  Capturing subpattern count = 2
4574  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4623  Need char = ']' Line 4618  Need char = ']'
4618   3: ,4234   3: ,4234
4619      *** Failers      *** Failers
4620  No match  No match
4621      []      []
4622  No match  No match
4623    
4624  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
# Line 4639  Need char = ']' Line 4634  Need char = ']'
4634   1: 10,20,30,5,5,4,4,2,43,23,4234   1: 10,20,30,5,5,4,4,2,43,23,4234
4635   2: 10   2: 10
4636   3: ,4234   3: ,4234
4637      []      []
4638   0: []   0: []
4639    
4640  /(a(b(?2)c))?/D  /(a(b(?2)c))?/DZ
4641  ------------------------------------------------------------------  ------------------------------------------------------------------
4642    0  35 Bra 0          Bra
4643    3     Brazero          Brazero
4644    4  28 Bra 1          CBra 1
4645    9     a          a
4646   11  18 Bra 2          CBra 2
4647   16     b          b
4648   18   6 Once          Once
4649   21  11 Recurse          Recurse
4650   24   6 Ket          Ket
4651   27     c          c
4652   29  18 Ket          Ket
4653   32  28 Ket          Ket
4654   35  35 Ket          Ket
4655   38     End          End
4656  ------------------------------------------------------------------  ------------------------------------------------------------------
4657  Capturing subpattern count = 2  Capturing subpattern count = 2
4658  No options  No options
4659  No first char  No first char
4660  No need char  No need char
4661    
4662  /(a(b(?2)c))*/D  /(a(b(?2)c))*/DZ
4663  ------------------------------------------------------------------  ------------------------------------------------------------------
4664    0  35 Bra 0          Bra
4665    3     Brazero          Brazero
4666    4  28 Bra 1          CBra 1
4667    9     a          a
4668   11  18 Bra 2          CBra 2
4669   16     b          b
4670   18   6 Once          Once
4671   21  11 Recurse          Recurse
4672   24   6 Ket          Ket
4673   27     c          c
4674   29  18 Ket          Ket
4675   32  28 KetRmax          KetRmax
4676   35  35 Ket          Ket
4677   38     End          End
4678  ------------------------------------------------------------------  ------------------------------------------------------------------
4679  Capturing subpattern count = 2  Capturing subpattern count = 2
4680  No options  No options
4681  No first char  No first char
4682  No need char  No need char
4683    
4684  /(a(b(?2)c)){0,2}/D  /(a(b(?2)c)){0,2}/DZ
4685  ------------------------------------------------------------------  ------------------------------------------------------------------
4686    0  73 Bra 0          Bra
4687    3     Brazero          Brazero
4688    4  66 Bra 0          Bra
4689    7  28 Bra 1          CBra 1
4690   12     a          a
4691   14  18 Bra 2          CBra 2
4692   19     b          b
4693   21   6 Once          Once
4694   24  14 Recurse          Recurse
4695   27   6 Ket          Ket
4696   30     c          c
4697   32  18 Ket          Ket
4698   35  28 Ket          Ket
4699   38     Brazero          Brazero
4700   39  28 Bra 1          CBra 1
4701   44     a          a
4702   46  18 Bra 2          CBra 2
4703   51     b          b
4704   53   6 Once          Once
4705   56  14 Recurse          Recurse
4706   59   6 Ket          Ket
4707   62     c          c
4708   64  18 Ket          Ket
4709   67  28 Ket          Ket
4710   70  66 Ket          Ket
4711   73  73 Ket          Ket
4712   76     End          End
4713  ------------------------------------------------------------------  ------------------------------------------------------------------
4714  Capturing subpattern count = 2  Capturing subpattern count = 2
4715  No options  No options
4716  No first char  No first char
4717  No need char  No need char
4718    
4719  /[ab]{1}+/D  /[ab]{1}+/DZ
4720  ------------------------------------------------------------------  ------------------------------------------------------------------
4721    0  47 Bra 0          Bra
4722    3  41 Once          Once
4723    6     [ab]{1,1}          [ab]{1,1}
4724   44  41 Ket          Ket
4725   47  47 Ket          Ket
4726   50     End          End
4727  ------------------------------------------------------------------  ------------------------------------------------------------------
4728  Capturing subpattern count = 0  Capturing subpattern count = 0
4729  No options  No options
# Line 4755  Study returned NULL Line 4750  Study returned NULL
4750       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4751   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4752   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4753    
4754  /a*.*b/ISD  /a*.*b/ISDZ
4755  ------------------------------------------------------------------  ------------------------------------------------------------------
4756    0   9 Bra 0          Bra
4757    3     a*          a*
4758    5     Any*          Any*
4759    7     b          b
4760    9   9 Ket          Ket
4761   12     End          End
4762  ------------------------------------------------------------------  ------------------------------------------------------------------
4763  Capturing subpattern count = 0  Capturing subpattern count = 0
4764  Partial matching not supported  Partial matching not supported
# Line 4772  No first char Line 4767  No first char
4767  Need char = 'b'  Need char = 'b'
4768  Study returned NULL  Study returned NULL
4769    
4770  /(a|b)*.?c/ISD  /(a|b)*.?c/ISDZ
4771  ------------------------------------------------------------------  ------------------------------------------------------------------
4772    0  23 Bra 0          Bra
4773    3     Brazero          Brazero
4774    4   7 Bra 1          CBra 1
4775    9     a          a
4776   11   5 Alt          Alt
4777   14     b          b
4778   16  12 KetRmax          KetRmax
4779   19     Any?          Any?
4780   21     c          c
4781   23  23 Ket          Ket
4782   26     End          End
4783  ------------------------------------------------------------------  ------------------------------------------------------------------
4784  Capturing subpattern count = 1  Capturing subpattern count = 1
4785  No options  No options
# Line 4792  No first char Line 4787  No first char
4787  Need char = 'c'  Need char = 'c'
4788  Study returned NULL  Study returned NULL
4789    
4790  /abc(?C255)de(?C)f/D  /abc(?C255)de(?C)f/DZ
4791  ------------------------------------------------------------------  ------------------------------------------------------------------
4792    0  27 Bra 0          Bra
4793    3     abc          abc
4794    9     Callout 255 10 1          Callout 255 10 1
4795   15     de          de
4796   19     Callout 0 16 1          Callout 0 16 1
4797   25     f          f
4798   27  27 Ket          Ket
4799   30     End          End
4800  ------------------------------------------------------------------  ------------------------------------------------------------------
4801  Capturing subpattern count = 0  Capturing subpattern count = 0
4802  No options  No options
4803  First char = 'a'  First char = 'a'
4804  Need char = 'f'  Need char = 'f'
4805    
4806  /abcde/ICD  /abcde/ICDZ
4807  ------------------------------------------------------------------  ------------------------------------------------------------------
4808    0  49 Bra 0          Bra
4809    3     Callout 255 0 1          Callout 255 0 1
4810    9     a          a
4811   11     Callout 255 1 1          Callout 255 1 1
4812   17     b          b
4813   19     Callout 255 2 1          Callout 255 2 1
4814   25     c          c
4815   27     Callout 255 3 1          Callout 255 3 1
4816   33     d          d
4817   35     Callout 255 4 1          Callout 255 4 1
4818   41     e          e
4819   43     Callout 255 5 0          Callout 255 5 0
4820   49  49 Ket          Ket
4821   52     End          End
4822  ------------------------------------------------------------------  ------------------------------------------------------------------
4823  Capturing subpattern count = 0  Capturing subpattern count = 0
4824  Options:  Options:
# Line 4838  Need char = 'e' Line 4833  Need char = 'e'
4833   +4 ^   ^     e   +4 ^   ^     e
4834   +5 ^    ^   +5 ^    ^
4835   0: abcde   0: abcde
4836    abcdfe    abcdfe
4837  --->abcdfe  --->abcdfe
4838   +0 ^          a   +0 ^          a
4839   +1 ^^         b   +1 ^^         b
# Line 4846  Need char = 'e' Line 4841  Need char = 'e'
4841   +3 ^  ^       d   +3 ^  ^       d
4842   +4 ^   ^      e   +4 ^   ^      e
4843  No match  No match
4844    
4845  /a*b/ICD  /a*b/ICDZ
4846  ------------------------------------------------------------------  ------------------------------------------------------------------
4847    0  25 Bra 0          Bra
4848    3     Callout 255 0 2          Callout 255 0 2
4849    9     a*+          a*+
4850   11     Callout 255 2 1          Callout 255 2 1
4851   17     b          b
4852   19     Callout 255 3 0          Callout 255 3 0
4853   25  25 Ket          Ket
4854   28     End          End
4855  ------------------------------------------------------------------  ------------------------------------------------------------------
4856  Capturing subpattern count = 0  Capturing subpattern count = 0
4857  Partial matching not supported  Partial matching not supported
# Line 4875  Need char = 'b' Line 4870  Need char = 'b'
4870   +2 ^   ^     b   +2 ^   ^     b
4871   +3 ^    ^   +3 ^    ^
4872   0: aaaab   0: aaaab
4873    aaaacb    aaaacb
4874  --->aaaacb  --->aaaacb
4875   +0 ^          a*   +0 ^          a*
4876   +2 ^   ^      b   +2 ^   ^      b
# Line 4892  Need char = 'b' Line 4887  Need char = 'b'
4887   +3      ^^   +3      ^^
4888   0: b   0: b
4889    
4890  /a+b/ICD  /a+b/ICDZ
4891  ------------------------------------------------------------------  ------------------------------------------------------------------
4892    0  25 Bra 0          Bra
4893    3     Callout 255 0 2          Callout 255 0 2
4894    9     a++          a++
4895   11     Callout 255 2 1          Callout 255 2 1
4896   17     b          b
4897   19     Callout 255 3 0          Callout 255 3 0
4898   25  25 Ket          Ket
4899   28     End          End
4900  ------------------------------------------------------------------  ------------------------------------------------------------------
4901  Capturing subpattern count = 0  Capturing subpattern count = 0
4902  Partial matching not supported  Partial matching not supported
# Line 4920  Need char = 'b' Line 4915  Need char = 'b'
4915   +2 ^   ^     b   +2 ^   ^     b
4916   +3 ^    ^   +3 ^    ^
4917   0: aaaab   0: aaaab
4918    aaaacb    aaaacb
4919  --->aaaacb  --->aaaacb
4920   +0 ^          a+   +0 ^          a+
4921   +2 ^   ^      b   +2 ^   ^      b
# Line 4932  Need char = 'b' Line 4927  Need char = 'b'
4927   +2    ^^      b   +2    ^^      b
4928  No match  No match
4929    
4930  /(abc|def)x/ICD  /(abc|def)x/ICDZ
4931  ------------------------------------------------------------------  ------------------------------------------------------------------
4932    0  94 Bra 0          Bra
4933    3     Callout 255 0 9          Callout 255 0 9
4934    9  35 Bra 1          CBra 1
4935   14     Callout 255 1 1          Callout 255 1 1
4936   20     a          a
4937   22     Callout 255 2 1          Callout 255 2 1
4938   28     b          b
4939   30     Callout 255 3 1          Callout 255 3 1
4940   36     c          c
4941   38     Callout 255 4 0          Callout 255 4 0
4942   44  33 Alt          Alt
4943   47     Callout 255 5 1          Callout 255 5 1
4944   53     d          d
4945   55     Callout 255 6 1          Callout 255 6 1
4946   61     e          e
4947   63     Callout 255 7 1          Callout 255 7 1
4948   69     f          f
4949   71     Callout 255 8 0          Callout 255 8 0
4950   77  68 Ket          Ket
4951   80     Callout 255 9 1          Callout 255 9 1
4952   86     x          x
4953   88     Callout 255 10 0          Callout 255 10 0
4954   94  94 Ket          Ket
4955   97     End          End
4956  ------------------------------------------------------------------  ------------------------------------------------------------------
4957  Capturing subpattern count = 1  Capturing subpattern count = 1
4958  Options:  Options:
# Line 5064  No need char Line 5059  No need char
5059  +12 ^       ^  +12 ^       ^
5060   0: abcdabcd   0: abcdabcd
5061   1: cd   1: cd
5062    abcdcdcdcdcd    abcdcdcdcdcd
5063  --->abcdcdcdcdcd  --->abcdcdcdcdcd
5064   +0 ^                (ab|cd){3,4}   +0 ^                (ab|cd){3,4}
5065   +1 ^                a   +1 ^                a
# Line 5086  No need char Line 5081  No need char
5081   0: abcdcdcd   0: abcdcdcd
5082   1: cd   1: cd
5083    
5084  /([ab]{,4}c|xy)/ICD  /([ab]{,4}c|xy)/ICDZ
5085  ------------------------------------------------------------------  ------------------------------------------------------------------
5086    0 133 Bra 0          Bra
5087    3     Callout 255 0 14          Callout 255 0 14
5088    9  90 Bra 1          CBra 1
5089   14     Callout 255 1 4          Callout 255 1 4
5090   20     [ab]          [ab]
5091   53     Callout 255 5 1          Callout 255 5 1
5092   59     {          {
5093   61     Callout 255 6 1          Callout 255 6 1
5094   67     ,          ,
5095   69     Callout 255 7 1          Callout 255 7 1
5096   75     4          4
5097   77     Callout 255 8 1          Callout 255 8 1
5098   83     }          }
5099   85     Callout 255 9 1          Callout 255 9 1
5100   91     c          c
5101   93     Callout 255 10 0          Callout 255 10 0
5102   99  25 Alt          Alt
5103  102     Callout 255 11 1          Callout 255 11 1
5104  108     x          x
5105  110     Callout 255 12 1          Callout 255 12 1
5106  116     y          y
5107  118     Callout 255 13 0          Callout 255 13 0
5108  124 115 Ket          Ket
5109  127     Callout 255 14 0          Callout 255 14 0
5110  133 133 Ket          Ket
5111  136     End          End
5112  ------------------------------------------------------------------  ------------------------------------------------------------------
5113  Capturing subpattern count = 1  Capturing subpattern count = 1
5114  Options:  Options:
# Line 5261  No need char Line 5256  No need char
5256  +11                                             ^    x  +11                                             ^    x
5257  No match  No match
5258    
5259  /([ab]{1,4}c|xy){4,5}?123/ICD  /([ab]{1,4}c|xy){4,5}?123/ICDZ
5260  ------------------------------------------------------------------  ------------------------------------------------------------------
5261    0 495 Bra 0          Bra
5262    3     Callout 255 0 21          Callout 255 0 21
5263    9  63 Bra 1          CBra 1
5264   14     Callout 255 1 9          Callout 255 1 9
5265   20     [ab]{1,4}          [ab]{1,4}
5266   58     Callout 255 10 1          Callout 255 10 1
5267   64     c          c
5268   66     Callout 255 11 0          Callout 255 11 0
5269   72  25 Alt          Alt
5270   75     Callout 255 12 1          Callout 255 12 1
5271   81     x          x
5272   83     Callout 255 13 1          Callout 255 13 1
5273   89     y          y
5274   91     Callout 255 14 0          Callout 255 14 0
5275   97  88 Ket          Ket
5276  100  63 Bra 1          CBra 1
5277  105     Callout 255 1 9          Callout 255 1 9
5278  111     [ab]{1,4}          [ab]{1,4}
5279  149     Callout 255 10 1          Callout 255 10 1
5280  155     c          c
5281  157     Callout 255 11 0          Callout 255 11 0
5282  163  25 Alt          Alt
5283  166     Callout 255 12 1          Callout 255 12 1
5284  172     x          x
5285  174     Callout 255 13 1          Callout 255 13 1
5286  180     y          y
5287  182     Callout 255 14 0          Callout 255 14 0
5288  188  88 Ket          Ket
5289  191  63 Bra 1          CBra 1
5290  196     Callout 255 1 9          Callout 255 1 9
5291  202     [ab]{1,4}          [ab]{1,4}
5292  240     Callout 255 10 1          Callout 255 10 1
5293  246     c          c
5294  248     Callout 255 11 0          Callout 255 11 0
5295  254  25 Alt          Alt
5296  257     Callout 255 12 1          Callout 255 12 1
5297  263     x          x
5298  265     Callout 255 13 1          Callout 255 13 1
5299  271     y          y
5300  273     Callout 255 14 0          Callout 255 14 0
5301  279  88 Ket          Ket
5302  282  63 Bra 1          CBra 1
5303  287     Callout 255 1 9          Callout 255 1 9
5304  293     [ab]{1,4}          [ab]{1,4}
5305  331     Callout 255 10 1          Callout 255 10 1
5306  337     c          c
5307  339     Callout 255 11 0          Callout 255 11 0
5308  345  25 Alt          Alt
5309  348     Callout 255 12 1          Callout 255 12 1
5310  354     x          x
5311  356     Callout 255 13 1          Callout 255 13 1
5312  362     y          y
5313  364     Callout 255 14 0          Callout 255 14 0
5314  370  88 Ket          Ket
5315  373     Braminzero          Braminzero
5316  374  63 Bra 1          CBra 1
5317  379     Callout 255 1 9          Callout 255 1 9
5318  385     [ab]{1,4}          [ab]{1,4}
5319  423     Callout 255 10 1          Callout 255 10 1
5320  429     c          c
5321  431     Callout 255 11 0          Callout 255 11 0
5322  437  25 Alt          Alt
5323  440     Callout 255 12 1          Callout 255 12 1
5324  446     x          x
5325  448     Callout 255 13 1          Callout 255 13 1
5326  454     y          y
5327  456     Callout 255 14 0          Callout 255 14 0
5328  462  88 Ket          Ket
5329  465     Callout 255 21 1          Callout 255 21 1
5330  471     1          1
5331  473     Callout 255 22 1          Callout 255 22 1
5332  479     2          2
5333  481     Callout 255 23 1          Callout 255 23 1
5334  487     3          3
5335  489     Callout 255 24 0          Callout 255 24 0
5336  495 495 Ket          Ket
5337  498     End          End
5338  ------------------------------------------------------------------  ------------------------------------------------------------------
5339  Capturing subpattern count = 1  Capturing subpattern count = 1
5340  Partial matching not supported  Partial matching not supported
# Line 5380  No first char Line 5375  No first char
5375  No need char  No need char
5376    ab cd\>1    ab cd\>1
5377   0:  cd   0:  cd
5378    
5379  /\b.*/Is  /\b.*/Is
5380  Capturing subpattern count = 0  Capturing subpattern count = 0
5381  Partial matching not supported  Partial matching not supported
5382  Options: dotall  Options: dotall
# Line 5389  No first char Line 5384  No first char
5384  No need char  No need char
5385    ab cd\>1    ab cd\>1
5386   0:  cd   0:  cd
5387    
5388  /(?!.bcd).*/I  /(?!.bcd).*/I
5389  Capturing subpattern count = 0  Capturing subpattern count = 0
5390  Partial matching not supported  Partial matching not supported
5391  No options  No options
5392  No first char  No first char
5393  No need char  No need char
5394    Xbcd12345    Xbcd12345
5395   0: bcd12345   0: bcd12345
5396    
5397  /abcde/I  /abcde/I
# Line 5410  Partial match Line 5405  Partial match
5405  Partial match  Partial match
5406      abcd\P      abcd\P
5407  Partial match  Partial match
5408      abcde\P      abcde\P
5409   0: abcde   0: abcde
5410      the quick brown abc\P      the quick brown abc\P
5411  Partial match  Partial match
# Line 5418  Partial match Line 5413  Partial match
5413  No match  No match
5414      the quick brown abxyz fox\P      the quick brown abxyz fox\P
5415  No match  No match
5416    
5417  "^(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
5418  Capturing subpattern count = 3  Capturing subpattern count = 3
5419  Options: anchored  Options: anchored
# Line 5433  Need char = '/' Line 5428  Need char = '/'
5428   1: 13   1: 13
5429   2: 5   2: 5
5430   3: 20   3: 20
5431      02/05/09\P      02/05/09\P
5432   0: 02/05/09   0: 02/05/09
5433   1: 02   1: 02
5434   2: 05   2: 05
# Line 5443  Partial match Line 5438  Partial match
5438  Partial match  Partial match
5439      1/2/0\P      1/2/0\P
5440  Partial match  Partial match
5441      1/2/04\P      1/2/04\P
5442   0: 1/2/04   0: 1/2/04
5443   1: 1   1: 1
5444   2: 2   2: 2
# Line 5451  Partial match Line 5446  Partial match
5446  Partial match  Partial match
5447      02/\P      02/\P
5448  Partial match  Partial match
5449      02/0\P      02/0\P
5450  Partial match  Partial match
5451      02/1\P      02/1\P
5452  Partial match  Partial match
# Line 5467  No match Line 5462  No match
5462  No match  No match
5463      0/1/2003\P      0/1/2003\P
5464  No match  No match
5465      0/\P      0/\P
5466  No match  No match
5467      02/0/\P      02/0/\P
5468  No match  No match
5469      02/13\P      02/13\P
5470  No match  No match
5471    
5472  /0{0,2}ABC/I  /0{0,2}ABC/I
# Line 5480  Partial matching not supported Line 5475  Partial matching not supported
5475  No options  No options
5476  No first char  No first char
5477  Need char = 'C'  Need char = 'C'
5478    
5479  /\d{3,}ABC/I  /\d{3,}ABC/I
5480  Capturing subpattern count = 0  Capturing subpattern count = 0
5481  Partial matching not supported  Partial matching not supported
5482  No options  No options
5483  No first char  No first char
5484  Need char = 'C'  Need char = 'C'
5485    
5486  /\d*ABC/I  /\d*ABC/I
5487  Capturing subpattern count = 0  Capturing subpattern count = 0
5488  Partial matching not supported  Partial matching not supported
# Line 5517  Partial match Line 5512  Partial match
5512  Partial match  Partial match
5513      c12\P      c12\P
5514  Partial match  Partial match
5515      c123\P      c123\P
5516   0: c123   0: c123
5517    
5518  /^(?:\d){3,5}X/I  /^(?:\d){3,5}X/I
# Line 5537  Partial match Line 5532  Partial match
5532   0: 1234X   0: 1234X
5533      12345\P      12345\P
5534  Partial match  Partial match
5535      12345X      12345X
5536   0: 12345X   0: 12345X
5537      *** Failers      *** Failers
5538  No match  No match
5539      1X      1X
5540  No match  No match
5541      123456\P      123456\P
5542  No match  No match
5543    
5544  /abc/I>testsavedregex  /abc/I>testsavedregex
# Line 5561  No study data Line 5556  No study data
5556  No match  No match
5557      bca      bca
5558  No match  No match
5559    
5560  /abc/IF>testsavedregex  /abc/IF>testsavedregex
5561  Capturing subpattern count = 0  Capturing subpattern count = 0
5562  No options  No options
# Line 5595  Study data loaded from testsavedregex Line 5590  Study data loaded from testsavedregex
5590      ** Failers      ** Failers
5591   0: a   0: a
5592   1: a   1: a
5593      def      def
5594  No match  No match
5595    
5596  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5597  Capturing subpattern count = 1  Capturing subpattern count = 1
5598  No options  No options
# Line 5615  Study data loaded from testsavedregex Line 5610  Study data loaded from testsavedregex
5610      ** Failers      ** Failers
5611   0: a   0: a
5612   1: a   1: a
5613      def      def
5614  No match  No match
5615    
5616  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5617  Capturing subpattern count = 3  Capturing subpattern count = 3
5618  Max back reference = 1  Max back reference = 1
# Line 5639  No need char Line 5634  No need char
5634    
5635  /line\nbreak/I  /line\nbreak/I
5636  Capturing subpattern count = 0  Capturing subpattern count = 0
5637    Contains explicit CR or LF match
5638  No options  No options
5639  First char = 'l'  First char = 'l'
5640  Need char = 'k'  Need char = 'k'
5641      this is a line\nbreak      this is a line\nbreak
5642   0: line\x0abreak   0: line\x0abreak
5643      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5644   0: line\x0abreak   0: line\x0abreak
5645    
5646  /line\nbreak/If  /line\nbreak/If
5647  Capturing subpattern count = 0  Capturing subpattern count = 0
5648    Contains explicit CR or LF match
5649  Options: firstline  Options: firstline
5650  First char = 'l'  First char = 'l'
5651  Need char = 'k'  Need char = 'k'
5652      this is a line\nbreak      this is a line\nbreak
5653   0: line\x0abreak   0: line\x0abreak
5654      ** Failers      ** Failers
5655  No match  No match
5656      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5657  No match  No match
5658    
5659  /line\nbreak/Imf  /line\nbreak/Imf
5660  Capturing subpattern count = 0  Capturing subpattern count = 0
5661    Contains explicit CR or LF match
5662  Options: multiline firstline  Options: multiline firstline
5663  First char = 'l'  First char = 'l'
5664  Need char = 'k'  Need char = 'k'
5665      this is a line\nbreak      this is a line\nbreak
5666   0: line\x0abreak   0: line\x0abreak
5667      ** Failers      ** Failers
5668  No match  No match
5669      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5670  No match  No match
5671    
5672  /ab.cd/IP  /ab.cd/IP
5673      ab-cd      ab-cd
5674   0: ab-cd   0: ab-cd
5675      ab=cd      ab=cd
5676   0: ab=cd   0: ab=cd
5677      ** Failers      ** Failers
5678  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
# Line 5684  No match: POSIX code 17: match failed Line 5682  No match: POSIX code 17: match failed
5682  /ab.cd/IPs  /ab.cd/IPs
5683      ab-cd      ab-cd
5684   0: ab-cd   0: ab-cd
5685      ab=cd      ab=cd
5686   0: ab=cd   0: ab=cd
5687      ab\ncd      ab\ncd
5688   0: ab\x0acd   0: ab\x0acd
# Line 5698  Need char = 'd' Line 5696  Need char = 'd'
5696   0: AbCd   0: AbCd
5697      ** Failers      ** Failers
5698  No match  No match
5699      abcd      abcd
5700  No match  No match
5701    
5702  /a{11111111111111111111}/I  /a{11111111111111111111}/I
5703  Failed: number too big in {} quantifier at offset 22  Failed: number too big in {} quantifier at offset 22
5704    
# Line 5931  No first char Line 5929  No first char
5929  No need char  No need char
5930      (this(and)that      (this(and)that
5931   0:   0:
5932      (this(and)that)      (this(and)that)
5933   0: (this(and)that)   0: (this(and)that)
5934      (this(and)that)stuff      (this(and)that)stuff
5935   0: (this(and)that)stuff   0: (this(and)that)stuff
# Line 5944  No first char Line 5942  No first char
5942  No need char  No need char
5943      (this(and)that      (this(and)that
5944   0:   0:
5945      (this(and)that)      (this(and)that)
5946   0: (this(and)that)   0: (this(and)that)
5947    
5948  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
5949  Capturing subpattern count = 0  Capturing subpattern count = 0
5950  Partial matching not supported  Partial matching not supported
# Line 5955  No first char Line 5953  No first char
5953  No need char  No need char
5954      (this(and)that      (this(and)that
5955   0:   0:
5956      (this(and)that)      (this(and)that)
5957   0: (this(and)that)   0: (this(and)that)
5958    
5959  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
# Line 5966  No first char Line 5964  No first char
5964  No need char  No need char
5965      (this(and)that      (this(and)that
5966   0:   0:
5967      (this(and)that)      (this(and)that)
5968   0:   0:
5969      ((this))      ((this))
5970   0: ((this))   0: ((this))
5971    
5972  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
# Line 5979  No first char Line 5977  No first char
5977  No need char  No need char
5978      (this(and)that      (this(and)that
5979   0:   0:
5980      (this(and)that)      (this(and)that)
5981   0:   0:
5982      (this)      (this)
5983   0: (this)   0: (this)
5984      ((this))      ((this))
5985   0: ((this))   0: ((this))
5986    
5987  /a(b)c/IPN  /a(b)c/IPN
5988      abc      abc
5989  Matched with REG_NOSUB  Matched with REG_NOSUB
5990    
5991  /a(?P<name>b)c/IPN  /a(?P<name>b)c/IPN
5992      abc      abc
5993  Matched with REG_NOSUB  Matched with REG_NOSUB
5994    
5995  /\x{100}/I  /\x{100}/I
5996  Failed: character value in \x{...} sequence is too large at offset 6  Failed: character value in \x{...} sequence is too large at offset 6
5997    
5998  /\x{0000ff}/I  /\x{0000ff}/I
# Line 6019  No need char Line 6017  No need char
6017   1: a1   1: a1
6018   2: a1   2: a1
6019    C a1 (2) A    C a1 (2) A
6020      a2b\CA      a2b\CA
6021   0: a2b   0: a2b
6022   1: a2b   1: a2b
6023   2: <unset>   2: <unset>
# Line 6027  No need char Line 6025  No need char
6025    C a2 (2) A    C a2 (2) A
6026      ** Failers      ** Failers
6027  No match  No match
6028      a1b\CZ\CA      a1b\CZ\CA
6029  no parentheses with name "Z"  no parentheses with name "Z"
6030   0: a1   0: a1
6031   1: a1   1: a1
6032   2: a1   2: a1
6033  copy substring Z failed -7  copy substring Z failed -7
6034    C a1 (2) A    C a1 (2) A
6035    
6036  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6037  Capturing subpattern count = 2  Capturing subpattern count = 2
6038  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6048  No need char Line 6046  No need char
6046   1: a   1: a
6047   2: b   2: b
6048    C a (1) A    C a (1) A
6049    
6050  /^(?P<A>a)(?P<A>b)|cd/IJ  /^(?P<A>a)(?P<A>b)|cd/IJ
6051  Capturing subpattern count = 2  Capturing subpattern count = 2
6052  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6062  No need char Line 6060  No need char
6060   1: a   1: a
6061   2: b   2: b
6062    C a (1) A    C a (1) A
6063      cd\CA      cd\CA
6064   0: cd   0: cd
6065  copy substring A failed -7  copy substring A failed -7
6066    
6067  /^(?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
6068  Capturing subpattern count = 4  Capturing subpattern count = 4
6069  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6076  Named capturing subpatterns: Line 6074  Named capturing subpatterns:
6074  Options: dupnames  Options: dupnames
6075  No first char  No first char
6076  No need char  No need char
6077      cdefgh\CA      cdefgh\CA
6078   0: cdefgh   0: cdefgh
6079   1: <unset>   1: <unset>
6080   2: <unset>   2: <unset>
6081   3: ef   3: ef
6082   4: gh   4: gh
6083    C ef (2) A    C ef (2) A
6084    
6085  /^((?P<A>a1)|(?P<A>a2)b)/IJ  /^((?P<A>a1)|(?P<A>a2)b)/IJ
6086  Capturing subpattern count = 3  Capturing subpattern count = 3
6087  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6097  No need char Line 6095  No need char
6095   1: a1   1: a1
6096   2: a1   2: a1
6097    G a1 (2) A    G a1 (2) A
6098      a2b\GA      a2b\GA
6099   0: a2b   0: a2b
6100   1: a2b   1: a2b
6101   2: <unset>   2: <unset>
# Line 6105  No need char Line 6103  No need char
6103    G a2 (2) A    G a2 (2) A
6104      ** Failers      ** Failers
6105  No match  No match
6106      a1b\GZ\GA      a1b\GZ\GA
6107  no parentheses with name "Z"  no parentheses with name "Z"
6108   0: a1   0: a1
6109   1: a1   1: a1
6110   2: a1   2: a1
6111  copy substring Z failed -7  copy substring Z failed -7
6112    G a1 (2) A    G a1 (2) A
6113    
6114  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6115  Capturing subpattern count = 2  Capturing subpattern count = 2
6116  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6126  No need char Line 6124  No need char
6124   1: a   1: a
6125   2: b   2: b
6126    G a (1) A    G a (1) A
6127    
6128  /^(?P<A>a)(?P<A>b)|cd/IJ  /^(?P<A>a)(?P<A>b)|cd/IJ
6129  Capturing subpattern count = 2  Capturing subpattern count = 2
6130  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6140  No need char Line 6138  No need char
6138   1: a   1: a
6139   2: b   2: b
6140    G a (1) A    G a (1) A
6141      cd\GA      cd\GA
6142   0: cd   0: cd
6143  copy substring A failed -7  copy substring A failed -7
6144    
6145  /^(?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
6146  Capturing subpattern count = 4  Capturing subpattern count = 4
6147  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6154  Named capturing subpatterns: Line 6152  Named capturing subpatterns:
6152  Options: dupnames  Options: dupnames
6153  No first char  No first char
6154  No need char  No need char
6155      cdefgh\GA      cdefgh\GA
6156   0: cdefgh   0: cdefgh
6157   1: <unset>   1: <unset>
6158   2: <unset>   2: <unset>
6159   3: ef   3: ef
6160   4: gh   4: gh
6161    G ef (2) A    G ef (2) A
6162    
6163  /(?J)^((?P<A>a1)|(?P<A>a2)b)/I  /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
6164  Capturing subpattern count = 3  Capturing subpattern count = 3
6165  Named capturing subpatterns:  Named capturing subpatterns:
6166    A   2    A   2
6167    A   3    A   3
6168  Options: anchored dupnames  Options: anchored dupnames
6169    Duplicate name status changes
6170  No first char  No first char
6171  No need char  No need char
6172      a1b\CA      a1b\CA
# Line 6175  No need char Line 6174  No need char
6174   1: a1   1: a1
6175   2: a1   2: a1
6176    C a1 (2) A    C a1 (2) A
6177      a2b\CA      a2b\CA
6178   0: a2b   0: a2b
6179   1: a2b   1: a2b
6180   2: <unset>   2: <unset>
6181   3: a2   3: a2
6182    C a2 (2) A    C a2 (2) A
6183    
6184  /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I  /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
6185  Failed: two named subpatterns have the same name at offset 37  Failed: two named subpatterns have the same name at offset 37
6186    
6187  / In this next test, J is not set at the outer level; consequently it isn't  / In this next test, J is not set at the outer level; consequently it isn't
6188  set in the pattern's options; consequently pcre_get_named_substring() produces  set in the pattern's options; consequently pcre_get_named_substring() produces
6189  a random value. /Ix  a random value. /Ix
6190  Capturing subpattern count = 1  Capturing subpattern count = 1
6191  Options: extended  Options: extended
# Line 6201  Named capturing subpatterns: Line 6200  Named capturing subpatterns:
6200    B   3    B   3
6201    C   4    C   4
6202  Options: anchored  Options: anchored
6203    Duplicate name status changes
6204  No first char  No first char
6205  No need char  No need char
6206      a bc d\CA\CB\CC      a bc d\CA\CB\CC
# Line 6227  No need char Line 6227  No need char
6227   0: b   0: b
6228      ** Failers      ** Failers
6229  No match  No match
6230      abc      abc
6231  No match  No match
6232    
6233  /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I  /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
# Line 6283  No need char Line 6283  No need char
6283      bXXaYYaY      bXXaYYaY
6284   0: bXXaYYaY   0: bXXaYYaY
6285   1: Y   1: Y
6286      bXYaXXaX      bXYaXXaX
6287   0: bX   0: bX
6288   1: X   1: X
6289    
# Line 6320  Need char = ',' Line 6320  Need char = ','
6320  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6321      \x0b,\x0b      \x0b,\x0b
6322   0: ,   0: ,
6323      \x0c,\x0d      \x0c,\x0d
6324   0: \x0c,\x0d   0: \x0c,\x0d
6325    
6326  /^abc/Im  /^abc/Im
# Line 6338  Need char = 'c' Line 6338  Need char = 'c'
6338   0: abc   0: abc
6339      xyz\r\nabc\<crlf>      xyz\r\nabc\<crlf>
6340   0: abc   0: abc
6341      ** Failers      ** Failers
6342  No match  No match
6343      xyz\nabc\<cr>      xyz\nabc\<cr>
6344  No match  No match
# Line 6350  No match Line 6350  No match
6350  No match  No match
6351      xyz\rabc\<lf>      xyz\rabc\<lf>
6352  No match  No match
6353    
6354  /abc$/Im<lf>  /abc$/Im<lf>
6355  Capturing subpattern count = 0  Capturing subpattern count = 0
6356  Options: multiline  Options: multiline
# Line 6359  First char = 'a' Line 6359  First char = 'a'
6359  Need char = 'c'  Need char = 'c'
6360      xyzabc      xyzabc
6361   0: abc   0: abc
6362      xyzabc\n      xyzabc\n
6363   0: abc   0: abc
6364      xyzabc\npqr      xyzabc\npqr
6365   0: abc   0: abc
6366      xyzabc\r\<cr>      xyzabc\r\<cr>
6367   0: abc   0: abc
6368      xyzabc\rpqr\<cr>      xyzabc\rpqr\<cr>
6369   0: abc   0: abc
6370      xyzabc\r\n\<crlf>      xyzabc\r\n\<crlf>
6371   0: abc   0: abc
6372      xyzabc\r\npqr\<crlf>      xyzabc\r\npqr\<crlf>
6373   0: abc   0: abc
6374      ** Failers      ** Failers
6375  No match  No match
6376      xyzabc\r      xyzabc\r
6377  No match  No match
6378      xyzabc\rpqr      xyzabc\rpqr
6379  No match  No match
6380      xyzabc\r\n      xyzabc\r\n
6381  No match  No match
6382      xyzabc\r\npqr      xyzabc\r\npqr
6383  No match  No match
6384    
6385  /^abc/Im<cr>  /^abc/Im<cr>
6386  Capturing subpattern count = 0  Capturing subpattern count = 0
6387  Options: multiline  Options: multiline
# Line 6392  Need char = 'c' Line 6392  Need char = 'c'
6392   0: abc   0: abc
6393      xyz\nabcdef\<lf>      xyz\nabcdef\<lf>
6394   0: abc   0: abc
6395      ** Failers      ** Failers
6396  No match  No match
6397      xyz\nabcdef      xyz\nabcdef
6398  No match  No match
6399    
6400  /^abc/Im<lf>  /^abc/Im<lf>
6401  Capturing subpattern count = 0  Capturing subpattern count = 0
6402  Options: multiline  Options: multiline
# Line 6407  Need char = 'c' Line 6407  Need char = 'c'
6407   0: abc   0: abc
6408      xyz\rabcdef\<cr>      xyz\rabcdef\<cr>
6409   0: abc   0: abc
6410      ** Failers      ** Failers
6411  No match  No match
6412      xyz\rabcdef      xyz\rabcdef
6413  No match  No match
6414    
6415  /^abc/Im<crlf>  /^abc/Im<crlf>
6416  Capturing subpattern count = 0  Capturing subpattern count = 0
6417  Options: multiline  Options: multiline
# Line 6422  Need char = 'c' Line 6422  Need char = 'c'
6422   0: abc   0: abc
6423      xyz\rabcdef\<cr>      xyz\rabcdef\<cr>
6424   0: abc   0: abc
6425      ** Failers      ** Failers
6426  No match  No match
6427      xyz\rabcdef      xyz\rabcdef
6428  No match  No match
6429    
6430  /^abc/Im<bad>  /^abc/Im<bad>
6431  Unknown newline type at: <bad>  Unknown newline type at: <bad>
6432    
# Line 6438  First char = 'a' Line 6438  First char = 'a'
6438  Need char = 'c'  Need char = 'c'
6439      xyz\rabc\<bad>      xyz\rabc\<bad>
6440  Unknown newline type at: <bad>  Unknown newline type at: <bad>
6441      abc      abc
6442   0: abc   0: abc
6443    
6444  /.*/I<lf>  /.*/I<lf>
6445  Capturing subpattern count = 0  Capturing subpattern count = 0
6446  Partial matching not supported  Partial matching not supported
# Line 6514  Capturing subpattern count = 102 Line 6514  Capturing subpattern count = 102
6514  Options: extended  Options: extended
6515  No first char  No first char
6516  No need char  No need char
6517      XY\O400      XY\O400
6518   0: XY   0: XY
6519   1:   1:
6520   2:   2:
# Line 6669  No first char Line 6669  No first char
6669  Need char = 'z'  Need char = 'z'
6670  Starting byte set: a b c d  Starting byte set: a b c d
6671    
6672  /^a*b\d/D  /^a*b\d/DZ
6673  ------------------------------------------------------------------  ------------------------------------------------------------------
6674    0   9 Bra 0          Bra
6675    3     ^          ^
6676    4     a*+          a*+
6677    6     b          b
6678    8     \d          \d
6679    9   9 Ket          Ket
6680   12     End          End
6681  ------------------------------------------------------------------  ------------------------------------------------------------------
6682  Capturing subpattern count = 0  Capturing subpattern count = 0
6683  Partial matching not supported  Partial matching not supported
# Line 6685  Options: anchored Line 6685  Options: anchored
6685  No first char  No first char
6686  Need char = 'b'  Need char = 'b'
6687    
6688  /^a*+b\d/D  /^a*+b\d/DZ
6689  ------------------------------------------------------------------  ------------------------------------------------------------------
6690    0   9 Bra 0          Bra
6691    3     ^          ^
6692    4     a*+          a*+
6693    6     b          b
6694    8     \d          \d
6695    9   9 Ket          Ket
6696   12     End          End
6697  ------------------------------------------------------------------  ------------------------------------------------------------------
6698  Capturing subpattern count = 0  Capturing subpattern count = 0
6699  Partial matching not supported  Partial matching not supported
# Line 6701  Options: anchored Line 6701  Options: anchored
6701  No first char  No first char
6702  Need char = 'b'  Need char = 'b'
6703    
6704  /^a*?b\d/D  /^a*?b\d/DZ
6705  ------------------------------------------------------------------  ------------------------------------------------------------------
6706    0   9 Bra 0          Bra
6707    3     ^          ^
6708    4     a*+          a*+
6709    6     b          b
6710    8     \d          \d
6711    9   9 Ket          Ket
6712   12     End          End
6713  ------------------------------------------------------------------  ------------------------------------------------------------------
6714  Capturing subpattern count = 0  Capturing subpattern count = 0
6715  Partial matching not supported  Partial matching not supported
# Line 6717  Options: anchored Line 6717  Options: anchored
6717  No first char  No first char
6718  Need char = 'b'  Need char = 'b'
6719    
6720  /^a+A\d/D  /^a+A\d/DZ
6721  ------------------------------------------------------------------  ------------------------------------------------------------------
6722    0   9 Bra 0          Bra
6723    3     ^          ^
6724    4     a++          a++
6725    6     A          A
6726    8     \d          \d
6727    9   9 Ket          Ket
6728   12     End          End
6729  ------------------------------------------------------------------  ------------------------------------------------------------------
6730  Capturing subpattern count = 0  Capturing subpattern count = 0
6731  Partial matching not supported  Partial matching not supported
# Line 6736  Need char = 'A' Line 6736  Need char = 'A'
6736   0: aaaA5   0: aaaA5
6737      ** Failers      ** Failers
6738  No match  No match
6739      aaaa5      aaaa5
6740  No match  No match
6741    
6742  /^a*A\d/IiD  /^a*A\d/IiDZ
6743  ------------------------------------------------------------------  ------------------------------------------------------------------
6744    0   9 Bra 0          Bra
6745    3     ^          ^
6746    4     a*          a*
6747    6  NC A       NC A
6748    8     \d          \d
6749    9   9 Ket          Ket
6750   12     End          End
6751  ------------------------------------------------------------------  ------------------------------------------------------------------
6752  Capturing subpattern count = 0  Capturing subpattern count = 0
6753  Partial matching not supported  Partial matching not supported
# Line 6797  Starting byte set: a b Line 6797  Starting byte set: a b
6797   a   a
6798   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6799   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6800   )))   )))
6801  /Ix  /Ix
6802  Capturing subpattern count = 203  Capturing subpattern count = 203
6803  Options: extended  Options: extended
6804  First char = 'a'  First char = 'a'
# Line 6821  Matched, but too many substrings Line 6821  Matched, but too many substrings
6821  13: a  13: a
6822  14: a  14: a
6823    
6824  /a*\d/B  /a*\d/BZ
6825  ------------------------------------------------------------------  ------------------------------------------------------------------
6826    0   6 Bra 0          Bra
6827    3     a*+          a*+
6828    5     \d          \d
6829    6   6 Ket          Ket
6830    9     End          End
6831  ------------------------------------------------------------------  ------------------------------------------------------------------
6832    
6833  /a*\D/B  /a*\D/BZ
6834  ------------------------------------------------------------------  ------------------------------------------------------------------
6835    0   6 Bra 0          Bra
6836    3     a*          a*
6837    5     \D          \D
6838    6   6 Ket          Ket
6839    9     End          End
6840  ------------------------------------------------------------------  ------------------------------------------------------------------
6841    
6842  /0*\d/B  /0*\d/BZ
6843  ------------------------------------------------------------------  ------------------------------------------------------------------
6844    0   6 Bra 0          Bra
6845    3     0*          0*
6846    5     \d          \d
6847    6   6 Ket          Ket
6848    9     End          End
6849  ------------------------------------------------------------------  ------------------------------------------------------------------
6850    
6851  /0*\D/B  /0*\D/BZ
6852  ------------------------------------------------------------------  ------------------------------------------------------------------
6853    0   6 Bra 0          Bra
6854    3     0*+          0*+
6855    5     \D          \D
6856    6   6 Ket          Ket
6857    9     End          End
6858  ------------------------------------------------------------------  ------------------------------------------------------------------
6859    
6860  /a*\s/B  /a*\s/BZ
6861  ------------------------------------------------------------------  ------------------------------------------------------------------
6862    0   6 Bra 0          Bra
6863    3     a*+          a*+
6864    5     \s          \s
6865    6   6 Ket          Ket
6866    9     End          End
6867  ------------------------------------------------------------------  ------------------------------------------------------------------
6868    
6869  /a*\S/B  /a*\S/BZ
6870  ------------------------------------------------------------------  ------------------------------------------------------------------
6871    0   6 Bra 0          Bra
6872    3     a*          a*
6873    5     \S          \S
6874    6   6 Ket          Ket
6875    9     End          End
6876  ------------------------------------------------------------------  ------------------------------------------------------------------
6877    
6878  / *\s/B  / *\s/BZ
6879  ------------------------------------------------------------------  ------------------------------------------------------------------
6880    0   6 Bra 0          Bra
6881    3      *           *
6882    5     \s          \s
6883    6   6 Ket          Ket
6884    9     End          End
6885  ------------------------------------------------------------------  ------------------------------------------------------------------
6886    
6887  / *\S/B  / *\S/BZ
6888  ------------------------------------------------------------------  ------------------------------------------------------------------
6889    0   6 Bra 0          Bra
6890    3      *+           *+
6891    5     \S          \S
6892    6   6 Ket          Ket
6893    9     End          End
6894  ------------------------------------------------------------------  ------------------------------------------------------------------
6895    
6896  /a*\w/B  /a*\w/BZ
6897  ------------------------------------------------------------------  ------------------------------------------------------------------
6898    0   6 Bra 0          Bra
6899    3     a*          a*
6900    5     \w          \w
6901    6   6 Ket          Ket
6902    9     End          End
6903  ------------------------------------------------------------------  ------------------------------------------------------------------
6904    
6905  /a*\W/B  /a*\W/BZ
6906  ------------------------------------------------------------------  ------------------------------------------------------------------
6907    0   6 Bra 0          Bra
6908    3     a*+          a*+
6909    5     \W          \W
6910    6   6 Ket          Ket
6911    9     End          End
6912  ------------------------------------------------------------------  ------------------------------------------------------------------
6913    
6914  /=*\w/B  /=*\w/BZ
6915  ------------------------------------------------------------------  ------------------------------------------------------------------
6916    0   6 Bra 0          Bra
6917    3     =*+          =*+
6918    5     \w          \w
6919    6   6 Ket          Ket
6920    9     End          End
6921  ------------------------------------------------------------------  ------------------------------------------------------------------
6922    
6923  /=*\W/B  /=*\W/BZ
6924  ------------------------------------------------------------------  ------------------------------------------------------------------
6925    0   6 Bra 0          Bra
6926    3     =*          =*
6927    5     \W          \W
6928    6   6 Ket          Ket
6929    9     End          End
6930  ------------------------------------------------------------------  ------------------------------------------------------------------
6931    
6932  /\d*a/B  /\d*a/BZ
6933  ------------------------------------------------------------------  ------------------------------------------------------------------
6934    0   7 Bra 0          Bra
6935    3     \d*+          \d*+
6936    5     a          a
6937    7   7 Ket          Ket
6938   10     End          End
6939  ------------------------------------------------------------------  ------------------------------------------------------------------
6940    
6941  /\d*2/B  /\d*2/BZ
6942  ------------------------------------------------------------------  ------------------------------------------------------------------
6943    0   7 Bra 0          Bra
6944    3     \d*          \d*
6945    5     2          2
6946    7   7 Ket          Ket
6947   10     End          End
6948  ------------------------------------------------------------------  ------------------------------------------------------------------
6949    
6950  /\d*\d/B  /\d*\d/BZ
6951  ------------------------------------------------------------------  ------------------------------------------------------------------
6952    0   6 Bra 0          Bra
6953    3     \d*          \d*
6954    5     \d          \d
6955    6   6 Ket          Ket
6956    9     End          End
6957  ------------------------------------------------------------------  ------------------------------------------------------------------
6958    
6959  /\d*\D/B  /\d*\D/BZ
6960  ------------------------------------------------------------------  ------------------------------------------------------------------
6961    0   6 Bra 0          Bra
6962    3     \d*+          \d*+
6963    5     \D          \D
6964    6   6 Ket          Ket
6965    9     End          End
6966  ------------------------------------------------------------------  ------------------------------------------------------------------
6967    
6968  /\d*\s/B  /\d*\s/BZ
6969  ------------------------------------------------------------------  ------------------------------------------------------------------
6970    0   6 Bra 0          Bra
6971    3     \d*+          \d*+
6972    5     \s          \s
6973    6   6 Ket          Ket
6974    9     End          End
6975  ------------------------------------------------------------------  ------------------------------------------------------------------
6976    
6977  /\d*\S/B  /\d*\S/BZ
6978  ------------------------------------------------------------------  ------------------------------------------------------------------
6979    0   6 Bra 0          Bra
6980    3     \d*          \d*
6981    5     \S          \S
6982    6   6 Ket          Ket
6983    9     End          End
6984  ------------------------------------------------------------------  ------------------------------------------------------------------
6985    
6986  /\d*\w/B  /\d*\w/BZ
6987  ------------------------------------------------------------------  ------------------------------------------------------------------
6988    0   6 Bra 0          Bra
6989    3     \d*          \d*
6990    5     \w          \w
6991    6   6 Ket          Ket
6992    9     End          End
6993  ------------------------------------------------------------------  ------------------------------------------------------------------
6994    
6995  /\d*\W/B  /\d*\W/BZ
6996  ------------------------------------------------------------------  ------------------------------------------------------------------
6997    0   6 Bra 0          Bra
6998    3     \d*+          \d*+
6999    5     \W          \W
7000    6   6 Ket          Ket
7001    9     End          End
7002  ------------------------------------------------------------------  ------------------------------------------------------------------
7003    
7004  /\D*a/B  /\D*a/BZ
7005  ------------------------------------------------------------------  ------------------------------------------------------------------
7006    0   7 Bra 0          Bra
7007    3     \D*          \D*
7008    5     a          a
7009    7   7 Ket          Ket
7010   10     End          End
7011  ------------------------------------------------------------------  ------------------------------------------------------------------
7012    
7013  /\D*2/B  /\D*2/BZ
7014  ------------------------------------------------------------------  ------------------------------------------------------------------
7015    0   7 Bra 0          Bra
7016    3     \D*+          \D*+
7017    5     2          2
7018    7   7 Ket          Ket
7019   10     End          End
7020  ------------------------------------------------------------------  ------------------------------------------------------------------
7021    
7022  /\D*\d/B  /\D*\d/BZ
7023  ------------------------------------------------------------------  ------------------------------------------------------------------
7024    0   6 Bra 0          Bra
7025    3     \D*+          \D*+
7026    5     \d          \d
7027    6   6 Ket          Ket
7028    9     End          End
7029  ------------------------------------------------------------------  ------------------------------------------------------------------
7030    
7031  /\D*\D/B  /\D*\D/BZ
7032  ------------------------------------------------------------------  ------------------------------------------------------------------
7033    0   6 Bra 0          Bra
7034    3     \D*          \D*
7035    5     \D          \D
7036    6   6 Ket          Ket
7037    9     End          End
7038  ------------------------------------------------------------------  ------------------------------------------------------------------
7039    
7040  /\D*\s/B  /\D*\s/BZ
7041  ------------------------------------------------------------------  ------------------------------------------------------------------
7042    0   6 Bra 0          Bra
7043    3     \D*          \D*
7044    5     \s          \s
7045    6   6 Ket          Ket
7046    9     End          End
7047  ------------------------------------------------------------------  ------------------------------------------------------------------
7048    
7049  /\D*\S/B  /\D*\S/BZ
7050  ------------------------------------------------------------------  ------------------------------------------------------------------
7051    0   6 Bra 0          Bra
7052    3     \D*          \D*
7053    5     \S          \S
7054    6   6 Ket          Ket
7055    9     End          End
7056  ------------------------------------------------------------------  ------------------------------------------------------------------
7057    
7058  /\D*\w/B  /\D*\w/BZ
7059  ------------------------------------------------------------------  ------------------------------------------------------------------
7060    0   6 Bra 0          Bra
7061    3     \D*          \D*
7062    5     \w          \w
7063    6   6 Ket          Ket
7064    9     End          End
7065  ------------------------------------------------------------------  ------------------------------------------------------------------
7066    
7067  /\D*\W/B  /\D*\W/BZ
7068  ------------------------------------------------------------------  ------------------------------------------------------------------
7069    0   6 Bra 0          Bra
7070    3     \D*          \D*
7071    5     \W          \W
7072    6   6 Ket          Ket
7073    9     End          End
7074  ------------------------------------------------------------------  ------------------------------------------------------------------
7075    
7076  /\s*a/B  /\s*a/BZ
7077  ------------------------------------------------------------------  ------------------------------------------------------------------
7078    0   7 Bra 0          Bra
7079    3     \s*+          \s*+
7080    5     a          a
7081    7   7 Ket          Ket
7082   10     End          End
7083  ------------------------------------------------------------------  ------------------------------------------------------------------
7084    
7085  /\s*2/B  /\s*2/BZ
7086  ------------------------------------------------------------------  ------------------------------------------------------------------
7087    0   7 Bra 0          Bra
7088    3     \s*+          \s*+
7089    5     2          2
7090    7   7 Ket          Ket
7091   10     End          End
7092  ------------------------------------------------------------------  ------------------------------------------------------------------
7093    
7094  /\s*\d/B  /\s*\d/BZ
7095  ------------------------------------------------------------------  ------------------------------------------------------------------
7096    0   6 Bra 0          Bra
7097    3     \s*+          \s*+
7098    5     \d          \d
7099    6   6 Ket          Ket
7100    9     End          End
7101  ------------------------------------------------------------------  ------------------------------------------------------------------
7102    
7103  /\s*\D/B  /\s*\D/BZ
7104  ------------------------------------------------------------------  ------------------------------------------------------------------
7105    0   6 Bra 0          Bra
7106    3     \s*          \s*
7107    5     \D          \D
7108    6   6 Ket          Ket
7109    9     End          End
7110  ------------------------------------------------------------------  ------------------------------------------------------------------
7111    
7112  /\s*\s/B  /\s*\s/BZ
7113  ------------------------------------------------------------------  ------------------------------------------------------------------
7114    0   6 Bra 0          Bra
7115    3     \s*          \s*
7116    5     \s          \s
7117    6   6 Ket          Ket
7118    9     End          End
7119  ------------------------------------------------------------------  ------------------------------------------------------------------
7120    
7121  /\s*\S/B  /\s*\S/BZ
7122  ------------------------------------------------------------------  ------------------------------------------------------------------
7123    0   6 Bra 0          Bra
7124    3     \s*+          \s*+
7125    5     \S          \S
7126    6   6 Ket          Ket
7127    9     End          End
7128  ------------------------------------------------------------------  ------------------------------------------------------------------
7129    
7130  /\s*\w/B  /\s*\w/BZ
7131  ------------------------------------------------------------------  ------------------------------------------------------------------
7132    0   6 Bra 0          Bra
7133    3     \s*+          \s*+
7134    5     \w          \w
7135    6   6 Ket          Ket
7136    9     End          End
7137  ------------------------------------------------------------------  ------------------------------------------------------------------
7138    
7139  /\s*\W/B  /\s*\W/BZ
7140  ------------------------------------------------------------------  ------------------------------------------------------------------
7141    0   6 Bra 0          Bra
7142    3     \s*          \s*
7143    5     \W          \W
7144    6   6 Ket          Ket
7145    9     End          End
7146  ------------------------------------------------------------------  ------------------------------------------------------------------
7147    
7148  /\S*a/B  /\S*a/BZ
7149  ------------------------------------------------------------------  ------------------------------------------------------------------
7150    0   7 Bra 0          Bra
7151    3     \S*          \S*
7152    5     a          a
7153    7   7 Ket          Ket
7154   10     End          End
7155  ------------------------------------------------------------------  ------------------------------------------------------------------
7156    
7157  /\S*2/B  /\S*2/BZ
7158  ------------------------------------------------------------------  ------------------------------------------------------------------
7159    0   7 Bra 0          Bra
7160    3     \S*          \S*
7161    5     2          2
7162    7   7 Ket          Ket
7163   10     End          End
7164  ------------------------------------------------------------------  ------------------------------------------------------------------
7165    
7166  /\S*\d/B  /\S*\d/BZ
7167  ------------------------------------------------------------------  ------------------------------------------------------------------
7168    0   6 Bra 0          Bra
7169    3     \S*          \S*
7170    5     \d          \d
7171    6   6 Ket          Ket
7172    9     End          End
7173  ------------------------------------------------------------------  ------------------------------------------------------------------
7174    
7175  /\S*\D/B  /\S*\D/BZ
7176  ------------------------------------------------------------------  ------------------------------------------------------------------
7177    0   6 Bra 0          Bra
7178    3     \S*          \S*
7179    5     \D          \D
7180    6   6 Ket          Ket
7181    9     End          End
7182  ------------------------------------------------------------------  ------------------------------------------------------------------
7183    
7184  /\S*\s/B  /\S*\s/BZ
7185  ------------------------------------------------------------------  ------------------------------------------------------------------
7186    0   6 Bra 0          Bra
7187    3     \S*+          \S*+
7188    5     \s          \s
7189    6   6 Ket          Ket
7190    9     End          End
7191  ------------------------------------------------------------------  ------------------------------------------------------------------
7192    
7193  /\S*\S/B  /\S*\S/BZ
7194  ------------------------------------------------------------------  ------------------------------------------------------------------
7195    0   6 Bra 0          Bra
7196    3     \S*          \S*
7197    5     \S          \S
7198    6   6 Ket          Ket
7199    9     End          End
7200  ------------------------------------------------------------------  ------------------------------------------------------------------
7201    
7202  /\S*\w/B  /\S*\w/BZ
7203  ------------------------------------------------------------------  ------------------------------------------------------------------
7204    0   6 Bra 0          Bra
7205    3     \S*          \S*
7206    5     \w          \w
7207    6   6 Ket          Ket
7208    9     End          End
7209  ------------------------------------------------------------------  ------------------------------------------------------------------
7210    
7211  /\S*\W/B  /\S*\W/BZ
7212  ------------------------------------------------------------------  ------------------------------------------------------------------
7213    0   6 Bra 0          Bra
7214    3     \S*          \S*