文本:“aaaa”
模式:“aa”
然后将有两个匹配:aa(0,1), aa(2,3)
如果我想要三个匹配:aa(0,1)、aa(1,2)、aa(2,3)。 (我相信这是一个经典问题,我不知道如何描述它:'( )
我怎样才能用java或python或其他语言做到这一点?
最佳答案
请在此处查看此代码:
String str = "aaaa";
Pattern p1= Pattern.compile("(aa)");
Matcher matcher = p.matcher(str);
int start = -1;
while(matcher.find(start + 1)) {
start = matcher.start(0);
System.out.println("Found: " + start);
}
它输出:
Found: 0
Found: 1
Found: 2
这基本上就是如何在 java 中操作从何处搜索下一个匹配项。希望这会对您有所帮助。
关于java - 正则表达式的多重匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9850170/