/[pcre]/code/trunk/testdata/testoutput2
ViewVC logotype

Diff of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 96 by nigel, Fri Mar 2 13:10:43 2007 UTC revision 102 by ph10, Tue Mar 6 15:50:45 2007 UTC
# Line 222  Matched, but too many substrings Line 222  Matched, but too many substrings
222   0: abcb   0: abcb
223   1: a   1: a
224   2: b   2: b
225      \O12abcb      \O12abcb
226   0: abcb   0: abcb
227   1: a   1: a
228   2: b   2: b
# Line 343  No need char Line 343  No need char
343   0: abc   0: abc
344      *** Failers      *** Failers
345  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
346    
347  /^abc|def/IP  /^abc|def/IP
348      abcdef      abcdef
349   0: abc   0: abc
# Line 359  No match: POSIX code 17: match failed Line 359  No match: POSIX code 17: match failed
359   0: def   0: def
360   1: def   1: def
361   3: def   3: def
362    
363  /the quick brown fox/IP  /the quick brown fox/IP
364      the quick brown fox      the quick brown fox
365   0: the quick brown fox   0: the quick brown fox
366      *** Failers      *** Failers
367  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
368      The Quick Brown Fox      The Quick Brown Fox
369  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
370    
371  /the quick brown fox/IPi  /the quick brown fox/IPi
372      the quick brown fox      the quick brown fox
373   0: the quick brown fox   0: the quick brown fox
374      The Quick Brown Fox      The Quick Brown Fox
375   0: The Quick Brown Fox   0: The Quick Brown Fox
376    
377  /abc.def/IP  /abc.def/IP
# Line 379  No match: POSIX code 17: match failed Line 379  No match: POSIX code 17: match failed
379  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
380      abc\ndef      abc\ndef
381  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
382    
383  /abc$/IP  /abc$/IP
384      abc      abc
385   0: abc   0: abc
386      abc\n      abc\n
387   0: abc   0: abc
388    
389  /(abc)\2/IP  /(abc)\2/IP
# Line 405  Partial matching not supported Line 405  Partial matching not supported
405  No options  No options
406  No first char  No first char
407  No need char  No need char
408      co-processors, and for      co-processors, and for
409   0: -pr   0: -pr
410    
411  /<.*>/I  /<.*>/I
412  Capturing subpattern count = 0  Capturing subpattern count = 0
413  Partial matching not supported  Partial matching not supported
# Line 434  First char = '<' Line 434  First char = '<'
434  Need char = '>'  Need char = '>'
435      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
436   0: <def>   0: <def>
437    
438  /(?U)<.*>/I  /(?U)<.*>/I
439  Capturing subpattern count = 0  Capturing subpattern count = 0
440  Partial matching not supported  Partial matching not supported
# Line 452  First char = '<' Line 452  First char = '<'
452  Need char = '>'  Need char = '>'
453      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
454   0: <def>ghi<klm>   0: <def>ghi<klm>
455    
456  /={3,}/IU  /={3,}/IU
457  Capturing subpattern count = 0  Capturing subpattern count = 0
458  Partial matching not supported  Partial matching not supported
# Line 461  First char = '=' Line 461  First char = '='
461  Need char = '='  Need char = '='
462      abc========def      abc========def
463   0: ===   0: ===
464    
465  /(?U)={3,}?/I  /(?U)={3,}?/I
466  Capturing subpattern count = 0  Capturing subpattern count = 0
467  Partial matching not supported  Partial matching not supported
# Line 470  First char = '=' Line 470  First char = '='
470  Need char = '='  Need char = '='
471      abc========def      abc========def
472   0: ========   0: ========
473    
474  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
475  Capturing subpattern count = 0  Capturing subpattern count = 0
476  No options  No options
# Line 478  First char = 'f' Line 478  First char = 'f'
478  Need char = 'o'  Need char = 'o'
479      foo      foo
480   0: foo   0: foo
481      catfoo      catfoo
482   0: foo   0: foo
483      *** Failers      *** Failers
484  No match  No match
485      the barfoo      the barfoo
486  No match  No match
487      and cattlefoo      and cattlefoo
488  No match  No match
489    
490  /(?<=a+)b/  /(?<=a+)b/
# Line 631  No need char Line 631  No need char
631   0: a   0: a
632      a\n      a\n
633   0: a   0: a
634      *** Failers      *** Failers
635  No match  No match
636      \Za      \Za
637  No match  No match
638      \Za\n      \Za\n
639  No match  No match
640    
641  /a$/Im  /a$/Im
# Line 647  No need char Line 647  No need char
647   0: a   0: a
648      a\n      a\n
649   0: a   0: a
650      \Za\n      \Za\n
651   0: a   0: a
652      *** Failers      *** Failers
653  No match  No match
654      \Za      \Za
655  No match  No match
656    
657  /\Aabc/Im  /\Aabc/Im
658  Capturing subpattern count = 0  Capturing subpattern count = 0
659  Options: anchored multiline  Options: anchored multiline
660  No first char  No first char
661  No need char  No need char
662    
663  /^abc/Im  /^abc/Im
664  Capturing subpattern count = 0  Capturing subpattern count = 0
665  Options: multiline  Options: multiline
666  First char at start or follows newline  First char at start or follows newline
# Line 706  Capturing subpattern count = 0 Line 706  Capturing subpattern count = 0
706  Options: multiline  Options: multiline
707  No first char  No first char
708  Need char = 'r'  Need char = 'r'
709      foo\nbarbar      foo\nbarbar
710   0: bar   0: bar
711      ***Failers      ***Failers
712  No match  No match
713      rhubarb      rhubarb
714  No match  No match
715      barbell      barbell
716  No match  No match
717      abc\nbarton      abc\nbarton
718  No match  No match
719    
720  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
# Line 722  Capturing subpattern count = 0 Line 722  Capturing subpattern count = 0
722  Options: multiline  Options: multiline
723  First char at start or follows newline  First char at start or follows newline
724  Need char = 'r'  Need char = 'r'
725      foo\nbarbar      foo\nbarbar
726   0: bar   0: bar
727      ***Failers      ***Failers
728  No match  No match
729      rhubarb      rhubarb
730  No match  No match
731      barbell      barbell
732  No match  No match
733      abc\nbarton      abc\nbarton
734  No match  No match
735    
736  /(?>^abc)/Im  /(?>^abc)/Im
# Line 744  Need char = 'c' Line 744  Need char = 'c'
744   0: abc   0: abc
745      *** Failers      *** Failers
746  No match  No match
747      defabc      defabc
748  No match  No match
749    
750  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 771  Need char = 't' Line 771  Need char = 't'
771  No match  No match
772      cart      cart
773  No match  No match
774      horse-and-cart      horse-and-cart
775  No match  No match
776    
777  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
778  Capturing subpattern count = 0  Capturing subpattern count = 0
779  No options  No options
# Line 809  Need char = 'Z' Line 809  Need char = 'Z'
809   0: ZZ   0: ZZ
810      bZZ      bZZ
811   0: ZZ   0: ZZ
812      BZZ      BZZ
813   0: ZZ   0: ZZ
814      *** Failers      *** Failers
815  No match  No match
816      ZZ      ZZ
817  No match  No match
818      abXYZZ      abXYZZ
819  No match  No match
820      zzz      zzz
821  No match  No match
822      bzz      bzz
823  No match  No match
824    
825  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
# Line 829  First char = 'b' Line 829  First char = 'b'
829  Need char = 'r'  Need char = 'r'
830      bar      bar
831   0: bar   0: bar
832      foobbar      foobbar
833   0: bar   0: bar
834      *** Failers      *** Failers
835  No match  No match
836      fooabar      fooabar
837  No match  No match
838    
839  /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 849  No first char
849  No need char  No need char
850      *** Failers      *** Failers
851  No match  No match
852      a      a
853  No match  No match
854    
855  /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 867  No need char
867      aaaaaa      aaaaaa
868   0: aaaaaa   0: aaaaaa
869   1: aa   1: aa
870    
871  /These are syntax tests from Perl 5.005/I  /These are syntax tests from Perl 5.005/I
872  Capturing subpattern count = 0  Capturing subpattern count = 0
873  No options  No options
# Line 1001  Need char = 'd' Line 1001  Need char = 'd'
1001   1: a   1: a
1002   2: d   2: d
1003  copy substring 5 failed -7  copy substring 5 failed -7
1004    
1005  /(.{20})/I  /(.{20})/I
1006  Capturing subpattern count = 1  Capturing subpattern count = 1
1007  Partial matching not supported  Partial matching not supported
# Line 1019  No need char Line 1019  No need char
1019   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1020   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1021   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1022    
1023  /(.{15})/I  /(.{15})/I
1024  Capturing subpattern count = 1  Capturing subpattern count = 1
1025  Partial matching not supported  Partial matching not supported
# Line 1051  No need char Line 1051  No need char
1051   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1052   0L abcdefghijklmnop   0L abcdefghijklmnop
1053   1L abcdefghijklmnop   1L abcdefghijklmnop
1054    
1055  /^(a|(bc))de(f)/I  /^(a|(bc))de(f)/I
1056  Capturing subpattern count = 3  Capturing subpattern count = 3
1057  Options: anchored  Options: anchored
1058  No first char  No first char
1059  No need char  No need char
1060      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1061   0: adef   0: adef
1062   1: a   1: a
1063   2: <unset>   2: <unset>
# Line 1070  get substring 4 failed -7 Line 1070  get substring 4 failed -7
1070   1L a   1L a
1071   2L   2L
1072   3L f   3L f
1073      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1074   0: bcdef   0: bcdef
1075   1: bc   1: bc
1076   2: bc   2: bc
# Line 1083  get substring 4 failed -7 Line 1083  get substring 4 failed -7
1083   1L bc   1L bc
1084   2L bc   2L bc
1085   3L f   3L f
1086      adefghijk\C0      adefghijk\C0
1087   0: adef   0: adef
1088   1: a   1: a
1089   2: <unset>   2: <unset>
1090   3: f   3: f
1091   0C adef (4)   0C adef (4)
1092    
1093  /^abc\00def/I  /^abc\00def/I
1094  Capturing subpattern count = 0  Capturing subpattern count = 0
1095  Options: anchored  Options: anchored
1096  No first char  No first char
1097  No need char  No need char
1098      abc\00def\L\C0      abc\00def\L\C0
1099   0: abc\x00def   0: abc\x00def
1100   0C abc (7)   0C abc (7)
1101   0L abc   0L abc
1102    
1103  /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]+
1104  )((?:[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]+
1105  )?)?)?)?)?)?)?)?)?otherword/IM  )?)?)?)?)?)?)?)?)?otherword/IM
1106  Memory allocation (code space): 448  Memory allocation (code space): 444
1107  Capturing subpattern count = 8  Capturing subpattern count = 8
1108  Partial matching not supported  Partial matching not supported
1109  No options  No options
# Line 1175  Partial matching not supported Line 1175  Partial matching not supported
1175  Options: anchored dotall  Options: anchored dotall
1176  No first char  No first char
1177  No need char  No need char
1178    
1179  /(?s)(.*X|^B)/ID  /(?s)(.*X|^B)/ID
1180  ------------------------------------------------------------------  ------------------------------------------------------------------
1181    0  21 Bra 0    0  21 Bra 0
# Line 1294  No need char Line 1294  No need char
1294      ississippi      ississippi
1295   0: iss   0: iss
1296   0+ issippi   0+ issippi
1297    
1298  /.*iss/Ig+  /.*iss/Ig+
1299  Capturing subpattern count = 0  Capturing subpattern count = 0
1300  Partial matching not supported  Partial matching not supported
1301  No options  No options
1302  First char at start or follows newline  First char at start or follows newline
1303  Need char = 's'  Need char = 's'
1304      abciss\nxyzisspqr      abciss\nxyzisspqr
1305   0: abciss   0: abciss
1306   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1307   0: xyziss   0: xyziss
# Line 1333  Need char = 'i' Line 1333  Need char = 'i'
1333   0+ river   0+ river
1334   0: riv   0: riv
1335   0+ er   0+ er
1336      Missouri river\A      Missouri river\A
1337   0: Mis   0: Mis
1338   0+ souri river   0+ souri river
1339    
# Line 1646  No need char Line 1646  No need char
1646   0:   0:
1647      *** Failers      *** Failers
1648   0:   0:
1649      \N      \N
1650  No match  No match
1651    
1652  /|-/I  /|-/I
1653  Capturing subpattern count = 0  Capturing subpattern count = 0
1654  No options  No options
# Line 1662  No need char Line 1662  No need char
1662   0: -   0: -
1663      *** Failers      *** Failers
1664   0:   0:
1665      \Nabc      \Nabc
1666  No match  No match
1667    
1668  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/IP
# Line 1691  No match Line 1691  No match
1691   1: bbbb   1: bbbb
1692   2: z   2: z
1693   3: z   3: z
1694    
1695  /^.?abcd/IS  /^.?abcd/IS
1696  Capturing subpattern count = 0  Capturing subpattern count = 0
1697  Options: anchored  Options: anchored
1698  No first char  No first char
# Line 1718  Need char = ')' Line 1718  Need char = ')'
1718   0: (abcd)   0: (abcd)
1719      xyz(abcd)      xyz(abcd)
1720   0: (abcd)   0: (abcd)
1721      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1722   0: (ab(xy)cd)   0: (ab(xy)cd)
1723      (ab(xycd)pqr      (ab(xycd)pqr
1724   0: (xycd)   0: (xycd)
1725      () abc ()      () abc ()
1726   0: ()   0: ()
1727      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1728   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1729      *** Failers      *** Failers
1730  No match  No match
1731      abcd      abcd
1732  No match  No match
1733      abcd)      abcd)
1734  No match  No match
1735      (abcd      (abcd
1736  No match  No match
1737    
1738  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
# Line 1741  Partial matching not supported Line 1741  Partial matching not supported
1741  Options: extended  Options: extended
1742  First char = '('  First char = '('
1743  Need char = ')'  Need char = ')'
1744      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1745   0: (ab(xy)cd)   0: (ab(xy)cd)
1746   1: cd   1: cd
1747      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1760  Need char = ')' Line 1760  Need char = ')'
1760   0: (abcd)   0: (abcd)
1761      (ab(xy)cd)      (ab(xy)cd)
1762   0: (xy)   0: (xy)
1763      (a(b(c)d)e)      (a(b(c)d)e)
1764   0: (c)   0: (c)
1765      ((ab))      ((ab))
1766   0: ((ab))   0: ((ab))
1767      *** Failers      *** Failers
1768  No match  No match
1769      ()      ()
1770  No match  No match
1771    
1772  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
# Line 1935  Capturing subpattern count = 0 Line 1935  Capturing subpattern count = 0
1935  Options: anchored  Options: anchored
1936  No first char  No first char
1937  No need char  No need char
1938    
1939  /[_[:alpha:]]/IS  /[_[:alpha:]]/IS
1940  Capturing subpattern count = 0  Capturing subpattern count = 0
1941  No options  No options
# Line 2200  No first char Line 2200  No first char
2200  No need char  No need char
2201      A      A
2202   0: A   0: A
2203      a      a
2204   0: a   0: a
2205    
2206  /[[:lower:]]/Ii  /[[:lower:]]/Ii
2207  Capturing subpattern count = 0  Capturing subpattern count = 0
2208  Options: caseless  Options: caseless
# Line 2210  No first char Line 2210  No first char
2210  No need char  No need char
2211      A      A
2212   0: A   0: A
2213      a      a
2214   0: a   0: a
2215    
2216  /((?-i)[[:lower:]])[[:lower:]]/Ii  /((?-i)[[:lower:]])[[:lower:]]/Ii
# Line 2229  No need char Line 2229  No need char
2229   1: a   1: a
2230      Ab      Ab
2231  No match  No match
2232      AB      AB
2233  No match  No match
2234    
2235  /[\200-\110]/I  /[\200-\110]/I
# Line 2543  Need char = 'n' Line 2543  Need char = 'n'
2543   0: mainOmain   0: mainOmain
2544   1: main   1: main
2545   2: O   2: O
2546    
2547  /These are all cases where Perl does it differently (nested captures)/I  /These are all cases where Perl does it differently (nested captures)/I
2548  Capturing subpattern count = 1  Capturing subpattern count = 1
2549  No options  No options
# Line 2559  No need char Line 2559  No need char
2559   0: aba   0: aba
2560   1: a   1: a
2561   2: b   2: b
2562    
2563  /^(aa(bb)?)+$/I  /^(aa(bb)?)+$/I
2564  Capturing subpattern count = 2  Capturing subpattern count = 2
2565  Options: anchored  Options: anchored
2566  No first char  No first char
2567  No need char  No need char
2568      aabbaa      aabbaa
2569   0: aabbaa   0: aabbaa
2570   1: aa   1: aa
2571   2: bb   2: bb
2572    
2573  /^(aa|aa(bb))+$/I  /^(aa|aa(bb))+$/I
2574  Capturing subpattern count = 2  Capturing subpattern count = 2
2575  Options: anchored  Options: anchored
2576  No first char  No first char
2577  No need char  No need char
2578      aabbaa      aabbaa
2579   0: aabbaa   0: aabbaa
2580   1: aa   1: aa
2581   2: bb   2: bb
2582    
2583  /^(aa(bb)??)+$/I  /^(aa(bb)??)+$/I
2584  Capturing subpattern count = 2  Capturing subpattern count = 2
2585  Options: anchored  Options: anchored
2586  No first char  No first char
2587  No need char  No need char
2588      aabbaa      aabbaa
2589   0: aabbaa   0: aabbaa
2590   1: aa   1: aa
2591   2: bb   2: bb
2592    
2593  /^(?:aa(bb)?)+$/I  /^(?:aa(bb)?)+$/I
2594  Capturing subpattern count = 1  Capturing subpattern count = 1
2595  Options: anchored  Options: anchored
2596  No first char  No first char
2597  No need char  No need char
2598      aabbaa      aabbaa
2599   0: aabbaa   0: aabbaa
2600   1: bb   1: bb
2601    
2602  /^(aa(b(b))?)+$/I  /^(aa(b(b))?)+$/I
2603  Capturing subpattern count = 3  Capturing subpattern count = 3
2604  Options: anchored  Options: anchored
2605  No first char  No first char
2606  No need char  No need char
2607      aabbaa      aabbaa
2608   0: aabbaa   0: aabbaa
2609   1: aa   1: aa
2610   2: bb   2: bb
# Line 2615  Capturing subpattern count = 2 Line 2615  Capturing subpattern count = 2
2615  Options: anchored  Options: anchored
2616  No first char  No first char
2617  No need char  No need char
2618      aabbaa      aabbaa
2619   0: aabbaa   0: aabbaa
2620   1: bb   1: bb
2621   2: b   2: b
# Line 2625  Capturing subpattern count = 1 Line 2625  Capturing subpattern count = 1
2625  Options: anchored  Options: anchored
2626  No first char  No first char
2627  No need char  No need char
2628      aabbaa      aabbaa
2629   0: aabbaa   0: aabbaa
2630   1: bb   1: bb
2631    
# Line 2634  Capturing subpattern count = 1 Line 2634  Capturing subpattern count = 1
2634  Options: anchored  Options: anchored
2635  No first char  No first char
2636  No need char  No need char
2637      aabbbaa      aabbbaa
2638   0: aabbbaa   0: aabbbaa
2639   1: bbb   1: bbb
2640    
2641  /^(?:aa(b(?:bb))?)+$/I  /^(?:aa(b(?:bb))?)+$/I
2642  Capturing subpattern count = 1  Capturing subpattern count = 1
2643  Options: anchored  Options: anchored
2644  No first char  No first char
2645  No need char  No need char
2646      aabbbaa      aabbbaa
2647   0: aabbbaa   0: aabbbaa
2648   1: bbb   1: bbb
2649    
# Line 2652  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: b   1: b
2658    
# Line 2661  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: bb   1: bb
2667    
# Line 2670  Capturing subpattern count = 3 Line 2670  Capturing subpattern count = 3
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: aa   1: aa
2676   2: bbb   2: bbb
# Line 2681  Capturing subpattern count = 3 Line 2681  Capturing subpattern count = 3
2681  Options: anchored  Options: anchored
2682  No first char  No first char
2683  No need char  No need char
2684      aabbbbaa      aabbbbaa
2685   0: aabbbbaa   0: aabbbbaa
2686   1: aa   1: aa
2687   2: bbbb   2: bbbb
2688   3: bb   3: bb
2689    
2690  /--------------------------------------------------------------------/I  /--------------------------------------------------------------------/I
2691  Capturing subpattern count = 0  Capturing subpattern count = 0
2692  No options  No options
2693  First char = '-'  First char = '-'
2694  Need char = '-'  Need char = '-'
2695    
2696  /#/IxMD  /#/IxMD
2697  Memory allocation (code space): 7  Memory allocation (code space): 7
2698  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2759  Need char = 'b' (caseless) Line 2759  Need char = 'b' (caseless)
2759   0: ab   0: ab
2760      aB      aB
2761   0: aB   0: aB
2762      *** Failers      *** Failers
2763  No match  No match
2764      AB      AB
2765  No match  No match
2766    
2767  /(a(?i)b)/D  /(a(?i)b)/D
# Line 2786  Need char = 'b' (caseless) Line 2786  Need char = 'b' (caseless)
2786      aB      aB
2787   0: aB   0: aB
2788   1: aB   1: aB
2789      *** Failers      *** Failers
2790  No match  No match
2791      AB      AB
2792  No match  No match
2793    
2794  /   (?i)abc/IxD  /   (?i)abc/IxD
2795  ------------------------------------------------------------------  ------------------------------------------------------------------
2796    0   9 Bra 0    0   9 Bra 0
# Line 2892  No need char Line 2892  No need char
2892   0: a   0: a
2893    bca    bca
2894   0: a   0: a
2895    bac    bac
2896   0: a   0: a
2897    
2898  /a\Q\Eb/D  /a\Q\Eb/D
# Line 2938  No need char Line 2938  No need char
2938   0: F   0: F
2939      xxxxx      xxxxx
2940  No match  No match
2941    
2942  /x?+/D  /x?+/D
2943  ------------------------------------------------------------------  ------------------------------------------------------------------
2944    0   5 Bra 0    0   5 Bra 0
# Line 2964  No options Line 2964  No options
2964  First char = 'x'  First char = 'x'
2965  No need char  No need char
2966    
2967  /x{1,3}+/D  /x{1,3}+/D
2968  ------------------------------------------------------------------  ------------------------------------------------------------------
2969    0  15 Bra 0    0  15 Bra 0
2970    3   9 Once    3   9 Once
# Line 3010  No need char Line 3010  No need char
3010  No match  No match
3011      this is not a line with only words and spaces!      this is not a line with only words and spaces!
3012  No match  No match
3013    
3014  /(\d++)(\w)/I  /(\d++)(\w)/I
3015  Capturing subpattern count = 2  Capturing subpattern count = 2
3016  Partial matching not supported  Partial matching not supported
# Line 3023  No need char Line 3023  No need char
3023   2: a   2: a
3024      *** Failers      *** Failers
3025  No match  No match
3026      12345+      12345+
3027  No match  No match
3028    
3029  /a++b/I  /a++b/I
# Line 3064  No need char Line 3064  No need char
3064      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
3065   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
3066   1: x   1: x
3067    
3068  /\(([^()]++|\([^()]+\))+\)/I  /\(([^()]++|\([^()]+\))+\)/I
3069  Capturing subpattern count = 1  Capturing subpattern count = 1
3070  Partial matching not supported  Partial matching not supported
3071  No options  No options
# Line 3079  Need char = ')' Line 3079  Need char = ')'
3079   1: xyz   1: xyz
3080      *** Failers      *** Failers
3081  No match  No match
3082      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3083  No match  No match
3084    
3085  /(abc){1,3}+/D  /(abc){1,3}+/D
# Line 3301  Need char = '>' Line 3301  Need char = '>'
3301   0: <abc <123> hij>   0: <abc <123> hij>
3302      <abc <def> hij>      <abc <def> hij>
3303   0: <def>   0: <def>
3304      <abc<>def>      <abc<>def>
3305   0: <abc<>def>   0: <abc<>def>
3306      <abc<>      <abc<>
3307   0: <>   0: <>
3308      *** Failers      *** Failers
3309  No match  No match
# Line 3352  Partial matching not supported Line 3352  Partial matching not supported
3352  No options  No options
3353  First char at start or follows newline  First char at start or follows newline
3354  No need char  No need char
3355    
3356  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3357  Capturing subpattern count = 1  Capturing subpattern count = 1
3358  Max back reference = 1  Max back reference = 1
# Line 3387  No need char Line 3387  No need char
3387   0: bc123bc   0: bc123bc
3388   1: bc   1: bc
3389   2: bc   2: bc
3390    
3391  /a[b]/I  /a[b]/I
3392  Capturing subpattern count = 0  Capturing subpattern count = 0
3393  No options  No options
# Line 3536  First char at start or follows newline Line 3536  First char at start or follows newline
3536  Need char = 'a'  Need char = 'a'
3537    abcde    abcde
3538   0: a   0: a
3539    xy\nabc    xy\nabc
3540   0: a   0: a
3541    *** Failers    *** Failers
3542  No match  No match
3543    xyabc    xyabc
3544  No match  No match
3545    
3546  /c|abc/I  /c|abc/I
# Line 3572  Need char = 'f' Line 3572  Need char = 'f'
3572  --->abcdef  --->abcdef
3573    0 ^  ^       d    0 ^  ^       d
3574   0: abcdef   0: abcdef
3575      1234abcdef      1234abcdef
3576  --->1234abcdef  --->1234abcdef
3577    0     ^  ^       d    0     ^  ^       d
3578   0: abcdef   0: abcdef
# Line 3580  Need char = 'f' Line 3580  Need char = 'f'
3580  No match  No match
3581      abcxyz      abcxyz
3582  No match  No match
3583      abcxyzf      abcxyzf
3584  --->abcxyzf  --->abcxyzf
3585    0 ^  ^        d    0 ^  ^        d
3586  No match  No match
# Line 3595  Need char = 'f' Line 3595  Need char = 'f'
3595    0    ^  ^       d    0    ^  ^       d
3596    1    ^    ^     f    1    ^    ^     f
3597   0: abcdef   0: abcdef
3598    
3599  /(?C1)\dabc(?C2)def/I  /(?C1)\dabc(?C2)def/I
3600  Capturing subpattern count = 0  Capturing subpattern count = 0
3601  No options  No options
3602  No first char  No first char
# Line 3611  Need char = 'f' Line 3611  Need char = 'f'
3611   0: 4abcdef   0: 4abcdef
3612      *** Failers      *** Failers
3613  No match  No match
3614      abcdef      abcdef
3615  --->abcdef  --->abcdef
3616    1 ^          \d    1 ^          \d
3617    1  ^         \d    1  ^         \d
# Line 3620  No match Line 3620  No match
3620    1     ^      \d    1     ^      \d
3621    1      ^     \d    1      ^     \d
3622  No match  No match
3623    
3624  /(?C255)ab/I  /(?C255)ab/I
3625  Capturing subpattern count = 0  Capturing subpattern count = 0
3626  No options  No options
# Line 3630  Need char = 'b' Line 3630  Need char = 'b'
3630  /(?C256)ab/I  /(?C256)ab/I
3631  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3632    
3633  /(?Cab)xx/I  /(?Cab)xx/I
3634  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3635    
3636  /(?C12vr)x/I  /(?C12vr)x/I
# Line 3659  Need char = 'f' Line 3659  Need char = 'f'
3659    1    ^    ^     f    1    ^    ^     f
3660   0: abcdef   0: abcdef
3661   1: abc   1: abc
3662      123abcdef\C+      123abcdef\C+
3663  Callout 0: last capture = 1  Callout 0: last capture = 1
3664   0: <unset>   0: <unset>
3665   1: abc   1: abc
# Line 3672  Callout 1: last capture = 1 Line 3672  Callout 1: last capture = 1
3672         ^    ^     f         ^    ^     f
3673   0: abcdef   0: abcdef
3674   1: abc   1: abc
3675      123abcdef\C-      123abcdef\C-
3676   0: abcdef   0: abcdef
3677   1: abc   1: abc
3678      *** Failers      *** Failers
3679  No match  No match
3680      123abcdef\C!1      123abcdef\C!1
3681  --->123abcdef  --->123abcdef
3682    0    ^  ^       d    0    ^  ^       d
3683    1    ^    ^     f    1    ^    ^     f
3684  No match  No match
3685    
3686  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3687  Capturing subpattern count = 1  Capturing subpattern count = 1
3688  No options  No options
# Line 3696  No need char Line 3696  No need char
3696    1 ^        ^    )    1 ^        ^    )
3697   0: abcabcabc   0: abcabcabc
3698   1: abc   1: abc
3699      abcabc\C!1!3      abcabc\C!1!3
3700  --->abcabc  --->abcabc
3701    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3702    1 ^  ^       )    1 ^  ^       )
# Line 3707  No need char Line 3707  No need char
3707  --->*** Failers  --->*** Failers
3708    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3709   0:   0:
3710      abcabcabc\C!1!3      abcabcabc\C!1!3
3711  --->abcabcabc  --->abcabcabc
3712    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3713    1 ^  ^          )    1 ^  ^          )
# Line 3741  Callout 0: last capture = 1 Line 3741  Callout 0: last capture = 1
3741      ^     ^    )      ^     ^    )
3742   0: 123456   0: 123456
3743   1: 456   1: 456
3744      123456789\C+      123456789\C+
3745  Callout 0: last capture = -1  Callout 0: last capture = -1
3746   0: <unset>   0: <unset>
3747  --->123456789  --->123456789
# Line 3813  Callout 0: last capture = 1 Line 3813  Callout 0: last capture = 1
3813      ^          a      ^          a
3814   0: abcdef   0: abcdef
3815   1: abc   1: abc
3816    
3817  /(?!(abc)(?C1)d)(?C2)abcxyz/I  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3818  Capturing subpattern count = 1  Capturing subpattern count = 1
3819  No options  No options
3820  First char = 'a'  First char = 'a'
3821  Need char = 'z'  Need char = 'z'
3822      abcxyz\C+      abcxyz\C+
3823  Callout 1: last capture = 1  Callout 1: last capture = 1
3824   0: <unset>   0: <unset>
3825   1: abc   1: abc
# Line 3844  Callout 0: last capture = 1 Line 3844  Callout 0: last capture = 1
3844         ^       )         ^       )
3845   0: xyz   0: xyz
3846   1: abc   1: abc
3847    
3848  /a(b+)(c*)(?C1)/I  /a(b+)(c*)(?C1)/I
3849  Capturing subpattern count = 2  Capturing subpattern count = 2
3850  Partial matching not supported  Partial matching not supported
# Line 3896  Callout data = 1 Line 3896  Callout data = 1
3896    1 ^        ^    1 ^        ^
3897  Callout data = 1  Callout data = 1
3898  No match  No match
3899    
3900  /(?C)abc/I  /(?C)abc/I
3901  Capturing subpattern count = 0  Capturing subpattern count = 0
3902  No options  No options
3903  First char = 'a'  First char = 'a'
# Line 3954  No need char Line 3954  No need char
3954   3: xxab   3: xxab
3955      *** Failers      *** Failers
3956  No match  No match
3957      xyab      xyab
3958  No match  No match
3959    
3960  /(ab|(bc|(de|(?1))))/I  /(ab|(bc|(de|(?1))))/I
# Line 3974  No need char Line 3974  No need char
3974      a(b)c      a(b)c
3975   0: a(b)c   0: a(b)c
3976   1: c   1: c
3977      a(b(c))d      a(b(c))d
3978   0: a(b(c))d   0: a(b(c))d
3979   1: d   1: d
3980      *** Failers)      *** Failers)
3981  No match  No match
3982      a(b(c)d      a(b(c)d
3983  No match  No match
3984    
3985  /^>abc>([^()]|\((?1)*\))*<xyz<$/I  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
# Line 4056  No need char Line 4056  No need char
4056   2: <unset>   2: <unset>
4057   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4058   4: A   4: A
4059      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4060   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4061   1: <unset>   1: <unset>
4062   2: <unset>   2: <unset>
# Line 4064  No need char Line 4064  No need char
4064   4: A   4: A
4065      *** Failers      *** Failers
4066  No match  No match
4067      The quick brown fox      The quick brown fox
4068  No match  No match
4069    
4070  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4071  Capturing subpattern count = 2  Capturing subpattern count = 2
4072  Partial matching not supported  Partial matching not supported
# Line 4087  No need char Line 4087  No need char
4087  No match  No match
4088      ((2+2)*-3)-7)      ((2+2)*-3)-7)
4089  No match  No match
4090    
4091  /^(x(y|(?1){2})z)/I  /^(x(y|(?1){2})z)/I
4092  Capturing subpattern count = 2  Capturing subpattern count = 2
4093  Options: anchored  Options: anchored
# Line 4097  No need char Line 4097  No need char
4097   0: xyz   0: xyz
4098   1: xyz   1: xyz
4099   2: y   2: y
4100      xxyzxyzz      xxyzxyzz
4101   0: xxyzxyzz   0: xxyzxyzz
4102   1: xxyzxyzz   1: xxyzxyzz
4103   2: xyzxyz   2: xyzxyz
# Line 4105  No need char Line 4105  No need char
4105  No match  No match
4106      xxyzz      xxyzz
4107  No match  No match
4108      xxyzxyzxyzz      xxyzxyzxyzz
4109  No match  No match
4110    
4111  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
# Line 4130  Need char = '>' Line 4130  Need char = '>'
4130   0: <def>   0: <def>
4131   1: <def>   1: <def>
4132   2: <def>   2: <def>
4133      <abc<>def>      <abc<>def>
4134   0: <abc<>def>   0: <abc<>def>
4135   1: <abc<>def>   1: <abc<>def>
4136   2: <abc<>def>   2: <abc<>def>
4137      <abc<>      <abc<>
4138   0: <>   0: <>
4139   1: <>   1: <>
4140   2: <>   2: <>
# Line 4169  No need char Line 4169  No need char
4169      a=b      a=b
4170   0: a=b   0: a=b
4171   1: a   1: a
4172      a=bc      a=bc
4173   0: a=bc   0: a=bc
4174   1: a   1: a
4175    
# Line 4186  No need char Line 4186  No need char
4186   0: a=b   0: a=b
4187   1: a   1: a
4188   2: b   2: b
4189      a=bc      a=bc
4190   0: a=bc   0: a=bc
4191   1: a   1: a
4192   2: c   2: c
# Line 4218  Need char = 'e' Line 4218  Need char = 'e'
4218   0: abde   0: abde
4219   1: b   1: b
4220   2: e   2: e
4221      acde      acde
4222   0: acde   0: acde
4223   1: c   1: c
4224   2: e   2: e
# Line 4304  No need char Line 4304  No need char
4304   2: <unset>   2: <unset>
4305   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4306   4: A   4: A
4307      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4308   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4309   1: <unset>   1: <unset>
4310   2: <unset>   2: <unset>
# Line 4312  No need char Line 4312  No need char
4312   4: A   4: A
4313      *** Failers      *** Failers
4314  No match  No match
4315      The quick brown fox      The quick brown fox
4316  No match  No match
4317    
4318  /((?(R)a|b))\1(?1)?/I  /((?(R)a|b))\1(?1)?/I
4319  Capturing subpattern count = 1  Capturing subpattern count = 1
4320  Max back reference = 1  Max back reference = 1
# Line 4324  No need char Line 4324  No need char
4324    bb    bb
4325   0: bb   0: bb
4326   1: b   1: b
4327    bbaa    bbaa
4328   0: bba   0: bba
4329   1: b   1: b
4330    
# Line 4540  Need char = 'h' Line 4540  Need char = 'h'
4540   2: gh   2: gh
4541    C cd (2) one    C cd (2) one
4542    C gh (2) two    C gh (2) two
4543      abcdefgh\Cthree      abcdefgh\Cthree
4544  no parentheses with name "three"  no parentheses with name "three"
4545   0: abcdefgh   0: abcdefgh
4546   1: cd   1: cd
# Line 4623  Need char = ']' Line 4623  Need char = ']'
4623   3: ,4234   3: ,4234
4624      *** Failers      *** Failers
4625  No match  No match
4626      []      []
4627  No match  No match
4628    
4629  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I  "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
# Line 4639  Need char = ']' Line 4639  Need char = ']'
4639   1: 10,20,30,5,5,4,4,2,43,23,4234   1: 10,20,30,5,5,4,4,2,43,23,4234
4640   2: 10   2: 10
4641   3: ,4234   3: ,4234
4642      []      []
4643   0: []   0: []
4644    
4645  /(a(b(?2)c))?/D  /(a(b(?2)c))?/D
# Line 4755  Study returned NULL Line 4755  Study returned NULL
4755       Baby Bjorn Active Carrier - With free SHIPPING!!       Baby Bjorn Active Carrier - With free SHIPPING!!
4756   0: Baby Bjorn Active Carrier - With free SHIPPING!!   0: Baby Bjorn Active Carrier - With free SHIPPING!!
4757   1: Baby Bjorn Active Carrier - With free SHIPPING!!   1: Baby Bjorn Active Carrier - With free SHIPPING!!
4758    
4759  /a*.*b/ISD  /a*.*b/ISD
4760  ------------------------------------------------------------------  ------------------------------------------------------------------
4761    0   9 Bra 0    0   9 Bra 0
# Line 4772  No first char Line 4772  No first char
4772  Need char = 'b'  Need char = 'b'
4773  Study returned NULL  Study returned NULL
4774    
4775  /(a|b)*.?c/ISD  /(a|b)*.?c/ISD
4776  ------------------------------------------------------------------  ------------------------------------------------------------------
4777    0  23 Bra 0    0  23 Bra 0
4778    3     Brazero    3     Brazero
# Line 4838  Need char = 'e' Line 4838  Need char = 'e'
4838   +4 ^   ^     e   +4 ^   ^     e
4839   +5 ^    ^   +5 ^    ^
4840   0: abcde   0: abcde
4841    abcdfe    abcdfe
4842  --->abcdfe  --->abcdfe
4843   +0 ^          a   +0 ^          a
4844   +1 ^^         b   +1 ^^         b
# Line 4846  Need char = 'e' Line 4846  Need char = 'e'
4846   +3 ^  ^       d   +3 ^  ^       d
4847   +4 ^   ^      e   +4 ^   ^      e
4848  No match  No match
4849    
4850  /a*b/ICD  /a*b/ICD
4851  ------------------------------------------------------------------  ------------------------------------------------------------------
4852    0  25 Bra 0    0  25 Bra 0
# Line 4875  Need char = 'b' Line 4875  Need char = 'b'
4875   +2 ^   ^     b   +2 ^   ^     b
4876   +3 ^    ^   +3 ^    ^
4877   0: aaaab   0: aaaab
4878    aaaacb    aaaacb
4879  --->aaaacb  --->aaaacb
4880   +0 ^          a*   +0 ^          a*
4881   +2 ^   ^      b   +2 ^   ^      b
# Line 4920  Need char = 'b' Line 4920  Need char = 'b'
4920   +2 ^   ^     b   +2 ^   ^     b
4921   +3 ^    ^   +3 ^    ^
4922   0: aaaab   0: aaaab
4923    aaaacb    aaaacb
4924  --->aaaacb  --->aaaacb
4925   +0 ^          a+   +0 ^          a+
4926   +2 ^   ^      b   +2 ^   ^      b
# Line 5064  No need char Line 5064  No need char
5064  +12 ^       ^  +12 ^       ^
5065   0: abcdabcd   0: abcdabcd
5066   1: cd   1: cd
5067    abcdcdcdcdcd    abcdcdcdcdcd
5068  --->abcdcdcdcdcd  --->abcdcdcdcdcd
5069   +0 ^                (ab|cd){3,4}   +0 ^                (ab|cd){3,4}
5070   +1 ^                a   +1 ^                a
# Line 5380  No first char Line 5380  No first char
5380  No need char  No need char
5381    ab cd\>1    ab cd\>1
5382   0:  cd   0:  cd
5383    
5384  /\b.*/Is  /\b.*/Is
5385  Capturing subpattern count = 0  Capturing subpattern count = 0
5386  Partial matching not supported  Partial matching not supported
5387  Options: dotall  Options: dotall
# Line 5389  No first char Line 5389  No first char
5389  No need char  No need char
5390    ab cd\>1    ab cd\>1
5391   0:  cd   0:  cd
5392    
5393  /(?!.bcd).*/I  /(?!.bcd).*/I
5394  Capturing subpattern count = 0  Capturing subpattern count = 0
5395  Partial matching not supported  Partial matching not supported
5396  No options  No options
5397  No first char  No first char
5398  No need char  No need char
5399    Xbcd12345    Xbcd12345
5400   0: bcd12345   0: bcd12345
5401    
5402  /abcde/I  /abcde/I
# Line 5410  Partial match Line 5410  Partial match
5410  Partial match  Partial match
5411      abcd\P      abcd\P
5412  Partial match  Partial match
5413      abcde\P      abcde\P
5414   0: abcde   0: abcde
5415      the quick brown abc\P      the quick brown abc\P
5416  Partial match  Partial match
# Line 5418  Partial match Line 5418  Partial match
5418  No match  No match
5419      the quick brown abxyz fox\P      the quick brown abxyz fox\P
5420  No match  No match
5421    
5422  "^(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
5423  Capturing subpattern count = 3  Capturing subpattern count = 3
5424  Options: anchored  Options: anchored
# Line 5433  Need char = '/' Line 5433  Need char = '/'
5433   1: 13   1: 13
5434   2: 5   2: 5
5435   3: 20   3: 20
5436      02/05/09\P      02/05/09\P
5437   0: 02/05/09   0: 02/05/09
5438   1: 02   1: 02
5439   2: 05   2: 05
# Line 5443  Partial match Line 5443  Partial match
5443  Partial match  Partial match
5444      1/2/0\P      1/2/0\P
5445  Partial match  Partial match
5446      1/2/04\P      1/2/04\P
5447   0: 1/2/04   0: 1/2/04
5448   1: 1   1: 1
5449   2: 2   2: 2
# Line 5451  Partial match Line 5451  Partial match
5451  Partial match  Partial match
5452      02/\P      02/\P
5453  Partial match  Partial match
5454      02/0\P      02/0\P
5455  Partial match  Partial match
5456      02/1\P      02/1\P
5457  Partial match  Partial match
# Line 5467  No match Line 5467  No match
5467  No match  No match
5468      0/1/2003\P      0/1/2003\P
5469  No match  No match
5470      0/\P      0/\P
5471  No match  No match
5472      02/0/\P      02/0/\P
5473  No match  No match
5474      02/13\P      02/13\P
5475  No match  No match
5476    
5477  /0{0,2}ABC/I  /0{0,2}ABC/I
# Line 5480  Partial matching not supported Line 5480  Partial matching not supported
5480  No options  No options
5481  No first char  No first char
5482  Need char = 'C'  Need char = 'C'
5483    
5484  /\d{3,}ABC/I  /\d{3,}ABC/I
5485  Capturing subpattern count = 0  Capturing subpattern count = 0
5486  Partial matching not supported  Partial matching not supported
5487  No options  No options
5488  No first char  No first char
5489  Need char = 'C'  Need char = 'C'
5490    
5491  /\d*ABC/I  /\d*ABC/I
5492  Capturing subpattern count = 0  Capturing subpattern count = 0
5493  Partial matching not supported  Partial matching not supported
# Line 5517  Partial match Line 5517  Partial match
5517  Partial match  Partial match
5518      c12\P      c12\P
5519  Partial match  Partial match
5520      c123\P      c123\P
5521   0: c123   0: c123
5522    
5523  /^(?:\d){3,5}X/I  /^(?:\d){3,5}X/I
# Line 5537  Partial match Line 5537  Partial match
5537   0: 1234X   0: 1234X
5538      12345\P      12345\P
5539  Partial match  Partial match
5540      12345X      12345X
5541   0: 12345X   0: 12345X
5542      *** Failers      *** Failers
5543  No match  No match
5544      1X      1X
5545  No match  No match
5546      123456\P      123456\P
5547  No match  No match
5548    
5549  /abc/I>testsavedregex  /abc/I>testsavedregex
# Line 5561  No study data Line 5561  No study data
5561  No match  No match
5562      bca      bca
5563  No match  No match
5564    
5565  /abc/IF>testsavedregex  /abc/IF>testsavedregex
5566  Capturing subpattern count = 0  Capturing subpattern count = 0
5567  No options  No options
# Line 5595  Study data loaded from testsavedregex Line 5595  Study data loaded from testsavedregex
5595      ** Failers      ** Failers
5596   0: a   0: a
5597   1: a   1: a
5598      def      def
5599  No match  No match
5600    
5601  /(a|b)/ISF>testsavedregex  /(a|b)/ISF>testsavedregex
5602  Capturing subpattern count = 1  Capturing subpattern count = 1
5603  No options  No options
# Line 5615  Study data loaded from testsavedregex Line 5615  Study data loaded from testsavedregex
5615      ** Failers      ** Failers
5616   0: a   0: a
5617   1: a   1: a
5618      def      def
5619  No match  No match
5620    
5621  ~<(\w+)/?>(.)*</(\1)>~smgI  ~<(\w+)/?>(.)*</(\1)>~smgI
5622  Capturing subpattern count = 3  Capturing subpattern count = 3
5623  Max back reference = 1  Max back reference = 1
# Line 5644  First char = 'l' Line 5644  First char = 'l'
5644  Need char = 'k'  Need char = 'k'
5645      this is a line\nbreak      this is a line\nbreak
5646   0: line\x0abreak   0: line\x0abreak
5647      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5648   0: line\x0abreak   0: line\x0abreak
5649    
5650  /line\nbreak/If  /line\nbreak/If
# Line 5654  First char = 'l' Line 5654  First char = 'l'
5654  Need char = 'k'  Need char = 'k'
5655      this is a line\nbreak      this is a line\nbreak
5656   0: line\x0abreak   0: line\x0abreak
5657      ** Failers      ** Failers
5658  No match  No match
5659      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5660  No match  No match
5661    
5662  /line\nbreak/Imf  /line\nbreak/Imf
# Line 5666  First char = 'l' Line 5666  First char = 'l'
5666  Need char = 'k'  Need char = 'k'
5667      this is a line\nbreak      this is a line\nbreak
5668   0: line\x0abreak   0: line\x0abreak
5669      ** Failers      ** Failers
5670  No match  No match
5671      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
5672  No match  No match
5673    
5674  /ab.cd/IP  /ab.cd/IP
5675      ab-cd      ab-cd
5676   0: ab-cd   0: ab-cd
5677      ab=cd      ab=cd
5678   0: ab=cd   0: ab=cd
5679      ** Failers      ** Failers
5680  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
# Line 5684  No match: POSIX code 17: match failed Line 5684  No match: POSIX code 17: match failed
5684  /ab.cd/IPs  /ab.cd/IPs
5685      ab-cd      ab-cd
5686   0: ab-cd   0: ab-cd
5687      ab=cd      ab=cd
5688   0: ab=cd   0: ab=cd
5689      ab\ncd      ab\ncd
5690   0: ab\x0acd   0: ab\x0acd
# Line 5698  Need char = 'd' Line 5698  Need char = 'd'
5698   0: AbCd   0: AbCd
5699      ** Failers      ** Failers
5700  No match  No match
5701      abcd      abcd
5702  No match  No match
5703    
5704  /a{11111111111111111111}/I  /a{11111111111111111111}/I
5705  Failed: number too big in {} quantifier at offset 22  Failed: number too big in {} quantifier at offset 22
5706    
# Line 5931  No first char Line 5931  No first char
5931  No need char  No need char
5932      (this(and)that      (this(and)that
5933   0:   0:
5934      (this(and)that)      (this(and)that)
5935   0: (this(and)that)   0: (this(and)that)
5936      (this(and)that)stuff      (this(and)that)stuff
5937   0: (this(and)that)stuff   0: (this(and)that)stuff
# Line 5944  No first char Line 5944  No first char
5944  No need char  No need char
5945      (this(and)that      (this(and)that
5946   0:   0:
5947      (this(and)that)      (this(and)that)
5948   0: (this(and)that)   0: (this(and)that)
5949    
5950  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
5951  Capturing subpattern count = 0  Capturing subpattern count = 0
5952  Partial matching not supported  Partial matching not supported
# Line 5955  No first char Line 5955  No first char
5955  No need char  No need char
5956      (this(and)that      (this(and)that
5957   0:   0:
5958      (this(and)that)      (this(and)that)
5959   0: (this(and)that)   0: (this(and)that)
5960    
5961  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
# Line 5966  No first char Line 5966  No first char
5966  No need char  No need char
5967      (this(and)that      (this(and)that
5968   0:   0:
5969      (this(and)that)      (this(and)that)
5970   0:   0:
5971      ((this))      ((this))
5972   0: ((this))   0: ((this))
5973    
5974  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
# Line 5979  No first char Line 5979  No first char
5979  No need char  No need char
5980      (this(and)that      (this(and)that
5981   0:   0:
5982      (this(and)that)      (this(and)that)
5983   0:   0:
5984      (this)      (this)
5985   0: (this)   0: (this)
5986      ((this))      ((this))
5987   0: ((this))   0: ((this))
5988    
5989  /a(b)c/IPN  /a(b)c/IPN
5990      abc      abc
5991  Matched with REG_NOSUB  Matched with REG_NOSUB
5992    
5993  /a(?P<name>b)c/IPN  /a(?P<name>b)c/IPN
5994      abc      abc
5995  Matched with REG_NOSUB  Matched with REG_NOSUB
5996    
5997  /\x{100}/I  /\x{100}/I
5998  Failed: character value in \x{...} sequence is too large at offset 6  Failed: character value in \x{...} sequence is too large at offset 6
5999    
6000  /\x{0000ff}/I  /\x{0000ff}/I
# Line 6019  No need char Line 6019  No need char
6019   1: a1   1: a1
6020   2: a1   2: a1
6021    C a1 (2) A    C a1 (2) A
6022      a2b\CA      a2b\CA
6023   0: a2b   0: a2b
6024   1: a2b   1: a2b
6025   2: <unset>   2: <unset>
# Line 6027  No need char Line 6027  No need char
6027    C a2 (2) A    C a2 (2) A
6028      ** Failers      ** Failers
6029  No match  No match
6030      a1b\CZ\CA      a1b\CZ\CA
6031  no parentheses with name "Z"  no parentheses with name "Z"
6032   0: a1   0: a1
6033   1: a1   1: a1
6034   2: a1   2: a1
6035  copy substring Z failed -7  copy substring Z failed -7
6036    C a1 (2) A    C a1 (2) A
6037    
6038  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6039  Capturing subpattern count = 2  Capturing subpattern count = 2
6040  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6048  No need char Line 6048  No need char
6048   1: a   1: a
6049   2: b   2: b
6050    C a (1) A    C a (1) A
6051    
6052  /^(?P<A>a)(?P<A>b)|cd/IJ  /^(?P<A>a)(?P<A>b)|cd/IJ
6053  Capturing subpattern count = 2  Capturing subpattern count = 2
6054  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6062  No need char Line 6062  No need char
6062   1: a   1: a
6063   2: b   2: b
6064    C a (1) A    C a (1) A
6065      cd\CA      cd\CA
6066   0: cd   0: cd
6067  copy substring A failed -7  copy substring A failed -7
6068    
6069  /^(?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
6070  Capturing subpattern count = 4  Capturing subpattern count = 4
6071  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6076  Named capturing subpatterns: Line 6076  Named capturing subpatterns:
6076  Options: dupnames  Options: dupnames
6077  No first char  No first char
6078  No need char  No need char
6079      cdefgh\CA      cdefgh\CA
6080   0: cdefgh   0: cdefgh
6081   1: <unset>   1: <unset>
6082   2: <unset>   2: <unset>
6083   3: ef   3: ef
6084   4: gh   4: gh
6085    C ef (2) A    C ef (2) A
6086    
6087  /^((?P<A>a1)|(?P<A>a2)b)/IJ  /^((?P<A>a1)|(?P<A>a2)b)/IJ
6088  Capturing subpattern count = 3  Capturing subpattern count = 3
6089  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6097  No need char Line 6097  No need char
6097   1: a1   1: a1
6098   2: a1   2: a1
6099    G a1 (2) A    G a1 (2) A
6100      a2b\GA      a2b\GA
6101   0: a2b   0: a2b
6102   1: a2b   1: a2b
6103   2: <unset>   2: <unset>
# Line 6105  No need char Line 6105  No need char
6105    G a2 (2) A    G a2 (2) A
6106      ** Failers      ** Failers
6107  No match  No match
6108      a1b\GZ\GA      a1b\GZ\GA
6109  no parentheses with name "Z"  no parentheses with name "Z"
6110   0: a1   0: a1
6111   1: a1   1: a1
6112   2: a1   2: a1
6113  copy substring Z failed -7  copy substring Z failed -7
6114    G a1 (2) A    G a1 (2) A
6115    
6116  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6117  Capturing subpattern count = 2  Capturing subpattern count = 2
6118  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6126  No need char Line 6126  No need char
6126   1: a   1: a
6127   2: b   2: b
6128    G a (1) A    G a (1) A
6129    
6130  /^(?P<A>a)(?P<A>b)|cd/IJ  /^(?P<A>a)(?P<A>b)|cd/IJ
6131  Capturing subpattern count = 2  Capturing subpattern count = 2
6132  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6140  No need char Line 6140  No need char
6140   1: a   1: a
6141   2: b   2: b
6142    G a (1) A    G a (1) A
6143      cd\GA      cd\GA
6144   0: cd   0: cd
6145  copy substring A failed -7  copy substring A failed -7
6146    
6147  /^(?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
6148  Capturing subpattern count = 4  Capturing subpattern count = 4
6149  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6154  Named capturing subpatterns: Line 6154  Named capturing subpatterns:
6154  Options: dupnames  Options: dupnames
6155  No first char  No first char
6156  No need char  No need char
6157      cdefgh\GA      cdefgh\GA
6158   0: cdefgh   0: cdefgh
6159   1: <unset>   1: <unset>
6160   2: <unset>   2: <unset>
6161   3: ef   3: ef
6162   4: gh   4: gh
6163    G ef (2) A    G ef (2) A
6164    
6165  /(?J)^((?P<A>a1)|(?P<A>a2)b)/I  /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
6166  Capturing subpattern count = 3  Capturing subpattern count = 3
6167  Named capturing subpatterns:  Named capturing subpatterns:
# Line 6175  No need char Line 6175  No need char
6175   1: a1   1: a1
6176   2: a1   2: a1
6177    C a1 (2) A    C a1 (2) A
6178      a2b\CA      a2b\CA
6179   0: a2b   0: a2b
6180   1: a2b   1: a2b
6181   2: <unset>   2: <unset>
6182   3: a2   3: a2
6183    C a2 (2) A    C a2 (2) A
6184    
6185  /^(?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
6186  Failed: two named subpatterns have the same name at offset 37  Failed: two named subpatterns have the same name at offset 37
6187    
6188  / 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
6189  set in the pattern's options; consequently pcre_get_named_substring() produces  set in the pattern's options; consequently pcre_get_named_substring() produces
6190  a random value. /Ix  a random value. /Ix
6191  Capturing subpattern count = 1  Capturing subpattern count = 1
6192  Options: extended  Options: extended
# Line 6227  No need char Line 6227  No need char
6227   0: b   0: b
6228      ** Failers      ** Failers
6229  No match  No match
6230      abc      abc
6231  No match  No match
6232    
6233  /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I  /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
# Line 6283  No need char Line 6283  No need char
6283      bXXaYYaY      bXXaYYaY
6284   0: bXXaYYaY   0: bXXaYYaY
6285   1: Y   1: Y
6286      bXYaXXaX      bXYaXXaX
6287   0: bX   0: bX
6288   1: X   1: X
6289    
# Line 6320  Need char = ',' Line 6320  Need char = ','
6320  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,
6321      \x0b,\x0b      \x0b,\x0b
6322   0: ,   0: ,
6323      \x0c,\x0d      \x0c,\x0d
6324   0: \x0c,\x0d   0: \x0c,\x0d
6325    
6326  /^abc/Im  /^abc/Im
# Line 6338  Need char = 'c' Line 6338  Need char = 'c'
6338   0: abc   0: abc
6339      xyz\r\nabc\<crlf>      xyz\r\nabc\<crlf>
6340   0: abc   0: abc
6341      ** Failers      ** Failers
6342  No match  No match
6343      xyz\nabc\<cr>      xyz\nabc\<cr>
6344  No match  No match
# Line 6350  No match Line 6350  No match
6350  No match  No match
6351      xyz\rabc\<lf>      xyz\rabc\<lf>
6352  No match  No match
6353    
6354  /abc$/Im<lf>  /abc$/Im<lf>
6355  Capturing subpattern count = 0  Capturing subpattern count = 0
6356  Options: multiline  Options: multiline
# Line 6359  First char = 'a' Line 6359  First char = 'a'
6359  Need char = 'c'  Need char = 'c'
6360      xyzabc      xyzabc
6361   0: abc   0: abc
6362      xyzabc\n      xyzabc\n
6363   0: abc   0: abc
6364      xyzabc\npqr      xyzabc\npqr
6365   0: abc   0: abc
6366      xyzabc\r\<cr>      xyzabc\r\<cr>
6367   0: abc   0: abc
6368      xyzabc\rpqr\<cr>      xyzabc\rpqr\<cr>
6369   0: abc   0: abc
6370      xyzabc\r\n\<crlf>      xyzabc\r\n\<crlf>
6371   0: abc   0: abc
6372      xyzabc\r\npqr\<crlf>      xyzabc\r\npqr\<crlf>
6373   0: abc   0: abc
6374      ** Failers      ** Failers
6375  No match  No match
6376      xyzabc\r      xyzabc\r
6377  No match  No match
6378      xyzabc\rpqr      xyzabc\rpqr
6379  No match  No match
6380      xyzabc\r\n      xyzabc\r\n
6381  No match  No match
6382      xyzabc\r\npqr      xyzabc\r\npqr
6383  No match  No match
6384    
6385  /^abc/Im<cr>  /^abc/Im<cr>
6386  Capturing subpattern count = 0  Capturing subpattern count = 0
6387  Options: multiline  Options: multiline
# Line 6392  Need char = 'c' Line 6392  Need char = 'c'
6392   0: abc   0: abc
6393      xyz\nabcdef\<lf>      xyz\nabcdef\<lf>
6394   0: abc   0: abc
6395      ** Failers      ** Failers
6396  No match  No match
6397      xyz\nabcdef      xyz\nabcdef
6398  No match  No match
6399    
6400  /^abc/Im<lf>  /^abc/Im<lf>
6401  Capturing subpattern count = 0  Capturing subpattern count = 0
6402  Options: multiline  Options: multiline
# Line 6407  Need char = 'c' Line 6407  Need char = 'c'
6407   0: abc   0: abc
6408      xyz\rabcdef\<cr>      xyz\rabcdef\<cr>
6409   0: abc   0: abc
6410      ** Failers      ** Failers
6411  No match  No match
6412      xyz\rabcdef      xyz\rabcdef
6413  No match  No match
6414    
6415  /^abc/Im<crlf>  /^abc/Im<crlf>
6416  Capturing subpattern count = 0  Capturing subpattern count = 0
6417  Options: multiline  Options: multiline
# Line 6422  Need char = 'c' Line 6422  Need char = 'c'
6422   0: abc   0: abc
6423      xyz\rabcdef\<cr>      xyz\rabcdef\<cr>
6424   0: abc   0: abc
6425      ** Failers      ** Failers
6426  No match  No match
6427      xyz\rabcdef      xyz\rabcdef
6428  No match  No match
6429    
6430  /^abc/Im<bad>  /^abc/Im<bad>
6431  Unknown newline type at: <bad>  Unknown newline type at: <bad>
6432    
# Line 6438  First char = 'a' Line 6438  First char = 'a'
6438  Need char = 'c'  Need char = 'c'
6439      xyz\rabc\<bad>      xyz\rabc\<bad>
6440  Unknown newline type at: <bad>  Unknown newline type at: <bad>
6441      abc      abc
6442   0: abc   0: abc
6443    
6444  /.*/I<lf>  /.*/I<lf>
6445  Capturing subpattern count = 0  Capturing subpattern count = 0
6446  Partial matching not supported  Partial matching not supported
# Line 6514  Capturing subpattern count = 102 Line 6514  Capturing subpattern count = 102
6514  Options: extended  Options: extended
6515  No first char  No first char
6516  No need char  No need char
6517      XY\O400      XY\O400
6518   0: XY   0: XY
6519   1:   1:
6520   2:   2:
# Line 6736  Need char = 'A' Line 6736  Need char = 'A'
6736   0: aaaA5   0: aaaA5
6737      ** Failers      ** Failers
6738  No match  No match
6739      aaaa5      aaaa5
6740  No match  No match
6741    
6742  /^a*A\d/IiD  /^a*A\d/IiD
# Line 6797  Starting byte set: a b Line 6797  Starting byte set: a b
6797   a   a
6798   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6799   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))   ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
6800   )))   )))
6801  /Ix  /Ix
6802  Capturing subpattern count = 203  Capturing subpattern count = 203
6803  Options: extended  Options: extended
6804  First char = 'a'  First char = 'a'
# Line 7463  Failed: unrecognized character after (?P Line 7463  Failed: unrecognized character after (?P
7463   1: X   1: X
7464      ** Failers      ** Failers
7465  No match  No match
7466      aXaX      aXaX
7467  No match  No match
7468      aXbX      aXbX
7469  No match  No match
7470    
7471  /^(?P>abc)(?<abcd>xxx)/  /^(?P>abc)(?<abcd>xxx)/
# Line 7481  Failed: reference to non-existent subpat Line 7481  Failed: reference to non-existent subpat
7481      yy      yy
7482   0: yy   0: yy
7483   1: y   1: y
7484      yx      yx
7485   0: yx   0: yx
7486   1: x   1: x
7487    
# Line 7495  Failed: reference to non-existent subpat Line 7495  Failed: reference to non-existent subpat
7495      yy      yy
7496   0: yy   0: yy
7497   1: y   1: y
7498      yx      yx
7499   0: yx   0: yx
7500   1: x   1: x
7501    
# Line 7504  Failed: reference to non-existent subpat Line 7504  Failed: reference to non-existent subpat
7504   0: bxay   0: bxay
7505   1: ay   1: ay
7506   2: y   2: y
7507      bxby      bxby
7508   0: bx   0: bx
7509   1: bx   1: bx
7510   2: x   2: x
7511      ** Failers      ** Failers
7512  No match  No match
7513      axby      axby
7514  No match  No match
7515    
7516  /^(((?P=abc)|X)(?<abc>x|y))+/  /^(((?P=abc)|X)(?<abc>x|y))+/
# Line 7531  No match Line 7531  No match
7531   3: y   3: y
7532      ** Failers      ** Failers
7533  No match  No match
7534      x      x
7535  No match  No match
7536    
7537  /^(?1)(abc)/  /^(?1)(abc)/
# Line 7543  No match Line 7543  No match
7543      Xaaa      Xaaa
7544   0: Xaaa   0: Xaaa
7545   1: a   1: a
7546      Xaba      Xaba
7547   0: Xa   0: Xa
7548   1: a   1: a
7549    
# Line 7555  No match Line 7555  No match
7555   38  38 Ket   38  38 Ket
7556   41     End   41     End
7557  ------------------------------------------------------------------  ------------------------------------------------------------------
7558    
7559  /^[a\Q]bc\E]/B  /^[a\Q]bc\E]/B
7560  ------------------------------------------------------------------  ------------------------------------------------------------------
7561    0  37 Bra 0    0  37 Bra 0
# Line 7564  No match Line 7564  No match
7564   37  37 Ket   37  37 Ket
7565   40     End   40     End
7566  ------------------------------------------------------------------  ------------------------------------------------------------------
7567    
7568  /^[a-\Q\E]/B  /^[a-\Q\E]/B
7569  ------------------------------------------------------------------  ------------------------------------------------------------------
7570    0  37 Bra 0    0  37 Bra 0
# Line 7609  No match Line 7609  No match
7609   0: (xy)x   0: (xy)x
7610   1: y)x   1: y)x
7611   2: x   2: x
7612    
7613  /^(?P>abc)\Q()\E(?<abc>)/B  /^(?P>abc)\Q()\E(?<abc>)/B
7614  ------------------------------------------------------------------  ------------------------------------------------------------------
7615    0  25 Bra 0    0  25 Bra 0
7616    3     ^    3     ^
# Line 7624  No match Line 7624  No match
7624   28     End   28     End
7625  ------------------------------------------------------------------  ------------------------------------------------------------------
7626    
7627  /^(?P>abc)[a\Q(]\E(](?<abc>)/B  /^(?P>abc)[a\Q(]\E(](?<abc>)/B
7628  ------------------------------------------------------------------  ------------------------------------------------------------------
7629    0  54 Bra 0    0  54 Bra 0
7630    3     ^    3     ^
# Line 7639  No match Line 7639  No match
7639  ------------------------------------------------------------------  ------------------------------------------------------------------
7640    
7641  /^(?P>abc) # this is (a comment)  /^(?P>abc) # this is (a comment)
7642    (?<abc>)/Bx    (?<abc>)/Bx
7643  ------------------------------------------------------------------  ------------------------------------------------------------------
7644    0  21 Bra 0    0  21 Bra 0
7645    3     ^    3     ^
# Line 7680  No need char Line 7680  No need char
7680   2: <unset>   2: <unset>
7681   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
7682   4: A   4: A
7683      Able was I ere I saw Elba.      Able was I ere I saw Elba.
7684   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
7685   1: <unset>   1: <unset>
7686   2: <unset>   2: <unset>
# Line 7688  No need char Line 7688  No need char
7688   4: A   4: A
7689      *** Failers      *** Failers
7690  No match  No match
7691      The quick brown fox      The quick brown fox
7692  No match  No match
7693    
7694  /(?=(\w+))\1:/I  /(?=(\w+))\1:/I
7695  Capturing subpattern count = 1  Capturing subpattern count = 1
7696  Max back reference = 1  Max back reference = 1
# Line 7724  Need char = ':' Line 7724  Need char = ':'
7724   1: ab   1: ab
7725      ** Failers      ** Failers
7726  No match  No match
7727      a:axyz      a:axyz
7728  No match  No match
7729      ab:abxyz      ab:abxyz
7730  No match  No match
7731    
7732  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
# Line 7738  No match Line 7738  No match
7738  No match  No match
7739      addd      addd
7740  No match  No match
7741      adbb      adbb
7742  No match  No match
7743    
7744  /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J  /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
# Line 7752  No match Line 7752  No match
7752   2: d   2: d
7753      ** Failers      ** Failers
7754  No match  No match
7755      bddd      bddd
7756  No match  No match
7757    
7758  /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x
7759      abd      abd
7760   0: abd   0: abd
7761   1: a   1: a
7762      ce      ce
7763   0: ce   0: ce
7764    
7765  /(?(<bc))/  /(?(<bc))/
7766  Failed: malformed number or name after (?( at offset 6  Failed: malformed number or name after (?( at offset 6
7767    
7768  /(?(''))/  /(?(''))/
7769  Failed: assertion expected after (?( at offset 4  Failed: assertion expected after (?( at offset 4
7770    
7771  /(?('R')stuff)/  /(?('R')stuff)/
# Line 7797  Failed: reference to non-existent subpat Line 7797  Failed: reference to non-existent subpat
7797   0: ab   0: ab
7798   1: <unset>   1: <unset>
7799   2: <unset>   2: <unset>
7800    
7801  /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))  /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))
7802    (?(DEFINE)    (?(DEFINE)
7803    (?<NAME_PAT>[a-z]+)    (?<NAME_PAT>[a-z]+)
# Line 7809  Failed: reference to non-existent subpat Line 7809  Failed: reference to non-existent subpat
7809   2: 33   2: 33
7810   3: <unset>   3: <unset>
7811   4: <unset>   4: <unset>
7812    
7813  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
7814  Failed: DEFINE group contains more than one branch at offset 22  Failed: DEFINE group contains more than one branch at offset 22
7815    
# Line 7831  Matched, but too many substrings Line 7831  Matched, but too many substrings
7831  /^a.b/<lf>  /^a.b/<lf>
7832      a\rb      a\rb
7833   0: a\x0db   0: a\x0db
7834      a\nb\<cr>      a\nb\<cr>
7835   0: a\x0ab   0: a\x0ab
7836      ** Failers      ** Failers
7837  No match  No match
# Line 7839  No match Line 7839  No match
7839  No match  No match
7840      a\nb\<any>      a\nb\<any>
7841  No match  No match
7842      a\rb\<cr>      a\rb\<cr>
7843  No match  No match
7844      a\rb\<any>      a\rb\<any>
7845  No match  No match
7846    
7847  /^abc./mgx<any>  /^abc./mgx<any>
# Line 7881  Failed: inconsistent NEWLINE options at Line 7881  Failed: inconsistent NEWLINE options at
7881   0: a\x0bb   0: a\x0bb
7882      a\x0cb      a\x0cb
7883   0: a\x0cb   0: a\x0cb
7884      a\x85b      a\x85b
7885   0: a\x85b   0: a\x85b
7886      ** Failers      ** Failers
7887  No match  No match
7888      a\n\rb      a\n\rb
7889  No match  No match
7890    
7891  /^a\R*b/  /^a\R*b/
# Line 7901  No match Line 7901  No match
7901   0: a\x0bb   0: a\x0bb
7902      a\x0cb      a\x0cb
7903   0: a\x0cb   0: a\x0cb
7904      a\x85b      a\x85b
7905   0: a\x85b   0: a\x85b
7906      a\n\rb      a\n\rb
7907   0: a\x0a\x0db   0: a\x0a\x0db
7908      a\n\r\x85\x0cb      a\n\r\x85\x0cb
7909   0: a\x0a\x0d\x85\x0cb   0: a\x0a\x0d\x85\x0cb
7910    
7911  /^a\R+b/  /^a\R+b/
# Line 7919  No match Line 7919  No match
7919   0: a\x0bb   0: a\x0bb
7920      a\x0cb      a\x0cb
7921   0: a\x0cb   0: a\x0cb
7922      a\x85b      a\x85b
7923   0: a\x85b   0: a\x85b
7924      a\n\rb      a\n\rb
7925   0: a\x0a\x0db   0: a\x0a\x0db
7926      a\n\r\x85\x0cb      a\n\r\x85\x0cb
7927   0: a\x0a\x0d\x85\x0cb   0: a\x0a\x0d\x85\x0cb
7928      ** Failers      ** Failers
7929  No match  No match
7930      ab      ab
7931  No match  No match
7932    
7933  /^a\R{1,3}b/  /^a\R{1,3}b/
7934      a\nb      a\nb
7935   0: a\x0ab   0: a\x0ab
# Line 7937  No match Line 7937  No match
7937   0: a\x0a\x0db   0: a\x0a\x0db
7938      a\n\r\x85b      a\n\r\x85b
7939   0: a\x0a\x0d\x85b   0: a\x0a\x0d\x85b
7940      a\r\n\r\nb      a\r\n\r\nb
7941   0: a\x0d\x0a\x0d\x0ab   0: a\x0d\x0a\x0d\x0ab
7942      a\r\n\r\n\r\nb      a\r\n\r\n\r\nb
7943   0: a\x0d\x0a\x0d\x0a\x0d\x0ab   0: a\x0d\x0a\x0d\x0a\x0d\x0ab
7944      a\n\r\n\rb      a\n\r\n\rb
7945   0: a\x0a\x0d\x0a\x0db   0: a\x0a\x0d\x0a\x0db
7946      a\n\n\r\nb      a\n\n\r\nb
7947   0: a\x0a\x0a\x0d\x0ab   0: a\x0a\x0a\x0d\x0ab
7948      ** Failers      ** Failers
7949  No match  No match
# Line 7957  No match Line 7957  No match
7957   0: aRb   0: aRb
7958      ** Failers      ** Failers
7959  No match  No match
7960      a\nb      a\nb
7961  No match  No match
7962    
7963  /(?&abc)X(?<abc>P)/I  /(?&abc)X(?<abc>P)/I
# Line 7999  Need char = 'P' Line 7999  Need char = 'P'
7999  No match  No match
8000      10.6      10.6
8001  No match  No match
8002      455.3.4.5      455.3.4.5
8003  No match  No match
8004    
8005  /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/  /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/
# Line 8019  No match Line 8019  No match
8019  No match  No match
8020      10.6      10.6
8021  No match  No match
8022      455.3.4.5      455.3.4.5
8023  No match  No match
8024    
8025  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
8026      123axbaxbaxbx456      123axbaxbaxbx456
8027   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8029  No match Line 8029  No match
8029      123axbaxbaxb456      123axbaxbaxb456
8030   0: x   0: x
8031   1: x   1: x
8032    
8033  /(?:a(?&abc)b){1,5}(?<abc>x)/  /(?:a(?&abc)b){1,5}(?<abc>x)/
8034      123axbaxbaxbx456      123axbaxbaxbx456
8035   0: axbaxbaxbx   0: axbaxbaxbx
# Line 8091  No match Line 8091  No match
8091  /.+foo/  /.+foo/
8092      afoo      afoo
8093   0: afoo   0: afoo
8094      ** Failers      ** Failers
8095  No match  No match
8096      \r\nfoo      \r\nfoo
8097  No match  No match
8098      \nfoo      \nfoo
8099  No match  No match
8100    
8101  /.+foo/<crlf>  /.+foo/<crlf>
8102      afoo      afoo
8103   0: afoo   0: afoo
8104      \nfoo      \nfoo
8105   0: \x0afoo   0: \x0afoo
8106      ** Failers      ** Failers
8107  No match  No match
8108      \r\nfoo      \r\nfoo
8109  No match  No match
8110    
8111  /.+foo/<any>  /.+foo/<any>
8112      afoo      afoo
8113   0: afoo   0: afoo
8114      ** Failers      ** Failers
8115  No match  No match
8116      \nfoo      \nfoo
8117  No match  No match
8118      \r\nfoo      \r\nfoo
8119  No match  No match
8120    
8121  /.+foo/s  /.+foo/s
8122      afoo      afoo
8123   0: afoo   0: afoo
8124      \r\nfoo      \r\nfoo
8125   0: \x0d\x0afoo   0: \x0d\x0afoo
8126      \nfoo      \nfoo
8127   0: \x0afoo   0: \x0afoo
8128    
8129  / End of testinput2 /  / End of testinput2 /

Legend:
Removed from v.96  
changed lines
  Added in v.102

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12