1.
Базовый синтаксис Regex (Regular Expressions - регулярные выражения)
Специальные символы
| Символ |
Значение |
Пример |
Что найдёт |
. |
Любой символ (кроме \n) |
A.B |
AXB, A1B, A B |
\d |
Цифра [0-9] |
\d\d |
42, 07, 99 |
\D |
Не цифра |
\D+ |
ABC, xyz |
\w |
Буква, цифра или _ |
\w+ |
Hello_123 |
\W |
Не \w |
\W |
пробел, @, ! |
\s |
Пробельный символ |
A\sB |
A B, A\tB |
\S |
Не пробельный |
\S+ |
слово |
Квантификаторы (сколько раз)
| Символ |
Значение |
Пример |
Что найдёт |
* |
0 или более |
AB*C |
ABC, ABBC |
+ |
1 или более |
AB+C |
ABBC, ABBBC |
? |
0 или 1 |
AB?C |
ABC |
{n} |
Ровно n раз |
A{3} |
AAA |
{n,} |
n или более |
A{2,} |
AA, AAA, AAAA... |
{n,m} |
От n до m |
A{2,4} |
AA, AAA, AAAA |
Классы символов
| Синтаксис |
Значение |
Пример |
[ABC] |
Один из символов |
[ABC]+ → AAB, CBA |
[A-Z] |
Диапазон |
[A-Za-z] — любая буква |
[0-9] |
Цифры |
то же что \d |
[^ABC] |
НЕ эти символы |
[^0-9]+ — всё кроме цифр |
[A-Fa-f0-9] |
Hex-цифры |
[0-9A-F]+ |
Якоря и границы
| Символ |
Значение |
Пример |
^ |
Начало строки |
^ABC — строка начинается с ABC |
$ |
Конец строки |
ABC$ — строка заканчивается на ABC |
\b |
Граница слова |
\bcat\b — слово cat, не cats |
Группы и альтернативы
| Синтаксис |
Значение |
Пример |
(ABC) |
Группа |
(AB)+ → AB, ABAB |
| |
ИЛИ |
cat|dog → cat или dog |
(?:...) |
Группа без захвата |
(?:AB)+ — не сохраняет в группу |
\1 |
Обратная ссылка |
(.)\1 — два одинаковых символа |