/[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 1392 by ph10, Wed Nov 6 18:00:09 2013 UTC
# Line 7  Line 7 
7    
8      NOTE: This is a non-UTF set of tests. When UTF support is needed, use      NOTE: This is a non-UTF set of tests. When UTF support is needed, use
9      test 5, and if Unicode Property Support is needed, use test 7. --/      test 5, and if Unicode Property Support is needed, use test 7. --/
10    
11    < forbid 8W
12    
13  /(a)b|/I  /(a)b|/I
14  Capturing subpattern count = 1  Capturing subpattern count = 1
15    May match empty string
16  No options  No options
17  No first char  No first char
18  No need char  No need char
# Line 228  No options Line 231  No options
231  No first char  No first char
232  No need char  No need char
233  Subject length lower bound = 1  Subject length lower bound = 1
234  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 a b
235    
236  /(ab\2)/  /(ab\2)/
237  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
# Line 448  Need char = '=' Line 451  Need char = '='
451    
452  /(?<!bar|cattle)foo/I  /(?<!bar|cattle)foo/I
453  Capturing subpattern count = 0  Capturing subpattern count = 0
454    Max lookbehind = 6
455  No options  No options
456  First char = 'f'  First char = 'f'
457  Need char = 'o'  Need char = 'o'
 Max lookbehind = 6  
458      foo      foo
459   0: foo   0: foo
460      catfoo      catfoo
# Line 498  No need char Line 501  No need char
501    
502  /(?s).*/I  /(?s).*/I
503  Capturing subpattern count = 0  Capturing subpattern count = 0
504    May match empty string
505  Options: anchored dotall  Options: anchored dotall
506  No first char  No first char
507  No need char  No need char
# Line 631  No match Line 635  No match
635    
636  /\Aabc/Im  /\Aabc/Im
637  Capturing subpattern count = 0  Capturing subpattern count = 0
638    Max lookbehind = 1
639  Options: anchored multiline  Options: anchored multiline
640  No first char  No first char
641  No need char  No need char
# Line 656  No need char Line 661  No need char
661    
662  /(?<=foo)[ab]/IS  /(?<=foo)[ab]/IS
663  Capturing subpattern count = 0  Capturing subpattern count = 0
664    Max lookbehind = 3
665  No options  No options
666  No first char  No first char
667  No need char  No need char
 Max lookbehind = 3  
668  Subject length lower bound = 1  Subject length lower bound = 1
669  Starting byte set: a b  Starting byte set: a b
670    
671  /(?<!foo)(alpha|omega)/IS  /(?<!foo)(alpha|omega)/IS
672  Capturing subpattern count = 1  Capturing subpattern count = 1
673    Max lookbehind = 3
674  No options  No options
675  No first char  No first char
676  Need char = 'a'  Need char = 'a'
 Max lookbehind = 3  
677  Subject length lower bound = 5  Subject length lower bound = 5
678  Starting byte set: a o  Starting byte set: a o
679    
# Line 682  Starting byte set: a b Line 687  Starting byte set: a b
687    
688  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
689  Capturing subpattern count = 0  Capturing subpattern count = 0
690    Max lookbehind = 4
691  Contains explicit CR or LF match  Contains explicit CR or LF match
692  Options: multiline  Options: multiline
693  No first char  No first char
694  Need char = 'r'  Need char = 'r'
 Max lookbehind = 4  
695      foo\nbarbar      foo\nbarbar
696   0: bar   0: bar
697      ***Failers      ***Failers
# Line 700  No match Line 705  No match
705    
706  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
707  Capturing subpattern count = 0  Capturing subpattern count = 0
708    Max lookbehind = 4
709  Contains explicit CR or LF match  Contains explicit CR or LF match
710  Options: multiline  Options: multiline
711  First char at start or follows newline  First char at start or follows newline
712  Need char = 'r'  Need char = 'r'
 Max lookbehind = 4  
713      foo\nbarbar      foo\nbarbar
714   0: bar   0: bar
715      ***Failers      ***Failers
# Line 743  Failed: lookbehind assertion is not fixe Line 748  Failed: lookbehind assertion is not fixe
748    
749  /(?<=bullock|donkey)-cart/I  /(?<=bullock|donkey)-cart/I
750  Capturing subpattern count = 0  Capturing subpattern count = 0
751    Max lookbehind = 7
752  No options  No options
753  First char = '-'  First char = '-'
754  Need char = 't'  Need char = 't'
 Max lookbehind = 7  
755      the bullock-cart      the bullock-cart
756   0: -cart   0: -cart
757      a donkey-cart race      a donkey-cart race
# Line 760  No match Line 765  No match
765    
766  /(?<=ab(?i)x|y|z)/I  /(?<=ab(?i)x|y|z)/I
767  Capturing subpattern count = 0  Capturing subpattern count = 0
768    Max lookbehind = 3
769    May match empty string
770  No options  No options
771  No first char  No first char
772  No need char  No need char
 Max lookbehind = 3  
773    
774  /(?>.*)(?<=(abcd)|(xyz))/I  /(?>.*)(?<=(abcd)|(xyz))/I
775  Capturing subpattern count = 2  Capturing subpattern count = 2
776    Max lookbehind = 4
777    May match empty string
778  No options  No options
779  First char at start or follows newline  No first char
780  No need char  No need char
 Max lookbehind = 4  
781      alphabetabcd      alphabetabcd
782   0: alphabetabcd   0: alphabetabcd
783   1: abcd   1: abcd
# Line 781  Max lookbehind = 4 Line 788  Max lookbehind = 4
788    
789  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
790  Capturing subpattern count = 0  Capturing subpattern count = 0
791    Max lookbehind = 4
792  No options  No options
793  First char = 'Z'  First char = 'Z'
794  Need char = 'Z'  Need char = 'Z'
 Max lookbehind = 4  
795      abxyZZ      abxyZZ
796   0: ZZ   0: ZZ
797      abXyZZ      abXyZZ
# Line 810  No match Line 817  No match
817    
818  /(?<!(foo)a)bar/I  /(?<!(foo)a)bar/I
819  Capturing subpattern count = 1  Capturing subpattern count = 1
820    Max lookbehind = 4
821  No options  No options
822  First char = 'b'  First char = 'b'
823  Need char = 'r'  Need char = 'r'
 Max lookbehind = 4  
824      bar      bar
825   0: bar   0: bar
826      foobbar      foobbar
# Line 823  No match Line 830  No match
830      fooabar      fooabar
831  No match  No match
832    
 /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  
   
833  /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
834  Capturing subpattern count = 0  Capturing subpattern count = 0
835  No options  No options
# Line 1212  No need char Line 1203  No need char
1203    
1204  /\Biss\B/I+  /\Biss\B/I+
1205  Capturing subpattern count = 0  Capturing subpattern count = 0
1206    Max lookbehind = 1
1207  No options  No options
1208  First char = 'i'  First char = 'i'
1209  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1210      Mississippi      Mississippi
1211   0: iss   0: iss
1212   0+ issippi   0+ issippi
# Line 1233  Need char = 's' Line 1224  Need char = 's'
1224    
1225  /\Biss\B/IG+  /\Biss\B/IG+
1226  Capturing subpattern count = 0  Capturing subpattern count = 0
1227    Max lookbehind = 1
1228  No options  No options
1229  First char = 'i'  First char = 'i'
1230  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1231      Mississippi      Mississippi
1232   0: iss   0: iss
1233   0+ issippi   0+ issippi
1234    
1235  /\Biss\B/Ig+  /\Biss\B/Ig+
1236  Capturing subpattern count = 0  Capturing subpattern count = 0
1237    Max lookbehind = 1
1238  No options  No options
1239  First char = 'i'  First char = 'i'
1240  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1241      Mississippi      Mississippi
1242   0: iss   0: iss
1243   0+ issippi   0+ issippi
# Line 1259  No match Line 1250  No match
1250    
1251  /(?<=[Ms])iss/Ig+  /(?<=[Ms])iss/Ig+
1252  Capturing subpattern count = 0  Capturing subpattern count = 0
1253    Max lookbehind = 1
1254  No options  No options
1255  First char = 'i'  First char = 'i'
1256  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1257      Mississippi      Mississippi
1258   0: iss   0: iss
1259   0+ issippi   0+ issippi
# Line 1271  Max lookbehind = 1 Line 1262  Max lookbehind = 1
1262    
1263  /(?<=[Ms])iss/IG+  /(?<=[Ms])iss/IG+
1264  Capturing subpattern count = 0  Capturing subpattern count = 0
1265    Max lookbehind = 1
1266  No options  No options
1267  First char = 'i'  First char = 'i'
1268  Need char = 's'  Need char = 's'
 Max lookbehind = 1  
1269      Mississippi      Mississippi
1270   0: iss   0: iss
1271   0+ issippi   0+ issippi
# Line 1392  Need char = 'c' Line 1383  Need char = 'c'
1383    
1384  /a*/I  /a*/I
1385  Capturing subpattern count = 0  Capturing subpattern count = 0
1386    May match empty string
1387  No options  No options
1388  No first char  No first char
1389  No need char  No need char
# Line 1410  Need char = 'a' Line 1402  Need char = 'a'
1402    
1403  /a{0,3}/I  /a{0,3}/I
1404  Capturing subpattern count = 0  Capturing subpattern count = 0
1405    May match empty string
1406  No options  No options
1407  No first char  No first char
1408  No need char  No need char
# Line 1452  Need char = 'r' Line 1445  Need char = 'r'
1445    
1446  /...(?<=abc)/I  /...(?<=abc)/I
1447  Capturing subpattern count = 0  Capturing subpattern count = 0
1448    Max lookbehind = 3
1449  No options  No options
1450  No first char  No first char
1451  No need char  No need char
 Max lookbehind = 3  
1452    
1453  /abc(?!pqr)/I  /abc(?!pqr)/I
1454  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1609  Need char = 'e' Line 1602  Need char = 'e'
1602    
1603  /a?b?/I  /a?b?/I
1604  Capturing subpattern count = 0  Capturing subpattern count = 0
1605    May match empty string
1606  No options  No options
1607  No first char  No first char
1608  No need char  No need char
# Line 1627  No match Line 1621  No match
1621    
1622  /|-/I  /|-/I
1623  Capturing subpattern count = 0  Capturing subpattern count = 0
1624    May match empty string
1625  No options  No options
1626  No first char  No first char
1627  No need char  No need char
# Line 2640  Need char = '-' Line 2635  Need char = '-'
2635          End          End
2636  ------------------------------------------------------------------  ------------------------------------------------------------------
2637  Capturing subpattern count = 0  Capturing subpattern count = 0
2638    May match empty string
2639  Options: extended  Options: extended
2640  No first char  No first char
2641  No need char  No need char
# Line 2659  No need char Line 2655  No need char
2655  /[\s]/DZ  /[\s]/DZ
2656  ------------------------------------------------------------------  ------------------------------------------------------------------
2657          Bra          Bra
2658          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
2659          Ket          Ket
2660          End          End
2661  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2671  No need char Line 2667  No need char
2667  /[\S]/DZ  /[\S]/DZ
2668  ------------------------------------------------------------------  ------------------------------------------------------------------
2669          Bra          Bra
2670          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)          [\x00-\x08\x0e-\x1f!-\xff] (neg)
2671          Ket          Ket
2672          End          End
2673  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2782  Need char = '0' Line 2778  Need char = '0'
2778          End          End
2779  ------------------------------------------------------------------  ------------------------------------------------------------------
2780  Capturing subpattern count = 0  Capturing subpattern count = 0
2781    May match empty string
2782  No options  No options
2783  No first char  No first char
2784  No need char  No need char
# Line 2881  No match Line 2878  No match
2878          End          End
2879  ------------------------------------------------------------------  ------------------------------------------------------------------
2880  Capturing subpattern count = 0  Capturing subpattern count = 0
2881    May match empty string
2882  No options  No options
2883  No first char  No first char
2884  No need char  No need char
# Line 2897  No options Line 2895  No options
2895  First char = 'x'  First char = 'x'
2896  No need char  No need char
2897    
2898  /x{1,3}+/DZ  /x{1,3}+/BZO
2899  ------------------------------------------------------------------  ------------------------------------------------------------------
2900          Bra          Bra
         Once  
