支持哪些内置正则表达式字符类 Java



...当用于"\p{someCharacterClass}"等模式时。
我使用/见过一些:

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

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

编辑。。。

似乎有很多"RTFM"答案引用了 javadoc 的Pattern。这是我在问这个问题之前看的第一个地方。为了让每个人都清楚,Pattern 的 javadoc 没有提到上面列出的任何类。

">

正确"答案会在页面上的某个地方提到"InCombiningDiacriticalMarks",而不是对"Unicode Standards"的模糊引用。

Pattern的文档在"Unicode 支持"部分中说:

支持的类别是字符类指定的版本中的 Unicode 标准的类别。类别名称是标准中定义的名称,既规范性又信息性。模式支持的块名称是 UnicodeBlock.forName 接受和定义的有效块名称。

UnicodeBlock.forName的文档指出:

块名称由 Unicode 标准确定。

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

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

最后,在Blocks.txt中有这样一句话:

0300..036F;组合变音符号

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

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

有三个漂亮的表格(搜索UCD.html(,看看UCD本身.html。

规范

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

此页面提供了一些流行类的良好详细信息,例如:

  • p{L}p{Letter}:来自任何语言的任何类型的字母。
  • p{M}p{Mark}:打算与另一个字符组合的字符(例如重音符号、变音符号、封闭框等(。
  • p{N}p{Number}:任何脚本中的任何类型的数字字符。

在javadocs中查找Pattern class。

相关内容

  • 没有找到相关文章

最新更新