gpt4 book ai didi

java - Java中索引附近的未知后视组

转载 作者:行者123 更新时间:2023-11-30 07:08:07 26 4
gpt4 key购买 nike

这是失败代码的极简示例:

String al = "(?<xyz>chicago)";
Pattern p = Pattern.compile(al, Pattern.CASE_INSENSITIVE);

我得到一个:

java.util.regex.PatternSyntaxException: Unknown look-behind group near index 13
(?<xyz>chicago)
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.group0(Pattern.java:2505)
at java.util.regex.Pattern.sequence(Pattern.java:1806)
at java.util.regex.Pattern.expr(Pattern.java:1752)
at java.util.regex.Pattern.compile(Pattern.java:1460)
at java.util.regex.Pattern.<init>(Pattern.java:1133)
at java.util.regex.Pattern.compile(Pattern.java:847)
:
:

我错过/忽略了什么?我正在使用 Java 1.7 开发 Eclipse。

最佳答案

我无法使用 Java 1.7 或 1.8 重现此异常。该正则表达式在两个平台上都可以正常编译。

有人向我指出(@zx81)(?<xyz>...)是用于命名组捕获的 Java 正则表达式语法。所以我检查了 Javadoc,并且:

  • Java 1.8 支持语法
  • Java 1.7 支持语法
  • Java 1.6 支持该语法。

所以我的理论是,您实际上使用 Java 1.6(或更早版本)的 JRE 执行您的代码,这是一种未知类型的后视。

关于java - Java中索引附近的未知后视组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24256204/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com