Testador de regex
NovoTeste expressões regulares com realce de correspondências em tempo real, grupos de captura e pré-visualização de substituição.
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 em tempo real, com JavaScript genuíno
Este testador de regex gratuito realça todas as correspondências à medida que escreve, utilizando o motor de expressões regulares nativo do seu browser — o que corresponder aqui é exatamente o que corresponderá no seu código frontend ou Node.js. Active qualquer uma das seis flags (g, i, m, s, u, y) e, em caso de padrões inválidos, a ferramenta mostra a mensagem de erro real do motor em vez de falhar silenciosamente.
Abaixo do realce em direto obtém uma lista completa de correspondências — cada uma com a respetiva posição e todos os grupos de captura, numerados e com nome — além de um painel de substituição que pré-visualiza as substituições com referências retroativas $1, $<nome> e $& enquanto escreve. Quando o padrão funcionar, clique em Copiar como JavaScript para obter código pronto a colar.
Uma alternativa focada ao regex101.com e ao regexr.com
Ferramentas mais complexas como o regex101.com suportam os sabores PCRE, Python, Golang e .NET além do JavaScript — útil para comparar motores, mas muitas vezes mais do que é necessário quando o objetivo é simplesmente depurar um padrão JS. O regexr.com apresenta padrões da comunidade e disponibiliza um guia de referência. Ambos exigem navegar por vários separadores para ir do resultado de uma correspondência à pré-visualização de substituição.
Este testador de regex online responde às três questões mais importantes do dia a dia numa só ecrã limpa: corresponde? o que capturou? o que produz a substituição? Sem seleção de sabor, sem conta, sem carregamento de ficheiros. Ao contrário do regexpal.com (que apenas mostra realces) ou do debuggex.com (focado em diagramas visuais), esta ferramenta adiciona extração de grupos de captura por correspondência e pré-visualização de substituição em direto com suporte a referências retroativas.
Padrões de regex comuns, a um clique
A biblioteca integrada insere padrões testados em produção com texto de exemplo realista: endereço de e-mail, URL, endereço IPv4, data ISO, hora em formato 24h, cor hexadecimal, slug de URL, número de telefone internacional, número (inteiro/decimal) e etiqueta HTML. Cada um carrega com exemplos válidos e inválidos para ver exatamente onde estão os limites do padrão.
São pontos de partida, não verdades absolutas — ajuste-os e observe a resposta do realce em tempo real. Os exemplos incluem deliberadamente casos extremos (como 999.999.1.1 para IPv4) para aprender o que cada padrão rejeita, não apenas o que aceita. É muito mais rápido do que copiar um padrão do Stack Overflow e adivinhar se cobre os seus casos extremos.
Grupos de captura, lookarounds e todas as seis flags — suporte completo
O JavaScript moderno dispõe de funcionalidades poderosas em expressões regulares: grupos com nome (?<ano>\d{4}), lookahead (?=…) e lookbehind (?<=…), escapes de propriedades Unicode com a flag u, e correspondência fixa com y. Este testador suporta tudo isso porque é o motor JavaScript. O painel de correspondências decompõe cada grupo por correspondência, permitindo verificar a lógica de extração de relance.
A demonstração da flag m é favorita: com ela activa, ^ e $ ancoram ao início e ao fim de cada linha do texto de teste — cole um ficheiro de log e veja um padrão ^ERRO iluminar cada linha problemática. Active s para que . corresponda a caracteres de nova linha dentro de cadeias multilinha sem necessidade de truques. Todos os resultados que vê aqui são os mesmos que o seu código irá produzir.
Aprenda regex mais depressa com a folha de consulta integrada
A folha de consulta de regex retrátil cobre os tokens que utilizará diariamente — classes de caracteres (\d \w \s), âncoras (^ $ \b), quantificadores (* + ? {n,m} e as suas formas preguiçosas), grupos, alternância, referências retroativas e todos os quatro lookarounds. Mantenha-a aberta enquanto experimenta; ver o efeito de um token realçado em direto é a forma mais rápida de fixar a sintaxe.
Comece pelo simples: corresponda uma palavra literal, adicione uma classe de caracteres, depois um quantificador, depois um grupo. Cinco minutos de feedback em direto num regex playground ensinam mais do que uma hora a ler tabelas de sintaxe. Funciona também em dispositivos móveis — o layout adapta-se a ecrãs mais pequenos, podendo depurar padrões no iPhone ou Android sem instalar qualquer aplicação.
Frequently asked questions
O que é um testador de regex?
Um testador de regex é uma ferramenta interativa onde escreve uma expressão regular e algum texto de exemplo, e a ferramenta realça instantaneamente todas as correspondências. Este testador mostra os valores dos grupos de captura — numerados e com nome —, suporta as seis flags do JavaScript (g, i, m, s, u, y), disponibiliza uma pré-visualização de substituição em direto com referências retroativas, uma biblioteca de padrões comuns e uma folha de consulta completa. Pode depurar e verificar padrões antes de os colocar em código, tudo sem instalar nada nem criar uma conta.
Como se compara este testador ao regex101.com e ao regexr.com?
O regex101.com e o regexr.com são excelentes mas podem parecer densos — múltiplos sabores, um depurador completo, questionários, padrões da comunidade. Este testador foca-se especificamente no motor JavaScript e responde às três questões mais importantes do dia a dia: corresponde? o que capturou? o que produz a substituição? Carrega instantaneamente, guarda o seu trabalho localmente, corre inteiramente no browser e partilha padrões através de uma ligação codificada em URL — sem necessidade de conta em nenhuma das ferramentas. Ao contrário do regex101, que suporta os sabores PCRE, Python e Golang, este testador corre o motor JavaScript nativo do browser, pelo que os resultados são exatos.
Este testador é diferente do regexpal.com ou do debuggex.com?
Sim. O Regexpal oferece realce simples mas sem decomposição de grupos de captura nem pré-visualização de substituição. O Debuggex adiciona um diagrama visual de caminho-de-ferro mas não tem a biblioteca de padrões comuns. Este testador acrescenta extração de grupos de captura por correspondência, um painel de substituição em direto com suporte a referências retroativas $1/$<nome>/$&, e uma biblioteca de padrões integrada com texto de exemplo realista — tudo isto enquanto corre o motor JavaScript genuíno, para que os resultados correspondam exatamente ao que o seu código produz. Tudo funciona offline sem necessidade de carregamento de ficheiros.
O que significa regex?
Regex é a abreviatura de 'expressão regular' — uma cadeia de caracteres que define um padrão de pesquisa. As expressões regulares são utilizadas para correspondência, extração, validação e operações de localizar-e-substituir 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 de regex expandiu-se com a linguagem Perl na década de 1980.
Como testar uma expressão regular em JavaScript?
Em JavaScript tem várias opções: use regex.test(str) para uma verificação verdadeiro/falso, str.match(regex) para obter o texto correspondente, str.matchAll(regex) para todas as correspondências com detalhes dos grupos, ou regex.exec(str) para iterar correspondências uma de cada vez. Este testador executa tudo isso em direto à medida que escreve — e o botão 'Copiar como JavaScript' fornece o código exato para o seu padrão, pronto a colar no seu projeto.
O que é um grupo de captura em regex?
Os parênteses ( ) criam um grupo de captura que armazena o que corresponder dentro deles, recuperável como $1, $2, etc. Os grupos com nome escritos como (?<nome>...) permitem referenciar capturas pelo nome em vez do número. Os grupos de captura permitem extrair partes de uma correspondência — como o nome de utilizador e o domínio de um endereço de e-mail — ou reutilizá-las em substituições. O painel de correspondências neste testador lista o valor de cada grupo por correspondência, facilitando a verificação da lógica de extração antes de a utilizar em código de produção.
O que significam as flags g, i, m, s, u e y em regex?
g (global) encontra todas as correspondências em vez de parar na primeira; i (ignoreCase) torna a correspondência insensível a maiúsculas e minúsculas; m (multiline) faz com que ^ e $ correspondam ao início e fim de cada linha em vez de toda a cadeia; s (dotAll) faz com que o ponto corresponda também a caracteres de nova linha; u (Unicode) activa o suporte completo a Unicode e escapes de propriedades como \p{Letter}; y (sticky) ancora a correspondência ao lastIndex. As seis flags podem ser activadas neste testador com um único clique.
O regex é sensível a maiúsculas e minúsculas por omissão?
Sim — /hello/ corresponde a 'hello' mas não a 'Hello'. Active a flag i (ignoreCase) para que o padrão corresponda independentemente da capitalização das letras. Esta é uma fonte comum de erros na lógica de validação — por exemplo, um regex de e-mail que falha ao corresponder a 'Utilizador@Exemplo.COM' porque a flag i foi esquecida.
Qual é a diferença entre match, test e exec em JavaScript?
test() devolve um booleano — use-o quando só precisa de saber se algo corresponde. match() chamado na cadeia devolve um array de correspondências ou null. exec() chamado no regex devolve uma correspondência detalhada de cada vez e avança pela cadeia quando a flag g está activa. matchAll() devolve todas as correspondências com detalhes completos dos grupos numa única chamada — é normalmente a escolha certa para trabalho de extração. Este testador executa matchAll internamente e apresenta todos os resultados no painel de correspondências.
O que é um lookahead ou lookbehind em regex?
Um lookahead (?=...) verifica que um padrão se segue à posição atual sem consumir caracteres; um lookahead negativo (?!...) verifica o oposto. O lookbehind (?<=...) e (?<!...) fazem o mesmo para o que vem antes. São úteis para condições como 'corresponder a um número não seguido de um sinal de percentagem' ou 'corresponder a uma palavra precedida de um símbolo de euro'. Os quatro tipos de lookaround funcionam neste testador porque o JavaScript moderno (V8) os suporta na totalidade.
O regex é igual em todas as linguagens de programação?
Não — os sabores de regex diferem significativamente. JavaScript, PCRE (usado por PHP e Perl), o módulo re do Python, .NET, Java e Ruby suportam cada um sintaxe e funcionalidades diferentes. O PCRE suporta quantificadores possessivos e grupos atómicos que o JavaScript não tem; o Python usa (?P<nome>...) para grupos com nome em vez de (?<nome>...); o .NET adiciona grupos de balanceamento. Este testador corre o motor JavaScript/V8 genuíno, pelo que os resultados correspondem exatamente ao que o seu código frontend ou Node.js irá produzir.
Como usar regex para localizar e substituir texto?
Em JavaScript, str.replace(/padrão/g, 'substituição') substitui todas as correspondências. Use $1 ou $<nome> na cadeia de substituição para inserir grupos capturados, e $& para toda a correspondência. O painel de substituição neste testador pré-visualiza o resultado em direto enquanto escreve, para poder ver a substituição antes de a confirmar no código. Também pode usar uma função como argumento de substituição para transformações mais complexas — útil para, por exemplo, capitalizar todas as correspondências.
O que significam \d, \w e \s em regex?
\d corresponde a qualquer dígito (0–9), \w corresponde a um carácter de palavra (letra, dígito ou sublinhado) e \s corresponde a espaço em branco (espaço, tabulação, nova linha). As formas maiúsculas \D, \W e \S correspondem ao oposto — tudo o que \d, \w e \s não correspondem. A folha de consulta integrada lista estes e todos os outros tokens comuns com exemplos. As classes de caracteres são os blocos de construção da maioria dos padrões reais.
Porque é que o meu regex está a corresponder demasiado (correspondência gulosa)?
Quantificadores como * e + são gulosos por omissão — apanham o máximo de texto possível antes de ceder. Adicione ? para os tornar preguiçosos (.*?), fazendo-os apanhar o mínimo possível. Outra opção é usar uma classe de caracteres negada como [^"]* para parar num delimitador específico. Cole o seu texto neste testador e verá a diferença entre guloso e preguiçoso realçada lado a lado — é a forma mais rápida de perceber o que está a acontecer.
Este testador de regex é gratuito e posso partilhar um padrão?
Gratuito, sem publicidade, sem registo. 'Copiar ligação de partilha' codifica o seu padrão, flags e texto de teste no URL para que um colega abra exatamente o que está a ver — sem conta necessária em nenhum dos lados. O seu trabalho também é guardado automaticamente no browser para estar disponível quando voltar. Ao contrário do regex101, que requer início de sessão para guardar e partilhar padrões de forma permanente, esta ferramenta fornece um URL partilhável de imediato.
Related tools
Ver todas as ferramentasCodificador / Descodificador de URL
Codifique ou descodifique texto em percentagem e analise query strings, tudo no seu navegador.
Codificador / Descodificador de entidades HTML
Escape e remova o escape de entidades HTML, com codificação numérica opcional.
Construtor de expressões Cron
Explique um agendamento Cron em linguagem comum e pré-visualize as próximas execuções.
Minificador de HTML
Comprima HTML removendo comentários e reduzindo os espaços em branco.
Minificador de CSS
Reduza o CSS removendo comentários e espaços em branco desnecessários.
Escape / Unescape de JSON
Faça o escape de texto bruto para uma string segura em JSON e reverta o processo.