2
假設我想查找後面子字符串的總次數。查找子字符串的總次數
與1後跟任意(0或更多)數量的0的啓動,然後接着1.
我形成爲它正則表達式的任何字符串:1[0]*1
然後我使用的Pattern
和Matcher
java類做剩下的工作。
import java.util.regex.*;
class P_m
{
public static void main(String []args)
{
int s=0;
Pattern p=Pattern.compile("1[0]*1");
Matcher matcher=p.matcher("1000010101");
while(matcher.find())
++s;
System.out.println(s);
}
}
但問題是,當我們有兩個連續的子串重疊時,上面的代碼輸出答案1少於實際發生次數。例如,在上面的代碼輸出是2,而它應該是3.我可以修改上述代碼返回正確的輸出。