如果我有一个包含 >
符号的字符串,如何使用正则表达式替换它,它是使用 new RegExp()
从字符串构造的?
var s = "\\>:\\)"; // this is definetely wrong string for regexp contructor
var reg = new RegExp(s, "g");
alert(msg.replace(reg, "IT WORKS!!");
替换 :)
不是问题,new RegExp(":\\)","g")
工作正常,但是如何添加 >
到 regexp 以便它能工作?
同样,它必须通过为 RegExp 构造函数指定正确的字符串来完成。
最佳答案
问题出在 html()
上。 html()
将字符串编码并返回
this is angry smile >:) how it looks?
^^^^
使用 text
而不是 html
或使用正则表达式 />:\)/g 替换编码的
.>
也不需要转义>
。
var msg = $("pre").text();
var s = ">:\\)";
var reg = new RegExp(s, "g");
$("pre").html( msg.replace(reg, "IT WORKS!!") )
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<pre>this is angry smile >:) how it looks?</pre>
关于javascript - 来自字符串 : replace "greater than" sign 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33229386/