/[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 178 by ph10, Wed Jun 13 08:44:34 2007 UTC revision 450 by ph10, Wed Sep 16 10:56:40 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 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 1421  Line 1430 
1430      ** Failers      ** Failers
1431      line one\nthis is a line\nbreak in the second line      line one\nthis is a line\nbreak in the second line
1432    
1433  /ab.cd/IP  /ab.cd/P
1434      ab-cd      ab-cd
1435      ab=cd      ab=cd
1436      ** Failers      ** Failers
1437      ab\ncd      ab\ncd
1438    
1439  /ab.cd/IPs  /ab.cd/Ps
1440      ab-cd      ab-cd
1441      ab=cd      ab=cd
1442      ab\ncd      ab\ncd
# Line 1482  Line 1491 
1491      (this)      (this)
1492      ((this))      ((this))
1493    
1494  /a(b)c/IPN  /a(b)c/PN
1495      abc      abc
1496    
1497  /a(?P<name>b)c/IPN  /a(?P<name>b)c/PN
1498      abc      abc
1499    
1500  /\x{100}/I  /\x{100}/I
# Line 1917  a random value. /Ix Line 1926  a random value. /Ix
1926  /(?=(?'abc'\w+))\k<abc>:/I  /(?=(?'abc'\w+))\k<abc>:/I
1927      abcd:      abcd:
1928    
 /(?'abc'\w+):\k<abc>{2}/  
     a:aaxyz  
     ab:ababxyz  
     ** Failers  
     a:axyz  
     ab:abxyz  
   
1929  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J  /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
1930      adaa      adaa
1931      ** Failers      ** Failers
# Line 1936  a random value. /Ix Line 1938  a random value. /Ix
1938      ** Failers      ** Failers
1939      bddd      bddd
1940    
 /^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x  
     abd  
     ce  
   
1941  /(?(<bc))/  /(?(<bc))/
1942    
1943  /(?(''))/  /(?(''))/
# Line 1957  a random value. /Ix Line 1955  a random value. /Ix
1955  /(?<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
1956      abcabc1Xabc2XabcXabcabc      abcabc1Xabc2XabcXabcabc
1957    
 /^(?(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  
   
1958  /^(?(DEFINE) abc | xyz ) /x  /^(?(DEFINE) abc | xyz ) /x
1959    
1960  /(?(DEFINE) abc) xyz/xI  /(?(DEFINE) abc) xyz/xI
# Line 1990  a random value. /Ix Line 1978  a random value. /Ix
1978      a\rb\<anycrlf>      a\rb\<anycrlf>
1979    
1980  /^abc./mgx<any>  /^abc./mgx<any>
1981      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK      abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
1982    
1983  /abc.$/mgx<any>  /abc.$/mgx<any>
1984      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
1985    
1986  /a/<cr><any>  /a/<cr><any>
1987    
1988  /a/<any><crlf>  /a/<any><crlf>
1989    
1990  /^a\Rb/  /^a\Rb/<bsr_unicode>
1991      a\nb      a\nb
1992      a\rb      a\rb
1993      a\r\nb      a\r\nb
# Line 2009  a random value. /Ix Line 1997  a random value. /Ix
1997      ** Failers      ** Failers
1998      a\n\rb      a\n\rb
1999    
2000  /^a\R*b/  /^a\R*b/<bsr_unicode>
2001      ab      ab
2002      a\nb      a\nb
2003      a\rb      a\rb
# Line 2020  a random value. /Ix Line 2008  a random value. /Ix
2008      a\n\rb      a\n\rb
2009      a\n\r\x85\x0cb      a\n\r\x85\x0cb
2010    
2011  /^a\R+b/  /^a\R+b/<bsr_unicode>
2012      a\nb      a\nb
2013      a\rb      a\rb
2014      a\r\nb      a\r\nb
# Line 2032  a random value. /Ix Line 2020  a random value. /Ix
2020      ** Failers      ** Failers
2021      ab      ab
2022    
2023  /^a\R{1,3}b/  /^a\R{1,3}b/<bsr_unicode>
2024      a\nb      a\nb
2025      a\n\rb      a\n\rb
2026      a\n\r\x85b      a\n\r\x85b
# Line 2044  a random value. /Ix Line 2032  a random value. /Ix
2032      a\n\n\n\rb      a\n\n\n\rb
2033      a\r      a\r
2034    
2035  /^a[\R]b/  /^a[\R]b/<bsr_unicode>
2036      aRb      aRb
2037      ** Failers      ** Failers
2038      a\nb      a\nb
# Line 2055  a random value. /Ix Line 2043  a random value. /Ix
2043  /(?1)X(?<abc>P)/I  /(?1)X(?<abc>P)/I
2044      abcPXP123      abcPXP123
2045    
 /(?(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  
   
2046  /(?:a(?&abc)b)*(?<abc>x)/  /(?:a(?&abc)b)*(?<abc>x)/
2047      123axbaxbaxbx456      123axbaxbaxbx456
2048      123axbaxbaxb456      123axbaxbaxb456
# Line 2092  a random value. /Ix Line 2064  a random value. /Ix
2064     defabcabcxyz     defabcabcxyz
2065     DEFabcABCXYZ     DEFabcABCXYZ
2066    
 /^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/  
     ababababbbabZXXXX  
   
2067  /^(a)\g-2/  /^(a)\g-2/
2068    
2069  /^(a)\g/  /^(a)\g/
# Line 2149  a random value. /Ix Line 2118  a random value. /Ix
2118      abc\r\n\r\n      abc\r\n\r\n
2119    
2120  /abc.$/mgx<anycrlf>  /abc.$/mgx<anycrlf>
2121      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
2122    
2123  /^X/m  /^X/m
2124      XABC      XABC
# Line 2190  a random value. /Ix Line 2159  a random value. /Ix
2159    
2160  /((?(-2)a))/BZ  /((?(-2)a))/BZ
2161    
2162  /^(?(+1)X|Y)/BZ  /^(?(+1)X|Y)(.)/BZ
2163      Y      Y!
   
 /(foo)\Kbar/  
     foobar  
   
 /(foo)(\Kbar|baz)/  
     foobar  
     foobaz  
   
 /(foo\Kbar)baz/  
     foobarbaz  
2164    
2165  /(?<A>tom|bon)-\k{A}/  /(?<A>tom|bon)-\k{A}/
2166      tom-tom      tom-tom
# Line 2209  a random value. /Ix Line 2168  a random value. /Ix
2168      ** Failers      ** Failers
2169      tom-bon      tom-bon
2170    
 /(?<A>tom|bon)-\g{A}/  
     tom-tom  
     bon-bon  
   
2171  /\g{A/  /\g{A/
2172    
2173  /(?|(abc)|(xyz))/BZ  /(?|(abc)|(xyz))/BZ
# Line 2227  a random value. /Ix Line 2182  a random value. /Ix
2182      xabcpqrx      xabcpqrx
2183      xxyzx      xxyzx
2184    
 /(?|(abc)|(xyz))\1/  
     abcabc  
     xyzxyz  
     ** Failers  
     abcxyz  
     xyzabc  
   
 /(?|(abc)|(xyz))(?1)/  
     abcabc  
     xyzabc  
     ** Failers  
     xyzxyz  
   
 /\H\h\V\v/  
     X X\x0a  
     X\x09X\x0b  
     ** Failers  
     \xa0 X\x0a  
   
 /\H*\h+\V?\v{3,4}/  
     \x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a  
     \x09\x20\xa0\x0a\x0b\x0c\x0d\x0a  
     \x09\x20\xa0\x0a\x0b\x0c  
     ** Failers  
     \x09\x20\xa0\x0a\x0b  
   
 /\H{3,4}/  
     XY  ABCDE  
     XY  PQR ST  
   
 /.\h{3,4}./  
     XY  AB    PQRS  
   
 /\h*X\h?\H+Y\H?Z/  
     >XNNNYZ  
     >  X NYQZ  
     ** Failers  
     >XYZ  
     >  X NY Z  
   
 /\v*X\v?Y\v+Z\V*\x0a\V+\x0b\V{2,3}\x0c/  
     >XY\x0aZ\x0aA\x0bNN\x0c  
     >\x0a\x0dX\x0aY\x0a\x0bZZZ\x0aAAA\x0bNNN\x0c  
   
2185  /[\h]/BZ  /[\h]/BZ
2186      >\x09<      >\x09<
2187    
# Line 2287  a random value. /Ix Line 2198  a random value. /Ix
2198    
2199  /[\x0a\V]/BZ  /[\x0a\V]/BZ
2200    
2201  / End of testinput2 /  /\H++X/BZ
2202        ** Failers
2203        XXXX
2204    
2205    /\H+\hY/BZ
2206        XXXX Y
2207    
2208    /\H+ Y/BZ
2209    
2210    /\h+A/BZ
2211    
2212    /\v*B/BZ
2213    
2214    /\V+\x0a/BZ
2215    
2216    /A+\h/BZ
2217    
2218    / *\H/BZ
2219    
2220    /A*\v/BZ
2221    
2222    /\x0b*\V/BZ
2223    
2224    /\d+\h/BZ
2225    
2226    /\d*\v/BZ
2227    
2228    /S+\h\S+\v/BZ
2229    
2230    /\w{3,}\h\w+\v/BZ
2231    
2232    /\h+\d\h+\w\h+\S\h+\H/BZ
2233    
2234    /\v+\d\v+\w\v+\S\v+\V/BZ
2235    
2236    /\H+\h\H+\d/BZ
2237    
2238    /\V+\v\V+\w/BZ
2239    
2240    /\( (?: [^()]* | (?R) )* \)/x
2241    (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
2242    
2243    /[\E]AAA/
2244    
2245    /[\Q\E]AAA/
2246    
2247    /[^\E]AAA/
2248    
2249    /[^\Q\E]AAA/
2250    
2251    /[\E^]AAA/
2252    
2253    /[\Q\E^]AAA/
2254    
2255    /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
2256    
2257    /^a+(*FAIL)/C
2258        aaaaaa
2259    
2260    /a+b?c+(*FAIL)/C
2261        aaabccc
2262    
2263    /a+b?(*PRUNE)c+(*FAIL)/C
2264        aaabccc
2265    
2266    /a+b?(*COMMIT)c+(*FAIL)/C
2267        aaabccc
2268    
2269    /a+b?(*SKIP)c+(*FAIL)/C
2270        aaabcccaaabccc
2271    
2272    /a+b?(*THEN)c+(*FAIL)/C
2273        aaabccc
2274    
2275    /a(*PRUNE:XXX)b/
2276    
2277    /a(*MARK)b/
2278    
2279    /(?i:A{1,}\6666666666)/
2280    
2281    /\g6666666666/
2282    
2283    /[\g6666666666]/
2284    
2285    /(?1)\c[/
2286    
2287    /.+A/<crlf>
2288        \r\nA
2289    
2290    /\nA/<crlf>
2291        \r\nA
2292    
2293    /[\r\n]A/<crlf>
2294        \r\nA
2295    
2296    /(\r|\n)A/<crlf>
2297        \r\nA
2298    
2299    /a(*CR)b/
2300    
2301    /(*CR)a.b/
2302        a\nb
2303        ** Failers
2304        a\rb
2305    
2306    /(*CR)a.b/<lf>
2307        a\nb
2308        ** Failers
2309        a\rb
2310    
2311    /(*LF)a.b/<CRLF>
2312        a\rb
2313        ** Failers
2314        a\nb
2315    
2316    /(*CRLF)a.b/
2317        a\rb
2318        a\nb
2319        ** Failers
2320        a\r\nb
2321    
2322    /(*ANYCRLF)a.b/<CR>
2323        ** Failers
2324        a\rb
2325        a\nb
2326        a\r\nb
2327    
2328    /(*ANY)a.b/<cr>
2329        ** Failers
2330        a\rb
2331        a\nb
2332        a\r\nb
2333        a\x85b
2334    
2335    /a\Rb/I<bsr_anycrlf>
2336        a\rb
2337        a\nb
2338        a\r\nb
2339        ** Failers
2340        a\x85b
2341        a\x0bb
2342    
2343    /a\Rb/I<bsr_unicode>
2344        a\rb
2345        a\nb
2346        a\r\nb
2347        a\x85b
2348        a\x0bb
2349        ** Failers
2350        a\x85b\<bsr_anycrlf>
2351        a\x0bb\<bsr_anycrlf>
2352    
2353    /a\R?b/I<bsr_anycrlf>
2354        a\rb
2355        a\nb
2356        a\r\nb
2357        ** Failers
2358        a\x85b
2359        a\x0bb
2360    
2361    /a\R?b/I<bsr_unicode>
2362        a\rb
2363        a\nb
2364        a\r\nb
2365        a\x85b
2366        a\x0bb
2367        ** Failers
2368        a\x85b\<bsr_anycrlf>
2369        a\x0bb\<bsr_anycrlf>
2370    
2371    /a\R{2,4}b/I<bsr_anycrlf>
2372        a\r\n\nb
2373        a\n\r\rb
2374        a\r\n\r\n\r\n\r\nb
2375        ** Failers
2376        a\x85\85b
2377        a\x0b\0bb
2378    
2379    /a\R{2,4}b/I<bsr_unicode>
2380        a\r\rb
2381        a\n\n\nb
2382        a\r\n\n\r\rb
2383        a\x85\85b
2384        a\x0b\0bb
2385        ** Failers
2386        a\r\r\r\r\rb
2387        a\x85\85b\<bsr_anycrlf>
2388        a\x0b\0bb\<bsr_anycrlf>
2389    
2390    /(*BSR_ANYCRLF)a\Rb/I
2391        a\nb
2392        a\rb
2393    
2394    /(*BSR_UNICODE)a\Rb/I
2395        a\x85b
2396    
2397    /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
2398        a\nb
2399        a\rb
2400    
2401    /(*CRLF)(*BSR_UNICODE)a\Rb/I
2402        a\x85b
2403    
2404    /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
2405    
2406    /(?<a>)(?&)/
2407    
2408    /(?<abc>)(?&a)/
2409    
2410    /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
2411    
2412    /(?+-a)/
2413    
2414    /(?-+a)/
2415    
2416    /(?(-1))/
2417    
2418    /(?(+10))/
2419    
2420    /(?(10))/
2421    
2422    /(?(+2))()()/
2423    
2424    /(?(2))()()/
2425    
2426    /\k''/
2427    
2428    /\k<>/
2429    
2430    /\k{}/
2431    
2432    /(?P=)/
2433    
2434    /(?P>)/
2435    
2436    /(?!\w)(?R)/
2437    
2438    /(?=\w)(?R)/
2439    
2440    /(?<!\w)(?R)/
2441    
2442    /(?<=\w)(?R)/
2443    
2444    /[[:foo:]]/
2445    
2446    /[[:1234:]]/
2447    
2448    /[[:f\oo:]]/
2449    
2450    /[[: :]]/
2451    
2452    /[[:...:]]/
2453    
2454    /[[:l\ower:]]/
2455    
2456    /[[:abc\:]]/
2457    
2458    /[abc[:x\]pqr:]]/
2459    
2460    /[[:a\dz:]]/
2461    
2462    /(^(a|b\g<-1'c))/
2463    
2464    /^(?+1)(?<a>x|y){0}z/
2465        xzxx
2466        yzyy
2467        ** Failers
2468        xxz
2469    
2470    /(\3)(\1)(a)/
2471        cat
2472    
2473    /(\3)(\1)(a)/<JS>
2474        cat
2475    
2476    /TA]/
2477        The ACTA] comes
2478    
2479    /TA]/<JS>
2480        The ACTA] comes
2481    
2482    /(?2)[]a()b](abc)/
2483        abcbabc
2484    
2485    /(?2)[^]a()b](abc)/
2486        abcbabc
2487    
2488    /(?1)[]a()b](abc)/
2489        abcbabc
2490        ** Failers
2491        abcXabc
2492    
2493    /(?1)[^]a()b](abc)/
2494        abcXabc
2495        ** Failers
2496        abcbabc
2497    
2498    /(?2)[]a()b](abc)(xyz)/
2499        xyzbabcxyz
2500    
2501    /(?&N)[]a(?<N>)](?<M>abc)/
2502       abc<abc
2503    
2504    /(?&N)[]a(?<N>)](abc)/
2505       abc<abc
2506    
2507    /a[]b/
2508    
2509    /a[^]b/
2510    
2511    /a[]b/<JS>
2512        ** Failers
2513        ab
2514    
2515    /a[]+b/<JS>
2516        ** Failers
2517        ab
2518    
2519    /a[]*+b/<JS>
2520        ** Failers
2521        ab
2522    
2523    /a[^]b/<JS>
2524        aXb
2525        a\nb
2526        ** Failers
2527        ab
2528    
2529    /a[^]+b/<JS>
2530        aXb
2531        a\nX\nXb
2532        ** Failers
2533        ab
2534    
2535    /a(?!)+b/
2536    
2537    /a(*FAIL)+b/
2538    
2539    /(abc|pqr|123){0}[xyz]/SI
2540    
2541    /(?(?=.*b)b|^)/CI
2542       adc
2543       abc
2544    
2545    /(?(?=b).*b|^d)/I
2546    
2547    /(?(?=.*b).*b|^d)/I
2548    
2549    /a?|b?/P
2550        abc
2551        ** Failers
2552        ddd\N
2553    
2554    /xyz/C
2555      xyz
2556      abcxyz
2557      abcxyz\Y
2558      ** Failers
2559      abc
2560      abc\Y
2561      abcxypqr
2562      abcxypqr\Y
2563    
2564    /^"((?(?=[a])[^"])|b)*"$/C
2565        "ab"
2566    
2567    /^"((?(?=[a])[^"])|b)*"$/
2568        "ab"
2569    
2570    /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
2571        XYabcdY
2572    
2573    /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
2574        XYabcdY
2575    
2576    /Xa{2,4}b/
2577        X\P
2578        Xa\P
2579        Xaa\P
2580        Xaaa\P
2581        Xaaaa\P
2582    
2583    /Xa{2,4}?b/
2584        X\P
2585        Xa\P
2586        Xaa\P
2587        Xaaa\P
2588        Xaaaa\P
2589    
2590    /Xa{2,4}+b/
2591        X\P
2592        Xa\P
2593        Xaa\P
2594        Xaaa\P
2595        Xaaaa\P
2596    
2597    /X\d{2,4}b/
2598        X\P
2599        X3\P
2600        X33\P
2601        X333\P
2602        X3333\P
2603    
2604    /X\d{2,4}?b/
2605        X\P
2606        X3\P
2607        X33\P
2608        X333\P
2609        X3333\P
2610    
2611    /X\d{2,4}+b/
2612        X\P
2613        X3\P
2614        X33\P
2615        X333\P
2616        X3333\P
2617    
2618    /X\D{2,4}b/
2619        X\P
2620        Xa\P
2621        Xaa\P
2622        Xaaa\P
2623        Xaaaa\P
2624    
2625    /X\D{2,4}?b/
2626        X\P
2627        Xa\P
2628        Xaa\P
2629        Xaaa\P
2630        Xaaaa\P
2631    
2632    /X\D{2,4}+b/
2633        X\P
2634        Xa\P
2635        Xaa\P
2636        Xaaa\P
2637        Xaaaa\P
2638    
2639    /X[abc]{2,4}b/
2640        X\P
2641        Xa\P
2642        Xaa\P
2643        Xaaa\P
2644        Xaaaa\P
2645    
2646    /X[abc]{2,4}?b/
2647        X\P
2648        Xa\P
2649        Xaa\P
2650        Xaaa\P
2651        Xaaaa\P
2652    
2653    /X[abc]{2,4}+b/
2654        X\P
2655        Xa\P
2656        Xaa\P
2657        Xaaa\P
2658        Xaaaa\P
2659    
2660    /X[^a]{2,4}b/
2661        X\P
2662        Xz\P
2663        Xzz\P
2664        Xzzz\P
2665        Xzzzz\P
2666    
2667    /X[^a]{2,4}?b/
2668        X\P
2669        Xz\P
2670        Xzz\P
2671        Xzzz\P
2672        Xzzzz\P
2673    
2674    /X[^a]{2,4}+b/
2675        X\P
2676        Xz\P
2677        Xzz\P
2678        Xzzz\P
2679        Xzzzz\P
2680    
2681    /(Y)X\1{2,4}b/
2682        YX\P
2683        YXY\P
2684        YXYY\P
2685        YXYYY\P
2686        YXYYYY\P
2687    
2688    /(Y)X\1{2,4}?b/
2689        YX\P
2690        YXY\P
2691        YXYY\P
2692        YXYYY\P
2693        YXYYYY\P
2694    
2695    /(Y)X\1{2,4}+b/
2696        YX\P
2697        YXY\P
2698        YXYY\P
2699        YXYYY\P
2700        YXYYYY\P
2701    
2702    /\++\KZ|\d+X|9+Y/
2703        ++++123999\P
2704        ++++123999Y\P
2705        ++++Z1234\P
2706    
2707    /Z(*F)/
2708        Z\P
2709        ZA\P
2710    
2711    /Z(?!)/
2712        Z\P
2713        ZA\P
2714    
2715    /dog(sbody)?/
2716        dogs\P
2717        dogs\P\P
2718    
2719    /dog(sbody)??/
2720        dogs\P
2721        dogs\P\P
2722    
2723    /dog|dogsbody/
2724        dogs\P
2725        dogs\P\P
2726    
2727    /dogsbody|dog/
2728        dogs\P
2729        dogs\P\P
2730    
2731    /\bthe cat\b/
2732        the cat\P
2733        the cat\P\P
2734    
2735    /abc/
2736       abc\P
2737       abc\P\P
2738    
2739    /\w+A/P
2740       CDAAAAB
2741    
2742    /\w+A/PU
2743       CDAAAAB
2744    
2745    /abc\K123/
2746        xyzabc123pqr
2747        xyzabc12\P
2748        xyzabc12\P\P
2749    
2750    /(?<=abc)123/
2751        xyzabc123pqr
2752        xyzabc12\P
2753        xyzabc12\P\P
2754    
2755    /\babc\b/
2756        +++abc+++
2757        +++ab\P
2758        +++ab\P\P
2759    
2760    /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
2761    
2762    /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
2763    
2764    /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
2765    
2766    /abc\K/+
2767        abcdef
2768        abcdef\N\N
2769        xyzabcdef\N\N
2770        ** Failers
2771        abcdef\N
2772        xyzabcdef\N
2773    
2774    /^(?:(?=abc)|abc\K)/+
2775        abcdef
2776        abcdef\N\N
2777        ** Failers
2778        abcdef\N
2779    
2780    /a?b?/+
2781        xyz
2782        xyzabc
2783        xyzabc\N
2784        xyzabc\N\N
2785        xyz\N\N
2786        ** Failers
2787        xyz\N
2788    
2789    /^a?b?/+
2790        xyz
2791        xyzabc
2792        ** Failers
2793        xyzabc\N
2794        xyzabc\N\N
2795        xyz\N\N
2796        xyz\N
2797    
2798    /^(?<name>a|b\g<name>c)/
2799        aaaa
2800        bacxxx
2801        bbaccxxx
2802        bbbacccxx
2803    
2804    /^(?<name>a|b\g'name'c)/
2805        aaaa
2806        bacxxx
2807        bbaccxxx
2808        bbbacccxx
2809    
2810    /^(a|b\g<1>c)/
2811        aaaa
2812        bacxxx
2813        bbaccxxx
2814        bbbacccxx
2815    
2816    /^(a|b\g'1'c)/
2817        aaaa
2818        bacxxx
2819        bbaccxxx
2820        bbbacccxx
2821    
2822    /^(a|b\g'-1'c)/
2823        aaaa
2824        bacxxx
2825        bbaccxxx
2826        bbbacccxx
2827    
2828    /(^(a|b\g<-1>c))/
2829        aaaa
2830        bacxxx
2831        bbaccxxx
2832        bbbacccxx
2833    
2834    /(?-i:\g<name>)(?i:(?<name>a))/
2835        XaaX
2836        XAAX
2837    
2838    /(?i:\g<name>)(?-i:(?<name>a))/
2839        XaaX
2840        ** Failers
2841        XAAX
2842    
2843    /(?-i:\g<+1>)(?i:(a))/
2844        XaaX
2845        XAAX
2846    
2847    /(?=(?<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>\})\}))\{/
2848    
2849    /(?<n>a|b|c)\g<n>*/
2850       abc
2851       accccbbb
2852    
2853    /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
2854        XYabcdY
2855    
2856    /-- End of testinput2 --/

Legend:
Removed from v.178  
changed lines
  Added in v.450

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12