UTF-8有哪些仅限于语言的字符区域列表?

3
我正在尝试以一种识别不同语言字符的方式分析一些UTF-8编码的文档。为了使我的方法有效,我需要忽略非语言字符,例如控制字符、数学符号等。仅仅尝试解析UTF标准的基本拉丁部分就导致了多个区域,其中像除法符号这样的字符正好位于有效拉丁字符范围的中间。
是否有一个可以识别这些区域的列表?或者更好的是,一个定义这些区域的正则表达式或C#中可以识别不同字符的东西?
3个回答

5

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


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类别列表。


1

你可能会对通用alpha感兴趣,它是由C标识符中合法的内容定义的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接