На следующей паре будет тест про словари!
🙃🙃🙃
А ещё вам скоро надо будет выбирать тему итоговых проектов, но про это в следующий раз)
Регулярные выражения
Что это такое?
Какой-то формальный язык, помогающий искать в тексте/строке какие-то паттерны
Regex: one pattern to rule them all, one to find them. One to bring them all, and in the darkness bind them.
Где мы уже встречали подобное в питоне?
Правила регулярного языка
Приоритет операций: итерация, конкатенация, объединение
Примеры регулярных выражений в лингвистике
Примеры регулярных выражений в лингвистике
Примеры регулярных выражений в лингвистике
Примеры регулярных выражений в лингвистике
Примеры регулярных выражений в лингвистике
ELIZA - первая Алиса
Регулярки в ELIZA
Экранирование
Разница:
“\\\\par” = r“\\par” = \\par
r - raw string, там нет регулярок, всё сырое
Задание
Ура, наконец-то кодить!
Достаньте из текста список email’ов
Иван Иванович!
Нужен ответ на письмо от ivanoff@ivan-chai.ru.
Не забудьте поставить в копию
sergeo-lupin@mail.ru - это важно.
Задачка про номера машин
У частных легковых автомобилях номера — это буква, три цифры, две буквы, затем две или три цифры с кодом региона. У такси — две буквы, три цифры, затем две или три цифры с кодом региона.
А, В, Е, К, М, Н, О, Р, С, Т, У и Х.
Группы в регулярных выражениях
pattern = ‘(\S+(.+оло.+))[0-9]’
Группы в регулярных выражениях
Группы в регулярных выражениях
Можно так
Группы в регулярных выражениях
Пример с несколькими скобочками
Группы в регулярных выражениях
m = re.findall(pattern, text)
if m != []:
print(m)
Задание
Ура, наконец-то кодить!