Регулярные выражения: поиск шаблонов в тексте

Регулярное выражение описывает шаблон текста. Оно помогает искать номера, коды, даты, слова определенного вида и повторяющиеся фрагменты.

Краткий ответ

Регулярное выражение описывает шаблон текста. Оно помогает искать номера, коды, даты, слова определенного вида и повторяющиеся фрагменты.

Регулярное выражение описывает шаблон текста. Оно помогает искать номера, коды, даты, слова определенного вида и повторяющиеся фрагменты. Для школьника это полезный инструмент, но его нужно использовать аккуратно.

В 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 или перебор символов. Сложный шаблон трудно читать и отлаживать.

Для подготовки к информатике достаточно понимать идею: регулярное выражение — это компактное описание текстового шаблона. Начинайте с простых шаблонов и обязательно проверяйте их на нескольких примерах.

Что важно запомнить

https://yadro-code.ru/lessons/without-university/school-programming-basics/school-programming-29