Iniciando no mundo das expressões regulares (parte 2)

Este é o segundo artigo da série que nos inicia no conceito de expressões regulares. Neste iremos nos aprofundar em listas, listas negadas, metacaracteres, âncoras, caracteres quantitativos, etc.

[ Hits: 38.976 ]

Por: rudolf ghysio schaarschmidt em 23/11/2003


Lista negada



Por favor, não fique com raiva de mim, mas vamos falar de um parente da lista. A lista negada.

[^..] => Essa é a lista negada, ela é a renegada, pois quem ela conhece ela ignora.

Exemplo:

ER: [^Aa]
Casa: ba fa -a &a gt (Só não casa com o que começar com a ou A)

A lista negada casa o que não tiver no seu conteúdo. Ela casa algo MENOS o seu conteúdo e para colocar um ^ literal não esqueça que ele Não pode estar no início da lista!

Página anterior     Próxima página

Páginas do artigo
   1. Finalizando pendências
   2. Lista negada
   3. E lá vem mais metacaracteres
   4. Voltando para a [Bb]ene?dita lista
Outros artigos deste autor

Software livre no país não é mais somente incentivo

Utilizando o Xterm

SCO & Microsoft unidas contra o Linux?

Configurando o scanner Epson Perfection 610 USB

Iniciando no mundo das expressões regulares (parte 1)

Leitura recomendada

Iniciando no mundo das expressões regulares (parte 1)

Expressões regulares no PHP

Verificação da sintaxe do e-mail 1.0

Administrando usuários no GNU/Linux e Samba via web com PHP

Boleto Bancário em PHP ou ASP

  
Comentários
[1] Comentário enviado por arknoid em 24/11/2003 - 17:43h

Fico muito feliz por saber que temos quase 70 amigos que estão realmente interessados em expressões regulares... (o:?

[2] Comentário enviado por removido em 07/12/2003 - 22:18h

não to conseguindo montar a expressão regular para validar isso:
1) tenho um array com uma lista de arquvios.
2) não consigo listar os arquivos que não tem extensão!

por exemplo:

teste teste2.doc casa.xls rota.mp3 servidor arquivo

tentei validar (php) mas não consegui usei: ^(.*)

[3] Comentário enviado por fabio em 07/12/2003 - 23:02h

Daniel, tente:

[^\.]

Ou seja, uma lista negada que exclui tudo que tiver o caractere "." (ponto).

[4] Comentário enviado por removido em 08/12/2003 - 20:46h

se eu quisesse excluir tudo que for precedido de "." (ponto) e pós-cedido de qualquer coisa (tipo: .html .minhacasa .h .cas) poderia ser:

[^.*]

???

[5] Comentário enviado por arknoid em 09/12/2003 - 12:19h

nuam meu amigo...olha o que tu tah fazendo...
1º - Te aconselho a colocar a \ antes do ponto pra não ter dúvida que é um ponto literal! (isso pode te economizar futuras dores de cabeça!)

2º- pra ti excluir tudo que tiver um ponto:
-Tu usa a seguinte expressão \.
-Só não esqueçe que estou considerando que você vai aplicar isso no teu vetor de arquivos!
Isso te resultaria todos arquivos que possuem ponto!
Abraços!

[6] Comentário enviado por arknoid em 09/12/2003 - 12:22h

e para NÃO pegar o que tiver ponto:
.*[^\.].*
Qualquer coisa(pode ser um caracter,início de linha espaço qualçquer coisa!)Não pode ter um ponjto literal! e pode ser pós-cedido de qualquer coisa! (inclusive um EOL ou form feed...)

[7] Comentário enviado por tux666 em 10/02/2004 - 20:22h

Tenho que limpar esta linha:

Assunto: 123456789. Post by Fulano (200.135.132.xxx)

Onde o numero 123456789 varia,
o Nome do Individuo tb...
e o IP..

teria como? Eu precis pegar essas informacoes :) :)

[ ]'s
Obrigado.

[8] Comentário enviado por jean-mask em 12/02/2008 - 02:25h

sim ;)

Assunto: (.*) Post by (.*) \((.*)\)

[9] Comentário enviado por jucaetico em 23/07/2009 - 19:10h

Muito bom seu artigo, me ajudou nos estudos para a prova 101. Abraços

[10] Comentário enviado por fmom em 27/07/2009 - 11:55h

Galera, gostaria de saber se tem como pegar a data dos dois arquivos abaixo através de uma unica expressão regular?

ACC_CTANRAA01_2009072609.gz
ACC_COMPLEMENTO_BSANRAS01_2008011317.gz


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts