Регулярные выражения в Python
Опишите текстовый шаблон один раз — и ищите, извлекайте, проверяйте и заменяйте с его помощью
re читает этот шаблон и находит в строке каждое место, которое ему соответствует.
- читать шаблон из литералов, метасимволов, классов символов и квантификаторов;
- использовать основные функции
re—search,findall,sub,splitиcompile; - захватывать части совпадения с помощью групп и именованных групп;
- решать повседневные задачи: проверку, извлечение и очистку текста;
- понимать, когда регулярное выражение — неправильный инструмент, и выбирать что-то проще.
1. Что такое регулярное выражение?
Представьте regex как трафарет для текста. Трафарет — это карточка с вырезанной фигурой; положите её на страницу, и через отверстие видны только те части, которые совпадают с формой. Регулярное выражение работает так же для строк: вы один раз описываете форму, а движок скользит ею по тексту и сообщает о каждом месте, где форма подходит.
Вы уже искали текст «в лоб» через "needle" in haystack или str.find. Они находят только точную последовательность символов. Regex же находит целое семейство строк: \d{4} совпадает с любыми четырьмя цифрами — 1999, 2026, 0000 — без перечисления. Именно эта идея делает регулярные выражения мощными для телефонов, дат, строк логов и имён файлов.
В Python эта мощь доступна через модуль стандартной библиотеки re. Ничего устанавливать не нужно — просто import re.