/[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 55 by nigel, Sat Feb 24 21:39:46 2007 UTC revision 472 by ph10, Fri Dec 11 16:42:50 2009 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 1947  Line 1945 
1945  /(AB)*\1/  /(AB)*\1/
1946      ABABAB      ABABAB
1947    
1948  / End of testinput1 /  /(?<!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 case of aaaaaa is missed out below because I think Perl 5.005_02 gets/
2336    /it wrong; it sets $1 to aaa rather than aa. Compare the following test,/
2337    /where it does set $1 to aa when matching aaaaaa./
2338    
2339    /^(a\1?){4}$/
2340        a
2341        aa
2342        aaa
2343        aaaa
2344        aaaaa
2345        aaaaaaa
2346        aaaaaaaa
2347        aaaaaaaaa
2348        aaaaaaaaaa
2349        aaaaaaaaaaa
2350        aaaaaaaaaaaa
2351        aaaaaaaaaaaaa
2352        aaaaaaaaaaaaaa
2353        aaaaaaaaaaaaaaa
2354        aaaaaaaaaaaaaaaa
2355    
2356    /^(a\1?)(a\1?)(a\2?)(a\3?)$/
2357        a
2358        aa
2359        aaa
2360        aaaa
2361        aaaaa
2362        aaaaaa
2363        aaaaaaa
2364        aaaaaaaa
2365        aaaaaaaaa
2366        aaaaaaaaaa
2367        aaaaaaaaaaa
2368        aaaaaaaaaaaa
2369        aaaaaaaaaaaaa
2370        aaaaaaaaaaaaaa
2371        aaaaaaaaaaaaaaa
2372        aaaaaaaaaaaaaaaa
2373    
2374    /The following tests are taken from the Perl 5.005 test suite; some of them/
2375    /are compatible with 5.004, but I'd rather not have to sort them out./
2376    
2377    /abc/
2378        abc
2379        xabcy
2380        ababc
2381        *** Failers
2382        xbc
2383        axc
2384        abx
2385    
2386    /ab*c/
2387        abc
2388    
2389    /ab*bc/
2390        abc
2391        abbc
2392        abbbbc
2393    
2394    /.{1}/
2395        abbbbc
2396    
2397    /.{3,4}/
2398        abbbbc
2399    
2400    /ab{0,}bc/
2401        abbbbc
2402    
2403    /ab+bc/
2404        abbc
2405        *** Failers
2406        abc
2407        abq
2408    
2409    /ab{1,}bc/
2410    
2411    /ab+bc/
2412        abbbbc
2413    
2414    /ab{1,}bc/
2415        abbbbc
2416    
2417    /ab{1,3}bc/
2418        abbbbc
2419    
2420    /ab{3,4}bc/
2421        abbbbc
2422    
2423    /ab{4,5}bc/
2424        *** Failers
2425        abq
2426        abbbbc
2427    
2428    /ab?bc/
2429        abbc
2430        abc
2431    
2432    /ab{0,1}bc/
2433        abc
2434    
2435    /ab?bc/
2436    
2437    /ab?c/
2438        abc
2439    
2440    /ab{0,1}c/
2441        abc
2442    
2443    /^abc$/
2444        abc
2445        *** Failers
2446        abbbbc
2447        abcc
2448    
2449    /^abc/
2450        abcc
2451    
2452    /^abc$/
2453    
2454    /abc$/
2455        aabc
2456        *** Failers
2457        aabc
2458        aabcd
2459    
2460    /^/
2461        abc
2462    
2463    /$/
2464        abc
2465    
2466    /a.c/
2467        abc
2468        axc
2469    
2470    /a.*c/
2471        axyzc
2472    
2473    /a[bc]d/
2474        abd
2475        *** Failers
2476        axyzd
2477        abc
2478    
2479    /a[b-d]e/
2480        ace
2481    
2482    /a[b-d]/
2483        aac
2484    
2485    /a[-b]/
2486        a-
2487    
2488    /a[b-]/
2489        a-
2490    
2491    /a]/
2492        a]
2493    
2494    /a[]]b/
2495        a]b
2496    
2497    /a[^bc]d/
2498        aed
2499        *** Failers
2500        abd
2501        abd
2502    
2503    /a[^-b]c/
2504        adc
2505    
2506    /a[^]b]c/
2507        adc
2508        *** Failers
2509        a-c
2510        a]c
2511    
2512    /\ba\b/
2513        a-
2514        -a
2515        -a-
2516    
2517    /\by\b/
2518        *** Failers
2519        xy
2520        yz
2521        xyz
2522    
2523    /\Ba\B/
2524        *** Failers
2525        a-
2526        -a
2527        -a-
2528    
2529    /\By\b/
2530        xy
2531    
2532    /\by\B/
2533        yz
2534    
2535    /\By\B/
2536        xyz
2537    
2538    /\w/
2539        a
2540    
2541    /\W/
2542        -
2543        *** Failers
2544        -
2545        a
2546    
2547    /a\sb/
2548        a b
2549    
2550    /a\Sb/
2551        a-b
2552        *** Failers
2553        a-b
2554        a b
2555    
2556    /\d/
2557        1
2558    
2559    /\D/
2560        -
2561        *** Failers
2562        -
2563        1
2564    
2565    /[\w]/
2566        a
2567    
2568    /[\W]/
2569        -
2570        *** Failers
2571        -
2572        a
2573    
2574    /a[\s]b/
2575        a b
2576    
2577    /a[\S]b/
2578        a-b
2579        *** Failers
2580        a-b
2581        a b
2582    
2583    /[\d]/
2584        1
2585    
2586    /[\D]/
2587        -
2588        *** Failers
2589        -
2590        1
2591    
2592    /ab|cd/
2593        abc
2594        abcd
2595    
2596    /()ef/
2597        def
2598    
2599    /$b/
2600    
2601    /a\(b/
2602        a(b
2603    
2604    /a\(*b/
2605        ab
2606        a((b
2607    
2608    /a\\b/
2609        a\b
2610    
2611    /((a))/
2612        abc
2613    
2614    /(a)b(c)/
2615        abc
2616    
2617    /a+b+c/
2618        aabbabc
2619    
2620    /a{1,}b{1,}c/
2621        aabbabc
2622    
2623    /a.+?c/
2624        abcabc
2625    
2626    /(a+|b)*/
2627        ab
2628    
2629    /(a+|b){0,}/
2630        ab
2631    
2632    /(a+|b)+/
2633        ab
2634    
2635    /(a+|b){1,}/
2636        ab
2637    
2638    /(a+|b)?/
2639        ab
2640    
2641    /(a+|b){0,1}/
2642        ab
2643    
2644    /[^ab]*/
2645        cde
2646    
2647    /abc/
2648        *** Failers
2649        b
2650    
2651    
2652    /a*/
2653    
2654    
2655    /([abc])*d/
2656        abbbcd
2657    
2658    /([abc])*bcd/
2659        abcd
2660    
2661    /a|b|c|d|e/
2662        e
2663    
2664    /(a|b|c|d|e)f/
2665        ef
2666    
2667    /abcd*efg/
2668        abcdefg
2669    
2670    /ab*/
2671        xabyabbbz
2672        xayabbbz
2673    
2674    /(ab|cd)e/
2675        abcde
2676    
2677    /[abhgefdc]ij/
2678        hij
2679    
2680    /^(ab|cd)e/
2681    
2682    /(abc|)ef/
2683        abcdef
2684    
2685    /(a|b)c*d/
2686        abcd
2687    
2688    /(ab|ab*)bc/
2689        abc
2690    
2691    /a([bc]*)c*/
2692        abc
2693    
2694    /a([bc]*)(c*d)/
2695        abcd
2696    
2697    /a([bc]+)(c*d)/
2698        abcd
2699    
2700    /a([bc]*)(c+d)/
2701        abcd
2702    
2703    /a[bcd]*dcdcde/
2704        adcdcde
2705    
2706    /a[bcd]+dcdcde/
2707        *** Failers
2708        abcde
2709        adcdcde
2710    
2711    /(ab|a)b*c/
2712        abc
2713    
2714    /((a)(b)c)(d)/
2715        abcd
2716    
2717    /[a-zA-Z_][a-zA-Z0-9_]*/
2718        alpha
2719    
2720    /^a(bc+|b[eh])g|.h$/
2721        abh
2722    
2723    /(bc+d$|ef*g.|h?i(j|k))/
2724        effgz
2725        ij
2726        reffgz
2727        *** Failers
2728        effg
2729        bcdd
2730    
2731    /((((((((((a))))))))))/
2732        a
2733    
2734    /((((((((((a))))))))))\10/
2735        aa
2736    
2737    /(((((((((a)))))))))/
2738        a
2739    
2740    /multiple words of text/
2741        *** Failers
2742        aa
2743        uh-uh
2744    
2745    /multiple words/
2746        multiple words, yeah
2747    
2748    /(.*)c(.*)/
2749        abcde
2750    
2751    /\((.*), (.*)\)/
2752        (a, b)
2753    
2754    /[k]/
2755    
2756    /abcd/
2757        abcd
2758    
2759    /a(bc)d/
2760        abcd
2761    
2762    /a[-]?c/
2763        ac
2764    
2765    /(abc)\1/
2766        abcabc
2767    
2768    /([a-c]*)\1/
2769        abcabc
2770    
2771    /(a)|\1/
2772        a
2773        *** Failers
2774        ab
2775        x
2776    
2777    /(([a-c])b*?\2)*/
2778        ababbbcbc
2779    
2780    /(([a-c])b*?\2){3}/
2781        ababbbcbc
2782    
2783    /((\3|b)\2(a)x)+/
2784        aaaxabaxbaaxbbax
2785    
2786    /((\3|b)\2(a)){2,}/
2787        bbaababbabaaaaabbaaaabba
2788    
2789    /abc/i
2790        ABC
2791        XABCY
2792        ABABC
2793        *** Failers
2794        aaxabxbaxbbx
2795        XBC
2796        AXC
2797        ABX
2798    
2799    /ab*c/i
2800        ABC
2801    
2802    /ab*bc/i
2803        ABC
2804        ABBC
2805    
2806    /ab*?bc/i
2807        ABBBBC
2808    
2809    /ab{0,}?bc/i
2810        ABBBBC
2811    
2812    /ab+?bc/i
2813        ABBC
2814    
2815    /ab+bc/i
2816        *** Failers
2817        ABC
2818        ABQ
2819    
2820    /ab{1,}bc/i
2821    
2822    /ab+bc/i
2823        ABBBBC
2824    
2825    /ab{1,}?bc/i
2826        ABBBBC
2827    
2828    /ab{1,3}?bc/i
2829        ABBBBC
2830    
2831    /ab{3,4}?bc/i
2832        ABBBBC
2833    
2834    /ab{4,5}?bc/i
2835        *** Failers
2836        ABQ
2837        ABBBBC
2838    
2839    /ab??bc/i
2840        ABBC
2841        ABC
2842    
2843    /ab{0,1}?bc/i
2844        ABC
2845    
2846    /ab??bc/i
2847    
2848    /ab??c/i
2849        ABC
2850    
2851    /ab{0,1}?c/i
2852        ABC
2853    
2854    /^abc$/i
2855        ABC
2856        *** Failers
2857        ABBBBC
2858        ABCC
2859    
2860    /^abc/i
2861        ABCC
2862    
2863    /^abc$/i
2864    
2865    /abc$/i
2866        AABC
2867    
2868    /^/i
2869        ABC
2870    
2871    /$/i
2872        ABC
2873    
2874    /a.c/i
2875        ABC
2876        AXC
2877    
2878    /a.*?c/i
2879        AXYZC
2880    
2881    /a.*c/i
2882        *** Failers
2883        AABC
2884        AXYZD
2885    
2886    /a[bc]d/i
2887        ABD
2888    
2889    /a[b-d]e/i
2890        ACE
2891        *** Failers
2892        ABC
2893        ABD
2894    
2895    /a[b-d]/i
2896        AAC
2897    
2898    /a[-b]/i
2899        A-
2900    
2901    /a[b-]/i
2902        A-
2903    
2904    /a]/i
2905        A]
2906    
2907    /a[]]b/i
2908        A]B
2909    
2910    /a[^bc]d/i
2911        AED
2912    
2913    /a[^-b]c/i
2914        ADC
2915        *** Failers
2916        ABD
2917        A-C
2918    
2919    /a[^]b]c/i
2920        ADC
2921    
2922    /ab|cd/i
2923        ABC
2924        ABCD
2925    
2926    /()ef/i
2927        DEF
2928    
2929    /$b/i
2930        *** Failers
2931        A]C
2932        B
2933    
2934    /a\(b/i
2935        A(B
2936    
2937    /a\(*b/i
2938        AB
2939        A((B
2940    
2941    /a\\b/i
2942        A\B
2943    
2944    /((a))/i
2945        ABC
2946    
2947    /(a)b(c)/i
2948        ABC
2949    
2950    /a+b+c/i
2951        AABBABC
2952    
2953    /a{1,}b{1,}c/i
2954        AABBABC
2955    
2956    /a.+?c/i
2957        ABCABC
2958    
2959    /a.*?c/i
2960        ABCABC
2961    
2962    /a.{0,5}?c/i
2963        ABCABC
2964    
2965    /(a+|b)*/i
2966        AB
2967    
2968    /(a+|b){0,}/i
2969        AB
2970    
2971    /(a+|b)+/i
2972        AB
2973    
2974    /(a+|b){1,}/i
2975        AB
2976    
2977    /(a+|b)?/i
2978        AB
2979    
2980    /(a+|b){0,1}/i
2981        AB
2982    
2983    /(a+|b){0,1}?/i
2984        AB
2985    
2986    /[^ab]*/i
2987        CDE
2988    
2989    /abc/i
2990    
2991    /a*/i
2992    
2993    
2994    /([abc])*d/i
2995        ABBBCD
2996    
2997    /([abc])*bcd/i
2998        ABCD
2999    
3000    /a|b|c|d|e/i
3001        E
3002    
3003    /(a|b|c|d|e)f/i
3004        EF
3005    
3006    /abcd*efg/i
3007        ABCDEFG
3008    
3009    /ab*/i
3010        XABYABBBZ
3011        XAYABBBZ
3012    
3013    /(ab|cd)e/i
3014        ABCDE
3015    
3016    /[abhgefdc]ij/i
3017        HIJ
3018    
3019    /^(ab|cd)e/i
3020        ABCDE
3021    
3022    /(abc|)ef/i
3023        ABCDEF
3024    
3025    /(a|b)c*d/i
3026        ABCD
3027    
3028    /(ab|ab*)bc/i
3029        ABC
3030    
3031    /a([bc]*)c*/i
3032        ABC
3033    
3034    /a([bc]*)(c*d)/i
3035        ABCD
3036    
3037    /a([bc]+)(c*d)/i
3038        ABCD
3039    
3040    /a([bc]*)(c+d)/i
3041        ABCD
3042    
3043    /a[bcd]*dcdcde/i
3044        ADCDCDE
3045    
3046    /a[bcd]+dcdcde/i
3047    
3048    /(ab|a)b*c/i
3049        ABC
3050    
3051    /((a)(b)c)(d)/i
3052        ABCD
3053    
3054    /[a-zA-Z_][a-zA-Z0-9_]*/i
3055        ALPHA
3056    
3057    /^a(bc+|b[eh])g|.h$/i
3058        ABH
3059    
3060    /(bc+d$|ef*g.|h?i(j|k))/i
3061        EFFGZ
3062        IJ
3063        REFFGZ
3064        *** Failers
3065        ADCDCDE
3066        EFFG
3067        BCDD
3068    
3069    /((((((((((a))))))))))/i
3070        A
3071    
3072    /((((((((((a))))))))))\10/i
3073        AA
3074    
3075    /(((((((((a)))))))))/i
3076        A
3077    
3078    /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
3079        A
3080    
3081    /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
3082        C
3083    
3084    /multiple words of text/i
3085        *** Failers
3086        AA
3087        UH-UH
3088    
3089    /multiple words/i
3090        MULTIPLE WORDS, YEAH
3091    
3092    /(.*)c(.*)/i
3093        ABCDE
3094    
3095    /\((.*), (.*)\)/i
3096        (A, B)
3097    
3098    /[k]/i
3099    
3100    /abcd/i
3101        ABCD
3102    
3103    /a(bc)d/i
3104        ABCD
3105    
3106    /a[-]?c/i
3107        AC
3108    
3109    /(abc)\1/i
3110        ABCABC
3111    
3112    /([a-c]*)\1/i
3113        ABCABC
3114    
3115    /a(?!b)./
3116        abad
3117    
3118    /a(?=d)./
3119        abad
3120    
3121    /a(?=c|d)./
3122        abad
3123    
3124    /a(?:b|c|d)(.)/
3125        ace
3126    
3127    /a(?:b|c|d)*(.)/
3128        ace
3129    
3130    /a(?:b|c|d)+?(.)/
3131        ace
3132        acdbcdbe
3133    
3134    /a(?:b|c|d)+(.)/
3135        acdbcdbe
3136    
3137    /a(?:b|c|d){2}(.)/
3138        acdbcdbe
3139    
3140    /a(?:b|c|d){4,5}(.)/
3141        acdbcdbe
3142    
3143    /a(?:b|c|d){4,5}?(.)/
3144        acdbcdbe
3145    
3146    /((foo)|(bar))*/
3147        foobar
3148    
3149    /a(?:b|c|d){6,7}(.)/
3150        acdbcdbe
3151    
3152    /a(?:b|c|d){6,7}?(.)/
3153        acdbcdbe
3154    
3155    /a(?:b|c|d){5,6}(.)/
3156        acdbcdbe
3157    
3158    /a(?:b|c|d){5,6}?(.)/
3159        acdbcdbe
3160    
3161    /a(?:b|c|d){5,7}(.)/
3162        acdbcdbe
3163    
3164    /a(?:b|c|d){5,7}?(.)/
3165        acdbcdbe
3166    
3167    /a(?:b|(c|e){1,2}?|d)+?(.)/
3168        ace
3169    
3170    /^(.+)?B/
3171        AB
3172    
3173    /^([^a-z])|(\^)$/
3174        .
3175    
3176    /^[<>]&/
3177        <&OUT
3178    
3179    /^(a\1?){4}$/
3180        aaaaaaaaaa
3181        *** Failers
3182        AB
3183        aaaaaaaaa
3184        aaaaaaaaaaa
3185    
3186    /^(a(?(1)\1)){4}$/
3187        aaaaaaaaaa
3188        *** Failers
3189        aaaaaaaaa
3190        aaaaaaaaaaa
3191    
3192    /(?:(f)(o)(o)|(b)(a)(r))*/
3193        foobar
3194    
3195    /(?<=a)b/
3196        ab
3197        *** Failers
3198        cb
3199        b
3200    
3201    /(?<!c)b/
3202        ab
3203        b
3204        b
3205    
3206    /(?:..)*a/
3207        aba
3208    
3209    /(?:..)*?a/
3210        aba
3211    
3212    /^(?:b|a(?=(.)))*\1/
3213        abc
3214    
3215    /^(){3,5}/
3216        abc
3217    
3218    /^(a+)*ax/
3219        aax
3220    
3221    /^((a|b)+)*ax/
3222        aax
3223    
3224    /^((a|bc)+)*ax/
3225        aax
3226    
3227    /(a|x)*ab/
3228        cab
3229    
3230    /(a)*ab/
3231        cab
3232    
3233    /(?:(?i)a)b/
3234        ab
3235    
3236    /((?i)a)b/
3237        ab
3238    
3239    /(?:(?i)a)b/
3240        Ab
3241    
3242    /((?i)a)b/
3243        Ab
3244    
3245    /(?:(?i)a)b/
3246        *** Failers
3247        cb
3248        aB
3249    
3250    /((?i)a)b/
3251    
3252    /(?i:a)b/
3253        ab
3254    
3255    /((?i:a))b/
3256        ab
3257    
3258    /(?i:a)b/
3259        Ab
3260    
3261    /((?i:a))b/
3262        Ab
3263    
3264    /(?i:a)b/
3265        *** Failers
3266        aB
3267        aB
3268    
3269    /((?i:a))b/
3270    
3271    /(?:(?-i)a)b/i
3272        ab
3273    
3274    /((?-i)a)b/i
3275        ab
3276    
3277    /(?:(?-i)a)b/i
3278        aB
3279    
3280    /((?-i)a)b/i
3281        aB
3282    
3283    /(?:(?-i)a)b/i
3284        *** Failers
3285        aB
3286        Ab
3287    
3288    /((?-i)a)b/i
3289    
3290    /(?:(?-i)a)b/i
3291        aB
3292    
3293    /((?-i)a)b/i
3294        aB
3295    
3296    /(?:(?-i)a)b/i
3297        *** Failers
3298        Ab
3299        AB
3300    
3301    /((?-i)a)b/i
3302    
3303    /(?-i:a)b/i
3304        ab
3305    
3306    /((?-i:a))b/i
3307        ab
3308    
3309    /(?-i:a)b/i
3310        aB
3311    
3312    /((?-i:a))b/i
3313        aB
3314    
3315    /(?-i:a)b/i
3316        *** Failers
3317        AB
3318        Ab
3319    
3320    /((?-i:a))b/i
3321    
3322    /(?-i:a)b/i
3323        aB
3324    
3325    /((?-i:a))b/i
3326        aB
3327    
3328    /(?-i:a)b/i
3329        *** Failers
3330        Ab
3331        AB
3332    
3333    /((?-i:a))b/i
3334    
3335    /((?-i:a.))b/i
3336        *** Failers
3337        AB
3338        a\nB
3339    
3340    /((?s-i:a.))b/i
3341        a\nB
3342    
3343    /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
3344        cabbbb
3345    
3346    /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
3347        caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
3348    
3349    /(ab)\d\1/i
3350        Ab4ab
3351        ab4Ab
3352    
3353    /foo\w*\d{4}baz/
3354        foobar1234baz
3355    
3356    /x(~~)*(?:(?:F)?)?/
3357        x~~
3358    
3359    /^a(?#xxx){3}c/
3360        aaac
3361    
3362    /^a (?#xxx) (?#yyy) {3}c/x
3363        aaac
3364    
3365    /(?<![cd])b/
3366        *** Failers
3367        B\nB
3368        dbcb
3369    
3370    /(?<![cd])[ab]/
3371        dbaacb
3372    
3373    /(?<!(c|d))b/
3374    
3375    /(?<!(c|d))[ab]/
3376        dbaacb
3377    
3378    /(?<!cd)[ab]/
3379        cdaccb
3380    
3381    /^(?:a?b?)*$/
3382        \
3383        a
3384        ab
3385        aaa
3386        *** Failers
3387        dbcb
3388        a--
3389        aa--
3390    
3391    /((?s)^a(.))((?m)^b$)/
3392        a\nb\nc\n
3393    
3394    /((?m)^b$)/
3395        a\nb\nc\n
3396    
3397    /(?m)^b/
3398        a\nb\n
3399    
3400    /(?m)^(b)/
3401        a\nb\n
3402    
3403    /((?m)^b)/
3404        a\nb\n
3405    
3406    /\n((?m)^b)/
3407        a\nb\n
3408    
3409    /((?s).)c(?!.)/
3410        a\nb\nc\n
3411        a\nb\nc\n
3412    
3413    /((?s)b.)c(?!.)/
3414        a\nb\nc\n
3415        a\nb\nc\n
3416    
3417    /^b/
3418    
3419    /()^b/
3420        *** Failers
3421        a\nb\nc\n
3422        a\nb\nc\n
3423    
3424    /((?m)^b)/
3425        a\nb\nc\n
3426    
3427    /(x)?(?(1)a|b)/
3428        *** Failers
3429        a
3430        a
3431    
3432    /(x)?(?(1)b|a)/
3433        a
3434    
3435    /()?(?(1)b|a)/
3436        a
3437    
3438    /()(?(1)b|a)/
3439    
3440    /()?(?(1)a|b)/
3441        a
3442    
3443    /^(\()?blah(?(1)(\)))$/
3444        (blah)
3445        blah
3446        *** Failers
3447        a
3448        blah)
3449        (blah
3450    
3451    /^(\(+)?blah(?(1)(\)))$/
3452        (blah)
3453        blah
3454        *** Failers
3455        blah)
3456        (blah
3457    
3458    /(?(?!a)a|b)/
3459    
3460    /(?(?!a)b|a)/
3461        a
3462    
3463    /(?(?=a)b|a)/
3464        *** Failers
3465        a
3466        a
3467    
3468    /(?(?=a)a|b)/
3469        a
3470    
3471    /(?=(a+?))(\1ab)/
3472        aaab
3473    
3474    /^(?=(a+?))\1ab/
3475    
3476    /(\w+:)+/
3477        one:
3478    
3479    /$(?<=^(a))/
3480        a
3481    
3482    /(?=(a+?))(\1ab)/
3483        aaab
3484    
3485    /^(?=(a+?))\1ab/
3486        *** Failers
3487        aaab
3488        aaab
3489    
3490    /([\w:]+::)?(\w+)$/
3491        abcd
3492        xy:z:::abcd
3493    
3494    /^[^bcd]*(c+)/
3495        aexycd
3496    
3497    /(a*)b+/
3498        caab
3499    
3500    /([\w:]+::)?(\w+)$/
3501        abcd
3502        xy:z:::abcd
3503        *** Failers
3504        abcd:
3505        abcd:
3506    
3507    /^[^bcd]*(c+)/
3508        aexycd
3509    
3510    /(>a+)ab/
3511    
3512    /(?>a+)b/
3513        aaab
3514    
3515    /([[:]+)/
3516        a:[b]:
3517    
3518    /([[=]+)/
3519        a=[b]=
3520    
3521    /([[.]+)/
3522        a.[b].
3523    
3524    /((?>a+)b)/
3525        aaab
3526    
3527    /(?>(a+))b/
3528        aaab
3529    
3530    /((?>[^()]+)|\([^()]*\))+/
3531        ((abc(ade)ufh()()x
3532    
3533    /a\Z/
3534        *** Failers
3535        aaab
3536        a\nb\n
3537    
3538    /b\Z/
3539        a\nb\n
3540    
3541    /b\z/
3542    
3543    /b\Z/
3544        a\nb
3545    
3546    /b\z/
3547        a\nb
3548        *** Failers
3549    
3550    /^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/
3551        a
3552        abc
3553        a-b
3554        0-9
3555        a.b
3556        5.6.7
3557        the.quick.brown.fox
3558        a100.b200.300c
3559        12-ab.1245
3560        *** Failers
3561        \
3562        .a
3563        -a
3564        a-
3565        a.
3566        a_b
3567        a.-
3568        a..
3569        ab..bc
3570        the.quick.brown.fox-
3571        the.quick.brown.fox.
3572        the.quick.brown.fox_
3573        the.quick.brown.fox+
3574    
3575    /(?>.*)(?<=(abcd|wxyz))/
3576        alphabetabcd
3577        endingwxyz
3578        *** Failers
3579        a rather long string that doesn't end with one of them
3580    
3581    /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
3582        word cat dog elephant mussel cow horse canary baboon snake shark otherword
3583        word cat dog elephant mussel cow horse canary baboon snake shark
3584    
3585    /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
3586        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
3587    
3588    /(?<=\d{3}(?!999))foo/
3589        999foo
3590        123999foo
3591        *** Failers
3592        123abcfoo
3593    
3594    /(?<=(?!...999)\d{3})foo/
3595        999foo
3596        123999foo
3597        *** Failers
3598        123abcfoo
3599    
3600    /(?<=\d{3}(?!999)...)foo/
3601        123abcfoo
3602        123456foo
3603        *** Failers
3604        123999foo
3605    
3606    /(?<=\d{3}...)(?<!999)foo/
3607        123abcfoo
3608        123456foo
3609        *** Failers
3610        123999foo
3611    
3612    /<a[\s]+href[\s]*=[\s]*          # find <a href=
3613     ([\"\'])?                       # find single or double quote
3614     (?(1) (.*?)\1 | ([^\s]+))       # if quote found, match up to next matching
3615                                     # quote, otherwise match up to next space
3616    /isx
3617        <a href=abcd xyz
3618        <a href=\"abcd xyz pqr\" cats
3619        <a href=\'abcd xyz pqr\' cats
3620    
3621    /<a\s+href\s*=\s*                # find <a href=
3622     (["'])?                         # find single or double quote
3623     (?(1) (.*?)\1 | (\S+))          # if quote found, match up to next matching
3624                                     # quote, otherwise match up to next space
3625    /isx
3626        <a href=abcd xyz
3627        <a href=\"abcd xyz pqr\" cats
3628        <a href       =       \'abcd xyz pqr\' cats
3629    
3630    /<a\s+href(?>\s*)=(?>\s*)        # find <a href=
3631     (["'])?                         # find single or double quote
3632     (?(1) (.*?)\1 | (\S+))          # if quote found, match up to next matching
3633                                     # quote, otherwise match up to next space
3634    /isx
3635        <a href=abcd xyz
3636        <a href=\"abcd xyz pqr\" cats
3637        <a href       =       \'abcd xyz pqr\' cats
3638    
3639    /((Z)+|A)*/
3640        ZABCDEFG
3641    
3642    /(Z()|A)*/
3643        ZABCDEFG
3644    
3645    /(Z(())|A)*/
3646        ZABCDEFG
3647    
3648    /((?>Z)+|A)*/
3649        ZABCDEFG
3650    
3651    /((?>)+|A)*/
3652        ZABCDEFG
3653    
3654    /a*/g
3655        abbab
3656    
3657    /^[a-\d]/
3658        abcde
3659        -things
3660        0digit
3661        *** Failers
3662        bcdef
3663    
3664    /^[\d-a]/
3665        abcde
3666        -things
3667        0digit
3668        *** Failers
3669        bcdef
3670    
3671    /[[:space:]]+/
3672        > \x09\x0a\x0c\x0d\x0b<
3673    
3674    /[[:blank:]]+/
3675        > \x09\x0a\x0c\x0d\x0b<
3676    
3677    /[\s]+/
3678        > \x09\x0a\x0c\x0d\x0b<
3679    
3680    /\s+/
3681        > \x09\x0a\x0c\x0d\x0b<
3682    
3683    /a b/x
3684        ab
3685    
3686    /(?!\A)x/m
3687      a\nxb\n
3688    
3689    /(?!^)x/m
3690      a\nxb\n
3691    
3692    /abc\Qabc\Eabc/
3693        abcabcabc
3694    
3695    /abc\Q(*+|\Eabc/
3696        abc(*+|abc
3697    
3698    /   abc\Q abc\Eabc/x
3699        abc abcabc
3700        *** Failers
3701        abcabcabc
3702    
3703    /abc#comment
3704        \Q#not comment
3705        literal\E/x
3706        abc#not comment\n    literal
3707    
3708    /abc#comment
3709        \Q#not comment
3710        literal/x
3711        abc#not comment\n    literal
3712    
3713    /abc#comment
3714        \Q#not comment
3715        literal\E #more comment
3716        /x
3717        abc#not comment\n    literal
3718    
3719    /abc#comment
3720        \Q#not comment
3721        literal\E #more comment/x
3722        abc#not comment\n    literal
3723    
3724    /\Qabc\$xyz\E/
3725        abc\\\$xyz
3726    
3727    /\Qabc\E\$\Qxyz\E/
3728        abc\$xyz
3729    
3730    /\Gabc/
3731        abc
3732        *** Failers
3733        xyzabc
3734    
3735    /\Gabc./g
3736        abc1abc2xyzabc3
3737    
3738    /abc./g
3739        abc1abc2xyzabc3
3740    
3741    /a(?x: b c )d/
3742        XabcdY
3743        *** Failers
3744        Xa b c d Y
3745    
3746    /((?x)x y z | a b c)/
3747        XabcY
3748        AxyzB
3749    
3750    /(?i)AB(?-i)C/
3751        XabCY
3752        *** Failers
3753        XabcY
3754    
3755    /((?i)AB(?-i)C|D)E/
3756        abCE
3757        DE
3758        *** Failers
3759        abcE
3760        abCe
3761        dE
3762        De
3763    
3764    /(.*)\d+\1/
3765        abc123abc
3766        abc123bc
3767    
3768    /(.*)\d+\1/s
3769        abc123abc
3770        abc123bc
3771    
3772    /((.*))\d+\1/
3773        abc123abc
3774        abc123bc
3775    
3776    /-- This tests for an IPv6 address in the form where it can have up to --/
3777    /-- eight components, one and only one of which is empty. This must be --/
3778    /-- an internal component. --/
3779    
3780    /^(?!:)                       # colon disallowed at start
3781      (?:                         # start of item
3782        (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
3783        (?(1)0 | () ) )           # if null previously matched, fail; else null
3784        :                         # followed by colon
3785      ){1,7}                      # end item; 1-7 of them required
3786      [0-9a-f]{1,4} $             # final hex number at end of string
3787      (?(1)|.)                    # check that there was an empty component
3788      /xi
3789        a123::a123
3790        a123:b342::abcd
3791        a123:b342::324e:abcd
3792        a123:ddde:b342::324e:abcd
3793        a123:ddde:b342::324e:dcba:abcd
3794        a123:ddde:9999:b342::324e:dcba:abcd
3795        *** Failers
3796        1:2:3:4:5:6:7:8
3797        a123:bce:ddde:9999:b342::324e:dcba:abcd
3798        a123::9999:b342::324e:dcba:abcd
3799        abcde:2:3:4:5:6:7:8
3800        ::1
3801        abcd:fee0:123::
3802        :1
3803        1:
3804    
3805    /[z\Qa-d]\E]/
3806        z
3807        a
3808        -
3809        d
3810        ]
3811        *** Failers
3812        b
3813    
3814    /[\z\C]/
3815        z
3816        C
3817    
3818    /\M/
3819        M
3820    
3821    /(a+)*b/
3822        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3823    
3824    /(?i)reg(?:ul(?:[a]|ae)r|ex)/
3825        REGular
3826        regulaer
3827        Regex
3828        regulr
3829    
3830    /[--]+/
3831        
3832        
3833        
3834        
3835    
3836    /(?<=Z)X./
3837      \x84XAZXB
3838    
3839    /ab cd (?x) de fg/
3840        ab cd defg
3841    
3842    /ab cd(?x) de fg/
3843        ab cddefg
3844        ** Failers
3845        abcddefg
3846    
3847    /(?<![^f]oo)(bar)/
3848        foobarX
3849        ** Failers
3850        boobarX
3851    
3852    /(?<![^f])X/
3853        offX
3854        ** Failers
3855        onyX
3856    
3857    /(?<=[^f])X/
3858        onyX
3859        ** Failers
3860        offX
3861    
3862    /^/mg
3863        a\nb\nc\n
3864        \
3865    
3866    /(?<=C\n)^/mg
3867        A\nC\nC\n
3868    
3869    /(?:(?(1)a|b)(X))+/
3870        bXaX
3871    
3872    /(?:(?(1)\1a|b)(X|Y))+/
3873        bXXaYYaY
3874        bXYaXXaX
3875    
3876    /()()()()()()()()()(?:(?(10)\10a|b)(X|Y))+/
3877        bXXaYYaY
3878    
3879    /[[,abc,]+]/
3880        abc]
3881        a,b]
3882        [a,b,c]
3883    
3884    /(?-x: )/x
3885        A\x20B
3886    
3887    "(?x)(?-x: \s*#\s*)"
3888        A # B
3889        ** Failers
3890        #
3891    
3892    "(?x-is)(?:(?-ixs) \s*#\s*) include"
3893        A #include
3894        ** Failers
3895        A#include
3896        A #Include
3897    
3898    /a*b*\w/
3899        aaabbbb
3900        aaaa
3901        a
3902    
3903    /a*b?\w/
3904        aaabbbb
3905        aaaa
3906        a
3907    
3908    /a*b{0,4}\w/
3909        aaabbbb
3910        aaaa
3911        a
3912    
3913    /a*b{0,}\w/
3914        aaabbbb
3915        aaaa
3916        a
3917    
3918    /a*\d*\w/
3919        0a
3920        a
3921    
3922    /a*b *\w/x
3923        a
3924    
3925    /a*b#comment
3926      *\w/x
3927        a
3928    
3929    /a* b *\w/x
3930        a
3931    
3932    /^\w+=.*(\\\n.*)*/
3933        abc=xyz\\\npqr
3934    
3935    /(?=(\w+))\1:/
3936        abcd:
3937    
3938    /^(?=(\w+))\1:/
3939        abcd:
3940    
3941    /^\Eabc/
3942        abc
3943    
3944    /^[\Eabc]/
3945        a
3946        ** Failers
3947        E
3948    
3949    /^[a-\Ec]/
3950        b
3951        ** Failers
3952        -
3953        E
3954    
3955    /^[a\E\E-\Ec]/
3956        b
3957        ** Failers
3958        -
3959        E
3960    
3961    /^[\E\Qa\E-\Qz\E]+/
3962        b
3963        ** Failers
3964        -
3965    
3966    /^[a\Q]bc\E]/
3967        a
3968        ]
3969        c
3970    
3971    /^[a-\Q\E]/
3972        a
3973        -
3974    
3975    /^(a()*)*/
3976        aaaa
3977    
3978    /^(?:a(?:(?:))*)*/
3979        aaaa
3980    
3981    /^(a()+)+/
3982        aaaa
3983    
3984    /^(?:a(?:(?:))+)+/
3985        aaaa
3986    
3987    /(a){0,3}(?(1)b|(c|))*D/
3988        abbD
3989        ccccD
3990        D
3991    
3992    /(a|)*\d/
3993      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3994      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
3995    
3996    /(?>a|)*\d/
3997      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3998      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
3999    
4000    /(?:a|)*\d/
4001      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4002      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
4003    
4004    /\Z/g
4005      abc\n
4006    
4007    /^(?s)(?>.*)(?<!\n)/
4008      abc
4009      abc\n
4010    
4011    /^(?![^\n]*\n\z)/
4012      abc
4013      abc\n
4014    
4015    /\z(?<!\n)/
4016      abc
4017      abc\n
4018    
4019    /(.*(.)?)*/
4020        abcd
4021    
4022    /( (A | (?(1)0|) )*   )/x
4023        abcd
4024    
4025    /( ( (?(1)0|) )*   )/x
4026        abcd
4027    
4028    /(  (?(1)0|)*   )/x
4029        abcd
4030    
4031    /[[:abcd:xyz]]/
4032        a]
4033        :]
4034    
4035    /[abc[:x\]pqr]/
4036        a
4037        [
4038        :
4039        ]
4040        p
4041    
4042    /.*[op][xyz]/
4043        fooabcfoo
4044    
4045    /(?(?=.*b)b|^)/
4046       adc
4047       abc
4048    
4049    /(?(?=^.*b)b|^)/
4050       adc
4051       abc
4052    
4053    /(?(?=.*b)b|^)*/
4054       adc
4055       abc
4056    
4057    /(?(?=.*b)b|^)+/
4058       adc
4059       abc
4060    
4061    /(?(?=b).*b|^d)/
4062        abc
4063    
4064    /(?(?=.*b).*b|^d)/
4065        abc
4066    
4067    /^%((?(?=[a])[^%])|b)*%$/
4068        %ab%
4069    
4070    /(?i)a(?-i)b|c/
4071        XabX
4072        XAbX
4073        CcC
4074        ** Failers
4075        XABX
4076    
4077    /-- End of testinput1 --/

Legend:
Removed from v.55  
changed lines
  Added in v.472

  ViewVC Help
Powered by ViewVC 1.1.5