Как сделать регулярное выражение, определяющее уровень вложенности циклов?
Регулярка не предназначена для вычислений и плохо подходит для рекурсивных вложений. ИМХО, здесь нужен лексический анализатор.
Варианты решения (по типу задач, в порядке возрастания нагрузки на CPU):
1. обход "дерева"
2. обратная польская запись
3. регулярные выражения, обратный рекурсивный просмотр по заданному матчу
Выбирайте.