Ir para o conteúdo
Grátis, sem cadastro, no navegador

Testador de Regex: teste expressões regulares online

Com o Testador de Regex, você testa expressões regulares online usando o mecanismo JavaScript do seu navegador. As correspondências são destacadas e listadas com posição e grupos de captura. Por exemplo, \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b encontra 2 endereços de e-mail em um texto de contatos, com nome e domínio. O padrão e o texto não saem do seu navegador.

Criado por Jakub Martyniak

Vai colocar esse padrão em operação? Execute seu aplicativo em um VPS com acesso root completo.

Entrada

//g

Resultado

Insira um padrão à esquerda para ver os resultados.

Exemplo de resultado

Como é um resultado no testador de expressões regulares

Você informa um padrão e um texto, e a ferramenta lista cada ocorrência com posição e grupos de captura. No modo de substituição, ela mostra o texto após a troca. O exemplo abaixo usa endereços fictícios; as ocorrências dependem do seu padrão e texto.

Exemplo · Flag g (todas as ocorrências)

2 resultados

Entrada

Padrão
\b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b
O grupo 1 captura a parte antes do @; o grupo 2, o domínio.
Texto de teste
info@example.com, support@example.org, no-at.example.net

Saída

Correspondência 1
info@example.com
Índice 0 · Grupo 1: info · Grupo 2: example.com
Correspondência 2
support@example.org
Índice 18 · Grupo 1: support · Grupo 2: example.org
Substituir por $1 [at] $2
info [at] example.com, support [at] example.org, no-at.example.net
O endereço sem @ não é reconhecido e permanece inalterado.

Por que esta ferramenta

Mais do que um teste de correspondência

Conheça os principais recursos do Testador de Regex.

Correspondências destacadas e contadas

Após uma breve pausa na digitação, a ferramenta conta todas as correspondências e as destaca no resultado. Se houver muitas, destaca as primeiras 1000.

Monitoramento dos grupos de captura

Cada correspondência aparece em uma lista com seu índice e, abaixo, seus grupos de captura numerados e nomeados, apresentados separadamente.

Flags g, i, m, s e u

Ative ou desative as cinco flags pelas caixas de seleção. Elas têm o mesmo significado que no código JavaScript. A flag g fica ativa por padrão.

Modo de substituição

Substitui as correspondências com String.prototype.replace(), usando $1 e $2 para grupos de captura. Você copia o resultado com um clique.

Proteção contra retrocesso catastrófico

A avaliação é executada em um Web Worker e interrompida após 1 segundo para que um padrão como (a+)+ não trave a aba.

Funciona apenas no navegador

O padrão e o texto de teste são processados apenas no dispositivo — nada é enviado para um servidor.

Guia

Como testar expressões regulares online

Do padrão ao resultado copiado: veja como usar o Testador de Regex.

Passo 1

Selecionar modo

Selecione o modo “Encontrar correspondências” acima para verificá-las ou “Substituir” para substituir texto.

Passo 2

Digitar padrão

Digite sua expressão regular sem barras no campo “Padrão” ou use “Carregar exemplo” para carregar um padrão de e-mail com um texto de exemplo.

Passo 3

Configurar flags

Ative ou desative as flags g, i, m, s ou u pelas caixas de seleção. A flag g fica ativa por padrão, e as flags ativas aparecem após o padrão, por exemplo, /g.

Passo 4

Inserir texto de teste

Cole seu texto no campo “Texto de teste”. Após uma breve pausa na digitação, as correspondências serão destacadas no resultado e contadas acima.

Passo 5

Verificar e copiar correspondências

A lista mostra cada correspondência com seu índice e grupos de captura. Use o botão de copiar para copiar todas, uma por linha.

Passo 6

Substituir e copiar o resultado

No modo “Substituir”, digite o novo texto no campo “Substituir por”, usando $1 e $2 para grupos de captura, e copie o resultado pelo botão de copiar.

Resumo rápido

Guia rápido de regex: os principais elementos

Uma expressão regular (regex) é um padrão de busca em texto: com ela, você encontra, valida, extrai ou substitui sequências de caracteres, como endereços de e-mail, datas ou entradas de log. Você pode testar esses elementos da sintaxe JavaScript diretamente no Testador de Regex acima.

