Correspondência com preg_match
Teste textos contra padrões e capture grupos.
Correspondência com preg_match é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.
Assinatura de preg_match()
preg_match($pattern, $subject, &$matches) retorna 1 se o padrão corresponder, 0 se não corresponder ou false em caso de erro.
Teste de correspondência simples
Use preg_match como um teste booleano — o valor de retorno 1 significa que foi encontrado.
<?php
$email = "user@example.com";
if (preg_match('/\w+@\w+\.\w+/', $email)) {
echo "Looks like an email";
}Grupos de captura com $matches
$matches[0] é a correspondência completa; $matches[1], $matches[2]... são grupos de captura.
<?php
preg_match('/^(\w+)\s(\w+)$/', "John Smith", $m);
echo $m[1]; // "John"
echo $m[2]; // "Smith"Capturas nomeadas
Use (?P<name>...) para grupos de captura nomeados — acessados como $matches["name"].
<?php
preg_match('/(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})/',
'2025-06-15', $m);
echo $m['year']; // 2025Parâmetro de deslocamento
O quarto parâmetro especifica em que posição da cadeia a correspondência deve começar (deslocamento em bytes).
<?php
preg_match('/\d+/', 'abc123def456', $m, 0, 3);
echo $m[0]; // "123"PREG_OFFSET_CAPTURE
Obtenha tanto o valor correspondente quanto seu deslocamento em bytes.
<?php
preg_match('/\d+/', "price: 42 USD", $m, PREG_OFFSET_CAPTURE);
echo $m[0][0]; // "42"
echo $m[0][1]; // 7 (byte offset)preg_match_all()
preg_match_all() encontra todas as correspondências e retorna a quantidade.
<?php
$html = '<a href="a.com">A</a> <a href="b.com">B</a>';
preg_match_all('/<a href="([^"]+)">/', $html, $m);
print_r($m[1]); // ["a.com", "b.com"]Exemplo de validação de e-mail
Uma expressão regular prática para e-mail:
<?php
function isEmail(string $s): bool {
return (bool) preg_match(
'/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/',
$s
);
}Validação de telefone
Valide números de telefone internacionais:
<?php
preg_match('/^\+?[1-9]\d{7,14}$/', '+1234567890', $m);Tratamento de erros
Se o padrão for inválido, preg_match() retorna false. Verifique com === false e use preg_last_error() para obter detalhes.
Dica de desempenho
PHP armazena internamente em cache os padrões PCRE compilados — se você usar a mesma expressão regular em um laço, nenhuma etapa adicional será necessária.
Quando não usar expressões regulares
Para dados estruturados, PHP oferece funções específicas: filter_var(FILTER_VALIDATE_EMAIL), parse_url() — prefira-as a expressões regulares criadas manualmente.
Verificação rápida
O que $matches[0] contém depois de preg_match?
Aprenda PHP com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 49
- Aulas
- 195
Perguntas Frequentes
A aula “Correspondência com preg_match” é grátis?
Sim — o texto completo de “Correspondência com preg_match” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.
O que vou aprender em “Correspondência com preg_match”?
Teste textos contra padrões e capture grupos. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Correspondência com preg_match”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Fundamentos da sintaxe de expressões regulares
- Correspondência com preg_match
- Substituição de texto com preg_replace
- Divisão e padrões práticos