. | Qualquer caractere, menos quebra de linha (com a flag s, vale inclusive a quebra). |
\d | Um dígito de 0 a 9. |
\D | Qualquer coisa que não seja dígito. |
\w | Letra, dígito ou sublinhado _ (uma “palavra”). |
\W | O contrário de \w. |
\s | Espaço em branco: espaço, tab, quebra de linha. |
\S | Qualquer coisa que não seja espaço em branco. |
\t | Tabulação. |
\n | Quebra de linha. |
\b | Borda de palavra (entre letra/dígito e o que não é). |
\B | Posição que não é borda de palavra. |
^ | Início do texto (com flag m, início de cada linha). |
$ | Fim do texto (com flag m, fim de cada linha). |
? | O item anterior é opcional: aparece 0 ou 1 vez. |
* | O item anterior pode repetir 0 ou mais vezes. |
+ | O item anterior pode repetir 1 ou mais vezes. |
{n} | O item anterior aparece exatamente n vezes. |
{n,} | O item anterior aparece n vezes ou mais. |
{n,m} | O item anterior aparece de n até m vezes. |
| | Ou: casa o lado esquerdo ou o direito. |
() | Grupo: trata vários itens como um e guarda o trecho encontrado. |
(?: ) | Grupo sem guardar o trecho (só agrupa). |
[abc] | Um caractere entre a, b ou c. |
[^abc] | Um caractere que não seja a, b nem c. |
[a-z] | Uma letra minúscula de a até z. |
\ | Escapa o próximo símbolo, para usar o caractere literal (ex.: \. é um ponto de verdade). |
(?= ) | Lookahead: só casa se o que vem depois bater, sem consumir esse trecho. |
(?! ) | Lookahead negativo: só casa se o que vem depois não bater. |
(?<= ) | Lookbehind: só casa se o que veio antes bater. |
(?<! ) | Lookbehind negativo: só casa se o que veio antes não bater. |