Problem wyrażeń regularnych SCJP6

Mam problem z następującym przykładem:

import java.util.regex.*;
class Regex2 {
    public static void main(String[] args) {
        Pattern p = Pattern.compile(args[0]);
        Matcher m = p.matcher(args[1]);
        boolean b = false;
        while(b = m.find()) {
            System.out.print(m.start() + m.group());
        }
    }
}

I wiersz poleceń:

java Regex2 "\d*" ab34ef

Czy ktoś może mi wyjaśnić, dlaczego wynik: 01234456

wzorzec wyrażenia regularnego to d * - oznacza numer jeden lub więcej, ale jest więcej pozycji niż w args [1],

dzięki

questionAnswers(1)

yourAnswerToTheQuestion