1. Основные функции модуля re в Python. Часть 1


Поиск всех непересекающихся совпадений

re.findall(pattern, string, flags=0)
  • pattern — строка-шаблон регулярного выражения.​

  • string — строка, в которой выполняется поиск.​

  • flags — дополнительные параметры (например, re.IGNORECASE).​


Поведение и результат

  • Находит все непересекающиеся совпадения шаблона во всей строке — не ограничивается только первым.​

  • Если шаблон содержит группы (скобки), функция возвращает только содержимое этих групп: одну группу — список строк, несколько — список кортежей.​

  • Если групп нет, возвращается список всех совпавших фрагментов как строк.​

  • Возвращаемый список отсортирован по порядку нахождения совпадений в строке.​

  • Если совпадений нет — вернётся пустой список



Поиск первого совпадения 

re.search(pattern, string, flags=0)
  • pattern — шаблон регулярного выражения (строка или скомпилированный объект).​

  • string — строка, в которой выполняется поиск.​

  • flags — необязательные флаги (например, re.IGNORECASEre.MULTILINE), влияющие на поведение поиска.


Поведение и результат

  • Просматривает всю строку и находит первое вхождение подстроки, подходящее под шаблон.​

  • Возвращает объект Match, если совпадение найдено, и None, если совпадений нет.​


Что можно сделать с Match-объектом

У возвращённого объекта Match часто используют:

  • match.group() — сам найденный фрагмент строки.​

  • match.start() и match.end() — индексы начала и конца совпадения.​

  • match.span() — кортеж (start, end).​

  • match.groups() — кортеж захваченных групп (скобочные подвыражения).​


Отличие от других функций

  • В отличие от re.match()re.search() ищет шаблон в любом месте строки, а не только в начале.​

  • В отличие от re.findall()/re.finditer()re.search() возвращает только первое совпадение, даже если подходящих фрагментов несколько.



Поиск с начала строки

re.match(pattern, string, flags=0)
  • pattern — шаблон регулярного выражения (строка или скомпилированный шаблон).​

  • string — строка, в начале которой ищется совпадение.​

  • flags — необязательные флаги (re.IGNORECASEre.MULTILINE и др.).​


Поведение и результат

  • Проверяет только префикс строки: совпадение засчитывается, если самое начало строки соответствует шаблону.​

  • Возвращает объект Match при успехе и None, если начало строки шаблону не соответствует.​

  • В режиме re.MULTILINE по‑прежнему смотрит только начало всей строки, а не начало каждой строки внутри текста.​



Проверка целой строки на соответствие шаблону

re.fullmatch(pattern, string, flags=0)
  • pattern — шаблон регулярного выражения

  • string — строка для проверки

  • flags — необязательные флаги (модификаторы)

Возвращает объект Match, если вся строка соответствует шаблону, иначе None


time 1000 ms
memory 256 Mb

Комментарий учителя