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

Mik*_*yer 21 javascript c# regex

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

[-.\p{Lu}\p{Ll}0-9]+
Run Code Online (Sandbox Code Playgroud)

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

任何的想法?

hwn*_*wnd 27

这些被认为是Unicode属性.

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

简而言之,这将匹配任何具有任何语言变体的小写/大写:

AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
Run Code Online (Sandbox Code Playgroud)

  • could you explain `uppercase letter that has a lowercase variant`? Mainly the `lowecase variant`. (3认同)
  • @AvinashRaj这意味着在unicode字母表中,一个字符可以以大写和小写呈现,并且只匹配该字母的大写版本.它还意味着有大写字符没有小写版本. (2认同)