...用于像"\\p{someCharacterClass}"
这样的模式。
我用过/见过一些:
所有受支持的内置角色的最终列表是什么?它在哪里记录?具体含义是什么?
似乎有很多“RTFM”答案引用了Pattern
的javadoc。这是我在问这个问题之前看到的第一个地方。就这样每个人都很清楚,Pattern的javadoc没有提到上面列出的任何类。
“正确”的答案会在页面的某处提及“InCombiningDiacriticalMarks”,并且不会对“Unicode标准”有一些含糊的提及。
答案 0 :(得分:10)
“{3}}在”Unicode支持“部分中说:
支持的类别是Character类指定的版本中的Unicode标准类别。类别名称是标准中定义的类别,包括规范性和信息性。 Pattern支持的块名称是
UnicodeBlock.forName
接受和定义的有效块名称。
块名称由Unicode标准确定。
在documentation for UnicodeBlock.forName
点上有常见问题http://unicode.org:
答:Unicode块及其名称是Unicode标准的标准部分。确切列表始终保存在Where can I find the definitive list of Unicode blocks?,Unicode Character Database。
的其中一个文件中
最后,在Blocks.txt
中有一行:
0300..036F; Combining Diacritical Marks
这些字符可在Blocks.txt
代码表(来自Combining Diacritical Marks)中找到。
答案 1 :(得分:1)
Pattern API表示遵守http://www.unicode.org/reports/tr18/
定义的正则表达式级别1有三个不错的表(搜索UCD.html),并查看UCD.html本身。
答案 2 :(得分:0)
规范是http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html。在某些情况下,它指的是特定版本的TUS,您可以在http://unicode.org找到该材料。
答案 3 :(得分:0)
This page有一些很好的细节,例如:
\p{L}
或\p{Letter}
:来自任何语言的任何类型的信件。\p{M}
或\p{Mark}
:用于与其他角色合并的角色(例如重音符号,变音符号,封闭框等)。\p{N}
或\p{Number}
:任何脚本中的任何数字字符。答案 4 :(得分:-1)
在javadocs中查找Pattern类。