我在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

10-08 02:35