我有一行javascript
替换匹配,如下所示:
var str = "some string"
str.replace(/\[b\]((?:.|\n)+?)\[\/b\]/gmi, '**$1**')
是否可以在处理之前操纵$1
中的值?
例如,我想对.replace()
中的值运行标准$1
,就像这样(显然不起作用):
str.replace(/\[b\]((?:.|\n)+?)\[\/b\]/gmi, '**$1.replace('x', 'y')**')
这可能吗?如果是这样,怎么样?
答案 0 :(得分:1)
感谢elclanrs,我得到了它的工作。例如:
str.replace(
/\[b\]((?:.|\n)+?)\[\/b\]/gmi,
function(match, m1, m2){return '[' + m2 + '](' + m1.replace(/ /gmi, '%20') + ')';}
)