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

Diff of /code/trunk/testdata/testinput2

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

revision 162 by ph10, Thu May 3 10:47:48 2007 UTC revision 453 by ph10, Fri Sep 18 19:12:35 2009 UTC
# Line 1  Line 1 
1    /-- This set of tests is not Perl-compatible. It checks on special features
2        of PCRE's API, error diagnostics, and the compiled code of some patterns.
3        It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4        Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5        either because PCRE can't be compatible, or there is potential Perl
6        bug. --/
7    
8    /-- Originally, the Perl 5.10 things were in here too, but now I have separated
9        many (most?) of them out into test 11. However, there may still be some
10        that were overlooked. --/
11    
12  /(a)b|/I  /(a)b|/I
13    
14  /abc/I  /abc/I
# Line 28  Line 39 
39      *** Failers      *** Failers
40      def\nabc      def\nabc
41    
42  /ab\hdef/X  /ab\idef/X
43    
44  /(?X)ab\hdef/X  /(?X)ab\idef/X
45    
46  /x{5,4}/  /x{5,4}/
47    
# Line 123  Line 134 
134      defabc      defabc
135      \Zdefabc      \Zdefabc
136    
137  /abc/IP  /abc/P
138      abc      abc
139      *** Failers      *** Failers
140    
141  /^abc|def/IP  /^abc|def/P
142      abcdef      abcdef
143      abcdef\B      abcdef\B
144    
145  /.*((abc)$|(def))/IP  /.*((abc)$|(def))/P
146      defabc      defabc
147      \Zdefabc      \Zdefabc
148    
149  /the quick brown fox/IP  /the quick brown fox/P
150      the quick brown fox      the quick brown fox
151      *** Failers      *** Failers
152      The Quick Brown Fox      The Quick Brown Fox
153    
154  /the quick brown fox/IPi  /the quick brown fox/Pi
155      the quick brown fox      the quick brown fox
156      The Quick Brown Fox      The Quick Brown Fox
157    
158  /abc.def/IP  /abc.def/P
159      *** Failers      *** Failers
160      abc\ndef      abc\ndef
161    
162  /abc$/IP  /abc$/P
163      abc      abc
164      abc\n      abc\n
165    
166  /(abc)\2/IP  /(abc)\2/P
167    
168  /(abc\1)/IP  /(abc\1)/P
169      abc      abc
170    
171  /)/  /)/
# Line 398  Line 409 
409    
410  /(?(1?)a|b)/  /(?(1?)a|b)/
411    
 /(?(1)a|b|c)/  
   
