Regex - Validação de digitos numéricos  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Bruno Lacerda
JavaEvangelist
[Avatar]

Membro desde: 16/07/2007 11:17:52
Mensagens: 371
Localização: Rio de Janeiro
Offline

Bom dia!!!
Pessoal, como eu poderia montar uma Regex para validar se a String possui somente digitos numéricos de 0 a 9??? Com tamanho mínimo de X digitos e máximo de Y digitos?
Eu fiz assim mas está bugando!!!


VlW!!!

This message was edited 1 time. Last update was at 17/03/2010 10:12:09


A morte do homem começa no instante em que ele desiste de aprender.
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

Onde está o X e o Y no seu pattern?
Bruno Lacerda
JavaEvangelist
[Avatar]

Membro desde: 16/07/2007 11:17:52
Mensagens: 371
Localização: Rio de Janeiro
Offline

Não está
Esta condição é para já saber montar a regex caso eu venha precisar limitar o tamanho da String também...

A morte do homem começa no instante em que ele desiste de aprender.
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

E qual é o bug?
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

A sua expressão regular bate apenas com as seguintes strings, que têm apenas um dígito:

0 1 2 3 4 5 6 7 8 9

Não bate com mais nada.
Bruno Lacerda
JavaEvangelist
[Avatar]

Membro desde: 16/07/2007 11:17:52
Mensagens: 371
Localização: Rio de Janeiro
Offline

Ops, o retorno é false.
Vou corrigir o código do exemplo pra vc ver.

A morte do homem começa no instante em que ele desiste de aprender.
Bruno Lacerda
JavaEvangelist
[Avatar]

Membro desde: 16/07/2007 11:17:52
Mensagens: 371
Localização: Rio de Janeiro
Offline

Em um caso eu quero poder digitar 1 ou 12345 ou 12300456789 mas não necessariamente nesta ordem, como se fosse o ID de alguma produto.
Em outro caso eu quero digitar 1 ou 40 ou 26 como se fosse a quantidade de alguma coisa (neste caso não poderia ser digitado somente 0).
Melhorou?

A morte do homem começa no instante em que ele desiste de aprender.
licantropos_6666
HelloWorld

Membro desde: 16/07/2009 14:54:01
Mensagens: 12
Offline

Amigão ... pode ter um geito melhor ...

más sem testar e rapidamente ...



Acho que funciona ... se não funcionar ... avisa.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler)"
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

Ah, entendi. De qualquer maneira, leia o manual de expressões regulares do Aurélio Jargas ( http://aurelio.net/er/ ) para você não ficar dependendo de uma resposta de alguém do fórum que está com dificuldade de entender o que você quer.

Se você quer bater sua expressão com números de 3 a 9 algarismos, você usaria:

"\\d{3,9}"

Uma coisa que é difícil fazer com expressões regulares é você indicar com o que você NÃO QUER QUE BATA (no seu caso, o valor 0). É possível fazer isso, mas muito complicado de manter. Em vez disso, separe esses valores via código Java mesmo, que é mais fácil que tentar indicá-los na expressão regular. (converta o número e se der zero, então não é um valor válido para você).
Ou então, use 2 expressões - uma que bate com as coisas que você quer, e outra que bate com as coisas que você não quer. Isso é mais ou menos simples de fazer.

Por exemplo, para bater com alguma coisa cujo valor é zero (como "0", "000", "00000" ou sei lá o quê) você precisa indicar que não quer algo como "0+" (expressão regular que indica 1 ou mais dígitos zero.)
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

passei aqui so para agradecer pelo links, realmente legal, bao eh o testador online com regex ehehe, como entanglement tem hora que dar um nó com regex.

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team