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

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

  ViewVC Help
Powered by ViewVC 1.1.5