galera, estou precisando criar um regex que leia a linha [0;1;9;8;10;20;50;500] porem, ele deverá ler da seguinte forma:
–> nao incluir o caracter [ ou ]
–> devera considerar tudo que estiver dentro de um ponto e virgula uma String, o q eu fiz por exemplo, ao ler o 500 ele lê 5 0 0 e nao 500 inteiro…
alguem tem alguma ideia?
valew
E se usasse métodos da String?
replace para retirar os [ ]
split para criar um array com todos os numeros?
eahuaehuahae
cara foi o o que eu fiz, mas ainda assim ficou a curiosidade de como seria um regex para esta expressao…
os meus conhecimentos sobre regex sao muito simples/basicos.
se alguem ai que majar de regex quiser dar uma ideia!
valew Rafael Viana.
Priuli
Setembro 27, 2010, 11:57am
#5
Bom, já que seus conhecimentos com reg/ são baixos, é hora de estudar… segue bons links que eu utilizo para estudo:
http://www.regular-expressions.info/javascriptexample.html
(Este link, apesar de ser para JavaScript, eu utilizo para testar as minhas expressões, já que regx é uma só)
http://guia-er.sourceforge.net/
(Este outro link é muito bom tb)
Sua regx vai ficar um pouco parecida com isto porem você vai ter obter os grupos gerados pela regex e talvez corrigi-la… mais segue ai para ajudar:
^[(.+);(.+)]$
Regex bem simples resolve, teste ai: “[^0-9]”;
String regex = "[^0-9]";
String expressão = "[0;1;9;8;10;20;50;500]";
String [] partes = expressão.split(regex);
for(String str : partes) {
System.out.println(str);
}
Priuli
Setembro 27, 2010, 1:24pm
#7
[quote=jgavazzisp]Regex bem simples resolve, teste ai: “[^0-9]”;
String regex = "[^0-9]";
String expressão = "[0;1;9;8;10;20;50;500]";
String [] partes = expressão.split(regex);
for(String str : partes) {
System.out.println(str);
}
[/code][/quote]
[b]Outro exemplo caso usar o split pode diminur ainda mais a regex...[/b]
[code] String regex = "\\D+";
String expressão = "[0;1;9;8;10;20;50;500]";
String [] partes = expressão.split(regex);
for(String str : partes) {
System.out.println(str);
}
O método split será mais facil de fazer, mais tb você pode usar o Pattern.compile e o Matcher