Problema de expresión regular SCJP6

Tengo problema con el siguiente ejemplo:

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

Y la línea de comando:

java Regex2 "\d*" ab34ef

Alguien me puede explicar, por qué el resultado es: 01234456

el patrón de expresiones regulares es d * - significa el número uno o más, pero hay más posiciones que en args [1],

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta