6

我正在尝试使用正则表达式仅匹配阿拉伯语文本,但出现异常。这是我的代码:

txt.matches("\\P{Arabic}+")

这是一个例外:

线程“主”java.util.regex.PatternSyntaxException 中的异常:索引 9 \P{Arabic}+ 附近的未知字符属性名称 {Arabic}

4

1 回答 1

14

使用这个字符块

\p{InArabic}+

在 java Unicode 脚本中,块、类别和二进制属性是用\pand \P(取反效果)编写的

  • 使用前缀Is或使用script关键字(支持的脚本指定脚本
  • 使用前缀In 或使用关键字block支持的块指定块
  • 可以使用可选前缀Is或使用关键字general_categorygc支持的类别指定类别
  • 使用前缀指定二进制属性Is支持的属性

参考

于 2013-07-26T17:41:34.757 回答