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 0: acb 12 a\x7fb 13 0: a\x{7f}b 14 a\x{100}b 15 0: a\x{100}b 16 \= Expect no match 17 a\nb 18 No match 19 20 /a(.{3})b/utf 21 a\x{4000}xyb 22 0: a\x{4000}xyb 23 1: \x{4000}xy 24 a\x{4000}\x7fyb 25 0: a\x{4000}\x{7f}yb 26 1: \x{4000}\x{7f}y 27 a\x{4000}\x{100}yb 28 0: a\x{4000}\x{100}yb 29 1: \x{4000}\x{100}y 30 \= Expect no match 31 a\x{4000}b 32 No match 33 ac\ncb 34 No match 35 36 /a(.*?)(.)/ 37 a\xc0\x88b 38 0: a\xc0 39 1: 40 2: \xc0 41 42 /a(.*?)(.)/utf 43 a\x{100}b 44 0: a\x{100} 45 1: 46 2: \x{100} 47 48 /a(.*)(.)/ 49 a\xc0\x88b 50 0: a\xc0\x88b 51 1: \xc0\x88 52 2: b 53 54 /a(.*)(.)/utf 55 a\x{100}b 56 0: a\x{100}b 57 1: \x{100} 58 2: b 59 60 /a(.)(.)/ 61 a\xc0\x92bcd 62 0: a\xc0\x92 63 1: \xc0 64 2: \x92 65 66 /a(.)(.)/utf 67 a\x{240}bcd 68 0: a\x{240}b 69 1: \x{240} 70 2: b 71 72 /a(.?)(.)/ 73 a\xc0\x92bcd 74 0: a\xc0\x92 75 1: \xc0 76 2: \x92 77 78 /a(.?)(.)/utf 79 a\x{240}bcd 80 0: a\x{240}b 81 1: \x{240} 82 2: b 83 84 /a(.??)(.)/ 85 a\xc0\x92bcd 86 0: a\xc0 87 1: 88 2: \xc0 89 90 /a(.??)(.)/utf 91 a\x{240}bcd 92 0: a\x{240} 93 1: 94 2: \x{240} 95 96 /a(.{3})b/utf 97 a\x{1234}xyb 98 0: a\x{1234}xyb 99 1: \x{1234}xy 100 a\x{1234}\x{4321}yb 101 0: a\x{1234}\x{4321}yb 102 1: \x{1234}\x{4321}y 103 a\x{1234}\x{4321}\x{3412}b 104 0: a\x{1234}\x{4321}\x{3412}b 105 1: \x{1234}\x{4321}\x{3412} 106 \= Expect no match 107 a\x{1234}b 108 No match 109 ac\ncb 110 No match 111 112 /a(.{3,})b/utf 113 a\x{1234}xyb 114 0: a\x{1234}xyb 115 1: \x{1234}xy 116 a\x{1234}\x{4321}yb 117 0: a\x{1234}\x{4321}yb 118 1: \x{1234}\x{4321}y 119 a\x{1234}\x{4321}\x{3412}b 120 0: a\x{1234}\x{4321}\x{3412}b 121 1: \x{1234}\x{4321}\x{3412} 122 axxxxbcdefghijb 123 0: axxxxbcdefghijb 124 1: xxxxbcdefghij 125 a\x{1234}\x{4321}\x{3412}\x{3421}b 126 0: a\x{1234}\x{4321}\x{3412}\x{3421}b 127 1: \x{1234}\x{4321}\x{3412}\x{3421} 128 \= Expect no match 129 a\x{1234}b 130 No match 131 132 /a(.{3,}?)b/utf 133 a\x{1234}xyb 134 0: a\x{1234}xyb 135 1: \x{1234}xy 136 a\x{1234}\x{4321}yb 137 0: a\x{1234}\x{4321}yb 138 1: \x{1234}\x{4321}y 139 a\x{1234}\x{4321}\x{3412}b 140 0: a\x{1234}\x{4321}\x{3412}b 141 1: \x{1234}\x{4321}\x{3412} 142 axxxxbcdefghijb 143 0: axxxxb 144 1: xxxx 145 a\x{1234}\x{4321}\x{3412}\x{3421}b 146 0: a\x{1234}\x{4321}\x{3412}\x{3421}b 147 1: \x{1234}\x{4321}\x{3412}\x{3421} 148 \= Expect no match 149 a\x{1234}b 150 No match 151 152 /a(.{3,5})b/utf 153 a\x{1234}xyb 154 0: a\x{1234}xyb 155 1: \x{1234}xy 156 a\x{1234}\x{4321}yb 157 0: a\x{1234}\x{4321}yb 158 1: \x{1234}\x{4321}y 159 a\x{1234}\x{4321}\x{3412}b 160 0: a\x{1234}\x{4321}\x{3412}b 161 1: \x{1234}\x{4321}\x{3412} 162 axxxxbcdefghijb 163 0: axxxxb 164 1: xxxx 165 a\x{1234}\x{4321}\x{3412}\x{3421}b 166 0: a\x{1234}\x{4321}\x{3412}\x{3421}b 167 1: \x{1234}\x{4321}\x{3412}\x{3421} 168 axbxxbcdefghijb 169 0: axbxxb 170 1: xbxx 171 axxxxxbcdefghijb 172 0: axxxxxb 173 1: xxxxx 174 \= Expect no match 175 a\x{1234}b 176 No match 177 axxxxxxbcdefghijb 178 No match 179 180 /a(.{3,5}?)b/utf 181 a\x{1234}xyb 182 0: a\x{1234}xyb 183 1: \x{1234}xy 184 a\x{1234}\x{4321}yb 185 0: a\x{1234}\x{4321}yb 186 1: \x{1234}\x{4321}y 187 a\x{1234}\x{4321}\x{3412}b 188 0: a\x{1234}\x{4321}\x{3412}b 189 1: \x{1234}\x{4321}\x{3412} 190 axxxxbcdefghijb 191 0: axxxxb 192 1: xxxx 193 a\x{1234}\x{4321}\x{3412}\x{3421}b 194 0: a\x{1234}\x{4321}\x{3412}\x{3421}b 195 1: \x{1234}\x{4321}\x{3412}\x{3421} 196 axbxxbcdefghijb 197 0: axbxxb 198 1: xbxx 199 axxxxxbcdefghijb 200 0: axxxxxb 201 1: xxxxx 202 \= Expect no match 203 a\x{1234}b 204 No match 205 axxxxxxbcdefghijb 206 No match 207 208 /^[a\x{c0}]/utf 209 \= Expect no match 210 \x{100} 211 No match 212 213 /(?<=aXb)cd/utf 214 aXbcd 215 0: cd 216 217 /(?<=a\x{100}b)cd/utf 218 a\x{100}bcd 219 0: cd 220 221 /(?<=a\x{100000}b)cd/utf 222 a\x{100000}bcd 223 0: cd 224 225 /(?:\x{100}){3}b/utf 226 \x{100}\x{100}\x{100}b 227 0: \x{100}\x{100}\x{100}b 228 \= Expect no match 229 \x{100}\x{100}b 230 No match 231 232 /\x{ab}/utf 233 \x{ab} 234 0: \x{ab} 235 \xc2\xab 236 0: \x{ab} 237 \= Expect no match 238 \x00{ab} 239 No match 240 241 /(?<=(.))X/utf 242 WXYZ 243 0: X 244 1: W 245 \x{256}XYZ 246 0: X 247 1: \x{256} 248 \= Expect no match 249 XYZ 250 No match 251 252 /[^a]+/g,utf 253 bcd 254 0: bcd 255 \x{100}aY\x{256}Z 256 0: \x{100} 257 0: Y\x{256}Z 258 259 /^[^a]{2}/utf 260 \x{100}bc 261 0: \x{100}b 262 263 /^[^a]{2,}/utf 264 \x{100}bcAa 265 0: \x{100}bcA 266 267 /^[^a]{2,}?/utf 268 \x{100}bca 269 0: \x{100}b 270 271 /[^a]+/gi,utf 272 bcd 273 0: bcd 274 \x{100}aY\x{256}Z 275 0: \x{100} 276 0: Y\x{256}Z 277 278 /^[^a]{2}/i,utf 279 \x{100}bc 280 0: \x{100}b 281 282 /^[^a]{2,}/i,utf 283 \x{100}bcAa 284 0: \x{100}bc 285 286 /^[^a]{2,}?/i,utf 287 \x{100}bca 288 0: \x{100}b 289 290 /\x{100}{0,0}/utf 291 abcd 292 0: 293 294 /\x{100}?/utf 295 abcd 296 0: 297 \x{100}\x{100} 298 0: \x{100} 299 300 /\x{100}{0,3}/utf 301 \x{100}\x{100} 302 0: \x{100}\x{100} 303 \x{100}\x{100}\x{100}\x{100} 304 0: \x{100}\x{100}\x{100} 305 306 /\x{100}*/utf 307 abce 308 0: 309 \x{100}\x{100}\x{100}\x{100} 310 0: \x{100}\x{100}\x{100}\x{100} 311 312 /\x{100}{1,1}/utf 313 abcd\x{100}\x{100}\x{100}\x{100} 314 0: \x{100} 315 316 /\x{100}{1,3}/utf 317 abcd\x{100}\x{100}\x{100}\x{100} 318 0: \x{100}\x{100}\x{100} 319 320 /\x{100}+/utf 321 abcd\x{100}\x{100}\x{100}\x{100} 322 0: \x{100}\x{100}\x{100}\x{100} 323 324 /\x{100}{3}/utf 325 abcd\x{100}\x{100}\x{100}XX 326 0: \x{100}\x{100}\x{100} 327 328 /\x{100}{3,5}/utf 329 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 330 0: \x{100}\x{100}\x{100}\x{100}\x{100} 331 332 /\x{100}{3,}/utf 333 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 334 0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100} 335 336 /(?<=a\x{100}{2}b)X/utf,aftertext 337 Xyyya\x{100}\x{100}bXzzz 338 0: X 339 0+ zzz 340 341 /\D*/utf 342 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 343 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 344 345 /\D*/utf 346 \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100} 347 0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100} 348 349 /\D/utf 350 1X2 351 0: X 352 1\x{100}2 353 0: \x{100} 354 355 />\S/utf 356 > >X Y 357 0: >X 358 > >\x{100} Y 359 0: >\x{100} 360 361 /\d/utf 362 \x{100}3 363 0: 3 364 365 /\s/utf 366 \x{100} X 367 0: 368 369 /\D+/utf 370 12abcd34 371 0: abcd 372 \= Expect no match 373 1234 374 No match 375 376 /\D{2,3}/utf 377 12abcd34 378 0: abc 379 12ab34 380 0: ab 381 \= Expect no match 382 1234 383 No match 384 12a34 385 No match 386 387 /\D{2,3}?/utf 388 12abcd34 389 0: ab 390 12ab34 391 0: ab 392 \= Expect no match 393 1234 394 No match 395 12a34 396 No match 397 398 /\d+/utf 399 12abcd34 400 0: 12 401 402 /\d{2,3}/utf 403 12abcd34 404 0: 12 405 1234abcd 406 0: 123 407 \= Expect no match 408 1.4 409 No match 410 411 /\d{2,3}?/utf 412 12abcd34 413 0: 12 414 1234abcd 415 0: 12 416 \= Expect no match 417 1.4 418 No match 419 420 /\S+/utf 421 12abcd34 422 0: 12abcd34 423 \= Expect no match 424 \ \ 425 No match 426 427 /\S{2,3}/utf 428 12abcd34 429 0: 12a 430 1234abcd 431 0: 123 432 \= Expect no match 433 \ \ 434 No match 435 436 /\S{2,3}?/utf 437 12abcd34 438 0: 12 439 1234abcd 440 0: 12 441 \= Expect no match 442 \ \ 443 No match 444 445 />\s+</utf,aftertext 446 12> <34 447 0: > < 448 0+ 34 449 450 />\s{2,3}</utf,aftertext 451 ab> <cd 452 0: > < 453 0+ cd 454 ab> <ce 455 0: > < 456 0+ ce 457 \= Expect no match 458 ab> <cd 459 No match 460 461 />\s{2,3}?</utf,aftertext 462 ab> <cd 463 0: > < 464 0+ cd 465 ab> <ce 466 0: > < 467 0+ ce 468 \= Expect no match 469 ab> <cd 470 No match 471 472 /\w+/utf 473 12 34 474 0: 12 475 \= Expect no match 476 +++=*! 477 No match 478 479 /\w{2,3}/utf 480 ab cd 481 0: ab 482 abcd ce 483 0: abc 484 \= Expect no match 485 a.b.c 486 No match 487 488 /\w{2,3}?/utf 489 ab cd 490 0: ab 491 abcd ce 492 0: ab 493 \= Expect no match 494 a.b.c 495 No match 496 497 /\W+/utf 498 12====34 499 0: ==== 500 \= Expect no match 501 abcd 502 No match 503 504 /\W{2,3}/utf 505 ab====cd 506 0: === 507 ab==cd 508 0: == 509 \= Expect no match 510 a.b.c 511 No match 512 513 /\W{2,3}?/utf 514 ab====cd 515 0: == 516 ab==cd 517 0: == 518 \= Expect no match 519 a.b.c 520 No match 521 522 /[\x{100}]/utf 523 \x{100} 524 0: \x{100} 525 Z\x{100} 526 0: \x{100} 527 \x{100}Z 528 0: \x{100} 529 530 /[Z\x{100}]/utf 531 Z\x{100} 532 0: Z 533 \x{100} 534 0: \x{100} 535 \x{100}Z 536 0: \x{100} 537 538 /[\x{100}\x{200}]/utf 539 ab\x{100}cd 540 0: \x{100} 541 ab\x{200}cd 542 0: \x{200} 543 544 /[\x{100}-\x{200}]/utf 545 ab\x{100}cd 546 0: \x{100} 547 ab\x{200}cd 548 0: \x{200} 549 ab\x{111}cd 550 0: \x{111} 551 552 /[z-\x{200}]/utf 553 ab\x{100}cd 554 0: \x{100} 555 ab\x{200}cd 556 0: \x{200} 557 ab\x{111}cd 558 0: \x{111} 559 abzcd 560 0: z 561 ab|cd 562 0: | 563 564 /[Q\x{100}\x{200}]/utf 565 ab\x{100}cd 566 0: \x{100} 567 ab\x{200}cd 568 0: \x{200} 569 Q? 570 0: Q 571 572 /[Q\x{100}-\x{200}]/utf 573 ab\x{100}cd 574 0: \x{100} 575 ab\x{200}cd 576 0: \x{200} 577 ab\x{111}cd 578 0: \x{111} 579 Q? 580 0: Q 581 582 /[Qz-\x{200}]/utf 583 ab\x{100}cd 584 0: \x{100} 585 ab\x{200}cd 586 0: \x{200} 587 ab\x{111}cd 588 0: \x{111} 589 abzcd 590 0: z 591 ab|cd 592 0: | 593 Q? 594 0: Q 595 596 /[\x{100}\x{200}]{1,3}/utf 597 ab\x{100}cd 598 0: \x{100} 599 ab\x{200}cd 600 0: \x{200} 601 ab\x{200}\x{100}\x{200}\x{100}cd 602 0: \x{200}\x{100}\x{200} 603 604 /[\x{100}\x{200}]{1,3}?/utf 605 ab\x{100}cd 606 0: \x{100} 607 ab\x{200}cd 608 0: \x{200} 609 ab\x{200}\x{100}\x{200}\x{100}cd 610 0: \x{200} 611 612 /[Q\x{100}\x{200}]{1,3}/utf 613 ab\x{100}cd 614 0: \x{100} 615 ab\x{200}cd 616 0: \x{200} 617 ab\x{200}\x{100}\x{200}\x{100}cd 618 0: \x{200}\x{100}\x{200} 619 620 /[Q\x{100}\x{200}]{1,3}?/utf 621 ab\x{100}cd 622 0: \x{100} 623 ab\x{200}cd 624 0: \x{200} 625 ab\x{200}\x{100}\x{200}\x{100}cd 626 0: \x{200} 627 628 /(?<=[\x{100}\x{200}])X/utf 629 abc\x{200}X 630 0: X 631 abc\x{100}X 632 0: X 633 \= Expect no match 634 X 635 No match 636 637 /(?<=[Q\x{100}\x{200}])X/utf 638 abc\x{200}X 639 0: X 640 abc\x{100}X 641 0: X 642 abQX 643 0: X 644 \= Expect no match 645 X 646 No match 647 648 /(?<=[\x{100}\x{200}]{3})X/utf 649 abc\x{100}\x{200}\x{100}X 650 0: X 651 \= Expect no match 652 abc\x{200}X 653 No match 654 X 655 No match 656 657 /[^\x{100}\x{200}]X/utf 658 AX 659 0: AX 660 \x{150}X 661 0: \x{150}X 662 \x{500}X 663 0: \x{500}X 664 \= Expect no match 665 \x{100}X 666 No match 667 \x{200}X 668 No match 669 670 /[^Q\x{100}\x{200}]X/utf 671 AX 672 0: AX 673 \x{150}X 674 0: \x{150}X 675 \x{500}X 676 0: \x{500}X 677 \= Expect no match 678 \x{100}X 679 No match 680 \x{200}X 681 No match 682 QX 683 No match 684 685 /[^\x{100}-\x{200}]X/utf 686 AX 687 0: AX 688 \x{500}X 689 0: \x{500}X 690 \= Expect no match 691 \x{100}X 692 No match 693 \x{150}X 694 No match 695 \x{200}X 696 No match 697 698 /[z-\x{100}]/i,utf 699 z 700 0: z 701 Z 702 0: Z 703 \x{100} 704 0: \x{100} 705 \= Expect no match 706 \x{102} 707 No match 708 y 709 No match 710 711 /[\xFF]/ 712 >\xff< 713 0: \xff 714 715 /[\xff]/utf 716 >\x{ff}< 717 0: \x{ff} 718 719 /[^\xFF]/ 720 XYZ 721 0: X 722 723 /[^\xff]/utf 724 XYZ 725 0: X 726 \x{123} 727 0: \x{123} 728 729 /^[ac]*b/utf 730 \= Expect no match 731 xb 732 No match 733 734 /^[ac\x{100}]*b/utf 735 \= Expect no match 736 xb 737 No match 738 739 /^[^x]*b/i,utf 740 \= Expect no match 741 xb 742 No match 743 744 /^[^x]*b/utf 745 \= Expect no match 746 xb 747 No match 748 749 /^\d*b/utf 750 \= Expect no match 751 xb 752 No match 753 754 /(|a)/g,utf 755 catac 756 0: 757 1: 758 0: 759 1: 760 0: a 761 1: a 762 0: 763 1: 764 0: 765 1: 766 0: a 767 1: a 768 0: 769 1: 770 0: 771 1: 772 a\x{256}a 773 0: 774 1: 775 0: a 776 1: a 777 0: 778 1: 779 0: 780 1: 781 0: a 782 1: a 783 0: 784 1: 785 786 /^\x{85}$/i,utf 787 \x{85} 788 0: \x{85} 789 790 /^/utf 791 792 0: \x{1234} 793 794 /^\/utf 795 796 0: \x{1234} 797 798 "(?s)(.{1,5})"utf 799 abcdefg 800 0: abcde 801 1: abcde 802 ab 803 0: ab 804 1: ab 805 806 /a*\x{100}*\w/utf 807 a 808 0: a 809 810 /\S\S/g,utf 811 A\x{a3}BC 812 0: A\x{a3} 813 0: BC 814 815 /\S{2}/g,utf 816 A\x{a3}BC 817 0: A\x{a3} 818 0: BC 819 820 /\W\W/g,utf 821 +\x{a3}== 822 0: +\x{a3} 823 0: == 824 825 /\W{2}/g,utf 826 +\x{a3}== 827 0: +\x{a3} 828 0: == 829 830 /\S/g,utf 831 \x{442}\x{435}\x{441}\x{442} 832 0: \x{442} 833 0: \x{435} 834 0: \x{441} 835 0: \x{442} 836 837 /[\S]/g,utf 838 \x{442}\x{435}\x{441}\x{442} 839 0: \x{442} 840 0: \x{435} 841 0: \x{441} 842 0: \x{442} 843 844 /\D/g,utf 845 \x{442}\x{435}\x{441}\x{442} 846 0: \x{442} 847 0: \x{435} 848 0: \x{441} 849 0: \x{442} 850 851 /[\D]/g,utf 852 \x{442}\x{435}\x{441}\x{442} 853 0: \x{442} 854 0: \x{435} 855 0: \x{441} 856 0: \x{442} 857 858 /\W/g,utf 859 \x{2442}\x{2435}\x{2441}\x{2442} 860 0: \x{2442} 861 0: \x{2435} 862 0: \x{2441} 863 0: \x{2442} 864 865 /[\W]/g,utf 866 \x{2442}\x{2435}\x{2441}\x{2442} 867 0: \x{2442} 868 0: \x{2435} 869 0: \x{2441} 870 0: \x{2442} 871 872 /[\S\s]*/utf 873 abc\n\r\x{442}\x{435}\x{441}\x{442}xyz 874 0: abc\x{0a}\x{0d}\x{442}\x{435}\x{441}\x{442}xyz 875 876 /[\x{41f}\S]/g,utf 877 \x{442}\x{435}\x{441}\x{442} 878 0: \x{442} 879 0: \x{435} 880 0: \x{441} 881 0: \x{442} 882 883 /.[^\S]./g,utf 884 abc def\x{442}\x{443}xyz\npqr 885 0: c d 886 0: z\x{0a}p 887 888 /.[^\S\n]./g,utf 889 abc def\x{442}\x{443}xyz\npqr 890 0: c d 891 892 /[[:^alnum:]]/g,utf 893 +\x{2442} 894 0: + 895 0: \x{2442} 896 897 /[[:^alpha:]]/g,utf 898 +\x{2442} 899 0: + 900 0: \x{2442} 901 902 /[[:^ascii:]]/g,utf 903 A\x{442} 904 0: \x{442} 905 906 /[[:^blank:]]/g,utf 907 A\x{442} 908 0: A 909 0: \x{442} 910 911 /[[:^cntrl:]]/g,utf 912 A\x{442} 913 0: A 914 0: \x{442} 915 916 /[[:^digit:]]/g,utf 917 A\x{442} 918 0: A 919 0: \x{442} 920 921 /[[:^graph:]]/g,utf 922 \x19\x{e01ff} 923 0: \x{19} 924 0: \x{e01ff} 925 926 /[[:^lower:]]/g,utf 927 A\x{422} 928 0: A 929 0: \x{422} 930 931 /[[:^print:]]/g,utf 932 \x{19}\x{e01ff} 933 0: \x{19} 934 0: \x{e01ff} 935 936 /[[:^punct:]]/g,utf 937 A\x{442} 938 0: A 939 0: \x{442} 940 941 /[[:^space:]]/g,utf 942 A\x{442} 943 0: A 944 0: \x{442} 945 946 /[[:^upper:]]/g,utf 947 a\x{442} 948 0: a 949 0: \x{442} 950 951 /[[:^word:]]/g,utf 952 +\x{2442} 953 0: + 954 0: \x{2442} 955 956 /[[:^xdigit:]]/g,utf 957 M\x{442} 958 0: M 959 0: \x{442} 960 961 /[^ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\d-_^]/utf 962 963 /^[^d]*?$/ 964 abc 965 0: abc 966 967 /^[^d]*?$/utf 968 abc 969 0: abc 970 971 /^[^d]*?$/i 972 abc 973 0: abc 974 975 /^[^d]*?$/i,utf 976 abc 977 0: abc 978 979 /(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]/utf 980 981 /^[a\x{c0}]b/utf 982 \x{c0}b 983 0: \x{c0}b 984 985 /^([a\x{c0}]*?)aa/utf 986 a\x{c0}aaaa/ 987 0: a\x{c0}aa 988 1: a\x{c0} 989 990 /^([a\x{c0}]*?)aa/utf 991 a\x{c0}aaaa/ 992 0: a\x{c0}aa 993 1: a\x{c0} 994 a\x{c0}a\x{c0}aaa/ 995 0: a\x{c0}a\x{c0}aa 996 1: a\x{c0}a\x{c0} 997 998 /^([a\x{c0}]*)aa/utf 999 a\x{c0}aaaa/ 1000 0: a\x{c0}aaaa 1001 1: a\x{c0}aa 1002 a\x{c0}a\x{c0}aaa/ 1003 0: a\x{c0}a\x{c0}aaa 1004 1: a\x{c0}a\x{c0}a 1005 1006 /^([a\x{c0}]*)a\x{c0}/utf 1007 a\x{c0}aaaa/ 1008 0: a\x{c0} 1009 1: 1010 a\x{c0}a\x{c0}aaa/ 1011 0: a\x{c0}a\x{c0} 1012 1: a\x{c0} 1013 1014 /A*/g,utf 1015 AAB\x{123}BAA 1016 0: AA 1017 0: 1018 0: 1019 0: 1020 0: AA 1021 0: 1022 1023 /(abc)\1/i,utf 1024 \= Expect no match 1025 abc 1026 No match 1027 1028 /(abc)\1/utf 1029 \= Expect no match 1030 abc 1031 No match 1032 1033 /a(*:a\x{1234}b)/utf,mark 1034 abc 1035 0: a 1036 MK: a\x{1234}b 1037 1038 /a(*:ab)/utf,mark 1039 abc 1040 0: a 1041 MK: a\x{a3}b 1042 1043 # Noncharacters 1044 1045 /./utf 1046 \x{fffe} 1047 0: \x{fffe} 1048 \x{ffff} 1049 0: \x{ffff} 1050 \x{1fffe} 1051 0: \x{1fffe} 1052 \x{1ffff} 1053 0: \x{1ffff} 1054 \x{2fffe} 1055 0: \x{2fffe} 1056 \x{2ffff} 1057 0: \x{2ffff} 1058 \x{3fffe} 1059 0: \x{3fffe} 1060 \x{3ffff} 1061 0: \x{3ffff} 1062 \x{4fffe} 1063 0: \x{4fffe} 1064 \x{4ffff} 1065 0: \x{4ffff} 1066 \x{5fffe} 1067 0: \x{5fffe} 1068 \x{5ffff} 1069 0: \x{5ffff} 1070 \x{6fffe} 1071 0: \x{6fffe} 1072 \x{6ffff} 1073 0: \x{6ffff} 1074 \x{7fffe} 1075 0: \x{7fffe} 1076 \x{7ffff} 1077 0: \x{7ffff} 1078 \x{8fffe} 1079 0: \x{8fffe} 1080 \x{8ffff} 1081 0: \x{8ffff} 1082 \x{9fffe} 1083 0: \x{9fffe} 1084 \x{9ffff} 1085 0: \x{9ffff} 1086 \x{afffe} 1087 0: \x{afffe} 1088 \x{affff} 1089 0: \x{affff} 1090 \x{bfffe} 1091 0: \x{bfffe} 1092 \x{bffff} 1093 0: \x{bffff} 1094 \x{cfffe} 1095 0: \x{cfffe} 1096 \x{cffff} 1097 0: \x{cffff} 1098 \x{dfffe} 1099 0: \x{dfffe} 1100 \x{dffff} 1101 0: \x{dffff} 1102 \x{efffe} 1103 0: \x{efffe} 1104 \x{effff} 1105 0: \x{effff} 1106 \x{ffffe} 1107 0: \x{ffffe} 1108 \x{fffff} 1109 0: \x{fffff} 1110 \x{10fffe} 1111 0: \x{10fffe} 1112 \x{10ffff} 1113 0: \x{10ffff} 1114 \x{fdd0} 1115 0: \x{fdd0} 1116 \x{fdd1} 1117 0: \x{fdd1} 1118 \x{fdd2} 1119 0: \x{fdd2} 1120 \x{fdd3} 1121 0: \x{fdd3} 1122 \x{fdd4} 1123 0: \x{fdd4} 1124 \x{fdd5} 1125 0: \x{fdd5} 1126 \x{fdd6} 1127 0: \x{fdd6} 1128 \x{fdd7} 1129 0: \x{fdd7} 1130 \x{fdd8} 1131 0: \x{fdd8} 1132 \x{fdd9} 1133 0: \x{fdd9} 1134 \x{fdda} 1135 0: \x{fdda} 1136 \x{fddb} 1137 0: \x{fddb} 1138 \x{fddc} 1139 0: \x{fddc} 1140 \x{fddd} 1141 0: \x{fddd} 1142 \x{fdde} 1143 0: \x{fdde} 1144 \x{fddf} 1145 0: \x{fddf} 1146 \x{fde0} 1147 0: \x{fde0} 1148 \x{fde1} 1149 0: \x{fde1} 1150 \x{fde2} 1151 0: \x{fde2} 1152 \x{fde3} 1153 0: \x{fde3} 1154 \x{fde4} 1155 0: \x{fde4} 1156 \x{fde5} 1157 0: \x{fde5} 1158 \x{fde6} 1159 0: \x{fde6} 1160 \x{fde7} 1161 0: \x{fde7} 1162 \x{fde8} 1163 0: \x{fde8} 1164 \x{fde9} 1165 0: \x{fde9} 1166 \x{fdea} 1167 0: \x{fdea} 1168 \x{fdeb} 1169 0: \x{fdeb} 1170 \x{fdec} 1171 0: \x{fdec} 1172 \x{fded} 1173 0: \x{fded} 1174 \x{fdee} 1175 0: \x{fdee} 1176 \x{fdef} 1177 0: \x{fdef} 1178 1179 /^\d*\w{4}/utf 1180 1234 1181 0: 1234 1182 \= Expect no match 1183 123 1184 No match 1185 1186 /^[^b]*\w{4}/utf 1187 aaaa 1188 0: aaaa 1189 \= Expect no match 1190 aaa 1191 No match 1192 1193 /^[^b]*\w{4}/i,utf 1194 aaaa 1195 0: aaaa 1196 \= Expect no match 1197 aaa 1198 No match 1199 1200 /^\x{100}*.{4}/utf 1201 \x{100}\x{100}\x{100}\x{100} 1202 0: \x{100}\x{100}\x{100}\x{100} 1203 \= Expect no match 1204 \x{100}\x{100}\x{100} 1205 No match 1206 1207 /^\x{100}*.{4}/i,utf 1208 \x{100}\x{100}\x{100}\x{100} 1209 0: \x{100}\x{100}\x{100}\x{100} 1210 \= Expect no match 1211 \x{100}\x{100}\x{100} 1212 No match 1213 1214 /^a+[a\x{200}]/utf 1215 aa 1216 0: aa 1217 1218 /^.\B.\B./utf 1219 \x{10123}\x{10124}\x{10125} 1220 0: \x{10123}\x{10124}\x{10125} 1221 1222 /^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/utf 1223 #\x{10000}#\x{100}#\x{10ffff}# 1224 0: #\x{10000}#\x{100}#\x{10ffff}# 1225 1226 # Unicode property support tests 1227 1228 /^\pC\pL\pM\pN\pP\pS\pZ</utf 1229 \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}< 1230 0: \x{7f}\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}< 1231 \np\x{300}9!\$ < 1232 0: \x{0a}p\x{300}9!$ < 1233 \= Expect no match 1234 ap\x{300}9!\$ < 1235 No match 1236 1237 /^\PC/utf 1238 X 1239 0: X 1240 \= Expect no match 1241 \x7f 1242 No match 1243 1244 /^\PL/utf 1245 9 1246 0: 9 1247 \= Expect no match 1248 \x{c0} 1249 No match 1250 1251 /^\PM/utf 1252 X 1253 0: X 1254 \= Expect no match 1255 \x{30f} 1256 No match 1257 1258 /^\PN/utf 1259 X 1260 0: X 1261 \= Expect no match 1262 \x{660} 1263 No match 1264 1265 /^\PP/utf 1266 X 1267 0: X 1268 \= Expect no match 1269 \x{66c} 1270 No match 1271 1272 /^\PS/utf 1273 X 1274 0: X 1275 \= Expect no match 1276 \x{f01} 1277 No match 1278 1279 /^\PZ/utf 1280 X 1281 0: X 1282 \= Expect no match 1283 \x{1680} 1284 No match 1285 1286 /^\p{Cc}/utf 1287 \x{017} 1288 0: \x{17} 1289 \x{09f} 1290 0: \x{9f} 1291 \= Expect no match 1292 \x{0600} 1293 No match 1294 1295 /^\p{Cf}/utf 1296 \x{601} 1297 0: \x{601} 1298 \= Expect no match 1299 \x{09f} 1300 No match 1301 1302 /^\p{Cn}/utf 1303 \x{e0000} 1304 0: \x{e0000} 1305 \= Expect no match 1306 \x{09f} 1307 No match 1308 1309 /^\p{Co}/utf 1310 \x{f8ff} 1311 0: \x{f8ff} 1312 \= Expect no match 1313 \x{09f} 1314 No match 1315 1316 /^\p{Ll}/utf 1317 a 1318 0: a 1319 \= Expect no match 1320 Z 1321 No match 1322 \x{e000} 1323 No match 1324 1325 /^\p{Lm}/utf 1326 \x{2b0} 1327 0: \x{2b0} 1328 \= Expect no match 1329 a 1330 No match 1331 1332 /^\p{Lo}/utf 1333 \x{1bb} 1334 0: \x{1bb} 1335 \x{3400} 1336 0: \x{3400} 1337 \x{3401} 1338 0: \x{3401} 1339 \x{4d00} 1340 0: \x{4d00} 1341 \x{4db4} 1342 0: \x{4db4} 1343 \x{4db5} 1344 0: \x{4db5} 1345 \= Expect no match 1346 a 1347 No match 1348 \x{2b0} 1349 No match 1350 \x{4db6} 1351 No match 1352 1353 /^\p{Lt}/utf 1354 \x{1c5} 1355 0: \x{1c5} 1356 \= Expect no match 1357 a 1358 No match 1359 \x{2b0} 1360 No match 1361 1362 /^\p{Lu}/utf 1363 A 1364 0: A 1365 \= Expect no match 1366 \x{2b0} 1367 No match 1368 1369 /^\p{Mc}/utf 1370 \x{903} 1371 0: \x{903} 1372 \= Expect no match 1373 X 1374 No match 1375 \x{300} 1376 No match 1377 1378 /^\p{Me}/utf 1379 \x{488} 1380 0: \x{488} 1381 \= Expect no match 1382 X 1383 No match 1384 \x{903} 1385 No match 1386 \x{300} 1387 No match 1388 1389 /^\p{Mn}/utf 1390 \x{300} 1391 0: \x{300} 1392 \= Expect no match 1393 X 1394 No match 1395 \x{903} 1396 No match 1397 1398 /^\p{Nd}+/utf 1399 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a} 1400 0: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669} 1401 \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa} 1402 0: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9} 1403 \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970} 1404 0: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f} 1405 \= Expect no match 1406 X 1407 No match 1408 1409 /^\p{Nl}/utf 1410 \x{16ee} 1411 0: \x{16ee} 1412 \= Expect no match 1413 X 1414 No match 1415 \x{966} 1416 No match 1417 1418 /^\p{No}/utf 1419 \x{b2} 1420 0: \x{b2} 1421 \x{b3} 1422 0: \x{b3} 1423 \= Expect no match 1424 X 1425 No match 1426 \x{16ee} 1427 No match 1428 1429 /^\p{Pc}/utf 1430 \x5f 1431 0: _ 1432 \x{203f} 1433 0: \x{203f} 1434 \= Expect no match 1435 X 1436 No match 1437 - 1438 No match 1439 \x{58a} 1440 No match 1441 1442 /^\p{Pd}/utf 1443 - 1444 0: - 1445 \x{58a} 1446 0: \x{58a} 1447 \= Expect no match 1448 X 1449 No match 1450 \x{203f} 1451 No match 1452 1453 /^\p{Pe}/utf 1454 ) 1455 0: ) 1456 ] 1457 0: ] 1458 } 1459 0: } 1460 \x{f3b} 1461 0: \x{f3b} 1462 \= Expect no match 1463 X 1464 No match 1465 \x{203f} 1466 No match 1467 ( 1468 No match 1469 [ 1470 No match 1471 { 1472 No match 1473 \x{f3c} 1474 No match 1475 1476 /^\p{Pf}/utf 1477 \x{bb} 1478 0: \x{bb} 1479 \x{2019} 1480 0: \x{2019} 1481 \= Expect no match 1482 X 1483 No match 1484 \x{203f} 1485 No match 1486 1487 /^\p{Pi}/utf 1488 \x{ab} 1489 0: \x{ab} 1490 \x{2018} 1491 0: \x{2018} 1492 \= Expect no match 1493 X 1494 No match 1495 \x{203f} 1496 No match 1497 1498 /^\p{Po}/utf 1499 ! 1500 0: ! 1501 \x{37e} 1502 0: \x{37e} 1503 \= Expect no match 1504 X 1505 No match 1506 \x{203f} 1507 No match 1508 1509 /^\p{Ps}/utf 1510 ( 1511 0: ( 1512 [ 1513 0: [ 1514 { 1515 0: { 1516 \x{f3c} 1517 0: \x{f3c} 1518 \= Expect no match 1519 X 1520 No match 1521 ) 1522 No match 1523 ] 1524 No match 1525 } 1526 No match 1527 \x{f3b} 1528 No match 1529 1530 /^\p{Sk}/utf 1531 \x{2c2} 1532 0: \x{2c2} 1533 \= Expect no match 1534 X 1535 No match 1536 \x{9f2} 1537 No match 1538 1539 /^\p{Sm}+/utf 1540 +<|~\x{ac}\x{2044} 1541 0: +<|~\x{ac}\x{2044} 1542 \= Expect no match 1543 X 1544 No match 1545 \x{9f2} 1546 No match 1547 1548 /^\p{So}/utf 1549 \x{a6} 1550 0: \x{a6} 1551 \x{482} 1552 0: \x{482} 1553 \= Expect no match 1554 X 1555 No match 1556 \x{9f2} 1557 No match 1558 1559 /^\p{Zl}/utf 1560 \x{2028} 1561 0: \x{2028} 1562 \= Expect no match 1563 X 1564 No match 1565 \x{2029} 1566 No match 1567 1568 /^\p{Zp}/utf 1569 \x{2029} 1570 0: \x{2029} 1571 \= Expect no match 1572 X 1573 No match 1574 \x{2028} 1575 No match 1576 1577 /\p{Nd}+(..)/utf 1578 \x{660}\x{661}\x{662}ABC 1579 0: \x{660}\x{661}\x{662}AB 1580 1: AB 1581 1582 /\p{Nd}+?(..)/utf 1583 \x{660}\x{661}\x{662}ABC 1584 0: \x{660}\x{661}\x{662} 1585 1: \x{661}\x{662} 1586 1587 /\p{Nd}{2,}(..)/utf 1588 \x{660}\x{661}\x{662}ABC 1589 0: \x{660}\x{661}\x{662}AB 1590 1: AB 1591 1592 /\p{Nd}{2,}?(..)/utf 1593 \x{660}\x{661}\x{662}ABC 1594 0: \x{660}\x{661}\x{662}A 1595 1: \x{662}A 1596 1597 /\p{Nd}*(..)/utf 1598 \x{660}\x{661}\x{662}ABC 1599 0: \x{660}\x{661}\x{662}AB 1600 1: AB 1601 1602 /\p{Nd}*?(..)/utf 1603 \x{660}\x{661}\x{662}ABC 1604 0: \x{660}\x{661} 1605 1: \x{660}\x{661} 1606 1607 /\p{Nd}{2}(..)/utf 1608 \x{660}\x{661}\x{662}ABC 1609 0: \x{660}\x{661}\x{662}A 1610 1: \x{662}A 1611 1612 /\p{Nd}{2,3}(..)/utf 1613 \x{660}\x{661}\x{662}ABC 1614 0: \x{660}\x{661}\x{662}AB 1615 1: AB 1616 1617 /\p{Nd}{2,3}?(..)/utf 1618 \x{660}\x{661}\x{662}ABC 1619 0: \x{660}\x{661}\x{662}A 1620 1: \x{662}A 1621 1622 /\p{Nd}?(..)/utf 1623 \x{660}\x{661}\x{662}ABC 1624 0: \x{660}\x{661}\x{662} 1625 1: \x{661}\x{662} 1626 1627 /\p{Nd}??(..)/utf 1628 \x{660}\x{661}\x{662}ABC 1629 0: \x{660}\x{661} 1630 1: \x{660}\x{661} 1631 1632 /\p{Nd}*+(..)/utf 1633 \x{660}\x{661}\x{662}ABC 1634 0: \x{660}\x{661}\x{662}AB 1635 1: AB 1636 1637 /\p{Nd}*+(...)/utf 1638 \x{660}\x{661}\x{662}ABC 1639 0: \x{660}\x{661}\x{662}ABC 1640 1: ABC 1641 1642 /\p{Nd}*+(....)/utf 1643 \= Expect no match 1644 \x{660}\x{661}\x{662}ABC 1645 No match 1646 1647 /(?<=A\p{Nd})XYZ/utf 1648 A2XYZ 1649 0: XYZ 1650 123A5XYZPQR 1651 0: XYZ 1652 ABA\x{660}XYZpqr 1653 0: XYZ 1654 \= Expect no match 1655 AXYZ 1656 No match 1657 XYZ 1658 No match 1659 1660 /(?<!\pL)XYZ/utf 1661 1XYZ 1662 0: XYZ 1663 AB=XYZ.. 1664 0: XYZ 1665 XYZ 1666 0: XYZ 1667 \= Expect no match 1668 WXYZ 1669 No match 1670 1671 /[\P{Nd}]+/utf 1672 abcd 1673 0: abcd 1674 \= Expect no match 1675 1234 1676 No match 1677 1678 /\D+/utf 1679 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1680 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1681 \= Expect no match 1682 11111111111111111111111111111111111111111111111111111111111111111111111 1683 No match 1684 1685 /\P{Nd}+/utf 1686 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1687 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1688 \= Expect no match 1689 11111111111111111111111111111111111111111111111111111111111111111111111 1690 No match 1691 1692 /[\D]+/utf 1693 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1694 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1695 \= Expect no match 1696 11111111111111111111111111111111111111111111111111111111111111111111111 1697 No match 1698 1699 /[\P{Nd}]+/utf 1700 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1701 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1702 \= Expect no match 1703 11111111111111111111111111111111111111111111111111111111111111111111111 1704 No match 1705 1706 /[\D\P{Nd}]+/utf 1707 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1708 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1709 \= Expect no match 1710 11111111111111111111111111111111111111111111111111111111111111111111111 1711 No match 1712 1713 /\pL/utf 1714 a 1715 0: a 1716 A 1717 0: A 1718 1719 /\pL/i,utf 1720 a 1721 0: a 1722 A 1723 0: A 1724 1725 /\p{Lu}/utf 1726 A 1727 0: A 1728 aZ 1729 0: Z 1730 \= Expect no match 1731 abc 1732 No match 1733 1734 /\p{Ll}/utf 1735 a 1736 0: a 1737 Az 1738 0: z 1739 \= Expect no match 1740 ABC 1741 No match 1742 1743 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf 1744 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 1745 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0} 1746 \= Expect no match 1747 a\x{391}\x{10427}\x{ff3a}\x{1fb0} 1748 No match 1749 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} 1750 No match 1751 A\x{391}\x{1044F}\x{ff3a}\x{1fb0} 1752 No match 1753 A\x{391}\x{10427}\x{ff5a}\x{1fb0} 1754 No match 1755 A\x{391}\x{10427}\x{ff3a}\x{1fb8} 1756 No match 1757 1758 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf 1759 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 1760 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0} 1761 a\x{391}\x{10427}\x{ff3a}\x{1fb0} 1762 0: a\x{391}\x{10427}\x{ff3a}\x{1fb0} 1763 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} 1764 0: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} 1765 A\x{391}\x{1044F}\x{ff3a}\x{1fb0} 1766 0: A\x{391}\x{1044f}\x{ff3a}\x{1fb0} 1767 A\x{391}\x{10427}\x{ff5a}\x{1fb0} 1768 0: A\x{391}\x{10427}\x{ff5a}\x{1fb0} 1769 A\x{391}\x{10427}\x{ff3a}\x{1fb8} 1770 0: A\x{391}\x{10427}\x{ff3a}\x{1fb8} 1771 1772 /\x{391}+/i,utf 1773 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} 1774 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} 1775 1776 /\x{391}{3,5}(.)/i,utf 1777 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X 1778 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X 1779 1: X 1780 1781 /\x{391}{3,5}?(.)/i,utf 1782 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X 1783 0: \x{391}\x{3b1}\x{3b1}\x{3b1} 1784 1: \x{3b1} 1785 1786 /[\x{391}\x{ff3a}]/i,utf 1787 \x{391} 1788 0: \x{391} 1789 \x{ff3a} 1790 0: \x{ff3a} 1791 \x{3b1} 1792 0: \x{3b1} 1793 \x{ff5a} 1794 0: \x{ff5a} 1795 1796 /^(\X*)C/utf 1797 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1798 0: A\x{300}\x{301}\x{302}BC 1799 1: A\x{300}\x{301}\x{302}B 1800 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1801 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1802 1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1803 1804 /^(\X*?)C/utf 1805 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1806 0: A\x{300}\x{301}\x{302}BC 1807 1: A\x{300}\x{301}\x{302}B 1808 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1809 0: A\x{300}\x{301}\x{302}BC 1810 1: A\x{300}\x{301}\x{302}B 1811 1812 /^(\X*)(.)/utf 1813 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1814 0: A\x{300}\x{301}\x{302}BCA 1815 1: A\x{300}\x{301}\x{302}BC 1816 2: A 1817 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1818 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1819 1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1820 2: C 1821 1822 /^(\X*?)(.)/utf 1823 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1824 0: A 1825 1: 1826 2: A 1827 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1828 0: A 1829 1: 1830 2: A 1831 1832 /^\X(.)/utf 1833 \= Expect no match 1834 A\x{300}\x{301}\x{302} 1835 No match 1836 1837 /^\X{2,3}(.)/utf 1838 A\x{300}\x{301}B\x{300}X 1839 0: A\x{300}\x{301}B\x{300}X 1840 1: X 1841 A\x{300}\x{301}B\x{300}C\x{300}\x{301} 1842 0: A\x{300}\x{301}B\x{300}C 1843 1: C 1844 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X 1845 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X 1846 1: X 1847 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X 1848 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D 1849 1: D 1850 1851 /^\X{2,3}?(.)/utf 1852 A\x{300}\x{301}B\x{300}X 1853 0: A\x{300}\x{301}B\x{300}X 1854 1: X 1855 A\x{300}\x{301}B\x{300}C\x{300}\x{301} 1856 0: A\x{300}\x{301}B\x{300}C 1857 1: C 1858 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X 1859 0: A\x{300}\x{301}B\x{300}C 1860 1: C 1861 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X 1862 0: A\x{300}\x{301}B\x{300}C 1863 1: C 1864 1865 /^\X/utf 1866 A 1867 0: A 1868 A\x{300}BC 1869 0: A\x{300} 1870 A\x{300}\x{301}\x{302}BC 1871 0: A\x{300}\x{301}\x{302} 1872 \x{300} 1873 0: \x{300} 1874 1875 /^\p{Han}+/utf 1876 \x{2e81}\x{3007}\x{2f804}\x{31a0} 1877 0: \x{2e81}\x{3007}\x{2f804} 1878 \= Expect no match 1879 \x{2e7f} 1880 No match 1881 1882 /^\P{Katakana}+/utf 1883 \x{3105} 1884 0: \x{3105} 1885 \= Expect no match 1886 \x{30ff} 1887 No match 1888 1889 /^[\p{Arabic}]/utf 1890 \x{06e9} 1891 0: \x{6e9} 1892 \x{060b} 1893 0: \x{60b} 1894 \= Expect no match 1895 X\x{06e9} 1896 No match 1897 1898 /^[\P{Yi}]/utf 1899 \x{2f800} 1900 0: \x{2f800} 1901 \= Expect no match 1902 \x{a014} 1903 No match 1904 \x{a4c6} 1905 No match 1906 1907 /^\p{Any}X/utf 1908 AXYZ 1909 0: AX 1910 \x{1234}XYZ 1911 0: \x{1234}X 1912 \= Expect no match 1913 X 1914 No match 1915 1916 /^\P{Any}X/utf 1917 \= Expect no match 1918 AX 1919 No match 1920 1921 /^\p{Any}?X/utf 1922 XYZ 1923 0: X 1924 AXYZ 1925 0: AX 1926 \x{1234}XYZ 1927 0: \x{1234}X 1928 \= Expect no match 1929 ABXYZ 1930 No match 1931 1932 /^\P{Any}?X/utf 1933 XYZ 1934 0: X 1935 \= Expect no match 1936 AXYZ 1937 No match 1938 \x{1234}XYZ 1939 No match 1940 ABXYZ 1941 No match 1942 1943 /^\p{Any}+X/utf 1944 AXYZ 1945 0: AX 1946 \x{1234}XYZ 1947 0: \x{1234}X 1948 A\x{1234}XYZ 1949 0: A\x{1234}X 1950 \= Expect no match 1951 XYZ 1952 No match 1953 1954 /^\P{Any}+X/utf 1955 \= Expect no match 1956 AXYZ 1957 No match 1958 \x{1234}XYZ 1959 No match 1960 A\x{1234}XYZ 1961 No match 1962 XYZ 1963 No match 1964 1965 /^\p{Any}*X/utf 1966 XYZ 1967 0: X 1968 AXYZ 1969 0: AX 1970 \x{1234}XYZ 1971 0: \x{1234}X 1972 A\x{1234}XYZ 1973 0: A\x{1234}X 1974 1975 /^\P{Any}*X/utf 1976 XYZ 1977 0: X 1978 \= Expect no match 1979 AXYZ 1980 No match 1981 \x{1234}XYZ 1982 No match 1983 A\x{1234}XYZ 1984 No match 1985 1986 /^[\p{Any}]X/utf 1987 AXYZ 1988 0: AX 1989 \x{1234}XYZ 1990 0: \x{1234}X 1991 \= Expect no match 1992 X 1993 No match 1994 1995 /^[\P{Any}]X/utf 1996 \= Expect no match 1997 AX 1998 No match 1999 2000 /^[\p{Any}]?X/utf 2001 XYZ 2002 0: X 2003 AXYZ 2004 0: AX 2005 \x{1234}XYZ 2006 0: \x{1234}X 2007 \= Expect no match 2008 ABXYZ 2009 No match 2010 2011 /^[\P{Any}]?X/utf 2012 XYZ 2013 0: X 2014 \= Expect no match 2015 AXYZ 2016 No match 2017 \x{1234}XYZ 2018 No match 2019 ABXYZ 2020 No match 2021 2022 /^[\p{Any}]+X/utf 2023 AXYZ 2024 0: AX 2025 \x{1234}XYZ 2026 0: \x{1234}X 2027 A\x{1234}XYZ 2028 0: A\x{1234}X 2029 \= Expect no match 2030 XYZ 2031 No match 2032 2033 /^[\P{Any}]+X/utf 2034 \= Expect no match 2035 AXYZ 2036 No match 2037 \x{1234}XYZ 2038 No match 2039 A\x{1234}XYZ 2040 No match 2041 XYZ 2042 No match 2043 2044 /^[\p{Any}]*X/utf 2045 XYZ 2046 0: X 2047 AXYZ 2048 0: AX 2049 \x{1234}XYZ 2050 0: \x{1234}X 2051 A\x{1234}XYZ 2052 0: A\x{1234}X 2053 2054 /^[\P{Any}]*X/utf 2055 XYZ 2056 0: X 2057 \= Expect no match 2058 AXYZ 2059 No match 2060 \x{1234}XYZ 2061 No match 2062 A\x{1234}XYZ 2063 No match 2064 2065 /^\p{Any}{3,5}?/utf 2066 abcdefgh 2067 0: abc 2068 \x{1234}\n\r\x{3456}xyz 2069 0: \x{1234}\x{0a}\x{0d} 2070 2071 /^\p{Any}{3,5}/utf 2072 abcdefgh 2073 0: abcde 2074 \x{1234}\n\r\x{3456}xyz 2075 0: \x{1234}\x{0a}\x{0d}\x{3456}x 2076 2077 /^\P{Any}{3,5}?/utf 2078 \= Expect no match 2079 abcdefgh 2080 No match 2081 \x{1234}\n\r\x{3456}xyz 2082 No match 2083 2084 /^\p{L&}X/utf 2085 AXY 2086 0: AX 2087 aXY 2088 0: aX 2089 \x{1c5}XY 2090 0: \x{1c5}X 2091 \= Expect no match 2092 \x{1bb}XY 2093 No match 2094 \x{2b0}XY 2095 No match 2096 !XY 2097 No match 2098 2099 /^[\p{L&}]X/utf 2100 AXY 2101 0: AX 2102 aXY 2103 0: aX 2104 \x{1c5}XY 2105 0: \x{1c5}X 2106 \= Expect no match 2107 \x{1bb}XY 2108 No match 2109 \x{2b0}XY 2110 No match 2111 !XY 2112 No match 2113 2114 /^\p{L&}+X/utf 2115 AXY 2116 0: AX 2117 aXY 2118 0: aX 2119 AbcdeXyz 2120 0: AbcdeX 2121 \x{1c5}AbXY 2122 0: \x{1c5}AbX 2123 abcDEXypqreXlmn 2124 0: abcDEXypqreX 2125 \= Expect no match 2126 \x{1bb}XY 2127 No match 2128 \x{2b0}XY 2129 No match 2130 !XY 2131 No match 2132 2133 /^[\p{L&}]+X/utf 2134 AXY 2135 0: AX 2136 aXY 2137 0: aX 2138 AbcdeXyz 2139 0: AbcdeX 2140 \x{1c5}AbXY 2141 0: \x{1c5}AbX 2142 abcDEXypqreXlmn 2143 0: abcDEXypqreX 2144 \= Expect no match 2145 \x{1bb}XY 2146 No match 2147 \x{2b0}XY 2148 No match 2149 !XY 2150 No match 2151 2152 /^\p{L&}+?X/utf 2153 AXY 2154 0: AX 2155 aXY 2156 0: aX 2157 AbcdeXyz 2158 0: AbcdeX 2159 \x{1c5}AbXY 2160 0: \x{1c5}AbX 2161 abcDEXypqreXlmn 2162 0: abcDEX 2163 \= Expect no match 2164 \x{1bb}XY 2165 No match 2166 \x{2b0}XY 2167 No match 2168 !XY 2169 No match 2170 2171 /^[\p{L&}]+?X/utf 2172 AXY 2173 0: AX 2174 aXY 2175 0: aX 2176 AbcdeXyz 2177 0: AbcdeX 2178 \x{1c5}AbXY 2179 0: \x{1c5}AbX 2180 abcDEXypqreXlmn 2181 0: abcDEX 2182 \= Expect no match 2183 \x{1bb}XY 2184 No match 2185 \x{2b0}XY 2186 No match 2187 !XY 2188 No match 2189 2190 /^\P{L&}X/utf 2191 !XY 2192 0: !X 2193 \x{1bb}XY 2194 0: \x{1bb}X 2195 \x{2b0}XY 2196 0: \x{2b0}X 2197 \= Expect no match 2198 \x{1c5}XY 2199 No match 2200 AXY 2201 No match 2202 2203 /^[\P{L&}]X/utf 2204 !XY 2205 0: !X 2206 \x{1bb}XY 2207 0: \x{1bb}X 2208 \x{2b0}XY 2209 0: \x{2b0}X 2210 \= Expect no match 2211 \x{1c5}XY 2212 No match 2213 AXY 2214 No match 2215 2216 /^(\p{Z}[^\p{C}\p{Z}]+)*$/ 2217 \xa0! 2218 0: \xa0! 2219 1: \xa0! 2220 2221 /^[\pL](abc)(?1)/ 2222 AabcabcYZ 2223 0: Aabcabc 2224 1: abc 2225 2226 /([\pL]=(abc))*X/ 2227 L=abcX 2228 0: L=abcX 2229 1: L=abc 2230 2: abc 2231 2232 /^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/utf 2233 \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900} 2234 0: \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900} 2235 2236 # Check property support in non-UTF mode 2237 2238 /\p{L}{4}/ 2239 123abcdefg 2240 0: abcd 2241 123abc\xc4\xc5zz 2242 0: abc\xc4 2243 2244 /\X{1,3}\d/ 2245 \= Expect no match 2246 \x8aBCD 2247 No match 2248 2249 /\X?\d/ 2250 \= Expect no match 2251 \x8aBCD 2252 No match 2253 2254 /\P{L}?\d/ 2255 \= Expect no match 2256 \x8aBCD 2257 No match 2258 2259 /[\PPP\x8a]{1,}\x80/ 2260 A\x80 2261 0: A\x80 2262 2263 /^[\p{Arabic}]/utf 2264 \x{604} 2265 0: \x{604} 2266 \x{60e} 2267 0: \x{60e} 2268 \x{656} 2269 0: \x{656} 2270 \x{657} 2271 0: \x{657} 2272 \x{658} 2273 0: \x{658} 2274 \x{659} 2275 0: \x{659} 2276 \x{65a} 2277 0: \x{65a} 2278 \x{65b} 2279 0: \x{65b} 2280 \x{65c} 2281 0: \x{65c} 2282 \x{65d} 2283 0: \x{65d} 2284 \x{65e} 2285 0: \x{65e} 2286 \x{65f} 2287 0: \x{65f} 2288 \x{66a} 2289 0: \x{66a} 2290 \x{6e9} 2291 0: \x{6e9} 2292 \x{6ef} 2293 0: \x{6ef} 2294 \x{6fa} 2295 0: \x{6fa} 2296 \= Expect no match 2297 \x{650} 2298 No match 2299 \x{651} 2300 No match 2301 \x{652} 2302 No match 2303 \x{653} 2304 No match 2305 \x{654} 2306 No match 2307 \x{655} 2308 No match 2309 2310 /^\p{Cyrillic}/utf 2311 \x{1d2b} 2312 0: \x{1d2b} 2313 2314 /^\p{Common}/utf 2315 \x{589} 2316 0: \x{589} 2317 \x{60c} 2318 0: \x{60c} 2319 \x{61f} 2320 0: \x{61f} 2321 \x{964} 2322 0: \x{964} 2323 \x{965} 2324 0: \x{965} 2325 2326 /^\p{Inherited}/utf 2327 \x{64b} 2328 0: \x{64b} 2329 \x{654} 2330 0: \x{654} 2331 \x{655} 2332 0: \x{655} 2333 \x{200c} 2334 0: \x{200c} 2335 \= Expect no match 2336 \x{64a} 2337 No match 2338 \x{656} 2339 No match 2340 2341 /^\p{Shavian}/utf 2342 \x{10450} 2343 0: \x{10450} 2344 \x{1047f} 2345 0: \x{1047f} 2346 2347 /^\p{Deseret}/utf 2348 \x{10400} 2349 0: \x{10400} 2350 \x{1044f} 2351 0: \x{1044f} 2352 2353 /^\p{Osmanya}/utf 2354 \x{10480} 2355 0: \x{10480} 2356 \x{1049d} 2357 0: \x{1049d} 2358 \x{104a0} 2359 0: \x{104a0} 2360 \x{104a9} 2361 0: \x{104a9} 2362 \= Expect no match 2363 \x{1049e} 2364 No match 2365 \x{1049f} 2366 No match 2367 \x{104aa} 2368 No match 2369 2370 /\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 2371 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}==== 2372 0: \x{102a4}\x{aa52}\x{a91d}\x{1c46}\x{10283}\x{1092e}\x{1c6b}\x{a93b}\x{a8bf}\x{1ba0}\x{a50a} 2373 2374 /\x{a77d}\x{1d79}/i,utf 2375 \x{a77d}\x{1d79} 2376 0: \x{a77d}\x{1d79} 2377 \x{1d79}\x{a77d} 2378 0: \x{1d79}\x{a77d} 2379 2380 /\x{a77d}\x{1d79}/utf 2381 \x{a77d}\x{1d79} 2382 0: \x{a77d}\x{1d79} 2383 \= Expect no match 2384 \x{1d79}\x{a77d} 2385 No match 2386 2387 /(A)\1/i,utf 2388 AA 2389 0: AA 2390 1: A 2391 Aa 2392 0: Aa 2393 1: A 2394 aa 2395 0: aa 2396 1: a 2397 aA 2398 0: aA 2399 1: a 2400 2401 /(\x{10a})\1/i,utf 2402 \x{10a}\x{10a} 2403 0: \x{10a}\x{10a} 2404 1: \x{10a} 2405 \x{10a}\x{10b} 2406 0: \x{10a}\x{10b} 2407 1: \x{10a} 2408 \x{10b}\x{10b} 2409 0: \x{10b}\x{10b} 2410 1: \x{10b} 2411 \x{10b}\x{10a} 2412 0: \x{10b}\x{10a} 2413 1: \x{10b} 2414 2415 # The next two tests are for property support in non-UTF mode 2416 2417 /(?:\p{Lu}|\x20)+/ 2418 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 2419 0: A P\xc2T\xc9 TODAY 2420 2421 /[\p{Lu}\x20]+/ 2422 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 2423 0: A P\xc2T\xc9 TODAY 2424 2425 /\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 2426 \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} 2427 0: \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{800}\x{1aad}\x{aac0} 2428 2429 /^\w+/utf,ucp 2430 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 2431 0: Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 2432 2433 /^[[:xdigit:]]*/utf,ucp 2434 1a\x{660}\x{bef}\x{16ee} 2435 0: 1a 2436 2437 /^\d+/utf,ucp 2438 1\x{660}\x{bef}\x{16ee} 2439 0: 1\x{660}\x{bef} 2440 2441 /^[[:digit:]]+/utf,ucp 2442 1\x{660}\x{bef}\x{16ee} 2443 0: 1\x{660}\x{bef} 2444 2445 /^>\s+/utf,ucp 2446 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 2447 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b} 2448 2449 /^>\pZ+/utf,ucp 2450 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 2451 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f} 2452 2453 /^>[[:space:]]*/utf,ucp 2454 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 2455 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b} 2456 2457 /^>[[:blank:]]*/utf,ucp 2458 >\x{20}\x{a0}\x{1680}\x{2000}\x{202f}\x{9}\x{b}\x{2028} 2459 0: > \x{a0}\x{1680}\x{2000}\x{202f}\x{09} 2460 2461 /^[[:alpha:]]*/utf,ucp 2462 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d} 2463 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d} 2464 2465 /^[[:alnum:]]*/utf,ucp 2466 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 2467 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 2468 2469 /^[[:cntrl:]]*/utf,ucp 2470 \x{0}\x{09}\x{1f}\x{7f}\x{9f} 2471 0: \x{00}\x{09}\x{1f}\x{7f}\x{9f} 2472 2473 /^[[:graph:]]*/utf,ucp 2474 A\x{a1}\x{a0} 2475 0: A\x{a1} 2476 2477 /^[[:print:]]*/utf,ucp 2478 A z\x{a0}\x{a1} 2479 0: A z\x{a0}\x{a1} 2480 2481 /^[[:punct:]]*/utf,ucp 2482 .+\x{a1}\x{a0} 2483 0: .+\x{a1} 2484 2485 /\p{Zs}*?\R/ 2486 \= Expect no match 2487 a\xFCb 2488 No match 2489 2490 /\p{Zs}*\R/ 2491 \= Expect no match 2492 a\xFCb 2493 No match 2494 2495 //i,utf 2496 2497 0: \x{2c65} 2498 x 2499 0: \x{23a} 2500 2501 0: \x{23a} 2502 2503 /[]/i,utf 2504 2505 0: \x{2c65} 2506 x 2507 0: \x{23a} 2508 2509 0: \x{23a} 2510 2511 //i,utf 2512 2513 0: \x{23a} 2514 2515 0: \x{2c65} 2516 2517 # These are tests for extended grapheme clusters 2518 2519 /^\X/utf,aftertext 2520 G\x{34e}\x{34e}X 2521 0: G\x{34e}\x{34e} 2522 0+ X 2523 \x{34e}\x{34e}X 2524 0: \x{34e}\x{34e} 2525 0+ X 2526 \x04X 2527 0: \x{04} 2528 0+ X 2529 \x{1100}X 2530 0: \x{1100} 2531 0+ X 2532 \x{1100}\x{34e}X 2533 0: \x{1100}\x{34e} 2534 0+ X 2535 \x{1b04}\x{1b04}X 2536 0: \x{1b04}\x{1b04} 2537 0+ X 2538 *These match up to the roman letters 2539 0: * 2540 0+ These match up to the roman letters 2541 \x{1111}\x{1111}L,L 2542 0: \x{1111}\x{1111} 2543 0+ L,L 2544 \x{1111}\x{1111}\x{1169}L,L,V 2545 0: \x{1111}\x{1111}\x{1169} 2546 0+ L,L,V 2547 \x{1111}\x{ae4c}L, LV 2548 0: \x{1111}\x{ae4c} 2549 0+ L, LV 2550 \x{1111}\x{ad89}L, LVT 2551 0: \x{1111}\x{ad89} 2552 0+ L, LVT 2553 \x{1111}\x{ae4c}\x{1169}L, LV, V 2554 0: \x{1111}\x{ae4c}\x{1169} 2555 0+ L, LV, V 2556 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V 2557 0: \x{1111}\x{ae4c}\x{1169}\x{1169} 2558 0+ L, LV, V, V 2559 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T 2560 0: \x{1111}\x{ae4c}\x{1169}\x{11fe} 2561 0+ L, LV, V, T 2562 \x{1111}\x{ad89}\x{11fe}L, LVT, T 2563 0: \x{1111}\x{ad89}\x{11fe} 2564 0+ L, LVT, T 2565 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T 2566 0: \x{1111}\x{ad89}\x{11fe}\x{11fe} 2567 0+ L, LVT, T, T 2568 \x{ad89}\x{11fe}\x{11fe}LVT, T, T 2569 0: \x{ad89}\x{11fe}\x{11fe} 2570 0+ LVT, T, T 2571 *These match just the first codepoint (invalid sequence) 2572 0: * 2573 0+ These match just the first codepoint (invalid sequence) 2574 \x{1111}\x{11fe}L, T 2575 0: \x{1111} 2576 0+ \x{11fe}L, T 2577 \x{ae4c}\x{1111}LV, L 2578 0: \x{ae4c} 2579 0+ \x{1111}LV, L 2580 \x{ae4c}\x{ae4c}LV, LV 2581 0: \x{ae4c} 2582 0+ \x{ae4c}LV, LV 2583 \x{ae4c}\x{ad89}LV, LVT 2584 0: \x{ae4c} 2585 0+ \x{ad89}LV, LVT 2586 \x{1169}\x{1111}V, L 2587 0: \x{1169} 2588 0+ \x{1111}V, L 2589 \x{1169}\x{ae4c}V, LV 2590 0: \x{1169} 2591 0+ \x{ae4c}V, LV 2592 \x{1169}\x{ad89}V, LVT 2593 0: \x{1169} 2594 0+ \x{ad89}V, LVT 2595 \x{ad89}\x{1111}LVT, L 2596 0: \x{ad89} 2597 0+ \x{1111}LVT, L 2598 \x{ad89}\x{1169}LVT, V 2599 0: \x{ad89} 2600 0+ \x{1169}LVT, V 2601 \x{ad89}\x{ae4c}LVT, LV 2602 0: \x{ad89} 2603 0+ \x{ae4c}LVT, LV 2604 \x{ad89}\x{ad89}LVT, LVT 2605 0: \x{ad89} 2606 0+ \x{ad89}LVT, LVT 2607 \x{11fe}\x{1111}T, L 2608 0: \x{11fe} 2609 0+ \x{1111}T, L 2610 \x{11fe}\x{1169}T, V 2611 0: \x{11fe} 2612 0+ \x{1169}T, V 2613 \x{11fe}\x{ae4c}T, LV 2614 0: \x{11fe} 2615 0+ \x{ae4c}T, LV 2616 \x{11fe}\x{ad89}T, LVT 2617 0: \x{11fe} 2618 0+ \x{ad89}T, LVT 2619 *Test extend and spacing mark 2620 0: * 2621 0+ Test extend and spacing mark 2622 \x{1111}\x{ae4c}\x{0711}L, LV, extend 2623 0: \x{1111}\x{ae4c}\x{711} 2624 0+ L, LV, extend 2625 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark 2626 0: \x{1111}\x{ae4c}\x{1b04} 2627 0+ L, LV, spacing mark 2628 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark 2629 0: \x{1111}\x{ae4c}\x{1b04}\x{711}\x{1b04} 2630 0+ L, LV, spacing mark, extend, spacing mark 2631 *Test CR, LF, and control 2632 0: * 2633 0+ Test CR, LF, and control 2634 \x0d\x{0711}CR, extend 2635 0: \x{0d} 2636 0+ \x{711}CR, extend 2637 \x0d\x{1b04}CR, spacingmark 2638 0: \x{0d} 2639 0+ \x{1b04}CR, spacingmark 2640 \x0a\x{0711}LF, extend 2641 0: \x{0a} 2642 0+ \x{711}LF, extend 2643 \x0a\x{1b04}LF, spacingmark 2644 0: \x{0a} 2645 0+ \x{1b04}LF, spacingmark 2646 \x0b\x{0711}Control, extend 2647 0: \x{0b} 2648 0+ \x{711}Control, extend 2649 \x09\x{1b04}Control, spacingmark 2650 0: \x{09} 2651 0+ \x{1b04}Control, spacingmark 2652 *There are no Prepend characters, so we can't test Prepend, CR 2653 0: * 2654 0+ There are no Prepend characters, so we can't test Prepend, CR 2655 2656 /^(?>\X{2})X/utf,aftertext 2657 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2658 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2659 0+ 2660 2661 /^\X{2,4}X/utf,aftertext 2662 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2663 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2664 0+ 2665 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2666 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2667 0+ 2668 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2669 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2670 0+ 2671 2672 /^\X{2,4}?X/utf,aftertext 2673 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2674 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2675 0+ 2676 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2677 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2678 0+ 2679 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2680 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2681 0+ 2682 2683 /\X*Z/utf,no_start_optimize 2684 \= Expect no match 2685 A\x{300} 2686 No match 2687 2688 /\X*(.)/utf,no_start_optimize 2689 A\x{1111}\x{ae4c}\x{1169} 2690 0: A\x{1111} 2691 1: \x{1111} 2692 2693 # -------------------------------------------- 2694 2695 /\x{1e9e}+/i,utf 2696 \x{1e9e}\x{00df} 2697 0: \x{1e9e}\x{df} 2698 2699 /[z\x{1e9e}]+/i,utf 2700 \x{1e9e}\x{00df} 2701 0: \x{1e9e}\x{df} 2702 2703 /\x{00df}+/i,utf 2704 \x{1e9e}\x{00df} 2705 0: \x{1e9e}\x{df} 2706 2707 /[z\x{00df}]+/i,utf 2708 \x{1e9e}\x{00df} 2709 0: \x{1e9e}\x{df} 2710 2711 /\x{1f88}+/i,utf 2712 \x{1f88}\x{1f80} 2713 0: \x{1f88}\x{1f80} 2714 2715 /[z\x{1f88}]+/i,utf 2716 \x{1f88}\x{1f80} 2717 0: \x{1f88}\x{1f80} 2718 2719 # Characters with more than one other case; test in classes 2720 2721 /[z\x{00b5}]+/i,utf 2722 \x{00b5}\x{039c}\x{03bc} 2723 0: \x{b5}\x{39c}\x{3bc} 2724 2725 /[z\x{039c}]+/i,utf 2726 \x{00b5}\x{039c}\x{03bc} 2727 0: \x{b5}\x{39c}\x{3bc} 2728 2729 /[z\x{03bc}]+/i,utf 2730 \x{00b5}\x{039c}\x{03bc} 2731 0: \x{b5}\x{39c}\x{3bc} 2732 2733 /[z\x{00c5}]+/i,utf 2734 \x{00c5}\x{00e5}\x{212b} 2735 0: \x{c5}\x{e5}\x{212b} 2736 2737 /[z\x{00e5}]+/i,utf 2738 \x{00c5}\x{00e5}\x{212b} 2739 0: \x{c5}\x{e5}\x{212b} 2740 2741 /[z\x{212b}]+/i,utf 2742 \x{00c5}\x{00e5}\x{212b} 2743 0: \x{c5}\x{e5}\x{212b} 2744 2745 /[z\x{01c4}]+/i,utf 2746 \x{01c4}\x{01c5}\x{01c6} 2747 0: \x{1c4}\x{1c5}\x{1c6} 2748 2749 /[z\x{01c5}]+/i,utf 2750 \x{01c4}\x{01c5}\x{01c6} 2751 0: \x{1c4}\x{1c5}\x{1c6} 2752 2753 /[z\x{01c6}]+/i,utf 2754 \x{01c4}\x{01c5}\x{01c6} 2755 0: \x{1c4}\x{1c5}\x{1c6} 2756 2757 /[z\x{01c7}]+/i,utf 2758 \x{01c7}\x{01c8}\x{01c9} 2759 0: \x{1c7}\x{1c8}\x{1c9} 2760 2761 /[z\x{01c8}]+/i,utf 2762 \x{01c7}\x{01c8}\x{01c9} 2763 0: \x{1c7}\x{1c8}\x{1c9} 2764 2765 /[z\x{01c9}]+/i,utf 2766 \x{01c7}\x{01c8}\x{01c9} 2767 0: \x{1c7}\x{1c8}\x{1c9} 2768 2769 /[z\x{01ca}]+/i,utf 2770 \x{01ca}\x{01cb}\x{01cc} 2771 0: \x{1ca}\x{1cb}\x{1cc} 2772 2773 /[z\x{01cb}]+/i,utf 2774 \x{01ca}\x{01cb}\x{01cc} 2775 0: \x{1ca}\x{1cb}\x{1cc} 2776 2777 /[z\x{01cc}]+/i,utf 2778 \x{01ca}\x{01cb}\x{01cc} 2779 0: \x{1ca}\x{1cb}\x{1cc} 2780 2781 /[z\x{01f1}]+/i,utf 2782 \x{01f1}\x{01f2}\x{01f3} 2783 0: \x{1f1}\x{1f2}\x{1f3} 2784 2785 /[z\x{01f2}]+/i,utf 2786 \x{01f1}\x{01f2}\x{01f3} 2787 0: \x{1f1}\x{1f2}\x{1f3} 2788 2789 /[z\x{01f3}]+/i,utf 2790 \x{01f1}\x{01f2}\x{01f3} 2791 0: \x{1f1}\x{1f2}\x{1f3} 2792 2793 /[z\x{0345}]+/i,utf 2794 \x{0345}\x{0399}\x{03b9}\x{1fbe} 2795 0: \x{345}\x{399}\x{3b9}\x{1fbe} 2796 2797 /[z\x{0399}]+/i,utf 2798 \x{0345}\x{0399}\x{03b9}\x{1fbe} 2799 0: \x{345}\x{399}\x{3b9}\x{1fbe} 2800 2801 /[z\x{03b9}]+/i,utf 2802 \x{0345}\x{0399}\x{03b9}\x{1fbe} 2803 0: \x{345}\x{399}\x{3b9}\x{1fbe} 2804 2805 /[z\x{1fbe}]+/i,utf 2806 \x{0345}\x{0399}\x{03b9}\x{1fbe} 2807 0: \x{345}\x{399}\x{3b9}\x{1fbe} 2808 2809 /[z\x{0392}]+/i,utf 2810 \x{0392}\x{03b2}\x{03d0} 2811 0: \x{392}\x{3b2}\x{3d0} 2812 2813 /[z\x{03b2}]+/i,utf 2814 \x{0392}\x{03b2}\x{03d0} 2815 0: \x{392}\x{3b2}\x{3d0} 2816 2817 /[z\x{03d0}]+/i,utf 2818 \x{0392}\x{03b2}\x{03d0} 2819 0: \x{392}\x{3b2}\x{3d0} 2820 2821 /[z\x{0395}]+/i,utf 2822 \x{0395}\x{03b5}\x{03f5} 2823 0: \x{395}\x{3b5}\x{3f5} 2824 2825 /[z\x{03b5}]+/i,utf 2826 \x{0395}\x{03b5}\x{03f5} 2827 0: \x{395}\x{3b5}\x{3f5} 2828 2829 /[z\x{03f5}]+/i,utf 2830 \x{0395}\x{03b5}\x{03f5} 2831 0: \x{395}\x{3b5}\x{3f5} 2832 2833 /[z\x{0398}]+/i,utf 2834 \x{0398}\x{03b8}\x{03d1}\x{03f4} 2835 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 2836 2837 /[z\x{03b8}]+/i,utf 2838 \x{0398}\x{03b8}\x{03d1}\x{03f4} 2839 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 2840 2841 /[z\x{03d1}]+/i,utf 2842 \x{0398}\x{03b8}\x{03d1}\x{03f4} 2843 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 2844 2845 /[z\x{03f4}]+/i,utf 2846 \x{0398}\x{03b8}\x{03d1}\x{03f4} 2847 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 2848 2849 /[z\x{039a}]+/i,utf 2850 \x{039a}\x{03ba}\x{03f0} 2851 0: \x{39a}\x{3ba}\x{3f0} 2852 2853 /[z\x{03ba}]+/i,utf 2854 \x{039a}\x{03ba}\x{03f0} 2855 0: \x{39a}\x{3ba}\x{3f0} 2856 2857 /[z\x{03f0}]+/i,utf 2858 \x{039a}\x{03ba}\x{03f0} 2859 0: \x{39a}\x{3ba}\x{3f0} 2860 2861 /[z\x{03a0}]+/i,utf 2862 \x{03a0}\x{03c0}\x{03d6} 2863 0: \x{3a0}\x{3c0}\x{3d6} 2864 2865 /[z\x{03c0}]+/i,utf 2866 \x{03a0}\x{03c0}\x{03d6} 2867 0: \x{3a0}\x{3c0}\x{3d6} 2868 2869 /[z\x{03d6}]+/i,utf 2870 \x{03a0}\x{03c0}\x{03d6} 2871 0: \x{3a0}\x{3c0}\x{3d6} 2872 2873 /[z\x{03a1}]+/i,utf 2874 \x{03a1}\x{03c1}\x{03f1} 2875 0: \x{3a1}\x{3c1}\x{3f1} 2876 2877 /[z\x{03c1}]+/i,utf 2878 \x{03a1}\x{03c1}\x{03f1} 2879 0: \x{3a1}\x{3c1}\x{3f1} 2880 2881 /[z\x{03f1}]+/i,utf 2882 \x{03a1}\x{03c1}\x{03f1} 2883 0: \x{3a1}\x{3c1}\x{3f1} 2884 2885 /[z\x{03a3}]+/i,utf 2886 \x{03A3}\x{03C2}\x{03C3} 2887 0: \x{3a3}\x{3c2}\x{3c3} 2888 2889 /[z\x{03c2}]+/i,utf 2890 \x{03A3}\x{03C2}\x{03C3} 2891 0: \x{3a3}\x{3c2}\x{3c3} 2892 2893 /[z\x{03c3}]+/i,utf 2894 \x{03A3}\x{03C2}\x{03C3} 2895 0: \x{3a3}\x{3c2}\x{3c3} 2896 2897 /[z\x{03a6}]+/i,utf 2898 \x{03a6}\x{03c6}\x{03d5} 2899 0: \x{3a6}\x{3c6}\x{3d5} 2900 2901 /[z\x{03c6}]+/i,utf 2902 \x{03a6}\x{03c6}\x{03d5} 2903 0: \x{3a6}\x{3c6}\x{3d5} 2904 2905 /[z\x{03d5}]+/i,utf 2906 \x{03a6}\x{03c6}\x{03d5} 2907 0: \x{3a6}\x{3c6}\x{3d5} 2908 2909 /[z\x{03c9}]+/i,utf 2910 \x{03c9}\x{03a9}\x{2126} 2911 0: \x{3c9}\x{3a9}\x{2126} 2912 2913 /[z\x{03a9}]+/i,utf 2914 \x{03c9}\x{03a9}\x{2126} 2915 0: \x{3c9}\x{3a9}\x{2126} 2916 2917 /[z\x{2126}]+/i,utf 2918 \x{03c9}\x{03a9}\x{2126} 2919 0: \x{3c9}\x{3a9}\x{2126} 2920 2921 /[z\x{1e60}]+/i,utf 2922 \x{1e60}\x{1e61}\x{1e9b} 2923 0: \x{1e60}\x{1e61}\x{1e9b} 2924 2925 /[z\x{1e61}]+/i,utf 2926 \x{1e60}\x{1e61}\x{1e9b} 2927 0: \x{1e60}\x{1e61}\x{1e9b} 2928 2929 /[z\x{1e9b}]+/i,utf 2930 \x{1e60}\x{1e61}\x{1e9b} 2931 0: \x{1e60}\x{1e61}\x{1e9b} 2932 2933 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK 2934 2935 /[z\x{004b}]+/i,utf 2936 \x{004b}\x{006b}\x{212a} 2937 0: Kk\x{212a} 2938 2939 /[z\x{006b}]+/i,utf 2940 \x{004b}\x{006b}\x{212a} 2941 0: Kk\x{212a} 2942 2943 /[z\x{212a}]+/i,utf 2944 \x{004b}\x{006b}\x{212a} 2945 0: Kk\x{212a} 2946 2947 /[z\x{0053}]+/i,utf 2948 \x{0053}\x{0073}\x{017f} 2949 0: Ss\x{17f} 2950 2951 /[z\x{0073}]+/i,utf 2952 \x{0053}\x{0073}\x{017f} 2953 0: Ss\x{17f} 2954 2955 /[z\x{017f}]+/i,utf 2956 \x{0053}\x{0073}\x{017f} 2957 0: Ss\x{17f} 2958 2959 # -------------------------------------- 2960 2961 /() \1/i,utf 2962 2963 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2964 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2965 2966 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2967 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2968 2969 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2970 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2971 2972 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c3} 2973 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2974 2975 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2976 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2977 2978 /() \1/i,utf 2979 2980 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2981 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2982 2983 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2984 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2985 2986 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2987 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2988 2989 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c3} 2990 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2991 2992 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2993 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2994 2995 /() \1*/i,utf 2996 \x20 2997 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2998 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2999 3000 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}\x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}\x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 3001 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 3002 3003 # Perl matches these 3004 3005 /\x{00b5}+/i,utf 3006 \x{00b5}\x{039c}\x{03bc} 3007 0: \x{b5}\x{39c}\x{3bc} 3008 3009 /\x{039c}+/i,utf 3010 \x{00b5}\x{039c}\x{03bc} 3011 0: \x{b5}\x{39c}\x{3bc} 3012 3013 /\x{03bc}+/i,utf 3014 \x{00b5}\x{039c}\x{03bc} 3015 0: \x{b5}\x{39c}\x{3bc} 3016 3017 3018 /\x{00c5}+/i,utf 3019 \x{00c5}\x{00e5}\x{212b} 3020 0: \x{c5}\x{e5}\x{212b} 3021 3022 /\x{00e5}+/i,utf 3023 \x{00c5}\x{00e5}\x{212b} 3024 0: \x{c5}\x{e5}\x{212b} 3025 3026 /\x{212b}+/i,utf 3027 \x{00c5}\x{00e5}\x{212b} 3028 0: \x{c5}\x{e5}\x{212b} 3029 3030 3031 /\x{01c4}+/i,utf 3032 \x{01c4}\x{01c5}\x{01c6} 3033 0: \x{1c4}\x{1c5}\x{1c6} 3034 3035 /\x{01c5}+/i,utf 3036 \x{01c4}\x{01c5}\x{01c6} 3037 0: \x{1c4}\x{1c5}\x{1c6} 3038 3039 /\x{01c6}+/i,utf 3040 \x{01c4}\x{01c5}\x{01c6} 3041 0: \x{1c4}\x{1c5}\x{1c6} 3042 3043 3044 /\x{01c7}+/i,utf 3045 \x{01c7}\x{01c8}\x{01c9} 3046 0: \x{1c7}\x{1c8}\x{1c9} 3047 3048 /\x{01c8}+/i,utf 3049 \x{01c7}\x{01c8}\x{01c9} 3050 0: \x{1c7}\x{1c8}\x{1c9} 3051 3052 /\x{01c9}+/i,utf 3053 \x{01c7}\x{01c8}\x{01c9} 3054 0: \x{1c7}\x{1c8}\x{1c9} 3055 3056 3057 /\x{01ca}+/i,utf 3058 \x{01ca}\x{01cb}\x{01cc} 3059 0: \x{1ca}\x{1cb}\x{1cc} 3060 3061 /\x{01cb}+/i,utf 3062 \x{01ca}\x{01cb}\x{01cc} 3063 0: \x{1ca}\x{1cb}\x{1cc} 3064 3065 /\x{01cc}+/i,utf 3066 \x{01ca}\x{01cb}\x{01cc} 3067 0: \x{1ca}\x{1cb}\x{1cc} 3068 3069 3070 /\x{01f1}+/i,utf 3071 \x{01f1}\x{01f2}\x{01f3} 3072 0: \x{1f1}\x{1f2}\x{1f3} 3073 3074 /\x{01f2}+/i,utf 3075 \x{01f1}\x{01f2}\x{01f3} 3076 0: \x{1f1}\x{1f2}\x{1f3} 3077 3078 /\x{01f3}+/i,utf 3079 \x{01f1}\x{01f2}\x{01f3} 3080 0: \x{1f1}\x{1f2}\x{1f3} 3081 3082 3083 /\x{0345}+/i,utf 3084 \x{0345}\x{0399}\x{03b9}\x{1fbe} 3085 0: \x{345}\x{399}\x{3b9}\x{1fbe} 3086 3087 /\x{0399}+/i,utf 3088 \x{0345}\x{0399}\x{03b9}\x{1fbe} 3089 0: \x{345}\x{399}\x{3b9}\x{1fbe} 3090 3091 /\x{03b9}+/i,utf 3092 \x{0345}\x{0399}\x{03b9}\x{1fbe} 3093 0: \x{345}\x{399}\x{3b9}\x{1fbe} 3094 3095 /\x{1fbe}+/i,utf 3096 \x{0345}\x{0399}\x{03b9}\x{1fbe} 3097 0: \x{345}\x{399}\x{3b9}\x{1fbe} 3098 3099 3100 /\x{0392}+/i,utf 3101 \x{0392}\x{03b2}\x{03d0} 3102 0: \x{392}\x{3b2}\x{3d0} 3103 3104 /\x{03b2}+/i,utf 3105 \x{0392}\x{03b2}\x{03d0} 3106 0: \x{392}\x{3b2}\x{3d0} 3107 3108 /\x{03d0}+/i,utf 3109 \x{0392}\x{03b2}\x{03d0} 3110 0: \x{392}\x{3b2}\x{3d0} 3111 3112 3113 /\x{0395}+/i,utf 3114 \x{0395}\x{03b5}\x{03f5} 3115 0: \x{395}\x{3b5}\x{3f5} 3116 3117 /\x{03b5}+/i,utf 3118 \x{0395}\x{03b5}\x{03f5} 3119 0: \x{395}\x{3b5}\x{3f5} 3120 3121 /\x{03f5}+/i,utf 3122 \x{0395}\x{03b5}\x{03f5} 3123 0: \x{395}\x{3b5}\x{3f5} 3124 3125 3126 /\x{0398}+/i,utf 3127 \x{0398}\x{03b8}\x{03d1}\x{03f4} 3128 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 3129 3130 /\x{03b8}+/i,utf 3131 \x{0398}\x{03b8}\x{03d1}\x{03f4} 3132 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 3133 3134 /\x{03d1}+/i,utf 3135 \x{0398}\x{03b8}\x{03d1}\x{03f4} 3136 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 3137 3138 /\x{03f4}+/i,utf 3139 \x{0398}\x{03b8}\x{03d1}\x{03f4} 3140 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 3141 3142 3143 /\x{039a}+/i,utf 3144 \x{039a}\x{03ba}\x{03f0} 3145 0: \x{39a}\x{3ba}\x{3f0} 3146 3147 /\x{03ba}+/i,utf 3148 \x{039a}\x{03ba}\x{03f0} 3149 0: \x{39a}\x{3ba}\x{3f0} 3150 3151 /\x{03f0}+/i,utf 3152 \x{039a}\x{03ba}\x{03f0} 3153 0: \x{39a}\x{3ba}\x{3f0} 3154 3155 3156 /\x{03a0}+/i,utf 3157 \x{03a0}\x{03c0}\x{03d6} 3158 0: \x{3a0}\x{3c0}\x{3d6} 3159 3160 /\x{03c0}+/i,utf 3161 \x{03a0}\x{03c0}\x{03d6} 3162 0: \x{3a0}\x{3c0}\x{3d6} 3163 3164 /\x{03d6}+/i,utf 3165 \x{03a0}\x{03c0}\x{03d6} 3166 0: \x{3a0}\x{3c0}\x{3d6} 3167 3168 3169 /\x{03a1}+/i,utf 3170 \x{03a1}\x{03c1}\x{03f1} 3171 0: \x{3a1}\x{3c1}\x{3f1} 3172 3173 /\x{03c1}+/i,utf 3174 \x{03a1}\x{03c1}\x{03f1} 3175 0: \x{3a1}\x{3c1}\x{3f1} 3176 3177 /\x{03f1}+/i,utf 3178 \x{03a1}\x{03c1}\x{03f1} 3179 0: \x{3a1}\x{3c1}\x{3f1} 3180 3181 3182 /\x{03a3}+/i,utf 3183 \x{03A3}\x{03C2}\x{03C3} 3184 0: \x{3a3}\x{3c2}\x{3c3} 3185 3186 /\x{03c2}+/i,utf 3187 \x{03A3}\x{03C2}\x{03C3} 3188 0: \x{3a3}\x{3c2}\x{3c3} 3189 3190 /\x{03c3}+/i,utf 3191 \x{03A3}\x{03C2}\x{03C3} 3192 0: \x{3a3}\x{3c2}\x{3c3} 3193 3194 3195 /\x{03a6}+/i,utf 3196 \x{03a6}\x{03c6}\x{03d5} 3197 0: \x{3a6}\x{3c6}\x{3d5} 3198 3199 /\x{03c6}+/i,utf 3200 \x{03a6}\x{03c6}\x{03d5} 3201 0: \x{3a6}\x{3c6}\x{3d5} 3202 3203 /\x{03d5}+/i,utf 3204 \x{03a6}\x{03c6}\x{03d5} 3205 0: \x{3a6}\x{3c6}\x{3d5} 3206 3207 3208 /\x{03c9}+/i,utf 3209 \x{03c9}\x{03a9}\x{2126} 3210 0: \x{3c9}\x{3a9}\x{2126} 3211 3212 /\x{03a9}+/i,utf 3213 \x{03c9}\x{03a9}\x{2126} 3214 0: \x{3c9}\x{3a9}\x{2126} 3215 3216 /\x{2126}+/i,utf 3217 \x{03c9}\x{03a9}\x{2126} 3218 0: \x{3c9}\x{3a9}\x{2126} 3219 3220 3221 /\x{1e60}+/i,utf 3222 \x{1e60}\x{1e61}\x{1e9b} 3223 0: \x{1e60}\x{1e61}\x{1e9b} 3224 3225 /\x{1e61}+/i,utf 3226 \x{1e60}\x{1e61}\x{1e9b} 3227 0: \x{1e60}\x{1e61}\x{1e9b} 3228 3229 /\x{1e9b}+/i,utf 3230 \x{1e60}\x{1e61}\x{1e9b} 3231 0: \x{1e60}\x{1e61}\x{1e9b} 3232 3233 3234 /\x{1e9e}+/i,utf 3235 \x{1e9e}\x{00df} 3236 0: \x{1e9e}\x{df} 3237 3238 /\x{00df}+/i,utf 3239 \x{1e9e}\x{00df} 3240 0: \x{1e9e}\x{df} 3241 3242 3243 /\x{1f88}+/i,utf 3244 \x{1f88}\x{1f80} 3245 0: \x{1f88}\x{1f80} 3246 3247 /\x{1f80}+/i,utf 3248 \x{1f88}\x{1f80} 3249 0: \x{1f88}\x{1f80} 3250 3251 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK 3252 3253 /\x{004b}+/i,utf 3254 \x{004b}\x{006b}\x{212a} 3255 0: Kk\x{212a} 3256 3257 /\x{006b}+/i,utf 3258 \x{004b}\x{006b}\x{212a} 3259 0: Kk\x{212a} 3260 3261 /\x{212a}+/i,utf 3262 \x{004b}\x{006b}\x{212a} 3263 0: Kk\x{212a} 3264 3265 3266 /\x{0053}+/i,utf 3267 \x{0053}\x{0073}\x{017f} 3268 0: Ss\x{17f} 3269 3270 /\x{0073}+/i,utf 3271 \x{0053}\x{0073}\x{017f} 3272 0: Ss\x{17f} 3273 3274 /\x{017f}+/i,utf 3275 \x{0053}\x{0073}\x{017f} 3276 0: Ss\x{17f} 3277 3278 /^\p{Any}*\d{4}/utf 3279 1234 3280 0: 1234 3281 \= Expect no match 3282 123 3283 No match 3284 3285 /^\X*\w{4}/utf 3286 1234 3287 0: 1234 3288 \= Expect no match 3289 123 3290 No match 3291 3292 /^A\s+Z/utf,ucp 3293 A\x{2005}Z 3294 0: A\x{2005}Z 3295 A\x{85}\x{2005}Z 3296 0: A\x{85}\x{2005}Z 3297 3298 /^A[\s]+Z/utf,ucp 3299 A\x{2005}Z 3300 0: A\x{2005}Z 3301 A\x{85}\x{2005}Z 3302 0: A\x{85}\x{2005}Z 3303 3304 /^[[:graph:]]+$/utf,ucp 3305 Letter:ABC 3306 0: Letter:ABC 3307 Mark:\x{300}\x{1d172}\x{1d17b} 3308 0: Mark:\x{300}\x{1d172}\x{1d17b} 3309 Number:9\x{660} 3310 0: Number:9\x{660} 3311 Punctuation:\x{66a},; 3312 0: Punctuation:\x{66a},; 3313 Symbol:\x{6de}<>\x{fffc} 3314 0: Symbol:\x{6de}<>\x{fffc} 3315 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3316 0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3317 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3318 0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3319 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3320 0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3321 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3322 0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3323 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3324 0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3325 \x{feff} 3326 0: \x{feff} 3327 \x{fff9}\x{fffa}\x{fffb} 3328 0: \x{fff9}\x{fffa}\x{fffb} 3329 \x{110bd} 3330 0: \x{110bd} 3331 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3332 0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3333 \x{e0001} 3334 0: \x{e0001} 3335 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3336 0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3337 \= Expect no match 3338 \x{09} 3339 No match 3340 \x{0a} 3341 No match 3342 \x{1D} 3343 No match 3344 \x{20} 3345 No match 3346 \x{85} 3347 No match 3348 \x{a0} 3349 No match 3350 \x{1680} 3351 No match 3352 \x{2028} 3353 No match 3354 \x{2029} 3355 No match 3356 \x{202f} 3357 No match 3358 \x{2065} 3359 No match 3360 \x{3000} 3361 No match 3362 \x{e0002} 3363 No match 3364 \x{e001f} 3365 No match 3366 \x{e0080} 3367 No match 3368 3369 /^[[:print:]]+$/utf,ucp 3370 Space: \x{a0} 3371 0: Space: \x{a0} 3372 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 3373 0: \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 3374 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 3375 0: \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 3376 \x{202f}\x{205f} 3377 0: \x{202f}\x{205f} 3378 \x{3000} 3379 0: \x{3000} 3380 Letter:ABC 3381 0: Letter:ABC 3382 Mark:\x{300}\x{1d172}\x{1d17b} 3383 0: Mark:\x{300}\x{1d172}\x{1d17b} 3384 Number:9\x{660} 3385 0: Number:9\x{660} 3386 Punctuation:\x{66a},; 3387 0: Punctuation:\x{66a},; 3388 Symbol:\x{6de}<>\x{fffc} 3389 0: Symbol:\x{6de}<>\x{fffc} 3390 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3391 0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3392 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3393 0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3394 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3395 0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3396 \x{202f} 3397 0: \x{202f} 3398 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3399 0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3400 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3401 0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3402 \x{feff} 3403 0: \x{feff} 3404 \x{fff9}\x{fffa}\x{fffb} 3405 0: \x{fff9}\x{fffa}\x{fffb} 3406 \x{110bd} 3407 0: \x{110bd} 3408 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3409 0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3410 \x{e0001} 3411 0: \x{e0001} 3412 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3413 0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3414 \= Expect no match 3415 \x{09} 3416 No match 3417 \x{1D} 3418 No match 3419 \x{85} 3420 No match 3421 \x{2028} 3422 No match 3423 \x{2029} 3424 No match 3425 \x{2065} 3426 No match 3427 \x{e0002} 3428 No match 3429 \x{e001f} 3430 No match 3431 \x{e0080} 3432 No match 3433 3434 /^[[:punct:]]+$/utf,ucp 3435 \$+<=>^`|~ 3436 0: $+<=>^`|~ 3437 !\"#%&'()*,-./:;?@[\\]_{} 3438 0: !"#%&'()*,-./:;?@[\]_{} 3439 \x{a1}\x{a7} 3440 0: \x{a1}\x{a7} 3441 \x{37e} 3442 0: \x{37e} 3443 \= Expect no match 3444 abcde 3445 No match 3446 3447 /^[[:^graph:]]+$/utf,ucp 3448 \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{1680} 3449 0: \x{09}\x{0a}\x{1d} \x{85}\x{a0}\x{1680} 3450 \x{2028}\x{2029}\x{202f}\x{2065} 3451 0: \x{2028}\x{2029}\x{202f}\x{2065} 3452 \x{3000}\x{e0002}\x{e001f}\x{e0080} 3453 0: \x{3000}\x{e0002}\x{e001f}\x{e0080} 3454 \= Expect no match 3455 Letter:ABC 3456 No match 3457 Mark:\x{300}\x{1d172}\x{1d17b} 3458 No match 3459 Number:9\x{660} 3460 No match 3461 Punctuation:\x{66a},; 3462 No match 3463 Symbol:\x{6de}<>\x{fffc} 3464 No match 3465 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3466 No match 3467 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3468 No match 3469 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3470 No match 3471 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3472 No match 3473 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3474 No match 3475 \x{feff} 3476 No match 3477 \x{fff9}\x{fffa}\x{fffb} 3478 No match 3479 \x{110bd} 3480 No match 3481 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3482 No match 3483 \x{e0001} 3484 No match 3485 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3486 No match 3487 3488 /^[[:^print:]]+$/utf,ucp 3489 \x{09}\x{1D}\x{85}\x{2028}\x{2029}\x{2065} 3490 0: \x{09}\x{1d}\x{85}\x{2028}\x{2029}\x{2065} 3491 \x{e0002}\x{e001f}\x{e0080} 3492 0: \x{e0002}\x{e001f}\x{e0080} 3493 \= Expect no match 3494 Space: \x{a0} 3495 No match 3496 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 3497 No match 3498 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 3499 No match 3500 \x{202f}\x{205f} 3501 No match 3502 \x{3000} 3503 No match 3504 Letter:ABC 3505 No match 3506 Mark:\x{300}\x{1d172}\x{1d17b} 3507 No match 3508 Number:9\x{660} 3509 No match 3510 Punctuation:\x{66a},; 3511 No match 3512 Symbol:\x{6de}<>\x{fffc} 3513 No match 3514 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3515 No match 3516 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3517 No match 3518 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3519 No match 3520 \x{202f} 3521 No match 3522 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3523 No match 3524 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3525 No match 3526 \x{feff} 3527 No match 3528 \x{fff9}\x{fffa}\x{fffb} 3529 No match 3530 \x{110bd} 3531 No match 3532 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3533 No match 3534 \x{e0001} 3535 No match 3536 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3537 No match 3538 3539 /^[[:^punct:]]+$/utf,ucp 3540 abcde 3541 0: abcde 3542 \= Expect no match 3543 \$+<=>^`|~ 3544 No match 3545 !\"#%&'()*,-./:;?@[\\]_{} 3546 No match 3547 \x{a1}\x{a7} 3548 No match 3549 \x{37e} 3550 No match 3551 3552 /[RST]+/i,utf,ucp 3553 Ss\x{17f} 3554 0: Ss\x{17f} 3555 3556 /[R-T]+/i,utf,ucp 3557 Ss\x{17f} 3558 0: Ss\x{17f} 3559 3560 /[q-u]+/i,utf,ucp 3561 Ss\x{17f} 3562 0: Ss\x{17f} 3563 3564 /^s?c/im,utf 3565 scat 3566 0: sc 3567 3568 # The next four tests are for repeated caseless back references when the 3569 # code unit length of the matched text is different to that of the original 3570 # group in the UTF-8 case. 3571 3572 /^(\x{23a})\1*(.)/i,utf 3573 \x{23a}\x{23a}\x{23a}\x{23a} 3574 0: \x{23a}\x{23a}\x{23a}\x{23a} 3575 1: \x{23a} 3576 2: \x{23a} 3577 \x{23a}\x{2c65}\x{2c65}\x{2c65} 3578 0: \x{23a}\x{2c65}\x{2c65}\x{2c65} 3579 1: \x{23a} 3580 2: \x{2c65} 3581 \x{23a}\x{23a}\x{2c65}\x{23a} 3582 0: \x{23a}\x{23a}\x{2c65}\x{23a} 3583 1: \x{23a} 3584 2: \x{23a} 3585 3586 /^(\x{23a})\1*(..)/i,utf 3587 \x{23a}\x{2c65}\x{2c65}\x{2c65} 3588 0: \x{23a}\x{2c65}\x{2c65}\x{2c65} 3589 1: \x{23a} 3590 2: \x{2c65}\x{2c65} 3591 \x{23a}\x{23a}\x{2c65}\x{23a} 3592 0: \x{23a}\x{23a}\x{2c65}\x{23a} 3593 1: \x{23a} 3594 2: \x{2c65}\x{23a} 3595 3596 /^(\x{23a})\1*(...)/i,utf 3597 \x{23a}\x{2c65}\x{2c65}\x{2c65} 3598 0: \x{23a}\x{2c65}\x{2c65}\x{2c65} 3599 1: \x{23a} 3600 2: \x{2c65}\x{2c65}\x{2c65} 3601 \x{23a}\x{23a}\x{2c65}\x{23a} 3602 0: \x{23a}\x{23a}\x{2c65}\x{23a} 3603 1: \x{23a} 3604 2: \x{23a}\x{2c65}\x{23a} 3605 3606 /^(\x{23a})\1*(....)/i,utf 3607 \= Expect no match 3608 \x{23a}\x{2c65}\x{2c65}\x{2c65} 3609 No match 3610 \x{23a}\x{23a}\x{2c65}\x{23a} 3611 No match 3612 3613 /[A-`]/i,utf 3614 abcdefghijklmno 3615 0: a 3616 3617 "[\S\V\H]"utf 3618 3619 /[^\p{Any}]*+x/utf 3620 x 3621 0: x 3622 3623 /[[:punct:]]/utf,ucp 3624 \x{b4} 3625 No match 3626 3627 /[[:^ascii:]]/utf,ucp 3628 \x{100} 3629 0: \x{100} 3630 \x{200} 3631 0: \x{200} 3632 \x{300} 3633 0: \x{300} 3634 \x{37e} 3635 0: \x{37e} 3636 \= Expect no match 3637 aa 3638 No match 3639 99 3640 No match 3641 3642 /[[:^ascii:]\w]/utf,ucp 3643 aa 3644 0: a 3645 99 3646 0: 9 3647 gg 3648 0: g 3649 \x{100} 3650 0: \x{100} 3651 \x{200} 3652 0: \x{200} 3653 \x{300} 3654 0: \x{300} 3655 \x{37e} 3656 0: \x{37e} 3657 3658 /[\w[:^ascii:]]/utf,ucp 3659 aa 3660 0: a 3661 99 3662 0: 9 3663 gg 3664 0: g 3665 \x{100} 3666 0: \x{100} 3667 \x{200} 3668 0: \x{200} 3669 \x{300} 3670 0: \x{300} 3671 \x{37e} 3672 0: \x{37e} 3673 3674 /[^[:ascii:]\W]/utf,ucp 3675 \x{100} 3676 0: \x{100} 3677 \x{200} 3678 0: \x{200} 3679 \= Expect no match 3680 aa 3681 No match 3682 99 3683 No match 3684 gg 3685 No match 3686 \x{37e} 3687 No match 3688 3689 /[^[:^ascii:]\d]/utf,ucp 3690 a 3691 0: a 3692 ~ 3693 0: ~ 3694 \a 3695 0: \x{07} 3696 \x{7f} 3697 0: \x{7f} 3698 \= Expect no match 3699 0 3700 No match 3701 \x{389} 3702 No match 3703 \x{20ac} 3704 No match 3705 3706 # End of testinput4 3707