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.
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 | Índice | Grupos |
|---|---|---|---|
| 1 | hello@freetoolsforweb.com | 14 | — |
| 2 | sales@example.org | 43 | — |
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
- 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.
- 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.
- Cole o texto de teste. As correspondências são destacadas na hora e a tabela lista cada uma com seus grupos de captura.
- 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.
- Copie o padrão como /padrão/flags para literais JavaScript, ou como new RegExp() quando o padrão vem de uma string.
- 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.