Просто чтобы добавить примечание к (правильному) ответу от RichieHindle:
Обратите внимание, что хотя реализация Python для регулярных выражений (и многие другие, например, Perl) могут это делать, это больше не является регулярным выражением в узком смысле слова.
Ваш пример не является регулярным языком, поэтому не может быть обработан чисто регулярным выражением. Смотрите, например Отличная статья в Википедии для подробностей.
Хотя это в основном только академический интерес, существуют некоторые практические последствия. Реальные регулярные выражения могут дать гораздо лучшие гарантии для максимального времени выполнения, чем в этом случае. Так что в какой-то момент у вас могут возникнуть проблемы с производительностью.
Нельзя сказать, что это не очень хорошее решение, но вы должны понимать, что вы находитесь на пределе возможностей регулярных выражений (даже в расширенной форме) и, возможно, захотите рассмотреть другие решения в случае проблем.