1 # This set of tests is for the 16-bit and 32-bit libraries' basic (non-UTF) 2 # features that are not compatible with the 8-bit library, or which give 3 # different output in 16-bit or 32-bit mode. The output for the two widths is 4 # different, so they have separate output files. 5 6 #forbid_utf 7 #newline_default LF ANY ANYCRLF 8 9 /[^\x{c4}]/IB 10 ------------------------------------------------------------------ 11 Bra 12 [^\x{c4}] 13 Ket 14 End 15 ------------------------------------------------------------------ 16 Capturing subpattern count = 0 17 Subject length lower bound = 1 18 19 /\x{100}/I 20 Capturing subpattern count = 0 21 First code unit = \x{100} 22 Subject length lower bound = 1 23 24 / (?: [\040\t] | \( 25 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 26 \) )* # optional leading comment 27 (?: (?: 28 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 29 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 30 | 31 " (?: # opening quote... 32 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 33 | # or 34 \\ [^\x80-\xff] # Escaped something (something != CR) 35 )* " # closing quote 36 ) # initial word 37 (?: (?: [\040\t] | \( 38 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 39 \) )* \. (?: [\040\t] | \( 40 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 41 \) )* (?: 42 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 43 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 44 | 45 " (?: # opening quote... 46 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 47 | # or 48 \\ [^\x80-\xff] # Escaped something (something != CR) 49 )* " # closing quote 50 ) )* # further okay, if led by a period 51 (?: [\040\t] | \( 52 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 53 \) )* @ (?: [\040\t] | \( 54 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 55 \) )* (?: 56 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 57 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 58 | \[ # [ 59 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 60 \] # ] 61 ) # initial subdomain 62 (?: # 63 (?: [\040\t] | \( 64 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 65 \) )* \. # if led by a period... 66 (?: [\040\t] | \( 67 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 68 \) )* (?: 69 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 70 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 71 | \[ # [ 72 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 73 \] # ] 74 ) # ...further okay 75 )* 76 # address 77 | # or 78 (?: 79 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 80 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 81 | 82 " (?: # opening quote... 83 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 84 | # or 85 \\ [^\x80-\xff] # Escaped something (something != CR) 86 )* " # closing quote 87 ) # one word, optionally followed by.... 88 (?: 89 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... 90 \( 91 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 92 \) | # comments, or... 93 94 " (?: # opening quote... 95 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 96 | # or 97 \\ [^\x80-\xff] # Escaped something (something != CR) 98 )* " # closing quote 99 # quoted strings 100 )* 101 < (?: [\040\t] | \( 102 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 103 \) )* # leading < 104 (?: @ (?: [\040\t] | \( 105 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 106 \) )* (?: 107 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 108 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 109 | \[ # [ 110 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 111 \] # ] 112 ) # initial subdomain 113 (?: # 114 (?: [\040\t] | \( 115 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 116 \) )* \. # if led by a period... 117 (?: [\040\t] | \( 118 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 119 \) )* (?: 120 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 121 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 122 | \[ # [ 123 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 124 \] # ] 125 ) # ...further okay 126 )* 127 128 (?: (?: [\040\t] | \( 129 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 130 \) )* , (?: [\040\t] | \( 131 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 132 \) )* @ (?: [\040\t] | \( 133 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 134 \) )* (?: 135 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 136 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 137 | \[ # [ 138 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 139 \] # ] 140 ) # initial subdomain 141 (?: # 142 (?: [\040\t] | \( 143 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 144 \) )* \. # if led by a period... 145 (?: [\040\t] | \( 146 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 147 \) )* (?: 148 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 149 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 150 | \[ # [ 151 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 152 \] # ] 153 ) # ...further okay 154 )* 155 )* # further okay, if led by comma 156 : # closing colon 157 (?: [\040\t] | \( 158 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 159 \) )* )? # optional route 160 (?: 161 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 162 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 163 | 164 " (?: # opening quote... 165 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 166 | # or 167 \\ [^\x80-\xff] # Escaped something (something != CR) 168 )* " # closing quote 169 ) # initial word 170 (?: (?: [\040\t] | \( 171 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 172 \) )* \. (?: [\040\t] | \( 173 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 174 \) )* (?: 175 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 176 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 177 | 178 " (?: # opening quote... 179 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 180 | # or 181 \\ [^\x80-\xff] # Escaped something (something != CR) 182 )* " # closing quote 183 ) )* # further okay, if led by a period 184 (?: [\040\t] | \( 185 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 186 \) )* @ (?: [\040\t] | \( 187 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 188 \) )* (?: 189 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 190 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 191 | \[ # [ 192 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 193 \] # ] 194 ) # initial subdomain 195 (?: # 196 (?: [\040\t] | \( 197 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 198 \) )* \. # if led by a period... 199 (?: [\040\t] | \( 200 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 201 \) )* (?: 202 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 203 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 204 | \[ # [ 205 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 206 \] # ] 207 ) # ...further okay 208 )* 209 # address spec 210 (?: [\040\t] | \( 211 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 212 \) )* > # trailing > 213 # name and address 214 ) (?: [\040\t] | \( 215 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 216 \) )* # optional trailing comment 217 /Ix 218 Capturing subpattern count = 0 219 Contains explicit CR or LF match 220 Options: extended 221 Starting code units: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 222 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 223 f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \xff 224 Subject length lower bound = 3 225 226 /[\h]/B 227 ------------------------------------------------------------------ 228 Bra 229 [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}] 230 Ket 231 End 232 ------------------------------------------------------------------ 233 >\x09< 234 0: \x09 235 236 /[\h]+/B 237 ------------------------------------------------------------------ 238 Bra 239 [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]++ 240 Ket 241 End 242 ------------------------------------------------------------------ 243 >\x09\x20\xa0< 244 0: \x09 \xa0 245 246 /[\v]/B 247 ------------------------------------------------------------------ 248 Bra 249 [\x0a-\x0d\x85\x{2028}-\x{2029}] 250 Ket 251 End 252 ------------------------------------------------------------------ 253 254 /[^\h]/B 255 ------------------------------------------------------------------ 256 Bra 257 [^\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}] 258 Ket 259 End 260 ------------------------------------------------------------------ 261 262 /\h+/I 263 Capturing subpattern count = 0 264 Starting code units: \x09 \x20 \xa0 \xff 265 Subject length lower bound = 1 266 \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 267 0: \x{1680}\x{2000}\x{202f}\x{3000} 268 \x{3001}\x{2fff}\x{200a}\xa0\x{2000} 269 0: \x{200a}\xa0\x{2000} 270 271 /[\h\x{dc00}]+/IB 272 ------------------------------------------------------------------ 273 Bra 274 [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{dc00}]++ 275 Ket 276 End 277 ------------------------------------------------------------------ 278 Capturing subpattern count = 0 279 Starting code units: \x09 \x20 \xa0 \xff 280 Subject length lower bound = 1 281 \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 282 0: \x{1680}\x{2000}\x{202f}\x{3000} 283 \x{3001}\x{2fff}\x{200a}\xa0\x{2000} 284 0: \x{200a}\xa0\x{2000} 285 286 /\H+/I 287 Capturing subpattern count = 0 288 Subject length lower bound = 1 289 \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} 290 0: \x{167f}\x{1681}\x{180d}\x{180f} 291 \x{2000}\x{200a}\x{1fff}\x{200b} 292 0: \x{1fff}\x{200b} 293 \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} 294 0: \x{202e}\x{2030}\x{205e}\x{2060} 295 \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001} 296 0: \x9f\xa1\x{2fff}\x{3001} 297 298 /[\H\x{d800}]+/ 299 \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} 300 0: \x{167f}\x{1681}\x{180d}\x{180f} 301 \x{2000}\x{200a}\x{1fff}\x{200b} 302 0: \x{1fff}\x{200b} 303 \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} 304 0: \x{202e}\x{2030}\x{205e}\x{2060} 305 \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001} 306 0: \x9f\xa1\x{2fff}\x{3001} 307 308 /\v+/I 309 Capturing subpattern count = 0 310 Starting code units: \x0a \x0b \x0c \x0d \x85 \xff 311 Subject length lower bound = 1 312 \x{2027}\x{2030}\x{2028}\x{2029} 313 0: \x{2028}\x{2029} 314 \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d 315 0: \x85\x0a\x0b\x0c\x0d 316 317 /[\v\x{dc00}]+/IB 318 ------------------------------------------------------------------ 319 Bra 320 [\x0a-\x0d\x85\x{2028}-\x{2029}\x{dc00}]++ 321 Ket 322 End 323 ------------------------------------------------------------------ 324 Capturing subpattern count = 0 325 Starting code units: \x0a \x0b \x0c \x0d \x85 \xff 326 Subject length lower bound = 1 327 \x{2027}\x{2030}\x{2028}\x{2029} 328 0: \x{2028}\x{2029} 329 \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d 330 0: \x85\x0a\x0b\x0c\x0d 331 332 /\V+/I 333 Capturing subpattern count = 0 334 Subject length lower bound = 1 335 \x{2028}\x{2029}\x{2027}\x{2030} 336 0: \x{2027}\x{2030} 337 \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86 338 0: \x09\x0e\x84\x86 339 340 /[\V\x{d800}]+/ 341 \x{2028}\x{2029}\x{2027}\x{2030} 342 0: \x{2027}\x{2030} 343 \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86 344 0: \x09\x0e\x84\x86 345 346 /\R+/I,bsr=unicode 347 Capturing subpattern count = 0 348 \R matches any Unicode newline 349 Starting code units: \x0a \x0b \x0c \x0d \x85 \xff 350 Subject length lower bound = 1 351 \x{2027}\x{2030}\x{2028}\x{2029} 352 0: \x{2028}\x{2029} 353 \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d 354 0: \x85\x0a\x0b\x0c\x0d 355 356 /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I 357 Capturing subpattern count = 0 358 First code unit = \x{d800} 359 Last code unit = \x{dd00} 360 Subject length lower bound = 6 361 \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00} 362 0: \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00} 363 364 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/B 365 ------------------------------------------------------------------ 366 Bra 367 [^\x{80}] 368 [^\x{ff}] 369 [^\x{100}] 370 [^\x{1000}] 371 [^\x{ffff}] 372 Ket 373 End 374 ------------------------------------------------------------------ 375 376 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/Bi 377 ------------------------------------------------------------------ 378 Bra 379 /i [^\x{80}] 380 /i [^\x{ff}] 381 /i [^\x{100}] 382 /i [^\x{1000}] 383 /i [^\x{ffff}] 384 Ket 385 End 386 ------------------------------------------------------------------ 387 388 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/B 389 ------------------------------------------------------------------ 390 Bra 391 [^\x{100}]* 392 [^\x{1000}]+ 393 [^\x{ffff}]?? 394 [^\x{8000}]{4} 395 [^\x{8000}]* 396 [^\x{7fff}]{2} 397 [^\x{7fff}]{0,7}? 398 [^\x{100}]{5} 399 [^\x{100}]?+ 400 Ket 401 End 402 ------------------------------------------------------------------ 403 404 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/Bi 405 ------------------------------------------------------------------ 406 Bra 407 /i [^\x{100}]* 408 /i [^\x{1000}]+ 409 /i [^\x{ffff}]?? 410 /i [^\x{8000}]{4} 411 /i [^\x{8000}]* 412 /i [^\x{7fff}]{2} 413 /i [^\x{7fff}]{0,7}? 414 /i [^\x{100}]{5} 415 /i [^\x{100}]?+ 416 Ket 417 End 418 ------------------------------------------------------------------ 419 420 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark 421 XX 422 0: XX 423 MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF 424 425 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark 426 XX 427 0: XX 428 MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE 429 430 /\u0100/B,alt_bsux,allow_empty_class,match_unset_backref 431 ------------------------------------------------------------------ 432 Bra 433 \x{100} 434 Ket 435 End 436 ------------------------------------------------------------------ 437 438 /[\u0100-\u0200]/B,alt_bsux,allow_empty_class,match_unset_backref 439 ------------------------------------------------------------------ 440 Bra 441 [\x{100}-\x{200}] 442 Ket 443 End 444 ------------------------------------------------------------------ 445 446 /\ud800/B,alt_bsux,allow_empty_class,match_unset_backref 447 ------------------------------------------------------------------ 448 Bra 449 \x{d800} 450 Ket 451 End 452 ------------------------------------------------------------------ 453 454 /^\x{ffff}+/i 455 \x{ffff} 456 0: \x{ffff} 457 458 /^\x{ffff}?/i 459 \x{ffff} 460 0: \x{ffff} 461 462 /^\x{ffff}*/i 463 \x{ffff} 464 0: \x{ffff} 465 466 /^\x{ffff}{3}/i 467 \x{ffff}\x{ffff}\x{ffff} 468 0: \x{ffff}\x{ffff}\x{ffff} 469 470 /^\x{ffff}{0,3}/i 471 \x{ffff} 472 0: \x{ffff} 473 474 /[^\x00-a]{12,}[^b-\xff]*/B 475 ------------------------------------------------------------------ 476 Bra 477 [b-\xff] (neg){12,} 478 [\x00-a] (neg)*+ 479 Ket 480 End 481 ------------------------------------------------------------------ 482 483 /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B 484 ------------------------------------------------------------------ 485 Bra 486 [\x00-\x08\x0e-\x1f!-\xff] (neg)* 487 \s* 488 489 [0-9A-Z_a-z]++ 490 \W+ 491 492 [\x00-/:-\xff] (neg)*? 493 \d 494 0 495 [\x00-/:-@[-^`{-\xff] (neg){4,6}? 496 \w* 497 A 498 Ket 499 End 500 ------------------------------------------------------------------ 501 502 /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 503 ------------------------------------------------------------------ 504 Bra 505 a* 506 [b-\xff\x{100}-\x{200}]?+ 507 a# 508 a*+ 509 [b-\xff\x{100}-\x{200}]? 510 b# 511 [a-f]*+ 512 [g-\xff\x{100}-\x{200}]*+ 513 # 514 [g-\xff\x{100}-\x{200}]*+ 515 [a-c]*+ 516 # 517 [g-\xff\x{100}-\x{200}]* 518 [a-h]*+ 519 Ket 520 End 521 ------------------------------------------------------------------ 522 523 /^[\x{1234}\x{4321}]{2,4}?/ 524 \x{1234}\x{1234}\x{1234} 525 0: \x{1234}\x{1234} 526 527 # Check maximum non-UTF character size for the 16-bit library. 528 529 /\x{ffff}/ 530 A\x{ffff}B 531 0: \x{ffff} 532 533 /\x{10000}/ 534 535 /\o{20000}/ 536 537 # Check maximum character size for the 32-bit library. These will all give 538 # errors in the 16-bit library. 539 540 /\x{110000}/ 541 542 /\x{7fffffff}/ 543 544 /\x{80000000}/ 545 546 /\x{ffffffff}/ 547 548 /\x{100000000}/ 549 Failed: error 134 at offset 12: character code point value in \x{} or \o{} is too large 550 551 /\o{17777777777}/ 552 553 /\o{20000000000}/ 554 555 /\o{37777777777}/ 556 557 /\o{40000000000}/ 558 Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large 559 560 /\x{7fffffff}\x{7fffffff}/I 561 Capturing subpattern count = 0 562 First code unit = \x{7fffffff} 563 Last code unit = \x{7fffffff} 564 Subject length lower bound = 2 565 566 /\x{80000000}\x{80000000}/I 567 Capturing subpattern count = 0 568 First code unit = \x{80000000} 569 Last code unit = \x{80000000} 570 Subject length lower bound = 2 571 572 /\x{ffffffff}\x{ffffffff}/I 573 Capturing subpattern count = 0 574 First code unit = \x{ffffffff} 575 Last code unit = \x{ffffffff} 576 Subject length lower bound = 2 577 578 # Non-UTF characters 579 580 /.{2,3}/ 581 \x{400000}\x{400001}\x{400002}\x{400003} 582 0: \x{400000}\x{400001}\x{400002} 583 584 /\x{400000}\x{800000}/IBi 585 ------------------------------------------------------------------ 586 Bra 587 /i \x{400000}\x{800000} 588 Ket 589 End 590 ------------------------------------------------------------------ 591 Capturing subpattern count = 0 592 Options: caseless 593 First code unit = \x{400000} 594 Last code unit = \x{800000} 595 Subject length lower bound = 2 596 597 # Check character ranges 598 599 /[\H]/IB 600 ------------------------------------------------------------------ 601 Bra 602 [\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{ffffffff}] 603 Ket 604 End 605 ------------------------------------------------------------------ 606 Capturing subpattern count = 0 607 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b 608 \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a 609 \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 610 : ; < = > ? @ 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 [ \ ] ^ 611 _ ` 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 612 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f 613 \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e 614 \x9f \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae 615 \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd 616 \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc 617 \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb 618 \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea 619 \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 620 \xfa \xfb \xfc \xfd \xfe \xff 621 Subject length lower bound = 1 622 623 /[\V]/IB 624 ------------------------------------------------------------------ 625 Bra 626 [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffffffff}] 627 Ket 628 End 629 ------------------------------------------------------------------ 630 Capturing subpattern count = 0 631 Starting code units: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0e 632 \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d 633 \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > 634 ? @ 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 635 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 636 \x83 \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 637 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 638 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 639 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf 640 \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce 641 \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd 642 \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec 643 \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 644 \xfc \xfd \xfe \xff 645 Subject length lower bound = 1 646 647 /(*THEN:\[A]{65501})/expand 648 649 # We can use pcre2test's utf8_input modifier to create wide pattern characters, 650 # even though this test is run when UTF is not supported. 651 652 /abz/utf8_input 653 abz 654 0: ab\x{7fffffff}z 655 ab\x{7fffffff}z 656 0: ab\x{7fffffff}z 657 658 /abz/utf8_input 659 abz 660 0: ab\x{ffffffff}z 661 ab\x{ffffffff}z 662 0: ab\x{ffffffff}z 663 664 /abAz/utf8_input 665 abAz 666 0: ab\x{80000041}z 667 ab\x{80000041}z 668 0: ab\x{80000041}z 669 670 # End of testinput11 671