Testador de Regex Online

Teste expressões regulares em tempo real com destaque de matches, grupos de captura e suporte a todas as flags 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 todas as flags 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?

Em essência é o mesmo padrão (ECMA-262), mas com algumas diferenças: JavaScript não suporta lookbehind de comprimento variável, não tem o modificador x (verbose), e algumas funções de texto 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+)+ em textos longos podem consumir segundos ou minutos. Esta ferramenta limita o texto a 10.000 caracteres para evitar esse problema.

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