Регулярные выражения в pythonРегулярные выражения (regex) в Python используются для поиска, соответствия и манипулирования строками на основе шаблонов. В Python регулярные выражения реализованы в модуле
reОсновные функции модуля re:🔸
re.match(): Проверяет, соответствует ли начало строки заданному шаблону.
🔸
re.search(): Ищет шаблон в строке и возвращает первый найденный совпадающий объект.
🔸
re.findall(): Находит все совпадения шаблона в строке и возвращает их в виде списка.
🔸
re.finditer(): Находит все совпадения шаблона и возвращает их в виде итератора.
🔸
re.sub(): Заменяет все совпадения шаблона на заданную строку.
🔸
re.split(): Разделяет строку по заданному шаблону.
Примеры использования:
import re
# Пример строки
text = "The rain in Spain falls mainly in the plain."
# 1. re.match()
match = re.match(r'The', text)
if match:
print("Match found:", match.group())
else:
print("No match found")
# 2. re.search()
search = re.search(r'rain', text)
if search:
print("Search found:", search.group())
else:
print("No search found")
# 3. re.findall()
findall = re.findall(r'in', text)
print("Findall results:", findall)
# 4. re.finditer()
finditer = re.finditer(r'in', text)
for match in finditer:
print("Finditer match:", match.group(), "at position", match.start())
# 5. re.sub()
substitute = re.sub(r'rain', 'snow', text)
print("Substitute result:", substitute)
# 6. re.split()
split = re.split(r'\s', text)
print("Split result:", split)
Объяснение примера:
>
re.match(r'The', text): Проверяет, начинается ли строка text с "The".
>
re.search(r'rain', text): Ищет первое вхождение "rain" в строке text.
>
re.findall(r'in', text): Находит все вхождения "in" в строке text.
>
re.finditer(r'in', text): Возвращает итератор, который перебирает все вхождения "in" в строке text.
>
re.sub(r'rain', 'snow', text): Заменяет все вхождения "rain" на "snow" в строке text.
>
re.split(r'\s', text): Разделяет строку text по пробелам (символы пробела).
Дополнительные примеры шаблонов:
\d: Любая цифра.
\D: Любой символ, кроме цифры.
\w: Любая буква, цифра или символ подчеркивания.
\W: Любой символ, кроме буквы, цифры или символа подчеркивания.
\s: Любой пробельный символ.
\S: Любой непробельный символ.
.: Любой символ, кроме новой строки.
^: Начало строки.
$: Конец строки.
*: 0 или более повторений.
+: 1 или более повторений.
?: 0 или 1 повторение.
{n}: Ровно n повторений.
{n,}: n или более повторений.
{n,m}: От n до m повторений.
Регулярные выражения мощный инструмент для работы с текстом, и они могут быть полезны в самых разных задачах, от простой проверки ввода до сложного парсинга текста. 💊
👉
@PythonPortal