1 # This set of tests is for UTF support, including Unicode properties. The 2 # Unicode tests are all compatible with all versions of Perl >= 5.10, but 3 # some of the property tests may differ because of different versions of 4 # Unicode in use by PCRE2 and Perl. 5 6 #newline_default lf anycrlf any 7 #perltest 8 9 /a.b/utf 10 acb 11 a\x7fb 12 a\x{100}b 13 \= Expect no match 14 a\nb 15 16 /a(.{3})b/utf 17 a\x{4000}xyb 18 a\x{4000}\x7fyb 19 a\x{4000}\x{100}yb 20 \= Expect no match 21 a\x{4000}b 22 ac\ncb 23 24 /a(.*?)(.)/ 25 a\xc0\x88b 26 27 /a(.*?)(.)/utf 28 a\x{100}b 29 30 /a(.*)(.)/ 31 a\xc0\x88b 32 33 /a(.*)(.)/utf 34 a\x{100}b 35 36 /a(.)(.)/ 37 a\xc0\x92bcd 38 39 /a(.)(.)/utf 40 a\x{240}bcd 41 42 /a(.?)(.)/ 43 a\xc0\x92bcd 44 45 /a(.?)(.)/utf 46 a\x{240}bcd 47 48 /a(.??)(.)/ 49 a\xc0\x92bcd 50 51 /a(.??)(.)/utf 52 a\x{240}bcd 53 54 /a(.{3})b/utf 55 a\x{1234}xyb 56 a\x{1234}\x{4321}yb 57 a\x{1234}\x{4321}\x{3412}b 58 \= Expect no match 59 a\x{1234}b 60 ac\ncb 61 62 /a(.{3,})b/utf 63 a\x{1234}xyb 64 a\x{1234}\x{4321}yb 65 a\x{1234}\x{4321}\x{3412}b 66 axxxxbcdefghijb 67 a\x{1234}\x{4321}\x{3412}\x{3421}b 68 \= Expect no match 69 a\x{1234}b 70 71 /a(.{3,}?)b/utf 72 a\x{1234}xyb 73 a\x{1234}\x{4321}yb 74 a\x{1234}\x{4321}\x{3412}b 75 axxxxbcdefghijb 76 a\x{1234}\x{4321}\x{3412}\x{3421}b 77 \= Expect no match 78 a\x{1234}b 79 80 /a(.{3,5})b/utf 81 a\x{1234}xyb 82 a\x{1234}\x{4321}yb 83 a\x{1234}\x{4321}\x{3412}b 84 axxxxbcdefghijb 85 a\x{1234}\x{4321}\x{3412}\x{3421}b 86 axbxxbcdefghijb 87 axxxxxbcdefghijb 88 \= Expect no match 89 a\x{1234}b 90 axxxxxxbcdefghijb 91 92 /a(.{3,5}?)b/utf 93 a\x{1234}xyb 94 a\x{1234}\x{4321}yb 95 a\x{1234}\x{4321}\x{3412}b 96 axxxxbcdefghijb 97 a\x{1234}\x{4321}\x{3412}\x{3421}b 98 axbxxbcdefghijb 99 axxxxxbcdefghijb 100 \= Expect no match 101 a\x{1234}b 102 axxxxxxbcdefghijb 103 104 /^[a\x{c0}]/utf 105 \= Expect no match 106 \x{100} 107 108 /(?<=aXb)cd/utf 109 aXbcd 110 111 /(?<=a\x{100}b)cd/utf 112 a\x{100}bcd 113 114 /(?<=a\x{100000}b)cd/utf 115 a\x{100000}bcd 116 117 /(?:\x{100}){3}b/utf 118 \x{100}\x{100}\x{100}b 119 \= Expect no match 120 \x{100}\x{100}b 121 122 /\x{ab}/utf 123 \x{ab} 124 \xc2\xab 125 \= Expect no match 126 \x00{ab} 127 128 /(?<=(.))X/utf 129 WXYZ 130 \x{256}XYZ 131 \= Expect no match 132 XYZ 133 134 /[^a]+/g,utf 135 bcd 136 \x{100}aY\x{256}Z 137 138 /^[^a]{2}/utf 139 \x{100}bc 140 141 /^[^a]{2,}/utf 142 \x{100}bcAa 143 144 /^[^a]{2,}?/utf 145 \x{100}bca 146 147 /[^a]+/gi,utf 148 bcd 149 \x{100}aY\x{256}Z 150 151 /^[^a]{2}/i,utf 152 \x{100}bc 153 154 /^[^a]{2,}/i,utf 155 \x{100}bcAa 156 157 /^[^a]{2,}?/i,utf 158 \x{100}bca 159 160 /\x{100}{0,0}/utf 161 abcd 162 163 /\x{100}?/utf 164 abcd 165 \x{100}\x{100} 166 167 /\x{100}{0,3}/utf 168 \x{100}\x{100} 169 \x{100}\x{100}\x{100}\x{100} 170 171 /\x{100}*/utf 172 abce 173 \x{100}\x{100}\x{100}\x{100} 174 175 /\x{100}{1,1}/utf 176 abcd\x{100}\x{100}\x{100}\x{100} 177 178 /\x{100}{1,3}/utf 179 abcd\x{100}\x{100}\x{100}\x{100} 180 181 /\x{100}+/utf 182 abcd\x{100}\x{100}\x{100}\x{100} 183 184 /\x{100}{3}/utf 185 abcd\x{100}\x{100}\x{100}XX 186 187 /\x{100}{3,5}/utf 188 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 189 190 /\x{100}{3,}/utf 191 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 192 193 /(?<=a\x{100}{2}b)X/utf,aftertext 194 Xyyya\x{100}\x{100}bXzzz 195 196 /\D*/utf 197 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 198 199 /\D*/utf 200 \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100} 201 202 /\D/utf 203 1X2 204 1\x{100}2 205 206 />\S/utf 207 > >X Y 208 > >\x{100} Y 209 210 /\d/utf 211 \x{100}3 212 213 /\s/utf 214 \x{100} X 215 216 /\D+/utf 217 12abcd34 218 \= Expect no match 219 1234 220 221 /\D{2,3}/utf 222 12abcd34 223 12ab34 224 \= Expect no match 225 1234 226 12a34 227 228 /\D{2,3}?/utf 229 12abcd34 230 12ab34 231 \= Expect no match 232 1234 233 12a34 234 235 /\d+/utf 236 12abcd34 237 238 /\d{2,3}/utf 239 12abcd34 240 1234abcd 241 \= Expect no match 242 1.4 243 244 /\d{2,3}?/utf 245 12abcd34 246 1234abcd 247 \= Expect no match 248 1.4 249 250 /\S+/utf 251 12abcd34 252 \= Expect no match 253 \ \ 254 255 /\S{2,3}/utf 256 12abcd34 257 1234abcd 258 \= Expect no match 259 \ \ 260 261 /\S{2,3}?/utf 262 12abcd34 263 1234abcd 264 \= Expect no match 265 \ \ 266 267 />\s+</utf,aftertext 268 12> <34 269 270 />\s{2,3}</utf,aftertext 271 ab> <cd 272 ab> <ce 273 \= Expect no match 274 ab> <cd 275 276 />\s{2,3}?</utf,aftertext 277 ab> <cd 278 ab> <ce 279 \= Expect no match 280 ab> <cd 281 282 /\w+/utf 283 12 34 284 \= Expect no match 285 +++=*! 286 287 /\w{2,3}/utf 288 ab cd 289 abcd ce 290 \= Expect no match 291 a.b.c 292 293 /\w{2,3}?/utf 294 ab cd 295 abcd ce 296 \= Expect no match 297 a.b.c 298 299 /\W+/utf 300 12====34 301 \= Expect no match 302 abcd 303 304 /\W{2,3}/utf 305 ab====cd 306 ab==cd 307 \= Expect no match 308 a.b.c 309 310 /\W{2,3}?/utf 311 ab====cd 312 ab==cd 313 \= Expect no match 314 a.b.c 315 316 /[\x{100}]/utf 317 \x{100} 318 Z\x{100} 319 \x{100}Z 320 321 /[Z\x{100}]/utf 322 Z\x{100} 323 \x{100} 324 \x{100}Z 325 326 /[\x{100}\x{200}]/utf 327 ab\x{100}cd 328 ab\x{200}cd 329 330 /[\x{100}-\x{200}]/utf 331 ab\x{100}cd 332 ab\x{200}cd 333 ab\x{111}cd 334 335 /[z-\x{200}]/utf 336 ab\x{100}cd 337 ab\x{200}cd 338 ab\x{111}cd 339 abzcd 340 ab|cd 341 342 /[Q\x{100}\x{200}]/utf 343 ab\x{100}cd 344 ab\x{200}cd 345 Q? 346 347 /[Q\x{100}-\x{200}]/utf 348 ab\x{100}cd 349 ab\x{200}cd 350 ab\x{111}cd 351 Q? 352 353 /[Qz-\x{200}]/utf 354 ab\x{100}cd 355 ab\x{200}cd 356 ab\x{111}cd 357 abzcd 358 ab|cd 359 Q? 360 361 /[\x{100}\x{200}]{1,3}/utf 362 ab\x{100}cd 363 ab\x{200}cd 364 ab\x{200}\x{100}\x{200}\x{100}cd 365 366 /[\x{100}\x{200}]{1,3}?/utf 367 ab\x{100}cd 368 ab\x{200}cd 369 ab\x{200}\x{100}\x{200}\x{100}cd 370 371 /[Q\x{100}\x{200}]{1,3}/utf 372 ab\x{100}cd 373 ab\x{200}cd 374 ab\x{200}\x{100}\x{200}\x{100}cd 375 376 /[Q\x{100}\x{200}]{1,3}?/utf 377 ab\x{100}cd 378 ab\x{200}cd 379 ab\x{200}\x{100}\x{200}\x{100}cd 380 381 /(?<=[\x{100}\x{200}])X/utf 382 abc\x{200}X 383 abc\x{100}X 384 \= Expect no match 385 X 386 387 /(?<=[Q\x{100}\x{200}])X/utf 388 abc\x{200}X 389 abc\x{100}X 390 abQX 391 \= Expect no match 392 X 393 394 /(?<=[\x{100}\x{200}]{3})X/utf 395 abc\x{100}\x{200}\x{100}X 396 \= Expect no match 397 abc\x{200}X 398 X 399 400 /[^\x{100}\x{200}]X/utf 401 AX 402 \x{150}X 403 \x{500}X 404 \= Expect no match 405 \x{100}X 406 \x{200}X 407 408 /[^Q\x{100}\x{200}]X/utf 409 AX 410 \x{150}X 411 \x{500}X 412 \= Expect no match 413 \x{100}X 414 \x{200}X 415 QX 416 417 /[^\x{100}-\x{200}]X/utf 418 AX 419 \x{500}X 420 \= Expect no match 421 \x{100}X 422 \x{150}X 423 \x{200}X 424 425 /[z-\x{100}]/i,utf 426 z 427 Z 428 \x{100} 429 \= Expect no match 430 \x{102} 431 y 432 433 /[\xFF]/ 434 >\xff< 435 436 /[\xff]/utf 437 >\x{ff}< 438 439 /[^\xFF]/ 440 XYZ 441 442 /[^\xff]/utf 443 XYZ 444 \x{123} 445 446 /^[ac]*b/utf 447 \= Expect no match 448 xb 449 450 /^[ac\x{100}]*b/utf 451 \= Expect no match 452 xb 453 454 /^[^x]*b/i,utf 455 \= Expect no match 456 xb 457 458 /^[^x]*b/utf 459 \= Expect no match 460 xb 461 462 /^\d*b/utf 463 \= Expect no match 464 xb 465 466 /(|a)/g,utf 467 catac 468 a\x{256}a 469 470 /^\x{85}$/i,utf 471 \x{85} 472 473 /^/utf 474 475 476 /^\/utf 477 478 479 "(?s)(.{1,5})"utf 480 abcdefg 481 ab 482 483 /a*\x{100}*\w/utf 484 a 485 486 /\S\S/g,utf 487 A\x{a3}BC 488 489 /\S{2}/g,utf 490 A\x{a3}BC 491 492 /\W\W/g,utf 493 +\x{a3}== 494 495 /\W{2}/g,utf 496 +\x{a3}== 497 498 /\S/g,utf 499 \x{442}\x{435}\x{441}\x{442} 500 501 /[\S]/g,utf 502 \x{442}\x{435}\x{441}\x{442} 503 504 /\D/g,utf 505 \x{442}\x{435}\x{441}\x{442} 506 507 /[\D]/g,utf 508 \x{442}\x{435}\x{441}\x{442} 509 510 /\W/g,utf 511 \x{2442}\x{2435}\x{2441}\x{2442} 512 513 /[\W]/g,utf 514 \x{2442}\x{2435}\x{2441}\x{2442} 515 516 /[\S\s]*/utf 517 abc\n\r\x{442}\x{435}\x{441}\x{442}xyz 518 519 /[\x{41f}\S]/g,utf 520 \x{442}\x{435}\x{441}\x{442} 521 522 /.[^\S]./g,utf 523 abc def\x{442}\x{443}xyz\npqr 524 525 /.[^\S\n]./g,utf 526 abc def\x{442}\x{443}xyz\npqr 527 528 /[[:^alnum:]]/g,utf 529 +\x{2442} 530 531 /[[:^alpha:]]/g,utf 532 +\x{2442} 533 534 /[[:^ascii:]]/g,utf 535 A\x{442} 536 537 /[[:^blank:]]/g,utf 538 A\x{442} 539 540 /[[:^cntrl:]]/g,utf 541 A\x{442} 542 543 /[[:^digit:]]/g,utf 544 A\x{442} 545 546 /[[:^graph:]]/g,utf 547 \x19\x{e01ff} 548 549 /[[:^lower:]]/g,utf 550 A\x{422} 551 552 /[[:^print:]]/g,utf 553 \x{19}\x{e01ff} 554 555 /[[:^punct:]]/g,utf 556 A\x{442} 557 558 /[[:^space:]]/g,utf 559 A\x{442} 560 561 /[[:^upper:]]/g,utf 562 a\x{442} 563 564 /[[:^word:]]/g,utf 565 +\x{2442} 566 567 /[[:^xdigit:]]/g,utf 568 M\x{442} 569 570 /[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\d-_^]/utf 571 572 /^[^d]*?$/ 573 abc 574 575 /^[^d]*?$/utf 576 abc 577 578 /^[^d]*?$/i 579 abc 580 581 /^[^d]*?$/i,utf 582 abc 583 584 /(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]/utf 585 586 /^[a\x{c0}]b/utf 587 \x{c0}b 588 589 /^([a\x{c0}]*?)aa/utf 590 a\x{c0}aaaa/ 591 592 /^([a\x{c0}]*?)aa/utf 593 a\x{c0}aaaa/ 594 a\x{c0}a\x{c0}aaa/ 595 596 /^([a\x{c0}]*)aa/utf 597 a\x{c0}aaaa/ 598 a\x{c0}a\x{c0}aaa/ 599 600 /^([a\x{c0}]*)a\x{c0}/utf 601 a\x{c0}aaaa/ 602 a\x{c0}a\x{c0}aaa/ 603 604 /A*/g,utf 605 AAB\x{123}BAA 606 607 /(abc)\1/i,utf 608 \= Expect no match 609 abc 610 611 /(abc)\1/utf 612 \= Expect no match 613 abc 614 615 /a(*:a\x{1234}b)/utf,mark 616 abc 617 618 /a(*:ab)/utf,mark 619 abc 620 621 # Noncharacters 622 623 /./utf 624 \x{fffe} 625 \x{ffff} 626 \x{1fffe} 627 \x{1ffff} 628 \x{2fffe} 629 \x{2ffff} 630 \x{3fffe} 631 \x{3ffff} 632 \x{4fffe} 633 \x{4ffff} 634 \x{5fffe} 635 \x{5ffff} 636 \x{6fffe} 637 \x{6ffff} 638 \x{7fffe} 639 \x{7ffff} 640 \x{8fffe} 641 \x{8ffff} 642 \x{9fffe} 643 \x{9ffff} 644 \x{afffe} 645 \x{affff} 646 \x{bfffe} 647 \x{bffff} 648 \x{cfffe} 649 \x{cffff} 650 \x{dfffe} 651 \x{dffff} 652 \x{efffe} 653 \x{effff} 654 \x{ffffe} 655 \x{fffff} 656 \x{10fffe} 657 \x{10ffff} 658 \x{fdd0} 659 \x{fdd1} 660 \x{fdd2} 661 \x{fdd3} 662 \x{fdd4} 663 \x{fdd5} 664 \x{fdd6} 665 \x{fdd7} 666 \x{fdd8} 667 \x{fdd9} 668 \x{fdda} 669 \x{fddb} 670 \x{fddc} 671 \x{fddd} 672 \x{fdde} 673 \x{fddf} 674 \x{fde0} 675 \x{fde1} 676 \x{fde2} 677 \x{fde3} 678 \x{fde4} 679 \x{fde5} 680 \x{fde6} 681 \x{fde7} 682 \x{fde8} 683 \x{fde9} 684 \x{fdea} 685 \x{fdeb} 686 \x{fdec} 687 \x{fded} 688 \x{fdee} 689 \x{fdef} 690 691 /^\d*\w{4}/utf 692 1234 693 \= Expect no match 694 123 695 696 /^[^b]*\w{4}/utf 697 aaaa 698 \= Expect no match 699 aaa 700 701 /^[^b]*\w{4}/i,utf 702 aaaa 703 \= Expect no match 704 aaa 705 706 /^\x{100}*.{4}/utf 707 \x{100}\x{100}\x{100}\x{100} 708 \= Expect no match 709 \x{100}\x{100}\x{100} 710 711 /^\x{100}*.{4}/i,utf 712 \x{100}\x{100}\x{100}\x{100} 713 \= Expect no match 714 \x{100}\x{100}\x{100} 715 716 /^a+[a\x{200}]/utf 717 aa 718 719 /^.\B.\B./utf 720 \x{10123}\x{10124}\x{10125} 721 722 /^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/utf 723 #\x{10000}#\x{100}#\x{10ffff}# 724 725 # Unicode property support tests 726 727 /^\pC\pL\pM\pN\pP\pS\pZ</utf 728 \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}< 729 \np\x{300}9!\$ < 730 \= Expect no match 731 ap\x{300}9!\$ < 732 733 /^\PC/utf 734 X 735 \= Expect no match 736 \x7f 737 738 /^\PL/utf 739 9 740 \= Expect no match 741 \x{c0} 742 743 /^\PM/utf 744 X 745 \= Expect no match 746 \x{30f} 747 748 /^\PN/utf 749 X 750 \= Expect no match 751 \x{660} 752 753 /^\PP/utf 754 X 755 \= Expect no match 756 \x{66c} 757 758 /^\PS/utf 759 X 760 \= Expect no match 761 \x{f01} 762 763 /^\PZ/utf 764 X 765 \= Expect no match 766 \x{1680} 767 768 /^\p{Cc}/utf 769 \x{017} 770 \x{09f} 771 \= Expect no match 772 \x{0600} 773 774 /^\p{Cf}/utf 775 \x{601} 776 \= Expect no match 777 \x{09f} 778 779 /^\p{Cn}/utf 780 \x{e0000} 781 \= Expect no match 782 \x{09f} 783 784 /^\p{Co}/utf 785 \x{f8ff} 786 \= Expect no match 787 \x{09f} 788 789 /^\p{Ll}/utf 790 a 791 \= Expect no match 792 Z 793 \x{e000} 794 795 /^\p{Lm}/utf 796 \x{2b0} 797 \= Expect no match 798 a 799 800 /^\p{Lo}/utf 801 \x{1bb} 802 \x{3400} 803 \x{3401} 804 \x{4d00} 805 \x{4db4} 806 \x{4db5} 807 \= Expect no match 808 a 809 \x{2b0} 810 \x{4db6} 811 812 /^\p{Lt}/utf 813 \x{1c5} 814 \= Expect no match 815 a 816 \x{2b0} 817 818 /^\p{Lu}/utf 819 A 820 \= Expect no match 821 \x{2b0} 822 823 /^\p{Mc}/utf 824 \x{903} 825 \= Expect no match 826 X 827 \x{300} 828 829 /^\p{Me}/utf 830 \x{488} 831 \= Expect no match 832 X 833 \x{903} 834 \x{300} 835 836 /^\p{Mn}/utf 837 \x{300} 838 \= Expect no match 839 X 840 \x{903} 841 842 /^\p{Nd}+/utf 843 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a} 844 \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa} 845 \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970} 846 \= Expect no match 847 X 848 849 /^\p{Nl}/utf 850 \x{16ee} 851 \= Expect no match 852 X 853 \x{966} 854 855 /^\p{No}/utf 856 \x{b2} 857 \x{b3} 858 \= Expect no match 859 X 860 \x{16ee} 861 862 /^\p{Pc}/utf 863 \x5f 864 \x{203f} 865 \= Expect no match 866 X 867 - 868 \x{58a} 869 870 /^\p{Pd}/utf 871 - 872 \x{58a} 873 \= Expect no match 874 X 875 \x{203f} 876 877 /^\p{Pe}/utf 878 ) 879 ] 880 } 881 \x{f3b} 882 \= Expect no match 883 X 884 \x{203f} 885 ( 886 [ 887 { 888 \x{f3c} 889 890 /^\p{Pf}/utf 891 \x{bb} 892 \x{2019} 893 \= Expect no match 894 X 895 \x{203f} 896 897 /^\p{Pi}/utf 898 \x{ab} 899 \x{2018} 900 \= Expect no match 901 X 902 \x{203f} 903 904 /^\p{Po}/utf 905 ! 906 \x{37e} 907 \= Expect no match 908 X 909 \x{203f} 910 911 /^\p{Ps}/utf 912 ( 913 [ 914 { 915 \x{f3c} 916 \= Expect no match 917 X 918 ) 919 ] 920 } 921 \x{f3b} 922 923 /^\p{Sk}/utf 924 \x{2c2} 925 \= Expect no match 926 X 927 \x{9f2} 928 929 /^\p{Sm}+/utf 930 +<|~\x{ac}\x{2044} 931 \= Expect no match 932 X 933 \x{9f2} 934 935 /^\p{So}/utf 936 \x{a6} 937 \x{482} 938 \= Expect no match 939 X 940 \x{9f2} 941 942 /^\p{Zl}/utf 943 \x{2028} 944 \= Expect no match 945 X 946 \x{2029} 947 948 /^\p{Zp}/utf 949 \x{2029} 950 \= Expect no match 951 X 952 \x{2028} 953 954 /\p{Nd}+(..)/utf 955 \x{660}\x{661}\x{662}ABC 956 957 /\p{Nd}+?(..)/utf 958 \x{660}\x{661}\x{662}ABC 959 960 /\p{Nd}{2,}(..)/utf 961 \x{660}\x{661}\x{662}ABC 962 963 /\p{Nd}{2,}?(..)/utf 964 \x{660}\x{661}\x{662}ABC 965 966 /\p{Nd}*(..)/utf 967 \x{660}\x{661}\x{662}ABC 968 969 /\p{Nd}*?(..)/utf 970 \x{660}\x{661}\x{662}ABC 971 972 /\p{Nd}{2}(..)/utf 973 \x{660}\x{661}\x{662}ABC 974 975 /\p{Nd}{2,3}(..)/utf 976 \x{660}\x{661}\x{662}ABC 977 978 /\p{Nd}{2,3}?(..)/utf 979 \x{660}\x{661}\x{662}ABC 980 981 /\p{Nd}?(..)/utf 982 \x{660}\x{661}\x{662}ABC 983 984 /\p{Nd}??(..)/utf 985 \x{660}\x{661}\x{662}ABC 986 987 /\p{Nd}*+(..)/utf 988 \x{660}\x{661}\x{662}ABC 989 990 /\p{Nd}*+(...)/utf 991 \x{660}\x{661}\x{662}ABC 992 993 /\p{Nd}*+(....)/utf 994 \= Expect no match 995 \x{660}\x{661}\x{662}ABC 996 997 /(?<=A\p{Nd})XYZ/utf 998 A2XYZ 999 123A5XYZPQR 1000 ABA\x{660}XYZpqr 1001 \= Expect no match 1002 AXYZ 1003 XYZ 1004 1005 /(?<!\pL)XYZ/utf 1006 1XYZ 1007 AB=XYZ.. 1008 XYZ 1009 \= Expect no match 1010 WXYZ 1011 1012 /[\P{Nd}]+/utf 1013 abcd 1014 \= Expect no match 1015 1234 1016 1017 /\D+/utf 1018 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1019 \= Expect no match 1020 11111111111111111111111111111111111111111111111111111111111111111111111 1021 1022 /\P{Nd}+/utf 1023 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1024 \= Expect no match 1025 11111111111111111111111111111111111111111111111111111111111111111111111 1026 1027 /[\D]+/utf 1028 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1029 \= Expect no match 1030 11111111111111111111111111111111111111111111111111111111111111111111111 1031 1032 /[\P{Nd}]+/utf 1033 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1034 \= Expect no match 1035 11111111111111111111111111111111111111111111111111111111111111111111111 1036 1037 /[\D\P{Nd}]+/utf 1038 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1039 \= Expect no match 1040 11111111111111111111111111111111111111111111111111111111111111111111111 1041 1042 /\pL/utf 1043 a 1044 A 1045 1046 /\pL/i,utf 1047 a 1048 A 1049 1050 /\p{Lu}/utf 1051 A 1052 aZ 1053 \= Expect no match 1054 abc 1055 1056 /\p{Ll}/utf 1057 a 1058 Az 1059 \= Expect no match 1060 ABC 1061 1062 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf 1063 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 1064 \= Expect no match 1065 a\x{391}\x{10427}\x{ff3a}\x{1fb0} 1066 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} 1067 A\x{391}\x{1044F}\x{ff3a}\x{1fb0} 1068 A\x{391}\x{10427}\x{ff5a}\x{1fb0} 1069 A\x{391}\x{10427}\x{ff3a}\x{1fb8} 1070 1071 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf 1072 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 1073 a\x{391}\x{10427}\x{ff3a}\x{1fb0} 1074 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} 1075 A\x{391}\x{1044F}\x{ff3a}\x{1fb0} 1076 A\x{391}\x{10427}\x{ff5a}\x{1fb0} 1077 A\x{391}\x{10427}\x{ff3a}\x{1fb8} 1078 1079 /\x{391}+/i,utf 1080 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} 1081 1082 /\x{391}{3,5}(.)/i,utf 1083 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X 1084 1085 /\x{391}{3,5}?(.)/i,utf 1086 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X 1087 1088 /[\x{391}\x{ff3a}]/i,utf 1089 \x{391} 1090 \x{ff3a} 1091 \x{3b1} 1092 \x{ff5a} 1093 1094 /^(\X*)C/utf 1095 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1096 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1097 1098 /^(\X*?)C/utf 1099 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1100 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1101 1102 /^(\X*)(.)/utf 1103 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1104 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1105 1106 /^(\X*?)(.)/utf 1107 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1108 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1109 1110 /^\X(.)/utf 1111 \= Expect no match 1112 A\x{300}\x{301}\x{302} 1113 1114 /^\X{2,3}(.)/utf 1115 A\x{300}\x{301}B\x{300}X 1116 A\x{300}\x{301}B\x{300}C\x{300}\x{301} 1117 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X 1118 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X 1119 1120 /^\X{2,3}?(.)/utf 1121 A\x{300}\x{301}B\x{300}X 1122 A\x{300}\x{301}B\x{300}C\x{300}\x{301} 1123 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X 1124 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X 1125 1126 /^\X/utf 1127 A 1128 A\x{300}BC 1129 A\x{300}\x{301}\x{302}BC 1130 \x{300} 1131 1132 /^\p{Han}+/utf 1133 \x{2e81}\x{3007}\x{2f804}\x{31a0} 1134 \= Expect no match 1135 \x{2e7f} 1136 1137 /^\P{Katakana}+/utf 1138 \x{3105} 1139 \= Expect no match 1140 \x{30ff} 1141 1142 /^[\p{Arabic}]/utf 1143 \x{06e9} 1144 \x{060b} 1145 \= Expect no match 1146 X\x{06e9} 1147 1148 /^[\P{Yi}]/utf 1149 \x{2f800} 1150 \= Expect no match 1151 \x{a014} 1152 \x{a4c6} 1153 1154 /^\p{Any}X/utf 1155 AXYZ 1156 \x{1234}XYZ 1157 \= Expect no match 1158 X 1159 1160 /^\P{Any}X/utf 1161 \= Expect no match 1162 AX 1163 1164 /^\p{Any}?X/utf 1165 XYZ 1166 AXYZ 1167 \x{1234}XYZ 1168 \= Expect no match 1169 ABXYZ 1170 1171 /^\P{Any}?X/utf 1172 XYZ 1173 \= Expect no match 1174 AXYZ 1175 \x{1234}XYZ 1176 ABXYZ 1177 1178 /^\p{Any}+X/utf 1179 AXYZ 1180 \x{1234}XYZ 1181 A\x{1234}XYZ 1182 \= Expect no match 1183 XYZ 1184 1185 /^\P{Any}+X/utf 1186 \= Expect no match 1187 AXYZ 1188 \x{1234}XYZ 1189 A\x{1234}XYZ 1190 XYZ 1191 1192 /^\p{Any}*X/utf 1193 XYZ 1194 AXYZ 1195 \x{1234}XYZ 1196 A\x{1234}XYZ 1197 1198 /^\P{Any}*X/utf 1199 XYZ 1200 \= Expect no match 1201 AXYZ 1202 \x{1234}XYZ 1203 A\x{1234}XYZ 1204 1205 /^[\p{Any}]X/utf 1206 AXYZ 1207 \x{1234}XYZ 1208 \= Expect no match 1209 X 1210 1211 /^[\P{Any}]X/utf 1212 \= Expect no match 1213 AX 1214 1215 /^[\p{Any}]?X/utf 1216 XYZ 1217 AXYZ 1218 \x{1234}XYZ 1219 \= Expect no match 1220 ABXYZ 1221 1222 /^[\P{Any}]?X/utf 1223 XYZ 1224 \= Expect no match 1225 AXYZ 1226 \x{1234}XYZ 1227 ABXYZ 1228 1229 /^[\p{Any}]+X/utf 1230 AXYZ 1231 \x{1234}XYZ 1232 A\x{1234}XYZ 1233 \= Expect no match 1234 XYZ 1235 1236 /^[\P{Any}]+X/utf 1237 \= Expect no match 1238 AXYZ 1239 \x{1234}XYZ 1240 A\x{1234}XYZ 1241 XYZ 1242 1243 /^[\p{Any}]*X/utf 1244 XYZ 1245 AXYZ 1246 \x{1234}XYZ 1247 A\x{1234}XYZ 1248 1249 /^[\P{Any}]*X/utf 1250 XYZ 1251 \= Expect no match 1252 AXYZ 1253 \x{1234}XYZ 1254 A\x{1234}XYZ 1255 1256 /^\p{Any}{3,5}?/utf 1257 abcdefgh 1258 \x{1234}\n\r\x{3456}xyz 1259 1260 /^\p{Any}{3,5}/utf 1261 abcdefgh 1262 \x{1234}\n\r\x{3456}xyz 1263 1264 /^\P{Any}{3,5}?/utf 1265 \= Expect no match 1266 abcdefgh 1267 \x{1234}\n\r\x{3456}xyz 1268 1269 /^\p{L&}X/utf 1270 AXY 1271 aXY 1272 \x{1c5}XY 1273 \= Expect no match 1274 \x{1bb}XY 1275 \x{2b0}XY 1276 !XY 1277 1278 /^[\p{L&}]X/utf 1279 AXY 1280 aXY 1281 \x{1c5}XY 1282 \= Expect no match 1283 \x{1bb}XY 1284 \x{2b0}XY 1285 !XY 1286 1287 /^\p{L&}+X/utf 1288 AXY 1289 aXY 1290 AbcdeXyz 1291 \x{1c5}AbXY 1292 abcDEXypqreXlmn 1293 \= Expect no match 1294 \x{1bb}XY 1295 \x{2b0}XY 1296 !XY 1297 1298 /^[\p{L&}]+X/utf 1299 AXY 1300 aXY 1301 AbcdeXyz 1302 \x{1c5}AbXY 1303 abcDEXypqreXlmn 1304 \= Expect no match 1305 \x{1bb}XY 1306 \x{2b0}XY 1307 !XY 1308 1309 /^\p{L&}+?X/utf 1310 AXY 1311 aXY 1312 AbcdeXyz 1313 \x{1c5}AbXY 1314 abcDEXypqreXlmn 1315 \= Expect no match 1316 \x{1bb}XY 1317 \x{2b0}XY 1318 !XY 1319 1320 /^[\p{L&}]+?X/utf 1321 AXY 1322 aXY 1323 AbcdeXyz 1324 \x{1c5}AbXY 1325 abcDEXypqreXlmn 1326 \= Expect no match 1327 \x{1bb}XY 1328 \x{2b0}XY 1329 !XY 1330 1331 /^\P{L&}X/utf 1332 !XY 1333 \x{1bb}XY 1334 \x{2b0}XY 1335 \= Expect no match 1336 \x{1c5}XY 1337 AXY 1338 1339 /^[\P{L&}]X/utf 1340 !XY 1341 \x{1bb}XY 1342 \x{2b0}XY 1343 \= Expect no match 1344 \x{1c5}XY 1345 AXY 1346 1347 /^(\p{Z}[^\p{C}\p{Z}]+)*$/ 1348 \xa0! 1349 1350 /^[\pL](abc)(?1)/ 1351 AabcabcYZ 1352 1353 /([\pL]=(abc))*X/ 1354 L=abcX 1355 1356 /^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/utf 1357 \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900} 1358 1359 # Check property support in non-UTF mode 1360 1361 /\p{L}{4}/ 1362 123abcdefg 1363 123abc\xc4\xc5zz 1364 1365 /\X{1,3}\d/ 1366 \= Expect no match 1367 \x8aBCD 1368 1369 /\X?\d/ 1370 \= Expect no match 1371 \x8aBCD 1372 1373 /\P{L}?\d/ 1374 \= Expect no match 1375 \x8aBCD 1376 1377 /[\PPP\x8a]{1,}\x80/ 1378 A\x80 1379 1380 /^[\p{Arabic}]/utf 1381 \x{604} 1382 \x{60e} 1383 \x{656} 1384 \x{657} 1385 \x{658} 1386 \x{659} 1387 \x{65a} 1388 \x{65b} 1389 \x{65c} 1390 \x{65d} 1391 \x{65e} 1392 \x{65f} 1393 \x{66a} 1394 \x{6e9} 1395 \x{6ef} 1396 \x{6fa} 1397 \= Expect no match 1398 \x{650} 1399 \x{651} 1400 \x{652} 1401 \x{653} 1402 \x{654} 1403 \x{655} 1404 1405 /^\p{Cyrillic}/utf 1406 \x{1d2b} 1407 1408 /^\p{Common}/utf 1409 \x{589} 1410 \x{60c} 1411 \x{61f} 1412 \x{964} 1413 \x{965} 1414 1415 /^\p{Inherited}/utf 1416 \x{64b} 1417 \x{654} 1418 \x{655} 1419 \x{200c} 1420 \= Expect no match 1421 \x{64a} 1422 \x{656} 1423 1424 /^\p{Shavian}/utf 1425 \x{10450} 1426 \x{1047f} 1427 1428 /^\p{Deseret}/utf 1429 \x{10400} 1430 \x{1044f} 1431 1432 /^\p{Osmanya}/utf 1433 \x{10480} 1434 \x{1049d} 1435 \x{104a0} 1436 \x{104a9} 1437 \= Expect no match 1438 \x{1049e} 1439 \x{1049f} 1440 \x{104aa} 1441 1442 /\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/utf 1443 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}==== 1444 1445 /\x{a77d}\x{1d79}/i,utf 1446 \x{a77d}\x{1d79} 1447 \x{1d79}\x{a77d} 1448 1449 /\x{a77d}\x{1d79}/utf 1450 \x{a77d}\x{1d79} 1451 \= Expect no match 1452 \x{1d79}\x{a77d} 1453 1454 /(A)\1/i,utf 1455 AA 1456 Aa 1457 aa 1458 aA 1459 1460 /(\x{10a})\1/i,utf 1461 \x{10a}\x{10a} 1462 \x{10a}\x{10b} 1463 \x{10b}\x{10b} 1464 \x{10b}\x{10a} 1465 1466 # The next two tests are for property support in non-UTF mode 1467 1468 /(?:\p{Lu}|\x20)+/ 1469 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 1470 1471 /[\p{Lu}\x20]+/ 1472 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 1473 1474 /\p{Avestan}\p{Bamum}\p{Egyptian_Hieroglyphs}\p{Imperial_Aramaic}\p{Inscriptional_Pahlavi}\p{Inscriptional_Parthian}\p{Javanese}\p{Kaithi}\p{Lisu}\p{Meetei_Mayek}\p{Old_South_Arabian}\p{Old_Turkic}\p{Samaritan}\p{Tai_Tham}\p{Tai_Viet}/utf 1475 \x{10b00}\x{a6ef}\x{13007}\x{10857}\x{10b78}\x{10b58}\x{a980}\x{110c1}\x{a4ff}\x{abc0}\x{10a7d}\x{10c48}\x{0800}\x{1aad}\x{aac0} 1476 1477 /^\w+/utf,ucp 1478 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 1479 1480 /^[[:xdigit:]]*/utf,ucp 1481 1a\x{660}\x{bef}\x{16ee} 1482 1483 /^\d+/utf,ucp 1484 1\x{660}\x{bef}\x{16ee} 1485 1486 /^[[:digit:]]+/utf,ucp 1487 1\x{660}\x{bef}\x{16ee} 1488 1489 /^>\s+/utf,ucp 1490 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1491 1492 /^>\pZ+/utf,ucp 1493 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1494 1495 /^>[[:space:]]*/utf,ucp 1496 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1497 1498 /^>[[:blank:]]*/utf,ucp 1499 >\x{20}\x{a0}\x{1680}\x{2000}\x{202f}\x{9}\x{b}\x{2028} 1500 1501 /^[[:alpha:]]*/utf,ucp 1502 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d} 1503 1504 /^[[:alnum:]]*/utf,ucp 1505 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 1506 1507 /^[[:cntrl:]]*/utf,ucp 1508 \x{0}\x{09}\x{1f}\x{7f}\x{9f} 1509 1510 /^[[:graph:]]*/utf,ucp 1511 A\x{a1}\x{a0} 1512 1513 /^[[:print:]]*/utf,ucp 1514 A z\x{a0}\x{a1} 1515 1516 /^[[:punct:]]*/utf,ucp 1517 .+\x{a1}\x{a0} 1518 1519 /\p{Zs}*?\R/ 1520 \= Expect no match 1521 a\xFCb 1522 1523 /\p{Zs}*\R/ 1524 \= Expect no match 1525 a\xFCb 1526 1527 //i,utf 1528 1529 x 1530 1531 1532 /[]/i,utf 1533 1534 x 1535 1536 1537 //i,utf 1538 1539 1540 1541 # These are tests for extended grapheme clusters 1542 1543 /^\X/utf,aftertext 1544 G\x{34e}\x{34e}X 1545 \x{34e}\x{34e}X 1546 \x04X 1547 \x{1100}X 1548 \x{1100}\x{34e}X 1549 \x{1b04}\x{1b04}X 1550 *These match up to the roman letters 1551 \x{1111}\x{1111}L,L 1552 \x{1111}\x{1111}\x{1169}L,L,V 1553 \x{1111}\x{ae4c}L, LV 1554 \x{1111}\x{ad89}L, LVT 1555 \x{1111}\x{ae4c}\x{1169}L, LV, V 1556 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V 1557 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T 1558 \x{1111}\x{ad89}\x{11fe}L, LVT, T 1559 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T 1560 \x{ad89}\x{11fe}\x{11fe}LVT, T, T 1561 *These match just the first codepoint (invalid sequence) 1562 \x{1111}\x{11fe}L, T 1563 \x{ae4c}\x{1111}LV, L 1564 \x{ae4c}\x{ae4c}LV, LV 1565 \x{ae4c}\x{ad89}LV, LVT 1566 \x{1169}\x{1111}V, L 1567 \x{1169}\x{ae4c}V, LV 1568 \x{1169}\x{ad89}V, LVT 1569 \x{ad89}\x{1111}LVT, L 1570 \x{ad89}\x{1169}LVT, V 1571 \x{ad89}\x{ae4c}LVT, LV 1572 \x{ad89}\x{ad89}LVT, LVT 1573 \x{11fe}\x{1111}T, L 1574 \x{11fe}\x{1169}T, V 1575 \x{11fe}\x{ae4c}T, LV 1576 \x{11fe}\x{ad89}T, LVT 1577 *Test extend and spacing mark 1578 \x{1111}\x{ae4c}\x{0711}L, LV, extend 1579 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark 1580 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark 1581 *Test CR, LF, and control 1582 \x0d\x{0711}CR, extend 1583 \x0d\x{1b04}CR, spacingmark 1584 \x0a\x{0711}LF, extend 1585 \x0a\x{1b04}LF, spacingmark 1586 \x0b\x{0711}Control, extend 1587 \x09\x{1b04}Control, spacingmark 1588 *There are no Prepend characters, so we can't test Prepend, CR 1589 1590 /^(?>\X{2})X/utf,aftertext 1591 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1592 1593 /^\X{2,4}X/utf,aftertext 1594 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1595 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1596 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1597 1598 /^\X{2,4}?X/utf,aftertext 1599 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1600 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1601 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1602 1603 /\X*Z/utf,no_start_optimize 1604 \= Expect no match 1605 A\x{300} 1606 1607 /\X*(.)/utf,no_start_optimize 1608 A\x{1111}\x{ae4c}\x{1169} 1609 1610 # -------------------------------------------- 1611 1612 /\x{1e9e}+/i,utf 1613 \x{1e9e}\x{00df} 1614 1615 /[z\x{1e9e}]+/i,utf 1616 \x{1e9e}\x{00df} 1617 1618 /\x{00df}+/i,utf 1619 \x{1e9e}\x{00df} 1620 1621 /[z\x{00df}]+/i,utf 1622 \x{1e9e}\x{00df} 1623 1624 /\x{1f88}+/i,utf 1625 \x{1f88}\x{1f80} 1626 1627 /[z\x{1f88}]+/i,utf 1628 \x{1f88}\x{1f80} 1629 1630 # Characters with more than one other case; test in classes 1631 1632 /[z\x{00b5}]+/i,utf 1633 \x{00b5}\x{039c}\x{03bc} 1634 1635 /[z\x{039c}]+/i,utf 1636 \x{00b5}\x{039c}\x{03bc} 1637 1638 /[z\x{03bc}]+/i,utf 1639 \x{00b5}\x{039c}\x{03bc} 1640 1641 /[z\x{00c5}]+/i,utf 1642 \x{00c5}\x{00e5}\x{212b} 1643 1644 /[z\x{00e5}]+/i,utf 1645 \x{00c5}\x{00e5}\x{212b} 1646 1647 /[z\x{212b}]+/i,utf 1648 \x{00c5}\x{00e5}\x{212b} 1649 1650 /[z\x{01c4}]+/i,utf 1651 \x{01c4}\x{01c5}\x{01c6} 1652 1653 /[z\x{01c5}]+/i,utf 1654 \x{01c4}\x{01c5}\x{01c6} 1655 1656 /[z\x{01c6}]+/i,utf 1657 \x{01c4}\x{01c5}\x{01c6} 1658 1659 /[z\x{01c7}]+/i,utf 1660 \x{01c7}\x{01c8}\x{01c9} 1661 1662 /[z\x{01c8}]+/i,utf 1663 \x{01c7}\x{01c8}\x{01c9} 1664 1665 /[z\x{01c9}]+/i,utf 1666 \x{01c7}\x{01c8}\x{01c9} 1667 1668 /[z\x{01ca}]+/i,utf 1669 \x{01ca}\x{01cb}\x{01cc} 1670 1671 /[z\x{01cb}]+/i,utf 1672 \x{01ca}\x{01cb}\x{01cc} 1673 1674 /[z\x{01cc}]+/i,utf 1675 \x{01ca}\x{01cb}\x{01cc} 1676 1677 /[z\x{01f1}]+/i,utf 1678 \x{01f1}\x{01f2}\x{01f3} 1679 1680 /[z\x{01f2}]+/i,utf 1681 \x{01f1}\x{01f2}\x{01f3} 1682 1683 /[z\x{01f3}]+/i,utf 1684 \x{01f1}\x{01f2}\x{01f3} 1685 1686 /[z\x{0345}]+/i,utf 1687 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1688 1689 /[z\x{0399}]+/i,utf 1690 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1691 1692 /[z\x{03b9}]+/i,utf 1693 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1694 1695 /[z\x{1fbe}]+/i,utf 1696 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1697 1698 /[z\x{0392}]+/i,utf 1699 \x{0392}\x{03b2}\x{03d0} 1700 1701 /[z\x{03b2}]+/i,utf 1702 \x{0392}\x{03b2}\x{03d0} 1703 1704 /[z\x{03d0}]+/i,utf 1705 \x{0392}\x{03b2}\x{03d0} 1706 1707 /[z\x{0395}]+/i,utf 1708 \x{0395}\x{03b5}\x{03f5} 1709 1710 /[z\x{03b5}]+/i,utf 1711 \x{0395}\x{03b5}\x{03f5} 1712 1713 /[z\x{03f5}]+/i,utf 1714 \x{0395}\x{03b5}\x{03f5} 1715 1716 /[z\x{0398}]+/i,utf 1717 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1718 1719 /[z\x{03b8}]+/i,utf 1720 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1721 1722 /[z\x{03d1}]+/i,utf 1723 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1724 1725 /[z\x{03f4}]+/i,utf 1726 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1727 1728 /[z\x{039a}]+/i,utf 1729 \x{039a}\x{03ba}\x{03f0} 1730 1731 /[z\x{03ba}]+/i,utf 1732 \x{039a}\x{03ba}\x{03f0} 1733 1734 /[z\x{03f0}]+/i,utf 1735 \x{039a}\x{03ba}\x{03f0} 1736 1737 /[z\x{03a0}]+/i,utf 1738 \x{03a0}\x{03c0}\x{03d6} 1739 1740 /[z\x{03c0}]+/i,utf 1741 \x{03a0}\x{03c0}\x{03d6} 1742 1743 /[z\x{03d6}]+/i,utf 1744 \x{03a0}\x{03c0}\x{03d6} 1745 1746 /[z\x{03a1}]+/i,utf 1747 \x{03a1}\x{03c1}\x{03f1} 1748 1749 /[z\x{03c1}]+/i,utf 1750 \x{03a1}\x{03c1}\x{03f1} 1751 1752 /[z\x{03f1}]+/i,utf 1753 \x{03a1}\x{03c1}\x{03f1} 1754 1755 /[z\x{03a3}]+/i,utf 1756 \x{03A3}\x{03C2}\x{03C3} 1757 1758 /[z\x{03c2}]+/i,utf 1759 \x{03A3}\x{03C2}\x{03C3} 1760 1761 /[z\x{03c3}]+/i,utf 1762 \x{03A3}\x{03C2}\x{03C3} 1763 1764 /[z\x{03a6}]+/i,utf 1765 \x{03a6}\x{03c6}\x{03d5} 1766 1767 /[z\x{03c6}]+/i,utf 1768 \x{03a6}\x{03c6}\x{03d5} 1769 1770 /[z\x{03d5}]+/i,utf 1771 \x{03a6}\x{03c6}\x{03d5} 1772 1773 /[z\x{03c9}]+/i,utf 1774 \x{03c9}\x{03a9}\x{2126} 1775 1776 /[z\x{03a9}]+/i,utf 1777 \x{03c9}\x{03a9}\x{2126} 1778 1779 /[z\x{2126}]+/i,utf 1780 \x{03c9}\x{03a9}\x{2126} 1781 1782 /[z\x{1e60}]+/i,utf 1783 \x{1e60}\x{1e61}\x{1e9b} 1784 1785 /[z\x{1e61}]+/i,utf 1786 \x{1e60}\x{1e61}\x{1e9b} 1787 1788 /[z\x{1e9b}]+/i,utf 1789 \x{1e60}\x{1e61}\x{1e9b} 1790 1791 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK 1792 1793 /[z\x{004b}]+/i,utf 1794 \x{004b}\x{006b}\x{212a} 1795 1796 /[z\x{006b}]+/i,utf 1797 \x{004b}\x{006b}\x{212a} 1798 1799 /[z\x{212a}]+/i,utf 1800 \x{004b}\x{006b}\x{212a} 1801 1802 /[z\x{0053}]+/i,utf 1803 \x{0053}\x{0073}\x{017f} 1804 1805 /[z\x{0073}]+/i,utf 1806 \x{0053}\x{0073}\x{017f} 1807 1808 /[z\x{017f}]+/i,utf 1809 \x{0053}\x{0073}\x{017f} 1810 1811 # -------------------------------------- 1812 1813 /() \1/i,utf 1814 1815 1816 1817 1818 1819 1820 /() \1/i,utf 1821 1822 1823 1824 1825 1826 1827 /() \1*/i,utf 1828 \x20 1829 1830 1831 # Perl matches these 1832 1833 /\x{00b5}+/i,utf 1834 \x{00b5}\x{039c}\x{03bc} 1835 1836 /\x{039c}+/i,utf 1837 \x{00b5}\x{039c}\x{03bc} 1838 1839 /\x{03bc}+/i,utf 1840 \x{00b5}\x{039c}\x{03bc} 1841 1842 1843 /\x{00c5}+/i,utf 1844 \x{00c5}\x{00e5}\x{212b} 1845 1846 /\x{00e5}+/i,utf 1847 \x{00c5}\x{00e5}\x{212b} 1848 1849 /\x{212b}+/i,utf 1850 \x{00c5}\x{00e5}\x{212b} 1851 1852 1853 /\x{01c4}+/i,utf 1854 \x{01c4}\x{01c5}\x{01c6} 1855 1856 /\x{01c5}+/i,utf 1857 \x{01c4}\x{01c5}\x{01c6} 1858 1859 /\x{01c6}+/i,utf 1860 \x{01c4}\x{01c5}\x{01c6} 1861 1862 1863 /\x{01c7}+/i,utf 1864 \x{01c7}\x{01c8}\x{01c9} 1865 1866 /\x{01c8}+/i,utf 1867 \x{01c7}\x{01c8}\x{01c9} 1868 1869 /\x{01c9}+/i,utf 1870 \x{01c7}\x{01c8}\x{01c9} 1871 1872 1873 /\x{01ca}+/i,utf 1874 \x{01ca}\x{01cb}\x{01cc} 1875 1876 /\x{01cb}+/i,utf 1877 \x{01ca}\x{01cb}\x{01cc} 1878 1879 /\x{01cc}+/i,utf 1880 \x{01ca}\x{01cb}\x{01cc} 1881 1882 1883 /\x{01f1}+/i,utf 1884 \x{01f1}\x{01f2}\x{01f3} 1885 1886 /\x{01f2}+/i,utf 1887 \x{01f1}\x{01f2}\x{01f3} 1888 1889 /\x{01f3}+/i,utf 1890 \x{01f1}\x{01f2}\x{01f3} 1891 1892 1893 /\x{0345}+/i,utf 1894 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1895 1896 /\x{0399}+/i,utf 1897 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1898 1899 /\x{03b9}+/i,utf 1900 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1901 1902 /\x{1fbe}+/i,utf 1903 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1904 1905 1906 /\x{0392}+/i,utf 1907 \x{0392}\x{03b2}\x{03d0} 1908 1909 /\x{03b2}+/i,utf 1910 \x{0392}\x{03b2}\x{03d0} 1911 1912 /\x{03d0}+/i,utf 1913 \x{0392}\x{03b2}\x{03d0} 1914 1915 1916 /\x{0395}+/i,utf 1917 \x{0395}\x{03b5}\x{03f5} 1918 1919 /\x{03b5}+/i,utf 1920 \x{0395}\x{03b5}\x{03f5} 1921 1922 /\x{03f5}+/i,utf 1923 \x{0395}\x{03b5}\x{03f5} 1924 1925 1926 /\x{0398}+/i,utf 1927 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1928 1929 /\x{03b8}+/i,utf 1930 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1931 1932 /\x{03d1}+/i,utf 1933 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1934 1935 /\x{03f4}+/i,utf 1936 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1937 1938 1939 /\x{039a}+/i,utf 1940 \x{039a}\x{03ba}\x{03f0} 1941 1942 /\x{03ba}+/i,utf 1943 \x{039a}\x{03ba}\x{03f0} 1944 1945 /\x{03f0}+/i,utf 1946 \x{039a}\x{03ba}\x{03f0} 1947 1948 1949 /\x{03a0}+/i,utf 1950 \x{03a0}\x{03c0}\x{03d6} 1951 1952 /\x{03c0}+/i,utf 1953 \x{03a0}\x{03c0}\x{03d6} 1954 1955 /\x{03d6}+/i,utf 1956 \x{03a0}\x{03c0}\x{03d6} 1957 1958 1959 /\x{03a1}+/i,utf 1960 \x{03a1}\x{03c1}\x{03f1} 1961 1962 /\x{03c1}+/i,utf 1963 \x{03a1}\x{03c1}\x{03f1} 1964 1965 /\x{03f1}+/i,utf 1966 \x{03a1}\x{03c1}\x{03f1} 1967 1968 1969 /\x{03a3}+/i,utf 1970 \x{03A3}\x{03C2}\x{03C3} 1971 1972 /\x{03c2}+/i,utf 1973 \x{03A3}\x{03C2}\x{03C3} 1974 1975 /\x{03c3}+/i,utf 1976 \x{03A3}\x{03C2}\x{03C3} 1977 1978 1979 /\x{03a6}+/i,utf 1980 \x{03a6}\x{03c6}\x{03d5} 1981 1982 /\x{03c6}+/i,utf 1983 \x{03a6}\x{03c6}\x{03d5} 1984 1985 /\x{03d5}+/i,utf 1986 \x{03a6}\x{03c6}\x{03d5} 1987 1988 1989 /\x{03c9}+/i,utf 1990 \x{03c9}\x{03a9}\x{2126} 1991 1992 /\x{03a9}+/i,utf 1993 \x{03c9}\x{03a9}\x{2126} 1994 1995 /\x{2126}+/i,utf 1996 \x{03c9}\x{03a9}\x{2126} 1997 1998 1999 /\x{1e60}+/i,utf 2000 \x{1e60}\x{1e61}\x{1e9b} 2001 2002 /\x{1e61}+/i,utf 2003 \x{1e60}\x{1e61}\x{1e9b} 2004 2005 /\x{1e9b}+/i,utf 2006 \x{1e60}\x{1e61}\x{1e9b} 2007 2008 2009 /\x{1e9e}+/i,utf 2010 \x{1e9e}\x{00df} 2011 2012 /\x{00df}+/i,utf 2013 \x{1e9e}\x{00df} 2014 2015 2016 /\x{1f88}+/i,utf 2017 \x{1f88}\x{1f80} 2018 2019 /\x{1f80}+/i,utf 2020 \x{1f88}\x{1f80} 2021 2022 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK 2023 2024 /\x{004b}+/i,utf 2025 \x{004b}\x{006b}\x{212a} 2026 2027 /\x{006b}+/i,utf 2028 \x{004b}\x{006b}\x{212a} 2029 2030 /\x{212a}+/i,utf 2031 \x{004b}\x{006b}\x{212a} 2032 2033 2034 /\x{0053}+/i,utf 2035 \x{0053}\x{0073}\x{017f} 2036 2037 /\x{0073}+/i,utf 2038 \x{0053}\x{0073}\x{017f} 2039 2040 /\x{017f}+/i,utf 2041 \x{0053}\x{0073}\x{017f} 2042 2043 /^\p{Any}*\d{4}/utf 2044 1234 2045 \= Expect no match 2046 123 2047 2048 /^\X*\w{4}/utf 2049 1234 2050 \= Expect no match 2051 123 2052 2053 /^A\s+Z/utf,ucp 2054 A\x{2005}Z 2055 A\x{85}\x{2005}Z 2056 2057 /^A[\s]+Z/utf,ucp 2058 A\x{2005}Z 2059 A\x{85}\x{2005}Z 2060 2061 /^[[:graph:]]+$/utf,ucp 2062 Letter:ABC 2063 Mark:\x{300}\x{1d172}\x{1d17b} 2064 Number:9\x{660} 2065 Punctuation:\x{66a},; 2066 Symbol:\x{6de}<>\x{fffc} 2067 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2068 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2069 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2070 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2071 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2072 \x{feff} 2073 \x{fff9}\x{fffa}\x{fffb} 2074 \x{110bd} 2075 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2076 \x{e0001} 2077 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2078 \= Expect no match 2079 \x{09} 2080 \x{0a} 2081 \x{1D} 2082 \x{20} 2083 \x{85} 2084 \x{a0} 2085 \x{1680} 2086 \x{2028} 2087 \x{2029} 2088 \x{202f} 2089 \x{2065} 2090 \x{3000} 2091 \x{e0002} 2092 \x{e001f} 2093 \x{e0080} 2094 2095 /^[[:print:]]+$/utf,ucp 2096 Space: \x{a0} 2097 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 2098 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 2099 \x{202f}\x{205f} 2100 \x{3000} 2101 Letter:ABC 2102 Mark:\x{300}\x{1d172}\x{1d17b} 2103 Number:9\x{660} 2104 Punctuation:\x{66a},; 2105 Symbol:\x{6de}<>\x{fffc} 2106 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2107 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2108 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2109 \x{202f} 2110 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2111 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2112 \x{feff} 2113 \x{fff9}\x{fffa}\x{fffb} 2114 \x{110bd} 2115 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2116 \x{e0001} 2117 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2118 \= Expect no match 2119 \x{09} 2120 \x{1D} 2121 \x{85} 2122 \x{2028} 2123 \x{2029} 2124 \x{2065} 2125 \x{e0002} 2126 \x{e001f} 2127 \x{e0080} 2128 2129 /^[[:punct:]]+$/utf,ucp 2130 \$+<=>^`|~ 2131 !\"#%&'()*,-./:;?@[\\]_{} 2132 \x{a1}\x{a7} 2133 \x{37e} 2134 \= Expect no match 2135 abcde 2136 2137 /^[[:^graph:]]+$/utf,ucp 2138 \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{1680} 2139 \x{2028}\x{2029}\x{202f}\x{2065} 2140 \x{3000}\x{e0002}\x{e001f}\x{e0080} 2141 \= Expect no match 2142 Letter:ABC 2143 Mark:\x{300}\x{1d172}\x{1d17b} 2144 Number:9\x{660} 2145 Punctuation:\x{66a},; 2146 Symbol:\x{6de}<>\x{fffc} 2147 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2148 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2149 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2150 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2151 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2152 \x{feff} 2153 \x{fff9}\x{fffa}\x{fffb} 2154 \x{110bd} 2155 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2156 \x{e0001} 2157 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2158 2159 /^[[:^print:]]+$/utf,ucp 2160 \x{09}\x{1D}\x{85}\x{2028}\x{2029}\x{2065} 2161 \x{e0002}\x{e001f}\x{e0080} 2162 \= Expect no match 2163 Space: \x{a0} 2164 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 2165 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 2166 \x{202f}\x{205f} 2167 \x{3000} 2168 Letter:ABC 2169 Mark:\x{300}\x{1d172}\x{1d17b} 2170 Number:9\x{660} 2171 Punctuation:\x{66a},; 2172 Symbol:\x{6de}<>\x{fffc} 2173 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2174 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2175 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2176 \x{202f} 2177 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2178 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2179 \x{feff} 2180 \x{fff9}\x{fffa}\x{fffb} 2181 \x{110bd} 2182 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2183 \x{e0001} 2184 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2185 2186 /^[[:^punct:]]+$/utf,ucp 2187 abcde 2188 \= Expect no match 2189 \$+<=>^`|~ 2190 !\"#%&'()*,-./:;?@[\\]_{} 2191 \x{a1}\x{a7} 2192 \x{37e} 2193 2194 /[RST]+/i,utf,ucp 2195 Ss\x{17f} 2196 2197 /[R-T]+/i,utf,ucp 2198 Ss\x{17f} 2199 2200 /[q-u]+/i,utf,ucp 2201 Ss\x{17f} 2202 2203 /^s?c/im,utf 2204 scat 2205 2206 # The next four tests are for repeated caseless back references when the 2207 # code unit length of the matched text is different to that of the original 2208 # group in the UTF-8 case. 2209 2210 /^(\x{23a})\1*(.)/i,utf 2211 \x{23a}\x{23a}\x{23a}\x{23a} 2212 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2213 \x{23a}\x{23a}\x{2c65}\x{23a} 2214 2215 /^(\x{23a})\1*(..)/i,utf 2216 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2217 \x{23a}\x{23a}\x{2c65}\x{23a} 2218 2219 /^(\x{23a})\1*(...)/i,utf 2220 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2221 \x{23a}\x{23a}\x{2c65}\x{23a} 2222 2223 /^(\x{23a})\1*(....)/i,utf 2224 \= Expect no match 2225 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2226 \x{23a}\x{23a}\x{2c65}\x{23a} 2227 2228 /[A-`]/i,utf 2229 abcdefghijklmno 2230 2231 "[\S\V\H]"utf 2232 2233 /[^\p{Any}]*+x/utf 2234 x 2235 2236 /[[:punct:]]/utf,ucp 2237 \x{b4} 2238 2239 /[[:^ascii:]]/utf,ucp 2240 \x{100} 2241 \x{200} 2242 \x{300} 2243 \x{37e} 2244 \= Expect no match 2245 aa 2246 99 2247 2248 /[[:^ascii:]\w]/utf,ucp 2249 aa 2250 99 2251 gg 2252 \x{100} 2253 \x{200} 2254 \x{300} 2255 \x{37e} 2256 2257 /[\w[:^ascii:]]/utf,ucp 2258 aa 2259 99 2260 gg 2261 \x{100} 2262 \x{200} 2263 \x{300} 2264 \x{37e} 2265 2266 /[^[:ascii:]\W]/utf,ucp 2267 \x{100} 2268 \x{200} 2269 \= Expect no match 2270 aa 2271 99 2272 gg 2273 \x{37e} 2274 2275 /[^[:^ascii:]\d]/utf,ucp 2276 a 2277 ~ 2278 \a 2279 \x{7f} 2280 \= Expect no match 2281 0 2282 \x{389} 2283 \x{20ac} 2284 2285 # End of testinput4 2286