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

Diff of /code/trunk/testdata/testinput1

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

revision 53 by nigel, Sat Feb 24 21:39:42 2007 UTC revision 602 by ph10, Wed May 25 08:29:03 2011 UTC
# Line 1  Line 1 
1    /-- 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
6      The quick brown FOX      The quick brown FOX
# Line 1297  Line 1300 
1300      abc      abc
1301    
1302  /^a     b  /^a     b
1303        c/x        c/x
1304      abc      abc
1305    
1306  /^(a|)\1*b/  /^(a|)\1*b/
# Line 1357  Line 1360 
1360    
1361  /^[W-c]+$/  /^[W-c]+$/
1362      WXY_^abc      WXY_^abc
1363      ***Failers      *** Failers
1364      wxy      wxy
1365    
1366  /^[W-c]+$/i  /^[W-c]+$/i
# Line 1453  Line 1456 
1456  /{4,5a}bc/  /{4,5a}bc/
1457      {4,5a}bc      {4,5a}bc
1458    
 /^a.b/  
     a\rb  
     *** Failers  
     a\nb  
   
1459  /abc$/  /abc$/
1460      abc      abc
1461      abc\n      abc\n
# Line 1473  Line 1471 
1471  /(abc)\323/  /(abc)\323/
1472      abc\xd3      abc\xd3
1473    
1474  /(abc)\500/  /(abc)\100/
1475      abc\x40      abc\x40
1476      abc\100      abc\100
1477    
1478  /(abc)\5000/  /(abc)\1000/
1479      abc\x400      abc\x400
1480      abc\x40\x30      abc\x40\x30
1481      abc\1000      abc\1000
# Line 1499  Line 1497 
1497  /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/  /(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
1498      abcdefghijk\12S      abcdefghijk\12S
1499    
1500  /ab\gdef/  /ab\idef/
1501      abgdef      abidef
1502    
1503  /a{0}bc/  /a{0}bc/
1504      bc      bc
# Line 1517  Line 1515 
1515  /(abc)[\1]de/  /(abc)[\1]de/
1516      abc\1de      abc\1de
1517    
1518  /a.b(?s)/  /(?s)a.b/
1519      a\nb      a\nb
1520    
1521  /^([^a])([^\b])([^c]*)([^d]{3,4})/  /^([^a])([^\b])([^c]*)([^d]{3,4})/
# Line 1935  Line 1933 
1933  /\x0{ab}/  /\x0{ab}/
1934      \0{ab}      \0{ab}
1935    
1936  / End of testinput1 /  /(A|B)*?CD/
1937        CD
1938    
1939    /(A|B)*CD/
1940        CD
1941    
1942    /(AB)*?\1/
1943        ABABAB
1944    
1945    /(AB)*\1/
1946        ABABAB
1947    
1948    /(?<!bar)foo/
1949        foo
1950        catfood
1951        arfootle
1952        rfoosh
1953        *** Failers
1954        barfoo
1955        towbarfoo
1956    
1957    /\w{3}(?<!bar)foo/
1958        catfood
1959        *** Failers
1960        foo
1961        barfoo
1962        towbarfoo
1963    
1964    /(?<=(foo)a)bar/
1965        fooabar
1966        *** Failers
1967        bar
1968        foobbar
1969    
1970    /\Aabc\z/m
1971        abc
1972        *** Failers
1973        abc\n
1974        qqq\nabc
1975        abc\nzzz
1976        qqq\nabc\nzzz
1977    
1978    "(?>.*/)foo"
1979        /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
1980    
1981    "(?>.*/)foo"
1982        /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
1983    
1984    /(?>(\.\d\d[1-9]?))\d+/
1985        1.230003938
1986        1.875000282
1987        *** Failers
1988        1.235
1989    
1990    /^((?>\w+)|(?>\s+))*$/
1991        now is the time for all good men to come to the aid of the party
1992        *** Failers
1993        this is not a line with only words and spaces!
1994    
1995    /(\d+)(\w)/
1996        12345a
1997        12345+
1998    
1999    /((?>\d+))(\w)/
2000        12345a
2001        *** Failers
2002        12345+
2003    
2004    /(?>a+)b/
2005        aaab
2006    
2007    /((?>a+)b)/
2008        aaab
2009    
2010    /(?>(a+))b/
2011        aaab
2012    
2013    /(?>b)+/
2014        aaabbbccc
2015    
2016    /(?>a+|b+|c+)*c/
2017        aaabbbbccccd
2018    
2019    /((?>[^()]+)|\([^()]*\))+/
2020        ((abc(ade)ufh()()x
2021    
2022    /\(((?>[^()]+)|\([^()]+\))+\)/
2023        (abc)
2024        (abc(def)xyz)
2025        *** Failers
2026        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2027    
2028    /a(?-i)b/i
2029        ab
2030        Ab
2031        *** Failers
2032        aB
2033        AB
2034    
2035    /(a (?x)b c)d e/
2036        a bcd e
2037        *** Failers
2038        a b cd e
2039        abcd e
2040        a bcde
2041    
2042    /(a b(?x)c d (?-x)e f)/
2043        a bcde f
2044        *** Failers
2045        abcdef
2046    
2047    /(a(?i)b)c/
2048        abc
2049        aBc
2050        *** Failers
2051        abC
2052        aBC
2053        Abc
2054        ABc
2055        ABC
2056        AbC
2057    
2058    /a(?i:b)c/
2059        abc
2060        aBc
2061        *** Failers
2062        ABC
2063        abC
2064        aBC
2065    
2066    /a(?i:b)*c/
2067        aBc
2068        aBBc
2069        *** Failers
2070        aBC
2071        aBBC
2072    
2073    /a(?=b(?i)c)\w\wd/
2074        abcd
2075        abCd
2076        *** Failers
2077        aBCd
2078        abcD
2079    
2080    /(?s-i:more.*than).*million/i
2081        more than million
2082        more than MILLION
2083        more \n than Million
2084        *** Failers
2085        MORE THAN MILLION
2086        more \n than \n million
2087    
2088    /(?:(?s-i)more.*than).*million/i
2089        more than million
2090        more than MILLION
2091        more \n than Million
2092        *** Failers
2093        MORE THAN MILLION
2094        more \n than \n million
2095    
2096    /(?>a(?i)b+)+c/
2097        abc
2098        aBbc
2099        aBBc
2100        *** Failers
2101        Abc
2102        abAb
2103        abbC
2104    
2105    /(?=a(?i)b)\w\wc/
2106        abc
2107        aBc
2108        *** Failers
2109        Ab
2110        abC
2111        aBC
2112    
2113    /(?<=a(?i)b)(\w\w)c/
2114        abxxc
2115        aBxxc
2116        *** Failers
2117        Abxxc
2118        ABxxc
2119        abxxC
2120    
2121    /(?:(a)|b)(?(1)A|B)/
2122        aA
2123        bB
2124        *** Failers
2125        aB
2126        bA
2127    
2128    /^(a)?(?(1)a|b)+$/
2129        aa
2130        b
2131        bb
2132        *** Failers
2133        ab
2134    
2135    /^(?(?=abc)\w{3}:|\d\d)$/
2136        abc:
2137        12
2138        *** Failers
2139        123
2140        xyz
2141    
2142    /^(?(?!abc)\d\d|\w{3}:)$/
2143        abc:
2144        12
2145        *** Failers
2146        123
2147        xyz
2148    
2149    /(?(?<=foo)bar|cat)/
2150        foobar
2151        cat
2152        fcat
2153        focat
2154        *** Failers
2155        foocat
2156    
2157    /(?(?<!foo)cat|bar)/
2158        foobar
2159        cat
2160        fcat
2161        focat
2162        *** Failers
2163        foocat
2164    
2165    /( \( )? [^()]+ (?(1) \) |) /x
2166        abcd
2167        (abcd)
2168        the quick (abcd) fox
2169        (abcd
2170    
2171    /( \( )? [^()]+ (?(1) \) ) /x
2172        abcd
2173        (abcd)
2174        the quick (abcd) fox
2175        (abcd
2176    
2177    /^(?(2)a|(1)(2))+$/
2178        12
2179        12a
2180        12aa
2181        *** Failers
2182        1234
2183    
2184    /((?i)blah)\s+\1/
2185        blah blah
2186        BLAH BLAH
2187        Blah Blah
2188        blaH blaH
2189        *** Failers
2190        blah BLAH
2191        Blah blah
2192        blaH blah
2193    
2194    /((?i)blah)\s+(?i:\1)/
2195        blah blah
2196        BLAH BLAH
2197        Blah Blah
2198        blaH blaH
2199        blah BLAH
2200        Blah blah
2201        blaH blah
2202    
2203    /(?>a*)*/
2204        a
2205        aa
2206        aaaa
2207    
2208    /(abc|)+/
2209        abc
2210        abcabc
2211        abcabcabc
2212        xyz
2213    
2214    /([a]*)*/
2215        a
2216        aaaaa
2217    
2218    /([ab]*)*/
2219        a
2220        b
2221        ababab
2222        aaaabcde
2223        bbbb
2224    
2225    /([^a]*)*/
2226        b
2227        bbbb
2228        aaa
2229    
2230    /([^ab]*)*/
2231        cccc
2232        abab
2233    
2234    /([a]*?)*/
2235        a
2236        aaaa
2237    
2238    /([ab]*?)*/
2239        a
2240        b
2241        abab
2242        baba
2243    
2244    /([^a]*?)*/
2245        b
2246        bbbb
2247        aaa
2248    
2249    /([^ab]*?)*/
2250        c
2251        cccc
2252        baba
2253    
2254    /(?>a*)*/
2255        a
2256        aaabcde
2257    
2258    /((?>a*))*/
2259        aaaaa
2260        aabbaa
2261    
2262    /((?>a*?))*/
2263        aaaaa
2264        aabbaa
2265    
2266    /(?(?=[^a-z]+[a-z])  \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} ) /x
2267        12-sep-98
2268        12-09-98
2269        *** Failers
2270        sep-12-98
2271    
2272    /(?<=(foo))bar\1/
2273        foobarfoo
2274        foobarfootling
2275        *** Failers
2276        foobar
2277        barfoo
2278    
2279    /(?i:saturday|sunday)/
2280        saturday
2281        sunday
2282        Saturday
2283        Sunday
2284        SATURDAY
2285        SUNDAY
2286        SunDay
2287    
2288    /(a(?i)bc|BB)x/
2289        abcx
2290        aBCx
2291        bbx
2292        BBx
2293        *** Failers
2294        abcX
2295        aBCX
2296        bbX
2297        BBX
2298    
2299    /^([ab](?i)[cd]|[ef])/
2300        ac
2301        aC
2302        bD
2303        elephant
2304        Europe
2305        frog
2306        France
2307        *** Failers
2308        Africa
2309    
2310    /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
2311        ab
2312        aBd
2313        xy
2314        xY
2315        zebra
2316        Zambesi
2317        *** Failers
2318        aCD
2319        XY
2320    
2321    /(?<=foo\n)^bar/m
2322        foo\nbar
2323        *** Failers
2324        bar
2325        baz\nbar
2326    
2327    /(?<=(?<!foo)bar)baz/
2328        barbaz
2329        barbarbaz
2330        koobarbaz
2331        *** Failers
2332        baz
2333        foobarbaz
2334    
2335    /The cases of aaaa and aaaaaa are missed out below because Perl does things/
2336    /differently. We know that odd, and maybe incorrect, things happen with/
2337    /recursive references in Perl, as far as 5.11.3 - see some stuff in test #2./
2338    
2339    /^(a\1?){4}$/
2340        a
2341        aa
2342        aaa
2343        aaaaa
2344        aaaaaaa
2345        aaaaaaaa
2346        aaaaaaaaa
2347        aaaaaaaaaa
2348        aaaaaaaaaaa
2349        aaaaaaaaaaaa
2350        aaaaaaaaaaaaa
2351        aaaaaaaaaaaaaa
2352        aaaaaaaaaaaaaaa
2353        aaaaaaaaaaaaaaaa
2354    
2355    /^(a\1?)(a\1?)(a\2?)(a\3?)$/
2356        a
2357        aa
2358        aaa
2359        aaaa
2360        aaaaa
2361        aaaaaa
2362        aaaaaaa
2363        aaaaaaaa
2364        aaaaaaaaa
2365        aaaaaaaaaa
2366        aaaaaaaaaaa
2367        aaaaaaaaaaaa
2368        aaaaaaaaaaaaa
2369        aaaaaaaaaaaaaa
2370        aaaaaaaaaaaaaaa
2371        aaaaaaaaaaaaaaaa
2372    
2373    /The following tests are taken from the Perl 5.005 test suite; some of them/
2374    /are compatible with 5.004, but I'd rather not have to sort them out./
2375    
2376    /abc/
2377        abc
2378        xabcy
2379        ababc
2380        *** Failers
2381        xbc
2382        axc
2383        abx
2384    
2385    /ab*c/
2386        abc
2387    
2388    /ab*bc/
2389        abc
2390        abbc
2391        abbbbc
2392    
2393    /.{1}/
2394        abbbbc
2395    
2396    /.{3,4}/
2397        abbbbc
2398    
2399    /ab{0,}bc/
2400        abbbbc
2401    
2402    /ab+bc/
2403        abbc
2404        *** Failers
2405        abc
2406        abq
2407    
2408    /ab{1,}bc/
2409    
2410    /ab+bc/
2411        abbbbc
2412    
2413    /ab{1,}bc/
2414        abbbbc
2415    
2416    /ab{1,3}bc/
2417        abbbbc
2418    
2419    /ab{3,4}bc/
2420        abbbbc
2421    
2422    /ab{4,5}bc/
2423        *** Failers
2424        abq
2425        abbbbc
2426    
2427    /ab?bc/
2428        abbc
2429        abc
2430    
2431    /ab{0,1}bc/
2432        abc
2433    
2434    /ab?bc/
2435    
2436    /ab?c/
2437        abc
2438    
2439    /ab{0,1}c/
2440        abc
2441    
2442    /^abc$/
2443        abc
2444        *** Failers
2445        abbbbc
2446        abcc
2447    
2448    /^abc/
2449        abcc
2450    
2451    /^abc$/
2452    
2453    /abc$/
2454        aabc
2455        *** Failers
2456        aabc
2457        aabcd
2458    
2459    /^/
2460        abc
2461    
2462    /$/
2463        abc
2464    
2465    /a.c/
2466        abc
2467        axc
2468    
2469    /a.*c/
2470        axyzc
2471    
2472    /a[bc]d/
2473        abd
2474        *** Failers
2475        axyzd
2476        abc
2477    
2478    /a[b-d]e/
2479        ace
2480    
2481    /a[b-d]/
2482        aac
2483    
2484    /a[-b]/
2485        a-
2486    
2487    /a[b-]/
2488        a-
2489    
2490    /a]/
2491        a]
2492    
2493    /a[]]b/
2494        a]b
2495    
2496    /a[^bc]d/
2497        aed
2498        *** Failers
2499        abd
2500        abd
2501    
2502    /a[^-b]c/
2503        adc
2504    
2505    /a[^]b]c/
2506        adc
2507        *** Failers
2508        a-c
2509        a]c
2510    
2511    /\ba\b/
2512        a-
2513        -a
2514        -a-
2515    
2516    /\by\b/
2517        *** Failers
2518        xy
2519        yz
2520        xyz
2521    
2522    /\Ba\B/
2523        *** Failers
2524        a-
2525        -a
2526        -a-
2527    
2528    /\By\b/
2529        xy
2530    
2531    /\by\B/
2532        yz
2533    
2534    /\By\B/
2535        xyz
2536    
2537    /\w/
2538        a
2539    
2540    /\W/
2541        -
2542        *** Failers
2543        -
2544        a
2545    
2546    /a\sb/
2547        a b
2548    
2549    /a\Sb/
2550        a-b
2551        *** Failers
2552        a-b
2553        a b
2554    
2555    /\d/
2556        1
2557    
2558    /\D/
2559        -
2560        *** Failers
2561        -
2562        1
2563    
2564    /[\w]/
2565        a
2566    
2567    /[\W]/
2568        -
2569        *** Failers
2570        -
2571        a
2572    
2573    /a[\s]b/
2574        a b
2575    
2576    /a[\S]b/
2577        a-b
2578        *** Failers
2579        a-b
2580        a b
2581    
2582    /[\d]/
2583        1
2584    
2585    /[\D]/
2586        -
2587        *** Failers
2588        -
2589        1
2590    
2591    /ab|cd/
2592        abc
2593        abcd
2594    
2595    /()ef/
2596        def
2597    
2598    /$b/
2599    
2600    /a\(b/
2601        a(b
2602    
2603    /a\(*b/
2604        ab
2605        a((b
2606    
2607    /a\\b/
2608        a\b
2609    
2610    /((a))/
2611        abc
2612    
2613    /(a)b(c)/
2614        abc
2615    
2616    /a+b+c/
2617        aabbabc
2618    
2619    /a{1,}b{1,}c/
2620        aabbabc
2621    
2622    /a.+?c/
2623        abcabc
2624    
2625    /(a+|b)*/
2626        ab
2627    
2628    /(a+|b){0,}/
2629        ab
2630    
2631    /(a+|b)+/
2632        ab
2633    
2634    /(a+|b){1,}/
2635        ab
2636    
2637    /(a+|b)?/
2638        ab
2639    
2640    /(a+|b){0,1}/
2641        ab
2642    
2643    /[^ab]*/
2644        cde
2645    
2646    /abc/
2647        *** Failers
2648        b
2649    
2650    
2651    /a*/
2652    
2653    
2654    /([abc])*d/
2655        abbbcd
2656    
2657    /([abc])*bcd/
2658        abcd
2659    
2660    /a|b|c|d|e/
2661        e
2662    
2663    /(a|b|c|d|e)f/
2664        ef
2665    
2666    /abcd*efg/
2667        abcdefg
2668    
2669    /ab*/
2670        xabyabbbz
2671        xayabbbz
2672    
2673    /(ab|cd)e/
2674        abcde
2675    
2676    /[abhgefdc]ij/
2677        hij
2678    
2679    /^(ab|cd)e/
2680    
2681    /(abc|)ef/
2682        abcdef
2683    
2684    /(a|b)c*d/
2685        abcd
2686    
2687    /(ab|ab*)bc/
2688        abc
2689    
2690    /a([bc]*)c*/
2691        abc
2692    
2693    /a([bc]*)(c*d)/
2694        abcd
2695    
2696    /a([bc]+)(c*d)/
2697        abcd
2698    
2699    /a([bc]*)(c+d)/
2700        abcd
2701    
2702    /a[bcd]*dcdcde/
2703        adcdcde
2704    
2705    /a[bcd]+dcdcde/
2706        *** Failers
2707        abcde
2708        adcdcde
2709    
2710    /(ab|a)b*c/
2711        abc
2712    
2713    /((a)(b)c)(d)/
2714        abcd
2715    
2716    /[a-zA-Z_][a-zA-Z0-9_]*/
2717        alpha
2718    
2719    /^a(bc+|b[eh])g|.h$/
2720        abh
2721    
2722    /(bc+d$|ef*g.|h?i(j|k))/
2723        effgz
2724        ij
2725        reffgz
2726        *** Failers
2727        effg
2728        bcdd
2729    
2730    /((((((((((a))))))))))/
2731        a
2732    
2733    /((((((((((a))))))))))\10/
2734        aa
2735    
2736    /(((((((((a)))))))))/
2737        a
2738    
2739    /multiple words of text/
2740        *** Failers
2741        aa
2742        uh-uh
2743    
2744    /multiple words/
2745        multiple words, yeah
2746    
2747    /(.*)c(.*)/
2748        abcde
2749    
2750    /\((.*), (.*)\)/
2751        (a, b)
2752    
2753    /[k]/
2754    
2755    /abcd/
2756        abcd
2757    
2758    /a(bc)d/
2759        abcd
2760    
2761    /a[-]?c/
2762        ac
2763    
2764    /(abc)\1/
2765        abcabc
2766    
2767    /([a-c]*)\1/
2768        abcabc
2769    
2770    /(a)|\1/
2771        a
2772        *** Failers
2773        ab
2774        x
2775    
2776    /(([a-c])b*?\2)*/
2777        ababbbcbc
2778    
2779    /(([a-c])b*?\2){3}/
2780        ababbbcbc
2781    
2782    /((\3|b)\2(a)x)+/
2783        aaaxabaxbaaxbbax
2784    
2785    /((\3|b)\2(a)){2,}/
2786        bbaababbabaaaaabbaaaabba
2787    
2788    /abc/i
2789        ABC
2790        XABCY
2791        ABABC
2792        *** Failers
2793        aaxabxbaxbbx
2794        XBC
2795        AXC
2796        ABX
2797    
2798    /ab*c/i
2799        ABC
2800    
2801    /ab*bc/i
2802        ABC
2803        ABBC
2804    
2805    /ab*?bc/i
2806        ABBBBC
2807    
2808    /ab{0,}?bc/i
2809        ABBBBC
2810    
2811    /ab+?bc/i
2812        ABBC
2813    
2814    /ab+bc/i
2815        *** Failers
2816        ABC
2817        ABQ
2818    
2819    /ab{1,}bc/i
2820    
2821    /ab+bc/i
2822        ABBBBC
2823    
2824    /ab{1,}?bc/i
2825        ABBBBC
2826    
2827    /ab{1,3}?bc/i
2828        ABBBBC
2829    
2830    /ab{3,4}?bc/i
2831        ABBBBC
2832    
2833    /ab{4,5}?bc/i
2834        *** Failers
2835        ABQ
2836        ABBBBC
2837    
2838    /ab??bc/i
2839        ABBC
2840        ABC
2841    
2842    /ab{0,1}?bc/i
2843        ABC
2844    
2845    /ab??bc/i
2846    
2847    /ab??c/i
2848        ABC
2849    
2850    /ab{0,1}?c/i
2851        ABC
2852    
2853    /^abc$/i
2854        ABC
2855        *** Failers
2856        ABBBBC
2857        ABCC
2858    
2859    /^abc/i
2860        ABCC
2861    
2862    /^abc$/i
2863    
2864    /abc$/i
2865        AABC
2866    
2867    /^/i
2868        ABC
2869    
2870    /$/i
2871        ABC
2872    
2873    /a.c/i
2874        ABC
2875        AXC
2876    
2877    /a.*?c/i
2878        AXYZC
2879    
2880    /a.*c/i
2881        *** Failers
2882        AABC
2883        AXYZD
2884    
2885    /a[bc]d/i
2886        ABD
2887    
2888    /a[b-d]e/i
2889        ACE
2890        *** Failers
2891        ABC
2892        ABD
2893    
2894    /a[b-d]/i
2895        AAC
2896    
2897    /a[-b]/i
2898        A-
2899    
2900    /a[b-]/i
2901        A-
2902    
2903    /a]/i
2904        A]
2905    
2906    /a[]]b/i
2907        A]B
2908    
2909    /a[^bc]d/i
2910        AED
2911    
2912    /a[^-b]c/i
2913        ADC
2914        *** Failers
2915        ABD
2916        A-C
2917    
2918    /a[^]b]c/i
2919        ADC
2920    
2921    /ab|cd/i
2922        ABC
2923        ABCD
2924    
2925    /()ef/i
2926        DEF
2927    
2928    /$b/i
2929        *** Failers
2930        A]C
2931        B
2932    
2933    /a\(b/i
2934        A(B
2935    
2936    /a\(*b/i
2937        AB
2938        A((B
2939    
2940    /a\\b/i
2941        A\B
2942    
2943    /((a))/i
2944        ABC
2945    
2946    /(a)b(c)/i
2947        ABC
2948    
2949    /a+b+c/i
2950        AABBABC
2951    
2952    /a{1,}b{1,}c/i
2953        AABBABC
2954    
2955    /a.+?c/i
2956        ABCABC
2957    
2958    /a.*?c/i
2959        ABCABC
2960    
2961    /a.{0,5}?c/i
2962        ABCABC
2963    
2964    /(a+|b)*/i
2965        AB
2966    
2967    /(a+|b){0,}/i
2968        AB
2969    
2970    /(a+|b)+/i
2971        AB
2972    
2973    /(a+|b){1,}/i
2974        AB
2975    
2976    /(a+|b)?/i
2977        AB
2978    
2979    /(a+|b){0,1}/i
2980        AB
2981    
2982    /(a+|b){0,1}?/i
2983        AB
2984    
2985    /[^ab]*/i
2986        CDE
2987    
2988    /abc/i
2989    
2990    /a*/i
2991    
2992    
2993    /([abc])*d/i
2994        ABBBCD
2995    
2996    /([abc])*bcd/i
2997        ABCD
2998    
2999    /a|b|c|d|e/i
3000        E
3001    
3002    /(a|b|c|d|e)f/i
3003        EF
3004    
3005    /abcd*efg/i
3006        ABCDEFG
3007    
3008    /ab*/i
3009        XABYABBBZ
3010        XAYABBBZ
3011    
3012    /(ab|cd)e/i
3013        ABCDE
3014    
3015    /[abhgefdc]ij/i
3016        HIJ
3017    
3018    /^(ab|cd)e/i
3019        ABCDE
3020    
3021    /(abc|)ef/i
3022        ABCDEF
3023    
3024    /(a|b)c*d/i
3025        ABCD
3026    
3027    /(ab|ab*)bc/i
3028        ABC
3029    
3030    /a([bc]*)c*/i
3031        ABC
3032    
3033    /a([bc]*)(c*d)/i
3034        ABCD
3035    
3036    /a([bc]+)(c*d)/i
3037        ABCD
3038    
3039    /a([bc]*)(c+d)/i
3040        ABCD
3041    
3042    /a[bcd]*dcdcde/i
3043        ADCDCDE
3044    
3045    /a[bcd]+dcdcde/i
3046    
3047    /(ab|a)b*c/i
3048        ABC
3049    
3050    /((a)(b)c)(d)/i
3051        ABCD
3052    
3053    /[a-zA-Z_][a-zA-Z0-9_]*/i
3054        ALPHA
3055    
3056    /^a(bc+|b[eh])g|.h$/i
3057        ABH
3058    
3059    /(bc+d$|ef*g.|h?i(j|k))/i
3060        EFFGZ
3061        IJ
3062        REFFGZ
3063        *** Failers
3064        ADCDCDE
3065        EFFG
3066        BCDD
3067    
3068    /((((((((((a))))))))))/i
3069        A
3070    
3071    /((((((((((a))))))))))\10/i
3072        AA
3073    
3074    /(((((((((a)))))))))/i
3075        A
3076    
3077    /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
3078        A
3079    
3080    /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
3081        C
3082    
3083    /multiple words of text/i
3084        *** Failers
3085        AA
3086        UH-UH
3087    
3088    /multiple words/i
3089        MULTIPLE WORDS, YEAH
3090    
3091    /(.*)c(.*)/i
3092        ABCDE
3093    
3094    /\((.*), (.*)\)/i
3095        (A, B)
3096    
3097    /[k]/i
3098    
3099    /abcd/i
3100        ABCD
3101    
3102    /a(bc)d/i
3103        ABCD
3104    
3105    /a[-]?c/i
3106        AC
3107    
3108    /(abc)\1/i
3109        ABCABC
3110    
3111    /([a-c]*)\1/i
3112        ABCABC
3113    
3114    /a(?!b)./
3115        abad
3116    
3117    /a(?=d)./
3118        abad
3119    
3120    /a(?=c|d)./
3121        abad
3122    
3123    /a(?:b|c|d)(.)/
3124        ace
3125    
3126    /a(?:b|c|d)*(.)/
3127        ace
3128    
3129    /a(?:b|c|d)+?(.)/
3130        ace
3131        acdbcdbe
3132    
3133    /a(?:b|c|d)+(.)/
3134        acdbcdbe
3135    
3136    /a(?:b|c|d){2}(.)/
3137        acdbcdbe
3138    
3139    /a(?:b|c|d){4,5}(.)/
3140        acdbcdbe
3141    
3142    /a(?:b|c|d){4,5}?(.)/
3143        acdbcdbe
3144    
3145    /((foo)|(bar))*/
3146        foobar
3147    
3148    /a(?:b|c|d){6,7}(.)/
3149        acdbcdbe
3150    
3151    /a(?:b|c|d){6,7}?(.)/
3152        acdbcdbe
3153    
3154    /a(?:b|c|d){5,6}(.)/
3155        acdbcdbe
3156    
3157    /a(?:b|c|d){5,6}?(.)/
3158        acdbcdbe
3159    
3160    /a(?:b|c|d){5,7}(.)/
3161        acdbcdbe
3162    
3163    /a(?:b|c|d){5,7}?(.)/
3164        acdbcdbe
3165    
3166    /a(?:b|(c|e){1,2}?|d)+?(.)/
3167        ace
3168    
3169    /^(.+)?B/
3170        AB
3171    
3172    /^([^a-z])|(\^)$/
3173        .
3174    
3175    /^[<>]&/
3176        <&OUT
3177    
3178    /^(a\1?){4}$/
3179        aaaaaaaaaa
3180        *** Failers
3181        AB
3182        aaaaaaaaa
3183        aaaaaaaaaaa
3184    
3185    /^(a(?(1)\1)){4}$/
3186        aaaaaaaaaa
3187        *** Failers
3188        aaaaaaaaa
3189        aaaaaaaaaaa
3190    
3191    /(?:(f)(o)(o)|(b)(a)(r))*/
3192        foobar
3193    
3194    /(?<=a)b/
3195        ab
3196        *** Failers
3197        cb
3198        b
3199    
3200    /(?<!c)b/
3201        ab
3202        b
3203        b
3204    
3205    /(?:..)*a/
3206        aba
3207    
3208    /(?:..)*?a/
3209        aba
3210    
3211    /^(?:b|a(?=(.)))*\1/
3212        abc
3213    
3214    /^(){3,5}/
3215        abc
3216    
3217    /^(a+)*ax/
3218        aax
3219    
3220    /^((a|b)+)*ax/
3221        aax
3222    
3223    /^((a|bc)+)*ax/
3224        aax
3225    
3226    /(a|x)*ab/
3227        cab
3228    
3229    /(a)*ab/
3230        cab
3231    
3232    /(?:(?i)a)b/
3233        ab
3234    
3235    /((?i)a)b/
3236        ab
3237    
3238    /(?:(?i)a)b/
3239        Ab
3240    
3241    /((?i)a)b/
3242        Ab
3243    
3244    /(?:(?i)a)b/
3245        *** Failers
3246        cb
3247        aB
3248    
3249    /((?i)a)b/
3250    
3251    /(?i:a)b/
3252        ab
3253    
3254    /((?i:a))b/
3255        ab
3256    
3257    /(?i:a)b/
3258        Ab
3259    
3260    /((?i:a))b/
3261        Ab
3262    
3263    /(?i:a)b/
3264        *** Failers
3265        aB
3266        aB
3267    
3268    /((?i:a))b/
3269    
3270    /(?:(?-i)a)b/i
3271        ab
3272    
3273    /((?-i)a)b/i
3274        ab
3275    
3276    /(?:(?-i)a)b/i
3277        aB
3278    
3279    /((?-i)a)b/i
3280        aB
3281    
3282    /(?:(?-i)a)b/i
3283        *** Failers
3284        aB
3285        Ab
3286    
3287    /((?-i)a)b/i
3288    
3289    /(?:(?-i)a)b/i
3290        aB
3291    
3292    /((?-i)a)b/i
3293        aB
3294    
3295    /(?:(?-i)a)b/i
3296        *** Failers
3297        Ab
3298        AB
3299    
3300    /((?-i)a)b/i
3301    
3302    /(?-i:a)b/i
3303        ab
3304    
3305    /((?-i:a))b/i
3306        ab
3307    
3308    /(?-i:a)b/i
3309        aB
3310    
3311    /((?-i:a))b/i
3312        aB
3313    
3314    /(?-i:a)b/i
3315        *** Failers
3316        AB
3317        Ab
3318    
3319    /((?-i:a))b/i
3320    
3321    /(?-i:a)b/i
3322        aB
3323    
3324    /((?-i:a))b/i
3325        aB
3326    
3327    /(?-i:a)b/i
3328        *** Failers
3329        Ab
3330        AB
3331    
3332    /((?-i:a))b/i
3333    
3334    /((?-i:a.))b/i
3335        *** Failers
3336        AB
3337        a\nB
3338    
3339    /((?s-i:a.))b/i
3340        a\nB
3341    
3342    /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
3343        cabbbb
3344    
3345    /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
3346        caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
3347    
3348    /(ab)\d\1/i
3349        Ab4ab
3350        ab4Ab
3351    
3352    /foo\w*\d{4}baz/
3353        foobar1234baz
3354    
3355    /x(~~)*(?:(?:F)?)?/
3356        x~~
3357    
3358    /^a(?#xxx){3}c/
3359        aaac
3360    
3361    /^a (?#xxx) (?#yyy) {3}c/x
3362        aaac
3363    
3364    /(?<![cd])b/
3365        *** Failers
3366        B\nB
3367        dbcb
3368    
3369    /(?<![cd])[ab]/
3370        dbaacb
3371    
3372    /(?<!(c|d))b/
3373    
3374    /(?<!(c|d))[ab]/
3375        dbaacb
3376    
3377    /(?<!cd)[ab]/
3378        cdaccb
3379    
3380    /^(?:a?b?)*$/
3381        \
3382        a
3383        ab
3384        aaa
3385        *** Failers
3386        dbcb
3387        a--
3388        aa--
3389    
3390    /((?s)^a(.))((?m)^b$)/
3391        a\nb\nc\n
3392    
3393    /((?m)^b$)/
3394        a\nb\nc\n
3395    
3396    /(?m)^b/
3397        a\nb\n
3398    
3399    /(?m)^(b)/
3400        a\nb\n
3401    
3402    /((?m)^b)/
3403        a\nb\n
3404    
3405    /\n((?m)^b)/
3406        a\nb\n
3407    
3408    /((?s).)c(?!.)/
3409        a\nb\nc\n
3410        a\nb\nc\n
3411    
3412    /((?s)b.)c(?!.)/
3413        a\nb\nc\n
3414        a\nb\nc\n
3415    
3416    /^b/
3417    
3418    /()^b/
3419        *** Failers
3420        a\nb\nc\n
3421        a\nb\nc\n
3422    
3423    /((?m)^b)/
3424        a\nb\nc\n
3425    
3426    /(x)?(?(1)a|b)/
3427        *** Failers
3428        a
3429        a
3430    
3431    /(x)?(?(1)b|a)/
3432        a
3433    
3434    /()?(?(1)b|a)/
3435        a
3436    
3437    /()(?(1)b|a)/
3438    
3439    /()?(?(1)a|b)/
3440        a
3441    
3442    /^(\()?blah(?(1)(\)))$/
3443        (blah)
3444        blah
3445        *** Failers
3446        a
3447        blah)
3448        (blah
3449    
3450    /^(\(+)?blah(?(1)(\)))$/
3451        (blah)
3452        blah
3453        *** Failers
3454        blah)
3455        (blah
3456    
3457    /(?(?!a)a|b)/
3458    
3459    /(?(?!a)b|a)/
3460        a
3461    
3462    /(?(?=a)b|a)/
3463        *** Failers
3464        a
3465        a
3466    
3467    /(?(?=a)a|b)/
3468        a
3469    
3470    /(?=(a+?))(\1ab)/
3471        aaab
3472    
3473    /^(?=(a+?))\1ab/
3474    
3475    /(\w+:)+/
3476        one:
3477    
3478    /$(?<=^(a))/
3479        a
3480    
3481    /(?=(a+?))(\1ab)/
3482        aaab
3483    
3484    /^(?=(a+?))\1ab/
3485        *** Failers
3486        aaab
3487        aaab
3488    
3489    /([\w:]+::)?(\w+)$/
3490        abcd
3491        xy:z:::abcd
3492    
3493    /^[^bcd]*(c+)/
3494        aexycd
3495    
3496    /(a*)b+/
3497        caab
3498    
3499    /([\w:]+::)?(\w+)$/
3500        abcd
3501        xy:z:::abcd
3502        *** Failers
3503        abcd:
3504        abcd:
3505    
3506    /^[^bcd]*(c+)/
3507        aexycd
3508    
3509    /(>a+)ab/
3510    
3511    /(?>a+)b/
3512        aaab
3513    
3514    /([[:]+)/
3515        a:[b]:
3516    
3517    /([[=]+)/
3518        a=[b]=
3519    
3520    /([[.]+)/
3521        a.[b].
3522    
3523    /((?>a+)b)/
3524        aaab
3525    
3526    /(?>(a+))b/
3527        aaab
3528    
3529    /((?>[^()]+)|\([^()]*\))+/
3530        ((abc(ade)ufh()()x
3531    
3532    /a\Z/
3533        *** Failers
3534        aaab
3535        a\nb\n
3536    
3537    /b\Z/
3538        a\nb\n
3539    
3540    /b\z/
3541    
3542    /b\Z/
3543        a\nb
3544    
3545    /b\z/
3546        a\nb
3547        *** Failers
3548    
3549    /^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/
3550        a
3551        abc
3552        a-b
3553        0-9
3554        a.b
3555        5.6.7
3556        the.quick.brown.fox
3557        a100.b200.300c
3558        12-ab.1245
3559        *** Failers
3560        \
3561        .a
3562        -a
3563        a-
3564        a.
3565        a_b
3566        a.-
3567        a..
3568        ab..bc
3569        the.quick.brown.fox-
3570        the.quick.brown.fox.
3571        the.quick.brown.fox_
3572        the.quick.brown.fox+
3573    
3574    /(?>.*)(?<=(abcd|wxyz))/
3575        alphabetabcd
3576        endingwxyz
3577        *** Failers
3578        a rather long string that doesn't end with one of them
3579    
3580    /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
3581        word cat dog elephant mussel cow horse canary baboon snake shark otherword
3582        word cat dog elephant mussel cow horse canary baboon snake shark
3583    
3584    /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
3585        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
3586    
3587    /(?<=\d{3}(?!999))foo/
3588        999foo
3589        123999foo
3590        *** Failers
3591        123abcfoo
3592    
3593    /(?<=(?!...999)\d{3})foo/
3594        999foo
3595        123999foo
3596        *** Failers
3597        123abcfoo
3598    
3599    /(?<=\d{3}(?!999)...)foo/
3600        123abcfoo
3601        123456foo
3602        *** Failers
3603        123999foo
3604    
3605    /(?<=\d{3}...)(?<!999)foo/
3606        123abcfoo
3607        123456foo
3608        *** Failers
3609        123999foo
3610    
3611    /<a[\s]+href[\s]*=[\s]*          # find <a href=
3612     ([\"\'])?                       # find single or double quote
3613     (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
3614                                     # quote, otherwise match up to next space
3615    /isx
3616        <a href=abcd xyz
3617        <a href=\"abcd xyz pqr\" cats
3618        <a href=\'abcd xyz pqr\' cats
3619    
3620    /<a\s+href\s*=\s*                # find <a href=
3621     (["'])?                         # find single or double quote
3622     (?(1) (.*?)\1 | (\S+))          # if quote found, match up to next matching
3623                                     # quote, otherwise match up to next space
3624    /isx
3625        <a href=abcd xyz
3626        <a href=\"abcd xyz pqr\" cats
3627        <a href       =       \'abcd xyz pqr\' cats
3628    
3629    /<a\s+href(?>\s*)=(?>\s*)        # find <a href=
3630     (["'])?                         # find single or double quote
3631     (?(1) (.*?)\1 | (\S+))          # if quote found, match up to next matching
3632                                     # quote, otherwise match up to next space
3633    /isx
3634        <a href=abcd xyz
3635        <a href=\"abcd xyz pqr\" cats
3636        <a href       =       \'abcd xyz pqr\' cats
3637    
3638    /((Z)+|A)*/
3639        ZABCDEFG
3640    
3641    /(Z()|A)*/
3642        ZABCDEFG
3643    
3644    /(Z(())|A)*/
3645        ZABCDEFG
3646    
3647    /((?>Z)+|A)*/
3648        ZABCDEFG
3649    
3650    /((?>)+|A)*/
3651        ZABCDEFG
3652    
3653    /a*/g
3654        abbab
3655    
3656    /^[a-\d]/
3657        abcde
3658        -things
3659        0digit
3660        *** Failers
3661        bcdef
3662    
3663    /^[\d-a]/
3664        abcde
3665        -things
3666        0digit
3667        *** Failers
3668        bcdef
3669    
3670    /[[:space:]]+/
3671        > \x09\x0a\x0c\x0d\x0b<
3672    
3673    /[[:blank:]]+/
3674        > \x09\x0a\x0c\x0d\x0b<
3675    
3676    /[\s]+/
3677        > \x09\x0a\x0c\x0d\x0b<
3678    
3679    /\s+/
3680        > \x09\x0a\x0c\x0d\x0b<
3681    
3682    /a b/x
3683        ab
3684    
3685    /(?!\A)x/m
3686      a\nxb\n
3687    
3688    /(?!^)x/m
3689      a\nxb\n
3690    
3691    /abc\Qabc\Eabc/
3692        abcabcabc
3693    
3694    /abc\Q(*+|\Eabc/
3695        abc(*+|abc
3696    
3697    /   abc\Q abc\Eabc/x
3698        abc abcabc
3699        *** Failers
3700        abcabcabc
3701    
3702    /abc#comment
3703        \Q#not comment
3704        literal\E/x
3705        abc#not comment\n    literal
3706    
3707    /abc#comment
3708        \Q#not comment
3709        literal/x
3710        abc#not comment\n    literal
3711    
3712    /abc#comment
3713        \Q#not comment
3714        literal\E #more comment
3715        /x
3716        abc#not comment\n    literal
3717    
3718    /abc#comment
3719        \Q#not comment
3720        literal\E #more comment/x
3721        abc#not comment\n    literal
3722    
3723    /\Qabc\$xyz\E/
3724        abc\\\$xyz
3725    
3726    /\Qabc\E\$\Qxyz\E/
3727        abc\$xyz
3728    
3729    /\Gabc/
3730        abc
3731        *** Failers
3732        xyzabc
3733    
3734    /\Gabc./g
3735        abc1abc2xyzabc3
3736    
3737    /abc./g
3738        abc1abc2xyzabc3
3739    
3740    /a(?x: b c )d/
3741        XabcdY
3742        *** Failers
3743        Xa b c d Y
3744    
3745    /((?x)x y z | a b c)/
3746        XabcY
3747        AxyzB
3748    
3749    /(?i)AB(?-i)C/
3750        XabCY
3751        *** Failers
3752        XabcY
3753    
3754    /((?i)AB(?-i)C|D)E/
3755        abCE
3756        DE
3757        *** Failers
3758        abcE
3759        abCe
3760        dE
3761        De
3762    
3763    /(.*)\d+\1/
3764        abc123abc
3765        abc123bc
3766    
3767    /(.*)\d+\1/s
3768        abc123abc
3769        abc123bc
3770    
3771    /((.*))\d+\1/
3772        abc123abc
3773        abc123bc
3774    
3775    /-- This tests for an IPv6 address in the form where it can have up to --/
3776    /-- eight components, one and only one of which is empty. This must be --/
3777    /-- an internal component. --/
3778    
3779    /^(?!:)                       # colon disallowed at start
3780      (?:                         # start of item
3781        (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
3782        (?(1)0 | () ) )           # if null previously matched, fail; else null
3783        :                         # followed by colon
3784      ){1,7}                      # end item; 1-7 of them required
3785      [0-9a-f]{1,4} $             # final hex number at end of string
3786      (?(1)|.)                    # check that there was an empty component
3787      /xi
3788        a123::a123
3789        a123:b342::abcd
3790        a123:b342::324e:abcd
3791        a123:ddde:b342::324e:abcd
3792        a123:ddde:b342::324e:dcba:abcd
3793        a123:ddde:9999:b342::324e:dcba:abcd
3794        *** Failers
3795        1:2:3:4:5:6:7:8
3796        a123:bce:ddde:9999:b342::324e:dcba:abcd
3797        a123::9999:b342::324e:dcba:abcd
3798        abcde:2:3:4:5:6:7:8
3799        ::1
3800        abcd:fee0:123::
3801        :1
3802        1:
3803    
3804    /[z\Qa-d]\E]/
3805        z
3806        a
3807        -
3808        d
3809        ]
3810        *** Failers
3811        b
3812    
3813    /[\z\C]/
3814        z
3815        C
3816    
3817    /\M/
3818        M
3819    
3820    /(a+)*b/
3821        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3822    
3823    /(?i)reg(?:ul(?:[a]|ae)r|ex)/
3824        REGular
3825        regulaer
3826        Regex
3827        regulr
3828    
3829    /[--]+/
3830        
3831        
3832        
3833        
3834    
3835    /(?<=Z)X./
3836      \x84XAZXB
3837    
3838    /ab cd (?x) de fg/
3839        ab cd defg
3840    
3841    /ab cd(?x) de fg/
3842        ab cddefg
3843        ** Failers
3844        abcddefg
3845    
3846    /(?<![^f]oo)(bar)/
3847        foobarX
3848        ** Failers
3849        boobarX
3850    
3851    /(?<![^f])X/
3852        offX
3853        ** Failers
3854        onyX
3855    
3856    /(?<=[^f])X/
3857        onyX
3858        ** Failers
3859        offX
3860    
3861    /^/mg
3862        a\nb\nc\n
3863        \
3864    
3865    /(?<=C\n)^/mg
3866        A\nC\nC\n
3867    
3868    /(?:(?(1)a|b)(X))+/
3869        bXaX
3870    
3871    /(?:(?(1)\1a|b)(X|Y))+/
3872        bXXaYYaY
3873        bXYaXXaX
3874    
3875    /()()()()()()()()()(?:(?(10)\10a|b)(X|Y))+/
3876        bXXaYYaY
3877    
3878    /[[,abc,]+]/
3879        abc]
3880        a,b]
3881        [a,b,c]
3882    
3883    /(?-x: )/x
3884        A\x20B
3885    
3886    "(?x)(?-x: \s*#\s*)"
3887        A # B
3888        ** Failers
3889        #
3890    
3891    "(?x-is)(?:(?-ixs) \s*#\s*) include"
3892        A #include
3893        ** Failers
3894        A#include
3895        A #Include
3896    
3897    /a*b*\w/
3898        aaabbbb
3899        aaaa
3900        a
3901    
3902    /a*b?\w/
3903        aaabbbb
3904        aaaa
3905        a
3906    
3907    /a*b{0,4}\w/
3908        aaabbbb
3909        aaaa
3910        a
3911    
3912    /a*b{0,}\w/
3913        aaabbbb
3914        aaaa
3915        a
3916    
3917    /a*\d*\w/
3918        0a
3919        a
3920    
3921    /a*b *\w/x
3922        a
3923    
3924    /a*b#comment
3925      *\w/x
3926        a
3927    
3928    /a* b *\w/x
3929        a
3930    
3931    /^\w+=.*(\\\n.*)*/
3932        abc=xyz\\\npqr
3933    
3934    /(?=(\w+))\1:/
3935        abcd:
3936    
3937    /^(?=(\w+))\1:/
3938        abcd:
3939    
3940    /^\Eabc/
3941        abc
3942    
3943    /^[\Eabc]/
3944        a
3945        ** Failers
3946        E
3947    
3948    /^[a-\Ec]/
3949        b
3950        ** Failers
3951        -
3952        E
3953    
3954    /^[a\E\E-\Ec]/
3955        b
3956        ** Failers
3957        -
3958        E
3959    
3960    /^[\E\Qa\E-\Qz\E]+/
3961        b
3962        ** Failers
3963        -
3964    
3965    /^[a\Q]bc\E]/
3966        a
3967        ]
3968        c
3969    
3970    /^[a-\Q\E]/
3971        a
3972        -
3973    
3974    /^(a()*)*/
3975        aaaa
3976    
3977    /^(?:a(?:(?:))*)*/
3978        aaaa
3979    
3980    /^(a()+)+/
3981        aaaa
3982    
3983    /^(?:a(?:(?:))+)+/
3984        aaaa
3985    
3986    /(a){0,3}(?(1)b|(c|))*D/
3987        abbD
3988        ccccD
3989        D
3990    
3991    /(a|)*\d/
3992      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3993      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
3994    
3995    /(?>a|)*\d/
3996      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3997      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
3998    
3999    /(?:a|)*\d/
4000      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4001      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4002    
4003    /\Z/g
4004      abc\n
4005    
4006    /^(?s)(?>.*)(?<!\n)/
4007      abc
4008      abc\n
4009    
4010    /^(?![^\n]*\n\z)/
4011      abc
4012      abc\n
4013    
4014    /\z(?<!\n)/
4015      abc
4016      abc\n
4017    
4018    /(.*(.)?)*/
4019        abcd
4020    
4021    /( (A | (?(1)0|) )*   )/x
4022        abcd
4023    
4024    /( ( (?(1)0|) )*   )/x
4025        abcd
4026    
4027    /(  (?(1)0|)*   )/x
4028        abcd
4029    
4030    /[[:abcd:xyz]]/
4031        a]
4032        :]
4033    
4034    /[abc[:x\]pqr]/
4035        a
4036        [
4037        :
4038        ]
4039        p
4040    
4041    /.*[op][xyz]/
4042        fooabcfoo
4043    
4044    /(?(?=.*b)b|^)/
4045       adc
4046       abc
4047    
4048    /(?(?=^.*b)b|^)/
4049       adc
4050       abc
4051    
4052    /(?(?=.*b)b|^)*/
4053       adc
4054       abc
4055    
4056    /(?(?=.*b)b|^)+/
4057       adc
4058       abc
4059    
4060    /(?(?=b).*b|^d)/
4061        abc
4062    
4063    /(?(?=.*b).*b|^d)/
4064        abc
4065    
4066    /^%((?(?=[a])[^%])|b)*%$/
4067        %ab%
4068    
4069    /(?i)a(?-i)b|c/
4070        XabX
4071        XAbX
4072        CcC
4073        ** Failers
4074        XABX
4075    
4076    /[\x00-\xff\s]+/
4077        \x0a\x0b\x0c\x0d
4078    
4079    /^\c/
4080        ?
4081    
4082    /(abc)\1/i
4083       abc
4084    
4085    /(abc)\1/
4086       abc
4087    
4088    /[^a]*/i
4089        12abc
4090        12ABC
4091    
4092    /[^a]*+/i
4093        12abc
4094        12ABC
4095    
4096    /[^a]*?X/i
4097        ** Failers
4098        12abc
4099        12ABC
4100    
4101    /[^a]+?X/i
4102        ** Failers
4103        12abc
4104        12ABC
4105    
4106    /[^a]?X/i
4107        12aXbcX
4108        12AXBCX
4109        BCX
4110    
4111    /[^a]??X/i
4112        12aXbcX
4113        12AXBCX
4114        BCX
4115    
4116    /[^a]?+X/i
4117        12aXbcX
4118        12AXBCX
4119        BCX
4120    
4121    /[^a]{2,3}/i
4122        abcdef
4123        ABCDEF
4124    
4125    /[^a]{2,3}?/i
4126        abcdef
4127        ABCDEF
4128    
4129    /[^a]{2,3}+/i
4130        abcdef
4131        ABCDEF
4132    
4133    /-- End of testinput1 --/

Legend:
Removed from v.53  
changed lines
  Added in v.602

  ViewVC Help
Powered by ViewVC 1.1.5