Você já precisou achar todos os telefones de um texto ou trocar datas de um formato para outro? Em vez de procurar um por um, dá para escrever uma regra uma vez e deixar o computador aplicar. Essa regra é a expressão regular.
O que é uma expressão regular
Regex é uma forma compacta de descrever um padrão. Em vez de procurar o texto exato "123", você descreve algo como "três dígitos seguidos". O programa então encontra todos os trechos que se encaixam.
Quase toda linguagem de programação tem suporte a regex, e muitos editores de texto e planilhas também permitem busca com expressões regulares.
Os símbolos mais usados
Alguns símbolos resolvem a maior parte dos casos simples:
- O ponto representa qualquer caractere.
- \d representa um dígito de 0 a 9.
- \w representa letra, número ou sublinhado.
- \s representa um espaço em branco.
- O asterisco indica zero ou mais repetições do item anterior.
- O sinal de mais indica uma ou mais repetições.
- O ponto de interrogação indica que o item é opcional.
- Chaves como {3} indicam uma quantidade exata de repetições.
- Colchetes como [abc] aceitam qualquer um dos caracteres listados.
- O acento circunflexo no começo e o cifrão no fim marcam o início e o fim do texto.
Combinando esses elementos, o padrão \d{2}/\d{2}/\d{4} encontra datas escritas como 07/11/2026, ou seja, dois dígitos, barra, dois dígitos, barra e quatro dígitos.
Como testar sem medo
Escrever regex no escuro costuma dar errado. Siga um caminho curto:
- Separe cinco ou seis exemplos reais do texto que você quer encontrar.
- Separe também alguns exemplos que não devem ser encontrados.
- Use um testador online de regex ou a busca do seu editor para ver o que o padrão captura.
- Comece com um padrão simples e vá acrescentando regras aos poucos.
- Só depois leve o padrão para o código.
Erros comuns
O erro mais frequente é escrever um padrão amplo demais. O ponto com asterisco, por exemplo, tenta capturar o máximo de texto possível e pode levar mais do que você queria. Outro problema é esquecer que alguns símbolos têm função especial. Para procurar um ponto de verdade, é preciso colocar uma barra invertida antes dele.
Também vale lembrar que regex é boa para formatos fixos, mas ruim para estruturas aninhadas. Para ler dados estruturados, como JSON, use uma biblioteca própria para isso em vez de tentar resolver com um padrão.
Quando usar e quando evitar
Use regex para busca e validação de formatos simples, limpeza de texto e substituições em lote. Evite quando o padrão ficar tão longo que ninguém consegue ler. Nesse caso, dividir o problema em etapas menores costuma ser mais seguro e mais fácil de manter.