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.
Quando usar preg_match(), preg_match_all() e preg_replace() no PHP?
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