gpt4 book ai didi

java - 为什么 lookingAt 为 lookArounds 返回 true 而 matches 返回 false

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:43:45 25 4
gpt4 key购买 nike

我开始使用正则表达式进行环视

我认为正则表达式是 q 后跟 u 的正前瞻。但是当输入字符串是“qu”时,它不匹配。但是我得到了 lookingAt 函数的真实结果。

String regex="q(?=u)";
Pattern p= Pattern.compile(regex);
String test = "qu";
Matcher m= p.matcher(test);
System.out.println(m.matches());
System.out.println(m.lookingAt());

谁能解释为什么会这样?

最佳答案

我假设这是因为它试图匹配整个字符串

matches()

Attempts to match the entire region against the pattern.

从积极的角度来看,我认为它与 u 不匹配。即匹配将为 q if 它后跟一个 u。因此 q 不是整个测试字符串,也没有匹配整个字符串。

这就是为什么您可以编写此代码以获得 true

    String regex="^q(?=u)u";
Pattern p= Pattern.compile(regex);
String test = "qu";
Matcher m= p.matcher(test);
System.out.println(m.matches());
System.out.println(m.lookingAt());

关于java - 为什么 lookingAt 为 lookArounds 返回 true 而 matches 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57406292/

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