2901          x          x
2902          x{0,2}          x{0,2}+
2903          Ket          Ket
2904            End
2905    ------------------------------------------------------------------
2906    
2907    /x{1,3}+/BZOi
2908    ------------------------------------------------------------------
2909            Bra
2910         /i x
2911         /i x{0,2}+
2912            Ket
2913            End
2914    ------------------------------------------------------------------
2915    
2916    /[^x]{1,3}+/BZO
2917    ------------------------------------------------------------------
2918            Bra
2919            [^x]
2920            [^x]{0,2}+
2921            Ket
2922            End
2923    ------------------------------------------------------------------
2924    
2925    /[^x]{1,3}+/BZOi
2926    ------------------------------------------------------------------
2927            Bra
2928         /i [^x]
2929         /i [^x]{0,2}+
2930          Ket          Ket
2931          End          End
2932  ------------------------------------------------------------------  ------------------------------------------------------------------
 Capturing subpattern count = 0  
 No options  
 First char = 'x'  
 No need char  
2933    
2934  /(x)*+/DZ  /(x)*+/DZ
2935  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2923  No need char Line 2942  No need char
2942          End          End
2943  ------------------------------------------------------------------  ------------------------------------------------------------------
2944  Capturing subpattern count = 1  Capturing subpattern count = 1
2945    May match empty string
2946  No options  No options
2947  No first char  No first char
2948  No need char  No need char
2949    
2950  /^(\w++|\s++)*$/I  /^(\w++|\s++)*$/I
2951  Capturing subpattern count = 1  Capturing subpattern count = 1
2952    May match empty string
2953  Options: anchored  Options: anchored
2954  No first char  No first char
2955  No need char  No need char
# Line 3090  Need char = 'b' Line 3111  Need char = 'b'
3111          [bc]+          [bc]+
3112          Ket          Ket
3113          CBra 5          CBra 5
3114          \w*          \w*+
3115          Ket          Ket
3116          Ket          Ket
3117          Ket          Ket
# Line 3169  Failed: missing terminating ] for charac Line 3190  Failed: missing terminating ] for charac
3190  /[\s]/IDZ  /[\s]/IDZ
3191  ------------------------------------------------------------------  ------------------------------------------------------------------
3192          Bra          Bra
3193          [\x09\x0a\x0c\x0d ]          [\x09-\x0d ]
3194          Ket          Ket
3195          End          End
3196  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3233  No match Line 3254  No match
3254          End          End
3255  ------------------------------------------------------------------  ------------------------------------------------------------------
3256  Capturing subpattern count = 0  Capturing subpattern count = 0
3257    Max lookbehind = 1
3258  No options  No options
3259  First char = '8'  First char = '8'
3260  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3261    
3262  |\$\<\.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
3263  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 3247  Max lookbehind = 1 Line 3268  Max lookbehind = 1
3268          End          End
3269  ------------------------------------------------------------------  ------------------------------------------------------------------
3270  Capturing subpattern count = 0  Capturing subpattern count = 0
3271    Max lookbehind = 1
3272  No options  No options
3273  First char = '$'  First char = '$'
3274  Need char = 'X'  Need char = 'X'
 Max lookbehind = 1  
3275    
3276  /(.*)\d+\1/I  /(.*)\d+\1/I
3277  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 3304  Need char = 'b' Line 3325  Need char = 'b'
3325    
3326  /(?=a).*/I  /(?=a).*/I
3327  Capturing subpattern count = 0  Capturing subpattern count = 0
3328    May match empty string
3329  No options  No options
3330  First char = 'a'  First char = 'a'
3331  No need char  No need char
# Line 3322  Need char = 'z' (caseless) Line 3344  Need char = 'z' (caseless)
3344    
3345  /(?=a)(?=b)/I  /(?=a)(?=b)/I
3346  Capturing subpattern count = 0  Capturing subpattern count = 0
3347    May match empty string
3348  No options  No options
3349  First char = 'a'  First char = 'a'
3350  No need char  No need char
# Line 3388  Need char = 'a' Line 3411  Need char = 'a'
3411    
3412  /(a)*/I  /(a)*/I
3413  Capturing subpattern count = 1  Capturing subpattern count = 1
3414    May match empty string
3415  No options  No options
3416  No first char  No first char
3417  No need char  No need char
# Line 3616  No match Line 3640  No match
3640    
3641  /(?C0)(abc(?C1))*/I  /(?C0)(abc(?C1))*/I
3642  Capturing subpattern count = 1  Capturing subpattern count = 1
3643    May match empty string
3644  No options  No options
3645  No first char  No first char
3646  No need char  No need char
# Line 3649  No need char Line 3674  No need char
3674    
3675  /(\d{3}(?C))*/I  /(\d{3}(?C))*/I
3676  Capturing subpattern count = 1  Capturing subpattern count = 1
3677    May match empty string
3678  No options  No options
3679  No first char  No first char
3680  No need char  No need char
# Line 3763  Callout 2: last capture = -1 Line 3789  Callout 2: last capture = -1
3789    
3790  /(?<=(abc)(?C))xyz/I  /(?<=(abc)(?C))xyz/I
3791  Capturing subpattern count = 1  Capturing subpattern count = 1
3792    Max lookbehind = 3
3793  No options  No options
3794  First char = 'x'  First char = 'x'
3795  Need char = 'z'  Need char = 'z'
 Max lookbehind = 3  
3796     abcxyz\C+     abcxyz\C+
3797  Callout 0: last capture = 1  Callout 0: last capture = 1
3798   0: <unset>   0: <unset>
# Line 3785  Need char = 'b' Line 3811  Need char = 'b'
3811  --->abbbbbccc  --->abbbbbccc
3812    1 ^        ^    1 ^        ^
3813  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  
3814  No match  No match
3815    
3816  /a(b+?)(c*?)(?C1)/I  /a(b+?)(c*?)(?C1)/I
# Line 3895  Failed: recursive call could loop indefi Line 3907  Failed: recursive call could loop indefi
3907    
3908  /^([^()]|\((?1)*\))*$/I  /^([^()]|\((?1)*\))*$/I
3909  Capturing subpattern count = 1  Capturing subpattern count = 1
3910    May match empty string
3911  Options: anchored  Options: anchored
3912  No first char  No first char
3913  No need char  No need char
# Line 4174  Named capturing subpatterns: Line 4187  Named capturing subpatterns:
4187    one     1    one     1
4188    three   3    three   3
4189    two     2    two     2
4190    May match empty string
4191  Options: anchored caseless  Options: anchored caseless
4192  No first char  No first char
4193  No need char  No need char
# Line 4273  Need char = 'z' Line 4287  Need char = 'z'
4287    
4288  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4289  Capturing subpattern count = 31  Capturing subpattern count = 31
4290    May match empty string
4291  Options: anchored dotall  Options: anchored dotall
4292  No first char  No first char
4293  No need char  No need char
# Line 4280  No need char Line 4295  No need char
4295  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
4296  Capturing subpattern count = 31  Capturing subpattern count = 31
4297  Max back reference = 31  Max back reference = 31
4298    May match empty string
4299  Options: dotall  Options: dotall
4300  No first char  No first char
4301  No need char  No need char
# Line 4287  No need char Line 4303  No need char
4303  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
4304  Capturing subpattern count = 32  Capturing subpattern count = 32
4305  Max back reference = 32  Max back reference = 32
4306    May match empty string
4307  Options: dotall  Options: dotall
4308  No first char  No first char
4309  No need char  No need char
# Line 4363  Minimum match() recursion limit = 6 Line 4380  Minimum match() recursion limit = 6
4380   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4381    aaaaaaaaaaaaaz\M    aaaaaaaaaaaaaz\M
4382  Minimum match() limit = 32768  Minimum match() limit = 32768
4383  Minimum match() recursion limit = 42  Minimum match() recursion limit = 29
4384  No match  No match
4385    
4386  /(aaa(?C1)bbb|ab)/I  /(aaa(?C1)bbb|ab)/I
# Line 4438  Capturing subpattern count = 2 Line 4455  Capturing subpattern count = 2
4455  Named capturing subpatterns:  Named capturing subpatterns:
4456    Tes    1    Tes    1
4457    Test   2    Test   2
4458    May match empty string
4459  No options  No options
4460  No first char  No first char
4461  No need char  No need char
# Line 4456  Capturing subpattern count = 2 Line 4474  Capturing subpattern count = 2
4474  Named capturing subpatterns:  Named capturing subpatterns:
4475    Tes    2    Tes    2
4476    Test   1    Test   1
4477    May match empty string
4478  No options  No options
4479  No first char  No first char
4480  No need char  No need char
# Line 4533  Need char = ']' Line 4552  Need char = ']'
4552          End          End
4553  ------------------------------------------------------------------  ------------------------------------------------------------------
4554  Capturing subpattern count = 2  Capturing subpattern count = 2
4555    May match empty string
4556  No options  No options
4557  No first char  No first char
4558  No need char  No need char
# Line 4553  No need char Line 4573  No need char
4573          End          End
4574  ------------------------------------------------------------------  ------------------------------------------------------------------
4575  Capturing subpattern count = 2  Capturing subpattern count = 2
4576    May match empty string
4577  No options  No options
4578  No first char  No first char
4579  No need char  No need char
# Line 4584  No need char Line 4605  No need char
4605          End          End
4606  ------------------------------------------------------------------  ------------------------------------------------------------------
4607  Capturing subpattern count = 2  Capturing subpattern count = 2
4608    May match empty string
4609  No options  No options
4610  No first char  No first char
4611  No need char  No need char
# Line 4591  No need char Line 4613  No need char
4613  /[ab]{1}+/DZ  /[ab]{1}+/DZ
4614  ------------------------------------------------------------------  ------------------------------------------------------------------
4615          Bra          Bra
4616          Once          [ab]{1,1}+
         [ab]{1,1}  
         Ket  
