Regex-тестер

PCRE: совпадения и группы с флагами

Регулярное выражение PCRE без ограничителей

Где искать

Нашли ошибку или хотите предложить улучшение?

Улучшить калькулятор «Regex-тестер»

Теория

Регулярные выражения — язык шаблонов для поиска в тексте: \(\texttt{\d+}\) находит числа, \(\texttt{[a-z]+}\) — слова из строчных букв, а \(\texttt{^a}\) — строки, начинающиеся с «a». Тестер показывает все совпадения шаблона в тексте и позволяет проверить выражение до использования в коде.

Флаги меняют поведение: \(i\) отключает чувствительность к регистру, \(m\) переводит \(\texttt{^}\) и \(\texttt{$}\) в построчный режим, \(s\) заставляет точку захватывать и переносы строк, \(u\) включает полную поддержку Unicode.

Важно: символы \(\texttt{. * + ? ( ) [ ] { } ^ $}\) в шаблоне — специальные; чтобы искать их буквально, их экранируют бэкслешем.

Пример с решением

  1. Условие. Найдите все числа в строке «Цена 100, скидка 15».
  2. Формула. Шаблон \(\texttt{\d+}\) — одна или более цифр.
  3. Подстановка. Применяем шаблон к строке.
  4. Вычисление. Совпадения: «100» и «15».
  5. Ответ. Два совпадения: 100 и 15. Калькулятор с этим шаблоном и текстом подсветит оба числа; с флагом \(i\) тот же шаблон найдёт и буквы в другом регистре.

Главное

  • \(\texttt{\d+}\) — цифры, \(\texttt{[a-z]+}\) — слова, \(\texttt{^}\) — начало строки.
  • Флаги \(i\), \(m\), \(s\), \(u\) меняют правила поиска.
  • Спецсимволы экранируются бэкслешем.