Введение в регулярные выражения в Python

Регулярные выражения - это команды для сложного поиска и замены (или просто поиска). Они позволяют делать очень интересные вещи, но, к сожалению, довольно тяжелы в освоении.

Чтобы начать работу с регулярными выражениями в Python, нам нужно импортировать специальный модуль re:

import re

Модуль re включает в себя методы, предназначенных для работы с регулярными выражениями. Регулярное выражение представляет собой набор команд и состоит из двух типов символов: из тех, которые обозначают сами себя и из символов-команд, которые называются специальные символы.

Знакомство с регулярными выражениями лучше начать на примере метода sub, который используется для замен в строке. Первым параметром метод принимает что менять, вторым - на что менять. В третьем параметре указываем строку, в которой нужно сделать замену. В четвертом необязательном параметре задаем количество замен. Самая простая замена с помощью данного метода будет выглядеть вот так:

res = re.sub('a', '!', 'bab') print(res) # выведет 'b!b'

Как вы заметили, в регулярном выражении буквы обозначают сами себя. Тоже самое относится и к цифрам. Давайте заменим цифру 2 на !:

res = re.sub('2', '!', '12abc3') print(res) # выведет '1!abc3'

А вот точка является специальным символом и обозначает любой символ. В следующем примере давайте найдем подстроку по такому шаблону: буква 'x', затем любой символ, затем опять буква 'x':

res = re.sub('x.x', '!', 'xax eee') print(res) # выведет '! eee'

Дана строка:

txt = 'ahb acb aeb aeeb adcb axeb'

Напишите регулярку, которая найдет строки 'ahb', 'acb', 'aeb' по шаблону: буква 'a', любой символ, буква 'b'.

Дана строка:

txt = 'aba aca aea abba adca abea'

Напишите регулярку, которая найдет строки 'abba', 'adca', 'abea' по шаблону: буква 'a', 2 любых символа, буква 'a'.

Дана строка:

txt = 'aba aca aea abba adca abea'

Напишите регулярку, которая найдет строки 'abba' и 'abea', не захватив 'adca'.



Чат с GPT Компилятор