412  /[a[:xyz:/  /[a[:xyz:/
413    
414  /(?<=x+)y/  /(?<=x+)y/
# Line 568  Line 577 
577    
578  /ab\d+/I  /ab\d+/I
579    
580  /a(?(1)b)/I  /a(?(1)b)(.)/I
581    
582  /a(?(1)bag|big)/I  /a(?(1)bag|big)(.)/I
583    
584  /a(?(1)bag|big)*/I  /a(?(1)bag|big)*(.)/I
585    
586  /a(?(1)bag|big)+/I  /a(?(1)bag|big)+(.)/I
587    
588  /a(?(1)b..|b..)/I  /a(?(1)b..|b..)(.)/I
589    
590  /ab\d{0}e/I  /ab\d{0}e/I
591    
# Line 595  Line 604 
604      *** Failers      *** Failers
605      \Nabc      \Nabc
606    
607  /a*(b+)(z)(z)/IP  /a*(b+)(z)(z)/P
608      aaaabbbbzzzz      aaaabbbbzzzz
609      aaaabbbbzzzz\O0      aaaabbbbzzzz\O0
610      aaaabbbbzzzz\O1      aaaabbbbzzzz\O1
# Line 977  Line 986 
986    
987  /()a/I  /()a/I
988    
989  /(?(1)ab|ac)/I  /(?(1)ab|ac)(.)/I
990    
991  /(?(1)abz|acz)/I  /(?(1)abz|acz)(.)/I
992    
993  /(?(1)abz)/I  /(?(1)abz)(.)/I
994    
995  /(?(1)abz)123/I  /(?(1)abz)(1)23/I
996    
997  /(a)+/I  /(a)+/I
998    
# Line 1124  Line 1133 
1133    
1134  /(a(?1)+b)/DZ  /(a(?1)+b)/DZ
1135    
 /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii  
     1221  
     Satan, oscillate my metallic sonatas!  
     A man, a plan, a canal: Panama!  
     Able was I ere I saw Elba.  
     *** Failers  
     The quick brown fox  
   
1136  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
1137      12      12
1138      (((2+2)*-3)-7)      (((2+2)*-3)-7)
# Line 1421  Line 1422 
1422      ** Failers      ** Failers
1423      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
1424    
1425  /ab.cd/IP  /ab.cd/P
1426      ab-cd      ab-cd
1427      ab=cd      ab=cd
1428      ** Failers      ** Failers
1429      ab\ncd      ab\ncd
1430    
1431  /ab.cd/IPs  /ab.cd/Ps
1432      ab-cd      ab-cd
1433      ab=cd      ab=cd
1434      ab\ncd      ab\ncd
# Line 1482  Line 1483 
1483      (this)      (this)
1484      ((this))      ((this))
1485    
1486  /a(b)c/IPN  /a(b)c/PN
1487      abc      abc
1488    
1489  /a(?P<name>b)c/IPN  /a(?P<name>b)c/PN
1490      abc      abc
1491    
1492  /\x{100}/I  /\x{100}/I
# Line 1917  a random value. /Ix Line 1918  a random value. /Ix
1918  /(?=(?'abc'\w+))\k<abc>:/I  /(?=(?'abc'\w+))\k<abc>:/I
1919      abcd:      abcd:
1920    
 /(?'abc'\w+):\k<abc>{2}/  
     a:aaxyz  
     ab:ababxyz  
     ** Failers  
     a:axyz  
     ab:abxyz  
   
1921  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
1922      adaa      adaa
1923      ** Failers      ** Failers
# Line 1936  a random value. /Ix Line 1930  a random value. /Ix
1930      ** Failers      ** Failers
1931      bddd      bddd
1932    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
     ce  
   
1933  /(?(<bc))/  /(?(<bc))/
1934    
1935  /(?(''))/  /(?(''))/
# Line 1957  a random value. /Ix Line 1947  a random value. /Ix
1947  /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x  /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X  |  (?1)  (?2)   (?R) ))) /x
1948      abcabc1Xabc2XabcXabcabc      abcabc1Xabc2XabcXabcabc
1949    
 /^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) /x  
     abcd  
   
 /(?<NAME>(?&NAME_PAT))\s+(?<ADDR>(?&ADDRESS_PAT))  
   (?(DEFINE)  
   (?<NAME_PAT>[a-z]+)  
   (?<ADDRESS_PAT>\d+)  
   )/x  
     metcalfe 33  
   
