2
我的代碼爲我得到「IndexOutOfBoundsException異常:沒有組4」當我嘗試打印所有組
String regexpr = "(abc)(ab)(cd)";
String test = "abcabcd";
Pattern p = Pattern.compile(regexpr);
Matcher m = p.matcher(test);
while(m.find())
{
System.out.println(m.group());
}
該代碼給出的輸出作爲
abcabcd
但我想打印所有組匹配的字符串即
group 1 abc
group 2 ab
group 3 cd
在這個我試過
int i=1;
while (m.group(i) != null)
{
System.out.println("group" + i + m.group(i));
i++;
}
我越來越
group 1 abc
group 2 ab
group 3 cd
Exception in thread "main" java.lang.IndexOutOfBoundsException: No group 4
我怎樣才能避免這種例外?
如何打印所有組的起始索引和結束索引?
'我<= m.groupCount()'.. :) – rock321987
@ rock321987正確,那是另一種選擇。 – Maroun