JavaScript regexp取代$ 0

时间:2013-01-07 22:52:44

标签: javascript jquery replace

我有这个jQuery,我想搜索一个字符串并替换它。我知道用php我可以使用$0, $1, $2等来获得匹配。

这是我通过php $0执行此操作的方法,在此示例中将替换为找到的plater并保留其上/下框:

preg_replace("/plater/i", "<span class='plater'>$0</span>", $input);

我怎样才能在javascript中执行此操作?当我尝试$ 0时,它实际上向浏览器输出$ 0,而不是找到了什么。这是我现在拥有的:

$(document).ready(function(){
    var html = $("body").html();
    $("body").html(html.replace(/plater/ig, "<span class='plater'>$0</span>"));
});

3 个答案:

答案 0 :(得分:3)

用括号捕获它并使用$ 1来引用“第一个”捕获组。

html.replace(/(plater)/ig, "<span class='plater'>$1</span>")

多种语言的正则表达式指南:http://www.regular-expressions.info/javascript.html

答案 1 :(得分:2)

由于您只是在搜索“plater”,因此您可以省去麻烦,只需在字符串中写下plater,但$&可用于引用整个匹配。

答案 2 :(得分:2)

替换字符串:

html.replace(/(plater)/ig, '<span class="plater">$1</span>');

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace