在java中找到正确的正则表达式模式

在java中找到正确的正则表达式模式,java,Java,假设我有以下类型的字符串数组 something **foo**garblesomething somethingelse something **foobar**blahblah somethingelse and so on 所以本质上数据是三元组 现在,在字符串的中间部分 注意关键词“foo”和“foobar” 我想做的是: if "foo" in string: return 1 else if "foobar" in string: return 2 else -1

假设我有以下类型的字符串数组

something **foo**garblesomething somethingelse
something **foobar**blahblah somethingelse
and so on
所以本质上数据是三元组

现在,在字符串

的中间部分 注意关键词“foo”和“foobar”

我想做的是:

if "foo" in string:
    return 1
else if "foobar" in string:
    return 2
else -1
如何在java中实现这一点? 谢谢

只需使用
String#contains(String)


重要的是在
foo
之前检查
foobar
,否则这两种情况下都会返回1。

一个不太人为的示例可能会有所帮助-例如,要解决这个确切的问题,您可以先搜索“foobar”,如果没有找到,则搜索“foo”。要使用的具体方法是contains()。没有理由使用正则表达式。在这种情况下,绝对不需要正则表达式。选择使用正则表达式只会降低代码的效率和维护难度。
if (str.contains("foobar"))
    return 2;
else if (str.contains("foo"))
    return 1;
else
    return -1;