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

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

Maria Eugenia Inzaugarat

Data Scientist

Что такое регулярное выражение?

REGular EXpression, или регулярное выражение (regex):

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

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

Что такое регулярное выражение?

REGular EXpression, или регулярное выражение (regex):

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

  • Обычные символы совпадают сами с собой (st)
Регулярные выражения в Python

Что такое регулярное выражение?

REGular EXpression, или регулярное выражение (regex):

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

  • Метасимволы обозначают типы символов (\d, \s, \w) или понятия ({3,10})
Регулярные выражения в Python

Что такое регулярное выражение?

REGular EXpression, или регулярное выражение (regex):

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

  • Метасимволы обозначают типы символов (\d, \s, \w) или понятия ({3,10})
Регулярные выражения в Python

Что такое регулярное выражение?

REGular EXpression, или регулярное выражение (regex):

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

  • Метасимволы обозначают типы символов (\d, \s, \w) или понятия ({3,10})
Регулярные выражения в Python

Что такое регулярное выражение?

REGular EXpression, или регулярное выражение (regex):

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

  • Метасимволы обозначают типы символов (\d, \s, \w) или понятия ({3,10})
Регулярные выражения в Python

Что такое регулярное выражение?

REGular EXpression, или регулярное выражение (regex):

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

  • Шаблон: последовательность символов, соответствующая словам или знакам препинания
Регулярные выражения в Python

Что такое регулярное выражение?

REGular EXpression, или регулярное выражение (regex):

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

  • Применение сопоставления с шаблоном:

    • Поиск и замена текста
    • Проверка строк
  • Мощный и быстрый инструмент

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

Модуль re

import re
  • Найти все совпадения с шаблоном:

re.findall(r"#movies", "Love #movies! I had fun yesterday going to the #movies")
['#movies', '#movies']
Регулярные выражения в Python

Модуль re

import re
  • Разбить строку по каждому совпадению:

re.split(r"!", "Nice Place to eat! I'll come back! Excellent meat!")
['Nice Place to eat', " I'll come back", ' Excellent meat', '']
Регулярные выражения в Python

Модуль re

import re
  • Заменить одно или несколько совпадений строкой:

re.sub(r"yellow", "nice", "I have a yellow car and a yellow house in a yellow neighborhood")
'I have a nice car and a nice house in a nice neighborhood'
Регулярные выражения в Python

Поддерживаемые метасимволы

re.findall(r"User\d", "The winners are: User9, UserN, User8")
['User9', 'User8']

re.findall(r"User\D", "The winners are: User9, UserN, User8")
['UserN']
Регулярные выражения в Python

Поддерживаемые метасимволы

re.findall(r"User\w", "The winners are: User9, UserN, User8")
['User9', 'UserN', 'User8']

re.findall(r"\W\d", "This skirt is on sale, only $5 today!")
['$5']
Регулярные выражения в Python

Поддерживаемые метасимволы

re.findall(r"Data\sScience", "I enjoy learning Data Science")
['Data Science']

re.sub(r"ice\Scream", "ice cream", "I really like ice-cream")
'I really like ice cream'
Регулярные выражения в Python

Давайте потренируемся!

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

Preparing Video For Download...