7

...当用于"\\p{someCharacterClass}".
我用过/看过一些:

  • 降低
  • 组合变音符号
  • ASCII

所有受支持的内置字符分类的最终列表是什么?它记录在哪里?具体含义是什么?

已编辑...

似乎有很多“RTFM”答案是指Pattern. 这是我在问这个问题之前看到的第一个地方。大家都很清楚,Pattern 的 javadoc 没有提到上面列出的任何类。

“正确”答案将在页面某处提及“InCombiningDiacriticalMarks”,而不是对“Unicode 标准”的模糊引用。

4

5 回答 5

11

文档在“Unicode 支持”部分中Pattern说:

支持的类别是由 Character 类指定的版本中的 Unicode 标准的类别。类别名称是标准中定义的名称,包括规范性和信息性。Pattern 支持的块名称是由 接受和定义的有效块名称UnicodeBlock.forName

状态的文档UnicodeBlock.forName

块名称由 Unicode 标准确定。

http://unicode.org上有常见问题解答我在哪里可以找到 Unicode 块的最终列表?

答:Unicode 块及其名称是 Unicode 标准的规范部分。确切的列表始终保存在Unicode 字符数据库的文件之一中,Blocks.txt.

最后,Blocks.txt有一行:

0300..036F; 组合变音符

这些字符可以在组合变音符号代码表中找到(来自Unicode 6.0 字符代码表)。

于 2011-12-28T09:26:21.913 回答
1

Pattern API 表示遵守http://www.unicode.org/reports/tr18/定义的正则表达式级别 1

有三个不错的表(搜索 UCD.html),并查看 UCD.html 本身。

于 2011-12-28T00:09:06.143 回答
0

规范是http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html。在某些情况下,它指的是特定版本的 TUS,您可以在http://unicode.org找到该材料。

于 2011-12-27T23:22:03.073 回答
0

此页面包含一些热门课程的一些详细信息,例如:

  • \p{L}\p{Letter}:任何语言的任何类型的字母。
  • \p{M}or \p{Mark}: 一个要与另一个字符组合的字符(例如重音符号、变音符号、封闭框等)。
  • \p{N}\p{Number}:任何脚本中的任何类型的数字字符。
于 2013-09-10T18:25:16.007 回答
-1

在 javadocs 中查找Pattern类。

于 2011-12-27T23:22:57.863 回答