Duvidas em uma questão

13 respostas
luistiagos

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…

13 Respostas

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)

H

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.

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.

:wink:

LPJava

d = digito
d* = traga 1 ou mais digitos

jason_bourne

putz…pra decorar isso

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…

Criado 19 de março de 2008
Ultima resposta 17 de abr. de 2008
Respostas 13
Participantes 8