Deluxe
faiz assim
public class a1 {
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.println(m.start() +" "+ m.group());
}
}}
é porque ta saindo a posição onde ele achou junto com o resultado ai ta confundido..
"\\d*" vai te retorna sequencias de numeros.. nesse caso
0
1
2 34
4
5
6
na posição 2 ele achou uma sequencia de 2 numeros (34)
Deluxe
é o tamanho do match
no caso
6 posições
jason_bourne
Esse tipo de questão costuma cair no programmer 1.5?
LPJava
na minha so veio uma questao de regex… mais a respeito da questao é pq o start() ele imprime a posicao e o group() imprime o elemento!!
jason_bourne
o q quer dizer o d no \d* ?
anderson.bonavides
Caiu na minha uma semelhante.

LPJava
d = digito
d* = traga 1 ou mais digitos
jason_bourne
victorwss
LPJava:
d = digito
d* = traga 1 ou mais digitos
d* = traga zero ou mais dígitos.
LPJava
victorwss:
LPJava:
d = digito
d* = traga 1 ou mais digitos
d* = traga zero ou mais dígitos.
o d sozinho ja ti traz um digito o com d* é um conjunto de digitos!
Javabuntu
LPJava:
victorwss:
LPJava:
d = digito
d* = traga 1 ou mais digitos
d* = traga zero ou mais dígitos.
o d sozinho ja ti traz um digito o com d* é um conjunto de digitos!
que eu me lembre também é zero ou mais dígitos…
senão não teria o mesmo sentido isso d* e d+
LPJava
opa! fui consultar o velho livro da kathy… realmente d* =0 ou mais digitos!!
Desculpa ai victor hehe! Realmente errei…
É maior decoreba isso ai… ainda mais que no livro há poucos exemplos… vc tem q criar…e muitos para entender…