Skip to content
Testador de regex
Tools

Testador de regex

Novo

Teste expressões regulares com destaque de correspondências ao vivo, grupos de captura e prévia de substituição.

/ /
0 matches

Match highlight

 

Matches & groups

Replace

 
Regex cheatsheetquick reference
\d \D
digit / non-digit
\w \W
word char / non-word char
\s \S
whitespace / non-whitespace
.
any char (except newline without s flag)
^ $
start / end of string (line with m flag)
\b \B
word boundary / non-boundary
[abc] [^abc]
char set / negated set
[a-z0-9]
char range
a* a+ a?
0+ / 1+ / 0 or 1
a{3} a{2,5} a{2,}
exactly 3 / 2–5 / 2 or more
a*? a+?
lazy (non-greedy) quantifiers
(abc)
capture group → $1
(?<name>abc)
named group → $<name>
(?:abc)
non-capturing group
a|b
alternation (a or b)
\1 \k<name>
backreference
(?=abc) (?!abc)
lookahead / negative lookahead
(?<=abc) (?<!abc)
lookbehind / negative lookbehind
\n \t \r
newline / tab / carriage return
\. \* \\
escaped literal . * \

Runs entirely in your browser. Nothing is uploaded.

Teste expressões regulares ao vivo, com JavaScript real

Este testador de regex grátis destaca cada match na hora em que você digita, usando o motor de regex JavaScript nativo do seu navegador — então o que combinar aqui é exatamente o que vai combinar no seu código frontend ou no Node.js. Ative qualquer uma das seis flags (g, i, m, s, u, y), e padrões inválidos mostram a mensagem de erro real do motor em vez de falhar silenciosamente.

Abaixo do destaque ao vivo você tem uma lista completa de matches — cada ocorrência com sua posição e todos os grupos de captura, numerados e nomeados — e um painel de substituição que mostra a prévia com referências $1, $<nome> e $& enquanto você digita. Quando o padrão estiver pronto, clique em Copiar como JavaScript para pegar o código pronto para colar.

Uma alternativa focada ao regex101.com e regexr.com

Testadores completos como o regex101.com suportam PCRE, Python, Golang e .NET além do JavaScript — útil quando você quer comparar motores, mas frequentemente mais do que você precisa quando só quer depurar um padrão JS. O regexr.com exibe padrões da comunidade e tem um guia de referência. Os dois exigem navegar por várias abas para ir do resultado de um match até a prévia de substituição.

Este testador de regex online responde as três perguntas mais importantes do dia a dia em uma tela limpa: ele combina, o que foi capturado e como fica a substituição? Sem seleção de variante de motor, sem cadastro, sem upload. Diferente do regexpal.com (que só exibe destaques) ou do debuggex.com (focado em diagramas visuais), esta ferramenta adiciona extração de grupos de captura por match e prévia de substituição ao vivo com suporte a backreferences.

Padrões de regex comuns, a um clique de distância

A biblioteca integrada insere padrões testados em produção com textos de exemplo realistas: endereço de e-mail, URL, endereço IPv4, data no formato ISO, hora no formato 24h, cor hexadecimal, slug de URL, número de telefone internacional, número (inteiro/decimal) e tag HTML. Cada um carrega com exemplos válidos e inválidos para que você veja exatamente onde estão os limites do padrão.

São pontos de partida, não verdades absolutas — ajuste-os e observe o destaque responder em tempo real. Os exemplos incluem propositalmente casos extremos (como 999.999.1.1 para IPv4) para que você aprenda o que cada padrão rejeita, não só o que aceita. Isso é muito mais rápido do que copiar um padrão do Stack Overflow e torcer para ele tratar seus casos extremos.

Grupos de captura, lookarounds e as seis flags — totalmente suportados

O regex moderno do JavaScript tem recursos poderosos: grupos nomeados (?<ano>\d{4}), lookahead (?=…) e lookbehind (?<=…), escapes de propriedade Unicode com a flag u, e correspondência sticky com y. Este testador suporta tudo isso porque é o motor JavaScript de verdade. O painel de matches exibe cada grupo por match para que sua lógica de extração seja verificada de relance.

A demonstração da flag m é favorita: com ela, ^ e $ ancoram em cada linha do seu texto de teste — cole um arquivo de log e veja o padrão ^ERRO iluminar cada linha com problema. Ative s para que o ponto corresponda a caracteres de nova linha dentro de strings multilinha sem gambiarras. Todo resultado que você vê aqui é o mesmo que seu código vai produzir.

