Шпаргалка по регэкспам
Краткий справочник по синтаксису регулярных выражений. Каждый токен с описанием и примером.
Якоря
| Токен | Значение | Пример |
|---|---|---|
^ | Начало строки (или строки с флагом m) | ^Hello |
$ | Конец строки (или строки с флагом m) | world$ |
\b | Граница слова | \bcat\b |
\B | Не граница слова | \Bcat |
Символьные классы
| Токен | Значение | Пример |
|---|---|---|
. | Любой символ, кроме перевода строки | a.c |
\d | Любая цифра, 0–9 | \d\d |
\D | Любой нецифровой символ | \D+ |
\w | Любой символ слова (a–z, A–Z, 0–9, _) | \w+ |
\W | Любой символ, не являющийся символом слова | \W |
\s | Любой пробельный символ | a\sb |
\S | Любой непробельный символ | \S+ |
[abc] | Любой символ из набора | [aeiou] |
[^abc] | Любой символ, не входящий в набор | [^0-9] |
[a-z] | Любой символ в диапазоне от a до z | [A-Z] |
Квантификаторы
| Токен | Значение | Пример |
|---|---|---|
* | Ноль или больше вхождений предыдущего элемента | ab* |
+ | Одно или больше вхождений предыдущего элемента | ab+ |
? | Ноль или одно вхождение (необязательный элемент) | ab? |
{n} | Ровно n повторений предыдущего элемента | \d{4} |
{n,} | Не менее n повторений предыдущего элемента | \d{2,} |
{n,m} | От n до m повторений предыдущего элемента | \d{2,4} |
*? | Ленивая квантификация — совпасть с минимально возможным количеством | <.*?> |
Группы и просмотр
| Токен | Значение | Пример |
|---|---|---|
(abc) | Группа захвата | (\d+) |
(?:abc) | Незахватывающая группа | (?:ab)+ |
(?<name>) | Именованная группа захвата | (?<year>\d{4}) |
a|b | Альтернатива — a или b | cat|dog |
(?=abc) | Положительный просмотр вперёд | \d(?=px) |
(?!abc) | Отрицательный просмотр вперёд | \d(?!px) |
(?<=abc) | Положительный просмотр назад | (?<=\$)\d+ |
(?<!abc) | Отрицательный просмотр назад | (?<!\$)\d+ |
\1 | Обратная ссылка на группу 1 | (\w)\1 |
Спецсимволы и экранирование
| Токен | Значение | Пример |
|---|---|---|
\. | Буквальная точка (экранирование спецсимволов) | 3\.14 |
\uXXXX | Символ Unicode по коду | é |
Флаги
| Токен | Значение | Пример |
|---|---|---|
g | Global — находить все совпадения | /\d+/g |
i | Регистронезависимое сопоставление | /abc/i |
m | Multiline — ^ и $ учитывают переводы строк | /^x/m |
s | Dotall — . также сопоставляет переводы строк | /a.b/s |
u | Режим Unicode | /\u{1F600}/u |
y | Sticky — искать только от lastIndex | /\d/y |
Попробуйте сами
Перейдите в тестер, чтобы поэкспериментировать с любым из этих токенов вживую.