这个正则表达式意味着什么 - “\ p {Lu}”?

时间:2014-09-22 15:04:20

标签: c# javascript regex

我在c#中偶然发现了这个正则表达式我想移植到javascript,我不明白以下内容:

[-.\p{Lu}\p{Ll}0-9]+

我遇到困难的部分当然是\p{Lu}。我访问的所有正则表达式网站都没有提到过这个修饰符。

有什么想法吗?

1 个答案:

答案 0 :(得分:23)

这些被视为Unicode属性。

Unicode属性\p{L} - \p{Letter}的简写将匹配任何语言的任何类型的字母。因此,\p{Lu}将匹配具有小写变体的大写字母。而且,相反的\p{Ll}将匹配具有大写变体的小写字母。

简而言之,这将匹配任何语言的任何lowercase/uppercase that has a variant

AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz