什么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。