1 /-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to 2 the 16- and 32-bit libraries. --/ 3 4 < forbid W 5 6 /xxx/8?DZSS 7 **Failed: invalid UTF-8 string cannot be converted to UTF-16 8 9 /abc/8 10 ] 11 **Failed: invalid UTF-8 string cannot be used as input in UTF mode 12 13 /X(\C{3})/8 14 X\x{11234}Y 15 0: X\x{11234}Y 16 1: \x{11234}Y 17 X\x{11234}YZ 18 0: X\x{11234}Y 19 1: \x{11234}Y 20 21 /X(\C{4})/8 22 X\x{11234}YZ 23 0: X\x{11234}YZ 24 1: \x{11234}YZ 25 X\x{11234}YZW 26 0: X\x{11234}YZ 27 1: \x{11234}YZ 28 29 /X\C*/8 30 XYZabcdce 31 0: XYZabcdce 32 33 /X\C*?/8 34 XYZabcde 35 0: X 36 37 /X\C{3,5}/8 38 Xabcdefg 39 0: Xabcde 40 X\x{11234}Y 41 0: X\x{11234}Y 42 X\x{11234}YZ 43 0: X\x{11234}YZ 44 X\x{11234}\x{512} 45 0: X\x{11234}\x{512} 46 X\x{11234}\x{512}YZ 47 0: X\x{11234}\x{512}YZ 48 X\x{11234}\x{512}\x{11234}Z 49 0: X\x{11234}\x{512}\x{11234} 50 51 /X\C{3,5}?/8 52 Xabcdefg 53 0: Xabc 54 X\x{11234}Y 55 0: X\x{11234}Y 56 X\x{11234}YZ 57 0: X\x{11234}Y 58 X\x{11234}\x{512}YZ 59 0: X\x{11234}\x{512} 60 *** Failers 61 No match 62 X\x{11234} 63 No match 64 65 /a\Cb/8 66 aXb 67 0: aXb 68 a\nb 69 0: a\x{0a}b 70 71 /a\C\Cb/8 72 a\x{12257}b 73 0: a\x{12257}b 74 a\x{12257}\x{11234}b 75 No match 76 ** Failers 77 No match 78 a\x{100}b 79 No match 80 81 /ab\Cde/8 82 abXde 83 0: abXde 84 85 /-- Check maximum character size --/ 86 87 /\x{ffff}/8DZ 88 ------------------------------------------------------------------ 89 Bra 90 \x{ffff} 91 Ket 92 End 93 ------------------------------------------------------------------ 94 Capturing subpattern count = 0 95 Options: utf 96 First char = \x{ffff} 97 No need char 98 99 /\x{10000}/8DZ 100 ------------------------------------------------------------------ 101 Bra 102 \x{10000} 103 Ket 104 End 105 ------------------------------------------------------------------ 106 Capturing subpattern count = 0 107 Options: utf 108 First char = \x{d800} 109 Need char = \x{dc00} 110 111 /\x{100}/8DZ 112 ------------------------------------------------------------------ 113 Bra 114 \x{100} 115 Ket 116 End 117 ------------------------------------------------------------------ 118 Capturing subpattern count = 0 119 Options: utf 120 First char = \x{100} 121 No need char 122 123 /\x{1000}/8DZ 124 ------------------------------------------------------------------ 125 Bra 126 \x{1000} 127 Ket 128 End 129 ------------------------------------------------------------------ 130 Capturing subpattern count = 0 131 Options: utf 132 First char = \x{1000} 133 No need char 134 135 /\x{10000}/8DZ 136 ------------------------------------------------------------------ 137 Bra 138 \x{10000} 139 Ket 140 End 141 ------------------------------------------------------------------ 142 Capturing subpattern count = 0 143 Options: utf 144 First char = \x{d800} 145 Need char = \x{dc00} 146 147 /\x{100000}/8DZ 148 ------------------------------------------------------------------ 149 Bra 150 \x{100000} 151 Ket 152 End 153 ------------------------------------------------------------------ 154 Capturing subpattern count = 0 155 Options: utf 156 First char = \x{dbc0} 157 Need char = \x{dc00} 158 159 /\x{10ffff}/8DZ 160 ------------------------------------------------------------------ 161 Bra 162 \x{10ffff} 163 Ket 164 End 165 ------------------------------------------------------------------ 166 Capturing subpattern count = 0 167 Options: utf 168 First char = \x{dbff} 169 Need char = \x{dfff} 170 171 /[\x{ff}]/8DZ 172 ------------------------------------------------------------------ 173 Bra 174 \x{ff} 175 Ket 176 End 177 ------------------------------------------------------------------ 178 Capturing subpattern count = 0 179 Options: utf 180 First char = \x{ff} 181 No need char 182 183 /[\x{100}]/8DZ 184 ------------------------------------------------------------------ 185 Bra 186 \x{100} 187 Ket 188 End 189 ------------------------------------------------------------------ 190 Capturing subpattern count = 0 191 Options: utf 192 First char = \x{100} 193 No need char 194 195 /\x80/8DZ 196 ------------------------------------------------------------------ 197 Bra 198 \x80 199 Ket 200 End 201 ------------------------------------------------------------------ 202 Capturing subpattern count = 0 203 Options: utf 204 First char = \x{80} 205 No need char 206 207 /\xff/8DZ 208 ------------------------------------------------------------------ 209 Bra 210 \x{ff} 211 Ket 212 End 213 ------------------------------------------------------------------ 214 Capturing subpattern count = 0 215 Options: utf 216 First char = \x{ff} 217 No need char 218 219 /\x{D55c}\x{ad6d}\x{C5B4}/DZ8 220 ------------------------------------------------------------------ 221 Bra 222 \x{d55c}\x{ad6d}\x{c5b4} 223 Ket 224 End 225 ------------------------------------------------------------------ 226 Capturing subpattern count = 0 227 Options: utf 228 First char = \x{d55c} 229 Need char = \x{c5b4} 230 \x{D55c}\x{ad6d}\x{C5B4} 231 0: \x{d55c}\x{ad6d}\x{c5b4} 232 233 /\x{65e5}\x{672c}\x{8a9e}/DZ8 234 ------------------------------------------------------------------ 235 Bra 236 \x{65e5}\x{672c}\x{8a9e} 237 Ket 238 End 239 ------------------------------------------------------------------ 240 Capturing subpattern count = 0 241 Options: utf 242 First char = \x{65e5} 243 Need char = \x{8a9e} 244 \x{65e5}\x{672c}\x{8a9e} 245 0: \x{65e5}\x{672c}\x{8a9e} 246 247 /\x{80}/DZ8 248 ------------------------------------------------------------------ 249 Bra 250 \x80 251 Ket 252 End 253 ------------------------------------------------------------------ 254 Capturing subpattern count = 0 255 Options: utf 256 First char = \x{80} 257 No need char 258 259 /\x{084}/DZ8 260 ------------------------------------------------------------------ 261 Bra 262 \x{84} 263 Ket 264 End 265 ------------------------------------------------------------------ 266 Capturing subpattern count = 0 267 Options: utf 268 First char = \x{84} 269 No need char 270 271 /\x{104}/DZ8 272 ------------------------------------------------------------------ 273 Bra 274 \x{104} 275 Ket 276 End 277 ------------------------------------------------------------------ 278 Capturing subpattern count = 0 279 Options: utf 280 First char = \x{104} 281 No need char 282 283 /\x{861}/DZ8 284 ------------------------------------------------------------------ 285 Bra 286 \x{861} 287 Ket 288 End 289 ------------------------------------------------------------------ 290 Capturing subpattern count = 0 291 Options: utf 292 First char = \x{861} 293 No need char 294 295 /\x{212ab}/DZ8 296 ------------------------------------------------------------------ 297 Bra 298 \x{212ab} 299 Ket 300 End 301 ------------------------------------------------------------------ 302 Capturing subpattern count = 0 303 Options: utf 304 First char = \x{d844} 305 Need char = \x{deab} 306 307 /-- This one is here not because it's different to Perl, but because the way 308 the captured single-byte is displayed. (In Perl it becomes a character, and you 309 can't tell the difference.) --/ 310 311 /X(\C)(.*)/8 312 X\x{1234} 313 0: X\x{1234} 314 1: \x{1234} 315 2: 316 X\nabc 317 0: X\x{0a}abc 318 1: \x{0a} 319 2: abc 320 321 /-- This one is here because Perl gives out a grumbly error message (quite 322 correctly, but that messes up comparisons). --/ 323 324 /a\Cb/8 325 *** Failers 326 No match 327 a\x{100}b 328 0: a\x{100}b 329 330 /[^ab\xC0-\xF0]/8SDZ 331 ------------------------------------------------------------------ 332 Bra 333 [\x00-`c-\xbf\xf1-\xff] (neg) 334 Ket 335 End 336 ------------------------------------------------------------------ 337 Capturing subpattern count = 0 338 Options: utf 339 No first char 340 No need char 341 Subject length lower bound = 1 342 Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a 343 \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 344 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 345 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 346 Z [ \ ] ^ _ ` 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 347 \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e 348 \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d 349 \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac 350 \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb 351 \xbc \xbd \xbe \xbf \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 352 \xfc \xfd \xfe \xff 353 \x{f1} 354 0: \x{f1} 355 \x{bf} 356 0: \x{bf} 357 \x{100} 358 0: \x{100} 359 \x{1000} 360 0: \x{1000} 361 *** Failers 362 0: * 363 \x{c0} 364 No match 365 \x{f0} 366 No match 367 368 /{3,4}/8SDZ 369 ------------------------------------------------------------------ 370 Bra 371 \x{100}{3} 372 \x{100}?+ 373 Ket 374 End 375 ------------------------------------------------------------------ 376 Capturing subpattern count = 0 377 Options: utf 378 First char = \x{100} 379 Need char = \x{100} 380 Subject length lower bound = 3 381 No starting char list 382 \x{100}\x{100}\x{100}\x{100\x{100} 383 0: \x{100}\x{100}\x{100} 384 385 /(\x{100}+|x)/8SDZ 386 ------------------------------------------------------------------ 387 Bra 388 CBra 1 389 \x{100}++ 390 Alt 391 x 392 Ket 393 Ket 394 End 395 ------------------------------------------------------------------ 396 Capturing subpattern count = 1 397 Options: utf 398 No first char 399 No need char 400 Subject length lower bound = 1 401 Starting chars: x \xff 402 403 /(\x{100}*a|x)/8SDZ 404 ------------------------------------------------------------------ 405 Bra 406 CBra 1 407 \x{100}*+ 408 a 409 Alt 410 x 411 Ket 412 Ket 413 End 414 ------------------------------------------------------------------ 415 Capturing subpattern count = 1 416 Options: utf 417 No first char 418 No need char 419 Subject length lower bound = 1 420 Starting chars: a x \xff 421 422 /(\x{100}{0,2}a|x)/8SDZ 423 ------------------------------------------------------------------ 424 Bra 425 CBra 1 426 \x{100}{0,2}+ 427 a 428 Alt 429 x 430 Ket 431 Ket 432 End 433 ------------------------------------------------------------------ 434 Capturing subpattern count = 1 435 Options: utf 436 No first char 437 No need char 438 Subject length lower bound = 1 439 Starting chars: a x \xff 440 441 /(\x{100}{1,2}a|x)/8SDZ 442 ------------------------------------------------------------------ 443 Bra 444 CBra 1 445 \x{100} 446 \x{100}{0,1}+ 447 a 448 Alt 449 x 450 Ket 451 Ket 452 End 453 ------------------------------------------------------------------ 454 Capturing subpattern count = 1 455 Options: utf 456 No first char 457 No need char 458 Subject length lower bound = 1 459 Starting chars: x \xff 460 461 /\x{100}/8DZ 462 ------------------------------------------------------------------ 463 Bra 464 \x{100} 465 Ket 466 End 467 ------------------------------------------------------------------ 468 Capturing subpattern count = 0 469 Options: utf 470 First char = \x{100} 471 No need char 472 473 /a\x{100}\x{101}*/8DZ 474 ------------------------------------------------------------------ 475 Bra 476 a\x{100} 477 \x{101}*+ 478 Ket 479 End 480 ------------------------------------------------------------------ 481 Capturing subpattern count = 0 482 Options: utf 483 First char = 'a' 484 Need char = \x{100} 485 486 /a\x{100}\x{101}+/8DZ 487 ------------------------------------------------------------------ 488 Bra 489 a\x{100} 490 \x{101}++ 491 Ket 492 End 493 ------------------------------------------------------------------ 494 Capturing subpattern count = 0 495 Options: utf 496 First char = 'a' 497 Need char = \x{101} 498 499 /[^\x{c4}]/DZ 500 ------------------------------------------------------------------ 501 Bra 502 [^\x{c4}] 503 Ket 504 End 505 ------------------------------------------------------------------ 506 Capturing subpattern count = 0 507 No options 508 No first char 509 No need char 510 511 /[\x{100}]/8DZ 512 ------------------------------------------------------------------ 513 Bra 514 \x{100} 515 Ket 516 End 517 ------------------------------------------------------------------ 518 Capturing subpattern count = 0 519 Options: utf 520 First char = \x{100} 521 No need char 522 \x{100} 523 0: \x{100} 524 Z\x{100} 525 0: \x{100} 526 \x{100}Z 527 0: \x{100} 528 *** Failers 529 No match 530 531 /[\xff]/DZ8 532 ------------------------------------------------------------------ 533 Bra 534 \x{ff} 535 Ket 536 End 537 ------------------------------------------------------------------ 538 Capturing subpattern count = 0 539 Options: utf 540 First char = \x{ff} 541 No need char 542 >\x{ff}< 543 0: \x{ff} 544 545 /[^\xff]/8DZ 546 ------------------------------------------------------------------ 547 Bra 548 [^\x{ff}] 549 Ket 550 End 551 ------------------------------------------------------------------ 552 Capturing subpattern count = 0 553 Options: utf 554 No first char 555 No need char 556 557 /\x{100}abc(xyz(?1))/8DZ 558 ------------------------------------------------------------------ 559 Bra 560 \x{100}abc 561 CBra 1 562 xyz 563 Recurse 564 Ket 565 Ket 566 End 567 ------------------------------------------------------------------ 568 Capturing subpattern count = 1 569 Options: utf 570 First char = \x{100} 571 Need char = 'z' 572 573 /\777/8I 574 Capturing subpattern count = 0 575 Options: utf 576 First char = \x{1ff} 577 No need char 578 \x{1ff} 579 0: \x{1ff} 580 \777 581 0: \x{1ff} 582 583 /\x{100}+\x{200}/8DZ 584 ------------------------------------------------------------------ 585 Bra 586 \x{100}++ 587 \x{200} 588 Ket 589 End 590 ------------------------------------------------------------------ 591 Capturing subpattern count = 0 592 Options: utf 593 First char = \x{100} 594 Need char = \x{200} 595 596 /\x{100}+X/8DZ 597 ------------------------------------------------------------------ 598 Bra 599 \x{100}++ 600 X 601 Ket 602 End 603 ------------------------------------------------------------------ 604 Capturing subpattern count = 0 605 Options: utf 606 First char = \x{100} 607 Need char = 'X' 608 609 /^[\Q\E-\Q\E/BZ8 610 Failed: missing terminating ] for character class at offset 13 611 612 /X/8 613 \x{d800} 614 Error -10 (bad UTF-16 string) offset=0 reason=1 615 \x{d800}\? 616 No match 617 \x{da00} 618 Error -10 (bad UTF-16 string) offset=0 reason=1 619 \x{da00}\? 620 No match 621 \x{dc00} 622 Error -10 (bad UTF-16 string) offset=0 reason=3 623 \x{dc00}\? 624 No match 625 \x{de00} 626 Error -10 (bad UTF-16 string) offset=0 reason=3 627 \x{de00}\? 628 No match 629 \x{dfff} 630 Error -10 (bad UTF-16 string) offset=0 reason=3 631 \x{dfff}\? 632 No match 633 \x{110000} 634 ** Failed: character \x{110000} is greater than 0x10ffff and so cannot be converted to UTF-16 635 \x{d800}\x{1234} 636 Error -10 (bad UTF-16 string) offset=1 reason=2 637 638 /(*UTF16)\x{11234}/ 639 abcd\x{11234}pqr 640 0: \x{11234} 641 642 /(*UTF)\x{11234}/I 643 Capturing subpattern count = 0 644 Options: utf 645 First char = \x{d804} 646 Need char = \x{de34} 647 abcd\x{11234}pqr 648 0: \x{11234} 649 650 /(*UTF-32)\x{11234}/ 651 Failed: (*VERB) not recognized or malformed at offset 5 652 653 /(*CRLF)(*UTF16)(*BSR_UNICODE)a\Rb/I 654 Capturing subpattern count = 0 655 Options: bsr_unicode utf 656 Forced newline sequence: CRLF 657 First char = 'a' 658 Need char = 'b' 659 660 /(*CRLF)(*UTF32)(*BSR_UNICODE)a\Rb/I 661 Failed: (*VERB) not recognized or malformed at offset 12 662 663 /\h/SI8 664 Capturing subpattern count = 0 665 Options: utf 666 No first char 667 No need char 668 Subject length lower bound = 1 669 Starting chars: \x09 \x20 \xa0 \xff 670 ABC\x{09} 671 0: \x{09} 672 ABC\x{20} 673 0: 674 ABC\x{a0} 675 0: \x{a0} 676 ABC\x{1680} 677 0: \x{1680} 678 ABC\x{180e} 679 0: \x{180e} 680 ABC\x{2000} 681 0: \x{2000} 682 ABC\x{202f} 683 0: \x{202f} 684 ABC\x{205f} 685 0: \x{205f} 686 ABC\x{3000} 687 0: \x{3000} 688 689 /\v/SI8 690 Capturing subpattern count = 0 691 Options: utf 692 No first char 693 No need char 694 Subject length lower bound = 1 695 Starting chars: \x0a \x0b \x0c \x0d \x85 \xff 696 ABC\x{0a} 697 0: \x{0a} 698 ABC\x{0b} 699 0: \x{0b} 700 ABC\x{0c} 701 0: \x{0c} 702 ABC\x{0d} 703 0: \x{0d} 704 ABC\x{85} 705 0: \x{85} 706 ABC\x{2028} 707 0: \x{2028} 708 709 /\h*A/SI8 710 Capturing subpattern count = 0 711 Options: utf 712 No first char 713 Need char = 'A' 714 Subject length lower bound = 1 715 Starting chars: \x09 \x20 A \xa0 \xff 716 CDBABC 717 0: A 718 \x{2000}ABC 719 0: \x{2000}A 720 721 /\R*A/SI8<bsr_unicode> 722 Capturing subpattern count = 0 723 Options: bsr_unicode utf 724 No first char 725 Need char = 'A' 726 Subject length lower bound = 1 727 Starting chars: \x0a \x0b \x0c \x0d A \x85 \xff 728 CDBABC 729 0: A 730 \x{2028}A 731 0: \x{2028}A 732 733 /\v+A/SI8 734 Capturing subpattern count = 0 735 Options: utf 736 No first char 737 Need char = 'A' 738 Subject length lower bound = 2 739 Starting chars: \x0a \x0b \x0c \x0d \x85 \xff 740 741 /\s?xxx\s/8SI 742 Capturing subpattern count = 0 743 Options: utf 744 No first char 745 Need char = 'x' 746 Subject length lower bound = 4 747 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 x 748 749 /\sxxx\s/I8ST1 750 Capturing subpattern count = 0 751 Options: utf 752 No first char 753 Need char = 'x' 754 Subject length lower bound = 5 755 Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 \x85 \xa0 756 AB\x{85}xxx\x{a0}XYZ 757 0: \x{85}xxx\x{a0} 758 AB\x{a0}xxx\x{85}XYZ 759 0: \x{a0}xxx\x{85} 760 761 /\S \S/I8ST1 762 Capturing subpattern count = 0 763 Options: utf 764 No first char 765 Need char = ' ' 766 Subject length lower bound = 3 767 Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f 768 \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e 769 \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C 770 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 771 i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 772 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 773 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa1 \xa2 \xa3 \xa4 774 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 775 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 776 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 777 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 778 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef 779 \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe 780 \xff 781 \x{a2} \x{84} 782 0: \x{a2} \x{84} 783 A Z 784 0: A Z 785 786 /a+/8 787 a\x{123}aa\>1 788 0: aa 789 a\x{123}aa\>2 790 0: aa 791 a\x{123}aa\>3 792 0: a 793 a\x{123}aa\>4 794 No match 795 a\x{123}aa\>5 796 Error -24 (bad offset value) 797 a\x{123}aa\>6 798 Error -24 (bad offset value) 799 800 /\x{1234}+/iS8I 801 Capturing subpattern count = 0 802 Options: caseless utf 803 First char = \x{1234} 804 No need char 805 Subject length lower bound = 1 806 No starting char list 807 808 /\x{1234}+?/iS8I 809 Capturing subpattern count = 0 810 Options: caseless utf 811 First char = \x{1234} 812 No need char 813 Subject length lower bound = 1 814 No starting char list 815 816 /\x{1234}++/iS8I 817 Capturing subpattern count = 0 818 Options: caseless utf 819 First char = \x{1234} 820 No need char 821 Subject length lower bound = 1 822 No starting char list 823 824 /\x{1234}{2}/iS8I 825 Capturing subpattern count = 0 826 Options: caseless utf 827 First char = \x{1234} 828 Need char = \x{1234} 829 Subject length lower bound = 2 830 No starting char list 831 832 /[^\x{c4}]/8DZ 833 ------------------------------------------------------------------ 834 Bra 835 [^\x{c4}] 836 Ket 837 End 838 ------------------------------------------------------------------ 839 Capturing subpattern count = 0 840 Options: utf 841 No first char 842 No need char 843 844 /X+\x{200}/8DZ 845 ------------------------------------------------------------------ 846 Bra 847 X++ 848 \x{200} 849 Ket 850 End 851 ------------------------------------------------------------------ 852 Capturing subpattern count = 0 853 Options: utf 854 First char = 'X' 855 Need char = \x{200} 856 857 /\R/SI8 858 Capturing subpattern count = 0 859 Options: utf 860 No first char 861 No need char 862 Subject length lower bound = 1 863 Starting chars: \x0a \x0b \x0c \x0d \x85 \xff 864 865 /-- Check bad offset --/ 866 867 /a/8 868 \x{10000}\>1 869 Error -11 (bad UTF-16 offset) 870 \x{10000}ab\>1 871 Error -11 (bad UTF-16 offset) 872 \x{10000}ab\>2 873 0: a 874 \x{10000}ab\>3 875 No match 876 \x{10000}ab\>4 877 No match 878 \x{10000}ab\>5 879 Error -24 (bad offset value) 880 881 //8 882 Failed: invalid UTF-16 string at offset 0 883 884 /\w+\x{C4}/8BZ 885 ------------------------------------------------------------------ 886 Bra 887 \w++ 888 \x{c4} 889 Ket 890 End 891 ------------------------------------------------------------------ 892 a\x{C4}\x{C4} 893 0: a\x{c4} 894 895 /\w+\x{C4}/8BZT1 896 ------------------------------------------------------------------ 897 Bra 898 \w+ 899 \x{c4} 900 Ket 901 End 902 ------------------------------------------------------------------ 903 a\x{C4}\x{C4} 904 0: a\x{c4}\x{c4} 905 906 /\W+\x{C4}/8BZ 907 ------------------------------------------------------------------ 908 Bra 909 \W+ 910 \x{c4} 911 Ket 912 End 913 ------------------------------------------------------------------ 914 !\x{C4} 915 0: !\x{c4} 916 917 /\W+\x{C4}/8BZT1 918 ------------------------------------------------------------------ 919 Bra 920 \W++ 921 \x{c4} 922 Ket 923 End 924 ------------------------------------------------------------------ 925 !\x{C4} 926 0: !\x{c4} 927 928 /\W+\x{A1}/8BZ 929 ------------------------------------------------------------------ 930 Bra 931 \W+ 932 \x{a1} 933 Ket 934 End 935 ------------------------------------------------------------------ 936 !\x{A1} 937 0: !\x{a1} 938 939 /\W+\x{A1}/8BZT1 940 ------------------------------------------------------------------ 941 Bra 942 \W+ 943 \x{a1} 944 Ket 945 End 946 ------------------------------------------------------------------ 947 !\x{A1} 948 0: !\x{a1} 949 950 /X\s+\x{A0}/8BZ 951 ------------------------------------------------------------------ 952 Bra 953 X 954 \s++ 955 \x{a0} 956 Ket 957 End 958 ------------------------------------------------------------------ 959 X\x20\x{A0}\x{A0} 960 0: X \x{a0} 961 962 /X\s+\x{A0}/8BZT1 963 ------------------------------------------------------------------ 964 Bra 965 X 966 \s+ 967 \x{a0} 968 Ket 969 End 970 ------------------------------------------------------------------ 971 X\x20\x{A0}\x{A0} 972 0: X \x{a0}\x{a0} 973 974 /\S+\x{A0}/8BZ 975 ------------------------------------------------------------------ 976 Bra 977 \S+ 978 \x{a0} 979 Ket 980 End 981 ------------------------------------------------------------------ 982 X\x{A0}\x{A0} 983 0: X\x{a0}\x{a0} 984 985 /\S+\x{A0}/8BZT1 986 ------------------------------------------------------------------ 987 Bra 988 \S++ 989 \x{a0} 990 Ket 991 End 992 ------------------------------------------------------------------ 993 X\x{A0}\x{A0} 994 0: X\x{a0} 995 996 /\x{a0}+\s!/8BZ 997 ------------------------------------------------------------------ 998 Bra 999 \x{a0}++ 1000 \s 1001 ! 1002 Ket 1003 End 1004 ------------------------------------------------------------------ 1005 \x{a0}\x20! 1006 0: \x{a0} ! 1007 1008 /\x{a0}+\s!/8BZT1 1009 ------------------------------------------------------------------ 1010 Bra 1011 \x{a0}+ 1012 \s 1013 ! 1014 Ket 1015 End 1016 ------------------------------------------------------------------ 1017 \x{a0}\x20! 1018 0: \x{a0} ! 1019 1020 /(*UTF)abc/9 1021 Failed: setting UTF is disabled by the application at offset 0 1022 1023 /abc/89 1024 Failed: setting UTF is disabled by the application at offset 0 1025 1026 /-- End of testinput18 --/ 1027