Javascript替换引用匹配的组?

我有一个字符串,比如hello _there_。我想用JavaScript分别用<div></div>替换这两个下划线。输出(因此)看起来像hello <div>there</div>。字符串可能包含多对下划线。

我正在寻找的是一种方法要么运行一个函数在每个匹配,Ruby的方式:

"hello _there_".gsub(/_.*?_/) { |m| "<div>" + m[1..-2] + "</div>" }

能够引用一个匹配的组,同样可以在ruby中这样做:

"hello _there_".gsub(/_(.*?)_/, "<div>\\1</div>")

有什么想法或建议吗?

184037 次浏览
"hello _there_".replace(/_(.*?)_/, function(a, b){
return '<div>' + b + '</div>';
})

哦,或者你也可以:

"hello _there_".replace(/_(.*?)_/, "<div>$1</div>")

你可以使用replace代替gsub

"hello _there_".replace(/_(.*?)_/g, "<div>\$1</div>")

用于替换字符串和由$指定的替换模式。 以下是简历:

enter image description here

链接到doc: 在这里

"hello _there_".replace(/_(.*?)_/g, "<div>$1</div>")
< p > < br > < br > 注意:< / >强

如果你想在替换字符串中使用$,请使用$$。与vscode snippet系统相同。