Регулярные выражения (Regular Expressions) - это мощный инструмент для работы с текстом в Python. Они позволяют искать, сопоставлять и изменять строки с помощью определенного шаблона. Часто возникает необходимость использовать переменные внутри регулярных выражений для создания более гибких и динамических шаблонов. В этой статье мы рассмотрим различные способы использования переменных в регулярных выражениях на примерах.
Пример: Найдем все слова, которые начинаются с определенной буквы.
import re
text = "apple banana orange pear"
letter = "b"
pattern = r"\b" + letter + r"\w+"
matches = re.findall(pattern, text)
print(matches) # ['banana']
В этом примере мы создаем шаблон, который ищет слова, начинающиеся с определенной буквы, и используем переменную letter
для указания этой буквы.
Пример: Заменим все вхождения одной подстроки на другую, используя переменные.
import re
text = "apple banana orange pear"
old_word = "banana"
new_word = "grape"
pattern = re.compile(r"\b" + old_word + r"\b")
updated_text = pattern.sub(new_word, text)
print(updated_text) # apple grape orange pear
Здесь мы используем переменные old_word
и new_word
для замены всех вхождений old_word
на new_word
.
Пример: Найдем пары слов, разделенные определенным символом.
import re
text = "apple:banana orange:pear"
separator = ":"
pattern = re.compile(r"(\w+)" + re.escape(separator) + r"(\w+)")
matches = pattern.findall(text)
print(matches) # [('apple', 'banana'), ('orange', 'pear')]
Здесь мы используем переменную separator
, чтобы разделить слова в тексте и найти пары слов, разделенные этим символом.
Использование переменных внутри регулярных выражений делает их более гибкими и удобными для работы с динамическими данными. Однако при использовании переменных необходимо учитывать возможные проблемы с экранированием специальных символов и обработкой специальных случаев.