TokenSignificado
.Qualquer caractere, exceto quebra de linha; com a flag s, inclui quebras de linha
\dUm dígito de 0 a 9
\wCaractere de palavra: apenas A–Z, a–z, 0–9 e _, sem letras como ä, é ou ñ
\sEspaço em branco, como espaço, tabulação ou quebra de linha
\p{L}Qualquer letra, inclusive com diacríticos, apenas com a flag u
\bLimite de palavra, por exemplo, \bRegex\b para encontrar exatamente essa palavra
^ $Início e fim do texto; com a flag m, de cada linha
[abc]Um dos caracteres a, b ou c
[^abc]Qualquer caractere, exceto a, b e c
a|ba ou b
* + ?Zero ou mais, uma ou mais, zero ou uma ocorrência
{2,5}De duas a cinco repetições
.*?Um ? após o quantificador o torna não ganancioso (lazy): corresponde ao menor número possível de caracteres
( … )Grupo de captura, listado como grupo 1, 2 etc. no Testador de Regex
(?<name> … )Grupo de captura nomeado, também listado pelo nome no Testador de Regex
(?: … )Grupo sem captura, por exemplo, para alternativas ou quantificadores
(?= … ) (?! … )Lookahead: somente se algo vier ou não vier em seguida
\.Uma barra invertida antes de um caractere especial faz com que ele seja interpretado literalmente, por exemplo, \. para um ponto

Descobrir mais

Mais ferramentas

FAQ

Perguntas frequentes sobre o Testador de Regex

Respostas breves sobre expressões regulares e esta ferramenta.

Uma lista de todas as correspondências com posição e grupos de captura. O padrão \b([\w.-]+)@([\w-]+\.[a-zA-Z]{2,})\b encontra 2 correspondências no texto “info@example.com, support@example.org, no-at.example.net”: info@example.com a partir do índice 0 e support@example.org a partir do índice 18, cada uma com nome e domínio nos grupos 1 e 2. No modo de substituição, $1 [at] $2 transforma o texto em “info [at] example.com, support [at] example.org, no-at.example.net”.

Sim. O Testador de Regex é gratuito e não exige uma conta: basta abrir a página, digitar o padrão e o texto de teste e verificar as correspondências.

Não. A avaliação ocorre no seu navegador, em um Web Worker que usa o próprio mecanismo RegExp do navegador. Nada é enviado nem registrado em logs. Isso é importante porque textos de teste frequentemente contêm linhas de log ou endereços de e-mail reais.

O mecanismo JavaScript nativo (ECMAScript) do seu navegador, com a mesma sintaxe de regex usada em JavaScript, TypeScript e Node.js. PCRE (PHP, Perl) e o módulo re do Python diferem em alguns detalhes: \K não existe em JavaScript, e grupos nomeados são escritos como (?<name>…), não (?P<name>…).

g (global) retorna todas as correspondências e fica ativa por padrão. Sem g, a ferramenta se comporta como RegExp.exec() e retorna no máximo uma correspondência. i ignora maiúsculas e minúsculas; m faz ^ e $ corresponderem ao início e ao fim de cada linha; s permite que o ponto corresponda também a quebras de linha; e u ativa o modo Unicode, necessário, por exemplo, para \p{L}.

Mude para o modo “Substituir” e digite o novo texto no campo “Substituir por”. Use $1, $2 etc. para inserir grupos de captura e $<name> para grupos nomeados. A ferramenta usa String.prototype.replace(): sem a flag g, apenas a primeira correspondência é substituída. Copie o resultado pelo botão de copiar.

Sim. Abaixo de cada correspondência aparecem seus grupos de captura: os numerados como 1, 2 etc. e os nomeados, como (?<jahr>\d{4}), também pelo nome. Se um grupo não capturar nada, aparecerá “(sem correspondência)”.

Se o padrão for inválido, por exemplo, por conter um parêntese não fechado, a ferramenta exibirá a mensagem de erro do mecanismo do navegador. Se a avaliação levar mais de 1 segundo, ela será interrompida: geralmente, isso indica que o padrão é suscetível a retrocesso catastrófico, como ocorre com quantificadores aninhados como (a+)+. Simplifique o padrão ou encurte o texto de teste.

A contagem de correspondências é sempre exata. No máximo, as primeiras 1000 são destacadas e as primeiras 200 são listadas, cada uma com índice e grupos de captura. Se houver mais de 200, um aviso aparecerá acima do texto destacado.

Mais alguma pergunta?

Contatar o suporte
Você está criando algo próprio?

Sua aplicação precisa de um servidor confiável

Um VPS da ZAP-Hosting mantém sua aplicação ou projeto online de forma confiável.

4,4/5 Trustpilot32.000+ Servidores ativosDesde 2010

Sem configuração. Sem riscos. Online em segundos.

Duração flexívelCancele a qualquer momentoOnline em 60 segundos

Procurando mais ferramentas? Ver todas as ferramentas para desenvolvedores