PCRE version 4.4 21-August-2003

/\x{100}/8DM
Memory allocation (code space): 11
------------------------------------------------------------------
  0   7 Bra 0
  3   2 \x{100}
  7   7 Ket
 10     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 196
Need char = 128

/\x{1000}/8DM
Memory allocation (code space): 12
------------------------------------------------------------------
  0   8 Bra 0
  3   3 \x{1000}
  8   8 Ket
 11     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 225
Need char = 128

/\x{10000}/8DM
Memory allocation (code space): 13
------------------------------------------------------------------
  0   9 Bra 0
  3   4 \x{10000}
  9   9 Ket
 12     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 240
Need char = 128

/\x{100000}/8DM
Memory allocation (code space): 13
------------------------------------------------------------------
  0   9 Bra 0
  3   4 \x{100000}
  9   9 Ket
 12     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 244
Need char = 128

/\x{1000000}/8DM
Memory allocation (code space): 14
------------------------------------------------------------------
  0  10 Bra 0
  3   5 \x{1000000}
 10  10 Ket
 13     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 249
Need char = 128

/\x{4000000}/8DM
Memory allocation (code space): 15
------------------------------------------------------------------
  0  11 Bra 0
  3   6 \x{4000000}
 11  11 Ket
 14     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 252
Need char = 128

/\x{7fffFFFF}/8DM
Memory allocation (code space): 15
------------------------------------------------------------------
  0  11 Bra 0
  3   6 \x{7fffffff}
 11  11 Ket
 14     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 253
Need char = 191

/[\x{ff}]/8DM
Memory allocation (code space): 40
------------------------------------------------------------------
  0  36 Bra 0
  3     [\xff]
 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{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   7 Bra 0
  3   2 \x{80}
  7   7 Ket
 10     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 194
Need char = 128

/\xff/8D
------------------------------------------------------------------
  0   7 Bra 0
  3   2 \x{ff}
  7   7 Ket
 10     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 195
Need char = 191

/\x{0041}\x{2262}\x{0391}\x{002e}/D8
------------------------------------------------------------------
  0  12 Bra 0
  3   7 A\x{2262}\x{391}.
 12  12 Ket
 15     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  14 Bra 0
  3   9 \x{d55c}\x{ad6d}\x{c5b4}
 14  14 Ket
 17     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  14 Bra 0
  3   9 \x{65e5}\x{672c}\x{8a9e}
 14  14 Ket
 17     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   7 Bra 0
  3   2 \x{80}
  7   7 Ket
 10     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 194
Need char = 128

/\x{084}/D8
------------------------------------------------------------------
  0   7 Bra 0
  3   2 \x{84}
  7   7 Ket
 10     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 194
Need char = 132

/\x{104}/D8
------------------------------------------------------------------
  0   7 Bra 0
  3   2 \x{104}
  7   7 Ket
 10     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 196
Need char = 132

/\x{861}/D8
------------------------------------------------------------------
  0   8 Bra 0
  3   3 \x{861}
  8   8 Ket
 11     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 224
Need char = 161

/\x{212ab}/D8
------------------------------------------------------------------
  0   9 Bra 0
  3   4 \x{212ab}
  9   9 Ket
 12     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 240
Need char = 171

/.{3,5}X/D8
------------------------------------------------------------------
  0  14 Bra 0
  3     Any{3}
  7     Any{0,2}
 11   1 X
 14  14 Ket
 17     End
------------------------------------------------------------------
Capturing subpattern count = 0
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
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     [a-b]
 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 character 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
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  18 Bra 0
  3   6 Bra 1
  6     \x{100}+
  9   6 Alt
 12   1 x
 15  12 Ket
 18  18 Ket
 21     End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf8
No first char
No need char
Starting character set: x \xc4 

/(\x{100}*a|x)/8SD
------------------------------------------------------------------
  0  21 Bra 0
  3   9 Bra 1
  6     \x{100}*
  9   1 a
 12   6 Alt
 15   1 x
 18  15 Ket
 21  21 Ket
 24     End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf8
No first char
No need char
Starting character set: a x \xc4 

/(\x{100}{0,2}a|x)/8SD
------------------------------------------------------------------
  0  23 Bra 0
  3  11 Bra 1
  6     \x{100}{,2}
 11   1 a
 14   6 Alt
 17   1 x
 20  17 Ket
 23  23 Ket
 26     End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf8
No first char
No need char
Starting character set: a x \xc4 

/(\x{100}{1,2}a|x)/8SD
------------------------------------------------------------------
  0  27 Bra 0
  3  15 Bra 1
  6   2 \x{100}
 10     \x{100}{,1}
 15   1 a
 18   6 Alt
 21   1 x
 24  21 Ket
 27  27 Ket
 30     End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf8
No first char
No need char
Starting character 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   7 Bra 0
  3   2 \x{100}
  7   7 Ket
 10     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
Options: utf8
No first char
No need char

/a\x{100}*/8D
------------------------------------------------------------------
  0   9 Bra 0
  3   1 a
  6     \x{100}*
  9   9 Ket
 12     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 'a'
No need char

/ab\x{100}*/8D
------------------------------------------------------------------
  0  10 Bra 0
  3   2 ab
  7     \x{100}*
 10  10 Ket
 13     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 'a'
Need char = 'b'

/a\x{100}\x{101}*/8D
------------------------------------------------------------------
  0  11 Bra 0
  3   3 a\x{100}
  8     \x{101}*
 11  11 Ket
 14     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 'a'
Need char = 128

/a\x{100}\x{101}+/8D
------------------------------------------------------------------
  0  11 Bra 0
  3   3 a\x{100}
  8     \x{101}+
 11  11 Ket
 14     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
First char = 'a'
Need char = 129

/\x{100}*A/8D
------------------------------------------------------------------
  0   9 Bra 0
  3     \x{100}*
  6   1 A
  9   9 Ket
 12     End
------------------------------------------------------------------
Capturing subpattern count = 0
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
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-\x{100}]/8Di
------------------------------------------------------------------
  0  45 Bra 0
  3     [Zz-\xff\x{100}-\x{100}]
 45  45 Ket
 48     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: caseless 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   6 Bra 0
  3   1 \xff
  6   6 Ket
  9     End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
First char = 255
No need char
    >\xff<
 0: \xff

/[\xff]/D8
------------------------------------------------------------------
  0  36 Bra 0
  3     [\xff]
 36  36 Ket
 39     End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf8
No first char
No need char
    >\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  11 Bra 0
  3   6 \x{c3}\x{f8}xx
 11  11 Ket
 14     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

/ End of testinput5 /

