Python: выборка и подстановка подстрок

Необходимо из текста выбрать подстроки, которые отмечены начальным и конечным маркером. После обработки текста (перевод на другой язык, не входит в рамки текущего ТЗ) необходимо вернуть подстроки на те места, где они были. Маркеры при этом оставить.

Требуется две функции на python.

Первая функция получает на входе 3 параметра: первый параметр - это переменная, которая содержит многострочный текст; второй и третий параметр - начальный и конечный маркер. На выходе список или словарь со всеми подстроками. Или ложь, если подстроки отсутствуют.

Вторая функция получает на входе 2 параметра: первый - это переменная, которая содержит предыдущий многострочный текст на другом языке, второй - список или словарь с подстроками из предыдущей функции. Функция приводит все подстроки с маркерами в исходное состояние, маркеры так-же должны остаться. При использовании регулярных выражений для замены, необходимо учесть, что в тексте может быть много одинаковых подстрок, а выделена маркерами при этом только одна. На выходе получаем текст с восстановленными подстроками.

Требования:
- Использовать только стандартные модули
- Вся обработка должна проходить на уровне одного скрипта python
- Не использовать файлы для сохранения основного или промежуточного результатов
- Не использовать внешние сервисы или иные инструменты, которые работают вне локального хоста
- Не использовать фреймворки или ПО, которое необходимо запускать локально, параллельно скрипту
- Скрипт должен работать на Python 3.9.2 и Debian 11
- Готовая работа содержится в одном скрипте .py, который содержит 2 функции и код, демонстрирующий работу функций

Читайте на 123ru.net