我很抱歉发帖(我经常试图躲闪),但我无法弄清楚我的问题。 我尝试用jQuery和regex替换页面内容中的特定单词。
但是我不想替换HTML标签和链接中的单词。 示例 - 这是原始句子:
Let's talk about John. John is a nice guy and rocks. <a href="www.john.com">Click here to meet up John.</a>
如果我想将'John'替换为'Kevin',它应该成为:
Let's talk about Kevin. Kevin is a nice guy and rocks. <a href="www.john.com">Click here to meet up John.</a>
到目前为止我做了什么:
new RegExp("(?!<a.*?>)John(?!</a>)(?!([^<]+)?>)","g");
它几乎完成了这项工作,但它不适用于上述示例。它显示:
Let's talk about Kevin. Kevin is a nice guy and rocks. <a href="www.john.com">Click here to meet up Kevin.</a>
抱歉,我对正则表达不太了解。如果你能帮助我,我会很高兴的。 非常感谢!!
答案 0 :(得分:1)
试试这个伴侣! :)
John(?![^<]*</a>)
工作示例:
所以在javascript中它会是:
new RegExp("John(?![^<]*</a>)","g");
如果“John”需要不区分大小写,那么您只需添加i
标志,当然如下: - &gt;新的RegExp(“John(?![^&lt;] *)”,“g i
”);