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: 37.713 ]

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

Utilizando o Xterm

Visão geral do X-Windows

Ambiente X-Window, a continuação

SCO & Microsoft unidas contra o Linux?

Vamos configurar a Nividia no Kurumim

Leitura recomendada

Expressões regulares no PHP

Verificação da sintaxe do e-mail 1.0

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

PHP Orientado a Objetos

Ato 3 - Estrutura de Controle e Funções

  
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