123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807 |
- /-- 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
- /\o{4200000}/8DZ
- /\x{ffffffff}/8
- /\o{37777777777}/8
- /\x{100000000}/8
- /\o{77777777777}/8
- /\x{d800}/8
- /\o{154000}/8
- /\x{dfff}/8
- /\o{157777}/8
- /\x{d7ff}/8
- /\o{153777}/8
- /\x{e000}/8
- /\o{170000}/8
- /^\x{100}a\x{1234}/8
- \x{100}a\x{1234}bcd
- /\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
- \x{0041}\x{2262}\x{0391}\x{002e}
-
- /.{3,5}X/DZ8
- \x{212ab}\x{212ab}\x{212ab}\x{861}X
- /.{3,5}?/DZ8
- \x{212ab}\x{212ab}\x{212ab}\x{861}
- /(?<=\C)X/8
- Should produce an error diagnostic
-
- /^[ab]/8DZ
- bar
- *** Failers
- c
- \x{ff}
- \x{100}
- /^[^ab]/8DZ
- c
- \x{ff}
- \x{100}
- *** Failers
- aaa
-
- /\x{100}*(\d+|"(?1)")/8
- 1234
- "1234"
- \x{100}1234
- "\x{100}1234"
- \x{100}\x{100}12ab
- \x{100}\x{100}"12"
- *** Failers
- \x{100}\x{100}abcd
- /\x{100}*/8DZ
- /a\x{100}*/8DZ
- /ab\x{100}*/8DZ
- /\x{100}*A/8DZ
- A
- /\x{100}*\d(?R)/8DZ
- /[Z\x{100}]/8DZ
- Z\x{100}
- \x{100}
- \x{100}Z
- *** Failers
- /[\x{200}-\x{100}]/8
- /[Ā-Ą]/8
- \x{100}
- \x{104}
- *** Failers
- \x{105}
- \x{ff}
- /[z-\x{100}]/8DZ
- /[z\Qa-d]Ā\E]/8DZ
- \x{100}
- Ā
- /[\xFF]/DZ
- >\xff<
- /[^\xFF]/DZ
- /[Ä-Ü]/8
- Ö # Matches without Study
- \x{d6}
-
- /[Ä-Ü]/8S
- Ö <-- Same with Study
- \x{d6}
-
- /[\x{c4}-\x{dc}]/8
- Ö # Matches without Study
- \x{d6}
- /[\x{c4}-\x{dc}]/8S
- Ö <-- Same with Study
- \x{d6}
- /[^\x{100}]abc(xyz(?1))/8DZ
- /[ab\x{100}]abc(xyz(?1))/8DZ
- /(\x{100}(b(?2)c))?/DZ8
- /(\x{100}(b(?2)c)){0,2}/DZ8
- /(\x{100}(b(?1)c))?/DZ8
- /(\x{100}(b(?1)c)){0,2}/DZ8
- /\W/8
- A.B
- A\x{100}B
-
- /\w/8
- \x{100}X
- /^\ሴ/8DZ
- /\x{100}*\d/8DZ
- /\x{100}*\s/8DZ
- /\x{100}*\w/8DZ
- /\x{100}*\D/8DZ
- /\x{100}*\S/8DZ
- /\x{100}*\W/8DZ
- /()()()()()()()()()()
- ()()()()()()()()()()
- ()()()()()()()()()()
- ()()()()()()()()()()
- A (x) (?41) B/8x
- AxxB
- /^[\x{100}\E-\Q\E\x{150}]/BZ8
- /^[\QĀ\E-\QŐ\E]/BZ8
- /^abc./mgx8<any>
- abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
- /abc.$/mgx8<any>
- abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
- /^a\Rb/8<bsr_unicode>
- a\nb
- a\rb
- a\r\nb
- a\x0bb
- a\x0cb
- a\x{85}b
- a\x{2028}b
- a\x{2029}b
- ** Failers
- a\n\rb
- /^a\R*b/8<bsr_unicode>
- ab
- a\nb
- a\rb
- a\r\nb
- a\x0bb
- a\x0c\x{2028}\x{2029}b
- a\x{85}b
- a\n\rb
- a\n\r\x{85}\x0cb
- /^a\R+b/8<bsr_unicode>
- a\nb
- a\rb
- a\r\nb
- a\x0bb
- a\x0c\x{2028}\x{2029}b
- a\x{85}b
- a\n\rb
- a\n\r\x{85}\x0cb
- ** Failers
- ab
- /^a\R{1,3}b/8<bsr_unicode>
- a\nb
- a\n\rb
- a\n\r\x{85}b
- a\r\n\r\nb
- a\r\n\r\n\r\nb
- a\n\r\n\rb
- a\n\n\r\nb
- ** Failers
- a\n\n\n\rb
- a\r
- /\H\h\V\v/8
- X X\x0a
- X\x09X\x0b
- ** Failers
- \x{a0} X\x0a
-
- /\H*\h+\V?\v{3,4}/8
- \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
- \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
- \x09\x20\x{a0}\x0a\x0b\x0c
- ** Failers
- \x09\x20\x{a0}\x0a\x0b
-
- /\H\h\V\v/8
- \x{3001}\x{3000}\x{2030}\x{2028}
- X\x{180e}X\x{85}
- ** Failers
- \x{2009} X\x0a
-
- /\H*\h+\V?\v{3,4}/8
- \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
- \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
- \x09\x20\x{202f}\x0a\x0b\x0c
- ** Failers
- \x09\x{200a}\x{a0}\x{2028}\x0b
-
- /[\h]/8BZ
- >\x{1680}
- /[\h]{3,}/8BZ
- >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
- /[\v]/8BZ
- /[\H]/8BZ
- /[\V]/8BZ
- /.*$/8<any>
- \x{1ec5}
-
- /a\Rb/I8<bsr_anycrlf>
- a\rb
- a\nb
- a\r\nb
- ** Failers
- a\x{85}b
- a\x0bb
- /a\Rb/I8<bsr_unicode>
- a\rb
- a\nb
- a\r\nb
- a\x{85}b
- a\x0bb
- ** Failers
- a\x{85}b\<bsr_anycrlf>
- a\x0bb\<bsr_anycrlf>
-
- /a\R?b/I8<bsr_anycrlf>
- a\rb
- a\nb
- a\r\nb
- ** Failers
- a\x{85}b
- a\x0bb
- /a\R?b/I8<bsr_unicode>
- a\rb
- a\nb
- a\r\nb
- a\x{85}b
- a\x0bb
- ** Failers
- a\x{85}b\<bsr_anycrlf>
- a\x0bb\<bsr_anycrlf>
-
- /.*a.*=.b.*/8<ANY>
- QQQ\x{2029}ABCaXYZ=!bPQR
- ** Failers
- a\x{2029}b
- \x61\xe2\x80\xa9\x62
- /[[:a\x{100}b:]]/8
- /a[^]b/<JS>8
- a\x{1234}b
- a\nb
- ** Failers
- ab
-
- /a[^]+b/<JS>8
- aXb
- a\nX\nX\x{1234}b
- ** Failers
- ab
- /(\x{de})\1/
- \x{de}\x{de}
- /X/8f<any>
- A\x{1ec5}ABCXYZ
- /Xa{2,4}b/8
- X\P
- Xa\P
- Xaa\P
- Xaaa\P
- Xaaaa\P
-
- /Xa{2,4}?b/8
- X\P
- Xa\P
- Xaa\P
- Xaaa\P
- Xaaaa\P
-
- /Xa{2,4}+b/8
- X\P
- Xa\P
- Xaa\P
- Xaaa\P
- Xaaaa\P
-
- /X\x{123}{2,4}b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
-
- /X\x{123}{2,4}?b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
-
- /X\x{123}{2,4}+b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
-
- /X\x{123}{2,4}b/8
- Xx\P
- X\x{123}x\P
- X\x{123}\x{123}x\P
- X\x{123}\x{123}\x{123}x\P
- X\x{123}\x{123}\x{123}\x{123}x\P
-
- /X\x{123}{2,4}?b/8
- Xx\P
- X\x{123}x\P
- X\x{123}\x{123}x\P
- X\x{123}\x{123}\x{123}x\P
- X\x{123}\x{123}\x{123}\x{123}x\P
-
- /X\x{123}{2,4}+b/8
- Xx\P
- X\x{123}x\P
- X\x{123}\x{123}x\P
- X\x{123}\x{123}\x{123}x\P
- X\x{123}\x{123}\x{123}\x{123}x\P
-
- /X\d{2,4}b/8
- X\P
- X3\P
- X33\P
- X333\P
- X3333\P
-
- /X\d{2,4}?b/8
- X\P
- X3\P
- X33\P
- X333\P
- X3333\P
-
- /X\d{2,4}+b/8
- X\P
- X3\P
- X33\P
- X333\P
- X3333\P
- /X\D{2,4}b/8
- X\P
- Xa\P
- Xaa\P
- Xaaa\P
- Xaaaa\P
-
- /X\D{2,4}?b/8
- X\P
- Xa\P
- Xaa\P
- Xaaa\P
- Xaaaa\P
-
- /X\D{2,4}+b/8
- X\P
- Xa\P
- Xaa\P
- Xaaa\P
- Xaaaa\P
- /X\D{2,4}b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
-
- /X\D{2,4}?b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
-
- /X\D{2,4}+b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
- /X[abc]{2,4}b/8
- X\P
- Xa\P
- Xaa\P
- Xaaa\P
- Xaaaa\P
-
- /X[abc]{2,4}?b/8
- X\P
- Xa\P
- Xaa\P
- Xaaa\P
- Xaaaa\P
-
- /X[abc]{2,4}+b/8
- X\P
- Xa\P
- Xaa\P
- Xaaa\P
- Xaaaa\P
- /X[abc\x{123}]{2,4}b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
-
- /X[abc\x{123}]{2,4}?b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
-
- /X[abc\x{123}]{2,4}+b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
- /X[^a]{2,4}b/8
- X\P
- Xz\P
- Xzz\P
- Xzzz\P
- Xzzzz\P
-
- /X[^a]{2,4}?b/8
- X\P
- Xz\P
- Xzz\P
- Xzzz\P
- Xzzzz\P
-
- /X[^a]{2,4}+b/8
- X\P
- Xz\P
- Xzz\P
- Xzzz\P
- Xzzzz\P
- /X[^a]{2,4}b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
-
- /X[^a]{2,4}?b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
-
- /X[^a]{2,4}+b/8
- X\P
- X\x{123}\P
- X\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\P
- X\x{123}\x{123}\x{123}\x{123}\P
- /(Y)X\1{2,4}b/8
- YX\P
- YXY\P
- YXYY\P
- YXYYY\P
- YXYYYY\P
-
- /(Y)X\1{2,4}?b/8
- YX\P
- YXY\P
- YXYY\P
- YXYYY\P
- YXYYYY\P
-
- /(Y)X\1{2,4}+b/8
- YX\P
- YXY\P
- YXYY\P
- YXYYY\P
- YXYYYY\P
- /(\x{123})X\1{2,4}b/8
- \x{123}X\P
- \x{123}X\x{123}\P
- \x{123}X\x{123}\x{123}\P
- \x{123}X\x{123}\x{123}\x{123}\P
- \x{123}X\x{123}\x{123}\x{123}\x{123}\P
-
- /(\x{123})X\1{2,4}?b/8
- \x{123}X\P
- \x{123}X\x{123}\P
- \x{123}X\x{123}\x{123}\P
- \x{123}X\x{123}\x{123}\x{123}\P
- \x{123}X\x{123}\x{123}\x{123}\x{123}\P
-
- /(\x{123})X\1{2,4}+b/8
- \x{123}X\P
- \x{123}X\x{123}\P
- \x{123}X\x{123}\x{123}\P
- \x{123}X\x{123}\x{123}\x{123}\P
- \x{123}X\x{123}\x{123}\x{123}\x{123}\P
- /\bthe cat\b/8
- the cat\P
- the cat\P\P
- /abcd*/8
- xxxxabcd\P
- xxxxabcd\P\P
- /abcd*/i8
- xxxxabcd\P
- xxxxabcd\P\P
- XXXXABCD\P
- XXXXABCD\P\P
- /abc\d*/8
- xxxxabc1\P
- xxxxabc1\P\P
- /(a)bc\1*/8
- xxxxabca\P
- xxxxabca\P\P
- /abc[de]*/8
- xxxxabcde\P
- xxxxabcde\P\P
- /X\W{3}X/8
- \PX
- /\sxxx\s/8T1
- AB\x{85}xxx\x{a0}XYZ
- AB\x{a0}xxx\x{85}XYZ
- /\S \S/8T1
- \x{a2} \x{84}
- 'A#хц'8x<any>BZ
- 'A#хц
- PQ'8x<any>BZ
-
- /a+#хaa
- z#XX?/8x<any>BZ
- /a+#хaa
- z#х?/8x<any>BZ
- /\g{A}xxx#bXX(?'A'123)
(?'A'456)/8x<any>BZ
- /\g{A}xxx#bх(?'A'123)
(?'A'456)/8x<any>BZ
- /^\cģ/8
- /(\R*)(.)/s8
- \r\n
- \r\r\n\n\r
- \r\r\n\n\r\n
- /(\R)*(.)/s8
- \r\n
- \r\r\n\n\r
- \r\r\n\n\r\n
- /[^\x{1234}]+/iS8I
- /[^\x{1234}]+?/iS8I
- /[^\x{1234}]++/iS8I
- /[^\x{1234}]{2}/iS8I
- //<bsr_anycrlf><bsr_unicode>
- /f.*/
- \P\Pfor
- /f.*/s
- \P\Pfor
- /f.*/8
- \P\Pfor
- /f.*/8s
- \P\Pfor
-
- /\x{d7ff}\x{e000}/8
- /\x{d800}/8
- /\x{dfff}/8
- /\h+/8
- \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
- \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
- /[\h\x{e000}]+/8BZ
- \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
- \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
- /\H+/8
- \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
- \x{2000}\x{200a}\x{1fff}\x{200b}
- \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
- \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
- /[\H\x{d7ff}]+/8BZ
- \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
- \x{2000}\x{200a}\x{1fff}\x{200b}
- \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
- \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
- /\v+/8
- \x{2027}\x{2030}\x{2028}\x{2029}
- \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
- /[\v\x{e000}]+/8BZ
- \x{2027}\x{2030}\x{2028}\x{2029}
- \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
- /\V+/8
- \x{2028}\x{2029}\x{2027}\x{2030}
- \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
- /[\V\x{d7ff}]+/8BZ
- \x{2028}\x{2029}\x{2027}\x{2030}
- \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
- /\R+/8<bsr_unicode>
- \x{2027}\x{2030}\x{2028}\x{2029}
- \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
- /(..)\1/8
- ab\P
- aba\P
- abab\P
- /(..)\1/8i
- ab\P
- abA\P
- aBAb\P
- /(..)\1{2,}/8
- ab\P
- aba\P
- abab\P
- ababa\P
- ababab\P
- ababab\P\P
- abababa\P
- abababa\P\P
- /(..)\1{2,}/8i
- ab\P
- aBa\P
- aBAb\P
- AbaBA\P
- abABAb\P
- aBAbaB\P\P
- abABabA\P
- abaBABa\P\P
- /(..)\1{2,}?x/8i
- ab\P
- abA\P
- aBAb\P
- abaBA\P
- abAbaB\P
- abaBabA\P
- abAbABaBx\P
- /./8<CRLF>
- \r\P
- \r\P\P
-
- /.{2,3}/8<CRLF>
- \r\P
- \r\P\P
- \r\r\P
- \r\r\P\P
- \r\r\r\P
- \r\r\r\P\P
- /.{2,3}?/8<CRLF>
- \r\P
- \r\P\P
- \r\r\P
- \r\r\P\P
- \r\r\r\P
- \r\r\r\P\P
- /[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZ
- /[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZi
- /[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZ
- /[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZi
- /(?<=\x{1234}\x{1234})\bxy/I8
- /(?<!^)ETA/8
- ETA
- /\u0100/<JS>8BZ
- /[\u0100-\u0200]/<JS>8BZ
- /\ud800/<JS>8
- /^a+[a\x{200}]/8BZ
- aa
- /[b-d\x{200}-\x{250}]*[ae-h]?#[\x{200}-\x{250}]{0,8}[\x00-\xff]*#[\x{200}-\x{250}]+[a-z]/8BZ
- /[^\xff]*PRUNE:\x{100}abc(xyz(?1))/8DZ
- /(?<=\K\x{17f})/8g+
- \x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
- /(?<=\K\x{17f})/8G+
- \x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
- /\C[^\v]+\x80/8
- [AΏBŀC]
- /\C[^\d]+\x80/8
- [AΏBŀC]
- /-- End of testinput5 --/
|