Regex не в состоянии захватить все группы

С помощьюjava.util.regex (JDK 1.6), регулярное выражение201210(\d{5,5})Test применяется к теме строки20121000002Test только захватываетgroup(0) и не захватываетgroup(1) (шаблон00002) как и положено, учитывая приведенный ниже код:

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));            
    }
}

Любопытно, что другое подобное регулярное выражение, как201210(\d{5,5})Test(\d{1,10}) применяется к теме строки20121000002Test0000000099 захватывает группы 0 и 1, но не группу 2.

Напротив, используя JavaScript-объект RegExp, одни и те же регулярные выражения, применяемые к точно таким же строкам темы, охватывают все группы, как и следовало ожидать. Я проверил и перепроверил этот факт самостоятельно, используя следующие онлайн-тестеры:

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

Я что-то здесь не так делаю? Или библиотека регулярных выражений Java действительно отстой?

Ответы на вопрос(5)

Ваш ответ на вопрос