QuickATools

Ferramentas para desenvolvedores · Free browser tool

Testador de Regex

Teste e depure suas expressões regulares em tempo real com destaque ao vivo de sintaxe, capturas de grupo e toggles de flags.

Regular expression

Pattern between slashes · flags toggle on the right.

g
g Global — find all matchesi Ignore casem Multiline — ^/$ per line
Valid pattern/\b(\w+)@(\w+)\.(\w+)\b/g3 matches

Test string

Paste the text you want to match against.

107 characters

Highlighted matches

Matching regions are marked in amber below.

Contact us at hello@example.com or support@quickatools.com. Also try BAD@EMAIL (no TLD) and alice@site.org.

Match details

3 results
#MatchIndex$1$2$3
1hello@example.com1431helloexamplecom
2support@quickatools.com3558supportquickatoolscom
3alice@site.org92106alicesiteorg

Frequently Asked Questions

O que as flags g, i e m fazem de fato?

A flag g (global) encontra todas as correspondências na string em vez de parar na primeira. A flag i (ignore case) torna o padrão case-insensitive, então /hello/i corresponde a "Hello" e "HELLO". A flag m (multiline) muda o comportamento de ^ e $ — com m ligada, eles batem no início e fim de cada linha, e não só no início e fim da string inteira. Alterne-as ao vivo nesta ferramenta para ver a diferença na hora.

Qual a diferença entre um match e um capture group?

Um match é a substring completa que satisfez seu padrão. Capture groups são as partes desse match que você intencionalmente "salvou" envolvendo trechos do padrão em parênteses — por exemplo, /(\d{4})-(\d{2})-(\d{2})/ batendo em "2026-08-07" produz um match ("2026-08-07") e três capture groups ($1 = "2026", $2 = "08", $3 = "07"). Capture groups são o que você usa em replacements ou ao extrair campos estruturados de texto.

Como o motor RegExp do JavaScript difere de outros sabores de regex?

O JavaScript usa um sabor baseado em ECMAScript, que suporta lookarounds, named groups e Unicode property escapes (com a flag u), mas não suporta alguns recursos encontrados em PCRE ou .NET como padrões recursivos ou possessive quantifiers. Padrões que você testa aqui se comportam exatamente como se comportarão em código de navegador ou Node.js — então se um padrão funciona nesta ferramenta, funcionará do mesmo jeito na sua aplicação JavaScript.

É seguro testar regexes contra código-fonte real ou dados sensíveis aqui?

Sim. Compilação do padrão, matching, destaque e geração do relatório rodam localmente com o motor RegExp embutido do navegador — nada do que você cola é enviado, logado ou transmitido a um servidor. Isso a torna segura para depurar padrões de validação de formulário de cadastro, regras de parsing de log ou regexes de redação contra texto de amostra real (mesmo sensível) sem expor esse texto a um serviço de terceiros.

Por que feedback ao vivo de Regex supera o debug de tentar-e-recarregar

Expressões regulares são densas por design — um escape faltando, um quantificador guloso ou a flag errada pode corresponder silenciosamente à coisa errada (ou a nada). Depurá-las colando em código de produção e recarregando é lento e arriscado. Um testador ao vivo que destaca cada match e mostra cada capture group conforme você digita colapsa esse loop de feedback a milissegundos, para você ver exatamente o que ^, $ ou um grupo aninhado está fazendo antes do padrão ir para produção.

Esse feedback também importa para regras sensíveis à segurança. Validadores de formulário de cadastro, padrões de redação de log e filtros de conteúdo frequentemente são testados contra dados reais de amostra — e-mails, telefones ou fragmentos de input do usuário. Enviar esse texto a um playground de regex de terceiros significa confiar o conteúdo ao servidor deles. Esta ferramenta nunca faz upload de nada: compilação do padrão, matching, destaque e o relatório de matches rodam pelo motor RegExp embutido do navegador.

Como o motor é a mesma implementação ECMAScript que seu navegador e o Node.js usam, um padrão que funciona aqui se comportará do mesmo jeito na sua aplicação JavaScript — incluindo como flags como g, i e m mudam o matching, e como capture groups são numerados. Use o painel de destaque âmbar para detectar matches não intencionais, e a tabela de matches para verificar que $1, $2 e companhia extraem os campos que você espera.

Precisa organizar um JSON de amostra antes de testar uma regra de parse? Use o Formatador e validador de JSON. Decodificar um token codificado primeiro? Experimente Codificar/Decodificar Base64. Gerar IDs de fixture para uma suíte de testes? O Gerador de UUID/GUID roda tão localmente quanto esta ferramenta.