Expressões regulares no PHP

Este artigo irá abordar conceitos sobre a utilização de expressões regulares com a linguagem PHP. Tópicos abordados: padrão POSIX, busca de padrões e curingas (wildcards).


[ Hits: 46.512 ]

Por: Marcelo Santos Araujo em 10/09/2004


Sub-expressões regulares e derivados



Contando sub-expressões:

(php ){1,4}

Busca pelo padrão:
'php', 'php php', 'php php php', 'php php php php '.

Utilização do OR (Ou)


Exemplo:

(com) | (edu) | (com.br) | (net) | (inf.br)

Busca pela padrão com ou edu ou com.br ou net ou inf.br.

Síntese de Caracteres Especiais




Exemplo:

(teste ){1,2} - 'teste','teste teste ' - busca de 1 ate 2 vezes repetidas.

Funções de Expressões Regulares no PHP


Utilizaremos apenas essas duas funções abaixo para demonstrar o uso de expressões regulares:

eregi -- expressão regular não-sensitiva

Protótipo:
bool eregi ( string pattern, string string [, array ®s])

ereg -- Expressão regular sensitiva

Protótipo:
bool ereg ( string pattern, string string [, array ®s])

Página anterior     Próxima página

Páginas do artigo
   1. Conceitos sobre expressões regulares
   2. Sub-expressões regulares e derivados
   3. Exemplos com PHP
Outros artigos deste autor

Replicação em banco de dados MySQL

Leitura recomendada

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

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

Verificação da sintaxe do e-mail 1.0

Instalando Servidor LAMP no Ubuntu e Derivadas

Trabalhando conteúdo dinâmico com Smarty

  
Comentários
[1] Comentário enviado por arrb em 10/09/2004 - 08:43h

Bom artigo, no caso da ER para tags creio q o correto seria:
"<[A-Za-z]+[A-Za-z0-9]*>" .

esta ER peraria <a> <h1> <dd> etc...

Blz

[2] Comentário enviado por gatecrasher em 10/09/2004 - 10:59h

isso ai mesmo,

desculpa a falha

[3] Comentário enviado por claudiolima em 01/06/2006 - 12:39h

Bom artigo para incentivar cada vez mais a programação! Blz.

[4] Comentário enviado por Gutto em 21/10/2007 - 16:00h

Só um detalhe, que para iniciantes pode dar problemas. Nos exemplos acima, o correto é fechar o parêntese do if( e do eregi(. Nos exemplo só está fechando um dos dois.

<?php

function verifica_alfabeto($var)
{
if(eregi("[a-zA-Z]",$var))
{
echo "Somente contem caracteres do alfabeto";
}
}

// Validação de email:
if(!eregi('[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$',$var_email)) {
echo "Email inválido!";
}


if(eregi("[0-9]",$nome))
{
// se campo nome conter números
echo "Campo: nome invalido";
}

// Para verificar a incidência de tags HTML
// Existem outras maneiras de filtrar
if(eregi("[<a-zA-Z>]",$var))
{
echo "Apresentam tags html";
} ?>


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts

\ Caractere de escape.
^ Início de string ou NOT em posição inicial .
$ Buscar no fim da string.
. Buscar por qualquer caractere exceto por \n.
| OR.
( Início de Subpadrão.
) Fim de Subpadrão.
* Repete 0 ou mais vezes.
+ Repete 1 ou mais vezes.
{ Quantificador de min.
} Quantificador de max.