1950  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
1951    
1952  /(?(DEFINE) abc) xyz/xI  /(?(DEFINE) abc) xyz/xI
# Line 1990  a random value. /Ix Line 1970  a random value. /Ix
1970      a\rb\<anycrlf>      a\rb\<anycrlf>
1971    
1972  /^abc./mgx<any>  /^abc./mgx<any>
1973      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
1974    
1975  /abc.$/mgx<any>  /abc.$/mgx<any>
1976      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
1977    
1978  /a/<cr><any>  /a/<cr><any>
1979    
1980  /a/<any><crlf>  /a/<any><crlf>
1981    
1982  /^a\Rb/  /^a\Rb/<bsr_unicode>
1983      a\nb      a\nb
1984      a\rb      a\rb
1985      a\r\nb      a\r\nb
# Line 2009  a random value. /Ix Line 1989  a random value. /Ix
1989      ** Failers      ** Failers
1990      a\n\rb      a\n\rb
1991    
1992  /^a\R*b/  /^a\R*b/<bsr_unicode>
1993      ab      ab
1994      a\nb      a\nb
1995      a\rb      a\rb
# Line 2020  a random value. /Ix Line 2000  a random value. /Ix
2000      a\n\rb      a\n\rb
2001      a\n\r\x85\x0cb      a\n\r\x85\x0cb
2002    
2003  /^a\R+b/  /^a\R+b/<bsr_unicode>
2004      a\nb      a\nb
2005      a\rb      a\rb
2006      a\r\nb      a\r\nb
# Line 2032  a random value. /Ix Line 2012  a random value. /Ix
2012      ** Failers      ** Failers
2013      ab      ab
2014    
2015  /^a\R{1,3}b/  /^a\R{1,3}b/<bsr_unicode>
2016      a\nb      a\nb
2017      a\n\rb      a\n\rb
2018      a\n\r\x85b      a\n\r\x85b
# Line 2044  a random value. /Ix Line 2024  a random value. /Ix
2024      a\n\n\n\rb      a\n\n\n\rb
2025      a\r      a\r
2026    
2027  /^a[\R]b/  /^a[\R]b/<bsr_unicode>
2028      aRb      aRb
2029      ** Failers      ** Failers
2030      a\nb      a\nb
# Line 2055  a random value. /Ix Line 2035  a random value. /Ix
2035  /(?1)X(?<abc>P)/I  /(?1)X(?<abc>P)/I
2036      abcPXP123      abcPXP123
2037    
 /(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))\b(?&byte)(\.(?&byte)){3}/  
     1.2.3.4  
     131.111.10.206  
     10.0.0.0  
     ** Failers  
     10.6  
     455.3.4.5  
   
 /\b(?&byte)(\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\d|25[0-5]|1\d\d|[1-9]?\d))/  
     1.2.3.4  
     131.111.10.206  
     10.0.0.0  
     ** Failers  
     10.6  
     455.3.4.5  
   
2038  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
2039      123axbaxbaxbx456      123axbaxbaxbx456
2040      123axbaxbaxb456      123axbaxbaxb456
# Line 2092  a random value. /Ix Line 2056  a random value. /Ix
2056     defabcabcxyz     defabcabcxyz
2057     DEFabcABCXYZ     DEFabcABCXYZ
2058    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
   
