0Pricing
Python Academy · Урок

Основы регулярных выражений

Изучите метасимволы, классы символов, квантификаторы и якоря.

«Основы регулярных выражений» — бесплатный урок Python Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.

Введение

Регулярные выражения — это шаблоны для поиска совпадений в тексте. Модуль re в Python предоставляет инструменты для работы с ними.

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

Регулярное выражение — это последовательность символов, образующая шаблон поиска. r'\d+' соответствует одной или нескольким цифрам.
import re
print(re.findall(r'\d+', 'abc 123 def 456'))

Литералы символов

Большинство символов соответствуют самим себе: r'cat' буквально соответствует строке 'cat'.
import re
print(re.search(r'cat', 'the cat sat'))

Подстановочный символ «точка (.)»

Точка . соответствует любому символу, кроме перевода строки. r'c.t' соответствует 'cat', 'cut', 'c9t'.
import re
print(re.findall(r'c.t', 'cat cut c9t caaat'))

Классы символов

[aeiou] соответствует любой гласной. [a-z] соответствует любой строчной букве. [^abc] соответствует любому символу, которого НЕТ в {a,b,c}.
import re
print(re.findall(r'[aeiou]', 'hello world'))

Квантификаторы

* — ноль или более раз. + — один или более раз. ? — ноль или один раз. {3} — ровно 3 раза. {2,4} — от 2 до 4 раз.
import re
print(re.findall(r'\d{2,4}', '1 12 123 1234 12345'))

Якоря

^ соответствует началу строки. $ соответствует концу. \b соответствует границе слова.
import re
print(re.findall(r'^\w+', 'hello world'))
print(re.findall(r'\b\w{4}\b', 'cat cats come home'))

Сокращённые классы

\d = цифра [0-9]. \w = символ слова [a-zA-Z0-9_]. \s = пробельный символ. Версии в верхнем регистре являются отрицаниями: \D, \W, \S.
import re
print(re.findall(r'\w+', 'hello, world!'))

Чередование |

r'cat|dog' соответствует либо 'cat', либо 'dog'. Скобки объединяют варианты: r'(cat|dog)s' соответствует 'cats' или 'dogs'.
import re
print(re.findall(r'cat|dog', 'I have a cat and a dog'))

Жадные и ленивые квантификаторы

.* — жадный шаблон: соответствует максимально возможному фрагменту. .*? — ленивый шаблон: соответствует минимально возможному фрагменту.
import re
html = '<b>bold</b> and <i>italic</i>'
print(re.findall(r'<.*>', html))   # greedy
print(re.findall(r'<.*?>', html))  # lazy

Сырые строки для регулярных выражений

Всегда используйте r'...' для шаблонов регулярных выражений, чтобы избежать экранирования двойной обратной косой чертой: r'\d' вместо '\\d'.
import re
# Without r: '\\d+' is needed
# With r:    '\d+' is sufficient
print(re.findall(r'\d+', 'abc123'))

Быстрая проверка

Чему соответствует якорь \b в регулярном выражении?

Итоги

Основы регулярных выражений: . (любой символ), [] (класс), * + ? {} (квантификаторы), ^ $ \b (якоря), \d \w \s (сокращённые классы), | (чередование), жадные и ленивые квантификаторы. Всегда используйте строки r''.

Продолжайте

Отличная работа! Следующий урок уже ждёт Вас.

Часто задаваемые вопросы

Урок «Основы регулярных выражений» бесплатный?

Да — полный текст урока «Основы регулярных выражений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.

Чему я научусь в уроке «Основы регулярных выражений»?

Изучите метасимволы, классы символов, квантификаторы и якоря. Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Python Academy?

Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Основы регулярных выражений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Python Academy?

Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы регулярных выражений
  2. Использование re.match, re.search, re.findall
  3. Группы и именованные захваты
  4. re.sub, флаги и скомпилированные шаблоны
← Назад к Python Academy