28 de março de 2025
Expressões regulares, ou regex, são uma ferramenta poderosa para buscar, validar e manipular textos. Elas são usadas em diversas linguagens de programação, editores de texto e ferramentas de linha de comando. Neste post, vamos explorar os conceitos básicos de regex, com exemplos práticos para você começar a usar essa ferramenta no seu dia a dia.
Cada exemplo mostra:
Padrão: A expressão regular que estamos testando
Texto de exemplo: O texto onde vamos buscar correspondências
O que casa: As partes do texto que combinam com o padrão
O que não casa: Partes que não atendem ao padrão
Explicação: Por que o padrão funciona assim
.
(Ponto) - Corresponde a qualquer caracterePadrão: a.b
Texto de teste:
aXb a4b a b axb aaab
O que casa:
aXb
(X é qualquer caractere)
a4b
(4 é qualquer caractere)
a b
(espaço é qualquer caractere)
axb
(x é qualquer caractere)
O que não casa:
aaab
(precisa ter exatamente um caractere entre os 'a's e 'b's)
Explicação: O ponto substitui qualquer caractere único, exceto quebra de linha.
*
(Asterisco) - Zero ou mais ocorrênciasPadrão: ab*c
Texto de teste:
ac abc abbc abbbbc axc
O que casa:
ac
(zero 'b's)
abc
(um 'b')
abbc
(dois 'b's)
abbbbc
(quatro 'b's)
O que não casa:
axc
(o padrão exige apenas 'b's entre 'a' e 'c')
Explicação: O asterisco permite que o caractere anterior apareça zero ou várias vezes.
+
(Mais) - Uma ou mais ocorrênciasPadrão: ab+c
Texto de teste:
abc abbc abbbbc ac axc
O que casa:
abc
(um 'b')
abbc
(dois 'b's)
abbbbc
(quatro 'b's)
O que não casa:
ac
(precisa de pelo menos um 'b')
axc
(só permite 'b's entre 'a' e 'c')
Explicação: O + exige pelo menos uma ocorrência do caractere anterior.
d
(Dígito) - Encontrando númerosPadrão: dd-dd-dddd
Texto de teste:
Data: 25-12-2023 Aniversário: 01/01/1990 Telefone: 11-98765-4321 Código: AB12-3456
O que casa:
25-12-2023
(formato DD-MM-AAAA)
O que não casa:
01/01/1990
(usa barras em vez de hífens)
11-98765-4321
(tem mais dígitos)
AB12-3456
(contém letras)
Explicação: d
encontra qualquer dígito de 0 a 9. Estamos buscando o formato de data com dois dígitos, hífen, dois dígitos, hífen, quatro dígitos.
[]
(Conjunto de Caracteres) - Correspondendo a opções específicasPadrão: [AEIOU]migo
Texto de teste:
Amigo Emigo Imigo Omigo Umigo amigo Hmigo
O que casa:
Amigo
Emigo
Imigo
Omigo
Umigo
O que não casa:
amigo
(a vogal precisa ser maiúscula)
Hmigo
(H não está no conjunto)
Explicação: Os colchetes definem um conjunto de caracteres aceitáveis. Neste caso, apenas vogais maiúsculas no início.
()
(Grupos) - Agrupando padrõesPadrão: (ab)+c
Texto de teste:
abc ababc abababc ac abbc
O que casa:
abc
(um grupo "ab")
ababc
(dois grupos "ab")
abababc
(três grupos "ab")
O que não casa:
ac
(faltam os "ab")
abbc
(o segundo "b" extra quebra o padrão)
Explicação: Os parênteses criam grupos que podem ser quantificados. O +
aplica-se a todo o grupo (ab)
, significando "uma ou mais repetições de 'ab'".
^
(Circunflexo) - Início da stringPadrão: ^Olá
Texto de teste:
Olá mundo Oi, Olá Olá
O que casa:
Olá mundo
(começa com "Olá")
O que não casa:
Oi, Olá
("Olá" não está no início)
Olá
(espaços antes)
Explicação: O ^
verifica se o padrão ocorre no início exato da string, ignorando qualquer texto anterior.
$
(Cifrão) - Fim da stringPadrão: mundo!$
Texto de teste:
Olá mundo! mundo! Olá mundo!
O que casa:
Olá mundo!
(termina com "mundo!")
mundo!
(termina exatamente com "mundo!")
O que não casa:
mundo! Olá
("mundo!" não está no final)
Explicação: O $
verifica se o padrão ocorre no final exato da string, ignorando qualquer texto posterior.
Para testar suas expressões regulares, recomendo o site regex101.com que oferece um ambiente interativo para criar e testar regex.
Padrão: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$
Explicação:
^[a-zA-Z0-9._%+-]+
: Parte local do e-mail (antes do @
).
@[a-zA-Z0-9.-]+
: Domínio do e-mail.
.[a-zA-Z]{2,}$
: Extensão do domínio (ex: .com
, .org
).
Padrão: d{2}/d{2}/d{4}
Explicação:
d{2}
: Dois dígitos para o dia e mês.
d{4}
: Quatro dígitos para o ano.
Comece com padrões simples e vá aumentando a complexidade
Pratique com textos reais do seu dia a dia
Explore as ferramentas de regex na sua linguagem preferida
Com esses exemplos práticos, você já pode começar a usar regex em seus projetos! Lembre-se que a prática leva à perfeição quando se trata de expressões regulares.
Se você quer se aprofundar neste assunto, recomendo o livro Expressões Regulares: Uma Abordagem Divertida
Com uma linguagem descontraída e envolvente, o livro mantém o leitor interessado do início ao fim.
Visualizações: 20
23 de março de 2025
18 de março de 2025
14 de março de 2025
27 de fevereiro de 2025
05 de abril de 2016