Testador de Regex

Teste e depure expressões regulares ao vivo — destaque correspondências, inspecione grupos, ative flags e teste substituições.

/ / g

Resultado

Flags

Referência rápida

.
qualquer caractere
\d \w \s
dígito, palavra, espaço
\D \W \S
as negações
^ $
início / fim
* + ?
0+, 1+, opcional
{n,m}
de n a m vezes
[abc]
qualquer um de a, b, c
[^abc]
nenhum desses
( )
grupo de captura
(?<n> )
grupo nomeado
(?: )
sem captura
a|b
a ou b
\b
limite de palavra

Sobre o Testador de Regex

Este testador de regex grátis permite criar e depurar expressões regulares contra o seu próprio texto e ver exatamente o que corresponde, ao vivo enquanto você digita. Cada correspondência é destacada no texto de teste e listada com sua posição e seus grupos de captura, para que você perceba num relance se o seu padrão faz o que pretende. Ative os flags padrão — global, ignorar maiúsculas, multilinha, dotall, unicode e sticky — e use o campo de substituição para pré-visualizar um localizar e substituir com $1, $& e referências a grupos nomeados.

Ele usa o motor de regex nativo do seu navegador, JavaScript (ECMAScript), então os resultados correspondem exatamente às regex do JavaScript e do Node.js, e tudo é executado inteiramente no seu navegador: seu padrão e seu texto nunca são enviados. Os padrões são avaliados em um worker em segundo plano com um tempo limite, então nem mesmo uma expressão acidental com backtracking catastrófico pode congelar a página. É útil para escrever regras de validação, extrair dados, limpar texto ou simplesmente aprender como as expressões regulares se comportam.

Perguntas frequentes

Respostas às dúvidas mais comuns sobre esta ferramenta.

Como testo uma expressão regular?

Digite seu padrão no campo de regex no topo e digite ou cole o texto que quer testar na caixa de texto de teste. As correspondências são destacadas no texto na hora enquanto você digita, e cada correspondência é listada abaixo com sua posição e seus grupos de captura. Use as caixas de flags à direita para ativar opções como global (encontrar todas as correspondências) ou correspondência sem diferenciar maiúsculas. Nada é enviado a lugar nenhum: tudo é executado no seu navegador.

O que significam os flags de regex g, i, m, s, u e y?

g (global) encontra todas as correspondências em vez de apenas a primeira. i (ignorar maiúsculas) torna o padrão insensível a maiúsculas. m (multilinha) faz com que ^ e $ correspondam ao início e ao fim de cada linha em vez de toda a string. s (dotall) permite que o ponto . também corresponda a quebras de linha. u (unicode) habilita o tratamento completo de Unicode, incluindo os escapes \u{…} e os pares substitutos. y (sticky) ancora cada correspondência à posição logo após a anterior.

Como funcionam os grupos de captura e os grupos nomeados?

Os parênteses ( ) criam um grupo de captura, e cada correspondência da lista mostra o texto capturado por cada grupo, numerado a partir de 1. Os grupos nomeados escritos como (?<nome>…) também são mostrados pelo seu nome, e você pode referenciá-los no campo de substituição como $<nome>. Use (?:…) quando quiser agrupar parte de um padrão sem capturá-lo.

Posso fazer um localizar e substituir com regex?

Sim. Insira uma substituição no campo "Substituir por" e o resultado se atualiza ao vivo. Você pode referenciar grupos de captura com $1, $2, …, grupos nomeados com $<nome>, toda a correspondência com $&, e usar $$ para um cifrão literal. Com o flag global ativado, cada correspondência é substituída; sem ele, apenas a primeira. Você pode copiar o texto substituído com um clique.

Qual motor de regex ele usa e meu texto é privado?

Ele usa o motor de expressões regulares do JavaScript (ECMAScript) integrado no seu navegador, então o comportamento corresponde exatamente às regex do JavaScript e do Node.js. Tudo é executado localmente: seu padrão e seu texto de teste nunca saem do seu dispositivo. Os padrões são avaliados em um worker em segundo plano com um tempo limite, então nem mesmo um padrão acidental com backtracking catastrófico vai congelar a página.