Matcher.find從給定索引處開始查找下一個子序列,該索引與正則表達式兼容。當即時序列不匹配時,使用匹配器的Java失敗
如何使它失敗,如果下一個字符序列不符合?
例:
String input = "123456text123";
Matcher mat1 = Pattern.compile("\\d+").matcher(input);
mat1.find();
System.out.println(mat1.group()); //123456
mat1.find(mat1.end());
System.out.println(mat1.group()); //123
我想知道如果有一種方法,使第二個發現失敗,因爲下一個序列不MAT1的模式相匹配。
我希望能夠「組成」匹配器,以便它們必須始終按順序發現。
有沒有可能?
您可以嘗試使用' 「^ \\ d +」' – Alex
你試圖匹配1234foo1234但不1234foo123,並匹配4567foo4567但不4567foo456? – andersoj
@Alex除了不能匹配'\ d +',然後再次成功匹配它,並且沒有插入的非匹配序列:) –