.
Любой символ (кроме перевода строки; с флагом /s — также перевод строки)
\d
Любая цифра (0-9)
\D
Любой не-цифровой символ
\w
Символ слова (a-z, A-Z, 0-9, _)
\W
Не-словесный символ
\s
Пробельный символ (пробел, табуляция, перевод строки)
\S
Непробельный символ
\b
Граница слова
^ $
Начало / конец строки (или строки текста с флагом /m)
*
Ноль или более повторений предыдущего элемента
+
Одно или более повторений предыдущего элемента
?
Ноль или одно повторение предыдущего элемента (необязательный)
{n,m}
От n до m повторений предыдущего элемента
(...)
Capture group — сохраняется в $1, $2, …
(?:...)
Группа без захвата — удобна для альтернативы без сохранения
(?<n>...)
Именованная capture group — обращение через $<n>
[abc]
Класс символов — любой из a, b или c
[^abc]
Отрицание класса — любой символ, кроме a, b, c
a|b
Альтернатива — совпадение с a или b
(?=...)
Положительный lookahead — за которым следует
(?!...)
Отрицательный lookahead — за которым НЕ следует
(?<=...)
Положительный lookbehind — которому предшествует
(?<!...)
Отрицательный lookbehind — которому НЕ предшествует
$1 $<n>
Backreference в строке замены — по номеру или имени