我有一个如下表达式;
abs(sum(Max(abs(ListInput)),Min(V1,V2)))
我想取出运算符,这些运算符采用单个参数,这是一个参数列表的符号,存储在其他地方。
例如在上述情况下;
Max(abs(ListInput))
是我需要的。
我可以通过标记化并将表达式转换为反向抛光表示法来迭代地完成。
但是当操作员是三元时,事情就会破裂。
IF(10 > Max(Abs(ListInput)),5,MAX(ListInput)) // (IF<EXPRESSION>,TRUEVALUE,FALSEVALUE) ; True value and Valse value can also be an expression.
我试图以递归的方式做到这一点,但无法考虑所有条件。
答案 0 :(得分:0)
我想取出单个参数的运算符 参数列表的符号...... regex
/(abs|sum|max|min)\([^(),]*(\([^(),]*\)[^(),]*)*\)/gi