Хотя это не невозможно, я не советую использовать для этого регулярные выражения.
Проблема в том, что выражения, как правило, либо полностью жадные, либо совершенно не жадные. Например, возьмите следующий ввод:
(а,) б, (с, (д,) е)
Жадное выражение будет максимально соответствовать. Он будет видеть все как в скобках, и поэтому вернет ничто .
Несжатое выражение будет правильно соответствовать запятой b, но оно также будет соответствовать запятой e, поскольку оно будет видеть (c,(d,)
как одну полную группу.
Теперь, похоже, вы уже понимаете эти проблемы, и что механизм регулярных выражений .Net имеет функцию, которая позволит вам в некоторой степени преодолеть это. Но выражение результата будет уродливым, не поддерживаемым, не очень переносимым, и его легко ошибиться. Если вы действительно не знаете, что делаете, вероятно, лучше всего искать другое решение.