Duvidas em uma questão

nesta questão:


	public static void main(String args[]) throws IOException {
		
		  Pattern p = Pattern.compile("\\d*");
		    Matcher m = p.matcher("ab34ef");
		    boolean b = false;
		    while(b = m.find()) {
		      System.out.print(m.start() + m.group());
		    }
		
	}

pq a saida é: 01234456 realmente não entendi…

faiz assim

[code]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());
	    }
	
}}[/code]

é 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)

Quando fiz essa questão também fiquei em dúvida, o que seria o 6 que ele imprime? Dado que existem 6 posições (0 a 5).

Abraços.

é o tamanho do match
no caso
6 posições

Esse tipo de questão costuma cair no programmer 1.5?

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!!

o q quer dizer o d no \d* ?

Caiu na minha uma semelhante.

:wink:

d = digito
d* = traga 1 ou mais digitos

putz…pra decorar isso

[quote=LPJava]d = digito
d* = traga 1 ou mais digitos

[/quote]

d* = traga zero ou mais dígitos.

[quote=victorwss][quote=LPJava]d = digito
d* = traga 1 ou mais digitos

[/quote]

d* = traga zero ou mais dígitos.[/quote]

o d sozinho ja ti traz um digito o com d* é um conjunto de digitos!

[quote=LPJava][quote=victorwss][quote=LPJava]d = digito
d* = traga 1 ou mais digitos

[/quote]

d* = traga zero ou mais dígitos.[/quote]

o d sozinho ja ti traz um digito o com d* é um conjunto de digitos![/quote]

que eu me lembre também é zero ou mais dígitos…

senão não teria o mesmo sentido isso d* e d+

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…