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.
Quick regex reference
| Pattern | Description |
|---|---|
. | 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 |
\d | Digit [0-9] |
\D | Non-digit |
\w | Word character [a-zA-Z0-9_] |
\W | Non-word character |
\s | Whitespace |
\S | Non-whitespace |
\b | Word 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|b | Alternative: a or b |
Referência
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
g — global: encontra todas as correspondências, não apenas a primeira. Essencial para contar ocorrências ou substituir cada instância.
i — ignorar maiúsculas: corresponde a letras maiúsculas e minúsculas indistintamente. /hello/i corresponde a "Hello", "HELLO" e "hello".
m — multilinha: ^ e $ correspondem ao início e fim de cada linha, não apenas da string inteira. Fundamental para parsing de logs linha por linha.
s — dotAll: 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.