gpt4 book ai didi

java - 检查文本是否不是问题类型并且还包含一些特定单词

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

我想确保文本不是问题类型,并且至少包含以下其中一项:观看直播观看演讲直播#break #breaking news

所以我编写了如下代码:

private static void containsQuestion(String commentstr){
String urlPattern = "^(?!.*?\\?)(watch live|watch speech live|#breaking|#breaking news)";
Pattern p = Pattern.compile(urlPattern,Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(commentstr);
if (m.find()) {
System.out.println("yes");
}
}

但是当我尝试使用例如:

They say 2's company; is 3 a crowd watch live on...

我希望在控制台中看到 yes,因为它已匹配,但没有任何反应为什么?

最佳答案

问题是您使用了起始 anchor ^

删除它:

String urlPattern = 
"(?!.*?\\?)(watch live|watch speech live|#breaking|#breaking news)";

或者将 .*? 放在关键字之前,以匹配短语之前的任意字符数:

String urlPattern =
"^(?!.*?\\?).*?(watch live|watch speech live|#breaking|#breaking news)";

由于使用 ^,您的正则表达式仅在开始时尝试匹配所有这些短语。

关于java - 检查文本是否不是问题类型并且还包含一些特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32528349/

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