Galera, eu não entendi essa questão do Livro:
import java.util.regex.*;
class Regex2 {
public static void main(String[] args) {
Pattern p = Pattern.compile("\d*");
Matcher m = p.matcher("ab34ef");
boolean b = false;
while(b = m.find()) {
System.out.print(m.start() + m.group());
}
}
}
Resposta: 01234456
Primeiro, a String tem 6 posições, então deveria imprimir de 0 a 5. Mas imprime de 0 a 6.
Se eu coloco apenas “a” na String, imprime 0 a 1. Por que?
Segundo, não imprime o número 3 referente a posição 3. Imprime 3 a 4 referente aos digítos da String. Por que?