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 2297 /^\p{Cyrillic}/utf 2298 \x{1d2b} 2299 0: \x{1d2b} 2300 2301 /^\p{Common}/utf 2302 \x{2116} 2303 0: \x{2116} 2304 \x{1D183} 2305 0: \x{1d183} 2306 2307 /^\p{Inherited}/utf 2308 \x{200c} 2309 0: \x{200c} 2310 \= Expect no match 2311 \x{64a} 2312 No match 2313 \x{656} 2314 No match 2315 2316 /^\p{Shavian}/utf 2317 \x{10450} 2318 0: \x{10450} 2319 \x{1047f} 2320 0: \x{1047f} 2321 2322 /^\p{Deseret}/utf 2323 \x{10400} 2324 0: \x{10400} 2325 \x{1044f} 2326 0: \x{1044f} 2327 2328 /^\p{Osmanya}/utf 2329 \x{10480} 2330 0: \x{10480} 2331 \x{1049d} 2332 0: \x{1049d} 2333 \x{104a0} 2334 0: \x{104a0} 2335 \x{104a9} 2336 0: \x{104a9} 2337 \= Expect no match 2338 \x{1049e} 2339 No match 2340 \x{1049f} 2341 No match 2342 \x{104aa} 2343 No match 2344 2345 /\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 2346 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}==== 2347 0: \x{102a4}\x{aa52}\x{a91d}\x{1c46}\x{10283}\x{1092e}\x{1c6b}\x{a93b}\x{a8bf}\x{1ba0}\x{a50a} 2348 2349 /\x{a77d}\x{1d79}/i,utf 2350 \x{a77d}\x{1d79} 2351 0: \x{a77d}\x{1d79} 2352 \x{1d79}\x{a77d} 2353 0: \x{1d79}\x{a77d} 2354 2355 /\x{a77d}\x{1d79}/utf 2356 \x{a77d}\x{1d79} 2357 0: \x{a77d}\x{1d79} 2358 \= Expect no match 2359 \x{1d79}\x{a77d} 2360 No match 2361 2362 /(A)\1/i,utf 2363 AA 2364 0: AA 2365 1: A 2366 Aa 2367 0: Aa 2368 1: A 2369 aa 2370 0: aa 2371 1: a 2372 aA 2373 0: aA 2374 1: a 2375 2376 /(\x{10a})\1/i,utf 2377 \x{10a}\x{10a} 2378 0: \x{10a}\x{10a} 2379 1: \x{10a} 2380 \x{10a}\x{10b} 2381 0: \x{10a}\x{10b} 2382 1: \x{10a} 2383 \x{10b}\x{10b} 2384 0: \x{10b}\x{10b} 2385 1: \x{10b} 2386 \x{10b}\x{10a} 2387 0: \x{10b}\x{10a} 2388 1: \x{10b} 2389 2390 # The next two tests are for property support in non-UTF mode 2391 2392 /(?:\p{Lu}|\x20)+/ 2393 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 2394 0: A P\xc2T\xc9 TODAY 2395 2396 /[\p{Lu}\x20]+/ 2397 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 2398 0: A P\xc2T\xc9 TODAY 2399 2400 /\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 2401 \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} 2402 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} 2403 2404 /^\w+/utf,ucp 2405 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 2406 0: Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 2407 2408 /^[[:xdigit:]]*/utf,ucp 2409 1a\x{660}\x{bef}\x{16ee} 2410 0: 1a 2411 2412 /^\d+/utf,ucp 2413 1\x{660}\x{bef}\x{16ee} 2414 0: 1\x{660}\x{bef} 2415 2416 /^[[:digit:]]+/utf,ucp 2417 1\x{660}\x{bef}\x{16ee} 2418 0: 1\x{660}\x{bef} 2419 2420 /^>\s+/utf,ucp 2421 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 2422 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b} 2423 2424 /^>\pZ+/utf,ucp 2425 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 2426 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f} 2427 2428 /^>[[:space:]]*/utf,ucp 2429 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 2430 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b} 2431 2432 /^>[[:blank:]]*/utf,ucp 2433 >\x{20}\x{a0}\x{1680}\x{2000}\x{202f}\x{9}\x{b}\x{2028} 2434 0: > \x{a0}\x{1680}\x{2000}\x{202f}\x{09} 2435 2436 /^[[:alpha:]]*/utf,ucp 2437 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d} 2438 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d} 2439 2440 /^[[:alnum:]]*/utf,ucp 2441 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 2442 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 2443 2444 /^[[:cntrl:]]*/utf,ucp 2445 \x{0}\x{09}\x{1f}\x{7f}\x{9f} 2446 0: \x{00}\x{09}\x{1f}\x{7f}\x{9f} 2447 2448 /^[[:graph:]]*/utf,ucp 2449 A\x{a1}\x{a0} 2450 0: A\x{a1} 2451 2452 /^[[:print:]]*/utf,ucp 2453 A z\x{a0}\x{a1} 2454 0: A z\x{a0}\x{a1} 2455 2456 /^[[:punct:]]*/utf,ucp 2457 .+\x{a1}\x{a0} 2458 0: .+\x{a1} 2459 2460 /\p{Zs}*?\R/ 2461 \= Expect no match 2462 a\xFCb 2463 No match 2464 2465 /\p{Zs}*\R/ 2466 \= Expect no match 2467 a\xFCb 2468 No match 2469 2470 //i,utf 2471 2472 0: \x{2c65} 2473 x 2474 0: \x{23a} 2475 2476 0: \x{23a} 2477 2478 /[]/i,utf 2479 2480 0: \x{2c65} 2481 x 2482 0: \x{23a} 2483 2484 0: \x{23a} 2485 2486 //i,utf 2487 2488 0: \x{23a} 2489 2490 0: \x{2c65} 2491 2492 # These are tests for extended grapheme clusters 2493 2494 /^\X/utf,aftertext 2495 G\x{34e}\x{34e}X 2496 0: G\x{34e}\x{34e} 2497 0+ X 2498 \x{34e}\x{34e}X 2499 0: \x{34e}\x{34e} 2500 0+ X 2501 \x04X 2502 0: \x{04} 2503 0+ X 2504 \x{1100}X 2505 0: \x{1100} 2506 0+ X 2507 \x{1100}\x{34e}X 2508 0: \x{1100}\x{34e} 2509 0+ X 2510 \x{1b04}\x{1b04}X 2511 0: \x{1b04}\x{1b04} 2512 0+ X 2513 *These match up to the roman letters 2514 0: * 2515 0+ These match up to the roman letters 2516 \x{1111}\x{1111}L,L 2517 0: \x{1111}\x{1111} 2518 0+ L,L 2519 \x{1111}\x{1111}\x{1169}L,L,V 2520 0: \x{1111}\x{1111}\x{1169} 2521 0+ L,L,V 2522 \x{1111}\x{ae4c}L, LV 2523 0: \x{1111}\x{ae4c} 2524 0+ L, LV 2525 \x{1111}\x{ad89}L, LVT 2526 0: \x{1111}\x{ad89} 2527 0+ L, LVT 2528 \x{1111}\x{ae4c}\x{1169}L, LV, V 2529 0: \x{1111}\x{ae4c}\x{1169} 2530 0+ L, LV, V 2531 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V 2532 0: \x{1111}\x{ae4c}\x{1169}\x{1169} 2533 0+ L, LV, V, V 2534 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T 2535 0: \x{1111}\x{ae4c}\x{1169}\x{11fe} 2536 0+ L, LV, V, T 2537 \x{1111}\x{ad89}\x{11fe}L, LVT, T 2538 0: \x{1111}\x{ad89}\x{11fe} 2539 0+ L, LVT, T 2540 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T 2541 0: \x{1111}\x{ad89}\x{11fe}\x{11fe} 2542 0+ L, LVT, T, T 2543 \x{ad89}\x{11fe}\x{11fe}LVT, T, T 2544 0: \x{ad89}\x{11fe}\x{11fe} 2545 0+ LVT, T, T 2546 *These match just the first codepoint (invalid sequence) 2547 0: * 2548 0+ These match just the first codepoint (invalid sequence) 2549 \x{1111}\x{11fe}L, T 2550 0: \x{1111} 2551 0+ \x{11fe}L, T 2552 \x{ae4c}\x{1111}LV, L 2553 0: \x{ae4c} 2554 0+ \x{1111}LV, L 2555 \x{ae4c}\x{ae4c}LV, LV 2556 0: \x{ae4c} 2557 0+ \x{ae4c}LV, LV 2558 \x{ae4c}\x{ad89}LV, LVT 2559 0: \x{ae4c} 2560 0+ \x{ad89}LV, LVT 2561 \x{1169}\x{1111}V, L 2562 0: \x{1169} 2563 0+ \x{1111}V, L 2564 \x{1169}\x{ae4c}V, LV 2565 0: \x{1169} 2566 0+ \x{ae4c}V, LV 2567 \x{1169}\x{ad89}V, LVT 2568 0: \x{1169} 2569 0+ \x{ad89}V, LVT 2570 \x{ad89}\x{1111}LVT, L 2571 0: \x{ad89} 2572 0+ \x{1111}LVT, L 2573 \x{ad89}\x{1169}LVT, V 2574 0: \x{ad89} 2575 0+ \x{1169}LVT, V 2576 \x{ad89}\x{ae4c}LVT, LV 2577 0: \x{ad89} 2578 0+ \x{ae4c}LVT, LV 2579 \x{ad89}\x{ad89}LVT, LVT 2580 0: \x{ad89} 2581 0+ \x{ad89}LVT, LVT 2582 \x{11fe}\x{1111}T, L 2583 0: \x{11fe} 2584 0+ \x{1111}T, L 2585 \x{11fe}\x{1169}T, V 2586 0: \x{11fe} 2587 0+ \x{1169}T, V 2588 \x{11fe}\x{ae4c}T, LV 2589 0: \x{11fe} 2590 0+ \x{ae4c}T, LV 2591 \x{11fe}\x{ad89}T, LVT 2592 0: \x{11fe} 2593 0+ \x{ad89}T, LVT 2594 *Test extend and spacing mark 2595 0: * 2596 0+ Test extend and spacing mark 2597 \x{1111}\x{ae4c}\x{0711}L, LV, extend 2598 0: \x{1111}\x{ae4c}\x{711} 2599 0+ L, LV, extend 2600 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark 2601 0: \x{1111}\x{ae4c}\x{1b04} 2602 0+ L, LV, spacing mark 2603 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark 2604 0: \x{1111}\x{ae4c}\x{1b04}\x{711}\x{1b04} 2605 0+ L, LV, spacing mark, extend, spacing mark 2606 *Test CR, LF, and control 2607 0: * 2608 0+ Test CR, LF, and control 2609 \x0d\x{0711}CR, extend 2610 0: \x{0d} 2611 0+ \x{711}CR, extend 2612 \x0d\x{1b04}CR, spacingmark 2613 0: \x{0d} 2614 0+ \x{1b04}CR, spacingmark 2615 \x0a\x{0711}LF, extend 2616 0: \x{0a} 2617 0+ \x{711}LF, extend 2618 \x0a\x{1b04}LF, spacingmark 2619 0: \x{0a} 2620 0+ \x{1b04}LF, spacingmark 2621 \x0b\x{0711}Control, extend 2622 0: \x{0b} 2623 0+ \x{711}Control, extend 2624 \x09\x{1b04}Control, spacingmark 2625 0: \x{09} 2626 0+ \x{1b04}Control, spacingmark 2627 *There are no Prepend characters, so we can't test Prepend, CR 2628 0: * 2629 0+ There are no Prepend characters, so we can't test Prepend, CR 2630 2631 /^(?>\X{2})X/utf,aftertext 2632 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2633 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2634 0+ 2635 2636 /^\X{2,4}X/utf,aftertext 2637 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2638 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2639 0+ 2640 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2641 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2642 0+ 2643 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2644 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2645 0+ 2646 2647 /^\X{2,4}?X/utf,aftertext 2648 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2649 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2650 0+ 2651 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2652 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2653 0+ 2654 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2655 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 2656 0+ 2657 2658 /\X*Z/utf,no_start_optimize 2659 \= Expect no match 2660 A\x{300} 2661 No match 2662 2663 /\X*(.)/utf,no_start_optimize 2664 A\x{1111}\x{ae4c}\x{1169} 2665 0: A\x{1111} 2666 1: \x{1111} 2667 2668 # -------------------------------------------- 2669 2670 /\x{1e9e}+/i,utf 2671 \x{1e9e}\x{00df} 2672 0: \x{1e9e}\x{df} 2673 2674 /[z\x{1e9e}]+/i,utf 2675 \x{1e9e}\x{00df} 2676 0: \x{1e9e}\x{df} 2677 2678 /\x{00df}+/i,utf 2679 \x{1e9e}\x{00df} 2680 0: \x{1e9e}\x{df} 2681 2682 /[z\x{00df}]+/i,utf 2683 \x{1e9e}\x{00df} 2684 0: \x{1e9e}\x{df} 2685 2686 /\x{1f88}+/i,utf 2687 \x{1f88}\x{1f80} 2688 0: \x{1f88}\x{1f80} 2689 2690 /[z\x{1f88}]+/i,utf 2691 \x{1f88}\x{1f80} 2692 0: \x{1f88}\x{1f80} 2693 2694 # Check a reference with more than one other case 2695 2696 /^(\x{00b5})\1{2}$/i,utf 2697 \x{00b5}\x{039c}\x{03bc} 2698 0: \x{b5}\x{39c}\x{3bc} 2699 1: \x{b5} 2700 2701 # Characters with more than one other case; test in classes 2702 2703 /[z\x{00b5}]+/i,utf 2704 \x{00b5}\x{039c}\x{03bc} 2705 0: \x{b5}\x{39c}\x{3bc} 2706 2707 /[z\x{039c}]+/i,utf 2708 \x{00b5}\x{039c}\x{03bc} 2709 0: \x{b5}\x{39c}\x{3bc} 2710 2711 /[z\x{03bc}]+/i,utf 2712 \x{00b5}\x{039c}\x{03bc} 2713 0: \x{b5}\x{39c}\x{3bc} 2714 2715 /[z\x{00c5}]+/i,utf 2716 \x{00c5}\x{00e5}\x{212b} 2717 0: \x{c5}\x{e5}\x{212b} 2718 2719 /[z\x{00e5}]+/i,utf 2720 \x{00c5}\x{00e5}\x{212b} 2721 0: \x{c5}\x{e5}\x{212b} 2722 2723 /[z\x{212b}]+/i,utf 2724 \x{00c5}\x{00e5}\x{212b} 2725 0: \x{c5}\x{e5}\x{212b} 2726 2727 /[z\x{01c4}]+/i,utf 2728 \x{01c4}\x{01c5}\x{01c6} 2729 0: \x{1c4}\x{1c5}\x{1c6} 2730 2731 /[z\x{01c5}]+/i,utf 2732 \x{01c4}\x{01c5}\x{01c6} 2733 0: \x{1c4}\x{1c5}\x{1c6} 2734 2735 /[z\x{01c6}]+/i,utf 2736 \x{01c4}\x{01c5}\x{01c6} 2737 0: \x{1c4}\x{1c5}\x{1c6} 2738 2739 /[z\x{01c7}]+/i,utf 2740 \x{01c7}\x{01c8}\x{01c9} 2741 0: \x{1c7}\x{1c8}\x{1c9} 2742 2743 /[z\x{01c8}]+/i,utf 2744 \x{01c7}\x{01c8}\x{01c9} 2745 0: \x{1c7}\x{1c8}\x{1c9} 2746 2747 /[z\x{01c9}]+/i,utf 2748 \x{01c7}\x{01c8}\x{01c9} 2749 0: \x{1c7}\x{1c8}\x{1c9} 2750 2751 /[z\x{01ca}]+/i,utf 2752 \x{01ca}\x{01cb}\x{01cc} 2753 0: \x{1ca}\x{1cb}\x{1cc} 2754 2755 /[z\x{01cb}]+/i,utf 2756 \x{01ca}\x{01cb}\x{01cc} 2757 0: \x{1ca}\x{1cb}\x{1cc} 2758 2759 /[z\x{01cc}]+/i,utf 2760 \x{01ca}\x{01cb}\x{01cc} 2761 0: \x{1ca}\x{1cb}\x{1cc} 2762 2763 /[z\x{01f1}]+/i,utf 2764 \x{01f1}\x{01f2}\x{01f3} 2765 0: \x{1f1}\x{1f2}\x{1f3} 2766 2767 /[z\x{01f2}]+/i,utf 2768 \x{01f1}\x{01f2}\x{01f3} 2769 0: \x{1f1}\x{1f2}\x{1f3} 2770 2771 /[z\x{01f3}]+/i,utf 2772 \x{01f1}\x{01f2}\x{01f3} 2773 0: \x{1f1}\x{1f2}\x{1f3} 2774 2775 /[z\x{0345}]+/i,utf 2776 \x{0345}\x{0399}\x{03b9}\x{1fbe} 2777 0: \x{345}\x{399}\x{3b9}\x{1fbe} 2778 2779 /[z\x{0399}]+/i,utf 2780 \x{0345}\x{0399}\x{03b9}\x{1fbe} 2781 0: \x{345}\x{399}\x{3b9}\x{1fbe} 2782 2783 /[z\x{03b9}]+/i,utf 2784 \x{0345}\x{0399}\x{03b9}\x{1fbe} 2785 0: \x{345}\x{399}\x{3b9}\x{1fbe} 2786 2787 /[z\x{1fbe}]+/i,utf 2788 \x{0345}\x{0399}\x{03b9}\x{1fbe} 2789 0: \x{345}\x{399}\x{3b9}\x{1fbe} 2790 2791 /[z\x{0392}]+/i,utf 2792 \x{0392}\x{03b2}\x{03d0} 2793 0: \x{392}\x{3b2}\x{3d0} 2794 2795 /[z\x{03b2}]+/i,utf 2796 \x{0392}\x{03b2}\x{03d0} 2797 0: \x{392}\x{3b2}\x{3d0} 2798 2799 /[z\x{03d0}]+/i,utf 2800 \x{0392}\x{03b2}\x{03d0} 2801 0: \x{392}\x{3b2}\x{3d0} 2802 2803 /[z\x{0395}]+/i,utf 2804 \x{0395}\x{03b5}\x{03f5} 2805 0: \x{395}\x{3b5}\x{3f5} 2806 2807 /[z\x{03b5}]+/i,utf 2808 \x{0395}\x{03b5}\x{03f5} 2809 0: \x{395}\x{3b5}\x{3f5} 2810 2811 /[z\x{03f5}]+/i,utf 2812 \x{0395}\x{03b5}\x{03f5} 2813 0: \x{395}\x{3b5}\x{3f5} 2814 2815 /[z\x{0398}]+/i,utf 2816 \x{0398}\x{03b8}\x{03d1}\x{03f4} 2817 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 2818 2819 /[z\x{03b8}]+/i,utf 2820 \x{0398}\x{03b8}\x{03d1}\x{03f4} 2821 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 2822 2823 /[z\x{03d1}]+/i,utf 2824 \x{0398}\x{03b8}\x{03d1}\x{03f4} 2825 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 2826 2827 /[z\x{03f4}]+/i,utf 2828 \x{0398}\x{03b8}\x{03d1}\x{03f4} 2829 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 2830 2831 /[z\x{039a}]+/i,utf 2832 \x{039a}\x{03ba}\x{03f0} 2833 0: \x{39a}\x{3ba}\x{3f0} 2834 2835 /[z\x{03ba}]+/i,utf 2836 \x{039a}\x{03ba}\x{03f0} 2837 0: \x{39a}\x{3ba}\x{3f0} 2838 2839 /[z\x{03f0}]+/i,utf 2840 \x{039a}\x{03ba}\x{03f0} 2841 0: \x{39a}\x{3ba}\x{3f0} 2842 2843 /[z\x{03a0}]+/i,utf 2844 \x{03a0}\x{03c0}\x{03d6} 2845 0: \x{3a0}\x{3c0}\x{3d6} 2846 2847 /[z\x{03c0}]+/i,utf 2848 \x{03a0}\x{03c0}\x{03d6} 2849 0: \x{3a0}\x{3c0}\x{3d6} 2850 2851 /[z\x{03d6}]+/i,utf 2852 \x{03a0}\x{03c0}\x{03d6} 2853 0: \x{3a0}\x{3c0}\x{3d6} 2854 2855 /[z\x{03a1}]+/i,utf 2856 \x{03a1}\x{03c1}\x{03f1} 2857 0: \x{3a1}\x{3c1}\x{3f1} 2858 2859 /[z\x{03c1}]+/i,utf 2860 \x{03a1}\x{03c1}\x{03f1} 2861 0: \x{3a1}\x{3c1}\x{3f1} 2862 2863 /[z\x{03f1}]+/i,utf 2864 \x{03a1}\x{03c1}\x{03f1} 2865 0: \x{3a1}\x{3c1}\x{3f1} 2866 2867 /[z\x{03a3}]+/i,utf 2868 \x{03A3}\x{03C2}\x{03C3} 2869 0: \x{3a3}\x{3c2}\x{3c3} 2870 2871 /[z\x{03c2}]+/i,utf 2872 \x{03A3}\x{03C2}\x{03C3} 2873 0: \x{3a3}\x{3c2}\x{3c3} 2874 2875 /[z\x{03c3}]+/i,utf 2876 \x{03A3}\x{03C2}\x{03C3} 2877 0: \x{3a3}\x{3c2}\x{3c3} 2878 2879 /[z\x{03a6}]+/i,utf 2880 \x{03a6}\x{03c6}\x{03d5} 2881 0: \x{3a6}\x{3c6}\x{3d5} 2882 2883 /[z\x{03c6}]+/i,utf 2884 \x{03a6}\x{03c6}\x{03d5} 2885 0: \x{3a6}\x{3c6}\x{3d5} 2886 2887 /[z\x{03d5}]+/i,utf 2888 \x{03a6}\x{03c6}\x{03d5} 2889 0: \x{3a6}\x{3c6}\x{3d5} 2890 2891 /[z\x{03c9}]+/i,utf 2892 \x{03c9}\x{03a9}\x{2126} 2893 0: \x{3c9}\x{3a9}\x{2126} 2894 2895 /[z\x{03a9}]+/i,utf 2896 \x{03c9}\x{03a9}\x{2126} 2897 0: \x{3c9}\x{3a9}\x{2126} 2898 2899 /[z\x{2126}]+/i,utf 2900 \x{03c9}\x{03a9}\x{2126} 2901 0: \x{3c9}\x{3a9}\x{2126} 2902 2903 /[z\x{1e60}]+/i,utf 2904 \x{1e60}\x{1e61}\x{1e9b} 2905 0: \x{1e60}\x{1e61}\x{1e9b} 2906 2907 /[z\x{1e61}]+/i,utf 2908 \x{1e60}\x{1e61}\x{1e9b} 2909 0: \x{1e60}\x{1e61}\x{1e9b} 2910 2911 /[z\x{1e9b}]+/i,utf 2912 \x{1e60}\x{1e61}\x{1e9b} 2913 0: \x{1e60}\x{1e61}\x{1e9b} 2914 2915 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK 2916 2917 /[z\x{004b}]+/i,utf 2918 \x{004b}\x{006b}\x{212a} 2919 0: Kk\x{212a} 2920 2921 /[z\x{006b}]+/i,utf 2922 \x{004b}\x{006b}\x{212a} 2923 0: Kk\x{212a} 2924 2925 /[z\x{212a}]+/i,utf 2926 \x{004b}\x{006b}\x{212a} 2927 0: Kk\x{212a} 2928 2929 /[z\x{0053}]+/i,utf 2930 \x{0053}\x{0073}\x{017f} 2931 0: Ss\x{17f} 2932 2933 /[z\x{0073}]+/i,utf 2934 \x{0053}\x{0073}\x{017f} 2935 0: Ss\x{17f} 2936 2937 /[z\x{017f}]+/i,utf 2938 \x{0053}\x{0073}\x{017f} 2939 0: Ss\x{17f} 2940 2941 # -------------------------------------- 2942 2943 /() \1/i,utf 2944 2945 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2946 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2947 2948 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2949 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2950 2951 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2952 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2953 2954 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c3} 2955 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2956 2957 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2958 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2959 2960 /() \1/i,utf 2961 2962 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2963 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2964 2965 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2966 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2967 2968 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2969 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2970 2971 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c3} 2972 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2973 2974 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2975 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} 2976 2977 /() \1*/i,utf 2978 \x20 2979 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2980 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2981 2982 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} 2983 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} 2984 2985 # Perl matches these 2986 2987 /\x{00b5}+/i,utf 2988 \x{00b5}\x{039c}\x{03bc} 2989 0: \x{b5}\x{39c}\x{3bc} 2990 2991 /\x{039c}+/i,utf 2992 \x{00b5}\x{039c}\x{03bc} 2993 0: \x{b5}\x{39c}\x{3bc} 2994 2995 /\x{03bc}+/i,utf 2996 \x{00b5}\x{039c}\x{03bc} 2997 0: \x{b5}\x{39c}\x{3bc} 2998 2999 3000 /\x{00c5}+/i,utf 3001 \x{00c5}\x{00e5}\x{212b} 3002 0: \x{c5}\x{e5}\x{212b} 3003 3004 /\x{00e5}+/i,utf 3005 \x{00c5}\x{00e5}\x{212b} 3006 0: \x{c5}\x{e5}\x{212b} 3007 3008 /\x{212b}+/i,utf 3009 \x{00c5}\x{00e5}\x{212b} 3010 0: \x{c5}\x{e5}\x{212b} 3011 3012 3013 /\x{01c4}+/i,utf 3014 \x{01c4}\x{01c5}\x{01c6} 3015 0: \x{1c4}\x{1c5}\x{1c6} 3016 3017 /\x{01c5}+/i,utf 3018 \x{01c4}\x{01c5}\x{01c6} 3019 0: \x{1c4}\x{1c5}\x{1c6} 3020 3021 /\x{01c6}+/i,utf 3022 \x{01c4}\x{01c5}\x{01c6} 3023 0: \x{1c4}\x{1c5}\x{1c6} 3024 3025 3026 /\x{01c7}+/i,utf 3027 \x{01c7}\x{01c8}\x{01c9} 3028 0: \x{1c7}\x{1c8}\x{1c9} 3029 3030 /\x{01c8}+/i,utf 3031 \x{01c7}\x{01c8}\x{01c9} 3032 0: \x{1c7}\x{1c8}\x{1c9} 3033 3034 /\x{01c9}+/i,utf 3035 \x{01c7}\x{01c8}\x{01c9} 3036 0: \x{1c7}\x{1c8}\x{1c9} 3037 3038 3039 /\x{01ca}+/i,utf 3040 \x{01ca}\x{01cb}\x{01cc} 3041 0: \x{1ca}\x{1cb}\x{1cc} 3042 3043 /\x{01cb}+/i,utf 3044 \x{01ca}\x{01cb}\x{01cc} 3045 0: \x{1ca}\x{1cb}\x{1cc} 3046 3047 /\x{01cc}+/i,utf 3048 \x{01ca}\x{01cb}\x{01cc} 3049 0: \x{1ca}\x{1cb}\x{1cc} 3050 3051 3052 /\x{01f1}+/i,utf 3053 \x{01f1}\x{01f2}\x{01f3} 3054 0: \x{1f1}\x{1f2}\x{1f3} 3055 3056 /\x{01f2}+/i,utf 3057 \x{01f1}\x{01f2}\x{01f3} 3058 0: \x{1f1}\x{1f2}\x{1f3} 3059 3060 /\x{01f3}+/i,utf 3061 \x{01f1}\x{01f2}\x{01f3} 3062 0: \x{1f1}\x{1f2}\x{1f3} 3063 3064 3065 /\x{0345}+/i,utf 3066 \x{0345}\x{0399}\x{03b9}\x{1fbe} 3067 0: \x{345}\x{399}\x{3b9}\x{1fbe} 3068 3069 /\x{0399}+/i,utf 3070 \x{0345}\x{0399}\x{03b9}\x{1fbe} 3071 0: \x{345}\x{399}\x{3b9}\x{1fbe} 3072 3073 /\x{03b9}+/i,utf 3074 \x{0345}\x{0399}\x{03b9}\x{1fbe} 3075 0: \x{345}\x{399}\x{3b9}\x{1fbe} 3076 3077 /\x{1fbe}+/i,utf 3078 \x{0345}\x{0399}\x{03b9}\x{1fbe} 3079 0: \x{345}\x{399}\x{3b9}\x{1fbe} 3080 3081 3082 /\x{0392}+/i,utf 3083 \x{0392}\x{03b2}\x{03d0} 3084 0: \x{392}\x{3b2}\x{3d0} 3085 3086 /\x{03b2}+/i,utf 3087 \x{0392}\x{03b2}\x{03d0} 3088 0: \x{392}\x{3b2}\x{3d0} 3089 3090 /\x{03d0}+/i,utf 3091 \x{0392}\x{03b2}\x{03d0} 3092 0: \x{392}\x{3b2}\x{3d0} 3093 3094 3095 /\x{0395}+/i,utf 3096 \x{0395}\x{03b5}\x{03f5} 3097 0: \x{395}\x{3b5}\x{3f5} 3098 3099 /\x{03b5}+/i,utf 3100 \x{0395}\x{03b5}\x{03f5} 3101 0: \x{395}\x{3b5}\x{3f5} 3102 3103 /\x{03f5}+/i,utf 3104 \x{0395}\x{03b5}\x{03f5} 3105 0: \x{395}\x{3b5}\x{3f5} 3106 3107 3108 /\x{0398}+/i,utf 3109 \x{0398}\x{03b8}\x{03d1}\x{03f4} 3110 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 3111 3112 /\x{03b8}+/i,utf 3113 \x{0398}\x{03b8}\x{03d1}\x{03f4} 3114 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 3115 3116 /\x{03d1}+/i,utf 3117 \x{0398}\x{03b8}\x{03d1}\x{03f4} 3118 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 3119 3120 /\x{03f4}+/i,utf 3121 \x{0398}\x{03b8}\x{03d1}\x{03f4} 3122 0: \x{398}\x{3b8}\x{3d1}\x{3f4} 3123 3124 3125 /\x{039a}+/i,utf 3126 \x{039a}\x{03ba}\x{03f0} 3127 0: \x{39a}\x{3ba}\x{3f0} 3128 3129 /\x{03ba}+/i,utf 3130 \x{039a}\x{03ba}\x{03f0} 3131 0: \x{39a}\x{3ba}\x{3f0} 3132 3133 /\x{03f0}+/i,utf 3134 \x{039a}\x{03ba}\x{03f0} 3135 0: \x{39a}\x{3ba}\x{3f0} 3136 3137 3138 /\x{03a0}+/i,utf 3139 \x{03a0}\x{03c0}\x{03d6} 3140 0: \x{3a0}\x{3c0}\x{3d6} 3141 3142 /\x{03c0}+/i,utf 3143 \x{03a0}\x{03c0}\x{03d6} 3144 0: \x{3a0}\x{3c0}\x{3d6} 3145 3146 /\x{03d6}+/i,utf 3147 \x{03a0}\x{03c0}\x{03d6} 3148 0: \x{3a0}\x{3c0}\x{3d6} 3149 3150 3151 /\x{03a1}+/i,utf 3152 \x{03a1}\x{03c1}\x{03f1} 3153 0: \x{3a1}\x{3c1}\x{3f1} 3154 3155 /\x{03c1}+/i,utf 3156 \x{03a1}\x{03c1}\x{03f1} 3157 0: \x{3a1}\x{3c1}\x{3f1} 3158 3159 /\x{03f1}+/i,utf 3160 \x{03a1}\x{03c1}\x{03f1} 3161 0: \x{3a1}\x{3c1}\x{3f1} 3162 3163 3164 /\x{03a3}+/i,utf 3165 \x{03A3}\x{03C2}\x{03C3} 3166 0: \x{3a3}\x{3c2}\x{3c3} 3167 3168 /\x{03c2}+/i,utf 3169 \x{03A3}\x{03C2}\x{03C3} 3170 0: \x{3a3}\x{3c2}\x{3c3} 3171 3172 /\x{03c3}+/i,utf 3173 \x{03A3}\x{03C2}\x{03C3} 3174 0: \x{3a3}\x{3c2}\x{3c3} 3175 3176 3177 /\x{03a6}+/i,utf 3178 \x{03a6}\x{03c6}\x{03d5} 3179 0: \x{3a6}\x{3c6}\x{3d5} 3180 3181 /\x{03c6}+/i,utf 3182 \x{03a6}\x{03c6}\x{03d5} 3183 0: \x{3a6}\x{3c6}\x{3d5} 3184 3185 /\x{03d5}+/i,utf 3186 \x{03a6}\x{03c6}\x{03d5} 3187 0: \x{3a6}\x{3c6}\x{3d5} 3188 3189 3190 /\x{03c9}+/i,utf 3191 \x{03c9}\x{03a9}\x{2126} 3192 0: \x{3c9}\x{3a9}\x{2126} 3193 3194 /\x{03a9}+/i,utf 3195 \x{03c9}\x{03a9}\x{2126} 3196 0: \x{3c9}\x{3a9}\x{2126} 3197 3198 /\x{2126}+/i,utf 3199 \x{03c9}\x{03a9}\x{2126} 3200 0: \x{3c9}\x{3a9}\x{2126} 3201 3202 3203 /\x{1e60}+/i,utf 3204 \x{1e60}\x{1e61}\x{1e9b} 3205 0: \x{1e60}\x{1e61}\x{1e9b} 3206 3207 /\x{1e61}+/i,utf 3208 \x{1e60}\x{1e61}\x{1e9b} 3209 0: \x{1e60}\x{1e61}\x{1e9b} 3210 3211 /\x{1e9b}+/i,utf 3212 \x{1e60}\x{1e61}\x{1e9b} 3213 0: \x{1e60}\x{1e61}\x{1e9b} 3214 3215 3216 /\x{1e9e}+/i,utf 3217 \x{1e9e}\x{00df} 3218 0: \x{1e9e}\x{df} 3219 3220 /\x{00df}+/i,utf 3221 \x{1e9e}\x{00df} 3222 0: \x{1e9e}\x{df} 3223 3224 3225 /\x{1f88}+/i,utf 3226 \x{1f88}\x{1f80} 3227 0: \x{1f88}\x{1f80} 3228 3229 /\x{1f80}+/i,utf 3230 \x{1f88}\x{1f80} 3231 0: \x{1f88}\x{1f80} 3232 3233 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK 3234 3235 /\x{004b}+/i,utf 3236 \x{004b}\x{006b}\x{212a} 3237 0: Kk\x{212a} 3238 3239 /\x{006b}+/i,utf 3240 \x{004b}\x{006b}\x{212a} 3241 0: Kk\x{212a} 3242 3243 /\x{212a}+/i,utf 3244 \x{004b}\x{006b}\x{212a} 3245 0: Kk\x{212a} 3246 3247 3248 /\x{0053}+/i,utf 3249 \x{0053}\x{0073}\x{017f} 3250 0: Ss\x{17f} 3251 3252 /\x{0073}+/i,utf 3253 \x{0053}\x{0073}\x{017f} 3254 0: Ss\x{17f} 3255 3256 /\x{017f}+/i,utf 3257 \x{0053}\x{0073}\x{017f} 3258 0: Ss\x{17f} 3259 3260 /^\p{Any}*\d{4}/utf 3261 1234 3262 0: 1234 3263 \= Expect no match 3264 123 3265 No match 3266 3267 /^\X*\w{4}/utf 3268 1234 3269 0: 1234 3270 \= Expect no match 3271 123 3272 No match 3273 3274 /^A\s+Z/utf,ucp 3275 A\x{2005}Z 3276 0: A\x{2005}Z 3277 A\x{85}\x{2005}Z 3278 0: A\x{85}\x{2005}Z 3279 3280 /^A[\s]+Z/utf,ucp 3281 A\x{2005}Z 3282 0: A\x{2005}Z 3283 A\x{85}\x{2005}Z 3284 0: A\x{85}\x{2005}Z 3285 3286 /^[[:graph:]]+$/utf,ucp 3287 Letter:ABC 3288 0: Letter:ABC 3289 Mark:\x{300}\x{1d172}\x{1d17b} 3290 0: Mark:\x{300}\x{1d172}\x{1d17b} 3291 Number:9\x{660} 3292 0: Number:9\x{660} 3293 Punctuation:\x{66a},; 3294 0: Punctuation:\x{66a},; 3295 Symbol:\x{6de}<>\x{fffc} 3296 0: Symbol:\x{6de}<>\x{fffc} 3297 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3298 0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3299 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3300 0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3301 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3302 0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3303 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3304 0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3305 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3306 0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3307 \x{feff} 3308 0: \x{feff} 3309 \x{fff9}\x{fffa}\x{fffb} 3310 0: \x{fff9}\x{fffa}\x{fffb} 3311 \x{110bd} 3312 0: \x{110bd} 3313 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3314 0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3315 \x{e0001} 3316 0: \x{e0001} 3317 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3318 0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3319 \= Expect no match 3320 \x{09} 3321 No match 3322 \x{0a} 3323 No match 3324 \x{1D} 3325 No match 3326 \x{20} 3327 No match 3328 \x{85} 3329 No match 3330 \x{a0} 3331 No match 3332 \x{1680} 3333 No match 3334 \x{2028} 3335 No match 3336 \x{2029} 3337 No match 3338 \x{202f} 3339 No match 3340 \x{2065} 3341 No match 3342 \x{3000} 3343 No match 3344 \x{e0002} 3345 No match 3346 \x{e001f} 3347 No match 3348 \x{e0080} 3349 No match 3350 3351 /^[[:print:]]+$/utf,ucp 3352 Space: \x{a0} 3353 0: Space: \x{a0} 3354 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 3355 0: \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 3356 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 3357 0: \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 3358 \x{202f}\x{205f} 3359 0: \x{202f}\x{205f} 3360 \x{3000} 3361 0: \x{3000} 3362 Letter:ABC 3363 0: Letter:ABC 3364 Mark:\x{300}\x{1d172}\x{1d17b} 3365 0: Mark:\x{300}\x{1d172}\x{1d17b} 3366 Number:9\x{660} 3367 0: Number:9\x{660} 3368 Punctuation:\x{66a},; 3369 0: Punctuation:\x{66a},; 3370 Symbol:\x{6de}<>\x{fffc} 3371 0: Symbol:\x{6de}<>\x{fffc} 3372 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3373 0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3374 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3375 0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3376 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3377 0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3378 \x{202f} 3379 0: \x{202f} 3380 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3381 0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3382 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3383 0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3384 \x{feff} 3385 0: \x{feff} 3386 \x{fff9}\x{fffa}\x{fffb} 3387 0: \x{fff9}\x{fffa}\x{fffb} 3388 \x{110bd} 3389 0: \x{110bd} 3390 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3391 0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3392 \x{e0001} 3393 0: \x{e0001} 3394 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3395 0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3396 \= Expect no match 3397 \x{09} 3398 No match 3399 \x{1D} 3400 No match 3401 \x{85} 3402 No match 3403 \x{2028} 3404 No match 3405 \x{2029} 3406 No match 3407 \x{2065} 3408 No match 3409 \x{e0002} 3410 No match 3411 \x{e001f} 3412 No match 3413 \x{e0080} 3414 No match 3415 3416 /^[[:punct:]]+$/utf,ucp 3417 \$+<=>^`|~ 3418 0: $+<=>^`|~ 3419 !\"#%&'()*,-./:;?@[\\]_{} 3420 0: !"#%&'()*,-./:;?@[\]_{} 3421 \x{a1}\x{a7} 3422 0: \x{a1}\x{a7} 3423 \x{37e} 3424 0: \x{37e} 3425 \= Expect no match 3426 abcde 3427 No match 3428 3429 /^[[:^graph:]]+$/utf,ucp 3430 \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{1680} 3431 0: \x{09}\x{0a}\x{1d} \x{85}\x{a0}\x{1680} 3432 \x{2028}\x{2029}\x{202f}\x{2065} 3433 0: \x{2028}\x{2029}\x{202f}\x{2065} 3434 \x{3000}\x{e0002}\x{e001f}\x{e0080} 3435 0: \x{3000}\x{e0002}\x{e001f}\x{e0080} 3436 \= Expect no match 3437 Letter:ABC 3438 No match 3439 Mark:\x{300}\x{1d172}\x{1d17b} 3440 No match 3441 Number:9\x{660} 3442 No match 3443 Punctuation:\x{66a},; 3444 No match 3445 Symbol:\x{6de}<>\x{fffc} 3446 No match 3447 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3448 No match 3449 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3450 No match 3451 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3452 No match 3453 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3454 No match 3455 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3456 No match 3457 \x{feff} 3458 No match 3459 \x{fff9}\x{fffa}\x{fffb} 3460 No match 3461 \x{110bd} 3462 No match 3463 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3464 No match 3465 \x{e0001} 3466 No match 3467 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3468 No match 3469 3470 /^[[:^print:]]+$/utf,ucp 3471 \x{09}\x{1D}\x{85}\x{2028}\x{2029}\x{2065} 3472 0: \x{09}\x{1d}\x{85}\x{2028}\x{2029}\x{2065} 3473 \x{e0002}\x{e001f}\x{e0080} 3474 0: \x{e0002}\x{e001f}\x{e0080} 3475 \= Expect no match 3476 Space: \x{a0} 3477 No match 3478 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 3479 No match 3480 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 3481 No match 3482 \x{202f}\x{205f} 3483 No match 3484 \x{3000} 3485 No match 3486 Letter:ABC 3487 No match 3488 Mark:\x{300}\x{1d172}\x{1d17b} 3489 No match 3490 Number:9\x{660} 3491 No match 3492 Punctuation:\x{66a},; 3493 No match 3494 Symbol:\x{6de}<>\x{fffc} 3495 No match 3496 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 3497 No match 3498 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 3499 No match 3500 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 3501 No match 3502 \x{202f} 3503 No match 3504 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 3505 No match 3506 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 3507 No match 3508 \x{feff} 3509 No match 3510 \x{fff9}\x{fffa}\x{fffb} 3511 No match 3512 \x{110bd} 3513 No match 3514 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 3515 No match 3516 \x{e0001} 3517 No match 3518 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 3519 No match 3520 3521 /^[[:^punct:]]+$/utf,ucp 3522 abcde 3523 0: abcde 3524 \= Expect no match 3525 \$+<=>^`|~ 3526 No match 3527 !\"#%&'()*,-./:;?@[\\]_{} 3528 No match 3529 \x{a1}\x{a7} 3530 No match 3531 \x{37e} 3532 No match 3533 3534 /[RST]+/i,utf,ucp 3535 Ss\x{17f} 3536 0: Ss\x{17f} 3537 3538 /[R-T]+/i,utf,ucp 3539 Ss\x{17f} 3540 0: Ss\x{17f} 3541 3542 /[q-u]+/i,utf,ucp 3543 Ss\x{17f} 3544 0: Ss\x{17f} 3545 3546 /^s?c/im,utf 3547 scat 3548 0: sc 3549 3550 # The next four tests are for repeated caseless back references when the 3551 # code unit length of the matched text is different to that of the original 3552 # group in the UTF-8 case. 3553 3554 /^(\x{23a})\1*(.)/i,utf 3555 \x{23a}\x{23a}\x{23a}\x{23a} 3556 0: \x{23a}\x{23a}\x{23a}\x{23a} 3557 1: \x{23a} 3558 2: \x{23a} 3559 \x{23a}\x{2c65}\x{2c65}\x{2c65} 3560 0: \x{23a}\x{2c65}\x{2c65}\x{2c65} 3561 1: \x{23a} 3562 2: \x{2c65} 3563 \x{23a}\x{23a}\x{2c65}\x{23a} 3564 0: \x{23a}\x{23a}\x{2c65}\x{23a} 3565 1: \x{23a} 3566 2: \x{23a} 3567 3568 /^(\x{23a})\1*(..)/i,utf 3569 \x{23a}\x{2c65}\x{2c65}\x{2c65} 3570 0: \x{23a}\x{2c65}\x{2c65}\x{2c65} 3571 1: \x{23a} 3572 2: \x{2c65}\x{2c65} 3573 \x{23a}\x{23a}\x{2c65}\x{23a} 3574 0: \x{23a}\x{23a}\x{2c65}\x{23a} 3575 1: \x{23a} 3576 2: \x{2c65}\x{23a} 3577 3578 /^(\x{23a})\1*(...)/i,utf 3579 \x{23a}\x{2c65}\x{2c65}\x{2c65} 3580 0: \x{23a}\x{2c65}\x{2c65}\x{2c65} 3581 1: \x{23a} 3582 2: \x{2c65}\x{2c65}\x{2c65} 3583 \x{23a}\x{23a}\x{2c65}\x{23a} 3584 0: \x{23a}\x{23a}\x{2c65}\x{23a} 3585 1: \x{23a} 3586 2: \x{23a}\x{2c65}\x{23a} 3587 3588 /^(\x{23a})\1*(....)/i,utf 3589 \= Expect no match 3590 \x{23a}\x{2c65}\x{2c65}\x{2c65} 3591 No match 3592 \x{23a}\x{23a}\x{2c65}\x{23a} 3593 No match 3594 3595 /[A-`]/i,utf 3596 abcdefghijklmno 3597 0: a 3598 3599 "[\S\V\H]"utf 3600 3601 /[^\p{Any}]*+x/utf 3602 x 3603 0: x 3604 3605 /[[:punct:]]/utf,ucp 3606 \x{b4} 3607 No match 3608 3609 /[[:^ascii:]]/utf,ucp 3610 \x{100} 3611 0: \x{100} 3612 \x{200} 3613 0: \x{200} 3614 \x{300} 3615 0: \x{300} 3616 \x{37e} 3617 0: \x{37e} 3618 \= Expect no match 3619 aa 3620 No match 3621 99 3622 No match 3623 3624 /[[:^ascii:]\w]/utf,ucp 3625 aa 3626 0: a 3627 99 3628 0: 9 3629 gg 3630 0: g 3631 \x{100} 3632 0: \x{100} 3633 \x{200} 3634 0: \x{200} 3635 \x{300} 3636 0: \x{300} 3637 \x{37e} 3638 0: \x{37e} 3639 3640 /[\w[:^ascii:]]/utf,ucp 3641 aa 3642 0: a 3643 99 3644 0: 9 3645 gg 3646 0: g 3647 \x{100} 3648 0: \x{100} 3649 \x{200} 3650 0: \x{200} 3651 \x{300} 3652 0: \x{300} 3653 \x{37e} 3654 0: \x{37e} 3655 3656 /[^[:ascii:]\W]/utf,ucp 3657 \x{100} 3658 0: \x{100} 3659 \x{200} 3660 0: \x{200} 3661 \= Expect no match 3662 aa 3663 No match 3664 99 3665 No match 3666 gg 3667 No match 3668 \x{37e} 3669 No match 3670 3671 /[^[:^ascii:]\d]/utf,ucp 3672 a 3673 0: a 3674 ~ 3675 0: ~ 3676 \a 3677 0: \x{07} 3678 \x{7f} 3679 0: \x{7f} 3680 \= Expect no match 3681 0 3682 No match 3683 \x{389} 3684 No match 3685 \x{20ac} 3686 No match 3687 3688 /(?=.*b)\pL/ 3689 11bb 3690 0: b 3691 3692 /(?(?=.*b)(?=.*b)\pL|.*c)/ 3693 11bb 3694 0: b 3695 3696 /^\x{123}+?$/utf,no_auto_possess 3697 \x{123}\x{123}\x{123} 3698 0: \x{123}\x{123}\x{123} 3699 3700 /^\x{123}+?$/i,utf,no_auto_possess 3701 \x{123}\x{122}\x{123} 3702 0: \x{123}\x{122}\x{123} 3703 \= Expect no match 3704 \x{123}\x{124}\x{123} 3705 No match 3706 3707 /\N{U+1234}/utf 3708 \x{1234} 3709 0: \x{1234} 3710 3711 /[\N{U+1234}]/utf 3712 \x{1234} 3713 0: \x{1234} 3714 3715 # Test the full list of Unicode "Pattern White Space" characters that are to 3716 # be ignored by /x. The pattern lines below may show up oddly in text editors 3717 # or when listed to the screen. Note that characters such as U+2002, which are 3718 # matched as space by \h and \v are *not* "Pattern White Space". 3719 3720 /AB/x,utf 3724 AB 3725 0: AB 3726 3727 /AB/x,utf 3728 A\x{2002}B 3729 0: A\x{2002}B 3730 \= Expect no match 3731 AB 3732 No match 3733 3734 # ------- 3735 3736 /[^\x{100}-\x{ffff}]*[\x80-\xff]/utf 3737 \x{99}\x{99}\x{99} 3738 0: \x{99}\x{99}\x{99} 3739 3740 /[^\x{100}-\x{ffff}ABC]*[\x80-\xff]/utf 3741 \x{99}\x{99}\x{99} 3742 0: \x{99}\x{99}\x{99} 3743 3744 /[^\x{100}-\x{ffff}]*[\x80-\xff]/i,utf 3745 \x{99}\x{99}\x{99} 3746 0: \x{99}\x{99}\x{99} 3747 3748 # End of testinput4 3749