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