@PesyCorm

Поиск подстроки с помощью регулярных выражений?

Привет! У меня есть такая задачка:
assert between_markers('What is [apple]', '[', ']') == "apple"

где between_markers() - функция, которая ищет с помощью re.findall и возвращает, если нашла.
Написал такой шаблон:
def between_markers(text, s1, s2):
    match = re.findall(f'{s1}(.*){s2}', text)

но получается, если в {s1} и {s2} подставить '[' и ']', то они считаются как скобки для символьного класса.
Как я учитывая это могу создать универсальный шаблон (передаваться могут и другие условия)?
Спасибо!
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
@dodo512
re.findall(f'{re.escape(s1)}(.*?){re.escape(s2)}', text)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы