在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;