Regex Cheatsheet
Referência completa de expressões regulares com exemplos em português.
Âncoras
| ^ | Início da string (ou linha com flag m) | ^Olá | |
| $ | Fim da string (ou linha com flag m) | mundo$ | |
| \b | Limite de palavra | \bcat\b | |
| \B | Não-limite de palavra | \Bcat\B | |
| \A | Início da string (não suportado em JS) | \ATexto | |
| \Z | Fim da string (não suportado em JS) | texto\Z |
Classes de caracteres
| . | Qualquer caractere exceto nova linha | a.c | |
| \w | Caractere de palavra [a-zA-Z0-9_] | \w+ | |
| \W | Não-caractere de palavra | \W+ | |
| \d | Dígito [0-9] | \d{3} | |
| \D | Não-dígito | \D+ | |
| \s | Espaço em branco (espaço, tab, etc.) | \s+ | |
| \S | Não-espaço em branco | \S+ | |
| [abc] | Qualquer um de a, b ou c | [aeiou] | |
| [^abc] | Qualquer caractere exceto a, b ou c | [^\d] | |
| [a-z] | Intervalo de caracteres | [a-zA-Z] |
Quantificadores
| * | Zero ou mais vezes (guloso) | a* | |
| + | Uma ou mais vezes (guloso) | \d+ | |
| ? | Zero ou uma vez (opcional) | colou?r | |
| {n} | Exatamente n vezes | \d{4} | |
| {n,} | Pelo menos n vezes | \w{3,} | |
| {n,m} | Entre n e m vezes | \d{2,4} | |
| *? | Zero ou mais (não-guloso) | <.+?> | |
| +? | Uma ou mais (não-guloso) | \d+? | |
| ?? | Zero ou uma vez (não-guloso) | a??b |
Grupos e captura
| (abc) | Grupo de captura | (\d+)-(\d+) | |
| (?:abc) | Grupo sem captura | (?:foo|bar) | |
| (?<name>abc) | Grupo nomeado | (?<ano>\d{4}) | |
| \1 | Referência ao 1° grupo capturado | (\w+) \1 | |
| (?=abc) | Lookahead positivo | \d+(?= anos) | |
| (?!abc) | Lookahead negativo | \d+(?! anos) | |
| (?<=abc) | Lookbehind positivo | (?<=R\$)\d+ | |
| (?<!abc) | Lookbehind negativo | (?<!R\$)\d+ |
Alternância
| a|b | a ou b | gato|cachorro | |
| (a|b) | a ou b como grupo | (jpg|png|gif) |
Escape e caracteres especiais
| \ | Escapa o próximo caractere | \.com | |
| \n | Nova linha | .+\n | |
| \t | Tab | \t+ | |
| \r | Retorno de carro | \r\n | |
| \0 | Caractere nulo | \0 | |
| \uXXXX | Unicode (4 hex) | \u00E9 | |
| \u{XXXXX} | Unicode (com flag u) | \u{1F600} |
Flags (modificadores)
| g | Global — busca todas as ocorrências | /padrão/g | |
| i | Case-insensitive — ignora maiúsculas/minúsculas | /texto/i | |
| m | Multiline — ^ e $ por linha | /^linha/gm | |
| s | DotAll — ponto casa com nova linha | /.+/s | |
| u | Unicode — suporte completo a Unicode | /\u{1F}/u | |
| y | Sticky — só casa na posição atual | /\d+/y |
Padrões comuns
| ^[\w.-]+@[\w.-]+\.\w{2,}$ | E-mail básico | ||
| ^https?:\/\/.+ | URL HTTP/HTTPS | ||
| ^\d{2}\/\d{2}\/\d{4}$ | Data DD/MM/AAAA | ||
| ^\d{3}\.\d{3}\.\d{3}-\d{2}$ | CPF | ||
| ^\(?\d{2}\)?[\s-]?9?\d{4}[\s-]?\d{4}$ | Telefone BR | ||
| ^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ | Cor hexadecimal | ||
| ^(?=.*[A-Z])(?=.*\d).{8,}$ | Senha forte (8+ chars, maiúscula, dígito) | ||
| ^\d{5}-?\d{3}$ | CEP brasileiro |