/[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 1381 by zherczeg, Wed Oct 16 06:23:00 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 228  No options Line 229  No options
229  No first char  No first char
230  No need char  No need char
231  Subject length lower bound = 1  Subject length lower bound = 1
232  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 a b
233    
234  /(ab\2)/  /(ab\2)/
235  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
# 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 2659  No need char Line 2653  No need char
2653  /[\s]/DZ  /[\s]/DZ
2654  ------------------------------------------------------------------  ------------------------------------------------------------------
2655          Bra          Bra
2656          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
2657          Ket          Ket
2658          End          End
2659  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2671  No need char Line 2665  No need char
2665  /[\S]/DZ  /[\S]/DZ
2666  ------------------------------------------------------------------  ------------------------------------------------------------------
2667          Bra          Bra
2668          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)          [\x00-\x08\x0e-\x1f!-\xff] (neg)
2669          Ket          Ket
2670          End          End
2671  ------------------------------------------------------------------  ------------------------------------------------------------------
# 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 2897  No options Line 2893  No options
2893  First char = 'x'  First char = 'x'
2894  No need char  No need char
2895    
2896  /x{1,3}+/DZ  /x{1,3}+/BZO
2897  ------------------------------------------------------------------  ------------------------------------------------------------------
2898          Bra          Bra
         Once  
2899          x          x
2900          x{0,2}          x{0,2}+
2901          Ket          Ket
2902            End
2903    ------------------------------------------------------------------
2904    
2905    /x{1,3}+/BZOi
2906    ------------------------------------------------------------------
2907            Bra
2908         /i x
2909         /i x{0,2}+
2910            Ket
2911            End
2912    ------------------------------------------------------------------
2913    
2914    /[^x]{1,3}+/BZO
2915    ------------------------------------------------------------------
2916            Bra
2917            [^x]
2918            [^x]{0,2}+
2919            Ket
2920            End
2921    ------------------------------------------------------------------
2922    
2923    /[^x]{1,3}+/BZOi
2924    ------------------------------------------------------------------
2925            Bra
2926         /i [^x]
2927         /i [^x]{0,2}+
2928          Ket          Ket
2929          End          End
2930  ------------------------------------------------------------------  ------------------------------------------------------------------
 Capturing subpattern count = 0  
 No options  
 First char = 'x'  
 No need char  
2931    
2932  /(x)*+/DZ  /(x)*+/DZ
2933  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2923  No need char Line 2940  No need char
2940          End          End
2941  ------------------------------------------------------------------  ------------------------------------------------------------------
2942  Capturing subpattern count = 1  Capturing subpattern count = 1
2943    May match empty string
2944  No options  No options
2945  No first char  No first char
2946  No need char  No need char
2947    
2948  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2949  Capturing subpattern count = 1  Capturing subpattern count = 1
2950    May match empty string
2951  Options: anchored  Options: anchored
2952  No first char  No first char
2953  No need char  No need char
# Line 3090  Need char = 'b' Line 3109  Need char = 'b'
3109          [bc]+          [bc]+
3110          Ket          Ket
3111          CBra 5          CBra 5
3112          \w*          \w*+
3113          Ket          Ket
3114          Ket          Ket
3115          Ket          Ket
# Line 3169  Failed: missing terminating ] for charac Line 3188  Failed: missing terminating ] for charac
3188  /[\s]/IDZ  /[\s]/IDZ
3189  ------------------------------------------------------------------  ------------------------------------------------------------------
3190          Bra          Bra
3191          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
3192          Ket          Ket
3193          End          End
3194  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3233  No match Line 3252  No match
3252          End          End
3253  ------------------------------------------------------------------  ------------------------------------------------------------------
3254  Capturing subpattern count = 0  Capturing subpattern count = 0
3255    Max lookbehind = 1
3256  No options  No options
3257  First char = '8'  First char = '8'
3258  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3259    
3260  |\$\<\.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
3261  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3247  Max lookbehind = 1 Line 3266  Max lookbehind = 1
3266          End          End
3267  ------------------------------------------------------------------  ------------------------------------------------------------------
3268  Capturing subpattern count = 0  Capturing subpattern count = 0
3269    Max lookbehind = 1
3270  No options  No options
3271  First char = '$'  First char = '$'
3272  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3273    
3274  /(.*)\d+\1/I  /(.*)\d+\1/I
3275  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 3304  Need char = 'b' Line 3323  Need char = 'b'
3323    
3324  /(?=a).*/I  /(?=a).*/I
3325  Capturing subpattern count = 0  Capturing subpattern count = 0
3326    May match empty string
3327  No options  No options
3328  First char = 'a'  First char = 'a'
3329  No need char  No need char
# Line 3322  Need char = 'z' (caseless) Line 3342  Need char = 'z' (caseless)
3342    
3343  /(?=a)(?=b)/I  /(?=a)(?=b)/I
3344  Capturing subpattern count = 0  Capturing subpattern count = 0
3345    May match empty string
3346  No options  No options
3347  First char = 'a'  First char = 'a'
3348  No need char  No need char
# Line 3388  Need char = 'a' Line 3409  Need char = 'a'
3409    
3410  /(a)*/I  /(a)*/I
3411  Capturing subpattern count = 1  Capturing subpattern count = 1
3412    May match empty string
3413  No options  No options
3414  No first char  No first char
3415  No need char  No need char
# Line 3616  No match Line 3638  No match
3638    
3639  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3640  Capturing subpattern count = 1  Capturing subpattern count = 1
3641    May match empty string
3642  No options  No options
3643  No first char  No first char
3644  No need char  No need char
# Line 3649  No need char Line 3672  No need char
3672    
3673  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3674  Capturing subpattern count = 1  Capturing subpattern count = 1
3675    May match empty string
3676  No options  No options
3677  No first char  No first char
3678  No need char  No need char
# Line 3763  Callout 2: last capture = -1 Line 3787  Callout 2: last capture = -1
3787    
3788  /(?<=(abc)(?C))xyz/I  /(?<=(abc)(?C))xyz/I
3789  Capturing subpattern count = 1  Capturing subpattern count = 1
3790    Max lookbehind = 3
3791  No options  No options
3792  First char = 'x'  First char = 'x'
3793  Need char = 'z'  Need char = 'z'
 Max lookbehind = 3  
3794     abcxyz\C+     abcxyz\C+
3795  Callout 0: last capture = 1  Callout 0: last capture = 1
3796   0: <unset>   0: <unset>
# Line 3785  Need char = 'b' Line 3809  Need char = 'b'
3809  --->abbbbbccc  --->abbbbbccc
3810    1 ^        ^    1 ^        ^
3811  Callout data = 1  Callout data = 1
   1 ^       ^  
 Callout data = 1  
   1 ^      ^  
 Callout data = 1  
   1 ^     ^  
 Callout data = 1  
   1 ^    ^  
 Callout data = 1  
   1 ^   ^  
 Callout data = 1  
   1 ^  ^  
 Callout data = 1  
   1 ^ ^  
 Callout data = 1  
