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 1398 /^\p{Cyrillic}/utf 1399 \x{1d2b} 1400 1401 /^\p{Common}/utf 1402 \x{2116} 1403 \x{1D183} 1404 1405 /^\p{Inherited}/utf 1406 \x{200c} 1407 \= Expect no match 1408 \x{64a} 1409 \x{656} 1410 1411 /^\p{Shavian}/utf 1412 \x{10450} 1413 \x{1047f} 1414 1415 /^\p{Deseret}/utf 1416 \x{10400} 1417 \x{1044f} 1418 1419 /^\p{Osmanya}/utf 1420 \x{10480} 1421 \x{1049d} 1422 \x{104a0} 1423 \x{104a9} 1424 \= Expect no match 1425 \x{1049e} 1426 \x{1049f} 1427 \x{104aa} 1428 1429 /\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 1430 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}==== 1431 1432 /\x{a77d}\x{1d79}/i,utf 1433 \x{a77d}\x{1d79} 1434 \x{1d79}\x{a77d} 1435 1436 /\x{a77d}\x{1d79}/utf 1437 \x{a77d}\x{1d79} 1438 \= Expect no match 1439 \x{1d79}\x{a77d} 1440 1441 /(A)\1/i,utf 1442 AA 1443 Aa 1444 aa 1445 aA 1446 1447 /(\x{10a})\1/i,utf 1448 \x{10a}\x{10a} 1449 \x{10a}\x{10b} 1450 \x{10b}\x{10b} 1451 \x{10b}\x{10a} 1452 1453 # The next two tests are for property support in non-UTF mode 1454 1455 /(?:\p{Lu}|\x20)+/ 1456 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 1457 1458 /[\p{Lu}\x20]+/ 1459 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 1460 1461 /\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 1462 \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} 1463 1464 /^\w+/utf,ucp 1465 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 1466 1467 /^[[:xdigit:]]*/utf,ucp 1468 1a\x{660}\x{bef}\x{16ee} 1469 1470 /^\d+/utf,ucp 1471 1\x{660}\x{bef}\x{16ee} 1472 1473 /^[[:digit:]]+/utf,ucp 1474 1\x{660}\x{bef}\x{16ee} 1475 1476 /^>\s+/utf,ucp 1477 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1478 1479 /^>\pZ+/utf,ucp 1480 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1481 1482 /^>[[:space:]]*/utf,ucp 1483 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1484 1485 /^>[[:blank:]]*/utf,ucp 1486 >\x{20}\x{a0}\x{1680}\x{2000}\x{202f}\x{9}\x{b}\x{2028} 1487 1488 /^[[:alpha:]]*/utf,ucp 1489 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d} 1490 1491 /^[[:alnum:]]*/utf,ucp 1492 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 1493 1494 /^[[:cntrl:]]*/utf,ucp 1495 \x{0}\x{09}\x{1f}\x{7f}\x{9f} 1496 1497 /^[[:graph:]]*/utf,ucp 1498 A\x{a1}\x{a0} 1499 1500 /^[[:print:]]*/utf,ucp 1501 A z\x{a0}\x{a1} 1502 1503 /^[[:punct:]]*/utf,ucp 1504 .+\x{a1}\x{a0} 1505 1506 /\p{Zs}*?\R/ 1507 \= Expect no match 1508 a\xFCb 1509 1510 /\p{Zs}*\R/ 1511 \= Expect no match 1512 a\xFCb 1513 1514 //i,utf 1515 1516 x 1517 1518 1519 /[]/i,utf 1520 1521 x 1522 1523 1524 //i,utf 1525 1526 1527 1528 # These are tests for extended grapheme clusters 1529 1530 /^\X/utf,aftertext 1531 G\x{34e}\x{34e}X 1532 \x{34e}\x{34e}X 1533 \x04X 1534 \x{1100}X 1535 \x{1100}\x{34e}X 1536 \x{1b04}\x{1b04}X 1537 *These match up to the roman letters 1538 \x{1111}\x{1111}L,L 1539 \x{1111}\x{1111}\x{1169}L,L,V 1540 \x{1111}\x{ae4c}L, LV 1541 \x{1111}\x{ad89}L, LVT 1542 \x{1111}\x{ae4c}\x{1169}L, LV, V 1543 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V 1544 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T 1545 \x{1111}\x{ad89}\x{11fe}L, LVT, T 1546 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T 1547 \x{ad89}\x{11fe}\x{11fe}LVT, T, T 1548 *These match just the first codepoint (invalid sequence) 1549 \x{1111}\x{11fe}L, T 1550 \x{ae4c}\x{1111}LV, L 1551 \x{ae4c}\x{ae4c}LV, LV 1552 \x{ae4c}\x{ad89}LV, LVT 1553 \x{1169}\x{1111}V, L 1554 \x{1169}\x{ae4c}V, LV 1555 \x{1169}\x{ad89}V, LVT 1556 \x{ad89}\x{1111}LVT, L 1557 \x{ad89}\x{1169}LVT, V 1558 \x{ad89}\x{ae4c}LVT, LV 1559 \x{ad89}\x{ad89}LVT, LVT 1560 \x{11fe}\x{1111}T, L 1561 \x{11fe}\x{1169}T, V 1562 \x{11fe}\x{ae4c}T, LV 1563 \x{11fe}\x{ad89}T, LVT 1564 *Test extend and spacing mark 1565 \x{1111}\x{ae4c}\x{0711}L, LV, extend 1566 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark 1567 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark 1568 *Test CR, LF, and control 1569 \x0d\x{0711}CR, extend 1570 \x0d\x{1b04}CR, spacingmark 1571 \x0a\x{0711}LF, extend 1572 \x0a\x{1b04}LF, spacingmark 1573 \x0b\x{0711}Control, extend 1574 \x09\x{1b04}Control, spacingmark 1575 *There are no Prepend characters, so we can't test Prepend, CR 1576 1577 /^(?>\X{2})X/utf,aftertext 1578 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1579 1580 /^\X{2,4}X/utf,aftertext 1581 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1582 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1583 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1584 1585 /^\X{2,4}?X/utf,aftertext 1586 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1587 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1588 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1589 1590 /\X*Z/utf,no_start_optimize 1591 \= Expect no match 1592 A\x{300} 1593 1594 /\X*(.)/utf,no_start_optimize 1595 A\x{1111}\x{ae4c}\x{1169} 1596 1597 # -------------------------------------------- 1598 1599 /\x{1e9e}+/i,utf 1600 \x{1e9e}\x{00df} 1601 1602 /[z\x{1e9e}]+/i,utf 1603 \x{1e9e}\x{00df} 1604 1605 /\x{00df}+/i,utf 1606 \x{1e9e}\x{00df} 1607 1608 /[z\x{00df}]+/i,utf 1609 \x{1e9e}\x{00df} 1610 1611 /\x{1f88}+/i,utf 1612 \x{1f88}\x{1f80} 1613 1614 /[z\x{1f88}]+/i,utf 1615 \x{1f88}\x{1f80} 1616 1617 # Check a reference with more than one other case 1618 1619 /^(\x{00b5})\1{2}$/i,utf 1620 \x{00b5}\x{039c}\x{03bc} 1621 1622 # Characters with more than one other case; test in classes 1623 1624 /[z\x{00b5}]+/i,utf 1625 \x{00b5}\x{039c}\x{03bc} 1626 1627 /[z\x{039c}]+/i,utf 1628 \x{00b5}\x{039c}\x{03bc} 1629 1630 /[z\x{03bc}]+/i,utf 1631 \x{00b5}\x{039c}\x{03bc} 1632 1633 /[z\x{00c5}]+/i,utf 1634 \x{00c5}\x{00e5}\x{212b} 1635 1636 /[z\x{00e5}]+/i,utf 1637 \x{00c5}\x{00e5}\x{212b} 1638 1639 /[z\x{212b}]+/i,utf 1640 \x{00c5}\x{00e5}\x{212b} 1641 1642 /[z\x{01c4}]+/i,utf 1643 \x{01c4}\x{01c5}\x{01c6} 1644 1645 /[z\x{01c5}]+/i,utf 1646 \x{01c4}\x{01c5}\x{01c6} 1647 1648 /[z\x{01c6}]+/i,utf 1649 \x{01c4}\x{01c5}\x{01c6} 1650 1651 /[z\x{01c7}]+/i,utf 1652 \x{01c7}\x{01c8}\x{01c9} 1653 1654 /[z\x{01c8}]+/i,utf 1655 \x{01c7}\x{01c8}\x{01c9} 1656 1657 /[z\x{01c9}]+/i,utf 1658 \x{01c7}\x{01c8}\x{01c9} 1659 1660 /[z\x{01ca}]+/i,utf 1661 \x{01ca}\x{01cb}\x{01cc} 1662 1663 /[z\x{01cb}]+/i,utf 1664 \x{01ca}\x{01cb}\x{01cc} 1665 1666 /[z\x{01cc}]+/i,utf 1667 \x{01ca}\x{01cb}\x{01cc} 1668 1669 /[z\x{01f1}]+/i,utf 1670 \x{01f1}\x{01f2}\x{01f3} 1671 1672 /[z\x{01f2}]+/i,utf 1673 \x{01f1}\x{01f2}\x{01f3} 1674 1675 /[z\x{01f3}]+/i,utf 1676 \x{01f1}\x{01f2}\x{01f3} 1677 1678 /[z\x{0345}]+/i,utf 1679 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1680 1681 /[z\x{0399}]+/i,utf 1682 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1683 1684 /[z\x{03b9}]+/i,utf 1685 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1686 1687 /[z\x{1fbe}]+/i,utf 1688 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1689 1690 /[z\x{0392}]+/i,utf 1691 \x{0392}\x{03b2}\x{03d0} 1692 1693 /[z\x{03b2}]+/i,utf 1694 \x{0392}\x{03b2}\x{03d0} 1695 1696 /[z\x{03d0}]+/i,utf 1697 \x{0392}\x{03b2}\x{03d0} 1698 1699 /[z\x{0395}]+/i,utf 1700 \x{0395}\x{03b5}\x{03f5} 1701 1702 /[z\x{03b5}]+/i,utf 1703 \x{0395}\x{03b5}\x{03f5} 1704 1705 /[z\x{03f5}]+/i,utf 1706 \x{0395}\x{03b5}\x{03f5} 1707 1708 /[z\x{0398}]+/i,utf 1709 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1710 1711 /[z\x{03b8}]+/i,utf 1712 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1713 1714 /[z\x{03d1}]+/i,utf 1715 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1716 1717 /[z\x{03f4}]+/i,utf 1718 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1719 1720 /[z\x{039a}]+/i,utf 1721 \x{039a}\x{03ba}\x{03f0} 1722 1723 /[z\x{03ba}]+/i,utf 1724 \x{039a}\x{03ba}\x{03f0} 1725 1726 /[z\x{03f0}]+/i,utf 1727 \x{039a}\x{03ba}\x{03f0} 1728 1729 /[z\x{03a0}]+/i,utf 1730 \x{03a0}\x{03c0}\x{03d6} 1731 1732 /[z\x{03c0}]+/i,utf 1733 \x{03a0}\x{03c0}\x{03d6} 1734 1735 /[z\x{03d6}]+/i,utf 1736 \x{03a0}\x{03c0}\x{03d6} 1737 1738 /[z\x{03a1}]+/i,utf 1739 \x{03a1}\x{03c1}\x{03f1} 1740 1741 /[z\x{03c1}]+/i,utf 1742 \x{03a1}\x{03c1}\x{03f1} 1743 1744 /[z\x{03f1}]+/i,utf 1745 \x{03a1}\x{03c1}\x{03f1} 1746 1747 /[z\x{03a3}]+/i,utf 1748 \x{03A3}\x{03C2}\x{03C3} 1749 1750 /[z\x{03c2}]+/i,utf 1751 \x{03A3}\x{03C2}\x{03C3} 1752 1753 /[z\x{03c3}]+/i,utf 1754 \x{03A3}\x{03C2}\x{03C3} 1755 1756 /[z\x{03a6}]+/i,utf 1757 \x{03a6}\x{03c6}\x{03d5} 1758 1759 /[z\x{03c6}]+/i,utf 1760 \x{03a6}\x{03c6}\x{03d5} 1761 1762 /[z\x{03d5}]+/i,utf 1763 \x{03a6}\x{03c6}\x{03d5} 1764 1765 /[z\x{03c9}]+/i,utf 1766 \x{03c9}\x{03a9}\x{2126} 1767 1768 /[z\x{03a9}]+/i,utf 1769 \x{03c9}\x{03a9}\x{2126} 1770 1771 /[z\x{2126}]+/i,utf 1772 \x{03c9}\x{03a9}\x{2126} 1773 1774 /[z\x{1e60}]+/i,utf 1775 \x{1e60}\x{1e61}\x{1e9b} 1776 1777 /[z\x{1e61}]+/i,utf 1778 \x{1e60}\x{1e61}\x{1e9b} 1779 1780 /[z\x{1e9b}]+/i,utf 1781 \x{1e60}\x{1e61}\x{1e9b} 1782 1783 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK 1784 1785 /[z\x{004b}]+/i,utf 1786 \x{004b}\x{006b}\x{212a} 1787 1788 /[z\x{006b}]+/i,utf 1789 \x{004b}\x{006b}\x{212a} 1790 1791 /[z\x{212a}]+/i,utf 1792 \x{004b}\x{006b}\x{212a} 1793 1794 /[z\x{0053}]+/i,utf 1795 \x{0053}\x{0073}\x{017f} 1796 1797 /[z\x{0073}]+/i,utf 1798 \x{0053}\x{0073}\x{017f} 1799 1800 /[z\x{017f}]+/i,utf 1801 \x{0053}\x{0073}\x{017f} 1802 1803 # -------------------------------------- 1804 1805 /() \1/i,utf 1806 1807 1808 1809 1810 1811 1812 /() \1/i,utf 1813 1814 1815 1816 1817 1818 1819 /() \1*/i,utf 1820 \x20 1821 1822 1823 # Perl matches these 1824 1825 /\x{00b5}+/i,utf 1826 \x{00b5}\x{039c}\x{03bc} 1827 1828 /\x{039c}+/i,utf 1829 \x{00b5}\x{039c}\x{03bc} 1830 1831 /\x{03bc}+/i,utf 1832 \x{00b5}\x{039c}\x{03bc} 1833 1834 1835 /\x{00c5}+/i,utf 1836 \x{00c5}\x{00e5}\x{212b} 1837 1838 /\x{00e5}+/i,utf 1839 \x{00c5}\x{00e5}\x{212b} 1840 1841 /\x{212b}+/i,utf 1842 \x{00c5}\x{00e5}\x{212b} 1843 1844 1845 /\x{01c4}+/i,utf 1846 \x{01c4}\x{01c5}\x{01c6} 1847 1848 /\x{01c5}+/i,utf 1849 \x{01c4}\x{01c5}\x{01c6} 1850 1851 /\x{01c6}+/i,utf 1852 \x{01c4}\x{01c5}\x{01c6} 1853 1854 1855 /\x{01c7}+/i,utf 1856 \x{01c7}\x{01c8}\x{01c9} 1857 1858 /\x{01c8}+/i,utf 1859 \x{01c7}\x{01c8}\x{01c9} 1860 1861 /\x{01c9}+/i,utf 1862 \x{01c7}\x{01c8}\x{01c9} 1863 1864 1865 /\x{01ca}+/i,utf 1866 \x{01ca}\x{01cb}\x{01cc} 1867 1868 /\x{01cb}+/i,utf 1869 \x{01ca}\x{01cb}\x{01cc} 1870 1871 /\x{01cc}+/i,utf 1872 \x{01ca}\x{01cb}\x{01cc} 1873 1874 1875 /\x{01f1}+/i,utf 1876 \x{01f1}\x{01f2}\x{01f3} 1877 1878 /\x{01f2}+/i,utf 1879 \x{01f1}\x{01f2}\x{01f3} 1880 1881 /\x{01f3}+/i,utf 1882 \x{01f1}\x{01f2}\x{01f3} 1883 1884 1885 /\x{0345}+/i,utf 1886 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1887 1888 /\x{0399}+/i,utf 1889 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1890 1891 /\x{03b9}+/i,utf 1892 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1893 1894 /\x{1fbe}+/i,utf 1895 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1896 1897 1898 /\x{0392}+/i,utf 1899 \x{0392}\x{03b2}\x{03d0} 1900 1901 /\x{03b2}+/i,utf 1902 \x{0392}\x{03b2}\x{03d0} 1903 1904 /\x{03d0}+/i,utf 1905 \x{0392}\x{03b2}\x{03d0} 1906 1907 1908 /\x{0395}+/i,utf 1909 \x{0395}\x{03b5}\x{03f5} 1910 1911 /\x{03b5}+/i,utf 1912 \x{0395}\x{03b5}\x{03f5} 1913 1914 /\x{03f5}+/i,utf 1915 \x{0395}\x{03b5}\x{03f5} 1916 1917 1918 /\x{0398}+/i,utf 1919 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1920 1921 /\x{03b8}+/i,utf 1922 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1923 1924 /\x{03d1}+/i,utf 1925 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1926 1927 /\x{03f4}+/i,utf 1928 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1929 1930 1931 /\x{039a}+/i,utf 1932 \x{039a}\x{03ba}\x{03f0} 1933 1934 /\x{03ba}+/i,utf 1935 \x{039a}\x{03ba}\x{03f0} 1936 1937 /\x{03f0}+/i,utf 1938 \x{039a}\x{03ba}\x{03f0} 1939 1940 1941 /\x{03a0}+/i,utf 1942 \x{03a0}\x{03c0}\x{03d6} 1943 1944 /\x{03c0}+/i,utf 1945 \x{03a0}\x{03c0}\x{03d6} 1946 1947 /\x{03d6}+/i,utf 1948 \x{03a0}\x{03c0}\x{03d6} 1949 1950 1951 /\x{03a1}+/i,utf 1952 \x{03a1}\x{03c1}\x{03f1} 1953 1954 /\x{03c1}+/i,utf 1955 \x{03a1}\x{03c1}\x{03f1} 1956 1957 /\x{03f1}+/i,utf 1958 \x{03a1}\x{03c1}\x{03f1} 1959 1960 1961 /\x{03a3}+/i,utf 1962 \x{03A3}\x{03C2}\x{03C3} 1963 1964 /\x{03c2}+/i,utf 1965 \x{03A3}\x{03C2}\x{03C3} 1966 1967 /\x{03c3}+/i,utf 1968 \x{03A3}\x{03C2}\x{03C3} 1969 1970 1971 /\x{03a6}+/i,utf 1972 \x{03a6}\x{03c6}\x{03d5} 1973 1974 /\x{03c6}+/i,utf 1975 \x{03a6}\x{03c6}\x{03d5} 1976 1977 /\x{03d5}+/i,utf 1978 \x{03a6}\x{03c6}\x{03d5} 1979 1980 1981 /\x{03c9}+/i,utf 1982 \x{03c9}\x{03a9}\x{2126} 1983 1984 /\x{03a9}+/i,utf 1985 \x{03c9}\x{03a9}\x{2126} 1986 1987 /\x{2126}+/i,utf 1988 \x{03c9}\x{03a9}\x{2126} 1989 1990 1991 /\x{1e60}+/i,utf 1992 \x{1e60}\x{1e61}\x{1e9b} 1993 1994 /\x{1e61}+/i,utf 1995 \x{1e60}\x{1e61}\x{1e9b} 1996 1997 /\x{1e9b}+/i,utf 1998 \x{1e60}\x{1e61}\x{1e9b} 1999 2000 2001 /\x{1e9e}+/i,utf 2002 \x{1e9e}\x{00df} 2003 2004 /\x{00df}+/i,utf 2005 \x{1e9e}\x{00df} 2006 2007 2008 /\x{1f88}+/i,utf 2009 \x{1f88}\x{1f80} 2010 2011 /\x{1f80}+/i,utf 2012 \x{1f88}\x{1f80} 2013 2014 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK 2015 2016 /\x{004b}+/i,utf 2017 \x{004b}\x{006b}\x{212a} 2018 2019 /\x{006b}+/i,utf 2020 \x{004b}\x{006b}\x{212a} 2021 2022 /\x{212a}+/i,utf 2023 \x{004b}\x{006b}\x{212a} 2024 2025 2026 /\x{0053}+/i,utf 2027 \x{0053}\x{0073}\x{017f} 2028 2029 /\x{0073}+/i,utf 2030 \x{0053}\x{0073}\x{017f} 2031 2032 /\x{017f}+/i,utf 2033 \x{0053}\x{0073}\x{017f} 2034 2035 /^\p{Any}*\d{4}/utf 2036 1234 2037 \= Expect no match 2038 123 2039 2040 /^\X*\w{4}/utf 2041 1234 2042 \= Expect no match 2043 123 2044 2045 /^A\s+Z/utf,ucp 2046 A\x{2005}Z 2047 A\x{85}\x{2005}Z 2048 2049 /^A[\s]+Z/utf,ucp 2050 A\x{2005}Z 2051 A\x{85}\x{2005}Z 2052 2053 /^[[:graph:]]+$/utf,ucp 2054 Letter:ABC 2055 Mark:\x{300}\x{1d172}\x{1d17b} 2056 Number:9\x{660} 2057 Punctuation:\x{66a},; 2058 Symbol:\x{6de}<>\x{fffc} 2059 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2060 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2061 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2062 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2063 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2064 \x{feff} 2065 \x{fff9}\x{fffa}\x{fffb} 2066 \x{110bd} 2067 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2068 \x{e0001} 2069 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2070 \= Expect no match 2071 \x{09} 2072 \x{0a} 2073 \x{1D} 2074 \x{20} 2075 \x{85} 2076 \x{a0} 2077 \x{1680} 2078 \x{2028} 2079 \x{2029} 2080 \x{202f} 2081 \x{2065} 2082 \x{3000} 2083 \x{e0002} 2084 \x{e001f} 2085 \x{e0080} 2086 2087 /^[[:print:]]+$/utf,ucp 2088 Space: \x{a0} 2089 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 2090 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 2091 \x{202f}\x{205f} 2092 \x{3000} 2093 Letter:ABC 2094 Mark:\x{300}\x{1d172}\x{1d17b} 2095 Number:9\x{660} 2096 Punctuation:\x{66a},; 2097 Symbol:\x{6de}<>\x{fffc} 2098 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2099 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2100 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2101 \x{202f} 2102 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2103 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2104 \x{feff} 2105 \x{fff9}\x{fffa}\x{fffb} 2106 \x{110bd} 2107 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2108 \x{e0001} 2109 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2110 \= Expect no match 2111 \x{09} 2112 \x{1D} 2113 \x{85} 2114 \x{2028} 2115 \x{2029} 2116 \x{2065} 2117 \x{e0002} 2118 \x{e001f} 2119 \x{e0080} 2120 2121 /^[[:punct:]]+$/utf,ucp 2122 \$+<=>^`|~ 2123 !\"#%&'()*,-./:;?@[\\]_{} 2124 \x{a1}\x{a7} 2125 \x{37e} 2126 \= Expect no match 2127 abcde 2128 2129 /^[[:^graph:]]+$/utf,ucp 2130 \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{1680} 2131 \x{2028}\x{2029}\x{202f}\x{2065} 2132 \x{3000}\x{e0002}\x{e001f}\x{e0080} 2133 \= Expect no match 2134 Letter:ABC 2135 Mark:\x{300}\x{1d172}\x{1d17b} 2136 Number:9\x{660} 2137 Punctuation:\x{66a},; 2138 Symbol:\x{6de}<>\x{fffc} 2139 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2140 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2141 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2142 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2143 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2144 \x{feff} 2145 \x{fff9}\x{fffa}\x{fffb} 2146 \x{110bd} 2147 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2148 \x{e0001} 2149 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2150 2151 /^[[:^print:]]+$/utf,ucp 2152 \x{09}\x{1D}\x{85}\x{2028}\x{2029}\x{2065} 2153 \x{e0002}\x{e001f}\x{e0080} 2154 \= Expect no match 2155 Space: \x{a0} 2156 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 2157 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 2158 \x{202f}\x{205f} 2159 \x{3000} 2160 Letter:ABC 2161 Mark:\x{300}\x{1d172}\x{1d17b} 2162 Number:9\x{660} 2163 Punctuation:\x{66a},; 2164 Symbol:\x{6de}<>\x{fffc} 2165 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2166 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2167 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2168 \x{202f} 2169 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2170 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2171 \x{feff} 2172 \x{fff9}\x{fffa}\x{fffb} 2173 \x{110bd} 2174 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2175 \x{e0001} 2176 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2177 2178 /^[[:^punct:]]+$/utf,ucp 2179 abcde 2180 \= Expect no match 2181 \$+<=>^`|~ 2182 !\"#%&'()*,-./:;?@[\\]_{} 2183 \x{a1}\x{a7} 2184 \x{37e} 2185 2186 /[RST]+/i,utf,ucp 2187 Ss\x{17f} 2188 2189 /[R-T]+/i,utf,ucp 2190 Ss\x{17f} 2191 2192 /[q-u]+/i,utf,ucp 2193 Ss\x{17f} 2194 2195 /^s?c/im,utf 2196 scat 2197 2198 # The next four tests are for repeated caseless back references when the 2199 # code unit length of the matched text is different to that of the original 2200 # group in the UTF-8 case. 2201 2202 /^(\x{23a})\1*(.)/i,utf 2203 \x{23a}\x{23a}\x{23a}\x{23a} 2204 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2205 \x{23a}\x{23a}\x{2c65}\x{23a} 2206 2207 /^(\x{23a})\1*(..)/i,utf 2208 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2209 \x{23a}\x{23a}\x{2c65}\x{23a} 2210 2211 /^(\x{23a})\1*(...)/i,utf 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 \= Expect no match 2217 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2218 \x{23a}\x{23a}\x{2c65}\x{23a} 2219 2220 /[A-`]/i,utf 2221 abcdefghijklmno 2222 2223 "[\S\V\H]"utf 2224 2225 /[^\p{Any}]*+x/utf 2226 x 2227 2228 /[[:punct:]]/utf,ucp 2229 \x{b4} 2230 2231 /[[:^ascii:]]/utf,ucp 2232 \x{100} 2233 \x{200} 2234 \x{300} 2235 \x{37e} 2236 \= Expect no match 2237 aa 2238 99 2239 2240 /[[:^ascii:]\w]/utf,ucp 2241 aa 2242 99 2243 gg 2244 \x{100} 2245 \x{200} 2246 \x{300} 2247 \x{37e} 2248 2249 /[\w[:^ascii:]]/utf,ucp 2250 aa 2251 99 2252 gg 2253 \x{100} 2254 \x{200} 2255 \x{300} 2256 \x{37e} 2257 2258 /[^[:ascii:]\W]/utf,ucp 2259 \x{100} 2260 \x{200} 2261 \= Expect no match 2262 aa 2263 99 2264 gg 2265 \x{37e} 2266 2267 /[^[:^ascii:]\d]/utf,ucp 2268 a 2269 ~ 2270 \a 2271 \x{7f} 2272 \= Expect no match 2273 0 2274 \x{389} 2275 \x{20ac} 2276 2277 /(?=.*b)\pL/ 2278 11bb 2279 2280 /(?(?=.*b)(?=.*b)\pL|.*c)/ 2281 11bb 2282 2283 /^\x{123}+?$/utf,no_auto_possess 2284 \x{123}\x{123}\x{123} 2285 2286 /^\x{123}+?$/i,utf,no_auto_possess 2287 \x{123}\x{122}\x{123} 2288 \= Expect no match 2289 \x{123}\x{124}\x{123} 2290 2291 /\N{U+1234}/utf 2292 \x{1234} 2293 2294 /[\N{U+1234}]/utf 2295 \x{1234} 2296 2297 # Test the full list of Unicode "Pattern White Space" characters that are to 2298 # be ignored by /x. The pattern lines below may show up oddly in text editors 2299 # or when listed to the screen. Note that characters such as U+2002, which are 2300 # matched as space by \h and \v are *not* "Pattern White Space". 2301 2302 /AB/x,utf 2306 AB 2307 2308 /AB/x,utf 2309 A\x{2002}B 2310 \= Expect no match 2311 AB 2312 2313 # ------- 2314 2315 /[^\x{100}-\x{ffff}]*[\x80-\xff]/utf 2316 \x{99}\x{99}\x{99} 2317 2318 /[^\x{100}-\x{ffff}ABC]*[\x80-\xff]/utf 2319 \x{99}\x{99}\x{99} 2320 2321 /[^\x{100}-\x{ffff}]*[\x80-\xff]/i,utf 2322 \x{99}\x{99}\x{99} 2323 2324 # End of testinput4 2325