如何将数学公式分成数组
我有这个:
"formula=today+Buy+yes-(25*2)-3"
我需要一个数组:
["formula","=","today","+","Buy","+","yes","-","(","25","*","2",")","-","3"]
我怎样才能像这样分离公式?
回答
要做到这一点,你可以使用正则表达式,搜索字母群体,如formula,A,B等,数学运算和数字。该match()方法将返回原始字符串中每个不同部分的数组。
let inputs = [
'formula=A+B+C-(25*2)-3',
'formula=today+Buy+yes-(25*2)-3'
].forEach(s => {
let matches = s.match(/[a-z]+|[=+()*-]|d+/gi);
console.log(matches);
});
感谢@JaromandaX 改进正则表达式!