假设我有String
,说one two three one one two one
。
现在我使用Pattern
和Matcher
来查找Pattern
中的任何特定String
。
像这样:
Pattern findMyPattern = Pattern.compile("one");
Matcher foundAMatch = findMyPattern.matcher(myString);
while(foundAMatch.find())
// do my stuff
但是,假设我想找到多种模式。对于我拍摄的示例String
,我想找到one
和two
。现在它是一个非常小的字符串,所以可能的解决方案是使用另一个Pattern
并找到我的匹配。但是,这只是一个小例子。有没有一种有效的方法来实现它,而不是仅仅在Pattern
s的所有集合中循环尝试?
答案 0 :(得分:6)
使用正则表达式的强大功能:更改模式以匹配one
或two
。
Pattern findMyPattern = Pattern.compile("one|two");
Matcher foundAMatch = findMyPattern.matcher(myString);
while(foundAMatch.find())
// do my stuff
答案 1 :(得分:0)
这不会解决我的问题,这样我们就可以将(一个|两个)改为一个特定的字符串。
但我的要求是改变 模式一 - >三&二 - >四个