Regex nie przechwytuje wszystkich grup

Za pomocąjava.util.regex (jdk 1.6), wyrażenie regularne201210(\d{5,5})Test stosowane do ciągu tematu20121000002Test tylko przechwytujegroup(0) i nie przechwytujegroup(1) (wzór00002) tak jak powinno, podając poniższy kod:

Pattern p1 = Pattern.compile("201210(\\d{5,5})Test");
Matcher m1 = p1.matcher("20121000002Test");

if(m1.find()){

    for(int i = 1; i<m1.groupCount(); i++){         
    System.out.println("number = "+m1.group(i));            
    }
}

Co ciekawe, inne podobne wyrażenie regularne201210(\d{5,5})Test(\d{1,10}) stosowane do ciągu tematu20121000002Test0000000099 przechwytuje grupę 0 i 1, ale nie grupę 2.

Wręcz przeciwnie, używając obiektu RegExp JavaScript, dokładnie takie same wyrażenia regularne stosowane do tych samych ciągów obiektów przechwytują wszystkie grupy, jak można się było spodziewać. Sam sprawdziłem i ponownie sprawdziłem ten fakt, korzystając z tych testerów online:

http://www.regular-expressions.info/javascriptexample.htmlhttp://www.regextester.com/

Czy robię tu coś złego? A może biblioteka regex Java jest do bani?

questionAnswers(5)

yourAnswerToTheQuestion