Слайд 2REGEX
Регулярные выражения - это поиск строк по шаблону, используемый во многих инструментах
обработки текста, применяемых в системном администрировании
Попросту говоря, это своего рода крошечный язык программирования, предоставляющий множество инструментов. Регулярные выражения поддерживаются большинством современных языков программирования, в которых представлены различные по удобству и функционалу средства
Слайд 3МОДУЛЬ RE
В этой лекции мы узнаем о самых основных особенностях применения RegEx
в языке Python
Для работы с регулярными выражениями в Python предусмотрен специальный модуль re. Прежде чем начать работу его нужно импортировать:
import re
Слайд 4МОДУЛЬ VS БИБЛИОТЕКА
Модуль — это часть функциональности, существующая отдельно от кода, который
ее использует, модуль импортируется в код и используется (код использующий модуль обычно называют клиентским).
Модуль обычно узко сфокусирован и отвечает за одну узкую задачу, такие задачи могут быть как простыми, например, модуль конвертации градусов Цельсия в Фаренгейт, так и сложными, например модуль по работе с GUI операционной системы.
Библиотека — это набор разных методов и модулей.
Можно сказать, что модуль — это простой инструмент для конкретной задачи, а библиотека — швейцарский нож.
Слайд 6ДЛЯ ЧЕГО ИСПОЛЬЗУЮТСЯ РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
Для определения нужного формата,
Например телефонного номера или email-адреса;
Для разбивки строк на подстроки;
Для поиска,
Замены
Извлечения символов;
Для быстрого выполнения нетривиальных операций
Синтаксис таких выражений в основном стандартизирован, так что вам следует понять их лишь раз, чтобы использовать в любом языке программирования.
Слайд 7REGEX
re.match()
re.search()
re.findall()
re.split()
re.sub()
re.compile()
И т.д
Слайд 8REGEX
re.match(pattern, string)
Функция re.match() осуществляет поиск по заданному шаблону с начала строки
Искомая подстрока
найдена. Чтобы вывести её содержимое, применим метод group() (мы используем «r» перед строкой шаблона, чтобы показать, что это «сырая» строка в Python):
Слайд 9REGEX
re.search(pattern, string)
Функция re.search() используется для поиска в строке первого вхождения заданного шаблона
Метод
search() ищет по всей строке, но возвращает только первое найденное совпадение.
Слайд 10REGEX
re.findall(pattern, string)
Если нам нужно найти все вхождения, следует использовать функцию re.findall(). В
случае успеха она возвращает список, который содержит все искомые вхождения по порядку. В противном случае функция возвратит пустой список.
Слайд 11REGEX
re.split(pattern, string, [maxsplit=0])
Функция re.split() разделяет строку по заданному шаблону. Например, разобьем строку
на отдельные слова, разделенные пробелом:
Кроме того, эта функция принимает аргумент maxsplit со значением, по умолчанию равным 0. В нашем примере она разделит строку на максимальное количество частей. Если же специально задать этот аргумент, то разделение будет осуществлено не более заданного количества раз.
Слайд 13REGEX
re.sub(pattern, repl, string, count=0)
Функция re.sub() осуществляет поиск шаблона в строке, заменяя его
указанной подстрокой. В случае отсутствия шаблона никаких изменений не происходит. Для этих целей предназначена re.sub.
В качестве четвертого параметра функции можно задать количество совпадений, подлежащих изменению. По умолчанию этот параметр равен 0, то есть заменяются все найденные совпадения с шаблоном.
Слайд 17ЗАДАЧИ
Вернуть каждый символ из строки используя “.” (точку)
Вернуть каждый символ из строки
без пробела
Вернуть каждое слово с пробелом
Вернуть каждое слово без пробела
Вернуть первое слово
Вернуть последнее слово
Слайд 18ЗАДАЧИ
Вернуть каждые 2 последующих символа без пробела
Вернуть два последовательных символа, используя символ
границы слова (\b)
Вернуть все символы после знака “@”
Вернуть полную строку после @
Вернуть только доменное имя
Вернуть дату из строки