代码之家  ›  专栏  ›  技术社区  ›  LaserJesus

是否有一个仅用于UTF-8的语言字符区域列表?

  •  3
  • LaserJesus  · 技术社区  · 14 年前

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

    是否有一个列表可以识别这些区域?或者更好的是,一个用C定义区域的regex,或者一些可以识别不同字符的东西?

    3 回复  |  直到 14 年前
        1
  •  5
  •   Matthew Flaschen    14 年前

    看看unicode character categories . 您可以在C正则表达式中将它们与字符类语法匹配 \p{catname} . 为了匹配小写字母,您将使用 \p{Ll} . 你可以把这些结合起来。 [\p{Ll}\p{Lu}] 匹配ll或lu类中的字符。

        2
  •  1
  •   J-16 SDiZ    14 年前

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

    我想你可以用 \w 匹配(l*)中的所有字母。它等于 [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}] 在Unicode模式下。

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

        3
  •  1
  •   BCS    14 年前

    你可能对 universal alpha 由C标识符中的合法内容定义。