3812  No match  No match
3813    
3814  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
# Line 3895  Failed: recursive call could loop indefi Line 3905  Failed: recursive call could loop indefi
3905    
3906  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3907  Capturing subpattern count = 1  Capturing subpattern count = 1
3908    May match empty string
3909  Options: anchored  Options: anchored
3910  No first char  No first char
3911  No need char  No need char
# Line 4174  Named capturing subpatterns: Line 4185  Named capturing subpatterns:
4185    one     1    one     1
4186    three   3    three   3
4187    two     2    two     2
4188    May match empty string
4189  Options: anchored caseless  Options: anchored caseless
4190  No first char  No first char
4191  No need char  No need char
# Line 4273  Need char = 'z' Line 4285  Need char = 'z'
4285    
4286  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4287  Capturing subpattern count = 31  Capturing subpattern count = 31
4288    May match empty string
4289  Options: anchored dotall  Options: anchored dotall
4290  No first char  No first char
4291  No need char  No need char
# Line 4280  No need char Line 4293  No need char
4293  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4294  Capturing subpattern count = 31  Capturing subpattern count = 31
4295  Max back reference = 31  Max back reference = 31
4296    May match empty string
4297  Options: dotall  Options: dotall
4298  No first char  No first char
4299  No need char  No need char
# Line 4287  No need char Line 4301  No need char
4301  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4302  Capturing subpattern count = 32  Capturing subpattern count = 32
4303  Max back reference = 32  Max back reference = 32
4304    May match empty string
4305  Options: dotall  Options: dotall
4306  No first char  No first char
4307  No need char  No need char
# Line 4363  Minimum match() recursion limit = 6 Line 4378  Minimum match() recursion limit = 6
4378   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4379    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4380  Minimum match() limit = 32768  Minimum match() limit = 32768
4381  Minimum match() recursion limit = 42  Minimum match() recursion limit = 29
4382  No match  No match
4383    
4384  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4438  Capturing subpattern count = 2 Line 4453  Capturing subpattern count = 2
4453  Named capturing subpatterns:  Named capturing subpatterns:
4454    Tes    1    Tes    1
4455    Test   2    Test   2
4456    May match empty string
4457  No options  No options
4458  No first char  No first char
4459  No need char  No need char
# Line 4456  Capturing subpattern count = 2 Line 4472  Capturing subpattern count = 2
4472  Named capturing subpatterns:  Named capturing subpatterns:
4473    Tes    2    Tes    2
4474    Test   1    Test   1
4475    May match empty string
4476  No options  No options
4477  No first char  No first char
4478  No need char  No need char
# Line 4533  Need char = ']' Line 4550  Need char = ']'
4550          End          End
4551  ------------------------------------------------------------------  ------------------------------------------------------------------
4552  Capturing subpattern count = 2  Capturing subpattern count = 2
4553    May match empty string
4554  No options  No options
4555  No first char  No first char
4556  No need char  No need char
# Line 4553  No need char Line 4571  No need char
4571          End          End
4572  ------------------------------------------------------------------  ------------------------------------------------------------------
4573  Capturing subpattern count = 2  Capturing subpattern count = 2
4574    May match empty string
4575  No options  No options
4576  No first char  No first char
4577  No need char  No need char
# Line 4584  No need char Line 4603  No need char
4603          End          End
4604  ------------------------------------------------------------------  ------------------------------------------------------------------
4605  Capturing subpattern count = 2  Capturing subpattern count = 2
4606    May match empty string
4607  No options  No options
4608  No first char  No first char
4609  No need char  No need char
# Line 4591  No need char Line 4611  No need char
4611  /[ab]{1}+/DZ  /[ab]{1}+/DZ
4612  ------------------------------------------------------------------  ------------------------------------------------------------------
4613          Bra          Bra
4614          Once          [ab]{1,1}+
         [ab]{1,1}  
         Ket  
4615          Ket          Ket
4616          End          End
4617  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 5305  No match Line 5323  No match
5323          Callout 255 0 21          Callout 255 0 21
5324          CBra 1          CBra 1
5325          Callout 255 1 9          Callout 255 1 9
5326          [ab]{1,4}          [ab]{1,4}+
5327          Callout 255 10 1          Callout 255 10 1
5328          c          c
5329          Callout 255 11 0          Callout 255 11 0
# Line 5318  No match Line 5336  No match
5336          Ket          Ket
5337          CBra 1          CBra 1
5338          Callout 255 1 9          Callout 255 1 9
5339          [ab]{1,4}          [ab]{1,4}+
5340          Callout 255 10 1          Callout 255 10 1
5341          c          c
5342          Callout 255 11 0          Callout 255 11 0
# Line 5331  No match Line 5349  No match
5349          Ket          Ket
5350          CBra 1          CBra 1
5351          Callout 255 1 9          Callout 255 1 9
5352          [ab]{1,4}          [ab]{1,4}+
5353          Callout 255 10 1          Callout 255 10 1
5354          c          c
5355          Callout 255 11 0          Callout 255 11 0
# Line 5344  No match Line 5362  No match
5362          Ket          Ket
5363          CBra 1          CBra 1
5364          Callout 255 1 9          Callout 255 1 9
5365          [ab]{1,4}          [ab]{1,4}+
5366          Callout 255 10 1          Callout 255 10 1
5367          c          c
5368          Callout 255 11 0          Callout 255 11 0
# Line 5358  No match Line 5376  No match
5376          Braminzero          Braminzero
5377          CBra 1          CBra 1
5378          Callout 255 1 9          Callout 255 1 9
5379          [ab]{1,4}          [ab]{1,4}+
5380          Callout 255 10 1          Callout 255 10 1
5381          c          c
5382          Callout 255 11 0          Callout 255 11 0
# Line 5411  Need char = '3' Line 5429  Need char = '3'
5429    
5430  /\b.*/I  /\b.*/I
5431  Capturing subpattern count = 0  Capturing subpattern count = 0
5432    Max lookbehind = 1
5433    May match empty string
5434  No options  No options
5435  No first char  No first char
5436  No need char  No need char
 Max lookbehind = 1  
5437    ab cd\>1    ab cd\>1
5438   0:  cd   0:  cd
5439    
5440  /\b.*/Is  /\b.*/Is
5441  Capturing subpattern count = 0  Capturing subpattern count = 0
5442    Max lookbehind = 1
5443    May match empty string
5444  Options: dotall  Options: dotall
5445  No first char  No first char
5446  No need char  No need char
 Max lookbehind = 1  
5447    ab cd\>1    ab cd\>1
5448   0:  cd   0:  cd
5449    
5450  /(?!.bcd).*/I  /(?!.bcd).*/I
5451  Capturing subpattern count = 0  Capturing subpattern count = 0
5452    May match empty string
5453  No options  No options
5454  No first char  No first char
5455  No need char  No need char
# Line 6017  Matched, but too many substrings Line 6038  Matched, but too many substrings
6038    
6039  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6040  Capturing subpattern count = 0  Capturing subpattern count = 0
6041    May match empty string
6042  No options  No options
6043  No first char  No first char
6044  No need char  No need char
# Line 6029  No need char Line 6051  No need char
6051    
6052  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6053  Capturing subpattern count = 0  Capturing subpattern count = 0
6054    May match empty string
6055  No options  No options
6056  No first char  No first char
6057  No need char  No need char
# Line 6039  No need char Line 6062  No need char
6062    
6063  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6064  Capturing subpattern count = 0  Capturing subpattern count = 0
6065    May match empty string
6066  No options  No options
6067  No first char  No first char
6068  No need char  No need char
# Line 6049  No need char Line 6073  No need char
6073    
6074  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6075  Capturing subpattern count = 0  Capturing subpattern count = 0
6076    May match empty string
6077  No options  No options
6078  No first char  No first char
6079  No need char  No need char
# Line 6061  No need char Line 6086  No need char
6086    
6087  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6088  Capturing subpattern count = 0  Capturing subpattern count = 0
6089    May match empty string
6090  No options  No options
6091  No first char  No first char
6092  No need char  No need char
# Line 6110  no parentheses with name "Z" Line 6136  no parentheses with name "Z"
6136   2: a1   2: a1
6137  copy substring Z failed -7  copy substring Z failed -7
6138    C a1 (2) A    C a1 (2) A
6139    
6140    /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
6141    Capturing subpattern count = 3
6142    Named capturing subpatterns:
6143      a   1
6144      a   3
6145      b   2
6146    May match empty string
6147    Options: dupnames
6148    No first char
6149    No need char
6150    
6151  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6152  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 6392  No options Line 6429  No options
6429  No first char  No first char
6430  Need char = ','  Need char = ','
6431  Subject length lower bound = 1  Subject length lower bound = 1
6432  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 ,
6433      \x0b,\x0b      \x0b,\x0b
6434   0: ,   0: \x0b,\x0b
6435      \x0c,\x0d      \x0c,\x0d
6436   0: \x0c,\x0d   0: \x0c,\x0d
6437    
# Line 6518  Unknown newline type at: <bad> Line 6555  Unknown newline type at: <bad>
6555    
6556  /.*/I<lf>  /.*/I<lf>
6557  Capturing subpattern count = 0  Capturing subpattern count = 0
6558    May match empty string
6559  Options:  Options:
6560  Forced newline sequence: LF  Forced newline sequence: LF
6561  First char at start or follows newline  First char at start or follows newline
# Line 6559  Need char = 'f' Line 6597  Need char = 'f'
6597    
6598  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6599  Capturing subpattern count = 1  Capturing subpattern count = 1
6600    May match empty string
6601  No options  No options
6602  No first char  No first char
6603  No need char  No need char
# Line 7482  Matched, but too many substrings Line 7521  Matched, but too many substrings
7521  /a*[^a]/BZ  /a*[^a]/BZ
7522  ------------------------------------------------------------------  ------------------------------------------------------------------
7523          Bra          Bra
7524          a*          a*+
7525          [^a]          [^a]
7526          Ket          Ket
7527          End          End
# Line 7624  No match Line 7663  No match
7663  ------------------------------------------------------------------  ------------------------------------------------------------------
7664          Bra          Bra
7665          ^          ^
7666          [a-z]+          [a-z]++
7667          Ket          Ket
7668          End          End
7669  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7665  No match Line 7704  No match
7704          ^          ^
7705          CBra 1          CBra 1
7706          Cond          Cond
7707        2 Cond nref        2 Cond ref
7708          y          y
7709          Ket          Ket
7710          [()]          [()]
# Line 7725  Named capturing subpatterns: Line 7764  Named capturing subpatterns:
7764    one     1    one     1
7765    three   3    three   3
7766    two     2    two     2
7767    May match empty string
7768  Options: anchored caseless  Options: anchored caseless
7769  No first char  No first char
7770  No need char  No need char
# Line 8561  No match Line 8601  No match
8601          \d          \d
8602          \v++          \v++
8603          \w          \w
8604          \v+          \v++
8605          \S          \S
8606          \v++          \v++
8607          \V          \V
# Line 8659  No match Line 8699  No match
8699   +6 ^      ^    (*FAIL)   +6 ^      ^    (*FAIL)
8700   +6 ^     ^     (*FAIL)   +6 ^     ^     (*FAIL)
8701   +6 ^    ^      (*FAIL)   +6 ^    ^      (*FAIL)
  +4 ^  ^        c+  
  +2 ^ ^         b?  
  +4 ^ ^         c+  
  +2 ^^          b?  
  +4 ^^          c+  
