💀
Второй курс РПО
Разработка программных модулей
Разработка программных модулей
  • Модели разработки
  • Ошибки и отладка программ
  • Средства разработки алгоритмов
    • Основные принципы и стадии тестирования
  • Сложностные классы
  • Эмуляторы операционных систем
  • Сложность сортировки
  • Уровни тестирования
  • Задание №1
  • Регрессионное тестирование
  • Тестирование «белым ящиком»
  • Как делать оценку сложности?
  • Алгоритмы и сложность
  • Тестирование "белым ящиком" №2
  • Сложность алгоритмов
  • Тестирование "белым ящиком" №3
  • Тестирование "Чёрным ящиком»" №1
  • Тестирование "Черным ящиком" №2
  • Оценка сложности эвристических алгоритмов
  • Принципы ООП
  • Тестирование "Черным ящиком" №3
  • КТ - В3
  • Модульное тестирование
    • С кодами
  • Модульное тестирование
  • Абстрактные классы и интерфейсы в Python
  • Структуры в Python по аналогии с C++
    • Диалоги гениев
  • Делегаты в Python
    • Ещё более не смешные диалоги
  • Регулярные выражения в Python от простого к сложному
  • Python: Коллекции
  • Параметризованные классы (шаблоны)
  • Указатели и операции со списками в Python
  • Интеграционное тестирование
  • Работа с классами. Перегрузка методов
  • Определение операций в классе.
  • Создание наследованных классов
  • Интеграционное тестирование
  • Работа с объектами через интерфейсы
  • Использование стандартных интерфейсов
  • Работа с типом данных "Структура"
  • Коллекции. Параметризованные классы
  • Использование регулярных выражений
  • Операции со списками
  • Что такое паттерны проектирования?
  • Шпаргалка по шаблонам проектирования
    • [Habr] Шпаргалка
  • UML-диаграммы проектирования
  • Использование основных шаблонов.
  • Использование каких то там шаблонов
  • 15-я Практическая
  • 16-я Практическая
  • Graphviz Online
  • 17-я Практическая
  • Введение в теорию программирования: Объектно-ориентированный подход
  • Документирование софта и стандарты
  • C# Ввод и вывод
  • Оптимизация кода: просто о главном
  • Автоматизация разработки технической документации
  • Автоматизированное документирование и первичные данные
  • ADO.NET что это?
Powered by GitBook
On this page
  • Пример 1: Проверка, есть ли в строке цифры
  • Код
  • Объяснение
  • Пример 2: Поиск всех email в тексте
  • Код
  • Объяснение
  • Пример 3: Замена всех пробелов на -
  • Код
  • Объяснение
  • Выводы

Использование регулярных выражений

31.01.2025 - Практическая работа №12. Использование регулярных выражений

Регулярные выражения (RegEx) — это способ искать, проверять или заменять текст по определённому шаблону. В Python для этого используется модуль re.


Пример 1: Проверка, есть ли в строке цифры

Код

import re

text = "Привет, у меня 2 яблока и 3 груши."

result = re.search(r"\d", text)  # Ищем хоть одну цифру

if result:
    print("В тексте есть цифры!")  # Ожидаем: В тексте есть цифры!
else:
    print("Цифр нет")

Объяснение

  • r"\d" — ищем любую цифру (\d означает "digit" — цифра).

  • re.search() проверяет, есть ли совпадение.

  • Если result не пустой, значит, нашли цифру.


Пример 2: Поиск всех email в тексте

Код

import re

text = "Напишите мне на email test@mail.com или на work123@company.org"

emails = re.findall(r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}", text)

print(emails)  # Ожидаем: ['test@mail.com', 'work123@company.org']

Объяснение

  • re.findall() ищет все совпадения.

  • [a-zA-Z0-9._%+-]+ — часть перед @, разрешаем буквы, цифры и спец. символы.

  • @[a-zA-Z0-9.-]+ — часть после @, разрешаем буквы, цифры, точки и дефисы.

  • \.[a-zA-Z]{2,} — домен (.com, .org, и т. д.).


Пример 3: Замена всех пробелов на -

Код

import re

text = "Это простой текст с пробелами"

new_text = re.sub(r"\s", "-", text)  # Меняем все пробелы на "-"

print(new_text)  # Ожидаем: "Это-простой-текст-с-пробелами"

Объяснение

  • re.sub(pattern, replacement, text) — заменяет все совпадения.

  • \s — это любой пробел (пробел, табуляция и т. д.).

  • Все пробелы меняем на -.


Выводы

  1. re.search() — ищет первое совпадение.

  2. re.findall() — ищет все совпадения.

  3. re.sub() — заменяет найденное на другое.

PreviousКоллекции. Параметризованные классыNextОперации со списками

Last updated 3 months ago