1 /-- This set of tests is for UTF support, excluding Unicode properties. It is 2 compatible with all versions of Perl >= 5.10 and both the 8-bit and 16-bit 3 PCRE libraries. --/ 4 5 < forbid 9?=ABCDEFfGILMNPTUWXZ< 6 7 /a.b/8 8 acb 9 a\x7fb 10 a\x{100}b 11 *** Failers 12 a\nb 13 14 /a(.{3})b/8 15 a\x{4000}xyb 16 a\x{4000}\x7fyb 17 a\x{4000}\x{100}yb 18 *** Failers 19 a\x{4000}b 20 ac\ncb 21 22 /a(.*?)(.)/ 23 a\xc0\x88b 24 25 /a(.*?)(.)/8 26 a\x{100}b 27 28 /a(.*)(.)/ 29 a\xc0\x88b 30 31 /a(.*)(.)/8 32 a\x{100}b 33 34 /a(.)(.)/ 35 a\xc0\x92bcd 36 37 /a(.)(.)/8 38 a\x{240}bcd 39 40 /a(.?)(.)/ 41 a\xc0\x92bcd 42 43 /a(.?)(.)/8 44 a\x{240}bcd 45 46 /a(.??)(.)/ 47 a\xc0\x92bcd 48 49 /a(.??)(.)/8 50 a\x{240}bcd 51 52 /a(.{3})b/8 53 a\x{1234}xyb 54 a\x{1234}\x{4321}yb 55 a\x{1234}\x{4321}\x{3412}b 56 *** Failers 57 a\x{1234}b 58 ac\ncb 59 60 /a(.{3,})b/8 61 a\x{1234}xyb 62 a\x{1234}\x{4321}yb 63 a\x{1234}\x{4321}\x{3412}b 64 axxxxbcdefghijb 65 a\x{1234}\x{4321}\x{3412}\x{3421}b 66 *** Failers 67 a\x{1234}b 68 69 /a(.{3,}?)b/8 70 a\x{1234}xyb 71 a\x{1234}\x{4321}yb 72 a\x{1234}\x{4321}\x{3412}b 73 axxxxbcdefghijb 74 a\x{1234}\x{4321}\x{3412}\x{3421}b 75 *** Failers 76 a\x{1234}b 77 78 /a(.{3,5})b/8 79 a\x{1234}xyb 80 a\x{1234}\x{4321}yb 81 a\x{1234}\x{4321}\x{3412}b 82 axxxxbcdefghijb 83 a\x{1234}\x{4321}\x{3412}\x{3421}b 84 axbxxbcdefghijb 85 axxxxxbcdefghijb 86 *** Failers 87 a\x{1234}b 88 axxxxxxbcdefghijb 89 90 /a(.{3,5}?)b/8 91 a\x{1234}xyb 92 a\x{1234}\x{4321}yb 93 a\x{1234}\x{4321}\x{3412}b 94 axxxxbcdefghijb 95 a\x{1234}\x{4321}\x{3412}\x{3421}b 96 axbxxbcdefghijb 97 axxxxxbcdefghijb 98 *** Failers 99 a\x{1234}b 100 axxxxxxbcdefghijb 101 102 /^[a\x{c0}]/8 103 *** Failers 104 \x{100} 105 106 /(?<=aXb)cd/8 107 aXbcd 108 109 /(?<=a\x{100}b)cd/8 110 a\x{100}bcd 111 112 /(?<=a\x{100000}b)cd/8 113 a\x{100000}bcd 114 115 /(?:\x{100}){3}b/8 116 \x{100}\x{100}\x{100}b 117 *** Failers 118 \x{100}\x{100}b 119 120 /\x{ab}/8 121 \x{ab} 122 \xc2\xab 123 *** Failers 124 \x00{ab} 125 126 /(?<=(.))X/8 127 WXYZ 128 \x{256}XYZ 129 *** Failers 130 XYZ 131 132 /[^a]+/8g 133 bcd 134 \x{100}aY\x{256}Z 135 136 /^[^a]{2}/8 137 \x{100}bc 138 139 /^[^a]{2,}/8 140 \x{100}bcAa 141 142 /^[^a]{2,}?/8 143 \x{100}bca 144 145 /[^a]+/8ig 146 bcd 147 \x{100}aY\x{256}Z 148 149 /^[^a]{2}/8i 150 \x{100}bc 151 152 /^[^a]{2,}/8i 153 \x{100}bcAa 154 155 /^[^a]{2,}?/8i 156 \x{100}bca 157 158 /\x{100}{0,0}/8 159 abcd 160 161 /\x{100}?/8 162 abcd 163 \x{100}\x{100} 164 165 /\x{100}{0,3}/8 166 \x{100}\x{100} 167 \x{100}\x{100}\x{100}\x{100} 168 169 /\x{100}*/8 170 abce 171 \x{100}\x{100}\x{100}\x{100} 172 173 /\x{100}{1,1}/8 174 abcd\x{100}\x{100}\x{100}\x{100} 175 176 /\x{100}{1,3}/8 177 abcd\x{100}\x{100}\x{100}\x{100} 178 179 /\x{100}+/8 180 abcd\x{100}\x{100}\x{100}\x{100} 181 182 /\x{100}{3}/8 183 abcd\x{100}\x{100}\x{100}XX 184 185 /\x{100}{3,5}/8 186 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 187 188 /\x{100}{3,}/8 189 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 190 191 /(?<=a\x{100}{2}b)X/8+ 192 Xyyya\x{100}\x{100}bXzzz 193 194 /\D*/8 195 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 196 197 /\D*/8 198 \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100} 199 200 /\D/8 201 1X2 202 1\x{100}2 203 204 />\S/8 205 > >X Y 206 > >\x{100} Y 207 208 /\d/8 209 \x{100}3 210 211 /\s/8 212 \x{100} X 213 214 /\D+/8 215 12abcd34 216 *** Failers 217 1234 218 219 /\D{2,3}/8 220 12abcd34 221 12ab34 222 *** Failers 223 1234 224 12a34 225 226 /\D{2,3}?/8 227 12abcd34 228 12ab34 229 *** Failers 230 1234 231 12a34 232 233 /\d+/8 234 12abcd34 235 *** Failers 236 237 /\d{2,3}/8 238 12abcd34 239 1234abcd 240 *** Failers 241 1.4 242 243 /\d{2,3}?/8 244 12abcd34 245 1234abcd 246 *** Failers 247 1.4 248 249 /\S+/8 250 12abcd34 251 *** Failers 252 \ \ 253 254 /\S{2,3}/8 255 12abcd34 256 1234abcd 257 *** Failers 258 \ \ 259 260 /\S{2,3}?/8 261 12abcd34 262 1234abcd 263 *** Failers 264 \ \ 265 266 />\s+</8+ 267 12> <34 268 *** Failers 269 270 />\s{2,3}</8+ 271 ab> <cd 272 ab> <ce 273 *** Failers 274 ab> <cd 275 276 />\s{2,3}?</8+ 277 ab> <cd 278 ab> <ce 279 *** Failers 280 ab> <cd 281 282 /\w+/8 283 12 34 284 *** Failers 285 +++=*! 286 287 /\w{2,3}/8 288 ab cd 289 abcd ce 290 *** Failers 291 a.b.c 292 293 /\w{2,3}?/8 294 ab cd 295 abcd ce 296 *** Failers 297 a.b.c 298 299 /\W+/8 300 12====34 301 *** Failers 302 abcd 303 304 /\W{2,3}/8 305 ab====cd 306 ab==cd 307 *** Failers 308 a.b.c 309 310 /\W{2,3}?/8 311 ab====cd 312 ab==cd 313 *** Failers 314 a.b.c 315 316 /[\x{100}]/8 317 \x{100} 318 Z\x{100} 319 \x{100}Z 320 *** Failers 321 322 /[Z\x{100}]/8 323 Z\x{100} 324 \x{100} 325 \x{100}Z 326 *** Failers 327 328 /[\x{100}\x{200}]/8 329 ab\x{100}cd 330 ab\x{200}cd 331 *** Failers 332 333 /[\x{100}-\x{200}]/8 334 ab\x{100}cd 335 ab\x{200}cd 336 ab\x{111}cd 337 *** Failers 338 339 /[z-\x{200}]/8 340 ab\x{100}cd 341 ab\x{200}cd 342 ab\x{111}cd 343 abzcd 344 ab|cd 345 *** Failers 346 347 /[Q\x{100}\x{200}]/8 348 ab\x{100}cd 349 ab\x{200}cd 350 Q? 351 *** Failers 352 353 /[Q\x{100}-\x{200}]/8 354 ab\x{100}cd 355 ab\x{200}cd 356 ab\x{111}cd 357 Q? 358 *** Failers 359 360 /[Qz-\x{200}]/8 361 ab\x{100}cd 362 ab\x{200}cd 363 ab\x{111}cd 364 abzcd 365 ab|cd 366 Q? 367 *** Failers 368 369 /[\x{100}\x{200}]{1,3}/8 370 ab\x{100}cd 371 ab\x{200}cd 372 ab\x{200}\x{100}\x{200}\x{100}cd 373 *** Failers 374 375 /[\x{100}\x{200}]{1,3}?/8 376 ab\x{100}cd 377 ab\x{200}cd 378 ab\x{200}\x{100}\x{200}\x{100}cd 379 *** Failers 380 381 /[Q\x{100}\x{200}]{1,3}/8 382 ab\x{100}cd 383 ab\x{200}cd 384 ab\x{200}\x{100}\x{200}\x{100}cd 385 *** Failers 386 387 /[Q\x{100}\x{200}]{1,3}?/8 388 ab\x{100}cd 389 ab\x{200}cd 390 ab\x{200}\x{100}\x{200}\x{100}cd 391 *** Failers 392 393 /(?<=[\x{100}\x{200}])X/8 394 abc\x{200}X 395 abc\x{100}X 396 *** Failers 397 X 398 399 /(?<=[Q\x{100}\x{200}])X/8 400 abc\x{200}X 401 abc\x{100}X 402 abQX 403 *** Failers 404 X 405 406 /(?<=[\x{100}\x{200}]{3})X/8 407 abc\x{100}\x{200}\x{100}X 408 *** Failers 409 abc\x{200}X 410 X 411 412 /[^\x{100}\x{200}]X/8 413 AX 414 \x{150}X 415 \x{500}X 416 *** Failers 417 \x{100}X 418 \x{200}X 419 420 /[^Q\x{100}\x{200}]X/8 421 AX 422 \x{150}X 423 \x{500}X 424 *** Failers 425 \x{100}X 426 \x{200}X 427 QX 428 429 /[^\x{100}-\x{200}]X/8 430 AX 431 \x{500}X 432 *** Failers 433 \x{100}X 434 \x{150}X 435 \x{200}X 436 437 /[z-\x{100}]/8i 438 z 439 Z 440 \x{100} 441 *** Failers 442 \x{102} 443 y 444 445 /[\xFF]/ 446 >\xff< 447 448 /[\xff]/8 449 >\x{ff}< 450 451 /[^\xFF]/ 452 XYZ 453 454 /[^\xff]/8 455 XYZ 456 \x{123} 457 458 /^[ac]*b/8 459 xb 460 461 /^[ac\x{100}]*b/8 462 xb 463 464 /^[^x]*b/8i 465 xb 466 467 /^[^x]*b/8 468 xb 469 470 /^\d*b/8 471 xb 472 473 /(|a)/g8 474 catac 475 a\x{256}a 476 477 /^\x{85}$/8i 478 \x{85} 479 480 /^/8 481 482 483 /^\/8 484 485 486 "(?s)(.{1,5})"8 487 abcdefg 488 ab 489 490 /a*\x{100}*\w/8 491 a 492 493 /\S\S/8g 494 A\x{a3}BC 495 496 /\S{2}/8g 497 A\x{a3}BC 498 499 /\W\W/8g 500 +\x{a3}== 501 502 /\W{2}/8g 503 +\x{a3}== 504 505 /\S/8g 506 \x{442}\x{435}\x{441}\x{442} 507 508 /[\S]/8g 509 \x{442}\x{435}\x{441}\x{442} 510 511 /\D/8g 512 \x{442}\x{435}\x{441}\x{442} 513 514 /[\D]/8g 515 \x{442}\x{435}\x{441}\x{442} 516 517 /\W/8g 518 \x{2442}\x{2435}\x{2441}\x{2442} 519 520 /[\W]/8g 521 \x{2442}\x{2435}\x{2441}\x{2442} 522 523 /[\S\s]*/8 524 abc\n\r\x{442}\x{435}\x{441}\x{442}xyz 525 526 /[\x{41f}\S]/8g 527 \x{442}\x{435}\x{441}\x{442} 528 529 /.[^\S]./8g 530 abc def\x{442}\x{443}xyz\npqr 531 532 /.[^\S\n]./8g 533 abc def\x{442}\x{443}xyz\npqr 534 535 /[[:^alnum:]]/8g 536 +\x{2442} 537 538 /[[:^alpha:]]/8g 539 +\x{2442} 540 541 /[[:^ascii:]]/8g 542 A\x{442} 543 544 /[[:^blank:]]/8g 545 A\x{442} 546 547 /[[:^cntrl:]]/8g 548 A\x{442} 549 550 /[[:^digit:]]/8g 551 A\x{442} 552 553 /[[:^graph:]]/8g 554 \x19\x{e01ff} 555 556 /[[:^lower:]]/8g 557 A\x{422} 558 559 /[[:^print:]]/8g 560 \x{19}\x{e01ff} 561 562 /[[:^punct:]]/8g 563 A\x{442} 564 565 /[[:^space:]]/8g 566 A\x{442} 567 568 /[[:^upper:]]/8g 569 a\x{442} 570 571 /[[:^word:]]/8g 572 +\x{2442} 573 574 /[[:^xdigit:]]/8g 575 M\x{442} 576 577 /[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\d-_^]/8 578 579 /^[^d]*?$/ 580 abc 581 582 /^[^d]*?$/8 583 abc 584 585 /^[^d]*?$/i 586 abc 587 588 /^[^d]*?$/8i 589 abc 590 591 /(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]/8 592 593 /^[a\x{c0}]b/8 594 \x{c0}b 595 596 /^([a\x{c0}]*?)aa/8 597 a\x{c0}aaaa/ 598 599 /^([a\x{c0}]*?)aa/8 600 a\x{c0}aaaa/ 601 a\x{c0}a\x{c0}aaa/ 602 603 /^([a\x{c0}]*)aa/8 604 a\x{c0}aaaa/ 605 a\x{c0}a\x{c0}aaa/ 606 607 /^([a\x{c0}]*)a\x{c0}/8 608 a\x{c0}aaaa/ 609 a\x{c0}a\x{c0}aaa/ 610 611 /A*/g8 612 AAB\x{123}BAA 613 614 /(abc)\1/8i 615 abc 616 617 /(abc)\1/8 618 abc 619 620 /a(*:a\x{1234}b)/8K 621 abc 622 623 /a(*:ab)/8K 624 abc 625 626 /-- Noncharacters --/ 627 628 /./8 629 \x{fffe} 630 \x{ffff} 631 \x{1fffe} 632 \x{1ffff} 633 \x{2fffe} 634 \x{2ffff} 635 \x{3fffe} 636 \x{3ffff} 637 \x{4fffe} 638 \x{4ffff} 639 \x{5fffe} 640 \x{5ffff} 641 \x{6fffe} 642 \x{6ffff} 643 \x{7fffe} 644 \x{7ffff} 645 \x{8fffe} 646 \x{8ffff} 647 \x{9fffe} 648 \x{9ffff} 649 \x{afffe} 650 \x{affff} 651 \x{bfffe} 652 \x{bffff} 653 \x{cfffe} 654 \x{cffff} 655 \x{dfffe} 656 \x{dffff} 657 \x{efffe} 658 \x{effff} 659 \x{ffffe} 660 \x{fffff} 661 \x{10fffe} 662 \x{10ffff} 663 \x{fdd0} 664 \x{fdd1} 665 \x{fdd2} 666 \x{fdd3} 667 \x{fdd4} 668 \x{fdd5} 669 \x{fdd6} 670 \x{fdd7} 671 \x{fdd8} 672 \x{fdd9} 673 \x{fdda} 674 \x{fddb} 675 \x{fddc} 676 \x{fddd} 677 \x{fdde} 678 \x{fddf} 679 \x{fde0} 680 \x{fde1} 681 \x{fde2} 682 \x{fde3} 683 \x{fde4} 684 \x{fde5} 685 \x{fde6} 686 \x{fde7} 687 \x{fde8} 688 \x{fde9} 689 \x{fdea} 690 \x{fdeb} 691 \x{fdec} 692 \x{fded} 693 \x{fdee} 694 \x{fdef} 695 696 /^\d*\w{4}/8 697 1234 698 123 699 700 /^[^b]*\w{4}/8 701 aaaa 702 aaa 703 704 /^[^b]*\w{4}/8i 705 aaaa 706 aaa 707 708 /^\x{100}*.{4}/8 709 \x{100}\x{100}\x{100}\x{100} 710 \x{100}\x{100}\x{100} 711 712 /^\x{100}*.{4}/8i 713 \x{100}\x{100}\x{100}\x{100} 714 \x{100}\x{100}\x{100} 715 716 /^a+[a\x{200}]/8 717 aa 718 719 /^.\B.\B./8 720 \x{10123}\x{10124}\x{10125} 721 722 /^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/8 723 #\x{10000}#\x{100}#\x{10ffff}# 724 725 "[\S\V\H]"8 726 727 /\C(\W?)'?{{/8 728 \\C(\\W?)'?{{ 729 730 /-- End of testinput4 --/ 731