我接受像excel表达式一样的if条件;
InterfaceController
我希望正则表达式提取每个条件,例如,当我运行以下代码时:
IF( condition1, value_if_true1, IF( condition2, value_if_true2, value_if_false2 ))
我应该得到这样的结果:
var matchInfo = REGEXP.exec(fieldExpression);
我该如何实现这个目标?
答案 0 :(得分:0)
下面。它将根据您给出的模式为您提供condition1和条件2。由于您正在寻找多个匹配项,因此我使用while循环遍历,直到没有更多匹配项。
var pattern = /IF\(\s(\w+)/g;
var str = 'IF( condition1, value_if_true1, IF( condition2, value_if_true2, value_if_false2 ))';
var myMatches = [];
while ((newMatch = pattern.exec(str)) !== null) {
myMatches.push(newMatch[1]);
}
文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec