aa[=|<|>|=| like]
可能有错

解决方案 »

  1.   

    没有直接写出来,如果你急你可能用下这个,我这边测试基本可行:
    var reg = /aa=/gi;
    var retext = "Field=";
    var reg1 = /aa /gi;
    var retext1 = "Field ";
    var reg2 = /aa</gi;
    var retext2 = "Field<";
    var reg3 = /aa>/gi;
    var retext3 = "Field>";
    var str = " where ((aa=' wacfaatucaabfd2' or aa like 'aa%' and cc<>' ') or (aa<>'waa2' and bb like 's%')) and  aa=0";
    var str1 = str.replace(reg, retext);
    var str2 = str1.replace(reg1, retext1);
    var str3 = str2.replace(reg2, retext2);
    var result = str3.replace(reg3, retext3);
    alert(result);
      

  2.   

    谢谢两位!
    你们二位的方法的确能实现,究其方法,都是按aa字符串后面的标记符来确定要替换的aa,如果在字符串中包含aa=、aa<、aa>、aa like的字符串,那就不起作用了!
    即,字符串改变为下面所示:
    " where ((aa=' wacfaa=tucaa bfd2' or aa like 'aa>%' and cc<>' ') or (aa<>'w aa like2' and bb like 's%')) and  aa=0"
      

  3.   

    meizz(梅花雪)大侠在否?
    救命!
      

  4.   

    <script language=javascript>
    var str=" where ((aa=' wacfaatucaabfd2' or aa like 'aa%' and cc<>' ') or (aa<>'waa2' and bb like 's%')) and aa=0"
    re=/'.+?'/g
    var tempArray=str.match(re)
    str=str.replace(re,'###');
    str=str.replace(/aa/g,'Field')
    var i=-1
    str=str.replace(/###/g,function(a){i++;return tempArray[i]})
    alert(str)
    </script>
      

  5.   

    多谢 hbhbhbhbhb1021(天外水火(我要多努力)) 大侠,
    不过,我希望通过一个正则表达式替换,就得到希望的结果,不想要中间保存单引号字符串的过程。
      

  6.   

    火兄弟的代码不错: re=/'[\s\S]+?'/g
      

  7.   

    meizz(梅花雪),难道不能用一个正则表达式实现吗?