Не спорю, что в каких-то «исключительных» ситуациях регулярное выражение может некорректно отрабатывать и нам нужно будет усложнять регулярку, чтобы решить возникшую проблему. Для чего, конечно же придется анализировать и то, что заключено в фигурных скобках (т.е. не учитывать их, если они заключены в кавычки, поскольку это приведет не к корректному поведению). Тем более, стоит учесть, что это простейший пример шаблонизатора, в котором реализована лишь самое простое. Добавлять улучшения можно до бесконечности.
В большей степени, мы предполагаем, что программист опишет некую часть внутри HTML-кода корректно и без ошибок (не зря же все-таки решил использовать наш шаблонизатор).
Пишем свой шаблонизатор на Python