求一正则表达式:搜索html中指定的字符串并替换成其它字符串,搜索范围排除a,img标签,如下图
所示,查找湿气两个字并替换成其它字,搜索时排除红圈中的湿气字样(不管整个a标签或img标签中有没有湿气这个词都不在搜索范围),其它内容不变,不能把a、img标签删除了。请高人帮指点下谢谢。
求一正则表达式:搜索html中指定的字符串并替换成其它字符串,搜索范围排除a,img标签,如下图
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
let str = `<p>查找湿气两个字 <img src="images/testing.jpg" alt="湿气" /> 查找湿气两个字 <a href="http://xxxxxx/" title="" target="_blank">查找湿气两个字</a> <span class="test">查找湿气两个字</span> 查找湿气两个字</p>
`;
var arr = [];
str = str.replace(/<img\s+[\S\s]*?>|<(a)\s+[\S\s]*?>[\S\s]*?<\/\1>/ig,function (s) {
var r = "@_"+arr.length+"_@";
arr.push(s);
return r;
});
str = str.replace(/湿气/ig,"【替换】");
str = str.replace(/@_(\d+)_@/ig,function (s,a) {
return arr[parseInt(a, 10)];
});
console.log(str);