| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2010 15:27:10
|
vmsb11
Java Ninja
Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline
|
Olá pessoal, tenho uma dúvida sobre regex
por exemplo eu tenho uma lista com os seguintes valores
10
11
12
13
14
15
como que faço por exemplo para filtrar e mostrar somente os números 10 e 13 por exemplo????....
This message was edited 1 time. Last update was at 14/07/2010 16:02:43
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2010 15:28:43
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
Expressões regulares não são boas para fazer contas. Isto posto, você pode usar a expressão regular "(10|13)", por exemplo.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2010 15:37:48
|
vmsb11
Java Ninja
Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline
|
entanglement wrote:Expressões regulares não são boas para fazer contas. Isto posto, você pode usar a expressão regular "(10|13)", por exemplo.
obrigado entanglement funcionou aqui, quando vc fala a respeito de contas vc está se referindo a utilização de operadores como o "AND" ou o "OR"????....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2010 15:47:58
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
AND e OR não são contas.
Eu digo alguma coisa como "quero uma expressão regular que bata com os números de 20 a 254", por exemplo.
Quando você tem uma coisa dessas e pode resolver as coisas com expressão regular mais algumas linhas de código, é melhor você ter uma expressão regular que "bata com um número", isolar os números, e então verificar a condição desejada.
Um exemplo clássico é uma expressão regular que bata com um endereço IPv4 (por exemplo, 123.45.67.89). Isso existe, mas a expressão regular é complicadíssima e nem sei se ela bate com casos do tipo "123.045.0067.000089" que é perfeitamente adequada, mas não é fácil de bater com a tal expressão regular que inventaram para ela.
Eu prefiro, nesse caso, usar a seguinte expressão regular: "([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+)", separar a expressão em 4 grupos (cada um com um valor numérico), e então verificar se o valor está entre 0 e 255.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2010 16:02:29
|
vmsb11
Java Ninja
Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline
|
hummm.....
bela explicação....
obrigado amigo pela ajuda....
|
|
|
 |
|
|