8702   +0  ^          a+   +0  ^          a+
8703   +2  ^ ^        b?   +2  ^ ^        b?
8704   +4  ^  ^       c+   +4  ^  ^       c+
8705   +6  ^     ^    (*FAIL)   +6  ^     ^    (*FAIL)
8706   +6  ^    ^     (*FAIL)   +6  ^    ^     (*FAIL)
8707   +6  ^   ^      (*FAIL)   +6  ^   ^      (*FAIL)
  +4  ^ ^        c+  
  +2  ^^         b?  
  +4  ^^         c+  
8708   +0   ^         a+   +0   ^         a+
8709   +2   ^^        b?   +2   ^^        b?
8710   +4   ^ ^       c+   +4   ^ ^       c+
8711   +6   ^    ^    (*FAIL)   +6   ^    ^    (*FAIL)
8712   +6   ^   ^     (*FAIL)   +6   ^   ^     (*FAIL)
8713   +6   ^  ^      (*FAIL)   +6   ^  ^      (*FAIL)
  +4   ^^        c+  
8714  No match  No match
8715    
8716  /a+b?(*PRUNE)c+(*FAIL)/C  /a+b?(*PRUNE)c+(*FAIL)/C
# Line 8803  No match Line 8834  No match
8834   1: \x0a   1: \x0a
8835    
8836  /a(*CR)b/  /a(*CR)b/
8837  Failed: (*VERB) not recognized at offset 5  Failed: (*VERB) not recognized or malformed at offset 5
8838    
8839  /(*CR)a.b/  /(*CR)a.b/
8840      a\nb      a\nb
# Line 9264  Starting byte set: x y z Line 9295  Starting byte set: x y z
9295    
9296  /(?(?=.*b)b|^)/CI  /(?(?=.*b)b|^)/CI
9297  Capturing subpattern count = 0  Capturing subpattern count = 0
9298    May match empty string
9299  Options:  Options:
9300  No first char  No first char
9301  No need char  No need char
# Line 9276  No need char Line 9308  No need char
9308   +7 ^ ^     b   +7 ^ ^     b
9309   +7 ^^      b   +7 ^^      b
9310   +7 ^       b   +7 ^       b
9311    +11 ^       ^
9312  +12 ^       )  +12 ^       )
9313  +13 ^  +13 ^
9314   0:   0:
# Line 9406  No match Line 9439  No match
9439   +3 ^ ^      (?(?=[a])[^"])   +3 ^ ^      (?(?=[a])[^"])
9440   +5 ^ ^      (?=[a])   +5 ^ ^      (?=[a])
9441   +8 ^ ^      [a]   +8 ^ ^      [a]
9442    +17 ^ ^      |
9443  +21 ^ ^      "  +21 ^ ^      "
9444  +18 ^ ^      b  +18 ^ ^      b
9445  +19 ^  ^     )  +19 ^  ^     )
9446   +3 ^  ^     (?(?=[a])[^"])   +3 ^  ^     (?(?=[a])[^"])
9447   +5 ^  ^     (?=[a])   +5 ^  ^     (?=[a])
9448   +8 ^  ^     [a]   +8 ^  ^     [a]
9449    +17 ^  ^     |
9450  +21 ^  ^     "  +21 ^  ^     "
9451  +22 ^   ^    $  +22 ^   ^    $
9452  +23 ^   ^  +23 ^   ^
# Line 9719  Partial match: abc12 Line 9754  Partial match: abc12
9754      xyzabc123pqr      xyzabc123pqr
9755   0: 123   0: 123
9756      xyzabc12\P      xyzabc12\P
9757  Partial match: abc12  Partial match at offset 6: abc12
9758      xyzabc12\P\P      xyzabc12\P\P
9759  Partial match: abc12  Partial match at offset 6: abc12
9760    
9761  /\babc\b/  /\babc\b/
9762      +++abc+++      +++abc+++
9763   0: abc   0: abc
9764      +++ab\P      +++ab\P
9765  Partial match: +ab  Partial match at offset 3: +ab
9766      +++ab\P\P      +++ab\P\P
9767  Partial match: +ab  Partial match at offset 3: +ab
9768    
9769  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9770  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 10110  No set of starting bytes Line 10145  No set of starting bytes
10145  "(?>.*/)foo"SI  "(?>.*/)foo"SI
10146  Capturing subpattern count = 0  Capturing subpattern count = 0
10147  No options  No options
10148  First char at start or follows newline  No first char
10149  Need char = 'o'  Need char = 'o'
10150  Subject length lower bound = 4  Subject length lower bound = 4
10151  No set of starting bytes  No set of starting bytes
# Line 10172  No set of starting bytes Line 10207  No set of starting bytes
10207  Capturing subpattern count = 1  Capturing subpattern count = 1
10208  Named capturing subpatterns:  Named capturing subpatterns:
10209    a   1    a   1
   a   1  