2059  /^(a)\g-2/  /^(a)\g-2/
2060    
2061  /^(a)\g/  /^(a)\g/
# Line 2149  a random value. /Ix Line 2110  a random value. /Ix
2110      abc\r\n\r\n      abc\r\n\r\n
2111    
2112  /abc.$/mgx<anycrlf>  /abc.$/mgx<anycrlf>
2113      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9      abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
2114    
2115  /^X/m  /^X/m
2116      XABC      XABC
2117      ** Failers      ** Failers
2118      XABC\B      XABC\B
2119    
2120  / End of testinput2 /  /(ab|c)(?-1)/BZ
2121        abc
2122    
2123    /xy(?+1)(abc)/BZ
2124        xyabcabc
2125        ** Failers
2126        xyabc
2127    
2128    /x(?-0)y/
2129    
2130    /x(?-1)y/
2131    
2132    /x(?+0)y/
2133    
2134    /x(?+1)y/
2135    
2136    /^(abc)?(?(-1)X|Y)/BZ
2137        abcX
2138        Y
2139        ** Failers
2140        abcY
2141    
2142    /^((?(+1)X|Y)(abc))+/BZ
2143        YabcXabc
2144        YabcXabcXabc
2145        ** Failers
2146        XabcXabc
2147    
2148    /(?(-1)a)/BZ
2149    
2150    /((?(-1)a))/BZ
2151    
2152    /((?(-2)a))/BZ
2153    
2154    /^(?(+1)X|Y)(.)/BZ
2155        Y!
2156    
2157    /(?<A>tom|bon)-\k{A}/
2158        tom-tom
2159        bon-bon
2160        ** Failers
2161        tom-bon
2162    
2163    /\g{A/
2164    
2165    /(?|(abc)|(xyz))/BZ
2166       >abc<
2167       >xyz<
2168    
2169    /(x)(?|(abc)|(xyz))(x)/BZ
2170        xabcx
2171        xxyzx
2172    
2173    /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
2174        xabcpqrx
2175        xxyzx
2176    
2177    /[\h]/BZ
2178        >\x09<
2179    
2180    /[\h]+/BZ
2181        >\x09\x20\xa0<
2182    
2183    /[\v]/BZ
2184    
2185    /[\H]/BZ
2186    
2187    /[^\h]/BZ
2188    
2189    /[\V]/BZ
2190    
2191    /[\x0a\V]/BZ
2192    
2193    /\H++X/BZ
2194        ** Failers
2195        XXXX
2196    
2197    /\H+\hY/BZ
2198        XXXX Y
2199    
2200    /\H+ Y/BZ
2201    
2202    /\h+A/BZ
2203    
2204    /\v*B/BZ
2205    
2206    /\V+\x0a/BZ
2207    
2208    /A+\h/BZ
2209    
2210    / *\H/BZ
2211    
2212    /A*\v/BZ
2213    
2214    /\x0b*\V/BZ
2215    
2216    /\d+\h/BZ
2217    
2218    /\d*\v/BZ
2219    
2220    /S+\h\S+\v/BZ
2221    
2222    /\w{3,}\h\w+\v/BZ
2223    
2224    /\h+\d\h+\w\h+\S\h+\H/BZ
2225    
2226    /\v+\d\v+\w\v+\S\v+\V/BZ
2227    
2228    /\H+\h\H+\d/BZ
2229    
2230    /\V+\v\V+\w/BZ
2231    
2232    /\( (?: [^()]* | (?R) )* \)/x
2233    (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
2234    
2235    /[\E]AAA/
2236    
2237    /[\Q\E]AAA/
2238    
2239    /[^\E]AAA/
2240    
2241    /[^\Q\E]AAA/
2242    
2243    /[\E^]AAA/
2244    
2245    /[\Q\E^]AAA/
2246    
2247    /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
2248    
2249    /^a+(*FAIL)/C
2250        aaaaaa
2251    
2252    /a+b?c+(*FAIL)/C
2253        aaabccc
2254    
2255    /a+b?(*PRUNE)c+(*FAIL)/C
2256        aaabccc
2257    
2258    /a+b?(*COMMIT)c+(*FAIL)/C
2259        aaabccc
2260    
2261    /a+b?(*SKIP)c+(*FAIL)/C
2262        aaabcccaaabccc
2263    
2264    /a+b?(*THEN)c+(*FAIL)/C
2265        aaabccc
2266    
2267    /a(*PRUNE:XXX)b/
2268    
2269    /a(*MARK)b/
2270    
2271    /(?i:A{1,}\6666666666)/
2272    
2273    /\g6666666666/
2274    
2275    /[\g6666666666]/
2276    
2277    /(?1)\c[/
2278    
2279    /.+A/<crlf>
2280        \r\nA
2281    
2282    /\nA/<crlf>
2283        \r\nA
2284    
2285    /[\r\n]A/<crlf>
2286        \r\nA
2287    
2288    /(\r|\n)A/<crlf>
2289        \r\nA
2290    
2291    /a(*CR)b/
2292    
2293    /(*CR)a.b/
2294        a\nb
2295        ** Failers
2296        a\rb
2297    
2298    /(*CR)a.b/<lf>
2299        a\nb
2300        ** Failers
2301        a\rb
2302    
2303    /(*LF)a.b/<CRLF>
2304        a\rb
2305        ** Failers
2306        a\nb
2307    
2308    /(*CRLF)a.b/
2309        a\rb
2310        a\nb
2311        ** Failers
2312        a\r\nb
2313    
2314    /(*ANYCRLF)a.b/<CR>
2315        ** Failers
2316        a\rb
2317        a\nb
2318        a\r\nb
2319    
2320    /(*ANY)a.b/<cr>
2321        ** Failers
2322        a\rb
2323        a\nb
2324        a\r\nb
2325        a\x85b
2326    
2327    /a\Rb/I<bsr_anycrlf>
2328        a\rb
2329        a\nb
2330        a\r\nb
2331        ** Failers
2332        a\x85b
2333        a\x0bb
2334    
2335    /a\Rb/I<bsr_unicode>
2336        a\rb
2337        a\nb
2338        a\r\nb
2339        a\x85b
2340        a\x0bb
2341        ** Failers
2342        a\x85b\<bsr_anycrlf>
2343        a\x0bb\<bsr_anycrlf>
2344    
2345    /a\R?b/I<bsr_anycrlf>
2346        a\rb
2347        a\nb
2348        a\r\nb
2349        ** Failers
2350        a\x85b
2351        a\x0bb
2352    
2353    /a\R?b/I<bsr_unicode>
2354        a\rb
2355        a\nb
2356        a\r\nb
2357        a\x85b
2358        a\x0bb
2359        ** Failers
2360        a\x85b\<bsr_anycrlf>
2361        a\x0bb\<bsr_anycrlf>
2362    
2363    /a\R{2,4}b/I<bsr_anycrlf>
2364        a\r\n\nb
2365        a\n\r\rb
2366        a\r\n\r\n\r\n\r\nb
2367        ** Failers
2368        a\x85\85b
2369        a\x0b\0bb
2370    
2371    /a\R{2,4}b/I<bsr_unicode>
2372        a\r\rb
2373        a\n\n\nb
2374        a\r\n\n\r\rb
2375        a\x85\85b
2376        a\x0b\0bb
2377        ** Failers
2378        a\r\r\r\r\rb
2379        a\x85\85b\<bsr_anycrlf>
2380        a\x0b\0bb\<bsr_anycrlf>
2381    
2382    /(*BSR_ANYCRLF)a\Rb/I
2383        a\nb
2384        a\rb
2385    
2386    /(*BSR_UNICODE)a\Rb/I
2387        a\x85b
2388    
2389    /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
2390        a\nb
2391        a\rb
2392    
2393    /(*CRLF)(*BSR_UNICODE)a\Rb/I
2394        a\x85b
2395    
2396    /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
2397    
2398    /(?<a>)(?&)/
2399    
2400    /(?<abc>)(?&a)/
2401    
2402    /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
2403    
2404    /(?+-a)/
2405    
2406    /(?-+a)/
2407    
2408    /(?(-1))/
2409    
2410    /(?(+10))/
2411    
2412    /(?(10))/
2413    
2414    /(?(+2))()()/
2415    
2416    /(?(2))()()/
2417    
2418    /\k''/
2419    
2420    /\k<>/
2421    
2422    /\k{}/
2423    
2424    /(?P=)/
2425    
2426    /(?P>)/
2427    
2428    /(?!\w)(?R)/
2429    
2430    /(?=\w)(?R)/
2431    
2432    /(?<!\w)(?R)/
2433    
2434    /(?<=\w)(?R)/
2435    
2436    /[[:foo:]]/
2437    
2438    /[[:1234:]]/
2439    
2440    /[[:f\oo:]]/
2441    
2442    /[[: :]]/
2443    
2444    /[[:...:]]/
2445    
2446    /[[:l\ower:]]/
2447    
2448    /[[:abc\:]]/
2449    
2450    /[abc[:x\]pqr:]]/
2451    
2452    /[[:a\dz:]]/
2453    
2454    /(^(a|b\g<-1'c))/
2455    
2456    /^(?+1)(?<a>x|y){0}z/
2457        xzxx
2458        yzyy
2459        ** Failers
2460        xxz
2461    
2462    /(\3)(\1)(a)/
2463        cat
2464    
2465    /(\3)(\1)(a)/<JS>
2466        cat
2467    
2468    /TA]/
2469        The ACTA] comes
2470    
2471    /TA]/<JS>
2472        The ACTA] comes
2473    
2474    /(?2)[]a()b](abc)/
2475        abcbabc
2476    
2477    /(?2)[^]a()b](abc)/
2478        abcbabc
2479    
2480    /(?1)[]a()b](abc)/
2481        abcbabc
2482        ** Failers
2483        abcXabc
2484    
2485    /(?1)[^]a()b](abc)/
2486        abcXabc
2487        ** Failers
2488        abcbabc
2489    
2490    /(?2)[]a()b](abc)(xyz)/
2491        xyzbabcxyz
2492    
2493    /(?&N)[]a(?<N>)](?<M>abc)/
2494       abc<abc
2495    
2496    /(?&N)[]a(?<N>)](abc)/
2497       abc<abc
2498    
2499    /a[]b/
2500    
2501    /a[^]b/
2502    
2503    /a[]b/<JS>
2504        ** Failers
2505        ab
2506    
2507    /a[]+b/<JS>
2508        ** Failers
2509        ab
2510    
2511    /a[]*+b/<JS>
2512        ** Failers
2513        ab
2514    
2515    /a[^]b/<JS>
2516        aXb
2517        a\nb
2518        ** Failers
2519        ab
2520    
2521    /a[^]+b/<JS>
2522        aXb
2523        a\nX\nXb
2524        ** Failers
2525        ab
2526    
2527    /a(?!)+b/
2528    
2529    /a(*FAIL)+b/
2530    
2531    /(abc|pqr|123){0}[xyz]/SI
2532    
2533    /(?(?=.*b)b|^)/CI
2534       adc
2535       abc
2536    
2537    /(?(?=b).*b|^d)/I
2538    
2539    /(?(?=.*b).*b|^d)/I
2540    
2541    /a?|b?/P
2542        abc
2543        ** Failers
2544        ddd\N
2545    
2546    /xyz/C
2547      xyz
2548      abcxyz
2549      abcxyz\Y
2550      ** Failers
2551      abc
2552      abc\Y
2553      abcxypqr
2554      abcxypqr\Y
2555    
2556    /^"((?(?=[a])[^"])|b)*"$/C
2557        "ab"
2558    
2559    /^"((?(?=[a])[^"])|b)*"$/
2560        "ab"
2561    
2562    /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
2563        XYabcdY
2564    
2565    /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
2566        XYabcdY
2567    
2568    /Xa{2,4}b/
2569        X\P
2570        Xa\P
2571        Xaa\P
2572        Xaaa\P
2573        Xaaaa\P
2574    
2575    /Xa{2,4}?b/
2576        X\P
2577        Xa\P
2578        Xaa\P
2579        Xaaa\P
2580        Xaaaa\P
2581    
2582    /Xa{2,4}+b/
2583        X\P
2584        Xa\P
2585        Xaa\P
2586        Xaaa\P
2587        Xaaaa\P
2588    
2589    /X\d{2,4}b/
2590        X\P
2591        X3\P
2592        X33\P
2593        X333\P
2594        X3333\P
2595    
2596    /X\d{2,4}?b/
2597        X\P
2598        X3\P
2599        X33\P
2600        X333\P
2601        X3333\P
2602    
2603    /X\d{2,4}+b/
2604        X\P
2605        X3\P
2606        X33\P
2607        X333\P
2608        X3333\P
2609    
2610    /X\D{2,4}b/
2611        X\P
2612        Xa\P
2613        Xaa\P
2614        Xaaa\P
2615        Xaaaa\P
2616    
2617    /X\D{2,4}?b/
2618        X\P
2619        Xa\P
2620        Xaa\P
2621        Xaaa\P
2622        Xaaaa\P
2623    
2624    /X\D{2,4}+b/
2625        X\P
2626        Xa\P
2627        Xaa\P
2628        Xaaa\P
2629        Xaaaa\P
2630    
2631    /X[abc]{2,4}b/
2632        X\P
2633        Xa\P
2634        Xaa\P
2635        Xaaa\P
2636        Xaaaa\P
2637    
2638    /X[abc]{2,4}?b/
2639        X\P
2640        Xa\P
2641        Xaa\P
2642        Xaaa\P
2643        Xaaaa\P
2644    
2645    /X[abc]{2,4}+b/
2646        X\P
2647        Xa\P
2648        Xaa\P
2649        Xaaa\P
2650        Xaaaa\P
2651    
2652    /X[^a]{2,4}b/
2653        X\P
2654        Xz\P
2655        Xzz\P
2656        Xzzz\P
2657        Xzzzz\P
2658    
2659    /X[^a]{2,4}?b/
2660        X\P
2661        Xz\P
2662        Xzz\P
2663        Xzzz\P
2664        Xzzzz\P
2665    
2666    /X[^a]{2,4}+b/
2667        X\P
2668        Xz\P
2669        Xzz\P
2670        Xzzz\P
2671        Xzzzz\P
2672    
2673    /(Y)X\1{2,4}b/
2674        YX\P
2675        YXY\P
2676        YXYY\P
2677        YXYYY\P
2678        YXYYYY\P
2679    
2680    /(Y)X\1{2,4}?b/
2681        YX\P
2682        YXY\P
2683        YXYY\P
2684        YXYYY\P
2685        YXYYYY\P
2686    
2687    /(Y)X\1{2,4}+b/
2688        YX\P
2689        YXY\P
2690        YXYY\P
2691        YXYYY\P
2692        YXYYYY\P
2693    
2694    /\++\KZ|\d+X|9+Y/
2695        ++++123999\P
2696        ++++123999Y\P
2697        ++++Z1234\P
2698    
2699    /Z(*F)/
2700        Z\P
2701        ZA\P
2702    
2703    /Z(?!)/
2704        Z\P
2705        ZA\P
2706    
2707    /dog(sbody)?/
2708        dogs\P
2709        dogs\P\P
2710    
2711    /dog(sbody)??/
2712        dogs\P
2713        dogs\P\P
2714    
2715    /dog|dogsbody/
2716        dogs\P
2717        dogs\P\P
2718    
2719    /dogsbody|dog/
2720        dogs\P
2721        dogs\P\P
2722    
2723    /\bthe cat\b/
2724        the cat\P
2725        the cat\P\P
2726    
2727    /abc/
2728       abc\P
2729       abc\P\P
2730    
2731    /\w+A/P
2732       CDAAAAB
2733    
2734    /\w+A/PU
2735       CDAAAAB
2736    
2737    /abc\K123/
2738        xyzabc123pqr
2739        xyzabc12\P
2740        xyzabc12\P\P
2741    
2742    /(?<=abc)123/
2743        xyzabc123pqr
2744        xyzabc12\P
2745        xyzabc12\P\P
2746    
2747    /\babc\b/
2748        +++abc+++
2749        +++ab\P
2750        +++ab\P\P
2751    
2752    /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
2753    
2754    /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
2755    
2756    /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
2757    
2758    /abc\K/+
2759        abcdef
2760        abcdef\N\N
2761        xyzabcdef\N\N
2762        ** Failers
2763        abcdef\N
2764        xyzabcdef\N
2765    
2766    /^(?:(?=abc)|abc\K)/+
2767        abcdef
2768        abcdef\N\N
2769        ** Failers
2770        abcdef\N
2771    
2772    /a?b?/+
2773        xyz
2774        xyzabc
2775        xyzabc\N
2776        xyzabc\N\N
2777        xyz\N\N
2778        ** Failers
2779        xyz\N
2780    
2781    /^a?b?/+
2782        xyz
2783        xyzabc
2784        ** Failers
2785        xyzabc\N
2786        xyzabc\N\N
2787        xyz\N\N
2788        xyz\N
2789    
2790    /^(?<name>a|b\g<name>c)/
2791        aaaa
2792        bacxxx
2793        bbaccxxx
2794        bbbacccxx
2795    
2796    /^(?<name>a|b\g'name'c)/
2797        aaaa
2798        bacxxx
2799        bbaccxxx
2800        bbbacccxx
2801    
2802    /^(a|b\g<1>c)/
2803        aaaa
2804        bacxxx
2805        bbaccxxx
2806        bbbacccxx
2807    
2808    /^(a|b\g'1'c)/
2809        aaaa
2810        bacxxx
2811        bbaccxxx
2812        bbbacccxx
2813    
2814    /^(a|b\g'-1'c)/
2815        aaaa
2816        bacxxx
2817        bbaccxxx
2818        bbbacccxx
2819    
2820    /(^(a|b\g<-1>c))/
2821        aaaa
2822        bacxxx
2823        bbaccxxx
2824        bbbacccxx
2825    
2826    /(?-i:\g<name>)(?i:(?<name>a))/
2827        XaaX
2828        XAAX
2829    
2830    /(?i:\g<name>)(?-i:(?<name>a))/
2831        XaaX
2832        ** Failers
2833        XAAX
2834    
2835    /(?-i:\g<+1>)(?i:(a))/
2836        XaaX
2837        XAAX
2838    
2839    /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
2840    
2841    /(?<n>a|b|c)\g<n>*/
2842       abc
2843       accccbbb
2844    
2845    /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
2846        XYabcdY
2847    
2848    /-- End of testinput2 --/

Legend:
Removed from v.162  
changed lines
  Added in v.453

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12