pcre/testdata/testoutput5

1954 lines
38 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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

/-- 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). --/
< forbid W
/\x{110000}/8DZ
Failed: character value in \x{} or \o{} is too large at offset 9
/\o{4200000}/8DZ
Failed: character value in \x{} or \o{} is too large at offset 10
/\x{ffffffff}/8
Failed: character value in \x{} or \o{} is too large at offset 11
/\o{37777777777}/8
Failed: character value in \x{} or \o{} is too large at offset 14
/\x{100000000}/8
Failed: character value in \x{} or \o{} is too large at offset 12
/\o{77777777777}/8
Failed: character value in \x{} or \o{} is too large at offset 14
/\x{d800}/8
Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
/\o{154000}/8
Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 9
/\x{dfff}/8
Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
/\o{157777}/8
Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 9
/\x{d7ff}/8
/\o{153777}/8
/\x{e000}/8
/\o{170000}/8
/^\x{100}a\x{1234}/8
\x{100}a\x{1234}bcd
0: \x{100}a\x{1234}
/\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
------------------------------------------------------------------
Bra
A\x{2262}\x{391}.
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
First char = 'A'
Need char = '.'
\x{0041}\x{2262}\x{0391}\x{002e}
0: A\x{2262}\x{391}.
/.{3,5}X/DZ8
------------------------------------------------------------------
Bra
Any{3}
Any{0,2}
X
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
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
Any{3}
Any{0,2}?
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
\x{212ab}\x{212ab}\x{212ab}\x{861}
0: \x{212ab}\x{212ab}\x{212ab}
/(?<=\C)X/8
Failed: \C not allowed in lookbehind assertion at offset 6
/^[ab]/8DZ
------------------------------------------------------------------
Bra
^
[ab]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: anchored utf
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 utf
No first char
No need char
c
0: c
\x{ff}
0: \x{ff}
\x{100}
0: \x{100}
*** Failers
0: *
aaa
No match
/\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
May match empty string
Options: utf
No first char
No need char
/a\x{100}*/8DZ
------------------------------------------------------------------
Bra
a
\x{100}*+
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
First char = 'a'
No need char
/ab\x{100}*/8DZ
------------------------------------------------------------------
Bra
ab
\x{100}*+
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
First char = 'a'
Need char = 'b'
/\x{100}*A/8DZ
------------------------------------------------------------------
Bra
\x{100}*+
A
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
Need char = 'A'
A
0: A
/\x{100}*\d(?R)/8DZ
------------------------------------------------------------------
Bra
\x{100}*+
\d
Recurse
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
/[Z\x{100}]/8DZ
------------------------------------------------------------------
Bra
[Z\x{100}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
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-\xff\x{100}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
/[z\Qa-d]Ā\E]/8DZ
------------------------------------------------------------------
Bra
[\-\]adz\x{100}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
\x{100}
0: \x{100}
Ā
0: \x{100}
/[\xFF]/DZ
------------------------------------------------------------------
Bra
\x{ff}
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
First char = \xff
No need char
>\xff<
0: \xff
/[^\xFF]/DZ
------------------------------------------------------------------
Bra
[^\x{ff}]
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
No options
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}
/[^\x{100}]abc(xyz(?1))/8DZ
------------------------------------------------------------------
Bra
[^\x{100}]
abc
CBra 1
xyz
Recurse
Ket
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf
No first char
Need char = 'z'
/[ab\x{100}]abc(xyz(?1))/8DZ
------------------------------------------------------------------
Bra
[ab\x{100}]
abc
CBra 1
xyz
Recurse
Ket
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf
No first char
Need char = 'z'
/(\x{100}(b(?2)c))?/DZ8
------------------------------------------------------------------
Bra
Brazero
CBra 1
\x{100}
CBra 2
b
Recurse
c
Ket
Ket
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 2
May match empty string
Options: utf
No first char
No need char
/(\x{100}(b(?2)c)){0,2}/DZ8
------------------------------------------------------------------
Bra
Brazero
Bra
CBra 1
\x{100}
CBra 2
b
Recurse
c
Ket
Ket
Brazero
CBra 1
\x{100}
CBra 2
b
Recurse
c
Ket
Ket
Ket
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 2
May match empty string
Options: utf
No first char
No need char
/(\x{100}(b(?1)c))?/DZ8
------------------------------------------------------------------
Bra
Brazero
CBra 1
\x{100}
CBra 2
b
Recurse
c
Ket
Ket
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 2
May match empty string
Options: utf
No first char
No need char
/(\x{100}(b(?1)c)){0,2}/DZ8
------------------------------------------------------------------
Bra
Brazero
Bra
CBra 1
\x{100}
CBra 2
b
Recurse
c
Ket
Ket
Brazero
CBra 1
\x{100}
CBra 2
b
Recurse
c
Ket
Ket
Ket
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 2
May match empty string
Options: utf
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
/^\ሴ/8DZ
------------------------------------------------------------------
Bra
^
\x{1234}
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: anchored utf
No first char
No need char
/\x{100}*\d/8DZ
------------------------------------------------------------------
Bra
\x{100}*+
\d
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
/\x{100}*\s/8DZ
------------------------------------------------------------------
Bra
\x{100}*+
\s
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
/\x{100}*\w/8DZ
------------------------------------------------------------------
Bra
\x{100}*+
\w
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
/\x{100}*\D/8DZ
------------------------------------------------------------------
Bra
\x{100}*
\D
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
/\x{100}*\S/8DZ
------------------------------------------------------------------
Bra
\x{100}*
\S
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
/\x{100}*\W/8DZ
------------------------------------------------------------------
Bra
\x{100}*
\W
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 0
Options: utf
No first char
No need char
/()()()()()()()()()()
()()()()()()()()()()
()()()()()()()()()()
()()()()()()()()()()
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
------------------------------------------------------------------
/^abc./mgx8<any>
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<any>
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<bsr_unicode>
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<bsr_unicode>
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<bsr_unicode>
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<bsr_unicode>
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{10ffff}]
Ket
End
------------------------------------------------------------------
/[\V]/8BZ
------------------------------------------------------------------
Bra
[\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{10ffff}]
Ket
End
------------------------------------------------------------------
/.*$/8<any>
\x{1ec5}
0: \x{1ec5}
/a\Rb/I8<bsr_anycrlf>
Capturing subpattern count = 0
Options: bsr_anycrlf utf
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<bsr_unicode>
Capturing subpattern count = 0
Options: bsr_unicode utf
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\<bsr_anycrlf>
No match
a\x0bb\<bsr_anycrlf>
No match
/a\R?b/I8<bsr_anycrlf>
Capturing subpattern count = 0
Options: bsr_anycrlf utf
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<bsr_unicode>
Capturing subpattern count = 0
Options: bsr_unicode utf
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\<bsr_anycrlf>
No match
a\x0bb\<bsr_anycrlf>
No match
/.*a.*=.b.*/8<ANY>
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
/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 starting char list
/[^\x{1234}]+?/iS8I
Capturing subpattern count = 0
Options: caseless utf
No first char
No need char
Subject length lower bound = 1
No starting char list
/[^\x{1234}]++/iS8I
Capturing subpattern count = 0
Options: caseless utf
No first char
No need char
Subject length lower bound = 1
No starting char list
/[^\x{1234}]{2}/iS8I
Capturing subpattern count = 0
Options: caseless utf
No first char
No need char
Subject length lower bound = 2
No starting char list
//<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\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{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\x86-\xff\x{100}-\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}?
/i [^\x{fffff}]{5}
/i [^\x{fffff}]?+
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
/^a+[a\x{200}]/8BZ
------------------------------------------------------------------
Bra
^
a+
[a\x{200}]
Ket
End
------------------------------------------------------------------
aa
0: aa
/[b-d\x{200}-\x{250}]*[ae-h]?#[\x{200}-\x{250}]{0,8}[\x00-\xff]*#[\x{200}-\x{250}]+[a-z]/8BZ
------------------------------------------------------------------
Bra
[b-d\x{200}-\x{250}]*+
[ae-h]?+
#
[\x{200}-\x{250}]{0,8}+
[\x00-\xff]*
#
[\x{200}-\x{250}]++
[a-z]
Ket
End
------------------------------------------------------------------
/[^\xff]*PRUNE:\x{100}abc(xyz(?1))/8DZ
------------------------------------------------------------------
Bra
[^\x{ff}]*
PRUNE:\x{100}abc
CBra 1
xyz
Recurse
Ket
Ket
End
------------------------------------------------------------------
Capturing subpattern count = 1
Options: utf
No first char
Need char = 'z'
/(?<=\K\x{17f})/8g+
\x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
0: \x{17f}
0+ \x{17f}\x{17f}\x{17f}\x{17f}
0: \x{17f}
0+ \x{17f}\x{17f}\x{17f}\x{17f}
0: \x{17f}
0+ \x{17f}\x{17f}\x{17f}
0: \x{17f}
0+ \x{17f}\x{17f}
0: \x{17f}
0+ \x{17f}
0: \x{17f}
0+
/(?<=\K\x{17f})/8G+
\x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
0: \x{17f}
0+ \x{17f}\x{17f}\x{17f}\x{17f}
0: \x{17f}
0+ \x{17f}\x{17f}\x{17f}
0: \x{17f}
0+ \x{17f}\x{17f}
0: \x{17f}
0+ \x{17f}
0: \x{17f}
0+
/\C[^\v]+\x80/8
[AΏBŀC]
No match
/\C[^\d]+\x80/8
[AΏBŀC]
No match
/-- End of testinput5 --/