我在C#中偶然发现了此正则表达式,我想移植到javascript,但我不理解以下内容:
[-.\p{Lu}\p{Ll}0-9]+
我很难过的部分当然是
\p{Lu}
。我访问过的所有regexp网站都从未提及此修饰符。任何的想法?
最佳答案
这些被视为Unicode属性。
Unicode属性\p{L}
-\p{Letter}
的简写将匹配来自任何语言的任何字母。因此,\p{Lu}
将匹配具有小写字母变体的大写字母。并且,相反的\p{Ll}
将匹配具有大写字母变体的小写字母。
简而言之,这将与任何语言的任何lowercase/uppercase that has a variant相匹配:
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz