我想将像-1*-0.8/5-5
这样的表达式拆分成[ '-1', '*', '-0.8', '/', '5', '-', '5' ]
[ '-1', '*', '-0.8', '/', '5-5' ]
,这就是我和expression.split(/([*/])/g);
现在要做的
对此有什么建议吗?
发布于 2017-05-05 09:50:25
这里有一个解决办法。它正确地检测+
、-
、/
、*
并接受白空间的使用:
([*\/]|\b\s*-|\b\s*\+)
var expression = "-1*-0.8/5-5";
console.log(expression.split(/([*\/]|\b\s*-|\b\s*\+)/g));
在https://stackoverflow.com/questions/43801602/split-an-arithmetic-expression-with-a-regex/43801821#comment74643433_43801821中,这里是一个接受括号的改进
var expression = "-1 * -0.8 / (5 - 5)";
console.log(expression.split(/([*\/()]|\b\s*[-+])/g));
https://stackoverflow.com/questions/43801602
复制相似问题