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)
注意:我这个字符串不是固定的,是一个动态变化的,也可能没有括号这项,也可能项数更多,我该怎样实现呢?请教高手了,谢谢!

解决方案 »

  1.   

    split(“and”)这个就将其分成tb_1>1
     tb_2>3
    (tb>3
    tb<4)
    这四部分了,我想要的是不要将括号中的and也算进去
      

  2.   

    笨办法        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);应该还有其他办法吧
      

  3.   

    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);
      

  4.   

    能不能改变拼接字符串的方式:
    如:tb_1>1 , tb_2>3 , (tb>3 and tb<4)