Testador de regex
Teste uma expressão regular em tempo real: veja correspondências, grupos de captura e substituições
Carregando a ferramenta…
Digite uma expressão regular e um texto de teste para ver na hora as correspondências destacadas, com a posição e os valores dos grupos de cada uma. Use-o para conferir se um padrão encontra o que você espera, e se uma substituição dá o resultado certo, antes de colocá-lo no código.
Como usar
- Digite a expressão em “Padrão” sem barras e clique nos botões de flag, como g, i ou m, para ativá-las ou desativá-las.
- Coloque um texto em “Texto de teste”. As correspondências ficam destacadas, e a aba “Correspondências” lista as posições e os grupos.
- Em “Substituir”, digite um número de grupo como $1 em “Substituir por” para ver o resultado. “Dividir” mostra as partes entre as correspondências.
- Escolha um exemplo em “Padrões comuns” ou abra o “Resumo da sintaxe” para consultar um símbolo. “Copiar link de compartilhamento” permite que outra pessoa abra o mesmo padrão e o mesmo texto.
Como funciona
- A busca usa o motor RegExp do JavaScript do seu navegador, então os resultados são os mesmos que no código JavaScript.
- A busca roda em um worker separado em segundo plano e é interrompida depois de 1 segundo. São encontradas até 10.000 correspondências, e a lista mostra as 500 primeiras.
- Nada do que você digita é salvo. Um link de compartilhamento leva o padrão e o texto (os primeiros 4.000 caracteres) dentro do próprio link; nada é enviado.
Perguntas frequentes
- Por que minha regex só encontra a primeira ocorrência?
- Sem a flag g, só a primeira correspondência é encontrada. Ative o botão g para encontrar todas.
- Como usar grupo de captura na substituição com regex?
- $1 e $2 são grupos numerados e $& é a correspondência inteira; um grupo nomeado é escrito como $ seguido do nome entre sinais de menor e maior. Substituir (\d{4})-(\d{2})-(\d{2}) por $3.$2.$1 transforma 2024-03-15 em 15.03.2024.
- Qual é a regex para validar e-mail?
- O exemplo “E-mail (simples)” é [\w.+-]+@[\w-]+(?:\.[\w-]+)+. Ele encontra endereços comuns, mas não verifica todas as regras do padrão de e-mail.
- Regex em JavaScript é igual a regex em Python ou Java?
- A sintaxe básica é quase a mesma, mas os detalhes mudam. Por exemplo, um grupo nomeado começa com (?< em JavaScript, mas com (?P< em Python.
- O que significa “Interrompido após 1 s”?
- Padrões com quantificadores aninhados, como (a+)+, podem tentar um número enorme de combinações em um texto que não corresponde. Torne a parte interna mais específica ou remova o aninhamento.