123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668 |
- # This set of tests is for the 16-bit and 32-bit libraries' basic (non-UTF)
- # features that are not compatible with the 8-bit library, or which give
- # different output in 16-bit or 32-bit mode. The output for the two widths is
- # different, so they have separate output files.
-
- #forbid_utf
- #newline_default LF ANY ANYCRLF
- /[^\x{c4}]/IB
- ------------------------------------------------------------------
- Bra
- [^\x{c4}]
- Ket
- End
- ------------------------------------------------------------------
- Capture group count = 0
- Subject length lower bound = 1
-
- /\x{100}/I
- Capture group count = 0
- First code unit = \x{100}
- Subject length lower bound = 1
- / (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* # optional leading comment
- (?: (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- |
- " (?: # opening quote...
- [^\\\x80-\xff\n\015"] # Anything except backslash and quote
- | # or
- \\ [^\x80-\xff] # Escaped something (something != CR)
- )* " # closing quote
- ) # initial word
- (?: (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* \. (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- |
- " (?: # opening quote...
- [^\\\x80-\xff\n\015"] # Anything except backslash and quote
- | # or
- \\ [^\x80-\xff] # Escaped something (something != CR)
- )* " # closing quote
- ) )* # further okay, if led by a period
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* @ (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- | \[ # [
- (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
- \] # ]
- ) # initial subdomain
- (?: #
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* \. # if led by a period...
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- | \[ # [
- (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
- \] # ]
- ) # ...further okay
- )*
- # address
- | # or
- (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- |
- " (?: # opening quote...
- [^\\\x80-\xff\n\015"] # Anything except backslash and quote
- | # or
- \\ [^\x80-\xff] # Escaped something (something != CR)
- )* " # closing quote
- ) # one word, optionally followed by....
- (?:
- [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
- \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) | # comments, or...
- " (?: # opening quote...
- [^\\\x80-\xff\n\015"] # Anything except backslash and quote
- | # or
- \\ [^\x80-\xff] # Escaped something (something != CR)
- )* " # closing quote
- # quoted strings
- )*
- < (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* # leading <
- (?: @ (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- | \[ # [
- (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
- \] # ]
- ) # initial subdomain
- (?: #
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* \. # if led by a period...
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- | \[ # [
- (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
- \] # ]
- ) # ...further okay
- )*
- (?: (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* , (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* @ (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- | \[ # [
- (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
- \] # ]
- ) # initial subdomain
- (?: #
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* \. # if led by a period...
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- | \[ # [
- (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
- \] # ]
- ) # ...further okay
- )*
- )* # further okay, if led by comma
- : # closing colon
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* )? # optional route
- (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- |
- " (?: # opening quote...
- [^\\\x80-\xff\n\015"] # Anything except backslash and quote
- | # or
- \\ [^\x80-\xff] # Escaped something (something != CR)
- )* " # closing quote
- ) # initial word
- (?: (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* \. (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- |
- " (?: # opening quote...
- [^\\\x80-\xff\n\015"] # Anything except backslash and quote
- | # or
- \\ [^\x80-\xff] # Escaped something (something != CR)
- )* " # closing quote
- ) )* # further okay, if led by a period
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* @ (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- | \[ # [
- (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
- \] # ]
- ) # initial subdomain
- (?: #
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* \. # if led by a period...
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* (?:
- [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
- (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
- | \[ # [
- (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
- \] # ]
- ) # ...further okay
- )*
- # address spec
- (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* > # trailing >
- # name and address
- ) (?: [\040\t] | \(
- (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
- \) )* # optional trailing comment
- /Ix
- Capture group count = 0
- Contains explicit CR or LF match
- Options: extended
- Starting code units: \x09 \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 ^ _ ` 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 { | } ~ \x7f \xff
- Subject length lower bound = 3
- /[\h]/B
- ------------------------------------------------------------------
- Bra
- [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
- Ket
- End
- ------------------------------------------------------------------
- >\x09<
- 0: \x09
- /[\h]+/B
- ------------------------------------------------------------------
- Bra
- [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]++
- Ket
- End
- ------------------------------------------------------------------
- >\x09\x20\xa0<
- 0: \x09 \xa0
- /[\v]/B
- ------------------------------------------------------------------
- Bra
- [\x0a-\x0d\x85\x{2028}-\x{2029}]
- Ket
- End
- ------------------------------------------------------------------
- /[^\h]/B
- ------------------------------------------------------------------
- Bra
- [^\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
- Ket
- End
- ------------------------------------------------------------------
- /\h+/I
- Capture group count = 0
- Starting code units: \x09 \x20 \xa0 \xff
- Subject length lower bound = 1
- \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}\xa0\x{2000}
- 0: \x{200a}\xa0\x{2000}
- /[\h\x{dc00}]+/IB
- ------------------------------------------------------------------
- Bra
- [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{dc00}]++
- Ket
- End
- ------------------------------------------------------------------
- Capture group count = 0
- Starting code units: \x09 \x20 \xa0 \xff
- Subject length lower bound = 1
- \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}\xa0\x{2000}
- 0: \x{200a}\xa0\x{2000}
- /\H+/I
- Capture group count = 0
- Subject length lower bound = 1
- \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}
- \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
- 0: \x9f\xa1\x{2fff}\x{3001}
- /[\H\x{d800}]+/
- \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}
- \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
- 0: \x9f\xa1\x{2fff}\x{3001}
- /\v+/I
- Capture group count = 0
- Starting code units: \x0a \x0b \x0c \x0d \x85 \xff
- Subject length lower bound = 1
- \x{2027}\x{2030}\x{2028}\x{2029}
- 0: \x{2028}\x{2029}
- \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
- 0: \x85\x0a\x0b\x0c\x0d
- /[\v\x{dc00}]+/IB
- ------------------------------------------------------------------
- Bra
- [\x0a-\x0d\x85\x{2028}-\x{2029}\x{dc00}]++
- Ket
- End
- ------------------------------------------------------------------
- Capture group count = 0
- Starting code units: \x0a \x0b \x0c \x0d \x85 \xff
- Subject length lower bound = 1
- \x{2027}\x{2030}\x{2028}\x{2029}
- 0: \x{2028}\x{2029}
- \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
- 0: \x85\x0a\x0b\x0c\x0d
- /\V+/I
- Capture group count = 0
- Subject length lower bound = 1
- \x{2028}\x{2029}\x{2027}\x{2030}
- 0: \x{2027}\x{2030}
- \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
- 0: \x09\x0e\x84\x86
- /[\V\x{d800}]+/
- \x{2028}\x{2029}\x{2027}\x{2030}
- 0: \x{2027}\x{2030}
- \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
- 0: \x09\x0e\x84\x86
- /\R+/I,bsr=unicode
- Capture group count = 0
- \R matches any Unicode newline
- Starting code units: \x0a \x0b \x0c \x0d \x85 \xff
- Subject length lower bound = 1
- \x{2027}\x{2030}\x{2028}\x{2029}
- 0: \x{2028}\x{2029}
- \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
- 0: \x85\x0a\x0b\x0c\x0d
- /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
- Capture group count = 0
- First code unit = \x{d800}
- Last code unit = \x{dd00}
- Subject length lower bound = 6
- \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
- 0: \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
- /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/B
- ------------------------------------------------------------------
- Bra
- [^\x{80}]
- [^\x{ff}]
- [^\x{100}]
- [^\x{1000}]
- [^\x{ffff}]
- Ket
- End
- ------------------------------------------------------------------
- /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/Bi
- ------------------------------------------------------------------
- Bra
- /i [^\x{80}]
- /i [^\x{ff}]
- /i [^\x{100}]
- /i [^\x{1000}]
- /i [^\x{ffff}]
- Ket
- End
- ------------------------------------------------------------------
- /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/B
- ------------------------------------------------------------------
- Bra
- [^\x{100}]*
- [^\x{1000}]+
- [^\x{ffff}]??
- [^\x{8000}]{4}
- [^\x{8000}]*
- [^\x{7fff}]{2}
- [^\x{7fff}]{0,7}?
- [^\x{100}]{5}
- [^\x{100}]?+
- Ket
- End
- ------------------------------------------------------------------
- /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/Bi
- ------------------------------------------------------------------
- Bra
- /i [^\x{100}]*
- /i [^\x{1000}]+
- /i [^\x{ffff}]??
- /i [^\x{8000}]{4}
- /i [^\x{8000}]*
- /i [^\x{7fff}]{2}
- /i [^\x{7fff}]{0,7}?
- /i [^\x{100}]{5}
- /i [^\x{100}]?+
- Ket
- End
- ------------------------------------------------------------------
- /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark
- XX
- 0: XX
- MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
-
- /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark
- XX
- 0: XX
- MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE
- /\u0100/B,alt_bsux,allow_empty_class,match_unset_backref
- ------------------------------------------------------------------
- Bra
- \x{100}
- Ket
- End
- ------------------------------------------------------------------
- /[\u0100-\u0200]/B,alt_bsux,allow_empty_class,match_unset_backref
- ------------------------------------------------------------------
- Bra
- [\x{100}-\x{200}]
- Ket
- End
- ------------------------------------------------------------------
- /\ud800/B,alt_bsux,allow_empty_class,match_unset_backref
- ------------------------------------------------------------------
- Bra
- \x{d800}
- Ket
- End
- ------------------------------------------------------------------
- /^\x{ffff}+/i
- \x{ffff}
- 0: \x{ffff}
- /^\x{ffff}?/i
- \x{ffff}
- 0: \x{ffff}
- /^\x{ffff}*/i
- \x{ffff}
- 0: \x{ffff}
- /^\x{ffff}{3}/i
- \x{ffff}\x{ffff}\x{ffff}
- 0: \x{ffff}\x{ffff}\x{ffff}
- /^\x{ffff}{0,3}/i
- \x{ffff}
- 0: \x{ffff}
- /[^\x00-a]{12,}[^b-\xff]*/B
- ------------------------------------------------------------------
- Bra
- [b-\xff] (neg){12,}
- [\x00-a] (neg)*+
- Ket
- End
- ------------------------------------------------------------------
- /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B
- ------------------------------------------------------------------
- Bra
- [\x00-\x08\x0e-\x1f!-\xff] (neg)*
- \s*
-
- [0-9A-Z_a-z]++
- \W+
-
- [\x00-/:-\xff] (neg)*?
- \d
- 0
- [\x00-/:-@[-^`{-\xff] (neg){4,6}?
- \w*
- A
- Ket
- End
- ------------------------------------------------------------------
- /a*[b-\x{200}]?a#a*[b-\x{200}]?b#[a-f]*[g-\x{200}]*#[g-\x{200}]*[a-c]*#[g-\x{200}]*[a-h]*/B
- ------------------------------------------------------------------
- Bra
- a*
- [b-\xff\x{100}-\x{200}]?+
- a#
- a*+
- [b-\xff\x{100}-\x{200}]?
- b#
- [a-f]*+
- [g-\xff\x{100}-\x{200}]*+
- #
- [g-\xff\x{100}-\x{200}]*+
- [a-c]*+
- #
- [g-\xff\x{100}-\x{200}]*
- [a-h]*+
- Ket
- End
- ------------------------------------------------------------------
- /^[\x{1234}\x{4321}]{2,4}?/
- \x{1234}\x{1234}\x{1234}
- 0: \x{1234}\x{1234}
- # Check maximum non-UTF character size for the 16-bit library.
- /\x{ffff}/
- A\x{ffff}B
- 0: \x{ffff}
- /\x{10000}/
- Failed: error 134 at offset 8: character code point value in \x{} or \o{} is too large
- /\o{20000}/
- # Check maximum character size for the 32-bit library. These will all give
- # errors in the 16-bit library.
- /\x{110000}/
- Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
- /\x{7fffffff}/
- Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
- /\x{80000000}/
- Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
- /\x{ffffffff}/
- Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
- /\x{100000000}/
- Failed: error 134 at offset 12: character code point value in \x{} or \o{} is too large
- /\o{17777777777}/
- Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
- /\o{20000000000}/
- Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
- /\o{37777777777}/
- Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
- /\o{40000000000}/
- Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
- /\x{7fffffff}\x{7fffffff}/I
- Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
- /\x{80000000}\x{80000000}/I
- Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
- /\x{ffffffff}\x{ffffffff}/I
- Failed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
- # Non-UTF characters
- /.{2,3}/
- \x{400000}\x{400001}\x{400002}\x{400003}
- ** Character \x{400000} is greater than 0xffff and UTF-16 mode is not enabled.
- ** Truncation will probably give the wrong result.
- ** Character \x{400001} is greater than 0xffff and UTF-16 mode is not enabled.
- ** Truncation will probably give the wrong result.
- ** Character \x{400002} is greater than 0xffff and UTF-16 mode is not enabled.
- ** Truncation will probably give the wrong result.
- ** Character \x{400003} is greater than 0xffff and UTF-16 mode is not enabled.
- ** Truncation will probably give the wrong result.
- 0: \x00\x01\x02
- /\x{400000}\x{800000}/IBi
- Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
- # Check character ranges
- /[\H]/IB
- ------------------------------------------------------------------
- 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{ffff}]
- Ket
- End
- ------------------------------------------------------------------
- Capture group count = 0
- Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b
- \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a
- \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 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 [ \ ] ^
- _ ` 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 { | } ~ \x7f \x80
- \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f
- \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e
- \x9f \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae
- \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd
- \xbe \xbf \xc0 \xc1 \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
- Subject length lower bound = 1
- /[\V]/IB
- ------------------------------------------------------------------
- Bra
- [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffff}]
- Ket
- End
- ------------------------------------------------------------------
- Capture group count = 0
- Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \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 [ \ ] ^ _ ` 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 { | } ~ \x7f \x80 \x81 \x82
- \x83 \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92
- \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1
- \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0
- \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf
- \xc0 \xc1 \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
- Subject length lower bound = 1
- /(*THEN:\[A]{65501})/expand
- # We can use pcre2test's utf8_input modifier to create wide pattern characters,
- # even though this test is run when UTF is not supported.
- /abý¿¿¿¿¿z/utf8_input
- ** Failed: character value greater than 0xffff cannot be converted to 16-bit in non-UTF mode
- abý¿¿¿¿¿z
- ab\x{7fffffff}z
- /abÿý¿¿¿¿¿z/utf8_input
- ** Failed: invalid UTF-8 string cannot be converted to 16-bit string
- abÿý¿¿¿¿¿z
- ab\x{ffffffff}z
- /abÿAz/utf8_input
- ** Failed: invalid UTF-8 string cannot be converted to 16-bit string
- abÿAz
- ab\x{80000041}z
- /(?i:A{1,}\6666666666)/
- A\x{1b6}6666666
- 0: A\x{1b6}6666666
- # End of testinput11
|