version 1.1.1.1, 2012/02/21 23:05:52
|
version 1.1.1.4, 2014/06/15 19:46:05
|
Line 1
|
Line 1
|
/-- This set of tests check Unicode property support with the DFA matching | /-- This set of tests checks UTF-8 support with the DFA matching functionality |
functionality of pcre_dfa_exec(). The -dfa flag must be used with pcretest | of pcre_dfa_exec(), excluding Unicode property support. The -dfa flag must |
when running it. --/ | be used with pcretest when running it. --/ |
| |
| < forbid W |
|
|
/\pL\P{Nd}/8 | /\x{100}ab/8 |
AB | \x{100}ab |
| |
| /a\x{100}*b/8 |
| ab |
| a\x{100}b |
| a\x{100}\x{100}b |
| |
| /a\x{100}+b/8 |
| a\x{100}b |
| a\x{100}\x{100}b |
| *** Failers |
| ab |
| |
| /\bX/8 |
| Xoanon |
| +Xoanon |
| \x{300}Xoanon |
| *** Failers |
| YXoanon |
| |
| /\BX/8 |
| YXoanon |
*** Failers |
*** Failers |
A0 | Xoanon |
00 | +Xoanon |
| \x{300}Xoanon |
|
|
/\X./8 | /X\b/8 |
AB | X+oanon |
A\x{300}BC | ZX\x{300}oanon |
A\x{300}\x{301}\x{302}BC | FAX |
| *** Failers |
| Xoanon |
| |
| /X\B/8 |
| Xoanon |
*** Failers |
*** Failers |
\x{300} | X+oanon |
| ZX\x{300}oanon |
| FAX |
| |
| /[^a]/8 |
| abcd |
| a\x{100} |
|
|
/\X\X/8 | /^[abc\x{123}\x{400}-\x{402}]{2,3}\d/8 |
ABC | ab99 |
A\x{300}B\x{300}\x{301}C | \x{123}\x{123}45 |
A\x{300}\x{301}\x{302}BC | \x{400}\x{401}\x{402}6 |
*** Failers |
*** Failers |
\x{300} | d99 |
| \x{123}\x{122}4 |
| \x{400}\x{403}6 |
| \x{400}\x{401}\x{402}\x{402}6 |
|
|
/^\pL+/8 | /a.b/8 |
abcd | acb |
a | a\x7fb |
*** Failers | a\x{100}b |
| *** Failers |
| a\nb |
|
|
/^\PL+/8 | /a(.{3})b/8 |
1234 | a\x{4000}xyb |
= | a\x{4000}\x7fyb |
*** Failers | a\x{4000}\x{100}yb |
abcd | *** Failers |
| a\x{4000}b |
| ac\ncb |
|
|
/^\X+/8 | /a(.*?)(.)/ |
abcdA\x{300}\x{301}\x{302} | a\xc0\x88b |
A\x{300}\x{301}\x{302} | |
A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302} | |
a | |
*** Failers | |
\x{300}\x{301}\x{302} | |
|
|
/\X?abc/8 | /a(.*?)(.)/8 |
abc | a\x{100}b |
A\x{300}abc | |
A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz | |
\x{300}abc | |
*** Failers | |
|
|
/^\X?abc/8 | /a(.*)(.)/ |
abc | a\xc0\x88b |
A\x{300}abc | |
| /a(.*)(.)/8 |
| a\x{100}b |
| |
| /a(.)(.)/ |
| a\xc0\x92bcd |
| |
| /a(.)(.)/8 |
| a\x{240}bcd |
| |
| /a(.?)(.)/ |
| a\xc0\x92bcd |
| |
| /a(.?)(.)/8 |
| a\x{240}bcd |
| |
| /a(.??)(.)/ |
| a\xc0\x92bcd |
| |
| /a(.??)(.)/8 |
| a\x{240}bcd |
| |
| /a(.{3})b/8 |
| a\x{1234}xyb |
| a\x{1234}\x{4321}yb |
| a\x{1234}\x{4321}\x{3412}b |
*** Failers |
*** Failers |
A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz | a\x{1234}b |
\x{300}abc | ac\ncb |
|
|
/\X*abc/8 | /a(.{3,})b/8 |
abc | a\x{1234}xyb |
A\x{300}abc | a\x{1234}\x{4321}yb |
A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz | a\x{1234}\x{4321}\x{3412}b |
\x{300}abc | axxxxbcdefghijb |
| a\x{1234}\x{4321}\x{3412}\x{3421}b |
*** Failers |
*** Failers |
|
a\x{1234}b |
|
|
/^\X*abc/8 | /a(.{3,}?)b/8 |
abc | a\x{1234}xyb |
A\x{300}abc | a\x{1234}\x{4321}yb |
A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz | a\x{1234}\x{4321}\x{3412}b |
| axxxxbcdefghijb |
| a\x{1234}\x{4321}\x{3412}\x{3421}b |
*** Failers |
*** Failers |
\x{300}abc | a\x{1234}b |
|
|
/^\pL?=./8 | /a(.{3,5})b/8 |
A=b | a\x{1234}xyb |
=c | a\x{1234}\x{4321}yb |
| a\x{1234}\x{4321}\x{3412}b |
| axxxxbcdefghijb |
| a\x{1234}\x{4321}\x{3412}\x{3421}b |
| axbxxbcdefghijb |
| axxxxxbcdefghijb |
*** Failers |
*** Failers |
1=2 | a\x{1234}b |
AAAA=b | axxxxxxbcdefghijb |
|
|
/^\pL*=./8 | /a(.{3,5}?)b/8 |
AAAA=b | a\x{1234}xyb |
=c | a\x{1234}\x{4321}yb |
| a\x{1234}\x{4321}\x{3412}b |
| axxxxbcdefghijb |
| a\x{1234}\x{4321}\x{3412}\x{3421}b |
| axbxxbcdefghijb |
| axxxxxbcdefghijb |
*** Failers |
*** Failers |
1=2 | a\x{1234}b |
| axxxxxxbcdefghijb |
|
|
/^\X{2,3}X/8 | /^[a\x{c0}]/8 |
A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X | |
A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X | |
*** Failers |
*** Failers |
X | \x{100} |
A\x{300}\x{301}\x{302}X | |
A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X | |
|
|
/^\pC\pL\pM\pN\pP\pS\pZ</8 | /(?<=aXb)cd/8 |
\x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}< | aXbcd |
\np\x{300}9!\$ < | |
** Failers | /(?<=a\x{100}b)cd/8 |
ap\x{300}9!\$ < | a\x{100}bcd |
| |
/^\PC/8 | /(?<=a\x{100000}b)cd/8 |
X | a\x{100000}bcd |
** Failers | |
\x7f | |
| |
/^\PL/8 | |
9 | |
** Failers | |
\x{c0} | |
| |
/^\PM/8 | |
X | |
** Failers | |
\x{30f} | |
| |
/^\PN/8 | |
X | |
** Failers | |
\x{660} | |
| |
/^\PP/8 | |
X | |
** Failers | |
\x{66c} | |
| |
/^\PS/8 | |
X | |
** Failers | |
\x{f01} | |
| |
/^\PZ/8 | |
X | |
** Failers | |
\x{1680} | |
|
|
/^\p{Cc}/8 | /(?:\x{100}){3}b/8 |
\x{017} | \x{100}\x{100}\x{100}b |
\x{09f} | *** Failers |
** Failers | \x{100}\x{100}b |
\x{0600} | |
| |
/^\p{Cf}/8 | |
\x{601} | |
** Failers | |
\x{09f} | |
| |
/^\p{Cn}/8 | |
** Failers | |
\x{09f} | |
| |
/^\p{Co}/8 | |
\x{f8ff} | |
** Failers | |
\x{09f} | |
| |
/^\p{Cs}/8 | |
\?\x{dfff} | |
** Failers | |
\x{09f} | |
| |
/^\p{Ll}/8 | |
a | |
** Failers | |
Z | |
\x{e000} | |
| |
/^\p{Lm}/8 | |
\x{2b0} | |
** Failers | |
a | |
| |
/^\p{Lo}/8 | |
\x{1bb} | |
** Failers | |
a | |
\x{2b0} | |
| |
/^\p{Lt}/8 | |
\x{1c5} | |
** Failers | |
a | |
\x{2b0} | |
| |
/^\p{Lu}/8 | |
A | |
** Failers | |
\x{2b0} | |
| |
/^\p{Mc}/8 | |
\x{903} | |
** Failers | |
X | |
\x{300} | |
| |
/^\p{Me}/8 | |
\x{488} | |
** Failers | |
X | |
\x{903} | |
\x{300} | |
| |
/^\p{Mn}/8 | |
\x{300} | |
** Failers | |
X | |
\x{903} | |
| |
/^\p{Nd}+/8 | |
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} | |
** Failers | |
X | |
| |
/^\p{Nl}/8 | |
\x{16ee} | |
** Failers | |
X | |
\x{966} | |
| |
/^\p{No}/8 | |
\x{b2} | |
\x{b3} | |
** Failers | |
X | |
\x{16ee} | |
| |
/^\p{Pc}/8 | |
\x5f | |
\x{203f} | |
** Failers | |
X | |
- | |
\x{58a} | |
| |
/^\p{Pd}/8 | |
- | |
\x{58a} | |
** Failers | |
X | |
\x{203f} | |
| |
/^\p{Pe}/8 | |
) | |
] | |
} | |
\x{f3b} | |
** Failers | |
X | |
\x{203f} | |
( | |
[ | |
{ | |
\x{f3c} | |
| |
/^\p{Pf}/8 | |
\x{bb} | |
\x{2019} | |
** Failers | |
X | |
\x{203f} | |
| |
/^\p{Pi}/8 | |
\x{ab} | |
\x{2018} | |
** Failers | |
X | |
\x{203f} | |
| |
/^\p{Po}/8 | |
! | |
\x{37e} | |
** Failers | |
X | |
\x{203f} | |
| |
/^\p{Ps}/8 | |
( | |
[ | |
{ | |
\x{f3c} | |
** Failers | |
X | |
) | |
] | |
} | |
\x{f3b} | |
| |
/^\p{Sc}+/8 | |
$\x{a2}\x{a3}\x{a4}\x{a5}\x{a6} | |
\x{9f2} | |
** Failers | |
X | |
\x{2c2} | |
| |
/^\p{Sk}/8 | |
\x{2c2} | |
** Failers | |
X | |
\x{9f2} | |
| |
/^\p{Sm}+/8 | |
+<|~\x{ac}\x{2044} | |
** Failers | |
X | |
\x{9f2} | |
| |
/^\p{So}/8 | |
\x{a6} | |
\x{482} | |
** Failers | |
X | |
\x{9f2} | |
| |
/^\p{Zl}/8 | |
\x{2028} | |
** Failers | |
X | |
\x{2029} | |
| |
/^\p{Zp}/8 | |
\x{2029} | |
** Failers | |
X | |
\x{2028} | |
| |
/^\p{Zs}/8 | |
\ \ | |
\x{a0} | |
\x{1680} | |
\x{180e} | |
\x{2000} | |
\x{2001} | |
** Failers | |
\x{2028} | |
\x{200d} | |
| |
/\p{Nd}+(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}+?(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}{2,}(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}{2,}?(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}*(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}*?(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}{2}(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}{2,3}(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}{2,3}?(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}?(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}??(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}*+(..)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}*+(...)/8 | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Nd}*+(....)/8 | |
** Failers | |
\x{660}\x{661}\x{662}ABC | |
| |
/\p{Lu}/8i | |
A | |
a\x{10a0}B | |
** Failers | |
a | |
\x{1d00} | |
|
|
/\p{^Lu}/8i | /\x{ab}/8 |
1234 | \x{ab} |
** Failers | \xc2\xab |
ABC | *** Failers |
| \x00{ab} |
|
|
/\P{Lu}/8i | /(?<=(.))X/8 |
1234 | WXYZ |
** Failers | \x{256}XYZ |
ABC | *** Failers |
| XYZ |
|
|
/(?<=A\p{Nd})XYZ/8 | /[^a]+/8g |
A2XYZ | bcd |
123A5XYZPQR | \x{100}aY\x{256}Z |
ABA\x{660}XYZpqr | |
** Failers | |
AXYZ | |
XYZ | |
|
|
/(?<!\pL)XYZ/8 | /^[^a]{2}/8 |
1XYZ | \x{100}bc |
AB=XYZ.. | |
XYZ | /^[^a]{2,}/8 |
** Failers | \x{100}bcAa |
WXYZ | |
|
|
/[\p{Nd}]/8 | /^[^a]{2,}?/8 |
1234 | \x{100}bca |
|
|
/[\p{Nd}+-]+/8 | /[^a]+/8ig |
1234 | bcd |
12-34 | \x{100}aY\x{256}Z |
12+\x{661}-34 | |
** Failers | /^[^a]{2}/8i |
abcd | \x{100}bc |
| |
| /^[^a]{2,}/8i |
| \x{100}bcAa |
|
|
/[\P{Nd}]+/8 | /^[^a]{2,}?/8i |
| \x{100}bca |
| |
| /\x{100}{0,0}/8 |
abcd |
abcd |
** Failers | |
1234 | /\x{100}?/8 |
| abcd |
| \x{100}\x{100} |
|
|
/\D+/8 | /\x{100}{0,3}/8 |
11111111111111111111111111111111111111111111111111111111111111111111111 | \x{100}\x{100} |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | \x{100}\x{100}\x{100}\x{100} |
| |
/\P{Nd}+/8 | /\x{100}*/8 |
11111111111111111111111111111111111111111111111111111111111111111111111 | abce |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | \x{100}\x{100}\x{100}\x{100} |
|
|
/[\D]+/8 | /\x{100}{1,1}/8 |
11111111111111111111111111111111111111111111111111111111111111111111111 | abcd\x{100}\x{100}\x{100}\x{100} |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | |
|
|
/[\P{Nd}]+/8 | /\x{100}{1,3}/8 |
11111111111111111111111111111111111111111111111111111111111111111111111 | abcd\x{100}\x{100}\x{100}\x{100} |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | |
|
|
/[\D\P{Nd}]+/8 | /\x{100}+/8 |
11111111111111111111111111111111111111111111111111111111111111111111111 | abcd\x{100}\x{100}\x{100}\x{100} |
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | |
|
|
/\pL/8 | /\x{100}{3}/8 |
a | abcd\x{100}\x{100}\x{100}XX |
A | |
|
|
/\pL/8i | /\x{100}{3,5}/8 |
a | abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX |
A | |
| |
/\p{Lu}/8 | |
A | |
aZ | |
** Failers | |
abc | |
|
|
/\p{Lu}/8i | /\x{100}{3,}/8O |
A | abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX |
aZ | |
** Failers | |
abc | |
|
|
/\p{Ll}/8 | /(?<=a\x{100}{2}b)X/8 |
a | Xyyya\x{100}\x{100}bXzzz |
Az | |
** Failers | |
ABC | |
|
|
/\p{Ll}/8i | /\D*/8O |
a | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
Az | |
** Failers | |
ABC | |
|
|
/^\x{c0}$/8i | /\D*/8O |
\x{c0} | \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100} |
\x{e0} | |
|
|
/^\x{e0}$/8i | /\D/8 |
\x{c0} | 1X2 |
\x{e0} | 1\x{100}2 |
| |
| />\S/8 |
| > >X Y |
| > >\x{100} Y |
| |
| /\d/8 |
| \x{100}3 |
| |
| /\s/8 |
| \x{100} X |
| |
| /\D+/8 |
| 12abcd34 |
| *** Failers |
| 1234 |
|
|
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8 | /\D{2,3}/8 |
A\x{391}\x{10427}\x{ff3a}\x{1fb0} | 12abcd34 |
** Failers | 12ab34 |
a\x{391}\x{10427}\x{ff3a}\x{1fb0} | *** Failers |
A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} | 1234 |
A\x{391}\x{1044F}\x{ff3a}\x{1fb0} | 12a34 |
A\x{391}\x{10427}\x{ff5a}\x{1fb0} | |
A\x{391}\x{10427}\x{ff3a}\x{1fb8} | |
|
|
/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i | /\D{2,3}?/8 |
A\x{391}\x{10427}\x{ff3a}\x{1fb0} | 12abcd34 |
a\x{391}\x{10427}\x{ff3a}\x{1fb0} | 12ab34 |
A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} | *** Failers |
A\x{391}\x{1044F}\x{ff3a}\x{1fb0} | 1234 |
A\x{391}\x{10427}\x{ff5a}\x{1fb0} | 12a34 |
A\x{391}\x{10427}\x{ff3a}\x{1fb8} | |
|
|
/\x{391}+/8i | /\d+/8 |
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} | 12abcd34 |
| *** Failers |
|
|
/\x{391}{3,5}(.)/8i | /\d{2,3}/8 |
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X | 12abcd34 |
| 1234abcd |
| *** Failers |
| 1.4 |
|
|
/\x{391}{3,5}?(.)/8i | /\d{2,3}?/8 |
\x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X | 12abcd34 |
| 1234abcd |
| *** Failers |
| 1.4 |
|
|
/[\x{391}\x{ff3a}]/8i | /\S+/8 |
\x{391} | 12abcd34 |
\x{ff3a} | *** Failers |
\x{3b1} | \ \ |
\x{ff5a} | |
| |
/[\x{c0}\x{391}]/8i | |
\x{c0} | |
\x{e0} | |
|
|
/[\x{105}-\x{109}]/8i | /\S{2,3}/8 |
\x{104} | 12abcd34 |
\x{105} | 1234abcd |
\x{109} | *** Failers |
** Failers | \ \ |
\x{100} | |
\x{10a} | |
| |
/[z-\x{100}]/8i | |
Z | |
z | |
\x{39c} | |
\x{178} | |
| | |
\x{80} | |
\x{ff} | |
\x{100} | |
\x{101} | |
** Failers | |
\x{102} | |
Y | |
y | |
|
|
/[z-\x{100}]/8i | /\S{2,3}?/8 |
| 12abcd34 |
| 1234abcd |
| *** Failers |
| \ \ |
|
|
/^\X/8 | />\s+</8 |
A | 12> <34 |
A\x{300}BC | |
A\x{300}\x{301}\x{302}BC | |
*** Failers |
*** Failers |
\x{300} |
|
|
|
/^[\X]/8 | />\s{2,3}</8 |
X123 | ab> <cd |
| ab> <ce |
*** Failers |
*** Failers |
AXYZ | ab> <cd |
|
|
/^(\X*)C/8 | />\s{2,3}?</8 |
A\x{300}\x{301}\x{302}BCA\x{300}\x{301} | ab> <cd |
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C | ab> <ce |
| *** Failers |
| ab> <cd |
|
|
/^(\X*?)C/8 | /\w+/8 |
A\x{300}\x{301}\x{302}BCA\x{300}\x{301} | 12 34 |
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C | *** Failers |
| +++=*! |
|
|
/^(\X*)(.)/8 | /\w{2,3}/8 |
A\x{300}\x{301}\x{302}BCA\x{300}\x{301} | ab cd |
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C | abcd ce |
| *** Failers |
| a.b.c |
|
|
/^(\X*?)(.)/8 | /\w{2,3}?/8 |
A\x{300}\x{301}\x{302}BCA\x{300}\x{301} | ab cd |
A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C | abcd ce |
| *** Failers |
| a.b.c |
|
|
/^\X(.)/8 | /\W+/8 |
| 12====34 |
*** Failers |
*** Failers |
A\x{300}\x{301}\x{302} | abcd |
|
|
/^\X{2,3}(.)/8 | /\W{2,3}/8 |
A\x{300}\x{301}B\x{300}X | ab====cd |
A\x{300}\x{301}B\x{300}C\x{300}\x{301} | ab==cd |
A\x{300}\x{301}B\x{300}C\x{300}\x{301}X | *** Failers |
A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X | a.b.c |
| |
/^\X{2,3}?(.)/8 | |
A\x{300}\x{301}B\x{300}X | |
A\x{300}\x{301}B\x{300}C\x{300}\x{301} | |
A\x{300}\x{301}B\x{300}C\x{300}\x{301}X | |
A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X | |
|
|
/^\pN{2,3}X/ | /\W{2,3}?/8 |
12X | ab====cd |
123X | ab==cd |
*** Failers |
*** Failers |
X | a.b.c |
1X | |
1234X | |
|
|
/\x{100}/i8 | /[\x{100}]/8 |
\x{100} | \x{100} |
\x{101} | Z\x{100} |
| \x{100}Z |
/^\p{Han}+/8 | *** Failers |
\x{2e81}\x{3007}\x{2f804}\x{31a0} | |
** Failers | |
\x{2e7f} | |
|
|
/^\P{Katakana}+/8 | /[Z\x{100}]/8 |
\x{3105} | Z\x{100} |
** Failers | \x{100} |
\x{30ff} | \x{100}Z |
| *** Failers |
|
|
/^[\p{Arabic}]/8 | /[\x{100}\x{200}]/8 |
\x{06e9} | ab\x{100}cd |
\x{060b} | ab\x{200}cd |
** Failers | *** Failers |
X\x{06e9} | |
|
|
/^[\P{Yi}]/8 | /[\x{100}-\x{200}]/8 |
\x{2f800} | ab\x{100}cd |
** Failers | ab\x{200}cd |
\x{a014} | ab\x{111}cd |
\x{a4c6} | *** Failers |
|
|
/^\p{Any}X/8 | /[z-\x{200}]/8 |
AXYZ | ab\x{100}cd |
\x{1234}XYZ | ab\x{200}cd |
** Failers | ab\x{111}cd |
X | abzcd |
| ab|cd |
/^\P{Any}X/8 | *** Failers |
** Failers | |
AX | |
| |
/^\p{Any}?X/8 | |
XYZ | |
AXYZ | |
\x{1234}XYZ | |
** Failers | |
ABXYZ | |
|
|
/^\P{Any}?X/8 | /[Q\x{100}\x{200}]/8 |
XYZ | ab\x{100}cd |
** Failers | ab\x{200}cd |
AXYZ | Q? |
\x{1234}XYZ | *** Failers |
ABXYZ | |
|
|
/^\p{Any}+X/8 | /[Q\x{100}-\x{200}]/8 |
AXYZ | ab\x{100}cd |
\x{1234}XYZ | ab\x{200}cd |
A\x{1234}XYZ | ab\x{111}cd |
** Failers | Q? |
XYZ | *** Failers |
|
|
/^\P{Any}+X/8 | /[Qz-\x{200}]/8 |
** Failers | ab\x{100}cd |
AXYZ | ab\x{200}cd |
\x{1234}XYZ | ab\x{111}cd |
A\x{1234}XYZ | abzcd |
XYZ | ab|cd |
| Q? |
| *** Failers |
|
|
/^\p{Any}*X/8 | /[\x{100}\x{200}]{1,3}/8 |
XYZ | ab\x{100}cd |
AXYZ | ab\x{200}cd |
\x{1234}XYZ | ab\x{200}\x{100}\x{200}\x{100}cd |
A\x{1234}XYZ | *** Failers |
** Failers | |
|
|
/^\P{Any}*X/8 | /[\x{100}\x{200}]{1,3}?/8 |
XYZ | ab\x{100}cd |
** Failers | ab\x{200}cd |
AXYZ | ab\x{200}\x{100}\x{200}\x{100}cd |
\x{1234}XYZ | *** Failers |
A\x{1234}XYZ | |
|
|
/^[\p{Any}]X/8 | /[Q\x{100}\x{200}]{1,3}/8 |
AXYZ | ab\x{100}cd |
\x{1234}XYZ | ab\x{200}cd |
** Failers | ab\x{200}\x{100}\x{200}\x{100}cd |
X | *** Failers |
| |
/^[\P{Any}]X/8 | |
** Failers | |
AX | |
| |
/^[\p{Any}]?X/8 | |
XYZ | |
AXYZ | |
\x{1234}XYZ | |
** Failers | |
ABXYZ | |
|
|
/^[\P{Any}]?X/8 | /[Q\x{100}\x{200}]{1,3}?/8 |
XYZ | ab\x{100}cd |
** Failers | ab\x{200}cd |
AXYZ | ab\x{200}\x{100}\x{200}\x{100}cd |
\x{1234}XYZ | *** Failers |
ABXYZ | |
|
|
/^[\p{Any}]+X/8 | /(?<=[\x{100}\x{200}])X/8 |
AXYZ | abc\x{200}X |
\x{1234}XYZ | abc\x{100}X |
A\x{1234}XYZ | *** Failers |
** Failers | X |
XYZ | |
|
|
/^[\P{Any}]+X/8 | /(?<=[Q\x{100}\x{200}])X/8 |
** Failers | abc\x{200}X |
AXYZ | abc\x{100}X |
\x{1234}XYZ | abQX |
A\x{1234}XYZ | *** Failers |
XYZ | X |
|
|
/^[\p{Any}]*X/8 | /(?<=[\x{100}\x{200}]{3})X/8 |
XYZ | abc\x{100}\x{200}\x{100}X |
AXYZ | *** Failers |
\x{1234}XYZ | abc\x{200}X |
A\x{1234}XYZ | X |
** Failers | |
|
|
/^[\P{Any}]*X/8 | /[^\x{100}\x{200}]X/8 |
XYZ | AX |
** Failers | \x{150}X |
AXYZ | \x{500}X |
\x{1234}XYZ | *** Failers |
A\x{1234}XYZ | \x{100}X |
| \x{200}X |
|
|
/^\p{Any}{3,5}?/8 | /[^Q\x{100}\x{200}]X/8 |
abcdefgh | AX |
\x{1234}\n\r\x{3456}xyz | \x{150}X |
| \x{500}X |
| *** Failers |
| \x{100}X |
| \x{200}X |
| QX |
|
|
/^\p{Any}{3,5}/8 | /[^\x{100}-\x{200}]X/8 |
abcdefgh | AX |
\x{1234}\n\r\x{3456}xyz | \x{500}X |
| *** Failers |
| \x{100}X |
| \x{150}X |
| \x{200}X |
|
|
/^\P{Any}{3,5}?/8 | /[z-\x{100}]/8i |
** Failers | z |
abcdefgh | Z |
\x{1234}\n\r\x{3456}xyz | \x{100} |
| *** Failers |
| \x{102} |
| y |
|
|
/^\p{L&}X/8 | /[\xFF]/ |
AXY | >\xff< |
aXY | |
\x{1c5}XY | |
** Failers | |
\x{1bb}XY | |
\x{2b0}XY | |
!XY | |
|
|
/^[\p{L&}]X/8 | /[\xff]/8 |
AXY | >\x{ff}< |
aXY | |
\x{1c5}XY | |
** Failers | |
\x{1bb}XY | |
\x{2b0}XY | |
!XY | |
|
|
/^\p{L&}+X/8 | /[^\xFF]/ |
AXY | XYZ |
aXY | |
AbcdeXyz | |
\x{1c5}AbXY | |
abcDEXypqreXlmn | |
** Failers | |
\x{1bb}XY | |
\x{2b0}XY | |
!XY | |
|
|
/^[\p{L&}]+X/8 | /[^\xff]/8 |
AXY | XYZ |
aXY | \x{123} |
AbcdeXyz | |
\x{1c5}AbXY | |
abcDEXypqreXlmn | |
** Failers | |
\x{1bb}XY | |
\x{2b0}XY | |
!XY | |
|
|
/^\p{L&}+?X/8 | /^[ac]*b/8 |
AXY | xb |
aXY | |
AbcdeXyz | |
\x{1c5}AbXY | |
abcDEXypqreXlmn | |
** Failers | |
\x{1bb}XY | |
\x{2b0}XY | |
!XY | |
|
|
/^[\p{L&}]+?X/8 | /^[ac\x{100}]*b/8 |
AXY | xb |
aXY | |
AbcdeXyz | |
\x{1c5}AbXY | |
abcDEXypqreXlmn | |
** Failers | |
\x{1bb}XY | |
\x{2b0}XY | |
!XY | |
|
|
/^\P{L&}X/8 | /^[^x]*b/8i |
!XY | xb |
\x{1bb}XY | |
\x{2b0}XY | |
** Failers | |
\x{1c5}XY | |
AXY | |
|
|
/^[\P{L&}]X/8 | /^[^x]*b/8 |
!XY | xb |
\x{1bb}XY | |
\x{2b0}XY | |
** Failers | |
\x{1c5}XY | |
AXY | |
| |
/^\x{023a}+?(\x{0130}+)/8i | |
\x{023a}\x{2c65}\x{0130} | |
|
|
/^\x{023a}+([^X])/8i | /^\d*b/8 |
\x{023a}\x{2c65}X | xb |
| |
/\x{c0}+\x{116}+/8i | |
\x{c0}\x{e0}\x{116}\x{117} | |
|
|
/[\x{c0}\x{116}]+/8i | /(|a)/g8 |
\x{c0}\x{e0}\x{116}\x{117} | catac |
| a\x{256}a |
|
|
/Check property support in non-UTF-8 mode/ | /^\x{85}$/8i |
| \x{85} |
/\p{L}{4}/ | |
123abcdefg | |
123abc\xc4\xc5zz | |
|
|
/\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8 | /^abc./mgx8<any> |
\x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}==== | abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK |
|
|
/\x{a77d}\x{1d79}/8i | /abc.$/mgx8<any> |
\x{a77d}\x{1d79} | abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9 |
\x{1d79}\x{a77d} | |
|
|
/\x{a77d}\x{1d79}/8 | /^a\Rb/8<bsr_unicode> |
\x{a77d}\x{1d79} | a\nb |
** Failers | a\rb |
\x{1d79}\x{a77d} | a\r\nb |
| a\x0bb |
/^\p{Xan}/8 | a\x0cb |
ABCD | a\x{85}b |
1234 | a\x{2028}b |
\x{6ca} | a\x{2029}b |
\x{a6c} | |
\x{10a7} | |
** Failers |
** Failers |
_ABC | a\n\rb |
|
|
/^\p{Xan}+/8 | /^a\R*b/8<bsr_unicode> |
ABCD1234\x{6ca}\x{a6c}\x{10a7}_ | ab |
** Failers | a\nb |
_ABC | a\rb |
| a\r\nb |
| a\x0bb |
| a\x0c\x{2028}\x{2029}b |
| a\x{85}b |
| a\n\rb |
| a\n\r\x{85}\x0cb |
|
|
/^\p{Xan}*/8 | /^a\R+b/8<bsr_unicode> |
ABCD1234\x{6ca}\x{a6c}\x{10a7}_ | a\nb |
| a\rb |
/^\p{Xan}{2,9}/8 | a\r\nb |
ABCD1234\x{6ca}\x{a6c}\x{10a7}_ | a\x0bb |
| a\x0c\x{2028}\x{2029}b |
/^[\p{Xan}]/8 | a\x{85}b |
ABCD1234_ | a\n\rb |
1234abcd_ | a\n\r\x{85}\x0cb |
\x{6ca} | |
\x{a6c} | |
\x{10a7} | |
** Failers |
** Failers |
_ABC | ab |
| |
/^[\p{Xan}]+/8 | |
ABCD1234\x{6ca}\x{a6c}\x{10a7}_ | |
** Failers | |
_ABC | |
|
|
/^>\p{Xsp}/8 | /^a\R{1,3}b/8<bsr_unicode> |
>\x{1680}\x{2028}\x{0b} | a\nb |
| a\n\rb |
| a\n\r\x{85}b |
| a\r\n\r\nb |
| a\r\n\r\n\r\nb |
| a\n\r\n\rb |
| a\n\n\r\nb |
** Failers |
** Failers |
\x{0b} | a\n\n\n\rb |
| a\r |
|
|
/^>\p{Xsp}+/8 | /\h+\V?\v{3,4}/8O |
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} | \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a |
|
|
/^>\p{Xsp}*/8 | /\V?\v{3,4}/8O |
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} | \x20\x{a0}X\x0a\x0b\x0c\x0d\x0a |
| |
/^>\p{Xsp}{2,9}/8 | |
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} | |
| |
/^>[\p{Xsp}]/8 | |
>\x{2028}\x{0b} | |
| |
/^>[\p{Xsp}]+/8 | |
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} | |
|
|
/^>\p{Xps}/8 | /\h+\V?\v{3,4}/8O |
>\x{1680}\x{2028}\x{0b} | >\x09\x20\x{a0}X\x0a\x0a\x0a< |
>\x{a0} | |
** Failers | |
\x{0b} | |
|
|
/^>\p{Xps}+/8 | /\V?\v{3,4}/8O |
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} | >\x09\x20\x{a0}X\x0a\x0a\x0a< |
|
|
/^>\p{Xps}+?/8 | /\H\h\V\v/8 |
>\x{1680}\x{2028}\x{0b} | X X\x0a |
| X\x09X\x0b |
/^>\p{Xps}*/8 | ** Failers |
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} | \x{a0} X\x0a |
|
|
/^>\p{Xps}{2,9}/8 | /\H*\h+\V?\v{3,4}/8O |
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} | \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a |
| \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a |
| \x09\x20\x{a0}\x0a\x0b\x0c |
| ** Failers |
| \x09\x20\x{a0}\x0a\x0b |
| |
| /\H\h\V\v/8 |
| \x{3001}\x{3000}\x{2030}\x{2028} |
| X\x{180e}X\x{85} |
| ** Failers |
| \x{2009} X\x0a |
|
|
/^>\p{Xps}{2,9}?/8 | /\H*\h+\V?\v{3,4}/8O |
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} | \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 |
/^>[\p{Xps}]/8 | \x09\x20\x{202f}\x0a\x0b\x0c |
>\x{2028}\x{0b} | ** Failers |
| \x09\x{200a}\x{a0}\x{2028}\x0b |
/^>[\p{Xps}]+/8 | |
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} | /a\Rb/I8<bsr_anycrlf> |
| a\rb |
/^\p{Xwd}/8 | a\nb |
ABCD | a\r\nb |
1234 | |
\x{6ca} | |
\x{a6c} | |
\x{10a7} | |
_ABC | |
** Failers |
** Failers |
[] | a\x{85}b |
| a\x0bb |
|
|
/^\p{Xwd}+/8 | /a\Rb/I8<bsr_unicode> |
ABCD1234\x{6ca}\x{a6c}\x{10a7}_ | a\rb |
| a\nb |
/^\p{Xwd}*/8 | a\r\nb |
ABCD1234\x{6ca}\x{a6c}\x{10a7}_ | a\x{85}b |
| a\x0bb |
| ** Failers |
| a\x{85}b\<bsr_anycrlf> |
| a\x0bb\<bsr_anycrlf> |
|
|
/^\p{Xwd}{2,9}/8 | /a\R?b/I8<bsr_anycrlf> |
A_12\x{6ca}\x{a6c}\x{10a7} | a\rb |
| a\nb |
/^[\p{Xwd}]/8 | a\r\nb |
ABCD1234_ | |
1234abcd_ | |
\x{6ca} | |
\x{a6c} | |
\x{10a7} | |
_ABC | |
** Failers |
** Failers |
[] | a\x{85}b |
| a\x0bb |
| |
| /a\R?b/I8<bsr_unicode> |
| a\rb |
| a\nb |
| a\r\nb |
| a\x{85}b |
| a\x0bb |
| ** Failers |
| a\x{85}b\<bsr_anycrlf> |
| a\x0bb\<bsr_anycrlf> |
|
|
/^[\p{Xwd}]+/8 | /X/8f<any> |
ABCD1234\x{6ca}\x{a6c}\x{10a7}_ | A\x{1ec5}ABCXYZ |
|
|
/-- Unicode properties for \b abd \B --/ | /abcd*/8 |
| xxxxabcd\P |
| xxxxabcd\P\P |
|
|
/\b...\B/8W | /abcd*/i8 |
abc_ | xxxxabcd\P |
\x{37e}abc\x{376} | xxxxabcd\P\P |
\x{37e}\x{376}\x{371}\x{393}\x{394} | XXXXABCD\P |
!\x{c0}++\x{c1}\x{c2} | XXXXABCD\P\P |
!\x{c0}+++++ | |
|
|
/-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/ | /abc\d*/8 |
| xxxxabc1\P |
| xxxxabc1\P\P |
|
|
/\b...\B/8 | /abc[de]*/8 |
abc_ | xxxxabcde\P |
** Failers | xxxxabcde\P\P |
\x{37e}abc\x{376} | |
\x{37e}\x{376}\x{371}\x{393}\x{394} | |
!\x{c0}++\x{c1}\x{c2} | |
!\x{c0}+++++ | |
|
|
/-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/ | /\bthe cat\b/8 |
| the cat\P |
| the cat\P\P |
|
|
/\b...\B/W | /ab\Cde/8 |
abc_ | abXde |
!\x{c0}++\x{c1}\x{c2} | |
!\x{c0}+++++ | /(?<=ab\Cde)X/8 |
| |
| /./8<CRLF> |
| \r\P |
| \r\P\P |
| |
| /.{2,3}/8<CRLF> |
| \r\P |
| \r\P\P |
| \r\r\P |
| \r\r\P\P |
| \r\r\r\P |
| \r\r\r\P\P |
| |
| /.{2,3}?/8<CRLF> |
| \r\P |
| \r\P\P |
| \r\r\P |
| \r\r\P\P |
| \r\r\r\P |
| \r\r\r\P\P |
| |
| /[^\x{100}]/8 |
| \x{100}\x{101}X |
| |
| /[^\x{100}]+/8 |
| \x{100}\x{101}X |
|
|
/-- End of testinput9 --/ |
/-- End of testinput9 --/ |