/[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 937 by ph10, Sun Feb 26 15:58:56 2012 UTC revision 1359 by ph10, Tue Sep 3 10:10:59 2013 UTC
# Line 10  Line 10 
10    
11  /(a)b|/I  /(a)b|/I
12  Capturing subpattern count = 1  Capturing subpattern count = 1
13    May match empty string
14  No options  No options
15  No first char  No first char
16  No need char  No need char
# Line 448  Need char = '=' Line 449  Need char = '='
449    
450  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
451  Capturing subpattern count = 0  Capturing subpattern count = 0
452    Max lookbehind = 6
453  No options  No options
454  First char = 'f'  First char = 'f'
455  Need char = 'o'  Need char = 'o'
 Max lookbehind = 6  
456      foo      foo
457   0: foo   0: foo
458      catfoo      catfoo
# Line 498  No need char Line 499  No need char
499    
500  /(?s).*/I  /(?s).*/I
501  Capturing subpattern count = 0  Capturing subpattern count = 0
502    May match empty string
503  Options: anchored dotall  Options: anchored dotall
504  No first char  No first char
505  No need char  No need char
# Line 631  No match Line 633  No match
633    
634  /\Aabc/Im  /\Aabc/Im
635  Capturing subpattern count = 0  Capturing subpattern count = 0
636    Max lookbehind = 1
637  Options: anchored multiline  Options: anchored multiline
638  No first char  No first char
639  No need char  No need char
# Line 656  No need char Line 659  No need char
659    
660  /(?<=foo)[ab]/IS  /(?<=foo)[ab]/IS
661  Capturing subpattern count = 0  Capturing subpattern count = 0
662    Max lookbehind = 3
663  No options  No options
664  No first char  No first char
665  No need char  No need char
 Max lookbehind = 3  
666  Subject length lower bound = 1  Subject length lower bound = 1
667  Starting byte set: a b  Starting byte set: a b
668    
669  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
670  Capturing subpattern count = 1  Capturing subpattern count = 1
671    Max lookbehind = 3
672  No options  No options
673  No first char  No first char
674  Need char = 'a'  Need char = 'a'
 Max lookbehind = 3  
675  Subject length lower bound = 5  Subject length lower bound = 5
676  Starting byte set: a o  Starting byte set: a o
677    
# Line 682  Starting byte set: a b Line 685  Starting byte set: a b
685    
686  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
687  Capturing subpattern count = 0  Capturing subpattern count = 0
688    Max lookbehind = 4
689  Contains explicit CR or LF match  Contains explicit CR or LF match
690  Options: multiline  Options: multiline
691  No first char  No first char
692  Need char = 'r'  Need char = 'r'
 Max lookbehind = 4  
693      foo\nbarbar      foo\nbarbar
694   0: bar   0: bar
695      ***Failers      ***Failers
# Line 700  No match Line 703  No match
703    
704  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
705  Capturing subpattern count = 0  Capturing subpattern count = 0
706    Max lookbehind = 4
707  Contains explicit CR or LF match  Contains explicit CR or LF match
708  Options: multiline  Options: multiline
709  First char at start or follows newline  First char at start or follows newline
710  Need char = 'r'  Need char = 'r'
 Max lookbehind = 4  
711      foo\nbarbar      foo\nbarbar
712   0: bar   0: bar
713      ***Failers      ***Failers
# Line 743  Failed: lookbehind assertion is not fixe Line 746  Failed: lookbehind assertion is not fixe
746    
747  /(?<=bullock|donkey)-cart/I  /(?<=bullock|donkey)-cart/I
748  Capturing subpattern count = 0  Capturing subpattern count = 0
749    Max lookbehind = 7
750  No options  No options
751  First char = '-'  First char = '-'
752  Need char = 't'  Need char = 't'
 Max lookbehind = 7  
753      the bullock-cart      the bullock-cart
754   0: -cart   0: -cart
755      a donkey-cart race      a donkey-cart race
# Line 760  No match Line 763  No match
763    
764  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
765  Capturing subpattern count = 0  Capturing subpattern count = 0
766    Max lookbehind = 3
767    May match empty string
768  No options  No options
769  No first char  No first char
770  No need char  No need char
 Max lookbehind = 3  
771    
772  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
773  Capturing subpattern count = 2  Capturing subpattern count = 2
774    Max lookbehind = 4
775    May match empty string
776  No options  No options
777  First char at start or follows newline  No first char
778  No need char  No need char
 Max lookbehind = 4  
779      alphabetabcd      alphabetabcd
780   0: alphabetabcd   0: alphabetabcd
781   1: abcd   1: abcd
# Line 781  Max lookbehind = 4 Line 786  Max lookbehind = 4
786    
787  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
788  Capturing subpattern count = 0  Capturing subpattern count = 0
789    Max lookbehind = 4
790  No options  No options
791  First char = 'Z'  First char = 'Z'
792  Need char = 'Z'  Need char = 'Z'
 Max lookbehind = 4  
793      abxyZZ      abxyZZ
794   0: ZZ   0: ZZ
795      abXyZZ      abXyZZ
# Line 810  No match Line 815  No match
815    
816  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
817  Capturing subpattern count = 1  Capturing subpattern count = 1
818    Max lookbehind = 4
819  No options  No options
820  First char = 'b'  First char = 'b'
821  Need char = 'r'  Need char = 'r'
 Max lookbehind = 4  
822      bar      bar
823   0: bar   0: bar
824      foobbar      foobbar
# Line 823  No match Line 828  No match
828      fooabar      fooabar
829  No match  No match
830    
 /This one is here because Perl 5.005_02 doesn't fail it/I  
 Capturing subpattern count = 0  
 No options  
 First char = 'T'  
 Need char = 't'  
   
 /^(a)?(?(1)a|b)+$/I  
 Capturing subpattern count = 1  
 Options: anchored  
 No first char  
 No need char  
     *** Failers  
 No match  
     a  
 No match  
   
831  /This one is here because Perl behaves differently; see also the following/I  /This one is here because Perl behaves differently; see also the following/I
832  Capturing subpattern count = 0  Capturing subpattern count = 0
833  No options  No options
# Line 1212  No need char Line 1201  No need char
1201    
1202  /\Biss\B/I+  /\Biss\B/I+
1203  Capturing subpattern count = 0  Capturing subpattern count = 0
1204    Max lookbehind = 1
1205  No options  No options
1206  First char = 'i'  First char = 'i'
1207  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1208      Mississippi      Mississippi
1209   0: iss   0: iss
1210   0+ issippi   0+ issippi
# Line 1233  Need char = 's' Line 1222  Need char = 's'
1222    
1223  /\Biss\B/IG+  /\Biss\B/IG+
1224  Capturing subpattern count = 0  Capturing subpattern count = 0
1225    Max lookbehind = 1
1226  No options  No options
1227  First char = 'i'  First char = 'i'
1228  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1229      Mississippi      Mississippi
1230   0: iss   0: iss
1231   0+ issippi   0+ issippi
1232    
1233  /\Biss\B/Ig+  /\Biss\B/Ig+
1234  Capturing subpattern count = 0  Capturing subpattern count = 0
1235    Max lookbehind = 1
1236  No options  No options
1237  First char = 'i'  First char = 'i'
1238  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1239      Mississippi      Mississippi
1240   0: iss   0: iss
1241   0+ issippi   0+ issippi
# Line 1259  No match Line 1248  No match
1248    
1249  /(?<=[Ms])iss/Ig+  /(?<=[Ms])iss/Ig+
1250  Capturing subpattern count = 0  Capturing subpattern count = 0
1251    Max lookbehind = 1
1252  No options  No options
1253  First char = 'i'  First char = 'i'
1254  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1255      Mississippi      Mississippi
1256   0: iss   0: iss
1257   0+ issippi   0+ issippi
# Line 1271  Max lookbehind = 1 Line 1260  Max lookbehind = 1
1260    
1261  /(?<=[Ms])iss/IG+  /(?<=[Ms])iss/IG+
1262  Capturing subpattern count = 0  Capturing subpattern count = 0
1263    Max lookbehind = 1
1264  No options  No options
1265  First char = 'i'  First char = 'i'
1266  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1267      Mississippi      Mississippi
1268   0: iss   0: iss
1269   0+ issippi   0+ issippi
# Line 1392  Need char = 'c' Line 1381  Need char = 'c'
1381    
1382  /a*/I  /a*/I
1383  Capturing subpattern count = 0  Capturing subpattern count = 0
1384    May match empty string
1385  No options  No options
1386  No first char  No first char
1387  No need char  No need char
# Line 1410  Need char = 'a' Line 1400  Need char = 'a'
1400    
1401  /a{0,3}/I  /a{0,3}/I
1402  Capturing subpattern count = 0  Capturing subpattern count = 0
1403    May match empty string
1404  No options  No options
1405  No first char  No first char
1406  No need char  No need char
# Line 1452  Need char = 'r' Line 1443  Need char = 'r'
1443    
1444  /...(?<=abc)/I  /...(?<=abc)/I
1445  Capturing subpattern count = 0  Capturing subpattern count = 0
1446    Max lookbehind = 3
1447  No options  No options
1448  No first char  No first char
1449  No need char  No need char
 Max lookbehind = 3  
1450    
1451  /abc(?!pqr)/I  /abc(?!pqr)/I
1452  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1609  Need char = 'e' Line 1600  Need char = 'e'
1600    
1601  /a?b?/I  /a?b?/I
1602  Capturing subpattern count = 0  Capturing subpattern count = 0
1603    May match empty string
1604  No options  No options
1605  No first char  No first char
1606  No need char  No need char
# Line 1627  No match Line 1619  No match
1619    
1620  /|-/I  /|-/I
1621  Capturing subpattern count = 0  Capturing subpattern count = 0
1622    May match empty string
1623  No options  No options
1624  No first char  No first char
1625  No need char  No need char
# Line 2640  Need char = '-' Line 2633  Need char = '-'
2633          End          End
2634  ------------------------------------------------------------------  ------------------------------------------------------------------
2635  Capturing subpattern count = 0  Capturing subpattern count = 0
2636    May match empty string
2637  Options: extended  Options: extended
2638  No first char  No first char
2639  No need char  No need char
# Line 2782  Need char = '0' Line 2776  Need char = '0'
2776          End          End
2777  ------------------------------------------------------------------  ------------------------------------------------------------------
2778  Capturing subpattern count = 0  Capturing subpattern count = 0
2779    May match empty string
2780  No options  No options
2781  No first char  No first char
2782  No need char  No need char
# Line 2881  No match Line 2876  No match
2876          End          End
2877  ------------------------------------------------------------------  ------------------------------------------------------------------
2878  Capturing subpattern count = 0  Capturing subpattern count = 0
2879    May match empty string
2880  No options  No options
2881  No first char  No first char
2882  No need char  No need char
# Line 2923  No need char Line 2919  No need char
2919          End          End
2920  ------------------------------------------------------------------  ------------------------------------------------------------------
2921  Capturing subpattern count = 1  Capturing subpattern count = 1
2922    May match empty string
2923  No options  No options
2924  No first char  No first char
2925  No need char  No need char
2926    
2927  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2928  Capturing subpattern count = 1  Capturing subpattern count = 1
2929    May match empty string
2930  Options: anchored  Options: anchored
2931  No first char  No first char
2932  No need char  No need char
# Line 3233  No match Line 3231  No match
3231          End          End
3232  ------------------------------------------------------------------  ------------------------------------------------------------------
3233  Capturing subpattern count = 0  Capturing subpattern count = 0
3234    Max lookbehind = 1
3235  No options  No options
3236  First char = '8'  First char = '8'
3237  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3238    
3239  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3240  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3247  Max lookbehind = 1 Line 3245  Max lookbehind = 1
3245          End          End
3246  ------------------------------------------------------------------  ------------------------------------------------------------------
3247  Capturing subpattern count = 0  Capturing subpattern count = 0
3248    Max lookbehind = 1
3249  No options  No options
3250  First char = '$'  First char = '$'
3251  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3252    
3253  /(.*)\d+\1/I  /(.*)\d+\1/I
3254  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 3304  Need char = 'b' Line 3302  Need char = 'b'
3302    
3303  /(?=a).*/I  /(?=a).*/I
3304  Capturing subpattern count = 0  Capturing subpattern count = 0
3305    May match empty string
3306  No options  No options
3307  First char = 'a'  First char = 'a'
3308  No need char  No need char
# Line 3322  Need char = 'z' (caseless) Line 3321  Need char = 'z' (caseless)
3321    
3322  /(?=a)(?=b)/I  /(?=a)(?=b)/I
3323  Capturing subpattern count = 0  Capturing subpattern count = 0
3324    May match empty string
3325  No options  No options
3326  First char = 'a'  First char = 'a'
3327  No need char  No need char
# Line 3388  Need char = 'a' Line 3388  Need char = 'a'
3388    
3389  /(a)*/I  /(a)*/I
3390  Capturing subpattern count = 1  Capturing subpattern count = 1
3391    May match empty string
3392  No options  No options
3393  No first char  No first char
3394  No need char  No need char
# Line 3616  No match Line 3617  No match
3617    
3618  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3619  Capturing subpattern count = 1  Capturing subpattern count = 1
3620    May match empty string
3621  No options  No options
3622  No first char  No first char
3623  No need char  No need char
# Line 3649  No need char Line 3651  No need char
3651    
3652  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3653  Capturing subpattern count = 1  Capturing subpattern count = 1
3654    May match empty string
3655  No options  No options
3656  No first char  No first char
3657  No need char  No need char
# Line 3763  Callout 2: last capture = -1 Line 3766  Callout 2: last capture = -1
3766    
3767  /(?<=(abc)(?C))xyz/I  /(?<=(abc)(?C))xyz/I
3768  Capturing subpattern count = 1  Capturing subpattern count = 1
3769    Max lookbehind = 3
3770  No options  No options
3771  First char = 'x'  First char = 'x'
3772  Need char = 'z'  Need char = 'z'
 Max lookbehind = 3  
3773     abcxyz\C+     abcxyz\C+
3774  Callout 0: last capture = 1  Callout 0: last capture = 1
3775   0: <unset>   0: <unset>
# Line 3895  Failed: recursive call could loop indefi Line 3898  Failed: recursive call could loop indefi
3898    
3899  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3900  Capturing subpattern count = 1  Capturing subpattern count = 1
3901    May match empty string
3902  Options: anchored  Options: anchored
3903  No first char  No first char
3904  No need char  No need char
# Line 4174  Named capturing subpatterns: Line 4178  Named capturing subpatterns:
4178    one     1    one     1
4179    three   3    three   3
4180    two     2    two     2
4181    May match empty string
4182  Options: anchored caseless  Options: anchored caseless
4183  No first char  No first char
4184  No need char  No need char
# Line 4273  Need char = 'z' Line 4278  Need char = 'z'
4278    
4279  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4280  Capturing subpattern count = 31  Capturing subpattern count = 31
4281    May match empty string
4282  Options: anchored dotall  Options: anchored dotall
4283  No first char  No first char
4284  No need char  No need char
# Line 4280  No need char Line 4286  No need char
4286  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4287  Capturing subpattern count = 31  Capturing subpattern count = 31
4288  Max back reference = 31  Max back reference = 31
4289    May match empty string
4290  Options: dotall  Options: dotall
4291  No first char  No first char
4292  No need char  No need char
# Line 4287  No need char Line 4294  No need char
4294  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4295  Capturing subpattern count = 32  Capturing subpattern count = 32
4296  Max back reference = 32  Max back reference = 32
4297    May match empty string
4298  Options: dotall  Options: dotall
4299  No first char  No first char
4300  No need char  No need char
# Line 4363  Minimum match() recursion limit = 6 Line 4371  Minimum match() recursion limit = 6
4371   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4372    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4373  Minimum match() limit = 32768  Minimum match() limit = 32768
4374  Minimum match() recursion limit = 42  Minimum match() recursion limit = 29
4375  No match  No match
4376    
4377  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4438  Capturing subpattern count = 2 Line 4446  Capturing subpattern count = 2
4446  Named capturing subpatterns:  Named capturing subpatterns:
4447    Tes    1    Tes    1
4448    Test   2    Test   2
4449    May match empty string
4450  No options  No options
4451  No first char  No first char
4452  No need char  No need char
# Line 4456  Capturing subpattern count = 2 Line 4465  Capturing subpattern count = 2
4465  Named capturing subpatterns:  Named capturing subpatterns:
4466    Tes    2    Tes    2
4467    Test   1    Test   1
4468    May match empty string
4469  No options  No options
4470  No first char  No first char
4471  No need char  No need char
# Line 4533  Need char = ']' Line 4543  Need char = ']'
4543          End          End
4544  ------------------------------------------------------------------  ------------------------------------------------------------------
4545  Capturing subpattern count = 2  Capturing subpattern count = 2
4546    May match empty string
4547  No options  No options
4548  No first char  No first char
4549  No need char  No need char
# Line 4553  No need char Line 4564  No need char
4564          End          End
4565  ------------------------------------------------------------------  ------------------------------------------------------------------
4566  Capturing subpattern count = 2  Capturing subpattern count = 2
4567    May match empty string
4568  No options  No options
4569  No first char  No first char
4570  No need char  No need char
# Line 4584  No need char Line 4596  No need char
4596          End          End
4597  ------------------------------------------------------------------  ------------------------------------------------------------------
4598  Capturing subpattern count = 2  Capturing subpattern count = 2
4599    May match empty string
4600  No options  No options
4601  No first char  No first char
4602  No need char  No need char
# Line 5411  Need char = '3' Line 5424  Need char = '3'
5424    
5425  /\b.*/I  /\b.*/I
5426  Capturing subpattern count = 0  Capturing subpattern count = 0
5427    Max lookbehind = 1
5428    May match empty string
5429  No options  No options
5430  No first char  No first char
5431  No need char  No need char
 Max lookbehind = 1  
5432    ab cd\>1    ab cd\>1
5433   0:  cd   0:  cd
5434    
5435  /\b.*/Is  /\b.*/Is
5436  Capturing subpattern count = 0  Capturing subpattern count = 0
5437    Max lookbehind = 1
5438    May match empty string
5439  Options: dotall  Options: dotall
5440  No first char  No first char
5441  No need char  No need char
 Max lookbehind = 1  
5442    ab cd\>1    ab cd\>1
5443   0:  cd   0:  cd
5444    
5445  /(?!.bcd).*/I  /(?!.bcd).*/I
5446  Capturing subpattern count = 0  Capturing subpattern count = 0
5447    May match empty string
5448  No options  No options
5449  No first char  No first char
5450  No need char  No need char
# Line 6017  Matched, but too many substrings Line 6033  Matched, but too many substrings
6033    
6034  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6035  Capturing subpattern count = 0  Capturing subpattern count = 0
6036    May match empty string
6037  No options  No options
6038  No first char  No first char
6039  No need char  No need char
# Line 6029  No need char Line 6046  No need char
6046    
6047  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6048  Capturing subpattern count = 0  Capturing subpattern count = 0
6049    May match empty string
6050  No options  No options
6051  No first char  No first char
6052  No need char  No need char
# Line 6039  No need char Line 6057  No need char
6057    
6058  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6059  Capturing subpattern count = 0  Capturing subpattern count = 0
6060    May match empty string
6061  No options  No options
6062  No first char  No first char
6063  No need char  No need char
# Line 6049  No need char Line 6068  No need char
6068    
6069  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6070  Capturing subpattern count = 0  Capturing subpattern count = 0
6071    May match empty string
6072  No options  No options
6073  No first char  No first char
6074  No need char  No need char
# Line 6061  No need char Line 6081  No need char
6081    
6082  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6083  Capturing subpattern count = 0  Capturing subpattern count = 0
6084    May match empty string
6085  No options  No options
6086  No first char  No first char
6087  No need char  No need char
# Line 6110  no parentheses with name "Z" Line 6131  no parentheses with name "Z"
6131   2: a1   2: a1
6132  copy substring Z failed -7  copy substring Z failed -7
6133    C a1 (2) A    C a1 (2) A
6134    
6135    /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
6136    Capturing subpattern count = 3
6137    Named capturing subpatterns:
6138      a   1
6139      a   3
6140      b   2
6141    May match empty string
6142    Options: dupnames
6143    No first char
6144    No need char
6145    
6146  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6147  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 6518  Unknown newline type at: <bad> Line 6550  Unknown newline type at: <bad>
6550    
6551  /.*/I<lf>  /.*/I<lf>
6552  Capturing subpattern count = 0  Capturing subpattern count = 0
6553    May match empty string
6554  Options:  Options:
6555  Forced newline sequence: LF  Forced newline sequence: LF
6556  First char at start or follows newline  First char at start or follows newline
# Line 6559  Need char = 'f' Line 6592  Need char = 'f'
6592    
6593  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6594  Capturing subpattern count = 1  Capturing subpattern count = 1
6595    May match empty string
6596  No options  No options
6597  No first char  No first char
6598  No need char  No need char
# Line 7725  Named capturing subpatterns: Line 7759  Named capturing subpatterns:
7759    one     1    one     1
7760    three   3    three   3
7761    two     2    two     2
7762    May match empty string
7763  Options: anchored caseless  Options: anchored caseless
7764  No first char  No first char
7765  No need char  No need char
# Line 8803  No match Line 8838  No match
8838   1: \x0a   1: \x0a
8839    
8840  /a(*CR)b/  /a(*CR)b/
8841  Failed: (*VERB) not recognized at offset 5  Failed: (*VERB) not recognized or malformed at offset 5
8842    
8843  /(*CR)a.b/  /(*CR)a.b/
8844      a\nb      a\nb
# Line 9264  Starting byte set: x y z Line 9299  Starting byte set: x y z
9299    
9300  /(?(?=.*b)b|^)/CI  /(?(?=.*b)b|^)/CI
9301  Capturing subpattern count = 0  Capturing subpattern count = 0
9302    May match empty string
9303  Options:  Options:
9304  No first char  No first char
9305  No need char  No need char
# Line 9276  No need char Line 9312  No need char
9312   +7 ^ ^     b   +7 ^ ^     b
9313   +7 ^^      b   +7 ^^      b
9314   +7 ^       b   +7 ^       b
9315    +11 ^       ^
9316  +12 ^       )  +12 ^       )
9317  +13 ^  +13 ^
9318   0:   0:
# Line 9406  No match Line 9443  No match
9443   +3 ^ ^      (?(?=[a])[^"])   +3 ^ ^      (?(?=[a])[^"])
9444   +5 ^ ^      (?=[a])   +5 ^ ^      (?=[a])
9445   +8 ^ ^      [a]   +8 ^ ^      [a]
9446    +17 ^ ^      |
9447  +21 ^ ^      "  +21 ^ ^      "
9448  +18 ^ ^      b  +18 ^ ^      b
9449  +19 ^  ^     )  +19 ^  ^     )
9450   +3 ^  ^     (?(?=[a])[^"])   +3 ^  ^     (?(?=[a])[^"])
9451   +5 ^  ^     (?=[a])   +5 ^  ^     (?=[a])
9452   +8 ^  ^     [a]   +8 ^  ^     [a]
9453    +17 ^  ^     |
9454  +21 ^  ^     "  +21 ^  ^     "
9455  +22 ^   ^    $  +22 ^   ^    $
9456  +23 ^   ^  +23 ^   ^
# Line 9719  Partial match: abc12 Line 9758  Partial match: abc12
9758      xyzabc123pqr      xyzabc123pqr
9759   0: 123   0: 123
9760      xyzabc12\P      xyzabc12\P
9761  Partial match: abc12  Partial match at offset 6: abc12
9762      xyzabc12\P\P      xyzabc12\P\P
9763  Partial match: abc12  Partial match at offset 6: abc12
9764    
9765  /\babc\b/  /\babc\b/
9766      +++abc+++      +++abc+++
9767   0: abc   0: abc
9768      +++ab\P      +++ab\P
9769  Partial match: +ab  Partial match at offset 3: +ab
9770      +++ab\P\P      +++ab\P\P
9771  Partial match: +ab  Partial match at offset 3: +ab
9772    
9773  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9774  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 10110  No set of starting bytes Line 10149  No set of starting bytes
10149  "(?>.*/)foo"SI  "(?>.*/)foo"SI
10150  Capturing subpattern count = 0  Capturing subpattern count = 0
10151  No options  No options
10152  First char at start or follows newline  No first char
10153  Need char = 'o'  Need char = 'o'
10154  Subject length lower bound = 4  Subject length lower bound = 4
10155  No set of starting bytes  No set of starting bytes
# Line 10172  No set of starting bytes Line 10211  No set of starting bytes
10211  Capturing subpattern count = 1  Capturing subpattern count = 1
10212  Named capturing subpatterns:  Named capturing subpatterns:
10213    a   1    a   1
   a   1  
