Pular para o conteúdo
100% Privacidade — Seus arquivos permanecem no seu dispositivo
>_
Português

Regex Tester

Teste expressões regulares com destaque ao vivo, grupos de captura e prévia de substituição — tudo direto no seu navegador.

//g

Motor: expressões regulares JavaScript (ECMAScript), executadas pelo seu navegador. O comportamento pode diferir de PCRE, Python, Go, Java ou .NET.

Flags
Explicar padrão

Digite um padrão para vê-lo explicado token por token.

Biblioteca de padrões

Clique em um padrão para carregá-lo (com um texto de exemplo) no testador.

Um caso por linha. Comece com "+ " se o padrão deve corresponder, ou com "- " se NÃO deve corresponder (as flags g e y são ignoradas aqui).

Gerar código

Digite um padrão para gerar código.

O padrão é copiado como foi escrito (apenas grupos nomeados, flags e tokens de substituição são adaptados). Verifique o suporte a lookbehind, referências anteriores e Unicode no motor de destino.

Consulta rápida
  • \d — qualquer dígito (0–9)
  • \w — qualquer caractere de palavra (letra, dígito, underscore)
  • \s — qualquer caractere de espaço em branco
  • . — qualquer caractere, exceto quebra de linha
  • ^ — início da string (ou da linha, com a flag multiline)
  • $ — fim da string (ou da linha, com a flag multiline)
  • * — zero ou mais ocorrências do token anterior
  • + — uma ou mais ocorrências do token anterior
  • ? — zero ou uma ocorrência do token anterior
  • {n,m} — entre n e m repetições
  • (...) — grupo de captura, (?:...) — grupo sem captura
  • \b — fronteira de palavra, | — alternância (OU)

Como funciona testar uma regex no navegador?

Uma expressão regular é uma linguagem compacta de padrões para localizar texto — desde "isso parece um endereço de e-mail" até "encontre cada número de telefone neste documento" ou "remova as tags HTML deste texto". O problema é que a sintaxe de regex é conhecida por ser fácil de errar de forma sutil: um `.` que deveria ter sido escapado, um `*` guloso que engole mais do que o esperado, um grupo que não está capturando o que você imaginava. Escrever uma regex às cegas e só descobrir que está errada depois que ela já está rodando contra dados de produção é uma péssima forma de aprender essa lição.

Esta ferramenta roda inteiramente sobre o próprio motor `RegExp` nativo do JavaScript, executando direto no seu navegador no momento em que você digita — não há servidor envolvido, então o texto que você está testando (que pode ser dado real de usuário, uma linha de log, ou qualquer coisa que você preferiria não colar em um serviço de terceiros) nunca sai da sua máquina. Como é exatamente o mesmo motor que vai rodar o seu código JavaScript em produção, o que você vê aqui — quais caracteres correspondem, como os quantificadores gulosos se comportam, se um grupo capturou algo — é exatamente o que você vai obter em tempo de execução, e não uma aproximação de outra variante de regex.

Digite um padrão e ative as flags que precisar: `g` para encontrar todas as correspondências em vez de parar na primeira, `i` para ignorar maiúsculas/minúsculas, `m` para fazer `^` e `$` corresponderem ao início/fim de cada linha em vez da string inteira, `s` para deixar o `.` também corresponder a quebras de linha. Cada correspondência no seu texto de teste é destacada ao vivo, e cada uma delas é detalhada abaixo com o texto completo correspondido, sua posição e quaisquer grupos de captura — incluindo grupos nomeados como `(?<year>\d{4})` — para você ver na hora se o grupo que pretendia extrair é de fato o que foi capturado. A seção Substituir mostra exatamente o que `String.replace()` produziria com o seu padrão e um texto de substituição, incluindo referências a grupos como `$1` ou `$<year>`.

O painel de consulta rápida logo abaixo cobre os tokens que a maioria das pessoas esquece bem no meio da tarefa — a diferença entre `*` e `+`, para que serve um grupo sem captura `(?:...)`, como `\b` marca uma fronteira de palavra — sem precisar sair da página para consultar. Depois que o padrão se comportar do jeito que você quer contra dados de teste realistas, ele já está pronto para ir direto para o seu código. Se você também precisar validar ou reformatar os dados ao redor, as ferramentas Formatador e validador JSON e Comparador de textos são companheiras naturais.

Perguntas frequentes

Um padrão regex ruim pode travar a página?

Não — a busca roda em um Web Worker separado, com um tempo limite rígido, então nem um padrão de backtracking catastrófico consegue travar a sua aba.

Ele mostra grupos de captura nomeados e numerados?

Sim — cada correspondência lista seus grupos numerados e os grupos nomeados, como (?<year>\d{4}).

Posso ver uma substituição antes de usá-la no código?

Sim — o painel Substituir mostra exatamente o que String.replace() retornaria, incluindo referências a grupos.

Ferramentas relacionadas