2013-09-30 83 views

回答

1

捕获组保存在生成​​的数组。

|应该逃脱,因为它在正则表达式中有特殊含义。 ()也有特殊含义,但在[]里面,它们的字面意思相符。

> "arg&&(arg||(!arg&&arg))".split(/([()]|&&|\|\|)/) 
["arg", "&&", "", "(", "arg", "||", "", "(", "!arg", "&&", "arg", ")", "", ")", ""] 

要删除空字符串,使用Array filter method

> "arg&&(arg||(!arg&&arg))".split(/([()]|&&|\|\|)/).filter(function(x) { return x; }) 
["arg", "&&", "(", "arg", "||", "(", "!arg", "&&", "arg", ")", ")"] 
+0

闪电般的速度..谢谢! – jfutch

相关问题