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

Diff of /code/trunk/testdata/testoutput1

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

revision 57 by nigel, Sat Feb 24 21:39:50 2007 UTC revision 450 by ph10, Wed Sep 16 10:56:40 2009 UTC
# Line 1  Line 1 
1  PCRE version 3.7 29-Oct-2001  /-- This set of tests is for features that are compatible with all versions of
2        Perl 5, in non-UTF-8 mode. --/
3    
4  /the quick brown fox/  /the quick brown fox/
5      the quick brown fox      the quick brown fox
# Line 1819  No match Line 1820  No match
1820  No match  No match
1821    
1822  /^a     b  /^a     b
1823        c/x        c/x
1824      abc      abc
1825   0: abc   0: abc
1826    
# Line 1941  No match Line 1942  No match
1942  /^[W-c]+$/  /^[W-c]+$/
1943      WXY_^abc      WXY_^abc
1944   0: WXY_^abc   0: WXY_^abc
1945      ***Failers      *** Failers
1946  No match  No match
1947      wxy      wxy
1948  No match  No match
# Line 2095  No match Line 2096  No match
2096      {4,5a}bc      {4,5a}bc
2097   0: {4,5a}bc   0: {4,5a}bc
2098    
 /^a.b/  
     a\rb  
  0: a\x0db  
     *** Failers  
 No match  
     a\nb  
 No match  
   
