为什么`Pattern.compile(“(?:\ u00e9)”,Pattern.CANON_EQ)`throw?

时间:2012-02-13 16:01:58

标签: java unicode

使用Pattern.CANON_EQ编译的正则表达式没有限制。然而

Pattern.compile("(?:\u00e9)",Pattern.CANON_EQ);

抛出异常:

java.util.regex.PatternSyntaxException: Unmatched closing ')' near index 11
((?:é)|é)|e)́)
       ^

请注意,模式是规范化的字符串。它看起来像是JRE中的一个错误,但我在问题跟踪器中找不到这样的错误。

1 个答案:

答案 0 :(得分:4)