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