/\x{100}/8DZ ------------------------------------------------------------------ Bra \x{100} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 196 Need char = 128 /\x{1000}/8DZ ------------------------------------------------------------------ Bra \x{1000} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 225 Need char = 128 /\x{10000}/8DZ ------------------------------------------------------------------ Bra \x{10000} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 240 Need char = 128 /\x{100000}/8DZ ------------------------------------------------------------------ Bra \x{100000} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 244 Need char = 128 /\x{1000000}/8DZ ------------------------------------------------------------------ Bra \x{1000000} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 249 Need char = 128 /\x{4000000}/8DZ ------------------------------------------------------------------ Bra \x{4000000} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 252 Need char = 128 /\x{7fffFFFF}/8DZ ------------------------------------------------------------------ Bra \x{7fffffff} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 253 Need char = 191 /[\x{ff}]/8DZ ------------------------------------------------------------------ Bra \x{ff} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 195 Need char = 191 /[\x{100}]/8DZ ------------------------------------------------------------------ Bra [\x{100}] Ket 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/8DZ ------------------------------------------------------------------ Bra \x{80} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 194 Need char = 128 /\xff/8DZ ------------------------------------------------------------------ Bra \x{ff} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 195 Need char = 191 /\x{0041}\x{2262}\x{0391}\x{002e}/DZ8 ------------------------------------------------------------------ Bra A\x{2262}\x{391}. Ket 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}/DZ8 ------------------------------------------------------------------ Bra \x{d55c}\x{ad6d}\x{c5b4} Ket 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}/DZ8 ------------------------------------------------------------------ Bra \x{65e5}\x{672c}\x{8a9e} Ket 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}/DZ8 ------------------------------------------------------------------ Bra \x{80} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 194 Need char = 128 /\x{084}/DZ8 ------------------------------------------------------------------ Bra \x{84} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 194 Need char = 132 /\x{104}/DZ8 ------------------------------------------------------------------ Bra \x{104} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 196 Need char = 132 /\x{861}/DZ8 ------------------------------------------------------------------ Bra \x{861} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 224 Need char = 161 /\x{212ab}/DZ8 ------------------------------------------------------------------ Bra \x{212ab} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 240 Need char = 171 /.{3,5}X/DZ8 ------------------------------------------------------------------ Bra Any{3} Any{0,2} X Ket 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}?/DZ8 ------------------------------------------------------------------ Bra Any{3} Any{0,2}? Ket 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 value is < 255. It grumbles about invalid UTF-8 strings. --/ /^[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 character, and you can't tell the difference.) --/ /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]/8DZ ------------------------------------------------------------------ Bra ^ [ab] Ket 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]/8DZ ------------------------------------------------------------------ Bra ^ [\x00-`c-\xff] (neg) Ket 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]/8SDZ ------------------------------------------------------------------ Bra [\x00-`c-\xbf\xf1-\xff] (neg) Ket 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}/8SDZ ------------------------------------------------------------------ Bra \x{100}{3} \x{100}? Ket 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)/8SDZ ------------------------------------------------------------------ Bra CBra 1 \x{100}+ Alt x Ket Ket 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)/8SDZ ------------------------------------------------------------------ Bra CBra 1 \x{100}*+ a Alt x Ket Ket 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)/8SDZ ------------------------------------------------------------------ Bra CBra 1 \x{100}{0,2} a Alt x Ket Ket 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)/8SDZ ------------------------------------------------------------------ Bra CBra 1 \x{100} \x{100}{0,1} a Alt x Ket Ket 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}/8DZ ------------------------------------------------------------------ Bra \x{100} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 196 Need char = 128 /\x{100}*/8DZ ------------------------------------------------------------------ Bra \x{100}* Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char No need char /a\x{100}*/8DZ ------------------------------------------------------------------ Bra a \x{100}* Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 First char = 'a' No need char /ab\x{100}*/8DZ ------------------------------------------------------------------ Bra ab \x{100}* Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 First char = 'a' Need char = 'b' /a\x{100}\x{101}*/8DZ ------------------------------------------------------------------ Bra a\x{100} \x{101}* Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 First char = 'a' Need char = 128 /a\x{100}\x{101}+/8DZ ------------------------------------------------------------------ Bra a\x{100} \x{101}+ Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 First char = 'a' Need char = 129 /\x{100}*A/8DZ ------------------------------------------------------------------ Bra \x{100}*+ A Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char Need char = 'A' A 0: A /\x{100}*\d(?R)/8DZ ------------------------------------------------------------------ Bra \x{100}*+ \d Once Recurse Ket Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char No need char /[^\x{c4}]/DZ ------------------------------------------------------------------ Bra [^\xc4] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char /[^\x{c4}]/8DZ ------------------------------------------------------------------ Bra [\x00-\xc3\xc5-\xff] (neg) Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 No first char No need char /[\x{100}]/8DZ ------------------------------------------------------------------ Bra [\x{100}] Ket 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}]/8DZ ------------------------------------------------------------------ Bra [Z\x{100}] Ket 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}]/8DZ ------------------------------------------------------------------ Bra [z-\x{100}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 No first char No need char /[z\Qa-d]Ā\E]/8DZ ------------------------------------------------------------------ Bra [\-\]adz\x{100}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 No first char No need char \x{100} 0: \x{100} Ā 0: \x{100} /[\xFF]/DZ ------------------------------------------------------------------ Bra \xff Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 No options First char = 255 No need char >\xff< 0: \xff /[\xff]/DZ8 ------------------------------------------------------------------ Bra \x{ff} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 195 Need char = 191 >\x{ff}< 0: \x{ff} /[^\xFF]/DZ ------------------------------------------------------------------ Bra [^\xff] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char /[^\xff]/8DZ ------------------------------------------------------------------ Bra [\x00-\xfe] (neg) Ket 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?DZ ------------------------------------------------------------------ Bra \X{c0}\X{c0}\X{c0}xxx Ket 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 Error -10 \xf9\x87\x80\x80\x80 Error -10 \xfc\x84\x80\x80\x80\x80 Error -10 \xfd\x83\x80\x80\x80\x80 Error -10 \?\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))/8DZ ------------------------------------------------------------------ Bra \x{100}abc CBra 1 xyz Once Recurse Ket Ket Ket End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: utf8 First char = 196 Need char = 'z' /[^\x{100}]abc(xyz(?1))/8DZ ------------------------------------------------------------------ Bra [^\x{100}] abc CBra 1 xyz Once Recurse Ket Ket Ket End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: utf8 No first char Need char = 'z' /[ab\x{100}]abc(xyz(?1))/8DZ ------------------------------------------------------------------ Bra [ab\x{100}] abc CBra 1 xyz Once Recurse Ket Ket Ket End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: utf8 No first char Need char = 'z' /(\x{100}(b(?2)c))?/DZ8 ------------------------------------------------------------------ Bra Brazero CBra 1 \x{100} CBra 2 b Once Recurse Ket c Ket Ket Ket End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 No first char No need char /(\x{100}(b(?2)c)){0,2}/DZ8 ------------------------------------------------------------------ Bra Brazero Bra CBra 1 \x{100} CBra 2 b Once Recurse Ket c Ket Ket Brazero CBra 1 \x{100} CBra 2 b Once Recurse Ket c Ket Ket Ket Ket End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 No first char No need char /(\x{100}(b(?1)c))?/DZ8 ------------------------------------------------------------------ Bra Brazero CBra 1 \x{100} CBra 2 b Once Recurse Ket c Ket Ket Ket End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 No first char No need char /(\x{100}(b(?1)c)){0,2}/DZ8 ------------------------------------------------------------------ Bra Brazero Bra CBra 1 \x{100} CBra 2 b Once Recurse Ket c Ket Ket Brazero CBra 1 \x{100} CBra 2 b Once Recurse Ket c Ket Ket Ket Ket 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 /a\x{1234}b/P8 a\x{1234}b 0: a\x{1234}b /^\ሴ/8DZ ------------------------------------------------------------------ Bra ^ \x{1234} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: anchored utf8 No first char No need char /\777/I Failed: octal value is greater than \377 (not in UTF-8 mode) at offset 3 /\777/8I Capturing subpattern count = 0 Options: utf8 First char = 199 Need char = 191 \x{1ff} 0: \x{1ff} \777 0: \x{1ff} /\x{100}*\d/8DZ ------------------------------------------------------------------ Bra \x{100}*+ \d Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char No need char /\x{100}*\s/8DZ ------------------------------------------------------------------ Bra \x{100}*+ \s Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char No need char /\x{100}*\w/8DZ ------------------------------------------------------------------ Bra \x{100}*+ \w Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char No need char /\x{100}*\D/8DZ ------------------------------------------------------------------ Bra \x{100}* \D Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char No need char /\x{100}*\S/8DZ ------------------------------------------------------------------ Bra \x{100}* \S Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char No need char /\x{100}*\W/8DZ ------------------------------------------------------------------ Bra \x{100}* \W Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char No need char /\x{100}+\x{200}/8DZ ------------------------------------------------------------------ Bra \x{100}++ \x{200} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 First char = 196 Need char = 128 /\x{100}+X/8DZ ------------------------------------------------------------------ Bra \x{100}++ X Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 First char = 196 Need char = 'X' /X+\x{200}/8DZ ------------------------------------------------------------------ Bra X++ \x{200} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 First char = 'X' Need char = 128 /()()()()()()()()()() ()()()()()()()()()() ()()()()()()()()()() ()()()()()()()()()() A (x) (?41) B/8x AxxB Matched, but too many substrings 0: AxxB 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: /^[\x{100}\E-\Q\E\x{150}]/BZ8 ------------------------------------------------------------------ Bra ^ [\x{100}-\x{150}] Ket End ------------------------------------------------------------------ /^[\QĀ\E-\QŐ\E]/BZ8 ------------------------------------------------------------------ Bra ^ [\x{100}-\x{150}] Ket End ------------------------------------------------------------------ /^[\QĀ\E-\QŐ\E/BZ8 Failed: missing terminating ] for character class at offset 15 /^abc./mgx8 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK 0: abc1 0: abc2 0: abc3 0: abc4 0: abc5 0: abc6 0: abc7 0: abc8 0: abc9 /abc.$/mgx8 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9 0: abc1 0: abc2 0: abc3 0: abc4 0: abc5 0: abc6 0: abc7 0: abc8 0: abc9 /^a\Rb/8 a\nb 0: a\x{0a}b a\rb 0: a\x{0d}b a\r\nb 0: a\x{0d}\x{0a}b a\x0bb 0: a\x{0b}b a\x0cb 0: a\x{0c}b a\x{85}b 0: a\x{85}b a\x{2028}b 0: a\x{2028}b a\x{2029}b 0: a\x{2029}b ** Failers No match a\n\rb No match /^a\R*b/8 ab 0: ab a\nb 0: a\x{0a}b a\rb 0: a\x{0d}b a\r\nb 0: a\x{0d}\x{0a}b a\x0bb 0: a\x{0b}b a\x0c\x{2028}\x{2029}b 0: a\x{0c}\x{2028}\x{2029}b a\x{85}b 0: a\x{85}b a\n\rb 0: a\x{0a}\x{0d}b a\n\r\x{85}\x0cb 0: a\x{0a}\x{0d}\x{85}\x{0c}b /^a\R+b/8 a\nb 0: a\x{0a}b a\rb 0: a\x{0d}b a\r\nb 0: a\x{0d}\x{0a}b a\x0bb 0: a\x{0b}b a\x0c\x{2028}\x{2029}b 0: a\x{0c}\x{2028}\x{2029}b a\x{85}b 0: a\x{85}b a\n\rb 0: a\x{0a}\x{0d}b a\n\r\x{85}\x0cb 0: a\x{0a}\x{0d}\x{85}\x{0c}b ** Failers No match ab No match /^a\R{1,3}b/8 a\nb 0: a\x{0a}b a\n\rb 0: a\x{0a}\x{0d}b a\n\r\x{85}b 0: a\x{0a}\x{0d}\x{85}b a\r\n\r\nb 0: a\x{0d}\x{0a}\x{0d}\x{0a}b a\r\n\r\n\r\nb 0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b a\n\r\n\rb 0: a\x{0a}\x{0d}\x{0a}\x{0d}b a\n\n\r\nb 0: a\x{0a}\x{0a}\x{0d}\x{0a}b ** Failers No match a\n\n\n\rb No match a\r No match /\H\h\V\v/8 X X\x0a 0: X X\x{0a} X\x09X\x0b 0: X\x{09}X\x{0b} ** Failers No match \x{a0} X\x0a No match /\H*\h+\V?\v{3,4}/8 \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a 0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d} \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d} \x09\x20\x{a0}\x0a\x0b\x0c 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c} ** Failers No match \x09\x20\x{a0}\x0a\x0b No match /\H\h\V\v/8 \x{3001}\x{3000}\x{2030}\x{2028} 0: \x{3001}\x{3000}\x{2030}\x{2028} X\x{180e}X\x{85} 0: X\x{180e}X\x{85} ** Failers No match \x{2009} X\x0a No match /\H*\h+\V?\v{3,4}/8 \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} \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a 0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028} \x09\x20\x{202f}\x0a\x0b\x0c 0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c} ** Failers No match \x09\x{200a}\x{a0}\x{2028}\x0b No match /[\h]/8BZ ------------------------------------------------------------------ Bra [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}] Ket End ------------------------------------------------------------------ >\x{1680} 0: \x{1680} /[\h]{3,}/8BZ ------------------------------------------------------------------ Bra [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,} Ket End ------------------------------------------------------------------ >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}< 0: \x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000} /[\v]/8BZ ------------------------------------------------------------------ Bra [\x0a-\x0d\x85\x{2028}-\x{2029}] Ket End ------------------------------------------------------------------ /[\H]/8BZ ------------------------------------------------------------------ Bra [\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{7fffffff}] Ket End ------------------------------------------------------------------ /[\V]/8BZ ------------------------------------------------------------------ Bra [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{2029}-\x{7fffffff}] Ket End ------------------------------------------------------------------ /.*$/8 \x{1ec5} 0: \x{1ec5} /-- This tests the stricter UTF-8 check according to RFC 3629. --/ /X/8 \x{0}\x{d7ff}\x{e000}\x{10ffff} No match \x{d800} Error -10 \x{d800}\? No match \x{da00} Error -10 \x{da00}\? No match \x{dfff} Error -10 \x{dfff}\? No match \x{110000} Error -10 \x{110000}\? No match \x{2000000} Error -10 \x{2000000}\? No match \x{7fffffff} Error -10 \x{7fffffff}\? No match /a\Rb/I8 Capturing subpattern count = 0 Options: bsr_anycrlf utf8 First char = 'a' Need char = 'b' a\rb 0: a\x{0d}b a\nb 0: a\x{0a}b a\r\nb 0: a\x{0d}\x{0a}b ** Failers No match a\x{85}b No match a\x0bb No match /a\Rb/I8 Capturing subpattern count = 0 Options: bsr_unicode utf8 First char = 'a' Need char = 'b' a\rb 0: a\x{0d}b a\nb 0: a\x{0a}b a\r\nb 0: a\x{0d}\x{0a}b a\x{85}b 0: a\x{85}b a\x0bb 0: a\x{0b}b ** Failers No match a\x{85}b\ No match a\x0bb\ No match /a\R?b/I8 Capturing subpattern count = 0 Options: bsr_anycrlf utf8 First char = 'a' Need char = 'b' a\rb 0: a\x{0d}b a\nb 0: a\x{0a}b a\r\nb 0: a\x{0d}\x{0a}b ** Failers No match a\x{85}b No match a\x0bb No match /a\R?b/I8 Capturing subpattern count = 0 Options: bsr_unicode utf8 First char = 'a' Need char = 'b' a\rb 0: a\x{0d}b a\nb 0: a\x{0a}b a\r\nb 0: a\x{0d}\x{0a}b a\x{85}b 0: a\x{85}b a\x0bb 0: a\x{0b}b ** Failers No match a\x{85}b\ No match a\x0bb\ No match /.*a.*=.b.*/8 QQQ\x{2029}ABCaXYZ=!bPQR 0: ABCaXYZ=!bPQR ** Failers No match a\x{2029}b No match \x61\xe2\x80\xa9\x62 No match /[[:a\x{100}b:]]/8 Failed: unknown POSIX class name at offset 3 / End of testinput5 /