blob: b010957bc5207a4a6f866c1809c00c747e6a47c5 [file] [log] [blame]
PCRE version 5.0 13-Sep-2004
/\x{100}/8DM
Memory allocation (code space): 10
------------------------------------------------------------------
0 6 Bra 0
3 \x{100}
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 196
Need char = 128
/\x{1000}/8DM
Memory allocation (code space): 11
------------------------------------------------------------------
0 7 Bra 0
3 \x{1000}
7 7 Ket
10 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 225
Need char = 128
/\x{10000}/8DM
Memory allocation (code space): 12
------------------------------------------------------------------
0 8 Bra 0
3 \x{10000}
8 8 Ket
11 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 240
Need char = 128
/\x{100000}/8DM
Memory allocation (code space): 12
------------------------------------------------------------------
0 8 Bra 0
3 \x{100000}
8 8 Ket
11 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 244
Need char = 128
/\x{1000000}/8DM
Memory allocation (code space): 13
------------------------------------------------------------------
0 9 Bra 0
3 \x{1000000}
9 9 Ket
12 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 249
Need char = 128
/\x{4000000}/8DM
Memory allocation (code space): 14
------------------------------------------------------------------
0 10 Bra 0
3 \x{4000000}
10 10 Ket
13 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 252
Need char = 128
/\x{7fffFFFF}/8DM
Memory allocation (code space): 14
------------------------------------------------------------------
0 10 Bra 0
3 \x{7fffffff}
10 10 Ket
13 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 253
Need char = 191
/[\x{ff}]/8DM
Memory allocation (code space): 10
------------------------------------------------------------------
0 6 Bra 0
3 \x{ff}
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 195
Need char = 191
/[\x{100}]/8DM
Memory allocation (code space): 47
------------------------------------------------------------------
0 11 Bra 0
3 [\x{100}]
11 11 Ket
14 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
/\x{ffffffff}/8
Failed: character value in \x{...} sequence is too large at offset 11
/\x{100000000}/8
Failed: character value in \x{...} sequence is too large at offset 12
/^\x{100}a\x{1234}/8
\x{100}a\x{1234}bcd
0: \x{100}a\x{1234}
/\x80/8D
------------------------------------------------------------------
0 6 Bra 0
3 \x{80}
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 194
Need char = 128
/\xff/8D
------------------------------------------------------------------
0 6 Bra 0
3 \x{ff}
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 195
Need char = 191
/\x{0041}\x{2262}\x{0391}\x{002e}/D8
------------------------------------------------------------------
0 14 Bra 0
3 A\x{2262}\x{391}.
14 14 Ket
17 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 'A'
Need char = '.'
\x{0041}\x{2262}\x{0391}\x{002e}
0: A\x{2262}\x{391}.
/\x{D55c}\x{ad6d}\x{C5B4}/D8
------------------------------------------------------------------
0 15 Bra 0
3 \x{d55c}\x{ad6d}\x{c5b4}
15 15 Ket
18 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 237
Need char = 180
\x{D55c}\x{ad6d}\x{C5B4}
0: \x{d55c}\x{ad6d}\x{c5b4}
/\x{65e5}\x{672c}\x{8a9e}/D8
------------------------------------------------------------------
0 15 Bra 0
3 \x{65e5}\x{672c}\x{8a9e}
15 15 Ket
18 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 230
Need char = 158
\x{65e5}\x{672c}\x{8a9e}
0: \x{65e5}\x{672c}\x{8a9e}
/\x{80}/D8
------------------------------------------------------------------
0 6 Bra 0
3 \x{80}
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 194
Need char = 128
/\x{084}/D8
------------------------------------------------------------------
0 6 Bra 0
3 \x{84}
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 194
Need char = 132
/\x{104}/D8
------------------------------------------------------------------
0 6 Bra 0
3 \x{104}
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 196
Need char = 132
/\x{861}/D8
------------------------------------------------------------------
0 7 Bra 0
3 \x{861}
7 7 Ket
10 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 224
Need char = 161
/\x{212ab}/D8
------------------------------------------------------------------
0 8 Bra 0
3 \x{212ab}
8 8 Ket
11 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 240
Need char = 171
/.{3,5}X/D8
------------------------------------------------------------------
0 13 Bra 0
3 Any{3}
7 Any{0,2}
11 X
13 13 Ket
16 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
No first char
Need char = 'X'
\x{212ab}\x{212ab}\x{212ab}\x{861}X
0: \x{212ab}\x{212ab}\x{212ab}\x{861}X
/.{3,5}?/D8
------------------------------------------------------------------
0 11 Bra 0
3 Any{3}
7 Any{0,2}?
11 11 Ket
14 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
No first char
No need char
\x{212ab}\x{212ab}\x{212ab}\x{861}
0: \x{212ab}\x{212ab}\x{212ab}
/-- These tests are here rather than in testinput4 because Perl 5.6 has --/
/-- some problems with UTF-8 support, in the area of \x{..} where the --/
No match
/-- value is < 255. It grumbles about invalid UTF-8 strings. --/
No match
/^[a\x{c0}]b/8
\x{c0}b
0: \x{c0}b
/^([a\x{c0}]*?)aa/8
a\x{c0}aaaa/
0: a\x{c0}aa
1: a\x{c0}
/^([a\x{c0}]*?)aa/8
a\x{c0}aaaa/
0: a\x{c0}aa
1: a\x{c0}
a\x{c0}a\x{c0}aaa/
0: a\x{c0}a\x{c0}aa
1: a\x{c0}a\x{c0}
/^([a\x{c0}]*)aa/8
a\x{c0}aaaa/
0: a\x{c0}aaaa
1: a\x{c0}aa
a\x{c0}a\x{c0}aaa/
0: a\x{c0}a\x{c0}aaa
1: a\x{c0}a\x{c0}a
/^([a\x{c0}]*)a\x{c0}/8
a\x{c0}aaaa/
0: a\x{c0}
1:
a\x{c0}a\x{c0}aaa/
0: a\x{c0}a\x{c0}
1: a\x{c0}
/-- --/
/(?<=\C)X/8
Failed: \C not allowed in lookbehind assertion at offset 6
/-- This one is here not because it's different to Perl, but because the --/
/-- way the captured single-byte is displayed. (In Perl it becomes a --/
No match
/-- character, and you can't tell the difference.) --/
No match
/X(\C)(.*)/8
X\x{1234}
0: X\x{1234}
1: \xe1
2: \x88\xb4
X\nabc
0: X\x{0a}abc
1: \x{0a}
2: abc
/^[ab]/8D
------------------------------------------------------------------
0 37 Bra 0
3 ^
4 [ab]
37 37 Ket
40 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: anchored utf8
No first char
No need char
bar
0: b
*** Failers
No match
c
No match
\x{ff}
No match
\x{100}
No match
/^[^ab]/8D
------------------------------------------------------------------
0 37 Bra 0
3 ^
4 [\x00-`c-\xff] (neg)
37 37 Ket
40 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: anchored utf8
No first char
No need char
c
0: c
\x{ff}
0: \x{ff}
\x{100}
0: \x{100}
*** Failers
0: *
aaa
No match
/[^ab\xC0-\xF0]/8SD
------------------------------------------------------------------
0 36 Bra 0
3 [\x00-`c-\xbf\xf1-\xff] (neg)
36 36 Ket
39 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
Starting byte set: \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
Z [ \ ] ^ _ ` 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
\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
\x{f1}
0: \x{f1}
\x{bf}
0: \x{bf}
\x{100}
0: \x{100}
\x{1000}
0: \x{1000}
*** Failers
0: *
\x{c0}
No match
\x{f0}
No match
/Ā{3,4}/8SD
------------------------------------------------------------------
0 13 Bra 0
3 \x{100}{3}
8 \x{100}{,1}
13 13 Ket
16 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
First char = 196
Need char = 128
Study returned NULL
\x{100}\x{100}\x{100}\x{100\x{100}
0: \x{100}\x{100}\x{100}
/(\x{100}+|x)/8SD
------------------------------------------------------------------
0 17 Bra 0
3 6 Bra 1
6 \x{100}+
9 5 Alt
12 x
14 11 Ket
17 17 Ket
20 End
------------------------------------------------------------------
Capturing subpattern count = 1
Partial matching not supported
Options: utf8
No first char
No need char
Starting byte set: x \xc4
/(\x{100}*a|x)/8SD
------------------------------------------------------------------
0 19 Bra 0
3 8 Bra 1
6 \x{100}*
9 a
11 5 Alt
14 x
16 13 Ket
19 19 Ket
22 End
------------------------------------------------------------------
Capturing subpattern count = 1
Partial matching not supported
Options: utf8
No first char
No need char
Starting byte set: a x \xc4
/(\x{100}{0,2}a|x)/8SD
------------------------------------------------------------------
0 21 Bra 0
3 10 Bra 1
6 \x{100}{,2}
11 a
13 5 Alt
16 x
18 15 Ket
21 21 Ket
24 End
------------------------------------------------------------------
Capturing subpattern count = 1
Partial matching not supported
Options: utf8
No first char
No need char
Starting byte set: a x \xc4
/(\x{100}{1,2}a|x)/8SD
------------------------------------------------------------------
0 24 Bra 0
3 13 Bra 1
6 \x{100}
9 \x{100}{,1}
14 a
16 5 Alt
19 x
21 18 Ket
24 24 Ket
27 End
------------------------------------------------------------------
Capturing subpattern count = 1
Partial matching not supported
Options: utf8
No first char
No need char
Starting byte set: x \xc4
/\x{100}*(\d+|"(?1)")/8
1234
0: 1234
1: 1234
"1234"
0: "1234"
1: "1234"
\x{100}1234
0: \x{100}1234
1: 1234
"\x{100}1234"
0: \x{100}1234
1: 1234
\x{100}\x{100}12ab
0: \x{100}\x{100}12
1: 12
\x{100}\x{100}"12"
0: \x{100}\x{100}"12"
1: "12"
*** Failers
No match
\x{100}\x{100}abcd
No match
/\x{100}/8D
------------------------------------------------------------------
0 6 Bra 0
3 \x{100}
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 196
Need char = 128
/\x{100}*/8D
------------------------------------------------------------------
0 6 Bra 0
3 \x{100}*
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
No first char
No need char
/a\x{100}*/8D
------------------------------------------------------------------
0 8 Bra 0
3 a
5 \x{100}*
8 8 Ket
11 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
First char = 'a'
No need char
/ab\x{100}*/8D
------------------------------------------------------------------
0 10 Bra 0
3 ab
7 \x{100}*
10 10 Ket
13 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
First char = 'a'
Need char = 'b'
/a\x{100}\x{101}*/8D
------------------------------------------------------------------
0 11 Bra 0
3 a\x{100}
8 \x{101}*
11 11 Ket
14 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
First char = 'a'
Need char = 128
/a\x{100}\x{101}+/8D
------------------------------------------------------------------
0 11 Bra 0
3 a\x{100}
8 \x{101}+
11 11 Ket
14 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
First char = 'a'
Need char = 129
/\x{100}*A/8D
------------------------------------------------------------------
0 8 Bra 0
3 \x{100}*
6 A
8 8 Ket
11 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
No first char
Need char = 'A'
A
0: A
/\x{100}*\d(?R)/8D
------------------------------------------------------------------
0 10 Bra 0
3 \x{100}*
6 \d
7 0 Recurse
10 10 Ket
13 End
------------------------------------------------------------------
Capturing subpattern count = 0
Partial matching not supported
Options: utf8
No first char
No need char
/[^\x{c4}]/D
------------------------------------------------------------------
0 36 Bra 0
3 [\x01-35-bd-z|~-\xff] (neg)
36 36 Ket
39 End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
No first char
No need char
/[^\x{c4}]/8D
------------------------------------------------------------------
0 36 Bra 0
3 [\x00-\xc3\xc5-\xff] (neg)
36 36 Ket
39 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
/[\x{100}]/8DM
Memory allocation (code space): 47
------------------------------------------------------------------
0 11 Bra 0
3 [\x{100}]
11 11 Ket
14 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
\x{100}
0: \x{100}
Z\x{100}
0: \x{100}
\x{100}Z
0: \x{100}
*** Failers
No match
/[Z\x{100}]/8DM
Memory allocation (code space): 47
------------------------------------------------------------------
0 43 Bra 0
3 [Z\x{100}]
43 43 Ket
46 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
Z\x{100}
0: Z
\x{100}
0: \x{100}
\x{100}Z
0: \x{100}
*** Failers
No match
/[\x{200}-\x{100}]/8
Failed: range out of order in character class at offset 15
/[Ā-Ą]/8
\x{100}
0: \x{100}
\x{104}
0: \x{104}
*** Failers
No match
\x{105}
No match
\x{ff}
No match
/[z-\x{100}]/8D
------------------------------------------------------------------
0 12 Bra 0
3 [z-\x{100}]
12 12 Ket
15 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
/[z\Qa-d]Ā\E]/8D
------------------------------------------------------------------
0 43 Bra 0
3 [\-\]adz\x{100}]
43 43 Ket
46 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
\x{100}
0: \x{100}
Ā
0: \x{100}
/[\xFF]/D
------------------------------------------------------------------
0 5 Bra 0
3 \xff
5 5 Ket
8 End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
First char = 255
No need char
>\xff<
0: \xff
/[\xff]/D8
------------------------------------------------------------------
0 6 Bra 0
3 \x{ff}
6 6 Ket
9 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 195
Need char = 191
>\x{ff}<
0: \x{ff}
/[^\xFF]/D
------------------------------------------------------------------
0 5 Bra 0
3 [^\xff]
5 5 Ket
8 End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
No first char
No need char
/[^\xff]/8D
------------------------------------------------------------------
0 36 Bra 0
3 [\x00-\xfe] (neg)
36 36 Ket
39 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
/[Ä-Ü]/8
Ö # Matches without Study
0: \x{d6}
\x{d6}
0: \x{d6}
/[Ä-Ü]/8S
Ö <-- Same with Study
0: \x{d6}
\x{d6}
0: \x{d6}
/[\x{c4}-\x{dc}]/8
Ö # Matches without Study
0: \x{d6}
\x{d6}
0: \x{d6}
/[\x{c4}-\x{dc}]/8S
Ö <-- Same with Study
0: \x{d6}
\x{d6}
0: \x{d6}
/[Ã]/8
Failed: invalid UTF-8 string at offset 2
/Ã/8
Failed: invalid UTF-8 string at offset 0
/ÃÃÃxxx/8
Failed: invalid UTF-8 string at offset 1
/ÃÃÃxxx/8?D
------------------------------------------------------------------
0 15 Bra 0
3 \X{c0}\X{c0}\X{c0}xxx
15 15 Ket
18 End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8 no_utf8_check
First char = 195
Need char = 'x'
/abc/8
Ã]
Error -10
Ã
Error -10
ÃÃÃ
Error -10
ÃÃÃ\?
No match
/anything/8
\xc0\x80
Error -10
\xc1\x8f
Error -10
\xe0\x9f\x80
Error -10
\xf0\x8f\x80\x80
Error -10
\xf8\x87\x80\x80\x80
Error -10
\xfc\x83\x80\x80\x80\x80
Error -10
\xfe\x80\x80\x80\x80\x80
Error -10
\xff\x80\x80\x80\x80\x80
Error -10
\xc3\x8f
No match
\xe0\xaf\x80
No match
\xe1\x80\x80
No match
\xf0\x9f\x80\x80
No match
\xf1\x8f\x80\x80
No match
\xf8\x88\x80\x80\x80
No match
\xf9\x87\x80\x80\x80
No match
\xfc\x84\x80\x80\x80\x80
No match
\xfd\x83\x80\x80\x80\x80
No match
/\x{100}abc(xyz(?1))/8D
------------------------------------------------------------------
0 27 Bra 0
3 \x{100}abc
12 12 Bra 1
15 xyz
21 12 Recurse
24 12 Ket
27 27 Ket
30 End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf8
First char = 196
Need char = 'z'
/[^\x{100}]abc(xyz(?1))/8D
------------------------------------------------------------------
0 32 Bra 0
3 [^\x{100}]
11 abc
17 12 Bra 1
20 xyz
26 17 Recurse
29 12 Ket
32 32 Ket
35 End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf8
No first char
Need char = 'z'
/[ab\x{100}]abc(xyz(?1))/8D
------------------------------------------------------------------
0 64 Bra 0
3 [ab\x{100}]
43 abc
49 12 Bra 1
52 xyz
58 49 Recurse
61 12 Ket
64 64 Ket
67 End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf8
No first char
Need char = 'z'
/(\x{100}(b(?2)c))?/D8
------------------------------------------------------------------
0 26 Bra 0
3 Brazero
4 19 Bra 1
7 \x{100}
10 10 Bra 2
13 b
15 10 Recurse
18 c
20 10 Ket
23 19 Ket
26 26 Ket
29 End
------------------------------------------------------------------
Capturing subpattern count = 2
Options: utf8
No first char
No need char
/(\x{100}(b(?2)c)){0,2}/D8
------------------------------------------------------------------
0 55 Bra 0
3 Brazero
4 48 Bra 0
7 19 Bra 1
10 \x{100}
13 10 Bra 2
16 b
18 13 Recurse
21 c
23 10 Ket
26 19 Ket
29 Brazero
30 19 Bra 1
33 \x{100}
36 10 Bra 2
39 b
41 13 Recurse
44 c
46 10 Ket
49 19 Ket
52 48 Ket
55 55 Ket
58 End
------------------------------------------------------------------
Capturing subpattern count = 2
Options: utf8
No first char
No need char
/(\x{100}(b(?1)c))?/D8
------------------------------------------------------------------
0 26 Bra 0
3 Brazero
4 19 Bra 1
7 \x{100}
10 10 Bra 2
13 b
15 4 Recurse
18 c
20 10 Ket
23 19 Ket
26 26 Ket
29 End
------------------------------------------------------------------
Capturing subpattern count = 2
Options: utf8
No first char
No need char
/(\x{100}(b(?1)c)){0,2}/D8
------------------------------------------------------------------
0 55 Bra 0
3 Brazero
4 48 Bra 0
7 19 Bra 1
10 \x{100}
13 10 Bra 2
16 b
18 7 Recurse
21 c
23 10 Ket
26 19 Ket
29 Brazero
30 19 Bra 1
33 \x{100}
36 10 Bra 2
39 b
41 7 Recurse
44 c
46 10 Ket
49 19 Ket
52 48 Ket
55 55 Ket
58 End
------------------------------------------------------------------
Capturing subpattern count = 2
Options: utf8
No first char
No need char
/\W/8
A.B
0: .
A\x{100}B
0: \x{100}
/\w/8
\x{100}X
0: X
/ End of testinput5 /