在某处有UTF-8的语言字符区域列表吗?

时间:2010-05-17 03:15:37

标签: utf-8 character-encoding nlp

我试图以识别不同语言字符的方式分析一些UTF-8编码的文档。对于我的工作方法,我需要忽略非语言字符,例如控制字符,数学符号等。只是试图剖析UTF标准的基本拉丁部分导致了多个区域,像分区符号这样的字符正好在一系列有效拉丁字符的中间部分。

是否有某个列表可以识别这些区域?或者更好的是,一个正则表达式定义了C#中可以识别不同字符的区域或东西?

3 个答案:

答案 0 :(得分:5)

查看Unicode character categories。您可以使用字符类语法\p{catname}在C#正则表达式中匹配这些。因此,要匹配小写字母,您可以使用\p{Ll}。你可以结合这些。 [\p{Ll}\p{Lu}]匹配Ll或Lu类中的字符。

答案 1 :(得分:1)

您可以使用\p{XXX}来匹配unicode类别。 例如,\p{Cc}匹配所有控制字符。

我猜您可以使用\w来匹配(L *)中的所有字母。在unicode模式下它等于[\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]

请参阅http://www.fileformat.info/info/unicode/category/index.htm类别列表。

答案 2 :(得分:1)

您可能对universal alpha感兴趣,这是由C标识符中的合法内容定义的。