Folha de consulta de expressões regulares
Expressões regulares (regex) são padrões para casar texto — usadas para buscar e substituir, validar e extrair. A sintaxe abaixo é a variante comum compartilhada por JavaScript, Python, PCRE e a maioria dos motores modernos. Pesquise qualquer token para ir até ele.
Atualizado 2026-07-06
Classes de caracteres
| Token | Casa com | Exemplo |
|---|---|---|
| . | Qualquer caractere exceto uma quebra de linha | a.c → abc, a7c |
| \d | Qualquer dígito (0–9) | \d\d → 42 |
| \D | Qualquer não dígito | \D → a, % |
| \w | Caractere de palavra (letra, dígito, sublinhado) | \w+ → hello_1 |
| \W | Caractere que não é de palavra | \W → space, ! |
| \s | Espaço em branco (espaço, tab, quebra de linha) | a\sb → a b |
| \S | Não espaço em branco | \S+ → word |
| [abc] | Um qualquer de a, b ou c | [aeiou] → a vowel |
| [^abc] | Qualquer caractere exceto a, b, c | [^0-9] → non-digit |
| [a-z] | Qualquer caractere do intervalo | [a-f] → a…f |
Âncoras e limites
| Token | Casa com | Exemplo |
|---|---|---|
| ^ | Início da string (ou da linha, no modo multilinha) | ^Hi → line starting Hi |
| $ | Fim da string (ou da linha) | end$ → line ending end |
| \b | Limite de palavra | \bcat\b → the word cat |
| \B | Não é um limite de palavra | \Bcat → scatter |
Quantificadores
| Token | Casa com | Exemplo |
|---|---|---|
| * | 0 ou mais do anterior | a* → '', a, aaa |
| + | 1 ou mais | a+ → a, aaa (not '') |
| ? | 0 ou 1 (opcional) | colou?r → color, colour |
| {n} | Exatamente n vezes | \d{4} → 2026 |
| {n,} | n ou mais vezes | \d{2,} → 42, 4200 |
| {n,m} | Entre n e m vezes | \d{2,4} → 42 to 4200 |
| *? | Preguiçoso: o mínimo possível | <.+?> → shortest match |
Grupos, alternância e lookarounds
| Token | Casa com | Exemplo |
|---|---|---|
| (abc) | Grupo de captura | (ab)+ → abab |
| (?:abc) | Grupo sem captura | (?:ab)+ → group, no capture |
| (?<name>…) | Grupo de captura nomeado | (?<year>\d{4}) |
| a|b | Alternância — a ou b | cat|dog → cat, dog |
| \1 | Retrorreferência ao grupo 1 | (\w)\1 → ll, oo |
| (?=abc) | Lookahead — seguido de abc | \d(?=px) → 5 in 5px |
| (?!abc) | Lookahead negativo — não seguido de | \d(?!px) |
| (?<=abc) | Lookbehind — precedido de abc | (?<=\$)\d+ → 9 in $9 |
| (?<!abc) | Lookbehind negativo | (?<!\$)\d+ |
Flags
| Token | Casa com | Exemplo |
|---|---|---|
| g | Global — encontra todas as correspondências, não só a primeira | /a/g |
| i | Sem distinção de maiúsculas | /abc/i → ABC |
| m | Multilinha — ^ e $ casam com quebras de linha | /^x/m |
| s | Dotall — . também casa com quebras de linha | /a.b/s |
| u | Modo Unicode | /\u{1F600}/u |
Uma nota sobre escape
Para casar um caractere com significado especial — como . * + ? ( ) [ ] { } ^ $ | \ — coloque uma barra invertida antes dele. Por exemplo, \. casa com um ponto literal e \$ com um cifrão literal. Quando um padrão não casa com o que você espera, um caractere especial sem escape costuma ser a causa.
Ferramentas relacionadas