Outra dúvida Expressão Regular

4 respostas
C

Outra dúvida expressao regular

public static void main(String[] args) {
		Pattern p1 = Pattern.compile("([RE_][0-9]{4})");
		Matcher m = p1.matcher("RE_0000");
		if(m.find())
		System.out.println(m.group());

	}

Era pra retornar apenas 0000
mas retorna [i] _0000[/i]
o que eu fiz de errado na expressao?

4 Respostas

jzf

Tenta isso:

public static void main(String[] args) {  
		        Pattern p1 = Pattern.compile("[0-9]{4}");  
		        Matcher m = p1.matcher("RE_0000");  
		        if(m.find())  
		        System.out.println(m.group()); 		      
		    }
ramilani12

Troque esta linha:

Pattern p1 = Pattern.compile("[0..9]{4}");

Ops bobeira minha corrigi a expressao

C

eu tenho que saber que tem RE_ tb pq pode ter OK_ e o tratamento é diferenciado

ramilani12

Então:

Pattern p2 = Pattern.compile("[RE_]{3}[0..9]{4}");

Obriga que vc tenha união de RE_

Criado 9 de outubro de 2008
Ultima resposta 9 de out. de 2008
Respostas 4
Participantes 3