То, что вы хотите, не представляется возможным в регулярных выражениях, потому что регулярные выражения не могут учитываться, что здесь потребуется Фактически, регулярные выражения кажутся способными считать символы в прямой последовательности, например, в этом случае:
/x{2,3}/ # 2 or 3 ‘x’s
… но на самом деле это не считается, потому что это просто сокращение для этого выражения:
/xxx?/
т.е. 2 x
, затем третий (необязательный).
Ваше выражение, с другой стороны, должно будет отслеживать два разных счетчика по всему автомату, который представляет выражение. Это просто невозможно в классических регулярных выражениях (и все же очень сложно использовать более современные воплощения регулярных выражений, которые используют автоматы pushdown для сохранения состояний).