aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test/re_SUITE_data/testoutput5
diff options
context:
space:
mode:
authorPatrik Nyblom <[email protected]>2013-07-19 17:52:05 +0200
committerPatrik Nyblom <[email protected]>2013-08-06 16:19:38 +0200
commit85290986334d2eb781eb9135277593a5613fa3c5 (patch)
treedb891eec3b69538db0ec1f62556712e33b2b3dc7 /lib/stdlib/test/re_SUITE_data/testoutput5
parent6138bb612cd23c0ca37faadbe3fc9944be275228 (diff)
downloadotp-85290986334d2eb781eb9135277593a5613fa3c5.tar.gz
otp-85290986334d2eb781eb9135277593a5613fa3c5.tar.bz2
otp-85290986334d2eb781eb9135277593a5613fa3c5.zip
Integrate new PCRE test suites
The relevant testoutputNN files were copied from the PCRE distribution and some corrections were done to run_pcre_tests.erl. Also made test generator be more compiler friendly The re_testoutput1_replacement_test and re_testoutput1_split_test modules that are generated by run_pcre_tests.erl (offline, when a new version of PCRE is integrated in the VM) took forever to compile, as one single huge function contained all the tests. The autogenerated tests are now split into ~50 functions, which reduces compile time to approximately a third. New automatic test suites are also generated from the new testoutputNN files, and checked in.
Diffstat (limited to 'lib/stdlib/test/re_SUITE_data/testoutput5')
-rw-r--r--lib/stdlib/test/re_SUITE_data/testoutput51764
1 files changed, 1001 insertions, 763 deletions
diff --git a/lib/stdlib/test/re_SUITE_data/testoutput5 b/lib/stdlib/test/re_SUITE_data/testoutput5
index abbe1c87de..d583119dd9 100644
--- a/lib/stdlib/test/re_SUITE_data/testoutput5
+++ b/lib/stdlib/test/re_SUITE_data/testoutput5
@@ -1,110 +1,9 @@
-/\x{100}/8DZ
-------------------------------------------------------------------
- Bra
- \x{100}
- Ket
- End
-------------------------------------------------------------------
-Capturing subpattern count = 0
-Options: utf8
-First char = 196
-Need char = 128
+/-- This set of tests checks the API, internals, and non-Perl stuff for UTF
+ support, excluding Unicode properties. However, tests that give different
+ results in 8-bit and 16-bit modes are excluded (see tests 16 and 17). --/
-/\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{110000}/8DZ
+Failed: character value in \x{...} sequence is too large at offset 9
/\x{ffffffff}/8
Failed: character value in \x{...} sequence is too large at offset 11
@@ -112,34 +11,20 @@ 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{d800}/8
+Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
+
+/\x{dfff}/8
+Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
+
+/\x{d7ff}/8
+
+/\x{e000}/8
+
/^\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
@@ -148,100 +33,12 @@ Need char = 191
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Options: utf8
+Options: utf
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
@@ -252,14 +49,12 @@ Need char = 171
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
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
@@ -269,69 +64,15 @@ Need char = 'X'
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
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
@@ -341,7 +82,7 @@ can't tell the difference.) --/
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Options: anchored utf8
+Options: anchored utf
No first char
No need char
bar
@@ -364,7 +105,7 @@ No match
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Options: anchored utf8
+Options: anchored utf
No first char
No need char
c
@@ -378,135 +119,6 @@ No need char
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
@@ -531,18 +143,6 @@ 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
@@ -551,8 +151,7 @@ Need char = 128
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
No first char
No need char
@@ -565,8 +164,7 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
First char = 'a'
No need char
@@ -579,39 +177,10 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
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
@@ -621,8 +190,7 @@ Need char = 129
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
No first char
Need char = 'A'
A
@@ -633,61 +201,14 @@ Need char = 'A'
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
+Options: utf
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
------------------------------------------------------------------
@@ -697,7 +218,7 @@ No match
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Options: utf8
+Options: utf
No first char
No need char
Z\x{100}
@@ -732,7 +253,7 @@ No match
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Options: utf8
+Options: utf
No first char
No need char
@@ -744,7 +265,7 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Options: utf8
+Options: utf
No first char
No need char
\x{100}
@@ -755,35 +276,21 @@ No need char
/[\xFF]/DZ
------------------------------------------------------------------
Bra
- \xff
+ \x{ff}
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
-First char = 255
+First char = \xff
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]
+ [^\x{ff}]
Ket
End
------------------------------------------------------------------
@@ -792,18 +299,6 @@ 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}
@@ -828,99 +323,6 @@ No need char
\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
@@ -928,15 +330,13 @@ Need char = 'z'
abc
CBra 1
xyz
- Once
Recurse
Ket
Ket
- Ket
End
------------------------------------------------------------------
Capturing subpattern count = 1
-Options: utf8
+Options: utf
No first char
Need char = 'z'
@@ -947,15 +347,13 @@ Need char = 'z'
abc
CBra 1
xyz
- Once
Recurse
Ket
Ket
- Ket
End
------------------------------------------------------------------
Capturing subpattern count = 1
-Options: utf8
+Options: utf
No first char
Need char = 'z'
@@ -967,9 +365,7 @@ Need char = 'z'
\x{100}
CBra 2
b
- Once
Recurse
- Ket
c
Ket
Ket
@@ -977,7 +373,7 @@ Need char = 'z'
End
------------------------------------------------------------------
Capturing subpattern count = 2
-Options: utf8
+Options: utf
No first char
No need char
@@ -990,9 +386,7 @@ No need char
\x{100}
CBra 2
b
- Once
Recurse
- Ket
c
Ket
Ket
@@ -1001,9 +395,7 @@ No need char
\x{100}
CBra 2
b
- Once
Recurse
- Ket
c
Ket
Ket
@@ -1012,7 +404,7 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 2
-Options: utf8
+Options: utf
No first char
No need char
@@ -1024,9 +416,7 @@ No need char
\x{100}
CBra 2
b
- Once
Recurse
- Ket
c
Ket
Ket
@@ -1034,7 +424,7 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 2
-Options: utf8
+Options: utf
No first char
No need char
@@ -1047,9 +437,7 @@ No need char
\x{100}
CBra 2
b
- Once
Recurse
- Ket
c
Ket
Ket
@@ -1058,9 +446,7 @@ No need char
\x{100}
CBra 2
b
- Once
Recurse
- Ket
c
Ket
Ket
@@ -1069,7 +455,7 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 2
-Options: utf8
+Options: utf
No first char
No need char
@@ -1083,10 +469,6 @@ No need char
\x{100}X
0: X
-/a\x{1234}b/P8
- a\x{1234}b
- 0: a\x{1234}b
-
/^\ሴ/8DZ
------------------------------------------------------------------
Bra
@@ -1096,23 +478,10 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Options: anchored utf8
+Options: anchored utf
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
@@ -1122,8 +491,7 @@ Need char = 191
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
No first char
No need char
@@ -1136,8 +504,7 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
No first char
No need char
@@ -1150,8 +517,7 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
No first char
No need char
@@ -1164,8 +530,7 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
No first char
No need char
@@ -1178,8 +543,7 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
No first char
No need char
@@ -1192,53 +556,10 @@ No need char
End
------------------------------------------------------------------
Capturing subpattern count = 0
-Partial matching not supported
-Options: utf8
+Options: utf
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
-
/()()()()()()()()()()
()()()()()()()()()()
()()()()()()()()()()
@@ -1280,9 +601,6 @@ Matched, but too many substrings
End
------------------------------------------------------------------
-/^[\QĀ\E-\QŐ\E/BZ8
-Failed: missing terminating ] for character class at offset 15
-
/^abc./mgx8<any>
abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
0: abc1
@@ -1468,7 +786,7 @@ No match
/[\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}]
+ [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\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{10ffff}]
Ket
End
------------------------------------------------------------------
@@ -1476,7 +794,7 @@ No match
/[\V]/8BZ
------------------------------------------------------------------
Bra
- [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{2029}-\x{7fffffff}]
+ [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}]
Ket
End
------------------------------------------------------------------
@@ -1485,39 +803,9 @@ No match
\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<bsr_anycrlf>
Capturing subpattern count = 0
-Options: bsr_anycrlf utf8
+Options: bsr_anycrlf utf
First char = 'a'
Need char = 'b'
a\rb
@@ -1535,7 +823,7 @@ No match
/a\Rb/I8<bsr_unicode>
Capturing subpattern count = 0
-Options: bsr_unicode utf8
+Options: bsr_unicode utf
First char = 'a'
Need char = 'b'
a\rb
@@ -1557,7 +845,7 @@ No match
/a\R?b/I8<bsr_anycrlf>
Capturing subpattern count = 0
-Options: bsr_anycrlf utf8
+Options: bsr_anycrlf utf
First char = 'a'
Need char = 'b'
a\rb
@@ -1575,7 +863,7 @@ No match
/a\R?b/I8<bsr_unicode>
Capturing subpattern count = 0
-Options: bsr_unicode utf8
+Options: bsr_unicode utf
First char = 'a'
Need char = 'b'
a\rb
@@ -1608,4 +896,954 @@ No match
/[[:a\x{100}b:]]/8
Failed: unknown POSIX class name at offset 3
-/ End of testinput5 /
+/a[^]b/<JS>8
+ a\x{1234}b
+ 0: a\x{1234}b
+ a\nb
+ 0: a\x{0a}b
+ ** Failers
+No match
+ ab
+No match
+
+/a[^]+b/<JS>8
+ aXb
+ 0: aXb
+ a\nX\nX\x{1234}b
+ 0: a\x{0a}X\x{0a}X\x{1234}b
+ ** Failers
+No match
+ ab
+No match
+
+/(\x{de})\1/
+ \x{de}\x{de}
+ 0: \xde\xde
+ 1: \xde
+
+/X/8f<any>
+ A\x{1ec5}ABCXYZ
+ 0: X
+
+/Xa{2,4}b/8
+ X\P
+Partial match: X
+ Xa\P
+Partial match: Xa
+ Xaa\P
+Partial match: Xaa
+ Xaaa\P
+Partial match: Xaaa
+ Xaaaa\P
+Partial match: Xaaaa
+
+/Xa{2,4}?b/8
+ X\P
+Partial match: X
+ Xa\P
+Partial match: Xa
+ Xaa\P
+Partial match: Xaa
+ Xaaa\P
+Partial match: Xaaa
+ Xaaaa\P
+Partial match: Xaaaa
+
+/Xa{2,4}+b/8
+ X\P
+Partial match: X
+ Xa\P
+Partial match: Xa
+ Xaa\P
+Partial match: Xaa
+ Xaaa\P
+Partial match: Xaaa
+ Xaaaa\P
+Partial match: Xaaaa
+
+/X\x{123}{2,4}b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X\x{123}{2,4}?b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X\x{123}{2,4}+b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X\x{123}{2,4}b/8
+ Xx\P
+No match
+ X\x{123}x\P
+No match
+ X\x{123}\x{123}x\P
+No match
+ X\x{123}\x{123}\x{123}x\P
+No match
+ X\x{123}\x{123}\x{123}\x{123}x\P
+No match
+
+/X\x{123}{2,4}?b/8
+ Xx\P
+No match
+ X\x{123}x\P
+No match
+ X\x{123}\x{123}x\P
+No match
+ X\x{123}\x{123}\x{123}x\P
+No match
+ X\x{123}\x{123}\x{123}\x{123}x\P
+No match
+
+/X\x{123}{2,4}+b/8
+ Xx\P
+No match
+ X\x{123}x\P
+No match
+ X\x{123}\x{123}x\P
+No match
+ X\x{123}\x{123}\x{123}x\P
+No match
+ X\x{123}\x{123}\x{123}\x{123}x\P
+No match
+
+/X\d{2,4}b/8
+ X\P
+Partial match: X
+ X3\P
+Partial match: X3
+ X33\P
+Partial match: X33
+ X333\P
+Partial match: X333
+ X3333\P
+Partial match: X3333
+
+/X\d{2,4}?b/8
+ X\P
+Partial match: X
+ X3\P
+Partial match: X3
+ X33\P
+Partial match: X33
+ X333\P
+Partial match: X333
+ X3333\P
+Partial match: X3333
+
+/X\d{2,4}+b/8
+ X\P
+Partial match: X
+ X3\P
+Partial match: X3
+ X33\P
+Partial match: X33
+ X333\P
+Partial match: X333
+ X3333\P
+Partial match: X3333
+
+/X\D{2,4}b/8
+ X\P
+Partial match: X
+ Xa\P
+Partial match: Xa
+ Xaa\P
+Partial match: Xaa
+ Xaaa\P
+Partial match: Xaaa
+ Xaaaa\P
+Partial match: Xaaaa
+
+/X\D{2,4}?b/8
+ X\P
+Partial match: X
+ Xa\P
+Partial match: Xa
+ Xaa\P
+Partial match: Xaa
+ Xaaa\P
+Partial match: Xaaa
+ Xaaaa\P
+Partial match: Xaaaa
+
+/X\D{2,4}+b/8
+ X\P
+Partial match: X
+ Xa\P
+Partial match: Xa
+ Xaa\P
+Partial match: Xaa
+ Xaaa\P
+Partial match: Xaaa
+ Xaaaa\P
+Partial match: Xaaaa
+
+/X\D{2,4}b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X\D{2,4}?b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X\D{2,4}+b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X[abc]{2,4}b/8
+ X\P
+Partial match: X
+ Xa\P
+Partial match: Xa
+ Xaa\P
+Partial match: Xaa
+ Xaaa\P
+Partial match: Xaaa
+ Xaaaa\P
+Partial match: Xaaaa
+
+/X[abc]{2,4}?b/8
+ X\P
+Partial match: X
+ Xa\P
+Partial match: Xa
+ Xaa\P
+Partial match: Xaa
+ Xaaa\P
+Partial match: Xaaa
+ Xaaaa\P
+Partial match: Xaaaa
+
+/X[abc]{2,4}+b/8
+ X\P
+Partial match: X
+ Xa\P
+Partial match: Xa
+ Xaa\P
+Partial match: Xaa
+ Xaaa\P
+Partial match: Xaaa
+ Xaaaa\P
+Partial match: Xaaaa
+
+/X[abc\x{123}]{2,4}b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X[abc\x{123}]{2,4}?b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X[abc\x{123}]{2,4}+b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X[^a]{2,4}b/8
+ X\P
+Partial match: X
+ Xz\P
+Partial match: Xz
+ Xzz\P
+Partial match: Xzz
+ Xzzz\P
+Partial match: Xzzz
+ Xzzzz\P
+Partial match: Xzzzz
+
+/X[^a]{2,4}?b/8
+ X\P
+Partial match: X
+ Xz\P
+Partial match: Xz
+ Xzz\P
+Partial match: Xzz
+ Xzzz\P
+Partial match: Xzzz
+ Xzzzz\P
+Partial match: Xzzzz
+
+/X[^a]{2,4}+b/8
+ X\P
+Partial match: X
+ Xz\P
+Partial match: Xz
+ Xzz\P
+Partial match: Xzz
+ Xzzz\P
+Partial match: Xzzz
+ Xzzzz\P
+Partial match: Xzzzz
+
+/X[^a]{2,4}b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X[^a]{2,4}?b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/X[^a]{2,4}+b/8
+ X\P
+Partial match: X
+ X\x{123}\P
+Partial match: X\x{123}
+ X\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}
+ X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: X\x{123}\x{123}\x{123}\x{123}
+
+/(Y)X\1{2,4}b/8
+ YX\P
+Partial match: YX
+ YXY\P
+Partial match: YXY
+ YXYY\P
+Partial match: YXYY
+ YXYYY\P
+Partial match: YXYYY
+ YXYYYY\P
+Partial match: YXYYYY
+
+/(Y)X\1{2,4}?b/8
+ YX\P
+Partial match: YX
+ YXY\P
+Partial match: YXY
+ YXYY\P
+Partial match: YXYY
+ YXYYY\P
+Partial match: YXYYY
+ YXYYYY\P
+Partial match: YXYYYY
+
+/(Y)X\1{2,4}+b/8
+ YX\P
+Partial match: YX
+ YXY\P
+Partial match: YXY
+ YXYY\P
+Partial match: YXYY
+ YXYYY\P
+Partial match: YXYYY
+ YXYYYY\P
+Partial match: YXYYYY
+
+/(\x{123})X\1{2,4}b/8
+ \x{123}X\P
+Partial match: \x{123}X
+ \x{123}X\x{123}\P
+Partial match: \x{123}X\x{123}
+ \x{123}X\x{123}\x{123}\P
+Partial match: \x{123}X\x{123}\x{123}
+ \x{123}X\x{123}\x{123}\x{123}\P
+Partial match: \x{123}X\x{123}\x{123}\x{123}
+ \x{123}X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
+
+/(\x{123})X\1{2,4}?b/8
+ \x{123}X\P
+Partial match: \x{123}X
+ \x{123}X\x{123}\P
+Partial match: \x{123}X\x{123}
+ \x{123}X\x{123}\x{123}\P
+Partial match: \x{123}X\x{123}\x{123}
+ \x{123}X\x{123}\x{123}\x{123}\P
+Partial match: \x{123}X\x{123}\x{123}\x{123}
+ \x{123}X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
+
+/(\x{123})X\1{2,4}+b/8
+ \x{123}X\P
+Partial match: \x{123}X
+ \x{123}X\x{123}\P
+Partial match: \x{123}X\x{123}
+ \x{123}X\x{123}\x{123}\P
+Partial match: \x{123}X\x{123}\x{123}
+ \x{123}X\x{123}\x{123}\x{123}\P
+Partial match: \x{123}X\x{123}\x{123}\x{123}
+ \x{123}X\x{123}\x{123}\x{123}\x{123}\P
+Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
+
+/\bthe cat\b/8
+ the cat\P
+ 0: the cat
+ the cat\P\P
+Partial match: the cat
+
+/abcd*/8
+ xxxxabcd\P
+ 0: abcd
+ xxxxabcd\P\P
+Partial match: abcd
+
+/abcd*/i8
+ xxxxabcd\P
+ 0: abcd
+ xxxxabcd\P\P
+Partial match: abcd
+ XXXXABCD\P
+ 0: ABCD
+ XXXXABCD\P\P
+Partial match: ABCD
+
+/abc\d*/8
+ xxxxabc1\P
+ 0: abc1
+ xxxxabc1\P\P
+Partial match: abc1
+
+/(a)bc\1*/8
+ xxxxabca\P
+ 0: abca
+ 1: a
+ xxxxabca\P\P
+Partial match: abca
+
+/abc[de]*/8
+ xxxxabcde\P
+ 0: abcde
+ xxxxabcde\P\P
+Partial match: abcde
+
+/X\W{3}X/8
+ \PX
+Partial match: X
+
+/\sxxx\s/8T1
+ AB\x{85}xxx\x{a0}XYZ
+ 0: \x{85}xxx\x{a0}
+ AB\x{a0}xxx\x{85}XYZ
+ 0: \x{a0}xxx\x{85}
+
+/\S \S/8T1
+ \x{a2} \x{84}
+ 0: \x{a2} \x{84}
+
+'A#хц'8x<any>BZ
+------------------------------------------------------------------
+ Bra
+ A
+ Ket
+ End
+------------------------------------------------------------------
+
+'A#хц
+ PQ'8x<any>BZ
+------------------------------------------------------------------
+ Bra
+ APQ
+ Ket
+ End
+------------------------------------------------------------------
+
+/a+#хaa
+ z#XX?/8x<any>BZ
+------------------------------------------------------------------
+ Bra
+ a++
+ z
+ Ket
+ End
+------------------------------------------------------------------
+
+/a+#хaa
+ z#х?/8x<any>BZ
+------------------------------------------------------------------
+ Bra
+ a++
+ z
+ Ket
+ End
+------------------------------------------------------------------
+
+/\g{A}xxx#bXX(?'A'123) (?'A'456)/8x<any>BZ
+------------------------------------------------------------------
+ Bra
+ \1
+ xxx
+ CBra 1
+ 456
+ Ket
+ Ket
+ End
+------------------------------------------------------------------
+
+/\g{A}xxx#bх(?'A'123) (?'A'456)/8x<any>BZ
+------------------------------------------------------------------
+ Bra
+ \1
+ xxx
+ CBra 1
+ 456
+ Ket
+ Ket
+ End
+------------------------------------------------------------------
+
+/^\cģ/8
+Failed: \c must be followed by an ASCII character at offset 3
+
+/(\R*)(.)/s8
+ \r\n
+ 0: \x{0d}
+ 1:
+ 2: \x{0d}
+ \r\r\n\n\r
+ 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
+ 1: \x{0d}\x{0d}\x{0a}\x{0a}
+ 2: \x{0d}
+ \r\r\n\n\r\n
+ 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
+ 1: \x{0d}\x{0d}\x{0a}\x{0a}
+ 2: \x{0d}
+
+/(\R)*(.)/s8
+ \r\n
+ 0: \x{0d}
+ 1: <unset>
+ 2: \x{0d}
+ \r\r\n\n\r
+ 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
+ 1: \x{0a}
+ 2: \x{0d}
+ \r\r\n\n\r\n
+ 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
+ 1: \x{0a}
+ 2: \x{0d}
+
+/[^\x{1234}]+/iS8I
+Capturing subpattern count = 0
+Options: caseless utf
+No first char
+No need char
+Subject length lower bound = 1
+No set of starting bytes
+
+/[^\x{1234}]+?/iS8I
+Capturing subpattern count = 0
+Options: caseless utf
+No first char
+No need char
+Subject length lower bound = 1
+No set of starting bytes
+
+/[^\x{1234}]++/iS8I
+Capturing subpattern count = 0
+Options: caseless utf
+No first char
+No need char
+Subject length lower bound = 1
+No set of starting bytes
+
+/[^\x{1234}]{2}/iS8I
+Capturing subpattern count = 0
+Options: caseless utf
+No first char
+No need char
+Subject length lower bound = 2
+No set of starting bytes
+
+//<bsr_anycrlf><bsr_unicode>
+Failed: inconsistent NEWLINE options at offset 0
+
+/f.*/
+ \P\Pfor
+Partial match: for
+
+/f.*/s
+ \P\Pfor
+Partial match: for
+
+/f.*/8
+ \P\Pfor
+Partial match: for
+
+/f.*/8s
+ \P\Pfor
+Partial match: for
+
+/\x{d7ff}\x{e000}/8
+
+/\x{d800}/8
+Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
+
+/\x{dfff}/8
+Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
+
+/\h+/8
+ \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
+ 0: \x{1680}\x{2000}\x{202f}\x{3000}
+ \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
+ 0: \x{200a}\x{a0}\x{2000}
+
+/[\h\x{e000}]+/8BZ
+------------------------------------------------------------------
+ Bra
+ [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{e000}]+
+ Ket
+ End
+------------------------------------------------------------------
+ \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
+ 0: \x{1680}\x{2000}\x{202f}\x{3000}
+ \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
+ 0: \x{200a}\x{a0}\x{2000}
+
+/\H+/8
+ \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
+ 0: \x{167f}\x{1681}\x{180d}\x{180f}
+ \x{2000}\x{200a}\x{1fff}\x{200b}
+ 0: \x{1fff}\x{200b}
+ \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
+ 0: \x{202e}\x{2030}\x{205e}\x{2060}
+ \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
+ 0: \x{9f}\x{a1}\x{2fff}\x{3001}
+
+/[\H\x{d7ff}]+/8BZ
+------------------------------------------------------------------
+ Bra
+ [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\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{10ffff}\x{d7ff}]+
+ Ket
+ End
+------------------------------------------------------------------
+ \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
+ 0: \x{167f}\x{1681}\x{180d}\x{180f}
+ \x{2000}\x{200a}\x{1fff}\x{200b}
+ 0: \x{1fff}\x{200b}
+ \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
+ 0: \x{202e}\x{2030}\x{205e}\x{2060}
+ \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
+ 0: \x{9f}\x{a1}\x{2fff}\x{3001}
+
+/\v+/8
+ \x{2027}\x{2030}\x{2028}\x{2029}
+ 0: \x{2028}\x{2029}
+ \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
+ 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
+
+/[\v\x{e000}]+/8BZ
+------------------------------------------------------------------
+ Bra
+ [\x0a-\x0d\x85\x{2028}-\x{2029}\x{e000}]+
+ Ket
+ End
+------------------------------------------------------------------
+ \x{2027}\x{2030}\x{2028}\x{2029}
+ 0: \x{2028}\x{2029}
+ \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
+ 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
+
+/\V+/8
+ \x{2028}\x{2029}\x{2027}\x{2030}
+ 0: \x{2027}\x{2030}
+ \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
+ 0: \x{09}\x{0e}\x{84}\x{86}
+
+/[\V\x{d7ff}]+/8BZ
+------------------------------------------------------------------
+ Bra
+ [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}\x{d7ff}]+
+ Ket
+ End
+------------------------------------------------------------------
+ \x{2028}\x{2029}\x{2027}\x{2030}
+ 0: \x{2027}\x{2030}
+ \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
+ 0: \x{09}\x{0e}\x{84}\x{86}
+
+/\R+/8<bsr_unicode>
+ \x{2027}\x{2030}\x{2028}\x{2029}
+ 0: \x{2028}\x{2029}
+ \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
+ 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
+
+/(..)\1/8
+ ab\P
+Partial match: ab
+ aba\P
+Partial match: aba
+ abab\P
+ 0: abab
+ 1: ab
+
+/(..)\1/8i
+ ab\P
+Partial match: ab
+ abA\P
+Partial match: abA
+ aBAb\P
+ 0: aBAb
+ 1: aB
+
+/(..)\1{2,}/8
+ ab\P
+Partial match: ab
+ aba\P
+Partial match: aba
+ abab\P
+Partial match: abab
+ ababa\P
+Partial match: ababa
+ ababab\P
+ 0: ababab
+ 1: ab
+ ababab\P\P
+Partial match: ababab
+ abababa\P
+ 0: ababab
+ 1: ab
+ abababa\P\P
+Partial match: abababa
+
+/(..)\1{2,}/8i
+ ab\P
+Partial match: ab
+ aBa\P
+Partial match: aBa
+ aBAb\P
+Partial match: aBAb
+ AbaBA\P
+Partial match: AbaBA
+ abABAb\P
+ 0: abABAb
+ 1: ab
+ aBAbaB\P\P
+Partial match: aBAbaB
+ abABabA\P
+ 0: abABab
+ 1: ab
+ abaBABa\P\P
+Partial match: abaBABa
+
+/(..)\1{2,}?x/8i
+ ab\P
+Partial match: ab
+ abA\P
+Partial match: abA
+ aBAb\P
+Partial match: aBAb
+ abaBA\P
+Partial match: abaBA
+ abAbaB\P
+Partial match: abAbaB
+ abaBabA\P
+Partial match: abaBabA
+ abAbABaBx\P
+ 0: abAbABaBx
+ 1: ab
+
+/./8<CRLF>
+ \r\P
+ 0: \x{0d}
+ \r\P\P
+Partial match: \x{0d}
+
+/.{2,3}/8<CRLF>
+ \r\P
+Partial match: \x{0d}
+ \r\P\P
+Partial match: \x{0d}
+ \r\r\P
+ 0: \x{0d}\x{0d}
+ \r\r\P\P
+Partial match: \x{0d}\x{0d}
+ \r\r\r\P
+ 0: \x{0d}\x{0d}\x{0d}
+ \r\r\r\P\P
+Partial match: \x{0d}\x{0d}\x{0d}
+
+/.{2,3}?/8<CRLF>
+ \r\P
+Partial match: \x{0d}
+ \r\P\P
+Partial match: \x{0d}
+ \r\r\P
+ 0: \x{0d}\x{0d}
+ \r\r\P\P
+Partial match: \x{0d}\x{0d}
+ \r\r\r\P
+ 0: \x{0d}\x{0d}
+ \r\r\r\P\P
+ 0: \x{0d}\x{0d}
+
+/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZ
+------------------------------------------------------------------
+ Bra
+ [^\x{100}]
+ [^\x{1234}]
+ [^\x{ffff}]
+ [^\x{10000}]
+ [^\x{10ffff}]
+ Ket
+ End
+------------------------------------------------------------------
+
+/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZi
+------------------------------------------------------------------
+ Bra
+ /i [^\x{100}]
+ /i [^\x{1234}]
+ /i [^\x{ffff}]
+ /i [^\x{10000}]
+ /i [^\x{10ffff}]
+ Ket
+ End
+------------------------------------------------------------------
+
+/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZ
+------------------------------------------------------------------
+ Bra
+ [^\x{100}]*
+ [^\x{10000}]+
+ [^\x{10ffff}]??
+ [^\x{8000}]{4}
+ [^\x{8000}]*
+ [^\x{7fff}]{2}
+ [^\x{7fff}]{0,7}?
+ [^\x{fffff}]{5}
+ [^\x{fffff}]?+
+ Ket
+ End
+------------------------------------------------------------------
+
+/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZi
+------------------------------------------------------------------
+ Bra
+ /i [^\x{100}]*
+ /i [^\x{10000}]+
+ /i [^\x{10ffff}]??
+ /i [^\x{8000}]{4}
+ /i [^\x{8000}]*
+ /i [^\x{7fff}]{2}
+ /i [^\x{7fff}]{0,7}?
+ Once
+ /i [^\x{fffff}]{5}
+ /i [^\x{fffff}]?
+ Ket
+ Ket
+ End
+------------------------------------------------------------------
+
+/(?<=\x{1234}\x{1234})\bxy/I8
+Capturing subpattern count = 0
+Max lookbehind = 2
+Options: utf
+First char = 'x'
+Need char = 'y'
+
+/(?<!^)ETA/8
+ ETA
+No match
+
+/\u0100/<JS>8BZ
+------------------------------------------------------------------
+ Bra
+ \x{100}
+ Ket
+ End
+------------------------------------------------------------------
+
+/[\u0100-\u0200]/<JS>8BZ
+------------------------------------------------------------------
+ Bra
+ [\x{100}-\x{200}]
+ Ket
+ End
+------------------------------------------------------------------
+
+/\ud800/<JS>8
+Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 5
+
+/-- End of testinput5 --/