Модуль re в Python

Одной из наиболее распространенных задач при работе с текстовыми данными является задачи поиска и проверки на соответствие некоторым условиям и здесь нам очень пригодится модуль re в Python. Очень часто нам заранее известно, что именно мы ищем в строке, для этого можем использовать методы строк find() или index(), а что, если паттерн заранее невозможно определить? И есть только набор правил, которому строка должна соответствовать. Например, логин пользователя должен не просто состоять только из латинских символов и цифр, а содержать хотя бы одну букву в верхнем регистре. Для решения задач в работе со строками можно на основе имеющихся правил (ограничений) составить шаблон и выполнять его поиск в строке, которую необходимо проверить на соответствие, и как раз здесь нам поможет модуль re в Python.

Метасимволы модуля Re в Python

В состав RE входят не только отдельные специальные символы (метасимволы), но и их последовательности. К метасимволам относятся символы точки «.», символ «^», знак доллара «$», символ «*», плюс «+», вопросительный знак «?», открывающаяся, закрывающаяся фигурные «{}», квадратные «[]», круглые «()» скобки , обратный слэш (бэк слеш) «\», вертикальная черта «|».

Давайте рассмотрим их:

  • «.» – Задание (представление) одного произвольного символа (кроме символа новой строки)
  • «^» – Признак начала последовательности
  • «$» – Признак окончания последовательности
  • «*» – Обозначает любое количество повторений одного символа (0 или более), предшествующего символу «*»
  • «+» – Обозначает любое количество повторений одного символа (1 или более), предшествующего символу «+»
  • «?» – Обозначает ноль или одно повторений одного символа, предшествующего символу «?»
  • «{}» – Обозначает заданное число (n) повторений одногосимвола, предшествующего символу «{»
  • «[]» – Используется для задания любого символа, из перечисленных внутри []
  • «()» – Для создания группы символов (выражение внутри () рассматривается как один элемент)
  • «\» – Используется для экранирования метасимволов
  • «|» – Соответствует логическому ИЛИ (значение до или после символа «|»)

Шаблоны модуля Re в Python

Шаблоны которые входят в состав RE:

  • «\d» – Соответствует одной десятичной цифре
  • «\D» – Соответствует одному любому символу, кроме десятичной цифры
  • «\s» – Соответствует одному (любому) пробельному символу
  • «\S» – Соответствует одному (любому) символу, который не относится к пробельным
  • «\w» – Соответствует любому буквенно-цифровому символу или символу нижнего подчеркивания («_»)
  • «\W» – Соответствует любому не буквенно-цифровому символу и не символу нижнего подчеркивания («_»)
  • «[….]» – Соответствует любому одному из символов, перечисленных в скобках, можно также указывать диапазоны символов (например, [0-5] — любая цифра от 0 до 5). Внимание! метасимволы внутри [] теряют свое специальное значение и обозначают просто символ. Например, точка внутри [] будет обозначать именно точку, а не любой символ
  • «[^…]» – Соответствует любому одному символу, кроме перечисленных в скобках или кроме тех, что попадают в указанный диапазон
  • «\b» – Соответствует началу или концу слова (т.е. слева от \b пусто или не буквенный символ, справа буква и наоборот для конца слова). В отличие от предыдущих шаблонов соответствует позиции, а не символу
  • «\B» – Соответствует «внутреннему» (неграничному) символу слова (т.е. слева и справа от \B буквенные символы, или слева и справа от \B не буквенные символы)
Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: