我有这个基本的Chrome扩展程序,用'hipster'
替换'James Montour'
的实例。但是,它会在整个body
中搜索这些实例,并在URL中替换该单词,这会破坏图像和链接(显然)。我需要弄清楚如何防止这种情况,并且我对regex
不满意。
这是我的代码:
$(document).ready(function() {
var replaced = $("body").html().replace(/hipster/gi, 'James Montour');
$("body").html(replaced);
});
我该怎么办?
答案 0 :(得分:0)
一个确切的单词将在第一个后跟一个空格,或者在最后一个空格之前或在中间,前面跟着一个空格。这个逻辑用在下面的正则表达式中,
string.replace(/(^| )hipster(?= |$)/g, "$1James Montour")
<强>解释强>
(^| )
捕获起始锚或空间的行。hipster(?= |$)
只有当行后跟空格或行锚的一端时才匹配单词。