Expressões Regulares com PHP
Uma expressão regular é uma maneira de descrever um
padrão em um trecho de texto ou frase.
Por exemplo, a string "teste" apresenta um padrão textual
"teste". Também pode ser associado às letras ou sílabas:
"e","te","st","es", etc.
Existem dois padrões disponíveis em PHP:
Padrão POSIX (iremos abordar este);
Padrão PCRE (Perl-compatible regular expression).
Classes de caracteres no POSIX:
Exemplos de outras utilizações para buscar padrões textuais:
[[:alnum:]]
Caracteres alfanuméricos.
[[:alpha:]]
Caracteres alfabéticos.
[[:digit:]]
Número Decimal (0-9).
[[:lower:]]
Caracteres minúsculos.
[[:upper:]]
Caracteres maiúsculos.
[[:xdigit:]]
Número Hexadecimal .
[[:cntrl:]]
Caracteres de Controle.
[[:print:]]
Caracteres imprimíveis.
[[:space:]]
Caracteres com espaços em branco.
Símbolo *
O símbolo * significa que o padrão a ser encontrado pode se repetir de 0 vezes ate N vezes.
Exemplo:
(php)*teste
Resultado:
'teste', 'php teste', 'php php teste', 'php php php teste', etc
Símbolo +
É utilizado quando se busca um padrão que se repete pelo menos uma vez.
Exemplo:
[[:alnum:]]+
Resultado:
Pelo menos um caractere alfanumérico.
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)
Verificação da sintaxe do e-mail 1.0
Iniciando no mundo das expressões regulares (parte 1)
Trabalhando conteúdo dinâmico com Smarty
Guia completo do Ocomon no Linux - Módulo cliente, abertura de ocorrência (exclusivo VOL)
Comentários
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
isso ai mesmo,
desculpa a falha
Mensagem
isso ai mesmo,
desculpa a falha
Bom artigo para incentivar cada vez mais a programação! Blz.
Mensagem
Bom artigo para incentivar cada vez mais a programação! Blz.
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_\-\.]
[email protected] [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";
} ?>
Mensagem
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
Enviar
Patrocínio
Destaques
Artigos
Dicas
Tópicos
Top 10 do mês
Scripts
[a-zA-Z]
caracteres do alfabeto (maiúsculo e minúsculo).
[aeiou]
apenas vogais.
[^a-z]
tudo menos os caracteres do alfabeto (minúsculo).
[^aeiou] - apenas consoantes
O caractere ^ representa fora do intervalo das vogais. Não está contido entre aeiou..