哪些 unicode 范围被视为字母?

Fil*_*und 2 unicode

我正在尝试进行一些文本处理。我可以轻松地为我所知道的语言(A-Z英语)编写正则表达式,但是添加希伯来语、阿拉伯语、中文等中的字母就太多了。

unicode 认为哪些字符范围是字母?

Wan*_*uta 5

除了按其范围进行分类之外,每个 Unicode 字符都有一个称为“一般类别”的东西。您可能想要使用以下类别:

[Lu]    Letter, Uppercase
[Ll]    Letter, Lowercase
[Lt]    Letter, Titlecase
[Lm]    Letter, Modifier
[Lo]    Letter, Other
Run Code Online (Sandbox Code Playgroud)

这不包括数字、标点符号、符号等(它与 Java 的使用相同Character.isLetter)。如果您的正则表达式引擎支持它,您可以使用 . 检查输入字符是否属于这些类别之一\p{L}

完整的类别列表位于Wikipedia上,unicode.org上有有关\p正则表达式语法的更多信息。