Теория
Регулярные выражения — язык шаблонов для поиска в тексте: \(\texttt{\d+}\) находит числа, \(\texttt{[a-z]+}\) — слова из строчных букв, а \(\texttt{^a}\) — строки, начинающиеся с «a». Тестер показывает все совпадения шаблона в тексте и позволяет проверить выражение до использования в коде.
Флаги меняют поведение: \(i\) отключает чувствительность к регистру, \(m\) переводит \(\texttt{^}\) и \(\texttt{$}\) в построчный режим, \(s\) заставляет точку захватывать и переносы строк, \(u\) включает полную поддержку Unicode.
Важно: символы \(\texttt{. * + ? ( ) [ ] { } ^ $}\) в шаблоне — специальные; чтобы искать их буквально, их экранируют бэкслешем.
Пример с решением
- Условие. Найдите все числа в строке «Цена 100, скидка 15».
- Формула. Шаблон \(\texttt{\d+}\) — одна или более цифр.
- Подстановка. Применяем шаблон к строке.
- Вычисление. Совпадения: «100» и «15».
- Ответ. Два совпадения: 100 и 15. Калькулятор с этим шаблоном и текстом подсветит оба числа; с флагом \(i\) тот же шаблон найдёт и буквы в другом регистре.
Главное
- \(\texttt{\d+}\) — цифры, \(\texttt{[a-z]+}\) — слова, \(\texttt{^}\) — начало строки.
- Флаги \(i\), \(m\), \(s\), \(u\) меняют правила поиска.
- Спецсимволы экранируются бэкслешем.