1/-- This set of tests check Unicode property support with the DFA matching 2 functionality of pcre_dfa_exec(). The -dfa flag must be used with pcretest 3 when running it. --/ 4 5/\pL\P{Nd}/8 6 AB 7 *** Failers 8 A0 9 00 10 11/\X./8 12 AB 13 A\x{300}BC 14 A\x{300}\x{301}\x{302}BC 15 *** Failers 16 \x{300} 17 18/\X\X/8 19 ABC 20 A\x{300}B\x{300}\x{301}C 21 A\x{300}\x{301}\x{302}BC 22 *** Failers 23 \x{300} 24 25/^\pL+/8 26 abcd 27 a 28 *** Failers 29 30/^\PL+/8 31 1234 32 = 33 *** Failers 34 abcd 35 36/^\X+/8 37 abcdA\x{300}\x{301}\x{302} 38 A\x{300}\x{301}\x{302} 39 A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302} 40 a 41 *** Failers 42 \x{300}\x{301}\x{302} 43 44/\X?abc/8 45 abc 46 A\x{300}abc 47 A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz 48 \x{300}abc 49 *** Failers 50 51/^\X?abc/8 52 abc 53 A\x{300}abc 54 *** Failers 55 A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz 56 \x{300}abc 57 58/\X*abc/8 59 abc 60 A\x{300}abc 61 A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz 62 \x{300}abc 63 *** Failers 64 65/^\X*abc/8 66 abc 67 A\x{300}abc 68 A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz 69 *** Failers 70 \x{300}abc 71 72/^\pL?=./8 73 A=b 74 =c 75 *** Failers 76 1=2 77 AAAA=b 78 79/^\pL*=./8 80 AAAA=b 81 =c 82 *** Failers 83 1=2 84 85/^\X{2,3}X/8 86 A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X 87 A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X 88 *** Failers 89 X 90 A\x{300}\x{301}\x{302}X 91 A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X 92 93/^\pC\pL\pM\pN\pP\pS\pZ</8 94 \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}< 95 \np\x{300}9!\$ < 96 ** Failers 97 ap\x{300}9!\$ < 98 99/^\PC/8 100 X 101 ** Failers 102 \x7f 103 104/^\PL/8 105 9 106 ** Failers 107 \x{c0} 108 109/^\PM/8 110 X 111 ** Failers 112 \x{30f} 113 114/^\PN/8 115 X 116 ** Failers 117 \x{660} 118 119/^\PP/8 120 X 121 ** Failers 122 \x{66c} 123 124/^\PS/8 125 X 126 ** Failers 127 \x{f01} 128 129/^\PZ/8 130 X 131 ** Failers 132 \x{1680} 133 134/^\p{Cc}/8 135 \x{017} 136 \x{09f} 137 ** Failers 138 \x{0600} 139 140/^\p{Cf}/8 141 \x{601} 142 \x{180e} 143 \x{061c} 144 \x{2066} 145 \x{2067} 146 \x{2068} 147 \x{2069} 148 ** Failers 149 \x{09f} 150 151/^\p{Cn}/8 152 ** Failers 153 \x{09f} 154 155/^\p{Co}/8 156 \x{f8ff} 157 ** Failers 158 \x{09f} 159 160/^\p{Cs}/8 161 \?\x{dfff} 162 ** Failers 163 \x{09f} 164 165/^\p{Ll}/8 166 a 167 ** Failers 168 Z 169 \x{e000} 170 171/^\p{Lm}/8 172 \x{2b0} 173 ** Failers 174 a 175 176/^\p{Lo}/8 177 \x{1bb} 178 ** Failers 179 a 180 \x{2b0} 181 182/^\p{Lt}/8 183 \x{1c5} 184 ** Failers 185 a 186 \x{2b0} 187 188/^\p{Lu}/8 189 A 190 ** Failers 191 \x{2b0} 192 193/^\p{Mc}/8 194 \x{903} 195 ** Failers 196 X 197 \x{300} 198 199/^\p{Me}/8 200 \x{488} 201 ** Failers 202 X 203 \x{903} 204 \x{300} 205 206/^\p{Mn}/8 207 \x{300} 208 \x{1a1b} 209 ** Failers 210 X 211 \x{903} 212 213/^\p{Nd}+/8O 214 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a} 215 \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa} 216 \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970} 217 ** Failers 218 X 219 220/^\p{Nl}/8 221 \x{16ee} 222 ** Failers 223 X 224 \x{966} 225 226/^\p{No}/8 227 \x{b2} 228 \x{b3} 229 ** Failers 230 X 231 \x{16ee} 232 233/^\p{Pc}/8 234 \x5f 235 \x{203f} 236 ** Failers 237 X 238 - 239 \x{58a} 240 241/^\p{Pd}/8 242 - 243 \x{58a} 244 ** Failers 245 X 246 \x{203f} 247 248/^\p{Pe}/8 249 ) 250 ] 251 } 252 \x{f3b} 253 \x{2309} 254 \x{230b} 255 ** Failers 256 X 257 \x{203f} 258 ( 259 [ 260 { 261 \x{f3c} 262 263/^\p{Pf}/8 264 \x{bb} 265 \x{2019} 266 ** Failers 267 X 268 \x{203f} 269 270/^\p{Pi}/8 271 \x{ab} 272 \x{2018} 273 ** Failers 274 X 275 \x{203f} 276 277/^\p{Po}/8 278 ! 279 \x{37e} 280 ** Failers 281 X 282 \x{203f} 283 284/^\p{Ps}/8 285 ( 286 [ 287 { 288 \x{f3c} 289 \x{2308} 290 \x{230a} 291 ** Failers 292 X 293 ) 294 ] 295 } 296 \x{f3b} 297 298/^\p{Sc}+/8 299 $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6} 300 \x{9f2} 301 ** Failers 302 X 303 \x{2c2} 304 305/^\p{Sk}/8 306 \x{2c2} 307 ** Failers 308 X 309 \x{9f2} 310 311/^\p{Sm}+/8 312 +<|~\x{ac}\x{2044} 313 ** Failers 314 X 315 \x{9f2} 316 317/^\p{So}/8 318 \x{a6} 319 \x{482} 320 ** Failers 321 X 322 \x{9f2} 323 324/^\p{Zl}/8 325 \x{2028} 326 ** Failers 327 X 328 \x{2029} 329 330/^\p{Zp}/8 331 \x{2029} 332 ** Failers 333 X 334 \x{2028} 335 336/^\p{Zs}/8 337 \ \ 338 \x{a0} 339 \x{1680} 340 \x{2000} 341 \x{2001} 342 ** Failers 343 \x{2028} 344 \x{200d} 345 346/\p{Nd}+(..)/8 347 \x{660}\x{661}\x{662}ABC 348 349/\p{Nd}+?(..)/8 350 \x{660}\x{661}\x{662}ABC 351 352/\p{Nd}{2,}(..)/8 353 \x{660}\x{661}\x{662}ABC 354 355/\p{Nd}{2,}?(..)/8 356 \x{660}\x{661}\x{662}ABC 357 358/\p{Nd}*(..)/8 359 \x{660}\x{661}\x{662}ABC 360 361/\p{Nd}*?(..)/8 362 \x{660}\x{661}\x{662}ABC 363 364/\p{Nd}{2}(..)/8 365 \x{660}\x{661}\x{662}ABC 366 367/\p{Nd}{2,3}(..)/8 368 \x{660}\x{661}\x{662}ABC 369 370/\p{Nd}{2,3}?(..)/8 371 \x{660}\x{661}\x{662}ABC 372 373/\p{Nd}?(..)/8 374 \x{660}\x{661}\x{662}ABC 375 376/\p{Nd}??(..)/8 377 \x{660}\x{661}\x{662}ABC 378 379/\p{Nd}*+(..)/8 380 \x{660}\x{661}\x{662}ABC 381 382/\p{Nd}*+(...)/8 383 \x{660}\x{661}\x{662}ABC 384 385/\p{Nd}*+(....)/8 386 ** Failers 387 \x{660}\x{661}\x{662}ABC 388 389/\p{Lu}/8i 390 A 391 a\x{10a0}B 392 ** Failers 393 a 394 \x{1d00} 395 396/\p{^Lu}/8i 397 1234 398 ** Failers 399 ABC 400 401/\P{Lu}/8i 402 1234 403 ** Failers 404 ABC 405 406/(?<=A\p{Nd})XYZ/8 407 A2XYZ 408 123A5XYZPQR 409 ABA\x{660}XYZpqr 410 ** Failers 411 AXYZ 412 XYZ 413 414/(?<!\pL)XYZ/8 415 1XYZ 416 AB=XYZ.. 417 XYZ 418 ** Failers 419 WXYZ 420 421/[\p{Nd}]/8 422 1234 423 424/[\p{Nd}+-]+/8 425 1234 426 12-34 427 12+\x{661}-34 428 ** Failers 429 abcd 430 431/[\P{Nd}]+/8 432 abcd 433 ** Failers 434 1234 435 436/\D+/8O 437 11111111111111111111111111111111111111111111111111111111111111111111111 438 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 439 440/\P{Nd}+/8O 441 11111111111111111111111111111111111111111111111111111111111111111111111 442 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 443 444/[\D]+/8O 445 11111111111111111111111111111111111111111111111111111111111111111111111 446 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 447 448/[\P{Nd}]+/8O 449 11111111111111111111111111111111111111111111111111111111111111111111111 450 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 451 452/[\D\P{Nd}]+/8O 453 11111111111111111111111111111111111111111111111111111111111111111111111 454 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 455 456/\pL/8 457 a 458 A 459 460/\pL/8i 461 a 462 A 463 464/\p{Lu}/8 465 A 466 aZ 467 ** Failers 468 abc 469 470/\p{Lu}/8i 471 A 472 aZ 473 ** Failers 474 abc 475 476/\p{Ll}/8 477 a 478 Az 479 ** Failers 480 ABC 481 482/\p{Ll}/8i 483 a 484 Az 485 ** Failers 486 ABC 487 488/^\x{c0}$/8i 489 \x{c0} 490 \x{e0} 491 492/^\x{e0}$/8i 493 \x{c0} 494 \x{e0} 495 496/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8 497 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 498 ** Failers 499 a\x{391}\x{10427}\x{ff3a}\x{1fb0} 500 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} 501 A\x{391}\x{1044F}\x{ff3a}\x{1fb0} 502 A\x{391}\x{10427}\x{ff5a}\x{1fb0} 503 A\x{391}\x{10427}\x{ff3a}\x{1fb8} 504 505/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i 506 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 507 a\x{391}\x{10427}\x{ff3a}\x{1fb0} 508 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} 509 A\x{391}\x{1044F}\x{ff3a}\x{1fb0} 510 A\x{391}\x{10427}\x{ff5a}\x{1fb0} 511 A\x{391}\x{10427}\x{ff3a}\x{1fb8} 512 513/\x{391}+/8i 514 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} 515 516/\x{391}{3,5}(.)/8i 517 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X 518 519/\x{391}{3,5}?(.)/8i 520 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X 521 522/[\x{391}\x{ff3a}]/8i 523 \x{391} 524 \x{ff3a} 525 \x{3b1} 526 \x{ff5a} 527 528/[\x{c0}\x{391}]/8i 529 \x{c0} 530 \x{e0} 531 532/[\x{105}-\x{109}]/8i 533 \x{104} 534 \x{105} 535 \x{109} 536 ** Failers 537 \x{100} 538 \x{10a} 539 540/[z-\x{100}]/8i 541 Z 542 z 543 \x{39c} 544 \x{178} 545 | 546 \x{80} 547 \x{ff} 548 \x{100} 549 \x{101} 550 ** Failers 551 \x{102} 552 Y 553 y 554 555/[z-\x{100}]/8i 556 557/^\X/8 558 A 559 A\x{300}BC 560 A\x{300}\x{301}\x{302}BC 561 *** Failers 562 \x{300} 563 564/^[\X]/8 565 X123 566 *** Failers 567 AXYZ 568 569/^(\X*)C/8 570 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 571 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 572 573/^(\X*?)C/8 574 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 575 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 576 577/^(\X*)(.)/8 578 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 579 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 580 581/^(\X*?)(.)/8 582 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 583 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 584 585/^\X(.)/8 586 *** Failers 587 A\x{300}\x{301}\x{302} 588 589/^\X{2,3}(.)/8 590 A\x{300}\x{301}B\x{300}X 591 A\x{300}\x{301}B\x{300}C\x{300}\x{301} 592 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X 593 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X 594 595/^\X{2,3}?(.)/8 596 A\x{300}\x{301}B\x{300}X 597 A\x{300}\x{301}B\x{300}C\x{300}\x{301} 598 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X 599 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X 600 601/^\pN{2,3}X/ 602 12X 603 123X 604 *** Failers 605 X 606 1X 607 1234X 608 609/\x{100}/i8 610 \x{100} 611 \x{101} 612 613/^\p{Han}+/8 614 \x{2e81}\x{3007}\x{2f804}\x{31a0} 615 ** Failers 616 \x{2e7f} 617 618/^\P{Katakana}+/8 619 \x{3105} 620 ** Failers 621 \x{30ff} 622 623/^[\p{Arabic}]/8 624 \x{06e9} 625 \x{060b} 626 ** Failers 627 X\x{06e9} 628 629/^[\P{Yi}]/8 630 \x{2f800} 631 ** Failers 632 \x{a014} 633 \x{a4c6} 634 635/^\p{Any}X/8 636 AXYZ 637 \x{1234}XYZ 638 ** Failers 639 X 640 641/^\P{Any}X/8 642 ** Failers 643 AX 644 645/^\p{Any}?X/8 646 XYZ 647 AXYZ 648 \x{1234}XYZ 649 ** Failers 650 ABXYZ 651 652/^\P{Any}?X/8 653 XYZ 654 ** Failers 655 AXYZ 656 \x{1234}XYZ 657 ABXYZ 658 659/^\p{Any}+X/8 660 AXYZ 661 \x{1234}XYZ 662 A\x{1234}XYZ 663 ** Failers 664 XYZ 665 666/^\P{Any}+X/8 667 ** Failers 668 AXYZ 669 \x{1234}XYZ 670 A\x{1234}XYZ 671 XYZ 672 673/^\p{Any}*X/8 674 XYZ 675 AXYZ 676 \x{1234}XYZ 677 A\x{1234}XYZ 678 ** Failers 679 680/^\P{Any}*X/8 681 XYZ 682 ** Failers 683 AXYZ 684 \x{1234}XYZ 685 A\x{1234}XYZ 686 687/^[\p{Any}]X/8 688 AXYZ 689 \x{1234}XYZ 690 ** Failers 691 X 692 693/^[\P{Any}]X/8 694 ** Failers 695 AX 696 697/^[\p{Any}]?X/8 698 XYZ 699 AXYZ 700 \x{1234}XYZ 701 ** Failers 702 ABXYZ 703 704/^[\P{Any}]?X/8 705 XYZ 706 ** Failers 707 AXYZ 708 \x{1234}XYZ 709 ABXYZ 710 711/^[\p{Any}]+X/8 712 AXYZ 713 \x{1234}XYZ 714 A\x{1234}XYZ 715 ** Failers 716 XYZ 717 718/^[\P{Any}]+X/8 719 ** Failers 720 AXYZ 721 \x{1234}XYZ 722 A\x{1234}XYZ 723 XYZ 724 725/^[\p{Any}]*X/8 726 XYZ 727 AXYZ 728 \x{1234}XYZ 729 A\x{1234}XYZ 730 ** Failers 731 732/^[\P{Any}]*X/8 733 XYZ 734 ** Failers 735 AXYZ 736 \x{1234}XYZ 737 A\x{1234}XYZ 738 739/^\p{Any}{3,5}?/8 740 abcdefgh 741 \x{1234}\n\r\x{3456}xyz 742 743/^\p{Any}{3,5}/8 744 abcdefgh 745 \x{1234}\n\r\x{3456}xyz 746 747/^\P{Any}{3,5}?/8 748 ** Failers 749 abcdefgh 750 \x{1234}\n\r\x{3456}xyz 751 752/^\p{L&}X/8 753 AXY 754 aXY 755 \x{1c5}XY 756 ** Failers 757 \x{1bb}XY 758 \x{2b0}XY 759 !XY 760 761/^[\p{L&}]X/8 762 AXY 763 aXY 764 \x{1c5}XY 765 ** Failers 766 \x{1bb}XY 767 \x{2b0}XY 768 !XY 769 770/^\p{L&}+X/8 771 AXY 772 aXY 773 AbcdeXyz 774 \x{1c5}AbXY 775 abcDEXypqreXlmn 776 ** Failers 777 \x{1bb}XY 778 \x{2b0}XY 779 !XY 780 781/^[\p{L&}]+X/8 782 AXY 783 aXY 784 AbcdeXyz 785 \x{1c5}AbXY 786 abcDEXypqreXlmn 787 ** Failers 788 \x{1bb}XY 789 \x{2b0}XY 790 !XY 791 792/^\p{L&}+?X/8 793 AXY 794 aXY 795 AbcdeXyz 796 \x{1c5}AbXY 797 abcDEXypqreXlmn 798 ** Failers 799 \x{1bb}XY 800 \x{2b0}XY 801 !XY 802 803/^[\p{L&}]+?X/8 804 AXY 805 aXY 806 AbcdeXyz 807 \x{1c5}AbXY 808 abcDEXypqreXlmn 809 ** Failers 810 \x{1bb}XY 811 \x{2b0}XY 812 !XY 813 814/^\P{L&}X/8 815 !XY 816 \x{1bb}XY 817 \x{2b0}XY 818 ** Failers 819 \x{1c5}XY 820 AXY 821 822/^[\P{L&}]X/8 823 !XY 824 \x{1bb}XY 825 \x{2b0}XY 826 ** Failers 827 \x{1c5}XY 828 AXY 829 830/^\x{023a}+?(\x{0130}+)/8i 831 \x{023a}\x{2c65}\x{0130} 832 833/^\x{023a}+([^X])/8i 834 \x{023a}\x{2c65}X 835 836/\x{c0}+\x{116}+/8i 837 \x{c0}\x{e0}\x{116}\x{117} 838 839/[\x{c0}\x{116}]+/8i 840 \x{c0}\x{e0}\x{116}\x{117} 841 842/Check property support in non-UTF-8 mode/ 843 844/\p{L}{4}/ 845 123abcdefg 846 123abc\xc4\xc5zz 847 848/\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8 849 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}==== 850 851/\x{a77d}\x{1d79}/8i 852 \x{a77d}\x{1d79} 853 \x{1d79}\x{a77d} 854 855/\x{a77d}\x{1d79}/8 856 \x{a77d}\x{1d79} 857 ** Failers 858 \x{1d79}\x{a77d} 859 860/^\p{Xan}/8 861 ABCD 862 1234 863 \x{6ca} 864 \x{a6c} 865 \x{10a7} 866 ** Failers 867 _ABC 868 869/^\p{Xan}+/8 870 ABCD1234\x{6ca}\x{a6c}\x{10a7}_ 871 ** Failers 872 _ABC 873 874/^\p{Xan}*/8 875 ABCD1234\x{6ca}\x{a6c}\x{10a7}_ 876 877/^\p{Xan}{2,9}/8 878 ABCD1234\x{6ca}\x{a6c}\x{10a7}_ 879 880/^[\p{Xan}]/8 881 ABCD1234_ 882 1234abcd_ 883 \x{6ca} 884 \x{a6c} 885 \x{10a7} 886 ** Failers 887 _ABC 888 889/^[\p{Xan}]+/8 890 ABCD1234\x{6ca}\x{a6c}\x{10a7}_ 891 ** Failers 892 _ABC 893 894/^>\p{Xsp}/8 895 >\x{1680}\x{2028}\x{0b} 896 ** Failers 897 \x{0b} 898 899/^>\p{Xsp}+/8O 900 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} 901 902/^>\p{Xsp}*/8O 903 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} 904 905/^>\p{Xsp}{2,9}/8O 906 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} 907 908/^>[\p{Xsp}]/8O 909 >\x{2028}\x{0b} 910 911/^>[\p{Xsp}]+/8O 912 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} 913 914/^>\p{Xps}/8 915 >\x{1680}\x{2028}\x{0b} 916 >\x{a0} 917 ** Failers 918 \x{0b} 919 920/^>\p{Xps}+/8 921 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} 922 923/^>\p{Xps}+?/8 924 >\x{1680}\x{2028}\x{0b} 925 926/^>\p{Xps}*/8 927 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} 928 929/^>\p{Xps}{2,9}/8 930 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} 931 932/^>\p{Xps}{2,9}?/8 933 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} 934 935/^>[\p{Xps}]/8 936 >\x{2028}\x{0b} 937 938/^>[\p{Xps}]+/8 939 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} 940 941/^\p{Xwd}/8 942 ABCD 943 1234 944 \x{6ca} 945 \x{a6c} 946 \x{10a7} 947 _ABC 948 ** Failers 949 [] 950 951/^\p{Xwd}+/8 952 ABCD1234\x{6ca}\x{a6c}\x{10a7}_ 953 954/^\p{Xwd}*/8 955 ABCD1234\x{6ca}\x{a6c}\x{10a7}_ 956 957/^\p{Xwd}{2,9}/8 958 A_12\x{6ca}\x{a6c}\x{10a7} 959 960/^[\p{Xwd}]/8 961 ABCD1234_ 962 1234abcd_ 963 \x{6ca} 964 \x{a6c} 965 \x{10a7} 966 _ABC 967 ** Failers 968 [] 969 970/^[\p{Xwd}]+/8 971 ABCD1234\x{6ca}\x{a6c}\x{10a7}_ 972 973/-- Unicode properties for \b abd \B --/ 974 975/\b...\B/8W 976 abc_ 977 \x{37e}abc\x{376} 978 \x{37e}\x{376}\x{371}\x{393}\x{394} 979 !\x{c0}++\x{c1}\x{c2} 980 !\x{c0}+++++ 981 982/-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/ 983 984/\b...\B/8 985 abc_ 986 ** Failers 987 \x{37e}abc\x{376} 988 \x{37e}\x{376}\x{371}\x{393}\x{394} 989 !\x{c0}++\x{c1}\x{c2} 990 !\x{c0}+++++ 991 992/-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/ 993 994/\b...\B/W 995 abc_ 996 !\x{c0}++\x{c1}\x{c2} 997 !\x{c0}+++++ 998 999/-- Caseless single negated characters > 127 need UCP support --/ 1000 1001/[^\x{100}]/8i 1002 \x{100}\x{101}X 1003 1004/[^\x{100}]+/8i 1005 \x{100}\x{101}XX 1006 1007/^\X/8 1008 A\P 1009 A\P\P 1010 A\x{300}\x{301}\P 1011 A\x{300}\x{301}\P\P 1012 A\x{301}\P 1013 A\x{301}\P\P 1014 1015/^\X{2,3}/8 1016 A\P 1017 A\P\P 1018 AA\P 1019 AA\P\P 1020 A\x{300}\x{301}\P 1021 A\x{300}\x{301}\P\P 1022 A\x{300}\x{301}A\x{300}\x{301}\P 1023 A\x{300}\x{301}A\x{300}\x{301}\P\P 1024 1025/^\X{2}/8 1026 AA\P 1027 AA\P\P 1028 A\x{300}\x{301}A\x{300}\x{301}\P 1029 A\x{300}\x{301}A\x{300}\x{301}\P\P 1030 1031/^\X+/8 1032 AA\P 1033 AA\P\P 1034 1035/^\X+?Z/8 1036 AA\P 1037 AA\P\P 1038 1039/-- These are tests for extended grapheme clusters --/ 1040 1041/^\X/8+ 1042 G\x{34e}\x{34e}X 1043 \x{34e}\x{34e}X 1044 \x04X 1045 \x{1100}X 1046 \x{1100}\x{34e}X 1047 \x{1b04}\x{1b04}X 1048 *These match up to the roman letters 1049 \x{1111}\x{1111}L,L 1050 \x{1111}\x{1111}\x{1169}L,L,V 1051 \x{1111}\x{ae4c}L, LV 1052 \x{1111}\x{ad89}L, LVT 1053 \x{1111}\x{ae4c}\x{1169}L, LV, V 1054 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V 1055 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T 1056 \x{1111}\x{ad89}\x{11fe}L, LVT, T 1057 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T 1058 \x{ad89}\x{11fe}\x{11fe}LVT, T, T 1059 *These match just the first codepoint (invalid sequence) 1060 \x{1111}\x{11fe}L, T 1061 \x{ae4c}\x{1111}LV, L 1062 \x{ae4c}\x{ae4c}LV, LV 1063 \x{ae4c}\x{ad89}LV, LVT 1064 \x{1169}\x{1111}V, L 1065 \x{1169}\x{ae4c}V, LV 1066 \x{1169}\x{ad89}V, LVT 1067 \x{ad89}\x{1111}LVT, L 1068 \x{ad89}\x{1169}LVT, V 1069 \x{ad89}\x{ae4c}LVT, LV 1070 \x{ad89}\x{ad89}LVT, LVT 1071 \x{11fe}\x{1111}T, L 1072 \x{11fe}\x{1169}T, V 1073 \x{11fe}\x{ae4c}T, LV 1074 \x{11fe}\x{ad89}T, LVT 1075 *Test extend and spacing mark 1076 \x{1111}\x{ae4c}\x{0711}L, LV, extend 1077 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark 1078 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark 1079 *Test CR, LF, and control 1080 \x0d\x{0711}CR, extend 1081 \x0d\x{1b04}CR, spacingmark 1082 \x0a\x{0711}LF, extend 1083 \x0a\x{1b04}LF, spacingmark 1084 \x0b\x{0711}Control, extend 1085 \x09\x{1b04}Control, spacingmark 1086 *There are no Prepend characters, so we can't test Prepend, CR 1087 1088/^(?>\X{2})X/8+ 1089 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1090 1091/^\X{2,4}X/8+ 1092 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1093 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1094 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1095 1096/^\X{2,4}?X/8+ 1097 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1098 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1099 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1100 1101/-- --/ 1102 1103/\x{1e9e}+/8i 1104 \x{1e9e}\x{00df} 1105 1106/[z\x{1e9e}]+/8i 1107 \x{1e9e}\x{00df} 1108 1109/\x{00df}+/8i 1110 \x{1e9e}\x{00df} 1111 1112/[z\x{00df}]+/8i 1113 \x{1e9e}\x{00df} 1114 1115/\x{1f88}+/8i 1116 \x{1f88}\x{1f80} 1117 1118/[z\x{1f88}]+/8i 1119 \x{1f88}\x{1f80} 1120 1121/-- Perl matches these --/ 1122 1123/\x{00b5}+/8i 1124 \x{00b5}\x{039c}\x{03bc} 1125 1126/\x{039c}+/8i 1127 \x{00b5}\x{039c}\x{03bc} 1128 1129/\x{03bc}+/8i 1130 \x{00b5}\x{039c}\x{03bc} 1131 1132 1133/\x{00c5}+/8i 1134 \x{00c5}\x{00e5}\x{212b} 1135 1136/\x{00e5}+/8i 1137 \x{00c5}\x{00e5}\x{212b} 1138 1139/\x{212b}+/8i 1140 \x{00c5}\x{00e5}\x{212b} 1141 1142 1143/\x{01c4}+/8i 1144 \x{01c4}\x{01c5}\x{01c6} 1145 1146/\x{01c5}+/8i 1147 \x{01c4}\x{01c5}\x{01c6} 1148 1149/\x{01c6}+/8i 1150 \x{01c4}\x{01c5}\x{01c6} 1151 1152 1153/\x{01c7}+/8i 1154 \x{01c7}\x{01c8}\x{01c9} 1155 1156/\x{01c8}+/8i 1157 \x{01c7}\x{01c8}\x{01c9} 1158 1159/\x{01c9}+/8i 1160 \x{01c7}\x{01c8}\x{01c9} 1161 1162 1163/\x{01ca}+/8i 1164 \x{01ca}\x{01cb}\x{01cc} 1165 1166/\x{01cb}+/8i 1167 \x{01ca}\x{01cb}\x{01cc} 1168 1169/\x{01cc}+/8i 1170 \x{01ca}\x{01cb}\x{01cc} 1171 1172 1173/\x{01f1}+/8i 1174 \x{01f1}\x{01f2}\x{01f3} 1175 1176/\x{01f2}+/8i 1177 \x{01f1}\x{01f2}\x{01f3} 1178 1179/\x{01f3}+/8i 1180 \x{01f1}\x{01f2}\x{01f3} 1181 1182 1183/\x{0345}+/8i 1184 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1185 1186/\x{0399}+/8i 1187 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1188 1189/\x{03b9}+/8i 1190 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1191 1192/\x{1fbe}+/8i 1193 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1194 1195 1196/\x{0392}+/8i 1197 \x{0392}\x{03b2}\x{03d0} 1198 1199/\x{03b2}+/8i 1200 \x{0392}\x{03b2}\x{03d0} 1201 1202/\x{03d0}+/8i 1203 \x{0392}\x{03b2}\x{03d0} 1204 1205 1206/\x{0395}+/8i 1207 \x{0395}\x{03b5}\x{03f5} 1208 1209/\x{03b5}+/8i 1210 \x{0395}\x{03b5}\x{03f5} 1211 1212/\x{03f5}+/8i 1213 \x{0395}\x{03b5}\x{03f5} 1214 1215 1216/\x{0398}+/8i 1217 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1218 1219/\x{03b8}+/8i 1220 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1221 1222/\x{03d1}+/8i 1223 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1224 1225/\x{03f4}+/8i 1226 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1227 1228 1229/\x{039a}+/8i 1230 \x{039a}\x{03ba}\x{03f0} 1231 1232/\x{03ba}+/8i 1233 \x{039a}\x{03ba}\x{03f0} 1234 1235/\x{03f0}+/8i 1236 \x{039a}\x{03ba}\x{03f0} 1237 1238 1239/\x{03a0}+/8i 1240 \x{03a0}\x{03c0}\x{03d6} 1241 1242/\x{03c0}+/8i 1243 \x{03a0}\x{03c0}\x{03d6} 1244 1245/\x{03d6}+/8i 1246 \x{03a0}\x{03c0}\x{03d6} 1247 1248 1249/\x{03a1}+/8i 1250 \x{03a1}\x{03c1}\x{03f1} 1251 1252/\x{03c1}+/8i 1253 \x{03a1}\x{03c1}\x{03f1} 1254 1255/\x{03f1}+/8i 1256 \x{03a1}\x{03c1}\x{03f1} 1257 1258 1259/\x{03a3}+/8i 1260 \x{03A3}\x{03C2}\x{03C3} 1261 1262/\x{03c2}+/8i 1263 \x{03A3}\x{03C2}\x{03C3} 1264 1265/\x{03c3}+/8i 1266 \x{03A3}\x{03C2}\x{03C3} 1267 1268 1269/\x{03a6}+/8i 1270 \x{03a6}\x{03c6}\x{03d5} 1271 1272/\x{03c6}+/8i 1273 \x{03a6}\x{03c6}\x{03d5} 1274 1275/\x{03d5}+/8i 1276 \x{03a6}\x{03c6}\x{03d5} 1277 1278 1279/\x{03c9}+/8i 1280 \x{03c9}\x{03a9}\x{2126} 1281 1282/\x{03a9}+/8i 1283 \x{03c9}\x{03a9}\x{2126} 1284 1285/\x{2126}+/8i 1286 \x{03c9}\x{03a9}\x{2126} 1287 1288 1289/\x{1e60}+/8i 1290 \x{1e60}\x{1e61}\x{1e9b} 1291 1292/\x{1e61}+/8i 1293 \x{1e60}\x{1e61}\x{1e9b} 1294 1295/\x{1e9b}+/8i 1296 \x{1e60}\x{1e61}\x{1e9b} 1297 1298 1299/\x{1e9e}+/8i 1300 \x{1e9e}\x{00df} 1301 1302/\x{00df}+/8i 1303 \x{1e9e}\x{00df} 1304 1305 1306/\x{1f88}+/8i 1307 \x{1f88}\x{1f80} 1308 1309/\x{1f80}+/8i 1310 \x{1f88}\x{1f80} 1311 1312/\x{004b}+/8i 1313 \x{004b}\x{006b}\x{212a} 1314 1315/\x{006b}+/8i 1316 \x{004b}\x{006b}\x{212a} 1317 1318/\x{212a}+/8i 1319 \x{004b}\x{006b}\x{212a} 1320 1321 1322/\x{0053}+/8i 1323 \x{0053}\x{0073}\x{017f} 1324 1325/\x{0073}+/8i 1326 \x{0053}\x{0073}\x{017f} 1327 1328/\x{017f}+/8i 1329 \x{0053}\x{0073}\x{017f} 1330 1331/ist/8i 1332 ikt 1333 1334/is+t/8i 1335 iSs\x{17f}t 1336 ikt 1337 1338/is+?t/8i 1339 ikt 1340 1341/is?t/8i 1342 ikt 1343 1344/is{2}t/8i 1345 iskt 1346 1347/^\p{Xuc}/8 1348 $abc 1349 @abc 1350 `abc 1351 \x{1234}abc 1352 ** Failers 1353 abc 1354 1355/^\p{Xuc}+/8 1356 $@`\x{a0}\x{1234}\x{e000}** 1357 ** Failers 1358 \x{9f} 1359 1360/^\p{Xuc}+?/8 1361 $@`\x{a0}\x{1234}\x{e000}** 1362 ** Failers 1363 \x{9f} 1364 1365/^\p{Xuc}+?\*/8 1366 $@`\x{a0}\x{1234}\x{e000}** 1367 ** Failers 1368 \x{9f} 1369 1370/^\p{Xuc}++/8 1371 $@`\x{a0}\x{1234}\x{e000}** 1372 ** Failers 1373 \x{9f} 1374 1375/^\p{Xuc}{3,5}/8 1376 $@`\x{a0}\x{1234}\x{e000}** 1377 ** Failers 1378 \x{9f} 1379 1380/^\p{Xuc}{3,5}?/8 1381 $@`\x{a0}\x{1234}\x{e000}** 1382 ** Failers 1383 \x{9f} 1384 1385/^[\p{Xuc}]/8 1386 $@`\x{a0}\x{1234}\x{e000}** 1387 ** Failers 1388 \x{9f} 1389 1390/^[\p{Xuc}]+/8 1391 $@`\x{a0}\x{1234}\x{e000}** 1392 ** Failers 1393 \x{9f} 1394 1395/^\P{Xuc}/8 1396 abc 1397 ** Failers 1398 $abc 1399 @abc 1400 `abc 1401 \x{1234}abc 1402 1403/^[\P{Xuc}]/8 1404 abc 1405 ** Failers 1406 $abc 1407 @abc 1408 `abc 1409 \x{1234}abc 1410 1411/^A\s+Z/8W 1412 A\x{2005}Z 1413 A\x{85}\x{180e}\x{2005}Z 1414 1415/^A[\s]+Z/8W 1416 A\x{2005}Z 1417 A\x{85}\x{180e}\x{2005}Z 1418 1419/-- End of testinput10 --/ 1420