文档

Java™教程
隐藏目录
Unicode支持
路径:基本Java类
课程:正则表达式

Unicode支持

自JDK 7版本发布以来,正则表达式模式匹配已扩展功能以支持Unicode 6.0。

匹配特定代码点

您可以使用形式为\uFFFF的转义序列来匹配特定的Unicode代码点,其中FFFF是要匹配的代码点的十六进制值。例如,\u6771匹配表示东方的汉字。

另外,您可以使用Perl样式的十六进制表示法\x{...}指定代码点。例如:

String hexPattern = "\x{" + Integer.toHexString(codePoint) + "}";

Unicode字符属性

除了值之外,每个Unicode字符还具有某些属性。您可以使用表达式\p{prop}来匹配属于特定类别的单个字符。您可以使用表达式\P{prop}来匹配不属于特定类别的单个字符。

支持的三种属性类型是脚本、块和“general”类别。

脚本

要确定代码点是否属于特定脚本,您可以使用script关键字或sc简写形式,例如\p{script=Hiragana}。另外,您还可以在脚本名称前加上字符串Is,例如\p{IsHiragana}

Pattern支持的有效脚本名称是由UnicodeScript.forName接受的名称。

可以使用block关键字或blk简写形式指定块,例如\p{block=Mongolian}。另外,您还可以在块名称前加上字符串In,例如\p{InMongolian}

Pattern支持的有效块名称是由UnicodeBlock.forName接受的名称。

General Category

可以使用可选前缀Is来指定类别。例如,IsL匹配Unicode字母的类别。也可以使用general_category关键字或简写形式gc来指定类别。例如,可以使用general_category=Lugc=Lu来匹配大写字母。

支持的类别是Unicode标准中由Character类指定版本中的类别。


上一页:PatternSyntaxException 类的方法
下一页:附加资源