Pular para o conteúdo

Testador de Regex

Teste expressões regulares em tempo real com destaque de correspondências e grupos de captura. Depurador regex online grátis no seu navegador.

Flags
Mode
Pré-visualização
Resultados
Insira um padrão regex acima.
Quick regex reference
PatternDescription
.Any character (except newline)
^Start of string / line
$End of string / line
*0 or more repetitions
+1 or more repetitions
?0 or 1 (optional)
{n}Exactly n repetitions
{n,m}Between n and m repetitions
\dDigit [0-9]
\DNon-digit
\wWord character [a-zA-Z0-9_]
\WNon-word character
\sWhitespace
\SNon-whitespace
\bWord boundary
[abc]Class: a, b, or c
[^abc]Negation: not a, b, or c
(abc)Capturing group
(?:abc)Non-capturing group
(?<n>abc)Named group "n"
a|bAlternative: a or b

O que é uma expressão regular?

Uma expressão regular (regex) é uma sequência de caracteres que define um padrão de busca. Regex é usada em praticamente todas as linguagens de programação e ferramentas — desde validação de formulários em JavaScript até parsing de logs em Python e busca e substituição em editores de texto. Um padrão combina caracteres literais, metacaracteres (. ^ $ * + ? { } [ ] | ( )) e classes de caracteres (\d dígito, \w caractere de palavra, \s espaço em branco). Esta ferramenta usa o motor de regex ECMAScript (o mesmo usado em JavaScript, TypeScript e Node.js).

Flags de regex explicadas

gglobal: encontra todas as correspondências, não apenas a primeira. Essencial para contar ocorrências ou substituir cada instância.
iignorar maiúsculas: corresponde a letras maiúsculas e minúsculas indistintamente. /hello/i corresponde a "Hello", "HELLO" e "hello".
mmultilinha: ^ e $ correspondem ao início e fim de cada linha, não apenas da string inteira. Fundamental para parsing de logs linha por linha.
sdotAll: o metacaractere . também corresponde a caracteres de nova linha. Sem esta flag, . para nas quebras de linha.

Grupos de captura

Grupos de captura (padrão) capturam a substring correspondente para extração ou referência retroativa. Grupos nomeados (?<nome>padrão) atribuem um nome legível à captura, acessível via match.groups.nome — muito mais claro que grupos numerados em padrões complexos. Grupos não capturantes (?:padrão) agrupam sem capturar — úteis para aplicar quantificadores a uma sequência sem criar uma captura desnecessária. Referências retroativas como $1, $2 em strings de substituição referem-se ao texto capturado pelo número do grupo.

Privacidade

Todo o processamento ocorre 100% no seu navegador. Nenhum dado é enviado a um servidor.