js字符串分割问题
tb_1>1 and tb_2>3 and (tb>3 and tb<4)
这个想以and分割成一个一个子项 ,但是如果有括号的算作一个整体,这样的怎么分割开啊?最后循环输出每个子项,如:tb_1>1
tb_2>3
(tb>3 and tb<4)
注意:我这个字符串不是固定的,是一个动态变化的,也可能没有括号这项,也可能项数更多,我该怎样实现呢?请教高手了,谢谢!
------解决方案--------------------split...
------解决方案--------------------笨办法
var a = "tb_1>1 and tb_2>3 and (tb>3 and tb<4)";
var r = /(\(.*\))/g;
var b = a.match(r);
a = a.replace(r, "").split("and");
b.push(a);
应该还有其他办法吧
------解决方案--------------------JScript code
var str = 'tb_1>1 and tb_2>3 and (tb>3 and tb<4)';
var reg = /\s*and\s*(?=(?:[^\(\)]*|\([^\)]+\)*)*$)/;
var arr = str.split(reg);
alert(arr);