Expressões regulares em PHP: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course
```html

Expressões Regulares em PHP: do básico às técnicas avançadas



Expressões regulares (regex) são uma ferramenta poderosa para buscar, substituir e analisar dados textuais. Em PHP, elas são implementadas através do conjunto de funções PCRE (Perl Compatible Regular Expressions). Neste artigo, vamos abordar os fundamentos do trabalho com expressões regulares, explorar as principais funções e fornecer exemplos práticos que ajudarão você a automatizar o processamento de strings.



1. Funções principais para trabalhar com expressões regulares em PHP



O PHP oferece várias funções embutidas para trabalhar com expressões regulares. Vamos ver as mais populares.



preg_match() — busca por correspondência

A função preg_match() verifica se uma string corresponde a um determinado padrão. Ela retorna 1 se uma correspondência for encontrada e 0 caso contrário.



<?php$text = "Olá, mundo! PHP é legal.";$pattern = "/PHP/";

if (preg_match($pattern, $text)) { echo "Palavra 'PHP' encontrada!";} else { echo "Nenhuma correspondência.";}?>


Se você precisar obter a própria correspondência, passe um terceiro argumento — um array para os resultados:



<?php$text = "Meu email: user@example.com";$pattern = "/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}/";

if (preg_match($pattern, $text, $matches)) { echo "Email encontrado: " . $matches[0];}?>


preg_replace() — substituição por padrão

A função preg_replace() substitui todas as correspondências de um padrão por uma string especificada. É análoga ao str_replace(), mas com suporte a expressões regulares.



<?php$text = "Hoje é 15.03.2024, e amanhã será 16.03.2024";$pattern = "/(\\d{2})\\.(\\d{2})\\.(\\d{4})/";$replacement = "$3-$2-$1"; // Reorganiza as partes da data

echo preg_replace($pattern, $replacement, $text);// Exibirá: Hoje é 2024-03-15, e amanhã será 2024-03-16?>


preg_split() — divisão de string

A função preg_split() divide uma string usando uma expressão regular. É mais conveniente que explode() quando os delimitadores podem ser variados.



<?php$text = "maçã, pera; banana: laranja";$pattern = "/[,;:]/"; // Delimitadores: vírgula, ponto e vírgula, dois pontos$fruits = preg_split($pattern, $text);

print_r($fruits);// Array ( [0] => maçã [1] => pera [2] => banana [3] => laranja )?>


2. Metacaracteres e sintaxe das expressões regulares



Para usar expressões regulares de forma eficaz, é necessário entender sua sintaxe. Aqui estão os principais metacaracteres:



  • . — qualquer caractere (exceto nova linha)
  • ^ — início da string
  • $ — fim da string
  • * — 0 ou mais repetições
  • + — 1 ou mais repetições
  • ? — 0 ou 1 repetição
  • \\d — dígito (0-9)
  • \\w — letra, dígito ou sublinhado
  • \\s — caractere de espaço em branco
  • [abc] — qualquer caractere do conjunto
  • (...) — grupo de captura


Exemplo: validação de número de telefone

<?php$phone = "+7 (123) 456-78-90";$pattern = "/^\\+7\\s\\(\\d{3}\\)\\s\\d{3}-\\d{2}-\\d{2}$/";

if (preg_match($pattern, $phone)) { echo "Número de telefone válido!";} else { echo "Formato de número inválido.";}?>


3. Técnicas avançadas e modificadores



Modificadores alteram o comportamento da expressão regular. Eles são especificados após a barra de fechamento. Vamos ver os mais úteis:



  • i — busca case-insensitive (ignora maiúsculas/minúsculas)
  • m — modo multilinha (^ e $ funcionam para cada linha)
  • s — ponto inclui caractere de nova linha
  • u — suporte a UTF-8
```

Blogs

Book Recommendations