Duvida ao criar Regex

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.

http://aurelio.net/er

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);
}

[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