Я анализирую с PLY .Мне нужен токен для самой большой группы совпадающих скобок, которая содержит вложенные совпадающие скобки.
Например:
a(b|c(d|e))
должно соответствовать всему после того, как 'a'
a(b)(c)(d)
не должно совпадать
С модулем regex
это может быть возможно с чем-то вроде: \([^()]*\(((?>[^()]+|(?R))*)\)[^()]*\)
Но я считаю, что PLY использует re
, который не имеет рекурсии,Есть ли какой-то другой способ, которым я могу сделать это без необходимости вручную анализировать токен в моих p_
(синтаксических) функциях?