Testador de Regex

Teste expressões regulares com correspondência em tempo real.

0 correspondências encontradas

Como Funciona o Testador

Escreva um padrão, defina as suas flags, cole uma string de teste — cada correspondência aparece instantaneamente abaixo, com a sua posição em carateres e o texto exato que capturou. O testador usa o motor RegExp nativo de JavaScript do seu navegador, por isso o que corresponde aqui corresponde no Node.js e em todos os navegadores modernos, byte a byte. Tudo corre localmente; nada é enviado para um servidor.

Exemplo: o padrão \d+ com a flag g contra "Order 42 shipped in 3 days" devolve duas correspondências — [6] "42" e [18] "3". O número entre parênteses retos é o índice onde a correspondência começa.

Folha de Referência de Sintaxe de Regex

TokenCorresponde aExemplo
\d / \w / \sdígito / carater de palavra / espaço em branco\d{4} → "2026"
[a-z]intervalo de carateres[aeiou] → qualquer vogal
+ / * / ?1+, 0+, 0 ou 1 repetiçõescolou?r → "color", "colour"
^ / $início / fim de linha (com m)^ERROR → linhas que começam por ERROR
(…)grupo de captura(\w+)@(\w+)
a|balternânciacat|dog
\.ponto literal (escapado)3\.14

Flags: Mantenha o g

O campo de flags aceita qualquer combinação de g (global — encontra todas as correspondências, não só a primeira), i (sem distinção de maiúsculas), m (multilinha — ^/$ correspondem por linha), s (o ponto corresponde a quebras de linha) e u (Unicode). O testador lista todas as correspondências, o que exige a flag g — se a remover, verá zero resultados mesmo com um padrão válido, por isso mantenha-a, a não ser que esteja a testar outra coisa deliberadamente.

Armadilhas Comuns

  • Ganancioso por defeito: ".*" sobre "a" and "b" corresponde a tudo, de aspas a aspas. Use a forma preguiçosa ".*?" para parar na primeira aspa de fecho.
  • Metacarateres não escapados: ., ?, (, + têm significado especial. Corresponder a um preço literal como "9.99" precisa de 9\.99.
  • Padrão inválido = sem correspondências: enquanto está a meio da edição (por exemplo, um parênteses reto por fechar), o testador simplesmente mostra zero correspondências em vez de um erro — continue a escrever.

A extrair URLs das suas correspondências? Limpe-os com o codificador de URL, ou valide payloads JSON primeiro no formatador de JSON.

Perguntas frequentes

Que variante de regex usa este testador?
O motor RegExp integrado de JavaScript — o mesmo que corre nos navegadores e no Node.js. Suporta grupos, alternância, lookaheads e Unicode. Os padrões comportam-se de forma idêntica a new RegExp(pattern, flags) no seu código.
Porque obtenho zero correspondências com um padrão que sei estar correto?
Na maioria das vezes falta a flag g — o testador lista todas as correspondências, o que a exige. Verifique também metacarateres não escapados como . ou ?, e acrescente a flag i se as maiúsculas puderem diferir.
Que flags de regex posso usar?
g (global), i (sem distinção de maiúsculas), m (multilinha), s (dotAll), u (unicode) e y (sticky) — qualquer combinação, por exemplo "gim". O padrão é g para que todas as correspondências sejam mostradas.
Estes padrões funcionarão em Python ou PCRE?
Na maioria. A sintaxe central (classes, quantificadores, grupos, âncoras) é partilhada, mas algumas funcionalidades diferem — o JavaScript não tem quantificadores possessivos, e os grupos nomeados usam (?<name>…). Teste no motor de destino antes de enviar.
Os meus dados de teste são enviados para algum lado?
Não. O padrão e a string de teste são avaliados inteiramente no seu navegador — nada sai do seu dispositivo, por isso testar contra registos ou dados de utilizadores é seguro.