4617          Ket          Ket
4618          End          End
4619  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 5305  No match Line 5325  No match
5325          Callout 255 0 21          Callout 255 0 21
5326          CBra 1          CBra 1
5327          Callout 255 1 9          Callout 255 1 9
5328          [ab]{1,4}          [ab]{1,4}+
5329          Callout 255 10 1          Callout 255 10 1
5330          c          c
5331          Callout 255 11 0          Callout 255 11 0
# Line 5318  No match Line 5338  No match
5338          Ket          Ket
5339          CBra 1          CBra 1
5340          Callout 255 1 9          Callout 255 1 9
5341          [ab]{1,4}          [ab]{1,4}+
5342          Callout 255 10 1          Callout 255 10 1
5343          c          c
5344          Callout 255 11 0          Callout 255 11 0
# Line 5331  No match Line 5351  No match
5351          Ket          Ket
5352          CBra 1          CBra 1
5353          Callout 255 1 9          Callout 255 1 9
5354          [ab]{1,4}          [ab]{1,4}+
5355          Callout 255 10 1          Callout 255 10 1
5356          c          c
5357          Callout 255 11 0          Callout 255 11 0
# Line 5344  No match Line 5364  No match
5364          Ket          Ket
5365          CBra 1          CBra 1
5366          Callout 255 1 9          Callout 255 1 9
5367          [ab]{1,4}          [ab]{1,4}+
5368          Callout 255 10 1          Callout 255 10 1
5369          c          c
5370          Callout 255 11 0          Callout 255 11 0
# Line 5358  No match Line 5378  No match
5378          Braminzero          Braminzero
5379          CBra 1          CBra 1
5380          Callout 255 1 9          Callout 255 1 9
5381          [ab]{1,4}          [ab]{1,4}+
5382          Callout 255 10 1          Callout 255 10 1
5383          c          c
5384          Callout 255 11 0          Callout 255 11 0
# Line 5411  Need char = '3' Line 5431  Need char = '3'
5431    
5432  /\b.*/I  /\b.*/I
5433  Capturing subpattern count = 0  Capturing subpattern count = 0
5434    Max lookbehind = 1
5435    May match empty string
5436  No options  No options
5437  No first char  No first char
5438  No need char  No need char
 Max lookbehind = 1  
5439    ab cd\>1    ab cd\>1
5440   0:  cd   0:  cd
5441    
5442  /\b.*/Is  /\b.*/Is
5443  Capturing subpattern count = 0  Capturing subpattern count = 0
5444    Max lookbehind = 1
5445    May match empty string
5446  Options: dotall  Options: dotall
5447  No first char  No first char
5448  No need char  No need char
 Max lookbehind = 1  
5449    ab cd\>1    ab cd\>1
5450   0:  cd   0:  cd
5451    
5452  /(?!.bcd).*/I  /(?!.bcd).*/I
5453  Capturing subpattern count = 0  Capturing subpattern count = 0
5454    May match empty string
5455  No options  No options
5456  No first char  No first char
5457  No need char  No need char
# Line 6017  Matched, but too many substrings Line 6040  Matched, but too many substrings
6040    
6041  /[^()]*(?:\((?R)\)[^()]*)*/I  /[^()]*(?:\((?R)\)[^()]*)*/I
6042  Capturing subpattern count = 0  Capturing subpattern count = 0
6043    May match empty string
6044  No options  No options
6045  No first char  No first char
6046  No need char  No need char
# Line 6029  No need char Line 6053  No need char
6053    
6054  /[^()]*(?:\((?>(?R))\)[^()]*)*/I  /[^()]*(?:\((?>(?R))\)[^()]*)*/I
6055  Capturing subpattern count = 0  Capturing subpattern count = 0
6056    May match empty string
6057  No options  No options
6058  No first char  No first char
6059  No need char  No need char
# Line 6039  No need char Line 6064  No need char
6064    
6065  /[^()]*(?:\((?R)\))*[^()]*/I  /[^()]*(?:\((?R)\))*[^()]*/I
6066  Capturing subpattern count = 0  Capturing subpattern count = 0
6067    May match empty string
6068  No options  No options
6069  No first char  No first char
6070  No need char  No need char
# Line 6049  No need char Line 6075  No need char
6075    
6076  /(?:\((?R)\))*[^()]*/I  /(?:\((?R)\))*[^()]*/I
6077  Capturing subpattern count = 0  Capturing subpattern count = 0
6078    May match empty string
6079  No options  No options
6080  No first char  No first char
6081  No need char  No need char
# Line 6061  No need char Line 6088  No need char
6088    
6089  /(?:\((?R)\))|[^()]*/I  /(?:\((?R)\))|[^()]*/I
6090  Capturing subpattern count = 0  Capturing subpattern count = 0
6091    May match empty string
6092  No options  No options
6093  No first char  No first char
6094  No need char  No need char
# Line 6110  no parentheses with name "Z" Line 6138  no parentheses with name "Z"
6138   2: a1   2: a1
6139  copy substring Z failed -7  copy substring Z failed -7
6140    C a1 (2) A    C a1 (2) A
6141    
6142    /(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
6143    Capturing subpattern count = 3
6144    Named capturing subpatterns:
6145      a   1
6146      a   3
6147      b   2
6148    May match empty string
6149    Options: dupnames
6150    No first char
6151    No need char
6152    
6153  /^(?P<A>a)(?P<A>b)/IJ  /^(?P<A>a)(?P<A>b)/IJ
6154  Capturing subpattern count = 2  Capturing subpattern count = 2
# Line 6392  No options Line 6431  No options
6431  No first char  No first char
6432  Need char = ','  Need char = ','
6433  Subject length lower bound = 1  Subject length lower bound = 1
6434  Starting byte set: \x09 \x0a \x0c \x0d \x20 ,  Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 ,
6435      \x0b,\x0b      \x0b,\x0b
6436   0: ,   0: \x0b,\x0b
6437      \x0c,\x0d      \x0c,\x0d
6438   0: \x0c,\x0d   0: \x0c,\x0d
6439    
# Line 6503  No match Line 6542  No match
6542  No match  No match
6543    
6544  /^abc/Im<bad>  /^abc/Im<bad>
6545  Unknown newline type at: <bad>  Unknown modifier at: <bad>
6546    
6547    
6548  /abc/I  /abc/I
# Line 6512  No options Line 6551  No options
6551  First char = 'a'  First char = 'a'
6552  Need char = 'c'  Need char = 'c'
6553      xyz\rabc\<bad>      xyz\rabc\<bad>
6554  Unknown newline type at: <bad>  Unknown escape sequence at: <bad>
6555      abc      abc
6556   0: abc   0: abc
6557    
6558  /.*/I<lf>  /.*/I<lf>
6559  Capturing subpattern count = 0  Capturing subpattern count = 0
6560    May match empty string
6561  Options:  Options:
6562  Forced newline sequence: LF  Forced newline sequence: LF
6563  First char at start or follows newline  First char at start or follows newline
# Line 6559  Need char = 'f' Line 6599  Need char = 'f'
6599    
6600  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I  +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
6601  Capturing subpattern count = 1  Capturing subpattern count = 1
6602    May match empty string
6603  No options  No options
6604  No first char  No first char
6605  No need char  No need char
# Line 7482  Matched, but too many substrings Line 7523  Matched, but too many substrings
7523  /a*[^a]/BZ  /a*[^a]/BZ
7524  ------------------------------------------------------------------  ------------------------------------------------------------------
7525          Bra          Bra
7526          a*          a*+
7527          [^a]          [^a]
7528          Ket          Ket
7529          End          End
# Line 7624  No match Line 7665  No match
7665  ------------------------------------------------------------------  ------------------------------------------------------------------
7666          Bra          Bra
7667          ^          ^
7668          [a-z]+          [a-z]++
7669          Ket          Ket
7670          End          End
7671  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 7665  No match Line 7706  No match
7706          ^          ^
7707          CBra 1          CBra 1
7708          Cond          Cond
7709        2 Cond nref        2 Cond ref
7710          y          y
7711          Ket          Ket
7712          [()]          [()]
# Line 7725  Named capturing subpatterns: Line 7766  Named capturing subpatterns:
7766    one     1    one     1
7767    three   3    three   3
7768    two     2    two     2
7769    May match empty string
7770  Options: anchored caseless  Options: anchored caseless
7771  No first char  No first char
7772  No need char  No need char
# Line 8561  No match Line 8603  No match
8603          \d          \d
8604          \v++          \v++
8605          \w          \w
8606          \v+          \v++
8607          \S          \S
8608          \v++          \v++
8609          \V          \V
# Line 8659  No match Line 8701  No match
8701   +6 ^      ^    (*FAIL)   +6 ^      ^    (*FAIL)
8702   +6 ^     ^     (*FAIL)   +6 ^     ^     (*FAIL)
8703   +6 ^    ^      (*FAIL)   +6 ^    ^      (*FAIL)
  +4 ^  ^        c+  
  +2 ^ ^         b?  
  +4 ^ ^         c+  
  +2 ^^          b?  
  +4 ^^          c+  
8704   +0  ^          a+   +0  ^          a+
8705   +2  ^ ^        b?   +2  ^ ^        b?
8706   +4  ^  ^       c+   +4  ^  ^       c+
8707   +6  ^     ^    (*FAIL)   +6  ^     ^    (*FAIL)
8708   +6  ^    ^     (*FAIL)   +6  ^    ^     (*FAIL)
8709   +6  ^   ^      (*FAIL)   +6  ^   ^      (*FAIL)
  +4  ^ ^        c+  
  +2  ^^         b?  
  +4  ^^         c+  
8710   +0   ^         a+   +0   ^         a+
8711   +2   ^^        b?   +2   ^^        b?
8712   +4   ^ ^       c+   +4   ^ ^       c+
8713   +6   ^    ^    (*FAIL)   +6   ^    ^    (*FAIL)
8714   +6   ^   ^     (*FAIL)   +6   ^   ^     (*FAIL)
8715   +6   ^  ^      (*FAIL)   +6   ^  ^      (*FAIL)
  +4   ^^        c+  
8716  No match  No match
8717    
8718  /a+b?(*PRUNE)c+(*FAIL)/C  /a+b?(*PRUNE)c+(*FAIL)/C
# Line 8803  No match Line 8836  No match
8836   1: \x0a   1: \x0a
8837    
8838  /a(*CR)b/  /a(*CR)b/
8839  Failed: (*VERB) not recognized at offset 5  Failed: (*VERB) not recognized or malformed at offset 5
8840    
8841  /(*CR)a.b/  /(*CR)a.b/
8842      a\nb      a\nb
# Line 9264  Starting byte set: x y z Line 9297  Starting byte set: x y z
9297    
9298  /(?(?=.*b)b|^)/CI  /(?(?=.*b)b|^)/CI
9299  Capturing subpattern count = 0  Capturing subpattern count = 0
9300    May match empty string
9301  Options:  Options:
9302  No first char  No first char
9303  No need char  No need char
# Line 9276  No need char Line 9310  No need char
9310   +7 ^ ^     b   +7 ^ ^     b
9311   +7 ^^      b   +7 ^^      b
9312   +7 ^       b   +7 ^       b
9313    +11 ^       ^
9314  +12 ^       )  +12 ^       )
9315  +13 ^  +13 ^
9316   0:   0:
# Line 9406  No match Line 9441  No match
9441   +3 ^ ^      (?(?=[a])[^"])   +3 ^ ^      (?(?=[a])[^"])
9442   +5 ^ ^      (?=[a])   +5 ^ ^      (?=[a])
9443   +8 ^ ^      [a]   +8 ^ ^      [a]
9444    +17 ^ ^      |
9445  +21 ^ ^      "  +21 ^ ^      "
9446  +18 ^ ^      b  +18 ^ ^      b
9447  +19 ^  ^     )  +19 ^  ^     )
9448   +3 ^  ^     (?(?=[a])[^"])   +3 ^  ^     (?(?=[a])[^"])
9449   +5 ^  ^     (?=[a])   +5 ^  ^     (?=[a])
9450   +8 ^  ^     [a]   +8 ^  ^     [a]
9451    +17 ^  ^     |
9452  +21 ^  ^     "  +21 ^  ^     "
9453  +22 ^   ^    $  +22 ^   ^    $
9454  +23 ^   ^  +23 ^   ^
# Line 9719  Partial match: abc12 Line 9756  Partial match: abc12
9756      xyzabc123pqr      xyzabc123pqr
9757   0: 123   0: 123
9758      xyzabc12\P      xyzabc12\P
9759  Partial match: abc12  Partial match at offset 6: abc12
9760      xyzabc12\P\P      xyzabc12\P\P
9761  Partial match: abc12  Partial match at offset 6: abc12
9762    
9763  /\babc\b/  /\babc\b/
9764      +++abc+++      +++abc+++
9765   0: abc   0: abc
9766      +++ab\P      +++ab\P
9767  Partial match: +ab  Partial match at offset 3: +ab
9768      +++ab\P\P      +++ab\P\P
9769  Partial match: +ab  Partial match at offset 3: +ab
9770    
9771  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ  /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
9772  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 10110  No set of starting bytes Line 10147  No set of starting bytes
10147  "(?>.*/)foo"SI  "(?>.*/)foo"SI
10148  Capturing subpattern count = 0  Capturing subpattern count = 0
10149  No options  No options
10150  First char at start or follows newline  No first char
10151  Need char = 'o'  Need char = 'o'
10152  Subject length lower bound = 4  Subject length lower bound = 4
10153  No set of starting bytes  No set of starting bytes
# Line 10172  No set of starting bytes Line 10209  No set of starting bytes
10209  Capturing subpattern count = 1  Capturing subpattern count = 1
10210  Named capturing subpatterns:  Named capturing subpatterns:
10211    a   1    a   1
   a   1  
