Javascript if条件的正则表达式

Javascript if条件的正则表达式,javascript,regex,Javascript,Regex,我接受类似excel表达式的if条件 IF(条件1,值如果真1,如果(条件2,值如果真2,值如果假2)) 我希望正则表达式提取每个条件,例如,当我运行以下操作时: var matchInfo=REGEXP.exec(fieldExpression) 因此,我应该得到这样的结果: matchInfo[0]=condition1,matchInfo[2]=condition2 如何实现这一点?这里。它将根据您给出的模式为您提供条件1和条件2。因为您正在寻找多个匹配项,所以我使用while循环遍历,直

我接受类似excel表达式的if条件

IF(条件1,值如果真1,如果(条件2,值如果真2,值如果假2))

我希望正则表达式提取每个条件,例如,当我运行以下操作时:
var matchInfo=REGEXP.exec(fieldExpression)

因此,我应该得到这样的结果:
matchInfo[0]=condition1,matchInfo[2]=condition2


如何实现这一点?

这里。它将根据您给出的模式为您提供条件1和条件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]);
}

这里的文档:

欢迎使用堆栈溢出!请拿着这本书,四处看看,通读一遍,特别是现在很难理解你在问什么。也许是一个
if
代码的工作示例,然后是一个关于您想做什么的清晰声明(以及为什么,因为
if
在大多数情况下都是完全合理的)。它不适用于现场场景如果(英语==40,50,如果(百分比=40,60,70))请记住这与您的示例不同。在您的示例中,您将IF、条件前的空格大写,条件是变量,而不是表达式。在您提供的这个新示例中,您将需要更改正则表达式以考虑更改的条件。更改此行:
var模式=/if\([\w=]*)/g;