2099  /abc$/  /abc$/
2100      abc      abc
2101   0: abc   0: abc
# Line 2128  No match Line 2121  No match
2121   0: abc\xd3   0: abc\xd3
2122   1: abc   1: abc
2123    
2124  /(abc)\500/  /(abc)\100/
2125      abc\x40      abc\x40
2126   0: abc@   0: abc@
2127   1: abc   1: abc
# Line 2136  No match Line 2129  No match
2129   0: abc@   0: abc@
2130   1: abc   1: abc
2131    
2132  /(abc)\5000/  /(abc)\1000/
2133      abc\x400      abc\x400
2134   0: abc@0   0: abc@0
2135   1: abc   1: abc
# Line 2199  No match Line 2192  No match
2192  10: j  10: j
2193  11: k  11: k
2194    
2195  /ab\gdef/  /ab\idef/
2196      abgdef      abidef
2197   0: abgdef   0: abidef
2198    
2199  /a{0}bc/  /a{0}bc/
2200      bc      bc
# Line 2224  No match Line 2217  No match
2217   0: abc\x01de   0: abc\x01de
2218   1: abc   1: abc
2219    
2220  /a.b(?s)/  /(?s)a.b/
2221      a\nb      a\nb
2222   0: a\x0ab   0: a\x0ab
2223    
# Line 3014  No match Line 3007  No match
3007   0: ABABAB   0: ABABAB
3008   1: AB   1: AB
3009    
3010  / End of testinput1 /  /(?<!bar)foo/
3011        foo
3012     0: foo
3013        catfood
3014     0: foo
3015        arfootle
3016     0: foo
3017        rfoosh
3018     0: foo
3019        *** Failers
3020    No match
3021        barfoo
3022    No match
3023        towbarfoo
3024    No match
3025    
3026    /\w{3}(?<!bar)foo/
3027        catfood
3028     0: catfoo
3029        *** Failers
3030    No match
3031        foo
3032    No match
3033        barfoo
3034    No match
3035        towbarfoo
3036    No match
3037    
3038    /(?<=(foo)a)bar/
3039        fooabar
3040     0: bar
3041     1: foo
3042        *** Failers
3043    No match
3044        bar
3045    No match
3046        foobbar
3047    No match
3048    
3049    /\Aabc\z/m
3050        abc
3051     0: abc
3052        *** Failers
3053    No match
3054        abc\n
3055    No match
3056        qqq\nabc
3057    No match
3058        abc\nzzz
3059    No match
3060        qqq\nabc\nzzz
3061    No match
3062    
3063    "(?>.*/)foo"
3064        /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
3065    No match
3066    
3067    "(?>.*/)foo"
3068        /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
3069     0: /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
3070    
3071    /(?>(\.\d\d[1-9]?))\d+/
3072        1.230003938
3073     0: .230003938
3074     1: .23
3075        1.875000282
3076     0: .875000282
3077     1: .875
3078        *** Failers
3079    No match
3080        1.235
3081    No match
3082    
3083    /^((?>\w+)|(?>\s+))*$/
3084        now is the time for all good men to come to the aid of the party
3085     0: now is the time for all good men to come to the aid of the party
3086     1: party
3087        *** Failers
3088    No match
3089        this is not a line with only words and spaces!
3090    No match
3091    
3092    /(\d+)(\w)/
3093        12345a
3094     0: 12345a
3095     1: 12345
3096     2: a
3097        12345+
3098     0: 12345
3099     1: 1234
3100     2: 5
3101    
3102    /((?>\d+))(\w)/
3103        12345a
3104     0: 12345a
3105     1: 12345
3106     2: a
3107        *** Failers
3108    No match
3109        12345+
3110    No match
3111    
3112    /(?>a+)b/
3113        aaab
3114     0: aaab
3115    
3116    /((?>a+)b)/
3117        aaab
3118     0: aaab
3119     1: aaab
3120    
3121    /(?>(a+))b/
3122        aaab
3123     0: aaab
3124     1: aaa
3125    
3126    /(?>b)+/
3127        aaabbbccc
3128     0: bbb
3129    
3130    /(?>a+|b+|c+)*c/
3131        aaabbbbccccd
3132     0: aaabbbbc
3133    
3134    /((?>[^()]+)|\([^()]*\))+/
3135        ((abc(ade)ufh()()x
3136     0: abc(ade)ufh()()x
3137     1: x
3138    
3139    /\(((?>[^()]+)|\([^()]+\))+\)/
3140        (abc)
3141     0: (abc)
3142     1: abc
3143        (abc(def)xyz)
3144     0: (abc(def)xyz)
3145     1: xyz
3146        *** Failers
3147    No match
3148        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3149    No match
3150    
3151    /a(?-i)b/i
3152        ab
3153     0: ab
3154        Ab
3155     0: Ab
3156        *** Failers
3157    No match
3158        aB
3159    No match
3160        AB
3161    No match
3162    
3163    /(a (?x)b c)d e/
3164        a bcd e
3165     0: a bcd e
3166     1: a bc
3167        *** Failers
3168    No match
3169        a b cd e
3170    No match
3171        abcd e
3172    No match
3173        a bcde
3174    No match
3175    
3176    /(a b(?x)c d (?-x)e f)/
3177        a bcde f
3178     0: a bcde f
3179     1: a bcde f
3180        *** Failers
3181    No match
3182        abcdef
3183    No match
3184    
3185    /(a(?i)b)c/
3186        abc
3187     0: abc
3188     1: ab
3189        aBc
3190     0: aBc
3191     1: aB
3192        *** Failers
3193    No match
3194        abC
3195    No match
3196        aBC
3197    No match
3198        Abc
3199    No match
3200        ABc
3201    No match
3202        ABC
3203    No match
3204        AbC
3205    No match
3206    
3207    /a(?i:b)c/
3208        abc
3209     0: abc
3210        aBc
3211     0: aBc
3212        *** Failers
3213    No match
3214        ABC
3215    No match
3216        abC
3217    No match
3218        aBC
3219    No match
3220    
3221    /a(?i:b)*c/
3222        aBc
3223     0: aBc
3224        aBBc
3225     0: aBBc
3226        *** Failers
3227    No match
3228        aBC
3229    No match
3230        aBBC
3231    No match
3232    
3233    /a(?=b(?i)c)\w\wd/
3234        abcd
3235     0: abcd
3236        abCd
3237     0: abCd
3238        *** Failers
3239    No match
3240        aBCd
3241    No match
3242        abcD
3243    No match
3244    
3245    /(?s-i:more.*than).*million/i
3246        more than million
3247     0: more than million
3248        more than MILLION
3249     0: more than MILLION
3250        more \n than Million
3251     0: more \x0a than Million
3252        *** Failers
3253    No match
3254        MORE THAN MILLION
3255    No match
3256        more \n than \n million
3257    No match
3258    
3259    /(?:(?s-i)more.*than).*million/i
3260        more than million
3261     0: more than million
3262        more than MILLION
3263     0: more than MILLION
3264        more \n than Million
3265     0: more \x0a than Million
3266        *** Failers
3267    No match
3268        MORE THAN MILLION
3269    No match
3270        more \n than \n million
3271    No match
3272    
3273    /(?>a(?i)b+)+c/
3274        abc
3275     0: abc
3276        aBbc
3277     0: aBbc
3278        aBBc
3279     0: aBBc
3280        *** Failers
3281    No match
3282        Abc
3283    No match
3284        abAb
3285    No match
3286        abbC
3287    No match
3288    
3289    /(?=a(?i)b)\w\wc/
3290        abc
3291     0: abc
3292        aBc
3293     0: aBc
3294        *** Failers
3295    No match
3296        Ab
3297    No match
3298        abC
3299    No match
3300        aBC
3301    No match
3302    
3303    /(?<=a(?i)b)(\w\w)c/
3304        abxxc
3305     0: xxc
3306     1: xx
3307        aBxxc
3308     0: xxc
3309     1: xx
3310        *** Failers
3311    No match
3312        Abxxc
3313    No match
3314        ABxxc
3315    No match
3316        abxxC
3317    No match
3318    
3319    /(?:(a)|b)(?(1)A|B)/
3320        aA
3321     0: aA
3322     1: a
3323        bB
3324     0: bB
3325        *** Failers
3326    No match
3327        aB
3328    No match
3329        bA
3330    No match
3331    
3332    /^(a)?(?(1)a|b)+$/
3333        aa
3334     0: aa
3335     1: a
3336        b
3337     0: b
3338        bb
3339     0: bb
3340        *** Failers
3341    No match
3342        ab
3343    No match
3344    
3345    /^(?(?=abc)\w{3}:|\d\d)$/
3346        abc:
3347     0: abc:
3348        12
3349     0: 12
3350        *** Failers
3351    No match
3352        123
3353    No match
3354        xyz
3355    No match
3356    
3357    /^(?(?!abc)\d\d|\w{3}:)$/
3358        abc:
3359     0: abc:
3360        12
3361     0: 12
3362        *** Failers
3363    No match
3364        123
3365    No match
3366        xyz
3367    No match
3368    
3369    /(?(?<=foo)bar|cat)/
3370        foobar
3371     0: bar
3372        cat
3373     0: cat
3374        fcat
3375     0: cat
3376        focat
3377     0: cat
3378        *** Failers
3379    No match
3380        foocat
3381    No match
3382    
3383    /(?(?<!foo)cat|bar)/
3384        foobar
3385     0: bar
3386        cat
3387     0: cat
3388        fcat
3389     0: cat
3390        focat
3391     0: cat
3392        *** Failers
3393    No match
3394        foocat
3395    No match
3396    
3397    /( \( )? [^()]+ (?(1) \) |) /x
3398        abcd
3399     0: abcd
3400        (abcd)
3401     0: (abcd)
3402     1: (
3403        the quick (abcd) fox
3404     0: the quick
3405        (abcd
3406     0: abcd
3407    
3408    /( \( )? [^()]+ (?(1) \) ) /x
3409        abcd
3410     0: abcd
3411        (abcd)
3412     0: (abcd)
3413     1: (
3414        the quick (abcd) fox
3415     0: the quick
3416        (abcd
3417     0: abcd
3418    
3419    /^(?(2)a|(1)(2))+$/
3420        12
3421     0: 12
3422     1: 1
3423     2: 2
3424        12a
3425     0: 12a
3426     1: 1
3427     2: 2
3428        12aa
3429     0: 12aa
3430     1: 1
3431     2: 2
3432        *** Failers
3433    No match
3434        1234
3435    No match
3436    
3437    /((?i)blah)\s+\1/
3438        blah blah
3439     0: blah blah
3440     1: blah
3441        BLAH BLAH
3442     0: BLAH BLAH
3443     1: BLAH
3444        Blah Blah
3445     0: Blah Blah
3446     1: Blah
3447        blaH blaH
3448     0: blaH blaH
3449     1: blaH
3450        *** Failers
3451    No match
3452        blah BLAH
3453    No match
3454        Blah blah
3455    No match
3456        blaH blah
3457    No match
3458    
3459    /((?i)blah)\s+(?i:\1)/
3460        blah blah
3461     0: blah blah
3462     1: blah
3463        BLAH BLAH
3464     0: BLAH BLAH
3465     1: BLAH
3466        Blah Blah
3467     0: Blah Blah
3468     1: Blah
3469        blaH blaH
3470     0: blaH blaH
3471     1: blaH
3472        blah BLAH
3473     0: blah BLAH
3474     1: blah
3475        Blah blah
3476     0: Blah blah
3477     1: Blah
3478        blaH blah
3479     0: blaH blah
3480     1: blaH
3481    
3482    /(?>a*)*/
3483        a
3484     0: a
3485        aa
3486     0: aa
3487        aaaa
3488     0: aaaa
3489    
3490    /(abc|)+/
3491        abc
3492     0: abc
3493     1:
3494        abcabc
3495     0: abcabc
3496     1:
3497        abcabcabc
3498     0: abcabcabc
3499     1:
3500        xyz
3501     0:
3502     1:
3503    
3504    /([a]*)*/
3505        a
3506     0: a
3507     1:
3508        aaaaa
3509     0: aaaaa
3510     1:
3511    
3512    /([ab]*)*/
3513        a
3514     0: a
3515     1:
3516        b
3517     0: b
3518     1:
3519        ababab
3520     0: ababab
3521     1:
3522        aaaabcde
3523     0: aaaab
3524     1:
3525        bbbb
3526     0: bbbb
3527     1:
3528    
3529    /([^a]*)*/
3530        b
3531     0: b
3532     1:
3533        bbbb
3534     0: bbbb
3535     1:
3536        aaa
3537     0:
3538     1:
3539    
3540    /([^ab]*)*/
3541        cccc
3542     0: cccc
3543     1:
3544        abab
3545     0:
3546     1:
3547    
3548    /([a]*?)*/
3549        a
3550     0:
3551     1:
3552        aaaa
3553     0:
3554     1:
3555    
3556    /([ab]*?)*/
3557        a
3558     0:
3559     1:
3560        b
3561     0:
3562     1:
3563        abab
3564     0:
3565     1:
3566        baba
3567     0:
3568     1:
3569    
3570    /([^a]*?)*/
3571        b
3572     0:
3573     1:
3574        bbbb
3575     0:
3576     1:
3577        aaa
3578     0:
3579     1:
3580    
3581    /([^ab]*?)*/
3582        c
3583     0:
3584     1:
3585        cccc
3586     0:
3587     1:
3588        baba
3589     0:
3590     1:
3591    
3592    /(?>a*)*/
3593        a
3594     0: a
3595        aaabcde
3596     0: aaa
3597    
3598    /((?>a*))*/
3599        aaaaa
3600     0: aaaaa
3601     1:
3602        aabbaa
3603     0: aa
3604     1:
3605    
3606    /((?>a*?))*/
3607        aaaaa
3608     0:
3609     1:
3610        aabbaa
3611     0:
3612     1:
3613    
3614    /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /x
3615        12-sep-98
3616     0: 12-sep-98
3617        12-09-98
3618     0: 12-09-98
3619        *** Failers
3620    No match
3621        sep-12-98
3622    No match
3623    
3624    /(?<=(foo))bar\1/
3625        foobarfoo
3626     0: barfoo
3627     1: foo
3628        foobarfootling
3629     0: barfoo
3630     1: foo
3631        *** Failers
3632    No match
3633        foobar
3634    No match
3635        barfoo
3636    No match
3637    
3638    /(?i:saturday|sunday)/
3639        saturday
3640     0: saturday
3641        sunday
3642     0: sunday
3643        Saturday
3644     0: Saturday
3645        Sunday
3646     0: Sunday
3647        SATURDAY
3648     0: SATURDAY
3649        SUNDAY
3650     0: SUNDAY
3651        SunDay
3652     0: SunDay
3653    
3654    /(a(?i)bc|BB)x/
3655        abcx
3656     0: abcx
3657     1: abc
3658        aBCx
3659     0: aBCx
3660     1: aBC
3661        bbx
3662     0: bbx
3663     1: bb
3664        BBx
3665     0: BBx
3666     1: BB
3667        *** Failers
3668    No match
3669        abcX
3670    No match
3671        aBCX
3672    No match
3673        bbX
3674    No match
3675        BBX
3676    No match
3677    
3678    /^([ab](?i)[cd]|[ef])/
3679        ac
3680     0: ac
3681     1: ac
3682        aC
3683     0: aC
3684     1: aC
3685        bD
3686     0: bD
3687     1: bD
3688        elephant
3689     0: e
3690     1: e
3691        Europe
3692     0: E
3693     1: E
3694        frog
3695     0: f
3696     1: f
3697        France
3698     0: F
3699     1: F
3700        *** Failers
3701    No match
3702        Africa
3703    No match
3704    
3705    /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
3706        ab
3707     0: ab
3708     1: ab
3709        aBd
3710     0: aBd
3711     1: aBd
3712        xy
3713     0: xy
3714     1: xy
3715        xY
3716     0: xY
3717     1: xY
3718        zebra
3719     0: z
3720     1: z
3721        Zambesi
3722     0: Z
3723     1: Z
3724        *** Failers
3725    No match
3726        aCD
3727    No match
3728        XY
3729    No match
3730    
3731    /(?<=foo\n)^bar/m
3732        foo\nbar
3733     0: bar
3734        *** Failers
3735    No match
3736        bar
3737    No match
3738        baz\nbar
3739    No match
3740    
3741    /(?<=(?<!foo)bar)baz/
3742        barbaz
3743     0: baz
3744        barbarbaz
3745     0: baz
3746        koobarbaz
3747     0: baz
3748        *** Failers
3749    No match
3750        baz
3751    No match
3752        foobarbaz
3753    No match
3754    
3755    /The case of aaaaaa is missed out below because I think Perl 5.005_02 gets/
3756    /it wrong; it sets $1 to aaa rather than aa. Compare the following test,/
3757    No match
3758    /where it does set $1 to aa when matching aaaaaa./
3759    No match
3760    
3761    /^(a\1?){4}$/
3762        a
3763    No match
3764        aa
3765    No match
3766        aaa
3767    No match
3768        aaaa
3769     0: aaaa
3770     1: a
3771        aaaaa
3772     0: aaaaa
3773     1: a
3774        aaaaaaa
3775     0: aaaaaaa
3776     1: a
3777        aaaaaaaa
3778    No match
3779        aaaaaaaaa
3780    No match
3781        aaaaaaaaaa
3782     0: aaaaaaaaaa
3783     1: aaaa
3784        aaaaaaaaaaa
3785    No match
3786        aaaaaaaaaaaa
3787    No match
3788        aaaaaaaaaaaaa
3789    No match
3790        aaaaaaaaaaaaaa
3791    No match
3792        aaaaaaaaaaaaaaa
3793    No match
3794        aaaaaaaaaaaaaaaa
3795    No match
3796    
3797    /^(a\1?)(a\1?)(a\2?)(a\3?)$/
3798        a
3799    No match
3800        aa
3801    No match
3802        aaa
3803    No match
3804        aaaa
3805     0: aaaa
3806     1: a
3807     2: a
3808     3: a
3809     4: a
3810        aaaaa
3811     0: aaaaa
3812     1: a
3813     2: aa
3814     3: a
3815     4: a
3816        aaaaaa
3817     0: aaaaaa
3818     1: a
3819     2: aa
3820     3: a
3821     4: aa
3822        aaaaaaa
3823     0: aaaaaaa
3824     1: a
3825     2: aa
3826     3: aaa
3827     4: a
3828        aaaaaaaa
3829    No match
3830        aaaaaaaaa
3831    No match
3832        aaaaaaaaaa
3833     0: aaaaaaaaaa
3834     1: a
3835     2: aa
3836     3: aaa
3837     4: aaaa
3838        aaaaaaaaaaa
3839    No match
3840        aaaaaaaaaaaa
3841    No match
3842        aaaaaaaaaaaaa
3843    No match
3844        aaaaaaaaaaaaaa
3845    No match
3846        aaaaaaaaaaaaaaa
3847    No match
3848        aaaaaaaaaaaaaaaa
3849    No match
3850    
3851    /The following tests are taken from the Perl 5.005 test suite; some of them/
3852    /are compatible with 5.004, but I'd rather not have to sort them out./
3853    No match
3854    
3855    /abc/
3856        abc
3857     0: abc
3858        xabcy
3859     0: abc
3860        ababc
3861     0: abc
3862        *** Failers
3863    No match
3864        xbc
3865    No match
3866        axc
3867    No match
3868        abx
3869    No match
3870    
3871    /ab*c/
3872        abc
3873     0: abc
3874    
3875    /ab*bc/
3876        abc
3877     0: abc
3878        abbc
3879     0: abbc
3880        abbbbc
3881     0: abbbbc
3882    
3883    /.{1}/
3884        abbbbc
3885     0: a
3886    
3887    /.{3,4}/
3888        abbbbc
3889     0: abbb
3890    
3891    /ab{0,}bc/
3892        abbbbc
3893     0: abbbbc
3894    
3895    /ab+bc/
3896        abbc
3897     0: abbc
3898        *** Failers
3899    No match
3900        abc
3901    No match
3902        abq
3903    No match
3904    
3905    /ab{1,}bc/
3906    
3907    /ab+bc/
3908        abbbbc
3909     0: abbbbc
3910    
3911    /ab{1,}bc/
3912        abbbbc
3913     0: abbbbc
3914    
3915    /ab{1,3}bc/
3916        abbbbc
3917     0: abbbbc
3918    
3919    /ab{3,4}bc/
3920        abbbbc
3921     0: abbbbc
3922    
3923    /ab{4,5}bc/
3924        *** Failers
3925    No match
3926        abq
3927    No match
3928        abbbbc
3929    No match
3930    
3931    /ab?bc/
3932        abbc
3933     0: abbc
3934        abc
3935     0: abc
3936    
3937    /ab{0,1}bc/
3938        abc
3939     0: abc
3940    
3941    /ab?bc/
3942    
3943    /ab?c/
3944        abc
3945     0: abc
3946    
3947    /ab{0,1}c/
3948        abc
3949     0: abc
3950    
3951    /^abc$/
3952        abc
3953     0: abc
3954        *** Failers
3955    No match
3956        abbbbc
3957    No match
3958        abcc
3959    No match
3960    
3961    /^abc/
3962        abcc
3963     0: abc
3964    
3965    /^abc$/
3966    
3967    /abc$/
3968        aabc
3969     0: abc
3970        *** Failers
3971    No match
3972        aabc
3973     0: abc
3974        aabcd
3975    No match
3976    
3977    /^/
3978        abc
3979     0:
3980    
3981    /$/
3982        abc
3983     0:
3984    
3985    /a.c/
3986        abc
3987     0: abc
3988        axc
3989     0: axc
3990    
3991    /a.*c/
3992        axyzc
3993     0: axyzc
3994    
3995    /a[bc]d/
3996        abd
3997     0: abd
3998        *** Failers
3999    No match
4000        axyzd
4001    No match
4002        abc
4003    No match
4004    
4005    /a[b-d]e/
4006        ace
4007     0: ace
4008    
4009    /a[b-d]/
4010        aac
4011     0: ac
4012    
4013    /a[-b]/
4014        a-
4015     0: a-
4016    
4017    /a[b-]/
4018        a-
4019     0: a-
4020    
4021    /a]/
4022        a]
4023     0: a]
4024    
4025    /a[]]b/
4026        a]b
4027     0: a]b
4028    
4029    /a[^bc]d/
4030        aed
4031     0: aed
4032        *** Failers
4033    No match
4034        abd
4035    No match
4036        abd
4037    No match
4038    
4039    /a[^-b]c/
4040        adc
4041     0: adc
4042    
4043    /a[^]b]c/
4044        adc
4045     0: adc
4046        *** Failers
4047    No match
4048        a-c
4049     0: a-c
4050        a]c
4051    No match
4052    
4053    /\ba\b/
4054        a-
4055     0: a
4056        -a
4057     0: a
4058        -a-
4059     0: a
4060    
4061    /\by\b/
4062        *** Failers
4063    No match
4064        xy
4065    No match
4066        yz
4067    No match
4068        xyz
4069    No match
4070    
4071    /\Ba\B/
4072        *** Failers
4073     0: a
4074        a-
4075    No match
4076        -a
4077    No match
4078        -a-
4079    No match
4080    
4081    /\By\b/
4082        xy
4083     0: y
4084    
4085    /\by\B/
4086        yz
4087     0: y
4088    
4089    /\By\B/
4090        xyz
4091     0: y
4092    
4093    /\w/
4094        a
4095     0: a
4096    
4097    /\W/
4098        -
4099     0: -
4100        *** Failers
4101     0: *
4102        -
4103     0: -
4104        a
4105    No match
4106    
4107    /a\sb/
4108        a b
4109     0: a b
4110    
4111    /a\Sb/
4112        a-b
4113     0: a-b
4114        *** Failers
4115    No match
4116        a-b
4117     0: a-b
4118        a b
4119    No match
4120    
4121    /\d/
4122        1
4123     0: 1
4124    
4125    /\D/
4126        -
4127     0: -
4128        *** Failers
4129     0: *
4130        -
4131     0: -
4132        1
4133    No match
4134    
4135    /[\w]/
4136        a
4137     0: a
4138    
4139    /[\W]/
4140        -
4141     0: -
4142        *** Failers
4143     0: *
4144        -
4145     0: -
4146        a
4147    No match
4148    
4149    /a[\s]b/
4150        a b
4151     0: a b
4152    
4153    /a[\S]b/
4154        a-b
4155     0: a-b
4156        *** Failers
4157    No match
4158        a-b
4159     0: a-b
4160        a b
4161    No match
4162    
4163    /[\d]/
4164        1
4165     0: 1
4166    
4167    /[\D]/
4168        -
4169     0: -
4170        *** Failers
4171     0: *
4172        -
4173     0: -
4174        1
4175    No match
4176    
4177    /ab|cd/
4178        abc
4179     0: ab
4180        abcd
4181     0: ab
4182    
4183    /()ef/
4184        def
4185     0: ef
4186     1:
4187    
4188    /$b/
4189    
4190    /a\(b/
4191        a(b
4192     0: a(b
4193    
4194    /a\(*b/
4195        ab
4196     0: ab
4197        a((b
4198     0: a((b
4199    
4200    /a\\b/
4201        a\b
4202    No match
4203    
4204    /((a))/
4205        abc
4206     0: a
4207     1: a
4208     2: a
4209    
4210    /(a)b(c)/
4211        abc
4212     0: abc
4213     1: a
4214     2: c
4215    
4216    /a+b+c/
4217        aabbabc
4218     0: abc
4219    
4220    /a{1,}b{1,}c/
4221        aabbabc
4222     0: abc
4223    
4224    /a.+?c/
4225        abcabc
4226     0: abc
4227    
4228    /(a+|b)*/
4229        ab
4230     0: ab
4231     1: b
4232    
4233    /(a+|b){0,}/
4234        ab
4235     0: ab
4236     1: b
4237    
4238    /(a+|b)+/
4239        ab
4240     0: ab
4241     1: b
4242    
4243    /(a+|b){1,}/
4244        ab
4245     0: ab
4246     1: b
4247    
4248    /(a+|b)?/
4249        ab
4250     0: a
4251     1: a
4252    
4253    /(a+|b){0,1}/
4254        ab
4255     0: a
4256     1: a
4257    
4258    /[^ab]*/
4259        cde
4260     0: cde
4261    
4262    /abc/
4263        *** Failers
4264    No match
4265        b
4266    No match
4267    
4268    
4269    /a*/
4270    
4271    
4272    /([abc])*d/
4273        abbbcd
4274     0: abbbcd
4275     1: c
4276    
4277    /([abc])*bcd/
4278        abcd
4279     0: abcd
4280     1: a
4281    
4282    /a|b|c|d|e/
4283        e
4284     0: e
4285    
4286    /(a|b|c|d|e)f/
4287        ef
4288     0: ef
4289     1: e
4290    
4291    /abcd*efg/
4292        abcdefg
4293     0: abcdefg
4294    
4295    /ab*/
4296        xabyabbbz
4297     0: ab
4298        xayabbbz
4299     0: a
4300    
4301    /(ab|cd)e/
4302        abcde
4303     0: cde
4304     1: cd
4305    
4306    /[abhgefdc]ij/
4307        hij
4308     0: hij
4309    
4310    /^(ab|cd)e/
4311    
4312    /(abc|)ef/
4313        abcdef
4314     0: ef
4315     1:
4316    
4317    /(a|b)c*d/
4318        abcd
4319     0: bcd
4320     1: b
4321    
4322    /(ab|ab*)bc/
4323        abc
4324     0: abc
4325     1: a
4326    
4327    /a([bc]*)c*/
4328        abc
4329     0: abc
4330     1: bc
4331    
4332    /a([bc]*)(c*d)/
4333        abcd
4334     0: abcd
4335     1: bc
4336     2: d
4337    
4338    /a([bc]+)(c*d)/
4339        abcd
4340     0: abcd
4341     1: bc
4342     2: d
4343    
4344    /a([bc]*)(c+d)/
4345        abcd
4346     0: abcd
4347     1: b
4348     2: cd
4349    
4350    /a[bcd]*dcdcde/
4351        adcdcde
4352     0: adcdcde
4353    
4354    /a[bcd]+dcdcde/
4355        *** Failers
4356    No match
4357        abcde
4358    No match
4359        adcdcde
4360    No match
4361    
4362    /(ab|a)b*c/
4363        abc
4364     0: abc
4365     1: ab
4366    
4367    /((a)(b)c)(d)/
4368        abcd
4369     0: abcd
4370     1: abc
4371     2: a
4372     3: b
4373     4: d
4374    
4375    /[a-zA-Z_][a-zA-Z0-9_]*/
4376        alpha
4377     0: alpha
4378    
4379    /^a(bc+|b[eh])g|.h$/
4380        abh
4381     0: bh
4382    
4383    /(bc+d$|ef*g.|h?i(j|k))/
4384        effgz
4385     0: effgz
4386     1: effgz
4387        ij
4388     0: ij
4389     1: ij
4390     2: j
4391        reffgz
4392     0: effgz
4393     1: effgz
4394        *** Failers
4395    No match
4396        effg
4397    No match
4398        bcdd
4399    No match
4400    
4401    /((((((((((a))))))))))/
4402        a
4403     0: a
4404     1: a
4405     2: a
4406     3: a
4407     4: a
4408     5: a
4409     6: a
4410     7: a
4411     8: a
4412     9: a
4413    10: a
4414    
4415    /((((((((((a))))))))))\10/
4416        aa
4417     0: aa
4418     1: a
4419     2: a
4420     3: a
4421     4: a
4422     5: a
4423     6: a
4424     7: a
4425     8: a
4426     9: a
4427    10: a
4428    
4429    /(((((((((a)))))))))/
4430        a
4431     0: a
4432     1: a
4433     2: a
4434     3: a
4435     4: a
4436     5: a
4437     6: a
4438     7: a
4439     8: a
4440     9: a
4441    
4442    /multiple words of text/
4443        *** Failers
4444    No match
4445        aa
4446    No match
4447        uh-uh
4448    No match
4449    
4450    /multiple words/
4451        multiple words, yeah
4452     0: multiple words
4453    
4454    /(.*)c(.*)/
4455        abcde
4456     0: abcde
4457     1: ab
4458     2: de
4459    
4460    /\((.*), (.*)\)/
4461        (a, b)
4462     0: (a, b)
4463     1: a
4464     2: b
4465    
4466    /[k]/
4467    
4468    /abcd/
4469        abcd
4470     0: abcd
4471    
4472    /a(bc)d/
4473        abcd
4474     0: abcd
4475     1: bc
4476    
4477    /a[-]?c/
4478        ac
4479     0: ac
4480    
4481    /(abc)\1/
4482        abcabc
4483     0: abcabc
4484     1: abc
4485    
4486    /([a-c]*)\1/
4487        abcabc
4488     0: abcabc
4489     1: abc
4490    
4491    /(a)|\1/
4492        a
4493     0: a
4494     1: a
4495        *** Failers
4496     0: a
4497     1: a
4498        ab
4499     0: a
4500     1: a
4501        x
4502    No match
4503    
4504    /(([a-c])b*?\2)*/
4505        ababbbcbc
4506     0: ababb
4507     1: bb
4508     2: b
4509    
4510    /(([a-c])b*?\2){3}/
4511        ababbbcbc
4512     0: ababbbcbc
4513     1: cbc
4514     2: c
4515    
4516    /((\3|b)\2(a)x)+/
4517        aaaxabaxbaaxbbax
4518     0: bbax
4519     1: bbax
4520     2: b
4521     3: a
4522    
4523    /((\3|b)\2(a)){2,}/
4524        bbaababbabaaaaabbaaaabba
4525     0: bbaaaabba
4526     1: bba
4527     2: b
4528     3: a
4529    
4530    /abc/i
4531        ABC
4532     0: ABC
4533        XABCY
4534     0: ABC
4535        ABABC
4536     0: ABC
4537        *** Failers
4538    No match
4539        aaxabxbaxbbx
4540    No match
4541        XBC
4542    No match
4543        AXC
4544    No match
4545        ABX
4546    No match
4547    
4548    /ab*c/i
4549        ABC
4550     0: ABC
4551    
4552    /ab*bc/i
4553        ABC
4554     0: ABC
4555        ABBC
4556     0: ABBC
4557    
4558    /ab*?bc/i
4559        ABBBBC
4560     0: ABBBBC
4561    
4562    /ab{0,}?bc/i
4563        ABBBBC
4564     0: ABBBBC
4565    
4566    /ab+?bc/i
4567        ABBC
4568     0: ABBC
4569    
4570    /ab+bc/i
4571        *** Failers
4572    No match
4573        ABC
4574    No match
4575        ABQ
4576    No match
4577    
4578    /ab{1,}bc/i
4579    
4580    /ab+bc/i
4581        ABBBBC
4582     0: ABBBBC
4583    
4584    /ab{1,}?bc/i
4585        ABBBBC
4586     0: ABBBBC
4587    
4588    /ab{1,3}?bc/i
4589        ABBBBC
4590     0: ABBBBC
4591    
4592    /ab{3,4}?bc/i
4593        ABBBBC
4594     0: ABBBBC
4595    
4596    /ab{4,5}?bc/i
4597        *** Failers
4598    No match
4599        ABQ
4600    No match
4601        ABBBBC
4602    No match
4603    
4604    /ab??bc/i
4605        ABBC
4606     0: ABBC
4607        ABC
4608     0: ABC
4609    
4610    /ab{0,1}?bc/i
4611        ABC
4612     0: ABC
4613    
4614    /ab??bc/i
4615    
4616    /ab??c/i
4617        ABC
4618     0: ABC
4619    
4620    /ab{0,1}?c/i
4621        ABC
4622     0: ABC
4623    
4624    /^abc$/i
4625        ABC
4626     0: ABC
4627        *** Failers
4628    No match
4629        ABBBBC
4630    No match
4631        ABCC
4632    No match
4633    
4634    /^abc/i
4635        ABCC
4636     0: ABC
4637    
4638    /^abc$/i
4639    
4640    /abc$/i
4641        AABC
4642     0: ABC
4643    
4644    /^/i
4645        ABC
4646     0:
4647    
4648    /$/i
4649        ABC
4650     0:
4651    
4652    /a.c/i
4653        ABC
4654     0: ABC
4655        AXC
4656     0: AXC
4657    
4658    /a.*?c/i
4659        AXYZC
4660     0: AXYZC
4661    
4662    /a.*c/i
4663        *** Failers
4664    No match
4665        AABC
4666     0: AABC
4667        AXYZD
4668    No match
4669    
4670    /a[bc]d/i
4671        ABD
4672     0: ABD
4673    
4674    /a[b-d]e/i
4675        ACE
4676     0: ACE
4677        *** Failers
4678    No match
4679        ABC
4680    No match
4681        ABD
4682    No match
4683    
4684    /a[b-d]/i
4685        AAC
4686     0: AC
4687    
4688    /a[-b]/i
4689        A-
4690     0: A-
4691    
4692    /a[b-]/i
4693        A-
4694     0: A-
4695    
4696    /a]/i
4697        A]
4698     0: A]
4699    
4700    /a[]]b/i
4701        A]B
4702     0: A]B
4703    
4704    /a[^bc]d/i
4705        AED
4706     0: AED
4707    
4708    /a[^-b]c/i
4709        ADC
4710     0: ADC
4711        *** Failers
4712    No match
4713        ABD
4714    No match
4715        A-C
4716    No match
4717    
4718    /a[^]b]c/i
4719        ADC
4720     0: ADC
4721    
4722    /ab|cd/i
4723        ABC
4724     0: AB
4725        ABCD
4726     0: AB
4727    
4728    /()ef/i
4729        DEF
4730     0: EF
4731     1:
4732    
4733    /$b/i
4734        *** Failers
4735    No match
4736        A]C
4737    No match
4738        B
4739    No match
4740    
4741    /a\(b/i
4742        A(B
4743     0: A(B
4744    
4745    /a\(*b/i
4746        AB
4747     0: AB
4748        A((B
4749     0: A((B
4750    
4751    /a\\b/i
4752        A\B
4753    No match
4754    
4755    /((a))/i
4756        ABC
4757     0: A
4758     1: A
4759     2: A
4760    
4761    /(a)b(c)/i
4762        ABC
4763     0: ABC
4764     1: A
4765     2: C
4766    
4767    /a+b+c/i
4768        AABBABC
4769     0: ABC
4770    
4771    /a{1,}b{1,}c/i
4772        AABBABC
4773     0: ABC
4774    
4775    /a.+?c/i
4776        ABCABC
4777     0: ABC
4778    
4779    /a.*?c/i
4780        ABCABC
4781     0: ABC
4782    
4783    /a.{0,5}?c/i
4784        ABCABC
4785     0: ABC
4786    
4787    /(a+|b)*/i
4788        AB
4789     0: AB
4790     1: B
4791    
4792    /(a+|b){0,}/i
4793        AB
4794     0: AB
4795     1: B
4796    
4797    /(a+|b)+/i
4798        AB
4799     0: AB
4800     1: B
4801    
4802    /(a+|b){1,}/i
4803        AB
4804     0: AB
4805     1: B
4806    
4807    /(a+|b)?/i
4808        AB
4809     0: A
4810     1: A
4811    
4812    /(a+|b){0,1}/i
4813        AB
4814     0: A
4815     1: A
4816    
4817    /(a+|b){0,1}?/i
4818        AB
4819     0:
4820    
4821    /[^ab]*/i
4822        CDE
4823     0: CDE
4824    
4825    /abc/i
4826    
4827    /a*/i
4828    
4829    
4830    /([abc])*d/i
4831        ABBBCD
4832     0: ABBBCD
4833     1: C
4834    
4835    /([abc])*bcd/i
4836        ABCD
4837     0: ABCD
4838     1: A
4839    
4840    /a|b|c|d|e/i
4841        E
4842     0: E
4843    
4844    /(a|b|c|d|e)f/i
4845        EF
4846     0: EF
4847     1: E
4848    
4849    /abcd*efg/i
4850        ABCDEFG
4851     0: ABCDEFG
4852    
4853    /ab*/i
4854        XABYABBBZ
4855     0: AB
4856        XAYABBBZ
4857     0: A
4858    
4859    /(ab|cd)e/i
4860        ABCDE
4861     0: CDE
4862     1: CD
4863    
4864    /[abhgefdc]ij/i
4865        HIJ
4866     0: HIJ
4867    
4868    /^(ab|cd)e/i
4869        ABCDE
4870    No match
4871    
4872    /(abc|)ef/i
4873        ABCDEF
4874     0: EF
4875     1:
4876    
4877    /(a|b)c*d/i
4878        ABCD
4879     0: BCD
4880     1: B
4881    
4882    /(ab|ab*)bc/i
4883        ABC
4884     0: ABC
4885     1: A
4886    
4887    /a([bc]*)c*/i
4888        ABC
4889     0: ABC
4890     1: BC
4891    
4892    /a([bc]*)(c*d)/i
4893        ABCD
4894     0: ABCD
4895     1: BC
4896     2: D
4897    
4898    /a([bc]+)(c*d)/i
4899        ABCD
4900     0: ABCD
4901     1: BC
4902     2: D
4903    
4904    /a([bc]*)(c+d)/i
4905        ABCD
4906     0: ABCD
4907     1: B
4908     2: CD
4909    
4910    /a[bcd]*dcdcde/i
4911        ADCDCDE
4912     0: ADCDCDE
4913    
4914    /a[bcd]+dcdcde/i
4915    
4916    /(ab|a)b*c/i
4917        ABC
4918     0: ABC
4919     1: AB
4920    
4921    /((a)(b)c)(d)/i
4922        ABCD
4923     0: ABCD
4924     1: ABC
4925     2: A
4926     3: B
4927     4: D
4928    
4929    /[a-zA-Z_][a-zA-Z0-9_]*/i
4930        ALPHA
4931     0: ALPHA
4932    
4933    /^a(bc+|b[eh])g|.h$/i
4934        ABH
4935     0: BH
4936    
4937    /(bc+d$|ef*g.|h?i(j|k))/i
4938        EFFGZ
4939     0: EFFGZ
4940     1: EFFGZ
4941        IJ
4942     0: IJ
4943     1: IJ
4944     2: J
4945        REFFGZ
4946     0: EFFGZ
4947     1: EFFGZ
4948        *** Failers
4949    No match
4950        ADCDCDE
4951    No match
4952        EFFG
4953    No match
4954        BCDD
4955    No match
4956    
4957    /((((((((((a))))))))))/i
4958        A
4959     0: A
4960     1: A
4961     2: A
4962     3: A
4963     4: A
4964     5: A
4965     6: A
4966     7: A
4967     8: A
4968     9: A
4969    10: A
4970    
4971    /((((((((((a))))))))))\10/i
4972        AA
4973     0: AA
4974     1: A
4975     2: A
4976     3: A
4977     4: A
4978     5: A
4979     6: A
4980     7: A
4981     8: A
4982     9: A
4983    10: A
4984    
4985    /(((((((((a)))))))))/i
4986        A
4987     0: A
4988     1: A
4989     2: A
4990     3: A
4991     4: A
4992     5: A
4993     6: A
4994     7: A
4995     8: A
4996     9: A
4997    
4998    /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
4999        A
5000     0: A
5001     1: A
5002    
5003    /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
5004        C
5005     0: C
5006     1: C
5007    
5008    /multiple words of text/i
5009        *** Failers
5010    No match
5011        AA
5012    No match
5013        UH-UH
5014    No match
5015    
5016    /multiple words/i
5017        MULTIPLE WORDS, YEAH
5018     0: MULTIPLE WORDS
5019    
5020    /(.*)c(.*)/i
5021        ABCDE
5022     0: ABCDE
5023     1: AB
5024     2: DE
5025    
5026    /\((.*), (.*)\)/i
5027        (A, B)
5028     0: (A, B)
5029     1: A
5030     2: B
5031    
5032    /[k]/i
5033    
5034    /abcd/i
5035        ABCD
5036     0: ABCD
5037    
5038    /a(bc)d/i
5039        ABCD
5040     0: ABCD
5041     1: BC
5042    
5043    /a[-]?c/i
5044        AC
5045     0: AC
5046    
5047    /(abc)\1/i
5048        ABCABC
5049     0: ABCABC
5050     1: ABC
5051    
5052    /([a-c]*)\1/i
5053        ABCABC
5054     0: ABCABC
5055     1: ABC
5056    
5057    /a(?!b)./
5058        abad
5059     0: ad
5060    
5061    /a(?=d)./
5062        abad
5063     0: ad
5064    
5065    /a(?=c|d)./
5066        abad
5067     0: ad
5068    
5069    /a(?:b|c|d)(.)/
5070        ace
5071     0: ace
5072     1: e
5073    
5074    /a(?:b|c|d)*(.)/
5075        ace
5076     0: ace
5077     1: e
5078    
5079    /a(?:b|c|d)+?(.)/
5080        ace
5081     0: ace
5082     1: e
5083        acdbcdbe
5084     0: acd
5085     1: d
5086    
5087    /a(?:b|c|d)+(.)/
5088        acdbcdbe
5089     0: acdbcdbe
5090     1: e
5091    
5092    /a(?:b|c|d){2}(.)/
5093        acdbcdbe
5094     0: acdb
5095     1: b
5096    
5097    /a(?:b|c|d){4,5}(.)/
5098        acdbcdbe
5099     0: acdbcdb
5100     1: b
5101    
5102    /a(?:b|c|d){4,5}?(.)/
5103        acdbcdbe
5104     0: acdbcd
5105     1: d
5106    
5107    /((foo)|(bar))*/
5108        foobar
5109     0: foobar
5110     1: bar
5111     2: foo
5112     3: bar
5113    
5114    /a(?:b|c|d){6,7}(.)/
5115        acdbcdbe
5116     0: acdbcdbe
5117     1: e
5118    
5119    /a(?:b|c|d){6,7}?(.)/
5120        acdbcdbe
5121     0: acdbcdbe
5122     1: e
5123    
5124    /a(?:b|c|d){5,6}(.)/
5125        acdbcdbe
5126     0: acdbcdbe
5127     1: e
5128    
5129    /a(?:b|c|d){5,6}?(.)/
5130        acdbcdbe
5131     0: acdbcdb
5132     1: b
5133    
5134    /a(?:b|c|d){5,7}(.)/
5135        acdbcdbe
5136     0: acdbcdbe
5137     1: e
5138    
5139    /a(?:b|c|d){5,7}?(.)/
5140        acdbcdbe
5141     0: acdbcdb
5142     1: b
5143    
5144    /a(?:b|(c|e){1,2}?|d)+?(.)/
5145        ace
5146     0: ace
5147     1: c
5148     2: e
5149    
5150    /^(.+)?B/
5151        AB
5152     0: AB
5153     1: A
5154    
5155    /^([^a-z])|(\^)$/
5156        .
5157     0: .
5158     1: .
5159    
5160    /^[<>]&/
5161        <&OUT
5162     0: <&
5163    
5164    /^(a\1?){4}$/
5165        aaaaaaaaaa
5166     0: aaaaaaaaaa
5167     1: aaaa
5168        *** Failers
5169    No match
5170        AB
5171    No match
5172        aaaaaaaaa
5173    No match
5174        aaaaaaaaaaa
5175    No match
5176    
5177    /^(a(?(1)\1)){4}$/
5178        aaaaaaaaaa
5179     0: aaaaaaaaaa
5180     1: aaaa
5181        *** Failers
5182    No match
5183        aaaaaaaaa
5184    No match
5185        aaaaaaaaaaa
5186    No match
5187    
5188    /(?:(f)(o)(o)|(b)(a)(r))*/
5189        foobar
5190     0: foobar
5191     1: f
5192     2: o
5193     3: o
5194     4: b
5195     5: a
5196     6: r
5197    
5198    /(?<=a)b/
5199        ab
5200     0: b
5201        *** Failers
5202    No match
5203        cb
5204    No match
5205        b
5206    No match
5207    
5208    /(?<!c)b/
5209        ab
5210     0: b
5211        b
5212     0: b
5213        b
5214     0: b
5215    
5216    /(?:..)*a/
5217        aba
5218     0: aba
5219    
5220    /(?:..)*?a/
5221        aba
5222     0: a
5223    
5224    /^(?:b|a(?=(.)))*\1/
5225        abc
5226     0: ab
5227     1: b
5228    
5229    /^(){3,5}/
5230        abc
5231     0:
5232     1:
5233    
5234    /^(a+)*ax/
5235        aax
5236     0: aax
5237     1: a
5238    
5239    /^((a|b)+)*ax/
5240        aax
5241     0: aax
5242     1: a
5243     2: a
5244    
5245    /^((a|bc)+)*ax/
5246        aax
5247     0: aax
5248     1: a
5249     2: a
5250    
5251    /(a|x)*ab/
5252        cab
5253     0: ab
5254    
5255    /(a)*ab/
5256        cab
5257     0: ab
5258    
5259    /(?:(?i)a)b/
5260        ab
5261     0: ab
5262    
5263    /((?i)a)b/
5264        ab
5265     0: ab
5266     1: a
5267    
5268    /(?:(?i)a)b/
5269        Ab
5270     0: Ab
5271    
5272    /((?i)a)b/
5273        Ab
5274     0: Ab
5275     1: A
5276    
5277    /(?:(?i)a)b/
5278        *** Failers
5279    No match
5280        cb
5281    No match
5282        aB
5283    No match
5284    
5285    /((?i)a)b/
5286    
5287    /(?i:a)b/
5288        ab
5289     0: ab
5290    
5291    /((?i:a))b/
5292        ab
5293     0: ab
5294     1: a
5295    
5296    /(?i:a)b/
5297        Ab
5298     0: Ab
5299    
5300    /((?i:a))b/
5301        Ab
5302     0: Ab
5303     1: A
5304    
5305    /(?i:a)b/
5306        *** Failers
5307    No match
5308        aB
5309    No match
5310        aB
5311    No match
5312    
5313    /((?i:a))b/
5314    
5315    /(?:(?-i)a)b/i
5316        ab
5317     0: ab
5318    
5319    /((?-i)a)b/i
5320        ab
5321     0: ab
5322     1: a
5323    
5324    /(?:(?-i)a)b/i
5325        aB
5326     0: aB
5327    
5328    /((?-i)a)b/i
5329        aB
5330     0: aB
5331     1: a
5332    
5333    /(?:(?-i)a)b/i
5334        *** Failers
5335    No match
5336        aB
5337     0: aB
5338        Ab
5339    No match
5340    
5341    /((?-i)a)b/i
5342    
5343    /(?:(?-i)a)b/i
5344        aB
5345     0: aB
5346    
5347    /((?-i)a)b/i
5348        aB
5349     0: aB
5350     1: a
5351    
5352    /(?:(?-i)a)b/i
5353        *** Failers
5354    No match
5355        Ab
5356    No match
5357        AB
5358    No match
5359    
5360    /((?-i)a)b/i
5361    
5362    /(?-i:a)b/i
5363        ab
5364     0: ab
5365    
5366    /((?-i:a))b/i
5367        ab
5368     0: ab
5369     1: a
5370    
5371    /(?-i:a)b/i
5372        aB
5373     0: aB
5374    
5375    /((?-i:a))b/i
5376        aB
5377     0: aB
5378     1: a
5379    
5380    /(?-i:a)b/i
5381        *** Failers
5382    No match
5383        AB
5384    No match
5385        Ab
5386    No match
5387    
5388    /((?-i:a))b/i
5389    
5390    /(?-i:a)b/i
5391        aB
5392     0: aB
5393    
5394    /((?-i:a))b/i
5395        aB
5396     0: aB
5397     1: a
5398    
5399    /(?-i:a)b/i
5400        *** Failers
5401    No match
5402        Ab
5403    No match
5404        AB
5405    No match
5406    
5407    /((?-i:a))b/i
5408    
5409    /((?-i:a.))b/i
5410        *** Failers
5411    No match
5412        AB
5413    No match
5414        a\nB
5415    No match
5416    
5417    /((?s-i:a.))b/i
5418        a\nB
5419     0: a\x0aB
5420     1: a\x0a
5421    
5422    /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
5423        cabbbb
5424     0: cabbbb
5425    
5426    /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
5427        caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
5428     0: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
5429    
5430    /(ab)\d\1/i
5431        Ab4ab
5432     0: Ab4ab
5433     1: Ab
5434        ab4Ab
5435     0: ab4Ab
5436     1: ab
5437    
5438    /foo\w*\d{4}baz/
5439        foobar1234baz
5440     0: foobar1234baz
5441    
5442    /x(~~)*(?:(?:F)?)?/
5443        x~~
5444     0: x~~
5445     1: ~~
5446    
5447    /^a(?#xxx){3}c/
5448        aaac
5449     0: aaac
5450    
5451    /^a (?#xxx) (?#yyy) {3}c/x
5452        aaac
5453     0: aaac
5454    
5455    /(?<![cd])b/
5456        *** Failers
5457    No match
5458        B\nB
5459    No match
5460        dbcb
5461    No match
5462    
5463    /(?<![cd])[ab]/
5464        dbaacb
5465     0: a
5466    
5467    /(?<!(c|d))b/
5468    
5469    /(?<!(c|d))[ab]/
5470        dbaacb
5471     0: a
5472    
5473    /(?<!cd)[ab]/
5474        cdaccb
5475     0: b
5476    
5477    /^(?:a?b?)*$/
5478        \
5479     0:
5480        a
5481     0: a
5482        ab
5483     0: ab
5484        aaa
5485     0: aaa
5486        *** Failers
5487    No match
5488        dbcb
5489    No match
5490        a--
5491    No match
5492        aa--
5493    No match
5494    
5495    /((?s)^a(.))((?m)^b$)/
5496        a\nb\nc\n
5497     0: a\x0ab
5498     1: a\x0a
5499     2: \x0a
5500     3: b
5501    
5502    /((?m)^b$)/
5503        a\nb\nc\n
5504     0: b
5505     1: b
5506    
5507    /(?m)^b/
5508        a\nb\n
5509     0: b
5510    
5511    /(?m)^(b)/
5512        a\nb\n
5513     0: b
5514     1: b
5515    
5516    /((?m)^b)/
5517        a\nb\n
5518     0: b
5519     1: b
5520    
5521    /\n((?m)^b)/
5522        a\nb\n
5523     0: \x0ab
5524     1: b
5525    
5526    /((?s).)c(?!.)/
5527        a\nb\nc\n
5528     0: \x0ac
5529     1: \x0a
5530        a\nb\nc\n
5531     0: \x0ac
5532     1: \x0a
5533    
5534    /((?s)b.)c(?!.)/
5535        a\nb\nc\n
5536     0: b\x0ac
5537     1: b\x0a
5538        a\nb\nc\n
5539     0: b\x0ac
5540     1: b\x0a
5541    
5542    /^b/
5543    
5544    /()^b/
5545        *** Failers
5546    No match
5547        a\nb\nc\n
5548    No match
5549        a\nb\nc\n
5550    No match
5551    
5552    /((?m)^b)/
5553        a\nb\nc\n
5554     0: b
5555     1: b
5556    
5557    /(x)?(?(1)a|b)/
5558        *** Failers
5559    No match
5560        a
5561    No match
5562        a
5563    No match
5564    
5565    /(x)?(?(1)b|a)/
5566        a
5567     0: a
5568    
5569    /()?(?(1)b|a)/
5570        a
5571     0: a
5572    
5573    /()(?(1)b|a)/
5574    
5575    /()?(?(1)a|b)/
5576        a
5577     0: a
5578     1:
5579    
5580    /^(\()?blah(?(1)(\)))$/
5581        (blah)
5582     0: (blah)
5583     1: (
5584     2: )
5585        blah
5586     0: blah
5587        *** Failers
5588    No match
5589        a
5590    No match
5591        blah)
5592    No match
5593        (blah
5594    No match
5595    
5596    /^(\(+)?blah(?(1)(\)))$/
5597        (blah)
5598     0: (blah)
5599     1: (
5600     2: )
5601        blah
5602     0: blah
5603        *** Failers
5604    No match
5605        blah)
5606    No match
5607        (blah
5608    No match
5609    
5610    /(?(?!a)a|b)/
5611    
5612    /(?(?!a)b|a)/
5613        a
5614     0: a
5615    
5616    /(?(?=a)b|a)/
5617        *** Failers
5618    No match
5619        a
5620    No match
5621        a
5622    No match
5623    
5624    /(?(?=a)a|b)/
5625        a
5626     0: a
5627    
5628    /(?=(a+?))(\1ab)/
5629        aaab
5630     0: aab
5631     1: a
5632     2: aab
5633    
5634    /^(?=(a+?))\1ab/
5635    
5636    /(\w+:)+/
5637        one:
5638     0: one:
5639     1: one:
5640    
5641    /$(?<=^(a))/
5642        a
5643     0:
5644     1: a
5645    
5646    /(?=(a+?))(\1ab)/
5647        aaab
5648     0: aab
5649     1: a
5650     2: aab
5651    
5652    /^(?=(a+?))\1ab/
5653        *** Failers
5654    No match
5655        aaab
5656    No match
5657        aaab
5658    No match
5659    
5660    /([\w:]+::)?(\w+)$/
5661        abcd
5662     0: abcd
5663     1: <unset>
5664     2: abcd
5665        xy:z:::abcd
5666     0: xy:z:::abcd
5667     1: xy:z:::
5668     2: abcd
5669    
5670    /^[^bcd]*(c+)/
5671        aexycd
5672     0: aexyc
5673     1: c
5674    
5675    /(a*)b+/
5676        caab
5677     0: aab
5678     1: aa
5679    
5680    /([\w:]+::)?(\w+)$/
5681        abcd
5682     0: abcd
5683     1: <unset>
5684     2: abcd
5685        xy:z:::abcd
5686     0: xy:z:::abcd
5687     1: xy:z:::
5688     2: abcd
5689        *** Failers
5690     0: Failers
5691     1: <unset>
5692     2: Failers
5693        abcd:
5694    No match
5695        abcd:
5696    No match
5697    
5698    /^[^bcd]*(c+)/
5699        aexycd
5700     0: aexyc
5701     1: c
5702    
5703    /(>a+)ab/
5704    
5705    /(?>a+)b/
5706        aaab
5707     0: aaab
5708    
5709    /([[:]+)/
5710        a:[b]:
5711     0: :[
5712     1: :[
5713    
5714    /([[=]+)/
5715        a=[b]=
5716     0: =[
5717     1: =[
5718    
5719    /([[.]+)/
5720        a.[b].
5721     0: .[
5722     1: .[
5723    
5724    /((?>a+)b)/
5725        aaab
5726     0: aaab
5727     1: aaab
5728    
5729    /(?>(a+))b/
5730        aaab
5731     0: aaab
5732     1: aaa
5733    
5734    /((?>[^()]+)|\([^()]*\))+/
5735        ((abc(ade)ufh()()x
5736     0: abc(ade)ufh()()x
5737     1: x
5738    
5739    /a\Z/
5740        *** Failers
5741    No match
5742        aaab
5743    No match
5744        a\nb\n
5745    No match
5746    
5747    /b\Z/
5748        a\nb\n
5749     0: b
5750    
5751    /b\z/
5752    
5753    /b\Z/
5754        a\nb
5755     0: b
5756    
5757    /b\z/
5758        a\nb
5759     0: b
5760        *** Failers
5761    No match
5762    
5763    /^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/
5764        a
5765     0: a
5766     1:
5767        abc
5768     0: abc
5769     1:
5770        a-b
5771     0: a-b
5772     1:
5773        0-9
5774     0: 0-9
5775     1:
5776        a.b
5777     0: a.b
5778     1:
5779        5.6.7
5780     0: 5.6.7
5781     1:
5782        the.quick.brown.fox
5783     0: the.quick.brown.fox
5784     1:
5785        a100.b200.300c
5786     0: a100.b200.300c
5787     1:
5788        12-ab.1245
5789     0: 12-ab.1245
5790     1:
5791        *** Failers
5792    No match
5793        \
5794    No match
5795        .a
5796    No match
5797        -a
5798    No match
5799        a-
5800    No match
5801        a.
5802    No match
5803        a_b
5804    No match
5805        a.-
5806    No match
5807        a..
5808    No match
5809        ab..bc
5810    No match
5811        the.quick.brown.fox-
5812    No match
5813        the.quick.brown.fox.
5814    No match
5815        the.quick.brown.fox_
5816    No match
5817        the.quick.brown.fox+
5818    No match
5819    
5820    /(?>.*)(?<=(abcd|wxyz))/
5821        alphabetabcd
5822     0: alphabetabcd
5823     1: abcd
5824        endingwxyz
5825     0: endingwxyz
5826     1: wxyz
5827        *** Failers
5828    No match
5829        a rather long string that doesn't end with one of them
5830    No match
5831    
5832    /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
5833        word cat dog elephant mussel cow horse canary baboon snake shark otherword
5834     0: word cat dog elephant mussel cow horse canary baboon snake shark otherword
5835        word cat dog elephant mussel cow horse canary baboon snake shark
5836    No match
5837    
5838    /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
5839        word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
5840    No match
5841    
5842    /(?<=\d{3}(?!999))foo/
5843        999foo
5844     0: foo
5845        123999foo
5846     0: foo
5847        *** Failers
5848    No match
5849        123abcfoo
5850    No match
5851    
5852    /(?<=(?!...999)\d{3})foo/
5853        999foo
5854     0: foo
5855        123999foo
5856     0: foo
5857        *** Failers
5858    No match
5859        123abcfoo
5860    No match
5861    
5862    /(?<=\d{3}(?!999)...)foo/
5863        123abcfoo
5864     0: foo
5865        123456foo
5866     0: foo
5867        *** Failers
5868    No match
5869        123999foo
5870    No match
5871    
5872    /(?<=\d{3}...)(?<!999)foo/
5873        123abcfoo
5874     0: foo
5875        123456foo
5876     0: foo
5877        *** Failers
5878    No match
5879        123999foo
5880    No match
5881    
5882    /<a[\s]+href[\s]*=[\s]*          # find <a href=
5883     ([\"\'])?                       # find single or double quote
5884     (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
5885                                     # quote, otherwise match up to next space
5886    /isx
5887        <a href=abcd xyz
5888     0: <a href=abcd
5889     1: <unset>
5890     2: <unset>
5891     3: abcd
5892        <a href=\"abcd xyz pqr\" cats
5893     0: <a href="abcd xyz pqr"
5894     1: "
5895     2: abcd xyz pqr
5896        <a href=\'abcd xyz pqr\' cats
5897     0: <a href='abcd xyz pqr'
5898     1: '
5899     2: abcd xyz pqr
5900    
5901    /<a\s+href\s*=\s*                # find <a href=
5902     (["'])?                         # find single or double quote
5903     (?(1) (.*?)\1 | (\S+))          # if quote found, match up to next matching
5904                                     # quote, otherwise match up to next space
5905    /isx
5906        <a href=abcd xyz
5907     0: <a href=abcd
5908     1: <unset>
5909     2: <unset>
5910     3: abcd
5911        <a href=\"abcd xyz pqr\" cats
5912     0: <a href="abcd xyz pqr"
5913     1: "
5914     2: abcd xyz pqr
5915        <a href       =       \'abcd xyz pqr\' cats
5916     0: <a href       =       'abcd xyz pqr'
5917     1: '
5918     2: abcd xyz pqr
5919    
5920    /<a\s+href(?>\s*)=(?>\s*)        # find <a href=
5921     (["'])?                         # find single or double quote
5922     (?(1) (.*?)\1 | (\S+))          # if quote found, match up to next matching
5923                                     # quote, otherwise match up to next space
5924    /isx
5925        <a href=abcd xyz
5926     0: <a href=abcd
5927     1: <unset>
5928     2: <unset>
5929     3: abcd
5930        <a href=\"abcd xyz pqr\" cats
5931     0: <a href="abcd xyz pqr"
5932     1: "
5933     2: abcd xyz pqr
5934        <a href       =       \'abcd xyz pqr\' cats
5935     0: <a href       =       'abcd xyz pqr'
5936     1: '
5937     2: abcd xyz pqr
5938    
5939    /((Z)+|A)*/
5940        ZABCDEFG
5941     0: ZA
5942     1: A
5943     2: Z
5944    
5945    /(Z()|A)*/
5946        ZABCDEFG
5947     0: ZA
5948     1: A
5949     2:
5950    
5951    /(Z(())|A)*/
5952        ZABCDEFG
5953     0: ZA
5954     1: A
5955     2:
5956     3:
5957    
5958    /((?>Z)+|A)*/
5959        ZABCDEFG
5960     0: ZA
5961     1: A
5962    
5963    /((?>)+|A)*/
5964        ZABCDEFG
5965     0:
5966     1:
5967    
5968    /a*/g
5969        abbab
5970     0: a
5971     0:
5972     0:
5973     0: a
5974     0:
5975     0:
5976    
5977    /^[a-\d]/
5978        abcde
5979     0: a
5980        -things
5981     0: -
5982        0digit
5983     0: 0
5984        *** Failers
5985    No match
5986        bcdef
5987    No match
5988    
5989    /^[\d-a]/
5990        abcde
5991     0: a
5992        -things
5993     0: -
5994        0digit
5995     0: 0
5996        *** Failers
5997    No match
5998        bcdef
5999    No match
6000    
6001    /[[:space:]]+/
6002        > \x09\x0a\x0c\x0d\x0b<
6003     0:  \x09\x0a\x0c\x0d\x0b
6004    
6005    /[[:blank:]]+/
6006        > \x09\x0a\x0c\x0d\x0b<
6007     0:  \x09
6008    
6009    /[\s]+/
6010        > \x09\x0a\x0c\x0d\x0b<
6011     0:  \x09\x0a\x0c\x0d
6012    
6013    /\s+/
6014        > \x09\x0a\x0c\x0d\x0b<
6015     0:  \x09\x0a\x0c\x0d
6016    
6017    /a b/x
6018        ab
6019    No match
6020    
6021    /(?!\A)x/m
6022      a\nxb\n
6023     0: x
6024    
6025    /(?!^)x/m
6026      a\nxb\n
6027    No match
6028    
6029    /abc\Qabc\Eabc/
6030        abcabcabc
6031     0: abcabcabc
6032    
6033    /abc\Q(*+|\Eabc/
6034        abc(*+|abc
6035     0: abc(*+|abc
6036    
6037    /   abc\Q abc\Eabc/x
6038        abc abcabc
6039     0: abc abcabc
6040        *** Failers
6041    No match
6042        abcabcabc
6043    No match
6044    
6045    /abc#comment
6046        \Q#not comment
6047        literal\E/x
6048        abc#not comment\n    literal
6049     0: abc#not comment\x0a    literal
6050    
6051    /abc#comment
6052        \Q#not comment
6053        literal/x
6054        abc#not comment\n    literal
6055     0: abc#not comment\x0a    literal
6056    
6057    /abc#comment
6058        \Q#not comment
6059        literal\E #more comment
6060        /x
6061        abc#not comment\n    literal
6062     0: abc#not comment\x0a    literal
6063    
6064    /abc#comment
6065        \Q#not comment
6066        literal\E #more comment/x
6067        abc#not comment\n    literal
6068     0: abc#not comment\x0a    literal
6069    
6070    /\Qabc\$xyz\E/
6071        abc\\\$xyz
6072     0: abc\$xyz
6073    
6074    /\Qabc\E\$\Qxyz\E/
6075        abc\$xyz
6076     0: abc$xyz
6077    
6078    /\Gabc/
6079        abc
6080     0: abc
6081        *** Failers
6082    No match
6083        xyzabc
6084    No match
6085    
6086    /\Gabc./g
6087        abc1abc2xyzabc3
6088     0: abc1
6089     0: abc2
6090    
6091    /abc./g
6092        abc1abc2xyzabc3
6093     0: abc1
6094     0: abc2
6095     0: abc3
6096    
6097    /a(?x: b c )d/
6098        XabcdY
6099     0: abcd
6100        *** Failers
6101    No match
6102        Xa b c d Y
6103    No match
6104    
6105    /((?x)x y z | a b c)/
6106        XabcY
6107     0: abc
6108     1: abc
6109        AxyzB
6110     0: xyz
6111     1: xyz
6112    
6113    /(?i)AB(?-i)C/
6114        XabCY
6115     0: abC
6116        *** Failers
6117    No match
6118        XabcY
6119    No match
6120    
6121    /((?i)AB(?-i)C|D)E/
6122        abCE
6123     0: abCE
6124     1: abC
6125        DE
6126     0: DE
6127     1: D
6128        *** Failers
6129    No match
6130        abcE
6131    No match
6132        abCe
6133    No match
6134        dE
6135    No match
6136        De
6137    No match
6138    
6139    /(.*)\d+\1/
6140        abc123abc
6141     0: abc123abc
6142     1: abc
6143        abc123bc
6144     0: bc123bc
6145     1: bc
6146    
6147    /(.*)\d+\1/s
6148        abc123abc
6149     0: abc123abc
6150     1: abc
6151        abc123bc
6152     0: bc123bc
6153     1: bc
6154    
6155    /((.*))\d+\1/
6156        abc123abc
6157     0: abc123abc
6158     1: abc
6159     2: abc
6160        abc123bc
6161     0: bc123bc
6162     1: bc
6163     2: bc
6164    
6165    /-- This tests for an IPv6 address in the form where it can have up to --/
6166    /-- eight components, one and only one of which is empty. This must be --/
6167    No match
6168    /-- an internal component. --/
6169    No match
6170    
6171    /^(?!:)                       # colon disallowed at start
6172      (?:                         # start of item
6173        (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
6174        (?(1)0 | () ) )           # if null previously matched, fail; else null
6175        :                         # followed by colon
6176      ){1,7}                      # end item; 1-7 of them required
6177      [0-9a-f]{1,4} $             # final hex number at end of string
6178      (?(1)|.)                    # check that there was an empty component
6179      /xi
6180        a123::a123
6181     0: a123::a123
6182     1:
6183        a123:b342::abcd
6184     0: a123:b342::abcd
6185     1:
6186        a123:b342::324e:abcd
6187     0: a123:b342::324e:abcd
6188     1:
6189        a123:ddde:b342::324e:abcd
6190     0: a123:ddde:b342::324e:abcd
6191     1:
6192        a123:ddde:b342::324e:dcba:abcd
6193     0: a123:ddde:b342::324e:dcba:abcd
6194     1:
6195        a123:ddde:9999:b342::324e:dcba:abcd
6196     0: a123:ddde:9999:b342::324e:dcba:abcd
6197     1:
6198        *** Failers
6199    No match
6200        1:2:3:4:5:6:7:8
6201    No match
6202        a123:bce:ddde:9999:b342::324e:dcba:abcd
6203    No match
6204        a123::9999:b342::324e:dcba:abcd
6205    No match
6206        abcde:2:3:4:5:6:7:8
6207    No match
6208        ::1
6209    No match
6210        abcd:fee0:123::
6211    No match
6212        :1
6213    No match
6214        1:
6215    No match
6216    
6217    /[z\Qa-d]\E]/
6218        z
6219     0: z
6220        a
6221     0: a
6222        -
6223     0: -
6224        d
6225     0: d
6226        ]
6227     0: ]
6228        *** Failers
6229     0: a
6230        b
6231    No match
6232    
6233    /[\z\C]/
6234        z
6235     0: z
6236        C
6237     0: C
6238    
6239    /\M/
6240        M
6241     0: M
6242    
6243    /(a+)*b/
6244        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6245    No match
6246    
6247    /(?i)reg(?:ul(?:[a]|ae)r|ex)/
6248        REGular
6249     0: REGular
6250        regulaer
6251     0: regulaer
6252        Regex
6253     0: Regex
6254        regulr
6255     0: regul\xe4r
6256    
6257    /[--]+/
6258        
6259     0: \xc5\xe6\xe5\xe4\xe0
6260        
6261     0: \xc5\xe6\xe5\xe4\xff
6262        
6263     0: \xc5\xe6\xe5\xe4\xc0
6264        
6265     0: \xc5\xe6\xe5\xe4\xdf
6266    
6267    /(?<=Z)X./
6268      \x84XAZXB
6269     0: XB
6270    
6271    /ab cd (?x) de fg/
6272        ab cd defg
6273     0: ab cd defg
6274    
6275    /ab cd(?x) de fg/
6276        ab cddefg
6277     0: ab cddefg
6278        ** Failers
6279    No match
6280        abcddefg
6281    No match
6282    
6283    /(?<![^f]oo)(bar)/
6284        foobarX
6285     0: bar
6286     1: bar
6287        ** Failers
6288    No match
6289        boobarX
6290    No match
6291    
6292    /(?<![^f])X/
6293        offX
6294     0: X
6295        ** Failers
6296    No match
6297        onyX
6298    No match
6299    
6300    /(?<=[^f])X/
6301        onyX
6302     0: X
6303        ** Failers
6304    No match
6305        offX
6306    No match
6307    
6308    /^/mg
6309        a\nb\nc\n
6310     0:
6311     0:
6312     0:
6313        \
6314     0:
6315    
6316    /(?<=C\n)^/mg
6317        A\nC\nC\n
6318     0:
6319    
6320    /(?:(?(1)a|b)(X))+/
6321        bXaX
6322     0: bXaX
6323     1: X
6324    
6325    /(?:(?(1)\1a|b)(X|Y))+/
6326        bXXaYYaY
6327     0: bXXaYYaY
6328     1: Y
6329        bXYaXXaX
6330     0: bX
6331     1: X
6332    
6333    /()()()()()()()()()(?:(?(10)\10a|b)(X|Y))+/
6334        bXXaYYaY
6335     0: bX
6336     1:
6337     2:
6338     3:
6339     4:
6340     5:
6341     6:
6342     7:
6343     8:
6344     9:
6345    10: X
6346    
6347    /[[,abc,]+]/
6348        abc]
6349     0: abc]
6350        a,b]
6351     0: a,b]
6352        [a,b,c]
6353     0: [a,b,c]
6354    
6355    /(?-x: )/x
6356        A\x20B
6357     0:
6358    
6359    "(?x)(?-x: \s*#\s*)"
6360        A # B
6361     0:  #
6362        ** Failers
6363    No match
6364        #
6365    No match
6366    
6367    "(?x-is)(?:(?-ixs) \s*#\s*) include"
6368        A #include
6369     0:  #include
6370        ** Failers
6371    No match
6372        A#include
6373    No match
6374        A #Include
6375    No match
6376    
6377    /a*b*\w/
6378        aaabbbb
6379     0: aaabbbb
6380        aaaa
6381     0: aaaa
6382        a
6383     0: a
6384    
6385    /a*b?\w/
6386        aaabbbb
6387     0: aaabb
6388        aaaa
6389     0: aaaa
6390        a
6391     0: a
6392    
6393    /a*b{0,4}\w/
6394        aaabbbb
6395     0: aaabbbb
6396        aaaa
6397     0: aaaa
6398        a
6399     0: a
6400    
6401    /a*b{0,}\w/
6402        aaabbbb
6403     0: aaabbbb
6404        aaaa
6405     0: aaaa
6406        a
6407     0: a
6408    
6409    /a*\d*\w/
6410        0a
6411     0: 0a
6412        a
6413     0: a
6414    
6415    /a*b *\w/x
6416        a
6417     0: a
6418    
6419    /a*b#comment
6420      *\w/x
6421        a
6422     0: a
6423    
6424    /a* b *\w/x
6425        a
6426     0: a
6427    
6428    /^\w+=.*(\\\n.*)*/
6429        abc=xyz\\\npqr
6430     0: abc=xyz\
6431    
6432    /(?=(\w+))\1:/
6433        abcd:
6434     0: abcd:
6435     1: abcd
6436    
6437    /^(?=(\w+))\1:/
6438        abcd:
6439     0: abcd:
6440     1: abcd
6441    
6442    /^\Eabc/
6443        abc
6444     0: abc
6445    
6446    /^[\Eabc]/
6447        a
6448     0: a
6449        ** Failers
6450    No match
6451        E
6452    No match
6453    
6454    /^[a-\Ec]/
6455        b
6456     0: b
6457        ** Failers
6458    No match
6459        -
6460    No match
6461        E
6462    No match
6463    
6464    /^[a\E\E-\Ec]/
6465        b
6466     0: b
6467        ** Failers
6468    No match
6469        -
6470    No match
6471        E
6472    No match
6473    
6474    /^[\E\Qa\E-\Qz\E]+/
6475        b
6476     0: b
6477        ** Failers
6478    No match
6479        -
6480    No match
6481    
6482    /^[a\Q]bc\E]/
6483        a
6484     0: a
6485        ]
6486     0: ]
6487        c
6488     0: c
6489    
6490    /^[a-\Q\E]/
6491        a
6492     0: a
6493        -
6494     0: -
6495    
6496    /^(a()*)*/
6497        aaaa
6498     0: aaaa
6499     1: a
6500     2:
6501    
6502    /^(?:a(?:(?:))*)*/
6503        aaaa
6504     0: aaaa
6505    
6506    /^(a()+)+/
6507        aaaa
6508     0: aaaa
6509     1: a
6510     2:
6511    
6512    /^(?:a(?:(?:))+)+/
6513        aaaa
6514     0: aaaa
6515    
6516    /(a){0,3}(?(1)b|(c|))*D/
6517        abbD
6518     0: abbD
6519     1: a
6520        ccccD
6521     0: ccccD
6522     1: <unset>
6523     2:
6524        D
6525     0: D
6526     1: <unset>
6527     2:
6528    
6529    /(a|)*\d/
6530      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6531    No match
6532      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6533     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6534     1:
6535    
6536    /(?>a|)*\d/
6537      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6538    No match
6539      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6540     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6541    
6542    /(?:a|)*\d/
6543      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
6544    No match
6545      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6546     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
6547    
6548    /\Z/g
6549      abc\n
6550     0:
6551     0:
6552    
6553    /^(?s)(?>.*)(?<!\n)/
6554      abc
6555     0: abc
6556      abc\n
6557    No match
6558    
6559    /^(?![^\n]*\n\z)/
6560      abc
6561     0:
6562      abc\n
6563    No match
6564    
6565    /\z(?<!\n)/
6566      abc
6567     0:
6568      abc\n
6569    No match
6570    
6571    /(.*(.)?)*/
6572        abcd
6573     0: abcd
6574     1:
6575    
6576    /( (A | (?(1)0|) )*   )/x
6577        abcd
6578     0:
6579     1:
6580     2:
6581    
6582    /( ( (?(1)0|) )*   )/x
6583        abcd
6584     0:
6585     1:
6586     2:
6587    
6588    /(  (?(1)0|)*   )/x
6589        abcd
6590     0:
6591     1:
6592    
6593    /[[:abcd:xyz]]/
6594        a]
6595     0: a]
6596        :]
6597     0: :]
6598    
6599    /[abc[:x\]pqr]/
6600        a
6601     0: a
6602        [
6603     0: [
6604        :
6605     0: :
6606        ]
6607     0: ]
6608        p
6609     0: p
6610    
6611    /.*[op][xyz]/
6612        fooabcfoo
6613    No match
6614    
6615    /(?(?=.*b)b|^)/
6616       adc
6617     0:
6618       abc
6619     0: b
6620    
6621    /(?(?=^.*b)b|^)/
6622       adc
6623     0:
6624       abc
6625    No match
6626    
6627    /(?(?=.*b)b|^)*/
6628       adc
6629     0:
6630       abc
6631     0:
6632    
6633    /(?(?=.*b)b|^)+/
6634       adc
6635     0:
6636       abc
6637     0: b
6638    
6639    /(?(?=b).*b|^d)/
6640        abc
6641     0: b
6642    
6643    /(?(?=.*b).*b|^d)/
6644        abc
6645     0: ab
6646    
6647    /^%((?(?=[a])[^%])|b)*%$/
6648        %ab%
6649     0: %ab%
6650     1:
6651    
6652    /-- End of testinput1 --/

Legend:
Removed from v.57  
changed lines
  Added in v.450

  ViewVC Help
Powered by ViewVC 1.1.5