Pular para o conteúdo
SPCXTools

Testador de Regex

Escreva uma expressão regular e veja cada correspondência, grupo de captura e substituição ao vivo.

Roda localmente — os arquivos não saem do seu dispositivo

Carregando ferramenta…

Como usar: Testador de Regex

  1. 1Digite sua expressão regular no campo Padrão — não precisa de barras.
  2. 2Escolha as flags como g (encontrar todas as correspondências), i (ignorar maiúsculas/minúsculas) ou m (multilinhas).
  3. 3Cole o texto a ser pesquisado em Texto de teste. As correspondências são destacadas instantaneamente e contadas.
  4. 4Verifique a tabela para ver a posição e os grupos de captura de cada correspondência.
  5. 5Marque Substituir e insira uma substituição como $2: $1 para pré-visualizar o resultado de String.replace.

Teste expressões regulares com resultados ao vivo

Expressões regulares são poderosas, mas famosas por serem difíceis de ler. Este testador de regex mostra exatamente o que seu padrão faz enquanto você digita: cada correspondência é destacada no texto, contada e listada com sua posição e grupos de captura. Uma pré-visualização da substituição mostra o resultado de uma busca e substituição antes de você executá-la em seu código. Tudo roda localmente no seu navegador, dentro de um worker em segundo plano que protege a página de padrões descontrolados.

Recursos

  • Destaque ao vivo de todas as correspondências no texto de teste.
  • Seletores de flags para g, i, m, s e u, com o literal completo /padrão/flags sendo exibido.
  • Tabela de correspondências com índice, grupos de captura numerados e grupos nomeados.
  • Pré-visualização de substituição com suporte para $1, $<nome>, $& e outros padrões de substituição.
  • Mensagens de erro claras para sintaxe inválida e um tempo limite de segurança de um segundo para "catastrophic backtracking".

Usos práticos

Validação de entradas. Crie e teste padrões para CEPs, códigos de produto ou nomes de usuário com uma lista de exemplos válidos e inválidos antes de adicioná-los a um formulário.

Extração de dados. Extraia endereços de e-mail, URLs, datas ou IDs de logs e documentos. Os grupos de captura permitem que você divida cada correspondência em partes, como usuário e domínio.

Busca e substituição. Reformate datas de DD/MM/AAAA para AAAA-MM-DD, renomeie variáveis ou limpe dados exportados. Pré-visualize a substituição aqui e depois use o mesmo padrão em seu editor ou script.

Aprendendo regex. Experimente com quantificadores, classes de caracteres e âncoras e veja o efeito instantaneamente.

Referência rápida

Sintaxe Significado
. Qualquer caractere, exceto quebra de linha (qualquer caractere com s)
\d \w \s Dígito, caractere de palavra, espaço em branco
[abc] [^abc] Um dos / nenhum dos caracteres listados
* + ? 0 ou mais, 1 ou mais, 0 ou 1
{2,5} Entre 2 e 5 vezes
^ $ Início e fim do texto (de cada linha com m)
(…) (?<nome>…) Grupo de captura, grupo nomeado
(?:…) Grupo sem captura
(?=…) (?!…) Lookahead, lookahead negativo
\b Limite de palavra

Os quantificadores são "gulosos" (greedy) por padrão; adicione ? (como em .*?) para torná-los "preguiçosos" (lazy). Para limpar listas depois, experimente o Removedor de Linhas Duplicadas, ou compare o antes e depois com o Comparador de Textos.

Perguntas frequentes

Qual motor de regex este testador usa?
Ele usa o motor de expressões regulares do JavaScript (ECMAScript) do seu navegador — o mesmo usado pelo Node.js, Deno e código front-end. A maior parte da sintaxe é compartilhada com PCRE, Python e Java, mas alguns recursos são diferentes, como quantificadores possessivos (não suportados) e lookbehind (suportado em navegadores modernos).
Por que minha regex encontra apenas uma correspondência?
Sem a flag g (global), o JavaScript para na primeira correspondência. Ative a flag g para encontrar todas as correspondências no texto.
Como faço para referenciar os grupos de captura na substituição?
Use $1, $2 e assim por diante para grupos numerados, $<nome> para grupos nomeados como (?<year>\d{4}), $& para a correspondência inteira, e $$ para um cifrão literal.
O que acontece se minha regex for extremamente lenta?
Alguns padrões, como (a+)+$, podem levar um tempo exponencial em certas entradas ("catastrophic backtracking"). O testador executa sua expressão em um worker em segundo plano e a interrompe após um segundo, para que a página nunca trave. Reescreva o padrão para evitar quantificadores aninhados.
O que as flags s e u fazem?
A flag s (dotAll) permite que o . corresponda também a quebras de linha. A flag u (unicode) trata o padrão e o texto como pontos de código Unicode, o que é necessário para emojis e para escapes de propriedade \p{…} como \p{L} (qualquer letra).
Meu texto é enviado para algum servidor?
Não. A verificação de correspondências e a substituição rodam localmente no seu navegador.