Регулярные выражения: поиск шаблонов в тексте
Регулярное выражение описывает шаблон текста. Оно помогает искать номера, коды, даты, слова определенного вида и повторяющиеся фрагменты.
Краткий ответ
Регулярное выражение описывает шаблон текста. Оно помогает искать номера, коды, даты, слова определенного вида и повторяющиеся фрагменты.
Регулярное выражение описывает шаблон текста. Оно помогает искать номера, коды, даты, слова определенного вида и повторяющиеся фрагменты. Для школьника это полезный инструмент, но его нужно использовать аккуратно.
В Python регулярные выражения находятся в модуле re.
import re
text = 'Коды: A12, B7, C105'
matches = re.findall(r'[A-Z]\d+', text)
print(matches)
Шаблон [A-Z]\d+ означает: одна заглавная латинская буква, затем одна или несколько цифр.
Когда регулярное выражение уместно
Регулярные выражения полезны, если нужно найти текст по форме:
- код товара;
- номер кабинета;
- дату;
- адрес электронной почты в учебном примере;
- последовательность цифр;
- слово с определенной приставкой.
Пример проверки
Пусть школьный код должен состоять из двух букв и трех цифр.
import re
code = input()
if re.fullmatch(r'[A-Z]{2}\d{3}', code):
print('код корректен')
else:
print('ошибка')
fullmatch требует, чтобы вся строка соответствовала шаблону, а не только ее часть.
Ограничения
Не стоит заменять регулярными выражениями обычные условия там, где проще использовать split, isdigit или перебор символов. Сложный шаблон трудно читать и отлаживать.
Для подготовки к информатике достаточно понимать идею: регулярное выражение — это компактное описание текстового шаблона. Начинайте с простых шаблонов и обязательно проверяйте их на нескольких примерах.
Что важно запомнить
- Регулярное выражение описывает шаблон текста.
- Оно помогает искать номера, коды, даты, слова определенного вида и повторяющиеся фрагменты.
- Для школьника это полезный инструмент, но его нужно использовать аккуратно.
- В Python регулярные выражения находятся в модуле re.
https://yadro-code.ru/lessons/without-university/school-programming-basics/school-programming-29