10212  No options  No options
10213  No first char  No first char
10214  No need char  No need char
# Line 10245  No match Line 10281  No match
10281          Ket          Ket
10282          Ket          Ket
10283          Cond          Cond
10284        4 Cond nref          Cond ref <D>2
10285          X          X
10286          Alt          Alt
10287          Y          Y
# Line 10291  No match Line 10327  No match
10327          CBra 4          CBra 4
10328          d          d
10329          Cond          Cond
10330          Cond nrecurse 1          Cond recurse <A>2
10331          $          $
10332          Alt          Alt
10333          Recurse          Recurse
# Line 10353  Partial match: abca Line 10389  Partial match: abca
10389      xxxxabcde\P\P      xxxxabcde\P\P
10390  Partial match: abcde  Partial match: abcde
10391    
10392  /-- 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
10393      broken and not behaving as specified in that it *does* bumpalong after      broken and not behaving as specified in that it *does* bumpalong after
10394      hitting (*COMMIT). --/      hitting (*COMMIT). --/
10395    
# Line 10549  No match Line 10585  No match
10585          End          End
10586  ------------------------------------------------------------------  ------------------------------------------------------------------
10587    
10588  / -- 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  
10589       believe this to be a Perl bug. --/       believe this to be a Perl bug. --/
10590    
 /(?=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  
   
10591  /(?>a\Kb)z|(ab)/  /(?>a\Kb)z|(ab)/
10592      ab      ab
10593   0: ab   0: ab
10594   1: ab   1: ab
10595    
 /----------------------/  
   
10596  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/  /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
10597  Failed: recursive call could loop indefinitely at offset 31  Failed: recursive call could loop indefinitely at offset 31
10598    
# Line 10596  Failed: an argument is not allowed for ( Line 10612  Failed: an argument is not allowed for (
10612      ACABX      ACABX
10613  No match  No match
10614    
10615  /--- 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
10616       is a bug in Perl. ---/       is a bug in Perl. ---/
10617    
10618  /A(*THEN)B|A(*THEN)C/K  /A(*THEN)B|A(*THEN)C/K
# Line 10607  No match Line 10623  No match
10623      AC      AC
10624  No match  No match
10625    
 /--- 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  
   
10626  /--- 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,
10627  though PCRE does. ---/  though PCRE does. ---/
10628    
# Line 10647  No match Line 10656  No match
10656      abcccd      abcccd
10657  No match  No match
10658    
10659  /--- Perl 5.11 gets some of these wrong ---/  /--- Perl gets some of these wrong ---/
10660    
10661  /(?>.(*ACCEPT))*?5/  /(?>.(*ACCEPT))*?5/
10662      abcde      abcde
# Line 10755  No match Line 10764  No match
10764  /\s*\R/BZ  /\s*\R/BZ
10765  ------------------------------------------------------------------  ------------------------------------------------------------------
10766          Bra          Bra
10767          \s*+          \s*
10768            \R
10769            Ket
10770            End
10771    ------------------------------------------------------------------
10772        \x20\x0a
10773     0:  \x0a
10774        \x20\x0d
10775     0:  \x0d
10776        \x20\x0d\x0a
10777     0:  \x0d\x0a
10778    
10779    /\S*\R/BZ
10780    ------------------------------------------------------------------
10781            Bra
10782            \S*+
10783          \R          \R
10784          Ket          Ket
10785          End          End
10786  ------------------------------------------------------------------  ------------------------------------------------------------------
10787        a\x0a
10788     0: a\x0a
10789    
10790  /-- Perl treats this one differently, not failing the second string. I believe  /X\h*\R/BZ
10791      that is a bug in Perl. --/  ------------------------------------------------------------------
10792            Bra
10793            X
10794            \h*+
10795            \R
10796            Ket
10797            End
10798    ------------------------------------------------------------------
10799        X\x20\x0a
10800     0: X \x0a
10801    
10802  /^((abc|abcx)(*THEN)y|abcd)/  /X\H*\R/BZ
10803      abcd  ------------------------------------------------------------------
10804   0: abcd          Bra
10805   1: abcd          X
10806      *** Failers          \H*
10807  No match          \R
10808      abcxy          Ket
10809            End
10810    ------------------------------------------------------------------
10811        X\x0d\x0a
10812     0: X\x0d\x0a
10813    
10814    /X\H+\R/BZ
10815    ------------------------------------------------------------------
10816            Bra
10817            X
10818            \H+
10819            \R
10820            Ket
10821            End
10822    ------------------------------------------------------------------
10823        X\x0d\x0a
10824     0: X\x0d\x0a
10825    
10826    /X\H++\R/BZ
10827    ------------------------------------------------------------------
10828            Bra
10829            X
10830            \H++
10831            \R
10832            Ket
10833            End
10834    ------------------------------------------------------------------
10835        X\x0d\x0a
10836  No match  No match
10837    
10838  /(?<=abc)def/  /(?<=abc)def/
10839      abc\P\P      abc\P\P
10840  Partial match: abc  Partial match at offset 3: abc
10841    
10842  /abc$/  /abc$/
10843      abc      abc
# Line 11022  No need char Line 11084  No need char
11084    
11085  /(^ab|^)+/I  /(^ab|^)+/I
11086  Capturing subpattern count = 1  Capturing subpattern count = 1
11087    May match empty string
11088  Options: anchored  Options: anchored
11089  No first char  No first char
11090  No need char  No need char
11091    
11092  /(^ab|^)++/I  /(^ab|^)++/I
11093  Capturing subpattern count = 1  Capturing subpattern count = 1
11094    May match empty string
11095  Options: anchored  Options: anchored
11096  No first char  No first char
11097  No need char  No need char
# Line 11046  No need char Line 11110  No need char
11110    
11111  /(?:^ab|^)+/I  /(?:^ab|^)+/I
11112  Capturing subpattern count = 0  Capturing subpattern count = 0
11113    May match empty string
11114  Options: anchored  Options: anchored
11115  No first char  No first char
11116  No need char  No need char
11117    
11118  /(?:^ab|^)++/I  /(?:^ab|^)++/I
11119  Capturing subpattern count = 0  Capturing subpattern count = 0
11120    May match empty string
11121  Options: anchored  Options: anchored
11122  No first char  No first char
11123  No need char  No need char
# Line 11070  Need char = 'b' Line 11136  Need char = 'b'
11136    
11137  /(.*ab|.*)+/I  /(.*ab|.*)+/I
11138  Capturing subpattern count = 1  Capturing subpattern count = 1
11139    May match empty string
11140  No options  No options
11141  First char at start or follows newline  First char at start or follows newline
11142  No need char  No need char
11143    
11144  /(.*ab|.*)++/I  /(.*ab|.*)++/I
11145  Capturing subpattern count = 1  Capturing subpattern count = 1
11146    May match empty string
11147  No options  No options
11148  First char at start or follows newline  First char at start or follows newline
11149  No need char  No need char
# Line 11094  Need char = 'b' Line 11162  Need char = 'b'
11162    
11163  /(?:.*ab|.*)+/I  /(?:.*ab|.*)+/I
11164  Capturing subpattern count = 0  Capturing subpattern count = 0
11165    May match empty string
11166  No options  No options
11167  First char at start or follows newline  First char at start or follows newline
11168  No need char  No need char
11169    
11170  /(?:.*ab|.*)++/I  /(?:.*ab|.*)++/I
11171  Capturing subpattern count = 0  Capturing subpattern count = 0
11172    May match empty string
11173  No options  No options
11174  First char at start or follows newline  First char at start or follows newline
11175  No need char  No need char
# Line 11254  No match Line 11324  No match
11324    
11325  /(a)b|ac/++SS  /(a)b|ac/++SS
11326      ac\O3      ac\O3
 Matched, but too many substrings  
11327   0: ac   0: ac
11328   0+   0+
11329    
# Line 11506  Matched, but too many substrings Line 11575  Matched, but too many substrings
11575          Assert not          Assert not
11576          a          a
11577          Ket          Ket
11578          \w+          \w++
11579          Ket          Ket
11580          End          End
11581  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 11614  No match Line 11683  No match
11683    
11684  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS  /\btype\b\W*?\btext\b\W*?\bjavascript\b/IS
11685  Capturing subpattern count = 0  Capturing subpattern count = 0
11686    Max lookbehind = 1
11687  No options  No options
11688  First char = 't'  First char = 't'
11689  Need char = 't'  Need char = 't'
 Max lookbehind = 1  
11690  Subject length lower bound = 18  Subject length lower bound = 18
11691  No set of starting bytes  No set of starting bytes
11692    
11693  /\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
11694  Capturing subpattern count = 0  Capturing subpattern count = 0
11695    Max lookbehind = 1
11696  No options  No options
11697  No first char  No first char
11698  No need char  No need char
 Max lookbehind = 1  
11699  Subject length lower bound = 8  Subject length lower bound = 8
11700  Starting byte set: < o t u  Starting byte set: < o t u
11701    
11702  /a(*SKIP)c|b(*ACCEPT)|/+SI  /a(*SKIP)c|b(*ACCEPT)|/+S!I
11703  Capturing subpattern count = 0  Capturing subpattern count = 0
11704    May match empty string
11705  No options  No options
11706  No first char  No first char
11707  No need char  No need char
11708  Study returned NULL  Subject length lower bound = -1
11709    No set of starting bytes
11710      a      a
11711   0:   0:
11712   0+   0+
# Line 11696  Minimum match() limit = 86 Line 11767  Minimum match() limit = 86
11767  Minimum match() recursion limit = 45  Minimum match() recursion limit = 45
11768   0: abbbbbbbbbbbbbbbbbbbbba   0: abbbbbbbbbbbbbbbbbbbbba
11769    
 /-- 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  
   
 /-----------------------------------------------/  
   
11770  /^(?>a+)(?>(z+))\w/BZ  /^(?>a+)(?>(z+))\w/BZ
11771  ------------------------------------------------------------------  ------------------------------------------------------------------
11772          Bra          Bra
11773          ^          ^
11774          Once_NC          Once_NC
11775          a+          a++
11776          Ket          Ket
11777          Once          Once
11778          CBra 1          CBra 1
11779          z+          z++
11780          Ket          Ket
11781          Ket          Ket
11782          \w          \w
# Line 11823  No match Line 11835  No match
11835    
11836  /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/  /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
11837       \Maabbccddee       \Maabbccddee
11838  Minimum match() limit = 12  Minimum match() limit = 7
11839  Minimum match() recursion limit = 3  Minimum match() recursion limit = 2
11840   0: aabbccddee   0: aabbccddee
11841    
11842  /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/  /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
11843       \Maabbccddee       \Maabbccddee
11844  Minimum match() limit = 22  Minimum match() limit = 17
11845  Minimum match() recursion limit = 21  Minimum match() recursion limit = 16
11846   0: aabbccddee   0: aabbccddee
11847   1: aa   1: aa
11848   2: bb   2: bb
# Line 11840  Minimum match() recursion limit = 21 Line 11852  Minimum match() recursion limit = 21
11852    
11853  /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/  /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
11854       \Maabbccddee       \Maabbccddee
11855  Minimum match() limit = 18  Minimum match() limit = 13
11856  Minimum match() recursion limit = 13  Minimum match() recursion limit = 10
11857   0: aabbccddee   0: aabbccddee
11858   1: aa   1: aa
11859   2: cc   2: cc
# Line 11932  No match Line 11944  No match
11944  Failed: \N is not supported in a class at offset 3  Failed: \N is not supported in a class at offset 3
11945    
11946  /a[B-\Nc]/  /a[B-\Nc]/
11947  Failed: \N is not supported in a class at offset 5  Failed: invalid range in character class at offset 5
11948    
11949    /a[B\Nc]/
11950    Failed: \N is not supported in a class at offset 4
11951    
11952  /(a)(?2){0,1999}?(b)/  /(a)(?2){0,1999}?(b)/
11953    
# Line 12271  Partial match: \x0d\x0d Line 12286  Partial match: \x0d\x0d
12286      \r\r\r\P\P      \r\r\r\P\P
12287   0: \x0d\x0d   0: \x0d\x0d
12288    
12289  /-- This one is here because Perl does not match: it seems to allow the COMMIT  "AB(C(D))(E(F))?(?(?=\2)(?=\4))"
12290  to escape from the assertion. --/      ABCDGHI\O03
12291    Matched, but too many substrings
12292     0: ABCD
12293    
12294    /-- These are all run as real matches in test 1; here we are just checking the
12295    settings of the anchored and startline bits. --/
12296    
12297  /(?=a(*COMMIT)b|ac)ac|ac/  /(?>.*?a)(?<=ba)/I
12298      ac  Capturing subpattern count = 0
12299   0: ac  Max lookbehind = 2
12300    No options
12301    No first char
12302    Need char = 'a'
12303    
12304    /(?:.*?a)(?<=ba)/I
12305    Capturing subpattern count = 0
12306    Max lookbehind = 2
12307    No options
12308    First char at start or follows newline
12309    Need char = 'a'
12310    
12311    /.*?a(*PRUNE)b/I
12312    Capturing subpattern count = 0
12313    No options
12314    No first char
12315    Need char = 'b'
12316    
12317    /.*?a(*PRUNE)b/sI
12318    Capturing subpattern count = 0
12319    Options: dotall
12320    No first char
12321    Need char = 'b'
12322    
12323    /^a(*PRUNE)b/sI
12324    Capturing subpattern count = 0
12325    Options: anchored dotall
12326    No first char
12327    No need char
12328    
12329    /.*?a(*SKIP)b/I
12330    Capturing subpattern count = 0
12331    No options
12332    No first char
12333    Need char = 'b'
12334    
12335    /(?>.*?a)b/sI
12336    Capturing subpattern count = 0
12337    Options: dotall
12338    No first char
12339    Need char = 'b'
12340    
12341    /(?>.*?a)b/I
12342    Capturing subpattern count = 0
12343    No options
12344    No first char
12345    Need char = 'b'
12346    
12347    /(?>^a)b/sI
12348    Capturing subpattern count = 0
12349    Options: anchored dotall
12350    No first char
12351    No need char
12352    
12353    /(?>.*?)(?<=(abcd)|(wxyz))/I
12354    Capturing subpattern count = 2
12355    Max lookbehind = 4
12356    May match empty string
12357    No options
12358    No first char
12359    No need char
12360    
12361    /(?>.*)(?<=(abcd)|(wxyz))/I
12362    Capturing subpattern count = 2
12363    Max lookbehind = 4
12364    May match empty string
12365    No options
12366    No first char
12367    No need char
12368    
12369    "(?>.*)foo"I
12370    Capturing subpattern count = 0
12371    No options
12372    No first char
12373    Need char = 'o'
12374    
12375    "(?>.*?)foo"I
12376    Capturing subpattern count = 0
12377    No options
12378    No first char
12379    Need char = 'o'
12380    
12381    /(?>^abc)/mI
12382    Capturing subpattern count = 0
12383    Options: multiline
12384    First char at start or follows newline
12385    Need char = 'c'
12386    
12387    /(?>.*abc)/mI
12388    Capturing subpattern count = 0
12389    Options: multiline
12390    No first char
12391    Need char = 'c'
12392    
12393    /(?:.*abc)/mI
12394    Capturing subpattern count = 0
12395    Options: multiline
12396    First char at start or follows newline
12397    Need char = 'c'
12398    
12399    /-- Check PCRE_STUDY_EXTRA_NEEDED --/
12400    
12401    /.?/S-I
12402    Capturing subpattern count = 0
12403    May match empty string
12404    No options
12405    No first char
12406    No need char
12407    Study returned NULL
12408    
12409    /.?/S!I
12410    Capturing subpattern count = 0
12411    May match empty string
12412    No options
12413    No first char
12414    No need char
12415    Subject length lower bound = -1
12416    No set of starting bytes
12417    
12418    /(?:(a)+(?C1)bb|aa(?C2)b)/
12419        aab\C+
12420    Callout 1: last capture = 1
12421     0: <unset>
12422     1: a
12423    --->aab
12424        ^ ^     b
12425    Callout 1: last capture = 1
12426     0: <unset>
12427     1: a
12428    --->aab
12429        ^^      b
12430    Callout 2: last capture = -1
12431     0: <unset>
12432    --->aab
12433        ^ ^     b
12434     0: aab
12435    
12436    /(?:(a)++(?C1)bb|aa(?C2)b)/
12437        aab\C+
12438    Callout 1: last capture = 1
12439     0: <unset>
12440     1: a
12441    --->aab
12442        ^ ^     b
12443    Callout 2: last capture = -1
12444     0: <unset>
12445    --->aab
12446        ^ ^     b
12447     0: aab
12448    
12449    /(?:(?>(a))(?C1)bb|aa(?C2)b)/
12450        aab\C+
12451    Callout 1: last capture = 1
12452     0: <unset>
12453     1: a
12454    --->aab
12455        ^^      b
12456    Callout 2: last capture = -1
12457     0: <unset>
12458    --->aab
12459        ^ ^     b
12460     0: aab
12461    
12462    /(?:(?1)(?C1)x|ab(?C2))((a)){0}/
12463        aab\C+
12464    Callout 1: last capture = -1
12465     0: <unset>
12466    --->aab
12467        ^^      x
12468    Callout 1: last capture = -1
12469     0: <unset>
12470    --->aab
12471         ^^     x
12472    Callout 2: last capture = -1
12473     0: <unset>
12474    --->aab
12475         ^ ^    )
12476     0: ab
12477    
12478    /(?1)(?C1)((a)(?C2)){0}/
12479        aab\C+
12480    Callout 2: last capture = 2
12481     0: <unset>
12482     1: <unset>
12483     2: a
12484    --->aab
12485        ^^      )
12486    Callout 1: last capture = -1
12487     0: <unset>
12488    --->aab
12489        ^^      ((a)(?C2)){0}
12490     0: a
12491    
12492    /(?:(a)+(?C1)bb|aa(?C2)b)++/
12493        aab\C+
12494    Callout 1: last capture = 1
12495     0: <unset>
12496     1: a
12497    --->aab
12498        ^ ^     b
12499    Callout 1: last capture = 1
12500     0: <unset>
12501     1: a
12502    --->aab
12503        ^^      b
12504    Callout 2: last capture = -1
12505     0: <unset>
12506    --->aab
12507        ^ ^     b
12508     0: aab
12509        aab\C+\O2
12510    Callout 1: last capture = 1
12511     0: <unset>
12512    --->aab
12513        ^ ^     b
12514    Callout 1: last capture = 1
12515     0: <unset>
12516    --->aab
12517        ^^      b
12518    Callout 2: last capture = -1
12519     0: <unset>
12520    --->aab
12521        ^ ^     b
12522     0: aab
12523    
12524    /(ab)x|ab/
12525        ab\O3
12526     0: ab
12527        ab\O2
12528     0: ab
12529    
12530    /(ab)/
12531        ab\O3
12532    Matched, but too many substrings
12533     0: ab
12534        ab\O2
12535    Matched, but too many substrings
12536     0: ab
12537    
12538    /(?<=123)(*MARK:xx)abc/K
12539        xxxx123a\P\P
12540    Partial match at offset 7, mark=xx: 123a
12541        xxxx123a\P
12542    Partial match at offset 7, mark=xx: 123a
12543    
12544    /123\Kabc/
12545        xxxx123a\P\P
12546    Partial match: 123a
12547        xxxx123a\P
12548    Partial match: 123a
12549    
12550    /^(?(?=a)aa|bb)/C
12551        bb
12552    --->bb
12553     +0 ^      ^
12554     +1 ^      (?(?=a)aa|bb)
12555     +3 ^      (?=a)
12556     +6 ^      a
12557    +11 ^      b
12558    +12 ^^     b
12559    +13 ^ ^    )
12560    +14 ^ ^
12561     0: bb
12562    
12563    /(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
12564        bb
12565    --->bb
12566      1 ^      ^
12567      2 ^      (?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))
12568     99 ^      (?=(?C3)a(?C4))
12569      3 ^      a
12570      8 ^      b
12571      9 ^^     b
12572     10 ^ ^    )
12573     11 ^ ^
12574     0: bb
12575    
12576    /-- Perl seems to have a bug with this one --/
12577    
12578    /aaaaa(*COMMIT)(*PRUNE)b|a+c/
12579        aaaaaac
12580     0: aaaac
12581    
12582    /-- Here are some that Perl treats differently because of the way it handles
12583    backtracking verbs. --/
12584    
12585     /(?!a(*COMMIT)b)ac|ad/
12586         ac
12587     0: ac
12588         ad
12589     0: ad
12590    
12591    /^(?!a(*THEN)b|ac)../
12592         ac
12593    No match
12594         ad
12595     0: ad
12596    
12597    /^(?=a(*THEN)b|ac)/
12598        ac
12599     0:
12600    
12601    /\A.*?(?:a|b(*THEN)c)/
12602        ba
12603     0: ba
12604    
12605    /\A.*?(?:a|b(*THEN)c)++/
12606        ba
12607     0: ba
12608    
12609    /\A.*?(?:a|b(*THEN)c|d)/
12610        ba
12611     0: ba
12612    
12613    /(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
12614        aac
12615     0: aac
12616    
12617    /\A.*?(a|b(*THEN)c)/
12618        ba
12619     0: ba
12620     1: a
12621    
12622    /^(A(*THEN)B|A(*THEN)D)/
12623        AD
12624     0: AD
12625     1: AD
12626    
12627    /(?!b(*THEN)a)bn|bnn/
12628        bnn
12629     0: bn
12630    
12631    /(?(?=b(*SKIP)a)bn|bnn)/
12632        bnn
12633    No match
12634    
12635    /(?=b(*THEN)a|)bn|bnn/
12636        bnn
12637     0: bn
12638    
12639    /-------------------------/
12640    
12641    /(*LIMIT_MATCH=12bc)abc/
12642    Failed: (*VERB) not recognized or malformed at offset 7
12643    
12644    /(*LIMIT_MATCH=4294967290)abc/
12645    Failed: (*VERB) not recognized or malformed at offset 7
12646    
12647    /(*LIMIT_RECURSION=4294967280)abc/I
12648    Capturing subpattern count = 0
12649    Recursion limit = 4294967280
12650    No options
12651    First char = 'a'
12652    Need char = 'c'
12653    
12654    /(a+)*zz/
12655        aaaaaaaaaaaaaz
12656    No match
12657        aaaaaaaaaaaaaz\q3000
12658    Error -8 (match limit exceeded)
12659    
12660    /(a+)*zz/S-
12661        aaaaaaaaaaaaaz\Q10
12662    Error -21 (recursion limit exceeded)
12663    
12664    /(*LIMIT_MATCH=3000)(a+)*zz/I
12665    Capturing subpattern count = 1
12666    Match limit = 3000
12667    No options
12668    No first char
12669    Need char = 'z'
12670        aaaaaaaaaaaaaz
12671    Error -8 (match limit exceeded)
12672        aaaaaaaaaaaaaz\q60000
12673    Error -8 (match limit exceeded)
12674    
12675    /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
12676    Capturing subpattern count = 1
12677    Match limit = 3000
12678    No options
12679    No first char
12680    Need char = 'z'
12681        aaaaaaaaaaaaaz
12682    Error -8 (match limit exceeded)
12683    
12684    /(*LIMIT_MATCH=60000)(a+)*zz/I
12685    Capturing subpattern count = 1
12686    Match limit = 60000
12687    No options
12688    No first char
12689    Need char = 'z'
12690        aaaaaaaaaaaaaz
12691    No match
12692        aaaaaaaaaaaaaz\q3000
12693    Error -8 (match limit exceeded)
12694    
12695    /(*LIMIT_RECURSION=10)(a+)*zz/IS-
12696    Capturing subpattern count = 1
12697    Recursion limit = 10
12698    No options
12699    No first char
12700    Need char = 'z'
12701    Subject length lower bound = 2
12702    Starting byte set: a z
12703        aaaaaaaaaaaaaz
12704    Error -21 (recursion limit exceeded)
12705        aaaaaaaaaaaaaz\Q1000
12706    Error -21 (recursion limit exceeded)
12707    
12708    /(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12709    Capturing subpattern count = 1
12710    Recursion limit = 10
12711    No options
12712    No first char
12713    Need char = 'z'
12714    Subject length lower bound = 2
12715    Starting byte set: a z
12716        aaaaaaaaaaaaaz
12717    Error -21 (recursion limit exceeded)
12718    
12719    /(*LIMIT_RECURSION=1000)(a+)*zz/IS-
12720    Capturing subpattern count = 1
12721    Recursion limit = 1000
12722    No options
12723    No first char
12724    Need char = 'z'
12725    Subject length lower bound = 2
12726    Starting byte set: a z
12727        aaaaaaaaaaaaaz
12728    No match
12729        aaaaaaaaaaaaaz\Q10
12730    Error -21 (recursion limit exceeded)
12731    
12732    /-- This test causes a segfault with Perl 5.18.0 --/
12733    
12734    /^(?=(a)){0}b(?1)/
12735        backgammon
12736     0: ba
12737    
12738    /(?|(?<n>f)|(?<n>b))/JI
12739    Capturing subpattern count = 1
12740    Named capturing subpatterns:
12741      n   1
12742    Options: dupnames
12743    No first char
12744    No need char
12745    
12746    /(?<a>abc)(?<a>z)\k<a>()/JDZS
12747    ------------------------------------------------------------------
12748            Bra
12749            CBra 1
12750            abc
12751            Ket
12752            CBra 2
12753            z
12754            Ket
12755            \k<a>2
12756            CBra 3
12757            Ket
12758            Ket
12759            End
12760    ------------------------------------------------------------------
12761    Capturing subpattern count = 3
12762    Max back reference = 2
12763    Named capturing subpatterns:
12764      a   1
12765      a   2
12766    Options: dupnames
12767    First char = 'a'
12768    Need char = 'z'
12769    Subject length lower bound = 5
12770    No set of starting bytes
12771    
12772    /a*[bcd]/BZ
12773    ------------------------------------------------------------------
12774            Bra
12775            a*+
12776            [b-d]
12777            Ket
12778            End
12779    ------------------------------------------------------------------
12780    
12781    /[bcd]*a/BZ
12782    ------------------------------------------------------------------
12783            Bra
12784            [b-d]*+
12785            a
12786            Ket
12787            End
12788    ------------------------------------------------------------------
12789    
12790    /-- A complete set of tests for auto-possessification of character types --/
12791    
12792    /\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+\Z \D+\z \D+$/BZx
12793    ------------------------------------------------------------------
12794            Bra
12795            \D+
12796            \D
12797            \D++
12798            \d
12799            \D+
12800            \S
12801            \D+
12802            \s
12803            \D+
12804            \W
12805            \D+
12806            \w
12807            \D+
12808            Any
12809            \D+
12810            AllAny
12811            \D+
12812            \R
12813            \D+
12814            \H
12815            \D+
12816            \h
12817            \D+
12818            \V
12819            \D+
12820            \v
12821            \D+
12822            \Z
12823            \D++
12824            \z
12825            \D+
12826            $
12827            Ket
12828            End
12829    ------------------------------------------------------------------
12830    
12831    /\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+\Z \d+\z \d+$/BZx
12832    ------------------------------------------------------------------
12833            Bra
12834            \d++
12835            \D
12836            \d+
12837            \d
12838            \d+
12839            \S
12840            \d++
12841            \s
12842            \d++
12843            \W
12844            \d+
12845            \w
12846            \d+
12847            Any
12848            \d+
12849            AllAny
12850            \d++
12851            \R
12852            \d+
12853            \H
12854            \d++
12855            \h
12856            \d+
12857            \V
12858            \d++
12859            \v
12860            \d++
12861            \Z
12862            \d++
12863            \z
12864            \d++
12865            $
12866            Ket
12867            End
12868    ------------------------------------------------------------------
12869    
12870    /\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+\Z \S+\z \S+$/BZx
12871    ------------------------------------------------------------------
12872            Bra
12873            \S+
12874            \D
12875            \S+
12876            \d
12877            \S+
12878            \S
12879            \S++
12880            \s
12881            \S+
12882            \W
12883            \S+
12884            \w
12885            \S+
12886            Any
12887            \S+
12888            AllAny
12889            \S++
12890            \R
12891            \S+
12892            \H
12893            \S++
12894            \h
12895            \S+
12896            \V
12897            \S++
12898            \v
12899            \S++
12900            \Z
12901            \S++
12902            \z
12903            \S++
12904            $
12905            Ket
12906            End
12907    ------------------------------------------------------------------
12908    
12909    /\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+\Z \s+\z \s+$/BZx
12910    ------------------------------------------------------------------
12911            Bra
12912            \s+
12913            \D
12914            \s++
12915            \d
12916            \s++
12917            \S
12918            \s+
12919            \s
12920            \s+
12921            \W
12922            \s++
12923            \w
12924            \s+
12925            Any
12926            \s+
12927            AllAny
12928            \s+
12929            \R
12930            \s+
12931            \H
12932            \s+
12933            \h
12934            \s+
12935            \V
12936            \s+
12937            \v
12938            \s+
12939            \Z
12940            \s++
12941            \z
12942            \s+
12943            $
12944            Ket
12945            End
12946    ------------------------------------------------------------------
12947    
12948    /\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+\Z \W+\z \W+$/BZx
12949    ------------------------------------------------------------------
12950            Bra
12951            \W+
12952            \D
12953            \W++
12954            \d
12955            \W+
12956            \S
12957            \W+
12958            \s
12959            \W+
12960            \W
12961            \W++
12962            \w
12963            \W+
12964            Any
12965            \W+
12966            AllAny
12967            \W+
12968            \R
12969            \W+
12970            \H
12971            \W+
12972            \h
12973            \W+
12974            \V
12975            \W+
12976            \v
12977            \W+
12978            \Z
12979            \W++
12980            \z
12981            \W+
12982            $
12983            Ket
12984            End
12985    ------------------------------------------------------------------
12986    
12987    /\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+\Z \w+\z \w+$/BZx
12988    ------------------------------------------------------------------
12989            Bra
12990            \w+
12991            \D
12992            \w+
12993            \d
12994            \w+
12995            \S
12996            \w++
12997            \s
12998            \w++
12999            \W
13000            \w+
13001            \w
13002            \w+
13003            Any
13004            \w+
13005            AllAny
13006            \w++
13007            \R
13008            \w+
13009            \H
13010            \w++
13011            \h
13012            \w+
13013            \V
13014            \w++
13015            \v
13016            \w++
13017            \Z
13018            \w++
13019            \z
13020            \w++
13021            $
13022            Ket
13023            End
13024    ------------------------------------------------------------------
13025    
13026    /\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+\Z \C+\z \C+$/BZx
13027    ------------------------------------------------------------------
13028            Bra
13029            AllAny+
13030            \D
13031            AllAny+
13032            \d
13033            AllAny+
13034            \S
13035            AllAny+
13036            \s
13037            AllAny+
13038            \W
13039            AllAny+
13040            \w
13041            AllAny+
13042            Any
13043            AllAny+
13044            AllAny
13045            AllAny+
13046            \R
13047            AllAny+
13048            \H
13049            AllAny+
13050            \h
13051            AllAny+
13052            \V
13053            AllAny+
13054            \v
13055            AllAny+
13056            \Z
13057            AllAny++
13058            \z
13059            AllAny+
13060            $
13061            Ket
13062            End
13063    ------------------------------------------------------------------
13064    
13065    /\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+\Z \R+\z \R+$/BZx
13066    ------------------------------------------------------------------
13067            Bra
13068            \R+
13069            \D
13070            \R++
13071            \d
13072            \R+
13073            \S
13074            \R++
13075            \s
13076            \R+
13077            \W
13078            \R++
13079            \w
13080            \R++
13081            Any
13082            \R+
13083            AllAny
13084            \R+
13085            \R
13086            \R+
13087            \H
13088            \R++
13089            \h
13090            \R+
13091            \V
13092            \R+
13093            \v
13094            \R+
13095            \Z
13096            \R++
13097            \z
13098            \R+
13099            $
13100            Ket
13101            End
13102    ------------------------------------------------------------------
13103    
13104    /\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+\Z \H+\z \H+$/BZx
13105    ------------------------------------------------------------------
13106            Bra
13107            \H+
13108            \D
13109            \H+
13110            \d
13111            \H+
13112            \S
13113            \H+
13114            \s
13115            \H+
13116            \W
13117            \H+
13118            \w
13119            \H+
13120            Any
13121            \H+
13122            AllAny
13123            \H+
13124            \R
13125            \H+
13126            \H
13127            \H++
13128            \h
13129            \H+
13130            \V
13131            \H+
13132            \v
13133            \H+
13134            \Z
13135            \H++
13136            \z
13137            \H+
13138            $
13139            Ket
13140            End
13141    ------------------------------------------------------------------
13142    
13143    /\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+\Z \h+\z \h+$/BZx
13144    ------------------------------------------------------------------
13145            Bra
13146            \h+
13147            \D
13148            \h++
13149            \d
13150            \h++
13151            \S
13152            \h+
13153            \s
13154            \h+
13155            \W
13156            \h++
13157            \w
13158            \h+
13159            Any
13160            \h+
13161            AllAny
13162            \h++
13163            \R
13164            \h++
13165            \H
13166            \h+
13167            \h
13168            \h+
13169            \V
13170            \h++
13171            \v
13172            \h+
13173            \Z
13174            \h++
13175            \z
13176            \h+
13177            $
13178            Ket
13179            End
13180    ------------------------------------------------------------------
13181    
13182    /\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+\Z \V+\z \V+$/BZx
13183    ------------------------------------------------------------------
13184            Bra
13185            \V+
13186            \D
13187            \V+
13188            \d
13189            \V+
13190            \S
13191            \V+
13192            \s
13193            \V+
13194            \W
13195            \V+
13196            \w
13197            \V+
13198            Any
13199            \V+
13200            AllAny
13201            \V++
13202            \R
13203            \V+
13204            \H
13205            \V+
13206            \h
13207            \V+
13208            \V
13209            \V++
13210            \v
13211            \V+
13212            \Z
13213            \V++
13214            \z
13215            \V+
13216            $
13217            Ket
13218            End
13219    ------------------------------------------------------------------
13220    
13221    /\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+\Z \v+\z \v+$/BZx
13222    ------------------------------------------------------------------
13223            Bra
13224            \v+
13225            \D
13226            \v++
13227            \d
13228            \v++
13229            \S
13230            \v+
13231            \s
13232            \v+
13233            \W
13234            \v++
13235            \w
13236            \v+
13237            Any
13238            \v+
13239            AllAny
13240            \v+
13241            \R
13242            \v+
13243            \H
13244            \v++
13245            \h
13246            \v++
13247            \V
13248            \v+
13249            \v
13250            \v+
13251            \Z
13252            \v++
13253            \z
13254            \v+
13255            $
13256            Ket
13257            End
13258    ------------------------------------------------------------------
13259    
13260    / 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+\Z  a+\z  a+$/BZx
13261    ------------------------------------------------------------------
13262            Bra
13263            a+
13264            \D
13265            a++
13266            \d
13267            a+
13268            \S
13269            a++
13270            \s
13271            a++
13272            \W
13273            a+
13274            \w
13275            a+
13276            Any
13277            a+
13278            AllAny
13279            a++
13280            \R
13281            a+
13282            \H
13283            a++
13284            \h
13285            a+
13286            \V
13287            a++
13288            \v
13289            a++
13290            \Z
13291            a++
13292            \z
13293            a++
13294            $
13295            Ket
13296            End
13297    ------------------------------------------------------------------
13298    
13299    /\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+\Z \n+\z \n+$/BZx
13300    ------------------------------------------------------------------
13301            Bra
13302            \x0a+
13303            \D
13304            \x0a++
13305            \d
13306            \x0a++
13307            \S
13308            \x0a+
13309            \s
13310            \x0a+
13311            \W
13312            \x0a++
13313            \w
13314            \x0a+
13315            Any
13316            \x0a+
13317            AllAny
13318            \x0a+
13319            \R
13320            \x0a+
13321            \H
13322            \x0a++
13323            \h
13324            \x0a++
13325            \V
13326            \x0a+
13327            \v
13328            \x0a+
13329            \Z
13330            \x0a++
13331            \z
13332            \x0a+
13333            $
13334            Ket
13335            End
13336    ------------------------------------------------------------------
13337    
13338    / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZx
13339    ------------------------------------------------------------------
13340            Bra
13341            Any+
13342            \D
13343            Any+
13344            \d
13345            Any+
13346            \S
13347            Any+
13348            \s
13349            Any+
13350            \W
13351            Any+
13352            \w
13353            Any+
13354            Any
13355            Any+
13356            AllAny
13357            Any++
13358            \R
13359            Any+
13360            \H
13361            Any+
13362            \h
13363            Any+
13364            \V
13365            Any+
13366            \v
13367            Any+
13368            \Z
13369            Any++
13370            \z
13371            Any+
13372            $
13373            Ket
13374            End
13375    ------------------------------------------------------------------
13376    
13377    / .+\D  .+\d  .+\S  .+\s  .+\W  .+\w  .+.  .+\C  .+\R  .+\H  .+\h  .+\V  .+\v  .+\Z  .+\z  .+$/BZxs
13378    ------------------------------------------------------------------
13379            Bra
13380            AllAny+
13381            \D
13382            AllAny+
13383            \d
13384            AllAny+
13385            \S
13386            AllAny+
13387            \s
13388            AllAny+
13389            \W
13390            AllAny+
13391            \w
13392            AllAny+
13393            AllAny
13394            AllAny+
13395            AllAny
13396            AllAny+
13397            \R
13398            AllAny+
13399            \H
13400            AllAny+
13401            \h
13402            AllAny+
13403            \V
13404            AllAny+
13405            \v
13406            AllAny+
13407            \Z
13408            AllAny++
13409            \z
13410            AllAny+
13411            $
13412            Ket
13413            End
13414    ------------------------------------------------------------------
13415    
13416    /\D+$  \d+$  \S+$  \s+$  \W+$  \w+$  \C+$  \R+$  \H+$  \h+$  \V+$  \v+$   a+$  \n+$   .+$  .+$/BZxm
13417    ------------------------------------------------------------------
13418            Bra
13419            \D+
13420         /m $
13421            \d++
13422         /m $
13423            \S++
13424         /m $
13425            \s+
13426         /m $
13427            \W+
13428         /m $
13429            \w++
13430         /m $
13431            AllAny+
13432         /m $
13433            \R+
13434         /m $
13435            \H+
13436         /m $
13437            \h+
13438         /m $
13439            \V+
13440         /m $
13441            \v+
13442         /m $
13443            a+
13444         /m $
13445            \x0a+
13446         /m $
13447            Any+
13448         /m $
13449            Any+
13450         /m $
13451            Ket
13452            End
13453    ------------------------------------------------------------------
13454    
13455    /(?=a+)a(a+)++a/BZ
13456    ------------------------------------------------------------------
13457            Bra
13458            Assert
13459            a++
13460            Ket
13461            a
13462            CBraPos 1
13463            a++
13464            KetRpos
13465            a
13466            Ket
13467            End
13468    ------------------------------------------------------------------
13469    
13470    /a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
13471    ------------------------------------------------------------------
13472            Bra
13473            a++
13474            CBra 1
13475            bb
13476            Alt
13477            cc
13478            Ket
13479            a++
13480            Bra
13481            bb
13482            Alt
13483            cc
13484            Ket
13485            a++
13486            Once_NC
13487            bb
13488            Alt
13489            cc
13490            Ket
13491            a++
13492            Bra
13493            bb
13494            Alt
13495            cc
13496            KetRmax
13497            a+
13498            CBra 2
13499            aa
13500            Ket
13501            a+
13502            Bra
13503            bb
13504            Alt
13505            aa
13506            Ket
13507            Ket
13508            End
13509    ------------------------------------------------------------------
13510    
13511    /a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
13512    ------------------------------------------------------------------
13513            Bra
13514            a++
13515            Brazero
13516            CBra 1
13517            bb
13518            Alt
13519            cc
13520            Ket
13521            #
13522            a++
13523            Braminzero
13524            Bra
13525            bb
13526            Alt
13527            cc
13528            Ket
13529            #
13530            a++
13531            Once
13532            Brazero
13533            Bra
13534            bb
13535            Alt
13536            cc
13537            Ket
13538            Ket
13539            #
13540            a++
13541            Brazero
13542            Bra
13543            bb
13544            Alt
13545            cc
13546            KetRmax
13547            #
13548            a+
13549            Brazero
13550            CBra 2
13551            bb
13552            Alt
13553            cc
13554            Ket
13555            a#
13556            a+
13557            Brazero
13558            Bra
13559            aa
13560            Ket
13561            Ket
13562            End
13563    ------------------------------------------------------------------
13564    
13565    /a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
13566    ------------------------------------------------------------------
13567            Bra
13568            a+
13569            Brazero
13570            Bra
13571            bb
13572            Ket
13573            a#
13574            a++
13575            Bra
13576            Alt
13577            Alt
13578            Alt
13579            Ket
13580            #
13581            a+
13582            Bra
13583            Alt
13584            b
13585            Ket
13586            a#
13587            a+
13588            Brazero
13589            Bra
13590            Alt
13591            Alt
13592            Alt
13593            Ket
13594            a
13595            Ket
13596            End
13597    ------------------------------------------------------------------
13598    
13599    /[ab]*/BZ
13600    ------------------------------------------------------------------
13601            Bra
13602            [ab]*+
13603            Ket
13604            End
13605    ------------------------------------------------------------------
13606        aaaa
13607     0: aaaa
13608    
13609    /[ab]*?/BZ
13610    ------------------------------------------------------------------
13611            Bra
13612            [ab]*?
13613            Ket
13614            End
13615    ------------------------------------------------------------------
13616        aaaa
13617     0:
13618    
13619    /[ab]?/BZ
13620    ------------------------------------------------------------------
13621            Bra
13622            [ab]?+
13623            Ket
13624            End
13625    ------------------------------------------------------------------
13626        aaaa
13627     0: a
13628    
13629    /[ab]??/BZ
13630    ------------------------------------------------------------------
13631            Bra
13632            [ab]??
13633            Ket
13634            End
13635    ------------------------------------------------------------------
13636        aaaa
13637     0:
13638    
13639    /[ab]+/BZ
13640    ------------------------------------------------------------------
13641            Bra
13642            [ab]++
13643            Ket
13644            End
13645    ------------------------------------------------------------------
13646        aaaa
13647     0: aaaa
13648    
13649    /[ab]+?/BZ
13650    ------------------------------------------------------------------
13651            Bra
13652            [ab]+?
13653            Ket
13654            End
13655    ------------------------------------------------------------------
13656        aaaa
13657     0: a
13658    
13659    /[ab]{2,3}/BZ
13660    ------------------------------------------------------------------
13661            Bra
13662            [ab]{2,3}+
13663            Ket
13664            End
13665    ------------------------------------------------------------------
13666        aaaa
13667     0: aaa
13668    
13669    /[ab]{2,3}?/BZ
13670    ------------------------------------------------------------------
13671            Bra
13672            [ab]{2,3}?
13673            Ket
13674            End
13675    ------------------------------------------------------------------
13676        aaaa
13677     0: aa
13678    
13679    /[ab]{2,}/BZ
13680    ------------------------------------------------------------------
13681            Bra
13682            [ab]{2,}+
13683            Ket
13684            End
13685    ------------------------------------------------------------------
13686        aaaa
13687     0: aaaa
13688    
13689    /[ab]{2,}?/BZ
13690    ------------------------------------------------------------------
13691            Bra
13692            [ab]{2,}?
13693            Ket
13694            End
13695    ------------------------------------------------------------------
13696        aaaa
13697     0: aa
13698    
13699    /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
13700    ------------------------------------------------------------------
13701            Bra
13702            \d++
13703            \s{0,5}+
13704            =
13705            \s*+
13706            \S?
13707            =
13708            \w{0,4}+
13709            \W*+
13710            Ket
13711            End
13712    ------------------------------------------------------------------
13713    
13714    /[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
13715    ------------------------------------------------------------------
13716            Bra
13717            [a-d]{5,12}+
13718            [0-9e-z]*+
13719            #
13720            [\x00-`{-\xff] (neg)++
13721            [b-y]*+
13722            a
13723            [2-7]?+
13724            [\x00-/:-`{-\xff] (neg)++
13725            Ket
13726            End
13727    ------------------------------------------------------------------
13728    
13729    /[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ
13730    ------------------------------------------------------------------
13731            Bra
13732            [a-z]*+
13733            \s
13734            #
13735            [\x09 ]?+
13736            \S
13737            #
13738            [a-c]*
13739            \S
13740            #
13741            [C-G]++
13742            \d
13743            #
13744            [4-8]*+
13745            \D
13746            #
13747            [,4-9]*
13748            \D
13749            #
13750            [!$]{0,5}+
13751            \w
13752            #
13753            [M-Xf-l]++
13754            \W
13755            #
13756            [,a-c]?
13757            \W
13758            Ket
13759            End
13760    ------------------------------------------------------------------
13761    
13762    /a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
13763    ------------------------------------------------------------------
13764            Bra
13765            a+
13766            Brazero
13767            CBra 1
13768            aa
13769            Alt
13770            bb
13771            KetRmax
13772            c#
13773            a*
13774            Brazero
13775            CBra 2
13776            bb
13777            Alt
13778            cc
13779            KetRmax
13780            a#
13781            a?+
13782            Brazero
13783            CBra 3
13784            bb
13785            Alt
13786            cc
13787            KetRmax
13788            d#
13789            [a-f]*
13790            Brazero
13791            CBra 4
13792            g
13793            Alt
13794            hh
13795            KetRmax
13796            f
13797            Ket
13798            End
13799    ------------------------------------------------------------------
13800    
13801    /[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
13802    ------------------------------------------------------------------
13803            Bra
13804            [a-f]*+
13805            Brazero
13806            CBra 1
13807            g
13808            Alt
13809            hh
13810            Alt
13811            i
13812            KetRmax
13813            i#
13814            [a-x]{4,}
13815            Brazero
13816            SCBra 2
13817            y{0,6}
13818            KetRmax
13819            y#
13820            [a-k]++
13821            CBra 3
13822            ll
13823            Alt
13824            mm
13825            KetRmax
13826            n
13827            Ket
13828            End
13829    ------------------------------------------------------------------
13830    
13831    /[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
13832    ------------------------------------------------------------------
13833            Bra
13834            [a-f]*+
13835            Once_NC
13836            gg
13837            Alt
13838            hh
13839            KetRmax
13840            #
13841            [a-f]*+
13842            Brazero
13843            Once_NC
13844            gg
13845            Alt
13846            hh
13847            Ket
13848            #
13849            [a-f]*
13850            Brazero
13851            Once_NC
13852            gg
13853            Alt
13854            hh
13855            KetRmax
13856            a#
13857            [a-f]*+
13858            Brazero
13859            Once_NC
13860            gg
13861            Alt
13862            hh
13863            KetRmax
13864            h
13865            Ket
13866            End
13867    ------------------------------------------------------------------
13868    
13869    /[a-c]*d/DZS
13870    ------------------------------------------------------------------
13871            Bra
13872            [a-c]*+
13873            d
13874            Ket
13875            End
13876    ------------------------------------------------------------------
13877    Capturing subpattern count = 0
13878    No options
13879    No first char
13880    Need char = 'd'
13881    Subject length lower bound = 1
13882    Starting byte set: a b c d
13883    
13884    /[a-c]+d/DZS
13885    ------------------------------------------------------------------
13886            Bra
13887            [a-c]++
13888            d
13889            Ket
13890            End
13891    ------------------------------------------------------------------
13892    Capturing subpattern count = 0
13893    No options
13894    No first char
13895    Need char = 'd'
13896    Subject length lower bound = 2
13897    Starting byte set: a b c
13898    
13899    /[a-c]?d/DZS
13900    ------------------------------------------------------------------
13901            Bra
13902            [a-c]?+
13903            d
13904            Ket
13905            End
13906    ------------------------------------------------------------------
13907    Capturing subpattern count = 0
13908    No options
13909    No first char
13910    Need char = 'd'
13911    Subject length lower bound = 1
13912    Starting byte set: a b c d
13913    
13914    /[a-c]{4,6}d/DZS
13915    ------------------------------------------------------------------
13916            Bra
13917            [a-c]{4,6}+
13918            d
13919            Ket
13920            End
13921    ------------------------------------------------------------------
13922    Capturing subpattern count = 0
13923    No options
13924    No first char
13925    Need char = 'd'
13926    Subject length lower bound = 5
13927    Starting byte set: a b c
13928    
13929    /[a-c]{0,6}d/DZS
13930    ------------------------------------------------------------------
13931            Bra
13932            [a-c]{0,6}+
13933            d
13934            Ket
13935            End
13936    ------------------------------------------------------------------
13937    Capturing subpattern count = 0
13938    No options
13939    No first char
13940    Need char = 'd'
13941    Subject length lower bound = 1
13942    Starting byte set: a b c d
13943    
13944    /-- End of special auto-possessive tests --/
13945    
13946    /^A\o{1239}B/
13947    Failed: non-octal character in \o{} (closing brace missing?) at offset 8
13948    
13949    /^A\oB/
13950    Failed: missing opening brace after \o at offset 3
13951    
13952    /^A\x{zz}B/
13953    Failed: non-hex character in \x{} (closing brace missing?) at offset 5
13954    
13955    /^A\x{12Z/
13956    Failed: non-hex character in \x{} (closing brace missing?) at offset 7
13957    
13958    /^A\x{/
13959    Failed: non-hex character in \x{} (closing brace missing?) at offset 5
13960    
13961    /[ab]++/BZO
13962    ------------------------------------------------------------------
13963            Bra
13964            [ab]++
13965            Ket
13966            End
13967    ------------------------------------------------------------------
13968    
13969    /[^ab]*+/BZO
13970    ------------------------------------------------------------------
13971            Bra
13972            [\x00-`c-\xff] (neg)*+
13973            Ket
13974            End
13975    ------------------------------------------------------------------
13976    
13977    /a{4}+/BZO
13978    ------------------------------------------------------------------
13979            Bra
13980            a{4}
13981            Ket
13982            End
13983    ------------------------------------------------------------------
13984    
13985    /a{4}+/BZOi
13986    ------------------------------------------------------------------
13987            Bra
13988         /i a{4}
13989            Ket
13990            End
13991    ------------------------------------------------------------------
13992    
13993    /[a-[:digit:]]+/
13994    Failed: invalid range in character class at offset 3
13995    
13996    /[A-[:digit:]]+/
13997    Failed: invalid range in character class at offset 3
13998    
13999    /[a-[.xxx.]]+/
14000    Failed: invalid range in character class at offset 3
14001    
14002    /[a-[=xxx=]]+/
14003    Failed: invalid range in character class at offset 3
14004    
14005    /[a-[!xxx!]]+/
14006    Failed: range out of order in character class at offset 3
14007    
14008    /[A-[!xxx!]]+/
14009        A]]]
14010     0: A]]]
14011    
14012    /[a-\d]+/
14013    Failed: invalid range in character class at offset 4
14014    
14015  /-- End of testinput2 --/  /-- End of testinput2 --/

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

  ViewVC Help
Powered by ViewVC 1.1.5