Erro 1 — Quantificadores gananciosos apanham texto a mais
* e + tentam corresponder ao máximo de texto possível. Num exemplo ilustrativo, o padrão <.+> aplicado a <a>texto</a> pode corresponder à cadeia inteira «<a>texto</a>» em vez de parar na primeira tag.A correção mais comum é usar a versão «preguiçosa», acrescentando um ponto de interrogação a seguir ao quantificador: <.+?> para no primeiro > que encontrar. Isto é especialmente relevante quando o texto de teste tem várias ocorrências do mesmo delimitador — um padrão ganancioso mal escrito pode «engolir» várias correspondências numa só.
No testador, cola um exemplo com vários delimitadores repetidos no campo «Texto de teste», ativa a flag «g», e compara visualmente a área destacada ao mudar entre + e +? — a diferença fica imediatamente visível a cores.
Erro 2 — Esquecer a flag multilinha ao validar várias linhas
^ e $ correspondem apenas ao início e fim de todo o texto, não de cada linha individual.Isto costuma surpreender quem testa um padrão numa única linha (onde funciona perfeitamente) e depois o aplica a um ficheiro com várias linhas — de repente, quase nada corresponde. Num exemplo ilustrativo com uma lista de códigos, um por linha, o padrão ^\d{5}$ só encontra o primeiro código sem a flag «m»; com ela ativada, cada linha é avaliada de forma independente.
Regra prática: se o teu texto de teste tem mais do que uma linha e queres validar linha a linha, ativa sempre «m». Se, pelo contrário, queres garantir que o texto inteiro (sem quebras de linha extra) corresponde exatamente ao padrão, deixa «m» desativada.
Erro 3 — Carateres especiais sem escape (o ponto é o mais comum)
. sem escape corresponde a «qualquer carácter», não apenas a um ponto literal. Escreve \. sempre que quiseres um ponto real, por exemplo em domínios ou números de versão.( ) [ ] { } + * ? | ^ $ \ têm significado especial em regex — se quiseres usá-los literalmente (por exemplo, um parêntesis real num texto), tens de os escapar com uma barra invertida antes.A forma mais fiável de apanhar este erro é testar sempre com um exemplo que não deveria corresponder — no separador «Testes» da ferramenta, junta um exemplo propositadamente errado ao campo «NÃO deve corresponder» e confirma que fica marcado a vermelho como esperado. Se corresponder por engano, é sinal de que falta um escape algures no padrão.
Como extrair emails, telefones ou datas de um bloco de texto
Este fluxo é útil, por exemplo, quando um utilizador cola um bloco de notas ou um relatório copiado de outro sistema e precisa de isolar rapidamente todos os endereços de email ou todas as datas mencionadas, sem processar o ficheiro manualmente linha a linha.
- Escolher o que extrair — a correspondência completa, ou apenas um grupo de captura específico (por exemplo, só o domínio de cada email).
- Escolher o separador — linha a linha, vírgula, ponto e vírgula, ou um separador personalizado à tua escolha.
- Remover duplicados — útil quando o mesmo valor aparece várias vezes no texto original.
- Transferir — copia a lista com um clique, ou transfere-a como .txt ou como .csv com posição e grupos incluídos.
| Texto de origem (excerto) | Resultado extraído |
|---|---|
| "reunião marcada para 2026-08-03, revisão a 2026-08-10" | 2026-08-03 2026-08-10 |
Dica: não uses as âncoras ^ e $ neste tipo de extração — elas fazem o padrão corresponder ao início/fim da linha ou do texto completo, o que impede encontrar ocorrências no meio de uma frase.
Testa o teu padrão regex em direto e extrai correspondências, grupos ou listas completas em segundos.
Abrir Testador de Regex →