10214  No options  No options
10215  No first char  No first char
10216  No need char  No need char
# Line 10353  Partial match: abca Line 10391  Partial match: abca
10391      xxxxabcde\P\P      xxxxabcde\P\P
10392  Partial match: abcde  Partial match: abcde
10393    
10394  /-- This is not in the Perl >= 5.10 test because Perl seems currently to be  /-- This is not in the Perl-compatible test because Perl seems currently to be
10395      broken and not behaving as specified in that it *does* bumpalong after      broken and not behaving as specified in that it *does* bumpalong after
10396      hitting (*COMMIT). --/      hitting (*COMMIT). --/
10397    
# Line 10549  No match Line 10587  No match
10587          End          End
10588  ------------------------------------------------------------------  ------------------------------------------------------------------
10589    
10590  / -- The first four of these are not in the Perl >= 5.10 test because Perl  / -- This one is here because Perl gives the match as "b" rather than "ab". I
      documents that the use of \K in assertions is "not well defined". The  
      last is here because Perl gives the match as "b" rather than "ab". I  
10591       believe this to be a Perl bug. --/       believe this to be a Perl bug. --/
10592    
 /(?=a\Kb)ab/  
     ab  
  0: b  
   
 /(?!a\Kb)ac/  
     ac  
  0: ac  
   
 /^abc(?<=b\Kc)d/  
     abcd  
  0: cd  
   
 /^abc(?<!b\Kq)d/  
     abcd  
  0: abcd  
   
