/[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 93 by nigel, Sat Feb 24 21:41:42 2007 UTC revision 227 by ph10, Tue Aug 21 15:00:15 2007 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 166  Starting byte set: a b c d Line 166  Starting byte set: a b c d
166    
167  /(a|[^\dZ])/IS  /(a|[^\dZ])/IS
168  Capturing subpattern count = 1  Capturing subpattern count = 1
169    Contains explicit CR or LF match
170  No options  No options
171  No first char  No first char
172  No need char  No need char
# Line 222  Matched, but too many substrings Line 223  Matched, but too many substrings
223   0: abcb   0: abcb
224   1: a   1: a
225   2: b   2: b
226      \O12abcb      \O12abcb
227   0: abcb   0: abcb
228   1: a   1: a
229   2: b   2: b
# Line 343  No need char Line 344  No need char
344   0: abc   0: abc
345      *** Failers      *** Failers
346  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
347    
348  /^abc|def/IP  /^abc|def/IP
349      abcdef      abcdef
350   0: abc   0: abc
# Line 359  No match: POSIX code 17: match failed Line 360  No match: POSIX code 17: match failed
360   0: def   0: def
361   1: def   1: def
362   3: def   3: def
363    
364  /the quick brown fox/IP  /the quick brown fox/IP
365      the quick brown fox      the quick brown fox
366   0: the quick brown fox   0: the quick brown fox
367      *** Failers      *** Failers
368  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
369      The Quick Brown Fox      The Quick Brown Fox
370  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
371    
372  /the quick brown fox/IPi  /the quick brown fox/IPi
373      the quick brown fox      the quick brown fox
374   0: the quick brown fox   0: the quick brown fox
375      The Quick Brown Fox      The Quick Brown Fox
376   0: The Quick Brown Fox   0: The Quick Brown Fox
377    
378  /abc.def/IP  /abc.def/IP
# Line 379  No match: POSIX code 17: match failed Line 380  No match: POSIX code 17: match failed
380  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
381      abc\ndef      abc\ndef
382  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
383    
384  /abc$/IP  /abc$/IP
385      abc      abc
386   0: abc   0: abc
387      abc\n      abc\n
388   0: abc   0: abc
389    
390  /(abc)\2/IP  /(abc)\2/IP
# Line 402  Failed: missing terminating ] for charac Line 403  Failed: missing terminating ] for charac
403  /[^aeiou ]{3,}/I  /[^aeiou ]{3,}/I
404  Capturing subpattern count = 0  Capturing subpattern count = 0
405  Partial matching not supported  Partial matching not supported
406    Contains explicit CR or LF match
407  No options  No options
408  No first char  No first char
409  No need char  No need char
410      co-processors, and for      co-processors, and for
411   0: -pr   0: -pr
412    
413  /<.*>/I  /<.*>/I
414  Capturing subpattern count = 0  Capturing subpattern count = 0
415  Partial matching not supported  Partial matching not supported
# Line 434  First char = '<' Line 436  First char = '<'
436  Need char = '>'  Need char = '>'
437      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
438   0: <def>   0: <def>
439    
440  /(?U)<.*>/I  /(?U)<.*>/I
441  Capturing subpattern count = 0  Capturing subpattern count = 0
442  Partial matching not supported  Partial matching not supported
# Line 452  First char = '<' Line 454  First char = '<'
454  Need char = '>'  Need char = '>'
455      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
456   0: <def>ghi<klm>   0: <def>ghi<klm>
457    
458  /={3,}/IU  /={3,}/IU
459  Capturing subpattern count = 0  Capturing subpattern count = 0
460  Partial matching not supported  Partial matching not supported
# Line 461  First char = '=' Line 463  First char = '='
463  Need char = '='  Need char = '='
464      abc========def      abc========def
465   0: ===   0: ===
466    
467  /(?U)={3,}?/I  /(?U)={3,}?/I
468  Capturing subpattern count = 0  Capturing subpattern count = 0
469  Partial matching not supported  Partial matching not supported
# Line 470  First char = '=' Line 472  First char = '='
472  Need char = '='  Need char = '='
473      abc========def      abc========def
474   0: ========   0: ========
475    
476  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
477  Capturing subpattern count = 0  Capturing subpattern count = 0
478  No options  No options
# Line 478  First char = 'f' Line 480  First char = 'f'
480  Need char = 'o'  Need char = 'o'
481      foo      foo
482   0: foo   0: foo
483      catfoo      catfoo
484   0: foo   0: foo
485      *** Failers      *** Failers
486  No match  No match
487      the barfoo      the barfoo
488  No match  No match
489      and cattlefoo      and cattlefoo
490  No match  No match
491    
492  /(?<=a+)b/  /(?<=a+)b/
# Line 597  No options Line 599  No options
599  First char = 'b' (caseless)  First char = 'b' (caseless)
600  Need char = 'h' (caseless)  Need char = 'h' (caseless)
601    
602  /((?i)b)/IDS  /((?i)b)/IDZS
603  ------------------------------------------------------------------  ------------------------------------------------------------------
604    0  17 Bra 0          Bra
605    3   9 Bra 1          CBra 1
606    8  01 Opt       01 Opt
607   10  NC b       NC b
608   12   9 Ket          Ket
609   15  00 Opt       00 Opt
610   17  17 Ket          Ket
611   20     End          End
612  ------------------------------------------------------------------  ------------------------------------------------------------------
613  Capturing subpattern count = 1  Capturing subpattern count = 1
614  No options  No options
# Line 631  No need char Line 633  No need char
633   0: a   0: a
634      a\n      a\n
635   0: a   0: a
636      *** Failers      *** Failers
637  No match  No match
638      \Za      \Za
639  No match  No match
640      \Za\n      \Za\n
641  No match  No match
642    
643  /a$/Im  /a$/Im
# Line 647  No need char Line 649  No need char
649   0: a   0: a
650      a\n      a\n
651   0: a   0: a
652      \Za\n      \Za\n
653   0: a   0: a
654      *** Failers      *** Failers
655  No match  No match
656      \Za      \Za
657  No match  No match
658    
659  /\Aabc/Im  /\Aabc/Im
660  Capturing subpattern count = 0  Capturing subpattern count = 0
661  Options: anchored multiline  Options: anchored multiline
662  No first char  No first char
663  No need char  No need char
664    
665  /^abc/Im  /^abc/Im
666  Capturing subpattern count = 0  Capturing subpattern count = 0
667  Options: multiline  Options: multiline
668  First char at start or follows newline  First char at start or follows newline
# Line 703  Starting byte set: a b Line 705  Starting byte set: a b
705    
706  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
707  Capturing subpattern count = 0  Capturing subpattern count = 0
708    Contains explicit CR or LF match
709  Options: multiline  Options: multiline
710  No first char  No first char
711  Need char = 'r'  Need char = 'r'
712      foo\nbarbar      foo\nbarbar
713   0: bar   0: bar
714      ***Failers      ***Failers
715  No match  No match
716      rhubarb      rhubarb
717  No match  No match
718      barbell      barbell
719  No match  No match
720      abc\nbarton      abc\nbarton
721  No match  No match
722    
723  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
724  Capturing subpattern count = 0  Capturing subpattern count = 0
725    Contains explicit CR or LF match
726  Options: multiline  Options: multiline
727  First char at start or follows newline  First char at start or follows newline
728  Need char = 'r'  Need char = 'r'
729      foo\nbarbar      foo\nbarbar
730   0: bar   0: bar
731      ***Failers      ***Failers
732  No match  No match
733      rhubarb      rhubarb
734  No match  No match
735      barbell      barbell
736  No match  No match
737      abc\nbarton      abc\nbarton
738  No match  No match
739    
740  /(?>^abc)/Im  /(?>^abc)/Im
# Line 744  Need char = 'c' Line 748  Need char = 'c'
748   0: abc   0: abc
749      *** Failers      *** Failers
750  No match  No match
751      defabc      defabc
752  No match  No match
753    
754  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 771  Need char = 't' Line 775  Need char = 't'
775  No match  No match
776      cart      cart
777  No match  No match
778      horse-and-cart      horse-and-cart
779  No match  No match
780    
781  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
782  Capturing subpattern count = 0  Capturing subpattern count = 0
783  No options  No options
# Line 809  Need char = 'Z' Line 813  Need char = 'Z'
813   0: ZZ   0: ZZ
814      bZZ      bZZ
815   0: ZZ   0: ZZ
816      BZZ      BZZ
817   0: ZZ   0: ZZ
818      *** Failers      *** Failers
819  No match  No match
820      ZZ      ZZ
821  No match  No match
822      abXYZZ      abXYZZ
823  No match  No match
824      zzz      zzz
825  No match  No match
826      bzz      bzz
827  No match  No match
828    
829  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
# Line 829  First char = 'b' Line 833  First char = 'b'
833  Need char = 'r'  Need char = 'r'
834      bar      bar
835   0: bar   0: bar
836      foobbar      foobbar
837   0: bar   0: bar
838      *** Failers      *** Failers
839  No match  No match
840      fooabar      fooabar
841  No match  No match
842    
843  /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 853  No first char
853  No need char  No need char
854      *** Failers      *** Failers
855  No match  No match
856      a      a
857  No match  No match
858    
859  /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 871  No need char
871      aaaaaa      aaaaaa
872   0: aaaaaa   0: aaaaaa
873   1: aa   1: aa
874    
875  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
876  Capturing subpattern count = 0  Capturing subpattern count = 0
877  No options  No options
# Line 1001  Need char = 'd' Line 1005  Need char = 'd'
1005   1: a   1: a
1006   2: d   2: d
1007  copy substring 5 failed -7  copy substring 5 failed -7
1008    
1009  /(.{20})/I  /(.{20})/I
1010  Capturing subpattern count = 1  Capturing subpattern count = 1
1011  Partial matching not supported  Partial matching not supported
# Line 1019  No need char Line 1023  No need char
1023   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1024   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1025   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1026    
1027  /(.{15})/I  /(.{15})/I
1028  Capturing subpattern count = 1  Capturing subpattern count = 1
1029  Partial matching not supported  Partial matching not supported
# Line 1051  No need char Line 1055  No need char
1055   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1056   0L abcdefghijklmnop   0L abcdefghijklmnop
1057   1L abcdefghijklmnop   1L abcdefghijklmnop
1058    
1059  /^(a|(bc))de(f)/I  /^(a|(bc))de(f)/I
1060  Capturing subpattern count = 3  Capturing subpattern count = 3
1061  Options: anchored  Options: anchored
1062  No first char  No first char
1063  No need char  No need char
1064      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1065   0: adef   0: adef
1066   1: a   1: a
1067   2: <unset>   2: <unset>
# Line 1070  get substring 4 failed -7 Line 1074  get substring 4 failed -7
1074   1L a   1L a
1075   2L   2L
1076   3L f   3L f
1077      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1078   0: bcdef   0: bcdef
1079   1: bc   1: bc
1080   2: bc   2: bc
# Line 1083  get substring 4 failed -7 Line 1087  get substring 4 failed -7
1087   1L bc   1L bc
1088   2L bc   2L bc
1089   3L f   3L f
1090      adefghijk\C0      adefghijk\C0
1091   0: adef   0: adef
1092   1: a   1: a
1093   2: <unset>   2: <unset>
1094   3: f   3: f
1095   0C adef (4)   0C adef (4)
1096    
1097  /^abc\00def/I  /^abc\00def/I
1098  Capturing subpattern count = 0  Capturing subpattern count = 0
1099  Options: anchored  Options: anchored
1100  No first char  No first char
1101  No need char  No need char
1102      abc\00def\L\C0      abc\00def\L\C0
1103   0: abc\x00def   0: abc\x00def
1104   0C abc (7)   0C abc (7)
1105   0L abc   0L abc
1106    
1107  /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]+
1108  )((?:[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]+
1109  )?)?)?)?)?)?)?)?)?otherword/IM  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 448  
1110  Capturing subpattern count = 8  Capturing subpattern count = 8
1111  Partial matching not supported  Partial matching not supported
1112    Contains explicit CR or LF match
1113  No options  No options
1114  First char = 'w'  First char = 'w'
1115  Need char = 'd'  Need char = 'd'
1116    
1117  /.*X/ID  /.*X/IDZ
1118  ------------------------------------------------------------------  ------------------------------------------------------------------
1119    0   7 Bra 0          Bra
1120    3     Any*          Any*
1121    5     X          X
1122    7   7 Ket          Ket
1123   10     End          End
1124  ------------------------------------------------------------------  ------------------------------------------------------------------
1125  Capturing subpattern count = 0  Capturing subpattern count = 0
1126  Partial matching not supported  Partial matching not supported
# Line 1124  No options Line 1128  No options
1128  First char at start or follows newline  First char at start or follows newline
1129  Need char = 'X'  Need char = 'X'
1130    
1131  /.*X/IDs  /.*X/IDZs
1132  ------------------------------------------------------------------  ------------------------------------------------------------------
1133    0   7 Bra 0          Bra
1134    3     Any*          Any*
1135    5     X          X
1136    7   7 Ket          Ket
1137   10     End          End
1138  ------------------------------------------------------------------  ------------------------------------------------------------------
1139  Capturing subpattern count = 0  Capturing subpattern count = 0
1140  Partial matching not supported  Partial matching not supported
# Line 1138  Options: anchored dotall Line 1142  Options: anchored dotall
1142  No first char  No first char
1143  Need char = 'X'  Need char = 'X'
1144    
1145  /(.*X|^B)/ID  /(.*X|^B)/IDZ
1146  ------------------------------------------------------------------  ------------------------------------------------------------------
1147    0  21 Bra 0          Bra
1148    3   9 Bra 1          CBra 1
1149    8     Any*          Any*
1150   10     X          X
1151   12   6 Alt          Alt
1152   15     ^          ^
1153   16     B          B
1154   18  15 Ket          Ket
1155   21  21 Ket          Ket
1156   24     End          End
1157  ------------------------------------------------------------------  ------------------------------------------------------------------
1158  Capturing subpattern count = 1  Capturing subpattern count = 1
1159  Partial matching not supported  Partial matching not supported
# Line 1157  No options Line 1161  No options
1161  First char at start or follows newline  First char at start or follows newline
1162  No need char  No need char
1163    
1164  /(.*X|^B)/IDs  /(.*X|^B)/IDZs
1165  ------------------------------------------------------------------  ------------------------------------------------------------------
1166    0  21 Bra 0          Bra
1167    3   9 Bra 1          CBra 1
1168    8     Any*          Any*
1169   10     X          X
1170   12   6 Alt          Alt
1171   15     ^          ^
1172   16     B          B
1173   18  15 Ket          Ket
1174   21  21 Ket          Ket
1175   24     End          End
1176  ------------------------------------------------------------------  ------------------------------------------------------------------
1177  Capturing subpattern count = 1  Capturing subpattern count = 1
1178  Partial matching not supported  Partial matching not supported
1179  Options: anchored dotall  Options: anchored dotall
1180  No first char  No first char
1181  No need char  No need char
1182    
1183  /(?s)(.*X|^B)/ID  /(?s)(.*X|^B)/IDZ
1184  ------------------------------------------------------------------  ------------------------------------------------------------------
1185    0  21 Bra 0          Bra
1186    3   9 Bra 1          CBra 1
1187    8     Any*          Any*
1188   10     X          X
1189   12   6 Alt          Alt
1190   15     ^          ^
1191   16     B          B
1192   18  15 Ket          Ket
1193   21  21 Ket          Ket
1194   24     End          End
1195  ------------------------------------------------------------------  ------------------------------------------------------------------
1196  Capturing subpattern count = 1  Capturing subpattern count = 1
1197  Partial matching not supported  Partial matching not supported
# Line 1195  Options: anchored dotall Line 1199  Options: anchored dotall
1199  No first char  No first char
1200  No need char  No need char
1201    
1202  /(?s:.*X|^B)/ID  /(?s:.*X|^B)/IDZ
1203  ------------------------------------------------------------------  ------------------------------------------------------------------
1204    0  25 Bra 0          Bra
1205    3   9 Bra 0          Bra
1206    6  04 Opt       04 Opt
1207    8     Any*          Any*
1208   10     X          X
1209   12   8 Alt          Alt
1210   15  04 Opt       04 Opt
1211   17     ^          ^
1212   18     B          B
1213   20  17 Ket          Ket
1214   23  00 Opt       00 Opt
1215   25  25 Ket          Ket
1216   28     End          End
1217  ------------------------------------------------------------------  ------------------------------------------------------------------
1218  Capturing subpattern count = 0  Capturing subpattern count = 0
1219  Partial matching not supported  Partial matching not supported
# Line 1294  No need char Line 1298  No need char
1298      ississippi      ississippi
1299   0: iss   0: iss
1300   0+ issippi   0+ issippi
1301    
1302  /.*iss/Ig+  /.*iss/Ig+
1303  Capturing subpattern count = 0  Capturing subpattern count = 0
1304  Partial matching not supported  Partial matching not supported
1305  No options  No options
1306  First char at start or follows newline  First char at start or follows newline
1307  Need char = 's'  Need char = 's'
1308      abciss\nxyzisspqr      abciss\nxyzisspqr
1309   0: abciss   0: abciss
1310   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1311   0: xyziss   0: xyziss
# Line 1333  Need char = 'i' Line 1337  Need char = 'i'
1337   0+ river   0+ river
1338   0: riv   0: riv
1339   0+ er   0+ er
1340      Missouri river\A      Missouri river\A
1341   0: Mis   0: Mis
1342   0+ souri river   0+ souri river
1343    
# Line 1348  No need char Line 1352  No need char
1352    
1353  /^ab\n/Ig+  /^ab\n/Ig+
1354  Capturing subpattern count = 0  Capturing subpattern count = 0
1355    Contains explicit CR or LF match
1356  Options: anchored  Options: anchored
1357  No first char  No first char
1358  No need char  No need char
# Line 1357  No need char Line 1362  No need char
1362    
1363  /^ab\n/Img+  /^ab\n/Img+
1364  Capturing subpattern count = 0  Capturing subpattern count = 0
1365    Contains explicit CR or LF match
1366  Options: multiline  Options: multiline
1367  First char at start or follows newline  First char at start or follows newline
1368  Need char = 10  Need char = 10
# Line 1434  Need char = 'a' Line 1440  Need char = 'a'
1440  /"([^\\"]+|\\.)*"/I  /"([^\\"]+|\\.)*"/I
1441  Capturing subpattern count = 1  Capturing subpattern count = 1
1442  Partial matching not supported  Partial matching not supported
1443    Contains explicit CR or LF match
1444  No options  No options
1445  First char = '"'  First char = '"'
1446  Need char = '"'  Need char = '"'
# Line 1646  No need char Line 1653  No need char
1653   0:   0:
1654      *** Failers      *** Failers
1655   0:   0:
1656      \N      \N
1657  No match  No match
1658    
1659  /|-/I  /|-/I
1660  Capturing subpattern count = 0  Capturing subpattern count = 0
1661  No options  No options
# Line 1662  No need char Line 1669  No need char
1669   0: -   0: -
1670      *** Failers      *** Failers
1671   0:   0:
1672      \Nabc      \Nabc
1673  No match  No match
1674    
1675  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/IP
# Line 1691  No match Line 1698  No match
1698   1: bbbb   1: bbbb
1699   2: z   2: z
1700   3: z   3: z
1701    
1702  /^.?abcd/IS  /^.?abcd/IS
1703  Capturing subpattern count = 0  Capturing subpattern count = 0
1704  Options: anchored  Options: anchored
1705  No first char  No first char
# Line 1709  Study returned NULL Line 1716  Study returned NULL
1716    /Ix    /Ix
1717  Capturing subpattern count = 0  Capturing subpattern count = 0
1718  Partial matching not supported  Partial matching not supported
1719    Contains explicit CR or LF match
1720  Options: extended  Options: extended
1721  First char = '('  First char = '('
1722  Need char = ')'  Need char = ')'
# Line 1718  Need char = ')' Line 1726  Need char = ')'
1726   0: (abcd)   0: (abcd)
1727      xyz(abcd)      xyz(abcd)
1728   0: (abcd)   0: (abcd)
1729      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1730   0: (ab(xy)cd)   0: (ab(xy)cd)
1731      (ab(xycd)pqr      (ab(xycd)pqr
1732   0: (xycd)   0: (xycd)
1733      () abc ()      () abc ()
1734   0: ()   0: ()
1735      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1736   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1737      *** Failers      *** Failers
1738  No match  No match
1739      abcd      abcd
1740  No match  No match
1741      abcd)      abcd)
1742  No match  No match
1743      (abcd      (abcd
1744  No match  No match
1745    
1746  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1747  Capturing subpattern count = 1  Capturing subpattern count = 1
1748  Partial matching not supported  Partial matching not supported
1749    Contains explicit CR or LF match
1750  Options: extended  Options: extended
1751  First char = '('  First char = '('
1752  Need char = ')'  Need char = ')'
1753      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1754   0: (ab(xy)cd)   0: (ab(xy)cd)
1755   1: cd   1: cd
1756      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1753  Need char = ')' Line 1762  Need char = ')'
1762  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1763  Capturing subpattern count = 0  Capturing subpattern count = 0
1764  Partial matching not supported  Partial matching not supported
1765    Contains explicit CR or LF match
1766  Options: extended  Options: extended
1767  First char = '('  First char = '('
1768  Need char = ')'  Need char = ')'
# Line 1760  Need char = ')' Line 1770  Need char = ')'
1770   0: (abcd)   0: (abcd)
1771      (ab(xy)cd)      (ab(xy)cd)
1772   0: (xy)   0: (xy)
1773      (a(b(c)d)e)      (a(b(c)d)e)
1774   0: (c)   0: (c)
1775      ((ab))      ((ab))
1776   0: ((ab))   0: ((ab))
1777      *** Failers      *** Failers
1778  No match  No match
1779      ()      ()
1780  No match  No match
1781    
1782  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1783  Capturing subpattern count = 0  Capturing subpattern count = 0
1784  Partial matching not supported  Partial matching not supported
1785    Contains explicit CR or LF match
1786  Options: extended  Options: extended
1787  First char = '('  First char = '('
1788  Need char = ')'  Need char = ')'
# Line 1783  Need char = ')' Line 1794  Need char = ')'
1794  /\(  ( (?>[^()]+) | (?R) )* \) /Ix  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1795  Capturing subpattern count = 1  Capturing subpattern count = 1
1796  Partial matching not supported  Partial matching not supported
1797    Contains explicit CR or LF match
1798  Options: extended  Options: extended
1799  First char = '('  First char = '('
1800  Need char = ')'  Need char = ')'
# Line 1793  Need char = ')' Line 1805  Need char = ')'
1805  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1806  Capturing subpattern count = 2  Capturing subpattern count = 2
1807  Partial matching not supported  Partial matching not supported
1808    Contains explicit CR or LF match
1809  Options: extended  Options: extended
1810  First char = '('  First char = '('
1811  Need char = ')'  Need char = ')'
# Line 1804  Need char = ')' Line 1817  Need char = ')'
1817  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1818  Capturing subpattern count = 3  Capturing subpattern count = 3
1819  Partial matching not supported  Partial matching not supported
1820    Contains explicit CR or LF match
1821  Options: extended  Options: extended
1822  First char = '('  First char = '('
1823  Need char = ')'  Need char = ')'
# Line 1821  Need char = ')' Line 1835  Need char = ')'
1835  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1836  Capturing subpattern count = 3  Capturing subpattern count = 3
1837  Partial matching not supported  Partial matching not supported
1838    Contains explicit CR or LF match
1839  Options: extended  Options: extended
1840  First char = '('  First char = '('
1841  Need char = ')'  Need char = ')'
# Line 1838  Need char = ')' Line 1853  Need char = ')'
1853  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1854  Capturing subpattern count = 11  Capturing subpattern count = 11
1855  Partial matching not supported  Partial matching not supported
1856    Contains explicit CR or LF match
1857  Options: extended  Options: extended
1858  First char = '('  First char = '('
1859  Need char = ')'  Need char = ')'
# Line 1858  Need char = ')' Line 1874  Need char = ')'
1874  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1875  Capturing subpattern count = 3  Capturing subpattern count = 3
1876  Partial matching not supported  Partial matching not supported
1877    Contains explicit CR or LF match
1878  Options: extended  Options: extended
1879  First char = '('  First char = '('
1880  Need char = ')'  Need char = ')'
# Line 1870  Need char = ')' Line 1887  Need char = ')'
1887  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1888  Capturing subpattern count = 3  Capturing subpattern count = 3
1889  Partial matching not supported  Partial matching not supported
1890    Contains explicit CR or LF match
1891  Options: extended  Options: extended
1892  First char = '('  First char = '('
1893  Need char = ')'  Need char = ')'
# Line 1884  Need char = ')' Line 1902  Need char = ')'
1902   2: ij   2: ij
1903   3: (cd(ef)gh)   3: (cd(ef)gh)
1904    
1905  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1906  ------------------------------------------------------------------  ------------------------------------------------------------------
1907    0  37 Bra 0          Bra
1908    3     ^          ^
1909    4     [0-9A-Za-z]          [0-9A-Za-z]
1910   37  37 Ket          Ket
1911   40     End          End
1912  ------------------------------------------------------------------  ------------------------------------------------------------------
1913  Capturing subpattern count = 0  Capturing subpattern count = 0
1914  Options: anchored  Options: anchored
1915  No first char  No first char
1916  No need char  No need char
1917    
1918  /^[[:^alnum:]]/D  /^[[:^alnum:]]/DZ
1919  ------------------------------------------------------------------  ------------------------------------------------------------------
1920    0  37 Bra 0          Bra
1921    3     ^          ^
1922    4     [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff]
1923   37  37 Ket          Ket
1924   40     End          End
1925  ------------------------------------------------------------------  ------------------------------------------------------------------
1926  Capturing subpattern count = 0  Capturing subpattern count = 0
1927    Contains explicit CR or LF match
1928  Options: anchored  Options: anchored
1929  No first char  No first char
1930  No need char  No need char
1931    
1932  /^[[:alpha:]]/D  /^[[:alpha:]]/DZ
1933  ------------------------------------------------------------------  ------------------------------------------------------------------
1934    0  37 Bra 0          Bra
1935    3     ^          ^
1936    4     [A-Za-z]          [A-Za-z]
1937   37  37 Ket          Ket
1938   40     End          End
1939  ------------------------------------------------------------------  ------------------------------------------------------------------
1940  Capturing subpattern count = 0  Capturing subpattern count = 0
1941  Options: anchored  Options: anchored
1942  No first char  No first char
1943  No need char  No need char
1944    
1945  /^[[:^alpha:]]/D  /^[[:^alpha:]]/DZ
1946  ------------------------------------------------------------------  ------------------------------------------------------------------
1947    0  37 Bra 0          Bra
1948    3     ^          ^
1949    4     [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff]
1950   37  37 Ket          Ket
1951   40     End          End
1952  ------------------------------------------------------------------  ------------------------------------------------------------------
1953  Capturing subpattern count = 0  Capturing subpattern count = 0
1954    Contains explicit CR or LF match
1955  Options: anchored  Options: anchored
1956  No first char  No first char
1957  No need char  No need char
1958    
1959  /[_[:alpha:]]/IS  /[_[:alpha:]]/IS
1960  Capturing subpattern count = 0  Capturing subpattern count = 0
1961  No options  No options
# Line 1944  No need char Line 1964  No need char
1964  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
1965    _ 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
1966    
1967  /^[[:ascii:]]/D  /^[[:ascii:]]/DZ
1968  ------------------------------------------------------------------  ------------------------------------------------------------------
1969    0  37 Bra 0          Bra
1970    3     ^          ^
1971    4     [\x00-\x7f]          [\x00-\x7f]
1972   37  37 Ket          Ket
1973   40     End          End
1974  ------------------------------------------------------------------  ------------------------------------------------------------------
1975  Capturing subpattern count = 0  Capturing subpattern count = 0
1976    Contains explicit CR or LF match
1977  Options: anchored  Options: anchored
1978  No first char  No first char
1979  No need char  No need char
1980    
1981  /^[[:^ascii:]]/D  /^[[:^ascii:]]/DZ
1982  ------------------------------------------------------------------  ------------------------------------------------------------------
1983    0  37 Bra 0          Bra
1984    3     ^          ^
1985    4     [\x80-\xff]          [\x80-\xff]
1986   37  37 Ket          Ket
1987   40     End          End
1988  ------------------------------------------------------------------  ------------------------------------------------------------------
1989  Capturing subpattern count = 0  Capturing subpattern count = 0
1990  Options: anchored  Options: anchored
1991  No first char  No first char
1992  No need char  No need char
1993    
1994  /^[[:blank:]]/D  /^[[:blank:]]/DZ
1995  ------------------------------------------------------------------  ------------------------------------------------------------------
1996    0  37 Bra 0          Bra
1997    3     ^          ^
1998    4     [\x09 ]          [\x09 ]
1999   37  37 Ket          Ket
2000   40     End          End
2001  ------------------------------------------------------------------  ------------------------------------------------------------------
2002  Capturing subpattern count = 0  Capturing subpattern count = 0
2003  Options: anchored  Options: anchored
2004  No first char  No first char
2005  No need char  No need char
2006    
2007  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2008  ------------------------------------------------------------------  ------------------------------------------------------------------
2009    0  37 Bra 0          Bra
2010    3     ^          ^
2011    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff]
2012   37  37 Ket          Ket
2013   40     End          End
2014  ------------------------------------------------------------------  ------------------------------------------------------------------
2015  Capturing subpattern count = 0  Capturing subpattern count = 0
2016    Contains explicit CR or LF match
2017  Options: anchored  Options: anchored
2018  No first char  No first char
2019  No need char  No need char
2020    
2021  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
2022  Capturing subpattern count = 0  Capturing subpattern count = 0
2023    Contains explicit CR or LF match
2024  No options  No options
2025  No first char  No first char
2026  No need char  No need char
2027  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2028    
2029  /^[[:cntrl:]]/D  /^[[:cntrl:]]/DZ
2030  ------------------------------------------------------------------  ------------------------------------------------------------------
2031    0  37 Bra 0          Bra
2032    3     ^          ^
2033    4     [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
2034   37  37 Ket          Ket
2035   40     End          End
2036  ------------------------------------------------------------------  ------------------------------------------------------------------
2037  Capturing subpattern count = 0  Capturing subpattern count = 0
2038    Contains explicit CR or LF match
2039  Options: anchored  Options: anchored
2040  No first char  No first char
2041  No need char  No need char
2042    
2043  /^[[:digit:]]/D  /^[[:digit:]]/DZ
2044  ------------------------------------------------------------------  ------------------------------------------------------------------
2045    0  37 Bra 0          Bra
2046    3     ^          ^
2047    4     [0-9]          [0-9]
2048   37  37 Ket          Ket
2049   40     End          End
2050  ------------------------------------------------------------------  ------------------------------------------------------------------
2051  Capturing subpattern count = 0  Capturing subpattern count = 0
2052  Options: anchored  Options: anchored
2053  No first char  No first char
2054  No need char  No need char
2055    
2056  /^[[:graph:]]/D  /^[[:graph:]]/DZ
2057  ------------------------------------------------------------------  ------------------------------------------------------------------
2058    0  37 Bra 0          Bra
2059    3     ^          ^
2060    4     [!-~]          [!-~]
2061   37  37 Ket          Ket
2062   40     End          End
2063  ------------------------------------------------------------------  ------------------------------------------------------------------
2064  Capturing subpattern count = 0  Capturing subpattern count = 0
2065  Options: anchored  Options: anchored
2066  No first char  No first char
2067  No need char  No need char
2068    
2069  /^[[:lower:]]/D  /^[[:lower:]]/DZ
2070  ------------------------------------------------------------------  ------------------------------------------------------------------
2071    0  37 Bra 0          Bra
2072    3     ^          ^
2073    4     [a-z]          [a-z]
2074   37  37 Ket          Ket
2075   40     End          End
2076  ------------------------------------------------------------------  ------------------------------------------------------------------
2077  Capturing subpattern count = 0  Capturing subpattern count = 0
2078  Options: anchored  Options: anchored
2079  No first char  No first char
2080  No need char  No need char
2081    
2082  /^[[:print:]]/D  /^[[:print:]]/DZ
2083  ------------------------------------------------------------------  ------------------------------------------------------------------
2084    0  37 Bra 0          Bra
2085    3     ^          ^
2086    4     [ -~]          [ -~]
2087   37  37 Ket          Ket
2088   40     End          End
2089  ------------------------------------------------------------------  ------------------------------------------------------------------
2090  Capturing subpattern count = 0  Capturing subpattern count = 0
2091  Options: anchored  Options: anchored
2092  No first char  No first char
2093  No need char  No need char
2094    
2095  /^[[:punct:]]/D  /^[[:punct:]]/DZ
2096  ------------------------------------------------------------------  ------------------------------------------------------------------
2097    0  37 Bra 0          Bra
2098    3     ^          ^
2099    4     [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2100   37  37 Ket          Ket
2101   40     End          End
2102  ------------------------------------------------------------------  ------------------------------------------------------------------
2103  Capturing subpattern count = 0  Capturing subpattern count = 0
2104  Options: anchored  Options: anchored
2105  No first char  No first char
2106  No need char  No need char
2107    
2108  /^[[:space:]]/D  /^[[:space:]]/DZ
2109  ------------------------------------------------------------------  ------------------------------------------------------------------
2110    0  37 Bra 0          Bra
2111    3     ^          ^
2112    4     [\x09-\x0d ]          [\x09-\x0d ]
2113   37  37 Ket          Ket
2114   40     End          End
2115  ------------------------------------------------------------------  ------------------------------------------------------------------
2116  Capturing subpattern count = 0  Capturing subpattern count = 0
2117    Contains explicit CR or LF match
2118  Options: anchored  Options: anchored
2119  No first char  No first char
2120  No need char  No need char
2121    
2122  /^[[:upper:]]/D  /^[[:upper:]]/DZ
2123  ------------------------------------------------------------------  ------------------------------------------------------------------
2124    0  37 Bra 0          Bra
2125    3     ^          ^
2126    4     [A-Z]          [A-Z]
2127   37  37 Ket          Ket
2128   40     End          End
2129  ------------------------------------------------------------------  ------------------------------------------------------------------
2130  Capturing subpattern count = 0  Capturing subpattern count = 0
2131  Options: anchored  Options: anchored
2132  No first char  No first char
2133  No need char  No need char
2134    
2135  /^[[:xdigit:]]/D  /^[[:xdigit:]]/DZ
2136  ------------------------------------------------------------------  ------------------------------------------------------------------
2137    0  37 Bra 0          Bra
2138    3     ^          ^
2139    4     [0-9A-Fa-f]          [0-9A-Fa-f]
2140   37  37 Ket          Ket
2141   40     End          End
2142  ------------------------------------------------------------------  ------------------------------------------------------------------
2143  Capturing subpattern count = 0  Capturing subpattern count = 0
2144  Options: anchored  Options: anchored
2145  No first char  No first char
2146  No need char  No need char
2147    
2148  /^[[:word:]]/D  /^[[:word:]]/DZ
2149  ------------------------------------------------------------------  ------------------------------------------------------------------
2150    0  37 Bra 0          Bra
2151    3     ^          ^
2152    4     [0-9A-Z_a-z]          [0-9A-Z_a-z]
2153   37  37 Ket          Ket
2154   40     End          End
2155  ------------------------------------------------------------------  ------------------------------------------------------------------
2156  Capturing subpattern count = 0  Capturing subpattern count = 0
2157  Options: anchored  Options: anchored
2158  No first char  No first char
2159  No need char  No need char
2160    
2161  /^[[:^cntrl:]]/D  /^[[:^cntrl:]]/DZ
2162  ------------------------------------------------------------------  ------------------------------------------------------------------
2163    0  37 Bra 0          Bra
2164    3     ^          ^
2165    4     [ -~\x80-\xff]          [ -~\x80-\xff]
2166   37  37 Ket          Ket
2167   40     End          End
2168  ------------------------------------------------------------------  ------------------------------------------------------------------
2169  Capturing subpattern count = 0  Capturing subpattern count = 0
2170  Options: anchored  Options: anchored
2171  No first char  No first char
2172  No need char  No need char
2173    
2174  /^[12[:^digit:]]/D  /^[12[:^digit:]]/DZ
2175  ------------------------------------------------------------------  ------------------------------------------------------------------
2176    0  37 Bra 0          Bra
2177    3     ^          ^
2178    4     [\x00-/12:-\xff]          [\x00-/12:-\xff]
2179   37  37 Ket          Ket
2180   40     End          End
2181  ------------------------------------------------------------------  ------------------------------------------------------------------
2182  Capturing subpattern count = 0  Capturing subpattern count = 0
2183    Contains explicit CR or LF match
2184  Options: anchored  Options: anchored
2185  No first char  No first char
2186  No need char  No need char
2187    
2188  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2189  ------------------------------------------------------------------  ------------------------------------------------------------------
2190    0  37 Bra 0          Bra
2191    3     ^          ^
2192    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff]
2193   37  37 Ket          Ket
2194   40     End          End
2195  ------------------------------------------------------------------  ------------------------------------------------------------------
2196  Capturing subpattern count = 0  Capturing subpattern count = 0
2197    Contains explicit CR or LF match
2198  Options: anchored  Options: anchored
2199  No first char  No first char
2200  No need char  No need char
2201    
2202  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2203  ------------------------------------------------------------------  ------------------------------------------------------------------
2204    0  36 Bra 0          Bra
2205    3     [%01A-Za-z]          [%01A-Za-z]
2206   36  36 Ket          Ket
2207   39     End          End
2208  ------------------------------------------------------------------  ------------------------------------------------------------------
2209  Capturing subpattern count = 0  Capturing subpattern count = 0
2210  No options  No options
# Line 2200  No first char Line 2227  No first char
2227  No need char  No need char
2228      A      A
2229   0: A   0: A
2230      a      a
2231   0: a   0: a
2232    
2233  /[[:lower:]]/Ii  /[[:lower:]]/Ii
2234  Capturing subpattern count = 0  Capturing subpattern count = 0
2235  Options: caseless  Options: caseless
# Line 2210  No first char Line 2237  No first char
2237  No need char  No need char
2238      A      A
2239   0: A   0: A
2240      a      a
2241   0: a   0: a
2242    
2243  /((?-i)[[:lower:]])[[:lower:]]/Ii  /((?-i)[[:lower:]])[[:lower:]]/Ii
# Line 2229  No need char Line 2256  No need char
2256   1: a   1: a
2257      Ab      Ab
2258  No match  No match
2259      AB      AB
2260  No match  No match
2261    
2262  /[\200-\110]/I  /[\200-\110]/I
# Line 2543  Need char = 'n' Line 2570  Need char = 'n'
2570   0: mainOmain   0: mainOmain
2571   1: main   1: main
2572   2: O   2: O
2573    
2574  /These are all cases where Perl does it differently (nested captures)/I  /These are all cases where Perl does it differently (nested captures)/I
2575  Capturing subpattern count = 1  Capturing subpattern count = 1
2576  No options  No options
# Line 2559  No need char Line 2586  No need char
2586   0: aba   0: aba
2587   1: a   1: a
2588   2: b   2: b
2589    
2590  /^(aa(bb)?)+$/I  /^(aa(bb)?)+$/I
2591  Capturing subpattern count = 2  Capturing subpattern count = 2
2592  Options: anchored  Options: anchored
2593  No first char  No first char
2594  No need char  No need char
2595      aabbaa      aabbaa
2596   0: aabbaa   0: aabbaa
2597   1: aa   1: aa
2598   2: bb   2: bb
2599    
2600  /^(aa|aa(bb))+$/I  /^(aa|aa(bb))+$/I
2601  Capturing subpattern count = 2  Capturing subpattern count = 2
2602  Options: anchored  Options: anchored
2603  No first char  No first char
2604  No need char  No need char
2605      aabbaa      aabbaa
2606   0: aabbaa   0: aabbaa
2607   1: aa   1: aa
2608   2: bb   2: bb
2609    
2610  /^(aa(bb)??)+$/I  /^(aa(bb)??)+$/I
2611  Capturing subpattern count = 2  Capturing subpattern count = 2
2612  Options: anchored  Options: anchored
2613  No first char  No first char
2614  No need char  No need char
2615      aabbaa      aabbaa
2616   0: aabbaa   0: aabbaa
2617   1: aa   1: aa
2618   2: bb   2: bb
2619    
2620  /^(?:aa(bb)?)+$/I  /^(?:aa(bb)?)+$/I
2621  Capturing subpattern count = 1  Capturing subpattern count = 1
2622  Options: anchored  Options: anchored
2623  No first char  No first char
2624  No need char  No need char
2625      aabbaa      aabbaa
2626   0: aabbaa   0: aabbaa
2627   1: bb   1: bb
2628    
2629  /^(aa(b(b))?)+$/I  /^(aa(b(b))?)+$/I
2630  Capturing subpattern count = 3  Capturing subpattern count = 3
2631  Options: anchored  Options: anchored
2632  No first char  No first char
2633  No need char  No need char
2634      aabbaa      aabbaa
2635   0: aabbaa   0: aabbaa
2636   1: aa   1: aa
2637   2: bb   2: bb
# Line 2615  Capturing subpattern count = 2 Line 2642  Capturing subpattern count = 2
2642  Options: anchored  Options: anchored
2643  No first char  No first char
2644  No need char  No need char
2645      aabbaa      aabbaa
2646   0: aabbaa   0: aabbaa
2647   1: bb   1: bb
2648   2: b   2: b
# Line 2625  Capturing subpattern count = 1 Line 2652  Capturing subpattern count = 1
2652  Options: anchored  Options: anchored
2653  No first char  No first char
2654  No need char  No need char
2655      aabbaa      aabbaa
2656   0: aabbaa   0: aabbaa
2657   1: bb   1: bb
2658    
# Line 2634  Capturing subpattern count = 1 Line 2661  Capturing subpattern count = 1
2661  Options: anchored  Options: anchored
2662  No first char  No first char
2663  No need char  No need char
2664      aabbbaa      aabbbaa
2665   0: aabbbaa   0: aabbbaa
2666   1: bbb   1: bbb
2667    
2668  /^(?:aa(b(?:bb))?)+$/I  /^(?:aa(b(?:bb))?)+$/I
2669  Capturing subpattern count = 1  Capturing subpattern count = 1
2670  Options: anchored  Options: anchored
2671  No first char  No first char
2672  No need char  No need char
2673      aabbbaa      aabbbaa
2674   0: aabbbaa   0: aabbbaa
2675   1: bbb   1: bbb
2676    
# Line 2652  Capturing subpattern count = 1 Line 2679  Capturing subpattern count = 1
2679  Options: anchored  Options: anchored
2680  No first char  No first char
2681  No need char  No need char
2682      aabbaa      aabbaa
2683   0: aabbaa   0: aabbaa
2684   1: b   1: b
2685    
# Line 2661  Capturing subpattern count = 1 Line 2688  Capturing subpattern count = 1
2688  Options: anchored  Options: anchored
2689  No first char  No first char
2690  No need char  No need char
2691      aabbbaa      aabbbaa
2692   0: aabbbaa   0: aabbbaa
2693   1: bb   1: bb
2694    
# Line 2670  Capturing subpattern count = 3 Line 2697  Capturing subpattern count = 3
2697  Options: anchored  Options: anchored
2698  No first char  No first char
2699  No need char  No need char
2700      aabbbaa      aabbbaa
2701   0: aabbbaa   0: aabbbaa
2702   1: aa   1: aa
2703   2: bbb   2: bbb
# Line 2681  Capturing subpattern count = 3 Line 2708  Capturing subpattern count = 3
2708  Options: anchored  Options: anchored
2709  No first char  No first char
2710  No need char  No need char
2711      aabbbbaa      aabbbbaa
2712   0: aabbbbaa   0: aabbbbaa
2713   1: aa   1: aa
2714   2: bbbb   2: bbbb
2715   3: bb   3: bb
2716    
2717  /--------------------------------------------------------------------/I  /--------------------------------------------------------------------/I
2718  Capturing subpattern count = 0  Capturing subpattern count = 0
2719  No options  No options
2720  First char = '-'  First char = '-'
2721  Need char = '-'  Need char = '-'
2722    
2723  /#/IxMD  /#/IxDZ
 Memory allocation (code space): 7  
2724  ------------------------------------------------------------------  ------------------------------------------------------------------
2725    0   3 Bra 0          Bra
2726    3   3 Ket          Ket
2727    6     End          End
2728  ------------------------------------------------------------------  ------------------------------------------------------------------
2729  Capturing subpattern count = 0  Capturing subpattern count = 0
2730  Options: extended  Options: extended
2731  No first char  No first char
2732  No need char  No need char
2733    
2734  /a#/IxMD  /a#/IxDZ
 Memory allocation (code space): 9  
2735  ------------------------------------------------------------------  ------------------------------------------------------------------
2736    0   5 Bra 0          Bra
2737    3     a          a
2738    5   5 Ket          Ket
2739    8     End          End
2740  ------------------------------------------------------------------  ------------------------------------------------------------------
2741  Capturing subpattern count = 0  Capturing subpattern count = 0
2742  Options: extended  Options: extended
2743  First char = 'a'  First char = 'a'
2744  No need char  No need char
2745    
2746  /[\s]/D  /[\s]/DZ
2747  ------------------------------------------------------------------  ------------------------------------------------------------------
2748    0  36 Bra 0          Bra
2749    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2750   36  36 Ket          Ket
2751   39     End          End
2752  ------------------------------------------------------------------  ------------------------------------------------------------------
2753  Capturing subpattern count = 0  Capturing subpattern count = 0
2754  No options  No options
2755  No first char  No first char
2756  No need char  No need char
2757    
2758  /[\S]/D  /[\S]/DZ
2759  ------------------------------------------------------------------  ------------------------------------------------------------------
2760    0  36 Bra 0          Bra
2761    3     [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff]
2762   36  36 Ket          Ket
2763   39     End          End
2764  ------------------------------------------------------------------  ------------------------------------------------------------------
2765  Capturing subpattern count = 0  Capturing subpattern count = 0
2766  No options  No options
2767  No first char  No first char
2768  No need char  No need char
2769    
2770  /a(?i)b/D  /a(?i)b/DZ
2771  ------------------------------------------------------------------  ------------------------------------------------------------------
2772    0   9 Bra 0          Bra
2773    3     a          a
2774    5  01 Opt       01 Opt
2775    7  NC b       NC b
2776    9   9 Ket          Ket
2777   12     End          End
2778  ------------------------------------------------------------------  ------------------------------------------------------------------
2779  Capturing subpattern count = 0  Capturing subpattern count = 0
2780  No options  No options
# Line 2759  Need char = 'b' (caseless) Line 2784  Need char = 'b' (caseless)
2784   0: ab   0: ab
2785      aB      aB
2786   0: aB   0: aB
2787      *** Failers      *** Failers
2788  No match  No match
2789      AB      AB
2790  No match  No match
2791    
2792  /(a(?i)b)/D  /(a(?i)b)/DZ
2793  ------------------------------------------------------------------  ------------------------------------------------------------------
2794    0  19 Bra 0          Bra
2795    3  11 Bra 1          CBra 1
2796    8     a          a
2797   10  01 Opt       01 Opt
2798   12  NC b       NC b
2799   14  11 Ket          Ket
2800   17  00 Opt       00 Opt
2801   19  19 Ket          Ket
2802   22     End          End
2803  ------------------------------------------------------------------  ------------------------------------------------------------------
2804  Capturing subpattern count = 1  Capturing subpattern count = 1
2805  No options  No options
# Line 2786  Need char = 'b' (caseless) Line 2811  Need char = 'b' (caseless)
2811      aB      aB
2812   0: aB   0: aB
2813   1: aB   1: aB
2814      *** Failers      *** Failers
2815  No match  No match
2816      AB      AB
2817  No match  No match
2818    
2819  /   (?i)abc/IxD  /   (?i)abc/IxDZ
2820  ------------------------------------------------------------------  ------------------------------------------------------------------
2821    0   9 Bra 0          Bra
2822    3  NC abc       NC abc
2823    9   9 Ket          Ket
2824   12     End          End
2825  ------------------------------------------------------------------  ------------------------------------------------------------------
2826  Capturing subpattern count = 0  Capturing subpattern count = 0
2827  Options: caseless extended  Options: caseless extended
# Line 2804  First char = 'a' (caseless) Line 2829  First char = 'a' (caseless)
2829  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2830    
2831  /#this is a comment  /#this is a comment
2832    (?i)abc/IxD    (?i)abc/IxDZ
2833  ------------------------------------------------------------------  ------------------------------------------------------------------
2834    0   9 Bra 0          Bra
2835    3  NC abc       NC abc
2836    9   9 Ket          Ket
2837   12     End          End
2838  ------------------------------------------------------------------  ------------------------------------------------------------------
2839  Capturing subpattern count = 0  Capturing subpattern count = 0
2840  Options: caseless extended  Options: caseless extended
2841  First char = 'a' (caseless)  First char = 'a' (caseless)
2842  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2843    
2844  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2845  ------------------------------------------------------------------  ------------------------------------------------------------------
2846    0 603 Bra 0          Bra
2847    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2848  603 603 Ket          Ket
2849  606     End          End
2850  ------------------------------------------------------------------  ------------------------------------------------------------------
2851  Capturing subpattern count = 0  Capturing subpattern count = 0
2852  No options  No options
2853  First char = '1'  First char = '1'
2854  Need char = '0'  Need char = '0'
2855    
2856  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2857  ------------------------------------------------------------------  ------------------------------------------------------------------
2858    0 603 Bra 0          Bra
2859    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2860  603 603 Ket          Ket
2861  606     End          End
2862  ------------------------------------------------------------------  ------------------------------------------------------------------
2863  Capturing subpattern count = 0  Capturing subpattern count = 0
2864  No options  No options
2865  First char = '1'  First char = '1'
2866  Need char = '0'  Need char = '0'
2867    
2868  /\Q\E/D  /\Q\E/DZ
2869  ------------------------------------------------------------------  ------------------------------------------------------------------
2870    0   3 Bra 0          Bra
2871    3   3 Ket          Ket
2872    6     End          End
2873  ------------------------------------------------------------------  ------------------------------------------------------------------
2874  Capturing subpattern count = 0  Capturing subpattern count = 0
2875  No options  No options
# Line 2853  No need char Line 2878  No need char
2878      \      \
2879   0:   0:
2880    
2881  /\Q\Ex/D  /\Q\Ex/DZ
2882  ------------------------------------------------------------------  ------------------------------------------------------------------
2883    0   5 Bra 0          Bra
2884    3     x          x
2885    5   5 Ket          Ket
2886    8     End          End
2887  ------------------------------------------------------------------  ------------------------------------------------------------------
2888  Capturing subpattern count = 0  Capturing subpattern count = 0
2889  No options  No options
2890  First char = 'x'  First char = 'x'
2891  No need char  No need char
2892    
2893  / \Q\E/D  / \Q\E/DZ
2894  ------------------------------------------------------------------  ------------------------------------------------------------------
2895    0   5 Bra 0          Bra
2896    3  
2897    5   5 Ket          Ket
2898    8     End          End
2899  ------------------------------------------------------------------  ------------------------------------------------------------------
2900  Capturing subpattern count = 0  Capturing subpattern count = 0
2901  No options  No options
2902  First char = ' '  First char = ' '
2903  No need char  No need char
2904    
2905  /a\Q\E/D  /a\Q\E/DZ
2906  ------------------------------------------------------------------  ------------------------------------------------------------------
2907    0   5 Bra 0          Bra
2908    3     a          a
2909    5   5 Ket          Ket
2910    8     End          End
2911  ------------------------------------------------------------------  ------------------------------------------------------------------
2912  Capturing subpattern count = 0  Capturing subpattern count = 0
2913  No options  No options
# Line 2892  No need char Line 2917  No need char
2917   0: a   0: a
2918    bca    bca
2919   0: a   0: a
2920    bac    bac
2921   0: a   0: a
2922    
2923  /a\Q\Eb/D  /a\Q\Eb/DZ
2924  ------------------------------------------------------------------  ------------------------------------------------------------------
2925    0   7 Bra 0          Bra
2926    3     ab          ab
2927    7   7 Ket          Ket
2928   10     End          End
2929  ------------------------------------------------------------------  ------------------------------------------------------------------
2930  Capturing subpattern count = 0  Capturing subpattern count = 0
2931  No options  No options
# Line 2909  Need char = 'b' Line 2934  Need char = 'b'
2934    abc    abc
2935   0: ab   0: ab
2936    
2937  /\Q\Eabc/D  /\Q\Eabc/DZ
2938  ------------------------------------------------------------------  ------------------------------------------------------------------
2939    0   9 Bra 0          Bra
2940    3     abc          abc
2941    9   9 Ket          Ket
2942   12     End          End
2943  ------------------------------------------------------------------  ------------------------------------------------------------------
2944  Capturing subpattern count = 0  Capturing subpattern count = 0
2945  No options  No options
2946  First char = 'a'  First char = 'a'
2947  Need char = 'c'  Need char = 'c'
2948    
2949  /x*+\w/D  /x*+\w/DZ
2950  ------------------------------------------------------------------  ------------------------------------------------------------------
2951    0   6 Bra 0          Bra
2952    3     x*+          x*+
2953    5     \w          \w
2954    6   6 Ket          Ket
2955    9     End          End
2956  ------------------------------------------------------------------  ------------------------------------------------------------------
2957  Capturing subpattern count = 0  Capturing subpattern count = 0
2958  Partial matching not supported  Partial matching not supported
# Line 2938  No need char Line 2963  No need char
2963   0: F   0: F
2964      xxxxx      xxxxx
2965  No match  No match
2966    
2967  /x?+/D  /x?+/DZ
2968  ------------------------------------------------------------------  ------------------------------------------------------------------
2969    0   5 Bra 0          Bra
2970    3     x?+          x?+
2971    5   5 Ket          Ket
2972    8     End          End
2973  ------------------------------------------------------------------  ------------------------------------------------------------------
2974  Capturing subpattern count = 0  Capturing subpattern count = 0
2975  No options  No options
2976  No first char  No first char
2977  No need char  No need char
2978    
2979  /x++/D  /x++/DZ
2980  ------------------------------------------------------------------  ------------------------------------------------------------------
2981    0   5 Bra 0          Bra
2982    3     x++          x++
2983    5   5 Ket          Ket
2984    8     End          End
2985  ------------------------------------------------------------------  ------------------------------------------------------------------
2986  Capturing subpattern count = 0  Capturing subpattern count = 0
2987  Partial matching not supported  Partial matching not supported
# Line 2964  No options Line 2989  No options
2989  First char = 'x'  First char = 'x'
2990  No need char  No need char
2991    
2992  /x{1,3}+/D  /x{1,3}+/DZ
2993  ------------------------------------------------------------------  ------------------------------------------------------------------
2994    0  15 Bra 0          Bra
2995    3   9 Once          Once
2996    6     x          x
2997    8     x{0,2}          x{0,2}
2998   12   9 Ket          Ket
2999   15  15 Ket          Ket
3000   18     End          End
3001  ------------------------------------------------------------------  ------------------------------------------------------------------
3002  Capturing subpattern count = 0  Capturing subpattern count = 0
3003  Partial matching not supported  Partial matching not supported
# Line 2980  No options Line 3005  No options
3005  First char = 'x'  First char = 'x'
3006  No need char  No need char
3007    
3008  /(x)*+/D  /(x)*+/DZ
3009  ------------------------------------------------------------------  ------------------------------------------------------------------
3010    0  20 Bra 0          Bra
3011    3  14 Once          Once
3012    6     Brazero          Brazero
3013    7   7 Bra 1          CBra 1
3014   12     x          x
3015   14   7 KetRmax          KetRmax
3016   17  14 Ket          Ket
3017   20  20 Ket          Ket
3018   23     End          End
3019  ------------------------------------------------------------------  ------------------------------------------------------------------
3020  Capturing subpattern count = 1  Capturing subpattern count = 1
3021  No options  No options
# Line 3010  No need char Line 3035  No need char
3035  No match  No match
3036      this is not a line with only words and spaces!      this is not a line with only words and spaces!
3037  No match  No match
3038    
3039  /(\d++)(\w)/I  /(\d++)(\w)/I
3040  Capturing subpattern count = 2  Capturing subpattern count = 2
3041  Partial matching not supported  Partial matching not supported
# Line 3023  No need char Line 3048  No need char
3048   2: a   2: a
3049      *** Failers      *** Failers
3050  No match  No match
3051      12345+      12345+
3052  No match  No match
3053    
3054  /a++b/I  /a++b/I
# Line 3058  Need char = 'b' Line 3083  Need char = 'b'
3083  /([^()]++|\([^()]*\))+/I  /([^()]++|\([^()]*\))+/I
3084  Capturing subpattern count = 1  Capturing subpattern count = 1
3085  Partial matching not supported  Partial matching not supported
3086    Contains explicit CR or LF match
3087  No options  No options
3088  No first char  No first char
3089  No need char  No need char
3090      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
3091   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
3092   1: x   1: x
3093    
3094  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3095  Capturing subpattern count = 1  Capturing subpattern count = 1
3096  Partial matching not supported  Partial matching not supported
3097    Contains explicit CR or LF match
3098  No options  No options
3099  First char = '('  First char = '('
3100  Need char = ')'  Need char = ')'
# Line 3079  Need char = ')' Line 3106  Need char = ')'
3106   1: xyz   1: xyz
3107      *** Failers      *** Failers
3108  No match  No match
3109      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3110  No match  No match
3111    
3112  /(abc){1,3}+/D  /(abc){1,3}+/DZ
3113  ------------------------------------------------------------------  ------------------------------------------------------------------
3114    0  59 Bra 0          Bra
3115    3  53 Once          Once
3116    6  11 Bra 1          CBra 1
3117   11     abc          abc
3118   17  11 Ket          Ket
3119   20     Brazero          Brazero
3120   21  32 Bra 0          Bra
3121   24  11 Bra 1          CBra 1
3122   29     abc          abc
3123   35  11 Ket          Ket
3124   38     Brazero          Brazero
3125   39  11 Bra 1          CBra 1
3126   44     abc          abc
3127   50  11 Ket          Ket
3128   53  32 Ket          Ket
3129   56  53 Ket          Ket
3130   59  59 Ket          Ket
3131   62     End          End
3132  ------------------------------------------------------------------  ------------------------------------------------------------------
3133  Capturing subpattern count = 1  Capturing subpattern count = 1
3134  No options  No options
# Line 3120  Failed: nothing to repeat at offset 7 Line 3147  Failed: nothing to repeat at offset 7
3147  /a{2,3}?+b/IU  /a{2,3}?+b/IU
3148  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3149    
3150  /x(?U)a++b/D  /x(?U)a++b/DZ
3151  ------------------------------------------------------------------  ------------------------------------------------------------------
3152    0   9 Bra 0          Bra
3153    3     x          x
3154    5     a++          a++
3155    7     b          b
3156    9   9 Ket          Ket
3157   12     End          End
3158  ------------------------------------------------------------------  ------------------------------------------------------------------
3159  Capturing subpattern count = 0  Capturing subpattern count = 0
3160  Partial matching not supported  Partial matching not supported
# Line 3137  Need char = 'b' Line 3164  Need char = 'b'
3164      xaaaab      xaaaab
3165   0: xaaaab   0: xaaaab
3166    
3167  /(?U)xa++b/D  /(?U)xa++b/DZ
3168  ------------------------------------------------------------------  ------------------------------------------------------------------
3169    0   9 Bra 0          Bra
3170    3     x          x
3171    5     a++          a++
3172    7     b          b
3173    9   9 Ket          Ket
3174   12     End          End
3175  ------------------------------------------------------------------  ------------------------------------------------------------------
3176  Capturing subpattern count = 0  Capturing subpattern count = 0
3177  Partial matching not supported  Partial matching not supported
# Line 3154  Need char = 'b' Line 3181  Need char = 'b'
3181      xaaaab      xaaaab
3182   0: xaaaab   0: xaaaab
3183    
3184  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3185  ------------------------------------------------------------------  ------------------------------------------------------------------
3186    0 116 Bra 0          Bra
3187    3     ^          ^
3188    4 109 Bra 1          CBra 1
3189    9   7 Bra 2          CBra 2
3190   14     a+          a+
3191   16   7 Ket          Ket
3192   19  39 Bra 3          CBra 3
3193   24     [ab]+?          [ab]+?
3194   58  39 Ket          Ket
3195   61  39 Bra 4          CBra 4
3196   66     [bc]+          [bc]+
3197  100  39 Ket          Ket
3198  103   7 Bra 5          CBra 5
3199  108     \w*          \w*
3200  110   7 Ket          Ket
3201  113 109 Ket          Ket
3202  116 116 Ket          Ket
3203  119     End          End
3204  ------------------------------------------------------------------  ------------------------------------------------------------------
3205  Capturing subpattern count = 5  Capturing subpattern count = 5
3206  Partial matching not supported  Partial matching not supported
# Line 3181  Options: anchored Line 3208  Options: anchored
3208  No first char  No first char
3209  No need char  No need char
3210    
3211  /^x(?U)a+b/D  /^x(?U)a+b/DZ
3212  ------------------------------------------------------------------  ------------------------------------------------------------------
3213    0  10 Bra 0          Bra
3214    3     ^          ^
3215    4     x          x
3216    6     a++          a++
3217    8     b          b
3218   10  10 Ket          Ket
3219   13     End          End
3220  ------------------------------------------------------------------  ------------------------------------------------------------------
3221  Capturing subpattern count = 0  Capturing subpattern count = 0
3222  Partial matching not supported  Partial matching not supported
# Line 3197  Options: anchored Line 3224  Options: anchored
3224  No first char  No first char
3225  Need char = 'b'  Need char = 'b'
3226    
3227  /^x(?U)(a+)b/D  /^x(?U)(a+)b/DZ
3228  ------------------------------------------------------------------  ------------------------------------------------------------------
3229    0  18 Bra 0          Bra
3230    3     ^          ^
3231    4     x          x
3232    6   7 Bra 1          CBra 1
3233   11     a+?          a+?
3234   13   7 Ket          Ket
3235   16     b          b
3236   18  18 Ket          Ket
3237   21     End          End
3238  ------------------------------------------------------------------  ------------------------------------------------------------------
3239  Capturing subpattern count = 1  Capturing subpattern count = 1
3240  Partial matching not supported  Partial matching not supported
# Line 3248  Failed: missing terminating ] for charac Line 3275  Failed: missing terminating ] for charac
3275  /[[:space:]/I  /[[:space:]/I
3276  Failed: missing terminating ] for character class at offset 10  Failed: missing terminating ] for character class at offset 10
3277    
3278  /[\s]/IDM  /[\s]/IDZ
 Memory allocation (code space): 40  
3279  ------------------------------------------------------------------  ------------------------------------------------------------------
3280    0  36 Bra 0          Bra
3281    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3282   36  36 Ket          Ket
3283   39     End          End
3284  ------------------------------------------------------------------  ------------------------------------------------------------------
3285  Capturing subpattern count = 0  Capturing subpattern count = 0
3286  No options  No options
3287  No first char  No first char
3288  No need char  No need char
3289    
3290  /[[:space:]]/IDM  /[[:space:]]/IDZ
 Memory allocation (code space): 40  
3291  ------------------------------------------------------------------  ------------------------------------------------------------------
3292    0  36 Bra 0          Bra
3293    3     [\x09-\x0d ]          [\x09-\x0d ]
3294   36  36 Ket          Ket
3295   39     End          End
3296  ------------------------------------------------------------------  ------------------------------------------------------------------
3297  Capturing subpattern count = 0  Capturing subpattern count = 0
3298    Contains explicit CR or LF match
3299  No options  No options
3300  No first char  No first char
3301  No need char  No need char
3302    
3303  /[[:space:]abcde]/IDM  /[[:space:]abcde]/IDZ
 Memory allocation (code space): 40  
3304  ------------------------------------------------------------------  ------------------------------------------------------------------
3305    0  36 Bra 0          Bra
3306    3     [\x09-\x0d a-e]          [\x09-\x0d a-e]
3307   36  36 Ket          Ket
3308   39     End          End
3309  ------------------------------------------------------------------  ------------------------------------------------------------------
3310  Capturing subpattern count = 0  Capturing subpattern count = 0
3311    Contains explicit CR or LF match
3312  No options  No options
3313  No first char  No first char
3314  No need char  No need char
# Line 3290  No need char Line 3316  No need char
3316  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3317  Capturing subpattern count = 0  Capturing subpattern count = 0
3318  Partial matching not supported  Partial matching not supported
3319    Contains explicit CR or LF match
3320  Options: extended  Options: extended
3321  First char = '<'  First char = '<'
3322  Need char = '>'  Need char = '>'
# Line 3301  Need char = '>' Line 3328  Need char = '>'
3328   0: <abc <123> hij>   0: <abc <123> hij>
3329      <abc <def> hij>      <abc <def> hij>
3330   0: <def>   0: <def>
3331      <abc<>def>      <abc<>def>
3332   0: <abc<>def>   0: <abc<>def>
3333      <abc<>      <abc<>
3334   0: <>   0: <>
3335      *** Failers      *** Failers
3336  No match  No match
3337      <abc      <abc
3338  No match  No match
3339    
3340  |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  
3341  ------------------------------------------------------------------  ------------------------------------------------------------------
3342    0 822 Bra 0          Bra
3343    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
3344  821     \b          \b
3345  822 822 Ket          Ket
3346  825     End          End
3347  ------------------------------------------------------------------  ------------------------------------------------------------------
3348  Capturing subpattern count = 0  Capturing subpattern count = 0
3349  No options  No options
3350  First char = '8'  First char = '8'
3351  Need char = 'X'  Need char = 'X'
3352    
3353  |\$\<\.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  
3354  ------------------------------------------------------------------  ------------------------------------------------------------------
3355    0 812 Bra 0          Bra
3356    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
3357  811     \b          \b
3358  812 812 Ket          Ket
3359  815     End          End
3360  ------------------------------------------------------------------  ------------------------------------------------------------------
3361  Capturing subpattern count = 0  Capturing subpattern count = 0
3362  No options  No options
# Line 3352  Partial matching not supported Line 3377  Partial matching not supported
3377  No options  No options
3378  First char at start or follows newline  First char at start or follows newline
3379  No need char  No need char
3380    
3381  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3382  Capturing subpattern count = 1  Capturing subpattern count = 1
3383  Max back reference = 1  Max back reference = 1
# Line 3387  No need char Line 3412  No need char
3412   0: bc123bc   0: bc123bc
3413   1: bc   1: bc
3414   2: bc   2: bc
3415    
3416  /a[b]/I  /a[b]/I
3417  Capturing subpattern count = 0  Capturing subpattern count = 0
3418  No options  No options
# Line 3506  Starting byte set: a b Line 3531  Starting byte set: a b
3531    
3532  /[^a]/I  /[^a]/I
3533  Capturing subpattern count = 0  Capturing subpattern count = 0
3534    Contains explicit CR or LF match
3535  No options  No options
3536  No first char  No first char
3537  No need char  No need char
# Line 3536  First char at start or follows newline Line 3562  First char at start or follows newline
3562  Need char = 'a'  Need char = 'a'
3563    abcde    abcde
3564   0: a   0: a
3565    xy\nabc    xy\nabc
3566   0: a   0: a
3567    *** Failers    *** Failers
3568  No match  No match
3569    xyabc    xyabc
3570  No match  No match
3571    
3572  /c|abc/I  /c|abc/I
# Line 3572  Need char = 'f' Line 3598  Need char = 'f'
3598  --->abcdef  --->abcdef
3599    0 ^  ^       d    0 ^  ^       d
3600   0: abcdef   0: abcdef
3601      1234abcdef      1234abcdef
3602  --->1234abcdef  --->1234abcdef
3603    0     ^  ^       d    0     ^  ^       d
3604   0: abcdef   0: abcdef
# Line 3580  Need char = 'f' Line 3606  Need char = 'f'
3606  No match  No match
3607      abcxyz      abcxyz
3608  No match  No match
3609      abcxyzf      abcxyzf
3610  --->abcxyzf  --->abcxyzf
3611    0 ^  ^        d    0 ^  ^        d
3612  No match  No match
# Line 3595  Need char = 'f' Line 3621  Need char = 'f'
3621    0    ^  ^       d    0    ^  ^       d
3622    1    ^    ^     f    1    ^    ^     f
3623   0: abcdef   0: abcdef
3624    
3625  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/I
3626  Capturing subpattern count = 0  Capturing subpattern count = 0
3627  No options  No options
3628  No first char  No first char
# Line 3611  Need char = 'f' Line 3637  Need char = 'f'
3637   0: 4abcdef   0: 4abcdef
3638      *** Failers      *** Failers
3639  No match  No match
3640      abcdef      abcdef
3641  --->abcdef  --->abcdef
3642    1 ^          \d    1 ^          \d
3643    1  ^         \d    1  ^         \d
# Line 3620  No match Line 3646  No match
3646    1     ^      \d    1     ^      \d
3647    1      ^     \d    1      ^     \d
3648  No match  No match
3649    
3650  /(?C255)ab/I  /(?C255)ab/I
3651  Capturing subpattern count = 0  Capturing subpattern count = 0
3652  No options  No options
# Line 3630  Need char = 'b' Line 3656  Need char = 'b'
3656  /(?C256)ab/I  /(?C256)ab/I
3657  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3658    
3659  /(?Cab)xx/I  /(?Cab)xx/I
3660  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3661    
3662  /(?C12vr)x/I  /(?C12vr)x/I
# Line 3659  Need char = 'f' Line 3685  Need char = 'f'
3685    1    ^    ^     f    1    ^    ^     f
3686   0: abcdef   0: abcdef
3687   1: abc   1: abc
3688      123abcdef\C+      123abcdef\C+
3689  Callout 0: last capture = 1  Callout 0: last capture = 1
3690   0: <unset>   0: <unset>
3691   1: abc   1: abc
# Line 3672  Callout 1: last capture = 1 Line 3698  Callout 1: last capture = 1
3698         ^    ^     f         ^    ^     f
3699   0: abcdef   0: abcdef
3700   1: abc   1: abc
3701      123abcdef\C-      123abcdef\C-
3702   0: abcdef   0: abcdef
3703   1: abc   1: abc
3704      *** Failers      *** Failers
3705  No match  No match
3706      123abcdef\C!1      123abcdef\C!1
3707  --->123abcdef  --->123abcdef
3708    0    ^  ^       d    0    ^  ^       d
3709    1    ^    ^     f    1    ^    ^     f
3710  No match  No match
3711    
3712  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3713  Capturing subpattern count = 1  Capturing subpattern count = 1
3714  No options  No options
# Line 3696  No need char Line 3722  No need char
3722    1 ^        ^    )    1 ^        ^    )
3723   0: abcabcabc   0: abcabcabc
3724   1: abc   1: abc
3725      abcabc\C!1!3      abcabc\C!1!3
3726  --->abcabc  --->abcabc
3727    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3728    1 ^  ^       )    1 ^  ^       )
# Line 3707  No need char Line 3733  No need char
3733  --->*** Failers  --->*** Failers
3734    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3735   0:   0:
3736      abcabcabc\C!1!3      abcabcabc\C!1!3
3737  --->abcabcabc  --->abcabcabc
3738    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3739    1 ^  ^          )    1 ^  ^          )
# Line 3741  Callout 0: last capture = 1 Line 3767  Callout 0: last capture = 1
3767      ^     ^    )      ^     ^    )
3768   0: 123456   0: 123456
3769   1: 456   1: 456
3770      123456789\C+      123456789\C+
3771  Callout 0: last capture = -1  Callout 0: last capture = -1
3772   0: <unset>   0: <unset>
3773  --->123456789  --->123456789
# Line 3813  Callout 0: last capture = 1 Line 3839  Callout 0: last capture = 1
3839      ^          a      ^          a
3840   0: abcdef   0: abcdef
3841   1: abc   1: abc
3842    
3843  /(?!(abc)(?C1)d)(?C2)abcxyz/I  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3844  Capturing subpattern count = 1  Capturing subpattern count = 1
3845  No options  No options
3846  First char = 'a'  First char = 'a'
3847  Need char = 'z'  Need char = 'z'
3848      abcxyz\C+      abcxyz\C+
3849  Callout 1: last capture = 1  Callout 1: last capture = 1
3850   0: <unset>   0: <unset>
3851   1: abc   1: abc
# Line 3844  Callout 0: last capture = 1 Line 3870  Callout 0: last capture = 1
3870         ^       )         ^       )
3871   0: xyz   0: xyz
3872   1: abc   1: abc
3873    
3874  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3875  Capturing subpattern count = 2  Capturing subpattern count = 2
3876  Partial matching not supported  Partial matching not supported
# Line 3896  Callout data = 1 Line 3922  Callout data = 1
3922    1 ^        ^    1 ^        ^
3923  Callout data = 1  Callout data = 1
3924  No match  No match
3925    
3926  /(?C)abc/I  /(?C)abc/I
3927  Capturing subpattern count = 0  Capturing subpattern count = 0
3928  No options  No options
3929  First char = 'a'  First char = 'a'
# Line 3954  No need char Line 3980  No need char
3980   3: xxab   3: xxab
3981      *** Failers      *** Failers
3982  No match  No match
3983      xyab      xyab
3984  No match  No match
3985    
3986  /(ab|(bc|(de|(?1))))/I  /(ab|(bc|(de|(?1))))/I
# Line 3965  Failed: recursive call could loop indefi Line 3991  Failed: recursive call could loop indefi
3991    
3992  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3993  Capturing subpattern count = 1  Capturing subpattern count = 1
3994    Contains explicit CR or LF match
3995  Options: anchored  Options: anchored
3996  No first char  No first char
3997  No need char  No need char
# Line 3974  No need char Line 4001  No need char
4001      a(b)c      a(b)c
4002   0: a(b)c   0: a(b)c
4003   1: c   1: c
4004      a(b(c))d      a(b(c))d
4005   0: a(b(c))d   0: a(b(c))d
4006   1: d   1: d
4007      *** Failers)      *** Failers)
4008  No match  No match
4009      a(b(c)d      a(b(c)d
4010  No match  No match
4011    
4012  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
4013  Capturing subpattern count = 1  Capturing subpattern count = 1
4014    Contains explicit CR or LF match
4015  Options: anchored  Options: anchored
4016  No first char  No first char
4017  Need char = '<'  Need char = '<'
# Line 3997  Need char = '<' Line 4025  Need char = '<'
4025   0: >abc>(1(2)3)<xyz<   0: >abc>(1(2)3)<xyz<
4026   1: (1(2)3)   1: (1(2)3)
4027    
4028  /(a(?1)b)/D  /(a(?1)b)/DZ
4029  ------------------------------------------------------------------  ------------------------------------------------------------------
4030    0  24 Bra 0          Bra
4031    3  18 Bra 1          CBra 1
4032    8     a          a
4033   10   6 Once          Once
4034   13   3 Recurse          Recurse
4035   16   6 Ket          Ket
4036   19     b          b
4037   21  18 Ket          Ket
4038   24  24 Ket          Ket
4039   27     End          End
4040  ------------------------------------------------------------------  ------------------------------------------------------------------
4041  Capturing subpattern count = 1  Capturing subpattern count = 1
4042  No options  No options
4043  First char = 'a'  First char = 'a'
4044  Need char = 'b'  Need char = 'b'
4045    
4046  /(a(?1)+b)/D  /(a(?1)+b)/DZ
4047  ------------------------------------------------------------------  ------------------------------------------------------------------
4048    0  24 Bra 0          Bra
4049    3  18 Bra 1          CBra 1
4050    8     a          a
4051   10   6 Once          Once
4052   13   3 Recurse          Recurse
4053   16   6 KetRmax          KetRmax
4054   19     b          b
4055   21  18 Ket          Ket
4056   24  24 Ket          Ket
4057   27     End          End
4058  ------------------------------------------------------------------  ------------------------------------------------------------------
4059  Capturing subpattern count = 1  Capturing subpattern count = 1
4060  No options  No options
# Line 4056  No need char Line 4084  No need char
4084   2: <unset>   2: <unset>
4085   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4086   4: A   4: A
4087      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4088   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4089   1: <unset>   1: <unset>
4090   2: <unset>   2: <unset>
# Line 4064  No need char Line 4092  No need char
4092   4: A   4: A
4093      *** Failers      *** Failers
4094  No match  No match
4095      The quick brown fox      The quick brown fox
4096  No match  No match
4097    
4098  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4099  Capturing subpattern count = 2  Capturing subpattern count = 2
4100  Partial matching not supported  Partial matching not supported
# Line 4087  No need char Line 4115  No need char
4115  No match  No match
4116      ((2+2)*-3)-7)      ((2+2)*-3)-7)
4117  No match  No match
4118    
4119  /^(x(y|(?1){2})z)/I  /^(x(y|(?1){2})z)/I
4120  Capturing subpattern count = 2  Capturing subpattern count = 2
4121  Options: anchored  Options: anchored
# Line 4097  No need char Line 4125  No need char
4125   0: xyz   0: xyz
4126   1: xyz   1: xyz
4127   2: y   2: y
4128      xxyzxyzz      xxyzxyzz
4129   0: xxyzxyzz   0: xxyzxyzz
4130   1: xxyzxyzz   1: xxyzxyzz
4131   2: xyzxyz   2: xyzxyz
# Line 4105  No need char Line 4133  No need char
4133  No match  No match
4134      xxyzz      xxyzz
4135  No match  No match
4136      xxyzxyzxyzz      xxyzxyzxyzz
4137  No match  No match
4138    
4139  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4140  Capturing subpattern count = 2  Capturing subpattern count = 2
4141  Partial matching not supported  Partial matching not supported
4142    Contains explicit CR or LF match
4143  Options: extended  Options: extended
4144  First char = '<'  First char = '<'
4145  Need char = '>'  Need char = '>'
# Line 4130  Need char = '>' Line 4159  Need char = '>'
4159   0: <def>   0: <def>
4160   1: <def>   1: <def>
4161   2: <def>   2: <def>
4162      <abc<>def>      <abc<>def>
4163   0: <abc<>def>   0: <abc<>def>
4164   1: <abc<>def>   1: <abc<>def>
4165   2: <abc<>def>   2: <abc<>def>
4166      <abc<>      <abc<>
4167   0: <>   0: <>
4168   1: <>   1: <>
4169   2: <>   2: <>
# Line 4169  No need char Line 4198  No need char
4198      a=b      a=b
4199   0: a=b   0: a=b
4200   1: a   1: a
4201      a=bc      a=bc
4202   0: a=bc   0: a=bc
4203   1: a   1: a
4204    
# Line 4186  No need char Line 4215  No need char
4215   0: a=b   0: a=b
4216   1: a   1: a
4217   2: b   2: b
4218      a=bc      a=bc
4219   0: a=bc   0: a=bc
4220   1: a   1: a
4221   2: c   2: c
4222    
4223  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4224  ------------------------------------------------------------------  ------------------------------------------------------------------
4225    0  32 Bra 0          Bra
4226    3     a          a
4227    5   7 Bra 1          CBra 1
4228   10     b          b
4229   12   5 Alt          Alt
4230   15     c          c
4231   17  12 Ket          Ket
4232   20     d          d
4233   22   7 Bra 2          CBra 2
4234   27     e          e
4235   29   7 Ket          Ket
4236   32  32 Ket          Ket
4237   35     End          End
4238  ------------------------------------------------------------------  ------------------------------------------------------------------
4239  Capturing subpattern count = 2  Capturing subpattern count = 2
4240  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4218  Need char = 'e' Line 4247  Need char = 'e'
4247   0: abde   0: abde
4248   1: b   1: b
4249   2: e   2: e
4250      acde      acde
4251   0: acde   0: acde
4252   1: c   1: c
4253   2: e   2: e
4254    
4255  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4256  ------------------------------------------------------------------  ------------------------------------------------------------------
4257    0  41 Bra 0          Bra
4258    3  25 Bra 0          Bra
4259    6     a          a
4260    8  17 Bra 1          CBra 1
4261   13     c          c
4262   15   7 Bra 2          CBra 2
4263   20     d          d
4264   22   7 Ket          Ket
4265   25  17 Ket          Ket
4266   28  25 Ket          Ket
4267   31   7 Bra 3          CBra 3
4268   36     a          a
4269   38   7 Ket          Ket
4270   41  41 Ket          Ket
4271   44     End          End
4272  ------------------------------------------------------------------  ------------------------------------------------------------------
4273  Capturing subpattern count = 3  Capturing subpattern count = 3
4274  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4250  No options Line 4279  No options
4279  First char = 'a'  First char = 'a'
4280  Need char = 'a'  Need char = 'a'
4281    
4282  /(?P<a>a)...(?P=a)bbb(?P>a)d/D  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4283  ------------------------------------------------------------------  ------------------------------------------------------------------
4284    0  36 Bra 0          Bra
4285    3   7 Bra 1          CBra 1
4286    8     a          a
4287   10   7 Ket          Ket
4288   13     Any          Any
4289   14     Any          Any
4290   15     Any          Any
4291   16     \1          \1
4292   19     bbb          bbb
4293   25   6 Once          Once
4294   28   3 Recurse          Recurse
4295   31   6 Ket          Ket
4296   34     d          d
4297   36  36 Ket          Ket
4298   39     End          End
4299  ------------------------------------------------------------------  ------------------------------------------------------------------
4300  Capturing subpattern count = 1  Capturing subpattern count = 1
4301  Max back reference = 1  Max back reference = 1
# Line 4304  No need char Line 4333  No need char
4333   2: <unset>   2: <unset>
4334   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4335   4: A   4: A
4336      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4337   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4338   1: <unset>   1: <unset>
4339   2: <unset>   2: <unset>
# Line 4312  No need char Line 4341  No need char
4341   4: A   4: A
4342      *** Failers      *** Failers
4343  No match  No match
4344      The quick brown fox      The quick brown fox
4345  No match  No match
4346    
4347  /((?(R)a|b))\1(?1)?/I  /((?(R)a|b))\1(?1)?/I
4348  Capturing subpattern count = 1  Capturing subpattern count = 1
4349  Max back reference = 1  Max back reference = 1
# Line 4324  No need char Line 4353  No need char
4353    bb    bb
4354   0: bb   0: bb
4355   1: b   1: b
4356    bbaa    bbaa
4357   0: bba   0: bba
4358   1: b   1: b
4359    
# Line 4413  Options: dotall Line 4442  Options: dotall
4442  No first char  No first char
4443  No need char  No need char
4444    
4445  /(a)(bc)/IND  /(a)(bc)/INDZ
4446  ------------------------------------------------------------------  ------------------------------------------------------------------
4447    0  21 Bra 0          Bra
4448    3   5 Bra 0          Bra
4449    6     a          a
4450    8   5 Ket          Ket
4451   11   7 Bra 0          Bra
4452   14     bc          bc
4453   18   7 Ket          Ket
4454   21  21 Ket          Ket
4455   24     End          End
4456  ------------------------------------------------------------------  ------------------------------------------------------------------
4457  Capturing subpattern count = 0  Capturing subpattern count = 0
4458  Options: no_auto_capture  Options: no_auto_capture
# Line 4432  Need char = 'c' Line 4461  Need char = 'c'
4461    abc    abc
4462   0: abc   0: abc
4463    
4464  /(?P<one>a)(bc)/IND  /(?P<one>a)(bc)/INDZ
4465  ------------------------------------------------------------------  ------------------------------------------------------------------
4466    0  23 Bra 0          Bra
4467    3   7 Bra 1          CBra 1
4468    8     a          a
4469   10   7 Ket          Ket
4470   13   7 Bra 0          Bra
4471   16     bc          bc
4472   20   7 Ket          Ket
4473   23  23 Ket          Ket
4474   26     End          End
4475  ------------------------------------------------------------------  ------------------------------------------------------------------
4476  Capturing subpattern count = 1  Capturing subpattern count = 1
4477  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4454  Need char = 'c' Line 4483  Need char = 'c'
4483   0: abc   0: abc
4484   1: a   1: a
4485    
4486  /(a)(?P<named>bc)/IND  /(a)(?P<named>bc)/INDZ
4487  ------------------------------------------------------------------  ------------------------------------------------------------------
4488    0  23 Bra 0          Bra
4489    3   5 Bra 0          Bra
4490    6     a          a
4491    8   5 Ket          Ket
4492   11   9 Bra 1          CBra 1
4493   16     bc          bc
4494   20   9 Ket          Ket
4495   23  23 Ket          Ket
4496   26     End          End
4497  ------------------------------------------------------------------  ------------------------------------------------------------------
4498  Capturing subpattern count = 1  Capturing subpattern count = 1
4499  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4540  Need char = 'h' Line 4569  Need char = 'h'
4569   2: gh   2: gh
4570    C cd (2) one    C cd (2) one
4571    C gh (2) two    C gh (2) two
4572      abcdefgh\Cthree      abcdefgh\Cthree
4573  no parentheses with name "three"  no parentheses with name "three"
4574   0: abcdefgh   0: abcdefgh
4575   1: cd   1: cd
4576   2: gh   2: gh
4577  copy substring three failed -7  copy substring three failed -7
4578    
4579  /(?P<Tes>)(?P<Test>)/D  /(?P<Tes>)(?P<Test>)/DZ
4580  ------------------------------------------------------------------  ------------------------------------------------------------------
4581    0  19 Bra 0          Bra
4582    3   5 Bra 1          CBra 1
4583    8   5 Ket          Ket
4584   11   5 Bra 2          CBra 2
4585   16   5 Ket          Ket
4586   19  19 Ket          Ket
4587   22     End          End
4588  ------------------------------------------------------------------  ------------------------------------------------------------------
4589  Capturing subpattern count = 2  Capturing subpattern count = 2
4590  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4565  No options Line 4594  No options
4594  No first char  No first char
4595  No need char  No need char
4596    
4597  /(?P<Test>)(?P<Tes>)/D  /(?P<Test>)(?P<Tes>)/DZ
4598  ------------------------------------------------------------------  ------------------------------------------------------------------
4599    0  19 Bra 0          Bra
4600    3   5 Bra 1          CBra 1
4601    8   5 Ket          Ket
4602   11   5 Bra 2          CBra 2
4603   16   5 Ket          Ket
4604   19  19 Ket          Ket
4605   22     End          End
4606  ------------------------------------------------------------------  ------------------------------------------------------------------
4607  Capturing subpattern count = 2  Capturing subpattern count = 2
4608  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4623  Need char = ']' Line 4652  Need char = ']'
4652   3: ,4234   3: ,4234
4653      *** Failers      *** Failers
4654  No match  No match
4655      []      []
4656  No match  No match
4657    
4658  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
# Line 4639  Need char = ']' Line 4668  Need char = ']'
4668   1: 10,20,30,5,5,4,4,2,43,23,4234   1: 10,20,30,5,5,4,4,2,43,23,4234
4669   2: 10   2: 10
4670   3: ,4234   3: ,4234
4671      []      []
4672   0: []   0: []
4673    
4674  /(a(b(?2)c))?/D  /(a(b(?2)c))?/DZ
4675  ------------------------------------------------------------------  ------------------------------------------------------------------
4676    0  35 Bra 0          Bra
4677    3     Brazero          Brazero
4678    4  28 Bra 1          CBra 1
4679    9     a          a
4680   11  18 Bra 2          CBra 2
4681   16     b          b
4682   18   6 Once          Once
4683   21  11 Recurse          Recurse
4684   24   6 Ket          Ket
4685   27     c          c
4686   29  18 Ket          Ket
4687   32  28 Ket          Ket
4688   35  35 Ket          Ket
4689   38     End          End
4690  ------------------------------------------------------------------  ------------------------------------------------------------------
4691  Capturing subpattern count = 2  Capturing subpattern count = 2
4692  No options  No options
4693  No first char  No first char
4694  No need char  No need char
4695    
4696  /(a(b(?2)c))*/D  /(a(b(?2)c))*/DZ
4697  ------------------------------------------------------------------  ------------------------------------------------------------------
4698    0  35 Bra 0          Bra
4699    3     Brazero          Brazero
4700    4  28 Bra 1          CBra 1
4701    9     a          a
4702   11  18 Bra 2          CBra 2
4703   16     b          b
4704   18   6 Once          Once
4705   21  11 Recurse          Recurse
4706   24   6 Ket          Ket
4707   27     c          c
4708   29  18 Ket          Ket
4709   32  28 KetRmax          KetRmax
4710   35  35 Ket          Ket
4711   38     End          End
4712  ------------------------------------------------------------------  ------------------------------------------------------------------
4713  Capturing subpattern count = 2  Capturing subpattern count = 2
4714  No options  No options
4715  No first char  No first char
4716  No need char  No need char
4717    
4718  /(a(b(?2)c)){0,2}/D  /(a(b(?2)c)){0,2}/DZ
4719  ------------------------------------------------------------------  ------------------------------------------------------------------
4720    0  73 Bra 0          Bra
4721    3     Brazero          Brazero
4722    4  66 Bra 0          Bra
4723    7  28 Bra 1          CBra 1
4724   12     a          a
4725   14  18 Bra 2          CBra 2
4726   19     b          b
4727   21   6 Once          Once
4728   24  14 Recurse          Recurse
4729   27   6 Ket          Ket
4730   30     c          c
4731   32  18 Ket          Ket
4732   35  28 Ket          Ket
4733   38     Brazero          Brazero
4734   39  28 Bra 1          CBra 1
4735   44     a          a
4736   46  18 Bra 2          CBra 2
4737   51     b          b
4738   53   6 Once          Once
4739   56  14 Recurse          Recurse
4740   59   6 Ket          Ket
4741   62     c          c
4742   64  18 Ket          Ket
4743   67  28 Ket          Ket
4744   70  66 Ket          Ket
4745   73  73 Ket          Ket
4746   76     End          End
4747  ------------------------------------------------------------------  ------------------------------------------------------------------
4748  Capturing subpattern count = 2  Capturing subpattern count = 2
4749  No options  No options
4750  No first char  No first char
4751  No need char  No need char
4752    
4753  /[ab]{1}+/D  /[ab]{1}+/DZ
4754  ------------------------------------------------------------------  ------------------------------------------------------------------
4755    0  47 Bra 0          Bra
4756    3  41 Once          Once
4757    6     [ab]{1,1}          [ab]{1,1}
4758   44  41 Ket          Ket
4759   47  47 Ket          Ket
4760   50     End          End
4761  ------------------------------------------------------------------  ------------------------------------------------------------------
4762  Capturing subpattern count = 0  Capturing subpattern count = 0
4763  No options  No options
# Line 4755  Study returned NULL Line 4784  Study returned NULL
4784       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4785   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4786   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4787    
4788  /a*.*b/ISD  /a*.*b/ISDZ
4789  ------------------------------------------------------------------  ------------------------------------------------------------------
4790    0   9 Bra 0          Bra
4791    3     a*          a*
4792    5     Any*          Any*
4793    7     b          b
4794    9   9 Ket          Ket
4795   12     End          End
4796  ------------------------------------------------------------------  ------------------------------------------------------------------
4797  Capturing subpattern count = 0  Capturing subpattern count = 0
4798  Partial matching not supported  Partial matching not supported
# Line 4772  No first char Line 4801  No first char
4801  Need char = 'b'  Need char = 'b'
4802  Study returned NULL  Study returned NULL
4803    
4804  /(a|b)*.?c/ISD  /(a|b)*.?c/ISDZ
4805  ------------------------------------------------------------------  ------------------------------------------------------------------
4806    0  23 Bra 0          Bra
4807    3     Brazero          Brazero
4808    4   7 Bra 1          CBra 1
4809    9     a          a
4810   11   5 Alt          Alt
4811   14     b          b
4812   16  12 KetRmax          KetRmax
4813   19     Any?          Any?
4814   21     c          c
4815   23  23 Ket          Ket
4816   26     End          End
4817  ------------------------------------------------------------------  ------------------------------------------------------------------
4818  Capturing subpattern count = 1  Capturing subpattern count = 1
4819  No options  No options
# Line 4792  No first char Line 4821  No first char
4821  Need char = 'c'  Need char = 'c'
4822  Study returned NULL  Study returned NULL
4823    
4824  /abc(?C255)de(?C)f/D  /abc(?C255)de(?C)f/DZ
4825  ------------------------------------------------------------------  ------------------------------------------------------------------
4826    0  27 Bra 0          Bra
4827    3     abc          abc
4828    9     Callout 255 10 1          Callout 255 10 1
4829   15     de          de
4830   19     Callout 0 16 1          Callout 0 16 1
4831   25     f          f
4832   27  27 Ket          Ket
4833   30     End          End
4834  ------------------------------------------------------------------  ------------------------------------------------------------------
4835  Capturing subpattern count = 0  Capturing subpattern count = 0
4836  No options  No options
4837  First char = 'a'  First char = 'a'
4838  Need char = 'f'  Need char = 'f'
4839    
4840  /abcde/ICD  /abcde/ICDZ
4841  ------------------------------------------------------------------  ------------------------------------------------------------------
4842    0  49 Bra 0          Bra
4843    3     Callout 255 0 1          Callout 255 0 1
4844    9     a          a
4845   11     Callout 255 1 1          Callout 255 1 1
4846   17     b          b
4847   19     Callout 255 2 1          Callout 255 2 1
4848   25     c          c
4849   27     Callout 255 3 1          Callout 255 3 1
4850   33     d          d
4851   35     Callout 255 4 1          Callout 255 4 1
4852   41     e          e
4853   43     Callout 255 5 0          Callout 255 5 0
4854   49  49 Ket          Ket
4855   52     End          End
4856  ------------------------------------------------------------------  ------------------------------------------------------------------
4857  Capturing subpattern count = 0  Capturing subpattern count = 0
4858  Options:  Options:
# Line 4838  Need char = 'e' Line 4867  Need char = 'e'
4867   +4 ^   ^     e   +4 ^   ^     e
4868   +5 ^    ^   +5 ^    ^
4869   0: abcde   0: abcde
4870    abcdfe    abcdfe
4871  --->abcdfe  --->abcdfe
4872   +0 ^          a   +0 ^          a
4873   +1 ^^         b   +1 ^^         b
# Line 4846  Need char = 'e' Line 4875  Need char = 'e'
4875   +3 ^  ^       d   +3 ^  ^       d
4876   +4 ^   ^      e   +4 ^   ^      e
4877  No match  No match
4878    
4879  /a*b/ICD  /a*b/ICDZ
4880  ------------------------------------------------------------------  ------------------------------------------------------------------
4881    0  25 Bra 0          Bra
4882    3     Callout 255 0 2          Callout 255 0 2
4883    9     a*+          a*+
4884   11     Callout 255 2 1          Callout 255 2 1
4885   17     b          b
4886   19     Callout 255 3 0          Callout 255 3 0
4887   25  25 Ket          Ket
4888   28     End          End
4889  ------------------------------------------------------------------  ------------------------------------------------------------------
4890  Capturing subpattern count = 0  Capturing subpattern count = 0
4891  Partial matching not supported  Partial matching not supported
# Line 4875  Need char = 'b' Line 4904  Need char = 'b'
4904   +2 ^   ^     b   +2 ^   ^     b
4905   +3 ^    ^   +3 ^    ^
4906   0: aaaab   0: aaaab
4907    aaaacb    aaaacb
4908  --->aaaacb  --->aaaacb
4909   +0 ^          a*   +0 ^          a*
4910   +2 ^   ^      b   +2 ^   ^      b
# Line 4892  Need char = 'b' Line 4921  Need char = 'b'
4921   +3      ^^   +3      ^^
4922   0: b   0: b
4923    
4924  /a+b/ICD  /a+b/ICDZ
4925  ------------------------------------------------------------------  ------------------------------------------------------------------
4926    0  25 Bra 0          Bra
4927    3     Callout 255 0 2          Callout 255 0 2
4928    9     a++          a++
4929   11     Callout 255 2 1          Callout 255 2 1
4930   17     b          b
4931   19     Callout 255 3 0          Callout 255 3 0
4932   25  25 Ket          Ket
4933   28     End          End
4934  ------------------------------------------------------------------  ------------------------------------------------------------------
4935  Capturing subpattern count = 0  Capturing subpattern count = 0
4936  Partial matching not supported  Partial matching not supported
# Line 4920  Need char = 'b' Line 4949  Need char = 'b'
4949   +2 ^   ^     b   +2 ^   ^     b
4950   +3 ^    ^   +3 ^    ^
4951   0: aaaab   0: aaaab
4952    aaaacb    aaaacb
4953  --->aaaacb  --->aaaacb
4954   +0 ^          a+   +0 ^          a+
4955   +2 ^   ^      b   +2 ^   ^      b
# Line 4932  Need char = 'b' Line 4961  Need char = 'b'
4961   +2    ^^      b   +2    ^^      b
4962  No match  No match
4963    
4964  /(abc|def)x/ICD  /(abc|def)x/ICDZ
4965  ------------------------------------------------------------------  ------------------------------------------------------------------
4966    0  94 Bra 0          Bra
4967    3     Callout 255 0 9          Callout 255 0 9
4968    9  35 Bra 1          CBra 1
4969   14     Callout 255 1 1          Callout 255 1 1
4970   20     a          a
4971   22     Callout 255 2 1          Callout 255 2 1
4972   28     b          b
4973   30     Callout 255 3 1          Callout 255 3 1
4974   36     c          c
4975   38     Callout 255 4 0          Callout 255 4 0
4976   44  33 Alt          Alt
4977   47     Callout 255 5 1          Callout 255 5 1
4978   53     d          d
4979   55     Callout 255 6 1          Callout 255 6 1
4980   61     e          e
4981   63     Callout 255 7 1          Callout 255 7 1
4982   69     f          f
4983   71     Callout 255 8 0          Callout 255 8 0
4984   77  68 Ket          Ket
4985   80     Callout 255 9 1          Callout 255 9 1
4986   86     x          x
4987   88     Callout 255 10 0          Callout 255 10 0
4988   94  94 Ket          Ket
4989   97     End          End
4990  ------------------------------------------------------------------  ------------------------------------------------------------------
4991  Capturing subpattern count = 1  Capturing subpattern count = 1
4992  Options:  Options:
# Line 5064  No need char Line 5093  No need char
5093  +12 ^       ^  +12 ^       ^
5094   0: abcdabcd   0: abcdabcd
5095   1: cd   1: cd
5096    abcdcdcdcdcd    abcdcdcdcdcd
5097  --->abcdcdcdcdcd  --->abcdcdcdcdcd
5098   +0 ^                (ab|cd){3,4}   +0 ^                (ab|cd){3,4}
5099   +1 ^                a   +1 ^                a
# Line 5086  No need char Line 5115  No need char
5115   0: abcdcdcd   0: abcdcdcd
5116   1: cd   1: cd
5117    
5118  /([ab]{,4}c|xy)/ICD  /([ab]{,4}c|xy)/ICDZ
5119  ------------------------------------------------------------------  ------------------------------------------------------------------
5120    0 133 Bra 0          Bra
5121    3     Callout 255 0 14          Callout 255 0 14
5122    9  90 Bra 1          CBra 1
5123   14     Callout 255 1 4          Callout 255 1 4
5124   20     [ab]          [ab]
5125   53     Callout 255 5 1          Callout 255 5 1
5126   59     {          {
5127   61     Callout 255 6 1          Callout 255 6 1
5128   67     ,          ,
5129   69     Callout 255 7 1          Callout 255 7 1
5130   75     4          4
5131   77     Callout 255 8 1          Callout 255 8 1
5132   83     }          }
5133   85     Callout 255 9 1          Callout 255 9 1
5134   91     c          c
5135   93     Callout 255 10 0          Callout 255 10 0
5136   99  25 Alt          Alt
5137  102     Callout 255 11 1          Callout 255 11 1
5138  108     x          x
5139  110     Callout 255 12 1          Callout 255 12 1
5140  116     y          y
5141  118     Callout 255 13 0          Callout 255 13 0
5142  124 115 Ket          Ket
5143  127     Callout 255 14 0          Callout 255 14 0
5144  133 133 Ket          Ket
5145  136     End          End
5146  ------------------------------------------------------------------  ------------------------------------------------------------------
5147  Capturing subpattern count = 1  Capturing subpattern count = 1
5148  Options:  Options:
# Line 5261  No need char Line 5290  No need char
5290  +11                                             ^    x  +11                                             ^    x
5291  No match  No match
5292    
5293  /([ab]{1,4}c|xy){4,5}?123/ICD  /([ab]{1,4}c|xy){4,5}?123/ICDZ
5294  ------------------------------------------------------------------  ------------------------------------------------------------------
5295    0 495 Bra 0          Bra
5296    3     Callout 255 0 21          Callout 255 0 21
5297    9  63 Bra 1          CBra 1
5298   14     Callout 255 1 9          Callout 255 1 9
5299   20     [ab]{1,4}          [ab]{1,4}
5300   58     Callout 255 10 1          Callout 255 10 1
5301   64     c          c
5302   66     Callout 255 11 0          Callout 255 11 0
5303   72  25 Alt          Alt
5304   75     Callout 255 12 1          Callout 255 12 1
5305   81     x          x
5306   83     Callout 255 13 1          Callout 255 13 1
5307   89     y          y
5308   91     Callout 255 14 0          Callout 255 14 0
5309   97  88 Ket          Ket
5310  100  63 Bra 1          CBra 1
5311  105     Callout 255 1 9          Callout 255 1 9
5312  111     [ab]{1,4}          [ab]{1,4}
5313  149     Callout 255 10 1          Callout 255 10 1
5314  155     c          c
5315  157     Callout 255 11 0          Callout 255 11 0
5316  163  25 Alt          Alt
5317  166     Callout 255 12 1          Callout 255 12 1
5318  172     x          x
5319  174     Callout 255 13 1          Callout 255 13 1
5320  180     y          y
5321  182     Callout 255 14 0          Callout 255 14 0
5322  188  88 Ket          Ket
5323  191  63 Bra 1          CBra 1
5324  196     Callout 255 1 9          Callout 255 1 9
5325  202     [ab]{1,4}          [ab]{1,4}
5326  240     Callout 255 10 1          Callout 255 10 1
5327  246     c          c
5328  248     Callout 255 11 0          Callout 255 11 0
5329  254  25 Alt          Alt
5330  257     Callout 255 12 1          Callout 255 12 1
5331  263     x          x
5332  265     Callout 255 13 1          Callout 255 13 1
5333  271     y          y
5334  273     Callout 255 14 0          Callout 255 14 0
5335  279  88 Ket          Ket
5336  282  63 Bra 1          CBra 1
5337  287     Callout 255 1 9          Callout 255 1 9
5338  293     [ab]{1,4}          [ab]{1,4}
5339  331     Callout 255 10 1          Callout 255 10 1
5340  337     c          c
5341  339     Callout 255 11 0          Callout 255 11 0
5342  345  25 Alt          Alt
5343  348     Callout 255 12 1          Callout 255 12 1
5344  354     x          x
5345  356     Callout 255 13 1          Callout 255 13 1
5346  362     y          y
5347  364     Callout 255 14 0          Callout 255 14 0
5348  370  88 Ket          Ket
5349  373     Braminzero          Braminzero
5350  374  63 Bra 1          CBra 1
5351  379     Callout 255 1 9          Callout 255 1 9
5352  385     [ab]{1,4}          [ab]{1,4}
5353  423     Callout 255 10 1          Callout 255 10 1
5354  429     c          c
5355  431     Callout 255 11 0          Callout 255 11 0
5356  437  25 Alt          Alt
5357  440     Callout 255 12 1          Callout 255 12 1
5358  446     x          x
5359  448     Callout 255 13 1          Callout 255 13 1
5360  454     y          y
5361  456     Callout 255 14 0          Callout 255 14 0
5362  462  88 Ket          Ket
5363  465     Callout 255 21 1          Callout 255 21 1
5364  471     1          1
5365  473     Callout 255 22 1          Callout 255 22 1
5366  479     2          2
5367  481     Callout 255 23 1          Callout 255 23 1
5368  487     3          3
5369  489     Callout 255 24 0          Callout 255 24 0
5370  495 495 Ket          Ket
5371  498     End          End
5372  ------------------------------------------------------------------  ------------------------------------------------------------------
5373  Capturing subpattern count = 1  Capturing subpattern count = 1
5374  Partial matching not supported  Partial matching not supported
# Line 5380  No first char Line 5409  No first char
5409  No need char  No need char
5410    ab cd\>1    ab cd\>1
5411   0:  cd   0:  cd
5412    
5413  /\b.*/Is  /\b.*/Is
5414  Capturing subpattern count = 0  Capturing subpattern count = 0
5415  Partial matching not supported  Partial matching not supported
5416  Options: dotall  Options: dotall
# Line 5389  No first char Line 5418  No first char
5418  No need char  No need char
5419    ab cd\>1    ab cd\>1
5420   0:  cd   0:  cd
5421    
5422  /(?!.bcd).*/I  /(?!.bcd).*/I
5423  Capturing subpattern count = 0  Capturing subpattern count = 0
5424  Partial matching not supported  Partial matching not supported
5425  No options  No options
5426  No first char  No first char
5427  No need char  No need char
5428    Xbcd12345    Xbcd12345
5429   0: bcd12345   0: bcd12345
5430    
5431  /abcde/I  /abcde/I
# Line 5410  Partial match Line 5439  Partial match
5439  Partial match  Partial match
5440      abcd\P      abcd\P
5441  Partial match  Partial match
5442      abcde\P      abcde\P
5443   0: abcde   0: abcde
5444      the quick brown abc\P      the quick brown abc\P
5445  Partial match  Partial match
# Line 5418  Partial match Line 5447  Partial match
5447  No match  No match
5448      the quick brown abxyz fox\P      the quick brown abxyz fox\P
5449  No match  No match
5450    
5451  "^(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
5452  Capturing subpattern count = 3  Capturing subpattern count = 3
5453  Options: anchored  Options: anchored
# Line 5433  Need char = '/' Line 5462  Need char = '/'
5462   1: 13   1: 13
5463   2: 5   2: 5
5464   3: 20   3: 20
5465      02/05/09\P      02/05/09\P
5466   0: 02/05/09   0: 02/05/09
5467   1: 02   1: 02
5468   2: 05   2: 05
# Line 5443  Partial match Line 5472  Partial match
5472  Partial match  Partial match
5473      1/2/0\P      1/2/0\P
5474  Partial match  Partial match
5475      1/2/04\P      1/2/04\P
5476   0: 1/2/04   0: 1/2/04
5477   1: 1   1: 1
5478   2: 2   2: 2
# Line 5451  Partial match Line 5480  Partial match
5480  Partial match  Partial match
5481      02/\P      02/\P
5482  Partial match  Partial match
5483      02/0\P      02/0\P
5484  Partial match  Partial match
5485      02/1\P      02/1\P
5486  Partial match  Partial match
# Line 5467  No match Line 5496  No match
5496  No match  No match
5497      0/1/2003\P      0/1/2003\P
5498  No match  No match
5499      0/\P      0/\P
5500  No match  No match
5501      02/0/\P      02/0/\P
5502  No match  No match
5503      02/13\P      02/13\P
5504  No match  No match
5505    
5506  /0{0,2}ABC/I  /0{0,2}ABC/I
# Line 5480  Partial matching not supported Line 5509  Partial matching not supported
5509  No options  No options
5510  No first char  No first char
5511  Need char = 'C'  Need char = 'C'
5512    
5513  /\d{3,}ABC/I  /\d{3,}ABC/I
5514  Capturing subpattern count = 0  Capturing subpattern count = 0
5515  Partial matching not supported  Partial matching not supported
5516  No options  No options
5517  No first char  No first char
5518  Need char = 'C'  Need char = 'C'
5519    
5520  /\d*ABC/I  /\d*ABC/I
5521  Capturing subpattern count = 0  Capturing subpattern count = 0
5522  Partial matching not supported  Partial matching not supported
# Line 5517  Partial match Line 5546  Partial match
5546  Partial match  Partial match
5547      c12\P      c12\P
5548  Partial match  Partial match
5549      c123\P      c123\P
5550   0: c123   0: c123
5551    
5552  /^(?:\d){3,5}X/I  /^(?:\d){3,5}X/I
# Line 5537  Partial match Line 5566  Partial match
5566   0: 1234X   0: 1234X
5567      12345\P      12345\P
5568  Partial match  Partial match
5569      12345X      12345X
5570   0: 12345X   0: 12345X
5571      *** Failers      *** Failers
5572  No match  No match
5573      1X      1X
5574  No match  No match
5575      123456\P      123456\P
5576  No match  No match
5577    
5578  /abc/I>testsavedregex  /abc/I>testsavedregex
# Line 5561  No study data Line 5590  No study data
5590  No match  No match
5591      bca      bca
5592  No match  No match
5593    
5594  /abc/IF>testsavedregex  /abc/IF>testsavedregex
5595  Capturing subpattern count = 0  Capturing subpattern count = 0
5596  No options  No options
# Line 5595  Study data loaded from testsavedregex Line 5624  Study data loaded from testsavedregex
5624      ** Failers      ** Failers
5625   0: a   0: a
5626   1: a   1: a
5627      def      def
5628  No match  No match
5629    
5630  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5631  Capturing subpattern count = 1  Capturing subpattern count = 1
5632  No options  No options
# Line 5615  Study data loaded from testsavedregex Line 5644  Study data loaded from testsavedregex
5644      ** Failers      ** Failers
5645   0: a   0: a
5646   1: a   1: a
5647      def      def
5648  No match  No match
5649    
5650  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5651  Capturing subpattern count = 3  Capturing subpattern count = 3
5652  Max back reference = 1  Max back reference = 1
# Line 5639  No need char Line 5668  No need char
5668    
5669  /line\nbreak/I  /line\nbreak/I
5670  Capturing subpattern count = 0  Capturing subpattern count = 0
5671    Contains explicit CR or LF match
5672  No options  No options
5673  First char = 'l'  First char = 'l'
5674  Need char = 'k'  Need char = 'k'
5675      this is a line\nbreak      this is a line\nbreak
5676   0: line\x0abreak   0: line\x0abreak
5677      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5678   0: line\x0abreak   0: line\x0abreak
5679    
5680  /line\nbreak/If  /line\nbreak/If
5681  Capturing subpattern count = 0  Capturing subpattern count = 0
5682    Contains explicit CR or LF match
5683  Options: firstline  Options: firstline
5684  First char = 'l'  First char = 'l'
5685  Need char = 'k'  Need char = 'k'
5686      this is a line\nbreak      this is a line\nbreak
5687   0: line\x0abreak   0: line\x0abreak
5688      ** Failers      ** Failers
5689  No match  No match
5690      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5691  No match  No match
5692    
5693  /line\nbreak/Imf  /line\nbreak/Imf
5694  Capturing subpattern count = 0  Capturing subpattern count = 0
5695    Contains explicit CR or LF match
5696  Options: multiline firstline  Options: multiline firstline
5697  First char = 'l'  First char = 'l'
5698  Need char = 'k'  Need char = 'k'
5699      this is a line\nbreak      this is a line\nbreak
5700   0: line\x0abreak   0: line\x0abreak
5701      ** Failers      ** Failers
5702  No match  No match
5703      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5704  No match  No match
5705    
5706  /ab.cd/IP  /ab.cd/IP
5707      ab-cd      ab-cd
5708   0: ab-cd   0: ab-cd
5709      ab=cd      ab=cd
5710   0: ab=cd   0: ab=cd
5711      ** Failers      ** Failers
5712  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
# Line 5684  No match: POSIX code 17: match failed Line 5716  No match: POSIX code 17: match failed
5716  /ab.cd/IPs  /ab.cd/IPs
5717      ab-cd      ab-cd
5718   0: ab-cd   0: ab-cd
5719      ab=cd      ab=cd
5720   0: ab=cd   0: ab=cd
5721      ab\ncd      ab\ncd
5722   0: ab\x0acd   0: ab\x0acd
# Line 5698  Need char = 'd' Line 5730  Need char = 'd'
5730   0: AbCd   0: AbCd
5731      ** Failers      ** Failers
5732  No match  No match
5733      abcd      abcd
5734  No match  No match
5735    
5736  /a{11111111111111111111}/I  /a{11111111111111111111}/I
5737  Failed: number too big in {} quantifier at offset 22  Failed: number too big in {} quantifier at offset 22
5738    
# Line 5926  Matched, but too many substrings Line 5958  Matched, but too many substrings
5958  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
5959  Capturing subpattern count = 0  Capturing subpattern count = 0
5960  Partial matching not supported  Partial matching not supported
5961    Contains explicit CR or LF match
5962  No options  No options
5963  No first char  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: (this(and)that)   0: (this(and)that)
5969      (this(and)that)stuff      (this(and)that)stuff
5970   0: (this(and)that)stuff   0: (this(and)that)stuff
# Line 5939  No need char Line 5972  No need char
5972  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
5973  Capturing subpattern count = 0  Capturing subpattern count = 0
5974  Partial matching not supported  Partial matching not supported
5975    Contains explicit CR or LF match
5976  No options  No options
5977  No first char  No first char
5978  No need char  No need char
5979      (this(and)that      (this(and)that
5980   0:   0:
5981      (this(and)that)      (this(and)that)
5982   0: (this(and)that)   0: (this(and)that)
5983    
5984  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
5985  Capturing subpattern count = 0  Capturing subpattern count = 0
5986  Partial matching not supported  Partial matching not supported
5987    Contains explicit CR or LF match
5988  No options  No options
5989  No first char  No first char
5990  No need char  No need char
5991      (this(and)that      (this(and)that
5992   0:   0:
5993      (this(and)that)      (this(and)that)
5994   0: (this(and)that)   0: (this(and)that)
5995    
5996  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
5997  Capturing subpattern count = 0  Capturing subpattern count = 0
5998  Partial matching not supported  Partial matching not supported
5999    Contains explicit CR or LF match
6000  No options  No options
6001  No first char  No first char
6002  No need char  No need char
6003      (this(and)that      (this(and)that
6004   0:   0:
6005      (this(and)that)      (this(and)that)
6006   0:   0:
6007      ((this))      ((this))
6008   0: ((this))   0: ((this))
6009    
6010  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6011  Capturing subpattern count = 0  Capturing subpattern count = 0
6012  Partial matching not supported  Partial matching not supported
6013    Contains explicit CR or LF match
6014  No options  No options
6015  No first char  No first char
6016  No need char  No need char
6017      (this(and)that      (this(and)that
6018   0:   0:
6019      (this(and)that)      (this(and)that)
6020   0:   0:
6021      (this)      (this)
6022   0: (this)   0: (this)
6023      ((this))      ((this))
6024   0: ((this))   0: ((this))
6025    
6026  /a(b)c/IPN  /a(b)c/IPN
6027      abc      abc
6028  Matched with REG_NOSUB  Matched with REG_NOSUB
6029    
6030  /a(?P<name>b)c/IPN  /a(?P<name>b)c/IPN
6031      abc      abc
6032  Matched with REG_NOSUB  Matched with REG_NOSUB
6033    
6034  /\x{100}/I  /\x{100}/I
6035  Failed: character value in \x{...} sequence is too large at offset 6  Failed: character value in \x{...} sequence is too large at offset 6
6036    
6037  /\x{0000ff}/I  /\x{0000ff}/I
# Line 6019  No need char Line 6056  No need char
6056   1: a1   1: a1
6057   2: a1   2: a1
6058    C a1 (2) A    C a1 (2) A
6059      a2b\CA      a2b\CA
6060   0: a2b   0: a2b
6061   1: a2b   1: a2b
6062   2: <unset>   2: <unset>
# Line 6027  No need char Line 6064  No need char
6064    C a2 (2) A    C a2 (2) A
6065      ** Failers      ** Failers
6066  No match  No match
6067      a1b\CZ\CA      a1b\CZ\CA
6068  no parentheses with name "Z"  no parentheses with name "Z"
6069   0: a1   0: a1
6070   1: a1   1: a1
6071   2: a1   2: a1
6072  copy substring Z failed -7  copy substring Z failed -7
6073    C a1 (2) A    C a1 (2) A
6074    
6075  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6076  Capturing subpattern count = 2  Capturing subpattern count = 2
6077  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6048  No need char Line 6085  No need char
6085   1: a   1: a
6086   2: b   2: b
6087    C a (1) A    C a (1) A
6088    
6089  /^(?P<A>a)(?P<A>b)|cd/IJ  /^(?P<A>a)(?P<A>b)|cd/IJ
6090  Capturing subpattern count = 2  Capturing subpattern count = 2
6091  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6062  No need char Line 6099  No need char
6099   1: a   1: a
6100   2: b   2: b
6101    C a (1) A    C a (1) A
6102      cd\CA      cd\CA
6103   0: cd   0: cd
6104  copy substring A failed -7  copy substring A failed -7
6105    
6106  /^(?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
6107  Capturing subpattern count = 4  Capturing subpattern count = 4
6108  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6076  Named capturing subpatterns: Line 6113  Named capturing subpatterns:
6113  Options: dupnames  Options: dupnames
6114  No first char  No first char
6115  No need char  No need char
6116      cdefgh\CA      cdefgh\CA
6117   0: cdefgh   0: cdefgh
6118   1: <unset>   1: <unset>
6119   2: <unset>   2: <unset>
6120   3: ef   3: ef
6121   4: gh   4: gh
6122    C ef (2) A    C ef (2) A
6123    
6124  /^((?P<A>a1)|(?P<A>a2)b)/IJ  /^((?P<A>a1)|(?P<A>a2)b)/IJ
6125  Capturing subpattern count = 3  Capturing subpattern count = 3
6126  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6097  No need char Line 6134  No need char
6134   1: a1   1: a1
6135   2: a1   2: a1
6136    G a1 (2) A    G a1 (2) A
6137      a2b\GA      a2b\GA
6138   0: a2b   0: a2b
6139   1: a2b   1: a2b
6140   2: <unset>   2: <unset>
# Line 6105  No need char Line 6142  No need char
6142    G a2 (2) A    G a2 (2) A
6143      ** Failers      ** Failers
6144  No match  No match
6145      a1b\GZ\GA      a1b\GZ\GA
6146  no parentheses with name "Z"  no parentheses with name "Z"
6147   0: a1   0: a1
6148   1: a1   1: a1
6149   2: a1   2: a1
6150  copy substring Z failed -7  copy substring Z failed -7
6151    G a1 (2) A    G a1 (2) A
6152    
6153  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6154  Capturing subpattern count = 2  Capturing subpattern count = 2
6155  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6126  No need char Line 6163  No need char
6163   1: a   1: a
6164   2: b   2: b
6165    G a (1) A    G a (1) A
6166    
6167  /^(?P<A>a)(?P<A>b)|cd/IJ  /^(?P<A>a)(?P<A>b)|cd/IJ
6168  Capturing subpattern count = 2  Capturing subpattern count = 2
6169  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6140  No need char Line 6177  No need char
6177   1: a   1: a
6178   2: b   2: b
6179    G a (1) A    G a (1) A
6180      cd\GA      cd\GA
6181   0: cd   0: cd
6182  copy substring A failed -7  copy substring A failed -7
6183    
6184  /^(?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
6185  Capturing subpattern count = 4  Capturing subpattern count = 4
6186  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6154  Named capturing subpatterns: Line 6191  Named capturing subpatterns:
6191  Options: dupnames  Options: dupnames
6192  No first char  No first char
6193  No need char  No need char
6194      cdefgh\GA      cdefgh\GA
6195   0: cdefgh   0: cdefgh
6196   1: <unset>   1: <unset>
6197   2: <unset>   2: <unset>
6198   3: ef   3: ef
6199   4: gh   4: gh
6200    G ef (2) A    G ef (2) A
6201    
6202  /(?J)^((?P<A>a1)|(?P<A>a2)b)/I  /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
6203  Capturing subpattern count = 3  Capturing subpattern count = 3
6204  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6175  No need char Line 6212  No need char
6212   1: a1   1: a1
6213   2: a1   2: a1
6214    C a1 (2) A    C a1 (2) A
6215      a2b\CA      a2b\CA
6216   0: a2b   0: a2b
6217   1: a2b   1: a2b
6218   2: <unset>   2: <unset>
6219   3: a2   3: a2
6220    C a2 (2) A    C a2 (2) A
6221    
6222  /^(?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
6223  Failed: two named subpatterns have the same name at offset 37  Failed: two named subpatterns have the same name at offset 37
6224    
6225  / 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
6226  set in the pattern's options; consequently pcre_get_named_substring() produces  set in the pattern's options; consequently pcre_get_named_substring() produces
6227  a random value. /Ix  a random value. /Ix
6228  Capturing subpattern count = 1  Capturing subpattern count = 1
6229  Options: extended  Options: extended
# Line 6201  Named capturing subpatterns: Line 6238  Named capturing subpatterns:
6238    B   3    B   3
6239    C   4    C   4
6240  Options: anchored  Options: anchored
6241    Duplicate name status changes
6242  No first char  No first char
6243  No need char  No need char
6244      a bc d\CA\CB\CC      a bc d\CA\CB\CC
# Line 6227  No need char Line 6265  No need char
6265   0: b   0: b
6266      ** Failers      ** Failers
6267  No match  No match
6268      abc      abc
6269  No match  No match
6270    
6271  /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I  /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
# Line 6283  No need char Line 6321  No need char
6321      bXXaYYaY      bXXaYYaY
6322   0: bXXaYYaY   0: bXXaYYaY
6323   1: Y   1: Y
6324      bXYaXXaX      bXYaXXaX
6325   0: bX   0: bX
6326   1: X   1: X
6327    
# Line 6320  Need char = ',' Line 6358  Need char = ','
6358  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6359      \x0b,\x0b      \x0b,\x0b
6360   0: ,   0: ,
6361      \x0c,\x0d      \x0c,\x0d
6362   0: \x0c,\x0d   0: \x0c,\x0d
6363    
6364  /^abc/Im  /^abc/Im
# Line 6338  Need char = 'c' Line 6376  Need char = 'c'
6376   0: abc   0: abc
6377      xyz\r\nabc\<crlf>      xyz\r\nabc\<crlf>
6378   0: abc   0: abc
6379      ** Failers      ** Failers
6380  No match  No match
6381      xyz\nabc\<cr>      xyz\nabc\<cr>
6382  No match  No match
# Line 6350  No match Line 6388  No match
6388  No match  No match
6389      xyz\rabc\<lf>      xyz\rabc\<lf>
6390  No match  No match
6391    
6392  /abc$/Im<lf>  /abc$/Im<lf>
6393  Capturing subpattern count = 0  Capturing subpattern count = 0
6394  Options: multiline  Options: multiline
# Line 6359  First char = 'a' Line 6397  First char = 'a'
6397  Need char = 'c'  Need char = 'c'
6398      xyzabc      xyzabc
6399   0: abc   0: abc
6400      xyzabc\n      xyzabc\n
6401   0: abc   0: abc
6402      xyzabc\npqr      xyzabc\npqr
6403   0: abc   0: abc
6404      xyzabc\r\<cr>      xyzabc\r\<cr>
6405   0: abc   0: abc
6406      xyzabc\rpqr\<cr>      xyzabc\rpqr\<cr>
6407   0: abc   0: abc
6408      xyzabc\r\n\<crlf>      xyzabc\r\n\<crlf>
6409   0: abc   0: abc
6410      xyzabc\r\npqr\<crlf>      xyzabc\r\npqr\<crlf>
6411   0: abc   0: abc
6412      ** Failers      ** Failers
6413  No match  No match
6414      xyzabc\r      xyzabc\r
6415  No match  No match
6416      xyzabc\rpqr      xyzabc\rpqr
6417  No match  No match
6418      xyzabc\r\n      xyzabc\r\n
6419  No match  No match
6420      xyzabc\r\npqr      xyzabc\r\npqr
6421  No match  No match
6422    
6423  /^abc/Im<cr>  /^abc/Im<cr>
6424  Capturing subpattern count = 0  Capturing subpattern count = 0
6425  Options: multiline  Options: multiline
# Line 6392  Need char = 'c' Line 6430  Need char = 'c'
6430   0: abc   0: abc
6431      xyz\nabcdef\<lf>      xyz\nabcdef\<lf>
6432   0: abc   0: abc
6433      ** Failers      ** Failers
6434  No match  No match
6435      xyz\nabcdef      xyz\nabcdef
6436  No match  No match
6437    
6438  /^abc/Im<lf>  /^abc/Im<lf>
6439  Capturing subpattern count = 0  Capturing subpattern count = 0
6440  Options: multiline  Options: multiline
# Line 6407  Need char = 'c' Line 6445  Need char = 'c'
6445   0: abc   0: abc
6446      xyz\rabcdef\<cr>      xyz\rabcdef\<cr>
6447   0: abc   0: abc
6448      ** Failers      ** Failers
6449  No match  No match
6450      xyz\rabcdef      xyz\rabcdef
6451  No match  No match
6452    
6453  /^abc/Im<crlf>  /^abc/Im<crlf>
6454  Capturing subpattern count = 0  Capturing subpattern count = 0
6455  Options: multiline  Options: multiline
# Line 6422  Need char = 'c' Line 6460  Need char = 'c'
6460   0: abc   0: abc
6461      xyz\rabcdef\<cr>      xyz\rabcdef\<cr>
6462   0: abc   0: abc
6463      ** Failers      ** Failers
6464  No match  No match
6465      xyz\rabcdef      xyz\rabcdef
6466  No match  No match
6467    
6468  /^abc/Im<bad>  /^abc/Im<bad>
6469  Unknown newline type at: <bad>  Unknown newline type at: <bad>
6470    
# Line 6438  First char = 'a' Line 6476  First char = 'a'
6476  Need char = 'c'  Need char = 'c'
6477      xyz\rabc\<bad>      xyz\rabc\<bad>
6478  Unknown newline type at: <bad>  Unknown newline type at: <bad>
6479      abc      abc
6480   0: abc   0: abc
6481    
6482  /.*/I<lf>  /.*/I<lf>
6483  Capturing subpattern count = 0  Capturing subpattern count = 0
6484  Partial matching not supported  Partial matching not supported
# Line 6514  Capturing subpattern count = 102 Line 6552  Capturing subpattern count = 102
6552  Options: extended  Options: extended
6553  No first char  No first char
6554  No need char  No need char
6555      XY\O400      XY\O400
6556   0: XY   0: XY
6557   1:   1:
6558   2:   2:
# Line 6669  No first char Line 6707  No first char
6707  Need char = 'z'  Need char = 'z'
6708  Starting byte set: a b c d  Starting byte set: a b c d
6709    
6710  /^a*b\d/D  /^a*b\d/DZ
6711  ------------------------------------------------------------------  ------------------------------------------------------------------
6712    0   9 Bra 0          Bra
6713    3     ^          ^
6714    4     a*+          a*+
6715    6     b          b
6716    8     \d          \d
6717    9   9 Ket          Ket
6718   12     End          End
6719  ------------------------------------------------------------------  ------------------------------------------------------------------
6720  Capturing subpattern count = 0  Capturing subpattern count = 0
6721  Partial matching not supported  Partial matching not supported
# Line 6685  Options: anchored Line 6723  Options: anchored
6723  No first char  No first char
6724  Need char = 'b'  Need char = 'b'
6725    
6726  /^a*+b\d/D  /^a*+b\d/DZ
6727  ------------------------------------------------------------------  ------------------------------------------------------------------
6728    0   9 Bra 0          Bra
6729    3     ^          ^
6730    4     a*+          a*+
6731    6     b          b
6732    8     \d          \d
6733    9   9 Ket          Ket
6734   12     End          End
6735  ------------------------------------------------------------------  ------------------------------------------------------------------
6736  Capturing subpattern count = 0  Capturing subpattern count = 0
6737  Partial matching not supported  Partial matching not supported
# Line 6701  Options: anchored Line 6739  Options: anchored
6739  No first char  No first char
6740  Need char = 'b'  Need char = 'b'
6741    
6742  /^a*?b\d/D  /^a*?b\d/DZ
6743  ------------------------------------------------------------------  ------------------------------------------------------------------
6744    0   9 Bra 0          Bra
6745    3     ^          ^
6746    4     a*+          a*+
6747    6     b          b
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 6717  Options: anchored Line 6755  Options: anchored
6755  No first char  No first char
6756  Need char = 'b'  Need char = 'b'
6757    
6758  /^a+A\d/D  /^a+A\d/DZ
6759  ------------------------------------------------------------------  ------------------------------------------------------------------
6760    0   9 Bra 0          Bra
6761    3     ^          ^
6762    4     a++          a++
6763    6     A          A
6764    8     \d          \d
6765    9   9 Ket          Ket
6766   12     End          End
6767  ------------------------------------------------------------------  ------------------------------------------------------------------
6768  Capturing subpattern count = 0  Capturing subpattern count = 0
6769  Partial matching not supported  Partial matching not supported
# Line 6736  Need char = 'A' Line 6774  Need char = 'A'
6774   0: aaaA5   0: aaaA5
6775      ** Failers      ** Failers
6776  No match  No match
6777      aaaa5      aaaa5
6778  No match  No match
6779    
6780  /^a*A\d/IiD  /^a*A\d/IiDZ
6781  ------------------------------------------------------------------  ------------------------------------------------------------------
6782    0   9 Bra 0          Bra
6783    3     ^          ^
6784    4     a*          a*
6785    6  NC A       NC A
6786    8     \d          \d
6787    9   9 Ket          Ket
6788   12     End          End
6789  ------------------------------------------------------------------  ------------------------------------------------------------------
6790  Capturing subpattern count = 0  Capturing subpattern count = 0
6791  Partial matching not supported  Partial matching not supported
# Line 6797  Starting byte set: a b Line 6835  Starting byte set: a b
6835   a   a
6836   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6837   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6838   )))   )))
6839  /Ix  /Ix
6840  Capturing subpattern count = 203  Capturing subpattern count = 203
6841  Options: extended  Options: extended
6842  First char = 'a'  First char = 'a'
# Line 6821  Matched, but too many substrings Line 6859  Matched, but too many substrings
6859  13: a  13: a
6860  14: a  14: a
6861    
6862  /a*\d/B  /a*\d/BZ
6863  ------------------------------------------------------------------  ------------------------------------------------------------------
6864    0   6 Bra 0          Bra
6865    3     a*+          a*+
6866    5     \d          \d
6867    6   6 Ket          Ket
6868    9     End          End
6869  ------------------------------------------------------------------  ------------------------------------------------------------------
6870    
6871  /a*\D/B  /a*\D/BZ
6872  ------------------------------------------------------------------  ------------------------------------------------------------------
6873    0   6 Bra 0          Bra
6874    3     a*          a*
6875    5     \D          \D
6876    6   6 Ket          Ket
6877    9     End          End
6878  ------------------------------------------------------------------  ------------------------------------------------------------------
6879    
6880  /0*\d/B  /0*\d/BZ
6881  ------------------------------------------------------------------  ------------------------------------------------------------------
6882    0   6 Bra 0          Bra
6883    3     0*          0*
6884    5     \d          \d
6885    6   6 Ket          Ket
6886    9     End          End
6887  ------------------------------------------------------------------  ------------------------------------------------------------------
6888    
6889  /0*\D/B  /0*\D/BZ
6890  ------------------------------------------------------------------  ------------------------------------------------------------------
6891    0   6 Bra 0          Bra
6892    3     0*+          0*+
6893    5     \D          \D
6894    6   6 Ket          Ket
6895    9     End          End
6896  ------------------------------------------------------------------  ------------------------------------------------------------------
6897    
6898  /a*\s/B  /a*\s/BZ
6899  ------------------------------------------------------------------  ------------------------------------------------------------------
6900    0   6 Bra 0          Bra
6901    3     a*+          a*+
6902    5     \s          \s
6903    6   6 Ket          Ket
6904    9     End          End
6905  ------------------------------------------------------------------  ------------------------------------------------------------------
6906    
6907  /a*\S/B  /a*\S/BZ
6908  ------------------------------------------------------------------  ------------------------------------------------------------------
6909    0   6 Bra 0          Bra
6910    3     a*          a*
6911    5     \S          \S
6912    6   6 Ket          Ket
6913    9     End          End
6914  ------------------------------------------------------------------  ------------------------------------------------------------------
6915    
6916  / *\s/B  / *\s/BZ
6917  ------------------------------------------------------------------  ------------------------------------------------------------------
6918    0   6 Bra 0          Bra
6919    3      *           *
6920    5     \s          \s
6921    6   6 Ket          Ket
6922    9     End          End
6923  ------------------------------------------------------------------  ------------------------------------------------------------------
6924    
6925  / *\S/B  / *\S/BZ
6926  ------------------------------------------------------------------  ------------------------------------------------------------------
6927    0   6 Bra 0          Bra
6928    3      *+           *+
6929    5     \S          \S
6930    6   6 Ket          Ket
6931    9     End          End
6932  ------------------------------------------------------------------  ------------------------------------------------------------------
6933    
6934  /a*\w/B  /a*\w/BZ
6935  ------------------------------------------------------------------  ------------------------------------------------------------------
6936    0   6 Bra 0          Bra
6937    3     a*          a*
6938    5     \w          \w
6939    6   6 Ket          Ket
6940    9     End          End
6941  ------------------------------------------------------------------  ------------------------------------------------------------------
6942    
6943  /a*\W/B  /a*\W/BZ
6944  ------------------------------------------------------------------  ------------------------------------------------------------------
6945    0   6 Bra 0          Bra
6946    3     a*+          a*+
6947    5     \W          \W
6948    6   6 Ket          Ket
6949    9     End          End
6950  ------------------------------------------------------------------  ------------------------------------------------------------------
6951    
6952  /=*\w/B  /=*\w/BZ
6953  ------------------------------------------------------------------  ------------------------------------------------------------------
6954    0   6 Bra 0          Bra
6955    3     =*+          =*+
6956    5     \w          \w
6957    6   6 Ket          Ket
6958    9     End          End
6959  ------------------------------------------------------------------  ------------------------------------------------------------------
6960    
6961  /=*\W/B  /=*\W/BZ
6962  ------------------------------------------------------------------  ------------------------------------------------------------------
6963    0   6 Bra 0          Bra
6964    3     =*          =*
6965    5     \W          \W
6966    6   6 Ket          Ket
6967    9     End          End
6968  ------------------------------------------------------------------  ------------------------------------------------------------------
6969    
6970  /\d*a/B  /\d*a/BZ
6971  ------------------------------------------------------------------  ------------------------------------------------------------------
6972    0   7 Bra 0          Bra
6973    3     \d*+          \d*+
6974    5     a          a
6975    7   7 Ket          Ket
6976   10     End          End
6977  ------------------------------------------------------------------  ------------------------------------------------------------------
6978    
6979  /\d*2/B  /\d*2/BZ
6980  ------------------------------------------------------------------  ------------------------------------------------------------------
6981    0   7 Bra 0          Bra
6982    3     \d*          \d*
6983    5     2          2
6984    7   7 Ket          Ket
6985   10     End          End
6986  ------------------------------------------------------------------  ------------------------------------------------------------------
6987    
6988  /\d*\d/B  /\d*\d/BZ