| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 08:01:29
|
Marques
Virtual Machine Man
![[Avatar]](/images/avatar/a5771bce93e200c36f7cd9dfd0e5deaa.jpg)
Membro desde: 05/09/2002 10:13:28
Mensagens: 635
Offline
|
Lista,
No trecho abaixo eu verifico se a minhaString contém letras e números. Agora preciso de montar uma expressão regular em que eu verifique se minhaString contem 4 LETRAS MAÍUSCULAS seguidas por 7 números entre zero e nove. Vc pode me ajudar?
Muito obrigado,
Marques
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 08:45:47
|
peron
JavaGuru
![[Avatar]](/images/avatar/76383b34503afb0508f8364787c55800.jpg)
Membro desde: 09/06/2005 09:39:31
Mensagens: 236
Localização: Blumenau/SC
Offline
|
[A-Z]{4}[0-9]{7}
Att.
|
Marcos Peron
http://www.marcosperon.com
"Dizem que, no início, Deus criou o céu e a Terra. Mentira! Na verdade, no início Deus criou Java. Onde achas que ele programou o mundo, oras?" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 08:50:47
|
Marques
Virtual Machine Man
![[Avatar]](/images/avatar/a5771bce93e200c36f7cd9dfd0e5deaa.jpg)
Membro desde: 05/09/2002 10:13:28
Mensagens: 635
Offline
|
valeu peron!!!!!!!!!!!!!!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 09:12:08
|
Mantu
GUJ Ranger
![[Avatar]](/images/avatar/35285aa740b37f0b1933da97bf4ca4b9.jpg)
Membro desde: 27/03/2006 09:05:16
Mensagens: 961
Localização: São Paulo/SP
Offline
|
Agora que conseguiu resolver sua dúvida, dê uma consultada nesse link
http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html
Aqui tem todas as regras para produção de expressões regulares em Java
|
[]'s
Mantu
"Vou lançar o 'Caguei'. Caguei para o 'Cansei'". Luciano Camargo
"O povo votou contra a opinião pública". Um certo jornalão da mídia golpista, a respeito da vitória de um certo cadidato a presidente do Brasil.
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 10:47:02
|
akumaldo
Java Ninja
![[Avatar]](/images/avatar/ac457ba972fb63b7994befc83f774746.jpg)
Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline
|
Poderiam me explicar como funciona esse negócio de expressões regulares...não entendi muito bem!
agradeço pessoal!
|
"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 11:56:41
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Uma analogia é que eles são uma versão "turbinada" daquelas "*" e "?" que servem para filtrar nomes de arquivos.
Por exemplo, se você quer tudo que termina por ".doc", você usaria o "wildcard" "*.doc". O equivalente em expressões regulares seria:
.*\.doc$
. = qualquer caracter
* = 0 ou mais vezes
\. = o ponto
doc = o que deve bater exatamente (doc)
$ = o fim da expressão.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 12:03:18
|
akumaldo
Java Ninja
![[Avatar]](/images/avatar/ac457ba972fb63b7994befc83f774746.jpg)
Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline
|
thingol wrote:Uma analogia é que eles são uma versão "turbinada" daquelas "*" e "?" que servem para filtrar nomes de arquivos.
Por exemplo, se você quer tudo que termina por ".doc", você usaria o "wildcard" "*.doc". O equivalente em expressões regulares seria:
.*\.doc$
. = qualquer caracter
* = 0 ou mais vezes
\. = o ponto
doc = o que deve bater exatamente (doc)
$ = o fim da expressão.
poderia me dar um exemplo??como eu usaria??
eu entendi mais ou menos...é como um filtro né???
abraço!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 14:03:00
|
peron
JavaGuru
![[Avatar]](/images/avatar/76383b34503afb0508f8364787c55800.jpg)
Membro desde: 09/06/2005 09:39:31
Mensagens: 236
Localização: Blumenau/SC
Offline
|
Marques wrote:
Marques
olha o exemplo ai..
|
Marcos Peron
http://www.marcosperon.com
"Dizem que, no início, Deus criou o céu e a Terra. Mentira! Na verdade, no início Deus criou Java. Onde achas que ele programou o mundo, oras?" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 14:35:45
|
Mantu
GUJ Ranger
![[Avatar]](/images/avatar/35285aa740b37f0b1933da97bf4ca4b9.jpg)
Membro desde: 27/03/2006 09:05:16
Mensagens: 961
Localização: São Paulo/SP
Offline
|
Akumaldo,
É bem por aí. Suponha por exemplo que vc queira validar uma String que contenha um código de cor hexadecimal(#F456FD, por exemplo). Perceba que esse código tem o seguinte padrão:
-Tem 7 caracteres
-O primeiro caractere é sempre o "#"
-Os demais caracteres são algarismos hexadecimais
Como Verificar isso de forma fácil? Usando uma expressão regular que denote este padrão.
Em Java (Consulte o link que eu postei pro OP), uma regra suficiente para achar um código de cor hexadecimal dentro de uma String seria algo como
#[0-9A-F]{6}
Pra usar isso no Java, vc tem que passar a expressão regular(regex) como uma String. Nunca se esqueça disso!!! No caso então, na situação hipotética citada, fariámos assim em Java:
Agora, se vc quisesse que este método aceitasse (retornar true) códigos hexa independente do case das letras, teríamos:
Agora, só pra exemplificar uma coisinha, imageine que queiramos aceitar também uma String que seja um código de cor hexa, mas queremos ignorar eventuaisespaços em branco, tabs, quebra de linha, etc, que possam vir antes e/ou depois do nosso código (Algo como dar um trim na String. A regex seria algo assim:
\s*#[0-9A-Fa-f]{6}\s*
Em java vicaria assim:
Mas por que em Java ficou
\\s*#[0-9A-Fa-f]{6}\\s*
ao invéz de
\s*#[0-9A-Fa-f]{6}\s*
????
Porque o regex tem que ser uma String, e não existe o caracter de escape "\s", então temos que usar "\\" pra termo apenas um "\" (Como se quiséssemos cria uma String com uma data: "13\\05\\2000")
Espero ter ajudado.
Qq coisa, postem mais!
|
[]'s
Mantu
"Vou lançar o 'Caguei'. Caguei para o 'Cansei'". Luciano Camargo
"O povo votou contra a opinião pública". Um certo jornalão da mídia golpista, a respeito da vitória de um certo cadidato a presidente do Brasil.
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/07/2006 15:25:00
|
akumaldo
Java Ninja
![[Avatar]](/images/avatar/ac457ba972fb63b7994befc83f774746.jpg)
Membro desde: 09/06/2006 20:30:06
Mensagens: 283
Offline
|
Mantu wrote:Akumaldo,
É bem por aí. Suponha por exemplo que vc queira validar uma String que contenha um código de cor hexadecimal(#F456FD, por exemplo). Perceba que esse código tem o seguinte padrão:
-Tem 7 caracteres
-O primeiro caractere é sempre o "#"
-Os demais caracteres são algarismos hexadecimais
Como Verificar isso de forma fácil? Usando uma expressão regular que denote este padrão.
Em Java (Consulte o link que eu postei pro OP), uma regra suficiente para achar um código de cor hexadecimal dentro de uma String seria algo como
#[0-9A-F]{6}
Pra usar isso no Java, vc tem que passar a expressão regular(regex) como uma String. Nunca se esqueça disso!!! No caso então, na situação hipotética citada, fariámos assim em Java:
Agora, se vc quisesse que este método aceitasse (retornar true) códigos hexa independente do case das letras, teríamos:
Agora, só pra exemplificar uma coisinha, imageine que queiramos aceitar também uma String que seja um código de cor hexa, mas queremos ignorar eventuaisespaços em branco, tabs, quebra de linha, etc, que possam vir antes e/ou depois do nosso código (Algo como dar um trim na String. A regex seria algo assim:
\s*#[0-9A-Fa-f]{6}\s*
Em java vicaria assim:
Mas por que em Java ficou
\\s*#[0-9A-Fa-f]{6}\\s*
ao invéz de
\s*#[0-9A-Fa-f]{6}\s*
????
Porque o regex tem que ser uma String, e não existe o caracter de escape "\s", então temos que usar "\\" pra termo apenas um "\" (Como se quiséssemos cria uma String com uma data: "13\\05\\2000")
Espero ter ajudado.
Qq coisa, postem mais!
Grande explicação!
acho que agora entendi bem...com isso podemos validar então um CPF???ou placa de carros....ou uma data de aniversário...um campo que só aceita nomes....é isso?
|
"O homem se resume em sua vontade de poder...Vontade de poder e nada mais! Viva a vida, morte a verdade..."
Nietzsche |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2006 11:49:16
|
kuchma
Moderador
![[Avatar]](/images/avatar/85422afb467e9456013a2a51d4dff702.jpg)
Membro desde: 17/01/2003 19:36:16
Mensagens: 1231
Localização: Curitiba - PR
Offline
|
akumaldo wrote:acho que agora entendi bem...com isso podemos validar então um CPF???ou placa de carros....ou uma data de aniversário...um campo que só aceita nomes....é isso?
Sim. Outra thread sobre o assunto:
http://www.guj.com.br/posts/list/35496.java
Marcio Kuchma
|
E tu, Belém-Efrata, pequena demais para figurar como grupo de milhares de Judá, de ti me sairá o que há de reinar em Israel, e cujas origens são desde os tempos antigos, desde os dias da eternidade. Mq 5:2, Miquéias, 750 AC aprox. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2006 18:12:19
|
Junior28
What is classpath?
Membro desde: 08/07/2006 21:08:38
Mensagens: 5
Localização: Osasco
Offline
|
Como eu posso validar um CPF???
Eu to começado a aprender java e precisava de um método que valida-se um cpf..Brigadao!
|
Atenciosamente, Junior
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2006 18:28:00
|
cesarse
Thread.start()
Membro desde: 25/02/2005 11:22:51
Mensagens: 46
Offline
|
Como eu posso validar um CPF???
Com expressão regular você consegue saber se o FORMATO do cpf é válido (só contém 11 algarismos, pontos, hifen, etc).
Para saber se os números são válidos, procure por "módulo 11" na internet.
Ah, e lembre-se que cpf´s com todos os números iguais seriam válidos de acordo com o algoritmo, mas não são válidos na vida real.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/07/2010 11:39:18
|
andredecotia
JWizard
![[Avatar]](/images/avatar/3e0c75ef9041e74cc2a533fa0fbbf33a.jpg)
Membro desde: 19/10/2009 14:37:32
Mensagens: 2267
Localização: São Paulo
Offline
|
por favor alguém conhece uma expressão regular pra validar da seguinte forma:
* tem de ter 11 números;
* nao podem ser iguais tipo 111111111111 22222222222 333333333333...
|
--
André AS
Analista Programador Java Web freelancer / home office
Linkedin: http://www.linkedin.com/profile/view?id=41470291&trk=tab_pro
|
|
|
 |
|
|