Javascript if条件的正则表达式
我接受类似excel表达式的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循环遍历,直
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;