Статья Автор: Деникина Н.В., Деникин А.В.

Азбука Regex

01 Обычные символы

Буквы и цифры означают сами себя: паттерн мир находит текст «мир».

Тестер · обычные символы
Текст
Паттерн
 
 

02 Метасимволы

Специальные символы для обозначения типов символов:

Символ Что означает Пример
\d Любая цифра \d\d → 42, 07
\D НЕ цифра \D+ → буквы, пробелы
\w Буква, цифра или _ \w+ → Hello_123
\W НЕ буква/цифра/_ \W → @, !, пробел
\s Пробельный символ \s → пробел, таб
\S НЕ пробельный \S+ → слово
. Любой символ (кроме \n) A.B → AXB, A1B
Тестер · метасимволы
Текст
Паттерн
 
 
💡 Заглавная vs строчная \d = цифра, \D = НЕ цифра. Заглавная версия — это отрицание строчной. Так же: \w / \W, \s / \S.

🎯 Практика

Задание · метасимволы

Текст: Email: test123@mail.ru, тел: 89161234567

Напиши паттерн, чтобы найти:

Все группы цифр: ?
Все «слова»: ?
Всё кроме пробелов: ?

03 Квантификаторы

Ставится после символа — указывает, сколько раз он может повторяться:

Квантификатор Значение Пример
+ 1 или больше \d+ → 1, 42, 12345
* 0 или больше \d* → (пусто), 42
? 0 или 1 \d? → (пусто) или 5
{n} Ровно n раз \d{3} → 123, 456
{n,} n или больше \d{2,} → 12, 123…
{n,m} От n до m \d{2,4} → 12, 1234
Тестер · квантификаторы
Текст
Паттерн
 
 
🧠 Мнемоника + → «хочу ПЛЮС» (минимум 1) · * → «звёздочка = ноль» (может не быть) · ? → «вопрос: есть или нет?» (0 или 1)

04 Классы символов

Квадратные скобки [...] — «один символ из набора»:

Синтаксис Значение
[ABC] A или B или C
[A-Z] Любая заглавная латинская
[a-z] Любая строчная латинская
[0-9] Цифра (= \d)
[A-Za-z] Любая латинская буква
[^ABC] НЕ A, НЕ B, НЕ C
Тестер · классы символов
Текст
Паттерн
 
 

🎯 Практика

Задание · классы символов

Текст: A1B2C3 abc XYZ. Что найдёт?

Паттерн
 
 

05 Якоря

Якоря не ищут символы, а указывают позицию:

Якорь Значение Пример
^ Начало строки ^Привет
$ Конец строки мир$
\b Граница слова \bкот\b — но не «котик»
Тестер · якоря и границы
Текст
Паттерн
 
 

💡 Сравни результат кот (3 совпадения) и \bкот\b (только 1!)


06 Универсальный тестер

Любой паттерн, любой текст — экспериментируйте!

Песочница · свободный режим
Текст
Паттерн
 
 

Шпаргалка модуля 2

Категория Элементы
Типы символов \d цифра · \w буква/цифра · \s пробел · . любой
Отрицания \D не цифра · \W не буква · \S не пробел
Квантификаторы + 1+ · * 0+ · ? 0/1 · {n} ровно · {n,m} диапазон
Классы [ABC] один из · [A-Z] диапазон · [^X] не X
Якоря ^ начало · $ конец · \b граница слова
Печать