现在需要使用正则表达式,对计算公式进行解析。解析出每一项的运算单元。
计算公式:
lineData(1,"debit”)+adjustHis("801","1001","debit","BQFSS","农行",0,-1,0,-1)
现在使用的正则表达式为:
(\-?[^\+\-\*/]+)([\+\-])([^\+\-\*/]+)
如果adjustHis 函数中的-1参数为正数,如1,可以正常解析出
lineData(1,"debit”) 和 adjustHis("801","1001","debit","BQFSS","农行",0,1,0,1)
可是,当参数为-1时
解析出的计算单元为:
lineData(1,"debit")
adjustHis("801","1001","debit","BQFSS","农行",0,
1,0,
1)
请教,怎么改进这个正则表达式,忽略掉参数中的“-”(减号)。。
/(\-?[^\+\-\*\/]+)([\+\-])((?:[^\+\-\*/]|[-](?=[0-9]))+)/gi.exec('lineData(1,"debit”)+adjustHis("801","1001","debit","BQFSS","农行",0,-1,0,-1)')
在你的正则的基础上调整了一下,当-号后边跟着数字时,这个-应该可以被表达式匹配
[-](?=[0-9]) 部分
你是想保留-还是想去掉-
那为啥不直接用括号来判断呢
"(\w+([^)]+))"