Вы не можете - регулярные выражения могут распознавать только небольшое подмножество возможных языков. В частности, неофициально, любой язык, который требует неограниченного объема памяти, потенциально распознаваемого, не распознается RE.
Здесь вам понадобится неограниченный объем памяти, чтобы запомнить, сколько открывающих скобок вы видели, чтобы убедиться, что количество закрывающих скобок одинаково.
Вам понадобится какой-то механизм, способный анализировать контекстно-свободные грамматики, чтобы можно было распознавать языки, описанные BNF в целом. Современные парсеры очень хороши в этом!