怎样在JS中利用正则一次replace多个不同字符串

写成下面这样,有新的字符需要替换时你就只需要改map变量了
let map = { "\u0026gt;": "\u0026amp;gt;", "\u0026lt;": "\u0026amp;lt;",}let reStr = \u0026#39;(\u0026#39; + Object.keys().map(it =\u0026gt; \u0026#39;\\\\\u0026#39; + it).join(\u0026#39;|\u0026#39;) + \u0026#39;)\u0026#39;let re = new RegExp(reStr, \u0026#39;g\u0026#39;)str.replace(re, it =\u0026gt; map)
■网友
var result = str.replace(/\u0026amp;|\u0026lt;|\u0026gt;|\u0026#39;|"/g, function(matchStr) { var tokenMap = { \u0026#39;\u0026amp;\u0026#39;: \u0026#39;\u0026amp;amp;\u0026#39;, \u0026#39;\u0026lt;\u0026#39;: \u0026#39;\u0026amp;lt;\u0026#39;, \u0026#39;\u0026gt;\u0026#39;: \u0026#39;\u0026amp;gt;\u0026#39;, "\u0026#39;": \u0026#39;\u0026amp;apos;\u0026#39;, \u0026#39;"\u0026#39;: \u0026#39;\u0026amp;quot;\u0026#39; }; return tokenMap;});
■网友
这个是逻辑问题
正则不知道某个字符应该替换为什么字符
【怎样在JS中利用正则一次replace多个不同字符串】 不过可以使用数组逐一替换
var a = \u0026#39;\u0026amp;\u0026lt;\u0026gt;\\\u0026#39;"\u0026#39;.split(\u0026#39;\u0026#39;);var b = \u0026#39;\u0026amp;amp;\\u0026amp;lt;\\u0026amp;gt;\\u0026amp;apos;\\u0026amp;quot;\u0026#39;.split(\u0026#39;\\u0026#39;);var s = \u0026#39;\u0026lt;abc="123"\u0026gt;\u0026#39;;for (i in a) { var p = new RegExp(a, \u0026#39;g\u0026#39;) s = s.replace(p, b);}console.log(s);
■网友
//gi abc是你想填的 括号子项好像有$1什么之类的可以匹配子项的。就可以替换$1(代码子项a)为你需要的。。具体代码不是这样,你得试一下
■网友
逻辑里面有个“或”。


    推荐阅读