javascript - 来自字符串 : replace "greater than" sign 的正则表达式

标签 javascript regex

如果我有一个包含 > 符号的字符串,如何使用正则表达式替换它,它是使用 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 以便它能工作?

[PLAYGROUND AND DEMO]

同样,它必须通过为 RegExp 构造函数指定正确的字符串来完成。

最佳答案

问题出在 html() 上。 html() 将字符串编码并返回

this is angry smile >:) how it looks?
                    ^^^^

使用 text 而不是 html 或使用正则表达式 />:\)/g 替换编码的 >.

也不需要转义>

Demo

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/

相关文章:

sql-server - 使用正则表达式(或类似的)更新字段

javascript - 在 RegEx 中使整个匹配非捕获

java - 在java中使用regex g标志

javascript - 谷歌表单提交,发送电子邮件锁定不起作用

javascript - 如何修复此日期类型验证错误?

javascript - 如何取消订阅 SignalR 集线器代理中的事件处理程序?

javascript - 使用 VueJS 转换 Javascript 中的日期格式

javascript - Angular 的 Passport Facebook 身份验证

javascript - 如何检查 JavaScript 中的字符串中是否存在任何数字或字母?

html - 如何使用正则表达式按其类删除整个 HTML 标记(及其内容)?