什么unicode范围被视为字母?

什么unicode范围被视为字母?,unicode,Unicode,我正在做一些文本处理。我可以很容易地为我所知道的语言编写正则表达式(a-Z为英语),但添加希伯来语、阿拉伯语、汉语等字母太多了 unicode认为哪些字符范围是字母?您可能需要看看这个:它包含语言的范围。具体来说,没有通用范围,不同语言的范围不同,如阿拉伯语的范围为0600-06FF,希伯来语的范围为0590-05FF等。您可能需要查看以下内容:其中包含语言的范围。具体来说,没有通用范围,不同语言的通用范围不同,比如阿拉伯语的通用范围为0600-06FF,希伯来语的通用范围为0590-05FF等

我正在做一些文本处理。我可以很容易地为我所知道的语言编写正则表达式(
a-Z
为英语),但添加希伯来语、阿拉伯语、汉语等字母太多了


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

您可能需要看看这个:它包含语言的范围。具体来说,没有通用范围,不同语言的范围不同,如阿拉伯语的范围为0600-06FF,希伯来语的范围为0590-05FF等。

您可能需要查看以下内容:其中包含语言的范围。具体来说,没有通用范围,不同语言的通用范围不同,比如阿拉伯语的通用范围为0600-06FF,希伯来语的通用范围为0590-05FF等等。

除了按范围分类外,每个Unicode字符都有一个称为“通用类别”的名称。您可能希望使用以下类别:

[Lu]    Letter, Uppercase
[Ll]    Letter, Lowercase
[Lt]    Letter, Titlecase
[Lm]    Letter, Modifier
[Lo]    Letter, Other
这不包括数字、标点符号、符号等(它与Java的
Character.isleter
使用的设置相同)。如果您的正则表达式引擎支持它,您可以使用
\p{L}
检查输入字符是否在其中一个类别内


整个类别列表已打开,并包含有关正则表达式语法的更多信息。

每个Unicode字符都有一个称为“常规类别”的名称,并按其范围进行分类。您可能希望使用以下类别:

[Lu]    Letter, Uppercase
[Ll]    Letter, Lowercase
[Lt]    Letter, Titlecase
[Lm]    Letter, Modifier
[Lo]    Letter, Other
这不包括数字、标点符号、符号等(它与Java的
Character.isleter
使用的设置相同)。如果您的正则表达式引擎支持它,您可以使用
\p{L}
检查输入字符是否在其中一个类别内


整个类别列表已打开,并提供了有关
\p
regex语法的更多信息。

值得注意的是,字符只能属于一个类别,因此具有多种用途的字符,如
,以及一些亚洲字母标记被归类为“字母”字符,但不属于“字母”类别@一二三 没错,这是有区别的。再举一个例子,,ↈ (罗马数字十万)按字母顺序列出,但不是字母-我想说这是一个数字而不是字母,所以我会使用类别,但YMMV。值得注意的是,字符只能属于一个类别,因此具有多种用途的字符,如
,以及一些亚洲字母标记被归类为“字母”字符,但不属于“字母”类别@一二三 没错,这是有区别的。再举一个例子,,ↈ (罗马数字十万)是按字母顺序排列的,但不是字母——我想说这是一个数字而不是字母,所以我会使用类别,但YMMV。