Захват квантификаторов и квантификатор арифметики

Прежде всего позвольте мне объяснить, что этот вопрос не связан ни с тем, как собирать группы, ни с тем, как использовать квантификаторы, а с двумя особенностями регулярного выражения, с которыми я прекрасно знаком. Это более сложный вопрос для любителей регулярных выражений, которые могут быть знакомы с необычным синтаксисом в экзотических движках.

Захват квантификаторов

Кто-нибудь знает, позволяет ли аромат регулярных выражений захватывать квантификаторы? Под этим я подразумеваю, что будет подсчитано количество символов, совпадающих с квантификаторами, такими как + и *, и что это число может быть снова использовано в другом квантификаторе.

Например, предположим, что вы хотели убедиться, что у вас есть одинаковое количество Ls и Rs в строке этого вида: LLLRRRRR

Вы можете представить себе такой синтаксис, как

L(+)R{\q1}

где квантификатор + для L захвачен, и где захваченное число упоминается в квантификаторе для R как {\ q1}

Это было бы полезно, чтобы сбалансировать количество {@, =, -, /} в таких строках, как @@@@ "Star Wars" ==== "1977" ---- "Научная фантастика" //// " Джордж Лукас "

Отношение к рекурсии

В некоторых случаях захват квантификатора элегантно заменяет рекурсию, например фрагмент текста, обрамленный таким же количеством букв L и R,

L(+) some_content R{\q1} 

Идея представлена ​​в некоторых деталях на следующей странице:Захваченные квантификаторы

Здесь также обсуждается естественное расширение захваченных квантификаторов: арифметика квантификаторов, для случаев, когда вы хотите сопоставить (3 * x + 1) количество символов, сопоставленных ранее.

Я пытаюсь выяснить, существует ли что-то подобное.

Заранее спасибо за ваши идеи !!!

Обновить

Казимир дал фантастический ответ, который показывает два метода для проверки того, что различные части шаблона имеют одинаковую длину. Тем не менее, я не хотел бы полагаться на любой из них для повседневной работы. Это действительно трюки, которые демонстрируют отличное зрелищность. На мой взгляд, эти красивые, но сложные методы подтверждают предпосылку вопроса: функция регулярного выражения для захвата количества символов, которые могут быть сопоставлены квантификаторами (такими как + или *), сделает такие шаблоны балансировки очень простыми и расширит синтаксис в приятно выразительный способ.

Обновление 2 (много позже)

Я обнаружил, что .NET имеет функцию, которая приближается к тому, о чем я спрашивал. Добавлен ответ, чтобы продемонстрировать функцию.

Ответы на вопрос(2)

Ваш ответ на вопрос