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------------------------------------------------------------------ 16Capturing subpattern count = 0 17Subject length lower bound = 1 18 19/\x{100}/I 20Capturing subpattern count = 0 21First code unit = \x{100} 22Subject 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 218Capturing subpattern count = 0 219Contains explicit CR or LF match 220Options: extended 221Starting 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 224Subject 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 263Capturing subpattern count = 0 264Starting code units: \x09 \x20 \xa0 \xff 265Subject 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------------------------------------------------------------------ 278Capturing subpattern count = 0 279Starting code units: \x09 \x20 \xa0 \xff 280Subject 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 287Capturing subpattern count = 0 288Subject 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 309Capturing subpattern count = 0 310Starting code units: \x0a \x0b \x0c \x0d \x85 \xff 311Subject 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------------------------------------------------------------------ 324Capturing subpattern count = 0 325Starting code units: \x0a \x0b \x0c \x0d \x85 \xff 326Subject 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 333Capturing subpattern count = 0 334Subject 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 347Capturing subpattern count = 0 348\R matches any Unicode newline 349Starting code units: \x0a \x0b \x0c \x0d \x85 \xff 350Subject 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 357Capturing subpattern count = 0 358First code unit = \x{d800} 359Last code unit = \x{dd00} 360Subject 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 423MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF 424 425/(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark 426 XX 427 0: XX 428MK: 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}/ 549Failed: 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}/ 558Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large 559 560/\x{7fffffff}\x{7fffffff}/I 561Capturing subpattern count = 0 562First code unit = \x{7fffffff} 563Last code unit = \x{7fffffff} 564Subject length lower bound = 2 565 566/\x{80000000}\x{80000000}/I 567Capturing subpattern count = 0 568First code unit = \x{80000000} 569Last code unit = \x{80000000} 570Subject length lower bound = 2 571 572/\x{ffffffff}\x{ffffffff}/I 573Capturing subpattern count = 0 574First code unit = \x{ffffffff} 575Last code unit = \x{ffffffff} 576Subject 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------------------------------------------------------------------ 591Capturing subpattern count = 0 592Options: caseless 593First code unit = \x{400000} 594Last code unit = \x{800000} 595Subject 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------------------------------------------------------------------ 606Capturing subpattern count = 0 607Starting 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 621Subject 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------------------------------------------------------------------ 630Capturing subpattern count = 0 631Starting 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 645Subject 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/ab������z/utf8_input 653 ab������z 654 0: ab\x{7fffffff}z 655 ab\x{7fffffff}z 656 0: ab\x{7fffffff}z 657 658/ab�������z/utf8_input 659 ab�������z 660 0: ab\x{ffffffff}z 661 ab\x{ffffffff}z 662 0: ab\x{ffffffff}z 663 664/ab�Az/utf8_input 665 ab�Az 666 0: ab\x{80000041}z 667 ab\x{80000041}z 668 0: ab\x{80000041}z 669 670# End of testinput11 671