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