mirror of
https://github.com/php/php-src.git
synced 2025-01-25 05:04:20 +08:00
711 lines
7.6 KiB
Plaintext
711 lines
7.6 KiB
Plaintext
|
/(a)b|/
|
||
|
|
||
|
/abc/
|
||
|
abc
|
||
|
defabc
|
||
|
\Aabc
|
||
|
*** Failers
|
||
|
\Adefabc
|
||
|
ABC
|
||
|
|
||
|
/^abc/
|
||
|
abc
|
||
|
\Aabc
|
||
|
*** Failers
|
||
|
defabc
|
||
|
\Adefabc
|
||
|
|
||
|
/a+bc/
|
||
|
|
||
|
/a*bc/
|
||
|
|
||
|
/a{3}bc/
|
||
|
|
||
|
/(abc|a+z)/
|
||
|
|
||
|
/^abc$/
|
||
|
abc
|
||
|
*** Failers
|
||
|
def\nabc
|
||
|
|
||
|
/ab\gdef/X
|
||
|
|
||
|
/(?X)ab\gdef/X
|
||
|
|
||
|
/x{5,4}/
|
||
|
|
||
|
/z{65536}/
|
||
|
|
||
|
/[abcd/
|
||
|
|
||
|
/[\B]/
|
||
|
|
||
|
/[a-\w]/
|
||
|
|
||
|
/[z-a]/
|
||
|
|
||
|
/^*/
|
||
|
|
||
|
/(abc/
|
||
|
|
||
|
/(?# abc/
|
||
|
|
||
|
/(?z)abc/
|
||
|
|
||
|
/.*b/
|
||
|
|
||
|
/.*?b/
|
||
|
|
||
|
/cat|dog|elephant/
|
||
|
this sentence eventually mentions a cat
|
||
|
this sentences rambles on and on for a while and then reaches elephant
|
||
|
|
||
|
/cat|dog|elephant/S
|
||
|
this sentence eventually mentions a cat
|
||
|
this sentences rambles on and on for a while and then reaches elephant
|
||
|
|
||
|
/cat|dog|elephant/iS
|
||
|
this sentence eventually mentions a CAT cat
|
||
|
this sentences rambles on and on for a while to elephant ElePhant
|
||
|
|
||
|
/a|[bcd]/S
|
||
|
|
||
|
/(a|[^\dZ])/S
|
||
|
|
||
|
/(a|b)*[\s]/S
|
||
|
|
||
|
/(ab\2)/
|
||
|
|
||
|
/{4,5}abc/
|
||
|
|
||
|
/(a)(b)(c)\2/
|
||
|
abcb
|
||
|
\O0abcb
|
||
|
\O3abcb
|
||
|
\O6abcb
|
||
|
\O9abcb
|
||
|
\O12abcb
|
||
|
|
||
|
/(a)bc|(a)(b)\2/
|
||
|
abc
|
||
|
\O0abc
|
||
|
\O3abc
|
||
|
\O6abc
|
||
|
aba
|
||
|
\O0aba
|
||
|
\O3aba
|
||
|
\O6aba
|
||
|
\O9aba
|
||
|
\O12aba
|
||
|
|
||
|
/abc$/E
|
||
|
abc
|
||
|
*** Failers
|
||
|
abc\n
|
||
|
abc\ndef
|
||
|
|
||
|
/(a)(b)(c)(d)(e)\6/
|
||
|
|
||
|
/the quick brown fox/
|
||
|
the quick brown fox
|
||
|
this is a line with the quick brown fox
|
||
|
|
||
|
/the quick brown fox/A
|
||
|
the quick brown fox
|
||
|
*** Failers
|
||
|
this is a line with the quick brown fox
|
||
|
|
||
|
/ab(?z)cd/
|
||
|
|
||
|
/^abc|def/
|
||
|
abcdef
|
||
|
abcdef\B
|
||
|
|
||
|
/.*((abc)$|(def))/
|
||
|
defabc
|
||
|
\Zdefabc
|
||
|
|
||
|
/abc/P
|
||
|
abc
|
||
|
*** Failers
|
||
|
|
||
|
/^abc|def/P
|
||
|
abcdef
|
||
|
abcdef\B
|
||
|
|
||
|
/.*((abc)$|(def))/P
|
||
|
defabc
|
||
|
\Zdefabc
|
||
|
|
||
|
/the quick brown fox/P
|
||
|
the quick brown fox
|
||
|
*** Failers
|
||
|
The Quick Brown Fox
|
||
|
|
||
|
/the quick brown fox/Pi
|
||
|
the quick brown fox
|
||
|
The Quick Brown Fox
|
||
|
|
||
|
/abc.def/P
|
||
|
*** Failers
|
||
|
abc\ndef
|
||
|
|
||
|
/abc$/P
|
||
|
abc
|
||
|
abc\n
|
||
|
|
||
|
/(abc)\2/P
|
||
|
|
||
|
/(abc\1)/P
|
||
|
abc
|
||
|
|
||
|
/)/
|
||
|
|
||
|
/a[]b/
|
||
|
|
||
|
/[^aeiou ]{3,}/
|
||
|
co-processors, and for
|
||
|
|
||
|
/<.*>/
|
||
|
abc<def>ghi<klm>nop
|
||
|
|
||
|
/<.*?>/
|
||
|
abc<def>ghi<klm>nop
|
||
|
|
||
|
/<.*>/U
|
||
|
abc<def>ghi<klm>nop
|
||
|
|
||
|
/<.*>(?U)/
|
||
|
abc<def>ghi<klm>nop
|
||
|
|
||
|
/<.*?>/U
|
||
|
abc<def>ghi<klm>nop
|
||
|
|
||
|
/={3,}/U
|
||
|
abc========def
|
||
|
|
||
|
/(?U)={3,}?/
|
||
|
abc========def
|
||
|
|
||
|
/(?<!bar|cattle)foo/
|
||
|
foo
|
||
|
catfoo
|
||
|
*** Failers
|
||
|
the barfoo
|
||
|
and cattlefoo
|
||
|
|
||
|
/(?<=a+)b/
|
||
|
|
||
|
/(?<=aaa|b{0,3})b/
|
||
|
|
||
|
/(?<!(foo)a\1)bar/
|
||
|
|
||
|
/(?i)abc/
|
||
|
|
||
|
/(a|(?m)a)/
|
||
|
|
||
|
/(?i)^1234/
|
||
|
|
||
|
/(^b|(?i)^d)/
|
||
|
|
||
|
/(?s).*/
|
||
|
|
||
|
/[abcd]/S
|
||
|
|
||
|
/(?i)[abcd]/S
|
||
|
|
||
|
/(?m)[xy]|(b|c)/S
|
||
|
|
||
|
/(^a|^b)/m
|
||
|
|
||
|
/(?i)(^a|^b)/m
|
||
|
|
||
|
/(a)(?(1)a|b|c)/
|
||
|
|
||
|
/(?(?=a)a|b|c)/
|
||
|
|
||
|
/(?(1a)/
|
||
|
|
||
|
/(?(?i))/
|
||
|
|
||
|
/(?(abc))/
|
||
|
|
||
|
/(?(?<ab))/
|
||
|
|
||
|
/((?s)blah)\s+\1/
|
||
|
|
||
|
/((?i)blah)\s+\1/
|
||
|
|
||
|
/((?i)b)/DS
|
||
|
|
||
|
/(a*b|(?i:c*(?-i)d))/S
|
||
|
|
||
|
/a$/
|
||
|
a
|
||
|
a\n
|
||
|
*** Failers
|
||
|
\Za
|
||
|
\Za\n
|
||
|
|
||
|
/a$/m
|
||
|
a
|
||
|
a\n
|
||
|
\Za\n
|
||
|
*** Failers
|
||
|
\Za
|
||
|
|
||
|
/\Aabc/m
|
||
|
|
||
|
/^abc/m
|
||
|
|
||
|
/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
|
||
|
aaaaabbbbbcccccdef
|
||
|
|
||
|
/(?<=foo)[ab]/S
|
||
|
|
||
|
/(?<!foo)(alpha|omega)/S
|
||
|
|
||
|
/(?!alphabet)[ab]/S
|
||
|
|
||
|
/(?<=foo\n)^bar/m
|
||
|
|
||
|
/(?>^abc)/m
|
||
|
abc
|
||
|
def\nabc
|
||
|
*** Failers
|
||
|
defabc
|
||
|
|
||
|
/(?<=ab(c+)d)ef/
|
||
|
|
||
|
/(?<=ab(?<=c+)d)ef/
|
||
|
|
||
|
/(?<=ab(c|de)f)g/
|
||
|
|
||
|
/The next three are in testinput2 because they have variable length branches/
|
||
|
|
||
|
/(?<=bullock|donkey)-cart/
|
||
|
the bullock-cart
|
||
|
a donkey-cart race
|
||
|
*** Failers
|
||
|
cart
|
||
|
horse-and-cart
|
||
|
|
||
|
/(?<=ab(?i)x|y|z)/
|
||
|
|
||
|
/(?>.*)(?<=(abcd)|(xyz))/
|
||
|
alphabetabcd
|
||
|
endingxyz
|
||
|
|
||
|
/(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
|
||
|
abxyZZ
|
||
|
abXyZZ
|
||
|
ZZZ
|
||
|
zZZ
|
||
|
bZZ
|
||
|
BZZ
|
||
|
*** Failers
|
||
|
ZZ
|
||
|
abXYZZ
|
||
|
zzz
|
||
|
bzz
|
||
|
|
||
|
/(?<!(foo)a)bar/
|
||
|
bar
|
||
|
foobbar
|
||
|
*** Failers
|
||
|
fooabar
|
||
|
|
||
|
/This one is here because Perl 5.005_02 doesn't fail it/
|
||
|
|
||
|
/^(a)?(?(1)a|b)+$/
|
||
|
*** Failers
|
||
|
a
|
||
|
|
||
|
/This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/
|
||
|
|
||
|
/^(a\1?){4}$/
|
||
|
aaaaaa
|
||
|
|
||
|
/These are syntax tests from Perl 5.005/
|
||
|
|
||
|
/a[b-a]/
|
||
|
|
||
|
/a[]b/
|
||
|
|
||
|
/a[/
|
||
|
|
||
|
/*a/
|
||
|
|
||
|
/(*)b/
|
||
|
|
||
|
/abc)/
|
||
|
|
||
|
/(abc/
|
||
|
|
||
|
/a**/
|
||
|
|
||
|
/)(/
|
||
|
|
||
|
/\1/
|
||
|
|
||
|
/\2/
|
||
|
|
||
|
/(a)|\2/
|
||
|
|
||
|
/a[b-a]/i
|
||
|
|
||
|
/a[]b/i
|
||
|
|
||
|
/a[/i
|
||
|
|
||
|
/*a/i
|
||
|
|
||
|
/(*)b/i
|
||
|
|
||
|
/abc)/i
|
||
|
|
||
|
/(abc/i
|
||
|
|
||
|
/a**/i
|
||
|
|
||
|
/)(/i
|
||
|
|
||
|
/:(?:/
|
||
|
|
||
|
/(?<%)b/
|
||
|
|
||
|
/a(?{)b/
|
||
|
|
||
|
/a(?{{})b/
|
||
|
|
||
|
/a(?{}})b/
|
||
|
|
||
|
/a(?{"{"})b/
|
||
|
|
||
|
/a(?{"{"}})b/
|
||
|
|
||
|
/(?(1?)a|b)/
|
||
|
|
||
|
/(?(1)a|b|c)/
|
||
|
|
||
|
/[a[:xyz:/
|
||
|
|
||
|
/(?<=x+)y/
|
||
|
|
||
|
/a{37,17}/
|
||
|
|
||
|
/abc/\
|
||
|
|
||
|
/abc/\P
|
||
|
|
||
|
/abc/\i
|
||
|
|
||
|
/(a)bc(d)/
|
||
|
abcd
|
||
|
abcd\C2
|
||
|
abcd\C5
|
||
|
|
||
|
/(.{20})/
|
||
|
abcdefghijklmnopqrstuvwxyz
|
||
|
abcdefghijklmnopqrstuvwxyz\C1
|
||
|
abcdefghijklmnopqrstuvwxyz\G1
|
||
|
|
||
|
/(.{15})/
|
||
|
abcdefghijklmnopqrstuvwxyz
|
||
|
abcdefghijklmnopqrstuvwxyz\C1\G1
|
||
|
|
||
|
/(.{16})/
|
||
|
abcdefghijklmnopqrstuvwxyz
|
||
|
abcdefghijklmnopqrstuvwxyz\C1\G1\L
|
||
|
|
||
|
/^(a|(bc))de(f)/
|
||
|
adef\G1\G2\G3\G4\L
|
||
|
bcdef\G1\G2\G3\G4\L
|
||
|
adefghijk\C0
|
||
|
|
||
|
/^abc\00def/
|
||
|
abc\00def\L\C0
|
||
|
|
||
|
/word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
|
||
|
)((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
|
||
|
)?)?)?)?)?)?)?)?)?otherword/M
|
||
|
|
||
|
/.*X/D
|
||
|
|
||
|
/.*X/Ds
|
||
|
|
||
|
/(.*X|^B)/D
|
||
|
|
||
|
/(.*X|^B)/Ds
|
||
|
|
||
|
/(?s)(.*X|^B)/D
|
||
|
|
||
|
/(?s:.*X|^B)/D
|
||
|
|
||
|
/\Biss\B/+
|
||
|
Mississippi
|
||
|
|
||
|
/\Biss\B/+P
|
||
|
Mississippi
|
||
|
|
||
|
/iss/G+
|
||
|
Mississippi
|
||
|
|
||
|
/\Biss\B/G+
|
||
|
Mississippi
|
||
|
|
||
|
/\Biss\B/g+
|
||
|
Mississippi
|
||
|
*** Failers
|
||
|
Mississippi\A
|
||
|
|
||
|
/(?<=[Ms])iss/g+
|
||
|
Mississippi
|
||
|
|
||
|
/(?<=[Ms])iss/G+
|
||
|
Mississippi
|
||
|
|
||
|
/^iss/g+
|
||
|
ississippi
|
||
|
|
||
|
/.*iss/g+
|
||
|
abciss\nxyzisspqr
|
||
|
|
||
|
/.i./+g
|
||
|
Mississippi
|
||
|
Mississippi\A
|
||
|
Missouri river
|
||
|
Missouri river\A
|
||
|
|
||
|
/^.is/+g
|
||
|
Mississippi
|
||
|
|
||
|
/^ab\n/g+
|
||
|
ab\nab\ncd
|
||
|
|
||
|
/^ab\n/mg+
|
||
|
ab\nab\ncd
|
||
|
|
||
|
/abc/
|
||
|
|
||
|
/abc|bac/
|
||
|
|
||
|
/(abc|bac)/
|
||
|
|
||
|
/(abc|(c|dc))/
|
||
|
|
||
|
/(abc|(d|de)c)/
|
||
|
|
||
|
/a*/
|
||
|
|
||
|
/a+/
|
||
|
|
||
|
/(baa|a+)/
|
||
|
|
||
|
/a{0,3}/
|
||
|
|
||
|
/baa{3,}/
|
||
|
|
||
|
/"([^\\"]+|\\.)*"/
|
||
|
|
||
|
/(abc|ab[cd])/
|
||
|
|
||
|
/(a|.)/
|
||
|
|
||
|
/a|ba|\w/
|
||
|
|
||
|
/abc(?=pqr)/
|
||
|
|
||
|
/...(?<=abc)/
|
||
|
|
||
|
/abc(?!pqr)/
|
||
|
|
||
|
/ab./
|
||
|
|
||
|
/ab[xyz]/
|
||
|
|
||
|
/abc*/
|
||
|
|
||
|
/ab.c*/
|
||
|
|
||
|
/a.c*/
|
||
|
|
||
|
/.c*/
|
||
|
|
||
|
/ac*/
|
||
|
|
||
|
/(a.c*|b.c*)/
|
||
|
|
||
|
/a.c*|aba/
|
||
|
|
||
|
/.+a/
|
||
|
|
||
|
/(?=abcda)a.*/
|
||
|
|
||
|
/(?=a)a.*/
|
||
|
|
||
|
/a(b)*/
|
||
|
|
||
|
/a\d*/
|
||
|
|
||
|
/ab\d*/
|
||
|
|
||
|
/a(\d)*/
|
||
|
|
||
|
/abcde{0,0}/
|
||
|
|
||
|
/ab\d+/
|
||
|
|
||
|
/a(?(1)b)/
|
||
|
|
||
|
/a(?(1)bag|big)/
|
||
|
|
||
|
/a(?(1)bag|big)*/
|
||
|
|
||
|
/a(?(1)bag|big)+/
|
||
|
|
||
|
/a(?(1)b..|b..)/
|
||
|
|
||
|
/ab\d{0}e/
|
||
|
|
||
|
/a?b?/
|
||
|
a
|
||
|
b
|
||
|
ab
|
||
|
\
|
||
|
*** Failers
|
||
|
\N
|
||
|
|
||
|
/|-/
|
||
|
abcd
|
||
|
-abc
|
||
|
\Nab-c
|
||
|
*** Failers
|
||
|
\Nabc
|
||
|
|
||
|
/a*(b+)(z)(z)/P
|
||
|
aaaabbbbzzzz
|
||
|
aaaabbbbzzzz\O0
|
||
|
aaaabbbbzzzz\O1
|
||
|
aaaabbbbzzzz\O2
|
||
|
aaaabbbbzzzz\O3
|
||
|
aaaabbbbzzzz\O4
|
||
|
aaaabbbbzzzz\O5
|
||
|
|
||
|
/^.?abcd/S
|
||
|
|
||
|
/\( # ( at start
|
||
|
(?: # Non-capturing bracket
|
||
|
(?>[^()]+) # Either a sequence of non-brackets (no backtracking)
|
||
|
| # Or
|
||
|
(?R) # Recurse - i.e. nested bracketed string
|
||
|
)* # Zero or more contents
|
||
|
\) # Closing )
|
||
|
/x
|
||
|
(abcd)
|
||
|
(abcd)xyz
|
||
|
xyz(abcd)
|
||
|
(ab(xy)cd)pqr
|
||
|
(ab(xycd)pqr
|
||
|
() abc ()
|
||
|
12(abcde(fsh)xyz(foo(bar))lmno)89
|
||
|
*** Failers
|
||
|
abcd
|
||
|
abcd)
|
||
|
(abcd
|
||
|
|
||
|
/\( ( (?>[^()]+) | (?R) )* \) /xg
|
||
|
(ab(xy)cd)pqr
|
||
|
1(abcd)(x(y)z)pqr
|
||
|
|
||
|
/\( (?: (?>[^()]+) | (?R) ) \) /x
|
||
|
(abcd)
|
||
|
(ab(xy)cd)
|
||
|
(a(b(c)d)e)
|
||
|
((ab))
|
||
|
*** Failers
|
||
|
()
|
||
|
|
||
|
/\( (?: (?>[^()]+) | (?R) )? \) /x
|
||
|
()
|
||
|
12(abcde(fsh)xyz(foo(bar))lmno)89
|
||
|
|
||
|
/\( ( (?>[^()]+) | (?R) )* \) /x
|
||
|
(ab(xy)cd)
|
||
|
|
||
|
/\( ( ( (?>[^()]+) | (?R) )* ) \) /x
|
||
|
(ab(xy)cd)
|
||
|
|
||
|
/\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
|
||
|
(ab(xy)cd)
|
||
|
(123ab(xy)cd)
|
||
|
|
||
|
/\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
|
||
|
(ab(xy)cd)
|
||
|
(123ab(xy)cd)
|
||
|
|
||
|
/\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
|
||
|
(ab(xy)cd)
|
||
|
|
||
|
/\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
|
||
|
(abcd(xyz<p>qrs)123)
|
||
|
|
||
|
/\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
|
||
|
(ab(cd)ef)
|
||
|
(ab(cd(ef)gh)ij)
|
||
|
|
||
|
/^[[:alnum:]]/D
|
||
|
|
||
|
/^[[:alpha:]]/D
|
||
|
|
||
|
/^[[:ascii:]]/D
|
||
|
|
||
|
/^[[:cntrl:]]/D
|
||
|
|
||
|
/^[[:digit:]]/D
|
||
|
|
||
|
/^[[:graph:]]/D
|
||
|
|
||
|
/^[[:lower:]]/D
|
||
|
|
||
|
/^[[:print:]]/D
|
||
|
|
||
|
/^[[:punct:]]/D
|
||
|
|
||
|
/^[[:space:]]/D
|
||
|
|
||
|
/^[[:upper:]]/D
|
||
|
|
||
|
/^[[:xdigit:]]/D
|
||
|
|
||
|
/^[[:word:]]/D
|
||
|
|
||
|
/^[[:^cntrl:]]/D
|
||
|
|
||
|
/^[12[:^digit:]]/D
|
||
|
|
||
|
/[01[:alpha:]%]/D
|
||
|
|
||
|
/[[.ch.]]/
|
||
|
|
||
|
/[[=ch=]]/
|
||
|
|
||
|
/[[:rhubarb:]]/
|
||
|
|
||
|
/[[:upper:]]/i
|
||
|
A
|
||
|
a
|
||
|
|
||
|
/[[:lower:]]/i
|
||
|
A
|
||
|
a
|
||
|
|
||
|
/((?-i)[[:lower:]])[[:lower:]]/i
|
||
|
ab
|
||
|
aB
|
||
|
*** Failers
|
||
|
Ab
|
||
|
AB
|
||
|
|
||
|
/ End of test input /
|