为什么 `Pattern.compile("(?:\u00e9)",Pattern.CANON_EQ)` 会抛出异常?

发布于 2025-01-04 17:35:03 字数 327 浏览 0 评论 0 原文

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

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

会引发异常:

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

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

There's no limitation on the regular expression compiled with the Pattern.CANON_EQ. However

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

throws an exception:

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

Note that the pattern is the normalized string. It looks like a bug in JRE, but I can't find such a bug in the issue tracker.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文