Поочереди вытащить SIN(X) из выражения SIN(SIN(20 + 20)) + COS(20)
Проблема в том, что регулярка должна вытаскивать первое совпадение с парным количеством скобок. То есть по логике программы, из этого выражения она должна вытянуть
0:SIN(20 + 20)
1:20+20
Или еще пример:
SIN(20) + SIN(SIN(30) - SIN(40))
должна вытянуть:
0:SIN(20)
1:20
А из
SIN(20 - SIN(40))
должна вытянуть:
0:SIN(40)
1:40
Язык C#, .NET 4.0!
Источник: Stack Overflow на русском