You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by pg...@apache.org on 2007/11/26 17:50:09 UTC
svn commit: r598339 [35/37] - in /httpd/httpd/vendor/pcre/current: ./ doc/
doc/html/ testdata/
Modified: httpd/httpd/vendor/pcre/current/testdata/testinput2
URL: http://svn.apache.org/viewvc/httpd/httpd/vendor/pcre/current/testdata/testinput2?rev=598339&r1=598338&r2=598339&view=diff
==============================================================================
--- httpd/httpd/vendor/pcre/current/testdata/testinput2 (original)
+++ httpd/httpd/vendor/pcre/current/testdata/testinput2 Mon Nov 26 08:49:53 2007
@@ -1,6 +1,6 @@
-/(a)b|/
+/(a)b|/I
-/abc/
+/abc/I
abc
defabc
\Aabc
@@ -8,29 +8,29 @@
\Adefabc
ABC
-/^abc/
+/^abc/I
abc
\Aabc
*** Failers
defabc
\Adefabc
-/a+bc/
+/a+bc/I
-/a*bc/
+/a*bc/I
-/a{3}bc/
+/a{3}bc/I
-/(abc|a+z)/
+/(abc|a+z)/I
-/^abc$/
+/^abc$/I
abc
*** Failers
def\nabc
-/ab\gdef/X
+/ab\idef/X
-/(?X)ab\gdef/X
+/(?X)ab\idef/X
/x{5,4}/
@@ -50,41 +50,41 @@
/(?z)abc/
-/.*b/
+/.*b/I
-/.*?b/
+/.*?b/I
-/cat|dog|elephant/
+/cat|dog|elephant/I
this sentence eventually mentions a cat
this sentences rambles on and on for a while and then reaches elephant
-/cat|dog|elephant/S
+/cat|dog|elephant/IS
this sentence eventually mentions a cat
this sentences rambles on and on for a while and then reaches elephant
-/cat|dog|elephant/iS
+/cat|dog|elephant/IiS
this sentence eventually mentions a CAT cat
this sentences rambles on and on for a while to elephant ElePhant
-/a|[bcd]/S
+/a|[bcd]/IS
-/(a|[^\dZ])/S
+/(a|[^\dZ])/IS
-/(a|b)*[\s]/S
+/(a|b)*[\s]/IS
/(ab\2)/
/{4,5}abc/
-/(a)(b)(c)\2/
+/(a)(b)(c)\2/I
abcb
\O0abcb
\O3abcb
\O6abcb
\O9abcb
- \O12abcb
+ \O12abcb
-/(a)bc|(a)(b)\2/
+/(a)bc|(a)(b)\2/I
abc
\O0abc
\O3abc
@@ -96,7 +96,7 @@
\O9aba
\O12aba
-/abc$/E
+/abc$/IE
abc
*** Failers
abc\n
@@ -104,93 +104,93 @@
/(a)(b)(c)(d)(e)\6/
-/the quick brown fox/
+/the quick brown fox/I
the quick brown fox
this is a line with the quick brown fox
-/the quick brown fox/A
+/the quick brown fox/IA
the quick brown fox
*** Failers
this is a line with the quick brown fox
/ab(?z)cd/
-/^abc|def/
+/^abc|def/I
abcdef
abcdef\B
-/.*((abc)$|(def))/
+/.*((abc)$|(def))/I
defabc
\Zdefabc
-/abc/P
+/abc/IP
abc
*** Failers
-
-/^abc|def/P
+
+/^abc|def/IP
abcdef
abcdef\B
-/.*((abc)$|(def))/P
+/.*((abc)$|(def))/IP
defabc
\Zdefabc
-
-/the quick brown fox/P
+
+/the quick brown fox/IP
the quick brown fox
- *** Failers
- The Quick Brown Fox
+ *** Failers
+ The Quick Brown Fox
-/the quick brown fox/Pi
+/the quick brown fox/IPi
the quick brown fox
- The Quick Brown Fox
+ The Quick Brown Fox
-/abc.def/P
+/abc.def/IP
*** Failers
abc\ndef
-
-/abc$/P
+
+/abc$/IP
abc
- abc\n
+ abc\n
-/(abc)\2/P
+/(abc)\2/IP
-/(abc\1)/P
+/(abc\1)/IP
abc
/)/
/a[]b/
-/[^aeiou ]{3,}/
- co-processors, and for
-
-/<.*>/
+/[^aeiou ]{3,}/I
+ co-processors, and for
+
+/<.*>/I
abc<def>ghi<klm>nop
-/<.*?>/
+/<.*?>/I
abc<def>ghi<klm>nop
-/<.*>/U
+/<.*>/IU
abc<def>ghi<klm>nop
-
-/(?U)<.*>/
+
+/(?U)<.*>/I
abc<def>ghi<klm>nop
-/<.*?>/U
+/<.*?>/IU
abc<def>ghi<klm>nop
-
-/={3,}/U
+
+/={3,}/IU
abc========def
-
-/(?U)={3,}?/
+
+/(?U)={3,}?/I
abc========def
-
-/(?<!bar|cattle)foo/
+
+/(?<!bar|cattle)foo/I
foo
- catfoo
+ catfoo
*** Failers
the barfoo
- and cattlefoo
+ and cattlefoo
/(?<=a+)b/
@@ -198,25 +198,25 @@
/(?<!(foo)a\1)bar/
-/(?i)abc/
+/(?i)abc/I
-/(a|(?m)a)/
+/(a|(?m)a)/I
-/(?i)^1234/
+/(?i)^1234/I
-/(^b|(?i)^d)/
+/(^b|(?i)^d)/I
-/(?s).*/
+/(?s).*/I
-/[abcd]/S
+/[abcd]/IS
-/(?i)[abcd]/S
+/(?i)[abcd]/IS
-/(?m)[xy]|(b|c)/S
+/(?m)[xy]|(b|c)/IS
-/(^a|^b)/m
+/(^a|^b)/Im
-/(?i)(^a|^b)/m
+/(?i)(^a|^b)/Im
/(a)(?(1)a|b|c)/
@@ -224,66 +224,68 @@
/(?(1a)/
+/(?(1a))/
+
/(?(?i))/
/(?(abc))/
/(?(?<ab))/
-/((?s)blah)\s+\1/
+/((?s)blah)\s+\1/I
-/((?i)blah)\s+\1/
+/((?i)blah)\s+\1/I
-/((?i)b)/DS
+/((?i)b)/IDZS
-/(a*b|(?i:c*(?-i)d))/S
+/(a*b|(?i:c*(?-i)d))/IS
-/a$/
+/a$/I
a
a\n
- *** Failers
+ *** Failers
\Za
- \Za\n
+ \Za\n
-/a$/m
+/a$/Im
a
a\n
- \Za\n
- *** Failers
+ \Za\n
+ *** Failers
\Za
-
-/\Aabc/m
-/^abc/m
+/\Aabc/Im
-/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
+/^abc/Im
+
+/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
aaaaabbbbbcccccdef
-/(?<=foo)[ab]/S
+/(?<=foo)[ab]/IS
-/(?<!foo)(alpha|omega)/S
+/(?<!foo)(alpha|omega)/IS
-/(?!alphabet)[ab]/S
+/(?!alphabet)[ab]/IS
-/(?<=foo\n)^bar/m
- foo\nbarbar
+/(?<=foo\n)^bar/Im
+ foo\nbarbar
***Failers
- rhubarb
+ rhubarb
barbell
- abc\nbarton
+ abc\nbarton
-/^(?<=foo\n)bar/m
- foo\nbarbar
+/^(?<=foo\n)bar/Im
+ foo\nbarbar
***Failers
- rhubarb
+ rhubarb
barbell
- abc\nbarton
+ abc\nbarton
-/(?>^abc)/m
+/(?>^abc)/Im
abc
def\nabc
*** Failers
- defabc
+ defabc
/(?<=ab(c+)d)ef/
@@ -293,50 +295,50 @@
/The next three are in testinput2 because they have variable length branches/
-/(?<=bullock|donkey)-cart/
+/(?<=bullock|donkey)-cart/I
the bullock-cart
a donkey-cart race
*** Failers
cart
- horse-and-cart
-
-/(?<=ab(?i)x|y|z)/
+ horse-and-cart
-/(?>.*)(?<=(abcd)|(xyz))/
+/(?<=ab(?i)x|y|z)/I
+
+/(?>.*)(?<=(abcd)|(xyz))/I
alphabetabcd
endingxyz
-/(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
+/(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
abxyZZ
abXyZZ
ZZZ
zZZ
bZZ
- BZZ
+ BZZ
*** Failers
- ZZ
- abXYZZ
+ ZZ
+ abXYZZ
zzz
- bzz
+ bzz
-/(?<!(foo)a)bar/
+/(?<!(foo)a)bar/I
bar
- foobbar
+ foobbar
*** Failers
- fooabar
+ fooabar
-/This one is here because Perl 5.005_02 doesn't fail it/
+/This one is here because Perl 5.005_02 doesn't fail it/I
-/^(a)?(?(1)a|b)+$/
+/^(a)?(?(1)a|b)+$/I
*** Failers
- a
+ a
-/This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/
+/This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I
-/^(a\1?){4}$/
+/^(a\1?){4}$/I
aaaaaa
-
-/These are syntax tests from Perl 5.005/
+
+/These are syntax tests from Perl 5.005/I
/a[b-a]/
@@ -362,23 +364,23 @@
/(a)|\2/
-/a[b-a]/i
+/a[b-a]/Ii
-/a[]b/i
+/a[]b/Ii
-/a[/i
+/a[/Ii
-/*a/i
+/*a/Ii
-/(*)b/i
+/(*)b/Ii
-/abc)/i
+/abc)/Ii
-/(abc/i
+/(abc/Ii
-/a**/i
+/a**/Ii
-/)(/i
+/)(/Ii
/:(?:/
@@ -410,190 +412,190 @@
/abc/\i
-/(a)bc(d)/
+/(a)bc(d)/I
abcd
abcd\C2
abcd\C5
-
-/(.{20})/
+
+/(.{20})/I
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz\C1
abcdefghijklmnopqrstuvwxyz\G1
-
-/(.{15})/
+
+/(.{15})/I
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz\C1\G1
-/(.{16})/
+/(.{16})/I
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
+/^(a|(bc))de(f)/I
+ adef\G1\G2\G3\G4\L
+ bcdef\G1\G2\G3\G4\L
+ adefghijk\C0
-/.*X/Ds
+/^abc\00def/I
+ abc\00def\L\C0
-/(.*X|^B)/D
+/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/I
-/(.*X|^B)/Ds
-
-/(?s)(.*X|^B)/D
+/.*X/IDZ
+
+/.*X/IDZs
+
+/(.*X|^B)/IDZ
+
+/(.*X|^B)/IDZs
-/(?s:.*X|^B)/D
+/(?s)(.*X|^B)/IDZ
-/\Biss\B/+
+/(?s:.*X|^B)/IDZ
+
+/\Biss\B/I+
Mississippi
-/\Biss\B/+P
+/\Biss\B/I+P
Mississippi
-/iss/G+
+/iss/IG+
Mississippi
-/\Biss\B/G+
+/\Biss\B/IG+
Mississippi
-/\Biss\B/g+
+/\Biss\B/Ig+
Mississippi
*** Failers
Mississippi\A
-/(?<=[Ms])iss/g+
+/(?<=[Ms])iss/Ig+
Mississippi
-/(?<=[Ms])iss/G+
+/(?<=[Ms])iss/IG+
Mississippi
-/^iss/g+
+/^iss/Ig+
ississippi
-
-/.*iss/g+
- abciss\nxyzisspqr
-/.i./+g
+/.*iss/Ig+
+ abciss\nxyzisspqr
+
+/.i./I+g
Mississippi
Mississippi\A
Missouri river
- Missouri river\A
+ Missouri river\A
-/^.is/+g
+/^.is/I+g
Mississippi
-/^ab\n/g+
+/^ab\n/Ig+
ab\nab\ncd
-/^ab\n/mg+
+/^ab\n/Img+
ab\nab\ncd
-/abc/
+/abc/I
-/abc|bac/
+/abc|bac/I
-/(abc|bac)/
+/(abc|bac)/I
-/(abc|(c|dc))/
+/(abc|(c|dc))/I
-/(abc|(d|de)c)/
+/(abc|(d|de)c)/I
-/a*/
+/a*/I
-/a+/
+/a+/I
-/(baa|a+)/
+/(baa|a+)/I
-/a{0,3}/
+/a{0,3}/I
-/baa{3,}/
+/baa{3,}/I
-/"([^\\"]+|\\.)*"/
+/"([^\\"]+|\\.)*"/I
-/(abc|ab[cd])/
+/(abc|ab[cd])/I
-/(a|.)/
+/(a|.)/I
-/a|ba|\w/
+/a|ba|\w/I
-/abc(?=pqr)/
+/abc(?=pqr)/I
-/...(?<=abc)/
+/...(?<=abc)/I
-/abc(?!pqr)/
+/abc(?!pqr)/I
-/ab./
+/ab./I
-/ab[xyz]/
+/ab[xyz]/I
-/abc*/
+/abc*/I
-/ab.c*/
+/ab.c*/I
-/a.c*/
+/a.c*/I
-/.c*/
+/.c*/I
-/ac*/
+/ac*/I
-/(a.c*|b.c*)/
+/(a.c*|b.c*)/I
-/a.c*|aba/
+/a.c*|aba/I
-/.+a/
+/.+a/I
-/(?=abcda)a.*/
+/(?=abcda)a.*/I
-/(?=a)a.*/
+/(?=a)a.*/I
-/a(b)*/
+/a(b)*/I
-/a\d*/
+/a\d*/I
-/ab\d*/
+/ab\d*/I
-/a(\d)*/
+/a(\d)*/I
-/abcde{0,0}/
+/abcde{0,0}/I
-/ab\d+/
+/ab\d+/I
-/a(?(1)b)/
+/a(?(1)b)/I
-/a(?(1)bag|big)/
+/a(?(1)bag|big)/I
-/a(?(1)bag|big)*/
+/a(?(1)bag|big)*/I
-/a(?(1)bag|big)+/
+/a(?(1)bag|big)+/I
-/a(?(1)b..|b..)/
+/a(?(1)b..|b..)/I
-/ab\d{0}e/
+/ab\d{0}e/I
-/a?b?/
+/a?b?/I
a
b
ab
\
*** Failers
- \N
-
-/|-/
+ \N
+
+/|-/I
abcd
-abc
\Nab-c
*** Failers
- \Nabc
+ \Nabc
-/a*(b+)(z)(z)/P
+/a*(b+)(z)(z)/IP
aaaabbbbzzzz
aaaabbbbzzzz\O0
aaaabbbbzzzz\O1
@@ -601,8 +603,8 @@
aaaabbbbzzzz\O3
aaaabbbbzzzz\O4
aaaabbbbzzzz\O5
-
-/^.?abcd/S
+
+/^.?abcd/IS
/\( # ( at start
(?: # Non-capturing bracket
@@ -611,337 +613,343 @@
(?R) # Recurse - i.e. nested bracketed string
)* # Zero or more contents
\) # Closing )
- /x
+ /Ix
(abcd)
(abcd)xyz
xyz(abcd)
- (ab(xy)cd)pqr
- (ab(xycd)pqr
- () abc ()
+ (ab(xy)cd)pqr
+ (ab(xycd)pqr
+ () abc ()
12(abcde(fsh)xyz(foo(bar))lmno)89
*** Failers
- abcd
+ abcd
abcd)
- (abcd
+ (abcd
-/\( ( (?>[^()]+) | (?R) )* \) /xg
- (ab(xy)cd)pqr
+/\( ( (?>[^()]+) | (?R) )* \) /Ixg
+ (ab(xy)cd)pqr
1(abcd)(x(y)z)pqr
-/\( (?: (?>[^()]+) | (?R) ) \) /x
+/\( (?: (?>[^()]+) | (?R) ) \) /Ix
(abcd)
(ab(xy)cd)
- (a(b(c)d)e)
- ((ab))
+ (a(b(c)d)e)
+ ((ab))
*** Failers
- ()
+ ()
-/\( (?: (?>[^()]+) | (?R) )? \) /x
+/\( (?: (?>[^()]+) | (?R) )? \) /Ix
()
12(abcde(fsh)xyz(foo(bar))lmno)89
-/\( ( (?>[^()]+) | (?R) )* \) /x
+/\( ( (?>[^()]+) | (?R) )* \) /Ix
(ab(xy)cd)
-/\( ( ( (?>[^()]+) | (?R) )* ) \) /x
+/\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
(ab(xy)cd)
-/\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
+/\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
(ab(xy)cd)
(123ab(xy)cd)
-/\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
+/\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
(ab(xy)cd)
(123ab(xy)cd)
-/\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
+/\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
(ab(xy)cd)
-/\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
+/\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
(abcd(xyz<p>qrs)123)
-/\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
+/\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
(ab(cd)ef)
(ab(cd(ef)gh)ij)
-/^[[:alnum:]]/D
+/^[[:alnum:]]/DZ
+
+/^[[:^alnum:]]/DZ
+
+/^[[:alpha:]]/DZ
-/^[[:^alnum:]]/D
+/^[[:^alpha:]]/DZ
-/^[[:alpha:]]/D
+/[_[:alpha:]]/IS
-/^[[:^alpha:]]/D
-
-/^[[:ascii:]]/D
+/^[[:ascii:]]/DZ
-/^[[:^ascii:]]/D
+/^[[:^ascii:]]/DZ
-/^[[:blank:]]/D
+/^[[:blank:]]/DZ
-/^[[:cntrl:]]/D
+/^[[:^blank:]]/DZ
-/^[[:digit:]]/D
+/[\n\x0b\x0c\x0d[:blank:]]/IS
-/^[[:graph:]]/D
+/^[[:cntrl:]]/DZ
-/^[[:lower:]]/D
+/^[[:digit:]]/DZ
-/^[[:print:]]/D
+/^[[:graph:]]/DZ
-/^[[:punct:]]/D
+/^[[:lower:]]/DZ
-/^[[:space:]]/D
+/^[[:print:]]/DZ
-/^[[:upper:]]/D
+/^[[:punct:]]/DZ
-/^[[:xdigit:]]/D
+/^[[:space:]]/DZ
-/^[[:word:]]/D
+/^[[:upper:]]/DZ
-/^[[:^cntrl:]]/D
+/^[[:xdigit:]]/DZ
-/^[12[:^digit:]]/D
+/^[[:word:]]/DZ
-/^[[:^blank:]]/D
+/^[[:^cntrl:]]/DZ
-/[01[:alpha:]%]/D
+/^[12[:^digit:]]/DZ
-/[[.ch.]]/
+/^[[:^blank:]]/DZ
-/[[=ch=]]/
+/[01[:alpha:]%]/DZ
-/[[:rhubarb:]]/
+/[[.ch.]]/I
-/[[:upper:]]/i
+/[[=ch=]]/I
+
+/[[:rhubarb:]]/I
+
+/[[:upper:]]/Ii
A
- a
-
-/[[:lower:]]/i
+ a
+
+/[[:lower:]]/Ii
A
- a
+ a
-/((?-i)[[:lower:]])[[:lower:]]/i
+/((?-i)[[:lower:]])[[:lower:]]/Ii
ab
aB
*** Failers
Ab
- AB
+ AB
-/[\200-\410]/
+/[\200-\110]/I
-/^(?(0)f|b)oo/
+/^(?(0)f|b)oo/I
-/This one's here because of the large output vector needed/
+/This one's here because of the large output vector needed/I
-/(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))
(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(
\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\
d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/
+/(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))
(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(
\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\
d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
\O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
-/This one's here because Perl does this differently and PCRE can't at present/
+/This one's here because Perl does this differently and PCRE can't at present/I
-/(main(O)?)+/
+/(main(O)?)+/I
mainmain
mainOmain
-
-/These are all cases where Perl does it differently (nested captures)/
-/^(a(b)?)+$/
+/These are all cases where Perl does it differently (nested captures)/I
+
+/^(a(b)?)+$/I
aba
-
-/^(aa(bb)?)+$/
- aabbaa
-
-/^(aa|aa(bb))+$/
- aabbaa
-
-/^(aa(bb)??)+$/
- aabbaa
-
-/^(?:aa(bb)?)+$/
- aabbaa
-
-/^(aa(b(b))?)+$/
- aabbaa
-/^(?:aa(b(b))?)+$/
- aabbaa
+/^(aa(bb)?)+$/I
+ aabbaa
-/^(?:aa(b(?:b))?)+$/
- aabbaa
+/^(aa|aa(bb))+$/I
+ aabbaa
-/^(?:aa(bb(?:b))?)+$/
- aabbbaa
-
-/^(?:aa(b(?:bb))?)+$/
- aabbbaa
+/^(aa(bb)??)+$/I
+ aabbaa
-/^(?:aa(?:b(b))?)+$/
- aabbaa
+/^(?:aa(bb)?)+$/I
+ aabbaa
-/^(?:aa(?:b(bb))?)+$/
- aabbbaa
+/^(aa(b(b))?)+$/I
+ aabbaa
-/^(aa(b(bb))?)+$/
- aabbbaa
+/^(?:aa(b(b))?)+$/I
+ aabbaa
-/^(aa(bb(bb))?)+$/
- aabbbbaa
+/^(?:aa(b(?:b))?)+$/I
+ aabbaa
-/--------------------------------------------------------------------/
-
-/#/xMD
+/^(?:aa(bb(?:b))?)+$/I
+ aabbbaa
+
+/^(?:aa(b(?:bb))?)+$/I
+ aabbbaa
+
+/^(?:aa(?:b(b))?)+$/I
+ aabbaa
+
+/^(?:aa(?:b(bb))?)+$/I
+ aabbbaa
+
+/^(aa(b(bb))?)+$/I
+ aabbbaa
-/a#/xMD
+/^(aa(bb(bb))?)+$/I
+ aabbbbaa
-/[\s]/D
+/--------------------------------------------------------------------/I
-/[\S]/D
+/#/IxDZ
-/a(?i)b/D
+/a#/IxDZ
+
+/[\s]/DZ
+
+/[\S]/DZ
+
+/a(?i)b/DZ
ab
aB
- *** Failers
- AB
+ *** Failers
+ AB
-/(a(?i)b)/D
+/(a(?i)b)/DZ
ab
aB
- *** Failers
- AB
-
-/ (?i)abc/xD
+ *** Failers
+ AB
+
+/ (?i)abc/IxDZ
/#this is a comment
- (?i)abc/xD
+ (?i)abc/IxDZ
-/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
+/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
-/\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
+/\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
-/\Q\E/D
+/\Q\E/DZ
\
-/\Q\Ex/D
+/\Q\Ex/DZ
-/ \Q\E/D
+/ \Q\E/DZ
-/a\Q\E/D
+/a\Q\E/DZ
abc
bca
- bac
+ bac
-/a\Q\Eb/D
+/a\Q\Eb/DZ
abc
-/\Q\Eabc/D
+/\Q\Eabc/DZ
-/x*+\w/D
+/x*+\w/DZ
*** Failers
xxxxx
-
-/x?+/D
-/x++/D
+/x?+/DZ
+
+/x++/DZ
-/x{1,3}+/D
+/x{1,3}+/DZ
-/(x)*+/D
+/(x)*+/DZ
-/^(\w++|\s++)*$/
+/^(\w++|\s++)*$/I
now is the time for all good men to come to the aid of the party
*** Failers
this is not a line with only words and spaces!
-
-/(\d++)(\w)/
+
+/(\d++)(\w)/I
12345a
*** Failers
- 12345+
+ 12345+
-/a++b/
+/a++b/I
aaab
-/(a++b)/
+/(a++b)/I
aaab
-/(a++)b/
+/(a++)b/I
aaab
-/([^()]++|\([^()]*\))+/
+/([^()]++|\([^()]*\))+/I
((abc(ade)ufh()()x
-
-/\(([^()]++|\([^()]+\))+\)/
+
+/\(([^()]++|\([^()]+\))+\)/I
(abc)
(abc(def)xyz)
*** Failers
- ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-/(abc){1,3}+/D
+/(abc){1,3}+/DZ
-/a+?+/
+/a+?+/I
-/a{2,3}?+b/
+/a{2,3}?+b/I
-/(?U)a+?+/
+/(?U)a+?+/I
-/a{2,3}?+b/U
+/a{2,3}?+b/IU
-/x(?U)a++b/D
+/x(?U)a++b/DZ
xaaaab
-/(?U)xa++b/D
+/(?U)xa++b/DZ
xaaaab
-/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D
+/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
-/^x(?U)a+b/D
+/^x(?U)a+b/DZ
-/^x(?U)(a+)b/D
+/^x(?U)(a+)b/DZ
-/[.x.]/
+/[.x.]/I
-/[=x=]/
+/[=x=]/I
-/[:x:]/
+/[:x:]/I
-/\l/
+/\l/I
-/\L/
+/\L/I
-/\N{name}/
+/\N{name}/I
-/\u/
+/\u/I
-/\U/
+/\U/I
-/[/
+/[/I
-/[a-/
+/[a-/I
-/[[:space:]/
+/[[:space:]/I
-/[\s]/DM
+/[\s]/IDZ
-/[[:space:]]/DM
+/[[:space:]]/IDZ
-/[[:space:]abcde]/DM
+/[[:space:]abcde]/IDZ
-/< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/x
+/< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix
<>
<abcd>
<abc <123> hij>
<abc <def> hij>
- <abc<>def>
- <abc<>
+ <abc<>def>
+ <abc<>
*** Failers
<abc
-|8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM
+|8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
-|\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM
+|\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
/(.*)\d+\1/I
/(.*)\d+/I
-
+
/(.*)\d+\1/Is
/(.*)\d+/Is
@@ -950,12 +958,12 @@
/((.*))\d+\1/I
abc123bc
-
+
/a[b]/I
/(?=a).*/I
-/(?=abc).xyz/iI
+/(?=abc).xyz/IiI
/(?=abc)(?i).xyz/I
@@ -997,11 +1005,11 @@
/a^b/I
-/^a/mI
+/^a/Im
abcde
- xy\nabc
- *** Failers
- xyabc
+ xy\nabc
+ *** Failers
+ xyabc
/c|abc/I
@@ -1009,322 +1017,328 @@
/[ab](?i)cd/IS
-/abc(?C)def/
+/abc(?C)def/I
abcdef
- 1234abcdef
+ 1234abcdef
*** Failers
abcxyz
- abcxyzf
+ abcxyzf
-/abc(?C)de(?C1)f/
+/abc(?C)de(?C1)f/I
123abcdef
-
-/(?C1)\dabc(?C2)def/
+
+/(?C1)\dabc(?C2)def/I
1234abcdef
*** Failers
- abcdef
-
-/(?C255)ab/
+ abcdef
-/(?C256)ab/
+/(?C255)ab/I
-/(?Cab)xx/
+/(?C256)ab/I
-/(?C12vr)x/
+/(?Cab)xx/I
-/abc(?C)def/
+/(?C12vr)x/I
+
+/abc(?C)def/I
*** Failers
\x83\x0\x61bcdef
-/(abc)(?C)de(?C1)f/
+/(abc)(?C)de(?C1)f/I
123abcdef
- 123abcdef\C+
- 123abcdef\C-
+ 123abcdef\C+
+ 123abcdef\C-
*** Failers
- 123abcdef\C!1
-
-/(?C0)(abc(?C1))*/
+ 123abcdef\C!1
+
+/(?C0)(abc(?C1))*/I
abcabcabc
- abcabc\C!1!3
+ abcabc\C!1!3
*** Failers
- abcabcabc\C!1!3
+ abcabcabc\C!1!3
-/(\d{3}(?C))*/
+/(\d{3}(?C))*/I
123\C+
123456\C+
- 123456789\C+
+ 123456789\C+
-/((xyz)(?C)p|(?C1)xyzabc)/
+/((xyz)(?C)p|(?C1)xyzabc)/I
xyzabc\C+
-/(X)((xyz)(?C)p|(?C1)xyzabc)/
+/(X)((xyz)(?C)p|(?C1)xyzabc)/I
Xxyzabc\C+
-/(?=(abc))(?C)abcdef/
+/(?=(abc))(?C)abcdef/I
abcdef\C+
-
-/(?!(abc)(?C1)d)(?C2)abcxyz/
- abcxyz\C+
-/(?<=(abc)(?C))xyz/
+/(?!(abc)(?C1)d)(?C2)abcxyz/I
+ abcxyz\C+
+
+/(?<=(abc)(?C))xyz/I
abcxyz\C+
-
-/(?C)abc/
-/(?C)^abc/
+/a(b+)(c*)(?C1)/I
+ abbbbbccc\C*1
+
+/a(b+?)(c*?)(?C1)/I
+ abbbbbccc\C*1
+
+/(?C)abc/I
-/(?C)a|b/S
+/(?C)^abc/I
-/(?R)/
+/(?C)a|b/IS
-/(a|(?R))/
+/(?R)/I
-/(ab|(bc|(de|(?R))))/
+/(a|(?R))/I
-/x(ab|(bc|(de|(?R))))/
+/(ab|(bc|(de|(?R))))/I
+
+/x(ab|(bc|(de|(?R))))/I
xab
xbc
xde
xxab
xxxab
*** Failers
- xyab
+ xyab
-/(ab|(bc|(de|(?1))))/
+/(ab|(bc|(de|(?1))))/I
-/x(ab|(bc|(de|(?1)x)x)x)/
+/x(ab|(bc|(de|(?1)x)x)x)/I
-/^([^()]|\((?1)*\))*$/
+/^([^()]|\((?1)*\))*$/I
abc
a(b)c
- a(b(c))d
+ a(b(c))d
*** Failers)
- a(b(c)d
+ a(b(c)d
-/^>abc>([^()]|\((?1)*\))*<xyz<$/
+/^>abc>([^()]|\((?1)*\))*<xyz<$/I
>abc>123<xyz<
>abc>1(2)3<xyz<
>abc>(1(2)3)<xyz<
-/(a(?1)b)/D
+/(a(?1)b)/DZ
-/(a(?1)+b)/D
+/(a(?1)+b)/DZ
-/^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i
+/^\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.
+ Able was I ere I saw Elba.
*** Failers
- The quick brown fox
-
-/^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
+ The quick brown fox
+
+/^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
12
(((2+2)*-3)-7)
-12
*** Failers
((2+2)*-3)-7)
-
-/^(x(y|(?1){2})z)/
+
+/^(x(y|(?1){2})z)/I
xyz
- xxyzxyzz
+ xxyzxyzz
*** Failers
xxyzz
- xxyzxyzxyzz
+ xxyzxyzxyzz
-/((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/x
+/((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix
<>
<abcd>
<abc <123> hij>
<abc <def> hij>
- <abc<>def>
- <abc<>
+ <abc<>def>
+ <abc<>
*** Failers
<abc
-/(?1)/
+/(?1)/I
-/((?2)(abc)/
+/((?2)(abc)/I
-/^(abc)def(?1)/
+/^(abc)def(?1)/I
abcdefabc
-/^(a|b|c)=(?1)+/
+/^(a|b|c)=(?1)+/I
a=a
a=b
- a=bc
+ a=bc
-/^(a|b|c)=((?1))+/
+/^(a|b|c)=((?1))+/I
a=a
a=b
- a=bc
+ a=bc
-/a(?P<name1>b|c)d(?P<longername2>e)/D
+/a(?P<name1>b|c)d(?P<longername2>e)/DZ
abde
- acde
+ acde
-/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
+/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
-/(?P<a>a)...(?P=a)bbb(?P>a)d/D
+/(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
-/^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/i
+/^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii
1221
Satan, oscillate my metallic sonatas!
A man, a plan, a canal: Panama!
- Able was I ere I saw Elba.
+ Able was I ere I saw Elba.
*** Failers
- The quick brown fox
-
-/((?(R)a|b))\1(?1)?/
+ The quick brown fox
+
+/((?(R)a|b))\1(?1)?/I
bb
- bbaa
+ bbaa
-/(.*)a/sI
+/(.*)a/Is
-/(.*)a\1/sI
+/(.*)a\1/Is
-/(.*)a(b)\2/sI
+/(.*)a(b)\2/Is
-/((.*)a|(.*)b)z/sI
+/((.*)a|(.*)b)z/Is
-/((.*)a|(.*)b)z\1/sI
+/((.*)a|(.*)b)z\1/Is
-/((.*)a|(.*)b)z\2/sI
+/((.*)a|(.*)b)z\2/Is
-/((.*)a|(.*)b)z\3/sI
+/((.*)a|(.*)b)z\3/Is
-/((.*)a|^(.*)b)z\3/sI
+/((.*)a|^(.*)b)z\3/Is
-/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI
+/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
-/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI
+/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
-/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI
+/(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
-/(a)(bc)/ND
+/(a)(bc)/INDZ
abc
-/(?P<one>a)(bc)/ND
+/(?P<one>a)(bc)/INDZ
abc
-/(a)(?P<named>bc)/ND
+/(a)(?P<named>bc)/INDZ
-/(a+)*zz/
+/(a+)*zz/I
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
aaaaaaaaaaaaaz\M
-/(aaa(?C1)bbb|ab)/
+/(aaa(?C1)bbb|ab)/I
aaabbb
aaabbb\C*0
aaabbb\C*1
aaabbb\C*-1
-/ab(?P<one>cd)ef(?P<two>gh)/
+/ab(?P<one>cd)ef(?P<two>gh)/I
abcdefgh
abcdefgh\C1\Gtwo
abcdefgh\Cone\Ctwo
- abcdefgh\Cthree
+ abcdefgh\Cthree
-/(?P<Tes>)(?P<Test>)/D
+/(?P<Tes>)(?P<Test>)/DZ
-/(?P<Test>)(?P<Tes>)/D
+/(?P<Test>)(?P<Tes>)/DZ
-/(?P<Z>zz)(?P<A>aa)/
+/(?P<Z>zz)(?P<A>aa)/I
zzaa\CZ
zzaa\CA
-/(?P<x>eks)(?P<x>eccs)/
+/(?P<x>eks)(?P<x>eccs)/I
-/(?P<abc>abc(?P<def>def)(?P<abc>xyz))/
+/(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
-"\[((?P<elem>\d+)(,(?P>elem))*)\]"
+"\[((?P<elem>\d+)(,(?P>elem))*)\]"I
[10,20,30,5,5,4,4,2,43,23,4234]
*** Failers
- []
+ []
-"\[((?P<elem>\d+)(,(?P>elem))*)?\]"
+"\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
[10,20,30,5,5,4,4,2,43,23,4234]
- []
+ []
-/(a(b(?2)c))?/D
+/(a(b(?2)c))?/DZ
-/(a(b(?2)c))*/D
+/(a(b(?2)c))*/DZ
-/(a(b(?2)c)){0,2}/D
+/(a(b(?2)c)){0,2}/DZ
-/[ab]{1}+/D
+/[ab]{1}+/DZ
-/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/i
+/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
Baby Bjorn Active Carrier - With free SHIPPING!!
-/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/iS
+/((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
Baby Bjorn Active Carrier - With free SHIPPING!!
-
-/a*.*b/SD
-/(a|b)*.?c/SD
+/a*.*b/ISDZ
-/abc(?C255)de(?C)f/D
+/(a|b)*.?c/ISDZ
-/abcde/CD
+/abc(?C255)de(?C)f/DZ
+
+/abcde/ICDZ
abcde
- abcdfe
-
-/a*b/CD
+ abcdfe
+
+/a*b/ICDZ
ab
aaaab
- aaaacb
+ aaaacb
-/a+b/CD
+/a+b/ICDZ
ab
aaaab
- aaaacb
+ aaaacb
-/(abc|def)x/CD
+/(abc|def)x/ICDZ
abcx
defx
abcdefzx
-/(ab|cd){3,4}/C
+/(ab|cd){3,4}/IC
ababab
abcdabcd
- abcdcdcdcdcd
+ abcdcdcdcdcd
-/([ab]{,4}c|xy)/CD
+/([ab]{,4}c|xy)/ICDZ
Note: that { does NOT introduce a quantifier
-/([ab]{1,4}c|xy){4,5}?123/CD
+/([ab]{1,4}c|xy){4,5}?123/ICDZ
aacaacaacaacaac123
/\b.*/I
ab cd\>1
-
-/\b.*/Is
+
+/\b.*/Is
ab cd\>1
-
+
/(?!.bcd).*/I
- Xbcd12345
+ Xbcd12345
-/abcde/
+/abcde/I
ab\P
abc\P
abcd\P
- abcde\P
+ abcde\P
the quick brown abc\P
** Failers\P
the quick brown abxyz fox\P
-
-"^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"
+
+"^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
13/05/04\P
13/5/2004\P
- 02/05/09\P
+ 02/05/09\P
1\P
1/2\P
1/2/0\P
- 1/2/04\P
+ 1/2/04\P
0\P
02/\P
- 02/0\P
+ 02/0\P
02/1\P
** Failers\P
\P
@@ -1332,65 +1346,1193 @@
33/4/04\P
3/13/04\P
0/1/2003\P
- 0/\P
- 02/0/\P
- 02/13\P
+ 0/\P
+ 02/0/\P
+ 02/13\P
/0{0,2}ABC/I
-
+
/\d{3,}ABC/I
-
+
/\d*ABC/I
/[abc]+DE/I
-/[abc]?123/
+/[abc]?123/I
123\P
a\P
b\P
c\P
c12\P
- c123\P
+ c123\P
-/^(?:\d){3,5}X/
+/^(?:\d){3,5}X/I
1\P
123\P
123X
1234\P
1234X
12345\P
- 12345X
- *** Failers
- 1X
- 123456\P
+ 12345X
+ *** Failers
+ 1X
+ 123456\P
-/abc/>testsavedregex
+/abc/I>testsavedregex
<testsavedregex
abc
** Failers
bca
-
-/abc/F>testsavedregex
+
+/abc/IF>testsavedregex
<testsavedregex
abc
** Failers
bca
-/(a|b)/S>testsavedregex
+/(a|b)/IS>testsavedregex
<testsavedregex
abc
** Failers
- def
-
-/(a|b)/SF>testsavedregex
+ def
+
+/(a|b)/ISF>testsavedregex
<testsavedregex
abc
** Failers
- def
-
-~<(\w+)/?>(.)*</(\1)>~smg
+ def
+
+~<(\w+)/?>(.)*</(\1)>~smgI
<!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link
ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
/^a/IF
+
+/line\nbreak/I
+ this is a line\nbreak
+ line one\nthis is a line\nbreak in the second line
+
+/line\nbreak/If
+ this is a line\nbreak
+ ** Failers
+ line one\nthis is a line\nbreak in the second line
+
+/line\nbreak/Imf
+ this is a line\nbreak
+ ** Failers
+ line one\nthis is a line\nbreak in the second line
+
+/ab.cd/IP
+ ab-cd
+ ab=cd
+ ** Failers
+ ab\ncd
+
+/ab.cd/IPs
+ ab-cd
+ ab=cd
+ ab\ncd
+
+/(?i)(?-i)AbCd/I
+ AbCd
+ ** Failers
+ abcd
+
+/a{11111111111111111111}/I
+
+/(){64294967295}/I
+
+/(){2,4294967295}/I
+
+"(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
+ abcdefghijklAkB
+
+"(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I
+ abcdefghijklAkB
+
+"(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
+ abcdefghijklAkB
+
+"(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76
>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+"(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+/[^()]*(?:\((?R)\)[^()]*)*/I
+ (this(and)that
+ (this(and)that)
+ (this(and)that)stuff
+
+/[^()]*(?:\((?>(?R))\)[^()]*)*/I
+ (this(and)that
+ (this(and)that)
+
+/[^()]*(?:\((?R)\))*[^()]*/I
+ (this(and)that
+ (this(and)that)
+
+/(?:\((?R)\))*[^()]*/I
+ (this(and)that
+ (this(and)that)
+ ((this))
+
+/(?:\((?R)\))|[^()]*/I
+ (this(and)that
+ (this(and)that)
+ (this)
+ ((this))
+
+/a(b)c/IPN
+ abc
+
+/a(?P<name>b)c/IPN
+ abc
+
+/\x{100}/I
+
+/\x{0000ff}/I
+
+/^((?P<A>a1)|(?P<A>a2)b)/I
+
+/^((?P<A>a1)|(?P<A>a2)b)/IJ
+ a1b\CA
+ a2b\CA
+ ** Failers
+ a1b\CZ\CA
+
+/^(?P<A>a)(?P<A>b)/IJ
+ ab\CA
+
+/^(?P<A>a)(?P<A>b)|cd/IJ
+ ab\CA
+ cd\CA
+
+/^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
+ cdefgh\CA
+
+/^((?P<A>a1)|(?P<A>a2)b)/IJ
+ a1b\GA
+ a2b\GA
+ ** Failers
+ a1b\GZ\GA
+
+/^(?P<A>a)(?P<A>b)/IJ
+ ab\GA
+
+/^(?P<A>a)(?P<A>b)|cd/IJ
+ ab\GA
+ cd\GA
+
+/^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
+ cdefgh\GA
+
+/(?J)^((?P<A>a1)|(?P<A>a2)b)/I
+ a1b\CA
+ a2b\CA
+
+/^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
+
+/ In this next test, J is not set at the outer level; consequently it isn't
+set in the pattern's options; consequently pcre_get_named_substring() produces
+a random value. /Ix
+
+/^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
+ a bc d\CA\CB\CC
+
+/^(?P<A>a)?(?(A)a|b)/I
+ aabc
+ bc
+ ** Failers
+ abc
+
+/(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
+ bXaX
+
+/(?:(?(2y)a|b)(X))+/I
+
+/(?:(?(ZA)a|b)(?P<ZZ>X))+/I
+
+/(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
+ bbXaaX
+
+/(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
+ (b)\\Xa\\X
+
+/(?P<ABC/I
+
+/(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
+ bXXaYYaY
+ bXYaXXaX
+
+/()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
+ bXXaYYaY
+
+/\777/I
+
+/\s*,\s*/IS
+ \x0b,\x0b
+ \x0c,\x0d
+
+/^abc/Im
+ xyz\nabc
+ xyz\nabc\<lf>
+ xyz\r\nabc\<lf>
+ xyz\rabc\<cr>
+ xyz\r\nabc\<crlf>
+ ** Failers
+ xyz\nabc\<cr>
+ xyz\r\nabc\<cr>
+ xyz\nabc\<crlf>
+ xyz\rabc\<crlf>
+ xyz\rabc\<lf>
+
+/abc$/Im<lf>
+ xyzabc
+ xyzabc\n
+ xyzabc\npqr
+ xyzabc\r\<cr>
+ xyzabc\rpqr\<cr>
+ xyzabc\r\n\<crlf>
+ xyzabc\r\npqr\<crlf>
+ ** Failers
+ xyzabc\r
+ xyzabc\rpqr
+ xyzabc\r\n
+ xyzabc\r\npqr
+
+/^abc/Im<cr>
+ xyz\rabcdef
+ xyz\nabcdef\<lf>
+ ** Failers
+ xyz\nabcdef
+
+/^abc/Im<lf>
+ xyz\nabcdef
+ xyz\rabcdef\<cr>
+ ** Failers
+ xyz\rabcdef
+
+/^abc/Im<crlf>
+ xyz\r\nabcdef
+ xyz\rabcdef\<cr>
+ ** Failers
+ xyz\rabcdef
+
+/^abc/Im<bad>
+
+/abc/I
+ xyz\rabc\<bad>
+ abc
+
+/.*/I<lf>
+ abc\ndef
+ abc\rdef
+ abc\r\ndef
+ \<cr>abc\ndef
+ \<cr>abc\rdef
+ \<cr>abc\r\ndef
+ \<crlf>abc\ndef
+ \<crlf>abc\rdef
+ \<crlf>abc\r\ndef
+
+/\w+(.)(.)?def/Is
+ abc\ndef
+ abc\rdef
+ abc\r\ndef
+
++((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
+ /* this is a C style comment */\M
+
+/(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
+
+/()()()()()()()()()()()()()()()()()()()()
+ ()()()()()()()()()()()()()()()()()()()()
+ ()()()()()()()()()()()()()()()()()()()()
+ ()()()()()()()()()()()()()()()()()()()()
+ ()()()()()()()()()()()()()()()()()()()()
+ (.(.))/Ix
+ XY\O400
+
+/(a*b|(?i:c*(?-i)d))/IS
+
+/()[ab]xyz/IS
+
+/(|)[ab]xyz/IS
+
+/(|c)[ab]xyz/IS
+
+/(|c?)[ab]xyz/IS
+
+/(d?|c?)[ab]xyz/IS
+
+/(d?|c)[ab]xyz/IS
+
+/^a*b\d/DZ
+
+/^a*+b\d/DZ
+
+/^a*?b\d/DZ
+
+/^a+A\d/DZ
+ aaaA5
+ ** Failers
+ aaaa5
+
+/^a*A\d/IiDZ
+ aaaA5
+ aaaa5
+
+/(a*|b*)[cd]/IS
+
+/(a+|b*)[cd]/IS
+
+/(a*|b+)[cd]/IS
+
+/(a+|b+)[cd]/IS
+
+/((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
+ ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
+ (((
+ a
+ ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ )))
+/Ix
+ large nest
+
+/a*\d/BZ
+
+/a*\D/BZ
+
+/0*\d/BZ
+
+/0*\D/BZ
+
+/a*\s/BZ
+
+/a*\S/BZ
+
+/ *\s/BZ
+
+/ *\S/BZ
+
+/a*\w/BZ
+
+/a*\W/BZ
+
+/=*\w/BZ
+
+/=*\W/BZ
+
+/\d*a/BZ
+
+/\d*2/BZ
+
+/\d*\d/BZ
+
+/\d*\D/BZ
+
+/\d*\s/BZ
+
+/\d*\S/BZ
+
+/\d*\w/BZ
+
+/\d*\W/BZ
+
+/\D*a/BZ
+
+/\D*2/BZ
+
+/\D*\d/BZ
+
+/\D*\D/BZ
+
+/\D*\s/BZ
+
+/\D*\S/BZ
+
+/\D*\w/BZ
+
+/\D*\W/BZ
+
+/\s*a/BZ
+
+/\s*2/BZ
+
+/\s*\d/BZ
+
+/\s*\D/BZ
+
+/\s*\s/BZ
+
+/\s*\S/BZ
+
+/\s*\w/BZ
+
+/\s*\W/BZ
+
+/\S*a/BZ
+
+/\S*2/BZ
+
+/\S*\d/BZ
+
+/\S*\D/BZ
+
+/\S*\s/BZ
+
+/\S*\S/BZ
+
+/\S*\w/BZ
+
+/\S*\W/BZ
+
+/\w*a/BZ
+
+/\w*2/BZ
+
+/\w*\d/BZ
+
+/\w*\D/BZ
+
+/\w*\s/BZ
+
+/\w*\S/BZ
+
+/\w*\w/BZ
+
+/\w*\W/BZ
+
+/\W*a/BZ
+
+/\W*2/BZ
+
+/\W*\d/BZ
+
+/\W*\D/BZ
+
+/\W*\s/BZ
+
+/\W*\S/BZ
+
+/\W*\w/BZ
+
+/\W*\W/BZ
+
+/[^a]+a/BZ
+
+/[^a]+a/BZi
+
+/[^a]+A/BZi
+
+/[^a]+b/BZ
+
+/[^a]+\d/BZ
+
+/a*[^a]/BZ
+
+/(?P<abc>x)(?P<xyz>y)/I
+ xy\Cabc\Cxyz
+
+/(?<abc>x)(?'xyz'y)/I
+ xy\Cabc\Cxyz
+
+/(?<abc'x)(?'xyz'y)/I
+
+/(?<abc>x)(?'xyz>y)/I
+
+/(?P'abc'x)(?P<xyz>y)/I
+
+/^(?:(?(ZZ)a|b)(?<ZZ>X))+/
+ bXaX
+ bXbX
+ ** Failers
+ aXaX
+ aXbX
+
+/^(?P>abc)(?<abcd>xxx)/
+
+/^(?P>abc)(?<abc>x|y)/
+ xx
+ xy
+ yy
+ yx
+
+/^(?P>abc)(?P<abc>x|y)/
+ xx
+ xy
+ yy
+ yx
+
+/^((?(abc)a|b)(?<abc>x|y))+/
+ bxay
+ bxby
+ ** Failers
+ axby
+
+/^(((?P=abc)|X)(?<abc>x|y))+/
+ XxXxxx
+ XxXyyx
+ XxXyxx
+ ** Failers
+ x
+
+/^(?1)(abc)/
+ abcabc
+
+/^(?:(?:\1|X)(a|b))+/
+ Xaaa
+ Xaba
+
+/^[\E\Qa\E-\Qz\E]+/BZ
+
+/^[a\Q]bc\E]/BZ
+
+/^[a-\Q\E]/BZ
+
+/^(?P>abc)[()](?<abc>)/BZ
+
+/^((?(abc)y)[()](?P<abc>x))+/BZ
+ (xy)x
+
+/^(?P>abc)\Q()\E(?<abc>)/BZ
+
+/^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
+
+/^(?P>abc) # this is (a comment)
+ (?<abc>)/BZx
+
+/^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\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
+
+/(?=(\w+))\1:/I
+ abcd:
+
+/(?=(?'abc'\w+))\k<abc>:/I
+ abcd:
+
+/(?'abc'\w+):\k<abc>{2}/
+ a:aaxyz
+ ab:ababxyz
+ ** Failers
+ a:axyz
+ ab:abxyz
+
+/(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
+ adaa
+ ** Failers
+ addd
+ adbb
+
+/(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
+ bdaa
+ bdab
+ ** Failers
+ bddd
+
+/^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)/x
+ abd
+ ce
+
+/(?(<bc))/
+
+/(?(''))/
+
+/(?('R')stuff)/
+
+/((abc (?(R) (?(R1)1) (?(R2)2) X | (?1) (?2) (?R) ))) /x
+ abcabc1Xabc2XabcXabcabc
+
+/(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
+ abcabc1Xabc2XabcXabcabc
+
+/(?<A> (?'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
+ abcabc1Xabc2XabcXabcabc
+
+/^(?(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
+
+/^(?(DEFINE) abc | xyz ) /x
+
+/(?(DEFINE) abc) xyz/xI
+
+/(?(DEFINE) abc){3} xyz/x
+
+/(a|)*\d/
+ \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
+
+/^a.b/<lf>
+ a\rb
+ a\nb\<cr>
+ a\x85b\<anycrlf>
+ ** Failers
+ a\nb
+ a\nb\<any>
+ a\rb\<cr>
+ a\rb\<any>
+ a\x85b\<any>
+ a\rb\<anycrlf>
+
+/^abc./mgx<any>
+ abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 \x{2028}abc8 \x{2029}abc9 JUNK
+
+/abc.$/mgx<any>
+ abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9
+
+/a/<cr><any>
+
+/a/<any><crlf>
+
+/^a\Rb/<bsr_unicode>
+ a\nb
+ a\rb
+ a\r\nb
+ a\x0bb
+ a\x0cb
+ a\x85b
+ ** Failers
+ a\n\rb
+
+/^a\R*b/<bsr_unicode>
+ ab
+ a\nb
+ a\rb
+ a\r\nb
+ a\x0bb
+ a\x0cb
+ a\x85b
+ a\n\rb
+ a\n\r\x85\x0cb
+
+/^a\R+b/<bsr_unicode>
+ a\nb
+ a\rb
+ a\r\nb
+ a\x0bb
+ a\x0cb
+ a\x85b
+ a\n\rb
+ a\n\r\x85\x0cb
+ ** Failers
+ ab
+
+/^a\R{1,3}b/<bsr_unicode>
+ a\nb
+ a\n\rb
+ a\n\r\x85b
+ a\r\n\r\nb
+ a\r\n\r\n\r\nb
+ a\n\r\n\rb
+ a\n\n\r\nb
+ ** Failers
+ a\n\n\n\rb
+ a\r
+
+/^a[\R]b/<bsr_unicode>
+ aRb
+ ** Failers
+ a\nb
+
+/(?&abc)X(?<abc>P)/I
+ abcPXP123
+
+/(?1)X(?<abc>P)/I
+ abcPXP123
+
+/(?(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
+
+/(?:a(?&abc)b)*(?<abc>x)/
+ 123axbaxbaxbx456
+ 123axbaxbaxb456
+
+/(?:a(?&abc)b){1,5}(?<abc>x)/
+ 123axbaxbaxbx456
+
+/(?:a(?&abc)b){2,5}(?<abc>x)/
+ 123axbaxbaxbx456
+
+/(?:a(?&abc)b){2,}(?<abc>x)/
+ 123axbaxbaxbx456
+
+/(abc)(?i:(?1))/
+ defabcabcxyz
+ DEFabcABCXYZ
+
+/(abc)(?:(?i)(?1))/
+ defabcabcxyz
+ DEFabcABCXYZ
+
+/^(a(b))\1\g1\g{1}\g-1\g{-1}\g{-02}Z/
+ ababababbbabZXXXX
+
+/^(a)\g-2/
+
+/^(a)\g/
+
+/^(a)\g{0}/
+
+/^(a)\g{3/
+
+/^(a)\g{4a}/
+
+/^a.b/<lf>
+ a\rb
+ *** Failers
+ a\nb
+
+/.+foo/
+ afoo
+ ** Failers
+ \r\nfoo
+ \nfoo
+
+/.+foo/<crlf>
+ afoo
+ \nfoo
+ ** Failers
+ \r\nfoo
+
+/.+foo/<any>
+ afoo
+ ** Failers
+ \nfoo
+ \r\nfoo
+
+/.+foo/s
+ afoo
+ \r\nfoo
+ \nfoo
+
+/^$/mg<any>
+ abc\r\rxyz
+ abc\n\rxyz
+ ** Failers
+ abc\r\nxyz
+
+/(?m)^$/<any>g+
+ abc\r\n\r\n
+
+/(?m)^$|^\r\n/<any>g+
+ abc\r\n\r\n
+
+/(?m)$/<any>g+
+ abc\r\n\r\n
+
+/abc.$/mgx<anycrlf>
+ abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9
+
+/^X/m
+ XABC
+ ** Failers
+ XABC\B
+
+/(ab|c)(?-1)/BZ
+ abc
+
+/xy(?+1)(abc)/BZ
+ xyabcabc
+ ** Failers
+ xyabc
+
+/x(?-0)y/
+
+/x(?-1)y/
+
+/x(?+0)y/
+
+/x(?+1)y/
+
+/^(abc)?(?(-1)X|Y)/BZ
+ abcX
+ Y
+ ** Failers
+ abcY
+
+/^((?(+1)X|Y)(abc))+/BZ
+ YabcXabc
+ YabcXabcXabc
+ ** Failers
+ XabcXabc
+
+/(?(-1)a)/BZ
+
+/((?(-1)a))/BZ
+
+/((?(-2)a))/BZ
+
+/^(?(+1)X|Y)/BZ
+ Y
+
+/(foo)\Kbar/
+ foobar
+
+/(foo)(\Kbar|baz)/
+ foobar
+ foobaz
+
+/(foo\Kbar)baz/
+ foobarbaz
+
+/(?<A>tom|bon)-\k{A}/
+ tom-tom
+ bon-bon
+ ** Failers
+ tom-bon
+
+/(?<A>tom|bon)-\g{A}/
+ tom-tom
+ bon-bon
+
+/\g{A/
+
+/(?|(abc)|(xyz))/BZ
+ >abc<
+ >xyz<
+
+/(x)(?|(abc)|(xyz))(x)/BZ
+ xabcx
+ xxyzx
+
+/(x)(?|(abc)(pqr)|(xyz))(x)/BZ
+ xabcpqrx
+ xxyzx
+
+/(?|(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
+
+/[\h]/BZ
+ >\x09<
+
+/[\h]+/BZ
+ >\x09\x20\xa0<
+
+/[\v]/BZ
+
+/[\H]/BZ
+
+/[^\h]/BZ
+
+/[\V]/BZ
+
+/[\x0a\V]/BZ
+
+/\H++X/BZ
+ ** Failers
+ XXXX
+
+/\H+\hY/BZ
+ XXXX Y
+
+/\H+ Y/BZ
+
+/\h+A/BZ
+
+/\v*B/BZ
+
+/\V+\x0a/BZ
+
+/A+\h/BZ
+
+/ *\H/BZ
+
+/A*\v/BZ
+
+/\x0b*\V/BZ
+
+/\d+\h/BZ
+
+/\d*\v/BZ
+
+/S+\h\S+\v/BZ
+
+/\w{3,}\h\w+\v/BZ
+
+/\h+\d\h+\w\h+\S\h+\H/BZ
+
+/\v+\d\v+\w\v+\S\v+\V/BZ
+
+/\H+\h\H+\d/BZ
+
+/\V+\v\V+\w/BZ
+
+/\( (?: [^()]* | (?R) )* \)/x
+(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(
0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
+
+/[\E]AAA/
+
+/[\Q\E]AAA/
+
+/[^\E]AAA/
+
+/[^\Q\E]AAA/
+
+/[\E^]AAA/
+
+/[\Q\E^]AAA/
+
+/A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
+
+/^a+(*FAIL)/
+ aaaaaa
+
+/a+b?c+(*FAIL)/
+ aaabccc
+
+/a+b?(*PRUNE)c+(*FAIL)/
+ aaabccc
+
+/a+b?(*COMMIT)c+(*FAIL)/
+ aaabccc
+
+/a+b?(*SKIP)c+(*FAIL)/
+ aaabcccaaabccc
+
+/^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
+ aaaxxxxxx
+ aaa++++++
+ bbbxxxxx
+ bbb+++++
+ cccxxxx
+ ccc++++
+ dddddddd
+
+/^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
+ aaaxxxxxx
+ aaa++++++
+ bbbxxxxx
+ bbb+++++
+ cccxxxx
+ ccc++++
+ dddddddd
+
+/a+b?(*THEN)c+(*FAIL)/
+ aaabccc
+
+/(A (A|B(*ACCEPT)|C) D)(E)/x
+ ABX
+ AADE
+ ACDE
+ ** Failers
+ AD
+
+/^a+(*FAIL)/C
+ aaaaaa
+
+/a+b?c+(*FAIL)/C
+ aaabccc
+
+/a+b?(*PRUNE)c+(*FAIL)/C
+ aaabccc
+
+/a+b?(*COMMIT)c+(*FAIL)/C
+ aaabccc
+
+/a+b?(*SKIP)c+(*FAIL)/C
+ aaabcccaaabccc
+
+/a+b?(*THEN)c+(*FAIL)/C
+ aaabccc
+
+/a(*PRUNE:XXX)b/
+
+/a(*MARK)b/
+
+/(?i:A{1,}\6666666666)/
+
+/\g6666666666/
+
+/[\g6666666666]/
+
+/(?1)\c[/
+
+/.+A/<crlf>
+ \r\nA
+
+/\nA/<crlf>
+ \r\nA
+
+/[\r\n]A/<crlf>
+ \r\nA
+
+/(\r|\n)A/<crlf>
+ \r\nA
+
+/a(*CR)b/
+
+/(*CR)a.b/
+ a\nb
+ ** Failers
+ a\rb
+
+/(*CR)a.b/<lf>
+ a\nb
+ ** Failers
+ a\rb
+
+/(*LF)a.b/<CRLF>
+ a\rb
+ ** Failers
+ a\nb
+
+/(*CRLF)a.b/
+ a\rb
+ a\nb
+ ** Failers
+ a\r\nb
+
+/(*ANYCRLF)a.b/<CR>
+ ** Failers
+ a\rb
+ a\nb
+ a\r\nb
+
+/(*ANY)a.b/<cr>
+ ** Failers
+ a\rb
+ a\nb
+ a\r\nb
+ a\x85b
+
+/a\Rb/I<bsr_anycrlf>
+ a\rb
+ a\nb
+ a\r\nb
+ ** Failers
+ a\x85b
+ a\x0bb
+
+/a\Rb/I<bsr_unicode>
+ a\rb
+ a\nb
+ a\r\nb
+ a\x85b
+ a\x0bb
+ ** Failers
+ a\x85b\<bsr_anycrlf>
+ a\x0bb\<bsr_anycrlf>
+
+/a\R?b/I<bsr_anycrlf>
+ a\rb
+ a\nb
+ a\r\nb
+ ** Failers
+ a\x85b
+ a\x0bb
+
+/a\R?b/I<bsr_unicode>
+ a\rb
+ a\nb
+ a\r\nb
+ a\x85b
+ a\x0bb
+ ** Failers
+ a\x85b\<bsr_anycrlf>
+ a\x0bb\<bsr_anycrlf>
+
+/a\R{2,4}b/I<bsr_anycrlf>
+ a\r\n\nb
+ a\n\r\rb
+ a\r\n\r\n\r\n\r\nb
+ ** Failers
+ a\x85\85b
+ a\x0b\0bb
+
+/a\R{2,4}b/I<bsr_unicode>
+ a\r\rb
+ a\n\n\nb
+ a\r\n\n\r\rb
+ a\x85\85b
+ a\x0b\0bb
+ ** Failers
+ a\r\r\r\r\rb
+ a\x85\85b\<bsr_anycrlf>
+ a\x0b\0bb\<bsr_anycrlf>
+
+/(*BSR_ANYCRLF)a\Rb/I
+ a\nb
+ a\rb
+
+/(*BSR_UNICODE)a\Rb/I
+ a\x85b
+
+/(*BSR_ANYCRLF)(*CRLF)a\Rb/I
+ a\nb
+ a\rb
+
+/(*CRLF)(*BSR_UNICODE)a\Rb/I
+ a\x85b
+
+/(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
/ End of testinput2 /
Modified: httpd/httpd/vendor/pcre/current/testdata/testinput3
URL: http://svn.apache.org/viewvc/httpd/httpd/vendor/pcre/current/testdata/testinput3?rev=598339&r1=598338&r2=598339&view=diff
==============================================================================
--- httpd/httpd/vendor/pcre/current/testdata/testinput3 (original)
+++ httpd/httpd/vendor/pcre/current/testdata/testinput3 Mon Nov 26 08:49:53 2007
@@ -62,4 +62,30 @@
*** Failers
école
+/\W+/Lfr_FR
+ >>>\xaa<<<
+ >>>\xba<<<
+
+/[\W]+/Lfr_FR
+ >>>\xaa<<<
+ >>>\xba<<<
+
+/[^[:alpha:]]+/Lfr_FR
+ >>>\xaa<<<
+ >>>\xba<<<
+
+/\w+/Lfr_FR
+ >>>\xaa<<<
+ >>>\xba<<<
+
+/[\w]+/Lfr_FR
+ >>>\xaa<<<
+ >>>\xba<<<
+
+/[[:alpha:]]+/Lfr_FR
+ >>>\xaa<<<
+ >>>\xba<<<
+
+/[[:alpha:]][[:lower:]][[:upper:]]/DZLfr_FR
+
/ End of testinput3 /
Modified: httpd/httpd/vendor/pcre/current/testdata/testinput4
URL: http://svn.apache.org/viewvc/httpd/httpd/vendor/pcre/current/testdata/testinput4?rev=598339&r1=598338&r2=598339&view=diff
==============================================================================
--- httpd/httpd/vendor/pcre/current/testdata/testinput4 (original)
+++ httpd/httpd/vendor/pcre/current/testdata/testinput4 Mon Nov 26 08:49:53 2007
@@ -510,4 +510,29 @@
/^\x{85}$/8i
\x{85}
+/^á´/8
+ á´
+
+/^\á´/8
+ á´
+
+"(?s)(.{1,5})"8
+ abcdefg
+ ab
+
+/a*\x{100}*\w/8
+ a
+
+/\S\S/8g
+ A\x{a3}BC
+
+/\S{2}/8g
+ A\x{a3}BC
+
+/\W\W/8g
+ +\x{a3}==
+
+/\W{2}/8g
+ +\x{a3}==
+
/ End of testinput4 /
Modified: httpd/httpd/vendor/pcre/current/testdata/testinput5
URL: http://svn.apache.org/viewvc/httpd/httpd/vendor/pcre/current/testdata/testinput5?rev=598339&r1=598338&r2=598339&view=diff
==============================================================================
--- httpd/httpd/vendor/pcre/current/testdata/testinput5 (original)
+++ httpd/httpd/vendor/pcre/current/testdata/testinput5 Mon Nov 26 08:49:53 2007
@@ -1,20 +1,20 @@
-/\x{100}/8DM
+/\x{100}/8DZ
-/\x{1000}/8DM
+/\x{1000}/8DZ
-/\x{10000}/8DM
+/\x{10000}/8DZ
-/\x{100000}/8DM
+/\x{100000}/8DZ
-/\x{1000000}/8DM
+/\x{1000000}/8DZ
-/\x{4000000}/8DM
+/\x{4000000}/8DZ
-/\x{7fffFFFF}/8DM
+/\x{7fffFFFF}/8DZ
-/[\x{ff}]/8DM
+/[\x{ff}]/8DZ
-/[\x{100}]/8DM
+/[\x{100}]/8DZ
/\x{ffffffff}/8
@@ -23,39 +23,39 @@
/^\x{100}a\x{1234}/8
\x{100}a\x{1234}bcd
-/\x80/8D
+/\x80/8DZ
-/\xff/8D
+/\xff/8DZ
-/\x{0041}\x{2262}\x{0391}\x{002e}/D8
+/\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
\x{0041}\x{2262}\x{0391}\x{002e}
-/\x{D55c}\x{ad6d}\x{C5B4}/D8
+/\x{D55c}\x{ad6d}\x{C5B4}/DZ8
\x{D55c}\x{ad6d}\x{C5B4}
-/\x{65e5}\x{672c}\x{8a9e}/D8
+/\x{65e5}\x{672c}\x{8a9e}/DZ8
\x{65e5}\x{672c}\x{8a9e}
-/\x{80}/D8
+/\x{80}/DZ8
-/\x{084}/D8
+/\x{084}/DZ8
-/\x{104}/D8
+/\x{104}/DZ8
-/\x{861}/D8
+/\x{861}/DZ8
-/\x{212ab}/D8
+/\x{212ab}/DZ8
-/.{3,5}X/D8
+/.{3,5}X/DZ8
\x{212ab}\x{212ab}\x{212ab}\x{861}X
-/.{3,5}?/D8
+/.{3,5}?/DZ8
\x{212ab}\x{212ab}\x{212ab}\x{861}
-/-- These tests are here rather than in testinput4 because Perl 5.6 has --/
-/-- some problems with UTF-8 support, in the area of \x{..} where the --/
-/-- value is < 255. It grumbles about invalid UTF-8 strings. --/
+/-- These tests are here rather than in testinput4 because Perl 5.6 has some
+problems with UTF-8 support, in the area of \x{..} where the value is < 255.
+It grumbles about invalid UTF-8 strings. --/
/^[a\x{c0}]b/8
\x{c0}b
@@ -80,29 +80,29 @@
/(?<=\C)X/8
Should produce an error diagnostic
-/-- This one is here not because it's different to Perl, but because the --/
-/-- way the captured single-byte is displayed. (In Perl it becomes a --/
-/-- character, and you can't tell the difference.) --/
+/-- This one is here not because it's different to Perl, but because the way
+the captured single-byte is displayed. (In Perl it becomes a character, and you
+can't tell the difference.) --/
/X(\C)(.*)/8
X\x{1234}
X\nabc
-/^[ab]/8D
+/^[ab]/8DZ
bar
*** Failers
c
\x{ff}
\x{100}
-/^[^ab]/8D
+/^[^ab]/8DZ
c
\x{ff}
\x{100}
*** Failers
aaa
-/[^ab\xC0-\xF0]/8SD
+/[^ab\xC0-\xF0]/8SDZ
\x{f1}
\x{bf}
\x{100}
@@ -111,16 +111,16 @@
\x{c0}
\x{f0}
-/Ä{3,4}/8SD
+/Ä{3,4}/8SDZ
\x{100}\x{100}\x{100}\x{100\x{100}
-/(\x{100}+|x)/8SD
+/(\x{100}+|x)/8SDZ
-/(\x{100}*a|x)/8SD
+/(\x{100}*a|x)/8SDZ
-/(\x{100}{0,2}a|x)/8SD
+/(\x{100}{0,2}a|x)/8SDZ
-/(\x{100}{1,2}a|x)/8SD
+/(\x{100}{1,2}a|x)/8SDZ
/\x{100}*(\d+|"(?1)")/8
1234
@@ -132,34 +132,34 @@
*** Failers
\x{100}\x{100}abcd
-/\x{100}/8D
+/\x{100}/8DZ
-/\x{100}*/8D
+/\x{100}*/8DZ
-/a\x{100}*/8D
+/a\x{100}*/8DZ
-/ab\x{100}*/8D
+/ab\x{100}*/8DZ
-/a\x{100}\x{101}*/8D
+/a\x{100}\x{101}*/8DZ
-/a\x{100}\x{101}+/8D
+/a\x{100}\x{101}+/8DZ
-/\x{100}*A/8D
+/\x{100}*A/8DZ
A
-/\x{100}*\d(?R)/8D
+/\x{100}*\d(?R)/8DZ
-/[^\x{c4}]/D
+/[^\x{c4}]/DZ
-/[^\x{c4}]/8D
+/[^\x{c4}]/8DZ
-/[\x{100}]/8DM
+/[\x{100}]/8DZ
\x{100}
Z\x{100}
\x{100}Z
*** Failers
-/[Z\x{100}]/8DM
+/[Z\x{100}]/8DZ
Z\x{100}
\x{100}
\x{100}Z
@@ -174,21 +174,21 @@
\x{105}
\x{ff}
-/[z-\x{100}]/8D
+/[z-\x{100}]/8DZ
-/[z\Qa-d]Ä\E]/8D
+/[z\Qa-d]Ä\E]/8DZ
\x{100}
Ä
-/[\xFF]/D
+/[\xFF]/DZ
>\xff<
-/[\xff]/D8
+/[\xff]/DZ8
>\x{ff}<
-/[^\xFF]/D
+/[^\xFF]/DZ
-/[^\xff]/8D
+/[^\xff]/8DZ
/[Ã-Ã]/8
à # Matches without Study
@@ -212,7 +212,7 @@
/ÃÃÃxxx/8
-/ÃÃÃxxx/8?D
+/ÃÃÃxxx/8?DZ
/abc/8
Ã]
@@ -238,20 +238,24 @@
\xf9\x87\x80\x80\x80
\xfc\x84\x80\x80\x80\x80
\xfd\x83\x80\x80\x80\x80
+ \?\xf8\x88\x80\x80\x80
+ \?\xf9\x87\x80\x80\x80
+ \?\xfc\x84\x80\x80\x80\x80
+ \?\xfd\x83\x80\x80\x80\x80
-/\x{100}abc(xyz(?1))/8D
+/\x{100}abc(xyz(?1))/8DZ
-/[^\x{100}]abc(xyz(?1))/8D
+/[^\x{100}]abc(xyz(?1))/8DZ
-/[ab\x{100}]abc(xyz(?1))/8D
+/[ab\x{100}]abc(xyz(?1))/8DZ
-/(\x{100}(b(?2)c))?/D8
+/(\x{100}(b(?2)c))?/DZ8
-/(\x{100}(b(?2)c)){0,2}/D8
+/(\x{100}(b(?2)c)){0,2}/DZ8
-/(\x{100}(b(?1)c))?/D8
+/(\x{100}(b(?1)c))?/DZ8
-/(\x{100}(b(?1)c)){0,2}/D8
+/(\x{100}(b(?1)c)){0,2}/DZ8
/\W/8
A.B
@@ -260,4 +264,193 @@
/\w/8
\x{100}X
+/a\x{1234}b/P8
+ a\x{1234}b
+
+/^\á´/8DZ
+
+/\777/I
+
+/\777/8I
+ \x{1ff}
+ \777
+
+/\x{100}*\d/8DZ
+
+/\x{100}*\s/8DZ
+
+/\x{100}*\w/8DZ
+
+/\x{100}*\D/8DZ
+
+/\x{100}*\S/8DZ
+
+/\x{100}*\W/8DZ
+
+/\x{100}+\x{200}/8DZ
+
+/\x{100}+X/8DZ
+
+/X+\x{200}/8DZ
+
+/()()()()()()()()()()
+ ()()()()()()()()()()
+ ()()()()()()()()()()
+ ()()()()()()()()()()
+ A (x) (?41) B/8x
+ AxxB
+
+/^[\x{100}\E-\Q\E\x{150}]/BZ8
+
+/^[\QÄ\E-\QÅ\E]/BZ8
+
+/^[\QÄ\E-\QÅ\E/BZ8
+
+/^abc./mgx8<any>
+ abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
+
+/abc.$/mgx8<any>
+ abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
+
+/^a\Rb/8<bsr_unicode>
+ a\nb
+ a\rb
+ a\r\nb
+ a\x0bb
+ a\x0cb
+ a\x{85}b
+ a\x{2028}b
+ a\x{2029}b
+ ** Failers
+ a\n\rb
+
+/^a\R*b/8<bsr_unicode>
+ ab
+ a\nb
+ a\rb
+ a\r\nb
+ a\x0bb
+ a\x0c\x{2028}\x{2029}b
+ a\x{85}b
+ a\n\rb
+ a\n\r\x{85}\x0cb
+
+/^a\R+b/8<bsr_unicode>
+ a\nb
+ a\rb
+ a\r\nb
+ a\x0bb
+ a\x0c\x{2028}\x{2029}b
+ a\x{85}b
+ a\n\rb
+ a\n\r\x{85}\x0cb
+ ** Failers
+ ab
+
+/^a\R{1,3}b/8<bsr_unicode>
+ a\nb
+ a\n\rb
+ a\n\r\x{85}b
+ a\r\n\r\nb
+ a\r\n\r\n\r\nb
+ a\n\r\n\rb
+ a\n\n\r\nb
+ ** Failers
+ a\n\n\n\rb
+ a\r
+
+/\H\h\V\v/8
+ X X\x0a
+ X\x09X\x0b
+ ** Failers
+ \x{a0} X\x0a
+
+/\H*\h+\V?\v{3,4}/8
+ \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
+ \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
+ \x09\x20\x{a0}\x0a\x0b\x0c
+ ** Failers
+ \x09\x20\x{a0}\x0a\x0b
+
+/\H\h\V\v/8
+ \x{3001}\x{3000}\x{2030}\x{2028}
+ X\x{180e}X\x{85}
+ ** Failers
+ \x{2009} X\x0a
+
+/\H*\h+\V?\v{3,4}/8
+ \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
+ \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
+ \x09\x20\x{202f}\x0a\x0b\x0c
+ ** Failers
+ \x09\x{200a}\x{a0}\x{2028}\x0b
+
+/[\h]/8BZ
+ >\x{1680}
+
+/[\h]{3,}/8BZ
+ >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
+
+/[\v]/8BZ
+
+/[\H]/8BZ
+
+/[\V]/8BZ
+
+/.*$/8<any>
+ \x{1ec5}
+
+/-- This tests the stricter UTF-8 check according to RFC 3629. --/
+
+/X/8
+ \x{0}\x{d7ff}\x{e000}\x{10ffff}
+ \x{d800}
+ \x{d800}\?
+ \x{da00}
+ \x{da00}\?
+ \x{dfff}
+ \x{dfff}\?
+ \x{110000}
+ \x{110000}\?
+ \x{2000000}
+ \x{2000000}\?
+ \x{7fffffff}
+ \x{7fffffff}\?
+
+/a\Rb/I8<bsr_anycrlf>
+ a\rb
+ a\nb
+ a\r\nb
+ ** Failers
+ a\x{85}b
+ a\x0bb
+
+/a\Rb/I8<bsr_unicode>
+ a\rb
+ a\nb
+ a\r\nb
+ a\x{85}b
+ a\x0bb
+ ** Failers
+ a\x{85}b\<bsr_anycrlf>
+ a\x0bb\<bsr_anycrlf>
+
+/a\R?b/I8<bsr_anycrlf>
+ a\rb
+ a\nb
+ a\r\nb
+ ** Failers
+ a\x{85}b
+ a\x0bb
+
+/a\R?b/I8<bsr_unicode>
+ a\rb
+ a\nb
+ a\r\nb
+ a\x{85}b
+ a\x0bb
+ ** Failers
+ a\x{85}b\<bsr_anycrlf>
+ a\x0bb\<bsr_anycrlf>
+
/ End of testinput5 /
Modified: httpd/httpd/vendor/pcre/current/testdata/testinput6
URL: http://svn.apache.org/viewvc/httpd/httpd/vendor/pcre/current/testdata/testinput6?rev=598339&r1=598338&r2=598339&view=diff
==============================================================================
--- httpd/httpd/vendor/pcre/current/testdata/testinput6 (original)
+++ httpd/httpd/vendor/pcre/current/testdata/testinput6 Mon Nov 26 08:49:53 2007
@@ -51,6 +51,7 @@
\x{09f}
/^\p{Cn}/8
+ \x{e0000}
** Failers
\x{09f}
@@ -60,7 +61,7 @@
\x{09f}
/^\p{Cs}/8
- \x{dfff}
+ \?\x{dfff}
** Failers
\x{09f}
@@ -68,7 +69,7 @@
a
** Failers
Z
- \x{dfff}
+ \x{e000}
/^\p{Lm}/8
\x{2b0}
@@ -77,9 +78,15 @@
/^\p{Lo}/8
\x{1bb}
+ \x{3400}
+ \x{3401}
+ \x{4d00}
+ \x{4db4}
+ \x{4db5}
** Failers
a
\x{2b0}
+ \x{4db6}
/^\p{Lt}/8
\x{1c5}
@@ -316,20 +323,20 @@
** Failers
WXYZ
-/[\p{L}]/D
+/[\p{L}]/DZ
-/[\p{^L}]/D
+/[\p{^L}]/DZ
-/[\P{L}]/D
+/[\P{L}]/DZ
-/[\P{^L}]/D
+/[\P{^L}]/DZ
-/[abc\p{L}\x{0660}]/8D
+/[abc\p{L}\x{0660}]/8DZ
-/[\p{Nd}]/8DM
+/[\p{Nd}]/8DZ
1234
-/[\p{Nd}+-]+/8DM
+/[\p{Nd}+-]+/8DZ
1234
12-34
12+\x{661}-34
@@ -418,13 +425,13 @@
A\x{391}\x{10427}\x{ff5a}\x{1fb0}
A\x{391}\x{10427}\x{ff3a}\x{1fb8}
-/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iD
+/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iDZ
-/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8D
+/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8DZ
-/AB\x{1fb0}/8D
+/AB\x{1fb0}/8DZ
-/AB\x{1fb0}/8Di
+/AB\x{1fb0}/8DZi
/\x{391}+/8i
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
@@ -445,7 +452,7 @@
\x{c0}
\x{e0}
-/[\x{105}-\x{109}]/8iD
+/[\x{105}-\x{109}]/8iDZ
\x{104}
\x{105}
\x{109}
@@ -453,7 +460,7 @@
\x{100}
\x{10a}
-/[z-\x{100}]/8iD
+/[z-\x{100}]/8iDZ
Z
z
\x{39c}
@@ -468,7 +475,7 @@
Y
y
-/[z-\x{100}]/8Di
+/[z-\x{100}]/8DZi
/^\X/8
A
@@ -514,4 +521,315 @@
A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
+/^\p{Han}+/8
+ \x{2e81}\x{3007}\x{2f804}\x{31a0}
+ ** Failers
+ \x{2e7f}
+
+/^\P{Katakana}+/8
+ \x{3105}
+ ** Failers
+ \x{30ff}
+
+/^[\p{Arabic}]/8
+ \x{06e9}
+ \x{060b}
+ ** Failers
+ X\x{06e9}
+
+/^[\P{Yi}]/8
+ \x{2f800}
+ ** Failers
+ \x{a014}
+ \x{a4c6}
+
+/^\p{Any}X/8
+ AXYZ
+ \x{1234}XYZ
+ ** Failers
+ X
+
+/^\P{Any}X/8
+ ** Failers
+ AX
+
+/^\p{Any}?X/8
+ XYZ
+ AXYZ
+ \x{1234}XYZ
+ ** Failers
+ ABXYZ
+
+/^\P{Any}?X/8
+ XYZ
+ ** Failers
+ AXYZ
+ \x{1234}XYZ
+ ABXYZ
+
+/^\p{Any}+X/8
+ AXYZ
+ \x{1234}XYZ
+ A\x{1234}XYZ
+ ** Failers
+ XYZ
+
+/^\P{Any}+X/8
+ ** Failers
+ AXYZ
+ \x{1234}XYZ
+ A\x{1234}XYZ
+ XYZ
+
+/^\p{Any}*X/8
+ XYZ
+ AXYZ
+ \x{1234}XYZ
+ A\x{1234}XYZ
+ ** Failers
+
+/^\P{Any}*X/8
+ XYZ
+ ** Failers
+ AXYZ
+ \x{1234}XYZ
+ A\x{1234}XYZ
+
+/^[\p{Any}]X/8
+ AXYZ
+ \x{1234}XYZ
+ ** Failers
+ X
+
+/^[\P{Any}]X/8
+ ** Failers
+ AX
+
+/^[\p{Any}]?X/8
+ XYZ
+ AXYZ
+ \x{1234}XYZ
+ ** Failers
+ ABXYZ
+
+/^[\P{Any}]?X/8
+ XYZ
+ ** Failers
+ AXYZ
+ \x{1234}XYZ
+ ABXYZ
+
+/^[\p{Any}]+X/8
+ AXYZ
+ \x{1234}XYZ
+ A\x{1234}XYZ
+ ** Failers
+ XYZ
+
+/^[\P{Any}]+X/8
+ ** Failers
+ AXYZ
+ \x{1234}XYZ
+ A\x{1234}XYZ
+ XYZ
+
+/^[\p{Any}]*X/8
+ XYZ
+ AXYZ
+ \x{1234}XYZ
+ A\x{1234}XYZ
+ ** Failers
+
+/^[\P{Any}]*X/8
+ XYZ
+ ** Failers
+ AXYZ
+ \x{1234}XYZ
+ A\x{1234}XYZ
+
+/^\p{Any}{3,5}?/8
+ abcdefgh
+ \x{1234}\n\r\x{3456}xyz
+
+/^\p{Any}{3,5}/8
+ abcdefgh
+ \x{1234}\n\r\x{3456}xyz
+
+/^\P{Any}{3,5}?/8
+ ** Failers
+ abcdefgh
+ \x{1234}\n\r\x{3456}xyz
+
+/^\p{L&}X/8
+ AXY
+ aXY
+ \x{1c5}XY
+ ** Failers
+ \x{1bb}XY
+ \x{2b0}XY
+ !XY
+
+/^[\p{L&}]X/8
+ AXY
+ aXY
+ \x{1c5}XY
+ ** Failers
+ \x{1bb}XY
+ \x{2b0}XY
+ !XY
+
+/^\p{L&}+X/8
+ AXY
+ aXY
+ AbcdeXyz
+ \x{1c5}AbXY
+ abcDEXypqreXlmn
+ ** Failers
+ \x{1bb}XY
+ \x{2b0}XY
+ !XY
+
+/^[\p{L&}]+X/8
+ AXY
+ aXY
+ AbcdeXyz
+ \x{1c5}AbXY
+ abcDEXypqreXlmn
+ ** Failers
+ \x{1bb}XY
+ \x{2b0}XY
+ !XY
+
+/^\p{L&}+?X/8
+ AXY
+ aXY
+ AbcdeXyz
+ \x{1c5}AbXY
+ abcDEXypqreXlmn
+ ** Failers
+ \x{1bb}XY
+ \x{2b0}XY
+ !XY
+
+/^[\p{L&}]+?X/8
+ AXY
+ aXY
+ AbcdeXyz
+ \x{1c5}AbXY
+ abcDEXypqreXlmn
+ ** Failers
+ \x{1bb}XY
+ \x{2b0}XY
+ !XY
+
+/^\P{L&}X/8
+ !XY
+ \x{1bb}XY
+ \x{2b0}XY
+ ** Failers
+ \x{1c5}XY
+ AXY
+
+/^[\P{L&}]X/8
+ !XY
+ \x{1bb}XY
+ \x{2b0}XY
+ ** Failers
+ \x{1c5}XY
+ AXY
+
+/^(\p{Z}[^\p{C}\p{Z}]+)*$/
+ \xa0!
+
+/^[\pL](abc)(?1)/
+ AabcabcYZ
+
+/([\pL]=(abc))*X/
+ L=abcX
+
+/The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
+will match it only with UCP support, because without that it has no notion
+of case for anything other than the ASCII letters. /
+
+/((?i)[\x{c0}])/8
+ \x{c0}
+ \x{e0}
+
+/(?i:[\x{c0}])/8
+ \x{c0}
+ \x{e0}
+
+/^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/8
+ \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
+
+/The next two are special cases where the lengths of the different cases of the
+same character differ. The first went wrong with heap fram storage; the 2nd
+was broken in all cases./
+
+/^\x{023a}+?(\x{0130}+)/8i
+ \x{023a}\x{2c65}\x{0130}
+
+/^\x{023a}+([^X])/8i
+ \x{023a}\x{2c65}X
+
+/Check property support in non-UTF-8 mode/
+
+/\p{L}{4}/
+ 123abcdefg
+ 123abc\xc4\xc5zz
+
+/\X{1,3}\d/
+ \x8aBCD
+
+/\X?\d/
+ \x8aBCD
+
+/\P{L}?\d/
+ \x8aBCD
+
+/[\PPP\x8a]{1,}\x80/
+ A\x80
+
+/(?:[\PPa*]*){8,}/
+
+/[\P{Any}]/BZ
+
+/[\P{Any}\E]/BZ
+
+/(\P{Yi}+\277)/
+
+/(\P{Yi}+\277)?/
+
+/(?<=\P{Yi}{3}A)X/
+
+/\p{Yi}+(\P{Yi}+)(?1)/
+
+/(\P{Yi}{2}\277)?/
+
+/[\P{Yi}A]/
+
+/[\P{Yi}\P{Yi}\P{Yi}A]/
+
+/[^\P{Yi}A]/
+
+/[^\P{Yi}\P{Yi}\P{Yi}A]/
+
+/(\P{Yi}*\277)*/
+
+/(\P{Yi}*?\277)*/
+
+/(\p{Yi}*+\277)*/
+
+/(\P{Yi}?\277)*/
+
+/(\P{Yi}??\277)*/
+
+/(\p{Yi}?+\277)*/
+
+/(\P{Yi}{0,3}\277)*/
+
+/(\P{Yi}{0,3}?\277)*/
+
+/(\p{Yi}{0,3}+\277)*/
+
/ End of testinput6 /
Modified: httpd/httpd/vendor/pcre/current/testdata/testoutput1
URL: http://svn.apache.org/viewvc/httpd/httpd/vendor/pcre/current/testdata/testoutput1?rev=598339&r1=598338&r2=598339&view=diff
==============================================================================
--- httpd/httpd/vendor/pcre/current/testdata/testoutput1 (original)
+++ httpd/httpd/vendor/pcre/current/testdata/testoutput1 Mon Nov 26 08:49:53 2007
@@ -1,5 +1,3 @@
-PCRE version 5.0 13-Sep-2004
-
/the quick brown fox/
the quick brown fox
0: the quick brown fox
@@ -1819,7 +1817,7 @@
No match
/^a b
-
c/x
+ c/x
abc
0: abc
@@ -2095,14 +2093,6 @@
{4,5a}bc
0: {4,5a}bc
-/^a.b/
- a\rb
- 0: a\x0db
- *** Failers
-No match
- a\nb
-No match
-
/abc$/
abc
0: abc
@@ -2128,7 +2118,7 @@
0: abc\xd3
1: abc
-/(abc)\500/
+/(abc)\100/
abc\x40
0: abc@
1: abc
@@ -2136,7 +2126,7 @@
0: abc@
1: abc
-/(abc)\5000/
+/(abc)\1000/
abc\x400
0: abc@0
1: abc
@@ -2199,9 +2189,9 @@
10: j
11: k
-/ab\gdef/
- abgdef
- 0: abgdef
+/ab\idef/
+ abidef
+ 0: abidef
/a{0}bc/
bc
@@ -5482,12 +5472,22 @@
0: b
/^(?:a?b?)*$/
+ \
+ 0:
+ a
+ 0: a
+ ab
+ 0: ab
+ aaa
+ 0: aaa
*** Failers
No match
dbcb
No match
a--
No match
+ aa--
+No match
/((?s)^a(.))((?m)^b$)/
a\nb\nc\n
@@ -6270,5 +6270,327 @@
/(?<=Z)X./
\x84XAZXB
0: XB
+
+/ab cd (?x) de fg/
+ ab cd defg
+ 0: ab cd defg
+
+/ab cd(?x) de fg/
+ ab cddefg
+ 0: ab cddefg
+ ** Failers
+No match
+ abcddefg
+No match
+
+/(?<![^f]oo)(bar)/
+ foobarX
+ 0: bar
+ 1: bar
+ ** Failers
+No match
+ boobarX
+No match
+
+/(?<![^f])X/
+ offX
+ 0: X
+ ** Failers
+No match
+ onyX
+No match
+
+/(?<=[^f])X/
+ onyX
+ 0: X
+ ** Failers
+No match
+ offX
+No match
+
+/^/mg
+ a\nb\nc\n
+ 0:
+ 0:
+ 0:
+ \
+ 0:
+
+/(?<=C\n)^/mg
+ A\nC\nC\n
+ 0:
+
+/(?:(?(1)a|b)(X))+/
+ bXaX
+ 0: bXaX
+ 1: X
+
+/(?:(?(1)\1a|b)(X|Y))+/
+ bXXaYYaY
+ 0: bXXaYYaY
+ 1: Y
+ bXYaXXaX
+ 0: bX
+ 1: X
+
+/()()()()()()()()()(?:(?(10)\10a|b)(X|Y))+/
+ bXXaYYaY
+ 0: bX
+ 1:
+ 2:
+ 3:
+ 4:
+ 5:
+ 6:
+ 7:
+ 8:
+ 9:
+10: X
+
+/[[,abc,]+]/
+ abc]
+ 0: abc]
+ a,b]
+ 0: a,b]
+ [a,b,c]
+ 0: [a,b,c]
+
+/(?-x: )/x
+ A\x20B
+ 0:
+
+"(?x)(?-x: \s*#\s*)"
+ A # B
+ 0: #
+ ** Failers
+No match
+ #
+No match
+
+"(?x-is)(?:(?-ixs) \s*#\s*) include"
+ A #include
+ 0: #include
+ ** Failers
+No match
+ A#include
+No match
+ A #Include
+No match
+
+/a*b*\w/
+ aaabbbb
+ 0: aaabbbb
+ aaaa
+ 0: aaaa
+ a
+ 0: a
+
+/a*b?\w/
+ aaabbbb
+ 0: aaabb
+ aaaa
+ 0: aaaa
+ a
+ 0: a
+
+/a*b{0,4}\w/
+ aaabbbb
+ 0: aaabbbb
+ aaaa
+ 0: aaaa
+ a
+ 0: a
+
+/a*b{0,}\w/
+ aaabbbb
+ 0: aaabbbb
+ aaaa
+ 0: aaaa
+ a
+ 0: a
+
+/a*\d*\w/
+ 0a
+ 0: 0a
+ a
+ 0: a
+
+/a*b *\w/x
+ a
+ 0: a
+
+/a*b#comment
+ *\w/x
+ a
+ 0: a
+
+/a* b *\w/x
+ a
+ 0: a
+
+/^\w+=.*(\\\n.*)*/
+ abc=xyz\\\npqr
+ 0: abc=xyz\
+
+/(?=(\w+))\1:/
+ abcd:
+ 0: abcd:
+ 1: abcd
+
+/^(?=(\w+))\1:/
+ abcd:
+ 0: abcd:
+ 1: abcd
+
+/^\Eabc/
+ abc
+ 0: abc
+
+/^[\Eabc]/
+ a
+ 0: a
+ ** Failers
+No match
+ E
+No match
+
+/^[a-\Ec]/
+ b
+ 0: b
+ ** Failers
+No match
+ -
+No match
+ E
+No match
+
+/^[a\E\E-\Ec]/
+ b
+ 0: b
+ ** Failers
+No match
+ -
+No match
+ E
+No match
+
+/^[\E\Qa\E-\Qz\E]+/
+ b
+ 0: b
+ ** Failers
+No match
+ -
+No match
+
+/^[a\Q]bc\E]/
+ a
+ 0: a
+ ]
+ 0: ]
+ c
+ 0: c
+
+/^[a-\Q\E]/
+ a
+ 0: a
+ -
+ 0: -
+
+/^(a()*)*/
+ aaaa
+ 0: aaaa
+ 1: a
+ 2:
+
+/^(?:a(?:(?:))*)*/
+ aaaa
+ 0: aaaa
+
+/^(a()+)+/
+ aaaa
+ 0: aaaa
+ 1: a
+ 2:
+
+/^(?:a(?:(?:))+)+/
+ aaaa
+ 0: aaaa
+
+/(a){0,3}(?(1)b|(c|))*D/
+ abbD
+ 0: abbD
+ 1: a
+ ccccD
+ 0: ccccD
+ 1: <unset>
+ 2:
+ D
+ 0: D
+ 1: <unset>
+ 2:
+
+/(a|)*\d/
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+No match
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
+ 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
+ 1:
+
+/(?>a|)*\d/
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+No match
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
+ 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
+
+/(?:a|)*\d/
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+No match
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
+ 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
+
+/\Z/g
+ abc\n
+ 0:
+ 0:
+
+/^(?s)(?>.*)(?<!\n)/
+ abc
+ 0: abc
+ abc\n
+No match
+
+/^(?![^\n]*\n\z)/
+ abc
+ 0:
+ abc\n
+No match
+
+/\z(?<!\n)/
+ abc
+ 0:
+ abc\n
+No match
+
+/(.*(.)?)*/
+ abcd
+ 0: abcd
+ 1:
+
+/( (A | (?(1)0|) )* )/x
+ abcd
+ 0:
+ 1:
+ 2:
+
+/( ( (?(1)0|) )* )/x
+ abcd
+ 0:
+ 1:
+ 2:
+
+/( (?(1)0|)* )/x
+ abcd
+ 0:
+ 1:
/ End of testinput1 /