我正在尝试进行一些文字处理。我可以轻松地为我所知的语言编写一个正则表达式(英语为A-Z
),但添加希伯来语,阿拉伯语,中文等字母的内容太多了。
unicode认为字母是什么字符范围?
答案 0 :(得分:3)
除了按其范围进行分类之外,每个Unicode字符都有一个称为“常规类别”的东西。您可能想要使用以下类别:
[Lu] Letter, Uppercase
[Ll] Letter, Lowercase
[Lt] Letter, Titlecase
[Lm] Letter, Modifier
[Lo] Letter, Other
这不包括数字,标点符号,符号等(它与Java的Character.isLetter
使用的设置相同)。如果您的正则表达式引擎支持它,您可以使用\p{L}
检查输入字符是否在其中一个类别中。
整个类别列表位于Wikipedia,unicode.org包含有关\p
正则表达式语法的详细信息。
答案 1 :(得分:2)
您可能需要查看以下内容:Unicode Character Ranges,其中包含语言的范围。具体来说没有一般的范围,因阿拉伯语的不同语言而异,它是0600 - 06FF,希伯来语是0590 - 05FF等。