我有一个简单的正则表达式,它搜索一个句子以查看它是否包含单词 of|for|in|at,这是我的正则表达式,它几乎可以在正则表达式中工作:
[^A-Za-z]of|for|in|at[^A-Za-z]
我在以下情况下运行它:
show me the weather of seattle
show me the weather in seattle
show me the weather for seattle
show me the weather at seattle
这是结果:
当我在我的 Java 代码中使用它时,它根本不起作用。在正则表达式中也显示了我在开始和结束时定义的空间。有人可以告诉我的正则表达式有什么问题以及如何在一个句子中搜索多个单词之一
我总是在我的 java 中得到 else 条件,这意味着它不匹配正则表达式。这是我的java代码:
public class Regex
{
public static void main(String[] args)
{
String str = "show me the weather in seattle";
if(str.matches("[^A-Za-z]of|for|in|at[^A-Za-z]")){
System.out.println("Yayyy!!");
}
else{
System.out.println("OMG now what to do");
}
}
}