PHP Regex(.*?)和回调1 JavaScript等效


PHP Regex (.*?) and callback 1 JavaScript equivalent

在PHP我有这个(从以前的问题在我的帐户):

$message = 'Testing this **quote**';
$search = '/'*'*(.*?)''*'*/';
$replace = '<span style="font-weight: bold;">''1</span>';

在JavaScript中,我有这个:

var regexFind = document.getElementById("regexFind").innerHTML;
var pattern = /'*'*(.*?)'*'*/gi;
var match = regexFind.match(pattern);
var result = regexFind.split(pattern).join("<span style='font-weight: bold;'>**''1**</span>");
document.getElementById("regexOutput").innerHTML=result;

但是正如你在var result中看到的,我使用''1,但输出是:**'1**test**'1***而不是一个粗体的测试,是否有一个JavaScript等效的PHP的''1

是我的方法方式吗?用一个更好的(有效的)方法来回答。如果可能的话。

EDITS / RESPONSES当尝试$1方法时,@nnnnnn建议:

var result = regexFind.split(pattern).join("<span style='color: red;'>**$1**</span>");

输出:**$1**test**$1**

使用.replace()代替.match().join(),然后您可以将第一个子匹配引用为$1:

var result = regexFind.replace(/'*'*(.*?)'*'*/gi,
                               '<span style="font-weight: bold;">$1</span>');

(如果有第二个子匹配,它将是$2,以此类推)