Как я могу рекурсивно сопоставить шаблон с помощью регулярных выражений?

Строка может быть одной из следующих:

a(b,c)
a(a(b,c),d)
a(a(a(a(a(b,c),d),a(e,f)),g),h)
etc

Я хочу сопоставить неограниченное количество «a (x, y)». Как я могу это сделать с помощью Regex? Вот что у меня есть:

\\w\\(((?:\\([a-zA-Z0-9]+\\))|(?:[a-zA-Z0-9]+)),((?:\\([a-zA-Z0-9]+\\))|(?:[a-zA-Z0-9]+))\\)

Он соответствует только двум рекурсиям «a (x, y)».

6
задан Leo Jiang 28 December 2011 в 18:30
поделиться