На этом шаге мы рассмотрим функции и методы, которые также можно использовать с регулярными выражениями.
Метод split() разбивает строку по шаблону и возвращает список подстрок. Его формат:
split(<Исходная строка>[, <Лимит>]>)
Если во втором параметре задано число, то в списке окажется указанное количество подстрок. Если подстрок больше указанного количества, то список будет содержать еще один элемент - с остатком строки. Примеры:
>>> import re >>> p = re.compile(r'[\s,.]+') >>> p.split("word1, word2\nword3\r\nword4.word5") ['word1', 'word2', 'word3', 'word4', 'word5'] >>> p.split("word1, word2\nword3\r\nword4.word5", 2) ['word1', 'word2', 'word3\r\nword4.word5']
Если разделитель в строке не найден, то список будет состоять только из одного элемента, содержащего исходную строку:
>>> p = re.compile(r'[0-9]+') >>> p.split("word, word\nword") ['word, word\nword']
Вместо метода split() можно воспользоваться функцией split(). Формат функции:
re.split(<Шаблон>, <Исходная строка> [, <Лимит> [, flags=0]])
В качестве параметра <Шаблон> можно указать строку с регулярным выражением или скомпилированное регулярное выражение. Пример:
>>> p = re.compile(r'[\s,.]+') >>> re.split(p, "word1, word2\nword3") ['word1', 'word2', 'word3'] >>> re.split(r'[\s,.]+', "word1, word2\nword3") ['word1', 'word2', 'word3']
Функция escape(<Строка>) позволяет экранировать все специальные символы в строке, полученной от пользователя. Эту строку в дальнейшем можно безопасно использовать внутри регулярного выражения. Пример:
>>> print(re.escape(r"[]().*")) \[\]\(\)\.\*
Функция purge() выполняет очистку кэша, в котором хранятся промежуточные данные, используемые в процессе выполнения регулярных выражений. Ее рекомендуется вызывать после обработки большого количества регулярных выражений. Результата эта функция не возвращает. Пример:
>>> re.purge()
На следующем шаге мы рассмотрим несколько примеров использования регулярных выражений.