Aprenda regex mais rápido com o cheatsheet integrado

O cheatsheet de regex recolhível cobre os tokens que você vai usar todo dia — classes de caracteres (\d \w \s), âncoras (^ $ \b), quantificadores (* + ? {n,m} e suas formas lazy), grupos, alternância, backreferences e todos os quatro lookarounds. Deixe-o aberto enquanto experimenta; ver o efeito de um token destacado ao vivo é a forma mais rápida de o regex realmente fixar.

Comece simples: combine uma palavra literal, adicione uma classe de caracteres, depois um quantificador, depois um grupo. Cinco minutos de feedback ao vivo em um playground de regex ensinam mais do que uma hora lendo tabelas de sintaxe. Funciona no celular também — o layout se adapta para telas menores, para que você possa depurar padrões no iPhone ou Android sem instalar nenhum app.

Frequently asked questions

O que é um testador de regex?

Um testador de regex é uma ferramenta interativa onde você digita uma expressão regular e um texto de exemplo, e ela destaca instantaneamente cada match. Este testador exibe os valores dos grupos de captura — numerados e nomeados —, suporta as seis flags do JavaScript (g, i, m, s, u, y), oferece prévia de substituição ao vivo com backreferences, uma biblioteca de padrões comuns e um cheatsheet completo. Você pode depurar e verificar padrões antes de usá-los no código, tudo sem instalar nada nem criar conta.

Como este testador de regex se compara ao regex101.com e regexr.com?

regex101.com e regexr.com são ótimos, mas podem parecer densos — múltiplas variantes de motor, depurador completo, quizzes, padrões da comunidade. Este testador foca especificamente no motor JavaScript e responde as três perguntas mais importantes do dia a dia: ele combina, o que foi capturado e como fica a substituição? Carrega instantaneamente, salva seu trabalho localmente, roda totalmente no navegador e compartilha padrões via link codificado na URL — sem precisar de conta em nenhum dos dois. Diferente do regex101, que suporta variantes PCRE, Python e Golang, este executa o motor JavaScript nativo do seu navegador para resultados exatos.

Qual é a diferença em relação ao regexpal.com ou debuggex.com?

Bastante coisa. O Regexpal oferece destaque simples, mas sem extração de grupos de captura nem prévia de substituição. O Debuggex adiciona um diagrama de ferrovia visual, mas não tem a biblioteca de padrões comuns. Este testador adiciona extração de grupos de captura por match, um painel de substituição ao vivo com suporte a backreferences $1/$&lt;nome&gt;/$&, e uma biblioteca de padrões integrada com textos de exemplo realistas — tudo rodando o motor JavaScript genuíno para que os resultados correspondam exatamente ao que seu código produz. Tudo funciona offline, sem upload necessário.

O que significa regex?

Regex é a abreviação de 'expressão regular' — uma sequência de caracteres que define um padrão de busca. Expressões regulares são usadas para combinar, extrair, validar e fazer substituições em texto em praticamente todas as linguagens de programação e editores de texto. O termo remonta à década de 1950 e ao matemático Stephen Cole Kleene, mas o uso prático do regex explodiu com a linguagem Perl nos anos 1980.

Como testar uma expressão regular em JavaScript?

Em JavaScript você tem várias opções: use regex.test(str) para uma verificação de verdadeiro/falso, str.match(regex) para obter o texto correspondido, str.matchAll(regex) para todos os matches com detalhes dos grupos, ou regex.exec(str) para iterar os matches um de cada vez. Este testador executa tudo isso ao vivo enquanto você digita — e o botão 'Copiar como JavaScript' gera o código exato para o seu padrão, pronto para colar no projeto.

O que é um grupo de captura em regex?

Parênteses ( ) criam um grupo de captura que armazena o que foi correspondido dentro deles, recuperável como $1, $2, etc. Grupos nomeados escritos como (?&lt;nome&gt;...) permitem referenciar as capturas pelo nome em vez do número. Grupos de captura permitem extrair partes de um match — como o nome de usuário e o domínio de um endereço de e-mail — ou reutilizá-los em substituições. O painel de matches neste testador lista o valor de cada grupo por match, facilitando a verificação da sua lógica de extração antes de usá-la em produção.

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

g (global) encontra todos os matches em vez de parar no primeiro; i (ignoreCase) torna a correspondência insensível a maiúsculas e minúsculas; m (multiline) faz ^ e $ corresponderem ao início e fim de cada linha em vez de só do texto inteiro; s (dotAll) faz o ponto corresponder a quebras de linha também; u (Unicode) habilita suporte completo a Unicode e escapes de propriedade como \p{Letter}; y (sticky) ancora a correspondência ao lastIndex. As seis flags são ativáveis neste testador com um único clique.

Regex diferencia maiúsculas de minúsculas por padrão?

Sim — /hello/ combina com 'hello' mas não com 'Hello'. Ative a flag i (ignoreCase) para o padrão corresponder independentemente da capitalização das letras. Isso é uma fonte comum de bugs em lógica de validação — por exemplo, um regex de e-mail que falha ao combinar 'Usuario@Exemplo.COM' porque a flag i foi esquecida.

Qual é a diferença entre match, test e exec em JavaScript?

test() retorna um booleano — use quando você só precisa saber se algo combina. match() chamado na string retorna um array de matches ou null. exec() chamado no regex retorna um match detalhado de cada vez e avança pelo texto quando a flag g está ativa. matchAll() retorna todos os matches com detalhes completos dos grupos em uma chamada — geralmente é a melhor escolha para trabalhos de extração. Este testador roda matchAll internamente e exibe todos os resultados no painel de matches.

O que é lookahead ou lookbehind em regex?

Um lookahead (?=...) verifica se um padrão segue a posição atual sem consumir caracteres; um lookahead negativo (?!...) verifica o oposto. Lookbehind (?&lt;=...) e (?&lt;!...) fazem o mesmo para o que vem antes. São úteis para condições como 'combinar um número que não seja seguido de sinal de porcentagem' ou 'combinar uma palavra precedida pelo símbolo R$'. Os quatro tipos de lookaround funcionam neste testador porque o JavaScript moderno (V8) os suporta totalmente.

Regex é igual em todas as linguagens de programação?

Não — as variantes de regex diferem bastante. JavaScript, PCRE (usado por PHP e Perl), o módulo re do Python, .NET, Java e Ruby suportam sintaxes e recursos diferentes. O PCRE suporta quantificadores possessivos e grupos atômicos que o JavaScript não tem; o Python usa (?P&lt;nome&gt;...) para grupos nomeados em vez de (?&lt;nome&gt;...); o .NET adiciona grupos de balanceamento. Este testador executa o motor JavaScript/V8 genuíno, então os resultados correspondem exatamente ao que seu código frontend ou Node.js vai produzir.

Como usar regex para fazer find and replace em texto?

Em JavaScript, str.replace(/padrão/g, 'substituição') troca cada match. Use $1 ou $&lt;nome&gt; na string de substituição para inserir grupos capturados, e $& para o match inteiro. O painel de Substituição neste testador mostra o resultado em tempo real enquanto você digita, para que você veja a substituição antes de aplicá-la no código. Você também pode usar uma função como argumento de substituição para transformações mais complexas — útil para coisas como colocar em maiúscula cada match.

O que significam \d, \w e \s em regex?

\d combina qualquer dígito (0–9), \w combina um caractere de palavra (letra, dígito ou sublinhado) e \s combina espaço em branco (espaço, tab, quebra de linha). Suas formas em maiúscula \D, \W e \S combinam o oposto — tudo que \d, \w e \s não combinam. O cheatsheet integrado lista esses e todos os outros tokens comuns com exemplos. Classes de caracteres são os blocos de construção da maioria dos padrões do mundo real.

Por que meu regex está combinando demais (quantificador ganancioso)?

Quantificadores como * e + são gananciosos por padrão — eles capturam o máximo possível antes de ceder. Adicione ? para torná-los lazy (.*?), fazendo-os capturar o mínimo possível. Outra opção é usar uma classe de caracteres negada como [^"]* para parar em um delimitador específico. Cole seu texto neste testador e você verá a diferença entre ganancioso e lazy destacada lado a lado — é a forma mais rápida de entender o que está acontecendo.

Este testador de regex é grátis? Posso compartilhar um padrão?

Grátis, sem anúncios, sem cadastro. 'Copiar link de compartilhamento' codifica seu padrão, flags e texto de teste na URL para que um colega abra exatamente o que você está vendo — sem precisar de conta em nenhum dos lados. Seu trabalho também é salvo automaticamente no seu navegador para estar lá quando você voltar. Diferente do regex101, que exige login para salvar e compartilhar padrões permanentemente, esta ferramenta gera uma URL compartilhável na hora.