"^\s*(\w+)\s*\((.*)\)"
группа (1) является именем функции
разделить группу (2) с помощью ","
вы получите список параметров.
обновлен
, поскольку у меня нет системы Windows (также .Net), я тестирую ее с помощью python. Вложенная функция не является проблемой. если мы добавим «^ \ s *» в начале выражения:
import re
s="Round(floor(1300 + 0.234 - 1.765), 1)"
m=re.match("^\s*(\w+)\s*\((.*)\)",s)
m.group(1)
Output: 'Round'
m.group(2)
Output: 'floor(1300 + 0.234 - 1.765), 1'
you can split if you like:
m.group(2).split(',')[0]
Out: 'floor(1300 + 0.234 - 1.765)'
m.group(2).split(',')[1]
Out: ' 1'
хорошо, если ваша вложенность функций похожа на f(a(b,c(x,y)),foo, m(j,k(n,o(i,u))) )
, мой код не будет работать.