我正在使用 math.js 库,我需要取一些变量的指数。我有以下字符串:
//Ok
pow(y,2)
pow(y,2+2)
pow(y,2-3)
pow(y,2.2)
pow(y,(23)/(2))+23123
pow(y,pow(2,pow(2,4)))-932
pow(y,pow(2,1*pow(2,0.5)))+23
//Erro
pow(y,2)*pow(2,2)
pow(y,3)-pow(2,2)
pow(y,4)+pow(2,2)
pow(y,pow(2,1*pow(2,0.5)))+pow(1,1)
我在使用正则表达式实现此搜索时遇到问题。pow(a,b) 函数由两个参数组成,“a”是基数,“b”是指数。
在上面代码的最后四个字符串中,我只需要捕获“2”、“3”、“4”和“pow(2,1*pow(2,0.5))”。我不想参加“*”、“+”和“-”之后的部分。
由于可以链接 pow() 函数,并且“a”和“b”都可以具有算术运算符和函数,如 pow() 和 sqrt(),结果证明这非常复杂。有没有办法使用正则表达式解决这个问题?
我得到的最接近的是这个正则表达式:https ://regex101.com/r/hB1cg4/4