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{Arabic}]/utf 1142 \x{06e9} 1143 \x{060b} 1144\= Expect no match 1145 X\x{06e9} 1146 1147/^\P{Katakana}+/utf 1148 \x{3105} 1149\= Expect no match 1150 \x{30ff} 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{katakana}/utf 1434 \x{30a1} 1435 \x{3001} 1436 1437/\p{scx:katakana}/utf 1438 \x{30a1} 1439 \x{3001} 1440 1441/\p{script extensions:katakana}/utf 1442 \x{30a1} 1443 \x{3001} 1444 1445/\p{sc:katakana}/utf 1446 \x{30a1} 1447\= Expect no match 1448 \x{3001} 1449 1450/\p{script:katakana}/utf 1451 \x{30a1} 1452\= Expect no match 1453 \x{3001} 1454 1455/\p{sc:katakana}{3,}/utf 1456 \x{30a1}\x{30fa}\x{32d0}\x{1b122}\x{ff66}\x{3001}ABC 1457 1458/\p{sc:katakana}{3,}?/utf 1459 \x{30a1}\x{30fa}\x{32d0}\x{1b122}\x{ff66}\x{3001}ABC 1460 1461/\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 1462 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}==== 1463 1464/\x{a77d}\x{1d79}/i,utf 1465 \x{a77d}\x{1d79} 1466 \x{1d79}\x{a77d} 1467 1468/\x{a77d}\x{1d79}/utf 1469 \x{a77d}\x{1d79} 1470\= Expect no match 1471 \x{1d79}\x{a77d} 1472 1473/(A)\1/i,utf 1474 AA 1475 Aa 1476 aa 1477 aA 1478 1479/(\x{10a})\1/i,utf 1480 \x{10a}\x{10a} 1481 \x{10a}\x{10b} 1482 \x{10b}\x{10b} 1483 \x{10b}\x{10a} 1484 1485# The next two tests are for property support in non-UTF mode 1486 1487/(?:\p{Lu}|\x20)+/ 1488 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 1489 1490/[\p{Lu}\x20]+/ 1491 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59 1492 1493/\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 1494 \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} 1495 1496/^\w+/utf,ucp 1497 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 1498 1499/^[[:xdigit:]]*/utf,ucp 1500 1a\x{660}\x{bef}\x{16ee} 1501 1502/^\d+/utf,ucp 1503 1\x{660}\x{bef}\x{16ee} 1504 1505/^[[:digit:]]+/utf,ucp 1506 1\x{660}\x{bef}\x{16ee} 1507 1508/^>\s+/utf,ucp 1509 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1510 1511/^>\pZ+/utf,ucp 1512 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1513 1514/^>[[:space:]]*/utf,ucp 1515 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} 1516 1517/^>[[:blank:]]*/utf,ucp 1518 >\x{20}\x{a0}\x{1680}\x{2000}\x{202f}\x{9}\x{b}\x{2028} 1519 1520/^[[:alpha:]]*/utf,ucp 1521 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d} 1522 1523/^[[:alnum:]]*/utf,ucp 1524 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} 1525 1526/^[[:cntrl:]]*/utf,ucp 1527 \x{0}\x{09}\x{1f}\x{7f}\x{9f} 1528 1529/^[[:graph:]]*/utf,ucp 1530 A\x{a1}\x{a0} 1531 1532/^[[:print:]]*/utf,ucp 1533 A z\x{a0}\x{a1} 1534 1535/^[[:punct:]]*/utf,ucp 1536 .+\x{a1}\x{a0} 1537 1538/\p{Zs}*?\R/ 1539\= Expect no match 1540 a\xFCb 1541 1542/\p{Zs}*\R/ 1543\= Expect no match 1544 a\xFCb 1545 1546/ⱥ/i,utf 1547 ⱥ 1548 Ⱥx 1549 Ⱥ 1550 1551/[ⱥ]/i,utf 1552 ⱥ 1553 Ⱥx 1554 Ⱥ 1555 1556/Ⱥ/i,utf 1557 Ⱥ 1558 ⱥ 1559 1560# These are tests for extended grapheme clusters 1561 1562/^\X/utf,aftertext 1563 G\x{34e}\x{34e}X 1564 \x{34e}\x{34e}X 1565 \x04X 1566 \x{1100}X 1567 \x{1100}\x{34e}X 1568 \x{1b04}\x{1b04}X 1569 *These match up to the roman letters 1570 \x{1111}\x{1111}L,L 1571 \x{1111}\x{1111}\x{1169}L,L,V 1572 \x{1111}\x{ae4c}L, LV 1573 \x{1111}\x{ad89}L, LVT 1574 \x{1111}\x{ae4c}\x{1169}L, LV, V 1575 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V 1576 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T 1577 \x{1111}\x{ad89}\x{11fe}L, LVT, T 1578 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T 1579 \x{ad89}\x{11fe}\x{11fe}LVT, T, T 1580 *These match just the first codepoint (invalid sequence) 1581 \x{1111}\x{11fe}L, T 1582 \x{ae4c}\x{1111}LV, L 1583 \x{ae4c}\x{ae4c}LV, LV 1584 \x{ae4c}\x{ad89}LV, LVT 1585 \x{1169}\x{1111}V, L 1586 \x{1169}\x{ae4c}V, LV 1587 \x{1169}\x{ad89}V, LVT 1588 \x{ad89}\x{1111}LVT, L 1589 \x{ad89}\x{1169}LVT, V 1590 \x{ad89}\x{ae4c}LVT, LV 1591 \x{ad89}\x{ad89}LVT, LVT 1592 \x{11fe}\x{1111}T, L 1593 \x{11fe}\x{1169}T, V 1594 \x{11fe}\x{ae4c}T, LV 1595 \x{11fe}\x{ad89}T, LVT 1596 *Test extend and spacing mark 1597 \x{1111}\x{ae4c}\x{0711}L, LV, extend 1598 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark 1599 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark 1600 *Test CR, LF, and control 1601 \x0d\x{0711}CR, extend 1602 \x0d\x{1b04}CR, spacingmark 1603 \x0a\x{0711}LF, extend 1604 \x0a\x{1b04}LF, spacingmark 1605 \x0b\x{0711}Control, extend 1606 \x09\x{1b04}Control, spacingmark 1607 *Test Extended Pictographic after bug fix 1608 \x{261d}\x{261d}B Extended_Pictographic Extended_Pictographic 1609 \x{261D}\x{1F3FB}\x{261d}B Extended_Pictographic Extend E-P 1610 \x{261D}\x{1F3FB}\x{200d}\x{261d}B Extended_Pictographic Extend ZWJ E-P 1611 \x{1f3f3}\x{fe0f}\x{200d}\x{1f308}\x{1f3f4}\x{200d}\x{2620}\x{fe0f}\x{1f3f3}\x{fe0f}\x{200d}\x{1f308}\x{1f3f4}\x{200d}\x{2620}\x{fe0f} 1612 A\x{200d}\x{1f308}B 1613 A\x{200d}B A ZWJ 1614 \x{261D}\x{1F3FB}B Extended_Pictographic Extend 1615 \x{1F1E6}\x{1F1E7}B RegionalIndicator RegionalIndicator 1616 *There are no Prepend characters, so we can't test Prepend, CR 1617 1618/^(?>\X{2})X/utf,aftertext 1619 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1620 1621/^\X{2,4}X/utf,aftertext 1622 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1623 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1624 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1625 1626/^\X{2,4}?X/utf,aftertext 1627 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1628 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1629 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X 1630 1631/\X*Z/utf,no_start_optimize 1632\= Expect no match 1633 A\x{300} 1634 1635/\X*(.)/utf,no_start_optimize 1636 A\x{1111}\x{ae4c}\x{1169} 1637 1638# -------------------------------------------- 1639 1640/\x{1e9e}+/i,utf 1641 \x{1e9e}\x{00df} 1642 1643/[z\x{1e9e}]+/i,utf 1644 \x{1e9e}\x{00df} 1645 1646/\x{00df}+/i,utf 1647 \x{1e9e}\x{00df} 1648 1649/[z\x{00df}]+/i,utf 1650 \x{1e9e}\x{00df} 1651 1652/\x{1f88}+/i,utf 1653 \x{1f88}\x{1f80} 1654 1655/[z\x{1f88}]+/i,utf 1656 \x{1f88}\x{1f80} 1657 1658# Check a reference with more than one other case 1659 1660/^(\x{00b5})\1{2}$/i,utf 1661 \x{00b5}\x{039c}\x{03bc} 1662 1663# Characters with more than one other case; test in classes 1664 1665/[z\x{00b5}]+/i,utf 1666 \x{00b5}\x{039c}\x{03bc} 1667 1668/[z\x{039c}]+/i,utf 1669 \x{00b5}\x{039c}\x{03bc} 1670 1671/[z\x{03bc}]+/i,utf 1672 \x{00b5}\x{039c}\x{03bc} 1673 1674/[z\x{00c5}]+/i,utf 1675 \x{00c5}\x{00e5}\x{212b} 1676 1677/[z\x{00e5}]+/i,utf 1678 \x{00c5}\x{00e5}\x{212b} 1679 1680/[z\x{212b}]+/i,utf 1681 \x{00c5}\x{00e5}\x{212b} 1682 1683/[z\x{01c4}]+/i,utf 1684 \x{01c4}\x{01c5}\x{01c6} 1685 1686/[z\x{01c5}]+/i,utf 1687 \x{01c4}\x{01c5}\x{01c6} 1688 1689/[z\x{01c6}]+/i,utf 1690 \x{01c4}\x{01c5}\x{01c6} 1691 1692/[z\x{01c7}]+/i,utf 1693 \x{01c7}\x{01c8}\x{01c9} 1694 1695/[z\x{01c8}]+/i,utf 1696 \x{01c7}\x{01c8}\x{01c9} 1697 1698/[z\x{01c9}]+/i,utf 1699 \x{01c7}\x{01c8}\x{01c9} 1700 1701/[z\x{01ca}]+/i,utf 1702 \x{01ca}\x{01cb}\x{01cc} 1703 1704/[z\x{01cb}]+/i,utf 1705 \x{01ca}\x{01cb}\x{01cc} 1706 1707/[z\x{01cc}]+/i,utf 1708 \x{01ca}\x{01cb}\x{01cc} 1709 1710/[z\x{01f1}]+/i,utf 1711 \x{01f1}\x{01f2}\x{01f3} 1712 1713/[z\x{01f2}]+/i,utf 1714 \x{01f1}\x{01f2}\x{01f3} 1715 1716/[z\x{01f3}]+/i,utf 1717 \x{01f1}\x{01f2}\x{01f3} 1718 1719/[z\x{0345}]+/i,utf 1720 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1721 1722/[z\x{0399}]+/i,utf 1723 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1724 1725/[z\x{03b9}]+/i,utf 1726 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1727 1728/[z\x{1fbe}]+/i,utf 1729 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1730 1731/[z\x{0392}]+/i,utf 1732 \x{0392}\x{03b2}\x{03d0} 1733 1734/[z\x{03b2}]+/i,utf 1735 \x{0392}\x{03b2}\x{03d0} 1736 1737/[z\x{03d0}]+/i,utf 1738 \x{0392}\x{03b2}\x{03d0} 1739 1740/[z\x{0395}]+/i,utf 1741 \x{0395}\x{03b5}\x{03f5} 1742 1743/[z\x{03b5}]+/i,utf 1744 \x{0395}\x{03b5}\x{03f5} 1745 1746/[z\x{03f5}]+/i,utf 1747 \x{0395}\x{03b5}\x{03f5} 1748 1749/[z\x{0398}]+/i,utf 1750 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1751 1752/[z\x{03b8}]+/i,utf 1753 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1754 1755/[z\x{03d1}]+/i,utf 1756 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1757 1758/[z\x{03f4}]+/i,utf 1759 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1760 1761/[z\x{039a}]+/i,utf 1762 \x{039a}\x{03ba}\x{03f0} 1763 1764/[z\x{03ba}]+/i,utf 1765 \x{039a}\x{03ba}\x{03f0} 1766 1767/[z\x{03f0}]+/i,utf 1768 \x{039a}\x{03ba}\x{03f0} 1769 1770/[z\x{03a0}]+/i,utf 1771 \x{03a0}\x{03c0}\x{03d6} 1772 1773/[z\x{03c0}]+/i,utf 1774 \x{03a0}\x{03c0}\x{03d6} 1775 1776/[z\x{03d6}]+/i,utf 1777 \x{03a0}\x{03c0}\x{03d6} 1778 1779/[z\x{03a1}]+/i,utf 1780 \x{03a1}\x{03c1}\x{03f1} 1781 1782/[z\x{03c1}]+/i,utf 1783 \x{03a1}\x{03c1}\x{03f1} 1784 1785/[z\x{03f1}]+/i,utf 1786 \x{03a1}\x{03c1}\x{03f1} 1787 1788/[z\x{03a3}]+/i,utf 1789 \x{03A3}\x{03C2}\x{03C3} 1790 1791/[z\x{03c2}]+/i,utf 1792 \x{03A3}\x{03C2}\x{03C3} 1793 1794/[z\x{03c3}]+/i,utf 1795 \x{03A3}\x{03C2}\x{03C3} 1796 1797/[z\x{03a6}]+/i,utf 1798 \x{03a6}\x{03c6}\x{03d5} 1799 1800/[z\x{03c6}]+/i,utf 1801 \x{03a6}\x{03c6}\x{03d5} 1802 1803/[z\x{03d5}]+/i,utf 1804 \x{03a6}\x{03c6}\x{03d5} 1805 1806/[z\x{03c9}]+/i,utf 1807 \x{03c9}\x{03a9}\x{2126} 1808 1809/[z\x{03a9}]+/i,utf 1810 \x{03c9}\x{03a9}\x{2126} 1811 1812/[z\x{2126}]+/i,utf 1813 \x{03c9}\x{03a9}\x{2126} 1814 1815/[z\x{1e60}]+/i,utf 1816 \x{1e60}\x{1e61}\x{1e9b} 1817 1818/[z\x{1e61}]+/i,utf 1819 \x{1e60}\x{1e61}\x{1e9b} 1820 1821/[z\x{1e9b}]+/i,utf 1822 \x{1e60}\x{1e61}\x{1e9b} 1823 1824# Perl 5.12.4 gets these wrong, but 5.15.3 is OK 1825 1826/[z\x{004b}]+/i,utf 1827 \x{004b}\x{006b}\x{212a} 1828 1829/[z\x{006b}]+/i,utf 1830 \x{004b}\x{006b}\x{212a} 1831 1832/[z\x{212a}]+/i,utf 1833 \x{004b}\x{006b}\x{212a} 1834 1835/[z\x{0053}]+/i,utf 1836 \x{0053}\x{0073}\x{017f} 1837 1838/[z\x{0073}]+/i,utf 1839 \x{0053}\x{0073}\x{017f} 1840 1841/[z\x{017f}]+/i,utf 1842 \x{0053}\x{0073}\x{017f} 1843 1844# -------------------------------------- 1845 1846/(ΣΆΜΟΣ) \1/i,utf 1847 ΣΆΜΟΣ ΣΆΜΟΣ 1848 ΣΆΜΟΣ σάμος 1849 σάμος σάμος 1850 σάμος σάμοσ 1851 σάμος ΣΆΜΟΣ 1852 1853/(σάμος) \1/i,utf 1854 ΣΆΜΟΣ ΣΆΜΟΣ 1855 ΣΆΜΟΣ σάμος 1856 σάμος σάμος 1857 σάμος σάμοσ 1858 σάμος ΣΆΜΟΣ 1859 1860/(ΣΆΜΟΣ) \1*/i,utf 1861 ΣΆΜΟΣ\x20 1862 ΣΆΜΟΣ ΣΆΜΟΣσάμοςσάμος 1863 1864# Perl matches these 1865 1866/\x{00b5}+/i,utf 1867 \x{00b5}\x{039c}\x{03bc} 1868 1869/\x{039c}+/i,utf 1870 \x{00b5}\x{039c}\x{03bc} 1871 1872/\x{03bc}+/i,utf 1873 \x{00b5}\x{039c}\x{03bc} 1874 1875 1876/\x{00c5}+/i,utf 1877 \x{00c5}\x{00e5}\x{212b} 1878 1879/\x{00e5}+/i,utf 1880 \x{00c5}\x{00e5}\x{212b} 1881 1882/\x{212b}+/i,utf 1883 \x{00c5}\x{00e5}\x{212b} 1884 1885 1886/\x{01c4}+/i,utf 1887 \x{01c4}\x{01c5}\x{01c6} 1888 1889/\x{01c5}+/i,utf 1890 \x{01c4}\x{01c5}\x{01c6} 1891 1892/\x{01c6}+/i,utf 1893 \x{01c4}\x{01c5}\x{01c6} 1894 1895 1896/\x{01c7}+/i,utf 1897 \x{01c7}\x{01c8}\x{01c9} 1898 1899/\x{01c8}+/i,utf 1900 \x{01c7}\x{01c8}\x{01c9} 1901 1902/\x{01c9}+/i,utf 1903 \x{01c7}\x{01c8}\x{01c9} 1904 1905 1906/\x{01ca}+/i,utf 1907 \x{01ca}\x{01cb}\x{01cc} 1908 1909/\x{01cb}+/i,utf 1910 \x{01ca}\x{01cb}\x{01cc} 1911 1912/\x{01cc}+/i,utf 1913 \x{01ca}\x{01cb}\x{01cc} 1914 1915 1916/\x{01f1}+/i,utf 1917 \x{01f1}\x{01f2}\x{01f3} 1918 1919/\x{01f2}+/i,utf 1920 \x{01f1}\x{01f2}\x{01f3} 1921 1922/\x{01f3}+/i,utf 1923 \x{01f1}\x{01f2}\x{01f3} 1924 1925 1926/\x{0345}+/i,utf 1927 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1928 1929/\x{0399}+/i,utf 1930 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1931 1932/\x{03b9}+/i,utf 1933 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1934 1935/\x{1fbe}+/i,utf 1936 \x{0345}\x{0399}\x{03b9}\x{1fbe} 1937 1938 1939/\x{0392}+/i,utf 1940 \x{0392}\x{03b2}\x{03d0} 1941 1942/\x{03b2}+/i,utf 1943 \x{0392}\x{03b2}\x{03d0} 1944 1945/\x{03d0}+/i,utf 1946 \x{0392}\x{03b2}\x{03d0} 1947 1948 1949/\x{0395}+/i,utf 1950 \x{0395}\x{03b5}\x{03f5} 1951 1952/\x{03b5}+/i,utf 1953 \x{0395}\x{03b5}\x{03f5} 1954 1955/\x{03f5}+/i,utf 1956 \x{0395}\x{03b5}\x{03f5} 1957 1958 1959/\x{0398}+/i,utf 1960 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1961 1962/\x{03b8}+/i,utf 1963 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1964 1965/\x{03d1}+/i,utf 1966 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1967 1968/\x{03f4}+/i,utf 1969 \x{0398}\x{03b8}\x{03d1}\x{03f4} 1970 1971 1972/\x{039a}+/i,utf 1973 \x{039a}\x{03ba}\x{03f0} 1974 1975/\x{03ba}+/i,utf 1976 \x{039a}\x{03ba}\x{03f0} 1977 1978/\x{03f0}+/i,utf 1979 \x{039a}\x{03ba}\x{03f0} 1980 1981 1982/\x{03a0}+/i,utf 1983 \x{03a0}\x{03c0}\x{03d6} 1984 1985/\x{03c0}+/i,utf 1986 \x{03a0}\x{03c0}\x{03d6} 1987 1988/\x{03d6}+/i,utf 1989 \x{03a0}\x{03c0}\x{03d6} 1990 1991 1992/\x{03a1}+/i,utf 1993 \x{03a1}\x{03c1}\x{03f1} 1994 1995/\x{03c1}+/i,utf 1996 \x{03a1}\x{03c1}\x{03f1} 1997 1998/\x{03f1}+/i,utf 1999 \x{03a1}\x{03c1}\x{03f1} 2000 2001 2002/\x{03a3}+/i,utf 2003 \x{03A3}\x{03C2}\x{03C3} 2004 2005/\x{03c2}+/i,utf 2006 \x{03A3}\x{03C2}\x{03C3} 2007 2008/\x{03c3}+/i,utf 2009 \x{03A3}\x{03C2}\x{03C3} 2010 2011 2012/\x{03a6}+/i,utf 2013 \x{03a6}\x{03c6}\x{03d5} 2014 2015/\x{03c6}+/i,utf 2016 \x{03a6}\x{03c6}\x{03d5} 2017 2018/\x{03d5}+/i,utf 2019 \x{03a6}\x{03c6}\x{03d5} 2020 2021 2022/\x{03c9}+/i,utf 2023 \x{03c9}\x{03a9}\x{2126} 2024 2025/\x{03a9}+/i,utf 2026 \x{03c9}\x{03a9}\x{2126} 2027 2028/\x{2126}+/i,utf 2029 \x{03c9}\x{03a9}\x{2126} 2030 2031 2032/\x{1e60}+/i,utf 2033 \x{1e60}\x{1e61}\x{1e9b} 2034 2035/\x{1e61}+/i,utf 2036 \x{1e60}\x{1e61}\x{1e9b} 2037 2038/\x{1e9b}+/i,utf 2039 \x{1e60}\x{1e61}\x{1e9b} 2040 2041 2042/\x{1e9e}+/i,utf 2043 \x{1e9e}\x{00df} 2044 2045/\x{00df}+/i,utf 2046 \x{1e9e}\x{00df} 2047 2048 2049/\x{1f88}+/i,utf 2050 \x{1f88}\x{1f80} 2051 2052/\x{1f80}+/i,utf 2053 \x{1f88}\x{1f80} 2054 2055# Perl 5.12.4 gets these wrong, but 5.15.3 is OK 2056 2057/\x{004b}+/i,utf 2058 \x{004b}\x{006b}\x{212a} 2059 2060/\x{006b}+/i,utf 2061 \x{004b}\x{006b}\x{212a} 2062 2063/\x{212a}+/i,utf 2064 \x{004b}\x{006b}\x{212a} 2065 2066 2067/\x{0053}+/i,utf 2068 \x{0053}\x{0073}\x{017f} 2069 2070/\x{0073}+/i,utf 2071 \x{0053}\x{0073}\x{017f} 2072 2073/\x{017f}+/i,utf 2074 \x{0053}\x{0073}\x{017f} 2075 2076/^\p{Any}*\d{4}/utf 2077 1234 2078\= Expect no match 2079 123 2080 2081/^\X*\w{4}/utf 2082 1234 2083\= Expect no match 2084 123 2085 2086/^A\s+Z/utf,ucp 2087 A\x{2005}Z 2088 A\x{85}\x{2005}Z 2089 2090/^A[\s]+Z/utf,ucp 2091 A\x{2005}Z 2092 A\x{85}\x{2005}Z 2093 2094/^[[:graph:]]+$/utf,ucp 2095 Letter:ABC 2096 Mark:\x{300}\x{1d172}\x{1d17b} 2097 Number:9\x{660} 2098 Punctuation:\x{66a},; 2099 Symbol:\x{6de}<>\x{fffc} 2100 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2101 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2102 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2103 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2104 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2105 \x{feff} 2106 \x{fff9}\x{fffa}\x{fffb} 2107 \x{110bd} 2108 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2109 \x{e0001} 2110 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2111\= Expect no match 2112 \x{09} 2113 \x{0a} 2114 \x{1D} 2115 \x{20} 2116 \x{85} 2117 \x{a0} 2118 \x{1680} 2119 \x{2028} 2120 \x{2029} 2121 \x{202f} 2122 \x{2065} 2123 \x{3000} 2124 \x{e0002} 2125 \x{e001f} 2126 \x{e0080} 2127 2128/^[[:print:]]+$/utf,ucp 2129 Space: \x{a0} 2130 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 2131 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 2132 \x{202f}\x{205f} 2133 \x{3000} 2134 Letter:ABC 2135 Mark:\x{300}\x{1d172}\x{1d17b} 2136 Number:9\x{660} 2137 Punctuation:\x{66a},; 2138 Symbol:\x{6de}<>\x{fffc} 2139 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2140 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2141 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2142 \x{202f} 2143 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2144 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2145 \x{feff} 2146 \x{fff9}\x{fffa}\x{fffb} 2147 \x{110bd} 2148 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2149 \x{e0001} 2150 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2151\= Expect no match 2152 \x{09} 2153 \x{1D} 2154 \x{85} 2155 \x{2028} 2156 \x{2029} 2157 \x{2065} 2158 \x{e0002} 2159 \x{e001f} 2160 \x{e0080} 2161 2162/^[[:punct:]]+$/utf,ucp 2163 \$+<=>^`|~ 2164 !\"#%&'()*,-./:;?@[\\]_{} 2165 \x{a1}\x{a7} 2166 \x{37e} 2167\= Expect no match 2168 abcde 2169 2170/^[[:^graph:]]+$/utf,ucp 2171 \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{1680} 2172 \x{2028}\x{2029}\x{202f}\x{2065} 2173 \x{3000}\x{e0002}\x{e001f}\x{e0080} 2174\= Expect no match 2175 Letter:ABC 2176 Mark:\x{300}\x{1d172}\x{1d17b} 2177 Number:9\x{660} 2178 Punctuation:\x{66a},; 2179 Symbol:\x{6de}<>\x{fffc} 2180 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2181 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2182 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2183 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2184 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2185 \x{feff} 2186 \x{fff9}\x{fffa}\x{fffb} 2187 \x{110bd} 2188 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2189 \x{e0001} 2190 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2191 2192/^[[:^print:]]+$/utf,ucp 2193 \x{09}\x{1D}\x{85}\x{2028}\x{2029}\x{2065} 2194 \x{e0002}\x{e001f}\x{e0080} 2195\= Expect no match 2196 Space: \x{a0} 2197 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} 2198 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} 2199 \x{202f}\x{205f} 2200 \x{3000} 2201 Letter:ABC 2202 Mark:\x{300}\x{1d172}\x{1d17b} 2203 Number:9\x{660} 2204 Punctuation:\x{66a},; 2205 Symbol:\x{6de}<>\x{fffc} 2206 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} 2207 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} 2208 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} 2209 \x{202f} 2210 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} 2211 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} 2212 \x{feff} 2213 \x{fff9}\x{fffa}\x{fffb} 2214 \x{110bd} 2215 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} 2216 \x{e0001} 2217 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} 2218 2219/^[[:^punct:]]+$/utf,ucp 2220 abcde 2221\= Expect no match 2222 \$+<=>^`|~ 2223 !\"#%&'()*,-./:;?@[\\]_{} 2224 \x{a1}\x{a7} 2225 \x{37e} 2226 2227/[RST]+/i,utf,ucp 2228 Ss\x{17f} 2229 2230/[R-T]+/i,utf,ucp 2231 Ss\x{17f} 2232 2233/[q-u]+/i,utf,ucp 2234 Ss\x{17f} 2235 2236/^s?c/im,utf 2237 scat 2238 2239# The next four tests are for repeated caseless back references when the 2240# code unit length of the matched text is different to that of the original 2241# group in the UTF-8 case. 2242 2243/^(\x{23a})\1*(.)/i,utf 2244 \x{23a}\x{23a}\x{23a}\x{23a} 2245 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2246 \x{23a}\x{23a}\x{2c65}\x{23a} 2247 2248/^(\x{23a})\1*(..)/i,utf 2249 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2250 \x{23a}\x{23a}\x{2c65}\x{23a} 2251 2252/^(\x{23a})\1*(...)/i,utf 2253 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2254 \x{23a}\x{23a}\x{2c65}\x{23a} 2255 2256/^(\x{23a})\1*(....)/i,utf 2257\= Expect no match 2258 \x{23a}\x{2c65}\x{2c65}\x{2c65} 2259 \x{23a}\x{23a}\x{2c65}\x{23a} 2260 2261/[A-`]/i,utf 2262 abcdefghijklmno 2263 2264/[\S\V\H]/utf 2265 2266/[^\p{Any}]*+x/utf 2267 x 2268 2269/[[:punct:]]/utf,ucp 2270 \x{b4} 2271 2272/[[:^ascii:]]/utf,ucp 2273 \x{100} 2274 \x{200} 2275 \x{300} 2276 \x{37e} 2277\= Expect no match 2278 aa 2279 99 2280 2281/[[:^ascii:]\w]/utf,ucp 2282 aa 2283 99 2284 gg 2285 \x{100} 2286 \x{200} 2287 \x{300} 2288 \x{37e} 2289 2290/[\w[:^ascii:]]/utf,ucp 2291 aa 2292 99 2293 gg 2294 \x{100} 2295 \x{200} 2296 \x{300} 2297 \x{37e} 2298 2299/[^[:ascii:]\W]/utf,ucp 2300 \x{100} 2301 \x{200} 2302\= Expect no match 2303 aa 2304 99 2305 gg 2306 \x{37e} 2307 2308/[^[:^ascii:]\d]/utf,ucp 2309 a 2310 ~ 2311 \a 2312 \x{7f} 2313\= Expect no match 2314 0 2315 \x{389} 2316 \x{20ac} 2317 2318/(?=.*b)\pL/ 2319 11bb 2320 2321/(?(?=.*b)(?=.*b)\pL|.*c)/ 2322 11bb 2323 2324/^\x{123}+?$/utf,no_auto_possess 2325 \x{123}\x{123}\x{123} 2326 2327/^\x{123}+?$/i,utf,no_auto_possess 2328 \x{123}\x{122}\x{123} 2329\= Expect no match 2330 \x{123}\x{124}\x{123} 2331 2332/\N{U+1234}/utf 2333 \x{1234} 2334 2335/[\N{U+1234}]/utf 2336 \x{1234} 2337 2338# Test the full list of Unicode "Pattern White Space" characters that are to 2339# be ignored by /x. The pattern lines below may show up oddly in text editors 2340# or when listed to the screen. Note that characters such as U+2002, which are 2341# matched as space by \h and \v are *not* "Pattern White Space". 2342 2343/A B/x,utf 2344 AB 2345 2346/A B/x,utf 2347 A\x{2002}B 2348\= Expect no match 2349 AB 2350 2351# ------- 2352 2353/[^\x{100}-\x{ffff}]*[\x80-\xff]/utf 2354 \x{99}\x{99}\x{99} 2355 2356/[^\x{100}-\x{ffff}ABC]*[\x80-\xff]/utf 2357 \x{99}\x{99}\x{99} 2358 2359/[^\x{100}-\x{ffff}]*[\x80-\xff]/i,utf 2360 \x{99}\x{99}\x{99} 2361 2362# Script run tests 2363 2364/^(*script_run:.{4})/utf 2365 abcd Latin x4 2366 \x{2e80}\x{2fa1d}\x{3041}\x{30a1} Han Han Hiragana Katakana 2367 \x{3041}\x{30a1}\x{3007}\x{3007} Hiragana Katakana Han Han 2368 \x{30a1}\x{3041}\x{3007}\x{3007} Katakana Hiragana Han Han 2369 \x{1100}\x{2e80}\x{2e80}\x{1101} Hangul Han Han Hangul 2370 \x{2e80}\x{3105}\x{2e80}\x{3105} Han Bopomofo Han Bopomofo 2371 \x{02ea}\x{2e80}\x{2e80}\x{3105} Bopomofo-Sk Han Han Bopomofo 2372 \x{3105}\x{2e80}\x{2e80}\x{3105} Bopomofo Han Han Bopomofo 2373 \x{0300}cd! Inherited Latin Latin Common 2374 \x{0391}12\x{03a9} Greek Common-digits Greek 2375 \x{0400}12\x{fe2f} Cyrillic Common-digits Cyrillic 2376 \x{0531}12\x{fb17} Armenian Common-digits Armenian 2377 \x{0591}12\x{fb4f} Hebrew Common-digits Hebrew 2378 \x{0600}12\x{1eef1} Arabic Common-digits Arabic 2379 \x{0600}\x{0660}\x{0669}\x{1eef1} Arabic Arabic-digits Arabic 2380 \x{0700}12\x{086a} Syriac Common-digits Syriac 2381 \x{1200}12\x{ab2e} Ethiopic Common-digits Ethiopic 2382 \x{1680}12\x{169c} Ogham Common-digits Ogham 2383 \x{3041}12\x{3041} Hiragana Common-digits Hiragana 2384 \x{0980}\x{09e6}\x{09e7}\x{0993} Bengali Bengali-digits Bengali 2385 !cde Common Latin Latin Latin 2386 A..B Latin Common Common Latin 2387 0abc Ascii-digit Latin Latin Latin 2388 1\x{0700}\x{0700}\x{0700} Ascii-digit Syriac x 3 2389 \x{1A80}\x{1A80}\x{1a40}\x{1a41} Tai Tham Hora digits, letters 2390\= Expect no match 2391 a\x{370}bcd Latin Greek Latin Latin 2392 \x{1100}\x{02ea}\x{02ea}\x{02ea} Hangul Bopomofo x3 2393 \x{02ea}\x{02ea}\x{02ea}\x{1100} Bopomofo x3 Hangul 2394 \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul 2395 \x{0391}\x{09e6}\x{09e7}\x{03a9} Greek Bengali digits Greek 2396 \x{0600}7\x{0669}\x{1eef1} Arabic ascii-digit Arabic-digit Arabic 2397 \x{0600}\x{0669}7\x{1eef1} Arabic Arabic-digit ascii-digit Arabic 2398 A5\x{ff19}B Latin Common-ascii/notascii-digits Latin 2399 \x{0300}cd\x{0391} Inherited Latin Latin Greek 2400 !cd\x{0391} Common Latin Latin Greek 2401 \x{1A80}\x{1A90}\x{1a40}\x{1a41} Tai Tham Hora digit, Tham digit, letters 2402 A\x{1d7ce}\x{1d7ff}B Common fancy-common-2-sets-digits Common 2403 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2404 2405/^(*sr:.{4}|..)/utf 2406 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2407 2408/^(*atomic_script_run:.{4}|..)/utf 2409\= Expect no match 2410 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2411 2412/^(*asr:.*)/utf 2413\= Expect no match 2414 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2415 2416/^(?>(*sr:.*))/utf 2417 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2418 2419/^(*sr:.*)/utf 2420 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana 2421 \x{10fffd}\x{10fffd}\x{10fffd} Private use (Unknown) 2422 2423/^(*sr:\x{2e80}*)/utf 2424 \x{2e80}\x{2e80}\x{3105} Han Han Bopomofo 2425 2426/^(*sr:\x{2e80}*)\x{2e80}/utf 2427 \x{2e80}\x{2e80}\x{3105} Han Han Bopomofo 2428 2429/^(*sr:.*)Test/utf 2430 Test script run on an empty string 2431 2432/^(*sr:(.{2})){2}/utf 2433 \x{0600}7\x{0669}\x{1eef1} Arabic ascii-digit Arabic-digit Arabic 2434 \x{1A80}\x{1A80}\x{1a40}\x{1a41} Tai Tham Hora digits, letters 2435 \x{1A80}\x{1a40}\x{1A90}\x{1a41} Tai Tham Hora digit, letter, Tham digit, letter 2436\= Expect no match 2437 \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul 2438 2439/^(*sr:\S*)/utf 2440 \x{1cf4}\x{20f0}\x{900}\x{11305} [Dev,Gran,Kan] [Dev,Gran,Lat] Dev Gran 2441 \x{1cf4}\x{20f0}\x{11305}\x{900} [Dev,Gran,Kan] [Dev,Gran,Lat] Gran Dev 2442 \x{1cf4}\x{20f0}\x{900}ABC [Dev,Gran,Kan] [Dev,Gran,Lat] Dev Lat 2443 \x{1cf4}\x{20f0}ABC [Dev,Gran,Kan] [Dev,Gran,Lat] Lat 2444 \x{20f0}ABC [Dev,Gran,Lat] Lat 2445 XYZ\x{20f0}ABC Lat [Dev,Gran,Lat] Lat 2446 \x{a36}\x{a33}\x{900} [Dev,...] [Dev,...] Dev 2447 \x{3001}\x{2e80}\x{3041}\x{30a1} [Bopo, Han, etc] Han Hira Kata 2448 \x{3001}\x{30a1}\x{2e80}\x{3041} [Bopo, Han, etc] Kata Han Hira 2449 \x{3001}\x{3105}\x{2e80}\x{1101} [Bopo, Han, etc] Bopomofo Han Hangul 2450 \x{3105}\x{3001}\x{2e80}\x{1101} Bopomofo [Bopo, Han, etc] Han Hangul 2451 \x{3031}\x{3041}\x{30a1}\x{2e80} [Hira Kata] Hira Kata Han 2452 \x{060c}\x{06d4}\x{0600}\x{10d00}\x{0700} [Arab Rohg Syrc Thaa] [Arab Rohg] Arab Rohg Syrc 2453 \x{060c}\x{06d4}\x{0700}\x{0600}\x{10d00} [Arab Rohg Syrc Thaa] [Arab Rohg] Syrc Arab Rohg 2454 \x{2e80}\x{3041}\x{3001}\x{3031}\x{2e80} Han Hira [Bopo, Han, etc] [Hira Kata] Han 2455 2456/(?<!)(*sr:)/ 2457 2458/(?<!X(*sr:B)C)/ 2459 2460/(?<=abc(?=X(*sr:BCY)Z)XBCYZ)./ 2461 abcXBCYZ! 2462 2463/(?<=abc(?=X(*sr:BXY)CCC)XBXYCCC)./ 2464 abcXBXYCCC! 2465 2466/^(*sr:\S*)/utf 2467 \x{10d00}\x{10d00}\x{06d4} Rohingya Rohingya Arabic-full-stop 2468 \x{06d4}\x{10d00}\x{10d00} Arabic-full-stop Rohingya Rohingya 2469 \x{10d00}\x{10d00}\x{0363} Rohingya Rohingya Inherited-extend-Latin 2470 \x{0363}\x{10d00}\x{10d00} Inherited-extend-Latin Rohingya Rohingya 2471 AB\x{0363} Latin Latin Inherited-extend-Latin 2472 \x{0363}AB Inherited-extend-Latin Latin Latin 2473 AB\x{1cf7} Latin Latin Common-extended-Beng 2474 \x{1cf7}AB Common-extend-Beng Latin Latin 2475 \x{1cf7}\x{0993} Common-extend-Beng Bengali 2476 A\x{1abe}BC Test enclosing mark 2477 \x{0370}\x{1abe}\x{0371} Which can occur with any script (Greek here) 2478 \x{3001}\x{adf9}\x{3001} [.. Hangul ..] Hangul [.. Hangul ..] 2479 \x{3400}\x{3001}XXX Han [Han etc.] 2480 \x{3400}\x{1cd5} Han [Bengali Devanagari] 2481 \x{ac01}\x{3400} Hangul [.. Hangul ..] 2482 \x{ac01}\x{1cd5} Hangul [Bengali Devanagari] 2483 \x{102e0}\x{06d4}\x{1ee4d} [Arabic Coptic] [Arab Rohingya] Arabic 2484 \x{102e0}\x{06d4}\x{2cc9} [Arabic Coptic] [Arab Rohingya] Coptic 2485 \x{102e0}\x{06d4}\x{10d30} [Arabic Coptic] [Arab Rohingya] Rohingya 2486 2487# Test loop breaking for empty string match 2488 2489/^(*sr:A|)*BCD/utf 2490 AABCD 2491 ABCD 2492 BCD 2493 2494# The use of (*ACCEPT) breaks script run checking 2495 2496/^(*sr:.*(*ACCEPT)ZZ)/utf 2497 \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul 2498 2499# ------- 2500 2501# Test group names containing non-ASCII letters and digits 2502 2503/(?'ABáC'...)\g{ABáC}/utf 2504 abcabcdefg 2505 2506/(?'XʰABC'...)/utf 2507 xyzpq 2508 2509/(?'XאABC'...)/utf 2510 12345 2511 2512/(?'XᾈABC'...)/utf 2513 %^&*(... 2514 2515/(?'ABC'...)/utf 2516 abcde 2517 2518/^(?'אABC'...)(?&אABC)(?P=אABC)/utf 2519 123123123456 2520 2521/^(?'אABC'...)(?&אABC)/utf 2522 123123123456 2523 2524/\X*/ 2525 \xF3aaa\xE4\xEA\xEB\xFEa 2526 2527/Я/i,utf 2528 \x{42f} 2529 \x{44f} 2530 2531/(?=Я)/i,utf 2532 \x{42f} 2533 \x{44f} 2534 2535# ----------------------------------------------------------------------------- 2536# Tests for bidi control and bidi class properties. 2537 2538/\p{ bidi_control }/utf 2539 -->\x{202c}<-- 2540 2541/\p{bidicontrol}+/utf 2542 -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<-- 2543 -->\x{2066}\x{2067}\x{2068}\x{2069}<-- 2544 2545/\p{bidic}+?/utf 2546 -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<-- 2547 -->\x{2066}\x{2067}\x{2068}\x{2069}<-- 2548 2549/\p{bidi_control}++/utf 2550 -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<-- 2551 -->\x{2066}\x{2067}\x{2068}\x{2069}<-- 2552 2553/[\p{bidi_c}]/utf 2554 -->\x{202c}<-- 2555 2556/[\p{bidicontrol}]+/utf 2557 -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<-- 2558 -->\x{2066}\x{2067}\x{2068}\x{2069}<-- 2559 2560/[\p{bidicontrol}]+?/utf 2561 -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<-- 2562 -->\x{2066}\x{2067}\x{2068}\x{2069}<-- 2563 2564/[\p{bidicontrol}]++/utf 2565 -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<-- 2566 -->\x{2066}\x{2067}\x{2068}\x{2069}<-- 2567 2568/[\p{bidicontrol}<>]+/utf 2569 -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<-- 2570 -->\x{2066}\x{2067}\x{2068}\x{2069}<-- 2571 2572/\P{bidicontrol}+/g,utf 2573 -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<-- 2574 -->\x{2066}\x{2067}\x{2068}\x{2069}<-- 2575 2576/\p{^bidicontrol}+/g,utf 2577 -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<-- 2578 -->\x{2066}\x{2067}\x{2068}\x{2069}<-- 2579 2580/\p{bidi class = al}/utf 2581 -->\x{061D}<-- 2582 2583/\p{bc = al}+/utf 2584 -->\x{061D}\x{061e}\x{061f}<-- 2585 2586/\p{bidi_class : AL}+?/utf 2587 -->\x{061D}\x{061e}\x{061f}<-- 2588 2589/\p{Bidi_Class : AL}++/utf 2590 -->\x{061D}\x{061e}\x{061f}<-- 2591 2592/\p{b_c = aN}+/utf 2593 -->\x{061D}\x{0602}\x{0604}\x{061f}<-- 2594 2595/\p{bidi class = B}+/utf 2596 -->\x{0a}\x{0d}\x{01c}\x{01e}\x{085}\x{2029}<-- 2597 2598/\p{bidi class:BN}+/utf 2599 -->\x{0}\x{08}\x{200c}\x{fffe}\x{dfffe}\x{10ffff}<-- 2600 2601/\p{bidiclass:cs}+/utf 2602 -->,.\x{060c}\x{ff1a}<-- 2603 2604/\p{bidiclass:En}+/utf 2605 -->09\x{b2}\x{2074}\x{1fbf9}<-- 2606 2607/\p{bidiclass:es}+/utf 2608 ==>+-\x{207a}\x{ff0d}<== 2609 2610/\p{bidiclass:et}+/utf 2611 -->#\{24}%\x{a2}\x{A838}\x{1e2ff}<-- 2612 2613/\p{bidiclass:FSI}+/utf 2614 -->\x{2068}<-- 2615 2616/\p{bidi class:L}+/utf 2617 -->ABC<-- 2618 2619/\P{bidi class:L}+/utf 2620 -->ABC<-- 2621 2622/\p{bidi class:LRE}+\p{bidiclass=lri}*\p{bidiclass:lro}/utf 2623 -->\x{202a}\x{2066}\x{202d}<-- 2624 2625/\p{bidi class:NSM}+/utf 2626 -->\x{9bc}\x{a71}\x{e31}<-- 2627 2628/\p{bidi class:ON}+/utf 2629 -->\x{21}'()*;@\x{384}\x{2039}<=- 2630 2631/\p{bidiclass:pdf}\p{bidiclass:pdi}/utf 2632 -->\x{202c}\x{2069}<-- 2633 2634/\p{bidi class:R}+/utf 2635 -->\x{590}\x{5c6}\x{200f}\x{10805}<-- 2636 2637/\p{bidi class:RLE}+\p{bidi class:RLI}*\p{bidi class:RLO}+/utf 2638 -->\x{202b}\x{2067}\x{202e}<-- 2639 2640/\p{bidi class:S}+\p{bidiclass:WS}+/utf 2641 -->\x{9}\x{b}\x{1f} \x{c} \x{2000} \x{3000}<-- 2642 2643# ----------------------------------------------------------------------------- 2644 2645/[\p{taml}\p{sc:ugar}]+/utf 2646 \x{0b82}\x{10380} 2647 2648/^[\p{sc:Arabic}]/utf 2649\= Expect no match 2650 \x{650} 2651 \x{651} 2652 \x{652} 2653 \x{653} 2654 \x{654} 2655 \x{655} 2656 2657# ----------------------------------------------------------------------------- 2658# Tests for newly-added Boolean Properties 2659 2660/\p{ahex}\p{asciihexdigit}/utf 2661 >4F< 2662 2663/\p{alpha}\p{alphabetic}/g,utf 2664 >AB<>\x{148}\x{1234} 2665 2666/\p{ascii}\p{ascii}/g,utf 2667 >AB<>\x{148}\x{1234} 2668 2669/\p{Bidi_C}\p{bidicontrol}/g,utf 2670 >\x{202d}\x{2069}< 2671 2672/\p{Bidi_M}\p{bidimirrored}/g,utf 2673 >\x{202d}\x{2069}<>\x{298b}\x{bb}< 2674 2675/\p{cased}\p{cased}/g,utf 2676 >AN<>\x{149}\x{120}< 2677 2678/\p{caseignorable}\p{ci}/g,utf 2679 >AN<>\x{60}\x{859}< 2680 2681/\p{changeswhencasefolded}\p{cwcf}/g,utf 2682 >AN<>\x{149}\x{120}< 2683 2684/\p{changeswhencasemapped}\p{cwcm}/g,utf 2685 >AN<>\x{149}\x{120}< 2686 2687/\p{changeswhenlowercased}\p{cwl}/g,utf 2688 >AN<>\x{149}\x{120}<>yz< 2689 2690/\p{changeswhenuppercased}\p{cwu}/g,utf 2691 >AN<>\x{149}\x{120}<>yz< 2692 2693/\p{changeswhentitlecased}\p{cwt}/g,utf 2694 >AN<>\x{149}\x{120}<>yz< 2695 2696/\p{dash}\p{dash}/g,utf 2697 >\x{2d}\x{1400}<>yz< 2698 2699/\p{defaultignorablecodepoint}\p{di}/g,utf 2700 >AN<>\x{ad}\x{e0fff}<>yz< 2701 2702/\p{deprecated}\p{dep}/g,utf 2703 >AN<>\x{149}\x{e0001}<>yz< 2704 2705/\p{diacritic}\p{dia}/g,utf 2706 >AN<>\x{f84}\x{5e}<>yz< 2707 2708/\p{emojicomponent}\p{ecomp}/g,utf 2709 >AN<>\x{200d}\x{e007f}<>yz< 2710 2711/\p{emojimodifier}\p{emod}/g,utf 2712 >AN<>\x{1f3fb}\x{1f3ff}<>yz< 2713 2714/\p{emojipresentation}\p{epres}/g,utf 2715 >AN<>\x{2653}\x{1f6d2}<>yz< 2716 2717/\p{extender}\p{ext}/g,utf 2718 >AN<>\x{1e944}\x{b7}<>yz< 2719 2720/\p{extendedpictographic}\p{extpict}/g,utf 2721 >AN<>\x{26cf}\x{ae}<>yz< 2722 2723/\p{graphemebase}\p{grbase}/g,utf 2724 >AN<>\x{10f}\x{60}<>yz< 2725 2726/\p{graphemeextend}\p{grext}/g,utf 2727 >AN<>\x{300}\x{b44}<>yz< 2728 2729/\p{hexdigit}\p{hex}/g,utf 2730 >AF23<>\x{ff46}\x{ff10}<>yz< 2731 2732/\p{idcontinue}\p{idc}/g,utf 2733 >AF23<>\x{146}\x{7a}<>yz< 2734 2735/\p{ideographic}\p{ideo}/g,utf 2736 >AF23<>\x{30000}\x{3006}<>yz< 2737 2738/\p{idstart}\p{ids}/g,utf 2739 >AF23<>\x{146}\x{7a}<>yz< 2740 2741/\p{idsbinaryoperator}\p{idsb}/g,utf 2742 >AF23<>\x{2ff0}\x{2ffb}<>yz<\x{2ff2}\x{2ff1} 2743 2744/\p{idstrinaryoperator}\p{idst}/g,utf 2745 >AF23<>\x{2ff2}\x{2ff3}<>yz< 2746 2747/\p{Join Control}\p{joinc}/g,utf 2748 >AF23<>\x{200c}\x{200d}<>yz< 2749 2750/\p{logical_order_exception}\p{loe}/g,utf 2751 >AF23<>\x{e40}\x{aabc}<>yz< 2752 2753/\p{Lowercase}\p{lower}/g,utf 2754 >AF23<>\x{146}\x{7a}<>yz< 2755 2756/\p{math}\p{math}/g,utf 2757 >AF23<>\x{2215}\x{2b}<>yz< 2758 2759/\p{Non Character Code Point}\p{nchar}/g,utf 2760 >AF23<>\x{10ffff}\x{fdd0}<>yz< 2761 2762/\p{patternsyntax}\p{patsyn}/g,utf 2763 >AF23<>\x{21cd}\x{21}<>yz< 2764 2765/\p{patternwhitespace}\p{patws}/g,utf 2766 >AF23<>\x{2029}\x{85}<>yz< 2767 2768/\p{prependedconcatenationmark}\p{pcm}/g,utf 2769 >AF23<>\x{600}\x{110cd}<>yz< 2770 2771/\p{quotationmark}\p{qmark}/g,utf 2772 >AF23<>\x{ff63}\x{22}<>yz< 2773 2774/\p{radical}\p{radical}/g,utf 2775 >AF23<>\x{2fd5}\x{2e80}<>yz< 2776 2777/\p{regionalindicator}\p{ri}/g,utf 2778 >AF23<>\x{1f1e6}\x{1f1ff}<>yz< 2779 2780/=\p{whitespace}\p{space}\p{wspace}=/g,utf 2781 >AF23<=\x{d}\x{1680}\x{3000}=>yz< 2782 2783/\p{sentenceterminal}\p{sterm}/g,utf 2784 >AF23<>\x{1da88}\x{2e}<>yz< 2785 2786/\p{terminalpunctuation}\p{term}/g,utf 2787 >AF23<>\x{1da88}\x{2e}<>yz< 2788 2789/\p{unified ideograph}\p{uideo}/g,utf 2790 >AF23<>\x{30000}\x{3400}<>yz< 2791 2792/\p{UPPERcase}\p{upper}/g,utf 2793 >AF23<>\x{146}\x{7a}<>yz< 2794 2795/\p{variationselector}\p{vs}/g,utf 2796 >AF23<>\x{180b}\x{e01ef}<>yz< 2797 2798/\p{xidcontinue}\p{xidc}/g,utf 2799 >AF23<>\x{146}\x{30}<>yz< 2800 2801# ----------------------------------------------------------------------------- 2802# Variable-length lookbehinds. 2803 2804/(?<=áb?c).../g,utf 2805 ábcdèfgácxyz 2806 2807/(?<=PQR|áb?c).../g,utf 2808 ábcdèfgácxyzPQR123 2809 2810/(?<=áb?c|PQR).../g,utf 2811 ábcdèfgácxyzPQR123 2812 2813/(?<=PQ|áb?c).../g,utf 2814 ábcdèfgácxyzPQR123 2815 2816/(?<=áb?c|PQ).../g,utf 2817 ábcdèfgácxyzPQR123 2818 2819/(?<=á(b?c|d?è?è)f)X./g,utf 2820 ácfX1zzzáèfX2zzzádèèfX3zzzX4zzz 2821 2822/(?<!á(b?c|d?è?è)f)X./g,utf 2823 ácfX1zzzáèfX2zzzádèèfX3zzzX4zzz 2824 2825/(?(?<=áb?c)d|è)/utf 2826 ábcdèfg 2827 ácdèfg 2828 áxdèfg 2829 2830/(?<=\d{2,3}|áBC)./utf 2831 áBCD 2832 2833/(?<=á(b?c){3}d)X/utf 2834 ZXácbccdXYZ 2835 2836/(?<=á(b?c){0}d)X/utf 2837 ZXádXYZ 2838 2839/(?<=á?(b?c){0}d)X./utf 2840 ZXádXYZ 2841 2842# -------------------------------------------------------------------------- 2843 2844/\N{ U+1234 }/utf 2845 \x{1234} 2846 2847/\o{ 1234 }/utf 2848 x\o{1234}y 2849 2850/\x{ 1234 }/utf 2851 x\x{1234}y 2852 2853/\p{ L }/ 2854 23AB56 2855 2856/\w+/utf,ucp 2857 --cafe\x{300}_au\x{203f}lait! 2858 2859/[\w]+/utf,ucp 2860 --cafe\x{300}_au\x{203f}lait! 2861 2862/[[:word:]]+/utf,ucp 2863 --cafe\x{300}_au\x{203f}lait! 2864 2865/[[:xdigit:]]+/utf,ucp 2866 --123ef\x{ff10}\x{ff19}\x{ff21}\x{ff26}\x{ff1a} 2867 2868/\b.+?\b/utf,ucp 2869 --cafe\x{300}_au\x{203f}lait! 2870 2871/caf\B.+?\B/utf,ucp 2872 --cafe\x{300}_au\x{203f}lait! 2873 2874# End of testinput4 2875