Guia rápido de regex
Guia de expressões regulares pesquisável: classes de caracteres, âncoras, quantificadores, grupos, lookarounds, escapes, flags e padrões de substituição, com exemplos.
Classes de caracteres
. | Qualquer caractere exceto quebra de linha (qualquer um com a flag s) a.c → abc, a-c |
\d | Um dígito 0–9 (só dígitos ASCII, mesmo com a flag u) \d+ → 2024 |
\D | Qualquer caractere que não seja dígito |
\w | Um caractere de palavra: A–Z, a–z, 0–9 ou _ \w+ → user_42 |
\W | Qualquer caractere que não seja de palavra |
\s | Espaço em branco: espaço, tabulação, quebras de linha e espaços Unicode |
\S | Qualquer caractere que não seja espaço em branco |
[abc] | Um dos caracteres listados [aeiou] → e |
[^abc] | Qualquer caractere exceto os listados |
[a-z] | Um caractere do intervalo (aqui de a a z) [0-9a-f]+ → ff00 |
\p{L} | Qualquer letra de qualquer escrita (requer a flag u) \p{L}+ (u) → Việt |
\p{Script=Han} | Um caractere de uma escrita específica, ex.: Han, Latin, Cyrillic (requer u) |
Âncoras
^ | Início do texto (início de cada linha com a flag m) |
$ | Fim do texto (fim de cada linha com a flag m) |
\b | Limite de palavra \bcat\b → cat (not concat) |
\B | Não é limite de palavra |
Quantificadores
* | 0 ou mais vezes (guloso) |
+ | 1 ou mais vezes (guloso) |
? | 0 ou 1 vez (opcional) colou?r → color, colour |
{n} | Exatamente n vezes \d{4} → 2024 |
{n,} | n ou mais vezes |
{n,m} | Entre n e m vezes |
*? +? ?? | Versões preguiçosas: casam o mínimo possível de caracteres <.+?> → <b> |
Grupos e referências
(abc) | Grupo de captura, disponível como $1, $2… |
(?:abc) | Grupo sem captura |
(?<name>abc) | Grupo de captura nomeado (?<y>\d{4}) → y = 2024 |
\1 | Repete o texto capturado pelo grupo 1 (\w)\1 → ll in hello |
\k<name> | Repete o texto capturado por um grupo nomeado |
a|b | A alternativa da esquerda ou a da direita cat|dog → dog |
Lookaround (verificação ao redor)
(?=abc) | Seguido de abc (não incluído na ocorrência) \d+(?=px) → 12 in 12px |
(?!abc) | Não seguido de abc |
(?<=abc) | Precedido de abc (não incluído na ocorrência) (?<=\$)\d+ → 5 in $5 |
(?<!abc) | Não precedido de abc |
Escapes
\. \* \\ | Escapa um caractere especial para buscá-lo literalmente |
\n \t \r | Quebra de linha, tabulação, retorno de carro |
\uFFFF | Caractere por código hexadecimal de 4 dígitos |
\u{1F600} | Caractere por ponto de código (requer a flag u) |
Flags
g | Encontra todas as ocorrências, não só a primeira |
i | Sem diferenciar maiúsculas e minúsculas |
m | ^ e $ casam no início e fim de cada linha |
s | O ponto também casa com quebras de linha |
u | Modo Unicode completo: \p{…}, \u{…}, emoji conta como um caractere |
y | Casa apenas em lastIndex (sticky) |
d | Informa os índices de início e fim de cada grupo |
Padrões de substituição
$1 | Texto do grupo de captura 1 |
$<name> | Texto de um grupo nomeado |
$& | A ocorrência inteira |
$` $' | Texto antes / depois da ocorrência |
$$ | Um sinal $ literal |
Ferramentas Relacionadas
Ver TodasO que é Guia rápido de regex?
Uma referência compacta e pesquisável da sintaxe de expressões regulares do JavaScript (ECMAScript). Cobre classes de caracteres, escapes de propriedades Unicode, âncoras, quantificadores (gananciosos e preguiçosos), grupos e retrorreferências, lookahead e lookbehind, escapes, as sete flags e os padrões especiais que podem ser usados em strings de substituição, com exemplos curtos.
Como usar Guia rápido de regex
- Percorra as seções ou digite na caixa de busca para filtrar por token (por exemplo \b) ou por palavras da descrição (por exemplo "lookbehind").
- Leia a descrição e o exemplo abaixo de cada token.
- Experimente o padrão no Testador de regex.
Exemplo
Search: \d
\d – A digit 0–9 (with the u flag still only ASCII digits); \D – Any character that is not a digit
Quando usar Guia rápido de regex
Use enquanto escreve regex para JavaScript, TypeScript, Node.js e a maioria dos motores de regex modernos. A sintaxe específica de outros motores (quantificadores possessivos, grupos atômicos, \A, \z, modificadores inline no PCRE/Python) não aparece, porque o JavaScript não a suporta.
Como funciona Guia rápido de regex
As entradas são agrupadas por tema. A caixa de busca filtra as entradas cujo token ou descrição traduzida contém o seu texto, sem diferenciar maiúsculas de minúsculas. As descrições refletem o comportamento do ECMAScript, por exemplo que \d corresponde só a dígitos ASCII mesmo com a flag u, que \p{…} precisa da flag u e que . não corresponde a quebras de linha, a menos que a flag s esteja ativa.
Casos de Uso Comuns
- Consultar a sintaxe de um grupo nomeado ou de um lookbehind
- Lembrar o que cada flag de regex faz
- Conferir padrões de substituição como $& e $<name>
- Ensinar o básico de regex com exemplos
Perguntas Frequentes
O \w corresponde a letras acentuadas?
Não. No JavaScript, \w é só A–Z, a–z, 0–9 e _. Use \p{L} com a flag u para corresponder a letras de qualquer idioma.
Qual a diferença entre quantificadores gananciosos e preguiçosos?
Quantificadores gananciosos (*, +, {n,}) correspondem ao máximo possível; acrescentar ? (*?, +?) faz com que correspondam ao mínimo possível; por exemplo, <.+?> pega uma tag em vez de tudo até o último >.
O JavaScript suporta lookbehind?
Sim, (?<=…) e (?<!…) são suportados em todos os navegadores modernos e no Node.js.