Aprenda a utilizar expressões regulares no PHP

Veja como utilizar expressões regulares no PHP para busca, validação e substituição de padrões em strings.

Como usar expressões regulares no PHP?

As expressões regulares são uma ferramenta poderosa para buscar, validar e manipular strings de forma eficiente. No PHP, podemos utilizar funções como preg_match(), preg_match_all() e preg_replace() para trabalhar com regex.

Validando padrões com preg_match()

A função preg_match() verifica se uma string contém um padrão específico:

<?php
$email = "usuario@dominio.com";
if (preg_match("/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i", $email)) {
    echo "E-mail válido!";
} else {
    echo "E-mail inválido!";
}
?>

Aqui, verificamos se um e-mail segue um formato válido.

Encontrando todas as ocorrências com preg_match_all()

Se quisermos encontrar todas as ocorrências de um padrão dentro de uma string, usamos preg_match_all():

<?php
$texto = "O preço do produto é R$ 200 e o desconto é de R$ 50.";
preg_match_all("/R\$\s\d+/", $texto, $matches);
print_r($matches);
?>

Aqui, buscamos todos os valores monetários (R$ 200 e R$ 50).

Substituindo padrões com preg_replace()

Para substituir partes de uma string usando expressões regulares, utilizamos preg_replace():

<?php
$telefone = "(11) 91234-5678";
$telefoneFormatado = preg_replace("/[\D]/", "", $telefone);
echo $telefoneFormatado;
?>

Este código remove todos os caracteres não numéricos, deixando apenas os números do telefone.

As expressões regulares no PHP são essenciais para validação de entradas de usuários, formatação de textos e extração de informações. O uso correto de preg_match(), preg_match_all() e preg_replace() permite trabalhar com strings de maneira precisa e eficiente. Aprender regex é fundamental para manipulação avançada de dados.

Algumas aplicações:

  • Validação de e-mails e números de telefone
  • Extração de valores numéricos ou palavras-chave
  • Sanitização de inputs para evitar ataques de segurança
  • Formatação automática de dados, como CPF e CNPJ

Dicas para quem está começando

  • Use preg_match() para verificar se um padrão está presente na string.
  • Se precisar encontrar múltiplas ocorrências, utilize preg_match_all().
  • Para substituir padrões dentro de uma string, prefira preg_replace().
  • Teste suas expressões regulares em ferramentas online como regex101.com.
  • Aprenda a usar delimitadores (/ ou #) e modificadores (i, g) para maior controle.

Contribuições de Rafael Nogueira

Compartilhe este tutorial: Como usar expressões regulares no PHP?

Compartilhe este tutorial

Continue aprendendo:

Como contar caracteres em uma string no PHP?

Veja como contar caracteres em uma string no PHP utilizando diferentes funções para medir o tamanho do texto de maneira precisa.

Tutorial anterior

Como ordenar um array em PHP?

Veja como ordenar arrays em PHP utilizando funções nativas para organizar dados de maneira eficiente.

Próximo tutorial