1 of 41

На следующей паре будет тест про словари!

🙃🙃🙃

​

​

А ещё вам скоро надо будет выбирать тему итоговых проектов, но про это в следующий раз)

2 of 41

3 of 41

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

Что это такое?

Какой-то формальный язык, помогающий искать в тексте/строке какие-то паттерны

​

Regex: one pattern to rule them all, one to find them. One to bring them all, and in the darkness bind them.

4 of 41

Где мы уже встречали подобное в питоне?

5 of 41

6 of 41

7 of 41

Правила регулярного языка

Приоритет операций: итерация, конкатенация, объединение

  • A | B к объединение\или

8 of 41

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

9 of 41

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

10 of 41

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

11 of 41

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

12 of 41

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

13 of 41

ELIZA - первая Алиса

14 of 41

Регулярки в ELIZA

15 of 41

16 of 41

17 of 41

18 of 41

19 of 41

20 of 41

21 of 41

22 of 41

23 of 41

24 of 41

25 of 41

26 of 41

27 of 41

28 of 41

29 of 41

30 of 41

31 of 41

32 of 41

Экранирование

Разница:

“\\\\par” = r“\\par” = \\par

​

r - raw string, там нет регулярок, всё сырое

33 of 41

Задание

Ура, наконец-то кодить!

34 of 41

Достаньте из текста список email’ов

Иван Иванович!

Нужен ответ на письмо от ivanoff@ivan-chai.ru.

Не забудьте поставить в копию

sergeo-lupin@mail.ru - это важно.

​

35 of 41

Задачка про номера машин

У частных легковых автомобилях номера — это буква, три цифры, две буквы, затем две или три цифры с кодом региона. У такси — две буквы, три цифры, затем две или три цифры с кодом региона.

А, В, Е, К, М, Н, О, Р, С, Т, У и Х.

​

36 of 41

Группы в регулярных выражениях

pattern = ‘(\S+(.+оло.+))[0-9]’

​

​

37 of 41

Группы в регулярных выражениях

38 of 41

Группы в регулярных выражениях

Можно так

39 of 41

Группы в регулярных выражениях

Пример с несколькими скобочками

40 of 41

Группы в регулярных выражениях

m = re.findall(pattern, text)

if m != []:

print(m)

41 of 41

Задание

Ура, наконец-то кодить!