gpt4 book ai didi

java - 正则表达式在在线测试器中匹配,但在 JAVA 中不匹配

转载 作者:行者123 更新时间:2023-12-02 00:00:28 29 4
gpt4 key购买 nike

我正在尝试从此字符串中提取文本 BetClic popup_siteinfo(this, '/click/betclic', '373', 'BetClic', '60€');

我编写了一个简单的正则表达式,适用于 Regex Tester但这在 Java 上不起作用。

这是正则表达式

'\d+', '(.*?)'

这是 Java 输出

Exception in thread "main" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:485)
at javaapplication1.JavaApplication1.main(JavaApplication1.java:74)
Java Result: 1

这是我的代码

Pattern pattern = Pattern.compile("'\\d+', '(.*?)'");
Matcher matcher = pattern.matcher(onMouseOver);
System.out.print(matcher.group(1));

其中 onMouseOver 字符串为 popup_siteinfo(this, '/click/betclic', '373', 'BetClic', '60€');

我不是正则表达式方面的专家,但我很确定我的完全没有错误!

建议?

最佳答案

您需要在group(...)之前调用find():

Pattern pattern = Pattern.compile("'\\d+', '(.*?)'");
Matcher matcher = pattern.matcher(onMouseOver);
if(matcher.find()) {
System.out.print(matcher.group(1));
}
else {
System.out.print("no match");
}

关于java - 正则表达式在在线测试器中匹配,但在 JAVA 中不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14944243/

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