【发布时间】:2015-11-23 06:29:39
【问题描述】:
其实我有两个问题。
我要做的是首先检查用户输入的值是否是正确的数学方程。例如,如果用户输入x + y ( z,这应该检测为无效公式,x + y ( z ) 为正确公式,
我要做的第二件事是将公式与+ - * / () 符号分开,所以上面的公式将返回为x, y, z。
我所做的如下
var arr = [];
var s = 'x + y ( z )';
arr = s.split("(?<=[-+*/])|(?=[-+*/])");
console.log(arr);
这会返回一个数组,其中只有一个数据,例如 [x + y ( z )]
另外,变量不是单个字母。他们可能是 年价、收盘价等词
谁能帮我解决这个问题。提前致谢
更新:我也试过"/[^+/*()-]+/g"
【问题讨论】:
-
Javascript 中没有lookbehind
-
@anubhava 我也试过 /[^+/*()-]+/g,没用
-
为什么不首先根据一些规则验证它是否是一个有效的数学表达式,然后解析出其中的所有字母?
-
P.S.将您的问题分成两个不同的帖子可以更有效地获得答案。
标签: javascript regex split