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 Todas

O 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

  1. 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").
  2. Leia a descrição e o exemplo abaixo de cada token.
  3. Experimente o padrão no Testador de regex.

Exemplo

Entrada
Search: \d
Saída
\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.

Explore mais categorias