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

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

  ViewVC Help
Powered by ViewVC 1.1.5