amxmodx/tools/pcre/testdata/testinput7
2014-07-05 00:28:24 +02:00

673 lines
9.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/-- These tests for Unicode property support test PCRE's API and show some of
the compiled code. They are not Perl-compatible. --/
/[\p{L}]/DZ
/[\p{^L}]/DZ
/[\P{L}]/DZ
/[\P{^L}]/DZ
/[abc\p{L}\x{0660}]/8DZ
/[\p{Nd}]/8DZ
1234
/[\p{Nd}+-]+/8DZ
1234
12-34
12+\x{661}-34
** Failers
abcd
/[\x{105}-\x{109}]/8iDZ
\x{104}
\x{105}
\x{109}
** Failers
\x{100}
\x{10a}
/[z-\x{100}]/8iDZ
Z
z
\x{39c}
\x{178}
|
\x{80}
\x{ff}
\x{100}
\x{101}
** Failers
\x{102}
Y
y
/[z-\x{100}]/8DZi
/(?:[\PPa*]*){8,}/
/[\P{Any}]/BZ
/[\P{Any}\E]/BZ
/(\P{Yi}+\277)/
/(\P{Yi}+\277)?/
/(?<=\P{Yi}{3}A)X/
/\p{Yi}+(\P{Yi}+)(?1)/
/(\P{Yi}{2}\277)?/
/[\P{Yi}A]/
/[\P{Yi}\P{Yi}\P{Yi}A]/
/[^\P{Yi}A]/
/[^\P{Yi}\P{Yi}\P{Yi}A]/
/(\P{Yi}*\277)*/
/(\P{Yi}*?\277)*/
/(\p{Yi}*+\277)*/
/(\P{Yi}?\277)*/
/(\P{Yi}??\277)*/
/(\p{Yi}?+\277)*/
/(\P{Yi}{0,3}\277)*/
/(\P{Yi}{0,3}?\277)*/
/(\p{Yi}{0,3}+\277)*/
/\p{Zl}{2,3}+/8BZ
\x{2028}\x{2028}\x{2028}
/\p{Zl}/8BZ
/\p{Lu}{3}+/8BZ
/\pL{2}+/8BZ
/\p{Cc}{2}+/8BZ
/^\p{Cs}/8
\?\x{dfff}
** Failers
\x{09f}
/^\p{Sc}+/8
$\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
\x{9f2}
** Failers
X
\x{2c2}
/^\p{Zs}/8
\ \
\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. --/
/\p{^Lu}/8i
1234
** Failers
ABC
/\P{Lu}/8i
1234
** Failers
ABC
/\p{Ll}/8i
a
Az
** Failers
ABC
/\p{Lu}/8i
A
a\x{10a0}B
** Failers
a
\x{1d00}
/[\x{c0}\x{391}]/8i
\x{c0}
\x{e0}
/-- The next two are special cases where the lengths of the different cases of
the same character differ. The first went wrong with heap frame storage; the
second was broken in all cases. --/
/^\x{023a}+?(\x{0130}+)/8i
\x{023a}\x{2c65}\x{0130}
/^\x{023a}+([^X])/8i
\x{023a}\x{2c65}X
/\x{c0}+\x{116}+/8i
\x{c0}\x{e0}\x{116}\x{117}
/[\x{c0}\x{116}]+/8i
\x{c0}\x{e0}\x{116}\x{117}
/(\x{de})\1/8i
\x{de}\x{de}
\x{de}\x{fe}
\x{fe}\x{fe}
\x{fe}\x{de}
/^\x{c0}$/8i
\x{c0}
\x{e0}
/^\x{e0}$/8i
\x{c0}
\x{e0}
/-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
will match it only with UCP support, because without that it has no notion
of case for anything other than the ASCII letters. --/
/((?i)[\x{c0}])/8
\x{c0}
\x{e0}
/(?i:[\x{c0}])/8
\x{c0}
\x{e0}
/-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
/^\p{Xan}/8
ABCD
1234
\x{6ca}
\x{a6c}
\x{10a7}
** Failers
_ABC
/^\p{Xan}+/8
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
** Failers
_ABC
/^\p{Xan}+?/8
\x{6ca}\x{a6c}\x{10a7}_
/^\p{Xan}*/8
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
/^\p{Xan}{2,9}/8
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
/^\p{Xan}{2,9}?/8
\x{6ca}\x{a6c}\x{10a7}_
/^[\p{Xan}]/8
ABCD1234_
1234abcd_
\x{6ca}
\x{a6c}
\x{10a7}
** Failers
_ABC
/^[\p{Xan}]+/8
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
** Failers
_ABC
/^>\p{Xsp}/8
>\x{1680}\x{2028}\x{0b}
>\x{a0}
** Failers
\x{0b}
/^>\p{Xsp}+/8
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
/^>\p{Xsp}+?/8
>\x{1680}\x{2028}\x{0b}
/^>\p{Xsp}*/8
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
/^>\p{Xsp}{2,9}/8
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
/^>\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
>\x{1680}\x{2028}\x{0b}
>\x{a0}
** Failers
\x{0b}
/^>\p{Xps}+/8
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
/^>\p{Xps}+?/8
>\x{1680}\x{2028}\x{0b}
/^>\p{Xps}*/8
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
/^>\p{Xps}{2,9}/8
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
/^>\p{Xps}{2,9}?/8
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
/^>[\p{Xps}]/8
>\x{2028}\x{0b}
/^>[\p{Xps}]+/8
> \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
/^\p{Xwd}/8
ABCD
1234
\x{6ca}
\x{a6c}
\x{10a7}
_ABC
** Failers
[]
/^\p{Xwd}+/8
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
/^\p{Xwd}+?/8
\x{6ca}\x{a6c}\x{10a7}_
/^\p{Xwd}*/8
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
/^\p{Xwd}{2,9}/8
A_B12\x{6ca}\x{a6c}\x{10a7}
/^\p{Xwd}{2,9}?/8
\x{6ca}\x{a6c}\x{10a7}_
/^[\p{Xwd}]/8
ABCD1234_
1234abcd_
\x{6ca}
\x{a6c}
\x{10a7}
_ABC
** Failers
[]
/^[\p{Xwd}]+/8
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
/-- A check not in UTF-8 mode --/
/^[\p{Xwd}]+/
ABCD1234_
/-- Some negative checks --/
/^[\P{Xwd}]+/8
!.+\x{019}\x{35a}AB
/^[\p{^Xwd}]+/8
!.+\x{019}\x{35a}AB
/[\D]/WBZ8
1\x{3c8}2
/[\d]/WBZ8
>\x{6f4}<
/[\S]/WBZ8
\x{1680}\x{6f4}\x{1680}
/[\s]/WBZ8
>\x{1680}<
/[\W]/WBZ8
A\x{1712}B
/[\w]/WBZ8
>\x{1723}<
/\D/WBZ8
1\x{3c8}2
/\d/WBZ8
>\x{6f4}<
/\S/WBZ8
\x{1680}\x{6f4}\x{1680}
/\s/WBZ8
>\x{1680}>
/\W/WBZ8
A\x{1712}B
/\w/WBZ8
>\x{1723}<
/[[:alpha:]]/WBZ
/[[:lower:]]/WBZ
/[[:upper:]]/WBZ
/[[:alnum:]]/WBZ
/[[:ascii:]]/WBZ
/[[:cntrl:]]/WBZ
/[[:digit:]]/WBZ
/[[:graph:]]/WBZ
/[[:print:]]/WBZ
/[[:punct:]]/WBZ
/[[:space:]]/WBZ
/[[:word:]]/WBZ
/[[:xdigit:]]/WBZ
/-- Unicode properties for \b abd \B --/
/\b...\B/8W
abc_
\x{37e}abc\x{376}
\x{37e}\x{376}\x{371}\x{393}\x{394}
!\x{c0}++\x{c1}\x{c2}
!\x{c0}+++++
/-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
/\b...\B/8
abc_
** Failers
\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 --/
/\b...\B/W
abc_
!\x{c0}++\x{c1}\x{c2}
!\x{c0}+++++
/-- Some of these are silly, but they check various combinations --/
/[[:^alpha:][:^cntrl:]]+/8WBZ
123
abc
/[[:^cntrl:][:^alpha:]]+/8WBZ
123
abc
/[[:alpha:]]+/8WBZ
abc
/[[:^alpha:]\S]+/8WBZ
123
abc
/[^\d]+/8WBZ
abc123
abc\x{123}
\x{660}abc
/\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
/\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
/\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
/\p{Han}+X\p{Greek}+\x{370}/BZ8
/\p{Xan}+!\p{Xan}+A/BZ
/\p{Xsp}+!\p{Xsp}\t/BZ
/\p{Xps}+!\p{Xps}\t/BZ
/\p{Xwd}+!\p{Xwd}_/BZ
/A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
/-- These behaved oddly in Perl, so they are kept in this test --/
/(\x{23a}\x{23a}\x{23a})?\1/8i
\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
/(ȺȺȺ)?\1/8i
ȺȺȺⱥⱥ
/(\x{23a}\x{23a}\x{23a})?\1/8i
\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
/(ȺȺȺ)?\1/8i
ȺȺȺⱥⱥⱥ
/(\x{23a}\x{23a}\x{23a})\1/8i
\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
/(ȺȺȺ)\1/8i
ȺȺȺⱥⱥ
/(\x{23a}\x{23a}\x{23a})\1/8i
\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
/(ȺȺȺ)\1/8i
ȺȺȺⱥⱥⱥ
/(\x{2c65}\x{2c65})\1/8i
\x{2c65}\x{2c65}\x{23a}\x{23a}
/(ⱥⱥ)\1/8i
ⱥⱥȺȺ
/(\x{23a}\x{23a}\x{23a})\1Y/8i
X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
/(\x{2c65}\x{2c65})\1Y/8i
X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
/-- --/
/-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
/^[\p{Batak}]/8
\x{1bc0}
\x{1bff}
** Failers
\x{1bf4}
/^[\p{Brahmi}]/8
\x{11000}
\x{1106f}
** Failers
\x{1104e}
/^[\p{Mandaic}]/8
\x{840}
\x{85e}
** Failers
\x{85c}
\x{85d}
/-- --/
/(\X*)(.)/s8
A\x{300}
/^S(\X*)e(\X*)$/8
Stéréo
/^\X/8
́réo
/^a\X41z/<JS>
aX41z
*** Failers
aAz
/(?<=ab\Cde)X/8
/\X/
a\P
a\P\P
/\Xa/
aa\P
aa\P\P
/\X{2}/
aa\P
aa\P\P
/\X+a/
a\P
aa\P
aa\P\P
/\X+?a/
a\P
ab\P
aa\P
aa\P\P
aba\P
/-- These Unicode 6.1.0 scripts are not known to Perl. --/
/\p{Chakma}\d/8W
\x{11100}\x{1113c}
/\p{Takri}\d/8W
\x{11680}\x{116c0}
/^\X/8
A\P
A\P\P
A\x{300}\x{301}\P
A\x{300}\x{301}\P\P
A\x{301}\P
A\x{301}\P\P
/^\X{2,3}/8
A\P
A\P\P
AA\P
AA\P\P
A\x{300}\x{301}\P
A\x{300}\x{301}\P\P
A\x{300}\x{301}A\x{300}\x{301}\P
A\x{300}\x{301}A\x{300}\x{301}\P\P
/^\X{2}/8
AA\P
AA\P\P
A\x{300}\x{301}A\x{300}\x{301}\P
A\x{300}\x{301}A\x{300}\x{301}\P\P
/^\X+/8
AA\P
AA\P\P
/^\X+?Z/8
AA\P
AA\P\P
/A\x{3a3}B/8iDZ
/\x{3a3}B/8iDZ
/[\x{3a3}]/8iBZ
/[^\x{3a3}]/8iBZ
/[\x{3a3}]+/8iBZ
/[^\x{3a3}]+/8iBZ
/a*\x{3a3}/8iBZ
/\x{3a3}+a/8iBZ
/\x{3a3}*\x{3c2}/8iBZ
/\x{3a3}{3}/8i+
\x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
/\x{3a3}{2,4}/8i+
\x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
/\x{3a3}{2,4}?/8i+
\x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
/\x{3a3}+./8i+
\x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
/\x{3a3}++./8i+
** Failers
\x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
/\x{3a3}*\x{3c2}/8iBZ
/[^\x{3a3}]*\x{3c2}/8iBZ
/[^a]*\x{3c2}/8iBZ
/ist/8iBZ
ikt
/is+t/8i
iSs\x{17f}t
ikt
/is+?t/8i
ikt
/is?t/8i
ikt
/is{2}t/8i
iskt
/-- End of testinput7 --/