Testador de Regex

Teste expressões regulares JavaScript com destaque de correspondências em tempo real, inspeção de grupos e pré-visualização de substituição. Perfeito para criar e depurar padrões regex.

/ /

  
Padrões comuns

Funcionalidades

Realce em tempo real
Compatível com os sinalizadores g, i, m e s
Informação dos grupos de captura
Referência de padrões comuns
Função de substituição

Como Usar

1. Digite seu padrão regex na caixa superior.

2. Selecione as flags (g, i, m, s).

3. Digite o texto de teste abaixo — as correspondências são destacadas em tempo real.

4. Alterne para a aba Substituir para pré-visualizar substituições.

Sobre esta ferramenta

Expressões regulares são poderosas e famosas por serem fáceis de errar sutilmente. Este testador executa seu padrão com o próprio motor de regex do JavaScript — o mesmo usado nos navegadores e no Node.js — e destaca cada correspondência no texto de teste enquanto você digita. Os detalhes das correspondências listam cada uma com sua posição e o valor de cada grupo de captura, e o painel de substituição mostra uma prévia das substituições com $1, $2 e outras referências a grupos. As flags estão a um clique: g encontra todas as correspondências, i ignora maiúsculas e minúsculas, m faz ^ e $ funcionarem por linha e s permite que o ponto corresponda a quebras de linha. Uma pequena biblioteca de padrões comuns para e-mails, URLs, telefones, datas, cores hexadecimais e endereços IPv4 dá um ponto de partida para adaptar.

Perguntas Frequentes

Qual variante de regex este testador usa?
JavaScript (ECMAScript). A maior parte da sintaxe é compartilhada com PCRE, Python e Java, mas alguns recursos diferem, por exemplo quantificadores possessivos e certas sintaxes de lookbehind ou de grupos nomeados. Teste na linguagem de destino se o padrão for rodar em outro lugar.
O que fazem as flags g, i, m e s?
g retorna todas as correspondências em vez da primeira, i faz a busca ignorar maiúsculas e minúsculas, m faz ^ e $ corresponderem ao início e ao fim de cada linha, e s permite que . corresponda a caracteres de quebra de linha.
Como funcionam os grupos de captura e o $1 nas substituições?
Os parênteses capturam o texto que correspondem. Na substituição, $1 insere o primeiro grupo, $2 o segundo e $& a correspondência inteira. Por exemplo, (\w+)@(\w+) substituído por $2 at $1 transforma user@example em example at user.
Por que meu padrão corresponde a texto demais?
Quantificadores como .* e .+ são gulosos e pegam o máximo de texto possível. Acrescente ? para torná-los preguiçosos (.*?), ou use uma classe de caracteres mais específica, como [^"]*, para parar no lugar certo.
É seguro usar regex para validar endereços de e-mail?
Uma regex pega erros de digitação óbvios, mas a sintaxe de e-mail totalmente válida é complexa demais para um padrão prático. Use uma verificação simples e confirme o endereço enviando um e-mail de verificação.

Ferramentas Relacionadas