什么是 {L} Unicode 类别?

2022-09-03 13:47:12

我遇到了一些包含.我知道这是使用某种形式的Unicode类别,但是当我检查文档时,我只发现以下“L”类别:[^\\p{L}]

Lu  Uppercase letter    UPPERCASE_LETTER
Ll  Lowercase letter    LOWERCASE_LETTER
Lt  Titlecase letter    TITLECASE_LETTER
Lm  Modifier letter     MODIFIER_LETTER
Lo  Other letter        OTHER_LETTER

这是什么情况?L


答案 1

摘自此链接:http://www.regular-expressions.info/unicode.html

检查该部分。Unicode Character Properties

\p{L} 匹配类别“字母”中的单个码位。如果输入字符串的 à 编码为 U+0061 U+0300,则它与不带重音符号的 a 匹配。如果输入被 à 编码为 U+00E0,则它将 à 与重音符号匹配。原因是代码点U + 0061(a)和U + 00E0(à)都在“字母”类别中,而U + 0300在“标记”类别中。


答案 2

我没有看到任何明确提及它的地方,但此页面上的一个例子表明这意味着任何字母:\\p{L}

可以使用可选前缀 Is 指定类别:\p{L} 和 \p{IsL} 都表示 Unicode 字母的类别。