10593  /(?>a\Kb)z|(ab)/  /(?>a\Kb)z|(ab)/
10594      ab      ab
10595   0: ab   0: ab
10596   1: ab   1: ab
10597    
 /----------------------/  
   
10598  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10599  Failed: recursive call could loop indefinitely at offset 31  Failed: recursive call could loop indefinitely at offset 31
10600    
# Line 10596  Failed: an argument is not allowed for ( Line 10614  Failed: an argument is not allowed for (
10614      ACABX      ACABX
10615  No match  No match
10616    
10617  /--- These should be different, but in Perl 5.11 are not, which I think  /--- These should be different, but in Perl they are not, which I think
10618       is a bug in Perl. ---/       is a bug in Perl. ---/
10619    
10620  /A(*THEN)B|A(*THEN)C/K  /A(*THEN)B|A(*THEN)C/K
# Line 10607  No match Line 10625  No match
10625      AC      AC
10626  No match  No match
10627    
 /--- This should fail; the SKIP advances by one, but when we get to AC, the  
      PRUNE kills it. Perl behaves differently. ---/  
   
 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK  
     AAAC  
 No match, mark = A  
   
10628  /--- Mark names can be duplicated. Perl doesn't give a mark for this one,  /--- Mark names can be duplicated. Perl doesn't give a mark for this one,
10629  though PCRE does. ---/  though PCRE does. ---/
10630    
# Line 10647  No match Line 10658  No match
10658      abcccd      abcccd
10659  No match  No match
10660    
10661  /--- Perl 5.11 gets some of these wrong ---/  /--- Perl gets some of these wrong ---/
10662    
10663  /(?>.(*ACCEPT))*?5/  /(?>.(*ACCEPT))*?5/
10664      abcde      abcde
# Line 10755  No match Line 10766  No match
10766  /\s*\R/BZ  /\s*\R/BZ
10767  ------------------------------------------------------------------  ------------------------------------------------------------------
10768          Bra          Bra
10769          \s*+          \s*
10770          \R          \R
10771          Ket          Ket
10772          End          End
10773  ------------------------------------------------------------------  ------------------------------------------------------------------
10774        \x20\x0a
10775     0:  \x0a
10776        \x20\x0d
10777     0:  \x0d
10778        \x20\x0d\x0a
10779     0:  \x0d\x0a
10780    
10781  /-- Perl treats this one differently, not failing the second string. I believe  /\S*\R/BZ
10782      that is a bug in Perl. --/  ------------------------------------------------------------------
10783            Bra
10784            \S*+
10785            \R
10786            Ket
10787            End
10788    ------------------------------------------------------------------
10789        a\x0a
10790     0: a\x0a
10791    
10792  /^((abc|abcx)(*THEN)y|abcd)/  /X\h*\R/BZ
10793      abcd  ------------------------------------------------------------------
10794   0: abcd          Bra
10795   1: abcd          X
10796      *** Failers          \h*+
10797  No match          \R
10798      abcxy          Ket
10799            End
10800    ------------------------------------------------------------------
10801        X\x20\x0a
10802     0: X \x0a
10803    
10804    /X\H*\R/BZ
10805    ------------------------------------------------------------------
10806            Bra
10807            X
10808            \H*
10809            \R
10810            Ket
10811            End
10812    ------------------------------------------------------------------
10813        X\x0d\x0a
10814     0: X\x0d\x0a
10815    
10816    /X\H+\R/BZ
10817    ------------------------------------------------------------------
10818            Bra
10819            X
10820            \H+
10821            \R
10822            Ket
10823            End
10824    ------------------------------------------------------------------
10825        X\x0d\x0a
10826     0: X\x0d\x0a
10827    
10828    /X\H++\R/BZ
10829    ------------------------------------------------------------------
10830            Bra
10831            X
10832            \H++
10833            \R
10834            Ket
10835            End
10836    ------------------------------------------------------------------
10837        X\x0d\x0a
10838  No match  No match
10839    
10840  /(?<=abc)def/  /(?<=abc)def/
10841      abc\P\P      abc\P\P
10842  Partial match: abc  Partial match at offset 3: abc
10843    
10844  /abc$/  /abc$/
10845      abc      abc
# Line 11022  No need char Line 11086  No need char
11086    
11087  /(^ab|^)+/I  /(^ab|^)+/I
11088  Capturing subpattern count = 1  Capturing subpattern count = 1
11089    May match empty string
11090  Options: anchored  Options: anchored
11091  No first char  No first char
11092  No need char  No need char
11093    
11094  /(^ab|^)++/I  /(^ab|^)++/I
11095  Capturing subpattern count = 1  Capturing subpattern count = 1
11096    May match empty string
11097  Options: anchored  Options: anchored
11098  No first char  No first char
11099  No need char  No need char
# Line 11046  No need char Line 11112  No need char
11112    
11113  /(?:^ab|^)+/I  /(?:^ab|^)+/I
11114  Capturing subpattern count = 0  Capturing subpattern count = 0
11115    May match empty string
11116  Options: anchored  Options: anchored
11117  No first char  No first char
11118  No need char  No need char
11119    
11120  /(?:^ab|^)++/I  /(?:^ab|^)++/I
11121  Capturing subpattern count = 0  Capturing subpattern count = 0
11122    May match empty string
11123  Options: anchored  Options: anchored
11124  No first char  No first char
11125  No need char  No need char
# Line 11070  Need char = 'b' Line 11138  Need char = 'b'
11138    
11139  /(.*ab|.*)+/I  /(.*ab|.*)+/I
11140  Capturing subpattern count = 1  Capturing subpattern count = 1
11141    May match empty string
11142  No options  No options
11143  First char at start or follows newline  First char at start or follows newline
11144  No need char  No need char
11145    
11146  /(.*ab|.*)++/I  /(.*ab|.*)++/I
11147  Capturing subpattern count = 1  Capturing subpattern count = 1
11148    May match empty string
11149  No options  No options
11150  First char at start or follows newline  First char at start or follows newline
11151  No need char  No need char
# Line 11094  Need char = 'b' Line 11164  Need char = 'b'
11164    
11165  /(?:.*ab|.*)+/I  /(?:.*ab|.*)+/I
11166  Capturing subpattern count = 0  Capturing subpattern count = 0
11167    May match empty string
11168  No options  No options
11169  First char at start or follows newline  First char at start or follows newline
11170  No need char  No need char
11171    
11172  /(?:.*ab|.*)++/I  /(?:.*ab|.*)++/I
11173  Capturing subpattern count = 0  Capturing subpattern count = 0
11174    May match empty string
11175  No options  No options
11176  First char at start or follows newline  First char at start or follows newline
11177  No need char  No need char
# Line 11254  No match Line 11326  No match
11326    
11327  /(a)b|ac/++SS  /(a)b|ac/++SS
11328      ac\O3      ac\O3
 Matched, but too many substrings  
