Регулярные выражения (Regular Expressions) — это мощный инструмент для поиска, замены и манипулирования строковыми данными. В Python работа с регулярными выражениями осуществляется через модуль re. Этот модуль предоставляет функции для компиляции регулярных выражений и выполнения операций над ними.
Основные функции модуля re
re.search(): Проверяет наличие совпадения регулярного выражения в строке. Возвращает объект совпадения (match object), если найдено хотя бы одно совпадение, иначе возвращаетNone.import re text = "The cat is playing with a ball." pattern = r"cat" match = re.search(pattern, text) if match: print("Совпадение найдено:", match.group()) else: print("Совпадение не найдено")re.match(): Проверяет совпадение регулярного выражения с началом строки. Работает аналогичноsearch(), но ищет совпадение только в начале строки.import re text = "The cat is playing with a ball." pattern = r"The" match = re.match(pattern, text) if match: print("Совпадение найдено:", match.group()) else: print("Совпадение не найдено")re.findall(): Находит все неперекрывающиеся совпадения шаблона в строке и возвращает их в виде списка.import re text = "The cat is playing with a ball." pattern = r"\w+" matches = re.findall(pattern, text) print(matches) # ['The', 'cat', 'is', 'playing', 'with', 'a', 'ball']re.sub(): Замещает все совпадения шаблона указанной подстрокой.import re text = "The cat is playing with a ball." pattern = r"cat" replacement = "dog" new_text = re.sub(pattern, replacement, text) print(new_text) # The dog is playing with a ball.
Символы регулярных выражений
.— любой символ.\d— любая цифра.\D— любой символ, кроме цифры.\w— любое слово (буква, цифра или подчеркивание).\W— любой символ, кроме буквы, цифры или подчеркивания.^— начало строки.$— конец строки.*— ноль или больше повторений предыдущего элемента.+— одно или больше повторений предыдущего элемента.?— ноль или одно повторение предыдущего элемента.\{m,n\}— от m до n повторений предыдущего элемента.|— логическое «ИЛИ».()— группировка элементов.[]— набор символов.\b— граница слова.\B— отсутствие границы слова.
Метод group() в объекте Match, возвращаемом функцией re.search(), извлекает совпавшую часть строки. Давайте разберемся подробнее.
Когда мы используем метод re.search(), он ищет первое совпадение заданного регулярного выражения в строке. Если совпадение найдено, возвращается объект типа Match. Этот объект содержит информацию о найденном совпадении, такую как позиция начала и конца совпадения, сама совпавшая строка и другие данные.
Метод group() используется для извлечения самой совпавшей части строки. Без параметров он возвращает всю совпавшую строку. Если в регулярном выражении используются группы (заключены в круглые скобки), то можно указать номер группы, чтобы извлечь конкретную часть совпадения.
Рассмотрим ваш пример:
import re
text = "The cat is playing with a ball."
pattern = r"cat"
match = re.search(pattern, text)
if match:
print("Совпадение найдено:", match.group())
else:
print("Совпадение не найдено")
Здесь регулярное выражение r"cat" ищет подстроку "cat" в строке text. Если совпадение найдено, оно сохраняется в объекте match. Затем вызывается метод match.group(), который возвращает саму совпавшую подстроку — в данном случае "cat".
Таким образом, match.group() возвращает ту часть строки, которая соответствует вашему регулярному выражению.
Источник: https://stepik.org/lesson/1598792/step/8?unit=1620425
Было ли это полезно?
0 / 0