Testador de Regex Online

Teste expressões regulares em tempo real com destaque de matches, grupos de captura e as flags g, i, m e s do JavaScript.

Testador de Regex Online

Digite a expressão regular e o texto de teste para ver os matches destacados em tempo real. Suporte a grupos de captura e às flags g, i, m e s do JavaScript.

//g

O que é regex?

Regex (expressão regular) é uma linguagem de padrões para buscar e manipular texto. Uma regex descreve um padrão que pode corresponder a uma ou mais strings.

Padrão:  \d{2}/\d{2}/\d{4}
Match:   "Hoje é 22/04/2024 e amanhã 23/04/2024"

Flags mais usadas

FlagEfeito
g — GlobalEncontra todos os matches (sem ela, apenas o primeiro)
i — Case-insensitive[a-z] também captura [A-Z]
m — Multiline^ e $ correspondem ao início/fim de cada linha
s — Dotall. corresponde a qualquer caractere, inclusive \n

Casos de uso comuns

Validar e-mail:

^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$

Validar CPF (formato):

^\d{3}\.\d{3}\.\d{3}-\d{2}$

Extrair URLs:

https?://[^\s"'<>]+

Validar data DD/MM/AAAA:

\b(0[1-9]|[12]\d|3[01])/(0[1-9]|1[0-2])/\d{4}\b

Grupos de captura

Grupos entre parênteses (...) capturam partes específicas do match:

Padrão:  (\d{4})-(\d{2})-(\d{2})
Texto:   "Data: 2024-04-22"
Grupo 1: "2024"
Grupo 2: "04"
Grupo 3: "22"

Use (?:...) para agrupar sem capturar (grupo não-capturante).

Perguntas frequentes

Regex do JavaScript é diferente de outras linguagens?

A sintaxe básica é parecida, mas a regex do JavaScript segue a especificação ECMA-262 e tem diferenças em relação a PCRE (PHP), Python e Java: não tem o modificador x (verbose) nem grupos atômicos, e usa (?<nome>...) para grupos nomeados. Por outro lado, aceita lookbehind de comprimento variável ((?<=\$\d+)), algo que muitos outros motores (como o módulo re do Python) não permitem. Funções como String.matchAll() são específicas da API JS.

O que é ReDoS?

ReDoS (Regular Expression Denial of Service) acontece quando uma regex malformada com backtracking exponencial trava o motor de execução. Padrões como (a+)+ podem consumir segundos ou minutos mesmo em textos curtos, pois o tempo cresce exponencialmente. Esta ferramenta limita o texto a 10.000 caracteres, o que reduz o risco, mas não o elimina — uma regex desse tipo ainda pode travar a aba do navegador.

Como referenciar um grupo capturado dentro da própria regex?

Use backreferences: \1 refere-se ao primeiro grupo, \2 ao segundo, etc. Exemplo — encontrar palavras duplicadas: \b(\w+)\s+\1\b.

Veja também