没有直接写出来,如果你急你可能用下这个,我这边测试基本可行: 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);
谢谢两位! 你们二位的方法的确能实现,究其方法,都是按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"
meizz(梅花雪)大侠在否? 救命!
<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>
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);
你们二位的方法的确能实现,究其方法,都是按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"
救命!
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>
不过,我希望通过一个正则表达式替换,就得到希望的结果,不想要中间保存单引号字符串的过程。