10210  No options  No options
10211  No first char  No first char
10212  No need char  No need char
# Line 10245  No match Line 10279  No match
10279          Ket          Ket
10280          Ket          Ket
10281          Cond          Cond
10282        4 Cond nref          Cond ref <D>2
10283          X          X
10284          Alt          Alt
10285          Y          Y
# Line 10291  No match Line 10325  No match
10325          CBra 4          CBra 4
10326          d          d
10327          Cond          Cond
10328          Cond nrecurse 1          Cond recurse <A>2
10329          $          $
10330          Alt          Alt
10331          Recurse          Recurse
# Line 10353  Partial match: abca Line 10387  Partial match: abca
10387      xxxxabcde\P\P      xxxxabcde\P\P
10388  Partial match: abcde  Partial match: abcde
10389    
10390  /-- 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
10391      broken and not behaving as specified in that it *does* bumpalong after      broken and not behaving as specified in that it *does* bumpalong after
10392      hitting (*COMMIT). --/      hitting (*COMMIT). --/
10393    
# Line 10549  No match Line 10583  No match
10583          End          End
10584  ------------------------------------------------------------------  ------------------------------------------------------------------
10585    
10586  / -- 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  
10587       believe this to be a Perl bug. --/       believe this to be a Perl bug. --/
10588    
 /(?=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  
   
10589  /(?>a\Kb)z|(ab)/  /(?>a\Kb)z|(ab)/
10590      ab      ab
10591   0: ab   0: ab
10592   1: ab   1: ab
10593    
 /----------------------/  
   
10594  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10595  Failed: recursive call could loop indefinitely at offset 31  Failed: recursive call could loop indefinitely at offset 31
10596    
# Line 10596  Failed: an argument is not allowed for ( Line 10610  Failed: an argument is not allowed for (
10610      ACABX      ACABX
10611  No match  No match
10612    
10613  /--- 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
10614       is a bug in Perl. ---/       is a bug in Perl. ---/
10615    
10616  /A(*THEN)B|A(*THEN)C/K  /A(*THEN)B|A(*THEN)C/K
# Line 10607  No match Line 10621  No match
10621      AC      AC
10622  No match  No match
10623    
 /--- 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  
   
10624  /--- 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,
10625  though PCRE does. ---/  though PCRE does. ---/
10626    
# Line 10647  No match Line 10654  No match
10654      abcccd      abcccd
10655  No match  No match
10656    
10657  /--- Perl 5.11 gets some of these wrong ---/  /--- Perl gets some of these wrong ---/
10658    
10659  /(?>.(*ACCEPT))*?5/  /(?>.(*ACCEPT))*?5/
10660      abcde      abcde
# Line 10755  No match Line 10762  No match
10762  /\s*\R/BZ  /\s*\R/BZ
10763  ------------------------------------------------------------------  ------------------------------------------------------------------
10764          Bra          Bra
10765          \s*+          \s*
10766            \R
10767            Ket
10768            End
10769    ------------------------------------------------------------------
10770        \x20\x0a
10771     0:  \x0a
10772        \x20\x0d
10773     0:  \x0d
10774        \x20\x0d\x0a
10775     0:  \x0d\x0a
10776    
10777    /\S*\R/BZ
10778    ------------------------------------------------------------------
10779            Bra
10780            \S*+
10781          \R          \R
10782          Ket          Ket
10783          End          End
10784  ------------------------------------------------------------------  ------------------------------------------------------------------
10785        a\x0a
10786     0: a\x0a
10787    
10788  /-- Perl treats this one differently, not failing the second string. I believe  /X\h*\R/BZ
10789      that is a bug in Perl. --/  ------------------------------------------------------------------
10790            Bra
10791            X
10792            \h*+
10793            \R
10794            Ket
10795            End
10796    ------------------------------------------------------------------
10797        X\x20\x0a
10798     0: X \x0a
10799    
10800  /^((abc|abcx)(*THEN)y|abcd)/  /X\H*\R/BZ
10801      abcd  ------------------------------------------------------------------
10802   0: abcd          Bra
10803   1: abcd          X
10804      *** Failers          \H*
10805  No match          \R
10806      abcxy          Ket
10807            End
10808    ------------------------------------------------------------------
10809        X\x0d\x0a
10810     0: X\x0d\x0a
10811    
10812    /X\H+\R/BZ
10813    ------------------------------------------------------------------
10814            Bra
10815            X
10816            \H+
10817            \R
10818            Ket
10819            End
10820    ------------------------------------------------------------------
10821        X\x0d\x0a
10822     0: X\x0d\x0a
10823    
10824    /X\H++\R/BZ
10825    ------------------------------------------------------------------
10826            Bra
10827            X
10828            \H++
10829            \R
10830            Ket
10831            End
10832    ------------------------------------------------------------------
10833        X\x0d\x0a
10834  No match  No match
10835    
10836  /(?<=abc)def/  /(?<=abc)def/
10837      abc\P\P      abc\P\P
10838  Partial match: abc  Partial match at offset 3: abc
10839    
10840  /abc$/  /abc$/
10841      abc      abc
# Line 11022  No need char Line 11082  No need char
11082    
11083  /(^ab|^)+/I  /(^ab|^)+/I
11084  Capturing subpattern count = 1  Capturing subpattern count = 1
11085    May match empty string
11086  Options: anchored  Options: anchored
11087  No first char  No first char
11088  No need char  No need char
11089    
11090  /(^ab|^)++/I  /(^ab|^)++/I
11091  Capturing subpattern count = 1  Capturing subpattern count = 1
11092    May match empty string
11093  Options: anchored  Options: anchored
11094  No first char  No first char
11095  No need char  No need char
# Line 11046  No need char Line 11108  No need char
11108    
11109  /(?:^ab|^)+/I  /(?:^ab|^)+/I
11110  Capturing subpattern count = 0  Capturing subpattern count = 0
11111    May match empty string
11112  Options: anchored  Options: anchored
11113  No first char  No first char
11114  No need char  No need char
11115    
11116  /(?:^ab|^)++/I  /(?:^ab|^)++/I
11117  Capturing subpattern count = 0  Capturing subpattern count = 0
11118    May match empty string
11119  Options: anchored  Options: anchored
11120  No first char  No first char
11121  No need char  No need char
# Line 11070  Need char = 'b' Line 11134  Need char = 'b'
11134    
11135  /(.*ab|.*)+/I  /(.*ab|.*)+/I
11136  Capturing subpattern count = 1  Capturing subpattern count = 1
11137    May match empty string
11138  No options  No options
11139  First char at start or follows newline  First char at start or follows newline
11140  No need char  No need char
11141    
11142  /(.*ab|.*)++/I  /(.*ab|.*)++/I
11143  Capturing subpattern count = 1  Capturing subpattern count = 1
11144    May match empty string
11145  No options  No options
11146  First char at start or follows newline  First char at start or follows newline
11147  No need char  No need char
# Line 11094  Need char = 'b' Line 11160  Need char = 'b'
11160    
11161  /(?:.*ab|.*)+/I  /(?:.*ab|.*)+/I
11162  Capturing subpattern count = 0  Capturing subpattern count = 0
11163    May match empty string
11164  No options  No options
11165  First char at start or follows newline  First char at start or follows newline
11166  No need char  No need char
11167    
11168  /(?:.*ab|.*)++/I  /(?:.*ab|.*)++/I
11169  Capturing subpattern count = 0  Capturing subpattern count = 0
11170    May match empty string
11171  No options  No options
11172  First char at start or follows newline  First char at start or follows newline
11173  No need char  No need char
# Line 11254  No match Line 11322  No match
11322    
11323  /(a)b|ac/++SS  /(a)b|ac/++SS
11324      ac\O3      ac\O3
 Matched, but too many substrings  
11325   0: ac   0: ac
11326   0+   0+
11327    
# Line 11506  Matched, but too many substrings Line 11573  Matched, but too many substrings
11573          Assert not          Assert not
11574          a          a
11575          Ket          Ket
11576          \w+          \w++
11577          Ket          Ket
11578          End          End
11579  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 11614  No match Line 11681  No match
11681    
11682  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11683  Capturing subpattern count = 0  Capturing subpattern count = 0
11684    Max lookbehind = 1
11685  No options  No options
11686  First char = 't'  First char = 't'
11687  Need char = 't'  Need char = 't'
 Max lookbehind = 1  
11688  Subject length lower bound = 18  Subject length lower bound = 18
11689  No set of starting bytes  No set of starting bytes
11690    
11691  /\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
11692  Capturing subpattern count = 0  Capturing subpattern count = 0
11693    Max lookbehind = 1
11694  No options  No options
11695  No first char  No first char
11696  No need char  No need char
 Max lookbehind = 1  
11697  Subject length lower bound = 8  Subject length lower bound = 8
11698  Starting byte set: < o t u  Starting byte set: < o t u
11699    
11700  /a(*SKIP)c|b(*ACCEPT)|/+SI  /a(*SKIP)c|b(*ACCEPT)|/+S!I
11701  Capturing subpattern count = 0  Capturing subpattern count = 0
11702    May match empty string
11703  No options  No options
11704  No first char  No first char
11705  No need char  No need char
11706  Study returned NULL  Subject length lower bound = -1
11707    No set of starting bytes
11708      a      a
11709   0:   0:
11710   0+   0+
# Line 11696  Minimum match() limit = 86 Line 11765  Minimum match() limit = 86
11765  Minimum match() recursion limit = 45  Minimum match() recursion limit = 45
11766   0: abbbbbbbbbbbbbbbbbbbbba   0: abbbbbbbbbbbbbbbbbbbbba
11767    
 /-- 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  
   
 /-----------------------------------------------/  
   
11768  /^(?>a+)(?>(z+))\w/BZ  /^(?>a+)(?>(z+))\w/BZ
11769  ------------------------------------------------------------------  ------------------------------------------------------------------
11770          Bra          Bra
11771          ^          ^
11772          Once_NC          Once_NC
11773          a+          a++
11774          Ket          Ket
11775          Once          Once
11776          CBra 1          CBra 1
11777          z+          z++
11778          Ket          Ket
11779          Ket          Ket
11780          \w          \w
# Line 11823  No match Line 11833  No match
11833    
11834  /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/  /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
11835       \Maabbccddee       \Maabbccddee
11836  Minimum match() limit = 12  Minimum match() limit = 7
11837  Minimum match() recursion limit = 3  Minimum match() recursion limit = 2
11838   0: aabbccddee   0: aabbccddee
11839    
11840  /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/  /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
11841       \Maabbccddee       \Maabbccddee
11842  Minimum match() limit = 22  Minimum match() limit = 17
11843  Minimum match() recursion limit = 21  Minimum match() recursion limit = 16
11844   0: aabbccddee   0: aabbccddee
11845   1: aa   1: aa
11846   2: bb   2: bb
# Line 11840  Minimum match() recursion limit = 21 Line 11850  Minimum match() recursion limit = 21
11850    
11851  /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/  /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
11852       \Maabbccddee       \Maabbccddee
11853  Minimum match() limit = 18  Minimum match() limit = 13
11854  Minimum match() recursion limit = 13  Minimum match() recursion limit = 10
11855   0: aabbccddee   0: aabbccddee
11856   1: aa   1: aa
11857   2: cc   2: cc
# Line 12271  Partial match: \x0d\x0d Line 12281  Partial match: \x0d\x0d
12281      \r\r\r\P\P      \r\r\r\P\P
12282   0: \x0d\x0d   0: \x0d\x0d
12283    
12284  /-- This one is here because Perl does not match: it seems to allow the COMMIT  "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12285  to escape from the assertion. --/      ABCDGHI\O03
12286    Matched, but too many substrings
12287     0: ABCD
12288    
12289    /-- These are all run as real matches in test 1; here we are just checking the
12290    settings of the anchored and startline bits. --/
12291    
12292  /(?=a(*COMMIT)b|ac)ac|ac/  /(?>.*?a)(?<=ba)/I
12293      ac  Capturing subpattern count = 0
12294   0: ac  Max lookbehind = 2
12295    No options
12296    No first char
12297    Need char = 'a'
12298    
12299    /(?:.*?a)(?<=ba)/I
12300    Capturing subpattern count = 0
12301    Max lookbehind = 2
12302    No options
12303    First char at start or follows newline
12304    Need char = 'a'
12305    
12306    /.*?a(*PRUNE)b/I
12307    Capturing subpattern count = 0
12308    No options
12309    No first char
12310    Need char = 'b'
12311    
12312    /.*?a(*PRUNE)b/sI
12313    Capturing subpattern count = 0
12314    Options: dotall
12315    No first char
12316    Need char = 'b'
12317    
12318    /^a(*PRUNE)b/sI
12319    Capturing subpattern count = 0
12320    Options: anchored dotall
12321    No first char
12322    No need char
12323    
12324    /.*?a(*SKIP)b/I
12325    Capturing subpattern count = 0
12326    No options
12327    No first char
12328    Need char = 'b'
12329    
12330    /(?>.*?a)b/sI
12331    Capturing subpattern count = 0
12332    Options: dotall
12333    No first char
12334    Need char = 'b'
12335    
12336    /(?>.*?a)b/I
12337    Capturing subpattern count = 0
12338    No options
12339    No first char
12340    Need char = 'b'
12341    
12342    /(?>^a)b/sI
12343    Capturing subpattern count = 0
12344    Options: anchored dotall
12345    No first char
12346    No need char
12347    
12348    /(?>.*?)(?<=(abcd)|(wxyz))/I
12349    Capturing subpattern count = 2
12350    Max lookbehind = 4
12351    May match empty string
12352    No options
12353    No first char
12354    No need char
12355    
12356    /(?>.*)(?<=(abcd)|(wxyz))/I
12357    Capturing subpattern count = 2
12358    Max lookbehind = 4
12359    May match empty string
12360    No options
12361    No first char
12362    No need char
12363    
12364    "(?>.*)foo"I
12365    Capturing subpattern count = 0
12366    No options
12367    No first char
12368    Need char = 'o'
12369    
12370    "(?>.*?)foo"I
12371    Capturing subpattern count = 0
12372    No options
12373    No first char
12374    Need char = 'o'
12375    
12376    /(?>^abc)/mI
12377    Capturing subpattern count = 0
12378    Options: multiline
12379    First char at start or follows newline
12380    Need char = 'c'
12381    
12382    /(?>.*abc)/mI
12383    Capturing subpattern count = 0
12384    Options: multiline
12385    No first char
12386    Need char = 'c'
12387    
12388    /(?:.*abc)/mI
12389    Capturing subpattern count = 0
12390    Options: multiline
12391    First char at start or follows newline
12392    Need char = 'c'
12393    
12394    /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12395    
12396    /.?/S-I
12397    Capturing subpattern count = 0
12398    May match empty string
12399    No options
12400    No first char
12401    No need char
12402    Study returned NULL
12403    
12404    /.?/S!I
12405    Capturing subpattern count = 0
12406    May match empty string
12407    No options
12408    No first char
12409    No need char
12410    Subject length lower bound = -1
12411    No set of starting bytes
12412    
12413    /(?:(a)+(?C1)bb|aa(?C2)b)/
12414        aab\C+
12415    Callout 1: last capture = 1
12416     0: <unset>
12417     1: a
12418    --->aab
12419        ^ ^     b
12420    Callout 1: last capture = 1
12421     0: <unset>
12422     1: a
12423    --->aab
12424        ^^      b
12425    Callout 2: last capture = -1
12426     0: <unset>
12427    --->aab
12428        ^ ^     b
12429     0: aab
12430    
12431    /(?:(a)++(?C1)bb|aa(?C2)b)/
12432        aab\C+
12433    Callout 1: last capture = 1
12434     0: <unset>
12435     1: a
12436    --->aab
12437        ^ ^     b
12438    Callout 2: last capture = -1
12439     0: <unset>
12440    --->aab
12441        ^ ^     b
12442     0: aab
12443    
12444    /(?:(?>(a))(?C1)bb|aa(?C2)b)/
12445        aab\C+
12446    Callout 1: last capture = 1
12447     0: <unset>
12448     1: a
12449    --->aab
12450        ^^      b
12451    Callout 2: last capture = -1
12452     0: <unset>
12453    --->aab
12454        ^ ^     b
12455     0: aab
12456    
12457    /(?:(?1)(?C1)x|ab(?C2))((a)){0}/
12458        aab\C+
12459    Callout 1: last capture = -1
12460     0: <unset>
12461    --->aab
12462        ^^      x
12463    Callout 1: last capture = -1
12464     0: <unset>
12465    --->aab
12466         ^^     x
12467    Callout 2: last capture = -1
12468     0: <unset>
12469    --->aab
12470         ^ ^    )
12471     0: ab
12472    
12473    /(?1)(?C1)((a)(?C2)){0}/
12474        aab\C+
12475    Callout 2: last capture = 2
12476     0: <unset>
12477     1: <unset>
12478     2: a
12479    --->aab
12480        ^^      )
12481    Callout 1: last capture = -1
12482     0: <unset>
12483    --->aab
12484        ^^      ((a)(?C2)){0}
12485     0: a
12486    
12487    /(?:(a)+(?C1)bb|aa(?C2)b)++/
12488        aab\C+
12489    Callout 1: last capture = 1
12490     0: <unset>
12491     1: a
12492    --->aab
12493        ^ ^     b
12494    Callout 1: last capture = 1
12495     0: <unset>
12496     1: a
12497    --->aab
12498        ^^      b
12499    Callout 2: last capture = -1
12500     0: <unset>
12501    --->aab
12502        ^ ^     b
12503     0: aab
12504        aab\C+\O2
12505    Callout 1: last capture = 1
12506     0: <unset>
12507    --->aab
12508        ^ ^     b
12509    Callout 1: last capture = 1
12510     0: <unset>
12511    --->aab
12512        ^^      b
12513    Callout 2: last capture = -1
12514     0: <unset>
12515    --->aab
12516        ^ ^     b
12517     0: aab
12518    
12519    /(ab)x|ab/
12520        ab\O3
12521     0: ab
12522        ab\O2
12523     0: ab
12524    
12525    /(ab)/
12526        ab\O3
12527    Matched, but too many substrings
12528     0: ab
12529        ab\O2
12530    Matched, but too many substrings
12531     0: ab
12532    
12533    /(?<=123)(*MARK:xx)abc/K
12534        xxxx123a\P\P
12535    Partial match at offset 7, mark=xx: 123a
12536        xxxx123a\P
12537    Partial match at offset 7, mark=xx: 123a
12538    
12539    /123\Kabc/
12540        xxxx123a\P\P
12541    Partial match: 123a
12542        xxxx123a\P
12543    Partial match: 123a
12544    
12545    /^(?(?=a)aa|bb)/C
12546        bb
12547    --->bb
12548     +0 ^      ^
12549     +1 ^      (?(?=a)aa|bb)
12550     +3 ^      (?=a)
12551     +6 ^      a
12552    +11 ^      b
12553    +12 ^^     b
12554    +13 ^ ^    )
12555    +14 ^ ^
12556     0: bb
12557    
12558    /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
12559        bb
12560    --->bb
12561      1 ^      ^
12562      2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
12563     99 ^      (?=(?C3)a(?C4))
12564      3 ^      a
12565      8 ^      b
12566      9 ^^     b
12567     10 ^ ^    )
12568     11 ^ ^
12569     0: bb
12570    
12571    /-- Perl seems to have a bug with this one --/
12572    
12573    /aaaaa(*COMMIT)(*PRUNE)b|a+c/
12574        aaaaaac
12575     0: aaaac
12576    
12577    /-- Here are some that Perl treats differently because of the way it handles
12578    backtracking verbs. --/
12579    
12580     /(?!a(*COMMIT)b)ac|ad/
12581         ac
12582     0: ac
12583         ad
12584     0: ad
12585    
12586    /^(?!a(*THEN)b|ac)../
12587         ac
12588    No match
12589         ad
12590     0: ad
12591    
12592    /^(?=a(*THEN)b|ac)/
12593        ac
12594     0:
12595    
12596    /\A.*?(?:a|b(*THEN)c)/
12597        ba
12598     0: ba
12599    
12600    /\A.*?(?:a|b(*THEN)c)++/
12601        ba
12602     0: ba
12603    
12604    /\A.*?(?:a|b(*THEN)c|d)/
12605        ba
12606     0: ba
12607    
12608    /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
12609        aac
12610     0: aac
12611    
12612    /\A.*?(a|b(*THEN)c)/
12613        ba
12614     0: ba
12615     1: a
12616    
12617    /^(A(*THEN)B|A(*THEN)D)/
12618        AD
12619     0: AD
12620     1: AD
12621    
12622    /(?!b(*THEN)a)bn|bnn/
12623        bnn
12624     0: bn
12625    
12626    /(?(?=b(*SKIP)a)bn|bnn)/
12627        bnn
12628    No match
12629    
12630    /(?=b(*THEN)a|)bn|bnn/
12631        bnn
12632     0: bn
12633    
12634    /-------------------------/
12635    
12636    /(*LIMIT_MATCH=12bc)abc/
12637    Failed: (*VERB) not recognized or malformed at offset 7
12638    
12639    /(*LIMIT_MATCH=4294967290)abc/
12640    Failed: (*VERB) not recognized or malformed at offset 7
12641    
12642    /(*LIMIT_RECURSION=4294967280)abc/I
12643    Capturing subpattern count = 0
12644    Recursion limit = 4294967280
12645    No options
12646    First char = 'a'
12647    Need char = 'c'
12648    
12649    /(a+)*zz/
12650        aaaaaaaaaaaaaz
12651    No match
12652        aaaaaaaaaaaaaz\q3000
12653    Error -8 (match limit exceeded)
12654    
12655    /(a+)*zz/S-
12656        aaaaaaaaaaaaaz\Q10
12657    Error -21 (recursion limit exceeded)
12658    
12659    /(*LIMIT_MATCH=3000)(a+)*zz/I
12660    Capturing subpattern count = 1
12661    Match limit = 3000
12662    No options
12663    No first char
12664    Need char = 'z'
12665        aaaaaaaaaaaaaz
12666    Error -8 (match limit exceeded)
12667        aaaaaaaaaaaaaz\q60000
12668    Error -8 (match limit exceeded)
12669    
12670    /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
12671    Capturing subpattern count = 1
12672    Match limit = 3000
12673    No options
12674    No first char
12675    Need char = 'z'
12676        aaaaaaaaaaaaaz
12677    Error -8 (match limit exceeded)
12678    
12679    /(*LIMIT_MATCH=60000)(a+)*zz/I
12680    Capturing subpattern count = 1
12681    Match limit = 60000
12682    No options
12683    No first char
12684    Need char = 'z'
12685        aaaaaaaaaaaaaz
12686    No match
12687        aaaaaaaaaaaaaz\q3000
12688    Error -8 (match limit exceeded)
12689    
12690    /(*LIMIT_RECURSION=10)(a+)*zz/IS-
12691    Capturing subpattern count = 1
12692    Recursion limit = 10
12693    No options
12694    No first char
12695    Need char = 'z'
12696    Subject length lower bound = 2
12697    Starting byte set: a z
12698        aaaaaaaaaaaaaz
12699    Error -21 (recursion limit exceeded)
12700        aaaaaaaaaaaaaz\Q1000
12701    Error -21 (recursion limit exceeded)
12702    
12703    /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12704    Capturing subpattern count = 1
12705    Recursion limit = 10
12706    No options
12707    No first char
12708    Need char = 'z'
12709    Subject length lower bound = 2
12710    Starting byte set: a z
12711        aaaaaaaaaaaaaz
12712    Error -21 (recursion limit exceeded)
12713    
12714    /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12715    Capturing subpattern count = 1
12716    Recursion limit = 1000
12717    No options
12718    No first char
12719    Need char = 'z'
12720    Subject length lower bound = 2
12721    Starting byte set: a z
12722        aaaaaaaaaaaaaz
12723    No match
12724        aaaaaaaaaaaaaz\Q10
12725    Error -21 (recursion limit exceeded)
12726    
12727    /-- This test causes a segfault with Perl 5.18.0 --/
12728    
12729    /^(?=(a)){0}b(?1)/
12730        backgammon
12731     0: ba
12732    
12733    /(?|(?<n>f)|(?<n>b))/JI
12734    Capturing subpattern count = 1
12735    Named capturing subpatterns:
12736      n   1
12737    Options: dupnames
12738    No first char
12739    No need char
12740    
12741    /(?<a>abc)(?<a>z)\k<a>()/JDZS
12742    ------------------------------------------------------------------
12743            Bra
12744            CBra 1
12745            abc
12746            Ket
12747            CBra 2
12748            z
12749            Ket
12750            \k<a>2
12751            CBra 3
12752            Ket
12753            Ket
12754            End
12755    ------------------------------------------------------------------
12756    Capturing subpattern count = 3
12757    Max back reference = 2
12758    Named capturing subpatterns:
12759      a   1
12760      a   2
12761    Options: dupnames
12762    First char = 'a'
12763    Need char = 'z'
12764    Subject length lower bound = 5
12765    No set of starting bytes
12766    
12767    /a*[bcd]/BZ
12768    ------------------------------------------------------------------
12769            Bra
12770            a*+
12771            [b-d]
12772            Ket
12773            End
12774    ------------------------------------------------------------------
12775    
12776    /[bcd]*a/BZ
12777    ------------------------------------------------------------------
12778            Bra
12779            [b-d]*+
12780            a
12781            Ket
12782            End
12783    ------------------------------------------------------------------
12784    
12785    /-- A complete set of tests for auto-possessification of character types --/
12786    
12787    /\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\X \D+\Z \D+\z \D+$/BZx
12788    ------------------------------------------------------------------
12789            Bra
12790            \D+
12791            \D
12792            \D++
12793            \d
12794            \D+
12795            \S
12796            \D+
12797            \s
12798            \D+
12799            \W
12800            \D+
12801            \w
12802            \D+
12803            Any
12804            \D+
12805            AllAny
12806            \D+
12807            \R
12808            \D+
12809            \H
12810            \D+
12811            \h
12812            \D+
12813            \V
12814            \D+
12815            \v
12816            \D+
12817            extuni
12818            \D+
12819            \Z
12820            \D++
12821            \z
12822            \D+
12823            $
12824            Ket
12825            End
12826    ------------------------------------------------------------------
12827    
12828    /\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\X \d+\Z \d+\z \d+$/BZx
12829    ------------------------------------------------------------------
12830            Bra
12831            \d++
12832            \D
12833            \d+
12834            \d
12835            \d+
12836            \S
12837            \d++
12838            \s
12839            \d++
12840            \W
12841            \d+
12842            \w
12843            \d+
12844            Any
12845            \d+
12846            AllAny
12847            \d++
12848            \R
12849            \d+
12850            \H
12851            \d++
12852            \h
12853            \d+
12854            \V
12855            \d++
12856            \v
12857            \d+
12858            extuni
12859            \d++
12860            \Z
12861            \d++
12862            \z
12863            \d++
12864            $
12865            Ket
12866            End
12867    ------------------------------------------------------------------
12868    
12869    /\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\X \S+\Z \S+\z \S+$/BZx
12870    ------------------------------------------------------------------
12871            Bra
12872            \S+
12873            \D
12874            \S+
12875            \d
12876            \S+
12877            \S
12878            \S++
12879            \s
12880            \S+
12881            \W
12882            \S+
12883            \w
12884            \S+
12885            Any
12886            \S+
12887            AllAny
12888            \S++
12889            \R
12890            \S+
12891            \H
12892            \S++
12893            \h
12894            \S+
12895            \V
12896            \S++
12897            \v
12898            \S+
12899            extuni
12900            \S++
12901            \Z
12902            \S++
12903            \z
12904            \S++
12905            $
12906            Ket
12907            End
12908    ------------------------------------------------------------------
12909    
12910    /\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\X \s+\Z \s+\z \s+$/BZx
12911    ------------------------------------------------------------------
12912            Bra
12913            \s+
12914            \D
12915            \s++
12916            \d
12917            \s++
12918            \S
12919            \s+
12920            \s
12921            \s+
12922            \W
12923            \s++
12924            \w
12925            \s+
12926            Any
12927            \s+
12928            AllAny
12929            \s+
12930            \R
12931            \s+
12932            \H
12933            \s+
12934            \h
12935            \s+
12936            \V
12937            \s+
12938            \v
12939            \s+
12940            extuni
12941            \s+
12942            \Z
12943            \s++
12944            \z
12945            \s+
12946            $
12947            Ket
12948            End
12949    ------------------------------------------------------------------
12950    
12951    /\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\X \W+\Z \W+\z \W+$/BZx
12952    ------------------------------------------------------------------
12953            Bra
12954            \W+
12955            \D
12956            \W++
12957            \d
12958            \W+
12959            \S
12960            \W+
12961            \s
12962            \W+
12963            \W
12964            \W++
12965            \w
12966            \W+
12967            Any
12968            \W+
12969            AllAny
12970            \W+
12971            \R
12972            \W+
12973            \H
12974            \W+
12975            \h
12976            \W+
12977            \V
12978            \W+
12979            \v
12980            \W+
12981            extuni
12982            \W+
12983            \Z
12984            \W++
12985            \z
12986            \W+
12987            $
12988            Ket
12989            End
12990    ------------------------------------------------------------------
12991    
12992    /\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\X \w+\Z \w+\z \w+$/BZx
12993    ------------------------------------------------------------------
12994            Bra
12995            \w+
12996            \D
12997            \w+
12998            \d
12999            \w+
13000            \S
13001            \w++
13002            \s
13003            \w++
13004            \W
13005            \w+
13006            \w
13007            \w+
13008            Any
13009            \w+
13010            AllAny
13011            \w++
13012            \R
13013            \w+
13014            \H
13015            \w++
13016            \h
13017            \w+
13018            \V
13019            \w++
13020            \v
13021            \w+
13022            extuni
13023            \w++
13024            \Z
13025            \w++
13026            \z
13027            \w++
13028            $
13029            Ket
13030            End
13031    ------------------------------------------------------------------
13032    
13033    /\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\X \C+\Z \C+\z \C+$/BZx
13034    ------------------------------------------------------------------
13035            Bra
13036            AllAny+
13037            \D
13038            AllAny+
13039            \d
13040            AllAny+
13041            \S
13042            AllAny+
13043            \s
13044            AllAny+
13045            \W
13046            AllAny+
13047            \w
13048            AllAny+
13049            Any
13050            AllAny+
13051            AllAny
13052            AllAny+
13053            \R
13054            AllAny+
13055            \H
13056            AllAny+
13057            \h
13058            AllAny+
13059            \V
13060            AllAny+
13061            \v
13062            AllAny+
13063            extuni
13064            AllAny+
13065            \Z
13066            AllAny++
13067            \z
13068            AllAny+
13069            $
13070            Ket
13071            End
13072    ------------------------------------------------------------------
13073    
13074    /\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\X \R+\Z \R+\z \R+$/BZx
13075    ------------------------------------------------------------------
13076            Bra
13077            \R+
13078            \D
13079            \R++
13080            \d
13081            \R+
13082            \S
13083            \R++
13084            \s
13085            \R+
13086            \W
13087            \R++
13088            \w
13089            \R++
13090            Any
13091            \R+
13092            AllAny
13093            \R+
13094            \R
13095            \R+
13096            \H
13097            \R++
13098            \h
13099            \R+
13100            \V
13101            \R+
13102            \v
13103            \R+
13104            extuni
13105            \R+
13106            \Z
13107            \R++
13108            \z
13109            \R+
13110            $
13111            Ket
13112            End
13113    ------------------------------------------------------------------
13114    
13115    /\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\X \H+\Z \H+\z \H+$/BZx
13116    ------------------------------------------------------------------
13117            Bra
13118            \H+
13119            \D
13120            \H+
13121            \d
13122            \H+
13123            \S
13124            \H+
13125            \s
13126            \H+
13127            \W
13128            \H+
13129            \w
13130            \H+
13131            Any
13132            \H+
13133            AllAny
13134            \H+
13135            \R
13136            \H+
13137            \H
13138            \H++
13139            \h
13140            \H+
13141            \V
13142            \H+
13143            \v
13144            \H+
13145            extuni
13146            \H+
13147            \Z
13148            \H++
13149            \z
13150            \H+
13151            $
13152            Ket
13153            End
13154    ------------------------------------------------------------------
13155    
13156    /\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\X \h+\Z \h+\z \h+$/BZx
13157    ------------------------------------------------------------------
13158            Bra
13159            \h+
13160            \D
13161            \h++
13162            \d
13163            \h++
13164            \S
13165            \h+
13166            \s
13167            \h+
13168            \W
13169            \h++
13170            \w
13171            \h+
13172            Any
13173            \h+
13174            AllAny
13175            \h++
13176            \R
13177            \h++
13178            \H
13179            \h+
13180            \h
13181            \h+
13182            \V
13183            \h++
13184            \v
13185            \h+
13186            extuni
13187            \h+
13188            \Z
13189            \h++
13190            \z
13191            \h+
13192            $
13193            Ket
13194            End
13195    ------------------------------------------------------------------
13196    
13197    /\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\X \V+\Z \V+\z \V+$/BZx
13198    ------------------------------------------------------------------
13199            Bra
13200            \V+
13201            \D
13202            \V+
13203            \d
13204            \V+
13205            \S
13206            \V+
13207            \s
13208            \V+
13209            \W
13210            \V+
13211            \w
13212            \V+
13213            Any
13214            \V+
13215            AllAny
13216            \V++
13217            \R
13218            \V+
13219            \H
13220            \V+
13221            \h
13222            \V+
13223            \V
13224            \V++
13225            \v
13226            \V+
13227            extuni
13228            \V+
13229            \Z
13230            \V++
13231            \z
13232            \V+
13233            $
13234            Ket
13235            End
13236    ------------------------------------------------------------------
13237    
13238    /\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\X \v+\Z \v+\z \v+$/BZx
13239    ------------------------------------------------------------------
13240            Bra
13241            \v+
13242            \D
13243            \v++
13244            \d
13245            \v++
13246            \S
13247            \v+
13248            \s
13249            \v+
13250            \W
13251            \v++
13252            \w
13253            \v+
13254            Any
13255            \v+
13256            AllAny
13257            \v+
13258            \R
13259            \v+
13260            \H
13261            \v++
13262            \h
13263            \v++
13264            \V
13265            \v+
13266            \v
13267            \v+
13268            extuni
13269            \v+
13270            \Z
13271            \v++
13272            \z
13273            \v+
13274            $
13275            Ket
13276            End
13277    ------------------------------------------------------------------
13278    
13279    /\X+\D \X+\d \X+\S \X+\s \X+\W \X+\w \X+. \X+\C \X+\R \X+\H \X+\h \X+\V \X+\v \X+\X \X+\Z \X+\z \X+$/BZx
13280    ------------------------------------------------------------------
13281            Bra
13282            extuni+
13283            \D
13284            extuni+
13285            \d
13286            extuni+
13287            \S
13288            extuni+
13289            \s
13290            extuni+
13291            \W
13292            extuni+
13293            \w
13294            extuni+
13295            Any
13296            extuni+
13297            AllAny
13298            extuni+
13299            \R
13300            extuni+
13301            \H
13302            extuni+
13303            \h
13304            extuni+
13305            \V
13306            extuni+
13307            \v
13308            extuni+
13309            extuni
13310            extuni+
13311            \Z
13312            extuni++
13313            \z
13314            extuni+
13315            $
13316            Ket
13317            End
13318    ------------------------------------------------------------------
13319    
13320    / a+\D  a+\d  a+\S  a+\s  a+\W  a+\w  a+.  a+\C  a+\R  a+\H  a+\h  a+\V  a+\v  a+\X  a+\Z  a+\z  a+$/BZx
13321    ------------------------------------------------------------------
13322            Bra
13323            a+
13324            \D
13325            a++
13326            \d
13327            a+
13328            \S
13329            a++
13330            \s
13331            a++
13332            \W
13333            a+
13334            \w
13335            a+
13336            Any
13337            a+
13338            AllAny
13339            a++
13340            \R
13341            a+
13342            \H
13343            a++
13344            \h
13345            a+
13346            \V
13347            a++
13348            \v
13349            a+
13350            extuni
13351            a++
13352            \Z
13353            a++
13354            \z
13355            a++
13356            $
13357            Ket
13358            End
13359    ------------------------------------------------------------------
13360    
13361    /\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\X \n+\Z \n+\z \n+$/BZx
13362    ------------------------------------------------------------------
13363            Bra
13364            \x0a+
13365            \D
13366            \x0a++
13367            \d
13368            \x0a++
13369            \S
13370            \x0a+
13371            \s
13372            \x0a+
13373            \W
13374            \x0a++
13375            \w
13376            \x0a+
13377            Any
13378            \x0a+
13379            AllAny
13380            \x0a+
13381            \R
13382            \x0a+
13383            \H
13384            \x0a++
13385            \h
13386            \x0a++
13387            \V
13388            \x0a+
13389            \v
13390            \x0a+
13391            extuni
13392            \x0a+
13393            \Z
13394            \x0a++
13395            \z
13396            \x0a+
13397            $
13398            Ket
13399            End
13400    ------------------------------------------------------------------
13401    
13402    / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\X  .+\Z  .+\z  .+$/BZx
13403    ------------------------------------------------------------------
13404            Bra
13405            Any+
13406            \D
13407            Any+
13408            \d
13409            Any+
13410            \S
13411            Any+
13412            \s
13413            Any+
13414            \W
13415            Any+
13416            \w
13417            Any+
13418            Any
13419            Any+
13420            AllAny
13421            Any++
13422            \R
13423            Any+
13424            \H
13425            Any+
13426            \h
13427            Any+
13428            \V
13429            Any+
13430            \v
13431            Any+
13432            extuni
13433            Any+
13434            \Z
13435            Any++
13436            \z
13437            Any+
13438            $
13439            Ket
13440            End
13441    ------------------------------------------------------------------
13442    
13443    / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\X  .+\Z  .+\z  .+$/BZxs
13444    ------------------------------------------------------------------
13445            Bra
13446            AllAny+
13447            \D
13448            AllAny+
13449            \d
13450            AllAny+
13451            \S
13452            AllAny+
13453            \s
13454            AllAny+
13455            \W
13456            AllAny+
13457            \w
13458            AllAny+
13459            AllAny
13460            AllAny+
13461            AllAny
13462            AllAny+
13463            \R
13464            AllAny+
13465            \H
13466            AllAny+
13467            \h
13468            AllAny+
13469            \V
13470            AllAny+
13471            \v
13472            AllAny+
13473            extuni
13474            AllAny+
13475            \Z
13476            AllAny++
13477            \z
13478            AllAny+
13479            $
13480            Ket
13481            End
13482    ------------------------------------------------------------------
13483    
13484    /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$  \X+$   a+$  \n+$   .+$  .+$/BZxm
13485    ------------------------------------------------------------------
13486            Bra
13487            \D+
13488         /m $
13489            \d++
13490         /m $
13491            \S++
13492         /m $
13493            \s+
13494         /m $
13495            \W+
13496         /m $
13497            \w++
13498         /m $
13499            AllAny+
13500         /m $
13501            \R+
13502         /m $
13503            \H+
13504         /m $
13505            \h+
13506         /m $
13507            \V+
13508         /m $
13509            \v+
13510         /m $
13511            extuni+
13512         /m $
13513            a+
13514         /m $
13515            \x0a+
13516         /m $
13517            Any+
13518         /m $
13519            Any+
13520         /m $
13521            Ket
13522            End
13523    ------------------------------------------------------------------
13524    
13525    /(?=a+)a(a+)++a/BZ
13526    ------------------------------------------------------------------
13527            Bra
13528            Assert
13529            a++
13530            Ket
13531            a
13532            CBraPos 1
13533            a++
13534            KetRpos
13535            a
13536            Ket
13537            End
13538    ------------------------------------------------------------------
13539    
13540    /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
13541    ------------------------------------------------------------------
13542            Bra
13543            a++
13544            CBra 1
13545            bb
13546            Alt
13547            cc
13548            Ket
13549            a++
13550            Bra
13551            bb
13552            Alt
13553            cc
13554            Ket
13555            a++
13556            Once_NC
13557            bb
13558            Alt
13559            cc
13560            Ket
13561            a+
13562            Bra
13563            bb
13564            Alt
13565            cc
13566            KetRmax
13567            a+
13568            CBra 2
13569            aa
13570            Ket
13571            a+
13572            Bra
13573            bb
13574            Alt
13575            aa
13576            Ket
13577            Ket
13578            End
13579    ------------------------------------------------------------------
13580    
13581    /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
13582    ------------------------------------------------------------------
13583            Bra
13584            a++
13585            Brazero
13586            CBra 1
13587            bb
13588            Alt
13589            cc
13590            Ket
13591            #
13592            a++
13593            Braminzero
13594            Bra
13595            bb
13596            Alt
13597            cc
13598            Ket
13599            #
13600            a++
13601            Once
13602            Brazero
13603            Bra
13604            bb
13605            Alt
13606            cc
13607            Ket
13608            Ket
13609            #
13610            a+
13611            Brazero
13612            Bra
13613            bb
13614            Alt
13615            cc
13616            KetRmax
13617            #
13618            a+
13619            Brazero
13620            CBra 2
13621            bb
13622            Alt
13623            cc
13624            Ket
13625            a#
13626            a+
13627            Brazero
13628            Bra
13629            aa
13630            Ket
13631            Ket
13632            End
13633    ------------------------------------------------------------------
13634    
13635    /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
13636    ------------------------------------------------------------------
13637            Bra
13638            a+
13639            Brazero
13640            Bra
13641            bb
13642            Ket
13643            a#
13644            a++
13645            Bra
13646            Alt
13647            Alt
13648            Alt
13649            Ket
13650            #
13651            a+
13652            Bra
13653            Alt
13654            b
13655            Ket
13656            a#
13657            a+
13658            Brazero
13659            Bra
13660            Alt
13661            Alt
13662            Alt
13663            Ket
13664            a
13665            Ket
13666            End
13667    ------------------------------------------------------------------
13668    
13669    /[ab]*/BZ
13670    ------------------------------------------------------------------
13671            Bra
13672            [ab]*+
13673            Ket
13674            End
13675    ------------------------------------------------------------------
13676        aaaa
13677     0: aaaa
13678    
13679    /[ab]*?/BZ
13680    ------------------------------------------------------------------
13681            Bra
13682            [ab]*?
13683            Ket
13684            End
13685    ------------------------------------------------------------------
13686        aaaa
13687     0:
13688    
13689    /[ab]?/BZ
13690    ------------------------------------------------------------------
13691            Bra
13692            [ab]?+
13693            Ket
13694            End
13695    ------------------------------------------------------------------
13696        aaaa
13697     0: a
13698    
13699    /[ab]??/BZ
13700    ------------------------------------------------------------------
13701            Bra
13702            [ab]??
13703            Ket
13704            End
13705    ------------------------------------------------------------------
13706        aaaa
13707     0:
13708    
13709    /[ab]+/BZ
13710    ------------------------------------------------------------------
13711            Bra
13712            [ab]++
13713            Ket
13714            End
13715    ------------------------------------------------------------------
13716        aaaa
13717     0: aaaa
13718    
13719    /[ab]+?/BZ
13720    ------------------------------------------------------------------
13721            Bra
13722            [ab]+?
13723            Ket
13724            End
13725    ------------------------------------------------------------------
13726        aaaa
13727     0: a
13728    
13729    /[ab]{2,3}/BZ
13730    ------------------------------------------------------------------
13731            Bra
13732            [ab]{2,3}+
13733            Ket
13734            End
13735    ------------------------------------------------------------------
13736        aaaa
13737     0: aaa
13738    
13739    /[ab]{2,3}?/BZ
13740    ------------------------------------------------------------------
13741            Bra
13742            [ab]{2,3}?
13743            Ket
13744            End
13745    ------------------------------------------------------------------
13746        aaaa
13747     0: aa
13748    
13749    /[ab]{2,}/BZ
13750    ------------------------------------------------------------------
13751            Bra
13752            [ab]{2,}+
13753            Ket
13754            End
13755    ------------------------------------------------------------------
13756        aaaa
13757     0: aaaa
13758    
13759    /[ab]{2,}?/BZ
13760    ------------------------------------------------------------------
13761            Bra
13762            [ab]{2,}?
13763            Ket
13764            End
13765    ------------------------------------------------------------------
13766        aaaa
13767     0: aa
13768    
13769    /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
13770    ------------------------------------------------------------------
13771            Bra
13772            \d++
13773            \s{0,5}+
13774            =
13775            \s*+
13776            \S?
13777            =
13778            \w{0,4}+
13779            \W*+
13780            Ket
13781            End
13782    ------------------------------------------------------------------
13783    
13784    /-- End of special auto-possessive tests --/
13785    
13786    /^A\o{1239}B/
13787    Failed: non-octal character in \o{} (closing brace missing?) at offset 8
13788    
13789    /^A\oB/
13790    Failed: missing opening brace after \o at offset 3
13791    
13792    /^A\x{zz}B/
13793    Failed: non-hex character in \x{} (closing brace missing?) at offset 5
13794    
13795    /^A\x{12Z/
13796    Failed: non-hex character in \x{} (closing brace missing?) at offset 7
13797    
13798    /^A\x{/
13799    Failed: non-hex character in \x{} (closing brace missing?) at offset 5
13800    
13801    /[ab]++/BZO
13802    ------------------------------------------------------------------
13803            Bra
13804            [ab]++
13805            Ket
13806            End
13807    ------------------------------------------------------------------
13808    
13809    /[^ab]*+/BZO
13810    ------------------------------------------------------------------
13811            Bra
13812            [\x00-`c-\xff] (neg)*+
13813            Ket
13814            End
13815    ------------------------------------------------------------------
13816    
13817    /a{4}+/BZO
13818    ------------------------------------------------------------------
13819            Bra
13820            a{4}
13821            Ket
13822            End
13823    ------------------------------------------------------------------
13824    
13825    /a{4}+/BZOi
13826    ------------------------------------------------------------------
13827            Bra
13828         /i a{4}
13829            Ket
13830            End
13831    ------------------------------------------------------------------
13832    
13833  /-- End of testinput2 --/  /-- End of testinput2 --/

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

  ViewVC Help
Powered by ViewVC 1.1.5