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# WARNING: Use only / as the pattern delimiter. Although pcre2test supports 7# a number of delimiters, all those other than / give problems with the 8# perltest.sh script. 9 10#newline_default lf anycrlf any 11#perltest 12 13/a.b/utf 14 acb 15 a\x7fb 16 a\x{100}b 17\= Expect no match 18 a\nb 19 20/a(.{3})b/utf 21 a\x{4000}xyb 22 a\x{4000}\x7fyb 23 a\x{4000}\x{100}yb 24\= Expect no match 25 a\x{4000}b 26 ac\ncb 27 28/a(.*?)(.)/ 29 a\xc0\x88b 30 31/a(.*?)(.)/utf 32 a\x{100}b 33 34/a(.*)(.)/ 35 a\xc0\x88b 36 37/a(.*)(.)/utf 38 a\x{100}b 39 40/a(.)(.)/ 41 a\xc0\x92bcd 42 43/a(.)(.)/utf 44 a\x{240}bcd 45 46/a(.?)(.)/ 47 a\xc0\x92bcd 48 49/a(.?)(.)/utf 50 a\x{240}bcd 51 52/a(.??)(.)/ 53 a\xc0\x92bcd 54 55/a(.??)(.)/utf 56 a\x{240}bcd 57 58/a(.{3})b/utf 59 a\x{1234}xyb 60 a\x{1234}\x{4321}yb 61 a\x{1234}\x{4321}\x{3412}b 62\= Expect no match 63 a\x{1234}b 64 ac\ncb 65 66/a(.{3,})b/utf 67 a\x{1234}xyb 68 a\x{1234}\x{4321}yb 69 a\x{1234}\x{4321}\x{3412}b 70 axxxxbcdefghijb 71 a\x{1234}\x{4321}\x{3412}\x{3421}b 72\= Expect no match 73 a\x{1234}b 74 75/a(.{3,}?)b/utf 76 a\x{1234}xyb 77 a\x{1234}\x{4321}yb 78 a\x{1234}\x{4321}\x{3412}b 79 axxxxbcdefghijb 80 a\x{1234}\x{4321}\x{3412}\x{3421}b 81\= Expect no match 82 a\x{1234}b 83 84/a(.{3,5})b/utf 85 a\x{1234}xyb 86 a\x{1234}\x{4321}yb 87 a\x{1234}\x{4321}\x{3412}b 88 axxxxbcdefghijb 89 a\x{1234}\x{4321}\x{3412}\x{3421}b 90 axbxxbcdefghijb 91 axxxxxbcdefghijb 92\= Expect no match 93 a\x{1234}b 94 axxxxxxbcdefghijb 95 96/a(.{3,5}?)b/utf 97 a\x{1234}xyb 98 a\x{1234}\x{4321}yb 99 a\x{1234}\x{4321}\x{3412}b 100 axxxxbcdefghijb 101 a\x{1234}\x{4321}\x{3412}\x{3421}b 102 axbxxbcdefghijb 103 axxxxxbcdefghijb 104\= Expect no match 105 a\x{1234}b 106 axxxxxxbcdefghijb 107 108/^[a\x{c0}]/utf 109\= Expect no match 110 \x{100} 111 112/(?<=aXb)cd/utf 113 aXbcd 114 115/(?<=a\x{100}b)cd/utf 116 a\x{100}bcd 117 118/(?<=a\x{100000}b)cd/utf 119 a\x{100000}bcd 120 121/(?:\x{100}){3}b/utf 122 \x{100}\x{100}\x{100}b 123\= Expect no match 124 \x{100}\x{100}b 125 126/\x{ab}/utf 127 \x{ab} 128 \xc2\xab 129\= Expect no match 130 \x00{ab} 131 132/(?<=(.))X/utf 133 WXYZ 134 \x{256}XYZ 135\= Expect no match 136 XYZ 137 138/[^a]+/g,utf 139 bcd 140 \x{100}aY\x{256}Z 141 142/^[^a]{2}/utf 143 \x{100}bc 144 145/^[^a]{2,}/utf 146 \x{100}bcAa 147 148/^[^a]{2,}?/utf 149 \x{100}bca 150 151/[^a]+/gi,utf 152 bcd 153 \x{100}aY\x{256}Z 154 155/^[^a]{2}/i,utf 156 \x{100}bc 157 158/^[^a]{2,}/i,utf 159 \x{100}bcAa 160 161/^[^a]{2,}?/i,utf 162 \x{100}bca 163 164/\x{100}{0,0}/utf 165 abcd 166 167/\x{100}?/utf 168 abcd 169 \x{100}\x{100} 170 171/\x{100}{0,3}/utf 172 \x{100}\x{100} 173 \x{100}\x{100}\x{100}\x{100} 174 175/\x{100}*/utf 176 abce 177 \x{100}\x{100}\x{100}\x{100} 178 179/\x{100}{1,1}/utf 180 abcd\x{100}\x{100}\x{100}\x{100} 181 182/\x{100}{1,3}/utf 183 abcd\x{100}\x{100}\x{100}\x{100} 184 185/\x{100}+/utf 186 abcd\x{100}\x{100}\x{100}\x{100} 187 188/\x{100}{3}/utf 189 abcd\x{100}\x{100}\x{100}XX 190 191/\x{100}{3,5}/utf 192 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 193 194/\x{100}{3,}/utf 195 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX 196 197/(?<=a\x{100}{2}b)X/utf,aftertext 198 Xyyya\x{100}\x{100}bXzzz 199 200/\D*/utf 201 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 202 203/\D*/utf 204 \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100} 205 206/\D/utf 207 1X2 208 1\x{100}2 209 210/>\S/utf 211 > >X Y 212 > >\x{100} Y 213 214/\d/utf 215 \x{100}3 216 217/\s/utf 218 \x{100} X 219 220/\D+/utf 221 12abcd34 222\= Expect no match 223 1234 224 225/\D{2,3}/utf 226 12abcd34 227 12ab34 228\= Expect no match 229 1234 230 12a34 231 232/\D{2,3}?/utf 233 12abcd34 234 12ab34 235\= Expect no match 236 1234 237 12a34 238 239/\d+/utf 240 12abcd34 241 242/\d{2,3}/utf 243 12abcd34 244 1234abcd 245\= Expect no match 246 1.4 247 248/\d{2,3}?/utf 249 12abcd34 250 1234abcd 251\= Expect no match 252 1.4 253 254/\S+/utf 255 12abcd34 256\= Expect no match 257 \ \ 258 259/\S{2,3}/utf 260 12abcd34 261 1234abcd 262\= Expect no match 263 \ \ 264 265/\S{2,3}?/utf 266 12abcd34 267 1234abcd 268\= Expect no match 269 \ \ 270 271/>\s+</utf,aftertext 272 12> <34 273 274/>\s{2,3}</utf,aftertext 275 ab> <cd 276 ab> <ce 277\= Expect no match 278 ab> <cd 279 280/>\s{2,3}?</utf,aftertext 281 ab> <cd 282 ab> <ce 283\= Expect no match 284 ab> <cd 285 286/\w+/utf 287 12 34 288\= Expect no match 289 +++=*! 290 291/\w{2,3}/utf 292 ab cd 293 abcd ce 294\= Expect no match 295 a.b.c 296 297/\w{2,3}?/utf 298 ab cd 299 abcd ce 300\= Expect no match 301 a.b.c 302 303/\W+/utf 304 12====34 305\= Expect no match 306 abcd 307 308/\W{2,3}/utf 309 ab====cd 310 ab==cd 311\= Expect no match 312 a.b.c 313 314/\W{2,3}?/utf 315 ab====cd 316 ab==cd 317\= Expect no match 318 a.b.c 319 320/[\x{100}]/utf 321 \x{100} 322 Z\x{100} 323 \x{100}Z 324 325/[Z\x{100}]/utf 326 Z\x{100} 327 \x{100} 328 \x{100}Z 329 330/[\x{100}\x{200}]/utf 331 ab\x{100}cd 332 ab\x{200}cd 333 334/[\x{100}-\x{200}]/utf 335 ab\x{100}cd 336 ab\x{200}cd 337 ab\x{111}cd 338 339/[z-\x{200}]/utf 340 ab\x{100}cd 341 ab\x{200}cd 342 ab\x{111}cd 343 abzcd 344 ab|cd 345 346/[Q\x{100}\x{200}]/utf 347 ab\x{100}cd 348 ab\x{200}cd 349 Q? 350 351/[Q\x{100}-\x{200}]/utf 352 ab\x{100}cd 353 ab\x{200}cd 354 ab\x{111}cd 355 Q? 356 357/[Qz-\x{200}]/utf 358 ab\x{100}cd 359 ab\x{200}cd 360 ab\x{111}cd 361 abzcd 362 ab|cd 363 Q? 364 365/[\x{100}\x{200}]{1,3}/utf 366 ab\x{100}cd 367 ab\x{200}cd 368 ab\x{200}\x{100}\x{200}\x{100}cd 369 370/[\x{100}\x{200}]{1,3}?/utf 371 ab\x{100}cd 372 ab\x{200}cd 373 ab\x{200}\x{100}\x{200}\x{100}cd 374 375/[Q\x{100}\x{200}]{1,3}/utf 376 ab\x{100}cd 377 ab\x{200}cd 378 ab\x{200}\x{100}\x{200}\x{100}cd 379 380/[Q\x{100}\x{200}]{1,3}?/utf 381 ab\x{100}cd 382 ab\x{200}cd 383 ab\x{200}\x{100}\x{200}\x{100}cd 384 385/(?<=[\x{100}\x{200}])X/utf 386 abc\x{200}X 387 abc\x{100}X 388\= Expect no match 389 X 390 391/(?<=[Q\x{100}\x{200}])X/utf 392 abc\x{200}X 393 abc\x{100}X 394 abQX 395\= Expect no match 396 X 397 398/(?<=[\x{100}\x{200}]{3})X/utf 399 abc\x{100}\x{200}\x{100}X 400\= Expect no match 401 abc\x{200}X 402 X 403 404/[^\x{100}\x{200}]X/utf 405 AX 406 \x{150}X 407 \x{500}X 408\= Expect no match 409 \x{100}X 410 \x{200}X 411 412/[^Q\x{100}\x{200}]X/utf 413 AX 414 \x{150}X 415 \x{500}X 416\= Expect no match 417 \x{100}X 418 \x{200}X 419 QX 420 421/[^\x{100}-\x{200}]X/utf 422 AX 423 \x{500}X 424\= Expect no match 425 \x{100}X 426 \x{150}X 427 \x{200}X 428 429/[z-\x{100}]/i,utf 430 z 431 Z 432 \x{100} 433\= Expect no match 434 \x{102} 435 y 436 437/[\xFF]/ 438 >\xff< 439 440/[\xff]/utf 441 >\x{ff}< 442 443/[^\xFF]/ 444 XYZ 445 446/[^\xff]/utf 447 XYZ 448 \x{123} 449 450/^[ac]*b/utf 451\= Expect no match 452 xb 453 454/^[ac\x{100}]*b/utf 455\= Expect no match 456 xb 457 458/^[^x]*b/i,utf 459\= Expect no match 460 xb 461 462/^[^x]*b/utf 463\= Expect no match 464 xb 465 466/^\d*b/utf 467\= Expect no match 468 xb 469 470/(|a)/g,utf 471 catac 472 a\x{256}a 473 474/^\x{85}$/i,utf 475 \x{85} 476 477/^ሴ/utf 478 ሴ 479 480/^\ሴ/utf 481 ሴ 482 483/(?s)(.{1,5})/utf 484 abcdefg 485 ab 486 487/a*\x{100}*\w/utf 488 a 489 490/\S\S/g,utf 491 A\x{a3}BC 492 493/\S{2}/g,utf 494 A\x{a3}BC 495 496/\W\W/g,utf 497 +\x{a3}== 498 499/\W{2}/g,utf 500 +\x{a3}== 501 502/\S/g,utf 503 \x{442}\x{435}\x{441}\x{442} 504 505/[\S]/g,utf 506 \x{442}\x{435}\x{441}\x{442} 507 508/\D/g,utf 509 \x{442}\x{435}\x{441}\x{442} 510 511/[\D]/g,utf 512 \x{442}\x{435}\x{441}\x{442} 513 514/\W/g,utf 515 \x{2442}\x{2435}\x{2441}\x{2442} 516 517/[\W]/g,utf 518 \x{2442}\x{2435}\x{2441}\x{2442} 519 520/[\S\s]*/utf 521 abc\n\r\x{442}\x{435}\x{441}\x{442}xyz 522 523/[\x{41f}\S]/g,utf 524 \x{442}\x{435}\x{441}\x{442} 525 526/.[^\S]./g,utf 527 abc def\x{442}\x{443}xyz\npqr 528 529/.[^\S\n]./g,utf 530 abc def\x{442}\x{443}xyz\npqr 531 532/[[:^alnum:]]/g,utf 533 +\x{2442} 534 535/[[:^alpha:]]/g,utf 536 +\x{2442} 537 538/[[:^ascii:]]/g,utf 539 A\x{442} 540 541/[[:^blank:]]/g,utf 542 A\x{442} 543 544/[[:^cntrl:]]/g,utf 545 A\x{442} 546 547/[[:^digit:]]/g,utf 548 A\x{442} 549 550/[[:^graph:]]/g,utf 551 \x19\x{e01ff} 552 553/[[:^lower:]]/g,utf 554 A\x{422} 555 556/[[:^print:]]/g,utf 557 \x{19}\x{e01ff} 558 559/[[:^punct:]]/g,utf 560 A\x{442} 561 562/[[:^space:]]/g,utf 563 A\x{442} 564 565/[[:^upper:]]/g,utf 566 a\x{442} 567 568/[[:^word:]]/g,utf 569 +\x{2442} 570 571/[[:^xdigit:]]/g,utf 572 M\x{442} 573 574/[^ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉƊƋƎƏƐƑƓƔƖƗƘƜƝƟƠƢƤƦƧƩƬƮƯƱƲƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶǷǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁΆΈΉΊΌΎΏΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϒϓϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽϾϿЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸԀԂԄԆԈԊԌԎԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸἈἉἊἋἌἍἎἏἘἙἚἛἜἝἨἩἪἫἬἭἮἯἸἹἺἻἼἽἾἿὈὉὊὋὌὍὙὛὝὟὨὩὪὫὬὭὮὯᾸᾹᾺΆῈΈῊΉῘῙῚΊῨῩῪΎῬῸΌῺΏabcdefghijklmnopqrstuvwxyzªµºßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżžſƀƃƅƈƌƍƒƕƙƚƛƞơƣƥƨƪƫƭưƴƶƹƺƽƾƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳȴȵȶȷȸȹȼȿɀɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯΐάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϐϑϕϖϗϙϛϝϟϡϣϥϧϩϫϭϯϰϱϲϳϵϸϻϼабвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹԁԃԅԇԉԋԍԏաբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆևᴀᴁᴂᴃᴄᴅᴆᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡᴢᴣᴤᴥᴦᴧᴨᴩᴪᴫᵢᵣᵤᵥᵦᵧᵨᵩᵪᵫᵬᵭᵮᵯᵰᵱᵲᵳᵴᵵᵶᵷᵹᵺᵻᵼᵽᵾᵿᶀᶁᶂᶃᶄᶅᶆᶇᶈᶉᶊᶋᶌᶍᶎᶏᶐᶑᶒᶓᶔᶕᶖᶗᶘᶙᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚẛạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾰᾱᾲᾳᾴᾶᾷιῂῃῄῆῇῐῑῒΐῖῗῠῡῢΰῤῥῦῧῲῳῴῶῷⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⴀⴁⴂⴃⴄⴅⴆⴇⴈⴉⴊⴋⴌⴍⴎⴏⴐⴑⴒⴓⴔⴕⴖⴗⴘⴙⴚⴛⴜⴝⴞⴟⴠⴡⴢⴣⴤⴥfffiflffifflſtstﬓﬔﬕﬖﬗ\d_^]/utf 575 576/^[^d]*?$/ 577 abc 578 579/^[^d]*?$/utf 580 abc 581 582/^[^d]*?$/i 583 abc 584 585/^[^d]*?$/i,utf 586 abc 587 588/(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]/utf 589 590/^[a\x{c0}]b/utf 591 \x{c0}b 592 593/^([a\x{c0}]*?)aa/utf 594 a\x{c0}aaaa/ 595 596/^([a\x{c0}]*?)aa/utf 597 a\x{c0}aaaa/ 598 a\x{c0}a\x{c0}aaa/ 599 600/^([a\x{c0}]*)aa/utf 601 a\x{c0}aaaa/ 602 a\x{c0}a\x{c0}aaa/ 603 604/^([a\x{c0}]*)a\x{c0}/utf 605 a\x{c0}aaaa/ 606 a\x{c0}a\x{c0}aaa/ 607 608/A*/g,utf 609 AAB\x{123}BAA 610 611/(abc)\1/i,utf 612\= Expect no match 613 abc 614 615/(abc)\1/utf 616\= Expect no match 617 abc 618 619/a(*:a\x{1234}b)/utf,mark 620 abc 621 622/a(*:a£b)/utf,mark 623 abc 624 625# Noncharacters 626 627/./utf 628 \x{fffe} 629 \x{ffff} 630 \x{1fffe} 631 \x{1ffff} 632 \x{2fffe} 633 \x{2ffff} 634 \x{3fffe} 635 \x{3ffff} 636 \x{4fffe} 637 \x{4ffff} 638 \x{5fffe} 639 \x{5ffff} 640 \x{6fffe} 641 \x{6ffff} 642 \x{7fffe} 643 \x{7ffff} 644 \x{8fffe} 645 \x{8ffff} 646 \x{9fffe} 647 \x{9ffff} 648 \x{afffe} 649 \x{affff} 650 \x{bfffe} 651 \x{bffff} 652 \x{cfffe} 653 \x{cffff} 654 \x{dfffe} 655 \x{dffff} 656 \x{efffe} 657 \x{effff} 658 \x{ffffe} 659 \x{fffff} 660 \x{10fffe} 661 \x{10ffff} 662 \x{fdd0} 663 \x{fdd1} 664 \x{fdd2} 665 \x{fdd3} 666 \x{fdd4} 667 \x{fdd5} 668 \x{fdd6} 669 \x{fdd7} 670 \x{fdd8} 671 \x{fdd9} 672 \x{fdda} 673 \x{fddb} 674 \x{fddc} 675 \x{fddd} 676 \x{fdde} 677 \x{fddf} 678 \x{fde0} 679 \x{fde1} 680 \x{fde2} 681 \x{fde3} 682 \x{fde4} 683 \x{fde5} 684 \x{fde6} 685 \x{fde7} 686 \x{fde8} 687 \x{fde9} 688 \x{fdea} 689 \x{fdeb} 690 \x{fdec} 691 \x{fded} 692 \x{fdee} 693 \x{fdef} 694 695/^\d*\w{4}/utf 696 1234 697\= Expect no match 698 123 699 700/^[^b]*\w{4}/utf 701 aaaa 702\= Expect no match 703 aaa 704 705/^[^b]*\w{4}/i,utf 706 aaaa 707\= Expect no match 708 aaa 709 710/^\x{100}*.{4}/utf 711 \x{100}\x{100}\x{100}\x{100} 712\= Expect no match 713 \x{100}\x{100}\x{100} 714 715/^\x{100}*.{4}/i,utf 716 \x{100}\x{100}\x{100}\x{100} 717\= Expect no match 718 \x{100}\x{100}\x{100} 719 720/^a+[a\x{200}]/utf 721 aa 722 723/^.\B.\B./utf 724 \x{10123}\x{10124}\x{10125} 725 726/^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/utf 727 #\x{10000}#\x{100}#\x{10ffff}# 728 729# Unicode property support tests 730 731/^\pC\pL\pM\pN\pP\pS\pZ</utf 732 \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}< 733 \np\x{300}9!\$ < 734\= Expect no match 735 ap\x{300}9!\$ < 736 737/^\PC/utf 738 X 739\= Expect no match 740 \x7f 741 742/^\PL/utf 743 9 744\= Expect no match 745 \x{c0} 746 747/^\PM/utf 748 X 749\= Expect no match 750 \x{30f} 751 752/^\PN/utf 753 X 754\= Expect no match 755 \x{660} 756 757/^\PP/utf 758 X 759\= Expect no match 760 \x{66c} 761 762/^\PS/utf 763 X 764\= Expect no match 765 \x{f01} 766 767/^\PZ/utf 768 X 769\= Expect no match 770 \x{1680} 771 772/^\p{Cc}/utf 773 \x{017} 774 \x{09f} 775\= Expect no match 776 \x{0600} 777 778/^\p{Cf}/utf 779 \x{601} 780\= Expect no match 781 \x{09f} 782 783/^\p{Cn}/utf 784 \x{e0000} 785\= Expect no match 786 \x{09f} 787 788/^\p{Co}/utf 789 \x{f8ff} 790\= Expect no match 791 \x{09f} 792 793/^\p{Ll}/utf 794 a 795\= Expect no match 796 Z 797 \x{e000} 798 799/^\p{Lm}/utf 800 \x{2b0} 801\= Expect no match 802 a 803 804/^\p{Lo}/utf 805 \x{1bb} 806 \x{3400} 807 \x{3401} 808 \x{4d00} 809 \x{4db4} 810 \x{4db5} 811 \x{4db6} 812\= Expect no match 813 a 814 \x{2b0} 815 816/^\p{Lt}/utf 817 \x{1c5} 818\= Expect no match 819 a 820 \x{2b0} 821 822/^\p{Lu}/utf 823 A 824\= Expect no match 825 \x{2b0} 826 827/^\p{Mc}/utf 828 \x{903} 829\= Expect no match 830 X 831 \x{300} 832 833/^\p{Me}/utf 834 \x{488} 835\= Expect no match 836 X 837 \x{903} 838 \x{300} 839 840/^\p{Mn}/utf 841 \x{300} 842\= Expect no match 843 X 844 \x{903} 845 846/^\p{Nd}+/utf 847 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a} 848 \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa} 849 \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970} 850\= Expect no match 851 X 852 853/^\p{Nl}/utf 854 \x{16ee} 855\= Expect no match 856 X 857 \x{966} 858 859/^\p{No}/utf 860 \x{b2} 861 \x{b3} 862\= Expect no match 863 X 864 \x{16ee} 865 866/^\p{Pc}/utf 867 \x5f 868 \x{203f} 869\= Expect no match 870 X 871 - 872 \x{58a} 873 874/^\p{Pd}/utf 875 - 876 \x{58a} 877\= Expect no match 878 X 879 \x{203f} 880 881/^\p{Pe}/utf 882 ) 883 ] 884 } 885 \x{f3b} 886\= Expect no match 887 X 888 \x{203f} 889 ( 890 [ 891 { 892 \x{f3c} 893 894/^\p{Pf}/utf 895 \x{bb} 896 \x{2019} 897\= Expect no match 898 X 899 \x{203f} 900 901/^\p{Pi}/utf 902 \x{ab} 903 \x{2018} 904\= Expect no match 905 X 906 \x{203f} 907 908/^\p{Po}/utf 909 ! 910 \x{37e} 911\= Expect no match 912 X 913 \x{203f} 914 915/^\p{Ps}/utf 916 ( 917 [ 918 { 919 \x{f3c} 920\= Expect no match 921 X 922 ) 923 ] 924 } 925 \x{f3b} 926 927/^\p{Sk}/utf 928 \x{2c2} 929\= Expect no match 930 X 931 \x{9f2} 932 933/^\p{Sm}+/utf 934 +<|~\x{ac}\x{2044} 935\= Expect no match 936 X 937 \x{9f2} 938 939/^\p{So}/utf 940 \x{a6} 941 \x{482} 942\= Expect no match 943 X 944 \x{9f2} 945 946/^\p{Zl}/utf 947 \x{2028} 948\= Expect no match 949 X 950 \x{2029} 951 952/^\p{Zp}/utf 953 \x{2029} 954\= Expect no match 955 X 956 \x{2028} 957 958/\p{Nd}+(..)/utf 959 \x{660}\x{661}\x{662}ABC 960 961/\p{Nd}+?(..)/utf 962 \x{660}\x{661}\x{662}ABC 963 964/\p{Nd}{2,}(..)/utf 965 \x{660}\x{661}\x{662}ABC 966 967/\p{Nd}{2,}?(..)/utf 968 \x{660}\x{661}\x{662}ABC 969 970/\p{Nd}*(..)/utf 971 \x{660}\x{661}\x{662}ABC 972 973/\p{Nd}*?(..)/utf 974 \x{660}\x{661}\x{662}ABC 975 976/\p{Nd}{2}(..)/utf 977 \x{660}\x{661}\x{662}ABC 978 979/\p{Nd}{2,3}(..)/utf 980 \x{660}\x{661}\x{662}ABC 981 982/\p{Nd}{2,3}?(..)/utf 983 \x{660}\x{661}\x{662}ABC 984 985/\p{Nd}?(..)/utf 986 \x{660}\x{661}\x{662}ABC 987 988/\p{Nd}??(..)/utf 989 \x{660}\x{661}\x{662}ABC 990 991/\p{Nd}*+(..)/utf 992 \x{660}\x{661}\x{662}ABC 993 994/\p{Nd}*+(...)/utf 995 \x{660}\x{661}\x{662}ABC 996 997/\p{Nd}*+(....)/utf 998\= Expect no match 999 \x{660}\x{661}\x{662}ABC 1000 1001/(?<=A\p{Nd})XYZ/utf 1002 A2XYZ 1003 123A5XYZPQR 1004 ABA\x{660}XYZpqr 1005\= Expect no match 1006 AXYZ 1007 XYZ 1008 1009/(?<!\pL)XYZ/utf 1010 1XYZ 1011 AB=XYZ.. 1012 XYZ 1013\= Expect no match 1014 WXYZ 1015 1016/[\P{Nd}]+/utf 1017 abcd 1018\= Expect no match 1019 1234 1020 1021/\D+/utf 1022 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1023\= Expect no match 1024 11111111111111111111111111111111111111111111111111111111111111111111111 1025 1026/\P{Nd}+/utf 1027 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1028\= Expect no match 1029 11111111111111111111111111111111111111111111111111111111111111111111111 1030 1031/[\D]+/utf 1032 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1033\= Expect no match 1034 11111111111111111111111111111111111111111111111111111111111111111111111 1035 1036/[\P{Nd}]+/utf 1037 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1038\= Expect no match 1039 11111111111111111111111111111111111111111111111111111111111111111111111 1040 1041/[\D\P{Nd}]+/utf 1042 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1043\= Expect no match 1044 11111111111111111111111111111111111111111111111111111111111111111111111 1045 1046/\pL/utf 1047 a 1048 A 1049 1050/\pL/i,utf 1051 a 1052 A 1053 1054/\p{Lu}/utf 1055 A 1056 aZ 1057\= Expect no match 1058 abc 1059 1060/\p{Ll}/utf 1061 a 1062 Az 1063\= Expect no match 1064 ABC 1065 1066/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf 1067 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 1068\= Expect no match 1069 a\x{391}\x{10427}\x{ff3a}\x{1fb0} 1070 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} 1071 A\x{391}\x{1044F}\x{ff3a}\x{1fb0} 1072 A\x{391}\x{10427}\x{ff5a}\x{1fb0} 1073 A\x{391}\x{10427}\x{ff3a}\x{1fb8} 1074 1075/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf 1076 A\x{391}\x{10427}\x{ff3a}\x{1fb0} 1077 a\x{391}\x{10427}\x{ff3a}\x{1fb0} 1078 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} 1079 A\x{391}\x{1044F}\x{ff3a}\x{1fb0} 1080 A\x{391}\x{10427}\x{ff5a}\x{1fb0} 1081 A\x{391}\x{10427}\x{ff3a}\x{1fb8} 1082 1083/\x{391}+/i,utf 1084 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} 1085 1086/\x{391}{3,5}(.)/i,utf 1087 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X 1088 1089/\x{391}{3,5}?(.)/i,utf 1090 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X 1091 1092/[\x{391}\x{ff3a}]/i,utf 1093 \x{391} 1094 \x{ff3a} 1095 \x{3b1} 1096 \x{ff5a} 1097 1098/^(\X*)C/utf 1099 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1100 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1101 1102/^(\X*?)C/utf 1103 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1104 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1105 1106/^(\X*)(.)/utf 1107 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1108 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1109 1110/^(\X*?)(.)/utf 1111 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 1112 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 1113 1114/^\X(.)/utf 1115\= Expect no match 1116 A\x{300}\x{301}\x{302} 1117 1118/^\X{2,3}(.)/utf 1119 A\x{300}\x{301}B\x{300}X 1120 A\x{300}\x{301}B\x{300}C\x{300}\x{301} 1121 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X 1122 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X 1123 1124/^\X{2,3}?(.)/utf 1125 A\x{300}\x{301}B\x{300}X 1126 A\x{300}\x{301}B\x{300}C\x{300}\x{301} 1127 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X 1128 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X 1129 1130/^\X/utf 1131 A 1132 A\x{300}BC 1133 A\x{300}\x{301}\x{302}BC 1134 \x{300} 1135 1136/^\p{Han}+/utf 1137 \x{2e81}\x{3007}\x{2f804}\x{31a0} 1138\= Expect no match 1139 \x{2e7f} 1140 1141/^\P{Katakana}+/utf 1142 \x{3105} 1143\= Expect no match 1144 \x{30ff} 1145 1146/^[\p{Arabic}]/utf 1147 \x{06e9} 1148 \x{060b} 1149\= Expect no match 1150 X\x{06e9} 1151 1152/^[\P{Yi}]/utf 1153 \x{2f800} 1154\= Expect no match 1155 \x{a014} 1156 \x{a4c6} 1157 1158/^\p{Any}X/utf 1159 AXYZ 1160 \x{1234}XYZ 1161\= Expect no match 1162 X 1163 1164/^\P{Any}X/utf 1165\= Expect no match 1166 AX 1167 1168/^\p{Any}?X/utf 1169 XYZ 1170 AXYZ 1171 \x{1234}XYZ 1172\= Expect no match 1173 ABXYZ 1174 1175/^\P{Any}?X/utf 1176 XYZ 1177\= Expect no match 1178 AXYZ 1179 \x{1234}XYZ 1180 ABXYZ 1181 1182/^\p{Any}+X/utf 1183 AXYZ 1184 \x{1234}XYZ 1185 A\x{1234}XYZ 1186\= Expect no match 1187 XYZ 1188 1189/^\P{Any}+X/utf 1190\= Expect no match 1191 AXYZ 1192 \x{1234}XYZ 1193 A\x{1234}XYZ 1194 XYZ 1195 1196/^\p{Any}*X/utf 1197 XYZ 1198 AXYZ 1199 \x{1234}XYZ 1200 A\x{1234}XYZ 1201 1202/^\P{Any}*X/utf 1203 XYZ 1204\= Expect no match 1205 AXYZ 1206 \x{1234}XYZ 1207 A\x{1234}XYZ 1208 1209/^[\p{Any}]X/utf 1210 AXYZ 1211 \x{1234}XYZ 1212\= Expect no match 1213 X 1214 1215/^[\P{Any}]X/utf 1216\= Expect no match 1217 AX 1218 1219/^[\p{Any}]?X/utf 1220 XYZ 1221 AXYZ 1222 \x{1234}XYZ 1223\= Expect no match 1224 ABXYZ 1225 1226/^[\P{Any}]?X/utf 1227 XYZ 1228\= Expect no match 1229 AXYZ 1230 \x{1234}XYZ 1231 ABXYZ 1232 1233/^[\p{Any}]+X/utf 1234 AXYZ 1235 \x{1234}XYZ 1236 A\x{1234}XYZ 1237\= Expect no match 1238 XYZ 1239 1240/^[\P{Any}]+X/utf 1241\= Expect no match 1242 AXYZ 1243 \x{1234}XYZ 1244 A\x{1234}XYZ 1245 XYZ 1246 1247/^[\p{Any}]*X/utf 1248 XYZ 1249 AXYZ 1250 \x{1234}XYZ 1251 A\x{1234}XYZ 1252 1253/^[\P{Any}]*X/utf 1254 XYZ 1255\= Expect no match 1256 AXYZ 1257 \x{1234}XYZ 1258 A\x{1234}XYZ 1259 1260/^\p{Any}{3,5}?/utf 1261 abcdefgh 1262 \x{1234}\n\r\x{3456}xyz 1263 1264/^\p{Any}{3,5}/utf 1265 abcdefgh 1266 \x{1234}\n\r\x{3456}xyz 1267 1268/^\P{Any}{3,5}?/utf 1269\= Expect no match 1270 abcdefgh 1271 \x{1234}\n\r\x{3456}xyz 1272 1273/^\p{L&}X/utf 1274 AXY 1275 aXY 1276 \x{1c5}XY 1277\= Expect no match 1278 \x{1bb}XY 1279 \x{2b0}XY 1280 !XY 1281 1282/^[\p{L&}]X/utf 1283 AXY 1284 aXY 1285 \x{1c5}XY 1286\= Expect no match 1287 \x{1bb}XY 1288 \x{2b0}XY 1289 !XY 1290 1291/^\p{L&}+X/utf 1292 AXY 1293 aXY 1294 AbcdeXyz 1295 \x{1c5}AbXY 1296 abcDEXypqreXlmn 1297\= Expect no match 1298 \x{1bb}XY 1299 \x{2b0}XY 1300 !XY 1301 1302/^[\p{L&}]+X/utf 1303 AXY 1304 aXY 1305 AbcdeXyz 1306 \x{1c5}AbXY 1307 abcDEXypqreXlmn 1308\= Expect no match 1309 \x{1bb}XY 1310 \x{2b0}XY 1311 !XY 1312 1313/^\p{L&}+?X/utf 1314 AXY 1315 aXY 1316 AbcdeXyz 1317 \x{1c5}AbXY 1318 abcDEXypqreXlmn 1319\= Expect no match 1320 \x{1bb}XY 1321 \x{2b0}XY 1322 !XY 1323 1324/^[\p{L&}]+?X/utf 1325 AXY 1326 aXY 1327 AbcdeXyz 1328 \x{1c5}AbXY 1329 abcDEXypqreXlmn 1330\= Expect no match 1331 \x{1bb}XY 1332 \x{2b0}XY 1333 !XY 1334 1335/^\P{L&}X/utf 1336 !XY 1337 \x{1bb}XY 1338 \x{2b0}XY 1339\= Expect no match 1340 \x{1c5}XY 1341 AXY 1342 1343/^[\P{L&}]X/utf 1344 !XY 1345 \x{1bb}XY 1346 \x{2b0}XY 1347\= Expect no match 1348 \x{1c5}XY 1349 AXY 1350 1351/^(\p{Z}[^\p{C}\p{Z}]+)*$/ 1352 \xa0! 1353 1354/^[\pL](abc)(?1)/ 1355 AabcabcYZ 1356 1357/([\pL]=(abc))*X/ 1358 L=abcX 1359 1360/^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/utf 1361 \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900} 1362 1363# Check property support in non-UTF mode 1364 1365/\p{L}{4}/ 1366 123abcdefg 1367 123abc\xc4\xc5zz 1368 1369/\X{1,3}\d/ 1370\= Expect no match 1371 \x8aBCD 1372 1373/\X?\d/ 1374\= Expect no match 1375 \x8aBCD 1376 1377/\P{L}?\d/ 1378\= Expect no match 1379 \x8aBCD 1380 1381/[\PPP\x8a]{1,}\x80/ 1382 A\x80 1383 1384/^[\p{Arabic}]/utf 1385 \x{604} 1386 \x{60e} 1387 \x{656} 1388 \x{657} 1389 \x{658} 1390 \x{659} 1391 \x{65a} 1392 \x{65b} 1393 \x{65c} 1394 \x{65d} 1395 \x{65e} 1396 \x{65f} 1397 \x{66a} 1398 \x{6e9} 1399 \x{6ef} 1400 \x{6fa} 1401 1402/^\p{Cyrillic}/utf 1403 \x{1d2b} 1404 1405/^\p{Common}/utf 1406 \x{2116} 1407 \x{1D183} 1408 1409/^\p{Inherited}/utf 1410 \x{200c} 1411\= Expect no match 1412 \x{64a} 1413 \x{656} 1414 1415/^\p{Shavian}/utf 1416 \x{10450} 1417 \x{1047f} 1418 1419/^\p{Deseret}/utf 1420 \x{10400} 1421 \x{1044f} 1422 1423/^\p{Osmanya}/utf 1424 \x{10480} 1425 \x{1049d} 1426 \x{104a0} 1427 \x{104a9} 1428\= Expect no match 1429 \x{1049e} 1430 \x{1049f} 1431 \x{104aa} 1432 1433/\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 1434 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}==== 1435 1436/\x{a77d}\x{1d79}/i,utf 1437 \x{a77d}\x{1d79} 1438 \x{1d79}\x{a77d} 1439 1440/\x{a77d}\x{1d79}/utf 1441 \x{a77d}\x{1d79} 1442\= Expect no match 1443 \x{1d79}\x{a77d} 1444 1445/(A)\1/i,utf 1446 AA 1447 Aa 1448 aa 1449 aA 1450 1451/(\x{10a})\1/i,utf 1452 \x{10a}\x{10a} 1453 \x{10a}\x{10b} 1454 \x{10b}\x{10b} 1455 \x{10b}\x{10a} 1456 1457# The next two tests are for property support in non-UTF mode 1458 1459/(?:\p{Lu}|\x20)+/ 1460 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 1461 1462/[\p{Lu}\x20]+/ 1463 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 1464 1465/\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 1466 \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} 1467 1468/^\w+/utf,ucp 1469 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 1470 1471/^[[:xdigit:]]*/utf,ucp 1472 1a\x{660}\x{bef}\x{16ee} 1473 1474/^\d+/utf,ucp 1475 1\x{660}\x{bef}\x{16ee} 1476 1477/^[[:digit:]]+/utf,ucp 1478 1\x{660}\x{bef}\x{16ee} 1479 1480/^>\s+/utf,ucp 1481 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1482 1483/^>\pZ+/utf,ucp 1484 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1485 1486/^>[[:space:]]*/utf,ucp 1487 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1488 1489/^>[[:blank:]]*/utf,ucp 1490 >\x{20}\x{a0}\x{1680}\x{2000}\x{202f}\x{9}\x{b}\x{2028} 1491 1492/^[[:alpha:]]*/utf,ucp 1493 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d} 1494 1495/^[[:alnum:]]*/utf,ucp 1496 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 1497 1498/^[[:cntrl:]]*/utf,ucp 1499 \x{0}\x{09}\x{1f}\x{7f}\x{9f} 1500 1501/^[[:graph:]]*/utf,ucp 1502 A\x{a1}\x{a0} 1503 1504/^[[:print:]]*/utf,ucp 1505 A z\x{a0}\x{a1} 1506 1507/^[[:punct:]]*/utf,ucp 1508 .+\x{a1}\x{a0} 1509 1510/\p{Zs}*?\R/ 1511\= Expect no match 1512 a\xFCb 1513 1514/\p{Zs}*\R/ 1515\= Expect no match 1516 a\xFCb 1517 1518/ⱥ/i,utf 1519 ⱥ 1520 Ⱥx 1521 Ⱥ 1522 1523/[ⱥ]/i,utf 1524 ⱥ 1525 Ⱥx 1526 Ⱥ 1527 1528/Ⱥ/i,utf 1529 Ⱥ 1530 ⱥ 1531 1532# These are tests for extended grapheme clusters 1533 1534/^\X/utf,aftertext 1535 G\x{34e}\x{34e}X 1536 \x{34e}\x{34e}X 1537 \x04X 1538 \x{1100}X 1539 \x{1100}\x{34e}X 1540 \x{1b04}\x{1b04}X 1541 *These match up to the roman letters 1542 \x{1111}\x{1111}L,L 1543 \x{1111}\x{1111}\x{1169}L,L,V 1544 \x{1111}\x{ae4c}L, LV 1545 \x{1111}\x{ad89}L, LVT 1546 \x{1111}\x{ae4c}\x{1169}L, LV, V 1547 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V 1548 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T 1549 \x{1111}\x{ad89}\x{11fe}L, LVT, T 1550 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T 1551 \x{ad89}\x{11fe}\x{11fe}LVT, T, T 1552 *These match just the first codepoint (invalid sequence) 1553 \x{1111}\x{11fe}L, T 1554 \x{ae4c}\x{1111}LV, L 1555 \x{ae4c}\x{ae4c}LV, LV 1556 \x{ae4c}\x{ad89}LV, LVT 1557 \x{1169}\x{1111}V, L 1558 \x{1169}\x{ae4c}V, LV 1559 \x{1169}\x{ad89}V, LVT 1560 \x{ad89}\x{1111}LVT, L 1561 \x{ad89}\x{1169}LVT, V 1562 \x{ad89}\x{ae4c}LVT, LV 1563 \x{ad89}\x{ad89}LVT, LVT 1564 \x{11fe}\x{1111}T, L 1565 \x{11fe}\x{1169}T, V 1566 \x{11fe}\x{ae4c}T, LV 1567 \x{11fe}\x{ad89}T, LVT 1568 *Test extend and spacing mark 1569 \x{1111}\x{ae4c}\x{0711}L, LV, extend 1570 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark 1571 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark 1572 *Test CR, LF, and control 1573 \x0d\x{0711}CR, extend 1574 \x0d\x{1b04}CR, spacingmark 1575 \x0a\x{0711}LF, extend 1576 \x0a\x{1b04}LF, spacingmark 1577 \x0b\x{0711}Control, extend 1578 \x09\x{1b04}Control, spacingmark 1579 *There are no Prepend characters, so we can't test Prepend, CR 1580 1581/^(?>\X{2})X/utf,aftertext 1582 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1583 1584/^\X{2,4}X/utf,aftertext 1585 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1586 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1587 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1588 1589/^\X{2,4}?X/utf,aftertext 1590 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1591 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1592 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1593 1594/\X*Z/utf,no_start_optimize 1595\= Expect no match 1596 A\x{300} 1597 1598/\X*(.)/utf,no_start_optimize 1599 A\x{1111}\x{ae4c}\x{1169} 1600 1601# -------------------------------------------- 1602 1603/\x{1e9e}+/i,utf 1604 \x{1e9e}\x{00df} 1605 1606/[z\x{1e9e}]+/i,utf 1607 \x{1e9e}\x{00df} 1608 1609/\x{00df}+/i,utf 1610 \x{1e9e}\x{00df} 1611 1612/[z\x{00df}]+/i,utf 1613 \x{1e9e}\x{00df} 1614 1615/\x{1f88}+/i,utf 1616 \x{1f88}\x{1f80} 1617 1618/[z\x{1f88}]+/i,utf 1619 \x{1f88}\x{1f80} 1620 1621# Check a reference with more than one other case 1622 1623/^(\x{00b5})\1{2}$/i,utf 1624 \x{00b5}\x{039c}\x{03bc} 1625 1626# Characters with more than one other case; test in classes 1627 1628/[z\x{00b5}]+/i,utf 1629 \x{00b5}\x{039c}\x{03bc} 1630 1631/[z\x{039c}]+/i,utf 1632 \x{00b5}\x{039c}\x{03bc} 1633 1634/[z\x{03bc}]+/i,utf 1635 \x{00b5}\x{039c}\x{03bc} 1636 1637/[z\x{00c5}]+/i,utf 1638 \x{00c5}\x{00e5}\x{212b} 1639 1640/[z\x{00e5}]+/i,utf 1641 \x{00c5}\x{00e5}\x{212b} 1642 1643/[z\x{212b}]+/i,utf 1644 \x{00c5}\x{00e5}\x{212b} 1645 1646/[z\x{01c4}]+/i,utf 1647 \x{01c4}\x{01c5}\x{01c6} 1648 1649/[z\x{01c5}]+/i,utf 1650 \x{01c4}\x{01c5}\x{01c6} 1651 1652/[z\x{01c6}]+/i,utf 1653 \x{01c4}\x{01c5}\x{01c6} 1654 1655/[z\x{01c7}]+/i,utf 1656 \x{01c7}\x{01c8}\x{01c9} 1657 1658/[z\x{01c8}]+/i,utf 1659 \x{01c7}\x{01c8}\x{01c9} 1660 1661/[z\x{01c9}]+/i,utf 1662 \x{01c7}\x{01c8}\x{01c9} 1663 1664/[z\x{01ca}]+/i,utf 1665 \x{01ca}\x{01cb}\x{01cc} 1666 1667/[z\x{01cb}]+/i,utf 1668 \x{01ca}\x{01cb}\x{01cc} 1669 1670/[z\x{01cc}]+/i,utf 1671 \x{01ca}\x{01cb}\x{01cc} 1672 1673/[z\x{01f1}]+/i,utf 1674 \x{01f1}\x{01f2}\x{01f3} 1675 1676/[z\x{01f2}]+/i,utf 1677 \x{01f1}\x{01f2}\x{01f3} 1678 1679/[z\x{01f3}]+/i,utf 1680 \x{01f1}\x{01f2}\x{01f3} 1681 1682/[z\x{0345}]+/i,utf 1683 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1684 1685/[z\x{0399}]+/i,utf 1686 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1687 1688/[z\x{03b9}]+/i,utf 1689 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1690 1691/[z\x{1fbe}]+/i,utf 1692 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1693 1694/[z\x{0392}]+/i,utf 1695 \x{0392}\x{03b2}\x{03d0} 1696 1697/[z\x{03b2}]+/i,utf 1698 \x{0392}\x{03b2}\x{03d0} 1699 1700/[z\x{03d0}]+/i,utf 1701 \x{0392}\x{03b2}\x{03d0} 1702 1703/[z\x{0395}]+/i,utf 1704 \x{0395}\x{03b5}\x{03f5} 1705 1706/[z\x{03b5}]+/i,utf 1707 \x{0395}\x{03b5}\x{03f5} 1708 1709/[z\x{03f5}]+/i,utf 1710 \x{0395}\x{03b5}\x{03f5} 1711 1712/[z\x{0398}]+/i,utf 1713 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1714 1715/[z\x{03b8}]+/i,utf 1716 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1717 1718/[z\x{03d1}]+/i,utf 1719 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1720 1721/[z\x{03f4}]+/i,utf 1722 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1723 1724/[z\x{039a}]+/i,utf 1725 \x{039a}\x{03ba}\x{03f0} 1726 1727/[z\x{03ba}]+/i,utf 1728 \x{039a}\x{03ba}\x{03f0} 1729 1730/[z\x{03f0}]+/i,utf 1731 \x{039a}\x{03ba}\x{03f0} 1732 1733/[z\x{03a0}]+/i,utf 1734 \x{03a0}\x{03c0}\x{03d6} 1735 1736/[z\x{03c0}]+/i,utf 1737 \x{03a0}\x{03c0}\x{03d6} 1738 1739/[z\x{03d6}]+/i,utf 1740 \x{03a0}\x{03c0}\x{03d6} 1741 1742/[z\x{03a1}]+/i,utf 1743 \x{03a1}\x{03c1}\x{03f1} 1744 1745/[z\x{03c1}]+/i,utf 1746 \x{03a1}\x{03c1}\x{03f1} 1747 1748/[z\x{03f1}]+/i,utf 1749 \x{03a1}\x{03c1}\x{03f1} 1750 1751/[z\x{03a3}]+/i,utf 1752 \x{03A3}\x{03C2}\x{03C3} 1753 1754/[z\x{03c2}]+/i,utf 1755 \x{03A3}\x{03C2}\x{03C3} 1756 1757/[z\x{03c3}]+/i,utf 1758 \x{03A3}\x{03C2}\x{03C3} 1759 1760/[z\x{03a6}]+/i,utf 1761 \x{03a6}\x{03c6}\x{03d5} 1762 1763/[z\x{03c6}]+/i,utf 1764 \x{03a6}\x{03c6}\x{03d5} 1765 1766/[z\x{03d5}]+/i,utf 1767 \x{03a6}\x{03c6}\x{03d5} 1768 1769/[z\x{03c9}]+/i,utf 1770 \x{03c9}\x{03a9}\x{2126} 1771 1772/[z\x{03a9}]+/i,utf 1773 \x{03c9}\x{03a9}\x{2126} 1774 1775/[z\x{2126}]+/i,utf 1776 \x{03c9}\x{03a9}\x{2126} 1777 1778/[z\x{1e60}]+/i,utf 1779 \x{1e60}\x{1e61}\x{1e9b} 1780 1781/[z\x{1e61}]+/i,utf 1782 \x{1e60}\x{1e61}\x{1e9b} 1783 1784/[z\x{1e9b}]+/i,utf 1785 \x{1e60}\x{1e61}\x{1e9b} 1786 1787# Perl 5.12.4 gets these wrong, but 5.15.3 is OK 1788 1789/[z\x{004b}]+/i,utf 1790 \x{004b}\x{006b}\x{212a} 1791 1792/[z\x{006b}]+/i,utf 1793 \x{004b}\x{006b}\x{212a} 1794 1795/[z\x{212a}]+/i,utf 1796 \x{004b}\x{006b}\x{212a} 1797 1798/[z\x{0053}]+/i,utf 1799 \x{0053}\x{0073}\x{017f} 1800 1801/[z\x{0073}]+/i,utf 1802 \x{0053}\x{0073}\x{017f} 1803 1804/[z\x{017f}]+/i,utf 1805 \x{0053}\x{0073}\x{017f} 1806 1807# -------------------------------------- 1808 1809/(ΣΆΜΟΣ) \1/i,utf 1810 ΣΆΜΟΣ ΣΆΜΟΣ 1811 ΣΆΜΟΣ σάμος 1812 σάμος σάμος 1813 σάμος σάμοσ 1814 σάμος ΣΆΜΟΣ 1815 1816/(σάμος) \1/i,utf 1817 ΣΆΜΟΣ ΣΆΜΟΣ 1818 ΣΆΜΟΣ σάμος 1819 σάμος σάμος 1820 σάμος σάμοσ 1821 σάμος ΣΆΜΟΣ 1822 1823/(ΣΆΜΟΣ) \1*/i,utf 1824 ΣΆΜΟΣ\x20 1825 ΣΆΜΟΣ ΣΆΜΟΣσάμοςσάμος 1826 1827# Perl matches these 1828 1829/\x{00b5}+/i,utf 1830 \x{00b5}\x{039c}\x{03bc} 1831 1832/\x{039c}+/i,utf 1833 \x{00b5}\x{039c}\x{03bc} 1834 1835/\x{03bc}+/i,utf 1836 \x{00b5}\x{039c}\x{03bc} 1837 1838 1839/\x{00c5}+/i,utf 1840 \x{00c5}\x{00e5}\x{212b} 1841 1842/\x{00e5}+/i,utf 1843 \x{00c5}\x{00e5}\x{212b} 1844 1845/\x{212b}+/i,utf 1846 \x{00c5}\x{00e5}\x{212b} 1847 1848 1849/\x{01c4}+/i,utf 1850 \x{01c4}\x{01c5}\x{01c6} 1851 1852/\x{01c5}+/i,utf 1853 \x{01c4}\x{01c5}\x{01c6} 1854 1855/\x{01c6}+/i,utf 1856 \x{01c4}\x{01c5}\x{01c6} 1857 1858 1859/\x{01c7}+/i,utf 1860 \x{01c7}\x{01c8}\x{01c9} 1861 1862/\x{01c8}+/i,utf 1863 \x{01c7}\x{01c8}\x{01c9} 1864 1865/\x{01c9}+/i,utf 1866 \x{01c7}\x{01c8}\x{01c9} 1867 1868 1869/\x{01ca}+/i,utf 1870 \x{01ca}\x{01cb}\x{01cc} 1871 1872/\x{01cb}+/i,utf 1873 \x{01ca}\x{01cb}\x{01cc} 1874 1875/\x{01cc}+/i,utf 1876 \x{01ca}\x{01cb}\x{01cc} 1877 1878 1879/\x{01f1}+/i,utf 1880 \x{01f1}\x{01f2}\x{01f3} 1881 1882/\x{01f2}+/i,utf 1883 \x{01f1}\x{01f2}\x{01f3} 1884 1885/\x{01f3}+/i,utf 1886 \x{01f1}\x{01f2}\x{01f3} 1887 1888 1889/\x{0345}+/i,utf 1890 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1891 1892/\x{0399}+/i,utf 1893 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1894 1895/\x{03b9}+/i,utf 1896 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1897 1898/\x{1fbe}+/i,utf 1899 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1900 1901 1902/\x{0392}+/i,utf 1903 \x{0392}\x{03b2}\x{03d0} 1904 1905/\x{03b2}+/i,utf 1906 \x{0392}\x{03b2}\x{03d0} 1907 1908/\x{03d0}+/i,utf 1909 \x{0392}\x{03b2}\x{03d0} 1910 1911 1912/\x{0395}+/i,utf 1913 \x{0395}\x{03b5}\x{03f5} 1914 1915/\x{03b5}+/i,utf 1916 \x{0395}\x{03b5}\x{03f5} 1917 1918/\x{03f5}+/i,utf 1919 \x{0395}\x{03b5}\x{03f5} 1920 1921 1922/\x{0398}+/i,utf 1923 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1924 1925/\x{03b8}+/i,utf 1926 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1927 1928/\x{03d1}+/i,utf 1929 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1930 1931/\x{03f4}+/i,utf 1932 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1933 1934 1935/\x{039a}+/i,utf 1936 \x{039a}\x{03ba}\x{03f0} 1937 1938/\x{03ba}+/i,utf 1939 \x{039a}\x{03ba}\x{03f0} 1940 1941/\x{03f0}+/i,utf 1942 \x{039a}\x{03ba}\x{03f0} 1943 1944 1945/\x{03a0}+/i,utf 1946 \x{03a0}\x{03c0}\x{03d6} 1947 1948/\x{03c0}+/i,utf 1949 \x{03a0}\x{03c0}\x{03d6} 1950 1951/\x{03d6}+/i,utf 1952 \x{03a0}\x{03c0}\x{03d6} 1953 1954 1955/\x{03a1}+/i,utf 1956 \x{03a1}\x{03c1}\x{03f1} 1957 1958/\x{03c1}+/i,utf 1959 \x{03a1}\x{03c1}\x{03f1} 1960 1961/\x{03f1}+/i,utf 1962 \x{03a1}\x{03c1}\x{03f1} 1963 1964 1965/\x{03a3}+/i,utf 1966 \x{03A3}\x{03C2}\x{03C3} 1967 1968/\x{03c2}+/i,utf 1969 \x{03A3}\x{03C2}\x{03C3} 1970 1971/\x{03c3}+/i,utf 1972 \x{03A3}\x{03C2}\x{03C3} 1973 1974 1975/\x{03a6}+/i,utf 1976 \x{03a6}\x{03c6}\x{03d5} 1977 1978/\x{03c6}+/i,utf 1979 \x{03a6}\x{03c6}\x{03d5} 1980 1981/\x{03d5}+/i,utf 1982 \x{03a6}\x{03c6}\x{03d5} 1983 1984 1985/\x{03c9}+/i,utf 1986 \x{03c9}\x{03a9}\x{2126} 1987 1988/\x{03a9}+/i,utf 1989 \x{03c9}\x{03a9}\x{2126} 1990 1991/\x{2126}+/i,utf 1992 \x{03c9}\x{03a9}\x{2126} 1993 1994 1995/\x{1e60}+/i,utf 1996 \x{1e60}\x{1e61}\x{1e9b} 1997 1998/\x{1e61}+/i,utf 1999 \x{1e60}\x{1e61}\x{1e9b} 2000 2001/\x{1e9b}+/i,utf 2002 \x{1e60}\x{1e61}\x{1e9b} 2003 2004 2005/\x{1e9e}+/i,utf 2006 \x{1e9e}\x{00df} 2007 2008/\x{00df}+/i,utf 2009 \x{1e9e}\x{00df} 2010 2011 2012/\x{1f88}+/i,utf 2013 \x{1f88}\x{1f80} 2014 2015/\x{1f80}+/i,utf 2016 \x{1f88}\x{1f80} 2017 2018# Perl 5.12.4 gets these wrong, but 5.15.3 is OK 2019 2020/\x{004b}+/i,utf 2021 \x{004b}\x{006b}\x{212a} 2022 2023/\x{006b}+/i,utf 2024 \x{004b}\x{006b}\x{212a} 2025 2026/\x{212a}+/i,utf 2027 \x{004b}\x{006b}\x{212a} 2028 2029 2030/\x{0053}+/i,utf 2031 \x{0053}\x{0073}\x{017f} 2032 2033/\x{0073}+/i,utf 2034 \x{0053}\x{0073}\x{017f} 2035 2036/\x{017f}+/i,utf 2037 \x{0053}\x{0073}\x{017f} 2038 2039/^\p{Any}*\d{4}/utf 2040 1234 2041\= Expect no match 2042 123 2043 2044/^\X*\w{4}/utf 2045 1234 2046\= Expect no match 2047 123 2048 2049/^A\s+Z/utf,ucp 2050 A\x{2005}Z 2051 A\x{85}\x{2005}Z 2052 2053/^A[\s]+Z/utf,ucp 2054 A\x{2005}Z 2055 A\x{85}\x{2005}Z 2056 2057/^[[:graph:]]+$/utf,ucp 2058 Letter:ABC 2059 Mark:\x{300}\x{1d172}\x{1d17b} 2060 Number:9\x{660} 2061 Punctuation:\x{66a},; 2062 Symbol:\x{6de}<>\x{fffc} 2063 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2064 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2065 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2066 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2067 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2068 \x{feff} 2069 \x{fff9}\x{fffa}\x{fffb} 2070 \x{110bd} 2071 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2072 \x{e0001} 2073 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2074\= Expect no match 2075 \x{09} 2076 \x{0a} 2077 \x{1D} 2078 \x{20} 2079 \x{85} 2080 \x{a0} 2081 \x{1680} 2082 \x{2028} 2083 \x{2029} 2084 \x{202f} 2085 \x{2065} 2086 \x{3000} 2087 \x{e0002} 2088 \x{e001f} 2089 \x{e0080} 2090 2091/^[[:print:]]+$/utf,ucp 2092 Space: \x{a0} 2093 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 2094 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 2095 \x{202f}\x{205f} 2096 \x{3000} 2097 Letter:ABC 2098 Mark:\x{300}\x{1d172}\x{1d17b} 2099 Number:9\x{660} 2100 Punctuation:\x{66a},; 2101 Symbol:\x{6de}<>\x{fffc} 2102 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2103 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2104 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2105 \x{202f} 2106 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2107 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2108 \x{feff} 2109 \x{fff9}\x{fffa}\x{fffb} 2110 \x{110bd} 2111 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2112 \x{e0001} 2113 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2114\= Expect no match 2115 \x{09} 2116 \x{1D} 2117 \x{85} 2118 \x{2028} 2119 \x{2029} 2120 \x{2065} 2121 \x{e0002} 2122 \x{e001f} 2123 \x{e0080} 2124 2125/^[[:punct:]]+$/utf,ucp 2126 \$+<=>^`|~ 2127 !\"#%&'()*,-./:;?@[\\]_{} 2128 \x{a1}\x{a7} 2129 \x{37e} 2130\= Expect no match 2131 abcde 2132 2133/^[[:^graph:]]+$/utf,ucp 2134 \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{1680} 2135 \x{2028}\x{2029}\x{202f}\x{2065} 2136 \x{3000}\x{e0002}\x{e001f}\x{e0080} 2137\= Expect no match 2138 Letter:ABC 2139 Mark:\x{300}\x{1d172}\x{1d17b} 2140 Number:9\x{660} 2141 Punctuation:\x{66a},; 2142 Symbol:\x{6de}<>\x{fffc} 2143 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2144 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2145 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2146 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2147 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2148 \x{feff} 2149 \x{fff9}\x{fffa}\x{fffb} 2150 \x{110bd} 2151 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2152 \x{e0001} 2153 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2154 2155/^[[:^print:]]+$/utf,ucp 2156 \x{09}\x{1D}\x{85}\x{2028}\x{2029}\x{2065} 2157 \x{e0002}\x{e001f}\x{e0080} 2158\= Expect no match 2159 Space: \x{a0} 2160 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 2161 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 2162 \x{202f}\x{205f} 2163 \x{3000} 2164 Letter:ABC 2165 Mark:\x{300}\x{1d172}\x{1d17b} 2166 Number:9\x{660} 2167 Punctuation:\x{66a},; 2168 Symbol:\x{6de}<>\x{fffc} 2169 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2170 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2171 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2172 \x{202f} 2173 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2174 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2175 \x{feff} 2176 \x{fff9}\x{fffa}\x{fffb} 2177 \x{110bd} 2178 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2179 \x{e0001} 2180 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2181 2182/^[[:^punct:]]+$/utf,ucp 2183 abcde 2184\= Expect no match 2185 \$+<=>^`|~ 2186 !\"#%&'()*,-./:;?@[\\]_{} 2187 \x{a1}\x{a7} 2188 \x{37e} 2189 2190/[RST]+/i,utf,ucp 2191 Ss\x{17f} 2192 2193/[R-T]+/i,utf,ucp 2194 Ss\x{17f} 2195 2196/[q-u]+/i,utf,ucp 2197 Ss\x{17f} 2198 2199/^s?c/im,utf 2200 scat 2201 2202# The next four tests are for repeated caseless back references when the 2203# code unit length of the matched text is different to that of the original 2204# group in the UTF-8 case. 2205 2206/^(\x{23a})\1*(.)/i,utf 2207 \x{23a}\x{23a}\x{23a}\x{23a} 2208 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2209 \x{23a}\x{23a}\x{2c65}\x{23a} 2210 2211/^(\x{23a})\1*(..)/i,utf 2212 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2213 \x{23a}\x{23a}\x{2c65}\x{23a} 2214 2215/^(\x{23a})\1*(...)/i,utf 2216 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2217 \x{23a}\x{23a}\x{2c65}\x{23a} 2218 2219/^(\x{23a})\1*(....)/i,utf 2220\= Expect no match 2221 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2222 \x{23a}\x{23a}\x{2c65}\x{23a} 2223 2224/[A-`]/i,utf 2225 abcdefghijklmno 2226 2227/[\S\V\H]/utf 2228 2229/[^\p{Any}]*+x/utf 2230 x 2231 2232/[[:punct:]]/utf,ucp 2233 \x{b4} 2234 2235/[[:^ascii:]]/utf,ucp 2236 \x{100} 2237 \x{200} 2238 \x{300} 2239 \x{37e} 2240\= Expect no match 2241 aa 2242 99 2243 2244/[[:^ascii:]\w]/utf,ucp 2245 aa 2246 99 2247 gg 2248 \x{100} 2249 \x{200} 2250 \x{300} 2251 \x{37e} 2252 2253/[\w[:^ascii:]]/utf,ucp 2254 aa 2255 99 2256 gg 2257 \x{100} 2258 \x{200} 2259 \x{300} 2260 \x{37e} 2261 2262/[^[:ascii:]\W]/utf,ucp 2263 \x{100} 2264 \x{200} 2265\= Expect no match 2266 aa 2267 99 2268 gg 2269 \x{37e} 2270 2271/[^[:^ascii:]\d]/utf,ucp 2272 a 2273 ~ 2274 \a 2275 \x{7f} 2276\= Expect no match 2277 0 2278 \x{389} 2279 \x{20ac} 2280 2281/(?=.*b)\pL/ 2282 11bb 2283 2284/(?(?=.*b)(?=.*b)\pL|.*c)/ 2285 11bb 2286 2287/^\x{123}+?$/utf,no_auto_possess 2288 \x{123}\x{123}\x{123} 2289 2290/^\x{123}+?$/i,utf,no_auto_possess 2291 \x{123}\x{122}\x{123} 2292\= Expect no match 2293 \x{123}\x{124}\x{123} 2294 2295/\N{U+1234}/utf 2296 \x{1234} 2297 2298/[\N{U+1234}]/utf 2299 \x{1234} 2300 2301# Test the full list of Unicode "Pattern White Space" characters that are to 2302# be ignored by /x. The pattern lines below may show up oddly in text editors 2303# or when listed to the screen. Note that characters such as U+2002, which are 2304# matched as space by \h and \v are *not* "Pattern White Space". 2305 2306/A B/x,utf 2307 AB 2308 2309/A B/x,utf 2310 A\x{2002}B 2311\= Expect no match 2312 AB 2313 2314# ------- 2315 2316/[^\x{100}-\x{ffff}]*[\x80-\xff]/utf 2317 \x{99}\x{99}\x{99} 2318 2319/[^\x{100}-\x{ffff}ABC]*[\x80-\xff]/utf 2320 \x{99}\x{99}\x{99} 2321 2322/[^\x{100}-\x{ffff}]*[\x80-\xff]/i,utf 2323 \x{99}\x{99}\x{99} 2324 2325# Script run tests 2326 2327/^(*script_run:.{4})/utf 2328 abcd Latin x4 2329 \x{2e80}\x{2fa1d}\x{3041}\x{30a1} Han Han Hiragana Katakana 2330 \x{3041}\x{30a1}\x{3007}\x{3007} Hiragana Katakana Han Han 2331 \x{30a1}\x{3041}\x{3007}\x{3007} Katakana Hiragana Han Han 2332 \x{1100}\x{2e80}\x{2e80}\x{1101} Hangul Han Han Hangul 2333 \x{2e80}\x{3105}\x{2e80}\x{3105} Han Bopomofo Han Bopomofo 2334 \x{02ea}\x{2e80}\x{2e80}\x{3105} Bopomofo-Sk Han Han Bopomofo 2335 \x{3105}\x{2e80}\x{2e80}\x{3105} Bopomofo Han Han Bopomofo 2336 \x{0300}cd! Inherited Latin Latin Common 2337 \x{0391}12\x{03a9} Greek Common-digits Greek 2338 \x{0400}12\x{fe2f} Cyrillic Common-digits Cyrillic 2339 \x{0531}12\x{fb17} Armenian Common-digits Armenian 2340 \x{0591}12\x{fb4f} Hebrew Common-digits Hebrew 2341 \x{0600}12\x{1eef1} Arabic Common-digits Arabic 2342 \x{0600}\x{0660}\x{0669}\x{1eef1} Arabic Arabic-digits Arabic 2343 \x{0700}12\x{086a} Syriac Common-digits Syriac 2344 \x{1200}12\x{ab2e} Ethiopic Common-digits Ethiopic 2345 \x{1680}12\x{169c} Ogham Common-digits Ogham 2346 \x{3041}12\x{3041} Hiragana Common-digits Hiragana 2347 \x{0980}\x{09e6}\x{09e7}\x{0993} Bengali Bengali-digits Bengali 2348 !cde Common Latin Latin Latin 2349 A..B Latin Common Common Latin 2350 0abc Ascii-digit Latin Latin Latin 2351 1\x{0700}\x{0700}\x{0700} Ascii-digit Syriac x 3 2352 \x{1A80}\x{1A80}\x{1a40}\x{1a41} Tai Tham Hora digits, letters 2353\= Expect no match 2354 a\x{370}bcd Latin Greek Latin Latin 2355 \x{1100}\x{02ea}\x{02ea}\x{02ea} Hangul Bopomofo x3 2356 \x{02ea}\x{02ea}\x{02ea}\x{1100} Bopomofo x3 Hangul 2357 \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul 2358 \x{0391}\x{09e6}\x{09e7}\x{03a9} Greek Bengali digits Greek 2359 \x{0600}7\x{0669}\x{1eef1} Arabic ascii-digit Arabic-digit Arabic 2360 \x{0600}\x{0669}7\x{1eef1} Arabic Arabic-digit ascii-digit Arabic 2361 A5\x{ff19}B Latin Common-ascii/notascii-digits Latin 2362 \x{0300}cd\x{0391} Inherited Latin Latin Greek 2363 !cd\x{0391} Common Latin Latin Greek 2364 \x{1A80}\x{1A90}\x{1a40}\x{1a41} Tai Tham Hora digit, Tham digit, letters 2365 A\x{1d7ce}\x{1d7ff}B Common fancy-common-2-sets-digits Common 2366 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2367 2368/^(*sr:.{4}|..)/utf 2369 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2370 2371/^(*atomic_script_run:.{4}|..)/utf 2372\= Expect no match 2373 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2374 2375/^(*asr:.*)/utf 2376\= Expect no match 2377 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2378 2379/^(?>(*sr:.*))/utf 2380 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2381 2382/^(*sr:.*)/utf 2383 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2384 \x{10fffd}\x{10fffd}\x{10fffd} Private use (Unknown) 2385 2386/^(*sr:\x{2e80}*)/utf 2387 \x{2e80}\x{2e80}\x{3105} Han Han Bopomofo 2388 2389/^(*sr:\x{2e80}*)\x{2e80}/utf 2390 \x{2e80}\x{2e80}\x{3105} Han Han Bopomofo 2391 2392/^(*sr:.*)Test/utf 2393 Test script run on an empty string 2394 2395/^(*sr:(.{2})){2}/utf 2396 \x{0600}7\x{0669}\x{1eef1} Arabic ascii-digit Arabic-digit Arabic 2397 \x{1A80}\x{1A80}\x{1a40}\x{1a41} Tai Tham Hora digits, letters 2398 \x{1A80}\x{1a40}\x{1A90}\x{1a41} Tai Tham Hora digit, letter, Tham digit, letter 2399\= Expect no match 2400 \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul 2401 2402/^(*sr:\S*)/utf 2403 \x{1cf4}\x{20f0}\x{900}\x{11305} [Dev,Gran,Kan] [Dev,Gran,Lat] Dev Gran 2404 \x{1cf4}\x{20f0}\x{11305}\x{900} [Dev,Gran,Kan] [Dev,Gran,Lat] Gran Dev 2405 \x{1cf4}\x{20f0}\x{900}ABC [Dev,Gran,Kan] [Dev,Gran,Lat] Dev Lat 2406 \x{1cf4}\x{20f0}ABC [Dev,Gran,Kan] [Dev,Gran,Lat] Lat 2407 \x{20f0}ABC [Dev,Gran,Lat] Lat 2408 XYZ\x{20f0}ABC Lat [Dev,Gran,Lat] Lat 2409 \x{a36}\x{a33}\x{900} [Dev,...] [Dev,...] Dev 2410 \x{3001}\x{2e80}\x{3041}\x{30a1} [Bopo, Han, etc] Han Hira Kata 2411 \x{3001}\x{30a1}\x{2e80}\x{3041} [Bopo, Han, etc] Kata Han Hira 2412 \x{3001}\x{3105}\x{2e80}\x{1101} [Bopo, Han, etc] Bopomofo Han Hangul 2413 \x{3105}\x{3001}\x{2e80}\x{1101} Bopomofo [Bopo, Han, etc] Han Hangul 2414 \x{3031}\x{3041}\x{30a1}\x{2e80} [Hira Kata] Hira Kata Han 2415 \x{060c}\x{06d4}\x{0600}\x{10d00}\x{0700} [Arab Rohg Syrc Thaa] [Arab Rohg] Arab Rohg Syrc 2416 \x{060c}\x{06d4}\x{0700}\x{0600}\x{10d00} [Arab Rohg Syrc Thaa] [Arab Rohg] Syrc Arab Rohg 2417 \x{2e80}\x{3041}\x{3001}\x{3031}\x{2e80} Han Hira [Bopo, Han, etc] [Hira Kata] Han 2418 2419/(?<!)(*sr:)/ 2420 2421/(?<!X(*sr:B)C)/ 2422 2423/(?<=abc(?=X(*sr:BCY)Z)XBCYZ)./ 2424 abcXBCYZ! 2425 2426/(?<=abc(?=X(*sr:BXY)CCC)XBXYCCC)./ 2427 abcXBXYCCC! 2428 2429/^(*sr:\S*)/utf 2430 \x{10d00}\x{10d00}\x{06d4} Rohingya Rohingya Arabic-full-stop 2431 \x{06d4}\x{10d00}\x{10d00} Arabic-full-stop Rohingya Rohingya 2432 \x{10d00}\x{10d00}\x{0363} Rohingya Rohingya Inherited-extend-Latin 2433 \x{0363}\x{10d00}\x{10d00} Inherited-extend-Latin Rohingya Rohingya 2434 AB\x{0363} Latin Latin Inherited-extend-Latin 2435 \x{0363}AB Inherited-extend-Latin Latin Latin 2436 AB\x{1cf7} Latin Latin Common-extended-Beng 2437 \x{1cf7}AB Common-extend-Beng Latin Latin 2438 \x{1cf7}\x{0993} Common-extend-Beng Bengali 2439 A\x{1abe}BC Test enclosing mark 2440 \x{0370}\x{1abe}\x{0371} Which can occur with any script (Greek here) 2441 \x{3001}\x{adf9}\x{3001} [.. Hangul ..] Hangul [.. Hangul ..] 2442 \x{3400}\x{3001}XXX Han [Han etc.] 2443 \x{3400}\x{1cd5} Han [Bengali Devanagari] 2444 \x{ac01}\x{3400} Hangul [.. Hangul ..] 2445 \x{ac01}\x{1cd5} Hangul [Bengali Devanagari] 2446 \x{102e0}\x{06d4}\x{1ee4d} [Arabic Coptic] [Arab Rohingya] Arabic 2447 \x{102e0}\x{06d4}\x{2cc9} [Arabic Coptic] [Arab Rohingya] Coptic 2448 \x{102e0}\x{06d4}\x{10d30} [Arabic Coptic] [Arab Rohingya] Rohingya 2449 2450# Test loop breaking for empty string match 2451 2452/^(*sr:A|)*BCD/utf 2453 AABCD 2454 ABCD 2455 BCD 2456 2457# The use of (*ACCEPT) breaks script run checking 2458 2459/^(*sr:.*(*ACCEPT)ZZ)/utf 2460 \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul 2461 2462# ------- 2463 2464# Test group names containing non-ASCII letters and digits 2465 2466/(?'ABáC'...)\g{ABáC}/utf 2467 abcabcdefg 2468 2469/(?'XʰABC'...)/utf 2470 xyzpq 2471 2472/(?'XאABC'...)/utf 2473 12345 2474 2475/(?'XᾈABC'...)/utf 2476 %^&*(... 2477 2478/(?'ABC'...)/utf 2479 abcde 2480 2481/^(?'אABC'...)(?&אABC)(?P=אABC)/utf 2482 123123123456 2483 2484/^(?'אABC'...)(?&אABC)/utf 2485 123123123456 2486 2487/\X*/ 2488 \xF3aaa\xE4\xEA\xEB\xFEa 2489 2490/Я/i,utf 2491 \x{42f} 2492 \x{44f} 2493 2494/(?=Я)/i,utf 2495 \x{42f} 2496 \x{44f} 2497 2498# End of testinput4 2499