我试图弄清楚如何提取,例如-13x^2+2-12x^4
,作为多项式的负值,例如 /\(+)(-)\d{1,4}/g
。到目前为止,我已经成功地取得了权力。此外,我的解决方案达到了这个目的:
+
我知道它的语法错误,但我不确定如何表示符合以下数字的-
或x
。
如果你能告诉我如何计算下一个-3
就像常见/搜索短语的结尾一样,我会很高兴,我对这个术语不确定。你知道,如果它是-3x ^并且要点是提取/\ + or - \/d{1,4} x_here/g
,那么它应该像for(i = 4; i >=1; --i){ ...
答案 0 :(得分:3)
我想你想要:
Uncaught ReferenceError: gform is not defined(anonymous function) @ (index):64
Uncaught ReferenceError: gformCalculateTotalPrice is not defined(anonymous function) @ gravityforms-product-addons.js:5
Uncaught TypeError: r.yith_magnifier is not a function(anonymous function) @ autoptimize_d6e203920c4cf919b2b249da5c9d7391.js:97
Uncaught ReferenceError: gformCalculateTotalPrice is not defined(anonymous function) @ gravityforms-product-addons.js:5
答案 1 :(得分:3)
var formula = '-13x^2+2-12x^4';
formula.match(/[+-]?\d{1,4}/g);
返回:
["-13", "2", "+2", "-12", "4"]
如果您希望将数字组织成系数和权力,这是一种有效的方法:
var formula = '-13x^2+2-12x^4';
function processMatch(matched){
var arr = [];
matched.forEach(function(match){
var vals = match.split('^');
arr.push({
coeff: parseInt(vals[0]),
power: vals[1] != null ? parseInt(vals[1]) : 0
})
})
console.log(arr);
}
processMatch(formula.match(/[+-]?\d+x\^\d+|[+-\s]\d[+-\s]/g))
/* console output:
var arr = [
{ coeff: -13, power: 2 },
{ coeff: 2, power: 0 },
{ coeff: -12, power: 4 }
];*/