Лекція 4. Обробка строкових даних

2. Регулярні вирази

Регулярні вирази (Regular Expressions, RegEx) — це шаблони для пошуку і маніпуляції з текстом. Вони дозволяють описати закономірності в тексті за допомогою спеціального синтаксису.

У Python підтримка регулярних виразів надається стандартним модулем re.

Основи синтаксису RegEx

Символ Опис
. Будь-який символ, крім нового рядка
^ Початок рядка
$ Кінець рядка
* 0 або більше входжень
+ 1 або більше входжень
? 0 або 1 входження
{n} Рівно n входжень
{n,m} Від n до m входжень
[] Будь-який символ із вказаного діапазону
` `
() Групування виразів
\ Екранування спецсимволів

Метасимволи і шаблони

Шаблон Опис
\d Цифра (0–9)
\D Не цифра
\w Словесний символ (латиниця, цифра або _)
\W Все, крім \w
\s Пробіл
\S Все, крім пробілу
\b Границя слова
\B Не границя слова

Приклади регулярних виразів

  • email \b[\w.-]+@[\w.-]+\.\w{2,4}\b
  • дати \d{4}-\d{2}-\d{2}
  • телефон \+?\d{10,13}

Python: модуль re

Імпорт модуля

import re

Приклади:

re.search(r"\d+", "Номер 12345")  # <re.Match object>

re.findall(r"\d+", "Ціни: 100, 200, 300")  # ['100', '200', '300']

re.sub(r"\d+", "#", "Мій номер 12345")  # 'Мій номер #'

re.split(r"\s+", "Python є крутий")  # ['Python', 'є', 'крутий']

pattern = re.compile(r"\b\w{4}\b")
pattern.findall("Цей рядок має слова різної довжини")  # ['Цей', 'ряд', 'має']

Можна групувати частини виразу в дужки () для подальшого використання.

text = "Дата: 2025-05-08"
match = re.search(r"(\d{4})-(\d{2})-(\d{2})", text)
if match:
    print(match.group(0))  # Весь збіг
    print(match.group(1))  # Рік
    print(match.group(2))  # Місяць
    print(match.group(3))  # День

Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання