你要按and来区分,又得忽略between后面的,还有()里面的
用正则挺有难度的,还容易出错。不如写个函数来整理

解决方案 »

  1.   


    那反过来,用正则将这些 AND  OR  替换掉一个特殊 ${V} 来分割 。正则会不会好写一点 
      

  2.   


    找了一个 (?<!\([^)]*)(and|or)(?![^(]*\))这样的。可惜在 oracle中无法使用 
      

  3.   

    我指的不是and /or ,而是分割规则。如果你按规则提前将用来分割的and/ or用特殊符号代替,那么连正则都可以不用,直接replace掉就好了