11329   0: ac   0: ac
11330   0+   0+
11331    
# Line 11614  No match Line 11685  No match
11685    
11686  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11687  Capturing subpattern count = 0  Capturing subpattern count = 0
11688    Max lookbehind = 1
11689  No options  No options
11690  First char = 't'  First char = 't'
11691  Need char = 't'  Need char = 't'
 Max lookbehind = 1  
11692  Subject length lower bound = 18  Subject length lower bound = 18
11693  No set of starting bytes  No set of starting bytes
11694    
11695  /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS  /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
11696  Capturing subpattern count = 0  Capturing subpattern count = 0
11697    Max lookbehind = 1
11698  No options  No options
11699  No first char  No first char
11700  No need char  No need char
 Max lookbehind = 1  
11701  Subject length lower bound = 8  Subject length lower bound = 8
11702  Starting byte set: < o t u  Starting byte set: < o t u
11703    
11704  /a(*SKIP)c|b(*ACCEPT)|/+SI  /a(*SKIP)c|b(*ACCEPT)|/+S!I
11705  Capturing subpattern count = 0  Capturing subpattern count = 0
11706    May match empty string
11707  No options  No options
11708  No first char  No first char
11709  No need char  No need char
11710  Study returned NULL  Subject length lower bound = -1
11711    No set of starting bytes
11712      a      a
11713   0:   0:
11714   0+   0+
# Line 11696  Minimum match() limit = 86 Line 11769  Minimum match() limit = 86
11769  Minimum match() recursion limit = 45  Minimum match() recursion limit = 45
11770   0: abbbbbbbbbbbbbbbbbbbbba   0: abbbbbbbbbbbbbbbbbbbbba
11771    
 /-- These tests are in agreement with development Perl 5.015, which has fixed  
     some things, but they don't all work with 5.012, so they aren't in the  
     Perl-compatible tests. Those after the first come from Perl's own test  
     files. --/  
   
 /^((yes|no)(*THEN)(*F))?/  
   yes  
 No match  
   
 /(A (.*)   C? (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   C? (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   C? (*THEN)  | A D) \s* (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   C? (*THEN)  | A D) \s* z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   (?:C|) (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   (?:C|) (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   C{0,6} (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   C{0,6} (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   (CE){0,6} (*THEN)  | A D) (*FAIL)/x  
 AbcdCEBefgBhiBqz  
 No match  
   
 /(A (.*)   (CE){0,6} (*THEN)  | A D) z/x  
 AbcdCEBefgBhiBqz  
 No match  
   
 /(A (.*)   (CE*){0,6} (*THEN)  | A D) (*FAIL)/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /(A (.*)   (CE*){0,6} (*THEN)  | A D) z/x  
 AbcdCBefgBhiBqz  
 No match  
   
 /-----------------------------------------------/  
   
11772  /^(?>a+)(?>(z+))\w/BZ  /^(?>a+)(?>(z+))\w/BZ
11773  ------------------------------------------------------------------  ------------------------------------------------------------------
11774          Bra          Bra
# Line 12271  Partial match: \x0d\x0d Line 12285  Partial match: \x0d\x0d
12285      \r\r\r\P\P      \r\r\r\P\P
12286   0: \x0d\x0d   0: \x0d\x0d
12287    
12288  /-- This one is here because Perl does not match: it seems to allow the COMMIT  "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12289  to escape from the assertion. --/      ABCDGHI\O03
12290    Matched, but too many substrings
12291     0: ABCD
12292    
12293    /-- These are all run as real matches in test 1; here we are just checking the
12294    settings of the anchored and startline bits. --/
12295    
12296  /(?=a(*COMMIT)b|ac)ac|ac/  /(?>.*?a)(?<=ba)/I
12297      ac  Capturing subpattern count = 0
12298    Max lookbehind = 2
12299    No options
12300    No first char
12301    Need char = 'a'
12302    
12303    /(?:.*?a)(?<=ba)/I
12304    Capturing subpattern count = 0
12305    Max lookbehind = 2
12306    No options
12307    First char at start or follows newline
12308    Need char = 'a'
12309    
12310    /.*?a(*PRUNE)b/I
12311    Capturing subpattern count = 0
12312    No options
12313    No first char
12314    Need char = 'b'
12315    
12316    /.*?a(*PRUNE)b/sI
12317    Capturing subpattern count = 0
12318    Options: dotall
12319    No first char
12320    Need char = 'b'
12321    
12322    /^a(*PRUNE)b/sI
12323    Capturing subpattern count = 0
12324    Options: anchored dotall
12325    No first char
12326    No need char
12327    
12328    /.*?a(*SKIP)b/I
12329    Capturing subpattern count = 0
12330    No options
12331    No first char
12332    Need char = 'b'
12333    
12334    /(?>.*?a)b/sI
12335    Capturing subpattern count = 0
12336    Options: dotall
12337    No first char
12338    Need char = 'b'
12339    
12340    /(?>.*?a)b/I
12341    Capturing subpattern count = 0
12342    No options
12343    No first char
12344    Need char = 'b'
12345    
12346    /(?>^a)b/sI
12347    Capturing subpattern count = 0
12348    Options: anchored dotall
12349    No first char
12350    No need char
12351    
12352    /(?>.*?)(?<=(abcd)|(wxyz))/I
12353    Capturing subpattern count = 2
12354    Max lookbehind = 4
12355    May match empty string
12356    No options
12357    No first char
12358    No need char
12359    
12360    /(?>.*)(?<=(abcd)|(wxyz))/I
12361    Capturing subpattern count = 2
12362    Max lookbehind = 4
12363    May match empty string
12364    No options
12365    No first char
12366    No need char
12367    
12368    "(?>.*)foo"I
12369    Capturing subpattern count = 0
12370    No options
12371    No first char
12372    Need char = 'o'
12373    
12374    "(?>.*?)foo"I
12375    Capturing subpattern count = 0
12376    No options
12377    No first char
12378    Need char = 'o'
12379    
12380    /(?>^abc)/mI
12381    Capturing subpattern count = 0
12382    Options: multiline
12383    First char at start or follows newline
12384    Need char = 'c'
12385    
12386    /(?>.*abc)/mI
12387    Capturing subpattern count = 0
12388    Options: multiline
12389    No first char
12390    Need char = 'c'
12391    
12392    /(?:.*abc)/mI
12393    Capturing subpattern count = 0
12394    Options: multiline
12395    First char at start or follows newline
12396    Need char = 'c'
12397    
12398    /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12399    
12400    /.?/S-I
12401    Capturing subpattern count = 0
12402    May match empty string
12403    No options
12404    No first char
12405    No need char
12406    Study returned NULL
12407    
12408    /.?/S!I
12409    Capturing subpattern count = 0
12410    May match empty string
12411    No options
12412    No first char
12413    No need char
12414    Subject length lower bound = -1
12415    No set of starting bytes
12416    
12417    /(?:(a)+(?C1)bb|aa(?C2)b)/
12418        aab\C+
12419    Callout 1: last capture = 1
12420     0: <unset>
12421     1: a
12422    --->aab
12423        ^ ^     b
12424    Callout 1: last capture = 1
12425     0: <unset>
12426     1: a
12427    --->aab
12428        ^^      b
12429    Callout 2: last capture = -1
12430     0: <unset>
12431    --->aab
12432        ^ ^     b
12433     0: aab
12434    
12435    /(?:(a)++(?C1)bb|aa(?C2)b)/
12436        aab\C+
12437    Callout 1: last capture = 1
12438     0: <unset>
12439     1: a
12440    --->aab
12441        ^ ^     b
12442    Callout 2: last capture = -1
12443     0: <unset>
12444    --->aab
12445        ^ ^     b
12446     0: aab
12447    
12448    /(?:(?>(a))(?C1)bb|aa(?C2)b)/
12449        aab\C+
12450    Callout 1: last capture = 1
12451     0: <unset>
12452     1: a
12453    --->aab
12454        ^^      b
12455    Callout 2: last capture = -1
12456     0: <unset>
12457    --->aab
12458        ^ ^     b
12459     0: aab
12460    
12461    /(?:(?1)(?C1)x|ab(?C2))((a)){0}/
12462        aab\C+
12463    Callout 1: last capture = -1
12464     0: <unset>
12465    --->aab
12466        ^^      x
12467    Callout 1: last capture = -1
12468     0: <unset>
12469    --->aab
12470         ^^     x
12471    Callout 2: last capture = -1
12472     0: <unset>
12473    --->aab
12474         ^ ^    )
12475     0: ab
12476    
12477    /(?1)(?C1)((a)(?C2)){0}/
12478        aab\C+
12479    Callout 2: last capture = 2
12480     0: <unset>
12481     1: <unset>
12482     2: a
12483    --->aab
12484        ^^      )
12485    Callout 1: last capture = -1
12486     0: <unset>
12487    --->aab
12488        ^^      ((a)(?C2)){0}
12489     0: a
12490    
12491    /(?:(a)+(?C1)bb|aa(?C2)b)++/
12492        aab\C+
12493    Callout 1: last capture = 1
12494     0: <unset>
12495     1: a
12496    --->aab
12497        ^ ^     b
12498    Callout 1: last capture = 1
12499     0: <unset>
12500     1: a
12501    --->aab
12502        ^^      b
12503    Callout 2: last capture = -1
12504     0: <unset>
12505    --->aab
12506        ^ ^     b
12507     0: aab
12508        aab\C+\O2
12509    Callout 1: last capture = 1
12510     0: <unset>
12511    --->aab
12512        ^ ^     b
12513    Callout 1: last capture = 1
12514     0: <unset>
12515    --->aab
12516        ^^      b
12517    Callout 2: last capture = -1
12518     0: <unset>
12519    --->aab
12520        ^ ^     b
12521     0: aab
12522    
12523    /(ab)x|ab/
12524        ab\O3
12525     0: ab
12526        ab\O2
12527     0: ab
12528    
12529    /(ab)/
12530        ab\O3
12531    Matched, but too many substrings
12532     0: ab
12533        ab\O2
12534    Matched, but too many substrings
12535     0: ab
12536    
12537    /(?<=123)(*MARK:xx)abc/K
12538        xxxx123a\P\P
12539    Partial match at offset 7, mark=xx: 123a
12540        xxxx123a\P
12541    Partial match at offset 7, mark=xx: 123a
12542    
12543    /123\Kabc/
12544        xxxx123a\P\P
12545    Partial match: 123a
12546        xxxx123a\P
12547    Partial match: 123a
12548    
12549    /^(?(?=a)aa|bb)/C
12550        bb
12551    --->bb
12552     +0 ^      ^
12553     +1 ^      (?(?=a)aa|bb)
12554     +3 ^      (?=a)
12555     +6 ^      a
12556    +11 ^      b
12557    +12 ^^     b
12558    +13 ^ ^    )
12559    +14 ^ ^
12560     0: bb
12561    
12562    /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
12563        bb
12564    --->bb
12565      1 ^      ^
12566      2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
12567     99 ^      (?=(?C3)a(?C4))
12568      3 ^      a
12569      8 ^      b
12570      9 ^^     b
12571     10 ^ ^    )
12572     11 ^ ^
12573     0: bb
12574    
12575    /-- Perl seems to have a bug with this one --/
12576    
12577    /aaaaa(*COMMIT)(*PRUNE)b|a+c/
12578        aaaaaac
12579     0: aaaac
12580    
12581    /-- Here are some that Perl treats differently because of the way it handles
12582    backtracking verbs. --/
12583    
12584     /(?!a(*COMMIT)b)ac|ad/
12585         ac
12586   0: ac   0: ac
12587         ad
12588     0: ad
12589    
12590    /^(?!a(*THEN)b|ac)../
12591         ac
12592    No match
12593         ad
12594     0: ad
12595    
12596    /^(?=a(*THEN)b|ac)/
12597        ac
12598     0:
12599    
12600    /\A.*?(?:a|b(*THEN)c)/
12601        ba
12602     0: ba
12603    
12604    /\A.*?(?:a|b(*THEN)c)++/
12605        ba
12606     0: ba
12607    
12608    /\A.*?(?:a|b(*THEN)c|d)/
12609        ba
12610     0: ba
12611    
12612    /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
12613        aac
12614     0: aac
12615    
12616    /\A.*?(a|b(*THEN)c)/
12617        ba
12618     0: ba
12619     1: a
12620    
12621    /^(A(*THEN)B|A(*THEN)D)/
12622        AD
12623     0: AD
12624     1: AD
12625    
12626    /(?!b(*THEN)a)bn|bnn/
12627        bnn
12628     0: bn
12629    
12630    /(?(?=b(*SKIP)a)bn|bnn)/
12631        bnn
12632    No match
12633    
12634    /(?=b(*THEN)a|)bn|bnn/
12635        bnn
12636     0: bn
12637    
12638    /-------------------------/
12639    
12640    /(*LIMIT_MATCH=12bc)abc/
12641    Failed: (*VERB) not recognized or malformed at offset 7
12642    
12643    /(*LIMIT_MATCH=4294967290)abc/
12644    Failed: (*VERB) not recognized or malformed at offset 7
12645    
12646    /(*LIMIT_RECURSION=4294967280)abc/I
12647    Capturing subpattern count = 0
12648    Recursion limit = 4294967280
12649    No options
12650    First char = 'a'
12651    Need char = 'c'
12652    
12653    /(a+)*zz/
12654        aaaaaaaaaaaaaz
12655    No match
12656        aaaaaaaaaaaaaz\q3000
12657    Error -8 (match limit exceeded)
12658    
12659    /(a+)*zz/S-
12660        aaaaaaaaaaaaaz\Q10
12661    Error -21 (recursion limit exceeded)
12662    
12663    /(*LIMIT_MATCH=3000)(a+)*zz/I
12664    Capturing subpattern count = 1
12665    Match limit = 3000
12666    No options
12667    No first char
12668    Need char = 'z'
12669        aaaaaaaaaaaaaz
12670    Error -8 (match limit exceeded)
12671        aaaaaaaaaaaaaz\q60000
12672    Error -8 (match limit exceeded)
12673    
12674    /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
12675    Capturing subpattern count = 1
12676    Match limit = 3000
12677    No options
12678    No first char
12679    Need char = 'z'
12680        aaaaaaaaaaaaaz
12681    Error -8 (match limit exceeded)
12682    
12683    /(*LIMIT_MATCH=60000)(a+)*zz/I
12684    Capturing subpattern count = 1
12685    Match limit = 60000
12686    No options
12687    No first char
12688    Need char = 'z'
12689        aaaaaaaaaaaaaz
12690    No match
12691        aaaaaaaaaaaaaz\q3000
12692    Error -8 (match limit exceeded)
12693    
12694    /(*LIMIT_RECURSION=10)(a+)*zz/IS-
12695    Capturing subpattern count = 1
12696    Recursion limit = 10
12697    No options
12698    No first char
12699    Need char = 'z'
12700    Subject length lower bound = 2
12701    Starting byte set: a z
12702        aaaaaaaaaaaaaz
12703    Error -21 (recursion limit exceeded)
12704        aaaaaaaaaaaaaz\Q1000
12705    Error -21 (recursion limit exceeded)
12706    
12707    /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12708    Capturing subpattern count = 1
12709    Recursion limit = 10
12710    No options
12711    No first char
12712    Need char = 'z'
12713    Subject length lower bound = 2
12714    Starting byte set: a z
12715        aaaaaaaaaaaaaz
12716    Error -21 (recursion limit exceeded)
12717    
12718    /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12719    Capturing subpattern count = 1
12720    Recursion limit = 1000
12721    No options
12722    No first char
12723    Need char = 'z'
12724    Subject length lower bound = 2
12725    Starting byte set: a z
12726        aaaaaaaaaaaaaz
12727    No match
12728        aaaaaaaaaaaaaz\Q10
12729    Error -21 (recursion limit exceeded)
12730    
12731    /-- This test causes a segfault with Perl 5.18.0 --/
12732    
12733    /^(?=(a)){0}b(?1)/
12734        backgammon
12735     0: ba
12736    
12737  /-- End of testinput2 --/  /-- End of testinput2 --/

Legend:
Removed from v.937  
changed lines
  Added in v.1359

  ViewVC Help
Powered by ViewVC 1.1.5