Урок 18: Регулярные выражения в Python

Регулярные выражения в Python

Краткое введение

Регулярные выражения представляют собой мощный инструмент для поиска и манипуляции текстом. В Python для работы с регулярными выражениями используется модуль re, который предоставляет широкий набор инструментов для эффективной работы с текстом.

Теоретическая часть

Основы регулярных выражений

Регулярные выражения позволяют описывать шаблоны в строках для выполнения сложных поисков и замен. Они включают в себя литералы, метасимволы, квантификаторы и группы, которые можно комбинировать для создания мощных шаблонов поиска.

Применение регулярных выражений

С помощью регулярных выражений можно выполнять поиск по шаблону, разбиение строки на подстроки, замену подстрок и многое другое. Это особенно полезно для задач, связанных с обработкой текстов, валидацией данных, лог-анализом и т.д.

Примеры кода

# Пример поиска с использованием регулярных выражений
import re

text = "The rain in Spain falls mainly in the plain."
pattern = 'ain'
found = re.findall(pattern, text)
print(f"Found: {found}")

# Пример замены с использованием регулярных выражений
replaced = re.sub(pattern, "ain't", text)
print(f"Replaced: {replaced}")

Практические задания

1. Напишите регулярное выражение для проверки, является ли строка валидным email-адресом.
2. Используйте регулярные выражения для поиска всех дат в тексте и замены их на формат "ГГГГ-ММ-ДД".

Решение задания

# Проверка email-адреса
email_pattern = r'^[\w\.-]+@[\w\.-]+\.\w+$'
email = "example@test.com"
if re.match(email_pattern, email):
 print(f"{email} is a valid email address.")
else:
 print(f"{email} is not a valid email address.")

# Поиск и замена дат
text = "John's birthday is on 12-05-1997, and Ann's birthday is on 04-11-1985."
date_pattern = r'(\d{2})-(\d{2})-(\d{4})'
new_text = re.sub(date_pattern, r'\3-\2-\1', text)
print(f"Modified text: {new_text}")

© 2024 realschule.ru

Категория: Python с нуля | Добавил: Admin (07.03.2024)
Просмотров: 113 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: