我正在处理JavaScript中一个字符串的所有内部括号。
例如,如果我有这样一个字符串(不要担心%符号,Qx值用其括起来)
((!%Q1% || %Q2%) || ((%Q3% && %Q4%) || (%Q5% && %Q6%)))
I would like to get in my result:
(!%Q1% || %Q2%) || ((%Q3% && %Q4%) || (%Q5% && %Q6%))
(!%Q1% || %Q2%)
(%Q3% && %Q4%) || (%Q5% && %Q6%)
(%Q3% && %Q4%)
(%Q5% && %Q6%)
基本上,我正在寻找一种通用的方法,不仅仅是上面的例子。我曾尝试在循环中使用类似于这样的内容,但只适用于更简单的例子(带有较少的括号)。
init = condition.indexOf('(');
fin = condition.lastIndexOf(')');
inner = condition.substr(init+1,fin-init-1);
我希望使用仅JS的解决方案,但其他解决方案也可以考虑。