java 正则表达式解析公式问题

现在需要使用正则表达式,对计算公式进行解析。解析出每一项的运算单元。

计算公式:
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+([^)]+))"