Testador de regex online: teste expressões regulares JavaScript ao vivo

Teste uma expressão regular num texto de exemplo, com destaque das correspondências ao vivo, grupos de captura e prévia de substituição. Grátis, no navegador.

//g
Predefinições:
2 correspondências
Contact us at hello@freetoolsforweb.com or sales@example.org.
Site: https://freetoolsforweb.com/tools — call (416) 555-0199.
Launched 2026-09-08, colours #244b3f and #fff, server 10.0.0.12.
#CorrespondênciaÍndiceGrupos
1hello@freetoolsforweb.com14—
2sales@example.org43—

O link de compartilhamento abre este testador com o mesmo padrão, flags, texto de teste e substituição. Eles ficam guardados depois do # no link, que os navegadores nunca enviam ao servidor.

Funciona totalmente no seu navegador. Nada do que você digita é enviado para nós nem armazenado. Ver todas as ferramentas grátis.

Encontrou um problema ou algo que poderia ser melhor? Lemos todas as mensagens e corrigimos rápido.

Este testador de regex grátis executa expressões regulares JavaScript no seu texto de exemplo, no navegador, e destaca cada correspondência enquanto você digita. Grupos de captura, grupos nomeados e a posição da correspondência são listados para cada resultado, e um modo de substituição mostra a prévia com $1 e $<name> exatamente como o String.replace fará. Copie um link de compartilhamento e quem abrir verá o mesmo padrão, as mesmas flags e o mesmo texto de teste; todos os exemplos do nosso guia rápido de regex abrem aqui do mesmo jeito.

O mecanismo é o do próprio navegador, então os resultados batem exatamente com Node.js, React, Deno e qualquer framework web; eles são parecidos, mas não idênticos, aos do PCRE (PHP, re do Python, grep -P). As diferenças que mais importam, suporte a lookbehind, quantificadores possessivos e âncoras \A, estão explicadas abaixo, para que um padrão que funciona aqui não surpreenda você em outro lugar.

Como usar

  1. Digite um padrão sem as barras em volta, ou clique numa predefinição (e-mail, URL, telefone, data, IPv4, cor hex) para partir de algo que já funciona.
  2. Marque as flags de que precisa. g encontra todas as correspondências em vez da primeira; i ignora maiúsculas e minúsculas; m faz ^ e $ corresponderem ao início e ao fim de cada linha.
  3. Cole o texto de teste. As correspondências são destacadas na hora e a tabela lista cada uma com seus grupos de captura.
  4. Abra Substituir para ver a prévia de uma substituição. Use $1 para grupos numerados, $<name> para grupos nomeados e $& para a correspondência inteira.
  5. Copie o padrão como /padrão/flags para literais JavaScript, ou como new RegExp() quando o padrão vem de uma string.
  6. Clique em Copiar link de compartilhamento para mandar a configuração completa a um colega. O estado fica depois do # no link, então não é enviado a nenhum servidor quando ele abre.

Perguntas frequentes

Qual variante de regex esta ferramenta usa?

ECMAScript (JavaScript), porque o navegador avalia o padrão diretamente. É o que Node.js, código front-end e padrões de JSON Schema usam. Python, Java, Go, PHP e grep têm mecanismos próprios, que concordam no básico e diferem nos detalhes; teste na linguagem de destino antes de colocar em produção qualquer coisa incomum.

Por que meu padrão só encontra a primeira correspondência?

A flag g (global) está desligada. Sem ela, o JavaScript para na primeira correspondência, o que é certo para uma validação e errado para extração. Ative g para listar todas as correspondências.

Como faço uma correspondência em várias linhas?

Duas flags diferentes fazem duas coisas diferentes. m (multilinha) faz ^ e $ corresponderem ao início e ao fim de cada linha. s (dotAll) faz o . corresponder também a quebras de linha. Para “qualquer coisa, inclusive quebras de linha” sem s, a construção usual é [\s\S]*.

O que é um grupo de captura nomeado?

(?<year>\d{4}) captura quatro dígitos com o nome year, então você pode ler match.groups.year em vez de contar parênteses e se referir a ele como $<year> numa substituição. Grupos nomeados deixam padrões longos legíveis e sobrevivem a edições que adicionam ou removem outros grupos.

Uma regex pode ser lenta ou perigosa?

Sim. Padrões com quantificadores aninhados, como (a+)+, ou alternâncias que se sobrepõem podem levar tempo exponencial com certas entradas (backtracking catastrófico, um vetor real de negação de serviço). Se um padrão trava esta página, é a mesma coisa que travaria seu servidor. Prefira classes de caracteres específicas a .* e evite aninhar quantificadores.

Devo validar endereços de e-mail com regex?

Só de forma básica. A predefinição daqui corresponde ao formato comum e rejeita erros de digitação óbvios, que é tudo o que um formulário deve fazer. Um padrão totalmente correto segundo a RFC 5322 tem milhares de caracteres e mesmo assim não diz se a caixa de e-mail existe. Verifique o formato e depois envie um e-mail de confirmação.

Um guia rápido de regex

• . qualquer caractere exceto quebra de linha · \d dígito · \w caractere de palavra · \s espaço em branco · \b limite de palavra

• * zero ou mais · + um ou mais · ? opcional · {n,m} entre n e m vezes · acrescente ? depois de qualquer um deles para torná-lo preguiçoso (lazy)

• [abc] qualquer um de · [^abc] nenhum de · [a-z] intervalo · (x|y) alternância · (?:x) grupo sem captura

• ^ início · $ fim · (?=x) lookahead · (?!x) lookahead negativo · (?<=x) lookbehind (JavaScript e PCRE, não em todos os mecanismos)

• Escape caracteres especiais com barra invertida: \. \? \( \[ \\

JavaScript vs PCRE: as diferenças que você vai encontrar na prática

O JavaScript não tem quantificadores possessivos (a++), nem grupos atômicos, nem as âncoras \A ou \Z (use ^ e $ sem a flag m), e só tem a forma com escopo dos modificadores inline, (?i:...), que chegou no ES2025; o (?i) sem escopo no início de um padrão é erro de sintaxe. Ele suporta lookbehind, grupos nomeados e escapes de propriedades Unicode como \p{L} quando a flag u está ativa. O re do Python também não tem \p{...} sem o pacote regex, e o RE2 do Go não tem lookaround nenhum. Se um padrão precisa rodar em várias linguagens, fique no subconjunto comum: classes de caracteres, grupos simples, âncoras e quantificadores gulosos ou preguiçosos.

Ferramentas grátis relacionadas

  • Guia rápido de regex — Todos os tokens de expressões regulares com um exemplo que funciona, suporte em JavaScript, PCRE/PHP, Python, Go, Java e .NET, e um link “Teste no testador de regex” que abre o testador de regex já preenchido.
  • Formatador de JSON — Formate, minifique e valide JSON, com erros de parsing localizados por linha e coluna. No seu navegador, sem upload.
  • Codificador / decodificador Base64 — Codifique texto ou arquivos em Base64, transforme imagens em data URIs com trechos de CSS e <img>, e decodifique Base64 de volta em um arquivo com pré-visualização. Nada sai do seu navegador.
  • Contador de palavras — Conte palavras, caracteres, frases e tempo de leitura e confira os limites do X, LinkedIn, Instagram, YouTube, SEO e SMS enquanto digita.