Regex: Update PCRE to v8.35.
I was über lazy at first, so took libs from SM. But actually it's quite easy to compile, so let's update to latest version \o/.
This commit is contained in:
Vendored
+38
@@ -705,3 +705,41 @@ RC=0
|
||||
./testdata/grepinput:[1;31mzero[00m|[1;31ma[00m
|
||||
./testdata/grepinput:[1;31m.[00m|[1;31mzero[00m|[1;31mthe[00m|[1;31m.[00m
|
||||
RC=0
|
||||
---------------------------- Test 102 -----------------------------
|
||||
2:
|
||||
5:
|
||||
7:
|
||||
9:
|
||||
12:
|
||||
14:
|
||||
RC=0
|
||||
---------------------------- Test 103 -----------------------------
|
||||
RC=0
|
||||
---------------------------- Test 104 -----------------------------
|
||||
2:
|
||||
5:
|
||||
7:
|
||||
9:
|
||||
12:
|
||||
14:
|
||||
RC=0
|
||||
---------------------------- Test 105 -----------------------------
|
||||
[1;31m[00mtriple: t1_txt s1_tag s_txt p_tag p_txt o_tag o_txt
|
||||
[1;31m[00m
|
||||
[1;31m[00mtriple: t2_txt s1_tag s_txt p_tag p_txt o_tag
|
||||
[1;31m[00mLorem [1;31mipsum[00m dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
|
||||
[1;31m[00m
|
||||
[1;31m[00mtriple: t3_txt s2_tag s_txt p_tag p_txt o_tag o_txt
|
||||
[1;31m[00m
|
||||
[1;31m[00mtriple: t4_txt s1_tag s_txt p_tag p_txt o_tag o_txt
|
||||
[1;31m[00m
|
||||
[1;31m[00mtriple: t5_txt s1_tag s_txt p_tag p_txt o_tag
|
||||
[1;31m[00mo_txt
|
||||
[1;31m[00m
|
||||
[1;31m[00mtriple: t6_txt s2_tag s_txt p_tag p_txt o_tag o_txt
|
||||
[1;31m[00m
|
||||
[1;31m[00mtriple: t7_txt s1_tag s_txt p_tag p_txt o_tag o_txt
|
||||
RC=0
|
||||
---------------------------- Test 106 -----------------------------
|
||||
a
|
||||
RC=0
|
||||
|
||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
+415
-52
@@ -1,6 +1,8 @@
|
||||
/-- This set of tests is for features that are compatible with all versions of
|
||||
Perl >= 5.10, in non-UTF-8 mode. It should run clean for both the 8-bit and
|
||||
16-bit PCRE libraries. --/
|
||||
Perl >= 5.10, in non-UTF-8 mode. It should run clean for the 8-bit, 16-bit,
|
||||
and 32-bit PCRE libraries. --/
|
||||
|
||||
< forbid 89?=ABCDEFfGILMNPTUWXZ<
|
||||
|
||||
/the quick brown fox/
|
||||
the quick brown fox
|
||||
@@ -1483,14 +1485,19 @@
|
||||
abc\100\x30
|
||||
abc\100\060
|
||||
abc\100\60
|
||||
|
||||
/^A\8B\9C$/
|
||||
A8B9C
|
||||
*** Failers
|
||||
A\08B\09C
|
||||
|
||||
/^(A)(B)(C)(D)(E)(F)(G)(H)(I)\8\9$/
|
||||
ABCDEFGHIHI
|
||||
|
||||
/abc\81/
|
||||
abc\081
|
||||
abc\0\x38\x31
|
||||
|
||||
/abc\91/
|
||||
abc\091
|
||||
abc\0\x39\x31
|
||||
/^[A\8B\9C]+$/
|
||||
A8B9C
|
||||
*** Failers
|
||||
A8B9C\x00
|
||||
|
||||
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\12\123/
|
||||
abcdefghijkllS
|
||||
@@ -3654,13 +3661,6 @@
|
||||
/a*/g
|
||||
abbab
|
||||
|
||||
/^[a-\d]/
|
||||
abcde
|
||||
-things
|
||||
0digit
|
||||
*** Failers
|
||||
bcdef
|
||||
|
||||
/^[\d-a]/
|
||||
abcde
|
||||
-things
|
||||
@@ -3773,9 +3773,9 @@
|
||||
abc123abc
|
||||
abc123bc
|
||||
|
||||
/-- This tests for an IPv6 address in the form where it can have up to --/
|
||||
/-- eight components, one and only one of which is empty. This must be --/
|
||||
/-- an internal component. --/
|
||||
/-- This tests for an IPv6 address in the form where it can have up to
|
||||
eight components, one and only one of which is empty. This must be
|
||||
an internal component. --/
|
||||
|
||||
/^(?!:) # colon disallowed at start
|
||||
(?: # start of item
|
||||
@@ -4221,9 +4221,6 @@
|
||||
ab
|
||||
bc
|
||||
|
||||
/^(?=(a)){0}b(?1)/
|
||||
backgammon
|
||||
|
||||
/^(?=(?1))?[az]([abc])d/
|
||||
abd
|
||||
zcdxx
|
||||
@@ -4656,16 +4653,10 @@
|
||||
/(?<pn> \( ( [^()]++ | (?&pn) )* \) )/x
|
||||
(ab(cd)ef)
|
||||
|
||||
/^(?!a(*SKIP)b)/
|
||||
ac
|
||||
|
||||
/^(?=a(*SKIP)b|ac)/
|
||||
** Failers
|
||||
ac
|
||||
|
||||
/^(?=a(*THEN)b|ac)/
|
||||
ac
|
||||
|
||||
/^(?=a(*PRUNE)b)/
|
||||
ab
|
||||
** Failers
|
||||
@@ -4674,9 +4665,6 @@
|
||||
/^(?=a(*ACCEPT)b)/
|
||||
ac
|
||||
|
||||
/^(?(?!a(*SKIP)b))/
|
||||
ac
|
||||
|
||||
/(?>a\Kb)/
|
||||
ab
|
||||
|
||||
@@ -4899,33 +4887,15 @@ however, we need the complication for Perl. ---/
|
||||
/(A (A|B(*ACCEPT)|C) D)(E)/x
|
||||
AB
|
||||
|
||||
/\A.*?(?:a|b(*THEN)c)/
|
||||
ba
|
||||
|
||||
/\A.*?(?:a|bc)/
|
||||
ba
|
||||
|
||||
/\A.*?(a|b(*THEN)c)/
|
||||
ba
|
||||
|
||||
/\A.*?(a|bc)/
|
||||
ba
|
||||
|
||||
/\A.*?(?:a|b(*THEN)c)++/
|
||||
ba
|
||||
|
||||
/\A.*?(?:a|bc)++/
|
||||
ba
|
||||
|
||||
/\A.*?(a|b(*THEN)c)++/
|
||||
ba
|
||||
|
||||
/\A.*?(a|bc)++/
|
||||
ba
|
||||
|
||||
/\A.*?(?:a|b(*THEN)c|d)/
|
||||
ba
|
||||
|
||||
/\A.*?(?:a|bc|d)/
|
||||
ba
|
||||
|
||||
@@ -5253,9 +5223,6 @@ name were given. ---/
|
||||
/(a(*COMMIT)b){0}a(?1)|aac/
|
||||
aac
|
||||
|
||||
/(?!a(*COMMIT)b)ac|cd/
|
||||
ac
|
||||
|
||||
/((?:a?)*)*c/
|
||||
aac
|
||||
|
||||
@@ -5303,4 +5270,400 @@ name were given. ---/
|
||||
"(?>.*?)foo"
|
||||
abcdfooxyz
|
||||
|
||||
/(?:(a(*PRUNE)b)){0}(?:(?1)|ac)/
|
||||
ac
|
||||
|
||||
/(?:(a(*SKIP)b)){0}(?:(?1)|ac)/
|
||||
ac
|
||||
|
||||
/(?<=(*SKIP)ac)a/
|
||||
aa
|
||||
|
||||
/A(*MARK:A)A+(*SKIP:B)(B|Z) | AC/xK
|
||||
AAAC
|
||||
|
||||
/a(*SKIP:m)x|ac(*:n)(*SKIP:n)d|ac/K
|
||||
acacd
|
||||
|
||||
/A(*SKIP:m)x|A(*SKIP:n)x|AB/K
|
||||
AB
|
||||
|
||||
/((*SKIP:r)d){0}a(*SKIP:m)x|ac(*:n)|ac/K
|
||||
acacd
|
||||
|
||||
/-- Tests that try to figure out how Perl works. My hypothesis is that the
|
||||
first verb that is backtracked onto is the one that acts. This seems to be
|
||||
the case almost all the time, but there is one exception that is perhaps a
|
||||
bug. --/
|
||||
|
||||
/-- This matches "aaaac"; each PRUNE advances one character until the subject
|
||||
no longer starts with 5 'a's. --/
|
||||
|
||||
/aaaaa(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- Putting SKIP in front of PRUNE makes no difference, as it is never
|
||||
backtracked onto, whether or not it has a label. --/
|
||||
|
||||
/aaaaa(*SKIP)(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/aaaaa(*SKIP:N)(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/aaaa(*:N)a(*SKIP:N)(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- Putting THEN in front makes no difference. */
|
||||
|
||||
/aaaaa(*THEN)(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- However, putting COMMIT in front of the prune changes it to "no match". I
|
||||
think this is inconsistent and possibly a bug. For the moment, running this
|
||||
test is moved out of the Perl-compatible file. --/
|
||||
|
||||
/aaaaa(*COMMIT)(*PRUNE)b|a+c/
|
||||
|
||||
|
||||
/---- OK, lets play the same game again using SKIP instead of PRUNE. ----/
|
||||
|
||||
/-- This matches "ac" because SKIP forces the next match to start on the
|
||||
sixth "a". --/
|
||||
|
||||
/aaaaa(*SKIP)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- Putting PRUNE in front makes no difference. --/
|
||||
|
||||
/aaaaa(*PRUNE)(*SKIP)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- Putting THEN in front makes no difference. --/
|
||||
|
||||
/aaaaa(*THEN)(*SKIP)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- In this case, neither does COMMIT. This still matches "ac". --/
|
||||
|
||||
/aaaaa(*COMMIT)(*SKIP)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- This gives "no match", as expected. --/
|
||||
|
||||
/aaaaa(*COMMIT)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
|
||||
/------ Tests using THEN ------/
|
||||
|
||||
/-- This matches "aaaaaac", as expected. --/
|
||||
|
||||
/aaaaa(*THEN)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- Putting SKIP in front makes no difference. --/
|
||||
|
||||
/aaaaa(*SKIP)(*THEN)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- Putting PRUNE in front makes no difference. --/
|
||||
|
||||
/aaaaa(*PRUNE)(*THEN)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- Putting COMMIT in front makes no difference. --/
|
||||
|
||||
/aaaaa(*COMMIT)(*THEN)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- End of "priority" tests --/
|
||||
|
||||
/aaaaa(*:m)(*PRUNE:m)(*SKIP:m)m|a+/
|
||||
aaaaaa
|
||||
|
||||
/aaaaa(*:m)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+/
|
||||
aaaaaa
|
||||
|
||||
/aaaaa(*:n)(*PRUNE:m)(*SKIP:m)m|a+/
|
||||
aaaaaa
|
||||
|
||||
/aaaaa(*:n)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+/
|
||||
aaaaaa
|
||||
|
||||
/a(*MARK:A)aa(*PRUNE:A)a(*SKIP:A)b|a+c/
|
||||
aaaac
|
||||
|
||||
/a(*MARK:A)aa(*MARK:A)a(*SKIP:A)b|a+c/
|
||||
aaaac
|
||||
|
||||
/aaa(*PRUNE:A)a(*SKIP:A)b|a+c/
|
||||
aaaac
|
||||
|
||||
/aaa(*MARK:A)a(*SKIP:A)b|a+c/
|
||||
aaaac
|
||||
|
||||
/a(*:m)a(*COMMIT)(*SKIP:m)b|a+c/K
|
||||
aaaaaac
|
||||
|
||||
/.?(a|b(*THEN)c)/
|
||||
ba
|
||||
|
||||
/(a(*COMMIT)b)c|abd/
|
||||
abc
|
||||
abd
|
||||
|
||||
/(?=a(*COMMIT)b)abc|abd/
|
||||
abc
|
||||
abd
|
||||
|
||||
/(?>a(*COMMIT)b)c|abd/
|
||||
abc
|
||||
abd
|
||||
|
||||
/a(?=b(*COMMIT)c)[^d]|abd/
|
||||
abd
|
||||
abc
|
||||
|
||||
/a(?=bc).|abd/
|
||||
abd
|
||||
abc
|
||||
|
||||
/a(?>b(*COMMIT)c)d|abd/
|
||||
abceabd
|
||||
|
||||
/a(?>bc)d|abd/
|
||||
abceabd
|
||||
|
||||
/(?>a(*COMMIT)b)c|abd/
|
||||
abd
|
||||
|
||||
/(?>a(*COMMIT)c)d|abd/
|
||||
abd
|
||||
|
||||
/((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
|
||||
ac
|
||||
|
||||
/-- These tests were formerly in test 2, but changes in PCRE and Perl have
|
||||
made them compatible. --/
|
||||
|
||||
/^(a)?(?(1)a|b)+$/
|
||||
*** Failers
|
||||
a
|
||||
|
||||
/(?=a\Kb)ab/
|
||||
ab
|
||||
|
||||
/(?!a\Kb)ac/
|
||||
ac
|
||||
|
||||
/^abc(?<=b\Kc)d/
|
||||
abcd
|
||||
|
||||
/^abc(?<!b\Kq)d/
|
||||
abcd
|
||||
|
||||
|
||||
/A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
|
||||
AAAC
|
||||
|
||||
/^((abc|abcx)(*THEN)y|abcd)/
|
||||
abcd
|
||||
*** Failers
|
||||
abcxy
|
||||
|
||||
/^((yes|no)(*THEN)(*F))?/
|
||||
yes
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) \s* (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) \s* z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) (?:C|) (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) (?:C|) (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C{0,6} (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C{0,6} (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) (CE){0,6} (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCEBefgBhiBqz
|
||||
|
||||
/(A (.*) (CE){0,6} (*THEN) | A D) z/x
|
||||
AbcdCEBefgBhiBqz
|
||||
|
||||
/(A (.*) (CE*){0,6} (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) (CE*){0,6} (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(?=a(*COMMIT)b|ac)ac|ac/
|
||||
ac
|
||||
|
||||
/(?=a(*COMMIT)b|(ac)) ac | (a)c/x
|
||||
ac
|
||||
|
||||
/--------/
|
||||
|
||||
/(?(?!b(*THEN)a)bn|bnn)/
|
||||
bnn
|
||||
|
||||
/(?!b(*SKIP)a)bn|bnn/
|
||||
bnn
|
||||
|
||||
/(?(?!b(*SKIP)a)bn|bnn)/
|
||||
bnn
|
||||
|
||||
/(?!b(*PRUNE)a)bn|bnn/
|
||||
bnn
|
||||
|
||||
/(?(?!b(*PRUNE)a)bn|bnn)/
|
||||
bnn
|
||||
|
||||
/(?!b(*COMMIT)a)bn|bnn/
|
||||
bnn
|
||||
|
||||
/(?(?!b(*COMMIT)a)bn|bnn)/
|
||||
bnn
|
||||
|
||||
/(?=b(*SKIP)a)bn|bnn/
|
||||
bnn
|
||||
|
||||
/(?=b(*THEN)a)bn|bnn/
|
||||
bnn
|
||||
|
||||
/^(?!a(*SKIP)b)/
|
||||
ac
|
||||
|
||||
/^(?!a(*SKIP)b)../
|
||||
acd
|
||||
|
||||
/(?!a(*SKIP)b)../
|
||||
acd
|
||||
|
||||
/^(?(?!a(*SKIP)b))/
|
||||
ac
|
||||
|
||||
/^(?!a(*PRUNE)b)../
|
||||
acd
|
||||
|
||||
/(?!a(*PRUNE)b)../
|
||||
acd
|
||||
|
||||
/(?!a(*COMMIT)b)ac|cd/
|
||||
ac
|
||||
|
||||
/\A.*?(?:a|bc)/
|
||||
ba
|
||||
|
||||
/^(A(*THEN)B|C(*THEN)D)/
|
||||
CD
|
||||
|
||||
/(*:m(m)(?&y)(?(DEFINE)(?<y>b))/K
|
||||
abc
|
||||
|
||||
/(*PRUNE:m(m)(?&y)(?(DEFINE)(?<y>b))/K
|
||||
abc
|
||||
|
||||
/(*SKIP:m(m)(?&y)(?(DEFINE)(?<y>b))/K
|
||||
abc
|
||||
|
||||
/(*THEN:m(m)(?&y)(?(DEFINE)(?<y>b))/K
|
||||
abc
|
||||
|
||||
/^\d*\w{4}/
|
||||
1234
|
||||
123
|
||||
|
||||
/^[^b]*\w{4}/
|
||||
aaaa
|
||||
aaa
|
||||
|
||||
/^[^b]*\w{4}/i
|
||||
aaaa
|
||||
aaa
|
||||
|
||||
/^a*\w{4}/
|
||||
aaaa
|
||||
aaa
|
||||
|
||||
/^a*\w{4}/i
|
||||
aaaa
|
||||
aaa
|
||||
|
||||
/(?(?=ab)ab)/+
|
||||
ca
|
||||
cd
|
||||
|
||||
/(?:(?<n>foo)|(?<n>bar))\k<n>/J
|
||||
foofoo
|
||||
barbar
|
||||
|
||||
/(?<n>A)(?:(?<n>foo)|(?<n>bar))\k<n>/J
|
||||
AfooA
|
||||
AbarA
|
||||
** Failers
|
||||
Afoofoo
|
||||
Abarbar
|
||||
|
||||
/^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
|
||||
1 IN SOA non-sp1 non-sp2(
|
||||
|
||||
/^ (?:(?<A>A)|(?'B'B)(?<A>A)) (?('A')x) (?(<B>)y)$/xJ
|
||||
Ax
|
||||
BAxy
|
||||
|
||||
/^A\xZ/
|
||||
A\0Z
|
||||
|
||||
/^A\o{123}B/
|
||||
A\123B
|
||||
|
||||
/ ^ a + + b $ /x
|
||||
aaaab
|
||||
|
||||
/ ^ a + #comment
|
||||
+ b $ /x
|
||||
aaaab
|
||||
|
||||
/ ^ a + #comment
|
||||
#comment
|
||||
+ b $ /x
|
||||
aaaab
|
||||
|
||||
/ ^ (?> a + ) b $ /x
|
||||
aaaab
|
||||
|
||||
/ ^ ( a + ) + + \w $ /x
|
||||
aaaab
|
||||
|
||||
/(?:a\Kb)*+/+
|
||||
ababc
|
||||
|
||||
/(?>a\Kb)*/+
|
||||
ababc
|
||||
|
||||
/(?:a\Kb)*/+
|
||||
ababc
|
||||
|
||||
/(a\Kb)*+/+
|
||||
ababc
|
||||
|
||||
/(a\Kb)*/+
|
||||
ababc
|
||||
|
||||
/-- End of testinput1 --/
|
||||
|
||||
Vendored
+95
-13
@@ -139,6 +139,12 @@
|
||||
|
||||
/^\p{Cf}/8
|
||||
\x{601}
|
||||
\x{180e}
|
||||
\x{061c}
|
||||
\x{2066}
|
||||
\x{2067}
|
||||
\x{2068}
|
||||
\x{2069}
|
||||
** Failers
|
||||
\x{09f}
|
||||
|
||||
@@ -199,11 +205,12 @@
|
||||
|
||||
/^\p{Mn}/8
|
||||
\x{300}
|
||||
\x{1a1b}
|
||||
** Failers
|
||||
X
|
||||
\x{903}
|
||||
|
||||
/^\p{Nd}+/8
|
||||
/^\p{Nd}+/8O
|
||||
0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
|
||||
\x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
|
||||
\x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
|
||||
@@ -243,6 +250,8 @@
|
||||
]
|
||||
}
|
||||
\x{f3b}
|
||||
\x{2309}
|
||||
\x{230b}
|
||||
** Failers
|
||||
X
|
||||
\x{203f}
|
||||
@@ -250,7 +259,7 @@
|
||||
[
|
||||
{
|
||||
\x{f3c}
|
||||
|
||||
|
||||
/^\p{Pf}/8
|
||||
\x{bb}
|
||||
\x{2019}
|
||||
@@ -277,6 +286,8 @@
|
||||
[
|
||||
{
|
||||
\x{f3c}
|
||||
\x{2308}
|
||||
\x{230a}
|
||||
** Failers
|
||||
X
|
||||
)
|
||||
@@ -326,7 +337,6 @@
|
||||
\ \
|
||||
\x{a0}
|
||||
\x{1680}
|
||||
\x{180e}
|
||||
\x{2000}
|
||||
\x{2001}
|
||||
** Failers
|
||||
@@ -423,23 +433,23 @@
|
||||
** Failers
|
||||
1234
|
||||
|
||||
/\D+/8
|
||||
/\D+/8O
|
||||
11111111111111111111111111111111111111111111111111111111111111111111111
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
/\P{Nd}+/8
|
||||
/\P{Nd}+/8O
|
||||
11111111111111111111111111111111111111111111111111111111111111111111111
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
/[\D]+/8
|
||||
/[\D]+/8O
|
||||
11111111111111111111111111111111111111111111111111111111111111111111111
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
/[\P{Nd}]+/8
|
||||
/[\P{Nd}]+/8O
|
||||
11111111111111111111111111111111111111111111111111111111111111111111111
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
/[\D\P{Nd}]+/8
|
||||
/[\D\P{Nd}]+/8O
|
||||
11111111111111111111111111111111111111111111111111111111111111111111111
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
@@ -886,19 +896,19 @@
|
||||
** Failers
|
||||
\x{0b}
|
||||
|
||||
/^>\p{Xsp}+/8
|
||||
/^>\p{Xsp}+/8O
|
||||
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
|
||||
|
||||
/^>\p{Xsp}*/8
|
||||
/^>\p{Xsp}*/8O
|
||||
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
|
||||
|
||||
/^>\p{Xsp}{2,9}/8
|
||||
/^>\p{Xsp}{2,9}/8O
|
||||
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
|
||||
|
||||
/^>[\p{Xsp}]/8
|
||||
/^>[\p{Xsp}]/8O
|
||||
>\x{2028}\x{0b}
|
||||
|
||||
/^>[\p{Xsp}]+/8
|
||||
/^>[\p{Xsp}]+/8O
|
||||
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
|
||||
|
||||
/^>\p{Xps}/8
|
||||
@@ -1334,4 +1344,76 @@
|
||||
/is{2}t/8i
|
||||
iskt
|
||||
|
||||
/^\p{Xuc}/8
|
||||
$abc
|
||||
@abc
|
||||
`abc
|
||||
\x{1234}abc
|
||||
** Failers
|
||||
abc
|
||||
|
||||
/^\p{Xuc}+/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}+?/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}+?\*/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}++/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}{3,5}/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}{3,5}?/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^[\p{Xuc}]/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^[\p{Xuc}]+/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\P{Xuc}/8
|
||||
abc
|
||||
** Failers
|
||||
$abc
|
||||
@abc
|
||||
`abc
|
||||
\x{1234}abc
|
||||
|
||||
/^[\P{Xuc}]/8
|
||||
abc
|
||||
** Failers
|
||||
$abc
|
||||
@abc
|
||||
`abc
|
||||
\x{1234}abc
|
||||
|
||||
/^A\s+Z/8W
|
||||
A\x{2005}Z
|
||||
A\x{85}\x{180e}\x{2005}Z
|
||||
|
||||
/^A[\s]+Z/8W
|
||||
A\x{2005}Z
|
||||
A\x{85}\x{180e}\x{2005}Z
|
||||
|
||||
/-- End of testinput10 --/
|
||||
|
||||
Vendored
+5
-4
@@ -4,7 +4,9 @@ and a couple of things that are different with JIT. --/
|
||||
|
||||
/abc/S+I
|
||||
|
||||
/ab(*THEN)/S+I
|
||||
/(?(?C1)(?=a)a)/S+I
|
||||
|
||||
/(?(?C1)(?=a)a)/S!+I
|
||||
|
||||
/abc/S+I>testsavedregex
|
||||
|
||||
@@ -82,8 +84,7 @@ and a couple of things that are different with JIT. --/
|
||||
/(*NO_START_OPT)a(*:m)b/KS++
|
||||
a
|
||||
|
||||
/.?(*THEN)/S+I
|
||||
|
||||
/.?(*THEN)/S!+I
|
||||
/^12345678abcd/mS++
|
||||
12345678abcd
|
||||
|
||||
/-- End of testinput12 --/
|
||||
|
||||
Vendored
+17
-3
@@ -1,6 +1,9 @@
|
||||
/-- This set of tests is run only with the 8-bit library. It starts with all
|
||||
the tests of the POSIX interface, because that is supported only with the
|
||||
8-bit library. --/
|
||||
/-- This set of tests is run only with the 8-bit library. They do not require
|
||||
UTF-8 or Unicode property support. The file starts with all the tests of
|
||||
the POSIX interface, because that is supported only with the 8-bit library.
|
||||
--/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/abc/P
|
||||
abc
|
||||
@@ -85,9 +88,12 @@
|
||||
a\nb
|
||||
** Failers (too big char)
|
||||
A\x{123}B
|
||||
A\o{443}B
|
||||
|
||||
/\x{100}/I
|
||||
|
||||
/\o{400}/I
|
||||
|
||||
/ (?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
\) )* # optional leading comment
|
||||
@@ -294,8 +300,12 @@ not matter. --/
|
||||
|
||||
/\h/SI
|
||||
|
||||
/\H/SI
|
||||
|
||||
/\v/SI
|
||||
|
||||
/\V/SI
|
||||
|
||||
/\R/SI
|
||||
|
||||
/[\h]/BZ
|
||||
@@ -326,4 +336,8 @@ not matter. --/
|
||||
|
||||
/[\u0100-\u0200]/<JS>
|
||||
|
||||
/[^\x00-a]{12,}[^b-\xff]*/BZ
|
||||
|
||||
/[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ
|
||||
|
||||
/-- End of testinput14 --/
|
||||
|
||||
Vendored
+9
-73
@@ -1,5 +1,7 @@
|
||||
/-- This set of tests is for UTF-8 support, and is relevant only to the 8-bit
|
||||
library. --/
|
||||
/-- This set of tests is for UTF-8 support but not Unicode property support,
|
||||
and is relevant only to the 8-bit library. --/
|
||||
|
||||
< forbid W
|
||||
|
||||
/X(\C{3})/8
|
||||
X\x{1234}
|
||||
@@ -47,7 +49,7 @@
|
||||
|
||||
/ÃÃÃxxx/8
|
||||
|
||||
/ÃÃÃxxx/8?DZSS
|
||||
/ÃÃÃxxx/8?DZSSO
|
||||
|
||||
/badutf/8
|
||||
\xdf
|
||||
@@ -89,7 +91,6 @@
|
||||
\x80
|
||||
\xfe
|
||||
\xff
|
||||
\xef\xb7\x90
|
||||
|
||||
/badutf/8
|
||||
\xfb\x80\x80\x80\x80
|
||||
@@ -136,74 +137,6 @@
|
||||
\?\xfc\x84\x80\x80\x80\x80
|
||||
\?\xfd\x83\x80\x80\x80\x80
|
||||
|
||||
/noncharacter/8
|
||||
\x{fffe}
|
||||
\x{ffff}
|
||||
\x{1fffe}
|
||||
\x{1ffff}
|
||||
\x{2fffe}
|
||||
\x{2ffff}
|
||||
\x{3fffe}
|
||||
\x{3ffff}
|
||||
\x{4fffe}
|
||||
\x{4ffff}
|
||||
\x{5fffe}
|
||||
\x{5ffff}
|
||||
\x{6fffe}
|
||||
\x{6ffff}
|
||||
\x{7fffe}
|
||||
\x{7ffff}
|
||||
\x{8fffe}
|
||||
\x{8ffff}
|
||||
\x{9fffe}
|
||||
\x{9ffff}
|
||||
\x{afffe}
|
||||
\x{affff}
|
||||
\x{bfffe}
|
||||
\x{bffff}
|
||||
\x{cfffe}
|
||||
\x{cffff}
|
||||
\x{dfffe}
|
||||
\x{dffff}
|
||||
\x{efffe}
|
||||
\x{effff}
|
||||
\x{ffffe}
|
||||
\x{fffff}
|
||||
\x{10fffe}
|
||||
\x{10ffff}
|
||||
\x{fdd0}
|
||||
\x{fdd1}
|
||||
\x{fdd2}
|
||||
\x{fdd3}
|
||||
\x{fdd4}
|
||||
\x{fdd5}
|
||||
\x{fdd6}
|
||||
\x{fdd7}
|
||||
\x{fdd8}
|
||||
\x{fdd9}
|
||||
\x{fdda}
|
||||
\x{fddb}
|
||||
\x{fddc}
|
||||
\x{fddd}
|
||||
\x{fdde}
|
||||
\x{fddf}
|
||||
\x{fde0}
|
||||
\x{fde1}
|
||||
\x{fde2}
|
||||
\x{fde3}
|
||||
\x{fde4}
|
||||
\x{fde5}
|
||||
\x{fde6}
|
||||
\x{fde7}
|
||||
\x{fde8}
|
||||
\x{fde9}
|
||||
\x{fdea}
|
||||
\x{fdeb}
|
||||
\x{fdec}
|
||||
\x{fded}
|
||||
\x{fdee}
|
||||
\x{fdef}
|
||||
|
||||
/\x{100}/8DZ
|
||||
|
||||
/\x{1000}/8DZ
|
||||
@@ -310,7 +243,6 @@ correctly, but that messes up comparisons). --/
|
||||
/-- 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}
|
||||
@@ -427,4 +359,8 @@ correctly, but that messes up comparisons). --/
|
||||
\x{ff000041}
|
||||
\x{7f000041}
|
||||
|
||||
/(*UTF8)abc/9
|
||||
|
||||
/abc/89
|
||||
|
||||
/-- End of testinput15 --/
|
||||
|
||||
Vendored
+11
@@ -1,6 +1,8 @@
|
||||
/-- This set of tests is for the 16- and 32-bit library's basic (non-UTF-16
|
||||
or -32) features that are not compatible with the 8-bit library, or which
|
||||
give different output in 16- or 32-bit mode. --/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/a\Cb/
|
||||
aXb
|
||||
@@ -293,4 +295,13 @@
|
||||
/^\x{ffff}{0,3}/i
|
||||
\x{ffff}
|
||||
|
||||
/[^\x00-a]{12,}[^b-\xff]*/BZ
|
||||
|
||||
/[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ
|
||||
|
||||
/a*[b-\x{200}]?a#a*[b-\x{200}]?b#[a-f]*[g-\x{200}]*#[g-\x{200}]*[a-c]*#[g-\x{200}]*[a-h]*/BZ
|
||||
|
||||
/^[\x{1234}\x{4321}]{2,4}?/
|
||||
\x{1234}\x{1234}\x{1234}
|
||||
|
||||
/-- End of testinput17 --/
|
||||
|
||||
Vendored
+9
-5
@@ -1,5 +1,7 @@
|
||||
/-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to the
|
||||
16- and 32-bit library. --/
|
||||
/-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to
|
||||
the 16- and 32-bit libraries. --/
|
||||
|
||||
< forbid W
|
||||
|
||||
/ÃÃÃxxx/8?DZSS
|
||||
|
||||
@@ -156,7 +158,6 @@ correctly, but that messes up comparisons). --/
|
||||
/^[\QĀ\E-\Q�\E/BZ8
|
||||
|
||||
/X/8
|
||||
\x{0}\x{d7ff}\x{e000}\x{10ffff}
|
||||
\x{d800}
|
||||
\x{d800}\?
|
||||
\x{da00}
|
||||
@@ -169,7 +170,6 @@ correctly, but that messes up comparisons). --/
|
||||
\x{dfff}\?
|
||||
\x{110000}
|
||||
\x{d800}\x{1234}
|
||||
\x{fffe}
|
||||
|
||||
/(*UTF16)\x{11234}/
|
||||
abcd\x{11234}pqr
|
||||
@@ -207,7 +207,7 @@ correctly, but that messes up comparisons). --/
|
||||
CDBABC
|
||||
\x{2000}ABC
|
||||
|
||||
/\R*A/SI8
|
||||
/\R*A/SI8<bsr_unicode>
|
||||
CDBABC
|
||||
\x{2028}A
|
||||
|
||||
@@ -293,4 +293,8 @@ correctly, but that messes up comparisons). --/
|
||||
/\x{a0}+\s!/8BZT1
|
||||
\x{a0}\x20!
|
||||
|
||||
/(*UTF)abc/9
|
||||
|
||||
/abc/89
|
||||
|
||||
/-- End of testinput18 --/
|
||||
|
||||
Vendored
+362
-110
@@ -7,6 +7,8 @@
|
||||
|
||||
NOTE: This is a non-UTF set of tests. When UTF support is needed, use
|
||||
test 5, and if Unicode Property Support is needed, use test 7. --/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/(a)b|/I
|
||||
|
||||
@@ -313,12 +315,6 @@
|
||||
*** Failers
|
||||
fooabar
|
||||
|
||||
/This one is here because Perl 5.005_02 doesn't fail it/I
|
||||
|
||||
/^(a)?(?(1)a|b)+$/I
|
||||
*** Failers
|
||||
a
|
||||
|
||||
/This one is here because Perl behaves differently; see also the following/I
|
||||
|
||||
/^(a\1?){4}$/I
|
||||
@@ -835,7 +831,13 @@
|
||||
|
||||
/x++/DZ
|
||||
|
||||
/x{1,3}+/DZ
|
||||
/x{1,3}+/BZO
|
||||
|
||||
/x{1,3}+/BZOi
|
||||
|
||||
/[^x]{1,3}+/BZO
|
||||
|
||||
/[^x]{1,3}+/BZOi
|
||||
|
||||
/(x)*+/DZ
|
||||
|
||||
@@ -905,6 +907,9 @@
|
||||
|
||||
/\U/I
|
||||
|
||||
/a{1,3}b/U
|
||||
ab
|
||||
|
||||
/[/I
|
||||
|
||||
/[a-/I
|
||||
@@ -1501,6 +1506,8 @@
|
||||
a2b\CA
|
||||
** Failers
|
||||
a1b\CZ\CA
|
||||
|
||||
/(?|(?<a>)(?<b>)(?<a>)|(?<a>)(?<b>)(?<a>))/IJ
|
||||
|
||||
/^(?P<A>a)(?P<A>b)/IJ
|
||||
ab\CA
|
||||
@@ -1941,10 +1948,7 @@ a random value. /Ix
|
||||
/(?<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
|
||||
/(?<A> (?'B' abc (?(R) (?(R&C)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
|
||||
|
||||
/^(?(DEFINE) abc | xyz ) /x
|
||||
|
||||
@@ -2061,7 +2065,7 @@ a random value. /Ix
|
||||
|
||||
/^(a)\g{3/
|
||||
|
||||
/^(a)\g{4a}/
|
||||
/^(a)\g{aa}/
|
||||
|
||||
/^a.b/<lf>
|
||||
a\rb
|
||||
@@ -2516,7 +2520,10 @@ a random value. /Ix
|
||||
** Failers
|
||||
ab
|
||||
|
||||
/a(?!)+b/
|
||||
/a(?!)b/BZ
|
||||
|
||||
/(?!)?a/BZ
|
||||
ab
|
||||
|
||||
/a(*FAIL)+b/
|
||||
|
||||
@@ -2541,7 +2548,9 @@ a random value. /Ix
|
||||
abcxypqr\Y
|
||||
|
||||
/(*NO_START_OPT)xyz/C
|
||||
abcxyz
|
||||
abcxyz
|
||||
|
||||
/(*NO_AUTO_POSSESS)a+b/BZ
|
||||
|
||||
/xyz/CY
|
||||
abcxyz
|
||||
@@ -2939,7 +2948,7 @@ a random value. /Ix
|
||||
xxxxabcde\P
|
||||
xxxxabcde\P\P
|
||||
|
||||
/-- This is not in the Perl >= 5.10 test because Perl seems currently to be
|
||||
/-- This is not in the Perl-compatible test because Perl seems currently to be
|
||||
broken and not behaving as specified in that it *does* bumpalong after
|
||||
hitting (*COMMIT). --/
|
||||
|
||||
@@ -2985,28 +2994,12 @@ a random value. /Ix
|
||||
|
||||
/^(?&t)*(?(DEFINE)(?<t>.))$/BZ
|
||||
|
||||
/ -- The first four of these are not in the Perl >= 5.10 test because Perl
|
||||
documents that the use of \K in assertions is "not well defined". The
|
||||
last is here because Perl gives the match as "b" rather than "ab". I
|
||||
/ -- This one is here because Perl gives the match as "b" rather than "ab". I
|
||||
believe this to be a Perl bug. --/
|
||||
|
||||
/(?=a\Kb)ab/
|
||||
ab
|
||||
|
||||
/(?!a\Kb)ac/
|
||||
ac
|
||||
|
||||
/^abc(?<=b\Kc)d/
|
||||
abcd
|
||||
|
||||
/^abc(?<!b\Kq)d/
|
||||
abcd
|
||||
|
||||
/(?>a\Kb)z|(ab)/
|
||||
ab
|
||||
|
||||
/----------------------/
|
||||
|
||||
/(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
|
||||
|
||||
/abc(*MARK:)pqr/
|
||||
@@ -3021,7 +3014,7 @@ a random value. /Ix
|
||||
/A(*COMMIT)B/+K
|
||||
ACABX
|
||||
|
||||
/--- These should be different, but in Perl 5.11 are not, which I think
|
||||
/--- These should be different, but in Perl they are not, which I think
|
||||
is a bug in Perl. ---/
|
||||
|
||||
/A(*THEN)B|A(*THEN)C/K
|
||||
@@ -3030,12 +3023,6 @@ a random value. /Ix
|
||||
/A(*PRUNE)B|A(*PRUNE)C/K
|
||||
AC
|
||||
|
||||
/--- This should fail; the SKIP advances by one, but when we get to AC, the
|
||||
PRUNE kills it. Perl behaves differently. ---/
|
||||
|
||||
/A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
|
||||
AAAC
|
||||
|
||||
/--- Mark names can be duplicated. Perl doesn't give a mark for this one,
|
||||
though PCRE does. ---/
|
||||
|
||||
@@ -3061,7 +3048,7 @@ with \Y. ---/
|
||||
/^(ab (c+(*FAIL)cd) | xyz)/x
|
||||
abcccd
|
||||
|
||||
/--- Perl 5.11 gets some of these wrong ---/
|
||||
/--- Perl gets some of these wrong ---/
|
||||
|
||||
/(?>.(*ACCEPT))*?5/
|
||||
abcde
|
||||
@@ -3121,14 +3108,6 @@ with \Y. ---/
|
||||
/X\H++\R/BZ
|
||||
X\x0d\x0a
|
||||
|
||||
/-- Perl treats this one differently, not failing the second string. I believe
|
||||
that is a bug in Perl. --/
|
||||
|
||||
/^((abc|abcx)(*THEN)y|abcd)/
|
||||
abcd
|
||||
*** Failers
|
||||
abcxy
|
||||
|
||||
/(?<=abc)def/
|
||||
abc\P\P
|
||||
|
||||
@@ -3427,7 +3406,7 @@ with \Y. ---/
|
||||
|
||||
/\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS
|
||||
|
||||
/a(*SKIP)c|b(*ACCEPT)|/+SI
|
||||
/a(*SKIP)c|b(*ACCEPT)|/+S!I
|
||||
a
|
||||
|
||||
/a(*SKIP)c|b(*ACCEPT)cd(*ACCEPT)|x/SI
|
||||
@@ -3453,52 +3432,6 @@ with \Y. ---/
|
||||
/a(?:.(*THEN:ABC))*?a/ims
|
||||
\Mabbbbbbbbbbbbbbbbbbbbba
|
||||
|
||||
/-- These tests are in agreement with development Perl 5.015, which has fixed
|
||||
some things, but they don't all work with 5.012, so they aren't in the
|
||||
Perl-compatible tests. Those after the first come from Perl's own test
|
||||
files. --/
|
||||
|
||||
/^((yes|no)(*THEN)(*F))?/
|
||||
yes
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) \s* (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) \s* z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) (?:C|) (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) (?:C|) (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C{0,6} (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) C{0,6} (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) (CE){0,6} (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCEBefgBhiBqz
|
||||
|
||||
/(A (.*) (CE){0,6} (*THEN) | A D) z/x
|
||||
AbcdCEBefgBhiBqz
|
||||
|
||||
/(A (.*) (CE*){0,6} (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/(A (.*) (CE*){0,6} (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
|
||||
/-----------------------------------------------/
|
||||
|
||||
/^(?>a+)(?>(z+))\w/BZ
|
||||
aaaazzzzb
|
||||
** Failers
|
||||
@@ -3564,6 +3497,8 @@ AbcdCBefgBhiBqz
|
||||
|
||||
/a[B-\Nc]/
|
||||
|
||||
/a[B\Nc]/
|
||||
|
||||
/(a)(?2){0,1999}?(b)/
|
||||
|
||||
/(a)(?(DEFINE)(b))(?2){0,1999}?(?2)/
|
||||
@@ -3751,24 +3686,9 @@ replaced by single letters. --/
|
||||
\r\r\r\P
|
||||
\r\r\r\P\P
|
||||
|
||||
/-- These two are here because Perl does not match: it seems to allow the
|
||||
COMMIT to escape from the assertion. --/
|
||||
|
||||
/(?=a(*COMMIT)b|ac)ac|ac/
|
||||
ac
|
||||
|
||||
/(?=a(*COMMIT)b|(ac)) ac | (a)c/x
|
||||
ac
|
||||
|
||||
"AB(C(D))(E(F))?(?(?=\2)(?=\4))"
|
||||
ABCDGHI\O03
|
||||
|
||||
/-- This one is here because Perl does not confine the *COMMIT to the
|
||||
assertion, and therefore fails the entire subroutine call. --/
|
||||
|
||||
/((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
|
||||
ac
|
||||
|
||||
/-- These are all run as real matches in test 1; here we are just checking the
|
||||
settings of the anchored and startline bits. --/
|
||||
|
||||
@@ -3810,4 +3730,336 @@ settings of the anchored and startline bits. --/
|
||||
|
||||
/.?/S!I
|
||||
|
||||
/(?:(a)+(?C1)bb|aa(?C2)b)/
|
||||
aab\C+
|
||||
|
||||
/(?:(a)++(?C1)bb|aa(?C2)b)/
|
||||
aab\C+
|
||||
|
||||
/(?:(?>(a))(?C1)bb|aa(?C2)b)/
|
||||
aab\C+
|
||||
|
||||
/(?:(?1)(?C1)x|ab(?C2))((a)){0}/
|
||||
aab\C+
|
||||
|
||||
/(?1)(?C1)((a)(?C2)){0}/
|
||||
aab\C+
|
||||
|
||||
/(?:(a)+(?C1)bb|aa(?C2)b)++/
|
||||
aab\C+
|
||||
aab\C+\O2
|
||||
|
||||
/(ab)x|ab/
|
||||
ab\O3
|
||||
ab\O2
|
||||
|
||||
/(ab)/
|
||||
ab\O3
|
||||
ab\O2
|
||||
|
||||
/(?<=123)(*MARK:xx)abc/K
|
||||
xxxx123a\P\P
|
||||
xxxx123a\P
|
||||
|
||||
/123\Kabc/
|
||||
xxxx123a\P\P
|
||||
xxxx123a\P
|
||||
|
||||
/^(?(?=a)aa|bb)/C
|
||||
bb
|
||||
|
||||
/(?C1)^(?C2)(?(?C99)(?=(?C3)a(?C4))(?C5)a(?C6)a(?C7)|(?C8)b(?C9)b(?C10))(?C11)/
|
||||
bb
|
||||
|
||||
/-- Perl seems to have a bug with this one --/
|
||||
|
||||
/aaaaa(*COMMIT)(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
|
||||
/-- Here are some that Perl treats differently because of the way it handles
|
||||
backtracking verbs. --/
|
||||
|
||||
/(?!a(*COMMIT)b)ac|ad/
|
||||
ac
|
||||
ad
|
||||
|
||||
/^(?!a(*THEN)b|ac)../
|
||||
ac
|
||||
ad
|
||||
|
||||
/^(?=a(*THEN)b|ac)/
|
||||
ac
|
||||
|
||||
/\A.*?(?:a|b(*THEN)c)/
|
||||
ba
|
||||
|
||||
/\A.*?(?:a|b(*THEN)c)++/
|
||||
ba
|
||||
|
||||
/\A.*?(?:a|b(*THEN)c|d)/
|
||||
ba
|
||||
|
||||
/(?:(a(*MARK:X)a+(*SKIP:X)b)){0}(?:(?1)|aac)/
|
||||
aac
|
||||
|
||||
/\A.*?(a|b(*THEN)c)/
|
||||
ba
|
||||
|
||||
/^(A(*THEN)B|A(*THEN)D)/
|
||||
AD
|
||||
|
||||
/(?!b(*THEN)a)bn|bnn/
|
||||
bnn
|
||||
|
||||
/(?(?=b(*SKIP)a)bn|bnn)/
|
||||
bnn
|
||||
|
||||
/(?=b(*THEN)a|)bn|bnn/
|
||||
bnn
|
||||
|
||||
/-------------------------/
|
||||
|
||||
/(*LIMIT_MATCH=12bc)abc/
|
||||
|
||||
/(*LIMIT_MATCH=4294967290)abc/
|
||||
|
||||
/(*LIMIT_RECURSION=4294967280)abc/I
|
||||
|
||||
/(a+)*zz/
|
||||
aaaaaaaaaaaaaz
|
||||
aaaaaaaaaaaaaz\q3000
|
||||
|
||||
/(a+)*zz/S-
|
||||
aaaaaaaaaaaaaz\Q10
|
||||
|
||||
/(*LIMIT_MATCH=3000)(a+)*zz/I
|
||||
aaaaaaaaaaaaaz
|
||||
aaaaaaaaaaaaaz\q60000
|
||||
|
||||
/(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
|
||||
aaaaaaaaaaaaaz
|
||||
|
||||
/(*LIMIT_MATCH=60000)(a+)*zz/I
|
||||
aaaaaaaaaaaaaz
|
||||
aaaaaaaaaaaaaz\q3000
|
||||
|
||||
/(*LIMIT_RECURSION=10)(a+)*zz/IS-
|
||||
aaaaaaaaaaaaaz
|
||||
aaaaaaaaaaaaaz\Q1000
|
||||
|
||||
/(*LIMIT_RECURSION=10)(*LIMIT_RECURSION=1000)(a+)*zz/IS-
|
||||
aaaaaaaaaaaaaz
|
||||
|
||||
/(*LIMIT_RECURSION=1000)(a+)*zz/IS-
|
||||
aaaaaaaaaaaaaz
|
||||
aaaaaaaaaaaaaz\Q10
|
||||
|
||||
/-- This test causes a segfault with Perl 5.18.0 --/
|
||||
|
||||
/^(?=(a)){0}b(?1)/
|
||||
backgammon
|
||||
|
||||
/(?|(?<n>f)|(?<n>b))/JI
|
||||
|
||||
/(?<a>abc)(?<a>z)\k<a>()/JDZS
|
||||
|
||||
/a*[bcd]/BZ
|
||||
|
||||
/[bcd]*a/BZ
|
||||
|
||||
/-- A complete set of tests for auto-possessification of character types --/
|
||||
|
||||
/\D+\D \D+\d \D+\S \D+\s \D+\W \D+\w \D+. \D+\C \D+\R \D+\H \D+\h \D+\V \D+\v \D+\Z \D+\z \D+$/BZx
|
||||
|
||||
/\d+\D \d+\d \d+\S \d+\s \d+\W \d+\w \d+. \d+\C \d+\R \d+\H \d+\h \d+\V \d+\v \d+\Z \d+\z \d+$/BZx
|
||||
|
||||
/\S+\D \S+\d \S+\S \S+\s \S+\W \S+\w \S+. \S+\C \S+\R \S+\H \S+\h \S+\V \S+\v \S+\Z \S+\z \S+$/BZx
|
||||
|
||||
/\s+\D \s+\d \s+\S \s+\s \s+\W \s+\w \s+. \s+\C \s+\R \s+\H \s+\h \s+\V \s+\v \s+\Z \s+\z \s+$/BZx
|
||||
|
||||
/\W+\D \W+\d \W+\S \W+\s \W+\W \W+\w \W+. \W+\C \W+\R \W+\H \W+\h \W+\V \W+\v \W+\Z \W+\z \W+$/BZx
|
||||
|
||||
/\w+\D \w+\d \w+\S \w+\s \w+\W \w+\w \w+. \w+\C \w+\R \w+\H \w+\h \w+\V \w+\v \w+\Z \w+\z \w+$/BZx
|
||||
|
||||
/\C+\D \C+\d \C+\S \C+\s \C+\W \C+\w \C+. \C+\C \C+\R \C+\H \C+\h \C+\V \C+\v \C+\Z \C+\z \C+$/BZx
|
||||
|
||||
/\R+\D \R+\d \R+\S \R+\s \R+\W \R+\w \R+. \R+\C \R+\R \R+\H \R+\h \R+\V \R+\v \R+\Z \R+\z \R+$/BZx
|
||||
|
||||
/\H+\D \H+\d \H+\S \H+\s \H+\W \H+\w \H+. \H+\C \H+\R \H+\H \H+\h \H+\V \H+\v \H+\Z \H+\z \H+$/BZx
|
||||
|
||||
/\h+\D \h+\d \h+\S \h+\s \h+\W \h+\w \h+. \h+\C \h+\R \h+\H \h+\h \h+\V \h+\v \h+\Z \h+\z \h+$/BZx
|
||||
|
||||
/\V+\D \V+\d \V+\S \V+\s \V+\W \V+\w \V+. \V+\C \V+\R \V+\H \V+\h \V+\V \V+\v \V+\Z \V+\z \V+$/BZx
|
||||
|
||||
/\v+\D \v+\d \v+\S \v+\s \v+\W \v+\w \v+. \v+\C \v+\R \v+\H \v+\h \v+\V \v+\v \v+\Z \v+\z \v+$/BZx
|
||||
|
||||
/ a+\D a+\d a+\S a+\s a+\W a+\w a+. a+\C a+\R a+\H a+\h a+\V a+\v a+\Z a+\z a+$/BZx
|
||||
|
||||
/\n+\D \n+\d \n+\S \n+\s \n+\W \n+\w \n+. \n+\C \n+\R \n+\H \n+\h \n+\V \n+\v \n+\Z \n+\z \n+$/BZx
|
||||
|
||||
/ .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZx
|
||||
|
||||
/ .+\D .+\d .+\S .+\s .+\W .+\w .+. .+\C .+\R .+\H .+\h .+\V .+\v .+\Z .+\z .+$/BZxs
|
||||
|
||||
/\D+$ \d+$ \S+$ \s+$ \W+$ \w+$ \C+$ \R+$ \H+$ \h+$ \V+$ \v+$ a+$ \n+$ .+$ .+$/BZxm
|
||||
|
||||
/(?=a+)a(a+)++a/BZ
|
||||
|
||||
/a+(bb|cc)a+(?:bb|cc)a+(?>bb|cc)a+(?:bb|cc)+a+(aa)a+(?:bb|aa)/BZ
|
||||
|
||||
/a+(bb|cc)?#a+(?:bb|cc)??#a+(?:bb|cc)?+#a+(?:bb|cc)*#a+(bb|cc)?a#a+(?:aa)?/BZ
|
||||
|
||||
/a+(?:bb)?a#a+(?:|||)#a+(?:|b)a#a+(?:|||)?a/BZ
|
||||
|
||||
/[ab]*/BZ
|
||||
aaaa
|
||||
|
||||
/[ab]*?/BZ
|
||||
aaaa
|
||||
|
||||
/[ab]?/BZ
|
||||
aaaa
|
||||
|
||||
/[ab]??/BZ
|
||||
aaaa
|
||||
|
||||
/[ab]+/BZ
|
||||
aaaa
|
||||
|
||||
/[ab]+?/BZ
|
||||
aaaa
|
||||
|
||||
/[ab]{2,3}/BZ
|
||||
aaaa
|
||||
|
||||
/[ab]{2,3}?/BZ
|
||||
aaaa
|
||||
|
||||
/[ab]{2,}/BZ
|
||||
aaaa
|
||||
|
||||
/[ab]{2,}?/BZ
|
||||
aaaa
|
||||
|
||||
/\d+\s{0,5}=\s*\S?=\w{0,4}\W*/BZ
|
||||
|
||||
/[a-d]{5,12}[e-z0-9]*#[^a-z]+[b-y]*a[2-7]?[^0-9a-z]+/BZ
|
||||
|
||||
/[a-z]*\s#[ \t]?\S#[a-c]*\S#[C-G]+?\d#[4-8]*\D#[4-9,]*\D#[!$]{0,5}\w#[M-Xf-l]+\W#[a-c,]?\W/BZ
|
||||
|
||||
/a+(aa|bb)*c#a*(bb|cc)*a#a?(bb|cc)*d#[a-f]*(g|hh)*f/BZ
|
||||
|
||||
/[a-f]*(g|hh|i)*i#[a-x]{4,}(y{0,6})*y#[a-k]+(ll|mm)+n/BZ
|
||||
|
||||
/[a-f]*(?>gg|hh)+#[a-f]*(?>gg|hh)?#[a-f]*(?>gg|hh)*a#[a-f]*(?>gg|hh)*h/BZ
|
||||
|
||||
/[a-c]*d/DZS
|
||||
|
||||
/[a-c]+d/DZS
|
||||
|
||||
/[a-c]?d/DZS
|
||||
|
||||
/[a-c]{4,6}d/DZS
|
||||
|
||||
/[a-c]{0,6}d/DZS
|
||||
|
||||
/-- End of special auto-possessive tests --/
|
||||
|
||||
/^A\o{1239}B/
|
||||
A\123B
|
||||
|
||||
/^A\oB/
|
||||
|
||||
/^A\x{zz}B/
|
||||
|
||||
/^A\x{12Z/
|
||||
|
||||
/^A\x{/
|
||||
|
||||
/[ab]++/BZO
|
||||
|
||||
/[^ab]*+/BZO
|
||||
|
||||
/a{4}+/BZO
|
||||
|
||||
/a{4}+/BZOi
|
||||
|
||||
/[a-[:digit:]]+/
|
||||
|
||||
/[A-[:digit:]]+/
|
||||
|
||||
/[a-[.xxx.]]+/
|
||||
|
||||
/[a-[=xxx=]]+/
|
||||
|
||||
/[a-[!xxx!]]+/
|
||||
|
||||
/[A-[!xxx!]]+/
|
||||
A]]]
|
||||
|
||||
/[a-\d]+/
|
||||
|
||||
/(?<0abc>xx)/
|
||||
|
||||
/(?&1abc)xx(?<1abc>y)/
|
||||
|
||||
/(?<ab-cd>xx)/
|
||||
|
||||
/(?'0abc'xx)/
|
||||
|
||||
/(?P<0abc>xx)/
|
||||
|
||||
/\k<5ghj>/
|
||||
|
||||
/\k'5ghj'/
|
||||
|
||||
/\k{2fgh}/
|
||||
|
||||
/(?P=8yuki)/
|
||||
|
||||
/\g{4df}/
|
||||
|
||||
/(?&1abc)xx(?<1abc>y)/
|
||||
|
||||
/(?P>1abc)xx(?<1abc>y)/
|
||||
|
||||
/\g'3gh'/
|
||||
|
||||
/\g<5fg>/
|
||||
|
||||
/(?(<4gh>)abc)/
|
||||
|
||||
/(?('4gh')abc)/
|
||||
|
||||
/(?(4gh)abc)/
|
||||
|
||||
/(?(R&6yh)abc)/
|
||||
|
||||
/-- Test the ugly "start or end of word" compatibility syntax --/
|
||||
|
||||
/[[:<:]]red[[:>:]]/BZ
|
||||
little red riding hood
|
||||
a /red/ thing
|
||||
red is a colour
|
||||
put it all on red
|
||||
** Failers
|
||||
no reduction
|
||||
Alfred Winifred
|
||||
|
||||
/[a[:<:]] should give error/
|
||||
|
||||
/(?=ab\K)/+
|
||||
abcd
|
||||
|
||||
/abcd/f<lf>
|
||||
xx\nxabcd
|
||||
|
||||
/ -- Test stack check external calls --/
|
||||
|
||||
/(((((a)))))/Q0
|
||||
|
||||
/(((((a)))))/Q1
|
||||
|
||||
/(((((a)))))/Q
|
||||
|
||||
/-- End of testinput2 --/
|
||||
|
||||
Vendored
+13
-3
@@ -1,9 +1,19 @@
|
||||
/-- Tests for reloading pre-compile patterns. The first one gives an error
|
||||
right away. The others require the linke size to be 2. */
|
||||
/-- Tests for reloading pre-compiled patterns. The first one gives an error
|
||||
right away, and can be any old pattern compiled in 8-bit mode ("abc" is
|
||||
typical). The others require the link size to be 2. */x
|
||||
|
||||
<!testsaved8
|
||||
|
||||
/-- Generated from: ^[aL](?P<name>(?:[AaLl]+)[^xX-]*?)(?P<other>[\x{150}-\x{250}\x{300}]|[^\x{800}aAs-uS-U\x{d800}-\x{dfff}])++[^#\b\x{500}\x{1000}]{3,5}$ --/
|
||||
%-- Generated from:
|
||||
/^[aL](?P<name>(?:[AaLl]+)[^xX-]*?)(?P<other>[\x{150}-\x{250}\x{300}]|
|
||||
[^\x{800}aAs-uS-U\x{d800}-\x{dfff}])++[^#\b\x{500}\x{1000}]{3,5}$
|
||||
/x
|
||||
|
||||
In 16-bit mode with options: S>testdata/saved16LE-1
|
||||
FS>testdata/saved16BE-1
|
||||
In 32-bit mode with options: S>testdata/saved32LE-1
|
||||
FS>testdata/saved32BE-1
|
||||
--%x
|
||||
|
||||
<!testsaved16LE-1
|
||||
|
||||
|
||||
Vendored
+11
-1
@@ -1,6 +1,16 @@
|
||||
/-- Tests for reloading pre-compile patterns with UTF-16 or UTF-32 support. */
|
||||
|
||||
/-- Generated from: (?P<cbra1>[aZ\x{400}-\x{10ffff}]{4,}[\x{f123}\x{10039}\x{20000}-\x{21234}]?|[A-Cx-z\x{100000}-\x{1000a7}\x{101234}])(?<cb2>[^az]) --/8
|
||||
%-- Generated from:
|
||||
/(?P<cbra1>[aZ\x{400}-\x{10ffff}]{4,}
|
||||
[\x{f123}\x{10039}\x{20000}-\x{21234}]?|
|
||||
[A-Cx-z\x{100000}-\x{1000a7}\x{101234}])
|
||||
(?<cb2>[^az])/x
|
||||
|
||||
In 16-bit mode with options: S8>testdata/saved16LE-2
|
||||
FS8>testdata/saved16BE-2
|
||||
In 32-bit mode with options: S8>testdata/saved32LE-2
|
||||
FS8>testdata/saved32BE-2
|
||||
--%8x
|
||||
|
||||
<!testsaved16LE-2
|
||||
|
||||
|
||||
Vendored
+4
@@ -1,5 +1,7 @@
|
||||
/-- Tests for the 16-bit library only */
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/-- Check maximum non-UTF character size --/
|
||||
|
||||
/\x{ffff}/
|
||||
@@ -7,6 +9,8 @@
|
||||
|
||||
/\x{10000}/
|
||||
|
||||
/\o{20000}/
|
||||
|
||||
/-- Check character ranges --/
|
||||
|
||||
/[\H]/BZSI
|
||||
|
||||
Vendored
+1
-67
@@ -1,72 +1,6 @@
|
||||
/-- Tests for the 16-bit library with UTF-16 support only */
|
||||
|
||||
/noncharacter/8
|
||||
\x{fffe}
|
||||
\x{ffff}
|
||||
\x{1fffe}
|
||||
\x{1ffff}
|
||||
\x{2fffe}
|
||||
\x{2ffff}
|
||||
\x{3fffe}
|
||||
\x{3ffff}
|
||||
\x{4fffe}
|
||||
\x{4ffff}
|
||||
\x{5fffe}
|
||||
\x{5ffff}
|
||||
\x{6fffe}
|
||||
\x{6ffff}
|
||||
\x{7fffe}
|
||||
\x{7ffff}
|
||||
\x{8fffe}
|
||||
\x{8ffff}
|
||||
\x{9fffe}
|
||||
\x{9ffff}
|
||||
\x{afffe}
|
||||
\x{affff}
|
||||
\x{bfffe}
|
||||
\x{bffff}
|
||||
\x{cfffe}
|
||||
\x{cffff}
|
||||
\x{dfffe}
|
||||
\x{dffff}
|
||||
\x{efffe}
|
||||
\x{effff}
|
||||
\x{ffffe}
|
||||
\x{fffff}
|
||||
\x{10fffe}
|
||||
\x{10ffff}
|
||||
\x{fdd0}
|
||||
\x{fdd1}
|
||||
\x{fdd2}
|
||||
\x{fdd3}
|
||||
\x{fdd4}
|
||||
\x{fdd5}
|
||||
\x{fdd6}
|
||||
\x{fdd7}
|
||||
\x{fdd8}
|
||||
\x{fdd9}
|
||||
\x{fdda}
|
||||
\x{fddb}
|
||||
\x{fddc}
|
||||
\x{fddd}
|
||||
\x{fdde}
|
||||
\x{fddf}
|
||||
\x{fde0}
|
||||
\x{fde1}
|
||||
\x{fde2}
|
||||
\x{fde3}
|
||||
\x{fde4}
|
||||
\x{fde5}
|
||||
\x{fde6}
|
||||
\x{fde7}
|
||||
\x{fde8}
|
||||
\x{fde9}
|
||||
\x{fdea}
|
||||
\x{fdeb}
|
||||
\x{fdec}
|
||||
\x{fded}
|
||||
\x{fdee}
|
||||
\x{fdef}
|
||||
< forbid W
|
||||
|
||||
/bad/8
|
||||
\x{d800}
|
||||
|
||||
Vendored
+12
@@ -1,5 +1,7 @@
|
||||
/-- Tests for the 32-bit library only */
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/-- Check maximum character size --/
|
||||
|
||||
/\x{110000}/
|
||||
@@ -10,6 +12,16 @@
|
||||
|
||||
/\x{ffffffff}/
|
||||
|
||||
/\x{100000000}/
|
||||
|
||||
/\o{17777777777}/
|
||||
|
||||
/\o{20000000000}/
|
||||
|
||||
/\o{37777777777}/
|
||||
|
||||
/\o{40000000000}/
|
||||
|
||||
/\x{7fffffff}\x{7fffffff}/I
|
||||
|
||||
/\x{80000000}\x{80000000}/I
|
||||
|
||||
Vendored
+4
-70
@@ -1,80 +1,14 @@
|
||||
/-- Tests for the 32-bit library with UTF-32 support only */
|
||||
|
||||
< forbid W
|
||||
|
||||
/-- Non-UTF characters --/
|
||||
|
||||
/\x{110000}/8
|
||||
|
||||
/\o{4200000}/8
|
||||
|
||||
/\C/8
|
||||
\x{110000}
|
||||
|
||||
/-- Invalid UTF-32 --/
|
||||
|
||||
/noncharacter/8
|
||||
\x{fffe}
|
||||
\x{ffff}
|
||||
\x{1fffe}
|
||||
\x{1ffff}
|
||||
\x{2fffe}
|
||||
\x{2ffff}
|
||||
\x{3fffe}
|
||||
\x{3ffff}
|
||||
\x{4fffe}
|
||||
\x{4ffff}
|
||||
\x{5fffe}
|
||||
\x{5ffff}
|
||||
\x{6fffe}
|
||||
\x{6ffff}
|
||||
\x{7fffe}
|
||||
\x{7ffff}
|
||||
\x{8fffe}
|
||||
\x{8ffff}
|
||||
\x{9fffe}
|
||||
\x{9ffff}
|
||||
\x{afffe}
|
||||
\x{affff}
|
||||
\x{bfffe}
|
||||
\x{bffff}
|
||||
\x{cfffe}
|
||||
\x{cffff}
|
||||
\x{dfffe}
|
||||
\x{dffff}
|
||||
\x{efffe}
|
||||
\x{effff}
|
||||
\x{ffffe}
|
||||
\x{fffff}
|
||||
\x{10fffe}
|
||||
\x{10ffff}
|
||||
\x{fdd0}
|
||||
\x{fdd1}
|
||||
\x{fdd2}
|
||||
\x{fdd3}
|
||||
\x{fdd4}
|
||||
\x{fdd5}
|
||||
\x{fdd6}
|
||||
\x{fdd7}
|
||||
\x{fdd8}
|
||||
\x{fdd9}
|
||||
\x{fdda}
|
||||
\x{fddb}
|
||||
\x{fddc}
|
||||
\x{fddd}
|
||||
\x{fdde}
|
||||
\x{fddf}
|
||||
\x{fde0}
|
||||
\x{fde1}
|
||||
\x{fde2}
|
||||
\x{fde3}
|
||||
\x{fde4}
|
||||
\x{fde5}
|
||||
\x{fde6}
|
||||
\x{fde7}
|
||||
\x{fde8}
|
||||
\x{fde9}
|
||||
\x{fdea}
|
||||
\x{fdeb}
|
||||
\x{fdec}
|
||||
\x{fded}
|
||||
\x{fdee}
|
||||
\x{fdef}
|
||||
|
||||
/-- End of testinput26 --/
|
||||
|
||||
Vendored
+8
-3
@@ -1,6 +1,11 @@
|
||||
/-- This set of tests checks local-specific features, using the fr_FR locale.
|
||||
It is not Perl-compatible. There is different version called wintestinput3
|
||||
f or use on Windows, where the locale is called "french". --/
|
||||
/-- This set of tests checks local-specific features, using the "fr_FR" locale.
|
||||
It is not Perl-compatible. When run via RunTest, the locale is edited to
|
||||
be whichever of "fr_FR", "french", or "fr" is found to exist. There is
|
||||
different version of this file called wintestinput3 for use on Windows,
|
||||
where the locale is called "french" and the tests are run using
|
||||
RunTest.bat. --/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/^[\w]+/
|
||||
*** Failers
|
||||
|
||||
Vendored
+101
@@ -1,6 +1,8 @@
|
||||
/-- This set of tests is for UTF support, excluding Unicode properties. It is
|
||||
compatible with all versions of Perl >= 5.10 and both the 8-bit and 16-bit
|
||||
PCRE libraries. --/
|
||||
|
||||
< forbid 9?=ABCDEFfGILMNPTUWXZ<
|
||||
|
||||
/a.b/8
|
||||
acb
|
||||
@@ -621,4 +623,103 @@
|
||||
/a(*:a£b)/8K
|
||||
abc
|
||||
|
||||
/-- Noncharacters --/
|
||||
|
||||
/./8
|
||||
\x{fffe}
|
||||
\x{ffff}
|
||||
\x{1fffe}
|
||||
\x{1ffff}
|
||||
\x{2fffe}
|
||||
\x{2ffff}
|
||||
\x{3fffe}
|
||||
\x{3ffff}
|
||||
\x{4fffe}
|
||||
\x{4ffff}
|
||||
\x{5fffe}
|
||||
\x{5ffff}
|
||||
\x{6fffe}
|
||||
\x{6ffff}
|
||||
\x{7fffe}
|
||||
\x{7ffff}
|
||||
\x{8fffe}
|
||||
\x{8ffff}
|
||||
\x{9fffe}
|
||||
\x{9ffff}
|
||||
\x{afffe}
|
||||
\x{affff}
|
||||
\x{bfffe}
|
||||
\x{bffff}
|
||||
\x{cfffe}
|
||||
\x{cffff}
|
||||
\x{dfffe}
|
||||
\x{dffff}
|
||||
\x{efffe}
|
||||
\x{effff}
|
||||
\x{ffffe}
|
||||
\x{fffff}
|
||||
\x{10fffe}
|
||||
\x{10ffff}
|
||||
\x{fdd0}
|
||||
\x{fdd1}
|
||||
\x{fdd2}
|
||||
\x{fdd3}
|
||||
\x{fdd4}
|
||||
\x{fdd5}
|
||||
\x{fdd6}
|
||||
\x{fdd7}
|
||||
\x{fdd8}
|
||||
\x{fdd9}
|
||||
\x{fdda}
|
||||
\x{fddb}
|
||||
\x{fddc}
|
||||
\x{fddd}
|
||||
\x{fdde}
|
||||
\x{fddf}
|
||||
\x{fde0}
|
||||
\x{fde1}
|
||||
\x{fde2}
|
||||
\x{fde3}
|
||||
\x{fde4}
|
||||
\x{fde5}
|
||||
\x{fde6}
|
||||
\x{fde7}
|
||||
\x{fde8}
|
||||
\x{fde9}
|
||||
\x{fdea}
|
||||
\x{fdeb}
|
||||
\x{fdec}
|
||||
\x{fded}
|
||||
\x{fdee}
|
||||
\x{fdef}
|
||||
|
||||
/^\d*\w{4}/8
|
||||
1234
|
||||
123
|
||||
|
||||
/^[^b]*\w{4}/8
|
||||
aaaa
|
||||
aaa
|
||||
|
||||
/^[^b]*\w{4}/8i
|
||||
aaaa
|
||||
aaa
|
||||
|
||||
/^\x{100}*.{4}/8
|
||||
\x{100}\x{100}\x{100}\x{100}
|
||||
\x{100}\x{100}\x{100}
|
||||
|
||||
/^\x{100}*.{4}/8i
|
||||
\x{100}\x{100}\x{100}\x{100}
|
||||
\x{100}\x{100}\x{100}
|
||||
|
||||
/^a+[a\x{200}]/8
|
||||
aa
|
||||
|
||||
/^.\B.\B./8
|
||||
\x{10123}\x{10124}\x{10125}
|
||||
|
||||
/^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/8
|
||||
#\x{10000}#\x{100}#\x{10ffff}#
|
||||
|
||||
/-- End of testinput4 --/
|
||||
|
||||
Vendored
+21
@@ -1,21 +1,37 @@
|
||||
/-- This set of tests checks the API, internals, and non-Perl stuff for UTF
|
||||
support, excluding Unicode properties. However, tests that give different
|
||||
results in 8-bit and 16-bit modes are excluded (see tests 16 and 17). --/
|
||||
|
||||
< forbid W
|
||||
|
||||
/\x{110000}/8DZ
|
||||
|
||||
/\o{4200000}/8DZ
|
||||
|
||||
/\x{ffffffff}/8
|
||||
|
||||
/\o{37777777777}/8
|
||||
|
||||
/\x{100000000}/8
|
||||
|
||||
/\o{77777777777}/8
|
||||
|
||||
/\x{d800}/8
|
||||
|
||||
/\o{154000}/8
|
||||
|
||||
/\x{dfff}/8
|
||||
|
||||
/\o{157777}/8
|
||||
|
||||
/\x{d7ff}/8
|
||||
|
||||
/\o{153777}/8
|
||||
|
||||
/\x{e000}/8
|
||||
|
||||
/\o{170000}/8
|
||||
|
||||
/^\x{100}a\x{1234}/8
|
||||
\x{100}a\x{1234}bcd
|
||||
|
||||
@@ -769,4 +785,9 @@
|
||||
|
||||
/\ud800/<JS>8
|
||||
|
||||
/^a+[a\x{200}]/8BZ
|
||||
aa
|
||||
|
||||
/[b-d\x{200}-\x{250}]*[ae-h]?#[\x{200}-\x{250}]{0,8}[\x00-\xff]*#[\x{200}-\x{250}]+[a-z]/8BZ
|
||||
|
||||
/-- End of testinput5 --/
|
||||
|
||||
Vendored
+183
-6
@@ -1,5 +1,7 @@
|
||||
/-- This set of tests is for Unicode property support. It is compatible with
|
||||
Perl >= 5.15. --/
|
||||
|
||||
< forbid 9?=ABCDEFfGILMNPTUXZ<
|
||||
|
||||
/^\pC\pL\pM\pN\pP\pS\pZ</8
|
||||
\x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
|
||||
@@ -325,12 +327,6 @@
|
||||
** Failers
|
||||
abc
|
||||
|
||||
/\p{Lu}/8i
|
||||
A
|
||||
aZ
|
||||
** Failers
|
||||
abc
|
||||
|
||||
/\p{Ll}/8
|
||||
a
|
||||
Az
|
||||
@@ -425,6 +421,7 @@
|
||||
/^[\p{Arabic}]/8
|
||||
\x{06e9}
|
||||
\x{060b}
|
||||
\x{061c}
|
||||
** Failers
|
||||
X\x{06e9}
|
||||
|
||||
@@ -882,6 +879,15 @@
|
||||
\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
|
||||
\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
|
||||
|
||||
/\X*Z/8Y
|
||||
A\x{300}
|
||||
|
||||
/\X*(.)/8Y
|
||||
A\x{1111}\x{ae4c}\x{1169}
|
||||
|
||||
/\X?abc/8Y
|
||||
\xff\x7f\x00\x00\x03\x00\x41\xcc\x80\x41\x{300}\x61\x62\x63\x00\>06\?
|
||||
|
||||
/-- --/
|
||||
|
||||
/\x{1e9e}+/8i
|
||||
@@ -1316,4 +1322,175 @@
|
||||
/\x{017f}+/8i
|
||||
\x{0053}\x{0073}\x{017f}
|
||||
|
||||
/^\p{Any}*\d{4}/8
|
||||
1234
|
||||
123
|
||||
|
||||
/^\X*\w{4}/8
|
||||
1234
|
||||
123
|
||||
|
||||
/^A\s+Z/8W
|
||||
A\x{2005}Z
|
||||
A\x{85}\x{180e}\x{2005}Z
|
||||
|
||||
/^A[\s]+Z/8W
|
||||
A\x{2005}Z
|
||||
A\x{85}\x{180e}\x{2005}Z
|
||||
|
||||
/^[[:graph:]]+$/8W
|
||||
Letter:ABC
|
||||
Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
Number:9\x{660}
|
||||
Punctuation:\x{66a},;
|
||||
Symbol:\x{6de}<>\x{fffc}
|
||||
Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
\x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
\x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
\x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
\x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
\x{feff}
|
||||
\x{fff9}\x{fffa}\x{fffb}
|
||||
\x{110bd}
|
||||
\x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
\x{e0001}
|
||||
\x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
** Failers
|
||||
\x{09}
|
||||
\x{0a}
|
||||
\x{1D}
|
||||
\x{20}
|
||||
\x{85}
|
||||
\x{a0}
|
||||
\x{61c}
|
||||
\x{1680}
|
||||
\x{180e}
|
||||
\x{2028}
|
||||
\x{2029}
|
||||
\x{202f}
|
||||
\x{2065}
|
||||
\x{2066}
|
||||
\x{2067}
|
||||
\x{2068}
|
||||
\x{2069}
|
||||
\x{3000}
|
||||
\x{e0002}
|
||||
\x{e001f}
|
||||
\x{e0080}
|
||||
|
||||
/^[[:print:]]+$/8W
|
||||
Space: \x{a0}
|
||||
\x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
|
||||
\x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
|
||||
\x{202f}\x{205f}
|
||||
\x{3000}
|
||||
Letter:ABC
|
||||
Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
Number:9\x{660}
|
||||
Punctuation:\x{66a},;
|
||||
Symbol:\x{6de}<>\x{fffc}
|
||||
Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
\x{180e}
|
||||
\x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
\x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
\x{202f}
|
||||
\x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
\x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
\x{feff}
|
||||
\x{fff9}\x{fffa}\x{fffb}
|
||||
\x{110bd}
|
||||
\x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
\x{e0001}
|
||||
\x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
** Failers
|
||||
\x{09}
|
||||
\x{1D}
|
||||
\x{85}
|
||||
\x{61c}
|
||||
\x{2028}
|
||||
\x{2029}
|
||||
\x{2065}
|
||||
\x{2066}
|
||||
\x{2067}
|
||||
\x{2068}
|
||||
\x{2069}
|
||||
\x{e0002}
|
||||
\x{e001f}
|
||||
\x{e0080}
|
||||
|
||||
/^[[:punct:]]+$/8W
|
||||
\$+<=>^`|~
|
||||
!\"#%&'()*,-./:;?@[\\]_{}
|
||||
\x{a1}\x{a7}
|
||||
\x{37e}
|
||||
** Failers
|
||||
abcde
|
||||
|
||||
/^[[:^graph:]]+$/8W
|
||||
\x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{61c}\x{1680}\x{180e}
|
||||
\x{2028}\x{2029}\x{202f}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}
|
||||
\x{3000}\x{e0002}\x{e001f}\x{e0080}
|
||||
** Failers
|
||||
Letter:ABC
|
||||
Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
Number:9\x{660}
|
||||
Punctuation:\x{66a},;
|
||||
Symbol:\x{6de}<>\x{fffc}
|
||||
Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
\x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
\x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
\x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
\x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
\x{feff}
|
||||
\x{fff9}\x{fffa}\x{fffb}
|
||||
\x{110bd}
|
||||
\x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
\x{e0001}
|
||||
\x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
|
||||
/^[[:^print:]]+$/8W
|
||||
\x{09}\x{1D}\x{85}\x{61c}\x{2028}\x{2029}\x{2065}\x{2066}\x{2067}
|
||||
\x{2068}\x{2069}\x{e0002}\x{e001f}\x{e0080}
|
||||
** Failers
|
||||
Space: \x{a0}
|
||||
\x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
|
||||
\x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
|
||||
\x{202f}\x{205f}
|
||||
\x{3000}
|
||||
Letter:ABC
|
||||
Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
Number:9\x{660}
|
||||
Punctuation:\x{66a},;
|
||||
Symbol:\x{6de}<>\x{fffc}
|
||||
Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
\x{180e}
|
||||
\x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
\x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
\x{202f}
|
||||
\x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
\x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
\x{feff}
|
||||
\x{fff9}\x{fffa}\x{fffb}
|
||||
\x{110bd}
|
||||
\x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
\x{e0001}
|
||||
\x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
|
||||
/^[[:^punct:]]+$/8W
|
||||
abcde
|
||||
** Failers
|
||||
\$+<=>^`|~
|
||||
!\"#%&'()*,-./:;?@[\\]_{}
|
||||
\x{a1}\x{a7}
|
||||
\x{37e}
|
||||
|
||||
/[RST]+/8iW
|
||||
Ss\x{17f}
|
||||
|
||||
/[R-T]+/8iW
|
||||
Ss\x{17f}
|
||||
|
||||
/[q-u]+/8iW
|
||||
Ss\x{17f}
|
||||
|
||||
/-- End of testinput6 --/
|
||||
|
||||
Vendored
+169
-3
@@ -100,11 +100,30 @@
|
||||
|
||||
/\p{Cc}{2}+/8BZ
|
||||
|
||||
/^\p{Cf}/8
|
||||
\x{180e}
|
||||
\x{061c}
|
||||
\x{2066}
|
||||
\x{2067}
|
||||
\x{2068}
|
||||
\x{2069}
|
||||
|
||||
/^\p{Cs}/8
|
||||
\?\x{dfff}
|
||||
** Failers
|
||||
\x{09f}
|
||||
|
||||
/^\p{Mn}/8
|
||||
\x{1a1b}
|
||||
|
||||
/^\p{Pe}/8
|
||||
\x{2309}
|
||||
\x{230b}
|
||||
|
||||
/^\p{Ps}/8
|
||||
\x{2308}
|
||||
\x{230a}
|
||||
|
||||
/^\p{Sc}+/8
|
||||
$\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
|
||||
\x{9f2}
|
||||
@@ -116,15 +135,15 @@
|
||||
\ \
|
||||
\x{a0}
|
||||
\x{1680}
|
||||
\x{180e}
|
||||
\x{2000}
|
||||
\x{2001}
|
||||
** Failers
|
||||
\x{2028}
|
||||
\x{200d}
|
||||
|
||||
/-- These four are here rather than in test 6 because Perl has problems with
|
||||
the negative versions of the properties. --/
|
||||
/-- These are here rather than in test 6 because Perl has problems with
|
||||
the negative versions of the properties and behaves has changed how
|
||||
it behaves for caseless matching. --/
|
||||
|
||||
/\p{^Lu}/8i
|
||||
1234
|
||||
@@ -149,6 +168,12 @@
|
||||
a
|
||||
\x{1d00}
|
||||
|
||||
/\p{Lu}/8i
|
||||
A
|
||||
aZ
|
||||
** Failers
|
||||
abc
|
||||
|
||||
/[\x{c0}\x{391}]/8i
|
||||
\x{c0}
|
||||
\x{e0}
|
||||
@@ -668,5 +693,146 @@ of case for anything other than the ASCII letters. --/
|
||||
|
||||
/is{2}t/8i
|
||||
iskt
|
||||
|
||||
/-- This property is a PCRE special --/
|
||||
|
||||
/^\p{Xuc}/8
|
||||
$abc
|
||||
@abc
|
||||
`abc
|
||||
\x{1234}abc
|
||||
** Failers
|
||||
abc
|
||||
|
||||
/^\p{Xuc}+/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}+?/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}+?\*/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}++/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}{3,5}/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\p{Xuc}{3,5}?/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^[\p{Xuc}]/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^[\p{Xuc}]+/8
|
||||
$@`\x{a0}\x{1234}\x{e000}**
|
||||
** Failers
|
||||
\x{9f}
|
||||
|
||||
/^\P{Xuc}/8
|
||||
abc
|
||||
** Failers
|
||||
$abc
|
||||
@abc
|
||||
`abc
|
||||
\x{1234}abc
|
||||
|
||||
/^[\P{Xuc}]/8
|
||||
abc
|
||||
** Failers
|
||||
$abc
|
||||
@abc
|
||||
`abc
|
||||
\x{1234}abc
|
||||
|
||||
/-- Some auto-possessification tests --/
|
||||
|
||||
/\pN+\z/BZ
|
||||
|
||||
/\PN+\z/BZ
|
||||
|
||||
/\pN+/BZ
|
||||
|
||||
/\PN+/BZ
|
||||
|
||||
/\p{Any}+\p{Any} \p{Any}+\P{Any} \p{Any}+\p{L&} \p{Any}+\p{L} \p{Any}+\p{Lu} \p{Any}+\p{Han} \p{Any}+\p{Xan} \p{Any}+\p{Xsp} \p{Any}+\p{Xps} \p{Xwd}+\p{Any} \p{Any}+\p{Xuc}/BWZx
|
||||
|
||||
/\p{L&}+\p{Any} \p{L&}+\p{L&} \P{L&}+\p{L&} \p{L&}+\p{L} \p{L&}+\p{Lu} \p{L&}+\p{Han} \p{L&}+\p{Xan} \p{L&}+\P{Xan} \p{L&}+\p{Xsp} \p{L&}+\p{Xps} \p{Xwd}+\p{L&} \p{L&}+\p{Xuc}/BWZx
|
||||
|
||||
/\p{N}+\p{Any} \p{N}+\p{L&} \p{N}+\p{L} \p{N}+\P{L} \p{N}+\P{N} \p{N}+\p{Lu} \p{N}+\p{Han} \p{N}+\p{Xan} \p{N}+\p{Xsp} \p{N}+\p{Xps} \p{Xwd}+\p{N} \p{N}+\p{Xuc}/BWZx
|
||||
|
||||
/\p{Lu}+\p{Any} \p{Lu}+\p{L&} \p{Lu}+\p{L} \p{Lu}+\p{Lu} \P{Lu}+\p{Lu} \p{Lu}+\p{Nd} \p{Lu}+\P{Nd} \p{Lu}+\p{Han} \p{Lu}+\p{Xan} \p{Lu}+\p{Xsp} \p{Lu}+\p{Xps} \p{Xwd}+\p{Lu} \p{Lu}+\p{Xuc}/BWZx
|
||||
|
||||
/\p{Han}+\p{Lu} \p{Han}+\p{L&} \p{Han}+\p{L} \p{Han}+\p{Lu} \p{Han}+\p{Arabic} \p{Arabic}+\p{Arabic} \p{Han}+\p{Xan} \p{Han}+\p{Xsp} \p{Han}+\p{Xps} \p{Xwd}+\p{Han} \p{Han}+\p{Xuc}/BWZx
|
||||
|
||||
/\p{Xan}+\p{Any} \p{Xan}+\p{L&} \P{Xan}+\p{L&} \p{Xan}+\p{L} \p{Xan}+\p{Lu} \p{Xan}+\p{Han} \p{Xan}+\p{Xan} \p{Xan}+\P{Xan} \p{Xan}+\p{Xsp} \p{Xan}+\p{Xps} \p{Xwd}+\p{Xan} \p{Xan}+\p{Xuc}/BWZx
|
||||
|
||||
/\p{Xsp}+\p{Any} \p{Xsp}+\p{L&} \p{Xsp}+\p{L} \p{Xsp}+\p{Lu} \p{Xsp}+\p{Han} \p{Xsp}+\p{Xan} \p{Xsp}+\p{Xsp} \P{Xsp}+\p{Xsp} \p{Xsp}+\p{Xps} \p{Xwd}+\p{Xsp} \p{Xsp}+\p{Xuc}/BWZx
|
||||
|
||||
/\p{Xwd}+\p{Any} \p{Xwd}+\p{L&} \p{Xwd}+\p{L} \p{Xwd}+\p{Lu} \p{Xwd}+\p{Han} \p{Xwd}+\p{Xan} \p{Xwd}+\p{Xsp} \p{Xwd}+\p{Xps} \p{Xwd}+\p{Xwd} \p{Xwd}+\P{Xwd} \p{Xwd}+\p{Xuc}/BWZx
|
||||
|
||||
/\p{Xuc}+\p{Any} \p{Xuc}+\p{L&} \p{Xuc}+\p{L} \p{Xuc}+\p{Lu} \p{Xuc}+\p{Han} \p{Xuc}+\p{Xan} \p{Xuc}+\p{Xsp} \p{Xuc}+\p{Xps} \p{Xwd}+\p{Xuc} \p{Xuc}+\p{Xuc} \p{Xuc}+\P{Xuc}/BWZx
|
||||
|
||||
/\p{N}+\p{Ll} \p{N}+\p{Nd} \p{N}+\P{Nd}/BWZx
|
||||
|
||||
/\p{Xan}+\p{L} \p{Xan}+\p{N} \p{Xan}+\p{C} \p{Xan}+\P{L} \P{Xan}+\p{N} \p{Xan}+\P{C}/BWZx
|
||||
|
||||
/\p{L}+\p{Xan} \p{N}+\p{Xan} \p{C}+\p{Xan} \P{L}+\p{Xan} \p{N}+\p{Xan} \P{C}+\p{Xan} \p{L}+\P{Xan}/BWZx
|
||||
|
||||
/\p{Xan}+\p{Lu} \p{Xan}+\p{Nd} \p{Xan}+\p{Cc} \p{Xan}+\P{Ll} \P{Xan}+\p{No} \p{Xan}+\P{Cf}/BWZx
|
||||
|
||||
/\p{Lu}+\p{Xan} \p{Nd}+\p{Xan} \p{Cs}+\p{Xan} \P{Lt}+\p{Xan} \p{Nl}+\p{Xan} \P{Cc}+\p{Xan} \p{Lt}+\P{Xan}/BWZx
|
||||
|
||||
/\w+\p{P} \w+\p{Po} \w+\s \p{Xan}+\s \s+\p{Xan} \s+\w/BWZx
|
||||
|
||||
/\w+\P{P} \W+\p{Po} \w+\S \P{Xan}+\s \s+\P{Xan} \s+\W/BWZx
|
||||
|
||||
/\w+\p{Po} \w+\p{Pc} \W+\p{Po} \W+\p{Pc} \w+\P{Po} \w+\P{Pc}/BWZx
|
||||
|
||||
/\p{Nl}+\p{Xan} \P{Nl}+\p{Xan} \p{Nl}+\P{Xan} \P{Nl}+\P{Xan}/BWZx
|
||||
|
||||
/\p{Xan}+\p{Nl} \P{Xan}+\p{Nl} \p{Xan}+\P{Nl} \P{Xan}+\P{Nl}/BWZx
|
||||
|
||||
/\p{Xan}+\p{Nd} \P{Xan}+\p{Nd} \p{Xan}+\P{Nd} \P{Xan}+\P{Nd}/BWZx
|
||||
|
||||
/-- End auto-possessification tests --/
|
||||
|
||||
/\w+/8CWBZ
|
||||
abcd
|
||||
|
||||
/[\p{N}]?+/BZO
|
||||
|
||||
/[\p{L}ab]{2,3}+/BZO
|
||||
|
||||
/\D+\X \d+\X \S+\X \s+\X \W+\X \w+\X \C+\X \R+\X \H+\X \h+\X \V+\X \v+\X a+\X \n+\X .+\X/BZx
|
||||
|
||||
/.+\X/BZxs
|
||||
|
||||
/\X+$/BZxm
|
||||
|
||||
/\X+\D \X+\d \X+\S \X+\s \X+\W \X+\w \X+. \X+\C \X+\R \X+\H \X+\h \X+\V \X+\v \X+\X \X+\Z \X+\z \X+$/BZx
|
||||
|
||||
/\d+\s{0,5}=\s*\S?=\w{0,4}\W*/8WBZ
|
||||
|
||||
/[RST]+/8iWBZ
|
||||
|
||||
/[R-T]+/8iWBZ
|
||||
|
||||
/[Q-U]+/8iWBZ
|
||||
|
||||
/-- End of testinput7 --/
|
||||
|
||||
Vendored
+61
-28
@@ -1,5 +1,8 @@
|
||||
/-- This set of tests check the DFA matching functionality of pcre_dfa_exec().
|
||||
The -dfa flag must be used with pcretest when running it. --/
|
||||
/-- This set of tests check the DFA matching functionality of pcre_dfa_exec(),
|
||||
excluding UTF and Unicode property support. The -dfa flag must be used with
|
||||
pcretest when running it. --/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/abc/
|
||||
abc
|
||||
@@ -16,7 +19,7 @@
|
||||
ac
|
||||
ab
|
||||
|
||||
/a*/
|
||||
/a*/O
|
||||
a
|
||||
aaaaaaaaaaaaaaaaa
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -177,19 +180,19 @@
|
||||
ayzq
|
||||
axyzq
|
||||
|
||||
/[^a]+/
|
||||
/[^a]+/O
|
||||
bac
|
||||
bcdefax
|
||||
*** Failers
|
||||
aaaaa
|
||||
|
||||
/[^a]*/
|
||||
/[^a]*/O
|
||||
bac
|
||||
bcdefax
|
||||
*** Failers
|
||||
aaaaa
|
||||
|
||||
/[^a]{3,5}/
|
||||
/[^a]{3,5}/O
|
||||
xyz
|
||||
awxyza
|
||||
abcdefa
|
||||
@@ -937,16 +940,16 @@
|
||||
*** Failers
|
||||
the abc
|
||||
|
||||
/^[ab]{1,3}(ab*|b)/
|
||||
/^[ab]{1,3}(ab*|b)/O
|
||||
aabbbbb
|
||||
|
||||
/^[ab]{1,3}?(ab*|b)/
|
||||
/^[ab]{1,3}?(ab*|b)/O
|
||||
aabbbbb
|
||||
|
||||
/^[ab]{1,3}?(ab*?|b)/
|
||||
/^[ab]{1,3}?(ab*?|b)/O
|
||||
aabbbbb
|
||||
|
||||
/^[ab]{1,3}(ab*?|b)/
|
||||
/^[ab]{1,3}(ab*?|b)/O
|
||||
aabbbbb
|
||||
|
||||
/ (?: [\040\t] | \(
|
||||
@@ -1923,14 +1926,16 @@
|
||||
abc\100\060
|
||||
abc\100\60
|
||||
|
||||
/abc\81/
|
||||
abc\081
|
||||
abc\0\x38\x31
|
||||
|
||||
/abc\91/
|
||||
abc\091
|
||||
abc\0\x39\x31
|
||||
|
||||
/^A\8B\9C$/
|
||||
A8B9C
|
||||
*** Failers
|
||||
A\08B\09C
|
||||
|
||||
/^[A\8B\9C]+$/
|
||||
A8B9C
|
||||
*** Failers
|
||||
A8B9C\x00
|
||||
|
||||
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
|
||||
abcdefghijk\12S
|
||||
|
||||
@@ -2049,13 +2054,13 @@
|
||||
/foo(.*?)bar/
|
||||
The food is under the bar in the barn.
|
||||
|
||||
/(.*)(\d*)/
|
||||
/(.*)(\d*)/O
|
||||
I have 2 numbers: 53147
|
||||
|
||||
/(.*)(\d+)/
|
||||
I have 2 numbers: 53147
|
||||
|
||||
/(.*?)(\d*)/
|
||||
/(.*?)(\d*)/O
|
||||
I have 2 numbers: 53147
|
||||
|
||||
/(.*?)(\d+)/
|
||||
@@ -3825,13 +3830,6 @@
|
||||
/a*/g
|
||||
abbab
|
||||
|
||||
/^[a-\d]/
|
||||
abcde
|
||||
-things
|
||||
0digit
|
||||
*** Failers
|
||||
bcdef
|
||||
|
||||
/^[\d-a]/
|
||||
abcde
|
||||
-things
|
||||
@@ -4699,7 +4697,7 @@
|
||||
/(?(R)a*(?1)|((?R))b)/
|
||||
aaaabcde
|
||||
|
||||
/(a+)/
|
||||
/(a+)/O
|
||||
\O6aaaa
|
||||
\O8aaaa
|
||||
|
||||
@@ -4798,4 +4796,39 @@
|
||||
xxxxxxxxabcd
|
||||
xx\xa0xxxxxabcd
|
||||
|
||||
/abcd/
|
||||
abcd\O0
|
||||
|
||||
/-- These tests show up auto-possessification --/
|
||||
|
||||
/[ab]*/
|
||||
aaaa
|
||||
|
||||
/[ab]*?/
|
||||
aaaa
|
||||
|
||||
/[ab]?/
|
||||
aaaa
|
||||
|
||||
/[ab]??/
|
||||
aaaa
|
||||
|
||||
/[ab]+/
|
||||
aaaa
|
||||
|
||||
/[ab]+?/
|
||||
aaaa
|
||||
|
||||
/[ab]{2,3}/
|
||||
aaaa
|
||||
|
||||
/[ab]{2,3}?/
|
||||
aaaa
|
||||
|
||||
/[ab]{2,}/
|
||||
aaaa
|
||||
|
||||
/[ab]{2,}?/
|
||||
aaaa
|
||||
|
||||
/-- End of testinput8 --/
|
||||
|
||||
Vendored
+13
-11
@@ -1,6 +1,8 @@
|
||||
/-- This set of tests checks UTF-8 support with the DFA matching functionality
|
||||
of pcre_dfa_exec(). The -dfa flag must be used with pcretest when running
|
||||
it. --/
|
||||
of pcre_dfa_exec(), excluding Unicode property support. The -dfa flag must
|
||||
be used with pcretest when running it. --/
|
||||
|
||||
< forbid W
|
||||
|
||||
/\x{100}ab/8
|
||||
\x{100}ab
|
||||
@@ -239,16 +241,16 @@
|
||||
/\x{100}{3,5}/8
|
||||
abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
|
||||
|
||||
/\x{100}{3,}/8
|
||||
/\x{100}{3,}/8O
|
||||
abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
|
||||
|
||||
/(?<=a\x{100}{2}b)X/8
|
||||
Xyyya\x{100}\x{100}bXzzz
|
||||
|
||||
/\D*/8
|
||||
/\D*/8O
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
/\D*/8
|
||||
/\D*/8O
|
||||
\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
|
||||
|
||||
/\D/8
|
||||
@@ -584,16 +586,16 @@
|
||||
a\n\n\n\rb
|
||||
a\r
|
||||
|
||||
/\h+\V?\v{3,4}/8
|
||||
/\h+\V?\v{3,4}/8O
|
||||
\x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
|
||||
|
||||
/\V?\v{3,4}/8
|
||||
/\V?\v{3,4}/8O
|
||||
\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
|
||||
|
||||
/\h+\V?\v{3,4}/8
|
||||
/\h+\V?\v{3,4}/8O
|
||||
>\x09\x20\x{a0}X\x0a\x0a\x0a<
|
||||
|
||||
/\V?\v{3,4}/8
|
||||
/\V?\v{3,4}/8O
|
||||
>\x09\x20\x{a0}X\x0a\x0a\x0a<
|
||||
|
||||
/\H\h\V\v/8
|
||||
@@ -602,7 +604,7 @@
|
||||
** Failers
|
||||
\x{a0} X\x0a
|
||||
|
||||
/\H*\h+\V?\v{3,4}/8
|
||||
/\H*\h+\V?\v{3,4}/8O
|
||||
\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
|
||||
@@ -615,7 +617,7 @@
|
||||
** Failers
|
||||
\x{2009} X\x0a
|
||||
|
||||
/\H*\h+\V?\v{3,4}/8
|
||||
/\H*\h+\V?\v{3,4}/8O
|
||||
\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
|
||||
|
||||
Vendored
+597
-79
@@ -1,6 +1,8 @@
|
||||
/-- This set of tests is for features that are compatible with all versions of
|
||||
Perl >= 5.10, in non-UTF-8 mode. It should run clean for both the 8-bit and
|
||||
16-bit PCRE libraries. --/
|
||||
Perl >= 5.10, in non-UTF-8 mode. It should run clean for the 8-bit, 16-bit,
|
||||
and 32-bit PCRE libraries. --/
|
||||
|
||||
< forbid 89?=ABCDEFfGILMNPTUWXZ<
|
||||
|
||||
/the quick brown fox/
|
||||
the quick brown fox
|
||||
@@ -2149,18 +2151,35 @@ No match
|
||||
abc\100\60
|
||||
0: abc@0
|
||||
1: abc
|
||||
|
||||
/^A\8B\9C$/
|
||||
A8B9C
|
||||
0: A8B9C
|
||||
*** Failers
|
||||
No match
|
||||
A\08B\09C
|
||||
No match
|
||||
|
||||
/^(A)(B)(C)(D)(E)(F)(G)(H)(I)\8\9$/
|
||||
ABCDEFGHIHI
|
||||
0: ABCDEFGHIHI
|
||||
1: A
|
||||
2: B
|
||||
3: C
|
||||
4: D
|
||||
5: E
|
||||
6: F
|
||||
7: G
|
||||
8: H
|
||||
9: I
|
||||
|
||||
/abc\81/
|
||||
abc\081
|
||||
0: abc\x0081
|
||||
abc\0\x38\x31
|
||||
0: abc\x0081
|
||||
|
||||
/abc\91/
|
||||
abc\091
|
||||
0: abc\x0091
|
||||
abc\0\x39\x31
|
||||
0: abc\x0091
|
||||
/^[A\8B\9C]+$/
|
||||
A8B9C
|
||||
0: A8B9C
|
||||
*** Failers
|
||||
No match
|
||||
A8B9C\x00
|
||||
No match
|
||||
|
||||
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\12\123/
|
||||
abcdefghijkllS
|
||||
@@ -5972,18 +5991,6 @@ No match
|
||||
0:
|
||||
0:
|
||||
|
||||
/^[a-\d]/
|
||||
abcde
|
||||
0: a
|
||||
-things
|
||||
0: -
|
||||
0digit
|
||||
0: 0
|
||||
*** Failers
|
||||
No match
|
||||
bcdef
|
||||
No match
|
||||
|
||||
/^[\d-a]/
|
||||
abcde
|
||||
0: a
|
||||
@@ -6006,15 +6013,15 @@ No match
|
||||
|
||||
/[\s]+/
|
||||
> \x09\x0a\x0c\x0d\x0b<
|
||||
0: \x09\x0a\x0c\x0d
|
||||
0: \x09\x0a\x0c\x0d\x0b
|
||||
|
||||
/\s+/
|
||||
> \x09\x0a\x0c\x0d\x0b<
|
||||
0: \x09\x0a\x0c\x0d
|
||||
0: \x09\x0a\x0c\x0d\x0b
|
||||
|
||||
/ab/x
|
||||
ab
|
||||
No match
|
||||
0: ab
|
||||
|
||||
/(?!\A)x/m
|
||||
a\nxb\n
|
||||
@@ -6160,11 +6167,9 @@ No match
|
||||
1: bc
|
||||
2: bc
|
||||
|
||||
/-- This tests for an IPv6 address in the form where it can have up to --/
|
||||
/-- eight components, one and only one of which is empty. This must be --/
|
||||
No match
|
||||
/-- an internal component. --/
|
||||
No match
|
||||
/-- This tests for an IPv6 address in the form where it can have up to
|
||||
eight components, one and only one of which is empty. This must be
|
||||
an internal component. --/
|
||||
|
||||
/^(?!:) # colon disallowed at start
|
||||
(?: # start of item
|
||||
@@ -6906,10 +6911,6 @@ No match
|
||||
bc
|
||||
0: b
|
||||
|
||||
/^(?=(a)){0}b(?1)/
|
||||
backgammon
|
||||
0: ba
|
||||
|
||||
/^(?=(?1))?[az]([abc])d/
|
||||
abd
|
||||
0: abd
|
||||
@@ -7770,20 +7771,12 @@ No match
|
||||
1: (ab(cd)ef)
|
||||
2: ef
|
||||
|
||||
/^(?!a(*SKIP)b)/
|
||||
ac
|
||||
0:
|
||||
|
||||
/^(?=a(*SKIP)b|ac)/
|
||||
** Failers
|
||||
No match
|
||||
ac
|
||||
No match
|
||||
|
||||
/^(?=a(*THEN)b|ac)/
|
||||
ac
|
||||
0:
|
||||
|
||||
/^(?=a(*PRUNE)b)/
|
||||
ab
|
||||
0:
|
||||
@@ -7796,10 +7789,6 @@ No match
|
||||
ac
|
||||
0:
|
||||
|
||||
/^(?(?!a(*SKIP)b))/
|
||||
ac
|
||||
0:
|
||||
|
||||
/(?>a\Kb)/
|
||||
ab
|
||||
0: b
|
||||
@@ -8169,46 +8158,20 @@ No match
|
||||
1: AB
|
||||
2: B
|
||||
|
||||
/\A.*?(?:a|b(*THEN)c)/
|
||||
ba
|
||||
0: ba
|
||||
|
||||
/\A.*?(?:a|bc)/
|
||||
ba
|
||||
0: ba
|
||||
|
||||
/\A.*?(a|b(*THEN)c)/
|
||||
ba
|
||||
0: ba
|
||||
1: a
|
||||
|
||||
/\A.*?(a|bc)/
|
||||
ba
|
||||
0: ba
|
||||
1: a
|
||||
|
||||
/\A.*?(?:a|b(*THEN)c)++/
|
||||
ba
|
||||
0: ba
|
||||
|
||||
/\A.*?(?:a|bc)++/
|
||||
ba
|
||||
0: ba
|
||||
|
||||
/\A.*?(a|b(*THEN)c)++/
|
||||
ba
|
||||
0: ba
|
||||
1: a
|
||||
|
||||
/\A.*?(a|bc)++/
|
||||
ba
|
||||
0: ba
|
||||
1: a
|
||||
|
||||
/\A.*?(?:a|b(*THEN)c|d)/
|
||||
ba
|
||||
0: ba
|
||||
|
||||
/\A.*?(?:a|bc|d)/
|
||||
ba
|
||||
0: ba
|
||||
@@ -8719,10 +8682,6 @@ No match
|
||||
aac
|
||||
0: aac
|
||||
|
||||
/(?!a(*COMMIT)b)ac|cd/
|
||||
ac
|
||||
0: ac
|
||||
|
||||
/((?:a?)*)*c/
|
||||
aac
|
||||
0: aac
|
||||
@@ -8795,4 +8754,563 @@ No match
|
||||
abcdfooxyz
|
||||
0: foo
|
||||
|
||||
/(?:(a(*PRUNE)b)){0}(?:(?1)|ac)/
|
||||
ac
|
||||
0: ac
|
||||
|
||||
/(?:(a(*SKIP)b)){0}(?:(?1)|ac)/
|
||||
ac
|
||||
0: ac
|
||||
|
||||
/(?<=(*SKIP)ac)a/
|
||||
aa
|
||||
No match
|
||||
|
||||
/A(*MARK:A)A+(*SKIP:B)(B|Z) | AC/xK
|
||||
AAAC
|
||||
0: AC
|
||||
|
||||
/a(*SKIP:m)x|ac(*:n)(*SKIP:n)d|ac/K
|
||||
acacd
|
||||
0: acd
|
||||
MK: n
|
||||
|
||||
/A(*SKIP:m)x|A(*SKIP:n)x|AB/K
|
||||
AB
|
||||
0: AB
|
||||
|
||||
/((*SKIP:r)d){0}a(*SKIP:m)x|ac(*:n)|ac/K
|
||||
acacd
|
||||
0: ac
|
||||
MK: n
|
||||
|
||||
/-- Tests that try to figure out how Perl works. My hypothesis is that the
|
||||
first verb that is backtracked onto is the one that acts. This seems to be
|
||||
the case almost all the time, but there is one exception that is perhaps a
|
||||
bug. --/
|
||||
|
||||
/-- This matches "aaaac"; each PRUNE advances one character until the subject
|
||||
no longer starts with 5 'a's. --/
|
||||
|
||||
/aaaaa(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
0: aaaac
|
||||
|
||||
/-- Putting SKIP in front of PRUNE makes no difference, as it is never
|
||||
backtracked onto, whether or not it has a label. --/
|
||||
|
||||
/aaaaa(*SKIP)(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
0: aaaac
|
||||
|
||||
/aaaaa(*SKIP:N)(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
0: aaaac
|
||||
|
||||
/aaaa(*:N)a(*SKIP:N)(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
0: aaaac
|
||||
|
||||
/-- Putting THEN in front makes no difference. */
|
||||
|
||||
/aaaaa(*THEN)(*PRUNE)b|a+c/
|
||||
aaaaaac
|
||||
0: aaaac
|
||||
|
||||
/-- However, putting COMMIT in front of the prune changes it to "no match". I
|
||||
think this is inconsistent and possibly a bug. For the moment, running this
|
||||
test is moved out of the Perl-compatible file. --/
|
||||
|
||||
/aaaaa(*COMMIT)(*PRUNE)b|a+c/
|
||||
|
||||
|
||||
/---- OK, lets play the same game again using SKIP instead of PRUNE. ----/
|
||||
|
||||
/-- This matches "ac" because SKIP forces the next match to start on the
|
||||
sixth "a". --/
|
||||
|
||||
/aaaaa(*SKIP)b|a+c/
|
||||
aaaaaac
|
||||
0: ac
|
||||
|
||||
/-- Putting PRUNE in front makes no difference. --/
|
||||
|
||||
/aaaaa(*PRUNE)(*SKIP)b|a+c/
|
||||
aaaaaac
|
||||
0: ac
|
||||
|
||||
/-- Putting THEN in front makes no difference. --/
|
||||
|
||||
/aaaaa(*THEN)(*SKIP)b|a+c/
|
||||
aaaaaac
|
||||
0: ac
|
||||
|
||||
/-- In this case, neither does COMMIT. This still matches "ac". --/
|
||||
|
||||
/aaaaa(*COMMIT)(*SKIP)b|a+c/
|
||||
aaaaaac
|
||||
0: ac
|
||||
|
||||
/-- This gives "no match", as expected. --/
|
||||
|
||||
/aaaaa(*COMMIT)b|a+c/
|
||||
aaaaaac
|
||||
No match
|
||||
|
||||
|
||||
/------ Tests using THEN ------/
|
||||
|
||||
/-- This matches "aaaaaac", as expected. --/
|
||||
|
||||
/aaaaa(*THEN)b|a+c/
|
||||
aaaaaac
|
||||
0: aaaaaac
|
||||
|
||||
/-- Putting SKIP in front makes no difference. --/
|
||||
|
||||
/aaaaa(*SKIP)(*THEN)b|a+c/
|
||||
aaaaaac
|
||||
0: aaaaaac
|
||||
|
||||
/-- Putting PRUNE in front makes no difference. --/
|
||||
|
||||
/aaaaa(*PRUNE)(*THEN)b|a+c/
|
||||
aaaaaac
|
||||
0: aaaaaac
|
||||
|
||||
/-- Putting COMMIT in front makes no difference. --/
|
||||
|
||||
/aaaaa(*COMMIT)(*THEN)b|a+c/
|
||||
aaaaaac
|
||||
0: aaaaaac
|
||||
|
||||
/-- End of "priority" tests --/
|
||||
|
||||
/aaaaa(*:m)(*PRUNE:m)(*SKIP:m)m|a+/
|
||||
aaaaaa
|
||||
0: a
|
||||
|
||||
/aaaaa(*:m)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+/
|
||||
aaaaaa
|
||||
0: a
|
||||
|
||||
/aaaaa(*:n)(*PRUNE:m)(*SKIP:m)m|a+/
|
||||
aaaaaa
|
||||
0: aaaa
|
||||
|
||||
/aaaaa(*:n)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+/
|
||||
aaaaaa
|
||||
0: a
|
||||
|
||||
/a(*MARK:A)aa(*PRUNE:A)a(*SKIP:A)b|a+c/
|
||||
aaaac
|
||||
0: aac
|
||||
|
||||
/a(*MARK:A)aa(*MARK:A)a(*SKIP:A)b|a+c/
|
||||
aaaac
|
||||
0: ac
|
||||
|
||||
/aaa(*PRUNE:A)a(*SKIP:A)b|a+c/
|
||||
aaaac
|
||||
0: aac
|
||||
|
||||
/aaa(*MARK:A)a(*SKIP:A)b|a+c/
|
||||
aaaac
|
||||
0: ac
|
||||
|
||||
/a(*:m)a(*COMMIT)(*SKIP:m)b|a+c/K
|
||||
aaaaaac
|
||||
0: ac
|
||||
|
||||
/.?(a|b(*THEN)c)/
|
||||
ba
|
||||
0: ba
|
||||
1: a
|
||||
|
||||
/(a(*COMMIT)b)c|abd/
|
||||
abc
|
||||
0: abc
|
||||
1: ab
|
||||
abd
|
||||
No match
|
||||
|
||||
/(?=a(*COMMIT)b)abc|abd/
|
||||
abc
|
||||
0: abc
|
||||
abd
|
||||
0: abd
|
||||
|
||||
/(?>a(*COMMIT)b)c|abd/
|
||||
abc
|
||||
0: abc
|
||||
abd
|
||||
0: abd
|
||||
|
||||
/a(?=b(*COMMIT)c)[^d]|abd/
|
||||
abd
|
||||
No match
|
||||
abc
|
||||
0: ab
|
||||
|
||||
/a(?=bc).|abd/
|
||||
abd
|
||||
0: abd
|
||||
abc
|
||||
0: ab
|
||||
|
||||
/a(?>b(*COMMIT)c)d|abd/
|
||||
abceabd
|
||||
No match
|
||||
|
||||
/a(?>bc)d|abd/
|
||||
abceabd
|
||||
0: abd
|
||||
|
||||
/(?>a(*COMMIT)b)c|abd/
|
||||
abd
|
||||
0: abd
|
||||
|
||||
/(?>a(*COMMIT)c)d|abd/
|
||||
abd
|
||||
No match
|
||||
|
||||
/((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))/
|
||||
ac
|
||||
0: ac
|
||||
1: <unset>
|
||||
2: c
|
||||
|
||||
/-- These tests were formerly in test 2, but changes in PCRE and Perl have
|
||||
made them compatible. --/
|
||||
|
||||
/^(a)?(?(1)a|b)+$/
|
||||
*** Failers
|
||||
No match
|
||||
a
|
||||
No match
|
||||
|
||||
/(?=a\Kb)ab/
|
||||
ab
|
||||
0: b
|
||||
|
||||
/(?!a\Kb)ac/
|
||||
ac
|
||||
0: ac
|
||||
|
||||
/^abc(?<=b\Kc)d/
|
||||
abcd
|
||||
0: cd
|
||||
|
||||
/^abc(?<!b\Kq)d/
|
||||
abcd
|
||||
0: abcd
|
||||
|
||||
|
||||
/A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
|
||||
AAAC
|
||||
No match, mark = A
|
||||
|
||||
/^((abc|abcx)(*THEN)y|abcd)/
|
||||
abcd
|
||||
0: abcd
|
||||
1: abcd
|
||||
*** Failers
|
||||
No match
|
||||
abcxy
|
||||
No match
|
||||
|
||||
/^((yes|no)(*THEN)(*F))?/
|
||||
yes
|
||||
No match
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) \s* (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) C? (*THEN) | A D) \s* z/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) (?:C|) (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) (?:C|) (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) C{0,6} (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) C{0,6} (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) (CE){0,6} (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCEBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) (CE){0,6} (*THEN) | A D) z/x
|
||||
AbcdCEBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) (CE*){0,6} (*THEN) | A D) (*FAIL)/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(A (.*) (CE*){0,6} (*THEN) | A D) z/x
|
||||
AbcdCBefgBhiBqz
|
||||
No match
|
||||
|
||||
/(?=a(*COMMIT)b|ac)ac|ac/
|
||||
ac
|
||||
No match
|
||||
|
||||
/(?=a(*COMMIT)b|(ac)) ac | (a)c/x
|
||||
ac
|
||||
No match
|
||||
|
||||
/--------/
|
||||
|
||||
/(?(?!b(*THEN)a)bn|bnn)/
|
||||
bnn
|
||||
0: bn
|
||||
|
||||
/(?!b(*SKIP)a)bn|bnn/
|
||||
bnn
|
||||
0: bn
|
||||
|
||||
/(?(?!b(*SKIP)a)bn|bnn)/
|
||||
bnn
|
||||
0: bn
|
||||
|
||||
/(?!b(*PRUNE)a)bn|bnn/
|
||||
bnn
|
||||
0: bn
|
||||
|
||||
/(?(?!b(*PRUNE)a)bn|bnn)/
|
||||
bnn
|
||||
0: bn
|
||||
|
||||
/(?!b(*COMMIT)a)bn|bnn/
|
||||
bnn
|
||||
0: bn
|
||||
|
||||
/(?(?!b(*COMMIT)a)bn|bnn)/
|
||||
bnn
|
||||
0: bn
|
||||
|
||||
/(?=b(*SKIP)a)bn|bnn/
|
||||
bnn
|
||||
No match
|
||||
|
||||
/(?=b(*THEN)a)bn|bnn/
|
||||
bnn
|
||||
0: bnn
|
||||
|
||||
/^(?!a(*SKIP)b)/
|
||||
ac
|
||||
0:
|
||||
|
||||
/^(?!a(*SKIP)b)../
|
||||
acd
|
||||
0: ac
|
||||
|
||||
/(?!a(*SKIP)b)../
|
||||
acd
|
||||
0: ac
|
||||
|
||||
/^(?(?!a(*SKIP)b))/
|
||||
ac
|
||||
0:
|
||||
|
||||
/^(?!a(*PRUNE)b)../
|
||||
acd
|
||||
0: ac
|
||||
|
||||
/(?!a(*PRUNE)b)../
|
||||
acd
|
||||
0: ac
|
||||
|
||||
/(?!a(*COMMIT)b)ac|cd/
|
||||
ac
|
||||
0: ac
|
||||
|
||||
/\A.*?(?:a|bc)/
|
||||
ba
|
||||
0: ba
|
||||
|
||||
/^(A(*THEN)B|C(*THEN)D)/
|
||||
CD
|
||||
0: CD
|
||||
1: CD
|
||||
|
||||
/(*:m(m)(?&y)(?(DEFINE)(?<y>b))/K
|
||||
abc
|
||||
0: b
|
||||
MK: m(m
|
||||
|
||||
/(*PRUNE:m(m)(?&y)(?(DEFINE)(?<y>b))/K
|
||||
abc
|
||||
0: b
|
||||
MK: m(m
|
||||
|
||||
/(*SKIP:m(m)(?&y)(?(DEFINE)(?<y>b))/K
|
||||
abc
|
||||
0: b
|
||||
|
||||
/(*THEN:m(m)(?&y)(?(DEFINE)(?<y>b))/K
|
||||
abc
|
||||
0: b
|
||||
MK: m(m
|
||||
|
||||
/^\d*\w{4}/
|
||||
1234
|
||||
0: 1234
|
||||
123
|
||||
No match
|
||||
|
||||
/^[^b]*\w{4}/
|
||||
aaaa
|
||||
0: aaaa
|
||||
aaa
|
||||
No match
|
||||
|
||||
/^[^b]*\w{4}/i
|
||||
aaaa
|
||||
0: aaaa
|
||||
aaa
|
||||
No match
|
||||
|
||||
/^a*\w{4}/
|
||||
aaaa
|
||||
0: aaaa
|
||||
aaa
|
||||
No match
|
||||
|
||||
/^a*\w{4}/i
|
||||
aaaa
|
||||
0: aaaa
|
||||
aaa
|
||||
No match
|
||||
|
||||
/(?(?=ab)ab)/+
|
||||
ca
|
||||
0:
|
||||
0+ ca
|
||||
cd
|
||||
0:
|
||||
0+ cd
|
||||
|
||||
/(?:(?<n>foo)|(?<n>bar))\k<n>/J
|
||||
foofoo
|
||||
0: foofoo
|
||||
1: foo
|
||||
barbar
|
||||
0: barbar
|
||||
1: <unset>
|
||||
2: bar
|
||||
|
||||
/(?<n>A)(?:(?<n>foo)|(?<n>bar))\k<n>/J
|
||||
AfooA
|
||||
0: AfooA
|
||||
1: A
|
||||
2: foo
|
||||
AbarA
|
||||
0: AbarA
|
||||
1: A
|
||||
2: <unset>
|
||||
3: bar
|
||||
** Failers
|
||||
No match
|
||||
Afoofoo
|
||||
No match
|
||||
Abarbar
|
||||
No match
|
||||
|
||||
/^(\d+)\s+IN\s+SOA\s+(\S+)\s+(\S+)\s*\(\s*$/
|
||||
1 IN SOA non-sp1 non-sp2(
|
||||
0: 1 IN SOA non-sp1 non-sp2(
|
||||
1: 1
|
||||
2: non-sp1
|
||||
3: non-sp2
|
||||
|
||||
/^ (?:(?<A>A)|(?'B'B)(?<A>A)) (?('A')x) (?(<B>)y)$/xJ
|
||||
Ax
|
||||
0: Ax
|
||||
1: A
|
||||
BAxy
|
||||
0: BAxy
|
||||
1: <unset>
|
||||
2: B
|
||||
3: A
|
||||
|
||||
/^A\xZ/
|
||||
A\0Z
|
||||
0: A\x00Z
|
||||
|
||||
/^A\o{123}B/
|
||||
A\123B
|
||||
0: ASB
|
||||
|
||||
/ ^ a + + b $ /x
|
||||
aaaab
|
||||
0: aaaab
|
||||
|
||||
/ ^ a + #comment
|
||||
+ b $ /x
|
||||
aaaab
|
||||
0: aaaab
|
||||
|
||||
/ ^ a + #comment
|
||||
#comment
|
||||
+ b $ /x
|
||||
aaaab
|
||||
0: aaaab
|
||||
|
||||
/ ^ (?> a + ) b $ /x
|
||||
aaaab
|
||||
0: aaaab
|
||||
|
||||
/ ^ ( a + ) + + \w $ /x
|
||||
aaaab
|
||||
0: aaaab
|
||||
1: aaaa
|
||||
|
||||
/(?:a\Kb)*+/+
|
||||
ababc
|
||||
0: b
|
||||
0+ c
|
||||
|
||||
/(?>a\Kb)*/+
|
||||
ababc
|
||||
0: b
|
||||
0+ c
|
||||
|
||||
/(?:a\Kb)*/+
|
||||
ababc
|
||||
0: b
|
||||
0+ c
|
||||
|
||||
/(a\Kb)*+/+
|
||||
ababc
|
||||
0: b
|
||||
0+ c
|
||||
1: ab
|
||||
|
||||
/(a\Kb)*/+
|
||||
ababc
|
||||
0: b
|
||||
0+ c
|
||||
1: ab
|
||||
|
||||
/-- End of testinput1 --/
|
||||
|
||||
Vendored
+200
-379
File diff suppressed because it is too large
Load Diff
Vendored
+14
-15
@@ -63,6 +63,7 @@ Memory allocation (code space): 10
|
||||
4 End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 0
|
||||
May match empty string
|
||||
Options: extended
|
||||
No first char
|
||||
No need char
|
||||
@@ -99,15 +100,13 @@ Memory allocation (code space): 14
|
||||
------------------------------------------------------------------
|
||||
|
||||
/x{1,3}+/BM
|
||||
Memory allocation (code space): 28
|
||||
Memory allocation (code space): 20
|
||||
------------------------------------------------------------------
|
||||
0 11 Bra
|
||||
2 7 Once
|
||||
4 x
|
||||
6 x{0,2}
|
||||
9 7 Ket
|
||||
11 11 Ket
|
||||
13 End
|
||||
0 7 Bra
|
||||
2 x
|
||||
4 x{0,2}+
|
||||
7 7 Ket
|
||||
9 End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/(x)*+/BM
|
||||
@@ -138,7 +137,7 @@ Memory allocation (code space): 142
|
||||
39 [bc]+
|
||||
57 21 Ket
|
||||
59 5 CBra 5
|
||||
62 \w*
|
||||
62 \w*+
|
||||
64 5 Ket
|
||||
66 63 Ket
|
||||
68 68 Ket
|
||||
@@ -327,7 +326,7 @@ Memory allocation (code space): 16
|
||||
------------------------------------------------------------------
|
||||
|
||||
/\x{110000}/8BM
|
||||
Failed: character value in \x{...} sequence is too large at offset 9
|
||||
Failed: character value in \x{} or \o{} is too large at offset 9
|
||||
|
||||
/[\x{ff}]/8BM
|
||||
Memory allocation (code space): 14
|
||||
@@ -503,7 +502,7 @@ Memory allocation (code space): 24
|
||||
Memory allocation (code space): 58
|
||||
------------------------------------------------------------------
|
||||
0 26 Bra
|
||||
2 [+\-\p{Nd}]+
|
||||
2 [+\-\p{Nd}]++
|
||||
26 26 Ket
|
||||
28 End
|
||||
------------------------------------------------------------------
|
||||
@@ -652,7 +651,7 @@ Memory allocation (code space): 14
|
||||
/[[:^alpha:][:^cntrl:]]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 26 Bra
|
||||
2 [ -~\x80-\xff\P{L}]+
|
||||
2 [ -~\x80-\xff\P{L}]++
|
||||
26 26 Ket
|
||||
28 End
|
||||
------------------------------------------------------------------
|
||||
@@ -660,7 +659,7 @@ Memory allocation (code space): 14
|
||||
/[[:^cntrl:][:^alpha:]]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 26 Bra
|
||||
2 [ -~\x80-\xff\P{L}]+
|
||||
2 [ -~\x80-\xff\P{L}]++
|
||||
26 26 Ket
|
||||
28 End
|
||||
------------------------------------------------------------------
|
||||
@@ -668,7 +667,7 @@ Memory allocation (code space): 14
|
||||
/[[:alpha:]]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 10 Bra
|
||||
2 [\p{L}]+
|
||||
2 [\p{L}]++
|
||||
10 10 Ket
|
||||
12 End
|
||||
------------------------------------------------------------------
|
||||
@@ -676,7 +675,7 @@ Memory allocation (code space): 14
|
||||
/[[:^alpha:]\S]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 13 Bra
|
||||
2 [\P{L}\P{Xsp}]+
|
||||
2 [\P{L}\P{Xsp}]++
|
||||
13 13 Ket
|
||||
15 End
|
||||
------------------------------------------------------------------
|
||||
|
||||
Vendored
+14
-15
@@ -63,6 +63,7 @@ Memory allocation (code space): 20
|
||||
4 End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 0
|
||||
May match empty string
|
||||
Options: extended
|
||||
No first char
|
||||
No need char
|
||||
@@ -99,15 +100,13 @@ Memory allocation (code space): 28
|
||||
------------------------------------------------------------------
|
||||
|
||||
/x{1,3}+/BM
|
||||
Memory allocation (code space): 56
|
||||
Memory allocation (code space): 40
|
||||
------------------------------------------------------------------
|
||||
0 11 Bra
|
||||
2 7 Once
|
||||
4 x
|
||||
6 x{0,2}
|
||||
9 7 Ket
|
||||
11 11 Ket
|
||||
13 End
|
||||
0 7 Bra
|
||||
2 x
|
||||
4 x{0,2}+
|
||||
7 7 Ket
|
||||
9 End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/(x)*+/BM
|
||||
@@ -138,7 +137,7 @@ Memory allocation (code space): 220
|
||||
31 [bc]+
|
||||
41 13 Ket
|
||||
43 5 CBra 5
|
||||
46 \w*
|
||||
46 \w*+
|
||||
48 5 Ket
|
||||
50 47 Ket
|
||||
52 52 Ket
|
||||
@@ -327,7 +326,7 @@ Memory allocation (code space): 28
|
||||
------------------------------------------------------------------
|
||||
|
||||
/\x{110000}/8BM
|
||||
Failed: character value in \x{...} sequence is too large at offset 9
|
||||
Failed: character value in \x{} or \o{} is too large at offset 9
|
||||
|
||||
/[\x{ff}]/8BM
|
||||
Memory allocation (code space): 28
|
||||
@@ -503,7 +502,7 @@ Memory allocation (code space): 48
|
||||
Memory allocation (code space): 84
|
||||
------------------------------------------------------------------
|
||||
0 18 Bra
|
||||
2 [+\-\p{Nd}]+
|
||||
2 [+\-\p{Nd}]++
|
||||
18 18 Ket
|
||||
20 End
|
||||
------------------------------------------------------------------
|
||||
@@ -652,7 +651,7 @@ Memory allocation (code space): 28
|
||||
/[[:^alpha:][:^cntrl:]]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 18 Bra
|
||||
2 [ -~\x80-\xff\P{L}]+
|
||||
2 [ -~\x80-\xff\P{L}]++
|
||||
18 18 Ket
|
||||
20 End
|
||||
------------------------------------------------------------------
|
||||
@@ -660,7 +659,7 @@ Memory allocation (code space): 28
|
||||
/[[:^cntrl:][:^alpha:]]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 18 Bra
|
||||
2 [ -~\x80-\xff\P{L}]+
|
||||
2 [ -~\x80-\xff\P{L}]++
|
||||
18 18 Ket
|
||||
20 End
|
||||
------------------------------------------------------------------
|
||||
@@ -668,7 +667,7 @@ Memory allocation (code space): 28
|
||||
/[[:alpha:]]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 10 Bra
|
||||
2 [\p{L}]+
|
||||
2 [\p{L}]++
|
||||
10 10 Ket
|
||||
12 End
|
||||
------------------------------------------------------------------
|
||||
@@ -676,7 +675,7 @@ Memory allocation (code space): 28
|
||||
/[[:^alpha:]\S]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 13 Bra
|
||||
2 [\P{L}\P{Xsp}]+
|
||||
2 [\P{L}\P{Xsp}]++
|
||||
13 13 Ket
|
||||
15 End
|
||||
------------------------------------------------------------------
|
||||
|
||||
Vendored
+14
-15
@@ -63,6 +63,7 @@ Memory allocation (code space): 7
|
||||
6 End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 0
|
||||
May match empty string
|
||||
Options: extended
|
||||
No first char
|
||||
No need char
|
||||
@@ -99,15 +100,13 @@ Memory allocation (code space): 9
|
||||
------------------------------------------------------------------
|
||||
|
||||
/x{1,3}+/BM
|
||||
Memory allocation (code space): 19
|
||||
Memory allocation (code space): 13
|
||||
------------------------------------------------------------------
|
||||
0 15 Bra
|
||||
3 9 Once
|
||||
6 x
|
||||
8 x{0,2}
|
||||
12 9 Ket
|
||||
15 15 Ket
|
||||
18 End
|
||||
0 9 Bra
|
||||
3 x
|
||||
5 x{0,2}+
|
||||
9 9 Ket
|
||||
12 End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/(x)*+/BM
|
||||
@@ -138,7 +137,7 @@ Memory allocation (code space): 120
|
||||
66 [bc]+
|
||||
100 39 Ket
|
||||
103 7 CBra 5
|
||||
108 \w*
|
||||
108 \w*+
|
||||
110 7 Ket
|
||||
113 109 Ket
|
||||
116 116 Ket
|
||||
@@ -327,7 +326,7 @@ Memory allocation (code space): 12
|
||||
------------------------------------------------------------------
|
||||
|
||||
/\x{110000}/8BM
|
||||
Failed: character value in \x{...} sequence is too large at offset 9
|
||||
Failed: character value in \x{} or \o{} is too large at offset 9
|
||||
|
||||
/[\x{ff}]/8BM
|
||||
Memory allocation (code space): 10
|
||||
@@ -503,7 +502,7 @@ Memory allocation (code space): 15
|
||||
Memory allocation (code space): 48
|
||||
------------------------------------------------------------------
|
||||
0 44 Bra
|
||||
3 [+\-\p{Nd}]+
|
||||
3 [+\-\p{Nd}]++
|
||||
44 44 Ket
|
||||
47 End
|
||||
------------------------------------------------------------------
|
||||
@@ -652,7 +651,7 @@ Memory allocation (code space): 10
|
||||
/[[:^alpha:][:^cntrl:]]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 44 Bra
|
||||
3 [ -~\x80-\xff\P{L}]+
|
||||
3 [ -~\x80-\xff\P{L}]++
|
||||
44 44 Ket
|
||||
47 End
|
||||
------------------------------------------------------------------
|
||||
@@ -660,7 +659,7 @@ Memory allocation (code space): 10
|
||||
/[[:^cntrl:][:^alpha:]]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 44 Bra
|
||||
3 [ -~\x80-\xff\P{L}]+
|
||||
3 [ -~\x80-\xff\P{L}]++
|
||||
44 44 Ket
|
||||
47 End
|
||||
------------------------------------------------------------------
|
||||
@@ -668,7 +667,7 @@ Memory allocation (code space): 10
|
||||
/[[:alpha:]]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 12 Bra
|
||||
3 [\p{L}]+
|
||||
3 [\p{L}]++
|
||||
12 12 Ket
|
||||
15 End
|
||||
------------------------------------------------------------------
|
||||
@@ -676,7 +675,7 @@ Memory allocation (code space): 10
|
||||
/[[:^alpha:]\S]+/8WB
|
||||
------------------------------------------------------------------
|
||||
0 15 Bra
|
||||
3 [\P{L}\P{Xsp}]+
|
||||
3 [\P{L}\P{Xsp}]++
|
||||
15 15 Ket
|
||||
18 End
|
||||
------------------------------------------------------------------
|
||||
|
||||
Vendored
+22
-24
@@ -8,16 +8,26 @@ No options
|
||||
First char = 'a'
|
||||
Need char = 'c'
|
||||
Subject length lower bound = 3
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
JIT study was successful
|
||||
|
||||
/ab(*THEN)/S+I
|
||||
/(?(?C1)(?=a)a)/S+I
|
||||
Capturing subpattern count = 0
|
||||
May match empty string
|
||||
No options
|
||||
First char = 'a'
|
||||
Need char = 'b'
|
||||
Subject length lower bound = 2
|
||||
No set of starting bytes
|
||||
No first char
|
||||
No need char
|
||||
Study returned NULL
|
||||
JIT study was not successful
|
||||
|
||||
/(?(?C1)(?=a)a)/S!+I
|
||||
Capturing subpattern count = 0
|
||||
May match empty string
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = -1
|
||||
No starting char list
|
||||
JIT study was not successful
|
||||
|
||||
/abc/S+I>testsavedregex
|
||||
@@ -26,7 +36,7 @@ No options
|
||||
First char = 'a'
|
||||
Need char = 'c'
|
||||
Subject length lower bound = 3
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
JIT study was successful
|
||||
Compiled pattern written to testsavedregex
|
||||
Study data written to testsavedregex
|
||||
@@ -39,6 +49,7 @@ Study data loaded from testsavedregex
|
||||
|
||||
/a*/SI
|
||||
Capturing subpattern count = 0
|
||||
May match empty string
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
@@ -154,28 +165,15 @@ No options
|
||||
First char = 'a'
|
||||
Need char = 'd'
|
||||
Subject length lower bound = 4
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
JIT study was successful
|
||||
|
||||
/(*NO_START_OPT)a(*:m)b/KS++
|
||||
a
|
||||
No match, mark = m (JIT)
|
||||
|
||||
/.?(*THEN)/S+I
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
Study returned NULL
|
||||
JIT study was not successful
|
||||
|
||||
/.?(*THEN)/S!+I
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = -1
|
||||
No set of starting bytes
|
||||
JIT study was not successful
|
||||
/^12345678abcd/mS++
|
||||
12345678abcd
|
||||
0: 12345678abcd (JIT)
|
||||
|
||||
/-- End of testinput12 --/
|
||||
|
||||
Vendored
+2
-1
@@ -8,11 +8,12 @@ No options
|
||||
First char = 'a'
|
||||
Need char = 'c'
|
||||
Subject length lower bound = 3
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
JIT support is not available in this version of PCRE
|
||||
|
||||
/a*/SI
|
||||
Capturing subpattern count = 0
|
||||
May match empty string
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
|
||||
Vendored
+63
-9
@@ -1,6 +1,9 @@
|
||||
/-- This set of tests is run only with the 8-bit library. It starts with all
|
||||
the tests of the POSIX interface, because that is supported only with the
|
||||
8-bit library. --/
|
||||
/-- This set of tests is run only with the 8-bit library. They do not require
|
||||
UTF-8 or Unicode property support. The file starts with all the tests of
|
||||
the POSIX interface, because that is supported only with the 8-bit library.
|
||||
--/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/abc/P
|
||||
abc
|
||||
@@ -146,10 +149,17 @@ No match
|
||||
A\x{123}B
|
||||
** Character \x{123} is greater than 255 and UTF-8 mode is not enabled.
|
||||
** Truncation will probably give the wrong result.
|
||||
No match
|
||||
A\o{443}B
|
||||
** Character \x{123} is greater than 255 and UTF-8 mode is not enabled.
|
||||
** Truncation will probably give the wrong result.
|
||||
No match
|
||||
|
||||
/\x{100}/I
|
||||
Failed: character value in \x{...} sequence is too large at offset 6
|
||||
Failed: character value in \x{} or \o{} is too large at offset 6
|
||||
|
||||
/\o{400}/I
|
||||
Failed: character value in \x{} or \o{} is too large at offset 6
|
||||
|
||||
/ (?: [\040\t] | \(
|
||||
(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
|
||||
@@ -351,7 +361,7 @@ Options: extended
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 3
|
||||
Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8
|
||||
Starting chars: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8
|
||||
9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e
|
||||
f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f
|
||||
|
||||
@@ -378,7 +388,15 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x09 \x20 \xa0
|
||||
Starting chars: \x09 \x20 \xa0
|
||||
|
||||
/\H/SI
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No starting char list
|
||||
|
||||
/\v/SI
|
||||
Capturing subpattern count = 0
|
||||
@@ -386,7 +404,15 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85
|
||||
|
||||
/\V/SI
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No starting char list
|
||||
|
||||
/\R/SI
|
||||
Capturing subpattern count = 0
|
||||
@@ -394,7 +420,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85
|
||||
|
||||
/[\h]/BZ
|
||||
------------------------------------------------------------------
|
||||
@@ -409,7 +435,7 @@ Starting byte set: \x0a \x0b \x0c \x0d \x85
|
||||
/[\h]+/BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x09 \xa0]+
|
||||
[\x09 \xa0]++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -473,4 +499,32 @@ Failed: character value in \u.... sequence is too large at offset 5
|
||||
/[\u0100-\u0200]/<JS>
|
||||
Failed: character value in \u.... sequence is too large at offset 6
|
||||
|
||||
/[^\x00-a]{12,}[^b-\xff]*/BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[b-\xff] (neg){12,}+
|
||||
[\x00-a] (neg)*+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x08\x0e-\x1f!-\xff] (neg)*+
|
||||
\s*
|
||||
|
||||
[0-9A-Z_a-z]++
|
||||
\W+
|
||||
|
||||
[\x00-/:-\xff] (neg)*+
|
||||
\d
|
||||
0
|
||||
[\x00-/:-@[-^`{-\xff] (neg){4,6}+
|
||||
\w*
|
||||
A
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/-- End of testinput14 --/
|
||||
|
||||
Vendored
+36
-166
@@ -1,5 +1,7 @@
|
||||
/-- This set of tests is for UTF-8 support, and is relevant only to the 8-bit
|
||||
library. --/
|
||||
/-- This set of tests is for UTF-8 support but not Unicode property support,
|
||||
and is relevant only to the 8-bit library. --/
|
||||
|
||||
< forbid W
|
||||
|
||||
/X(\C{3})/8
|
||||
X\x{1234}
|
||||
@@ -72,7 +74,7 @@ Failed: invalid UTF-8 string at offset 0
|
||||
/ÃÃÃxxx/8
|
||||
Failed: invalid UTF-8 string at offset 0
|
||||
|
||||
/ÃÃÃxxx/8?DZSS
|
||||
/ÃÃÃxxx/8?DZSSO
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
\X{c0}\X{c0}\X{c0}xxx
|
||||
@@ -80,7 +82,7 @@ Failed: invalid UTF-8 string at offset 0
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 0
|
||||
Options: utf no_utf_check
|
||||
Options: no_auto_possessify utf no_utf_check
|
||||
First char = \x{c3}
|
||||
Need char = 'x'
|
||||
|
||||
@@ -163,8 +165,6 @@ Error -10 (bad UTF-8 string) offset=0 reason=20
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=21
|
||||
\xff
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=21
|
||||
\xef\xb7\x90
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
|
||||
/badutf/8
|
||||
\xfb\x80\x80\x80\x80
|
||||
@@ -250,140 +250,6 @@ No match
|
||||
\?\xfd\x83\x80\x80\x80\x80
|
||||
No match
|
||||
|
||||
/noncharacter/8
|
||||
\x{fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{1fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{1ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{2fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{2ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{3fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{3ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{4fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{4ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{5fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{5ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{6fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{6ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{7fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{7ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{8fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{8ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{9fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{9ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{afffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{affff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{bfffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{bffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{cfffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{cffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{dfffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{dffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{efffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{effff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{ffffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{10fffe}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{10ffff}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd0}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd1}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd2}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd3}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd4}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd5}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd6}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd7}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd8}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdd9}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdda}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fddb}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fddc}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fddd}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdde}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fddf}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde0}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde1}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde2}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde3}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde4}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde5}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde6}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde7}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde8}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fde9}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdea}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdeb}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdec}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fded}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdee}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
\x{fdef}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=22
|
||||
|
||||
/\x{100}/8DZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
@@ -615,7 +481,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
|
||||
\x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
|
||||
\x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4
|
||||
5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y
|
||||
@@ -644,7 +510,7 @@ No match
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
\x{100}{3}
|
||||
\x{100}?
|
||||
\x{100}?+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -653,7 +519,7 @@ Options: utf
|
||||
First char = \x{c4}
|
||||
Need char = \x{80}
|
||||
Subject length lower bound = 3
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
\x{100}\x{100}\x{100}\x{100\x{100}
|
||||
0: \x{100}\x{100}\x{100}
|
||||
|
||||
@@ -661,7 +527,7 @@ No set of starting bytes
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
CBra 1
|
||||
\x{100}+
|
||||
\x{100}++
|
||||
Alt
|
||||
x
|
||||
Ket
|
||||
@@ -673,7 +539,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: x \xc4
|
||||
Starting chars: x \xc4
|
||||
|
||||
/(\x{100}*a|x)/8SDZ
|
||||
------------------------------------------------------------------
|
||||
@@ -692,13 +558,13 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: a x \xc4
|
||||
Starting chars: a x \xc4
|
||||
|
||||
/(\x{100}{0,2}a|x)/8SDZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
CBra 1
|
||||
\x{100}{0,2}
|
||||
\x{100}{0,2}+
|
||||
a
|
||||
Alt
|
||||
x
|
||||
@@ -711,14 +577,14 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: a x \xc4
|
||||
Starting chars: a x \xc4
|
||||
|
||||
/(\x{100}{1,2}a|x)/8SDZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
CBra 1
|
||||
\x{100}
|
||||
\x{100}{0,1}
|
||||
\x{100}{0,1}+
|
||||
a
|
||||
Alt
|
||||
x
|
||||
@@ -731,7 +597,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: x \xc4
|
||||
Starting chars: x \xc4
|
||||
|
||||
/\x{100}/8DZ
|
||||
------------------------------------------------------------------
|
||||
@@ -749,7 +615,7 @@ Need char = \x{80}
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
a\x{100}
|
||||
\x{101}*
|
||||
\x{101}*+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -762,7 +628,7 @@ Need char = \x{80}
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
a\x{100}
|
||||
\x{101}+
|
||||
\x{101}++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -891,8 +757,6 @@ Failed: missing terminating ] for character class at offset 15
|
||||
/-- This tests the stricter UTF-8 check according to RFC 3629. --/
|
||||
|
||||
/X/8
|
||||
\x{0}\x{d7ff}\x{e000}\x{10ffff}
|
||||
Error -10 (bad UTF-8 string) offset=7 reason=22
|
||||
\x{d800}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=14
|
||||
\x{d800}\?
|
||||
@@ -935,7 +799,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x09 \x20 \xc2 \xe1 \xe2 \xe3
|
||||
Starting chars: \x09 \x20 \xc2 \xe1 \xe2 \xe3
|
||||
ABC\x{09}
|
||||
0: \x{09}
|
||||
ABC\x{20}
|
||||
@@ -961,7 +825,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2
|
||||
Starting chars: \x0a \x0b \x0c \x0d \xc2 \xe2
|
||||
ABC\x{0a}
|
||||
0: \x{0a}
|
||||
ABC\x{0b}
|
||||
@@ -981,7 +845,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'A'
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x09 \x20 A \xc2 \xe1 \xe2 \xe3
|
||||
Starting chars: \x09 \x20 A \xc2 \xe1 \xe2 \xe3
|
||||
CDBABC
|
||||
0: A
|
||||
|
||||
@@ -991,7 +855,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'A'
|
||||
Subject length lower bound = 2
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2
|
||||
Starting chars: \x0a \x0b \x0c \x0d \xc2 \xe2
|
||||
|
||||
/\s?xxx\s/8SI
|
||||
Capturing subpattern count = 0
|
||||
@@ -999,7 +863,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'x'
|
||||
Subject length lower bound = 4
|
||||
Starting byte set: \x09 \x0a \x0c \x0d \x20 x
|
||||
Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 x
|
||||
|
||||
/\sxxx\s/I8ST1
|
||||
Capturing subpattern count = 0
|
||||
@@ -1007,7 +871,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'x'
|
||||
Subject length lower bound = 5
|
||||
Starting byte set: \x09 \x0a \x0c \x0d \x20 \xc2
|
||||
Starting chars: \x09 \x0a \x0c \x0d \x20 \xc2
|
||||
AB\x{85}xxx\x{a0}XYZ
|
||||
0: \x{85}xxx\x{a0}
|
||||
AB\x{a0}xxx\x{85}XYZ
|
||||
@@ -1019,7 +883,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = ' '
|
||||
Subject length lower bound = 3
|
||||
Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e
|
||||
\x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d
|
||||
\x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @
|
||||
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e
|
||||
@@ -1053,7 +917,7 @@ Options: caseless utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \xe1
|
||||
Starting chars: \xe1
|
||||
|
||||
/\x{1234}+?/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -1061,7 +925,7 @@ Options: caseless utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \xe1
|
||||
Starting chars: \xe1
|
||||
|
||||
/\x{1234}++/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -1069,7 +933,7 @@ Options: caseless utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \xe1
|
||||
Starting chars: \xe1
|
||||
|
||||
/\x{1234}{2}/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -1077,7 +941,7 @@ Options: caseless utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 2
|
||||
Starting byte set: \xe1
|
||||
Starting chars: \xe1
|
||||
|
||||
/[^\x{c4}]/8DZ
|
||||
------------------------------------------------------------------
|
||||
@@ -1110,7 +974,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2
|
||||
Starting chars: \x0a \x0b \x0c \x0d \xc2 \xe2
|
||||
|
||||
/\777/8DZ
|
||||
------------------------------------------------------------------
|
||||
@@ -1266,4 +1130,10 @@ Need char = \x{bf}
|
||||
\x{7f000041}
|
||||
Error -10 (bad UTF-8 string) offset=0 reason=12
|
||||
|
||||
/(*UTF8)abc/9
|
||||
Failed: setting UTF is disabled by the application at offset 0
|
||||
|
||||
/abc/89
|
||||
Failed: setting UTF is disabled by the application at offset 0
|
||||
|
||||
/-- End of testinput15 --/
|
||||
|
||||
Vendored
+4
-4
@@ -64,7 +64,7 @@ Options: caseless utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 17
|
||||
Starting byte set: \xd0 \xd1
|
||||
Starting chars: \xd0 \xd1
|
||||
\x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
|
||||
0: \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
|
||||
\x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}
|
||||
@@ -92,7 +92,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x09 \x20 \xa0
|
||||
Starting chars: \x09 \x20 \xa0
|
||||
|
||||
/\v/SI
|
||||
Capturing subpattern count = 0
|
||||
@@ -100,7 +100,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85
|
||||
|
||||
/\R/SI
|
||||
Capturing subpattern count = 0
|
||||
@@ -108,7 +108,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85
|
||||
|
||||
/[[:blank:]]/WBZ
|
||||
------------------------------------------------------------------
|
||||
|
||||
Vendored
+67
-14
@@ -1,6 +1,8 @@
|
||||
/-- This set of tests is for the 16- and 32-bit library's basic (non-UTF-16
|
||||
or -32) features that are not compatible with the 8-bit library, or which
|
||||
give different output in 16- or 32-bit mode. --/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/a\Cb/
|
||||
aXb
|
||||
@@ -226,7 +228,7 @@ Options: extended
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 3
|
||||
Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8
|
||||
Starting chars: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8
|
||||
9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e
|
||||
f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \xff
|
||||
|
||||
@@ -243,7 +245,7 @@ Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8
|
||||
/[\h]+/BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]+
|
||||
[\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -272,7 +274,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x09 \x20 \xa0 \xff
|
||||
Starting chars: \x09 \x20 \xa0 \xff
|
||||
\x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
|
||||
0: \x{1680}\x{2000}\x{202f}\x{3000}
|
||||
\x{3001}\x{2fff}\x{200a}\xa0\x{2000}
|
||||
@@ -281,7 +283,7 @@ Starting byte set: \x09 \x20 \xa0 \xff
|
||||
/[\h\x{dc00}]+/BZSI
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{dc00}]+
|
||||
[\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{dc00}]++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -290,7 +292,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
Starting chars: \x09 \x20 \xa0 \xff
|
||||
\x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
|
||||
0: \x{1680}\x{2000}\x{202f}\x{3000}
|
||||
\x{3001}\x{2fff}\x{200a}\xa0\x{2000}
|
||||
@@ -302,7 +304,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
\x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
|
||||
0: \x{167f}\x{1681}\x{180d}\x{180f}
|
||||
\x{2000}\x{200a}\x{1fff}\x{200b}
|
||||
@@ -328,7 +330,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
\x{2027}\x{2030}\x{2028}\x{2029}
|
||||
0: \x{2028}\x{2029}
|
||||
\x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
|
||||
@@ -337,7 +339,7 @@ Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
/[\v\x{dc00}]+/BZSI
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x0a-\x0d\x85\x{2028}-\x{2029}\x{dc00}]+
|
||||
[\x0a-\x0d\x85\x{2028}-\x{2029}\x{dc00}]++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -346,7 +348,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
\x{2027}\x{2030}\x{2028}\x{2029}
|
||||
0: \x{2028}\x{2029}
|
||||
\x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
|
||||
@@ -358,7 +360,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
\x{2028}\x{2029}\x{2027}\x{2030}
|
||||
0: \x{2027}\x{2030}
|
||||
\x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
|
||||
@@ -376,7 +378,7 @@ Options: bsr_unicode
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
\x{2027}\x{2030}\x{2028}\x{2029}
|
||||
0: \x{2028}\x{2029}
|
||||
\x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
|
||||
@@ -440,10 +442,8 @@ Need char = \x{dd00}
|
||||
/i [^\x{8000}]*
|
||||
/i [^\x{7fff}]{2}
|
||||
/i [^\x{7fff}]{0,7}?
|
||||
Once
|
||||
/i [^\x{100}]{5}
|
||||
/i [^\x{100}]?
|
||||
Ket
|
||||
/i [^\x{100}]?+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -502,4 +502,57 @@ MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789AB
|
||||
\x{ffff}
|
||||
0: \x{ffff}
|
||||
|
||||
/[^\x00-a]{12,}[^b-\xff]*/BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[b-\xff] (neg){12,}
|
||||
[\x00-a] (neg)*+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x08\x0e-\x1f!-\xff] (neg)*
|
||||
\s*
|
||||
|
||||
[0-9A-Z_a-z]++
|
||||
\W+
|
||||
|
||||
[\x00-/:-\xff] (neg)*?
|
||||
\d
|
||||
0
|
||||
[\x00-/:-@[-^`{-\xff] (neg){4,6}?
|
||||
\w*
|
||||
A
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/a*[b-\x{200}]?a#a*[b-\x{200}]?b#[a-f]*[g-\x{200}]*#[g-\x{200}]*[a-c]*#[g-\x{200}]*[a-h]*/BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
a*
|
||||
[b-\xff\x{100}-\x{200}]?+
|
||||
a#
|
||||
a*+
|
||||
[b-\xff\x{100}-\x{200}]?
|
||||
b#
|
||||
[a-f]*+
|
||||
[g-\xff\x{100}-\x{200}]*+
|
||||
#
|
||||
[g-\xff\x{100}-\x{200}]*+
|
||||
[a-c]*+
|
||||
#
|
||||
[g-\xff\x{100}-\x{200}]*
|
||||
[a-h]*+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/^[\x{1234}\x{4321}]{2,4}?/
|
||||
\x{1234}\x{1234}\x{1234}
|
||||
0: \x{1234}\x{1234}
|
||||
|
||||
/-- End of testinput17 --/
|
||||
|
||||
Vendored
+39
-35
@@ -1,5 +1,7 @@
|
||||
/-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to the
|
||||
16- and 32-bit library. --/
|
||||
/-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to
|
||||
the 16- and 32-bit libraries. --/
|
||||
|
||||
< forbid W
|
||||
|
||||
/ÃÃÃxxx/8?DZSS
|
||||
**Failed: invalid UTF-8 string cannot be converted to UTF-16
|
||||
@@ -337,7 +339,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
|
||||
\x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
|
||||
\x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4
|
||||
5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y
|
||||
@@ -367,7 +369,7 @@ No match
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
\x{100}{3}
|
||||
\x{100}?
|
||||
\x{100}?+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -376,7 +378,7 @@ Options: utf
|
||||
First char = \x{100}
|
||||
Need char = \x{100}
|
||||
Subject length lower bound = 3
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
\x{100}\x{100}\x{100}\x{100\x{100}
|
||||
0: \x{100}\x{100}\x{100}
|
||||
|
||||
@@ -384,7 +386,7 @@ No set of starting bytes
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
CBra 1
|
||||
\x{100}+
|
||||
\x{100}++
|
||||
Alt
|
||||
x
|
||||
Ket
|
||||
@@ -396,7 +398,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: x \xff
|
||||
Starting chars: x \xff
|
||||
|
||||
/(\x{100}*a|x)/8SDZ
|
||||
------------------------------------------------------------------
|
||||
@@ -415,13 +417,13 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: a x \xff
|
||||
Starting chars: a x \xff
|
||||
|
||||
/(\x{100}{0,2}a|x)/8SDZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
CBra 1
|
||||
\x{100}{0,2}
|
||||
\x{100}{0,2}+
|
||||
a
|
||||
Alt
|
||||
x
|
||||
@@ -434,14 +436,14 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: a x \xff
|
||||
Starting chars: a x \xff
|
||||
|
||||
/(\x{100}{1,2}a|x)/8SDZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
CBra 1
|
||||
\x{100}
|
||||
\x{100}{0,1}
|
||||
\x{100}{0,1}+
|
||||
a
|
||||
Alt
|
||||
x
|
||||
@@ -454,7 +456,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: x \xff
|
||||
Starting chars: x \xff
|
||||
|
||||
/\x{100}/8DZ
|
||||
------------------------------------------------------------------
|
||||
@@ -472,7 +474,7 @@ No need char
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
a\x{100}
|
||||
\x{101}*
|
||||
\x{101}*+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -485,7 +487,7 @@ Need char = \x{100}
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
a\x{100}
|
||||
\x{101}+
|
||||
\x{101}++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -608,8 +610,6 @@ Need char = 'X'
|
||||
Failed: missing terminating ] for character class at offset 13
|
||||
|
||||
/X/8
|
||||
\x{0}\x{d7ff}\x{e000}\x{10ffff}
|
||||
Error -10 (bad UTF-16 string) offset=4 reason=4
|
||||
\x{d800}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=1
|
||||
\x{d800}\?
|
||||
@@ -634,8 +634,6 @@ No match
|
||||
** Failed: character \x{110000} is greater than 0x10ffff and so cannot be converted to UTF-16
|
||||
\x{d800}\x{1234}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=2
|
||||
\x{fffe}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
|
||||
/(*UTF16)\x{11234}/
|
||||
abcd\x{11234}pqr
|
||||
@@ -650,7 +648,7 @@ Need char = \x{de34}
|
||||
0: \x{11234}
|
||||
|
||||
/(*UTF-32)\x{11234}/
|
||||
Failed: (*VERB) not recognized at offset 5
|
||||
Failed: (*VERB) not recognized or malformed at offset 5
|
||||
|
||||
/(*CRLF)(*UTF16)(*BSR_UNICODE)a\Rb/I
|
||||
Capturing subpattern count = 0
|
||||
@@ -660,7 +658,7 @@ First char = 'a'
|
||||
Need char = 'b'
|
||||
|
||||
/(*CRLF)(*UTF32)(*BSR_UNICODE)a\Rb/I
|
||||
Failed: (*VERB) not recognized at offset 12
|
||||
Failed: (*VERB) not recognized or malformed at offset 12
|
||||
|
||||
/\h/SI8
|
||||
Capturing subpattern count = 0
|
||||
@@ -668,7 +666,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x09 \x20 \xa0 \xff
|
||||
Starting chars: \x09 \x20 \xa0 \xff
|
||||
ABC\x{09}
|
||||
0: \x{09}
|
||||
ABC\x{20}
|
||||
@@ -694,7 +692,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
ABC\x{0a}
|
||||
0: \x{0a}
|
||||
ABC\x{0b}
|
||||
@@ -714,19 +712,19 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'A'
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x09 \x20 A \xa0 \xff
|
||||
Starting chars: \x09 \x20 A \xa0 \xff
|
||||
CDBABC
|
||||
0: A
|
||||
\x{2000}ABC
|
||||
0: \x{2000}A
|
||||
|
||||
/\R*A/SI8
|
||||
/\R*A/SI8<bsr_unicode>
|
||||
Capturing subpattern count = 0
|
||||
Options: utf
|
||||
Options: bsr_unicode utf
|
||||
No first char
|
||||
Need char = 'A'
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d A \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d A \x85 \xff
|
||||
CDBABC
|
||||
0: A
|
||||
\x{2028}A
|
||||
@@ -738,7 +736,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'A'
|
||||
Subject length lower bound = 2
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
|
||||
/\s?xxx\s/8SI
|
||||
Capturing subpattern count = 0
|
||||
@@ -746,7 +744,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'x'
|
||||
Subject length lower bound = 4
|
||||
Starting byte set: \x09 \x0a \x0c \x0d \x20 x
|
||||
Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 x
|
||||
|
||||
/\sxxx\s/I8ST1
|
||||
Capturing subpattern count = 0
|
||||
@@ -754,7 +752,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'x'
|
||||
Subject length lower bound = 5
|
||||
Starting byte set: \x09 \x0a \x0c \x0d \x20 \x85 \xa0
|
||||
Starting chars: \x09 \x0a \x0c \x0d \x20 \x85 \xa0
|
||||
AB\x{85}xxx\x{a0}XYZ
|
||||
0: \x{85}xxx\x{a0}
|
||||
AB\x{a0}xxx\x{85}XYZ
|
||||
@@ -766,7 +764,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = ' '
|
||||
Subject length lower bound = 3
|
||||
Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e
|
||||
\x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d
|
||||
\x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @
|
||||
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e
|
||||
@@ -805,7 +803,7 @@ Options: caseless utf
|
||||
First char = \x{1234}
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/\x{1234}+?/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -813,7 +811,7 @@ Options: caseless utf
|
||||
First char = \x{1234}
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/\x{1234}++/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -821,7 +819,7 @@ Options: caseless utf
|
||||
First char = \x{1234}
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/\x{1234}{2}/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -829,7 +827,7 @@ Options: caseless utf
|
||||
First char = \x{1234}
|
||||
Need char = \x{1234}
|
||||
Subject length lower bound = 2
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/[^\x{c4}]/8DZ
|
||||
------------------------------------------------------------------
|
||||
@@ -862,7 +860,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
|
||||
/-- Check bad offset --/
|
||||
|
||||
@@ -1019,4 +1017,10 @@ Failed: invalid UTF-16 string at offset 0
|
||||
\x{a0}\x20!
|
||||
0: \x{a0} !
|
||||
|
||||
/(*UTF)abc/9
|
||||
Failed: setting UTF is disabled by the application at offset 0
|
||||
|
||||
/abc/89
|
||||
Failed: setting UTF is disabled by the application at offset 0
|
||||
|
||||
/-- End of testinput18 --/
|
||||
|
||||
Vendored
+40
-36
@@ -1,5 +1,7 @@
|
||||
/-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to the
|
||||
16- and 32-bit library. --/
|
||||
/-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to
|
||||
the 16- and 32-bit libraries. --/
|
||||
|
||||
< forbid W
|
||||
|
||||
/ÃÃÃxxx/8?DZSS
|
||||
**Failed: invalid UTF-8 string cannot be converted to UTF-32
|
||||
@@ -335,7 +337,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
|
||||
\x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
|
||||
\x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4
|
||||
5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y
|
||||
@@ -365,7 +367,7 @@ No match
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
\x{100}{3}
|
||||
\x{100}?
|
||||
\x{100}?+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -374,7 +376,7 @@ Options: utf
|
||||
First char = \x{100}
|
||||
Need char = \x{100}
|
||||
Subject length lower bound = 3
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
\x{100}\x{100}\x{100}\x{100\x{100}
|
||||
0: \x{100}\x{100}\x{100}
|
||||
|
||||
@@ -382,7 +384,7 @@ No set of starting bytes
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
CBra 1
|
||||
\x{100}+
|
||||
\x{100}++
|
||||
Alt
|
||||
x
|
||||
Ket
|
||||
@@ -394,7 +396,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: x \xff
|
||||
Starting chars: x \xff
|
||||
|
||||
/(\x{100}*a|x)/8SDZ
|
||||
------------------------------------------------------------------
|
||||
@@ -413,13 +415,13 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: a x \xff
|
||||
Starting chars: a x \xff
|
||||
|
||||
/(\x{100}{0,2}a|x)/8SDZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
CBra 1
|
||||
\x{100}{0,2}
|
||||
\x{100}{0,2}+
|
||||
a
|
||||
Alt
|
||||
x
|
||||
@@ -432,14 +434,14 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: a x \xff
|
||||
Starting chars: a x \xff
|
||||
|
||||
/(\x{100}{1,2}a|x)/8SDZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
CBra 1
|
||||
\x{100}
|
||||
\x{100}{0,1}
|
||||
\x{100}{0,1}+
|
||||
a
|
||||
Alt
|
||||
x
|
||||
@@ -452,7 +454,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: x \xff
|
||||
Starting chars: x \xff
|
||||
|
||||
/\x{100}/8DZ
|
||||
------------------------------------------------------------------
|
||||
@@ -470,7 +472,7 @@ No need char
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
a\x{100}
|
||||
\x{101}*
|
||||
\x{101}*+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -483,7 +485,7 @@ Need char = \x{100}
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
a\x{100}
|
||||
\x{101}+
|
||||
\x{101}++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -606,8 +608,6 @@ Need char = 'X'
|
||||
Failed: missing terminating ] for character class at offset 13
|
||||
|
||||
/X/8
|
||||
\x{0}\x{d7ff}\x{e000}\x{10ffff}
|
||||
Error -10 (bad UTF-32 string) offset=3 reason=2
|
||||
\x{d800}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=1
|
||||
\x{d800}\?
|
||||
@@ -632,11 +632,9 @@ No match
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=3
|
||||
\x{d800}\x{1234}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=1
|
||||
\x{fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
|
||||
/(*UTF16)\x{11234}/
|
||||
Failed: (*VERB) not recognized at offset 5
|
||||
Failed: (*VERB) not recognized or malformed at offset 5
|
||||
|
||||
/(*UTF)\x{11234}/I
|
||||
Capturing subpattern count = 0
|
||||
@@ -647,10 +645,10 @@ No need char
|
||||
0: \x{11234}
|
||||
|
||||
/(*UTF-32)\x{11234}/
|
||||
Failed: (*VERB) not recognized at offset 5
|
||||
Failed: (*VERB) not recognized or malformed at offset 5
|
||||
|
||||
/(*CRLF)(*UTF16)(*BSR_UNICODE)a\Rb/I
|
||||
Failed: (*VERB) not recognized at offset 12
|
||||
Failed: (*VERB) not recognized or malformed at offset 12
|
||||
|
||||
/(*CRLF)(*UTF32)(*BSR_UNICODE)a\Rb/I
|
||||
Capturing subpattern count = 0
|
||||
@@ -665,7 +663,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x09 \x20 \xa0 \xff
|
||||
Starting chars: \x09 \x20 \xa0 \xff
|
||||
ABC\x{09}
|
||||
0: \x{09}
|
||||
ABC\x{20}
|
||||
@@ -691,7 +689,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
ABC\x{0a}
|
||||
0: \x{0a}
|
||||
ABC\x{0b}
|
||||
@@ -711,19 +709,19 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'A'
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x09 \x20 A \xa0 \xff
|
||||
Starting chars: \x09 \x20 A \xa0 \xff
|
||||
CDBABC
|
||||
0: A
|
||||
\x{2000}ABC
|
||||
0: \x{2000}A
|
||||
|
||||
/\R*A/SI8
|
||||
/\R*A/SI8<bsr_unicode>
|
||||
Capturing subpattern count = 0
|
||||
Options: utf
|
||||
Options: bsr_unicode utf
|
||||
No first char
|
||||
Need char = 'A'
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d A \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d A \x85 \xff
|
||||
CDBABC
|
||||
0: A
|
||||
\x{2028}A
|
||||
@@ -735,7 +733,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'A'
|
||||
Subject length lower bound = 2
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
|
||||
/\s?xxx\s/8SI
|
||||
Capturing subpattern count = 0
|
||||
@@ -743,7 +741,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'x'
|
||||
Subject length lower bound = 4
|
||||
Starting byte set: \x09 \x0a \x0c \x0d \x20 x
|
||||
Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 x
|
||||
|
||||
/\sxxx\s/I8ST1
|
||||
Capturing subpattern count = 0
|
||||
@@ -751,7 +749,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = 'x'
|
||||
Subject length lower bound = 5
|
||||
Starting byte set: \x09 \x0a \x0c \x0d \x20 \x85 \xa0
|
||||
Starting chars: \x09 \x0a \x0c \x0d \x20 \x85 \xa0
|
||||
AB\x{85}xxx\x{a0}XYZ
|
||||
0: \x{85}xxx\x{a0}
|
||||
AB\x{a0}xxx\x{85}XYZ
|
||||
@@ -763,7 +761,7 @@ Options: utf
|
||||
No first char
|
||||
Need char = ' '
|
||||
Subject length lower bound = 3
|
||||
Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e
|
||||
\x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d
|
||||
\x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @
|
||||
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e
|
||||
@@ -802,7 +800,7 @@ Options: caseless utf
|
||||
First char = \x{1234}
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/\x{1234}+?/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -810,7 +808,7 @@ Options: caseless utf
|
||||
First char = \x{1234}
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/\x{1234}++/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -818,7 +816,7 @@ Options: caseless utf
|
||||
First char = \x{1234}
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/\x{1234}{2}/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -826,7 +824,7 @@ Options: caseless utf
|
||||
First char = \x{1234}
|
||||
Need char = \x{1234}
|
||||
Subject length lower bound = 2
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/[^\x{c4}]/8DZ
|
||||
------------------------------------------------------------------
|
||||
@@ -859,7 +857,7 @@ Options: utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
|
||||
|
||||
/-- Check bad offset --/
|
||||
|
||||
@@ -1016,4 +1014,10 @@ Error -24 (bad offset value)
|
||||
\x{a0}\x20!
|
||||
0: \x{a0} !
|
||||
|
||||
/(*UTF)abc/9
|
||||
Failed: setting UTF is disabled by the application at offset 0
|
||||
|
||||
/abc/89
|
||||
Failed: setting UTF is disabled by the application at offset 0
|
||||
|
||||
/-- End of testinput18 --/
|
||||
|
||||
Vendored
+1
-1
@@ -55,7 +55,7 @@ Options: caseless utf
|
||||
First char = \x{401} (caseless)
|
||||
Need char = \x{42f} (caseless)
|
||||
Subject length lower bound = 17
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
\x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
|
||||
0: \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}
|
||||
\x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}
|
||||
|
||||
Vendored
+1998
-330
File diff suppressed because it is too large
Load Diff
Vendored
-3
@@ -8,12 +8,10 @@
|
||||
/^\x{ffff}?/i
|
||||
\x{ffff}
|
||||
0: \x{ffff}
|
||||
1:
|
||||
|
||||
/^\x{ffff}*/i
|
||||
\x{ffff}
|
||||
0: \x{ffff}
|
||||
1:
|
||||
|
||||
/^\x{ffff}{3}/i
|
||||
\x{ffff}\x{ffff}\x{ffff}
|
||||
@@ -22,6 +20,5 @@
|
||||
/^\x{ffff}{0,3}/i
|
||||
\x{ffff}
|
||||
0: \x{ffff}
|
||||
1:
|
||||
|
||||
/-- End of testinput20 --/
|
||||
|
||||
Vendored
+17
-7
@@ -1,5 +1,6 @@
|
||||
/-- Tests for reloading pre-compile patterns. The first one gives an error
|
||||
right away. The others require the linke size to be 2. */
|
||||
/-- Tests for reloading pre-compiled patterns. The first one gives an error
|
||||
right away, and can be any old pattern compiled in 8-bit mode ("abc" is
|
||||
typical). The others require the link size to be 2. */x
|
||||
|
||||
<!testsaved8
|
||||
Compiled pattern loaded from testsaved8
|
||||
@@ -7,7 +8,16 @@ No study data
|
||||
Error -28 from pcre16_fullinfo(0)
|
||||
Running in 16-bit mode but pattern was compiled in 8-bit mode
|
||||
|
||||
/-- Generated from: ^[aL](?P<name>(?:[AaLl]+)[^xX-]*?)(?P<other>[\x{150}-\x{250}\x{300}]|[^\x{800}aAs-uS-U\x{d800}-\x{dfff}])++[^#\b\x{500}\x{1000}]{3,5}$ --/
|
||||
%-- Generated from:
|
||||
/^[aL](?P<name>(?:[AaLl]+)[^xX-]*?)(?P<other>[\x{150}-\x{250}\x{300}]|
|
||||
[^\x{800}aAs-uS-U\x{d800}-\x{dfff}])++[^#\b\x{500}\x{1000}]{3,5}$
|
||||
/x
|
||||
|
||||
In 16-bit mode with options: S>testdata/saved16LE-1
|
||||
FS>testdata/saved16BE-1
|
||||
In 32-bit mode with options: S>testdata/saved32LE-1
|
||||
FS>testdata/saved32BE-1
|
||||
--%x
|
||||
|
||||
<!testsaved16LE-1
|
||||
Compiled pattern loaded from testsaved16LE-1
|
||||
@@ -36,11 +46,11 @@ Capturing subpattern count = 2
|
||||
Named capturing subpatterns:
|
||||
name 1
|
||||
other 2
|
||||
Options: anchored
|
||||
Options: anchored extended
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 6
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
<!testsaved16BE-1
|
||||
Compiled pattern loaded from testsaved16BE-1
|
||||
@@ -69,11 +79,11 @@ Capturing subpattern count = 2
|
||||
Named capturing subpatterns:
|
||||
name 1
|
||||
other 2
|
||||
Options: anchored
|
||||
Options: anchored extended
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 6
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
<!testsaved32LE-1
|
||||
Compiled pattern loaded from testsaved32LE-1
|
||||
|
||||
Vendored
+17
-7
@@ -1,5 +1,6 @@
|
||||
/-- Tests for reloading pre-compile patterns. The first one gives an error
|
||||
right away. The others require the linke size to be 2. */
|
||||
/-- Tests for reloading pre-compiled patterns. The first one gives an error
|
||||
right away, and can be any old pattern compiled in 8-bit mode ("abc" is
|
||||
typical). The others require the link size to be 2. */x
|
||||
|
||||
<!testsaved8
|
||||
Compiled pattern loaded from testsaved8
|
||||
@@ -7,7 +8,16 @@ No study data
|
||||
Error -28 from pcre32_fullinfo(0)
|
||||
Running in 32-bit mode but pattern was compiled in 8-bit mode
|
||||
|
||||
/-- Generated from: ^[aL](?P<name>(?:[AaLl]+)[^xX-]*?)(?P<other>[\x{150}-\x{250}\x{300}]|[^\x{800}aAs-uS-U\x{d800}-\x{dfff}])++[^#\b\x{500}\x{1000}]{3,5}$ --/
|
||||
%-- Generated from:
|
||||
/^[aL](?P<name>(?:[AaLl]+)[^xX-]*?)(?P<other>[\x{150}-\x{250}\x{300}]|
|
||||
[^\x{800}aAs-uS-U\x{d800}-\x{dfff}])++[^#\b\x{500}\x{1000}]{3,5}$
|
||||
/x
|
||||
|
||||
In 16-bit mode with options: S>testdata/saved16LE-1
|
||||
FS>testdata/saved16BE-1
|
||||
In 32-bit mode with options: S>testdata/saved32LE-1
|
||||
FS>testdata/saved32BE-1
|
||||
--%x
|
||||
|
||||
<!testsaved16LE-1
|
||||
Compiled pattern loaded from testsaved16LE-1
|
||||
@@ -48,11 +58,11 @@ Capturing subpattern count = 2
|
||||
Named capturing subpatterns:
|
||||
name 1
|
||||
other 2
|
||||
Options: anchored
|
||||
Options: anchored extended
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 6
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
<!testsaved32BE-1
|
||||
Compiled pattern loaded from testsaved32BE-1
|
||||
@@ -81,10 +91,10 @@ Capturing subpattern count = 2
|
||||
Named capturing subpatterns:
|
||||
name 1
|
||||
other 2
|
||||
Options: anchored
|
||||
Options: anchored extended
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 6
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/-- End of testinput21 --/
|
||||
|
||||
Vendored
+15
-5
@@ -1,6 +1,16 @@
|
||||
/-- Tests for reloading pre-compile patterns with UTF-16 or UTF-32 support. */
|
||||
|
||||
/-- Generated from: (?P<cbra1>[aZ\x{400}-\x{10ffff}]{4,}[\x{f123}\x{10039}\x{20000}-\x{21234}]?|[A-Cx-z\x{100000}-\x{1000a7}\x{101234}])(?<cb2>[^az]) --/8
|
||||
%-- Generated from:
|
||||
/(?P<cbra1>[aZ\x{400}-\x{10ffff}]{4,}
|
||||
[\x{f123}\x{10039}\x{20000}-\x{21234}]?|
|
||||
[A-Cx-z\x{100000}-\x{1000a7}\x{101234}])
|
||||
(?<cb2>[^az])/x
|
||||
|
||||
In 16-bit mode with options: S8>testdata/saved16LE-2
|
||||
FS8>testdata/saved16BE-2
|
||||
In 32-bit mode with options: S8>testdata/saved32LE-2
|
||||
FS8>testdata/saved32BE-2
|
||||
--%8x
|
||||
|
||||
<!testsaved16LE-2
|
||||
Compiled pattern loaded from testsaved16LE-2
|
||||
@@ -23,11 +33,11 @@ Capturing subpattern count = 2
|
||||
Named capturing subpatterns:
|
||||
cb2 2
|
||||
cbra1 1
|
||||
Options: utf
|
||||
Options: extended utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 2
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
<!testsaved16BE-2
|
||||
Compiled pattern loaded from testsaved16BE-2
|
||||
@@ -50,11 +60,11 @@ Capturing subpattern count = 2
|
||||
Named capturing subpatterns:
|
||||
cb2 2
|
||||
cbra1 1
|
||||
Options: utf
|
||||
Options: extended utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 2
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
<!testsaved32LE-2
|
||||
Compiled pattern loaded from testsaved32LE-2
|
||||
|
||||
Vendored
+15
-5
@@ -1,6 +1,16 @@
|
||||
/-- Tests for reloading pre-compile patterns with UTF-16 or UTF-32 support. */
|
||||
|
||||
/-- Generated from: (?P<cbra1>[aZ\x{400}-\x{10ffff}]{4,}[\x{f123}\x{10039}\x{20000}-\x{21234}]?|[A-Cx-z\x{100000}-\x{1000a7}\x{101234}])(?<cb2>[^az]) --/8
|
||||
%-- Generated from:
|
||||
/(?P<cbra1>[aZ\x{400}-\x{10ffff}]{4,}
|
||||
[\x{f123}\x{10039}\x{20000}-\x{21234}]?|
|
||||
[A-Cx-z\x{100000}-\x{1000a7}\x{101234}])
|
||||
(?<cb2>[^az])/x
|
||||
|
||||
In 16-bit mode with options: S8>testdata/saved16LE-2
|
||||
FS8>testdata/saved16BE-2
|
||||
In 32-bit mode with options: S8>testdata/saved32LE-2
|
||||
FS8>testdata/saved32BE-2
|
||||
--%8x
|
||||
|
||||
<!testsaved16LE-2
|
||||
Compiled pattern loaded from testsaved16LE-2
|
||||
@@ -35,11 +45,11 @@ Capturing subpattern count = 2
|
||||
Named capturing subpatterns:
|
||||
cb2 2
|
||||
cbra1 1
|
||||
Options: utf
|
||||
Options: extended utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 2
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
<!testsaved32BE-2
|
||||
Compiled pattern loaded from testsaved32BE-2
|
||||
@@ -62,10 +72,10 @@ Capturing subpattern count = 2
|
||||
Named capturing subpatterns:
|
||||
cb2 2
|
||||
cbra1 1
|
||||
Options: utf
|
||||
Options: extended utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 2
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/-- End of testinput22 --/
|
||||
|
||||
Vendored
+35
-5
@@ -1,5 +1,7 @@
|
||||
/-- Tests for the 16-bit library only */
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/-- Check maximum non-UTF character size --/
|
||||
|
||||
/\x{ffff}/
|
||||
@@ -7,14 +9,16 @@
|
||||
0: \x{ffff}
|
||||
|
||||
/\x{10000}/
|
||||
Failed: character value in \x{...} sequence is too large at offset 8
|
||||
Failed: character value in \x{} or \o{} is too large at offset 8
|
||||
|
||||
/\o{20000}/
|
||||
|
||||
/-- Check character ranges --/
|
||||
|
||||
/[\H]/BZSI
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffff}]
|
||||
[\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffff}]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -23,12 +27,25 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b
|
||||
\x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a
|
||||
\x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9
|
||||
: ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^
|
||||
_ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80
|
||||
\x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f
|
||||
\x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e
|
||||
\x9f \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae
|
||||
\xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd
|
||||
\xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc
|
||||
\xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb
|
||||
\xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea
|
||||
\xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9
|
||||
\xfa \xfb \xfc \xfd \xfe \xff
|
||||
|
||||
/[\V]/BZSI
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{ffff}]
|
||||
[\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffff}]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -37,6 +54,19 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0e
|
||||
\x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d
|
||||
\x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = >
|
||||
? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c
|
||||
d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82
|
||||
\x83 \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92
|
||||
\x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1
|
||||
\xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0
|
||||
\xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf
|
||||
\xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce
|
||||
\xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd
|
||||
\xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec
|
||||
\xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
|
||||
\xfc \xfd \xfe \xff
|
||||
|
||||
/-- End of testinput23 --/
|
||||
|
||||
Vendored
+1
-133
@@ -1,138 +1,6 @@
|
||||
/-- Tests for the 16-bit library with UTF-16 support only */
|
||||
|
||||
/noncharacter/8
|
||||
\x{fffe}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{ffff}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{1fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{1ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{2fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{2ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{3fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{3ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{4fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{4ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{5fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{5ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{6fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{6ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{7fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{7ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{8fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{8ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{9fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{9ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{afffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{affff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{bfffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{bffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{cfffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{cffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{dfffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{dffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{efffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{effff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{ffffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{fffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{10fffe}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{10ffff}
|
||||
Error -10 (bad UTF-16 string) offset=1 reason=4
|
||||
\x{fdd0}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdd1}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdd2}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdd3}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdd4}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdd5}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdd6}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdd7}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdd8}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdd9}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdda}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fddb}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fddc}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fddd}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdde}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fddf}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde0}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde1}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde2}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde3}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde4}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde5}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde6}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde7}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde8}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fde9}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdea}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdeb}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdec}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fded}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdee}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
\x{fdef}
|
||||
Error -10 (bad UTF-16 string) offset=0 reason=4
|
||||
< forbid W
|
||||
|
||||
/bad/8
|
||||
\x{d800}
|
||||
|
||||
Vendored
+44
-4
@@ -1,5 +1,7 @@
|
||||
/-- Tests for the 32-bit library only */
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/-- Check maximum character size --/
|
||||
|
||||
/\x{110000}/
|
||||
@@ -10,6 +12,18 @@
|
||||
|
||||
/\x{ffffffff}/
|
||||
|
||||
/\x{100000000}/
|
||||
Failed: character value in \x{} or \o{} is too large at offset 12
|
||||
|
||||
/\o{17777777777}/
|
||||
|
||||
/\o{20000000000}/
|
||||
|
||||
/\o{37777777777}/
|
||||
|
||||
/\o{40000000000}/
|
||||
Failed: character value in \x{} or \o{} is too large at offset 14
|
||||
|
||||
/\x{7fffffff}\x{7fffffff}/I
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
@@ -51,7 +65,7 @@ Need char = \x{800000}
|
||||
/[\H]/BZSI
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffffffff}]
|
||||
[\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffffffff}]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -60,12 +74,25 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b
|
||||
\x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a
|
||||
\x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9
|
||||
: ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^
|
||||
_ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80
|
||||
\x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f
|
||||
\x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e
|
||||
\x9f \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae
|
||||
\xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd
|
||||
\xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc
|
||||
\xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb
|
||||
\xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea
|
||||
\xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9
|
||||
\xfa \xfb \xfc \xfd \xfe \xff
|
||||
|
||||
/[\V]/BZSI
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{ffffffff}]
|
||||
[\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffffffff}]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -74,6 +101,19 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0e
|
||||
\x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d
|
||||
\x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = >
|
||||
? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c
|
||||
d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82
|
||||
\x83 \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92
|
||||
\x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1
|
||||
\xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0
|
||||
\xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf
|
||||
\xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce
|
||||
\xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd
|
||||
\xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec
|
||||
\xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
|
||||
\xfc \xfd \xfe \xff
|
||||
|
||||
/-- End of testinput25 --/
|
||||
|
||||
Vendored
+6
-137
@@ -1,148 +1,17 @@
|
||||
/-- Tests for the 32-bit library with UTF-32 support only */
|
||||
|
||||
< forbid W
|
||||
|
||||
/-- Non-UTF characters --/
|
||||
|
||||
/\x{110000}/8
|
||||
Failed: character value in \x{...} sequence is too large at offset 9
|
||||
Failed: character value in \x{} or \o{} is too large at offset 9
|
||||
|
||||
/\o{4200000}/8
|
||||
Failed: character value in \x{} or \o{} is too large at offset 10
|
||||
|
||||
/\C/8
|
||||
\x{110000}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=3
|
||||
|
||||
/-- Invalid UTF-32 --/
|
||||
|
||||
/noncharacter/8
|
||||
\x{fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{1fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{1ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{2fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{2ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{3fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{3ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{4fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{4ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{5fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{5ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{6fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{6ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{7fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{7ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{8fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{8ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{9fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{9ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{afffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{affff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{bfffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{bffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{cfffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{cffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{dfffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{dffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{efffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{effff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{ffffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{10fffe}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{10ffff}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd0}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd1}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd2}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd3}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd4}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd5}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd6}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd7}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd8}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdd9}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdda}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fddb}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fddc}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fddd}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdde}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fddf}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde0}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde1}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde2}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde3}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde4}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde5}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde6}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde7}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde8}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fde9}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdea}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdeb}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdec}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fded}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdee}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
\x{fdef}
|
||||
Error -10 (bad UTF-32 string) offset=0 reason=2
|
||||
|
||||
/-- End of testinput26 --/
|
||||
|
||||
Vendored
+10
-5
@@ -1,6 +1,11 @@
|
||||
/-- This set of tests checks local-specific features, using the fr_FR locale.
|
||||
It is not Perl-compatible. There is different version called wintestinput3
|
||||
f or use on Windows, where the locale is called "french". --/
|
||||
/-- This set of tests checks local-specific features, using the "fr_FR" locale.
|
||||
It is not Perl-compatible. When run via RunTest, the locale is edited to
|
||||
be whichever of "fr_FR", "french", or "fr" is found to exist. There is
|
||||
different version of this file called wintestinput3 for use on Windows,
|
||||
where the locale is called "french" and the tests are run using
|
||||
RunTest.bat. --/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/^[\w]+/
|
||||
*** Failers
|
||||
@@ -88,7 +93,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Starting chars: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||
|
||||
/\w/ISLfr_FR
|
||||
@@ -97,7 +102,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Starting chars: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||
ª µ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â
|
||||
ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ
|
||||
|
||||
Vendored
+174
@@ -0,0 +1,174 @@
|
||||
/-- This set of tests checks local-specific features, using the "fr_FR" locale.
|
||||
It is not Perl-compatible. When run via RunTest, the locale is edited to
|
||||
be whichever of "fr_FR", "french", or "fr" is found to exist. There is
|
||||
different version of this file called wintestinput3 for use on Windows,
|
||||
where the locale is called "french" and the tests are run using
|
||||
RunTest.bat. --/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/^[\w]+/
|
||||
*** Failers
|
||||
No match
|
||||
École
|
||||
No match
|
||||
|
||||
/^[\w]+/Lfr_FR
|
||||
École
|
||||
0: École
|
||||
|
||||
/^[\w]+/
|
||||
*** Failers
|
||||
No match
|
||||
École
|
||||
No match
|
||||
|
||||
/^[\W]+/
|
||||
École
|
||||
0: \xc9
|
||||
|
||||
/^[\W]+/Lfr_FR
|
||||
*** Failers
|
||||
0: ***
|
||||
École
|
||||
No match
|
||||
|
||||
/[\b]/
|
||||
\b
|
||||
0: \x08
|
||||
*** Failers
|
||||
No match
|
||||
a
|
||||
No match
|
||||
|
||||
/[\b]/Lfr_FR
|
||||
\b
|
||||
0: \x08
|
||||
*** Failers
|
||||
No match
|
||||
a
|
||||
No match
|
||||
|
||||
/^\w+/
|
||||
*** Failers
|
||||
No match
|
||||
École
|
||||
No match
|
||||
|
||||
/^\w+/Lfr_FR
|
||||
École
|
||||
0: École
|
||||
|
||||
/(.+)\b(.+)/
|
||||
École
|
||||
0: \xc9cole
|
||||
1: \xc9
|
||||
2: cole
|
||||
|
||||
/(.+)\b(.+)/Lfr_FR
|
||||
*** Failers
|
||||
0: *** Failers
|
||||
1: ***
|
||||
2: Failers
|
||||
École
|
||||
No match
|
||||
|
||||
/École/i
|
||||
École
|
||||
0: \xc9cole
|
||||
*** Failers
|
||||
No match
|
||||
école
|
||||
No match
|
||||
|
||||
/École/iLfr_FR
|
||||
École
|
||||
0: École
|
||||
école
|
||||
0: école
|
||||
|
||||
/\w/IS
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting chars: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||
|
||||
/\w/ISLfr_FR
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting chars: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||
ª µ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â
|
||||
ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ
|
||||
|
||||
/^[\xc8-\xc9]/iLfr_FR
|
||||
École
|
||||
0: É
|
||||
école
|
||||
0: é
|
||||
|
||||
/^[\xc8-\xc9]/Lfr_FR
|
||||
École
|
||||
0: É
|
||||
*** Failers
|
||||
No match
|
||||
école
|
||||
No match
|
||||
|
||||
/\W+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: >>>
|
||||
>>>\xba<<<
|
||||
0: >>>
|
||||
|
||||
/[\W]+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: >>>
|
||||
>>>\xba<<<
|
||||
0: >>>
|
||||
|
||||
/[^[:alpha:]]+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: >>>
|
||||
>>>\xba<<<
|
||||
0: >>>
|
||||
|
||||
/\w+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: ª
|
||||
>>>\xba<<<
|
||||
0: º
|
||||
|
||||
/[\w]+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: ª
|
||||
>>>\xba<<<
|
||||
0: º
|
||||
|
||||
/[[:alpha:]]+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: ª
|
||||
>>>\xba<<<
|
||||
0: º
|
||||
|
||||
/[[:alpha:]][[:lower:]][[:upper:]]/DZLfr_FR
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\xff]
|
||||
[a-z\xaa\xb5\xba\xdf-\xf6\xf8-\xff]
|
||||
[A-Z\xc0-\xd6\xd8-\xde]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
|
||||
/-- End of testinput3 --/
|
||||
Vendored
+174
@@ -0,0 +1,174 @@
|
||||
/-- This set of tests checks local-specific features, using the "fr_FR" locale.
|
||||
It is not Perl-compatible. When run via RunTest, the locale is edited to
|
||||
be whichever of "fr_FR", "french", or "fr" is found to exist. There is
|
||||
different version of this file called wintestinput3 for use on Windows,
|
||||
where the locale is called "french" and the tests are run using
|
||||
RunTest.bat. --/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/^[\w]+/
|
||||
*** Failers
|
||||
No match
|
||||
École
|
||||
No match
|
||||
|
||||
/^[\w]+/Lfr_FR
|
||||
École
|
||||
0: École
|
||||
|
||||
/^[\w]+/
|
||||
*** Failers
|
||||
No match
|
||||
École
|
||||
No match
|
||||
|
||||
/^[\W]+/
|
||||
École
|
||||
0: \xc9
|
||||
|
||||
/^[\W]+/Lfr_FR
|
||||
*** Failers
|
||||
0: ***
|
||||
École
|
||||
No match
|
||||
|
||||
/[\b]/
|
||||
\b
|
||||
0: \x08
|
||||
*** Failers
|
||||
No match
|
||||
a
|
||||
No match
|
||||
|
||||
/[\b]/Lfr_FR
|
||||
\b
|
||||
0: \x08
|
||||
*** Failers
|
||||
No match
|
||||
a
|
||||
No match
|
||||
|
||||
/^\w+/
|
||||
*** Failers
|
||||
No match
|
||||
École
|
||||
No match
|
||||
|
||||
/^\w+/Lfr_FR
|
||||
École
|
||||
0: École
|
||||
|
||||
/(.+)\b(.+)/
|
||||
École
|
||||
0: \xc9cole
|
||||
1: \xc9
|
||||
2: cole
|
||||
|
||||
/(.+)\b(.+)/Lfr_FR
|
||||
*** Failers
|
||||
0: *** Failers
|
||||
1: ***
|
||||
2: Failers
|
||||
École
|
||||
No match
|
||||
|
||||
/École/i
|
||||
École
|
||||
0: \xc9cole
|
||||
*** Failers
|
||||
No match
|
||||
école
|
||||
No match
|
||||
|
||||
/École/iLfr_FR
|
||||
École
|
||||
0: École
|
||||
école
|
||||
0: école
|
||||
|
||||
/\w/IS
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting chars: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||
|
||||
/\w/ISLfr_FR
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting chars: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||
ª µ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â
|
||||
ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ
|
||||
|
||||
/^[\xc8-\xc9]/iLfr_FR
|
||||
École
|
||||
0: É
|
||||
école
|
||||
0: é
|
||||
|
||||
/^[\xc8-\xc9]/Lfr_FR
|
||||
École
|
||||
0: É
|
||||
*** Failers
|
||||
No match
|
||||
école
|
||||
No match
|
||||
|
||||
/\W+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: >>>
|
||||
>>>\xba<<<
|
||||
0: >>>
|
||||
|
||||
/[\W]+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: >>>
|
||||
>>>\xba<<<
|
||||
0: >>>
|
||||
|
||||
/[^[:alpha:]]+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: >>>
|
||||
>>>\xba<<<
|
||||
0: >>>
|
||||
|
||||
/\w+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: ª
|
||||
>>>\xba<<<
|
||||
0: º
|
||||
|
||||
/[\w]+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: ª
|
||||
>>>\xba<<<
|
||||
0: º
|
||||
|
||||
/[[:alpha:]]+/Lfr_FR
|
||||
>>>\xaa<<<
|
||||
0: ª
|
||||
>>>\xba<<<
|
||||
0: º
|
||||
|
||||
/[[:alpha:]][[:lower:]][[:upper:]]/DZLfr_FR
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[A-Za-z\x83\x8a\x8c\x8e\x9a\x9c\x9e\x9f\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\xff]
|
||||
[a-z\x83\x9a\x9c\x9e\xaa\xb5\xba\xdf-\xf6\xf8-\xff]
|
||||
[A-Z\x8a\x8c\x8e\x9f\xc0-\xd6\xd8-\xde]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 0
|
||||
No options
|
||||
No first char
|
||||
No need char
|
||||
|
||||
/-- End of testinput3 --/
|
||||
Vendored
+180
@@ -1,6 +1,8 @@
|
||||
/-- This set of tests is for UTF support, excluding Unicode properties. It is
|
||||
compatible with all versions of Perl >= 5.10 and both the 8-bit and 16-bit
|
||||
PCRE libraries. --/
|
||||
|
||||
< forbid 9?=ABCDEFfGILMNPTUWXZ<
|
||||
|
||||
/a.b/8
|
||||
acb
|
||||
@@ -1091,4 +1093,182 @@ MK: a\x{1234}b
|
||||
0: a
|
||||
MK: a\x{a3}b
|
||||
|
||||
/-- Noncharacters --/
|
||||
|
||||
/./8
|
||||
\x{fffe}
|
||||
0: \x{fffe}
|
||||
\x{ffff}
|
||||
0: \x{ffff}
|
||||
\x{1fffe}
|
||||
0: \x{1fffe}
|
||||
\x{1ffff}
|
||||
0: \x{1ffff}
|
||||
\x{2fffe}
|
||||
0: \x{2fffe}
|
||||
\x{2ffff}
|
||||
0: \x{2ffff}
|
||||
\x{3fffe}
|
||||
0: \x{3fffe}
|
||||
\x{3ffff}
|
||||
0: \x{3ffff}
|
||||
\x{4fffe}
|
||||
0: \x{4fffe}
|
||||
\x{4ffff}
|
||||
0: \x{4ffff}
|
||||
\x{5fffe}
|
||||
0: \x{5fffe}
|
||||
\x{5ffff}
|
||||
0: \x{5ffff}
|
||||
\x{6fffe}
|
||||
0: \x{6fffe}
|
||||
\x{6ffff}
|
||||
0: \x{6ffff}
|
||||
\x{7fffe}
|
||||
0: \x{7fffe}
|
||||
\x{7ffff}
|
||||
0: \x{7ffff}
|
||||
\x{8fffe}
|
||||
0: \x{8fffe}
|
||||
\x{8ffff}
|
||||
0: \x{8ffff}
|
||||
\x{9fffe}
|
||||
0: \x{9fffe}
|
||||
\x{9ffff}
|
||||
0: \x{9ffff}
|
||||
\x{afffe}
|
||||
0: \x{afffe}
|
||||
\x{affff}
|
||||
0: \x{affff}
|
||||
\x{bfffe}
|
||||
0: \x{bfffe}
|
||||
\x{bffff}
|
||||
0: \x{bffff}
|
||||
\x{cfffe}
|
||||
0: \x{cfffe}
|
||||
\x{cffff}
|
||||
0: \x{cffff}
|
||||
\x{dfffe}
|
||||
0: \x{dfffe}
|
||||
\x{dffff}
|
||||
0: \x{dffff}
|
||||
\x{efffe}
|
||||
0: \x{efffe}
|
||||
\x{effff}
|
||||
0: \x{effff}
|
||||
\x{ffffe}
|
||||
0: \x{ffffe}
|
||||
\x{fffff}
|
||||
0: \x{fffff}
|
||||
\x{10fffe}
|
||||
0: \x{10fffe}
|
||||
\x{10ffff}
|
||||
0: \x{10ffff}
|
||||
\x{fdd0}
|
||||
0: \x{fdd0}
|
||||
\x{fdd1}
|
||||
0: \x{fdd1}
|
||||
\x{fdd2}
|
||||
0: \x{fdd2}
|
||||
\x{fdd3}
|
||||
0: \x{fdd3}
|
||||
\x{fdd4}
|
||||
0: \x{fdd4}
|
||||
\x{fdd5}
|
||||
0: \x{fdd5}
|
||||
\x{fdd6}
|
||||
0: \x{fdd6}
|
||||
\x{fdd7}
|
||||
0: \x{fdd7}
|
||||
\x{fdd8}
|
||||
0: \x{fdd8}
|
||||
\x{fdd9}
|
||||
0: \x{fdd9}
|
||||
\x{fdda}
|
||||
0: \x{fdda}
|
||||
\x{fddb}
|
||||
0: \x{fddb}
|
||||
\x{fddc}
|
||||
0: \x{fddc}
|
||||
\x{fddd}
|
||||
0: \x{fddd}
|
||||
\x{fdde}
|
||||
0: \x{fdde}
|
||||
\x{fddf}
|
||||
0: \x{fddf}
|
||||
\x{fde0}
|
||||
0: \x{fde0}
|
||||
\x{fde1}
|
||||
0: \x{fde1}
|
||||
\x{fde2}
|
||||
0: \x{fde2}
|
||||
\x{fde3}
|
||||
0: \x{fde3}
|
||||
\x{fde4}
|
||||
0: \x{fde4}
|
||||
\x{fde5}
|
||||
0: \x{fde5}
|
||||
\x{fde6}
|
||||
0: \x{fde6}
|
||||
\x{fde7}
|
||||
0: \x{fde7}
|
||||
\x{fde8}
|
||||
0: \x{fde8}
|
||||
\x{fde9}
|
||||
0: \x{fde9}
|
||||
\x{fdea}
|
||||
0: \x{fdea}
|
||||
\x{fdeb}
|
||||
0: \x{fdeb}
|
||||
\x{fdec}
|
||||
0: \x{fdec}
|
||||
\x{fded}
|
||||
0: \x{fded}
|
||||
\x{fdee}
|
||||
0: \x{fdee}
|
||||
\x{fdef}
|
||||
0: \x{fdef}
|
||||
|
||||
/^\d*\w{4}/8
|
||||
1234
|
||||
0: 1234
|
||||
123
|
||||
No match
|
||||
|
||||
/^[^b]*\w{4}/8
|
||||
aaaa
|
||||
0: aaaa
|
||||
aaa
|
||||
No match
|
||||
|
||||
/^[^b]*\w{4}/8i
|
||||
aaaa
|
||||
0: aaaa
|
||||
aaa
|
||||
No match
|
||||
|
||||
/^\x{100}*.{4}/8
|
||||
\x{100}\x{100}\x{100}\x{100}
|
||||
0: \x{100}\x{100}\x{100}\x{100}
|
||||
\x{100}\x{100}\x{100}
|
||||
No match
|
||||
|
||||
/^\x{100}*.{4}/8i
|
||||
\x{100}\x{100}\x{100}\x{100}
|
||||
0: \x{100}\x{100}\x{100}\x{100}
|
||||
\x{100}\x{100}\x{100}
|
||||
No match
|
||||
|
||||
/^a+[a\x{200}]/8
|
||||
aa
|
||||
0: aa
|
||||
|
||||
/^.\B.\B./8
|
||||
\x{10123}\x{10124}\x{10125}
|
||||
0: \x{10123}\x{10124}\x{10125}
|
||||
|
||||
/^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/8
|
||||
#\x{10000}#\x{100}#\x{10ffff}#
|
||||
0: #\x{10000}#\x{100}#\x{10ffff}#
|
||||
|
||||
/-- End of testinput4 --/
|
||||
|
||||
Vendored
+73
-22
@@ -1,26 +1,47 @@
|
||||
/-- This set of tests checks the API, internals, and non-Perl stuff for UTF
|
||||
support, excluding Unicode properties. However, tests that give different
|
||||
results in 8-bit and 16-bit modes are excluded (see tests 16 and 17). --/
|
||||
|
||||
< forbid W
|
||||
|
||||
/\x{110000}/8DZ
|
||||
Failed: character value in \x{...} sequence is too large at offset 9
|
||||
Failed: character value in \x{} or \o{} is too large at offset 9
|
||||
|
||||
/\o{4200000}/8DZ
|
||||
Failed: character value in \x{} or \o{} is too large at offset 10
|
||||
|
||||
/\x{ffffffff}/8
|
||||
Failed: character value in \x{...} sequence is too large at offset 11
|
||||
Failed: character value in \x{} or \o{} is too large at offset 11
|
||||
|
||||
/\o{37777777777}/8
|
||||
Failed: character value in \x{} or \o{} is too large at offset 14
|
||||
|
||||
/\x{100000000}/8
|
||||
Failed: character value in \x{...} sequence is too large at offset 12
|
||||
Failed: character value in \x{} or \o{} is too large at offset 12
|
||||
|
||||
/\o{77777777777}/8
|
||||
Failed: character value in \x{} or \o{} is too large at offset 14
|
||||
|
||||
/\x{d800}/8
|
||||
Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
|
||||
|
||||
/\o{154000}/8
|
||||
Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 9
|
||||
|
||||
/\x{dfff}/8
|
||||
Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
|
||||
|
||||
/\o{157777}/8
|
||||
Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 9
|
||||
|
||||
/\x{d7ff}/8
|
||||
|
||||
/\o{153777}/8
|
||||
|
||||
/\x{e000}/8
|
||||
|
||||
/\o{170000}/8
|
||||
|
||||
/^\x{100}a\x{1234}/8
|
||||
\x{100}a\x{1234}bcd
|
||||
0: \x{100}a\x{1234}
|
||||
@@ -146,11 +167,12 @@ No match
|
||||
/\x{100}*/8DZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
\x{100}*
|
||||
\x{100}*+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 0
|
||||
May match empty string
|
||||
Options: utf
|
||||
No first char
|
||||
No need char
|
||||
@@ -159,7 +181,7 @@ No need char
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
a
|
||||
\x{100}*
|
||||
\x{100}*+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -172,7 +194,7 @@ No need char
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
ab
|
||||
\x{100}*
|
||||
\x{100}*+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -248,7 +270,7 @@ No match
|
||||
/[z-\x{100}]/8DZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[z-\x{100}]
|
||||
[z-\xff\x{100}]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -373,6 +395,7 @@ Need char = 'z'
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 2
|
||||
May match empty string
|
||||
Options: utf
|
||||
No first char
|
||||
No need char
|
||||
@@ -404,6 +427,7 @@ No need char
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 2
|
||||
May match empty string
|
||||
Options: utf
|
||||
No first char
|
||||
No need char
|
||||
@@ -424,6 +448,7 @@ No need char
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 2
|
||||
May match empty string
|
||||
Options: utf
|
||||
No first char
|
||||
No need char
|
||||
@@ -455,6 +480,7 @@ No need char
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
Capturing subpattern count = 2
|
||||
May match empty string
|
||||
Options: utf
|
||||
No first char
|
||||
No need char
|
||||
@@ -768,7 +794,7 @@ No match
|
||||
/[\h]{3,}/8BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,}
|
||||
[\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,}+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -786,7 +812,7 @@ No match
|
||||
/[\H]/8BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}]
|
||||
[\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -794,7 +820,7 @@ No match
|
||||
/[\V]/8BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}]
|
||||
[\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{10ffff}]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -1510,7 +1536,7 @@ Options: caseless utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/[^\x{1234}]+?/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -1518,7 +1544,7 @@ Options: caseless utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/[^\x{1234}]++/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -1526,7 +1552,7 @@ Options: caseless utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
/[^\x{1234}]{2}/iS8I
|
||||
Capturing subpattern count = 0
|
||||
@@ -1534,7 +1560,7 @@ Options: caseless utf
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 2
|
||||
No set of starting bytes
|
||||
No starting char list
|
||||
|
||||
//<bsr_anycrlf><bsr_unicode>
|
||||
Failed: inconsistent NEWLINE options at offset 0
|
||||
@@ -1572,7 +1598,7 @@ Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
|
||||
/[\h\x{e000}]+/8BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{e000}]+
|
||||
[\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{e000}]++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -1594,7 +1620,7 @@ Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
|
||||
/[\H\x{d7ff}]+/8BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}\x{d7ff}]+
|
||||
[\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}\x{d7ff}]++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -1616,7 +1642,7 @@ Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
|
||||
/[\v\x{e000}]+/8BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x0a-\x0d\x85\x{2028}-\x{2029}\x{e000}]+
|
||||
[\x0a-\x0d\x85\x{2028}-\x{2029}\x{e000}]++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -1634,7 +1660,7 @@ Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
|
||||
/[\V\x{d7ff}]+/8BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}\x{d7ff}]+
|
||||
[\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{10ffff}\x{d7ff}]++
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
@@ -1808,20 +1834,18 @@ Partial match: \x{0d}\x{0d}
|
||||
/i [^\x{8000}]*
|
||||
/i [^\x{7fff}]{2}
|
||||
/i [^\x{7fff}]{0,7}?
|
||||
Once
|
||||
/i [^\x{fffff}]{5}
|
||||
/i [^\x{fffff}]?
|
||||
Ket
|
||||
/i [^\x{fffff}]?+
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/(?<=\x{1234}\x{1234})\bxy/I8
|
||||
Capturing subpattern count = 0
|
||||
Max lookbehind = 2
|
||||
Options: utf
|
||||
First char = 'x'
|
||||
Need char = 'y'
|
||||
Max lookbehind = 2
|
||||
|
||||
/(?<!^)ETA/8
|
||||
ETA
|
||||
@@ -1846,4 +1870,31 @@ No match
|
||||
/\ud800/<JS>8
|
||||
Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 5
|
||||
|
||||
/^a+[a\x{200}]/8BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
^
|
||||
a+
|
||||
[a\x{200}]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
aa
|
||||
0: aa
|
||||
|
||||
/[b-d\x{200}-\x{250}]*[ae-h]?#[\x{200}-\x{250}]{0,8}[\x00-\xff]*#[\x{200}-\x{250}]+[a-z]/8BZ
|
||||
------------------------------------------------------------------
|
||||
Bra
|
||||
[b-d\x{200}-\x{250}]*+
|
||||
[ae-h]?+
|
||||
#
|
||||
[\x{200}-\x{250}]{0,8}+
|
||||
[\x00-\xff]*
|
||||
#
|
||||
[\x{200}-\x{250}]++
|
||||
[a-z]
|
||||
Ket
|
||||
End
|
||||
------------------------------------------------------------------
|
||||
|
||||
/-- End of testinput5 --/
|
||||
|
||||
Vendored
+337
-14
@@ -1,5 +1,7 @@
|
||||
/-- This set of tests is for Unicode property support. It is compatible with
|
||||
Perl >= 5.15. --/
|
||||
|
||||
< forbid 9?=ABCDEFfGILMNPTUXZ<
|
||||
|
||||
/^\pC\pL\pM\pN\pP\pS\pZ</8
|
||||
\x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
|
||||
@@ -543,16 +545,6 @@ No match
|
||||
abc
|
||||
No match
|
||||
|
||||
/\p{Lu}/8i
|
||||
A
|
||||
0: A
|
||||
aZ
|
||||
0: Z
|
||||
** Failers
|
||||
0: F
|
||||
abc
|
||||
No match
|
||||
|
||||
/\p{Ll}/8
|
||||
a
|
||||
0: a
|
||||
@@ -727,6 +719,8 @@ No match
|
||||
0: \x{6e9}
|
||||
\x{060b}
|
||||
0: \x{60b}
|
||||
\x{061c}
|
||||
0: \x{61c}
|
||||
** Failers
|
||||
No match
|
||||
X\x{06e9}
|
||||
@@ -1310,7 +1304,7 @@ No match
|
||||
|
||||
/^>\s+/8W
|
||||
>\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
|
||||
0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}
|
||||
0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b}
|
||||
|
||||
/^>\pZ+/8W
|
||||
>\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
|
||||
@@ -1338,15 +1332,15 @@ No match
|
||||
|
||||
/^[[:graph:]]*/8W
|
||||
A\x{a1}\x{a0}
|
||||
0: A
|
||||
0: A\x{a1}
|
||||
|
||||
/^[[:print:]]*/8W
|
||||
A z\x{a0}\x{a1}
|
||||
0: A z
|
||||
0: A z\x{a0}\x{a1}
|
||||
|
||||
/^[[:punct:]]*/8W
|
||||
.+\x{a1}\x{a0}
|
||||
0: .+
|
||||
0: .+\x{a1}
|
||||
|
||||
/\p{Zs}*?\R/
|
||||
** Failers
|
||||
@@ -1548,6 +1542,19 @@ No match
|
||||
0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
|
||||
0+
|
||||
|
||||
/\X*Z/8Y
|
||||
A\x{300}
|
||||
No match
|
||||
|
||||
/\X*(.)/8Y
|
||||
A\x{1111}\x{ae4c}\x{1169}
|
||||
0: A\x{1111}
|
||||
1: \x{1111}
|
||||
|
||||
/\X?abc/8Y
|
||||
\xff\x7f\x00\x00\x03\x00\x41\xcc\x80\x41\x{300}\x61\x62\x63\x00\>06\?
|
||||
0: A\x{300}abc
|
||||
|
||||
/-- --/
|
||||
|
||||
/\x{1e9e}+/8i
|
||||
@@ -2134,4 +2141,320 @@ No match
|
||||
\x{0053}\x{0073}\x{017f}
|
||||
0: Ss\x{17f}
|
||||
|
||||
/^\p{Any}*\d{4}/8
|
||||
1234
|
||||
0: 1234
|
||||
123
|
||||
No match
|
||||
|
||||
/^\X*\w{4}/8
|
||||
1234
|
||||
0: 1234
|
||||
123
|
||||
No match
|
||||
|
||||
/^A\s+Z/8W
|
||||
A\x{2005}Z
|
||||
0: A\x{2005}Z
|
||||
A\x{85}\x{180e}\x{2005}Z
|
||||
0: A\x{85}\x{180e}\x{2005}Z
|
||||
|
||||
/^A[\s]+Z/8W
|
||||
A\x{2005}Z
|
||||
0: A\x{2005}Z
|
||||
A\x{85}\x{180e}\x{2005}Z
|
||||
0: A\x{85}\x{180e}\x{2005}Z
|
||||
|
||||
/^[[:graph:]]+$/8W
|
||||
Letter:ABC
|
||||
0: Letter:ABC
|
||||
Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
0: Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
Number:9\x{660}
|
||||
0: Number:9\x{660}
|
||||
Punctuation:\x{66a},;
|
||||
0: Punctuation:\x{66a},;
|
||||
Symbol:\x{6de}<>\x{fffc}
|
||||
0: Symbol:\x{6de}<>\x{fffc}
|
||||
Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
\x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
\x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
\x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
\x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
\x{feff}
|
||||
0: \x{feff}
|
||||
\x{fff9}\x{fffa}\x{fffb}
|
||||
0: \x{fff9}\x{fffa}\x{fffb}
|
||||
\x{110bd}
|
||||
0: \x{110bd}
|
||||
\x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
\x{e0001}
|
||||
0: \x{e0001}
|
||||
\x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
** Failers
|
||||
No match
|
||||
\x{09}
|
||||
No match
|
||||
\x{0a}
|
||||
No match
|
||||
\x{1D}
|
||||
No match
|
||||
\x{20}
|
||||
No match
|
||||
\x{85}
|
||||
No match
|
||||
\x{a0}
|
||||
No match
|
||||
\x{61c}
|
||||
No match
|
||||
\x{1680}
|
||||
No match
|
||||
\x{180e}
|
||||
No match
|
||||
\x{2028}
|
||||
No match
|
||||
\x{2029}
|
||||
No match
|
||||
\x{202f}
|
||||
No match
|
||||
\x{2065}
|
||||
No match
|
||||
\x{2066}
|
||||
No match
|
||||
\x{2067}
|
||||
No match
|
||||
\x{2068}
|
||||
No match
|
||||
\x{2069}
|
||||
No match
|
||||
\x{3000}
|
||||
No match
|
||||
\x{e0002}
|
||||
No match
|
||||
\x{e001f}
|
||||
No match
|
||||
\x{e0080}
|
||||
No match
|
||||
|
||||
/^[[:print:]]+$/8W
|
||||
Space: \x{a0}
|
||||
0: Space: \x{a0}
|
||||
\x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
|
||||
0: \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
|
||||
\x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
|
||||
0: \x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
|
||||
\x{202f}\x{205f}
|
||||
0: \x{202f}\x{205f}
|
||||
\x{3000}
|
||||
0: \x{3000}
|
||||
Letter:ABC
|
||||
0: Letter:ABC
|
||||
Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
0: Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
Number:9\x{660}
|
||||
0: Number:9\x{660}
|
||||
Punctuation:\x{66a},;
|
||||
0: Punctuation:\x{66a},;
|
||||
Symbol:\x{6de}<>\x{fffc}
|
||||
0: Symbol:\x{6de}<>\x{fffc}
|
||||
Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
\x{180e}
|
||||
0: \x{180e}
|
||||
\x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
\x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
\x{202f}
|
||||
0: \x{202f}
|
||||
\x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
\x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
\x{feff}
|
||||
0: \x{feff}
|
||||
\x{fff9}\x{fffa}\x{fffb}
|
||||
0: \x{fff9}\x{fffa}\x{fffb}
|
||||
\x{110bd}
|
||||
0: \x{110bd}
|
||||
\x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
\x{e0001}
|
||||
0: \x{e0001}
|
||||
\x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
** Failers
|
||||
0: ** Failers
|
||||
\x{09}
|
||||
No match
|
||||
\x{1D}
|
||||
No match
|
||||
\x{85}
|
||||
No match
|
||||
\x{61c}
|
||||
No match
|
||||
\x{2028}
|
||||
No match
|
||||
\x{2029}
|
||||
No match
|
||||
\x{2065}
|
||||
No match
|
||||
\x{2066}
|
||||
No match
|
||||
\x{2067}
|
||||
No match
|
||||
\x{2068}
|
||||
No match
|
||||
\x{2069}
|
||||
No match
|
||||
\x{e0002}
|
||||
No match
|
||||
\x{e001f}
|
||||
No match
|
||||
\x{e0080}
|
||||
No match
|
||||
|
||||
/^[[:punct:]]+$/8W
|
||||
\$+<=>^`|~
|
||||
0: $+<=>^`|~
|
||||
!\"#%&'()*,-./:;?@[\\]_{}
|
||||
0: !"#%&'()*,-./:;?@[\]_{}
|
||||
\x{a1}\x{a7}
|
||||
0: \x{a1}\x{a7}
|
||||
\x{37e}
|
||||
0: \x{37e}
|
||||
** Failers
|
||||
No match
|
||||
abcde
|
||||
No match
|
||||
|
||||
/^[[:^graph:]]+$/8W
|
||||
\x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{61c}\x{1680}\x{180e}
|
||||
0: \x{09}\x{0a}\x{1d} \x{85}\x{a0}\x{61c}\x{1680}\x{180e}
|
||||
\x{2028}\x{2029}\x{202f}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}
|
||||
0: \x{2028}\x{2029}\x{202f}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}
|
||||
\x{3000}\x{e0002}\x{e001f}\x{e0080}
|
||||
0: \x{3000}\x{e0002}\x{e001f}\x{e0080}
|
||||
** Failers
|
||||
No match
|
||||
Letter:ABC
|
||||
No match
|
||||
Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
No match
|
||||
Number:9\x{660}
|
||||
No match
|
||||
Punctuation:\x{66a},;
|
||||
No match
|
||||
Symbol:\x{6de}<>\x{fffc}
|
||||
No match
|
||||
Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
No match
|
||||
\x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
No match
|
||||
\x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
No match
|
||||
\x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
No match
|
||||
\x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
No match
|
||||
\x{feff}
|
||||
No match
|
||||
\x{fff9}\x{fffa}\x{fffb}
|
||||
No match
|
||||
\x{110bd}
|
||||
No match
|
||||
\x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
No match
|
||||
\x{e0001}
|
||||
No match
|
||||
\x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
No match
|
||||
|
||||
/^[[:^print:]]+$/8W
|
||||
\x{09}\x{1D}\x{85}\x{61c}\x{2028}\x{2029}\x{2065}\x{2066}\x{2067}
|
||||
0: \x{09}\x{1d}\x{85}\x{61c}\x{2028}\x{2029}\x{2065}\x{2066}\x{2067}
|
||||
\x{2068}\x{2069}\x{e0002}\x{e001f}\x{e0080}
|
||||
0: \x{2068}\x{2069}\x{e0002}\x{e001f}\x{e0080}
|
||||
** Failers
|
||||
No match
|
||||
Space: \x{a0}
|
||||
No match
|
||||
\x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
|
||||
No match
|
||||
\x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
|
||||
No match
|
||||
\x{202f}\x{205f}
|
||||
No match
|
||||
\x{3000}
|
||||
No match
|
||||
Letter:ABC
|
||||
No match
|
||||
Mark:\x{300}\x{1d172}\x{1d17b}
|
||||
No match
|
||||
Number:9\x{660}
|
||||
No match
|
||||
Punctuation:\x{66a},;
|
||||
No match
|
||||
Symbol:\x{6de}<>\x{fffc}
|
||||
No match
|
||||
Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
|
||||
No match
|
||||
\x{180e}
|
||||
No match
|
||||
\x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
|
||||
No match
|
||||
\x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
|
||||
No match
|
||||
\x{202f}
|
||||
No match
|
||||
\x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
|
||||
No match
|
||||
\x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
|
||||
No match
|
||||
\x{feff}
|
||||
No match
|
||||
\x{fff9}\x{fffa}\x{fffb}
|
||||
No match
|
||||
\x{110bd}
|
||||
No match
|
||||
\x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
|
||||
No match
|
||||
\x{e0001}
|
||||
No match
|
||||
\x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
|
||||
No match
|
||||
|
||||
/^[[:^punct:]]+$/8W
|
||||
abcde
|
||||
0: abcde
|
||||
** Failers
|
||||
No match
|
||||
\$+<=>^`|~
|
||||
No match
|
||||
!\"#%&'()*,-./:;?@[\\]_{}
|
||||
No match
|
||||
\x{a1}\x{a7}
|
||||
No match
|
||||
\x{37e}
|
||||
No match
|
||||
|
||||
/[RST]+/8iW
|
||||
Ss\x{17f}
|
||||
0: Ss\x{17f}
|
||||
|
||||
/[R-T]+/8iW
|
||||
Ss\x{17f}
|
||||
0: Ss\x{17f}
|
||||
|
||||
/[q-u]+/8iW
|
||||
Ss\x{17f}
|
||||
0: Ss\x{17f}
|
||||
|
||||
/-- End of testinput6 --/
|
||||
|
||||
Vendored
+840
-23
File diff suppressed because it is too large
Load Diff
Vendored
+107
-346
@@ -1,5 +1,8 @@
|
||||
/-- This set of tests check the DFA matching functionality of pcre_dfa_exec().
|
||||
The -dfa flag must be used with pcretest when running it. --/
|
||||
/-- This set of tests check the DFA matching functionality of pcre_dfa_exec(),
|
||||
excluding UTF and Unicode property support. The -dfa flag must be used with
|
||||
pcretest when running it. --/
|
||||
|
||||
< forbid 8W
|
||||
|
||||
/abc/
|
||||
abc
|
||||
@@ -25,7 +28,7 @@ No match
|
||||
ab
|
||||
No match
|
||||
|
||||
/a*/
|
||||
/a*/O
|
||||
a
|
||||
0: a
|
||||
1:
|
||||
@@ -49,7 +52,7 @@ No match
|
||||
16: a
|
||||
17:
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
Matched, but too many subsidiary matches
|
||||
Matched, but offsets vector is too small to show all matches
|
||||
0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
2: aaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -341,7 +344,7 @@ No match
|
||||
axyzq
|
||||
No match
|
||||
|
||||
/[^a]+/
|
||||
/[^a]+/O
|
||||
bac
|
||||
0: b
|
||||
bcdefax
|
||||
@@ -359,7 +362,7 @@ No match
|
||||
aaaaa
|
||||
No match
|
||||
|
||||
/[^a]*/
|
||||
/[^a]*/O
|
||||
bac
|
||||
0: b
|
||||
1:
|
||||
@@ -380,7 +383,7 @@ No match
|
||||
aaaaa
|
||||
0:
|
||||
|
||||
/[^a]{3,5}/
|
||||
/[^a]{3,5}/O
|
||||
xyz
|
||||
0: xyz
|
||||
awxyza
|
||||
@@ -408,29 +411,18 @@ No match
|
||||
/\d*/
|
||||
1234b567
|
||||
0: 1234
|
||||
1: 123
|
||||
2: 12
|
||||
3: 1
|
||||
4:
|
||||
xyz
|
||||
0:
|
||||
|
||||
/\D*/
|
||||
a1234b567
|
||||
0: a
|
||||
1:
|
||||
xyz
|
||||
0: xyz
|
||||
1: xy
|
||||
2: x
|
||||
3:
|
||||
|
||||
/\d+/
|
||||
ab1234c56
|
||||
0: 1234
|
||||
1: 123
|
||||
2: 12
|
||||
3: 1
|
||||
*** Failers
|
||||
No match
|
||||
xyz
|
||||
@@ -439,19 +431,8 @@ No match
|
||||
/\D+/
|
||||
ab123c56
|
||||
0: ab
|
||||
1: a
|
||||
*** Failers
|
||||
0: *** Failers
|
||||
1: *** Failer
|
||||
2: *** Faile
|
||||
3: *** Fail
|
||||
4: *** Fai
|
||||
5: *** Fa
|
||||
6: *** F
|
||||
7: ***
|
||||
8: ***
|
||||
9: **
|
||||
10: *
|
||||
789
|
||||
No match
|
||||
|
||||
@@ -478,9 +459,6 @@ No match
|
||||
/a+/
|
||||
aaaa
|
||||
0: aaaa
|
||||
1: aaa
|
||||
2: aa
|
||||
3: a
|
||||
|
||||
/^.*xyz/
|
||||
xyz
|
||||
@@ -886,9 +864,6 @@ No match
|
||||
0:
|
||||
aaabcd
|
||||
0: aaa
|
||||
1: aa
|
||||
2: a
|
||||
3:
|
||||
xyz
|
||||
0: xyz
|
||||
1:
|
||||
@@ -985,7 +960,7 @@ Partial match: abc
|
||||
xyzfo\P
|
||||
No match
|
||||
foob\P\>2
|
||||
Partial match: foob
|
||||
Partial match at offset 3: foob
|
||||
foobar...\R\P\>4
|
||||
0: ar
|
||||
xyzfo\P
|
||||
@@ -1577,18 +1552,6 @@ No match
|
||||
/^[.^$|()*+?{,}]+/
|
||||
.^\$(*+)|{?,?}
|
||||
0: .^$(*+)|{?,?}
|
||||
1: .^$(*+)|{?,?
|
||||
2: .^$(*+)|{?,
|
||||
3: .^$(*+)|{?
|
||||
4: .^$(*+)|{
|
||||
5: .^$(*+)|
|
||||
6: .^$(*+)
|
||||
7: .^$(*+
|
||||
8: .^$(*
|
||||
9: .^$(
|
||||
10: .^$
|
||||
11: .^
|
||||
12: .
|
||||
|
||||
/^a*\w/
|
||||
z
|
||||
@@ -1744,38 +1707,16 @@ No match
|
||||
/foo(?!bar)(.*)/
|
||||
foobar is foolish see?
|
||||
0: foolish see?
|
||||
1: foolish see
|
||||
2: foolish se
|
||||
3: foolish s
|
||||
4: foolish
|
||||
5: foolish
|
||||
6: foolis
|
||||
7: fooli
|
||||
8: fool
|
||||
9: foo
|
||||
|
||||
/(?:(?!foo)...|^.{0,2})bar(.*)/
|
||||
foobar crowbar etc
|
||||
0: rowbar etc
|
||||
1: rowbar et
|
||||
2: rowbar e
|
||||
3: rowbar
|
||||
4: rowbar
|
||||
barrel
|
||||
0: barrel
|
||||
1: barre
|
||||
2: barr
|
||||
3: bar
|
||||
2barrel
|
||||
0: 2barrel
|
||||
1: 2barre
|
||||
2: 2barr
|
||||
3: 2bar
|
||||
A barrel
|
||||
0: A barrel
|
||||
1: A barre
|
||||
2: A barr
|
||||
3: A bar
|
||||
|
||||
/^(\D*)(?=\d)(?!123)/
|
||||
abc456
|
||||
@@ -1820,7 +1761,7 @@ No match
|
||||
the abc
|
||||
No match
|
||||
|
||||
/^[ab]{1,3}(ab*|b)/
|
||||
/^[ab]{1,3}(ab*|b)/O
|
||||
aabbbbb
|
||||
0: aabbbbb
|
||||
1: aabbbb
|
||||
@@ -1829,7 +1770,7 @@ No match
|
||||
4: aab
|
||||
5: aa
|
||||
|
||||
/^[ab]{1,3}?(ab*|b)/
|
||||
/^[ab]{1,3}?(ab*|b)/O
|
||||
aabbbbb
|
||||
0: aabbbbb
|
||||
1: aabbbb
|
||||
@@ -1838,7 +1779,7 @@ No match
|
||||
4: aab
|
||||
5: aa
|
||||
|
||||
/^[ab]{1,3}?(ab*?|b)/
|
||||
/^[ab]{1,3}?(ab*?|b)/O
|
||||
aabbbbb
|
||||
0: aabbbbb
|
||||
1: aabbbb
|
||||
@@ -1847,7 +1788,7 @@ No match
|
||||
4: aab
|
||||
5: aa
|
||||
|
||||
/^[ab]{1,3}(ab*?|b)/
|
||||
/^[ab]{1,3}(ab*?|b)/O
|
||||
aabbbbb
|
||||
0: aabbbbb
|
||||
1: aabbbb
|
||||
@@ -2705,10 +2646,6 @@ No match
|
||||
/\0*/
|
||||
\0\0\0\0
|
||||
0: \x00\x00\x00\x00
|
||||
1: \x00\x00\x00
|
||||
2: \x00\x00
|
||||
3: \x00
|
||||
4:
|
||||
|
||||
/A\x0{2,3}Z/
|
||||
The A\x0\x0Z
|
||||
@@ -2760,56 +2697,14 @@ No match
|
||||
/([^.]*)\.([^:]*):[T ]+(.*)/
|
||||
track1.title:TBlah blah blah
|
||||
0: track1.title:TBlah blah blah
|
||||
1: track1.title:TBlah blah bla
|
||||
2: track1.title:TBlah blah bl
|
||||
3: track1.title:TBlah blah b
|
||||
4: track1.title:TBlah blah
|
||||
5: track1.title:TBlah blah
|
||||
6: track1.title:TBlah bla
|
||||
7: track1.title:TBlah bl
|
||||
8: track1.title:TBlah b
|
||||
9: track1.title:TBlah
|
||||
10: track1.title:TBlah
|
||||
11: track1.title:TBla
|
||||
12: track1.title:TBl
|
||||
13: track1.title:TB
|
||||
14: track1.title:T
|
||||
|
||||
/([^.]*)\.([^:]*):[T ]+(.*)/i
|
||||
track1.title:TBlah blah blah
|
||||
0: track1.title:TBlah blah blah
|
||||
1: track1.title:TBlah blah bla
|
||||
2: track1.title:TBlah blah bl
|
||||
3: track1.title:TBlah blah b
|
||||
4: track1.title:TBlah blah
|
||||
5: track1.title:TBlah blah
|
||||
6: track1.title:TBlah bla
|
||||
7: track1.title:TBlah bl
|
||||
8: track1.title:TBlah b
|
||||
9: track1.title:TBlah
|
||||
10: track1.title:TBlah
|
||||
11: track1.title:TBla
|
||||
12: track1.title:TBl
|
||||
13: track1.title:TB
|
||||
14: track1.title:T
|
||||
|
||||
/([^.]*)\.([^:]*):[t ]+(.*)/i
|
||||
track1.title:TBlah blah blah
|
||||
0: track1.title:TBlah blah blah
|
||||
1: track1.title:TBlah blah bla
|
||||
2: track1.title:TBlah blah bl
|
||||
3: track1.title:TBlah blah b
|
||||
4: track1.title:TBlah blah
|
||||
5: track1.title:TBlah blah
|
||||
6: track1.title:TBlah bla
|
||||
7: track1.title:TBlah bl
|
||||
8: track1.title:TBlah b
|
||||
9: track1.title:TBlah
|
||||
10: track1.title:TBlah
|
||||
11: track1.title:TBla
|
||||
12: track1.title:TBl
|
||||
13: track1.title:TB
|
||||
14: track1.title:T
|
||||
|
||||
/^[W-c]+$/
|
||||
WXY_^abc
|
||||
@@ -2882,13 +2777,10 @@ No match
|
||||
0: b
|
||||
c::b
|
||||
0: ::
|
||||
1: :
|
||||
|
||||
/[-az]+/
|
||||
az-
|
||||
0: az-
|
||||
1: az
|
||||
2: a
|
||||
*** Failers
|
||||
0: a
|
||||
b
|
||||
@@ -2897,8 +2789,6 @@ No match
|
||||
/[az-]+/
|
||||
za-
|
||||
0: za-
|
||||
1: za
|
||||
2: z
|
||||
*** Failers
|
||||
0: a
|
||||
b
|
||||
@@ -2907,8 +2797,6 @@ No match
|
||||
/[a\-z]+/
|
||||
a-z
|
||||
0: a-z
|
||||
1: a-
|
||||
2: a
|
||||
*** Failers
|
||||
0: a
|
||||
b
|
||||
@@ -2917,20 +2805,10 @@ No match
|
||||
/[a-z]+/
|
||||
abcdxyz
|
||||
0: abcdxyz
|
||||
1: abcdxy
|
||||
2: abcdx
|
||||
3: abcd
|
||||
4: abc
|
||||
5: ab
|
||||
6: a
|
||||
|
||||
/[\d-]+/
|
||||
12-34
|
||||
0: 12-34
|
||||
1: 12-3
|
||||
2: 12-
|
||||
3: 12
|
||||
4: 1
|
||||
*** Failers
|
||||
No match
|
||||
aaa
|
||||
@@ -2939,11 +2817,6 @@ No match
|
||||
/[\d-z]+/
|
||||
12-34z
|
||||
0: 12-34z
|
||||
1: 12-34
|
||||
2: 12-3
|
||||
3: 12-
|
||||
4: 12
|
||||
5: 1
|
||||
*** Failers
|
||||
No match
|
||||
aaa
|
||||
@@ -3027,18 +2900,22 @@ No match
|
||||
abc\100\60
|
||||
0: abc@0
|
||||
|
||||
/abc\81/
|
||||
abc\081
|
||||
0: abc\x0081
|
||||
abc\0\x38\x31
|
||||
0: abc\x0081
|
||||
|
||||
/abc\91/
|
||||
abc\091
|
||||
0: abc\x0091
|
||||
abc\0\x39\x31
|
||||
0: abc\x0091
|
||||
|
||||
/^A\8B\9C$/
|
||||
A8B9C
|
||||
0: A8B9C
|
||||
*** Failers
|
||||
No match
|
||||
A\08B\09C
|
||||
No match
|
||||
|
||||
/^[A\8B\9C]+$/
|
||||
A8B9C
|
||||
0: A8B9C
|
||||
*** Failers
|
||||
No match
|
||||
A8B9C\x00
|
||||
No match
|
||||
|
||||
/(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\12\123/
|
||||
abcdefghijk\12S
|
||||
0: abcdefghijk\x0aS
|
||||
@@ -3077,16 +2954,13 @@ No match
|
||||
1: baNOTccc
|
||||
2: baNOTcc
|
||||
3: baNOTc
|
||||
4: baNOT
|
||||
baNOTcccd
|
||||
0: baNOTccc
|
||||
1: baNOTcc
|
||||
2: baNOTc
|
||||
3: baNOT
|
||||
baNOTccd
|
||||
0: baNOTcc
|
||||
1: baNOTc
|
||||
2: baNOT
|
||||
bacccd
|
||||
0: baccc
|
||||
*** Failers
|
||||
@@ -3096,7 +2970,6 @@ No match
|
||||
3: *** Fail
|
||||
4: *** Fai
|
||||
5: *** Fa
|
||||
6: *** F
|
||||
anything
|
||||
No match
|
||||
b\bc
|
||||
@@ -3115,23 +2988,14 @@ No match
|
||||
/[^a]+/
|
||||
AAAaAbc
|
||||
0: AAA
|
||||
1: AA
|
||||
2: A
|
||||
|
||||
/[^a]+/i
|
||||
AAAaAbc
|
||||
0: bc
|
||||
1: b
|
||||
|
||||
/[^a]+/
|
||||
bbb\nccc
|
||||
0: bbb\x0accc
|
||||
1: bbb\x0acc
|
||||
2: bbb\x0ac
|
||||
3: bbb\x0a
|
||||
4: bbb
|
||||
5: bb
|
||||
6: b
|
||||
|
||||
/[^k]$/
|
||||
abc
|
||||
@@ -3208,20 +3072,8 @@ No match
|
||||
/(\.\d\d[1-9]?)\d+/
|
||||
1.230003938
|
||||
0: .230003938
|
||||
1: .23000393
|
||||
2: .2300039
|
||||
3: .230003
|
||||
4: .23000
|
||||
5: .2300
|
||||
6: .230
|
||||
1.875000282
|
||||
0: .875000282
|
||||
1: .87500028
|
||||
2: .8750002
|
||||
3: .875000
|
||||
4: .87500
|
||||
5: .8750
|
||||
6: .875
|
||||
1.235
|
||||
0: .235
|
||||
|
||||
@@ -3243,10 +3095,6 @@ No match
|
||||
/\b(foo)\s+(\w+)/i
|
||||
Food is on the foo table
|
||||
0: foo table
|
||||
1: foo tabl
|
||||
2: foo tab
|
||||
3: foo ta
|
||||
4: foo t
|
||||
|
||||
/foo(.*)bar/
|
||||
The food is under the bar in the barn.
|
||||
@@ -3258,9 +3106,9 @@ No match
|
||||
0: food is under the bar in the bar
|
||||
1: food is under the bar
|
||||
|
||||
/(.*)(\d*)/
|
||||
/(.*)(\d*)/O
|
||||
I have 2 numbers: 53147
|
||||
Matched, but too many subsidiary matches
|
||||
Matched, but offsets vector is too small to show all matches
|
||||
0: I have 2 numbers: 53147
|
||||
1: I have 2 numbers: 5314
|
||||
2: I have 2 numbers: 531
|
||||
@@ -3287,15 +3135,11 @@ Matched, but too many subsidiary matches
|
||||
/(.*)(\d+)/
|
||||
I have 2 numbers: 53147
|
||||
0: I have 2 numbers: 53147
|
||||
1: I have 2 numbers: 5314
|
||||
2: I have 2 numbers: 531
|
||||
3: I have 2 numbers: 53
|
||||
4: I have 2 numbers: 5
|
||||
5: I have 2
|
||||
1: I have 2
|
||||
|
||||
/(.*?)(\d*)/
|
||||
/(.*?)(\d*)/O
|
||||
I have 2 numbers: 53147
|
||||
Matched, but too many subsidiary matches
|
||||
Matched, but offsets vector is too small to show all matches
|
||||
0: I have 2 numbers: 53147
|
||||
1: I have 2 numbers: 5314
|
||||
2: I have 2 numbers: 531
|
||||
@@ -3322,11 +3166,7 @@ Matched, but too many subsidiary matches
|
||||
/(.*?)(\d+)/
|
||||
I have 2 numbers: 53147
|
||||
0: I have 2 numbers: 53147
|
||||
1: I have 2 numbers: 5314
|
||||
2: I have 2 numbers: 531
|
||||
3: I have 2 numbers: 53
|
||||
4: I have 2 numbers: 5
|
||||
5: I have 2
|
||||
1: I have 2
|
||||
|
||||
/(.*)(\d+)$/
|
||||
I have 2 numbers: 53147
|
||||
@@ -3738,13 +3578,8 @@ No match
|
||||
0: a
|
||||
ab
|
||||
0: ab
|
||||
1: a
|
||||
abbbb
|
||||
0: abbbb
|
||||
1: abbb
|
||||
2: abb
|
||||
3: ab
|
||||
4: a
|
||||
*** Failers
|
||||
0: a
|
||||
bbbbb
|
||||
@@ -3930,19 +3765,8 @@ No match
|
||||
/(?>(\.\d\d[1-9]?))\d+/
|
||||
1.230003938
|
||||
0: .230003938
|
||||
1: .23000393
|
||||
2: .2300039
|
||||
3: .230003
|
||||
4: .23000
|
||||
5: .2300
|
||||
6: .230
|
||||
1.875000282
|
||||
0: .875000282
|
||||
1: .87500028
|
||||
2: .8750002
|
||||
3: .875000
|
||||
4: .87500
|
||||
5: .8750
|
||||
*** Failers
|
||||
No match
|
||||
1.235
|
||||
@@ -4561,7 +4385,6 @@ No match
|
||||
/.{3,4}/
|
||||
abbbbc
|
||||
0: abbb
|
||||
1: abb
|
||||
|
||||
/ab{0,}bc/
|
||||
abbbbc
|
||||
@@ -4929,9 +4752,6 @@ No match
|
||||
/[^ab]*/
|
||||
cde
|
||||
0: cde
|
||||
1: cd
|
||||
2: c
|
||||
3:
|
||||
|
||||
/abc/
|
||||
*** Failers
|
||||
@@ -4966,7 +4786,6 @@ No match
|
||||
/ab*/
|
||||
xabyabbbz
|
||||
0: ab
|
||||
1: a
|
||||
xayabbbz
|
||||
0: a
|
||||
|
||||
@@ -4995,8 +4814,7 @@ No match
|
||||
/a([bc]*)c*/
|
||||
abc
|
||||
0: abc
|
||||
1: ab
|
||||
2: a
|
||||
1: a
|
||||
|
||||
/a([bc]*)(c*d)/
|
||||
abcd
|
||||
@@ -5033,10 +4851,6 @@ No match
|
||||
/[a-zA-Z_][a-zA-Z0-9_]*/
|
||||
alpha
|
||||
0: alpha
|
||||
1: alph
|
||||
2: alp
|
||||
3: al
|
||||
4: a
|
||||
|
||||
/^a(bc+|b[eh])g|.h$/
|
||||
abh
|
||||
@@ -5079,8 +4893,6 @@ No match
|
||||
/(.*)c(.*)/
|
||||
abcde
|
||||
0: abcde
|
||||
1: abcd
|
||||
2: abc
|
||||
|
||||
/\((.*), (.*)\)/
|
||||
(a, b)
|
||||
@@ -5395,9 +5207,6 @@ No match
|
||||
/[^ab]*/i
|
||||
CDE
|
||||
0: CDE
|
||||
1: CD
|
||||
2: C
|
||||
3:
|
||||
|
||||
/abc/i
|
||||
|
||||
@@ -5427,7 +5236,6 @@ No match
|
||||
/ab*/i
|
||||
XABYABBBZ
|
||||
0: AB
|
||||
1: A
|
||||
XAYABBBZ
|
||||
0: A
|
||||
|
||||
@@ -5458,8 +5266,7 @@ No match
|
||||
/a([bc]*)c*/i
|
||||
ABC
|
||||
0: ABC
|
||||
1: AB
|
||||
2: A
|
||||
1: A
|
||||
|
||||
/a([bc]*)(c*d)/i
|
||||
ABCD
|
||||
@@ -5490,10 +5297,6 @@ No match
|
||||
/[a-zA-Z_][a-zA-Z0-9_]*/i
|
||||
ALPHA
|
||||
0: ALPHA
|
||||
1: ALPH
|
||||
2: ALP
|
||||
3: AL
|
||||
4: A
|
||||
|
||||
/^a(bc+|b[eh])g|.h$/i
|
||||
ABH
|
||||
@@ -5546,8 +5349,6 @@ No match
|
||||
/(.*)c(.*)/i
|
||||
ABCDE
|
||||
0: ABCDE
|
||||
1: ABCD
|
||||
2: ABC
|
||||
|
||||
/\((.*), (.*)\)/i
|
||||
(A, B)
|
||||
@@ -6052,17 +5853,14 @@ No match
|
||||
/([[:]+)/
|
||||
a:[b]:
|
||||
0: :[
|
||||
1: :
|
||||
|
||||
/([[=]+)/
|
||||
a=[b]=
|
||||
0: =[
|
||||
1: =
|
||||
|
||||
/([[.]+)/
|
||||
a.[b].
|
||||
0: .[
|
||||
1: .
|
||||
|
||||
/((?>a+)b)/
|
||||
aaab
|
||||
@@ -6196,26 +5994,12 @@ No match
|
||||
/a*/g
|
||||
abbab
|
||||
0: a
|
||||
1:
|
||||
0:
|
||||
0:
|
||||
0: a
|
||||
1:
|
||||
0:
|
||||
0:
|
||||
|
||||
/^[a-\d]/
|
||||
abcde
|
||||
0: a
|
||||
-things
|
||||
0: -
|
||||
0digit
|
||||
0: 0
|
||||
*** Failers
|
||||
No match
|
||||
bcdef
|
||||
No match
|
||||
|
||||
/^[\d-a]/
|
||||
abcde
|
||||
0: a
|
||||
@@ -6231,36 +6015,22 @@ No match
|
||||
/[[:space:]]+/
|
||||
> \x09\x0a\x0c\x0d\x0b<
|
||||
0: \x09\x0a\x0c\x0d\x0b
|
||||
1: \x09\x0a\x0c\x0d
|
||||
2: \x09\x0a\x0c
|
||||
3: \x09\x0a
|
||||
4: \x09
|
||||
5:
|
||||
|
||||
/[[:blank:]]+/
|
||||
> \x09\x0a\x0c\x0d\x0b<
|
||||
0: \x09
|
||||
1:
|
||||
|
||||
/[\s]+/
|
||||
> \x09\x0a\x0c\x0d\x0b<
|
||||
0: \x09\x0a\x0c\x0d
|
||||
1: \x09\x0a\x0c
|
||||
2: \x09\x0a
|
||||
3: \x09
|
||||
4:
|
||||
0: \x09\x0a\x0c\x0d\x0b
|
||||
|
||||
/\s+/
|
||||
> \x09\x0a\x0c\x0d\x0b<
|
||||
0: \x09\x0a\x0c\x0d
|
||||
1: \x09\x0a\x0c
|
||||
2: \x09\x0a
|
||||
3: \x09
|
||||
4:
|
||||
0: \x09\x0a\x0c\x0d\x0b
|
||||
|
||||
/ab/x
|
||||
ab
|
||||
No match
|
||||
0: ab
|
||||
|
||||
/(?!\A)x/m
|
||||
a\nxb\n
|
||||
@@ -6563,8 +6333,6 @@ Partial match: 123
|
||||
/Content-Type\x3A[^\r\n]{6,}/
|
||||
Content-Type:xxxxxyyy
|
||||
0: Content-Type:xxxxxyyy
|
||||
1: Content-Type:xxxxxyy
|
||||
2: Content-Type:xxxxxy
|
||||
|
||||
/Content-Type\x3A[^\r\n]{6,}z/
|
||||
Content-Type:xxxxxyyyz
|
||||
@@ -6661,66 +6429,22 @@ No match
|
||||
/.*/<lf>
|
||||
abc\ndef
|
||||
0: abc
|
||||
1: ab
|
||||
2: a
|
||||
3:
|
||||
abc\rdef
|
||||
0: abc\x0ddef
|
||||
1: abc\x0dde
|
||||
2: abc\x0dd
|
||||
3: abc\x0d
|
||||
4: abc
|
||||
5: ab
|
||||
6: a
|
||||
7:
|
||||
abc\r\ndef
|
||||
0: abc\x0d
|
||||
1: abc
|
||||
2: ab
|
||||
3: a
|
||||
4:
|
||||
\<cr>abc\ndef
|
||||
0: abc\x0adef
|
||||
1: abc\x0ade
|
||||
2: abc\x0ad
|
||||
3: abc\x0a
|
||||
4: abc
|
||||
5: ab
|
||||
6: a
|
||||
7:
|
||||
\<cr>abc\rdef
|
||||
0: abc
|
||||
1: ab
|
||||
2: a
|
||||
3:
|
||||
\<cr>abc\r\ndef
|
||||
0: abc
|
||||
1: ab
|
||||
2: a
|
||||
3:
|
||||
\<crlf>abc\ndef
|
||||
0: abc\x0adef
|
||||
1: abc\x0ade
|
||||
2: abc\x0ad
|
||||
3: abc\x0a
|
||||
4: abc
|
||||
5: ab
|
||||
6: a
|
||||
7:
|
||||
\<crlf>abc\rdef
|
||||
0: abc\x0ddef
|
||||
1: abc\x0dde
|
||||
2: abc\x0dd
|
||||
3: abc\x0d
|
||||
4: abc
|
||||
5: ab
|
||||
6: a
|
||||
7:
|
||||
\<crlf>abc\r\ndef
|
||||
0: abc
|
||||
1: ab
|
||||
2: a
|
||||
3:
|
||||
|
||||
/\w+(.)(.)?def/s
|
||||
abc\ndef
|
||||
@@ -7033,10 +6757,8 @@ No match
|
||||
/\H*\h+\V?\v{3,4}/
|
||||
\x09\x20\xa0X\x0a\x0b\x0c\x0d\x0a
|
||||
0: \x09 \xa0X\x0a\x0b\x0c\x0d
|
||||
1: \x09 \xa0X\x0a\x0b\x0c
|
||||
\x09\x20\xa0\x0a\x0b\x0c\x0d\x0a
|
||||
0: \x09 \xa0\x0a\x0b\x0c\x0d
|
||||
1: \x09 \xa0\x0a\x0b\x0c
|
||||
\x09\x20\xa0\x0a\x0b\x0c
|
||||
0: \x09 \xa0\x0a\x0b\x0c
|
||||
** Failers
|
||||
@@ -7047,7 +6769,6 @@ No match
|
||||
/\H{3,4}/
|
||||
XY ABCDE
|
||||
0: ABCD
|
||||
1: ABC
|
||||
XY PQR ST
|
||||
0: PQR
|
||||
|
||||
@@ -7466,17 +7187,17 @@ Error -16 (item unsupported for DFA matching)
|
||||
xyzabc123pqr
|
||||
0: 123
|
||||
xyzabc12\P
|
||||
Partial match: abc12
|
||||
Partial match at offset 6: abc12
|
||||
xyzabc12\P\P
|
||||
Partial match: abc12
|
||||
Partial match at offset 6: abc12
|
||||
|
||||
/\babc\b/
|
||||
+++abc+++
|
||||
0: abc
|
||||
+++ab\P
|
||||
Partial match: +ab
|
||||
Partial match at offset 3: +ab
|
||||
+++ab\P\P
|
||||
Partial match: +ab
|
||||
Partial match at offset 3: +ab
|
||||
|
||||
/(?=C)/g+
|
||||
ABCDECBA
|
||||
@@ -7511,7 +7232,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 3
|
||||
Starting byte set: a d x
|
||||
Starting chars: a d x
|
||||
terhjk;abcdaadsfe
|
||||
0: abc
|
||||
the quick xyz brown fox
|
||||
@@ -7531,15 +7252,11 @@ No match
|
||||
xxxxabcd\P
|
||||
0: abcd
|
||||
0+
|
||||
1: abc
|
||||
xxxxabcd\P\P
|
||||
Partial match: abcd
|
||||
dddxxx\R
|
||||
0: ddd
|
||||
0+ xxx
|
||||
1: dd
|
||||
2: d
|
||||
3:
|
||||
xxxxabcd\P\P
|
||||
Partial match: abcd
|
||||
xxx\R
|
||||
@@ -7549,27 +7266,22 @@ Partial match: abcd
|
||||
/abcd*/i
|
||||
xxxxabcd\P
|
||||
0: abcd
|
||||
1: abc
|
||||
xxxxabcd\P\P
|
||||
Partial match: abcd
|
||||
XXXXABCD\P
|
||||
0: ABCD
|
||||
1: ABC
|
||||
XXXXABCD\P\P
|
||||
Partial match: ABCD
|
||||
|
||||
/abc\d*/
|
||||
xxxxabc1\P
|
||||
0: abc1
|
||||
1: abc
|
||||
xxxxabc1\P\P
|
||||
Partial match: abc1
|
||||
|
||||
/abc[de]*/
|
||||
xxxxabcde\P
|
||||
0: abcde
|
||||
1: abcd
|
||||
2: abc
|
||||
xxxxabcde\P\P
|
||||
Partial match: abcde
|
||||
|
||||
@@ -7625,7 +7337,7 @@ Error -16 (item unsupported for DFA matching)
|
||||
|
||||
/(?<=abc)def/
|
||||
abc\P\P
|
||||
Partial match: abc
|
||||
Partial match at offset 3: abc
|
||||
|
||||
/abc$/
|
||||
abc
|
||||
@@ -7684,11 +7396,8 @@ Partial match: abc
|
||||
/.+/
|
||||
abc\>0
|
||||
0: abc
|
||||
1: ab
|
||||
2: a
|
||||
abc\>1
|
||||
0: bc
|
||||
1: b
|
||||
abc\>2
|
||||
0: c
|
||||
abc\>3
|
||||
@@ -7811,10 +7520,6 @@ No match
|
||||
/^(?!a){0}\w+/
|
||||
aaaaa
|
||||
0: aaaaa
|
||||
1: aaaa
|
||||
2: aaa
|
||||
3: aa
|
||||
4: a
|
||||
|
||||
/(?<=(abc))?xyz/
|
||||
abcxyz
|
||||
@@ -7846,9 +7551,9 @@ Error -17 (backreference condition or recursion test not supported for DFA match
|
||||
aaaabcde
|
||||
Error -26 (nested recursion at the same subject position)
|
||||
|
||||
/(a+)/
|
||||
/(a+)/O
|
||||
\O6aaaa
|
||||
Matched, but too many subsidiary matches
|
||||
Matched, but offsets vector is too small to show all matches
|
||||
0: aaaa
|
||||
1: aaa
|
||||
2: aa
|
||||
@@ -7971,7 +7676,6 @@ Partial match: \x0d
|
||||
Partial match: \x0d\x0d
|
||||
\r\r\r\P
|
||||
0: \x0d\x0d\x0d
|
||||
1: \x0d\x0d
|
||||
\r\r\r\P\P
|
||||
Partial match: \x0d\x0d\x0d
|
||||
|
||||
@@ -8016,4 +7720,61 @@ Error -30 (invalid data in workspace for DFA restart)
|
||||
0: xx\xa0xxxxxabcd
|
||||
1: xx\xa0xxxxxabc
|
||||
|
||||
/abcd/
|
||||
abcd\O0
|
||||
Matched, but offsets vector is too small to show all matches
|
||||
|
||||
/-- These tests show up auto-possessification --/
|
||||
|
||||
/[ab]*/
|
||||
aaaa
|
||||
0: aaaa
|
||||
|
||||
/[ab]*?/
|
||||
aaaa
|
||||
0: aaaa
|
||||
1: aaa
|
||||
2: aa
|
||||
3: a
|
||||
4:
|
||||
|
||||
/[ab]?/
|
||||
aaaa
|
||||
0: a
|
||||
|
||||
/[ab]??/
|
||||
aaaa
|
||||
0: a
|
||||
1:
|
||||
|
||||
/[ab]+/
|
||||
aaaa
|
||||
0: aaaa
|
||||
|
||||
/[ab]+?/
|
||||
aaaa
|
||||
0: aaaa
|
||||
1: aaa
|
||||
2: aa
|
||||
3: a
|
||||
|
||||
/[ab]{2,3}/
|
||||
aaaa
|
||||
0: aaa
|
||||
|
||||
/[ab]{2,3}?/
|
||||
aaaa
|
||||
0: aaa
|
||||
1: aa
|
||||
|
||||
/[ab]{2,}/
|
||||
aaaa
|
||||
0: aaaa
|
||||
|
||||
/[ab]{2,}?/
|
||||
aaaa
|
||||
0: aaaa
|
||||
1: aaa
|
||||
2: aa
|
||||
|
||||
/-- End of testinput8 --/
|
||||
|
||||
Vendored
+15
-99
@@ -1,6 +1,8 @@
|
||||
/-- This set of tests checks UTF-8 support with the DFA matching functionality
|
||||
of pcre_dfa_exec(). The -dfa flag must be used with pcretest when running
|
||||
it. --/
|
||||
of pcre_dfa_exec(), excluding Unicode property support. The -dfa flag must
|
||||
be used with pcretest when running it. --/
|
||||
|
||||
< forbid W
|
||||
|
||||
/\x{100}ab/8
|
||||
\x{100}ab
|
||||
@@ -313,13 +315,9 @@ No match
|
||||
/[^a]+/8g
|
||||
bcd
|
||||
0: bcd
|
||||
1: bc
|
||||
2: b
|
||||
\x{100}aY\x{256}Z
|
||||
0: \x{100}
|
||||
0: Y\x{256}Z
|
||||
1: Y\x{256}
|
||||
2: Y
|
||||
|
||||
/^[^a]{2}/8
|
||||
\x{100}bc
|
||||
@@ -328,8 +326,6 @@ No match
|
||||
/^[^a]{2,}/8
|
||||
\x{100}bcAa
|
||||
0: \x{100}bcA
|
||||
1: \x{100}bc
|
||||
2: \x{100}b
|
||||
|
||||
/^[^a]{2,}?/8
|
||||
\x{100}bca
|
||||
@@ -339,13 +335,9 @@ No match
|
||||
/[^a]+/8ig
|
||||
bcd
|
||||
0: bcd
|
||||
1: bc
|
||||
2: b
|
||||
\x{100}aY\x{256}Z
|
||||
0: \x{100}
|
||||
0: Y\x{256}Z
|
||||
1: Y\x{256}
|
||||
2: Y
|
||||
|
||||
/^[^a]{2}/8i
|
||||
\x{100}bc
|
||||
@@ -354,7 +346,6 @@ No match
|
||||
/^[^a]{2,}/8i
|
||||
\x{100}bcAa
|
||||
0: \x{100}bc
|
||||
1: \x{100}b
|
||||
|
||||
/^[^a]{2,}?/8i
|
||||
\x{100}bca
|
||||
@@ -370,28 +361,18 @@ No match
|
||||
0:
|
||||
\x{100}\x{100}
|
||||
0: \x{100}
|
||||
1:
|
||||
|
||||
/\x{100}{0,3}/8
|
||||
\x{100}\x{100}
|
||||
0: \x{100}\x{100}
|
||||
1: \x{100}
|
||||
2:
|
||||
\x{100}\x{100}\x{100}\x{100}
|
||||
0: \x{100}\x{100}\x{100}
|
||||
1: \x{100}\x{100}
|
||||
2: \x{100}
|
||||
3:
|
||||
|
||||
/\x{100}*/8
|
||||
abce
|
||||
0:
|
||||
\x{100}\x{100}\x{100}\x{100}
|
||||
0: \x{100}\x{100}\x{100}\x{100}
|
||||
1: \x{100}\x{100}\x{100}
|
||||
2: \x{100}\x{100}
|
||||
3: \x{100}
|
||||
4:
|
||||
|
||||
/\x{100}{1,1}/8
|
||||
abcd\x{100}\x{100}\x{100}\x{100}
|
||||
@@ -400,15 +381,10 @@ No match
|
||||
/\x{100}{1,3}/8
|
||||
abcd\x{100}\x{100}\x{100}\x{100}
|
||||
0: \x{100}\x{100}\x{100}
|
||||
1: \x{100}\x{100}
|
||||
2: \x{100}
|
||||
|
||||
/\x{100}+/8
|
||||
abcd\x{100}\x{100}\x{100}\x{100}
|
||||
0: \x{100}\x{100}\x{100}\x{100}
|
||||
1: \x{100}\x{100}\x{100}
|
||||
2: \x{100}\x{100}
|
||||
3: \x{100}
|
||||
|
||||
/\x{100}{3}/8
|
||||
abcd\x{100}\x{100}\x{100}XX
|
||||
@@ -417,10 +393,8 @@ No match
|
||||
/\x{100}{3,5}/8
|
||||
abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
|
||||
0: \x{100}\x{100}\x{100}\x{100}\x{100}
|
||||
1: \x{100}\x{100}\x{100}\x{100}
|
||||
2: \x{100}\x{100}\x{100}
|
||||
|
||||
/\x{100}{3,}/8
|
||||
/\x{100}{3,}/8O
|
||||
abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
|
||||
0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
|
||||
1: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
|
||||
@@ -432,9 +406,9 @@ No match
|
||||
Xyyya\x{100}\x{100}bXzzz
|
||||
0: X
|
||||
|
||||
/\D*/8
|
||||
/\D*/8O
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
Matched, but too many subsidiary matches
|
||||
Matched, but offsets vector is too small to show all matches
|
||||
0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
@@ -458,9 +432,9 @@ Matched, but too many subsidiary matches
|
||||
20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
|
||||
/\D*/8
|
||||
/\D*/8O
|
||||
\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
|
||||
Matched, but too many subsidiary matches
|
||||
Matched, but offsets vector is too small to show all matches
|
||||
0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
|
||||
1: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
|
||||
2: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
|
||||
@@ -507,33 +481,18 @@ Matched, but too many subsidiary matches
|
||||
/\D+/8
|
||||
12abcd34
|
||||
0: abcd
|
||||
1: abc
|
||||
2: ab
|
||||
3: a
|
||||
*** Failers
|
||||
0: *** Failers
|
||||
1: *** Failer
|
||||
2: *** Faile
|
||||
3: *** Fail
|
||||
4: *** Fai
|
||||
5: *** Fa
|
||||
6: *** F
|
||||
7: ***
|
||||
8: ***
|
||||
9: **
|
||||
10: *
|
||||
1234
|
||||
No match
|
||||
|
||||
/\D{2,3}/8
|
||||
12abcd34
|
||||
0: abc
|
||||
1: ab
|
||||
12ab34
|
||||
0: ab
|
||||
*** Failers
|
||||
0: ***
|
||||
1: **
|
||||
1234
|
||||
No match
|
||||
12a34
|
||||
@@ -556,7 +515,6 @@ No match
|
||||
/\d+/8
|
||||
12abcd34
|
||||
0: 12
|
||||
1: 1
|
||||
*** Failers
|
||||
No match
|
||||
|
||||
@@ -565,7 +523,6 @@ No match
|
||||
0: 12
|
||||
1234abcd
|
||||
0: 123
|
||||
1: 12
|
||||
*** Failers
|
||||
No match
|
||||
1.4
|
||||
@@ -585,30 +542,18 @@ No match
|
||||
/\S+/8
|
||||
12abcd34
|
||||
0: 12abcd34
|
||||
1: 12abcd3
|
||||
2: 12abcd
|
||||
3: 12abc
|
||||
4: 12ab
|
||||
5: 12a
|
||||
6: 12
|
||||
7: 1
|
||||
*** Failers
|
||||
0: ***
|
||||
1: **
|
||||
2: *
|
||||
\ \
|
||||
No match
|
||||
|
||||
/\S{2,3}/8
|
||||
12abcd34
|
||||
0: 12a
|
||||
1: 12
|
||||
1234abcd
|
||||
0: 123
|
||||
1: 12
|
||||
*** Failers
|
||||
0: ***
|
||||
1: **
|
||||
\ \
|
||||
No match
|
||||
|
||||
@@ -654,15 +599,8 @@ No match
|
||||
/\w+/8
|
||||
12 34
|
||||
0: 12
|
||||
1: 1
|
||||
*** Failers
|
||||
0: Failers
|
||||
1: Failer
|
||||
2: Faile
|
||||
3: Fail
|
||||
4: Fai
|
||||
5: Fa
|
||||
6: F
|
||||
+++=*!
|
||||
No match
|
||||
|
||||
@@ -671,10 +609,8 @@ No match
|
||||
0: ab
|
||||
abcd ce
|
||||
0: abc
|
||||
1: ab
|
||||
*** Failers
|
||||
0: Fai
|
||||
1: Fa
|
||||
a.b.c
|
||||
No match
|
||||
|
||||
@@ -693,26 +629,18 @@ No match
|
||||
/\W+/8
|
||||
12====34
|
||||
0: ====
|
||||
1: ===
|
||||
2: ==
|
||||
3: =
|
||||
*** Failers
|
||||
0: ***
|
||||
1: ***
|
||||
2: **
|
||||
3: *
|
||||
abcd
|
||||
No match
|
||||
|
||||
/\W{2,3}/8
|
||||
ab====cd
|
||||
0: ===
|
||||
1: ==
|
||||
ab==cd
|
||||
0: ==
|
||||
*** Failers
|
||||
0: ***
|
||||
1: **
|
||||
a.b.c
|
||||
No match
|
||||
|
||||
@@ -825,8 +753,6 @@ No match
|
||||
0: \x{200}
|
||||
ab\x{200}\x{100}\x{200}\x{100}cd
|
||||
0: \x{200}\x{100}\x{200}
|
||||
1: \x{200}\x{100}
|
||||
2: \x{200}
|
||||
*** Failers
|
||||
No match
|
||||
|
||||
@@ -849,8 +775,6 @@ No match
|
||||
0: \x{200}
|
||||
ab\x{200}\x{100}\x{200}\x{100}cd
|
||||
0: \x{200}\x{100}\x{200}
|
||||
1: \x{200}\x{100}
|
||||
2: \x{200}
|
||||
*** Failers
|
||||
No match
|
||||
|
||||
@@ -1126,21 +1050,21 @@ No match
|
||||
a\r
|
||||
No match
|
||||
|
||||
/\h+\V?\v{3,4}/8
|
||||
/\h+\V?\v{3,4}/8O
|
||||
\x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
|
||||
0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
|
||||
1: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}
|
||||
|
||||
/\V?\v{3,4}/8
|
||||
/\V?\v{3,4}/8O
|
||||
\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
|
||||
0: X\x{0a}\x{0b}\x{0c}\x{0d}
|
||||
1: X\x{0a}\x{0b}\x{0c}
|
||||
|
||||
/\h+\V?\v{3,4}/8
|
||||
/\h+\V?\v{3,4}/8O
|
||||
>\x09\x20\x{a0}X\x0a\x0a\x0a<
|
||||
0: \x{09} \x{a0}X\x{0a}\x{0a}\x{0a}
|
||||
|
||||
/\V?\v{3,4}/8
|
||||
/\V?\v{3,4}/8O
|
||||
>\x09\x20\x{a0}X\x0a\x0a\x0a<
|
||||
0: X\x{0a}\x{0a}\x{0a}
|
||||
|
||||
@@ -1154,7 +1078,7 @@ No match
|
||||
\x{a0} X\x0a
|
||||
No match
|
||||
|
||||
/\H*\h+\V?\v{3,4}/8
|
||||
/\H*\h+\V?\v{3,4}/8O
|
||||
\x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
|
||||
0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
|
||||
1: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}
|
||||
@@ -1178,7 +1102,7 @@ No match
|
||||
\x{2009} X\x0a
|
||||
No match
|
||||
|
||||
/\H*\h+\V?\v{3,4}/8
|
||||
/\H*\h+\V?\v{3,4}/8O
|
||||
\x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
|
||||
0: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}\x{0d}
|
||||
1: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}
|
||||
@@ -1279,34 +1203,28 @@ No match
|
||||
/abcd*/8
|
||||
xxxxabcd\P
|
||||
0: abcd
|
||||
1: abc
|
||||
xxxxabcd\P\P
|
||||
Partial match: abcd
|
||||
|
||||
/abcd*/i8
|
||||
xxxxabcd\P
|
||||
0: abcd
|
||||
1: abc
|
||||
xxxxabcd\P\P
|
||||
Partial match: abcd
|
||||
XXXXABCD\P
|
||||
0: ABCD
|
||||
1: ABC
|
||||
XXXXABCD\P\P
|
||||
Partial match: ABCD
|
||||
|
||||
/abc\d*/8
|
||||
xxxxabc1\P
|
||||
0: abc1
|
||||
1: abc
|
||||
xxxxabc1\P\P
|
||||
Partial match: abc1
|
||||
|
||||
/abc[de]*/8
|
||||
xxxxabcde\P
|
||||
0: abcde
|
||||
1: abcd
|
||||
2: abc
|
||||
xxxxabcde\P\P
|
||||
Partial match: abcde
|
||||
|
||||
@@ -1340,7 +1258,6 @@ Partial match: \x{0d}
|
||||
Partial match: \x{0d}\x{0d}
|
||||
\r\r\r\P
|
||||
0: \x{0d}\x{0d}\x{0d}
|
||||
1: \x{0d}\x{0d}
|
||||
\r\r\r\P\P
|
||||
Partial match: \x{0d}\x{0d}\x{0d}
|
||||
|
||||
@@ -1366,6 +1283,5 @@ Partial match: \x{0d}\x{0d}\x{0d}
|
||||
/[^\x{100}]+/8
|
||||
\x{100}\x{101}X
|
||||
0: \x{101}X
|
||||
1: \x{101}
|
||||
|
||||
/-- End of testinput9 --/
|
||||
|
||||
Vendored
+2
-2
@@ -84,7 +84,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Starting chars: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||
|
||||
/\w/ISLfrench
|
||||
@@ -93,7 +93,7 @@ No options
|
||||
No first char
|
||||
No need char
|
||||
Subject length lower bound = 1
|
||||
Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Starting chars: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P
|
||||
Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z
|
||||
ƒ Š Œ Ž š œ ž Ÿ ª ² ³ µ ¹ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö
|
||||
Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý
|
||||
|
||||
Reference in New Issue
Block a user