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.
6 #newline_default lf anycrlf any
101 0: a\x{1234}\x{4321}yb
103 a\x{1234}\x{4321}\x{3412}b
104 0: a\x{1234}\x{4321}\x{3412}b
105 1: \x{1234}\x{4321}\x{3412}
117 0: a\x{1234}\x{4321}yb
119 a\x{1234}\x{4321}\x{3412}b
120 0: a\x{1234}\x{4321}\x{3412}b
121 1: \x{1234}\x{4321}\x{3412}
125 a\x{1234}\x{4321}\x{3412}\x{3421}b
126 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
127 1: \x{1234}\x{4321}\x{3412}\x{3421}
137 0: a\x{1234}\x{4321}yb
139 a\x{1234}\x{4321}\x{3412}b
140 0: a\x{1234}\x{4321}\x{3412}b
141 1: \x{1234}\x{4321}\x{3412}
145 a\x{1234}\x{4321}\x{3412}\x{3421}b
146 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
147 1: \x{1234}\x{4321}\x{3412}\x{3421}
157 0: a\x{1234}\x{4321}yb
159 a\x{1234}\x{4321}\x{3412}b
160 0: a\x{1234}\x{4321}\x{3412}b
161 1: \x{1234}\x{4321}\x{3412}
165 a\x{1234}\x{4321}\x{3412}\x{3421}b
166 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
167 1: \x{1234}\x{4321}\x{3412}\x{3421}
185 0: a\x{1234}\x{4321}yb
187 a\x{1234}\x{4321}\x{3412}b
188 0: a\x{1234}\x{4321}\x{3412}b
189 1: \x{1234}\x{4321}\x{3412}
193 a\x{1234}\x{4321}\x{3412}\x{3421}b
194 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
195 1: \x{1234}\x{4321}\x{3412}\x{3421}
217 /(?<=a\x{100}b)cd/utf
221 /(?<=a\x{100000}b)cd/utf
226 \x{100}\x{100}\x{100}b
227 0: \x{100}\x{100}\x{100}b
303 \x{100}\x{100}\x{100}\x{100}
304 0: \x{100}\x{100}\x{100}
309 \x{100}\x{100}\x{100}\x{100}
310 0: \x{100}\x{100}\x{100}\x{100}
313 abcd\x{100}\x{100}\x{100}\x{100}
317 abcd\x{100}\x{100}\x{100}\x{100}
318 0: \x{100}\x{100}\x{100}
321 abcd\x{100}\x{100}\x{100}\x{100}
322 0: \x{100}\x{100}\x{100}\x{100}
325 abcd\x{100}\x{100}\x{100}XX
326 0: \x{100}\x{100}\x{100}
329 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
330 0: \x{100}\x{100}\x{100}\x{100}\x{100}
333 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
334 0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
336 /(?<=a\x{100}{2}b)X/utf,aftertext
337 Xyyya\x{100}\x{100}bXzzz
342 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
343 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
346 \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
347 0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
450 />\s{2,3}</utf,aftertext
461 />\s{2,3}?</utf,aftertext
538 /[\x{100}\x{200}]/utf
544 /[\x{100}-\x{200}]/utf
564 /[Q\x{100}\x{200}]/utf
572 /[Q\x{100}-\x{200}]/utf
596 /[\x{100}\x{200}]{1,3}/utf
601 ab\x{200}\x{100}\x{200}\x{100}cd
602 0: \x{200}\x{100}\x{200}
604 /[\x{100}\x{200}]{1,3}?/utf
609 ab\x{200}\x{100}\x{200}\x{100}cd
612 /[Q\x{100}\x{200}]{1,3}/utf
617 ab\x{200}\x{100}\x{200}\x{100}cd
618 0: \x{200}\x{100}\x{200}
620 /[Q\x{100}\x{200}]{1,3}?/utf
625 ab\x{200}\x{100}\x{200}\x{100}cd
628 /(?<=[\x{100}\x{200}])X/utf
637 /(?<=[Q\x{100}\x{200}])X/utf
648 /(?<=[\x{100}\x{200}]{3})X/utf
649 abc\x{100}\x{200}\x{100}X
657 /[^\x{100}\x{200}]X/utf
670 /[^Q\x{100}\x{200}]X/utf
685 /[^\x{100}-\x{200}]X/utf
831 \x{442}\x{435}\x{441}\x{442}
838 \x{442}\x{435}\x{441}\x{442}
845 \x{442}\x{435}\x{441}\x{442}
852 \x{442}\x{435}\x{441}\x{442}
859 \x{2442}\x{2435}\x{2441}\x{2442}
866 \x{2442}\x{2435}\x{2441}\x{2442}
873 abc\n\r\x{442}\x{435}\x{441}\x{442}xyz
874 0: abc\x{0a}\x{0d}\x{442}\x{435}\x{441}\x{442}xyz
877 \x{442}\x{435}\x{441}\x{442}
884 abc def\x{442}\x{443}xyz\npqr
889 abc def\x{442}\x{443}xyz\npqr
961 /[^ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉƊƋƎƏƐƑƓƔƖƗƘƜƝƟƠƢƤƦƧƩƬƮƯƱƲƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶǷǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁΆΈΉΊΌΎΏΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϒϓϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽϾϿЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸԀԂԄԆԈԊԌԎԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸἈἉἊἋἌἍἎἏἘἙἚἛἜἝἨἩἪἫἬἭἮἯἸἹἺἻἼἽἾἿὈὉὊὋὌὍὙὛὝὟὨὩὪὫὬὭὮὯᾸᾹᾺΆῈΈῊΉῘῙῚΊῨῩῪΎῬῸΌῺΏabcdefghijklmnopqrstuvwxyzªµºßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżžſƀƃƅƈƌƍƒƕƙƚƛƞơƣƥƨƪƫƭưƴƶƹƺƽƾƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳȴȵȶȷȸȹȼȿɀɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯΐάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϐϑϕϖϗϙϛϝϟϡϣϥϧϩϫϭϯϰϱϲϳϵϸϻϼабвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹԁԃԅԇԉԋԍԏաբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆևᴀᴁᴂᴃᴄᴅᴆᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡᴢᴣᴤᴥᴦᴧᴨᴩᴪᴫᵢᵣᵤᵥᵦᵧᵨᵩᵪᵫᵬᵭᵮᵯᵰᵱᵲᵳᵴᵵᵶᵷᵹᵺᵻᵼᵽᵾᵿᶀᶁᶂᶃᶄᶅᶆᶇᶈᶉᶊᶋᶌᶍᶎᶏᶐᶑᶒᶓᶔᶕᶖᶗᶘᶙᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚẛạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾰᾱᾲᾳᾴᾶᾷιῂῃῄῆῇῐῑῒΐῖῗῠῡῢΰῤῥῦῧῲῳῴῶῷⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⴀⴁⴂⴃⴄⴅⴆⴇⴈⴉⴊⴋⴌⴍⴎⴏⴐⴑⴒⴓⴔⴕⴖⴗⴘⴙⴚⴛⴜⴝⴞⴟⴠⴡⴢⴣⴤⴥfffiflffifflſtstﬓﬔﬕﬖﬗ\d_^]/utf
979 /(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]/utf
985 /^([a\x{c0}]*?)aa/utf
990 /^([a\x{c0}]*?)aa/utf
1003 0: a\x{c0}a\x{c0}aaa
1006 /^([a\x{c0}]*)a\x{c0}/utf
1033 /a(*:a\x{1234}b)/utf,mark
1201 \x{100}\x{100}\x{100}\x{100}
1202 0: \x{100}\x{100}\x{100}\x{100}
1204 \x{100}\x{100}\x{100}
1207 /^\x{100}*.{4}/i,utf
1208 \x{100}\x{100}\x{100}\x{100}
1209 0: \x{100}\x{100}\x{100}\x{100}
1211 \x{100}\x{100}\x{100}
1219 \x{10123}\x{10124}\x{10125}
1220 0: \x{10123}\x{10124}\x{10125}
1222 /^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/utf
1223 #\x{10000}#\x{100}#\x{10ffff}#
1224 0: #\x{10000}#\x{100}#\x{10ffff}#
1226 # Unicode property support tests
1228 /^\pC\pL\pM\pN\pP\pS\pZ</utf
1229 \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
1230 0: \x{7f}\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
1232 0: \x{0a}p\x{300}9!$ <
1399 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
1400 0: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}
1401 \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
1402 0: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}
1403 \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
1404 0: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}
1541 0: +<|~\x{ac}\x{2044}
1578 \x{660}\x{661}\x{662}ABC
1579 0: \x{660}\x{661}\x{662}AB
1583 \x{660}\x{661}\x{662}ABC
1584 0: \x{660}\x{661}\x{662}
1588 \x{660}\x{661}\x{662}ABC
1589 0: \x{660}\x{661}\x{662}AB
1592 /\p{Nd}{2,}?(..)/utf
1593 \x{660}\x{661}\x{662}ABC
1594 0: \x{660}\x{661}\x{662}A
1598 \x{660}\x{661}\x{662}ABC
1599 0: \x{660}\x{661}\x{662}AB
1603 \x{660}\x{661}\x{662}ABC
1608 \x{660}\x{661}\x{662}ABC
1609 0: \x{660}\x{661}\x{662}A
1612 /\p{Nd}{2,3}(..)/utf
1613 \x{660}\x{661}\x{662}ABC
1614 0: \x{660}\x{661}\x{662}AB
1617 /\p{Nd}{2,3}?(..)/utf
1618 \x{660}\x{661}\x{662}ABC
1619 0: \x{660}\x{661}\x{662}A
1623 \x{660}\x{661}\x{662}ABC
1624 0: \x{660}\x{661}\x{662}
1628 \x{660}\x{661}\x{662}ABC
1633 \x{660}\x{661}\x{662}ABC
1634 0: \x{660}\x{661}\x{662}AB
1638 \x{660}\x{661}\x{662}ABC
1639 0: \x{660}\x{661}\x{662}ABC
1644 \x{660}\x{661}\x{662}ABC
1647 /(?<=A\p{Nd})XYZ/utf
1679 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1680 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1682 11111111111111111111111111111111111111111111111111111111111111111111111
1686 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1687 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1689 11111111111111111111111111111111111111111111111111111111111111111111111
1693 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1694 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1696 11111111111111111111111111111111111111111111111111111111111111111111111
1700 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1701 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1703 11111111111111111111111111111111111111111111111111111111111111111111111
1707 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1708 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1710 11111111111111111111111111111111111111111111111111111111111111111111111
1743 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
1744 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1745 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1747 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
1749 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1751 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
1753 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1755 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1758 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
1759 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1760 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1761 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
1762 0: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
1763 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1764 0: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1765 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
1766 0: A\x{391}\x{1044f}\x{ff3a}\x{1fb0}
1767 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1768 0: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1769 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1770 0: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1773 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
1774 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
1776 /\x{391}{3,5}(.)/i,utf
1777 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1778 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1781 /\x{391}{3,5}?(.)/i,utf
1782 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1783 0: \x{391}\x{3b1}\x{3b1}\x{3b1}
1786 /[\x{391}\x{ff3a}]/i,utf
1797 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1798 0: A\x{300}\x{301}\x{302}BC
1799 1: A\x{300}\x{301}\x{302}B
1800 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1801 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1802 1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1805 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1806 0: A\x{300}\x{301}\x{302}BC
1807 1: A\x{300}\x{301}\x{302}B
1808 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1809 0: A\x{300}\x{301}\x{302}BC
1810 1: A\x{300}\x{301}\x{302}B
1813 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1814 0: A\x{300}\x{301}\x{302}BCA
1815 1: A\x{300}\x{301}\x{302}BC
1817 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1818 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1819 1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1823 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1827 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1834 A\x{300}\x{301}\x{302}
1838 A\x{300}\x{301}B\x{300}X
1839 0: A\x{300}\x{301}B\x{300}X
1841 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
1842 0: A\x{300}\x{301}B\x{300}C
1844 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1845 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1847 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
1848 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D
1852 A\x{300}\x{301}B\x{300}X
1853 0: A\x{300}\x{301}B\x{300}X
1855 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
1856 0: A\x{300}\x{301}B\x{300}C
1858 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1859 0: A\x{300}\x{301}B\x{300}C
1861 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
1862 0: A\x{300}\x{301}B\x{300}C
1870 A\x{300}\x{301}\x{302}BC
1871 0: A\x{300}\x{301}\x{302}
1876 \x{2e81}\x{3007}\x{2f804}\x{31a0}
1877 0: \x{2e81}\x{3007}\x{2f804}
2068 \x{1234}\n\r\x{3456}xyz
2069 0: \x{1234}\x{0a}\x{0d}
2074 \x{1234}\n\r\x{3456}xyz
2075 0: \x{1234}\x{0a}\x{0d}\x{3456}x
2081 \x{1234}\n\r\x{3456}xyz
2216 /^(\p{Z}[^\p{C}\p{Z}]+)*$/
2232 /^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/utf
2233 \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
2234 0: \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
2236 # Check property support in non-UTF mode
2259 /[\PPP\x8a]{1,}\x80/
2345 /\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/utf
2346 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
2347 0: \x{102a4}\x{aa52}\x{a91d}\x{1c46}\x{10283}\x{1092e}\x{1c6b}\x{a93b}\x{a8bf}\x{1ba0}\x{a50a}
2349 /\x{a77d}\x{1d79}/i,utf
2355 /\x{a77d}\x{1d79}/utf
2390 # The next two tests are for property support in non-UTF mode
2393 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
2394 0: A P\xc2T\xc9 TODAY
2397 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
2398 0: A P\xc2T\xc9 TODAY
2400 /\p{Avestan}\p{Bamum}\p{Egyptian_Hieroglyphs}\p{Imperial_Aramaic}\p{Inscriptional_Pahlavi}\p{Inscriptional_Parthian}\p{Javanese}\p{Kaithi}\p{Lisu}\p{Meetei_Mayek}\p{Old_South_Arabian}\p{Old_Turkic}\p{Samaritan}\p{Tai_Tham}\p{Tai_Viet}/utf
2401 \x{10b00}\x{a6ef}\x{13007}\x{10857}\x{10b78}\x{10b58}\x{a980}\x{110c1}\x{a4ff}\x{abc0}\x{10a7d}\x{10c48}\x{0800}\x{1aad}\x{aac0}
2402 0: \x{10b00}\x{a6ef}\x{13007}\x{10857}\x{10b78}\x{10b58}\x{a980}\x{110c1}\x{a4ff}\x{abc0}\x{10a7d}\x{10c48}\x{800}\x{1aad}\x{aac0}
2405 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
2406 0: Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
2408 /^[[:xdigit:]]*/utf,ucp
2409 1a\x{660}\x{bef}\x{16ee}
2413 1\x{660}\x{bef}\x{16ee}
2416 /^[[:digit:]]+/utf,ucp
2417 1\x{660}\x{bef}\x{16ee}
2421 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
2422 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b}
2425 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
2426 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}
2428 /^>[[:space:]]*/utf,ucp
2429 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
2430 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b}
2432 /^>[[:blank:]]*/utf,ucp
2433 >\x{20}\x{a0}\x{1680}\x{2000}\x{202f}\x{9}\x{b}\x{2028}
2434 0: > \x{a0}\x{1680}\x{2000}\x{202f}\x{09}
2436 /^[[:alpha:]]*/utf,ucp
2437 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}
2438 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}
2440 /^[[:alnum:]]*/utf,ucp
2441 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
2442 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
2444 /^[[:cntrl:]]*/utf,ucp
2445 \x{0}\x{09}\x{1f}\x{7f}\x{9f}
2446 0: \x{00}\x{09}\x{1f}\x{7f}\x{9f}
2448 /^[[:graph:]]*/utf,ucp
2452 /^[[:print:]]*/utf,ucp
2456 /^[[:punct:]]*/utf,ucp
2492 # These are tests for extended grapheme clusters
2513 *These match up to the roman letters
2515 0+ These match up to the roman letters
2519 \x{1111}\x{1111}\x{1169}L,L,V
2520 0: \x{1111}\x{1111}\x{1169}
2522 \x{1111}\x{ae4c}L, LV
2525 \x{1111}\x{ad89}L, LVT
2528 \x{1111}\x{ae4c}\x{1169}L, LV, V
2529 0: \x{1111}\x{ae4c}\x{1169}
2531 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
2532 0: \x{1111}\x{ae4c}\x{1169}\x{1169}
2534 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
2535 0: \x{1111}\x{ae4c}\x{1169}\x{11fe}
2537 \x{1111}\x{ad89}\x{11fe}L, LVT, T
2538 0: \x{1111}\x{ad89}\x{11fe}
2540 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
2541 0: \x{1111}\x{ad89}\x{11fe}\x{11fe}
2543 \x{ad89}\x{11fe}\x{11fe}LVT, T, T
2544 0: \x{ad89}\x{11fe}\x{11fe}
2546 *These match just the first codepoint (invalid sequence)
2548 0+ These match just the first codepoint (invalid sequence)
2549 \x{1111}\x{11fe}L, T
2552 \x{ae4c}\x{1111}LV, L
2555 \x{ae4c}\x{ae4c}LV, LV
2558 \x{ae4c}\x{ad89}LV, LVT
2561 \x{1169}\x{1111}V, L
2564 \x{1169}\x{ae4c}V, LV
2567 \x{1169}\x{ad89}V, LVT
2570 \x{ad89}\x{1111}LVT, L
2573 \x{ad89}\x{1169}LVT, V
2576 \x{ad89}\x{ae4c}LVT, LV
2579 \x{ad89}\x{ad89}LVT, LVT
2582 \x{11fe}\x{1111}T, L
2585 \x{11fe}\x{1169}T, V
2588 \x{11fe}\x{ae4c}T, LV
2591 \x{11fe}\x{ad89}T, LVT
2594 *Test extend and spacing mark
2596 0+ Test extend and spacing mark
2597 \x{1111}\x{ae4c}\x{0711}L, LV, extend
2598 0: \x{1111}\x{ae4c}\x{711}
2600 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
2601 0: \x{1111}\x{ae4c}\x{1b04}
2602 0+ L, LV, spacing mark
2603 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
2604 0: \x{1111}\x{ae4c}\x{1b04}\x{711}\x{1b04}
2605 0+ L, LV, spacing mark, extend, spacing mark
2606 *Test CR, LF, and control
2608 0+ Test CR, LF, and control
2609 \x0d\x{0711}CR, extend
2611 0+ \x{711}CR, extend
2612 \x0d\x{1b04}CR, spacingmark
2614 0+ \x{1b04}CR, spacingmark
2615 \x0a\x{0711}LF, extend
2617 0+ \x{711}LF, extend
2618 \x0a\x{1b04}LF, spacingmark
2620 0+ \x{1b04}LF, spacingmark
2621 \x0b\x{0711}Control, extend
2623 0+ \x{711}Control, extend
2624 \x09\x{1b04}Control, spacingmark
2626 0+ \x{1b04}Control, spacingmark
2627 *There are no Prepend characters, so we can't test Prepend, CR
2629 0+ There are no Prepend characters, so we can't test Prepend, CR
2631 /^(?>\X{2})X/utf,aftertext
2632 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2633 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2636 /^\X{2,4}X/utf,aftertext
2637 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2638 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2640 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2641 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2643 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2644 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2647 /^\X{2,4}?X/utf,aftertext
2648 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2649 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2651 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2652 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2654 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2655 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2658 /\X*Z/utf,no_start_optimize
2663 /\X*(.)/utf,no_start_optimize
2664 A\x{1111}\x{ae4c}\x{1169}
2668 # --------------------------------------------
2694 # Check a reference with more than one other case
2696 /^(\x{00b5})\1{2}$/i,utf
2697 \x{00b5}\x{039c}\x{03bc}
2698 0: \x{b5}\x{39c}\x{3bc}
2701 # Characters with more than one other case; test in classes
2704 \x{00b5}\x{039c}\x{03bc}
2705 0: \x{b5}\x{39c}\x{3bc}
2708 \x{00b5}\x{039c}\x{03bc}
2709 0: \x{b5}\x{39c}\x{3bc}
2712 \x{00b5}\x{039c}\x{03bc}
2713 0: \x{b5}\x{39c}\x{3bc}
2716 \x{00c5}\x{00e5}\x{212b}
2717 0: \x{c5}\x{e5}\x{212b}
2720 \x{00c5}\x{00e5}\x{212b}
2721 0: \x{c5}\x{e5}\x{212b}
2724 \x{00c5}\x{00e5}\x{212b}
2725 0: \x{c5}\x{e5}\x{212b}
2728 \x{01c4}\x{01c5}\x{01c6}
2729 0: \x{1c4}\x{1c5}\x{1c6}
2732 \x{01c4}\x{01c5}\x{01c6}
2733 0: \x{1c4}\x{1c5}\x{1c6}
2736 \x{01c4}\x{01c5}\x{01c6}
2737 0: \x{1c4}\x{1c5}\x{1c6}
2740 \x{01c7}\x{01c8}\x{01c9}
2741 0: \x{1c7}\x{1c8}\x{1c9}
2744 \x{01c7}\x{01c8}\x{01c9}
2745 0: \x{1c7}\x{1c8}\x{1c9}
2748 \x{01c7}\x{01c8}\x{01c9}
2749 0: \x{1c7}\x{1c8}\x{1c9}
2752 \x{01ca}\x{01cb}\x{01cc}
2753 0: \x{1ca}\x{1cb}\x{1cc}
2756 \x{01ca}\x{01cb}\x{01cc}
2757 0: \x{1ca}\x{1cb}\x{1cc}
2760 \x{01ca}\x{01cb}\x{01cc}
2761 0: \x{1ca}\x{1cb}\x{1cc}
2764 \x{01f1}\x{01f2}\x{01f3}
2765 0: \x{1f1}\x{1f2}\x{1f3}
2768 \x{01f1}\x{01f2}\x{01f3}
2769 0: \x{1f1}\x{1f2}\x{1f3}
2772 \x{01f1}\x{01f2}\x{01f3}
2773 0: \x{1f1}\x{1f2}\x{1f3}
2776 \x{0345}\x{0399}\x{03b9}\x{1fbe}
2777 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2780 \x{0345}\x{0399}\x{03b9}\x{1fbe}
2781 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2784 \x{0345}\x{0399}\x{03b9}\x{1fbe}
2785 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2788 \x{0345}\x{0399}\x{03b9}\x{1fbe}
2789 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2792 \x{0392}\x{03b2}\x{03d0}
2793 0: \x{392}\x{3b2}\x{3d0}
2796 \x{0392}\x{03b2}\x{03d0}
2797 0: \x{392}\x{3b2}\x{3d0}
2800 \x{0392}\x{03b2}\x{03d0}
2801 0: \x{392}\x{3b2}\x{3d0}
2804 \x{0395}\x{03b5}\x{03f5}
2805 0: \x{395}\x{3b5}\x{3f5}
2808 \x{0395}\x{03b5}\x{03f5}
2809 0: \x{395}\x{3b5}\x{3f5}
2812 \x{0395}\x{03b5}\x{03f5}
2813 0: \x{395}\x{3b5}\x{3f5}
2816 \x{0398}\x{03b8}\x{03d1}\x{03f4}
2817 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2820 \x{0398}\x{03b8}\x{03d1}\x{03f4}
2821 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2824 \x{0398}\x{03b8}\x{03d1}\x{03f4}
2825 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2828 \x{0398}\x{03b8}\x{03d1}\x{03f4}
2829 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2832 \x{039a}\x{03ba}\x{03f0}
2833 0: \x{39a}\x{3ba}\x{3f0}
2836 \x{039a}\x{03ba}\x{03f0}
2837 0: \x{39a}\x{3ba}\x{3f0}
2840 \x{039a}\x{03ba}\x{03f0}
2841 0: \x{39a}\x{3ba}\x{3f0}
2844 \x{03a0}\x{03c0}\x{03d6}
2845 0: \x{3a0}\x{3c0}\x{3d6}
2848 \x{03a0}\x{03c0}\x{03d6}
2849 0: \x{3a0}\x{3c0}\x{3d6}
2852 \x{03a0}\x{03c0}\x{03d6}
2853 0: \x{3a0}\x{3c0}\x{3d6}
2856 \x{03a1}\x{03c1}\x{03f1}
2857 0: \x{3a1}\x{3c1}\x{3f1}
2860 \x{03a1}\x{03c1}\x{03f1}
2861 0: \x{3a1}\x{3c1}\x{3f1}
2864 \x{03a1}\x{03c1}\x{03f1}
2865 0: \x{3a1}\x{3c1}\x{3f1}
2868 \x{03A3}\x{03C2}\x{03C3}
2869 0: \x{3a3}\x{3c2}\x{3c3}
2872 \x{03A3}\x{03C2}\x{03C3}
2873 0: \x{3a3}\x{3c2}\x{3c3}
2876 \x{03A3}\x{03C2}\x{03C3}
2877 0: \x{3a3}\x{3c2}\x{3c3}
2880 \x{03a6}\x{03c6}\x{03d5}
2881 0: \x{3a6}\x{3c6}\x{3d5}
2884 \x{03a6}\x{03c6}\x{03d5}
2885 0: \x{3a6}\x{3c6}\x{3d5}
2888 \x{03a6}\x{03c6}\x{03d5}
2889 0: \x{3a6}\x{3c6}\x{3d5}
2892 \x{03c9}\x{03a9}\x{2126}
2893 0: \x{3c9}\x{3a9}\x{2126}
2896 \x{03c9}\x{03a9}\x{2126}
2897 0: \x{3c9}\x{3a9}\x{2126}
2900 \x{03c9}\x{03a9}\x{2126}
2901 0: \x{3c9}\x{3a9}\x{2126}
2904 \x{1e60}\x{1e61}\x{1e9b}
2905 0: \x{1e60}\x{1e61}\x{1e9b}
2908 \x{1e60}\x{1e61}\x{1e9b}
2909 0: \x{1e60}\x{1e61}\x{1e9b}
2912 \x{1e60}\x{1e61}\x{1e9b}
2913 0: \x{1e60}\x{1e61}\x{1e9b}
2915 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK
2918 \x{004b}\x{006b}\x{212a}
2922 \x{004b}\x{006b}\x{212a}
2926 \x{004b}\x{006b}\x{212a}
2930 \x{0053}\x{0073}\x{017f}
2934 \x{0053}\x{0073}\x{017f}
2938 \x{0053}\x{0073}\x{017f}
2941 # --------------------------------------
2945 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2946 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2948 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2949 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2951 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2952 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2954 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c3}
2955 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2957 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2958 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2962 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2963 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2965 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2966 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2968 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2969 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2971 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c3}
2972 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2974 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2975 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2979 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2980 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2981 ΣΆΜΟΣ ΣΆΜΟΣσάμοςσάμος
2982 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}\x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}\x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2983 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2985 # Perl matches these
2988 \x{00b5}\x{039c}\x{03bc}
2989 0: \x{b5}\x{39c}\x{3bc}
2992 \x{00b5}\x{039c}\x{03bc}
2993 0: \x{b5}\x{39c}\x{3bc}
2996 \x{00b5}\x{039c}\x{03bc}
2997 0: \x{b5}\x{39c}\x{3bc}
3001 \x{00c5}\x{00e5}\x{212b}
3002 0: \x{c5}\x{e5}\x{212b}
3005 \x{00c5}\x{00e5}\x{212b}
3006 0: \x{c5}\x{e5}\x{212b}
3009 \x{00c5}\x{00e5}\x{212b}
3010 0: \x{c5}\x{e5}\x{212b}
3014 \x{01c4}\x{01c5}\x{01c6}
3015 0: \x{1c4}\x{1c5}\x{1c6}
3018 \x{01c4}\x{01c5}\x{01c6}
3019 0: \x{1c4}\x{1c5}\x{1c6}
3022 \x{01c4}\x{01c5}\x{01c6}
3023 0: \x{1c4}\x{1c5}\x{1c6}
3027 \x{01c7}\x{01c8}\x{01c9}
3028 0: \x{1c7}\x{1c8}\x{1c9}
3031 \x{01c7}\x{01c8}\x{01c9}
3032 0: \x{1c7}\x{1c8}\x{1c9}
3035 \x{01c7}\x{01c8}\x{01c9}
3036 0: \x{1c7}\x{1c8}\x{1c9}
3040 \x{01ca}\x{01cb}\x{01cc}
3041 0: \x{1ca}\x{1cb}\x{1cc}
3044 \x{01ca}\x{01cb}\x{01cc}
3045 0: \x{1ca}\x{1cb}\x{1cc}
3048 \x{01ca}\x{01cb}\x{01cc}
3049 0: \x{1ca}\x{1cb}\x{1cc}
3053 \x{01f1}\x{01f2}\x{01f3}
3054 0: \x{1f1}\x{1f2}\x{1f3}
3057 \x{01f1}\x{01f2}\x{01f3}
3058 0: \x{1f1}\x{1f2}\x{1f3}
3061 \x{01f1}\x{01f2}\x{01f3}
3062 0: \x{1f1}\x{1f2}\x{1f3}
3066 \x{0345}\x{0399}\x{03b9}\x{1fbe}
3067 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3070 \x{0345}\x{0399}\x{03b9}\x{1fbe}
3071 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3074 \x{0345}\x{0399}\x{03b9}\x{1fbe}
3075 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3078 \x{0345}\x{0399}\x{03b9}\x{1fbe}
3079 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3083 \x{0392}\x{03b2}\x{03d0}
3084 0: \x{392}\x{3b2}\x{3d0}
3087 \x{0392}\x{03b2}\x{03d0}
3088 0: \x{392}\x{3b2}\x{3d0}
3091 \x{0392}\x{03b2}\x{03d0}
3092 0: \x{392}\x{3b2}\x{3d0}
3096 \x{0395}\x{03b5}\x{03f5}
3097 0: \x{395}\x{3b5}\x{3f5}
3100 \x{0395}\x{03b5}\x{03f5}
3101 0: \x{395}\x{3b5}\x{3f5}
3104 \x{0395}\x{03b5}\x{03f5}
3105 0: \x{395}\x{3b5}\x{3f5}
3109 \x{0398}\x{03b8}\x{03d1}\x{03f4}
3110 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3113 \x{0398}\x{03b8}\x{03d1}\x{03f4}
3114 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3117 \x{0398}\x{03b8}\x{03d1}\x{03f4}
3118 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3121 \x{0398}\x{03b8}\x{03d1}\x{03f4}
3122 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3126 \x{039a}\x{03ba}\x{03f0}
3127 0: \x{39a}\x{3ba}\x{3f0}
3130 \x{039a}\x{03ba}\x{03f0}
3131 0: \x{39a}\x{3ba}\x{3f0}
3134 \x{039a}\x{03ba}\x{03f0}
3135 0: \x{39a}\x{3ba}\x{3f0}
3139 \x{03a0}\x{03c0}\x{03d6}
3140 0: \x{3a0}\x{3c0}\x{3d6}
3143 \x{03a0}\x{03c0}\x{03d6}
3144 0: \x{3a0}\x{3c0}\x{3d6}
3147 \x{03a0}\x{03c0}\x{03d6}
3148 0: \x{3a0}\x{3c0}\x{3d6}
3152 \x{03a1}\x{03c1}\x{03f1}
3153 0: \x{3a1}\x{3c1}\x{3f1}
3156 \x{03a1}\x{03c1}\x{03f1}
3157 0: \x{3a1}\x{3c1}\x{3f1}
3160 \x{03a1}\x{03c1}\x{03f1}
3161 0: \x{3a1}\x{3c1}\x{3f1}
3165 \x{03A3}\x{03C2}\x{03C3}
3166 0: \x{3a3}\x{3c2}\x{3c3}
3169 \x{03A3}\x{03C2}\x{03C3}
3170 0: \x{3a3}\x{3c2}\x{3c3}
3173 \x{03A3}\x{03C2}\x{03C3}
3174 0: \x{3a3}\x{3c2}\x{3c3}
3178 \x{03a6}\x{03c6}\x{03d5}
3179 0: \x{3a6}\x{3c6}\x{3d5}
3182 \x{03a6}\x{03c6}\x{03d5}
3183 0: \x{3a6}\x{3c6}\x{3d5}
3186 \x{03a6}\x{03c6}\x{03d5}
3187 0: \x{3a6}\x{3c6}\x{3d5}
3191 \x{03c9}\x{03a9}\x{2126}
3192 0: \x{3c9}\x{3a9}\x{2126}
3195 \x{03c9}\x{03a9}\x{2126}
3196 0: \x{3c9}\x{3a9}\x{2126}
3199 \x{03c9}\x{03a9}\x{2126}
3200 0: \x{3c9}\x{3a9}\x{2126}
3204 \x{1e60}\x{1e61}\x{1e9b}
3205 0: \x{1e60}\x{1e61}\x{1e9b}
3208 \x{1e60}\x{1e61}\x{1e9b}
3209 0: \x{1e60}\x{1e61}\x{1e9b}
3212 \x{1e60}\x{1e61}\x{1e9b}
3213 0: \x{1e60}\x{1e61}\x{1e9b}
3233 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK
3236 \x{004b}\x{006b}\x{212a}
3240 \x{004b}\x{006b}\x{212a}
3244 \x{004b}\x{006b}\x{212a}
3249 \x{0053}\x{0073}\x{017f}
3253 \x{0053}\x{0073}\x{017f}
3257 \x{0053}\x{0073}\x{017f}
3286 /^[[:graph:]]+$/utf,ucp
3289 Mark:\x{300}\x{1d172}\x{1d17b}
3290 0: Mark:\x{300}\x{1d172}\x{1d17b}
3293 Punctuation:\x{66a},;
3294 0: Punctuation:\x{66a},;
3295 Symbol:\x{6de}<>\x{fffc}
3296 0: Symbol:\x{6de}<>\x{fffc}
3297 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3298 0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3299 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3300 0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3301 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3302 0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3303 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3304 0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3305 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3306 0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3309 \x{fff9}\x{fffa}\x{fffb}
3310 0: \x{fff9}\x{fffa}\x{fffb}
3313 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3314 0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3317 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3318 0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3351 /^[[:print:]]+$/utf,ucp
3354 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
3355 0: \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
3356 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
3357 0: \x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
3364 Mark:\x{300}\x{1d172}\x{1d17b}
3365 0: Mark:\x{300}\x{1d172}\x{1d17b}
3368 Punctuation:\x{66a},;
3369 0: Punctuation:\x{66a},;
3370 Symbol:\x{6de}<>\x{fffc}
3371 0: Symbol:\x{6de}<>\x{fffc}
3372 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3373 0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3374 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3375 0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3376 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3377 0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3380 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3381 0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3382 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3383 0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3386 \x{fff9}\x{fffa}\x{fffb}
3387 0: \x{fff9}\x{fffa}\x{fffb}
3390 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3391 0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3394 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3395 0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3416 /^[[:punct:]]+$/utf,ucp
3419 !\"#%&'()*,-./:;?@[\\]_{}
3420 0: !"#%&'()*,-./:;?@[\]_{}
3429 /^[[:^graph:]]+$/utf,ucp
3430 \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{1680}
3431 0: \x{09}\x{0a}\x{1d} \x{85}\x{a0}\x{1680}
3432 \x{2028}\x{2029}\x{202f}\x{2065}
3433 0: \x{2028}\x{2029}\x{202f}\x{2065}
3434 \x{3000}\x{e0002}\x{e001f}\x{e0080}
3435 0: \x{3000}\x{e0002}\x{e001f}\x{e0080}
3439 Mark:\x{300}\x{1d172}\x{1d17b}
3443 Punctuation:\x{66a},;
3445 Symbol:\x{6de}<>\x{fffc}
3447 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3449 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3451 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3453 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3455 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3459 \x{fff9}\x{fffa}\x{fffb}
3463 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3467 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3470 /^[[:^print:]]+$/utf,ucp
3471 \x{09}\x{1D}\x{85}\x{2028}\x{2029}\x{2065}
3472 0: \x{09}\x{1d}\x{85}\x{2028}\x{2029}\x{2065}
3473 \x{e0002}\x{e001f}\x{e0080}
3474 0: \x{e0002}\x{e001f}\x{e0080}
3478 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
3480 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
3488 Mark:\x{300}\x{1d172}\x{1d17b}
3492 Punctuation:\x{66a},;
3494 Symbol:\x{6de}<>\x{fffc}
3496 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3498 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3500 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3504 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3506 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3510 \x{fff9}\x{fffa}\x{fffb}
3514 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3518 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3521 /^[[:^punct:]]+$/utf,ucp
3527 !\"#%&'()*,-./:;?@[\\]_{}
3550 # The next four tests are for repeated caseless back references when the
3551 # code unit length of the matched text is different to that of the original
3552 # group in the UTF-8 case.
3554 /^(\x{23a})\1*(.)/i,utf
3555 \x{23a}\x{23a}\x{23a}\x{23a}
3556 0: \x{23a}\x{23a}\x{23a}\x{23a}
3559 \x{23a}\x{2c65}\x{2c65}\x{2c65}
3560 0: \x{23a}\x{2c65}\x{2c65}\x{2c65}
3563 \x{23a}\x{23a}\x{2c65}\x{23a}
3564 0: \x{23a}\x{23a}\x{2c65}\x{23a}
3568 /^(\x{23a})\1*(..)/i,utf
3569 \x{23a}\x{2c65}\x{2c65}\x{2c65}
3570 0: \x{23a}\x{2c65}\x{2c65}\x{2c65}
3573 \x{23a}\x{23a}\x{2c65}\x{23a}
3574 0: \x{23a}\x{23a}\x{2c65}\x{23a}
3578 /^(\x{23a})\1*(...)/i,utf
3579 \x{23a}\x{2c65}\x{2c65}\x{2c65}
3580 0: \x{23a}\x{2c65}\x{2c65}\x{2c65}
3582 2: \x{2c65}\x{2c65}\x{2c65}
3583 \x{23a}\x{23a}\x{2c65}\x{23a}
3584 0: \x{23a}\x{23a}\x{2c65}\x{23a}
3586 2: \x{23a}\x{2c65}\x{23a}
3588 /^(\x{23a})\1*(....)/i,utf
3590 \x{23a}\x{2c65}\x{2c65}\x{2c65}
3592 \x{23a}\x{23a}\x{2c65}\x{23a}
3605 /[[:punct:]]/utf,ucp
3609 /[[:^ascii:]]/utf,ucp
3624 /[[:^ascii:]\w]/utf,ucp
3640 /[\w[:^ascii:]]/utf,ucp
3656 /[^[:ascii:]\W]/utf,ucp
3671 /[^[:^ascii:]\d]/utf,ucp
3692 /(?(?=.*b)(?=.*b)\pL|.*c)/
3696 /^\x{123}+?$/utf,no_auto_possess
3697 \x{123}\x{123}\x{123}
3698 0: \x{123}\x{123}\x{123}
3700 /^\x{123}+?$/i,utf,no_auto_possess
3701 \x{123}\x{122}\x{123}
3702 0: \x{123}\x{122}\x{123}
3704 \x{123}\x{124}\x{123}
3715 # Test the full list of Unicode "Pattern White Space" characters that are to
3716 # be ignored by /x. The pattern lines below may show up oddly in text editors
3717 # or when listed to the screen. Note that characters such as U+2002, which are
3718 # matched as space by \h and \v are *not* "Pattern White Space".
3733 /[^\x{100}-\x{ffff}]*[\x80-\xff]/utf
3735 0: \x{99}\x{99}\x{99}
3737 /[^\x{100}-\x{ffff}ABC]*[\x80-\xff]/utf
3739 0: \x{99}\x{99}\x{99}
3741 /[^\x{100}-\x{ffff}]*[\x80-\xff]/i,utf
3743 0: \x{99}\x{99}\x{99}