Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么`Pattern.compile(";(?:\u00e9)";,Pattern.CANON_EQ)`throw?_Java_Unicode - Fatal编程技术网

Java 为什么`Pattern.compile(";(?:\u00e9)";,Pattern.CANON_EQ)`throw?

Java 为什么`Pattern.compile(";(?:\u00e9)";,Pattern.CANON_EQ)`throw?,java,unicode,Java,Unicode,使用模式编译的正则表达式没有限制。然而 Pattern.compile("(?:\u00e9)",Pattern.CANON_EQ); 引发异常: java.util.regex.PatternSyntaxException: Unmatched closing ')' near index 11 ((?:é)|é)|e)́) ^ 请注意,模式是规范化的字符串。它看起来像是JRE中的一个bug,但我在问题跟踪器中找不到这样的bug。似乎是这样的:我得到了一个稍微不同的错误,不匹

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

Pattern.compile("(?:\u00e9)",Pattern.CANON_EQ);
引发异常:

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

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

似乎是这样的:

我得到了一个稍微不同的错误,不匹配的结尾“')在这里靠近索引13,
(?:(?:e)| e))
,倒数第二个“')。它不会抛出两个额外的开口“(”或者在
\u00e9
和“')之间有一个ASCII字符。哦,孩子。这是2003年的错误!有这样的错误是可以接受的,但必须在文档中明确指出!有趣的是,这个bug在IBMJDK中是重复的