Javascript 替换为匹配组的引用?

2022-08-30 00:12:55

我有一个字符串,例如.我想用 JavaScript 分别用 和 替换这两个下划线。输出(因此)将类似于 。该字符串可能包含多对下划线。hello _there_<div></div>hello <div>there</div>

我正在寻找的是一种在每场比赛上运行函数的方法,就像Ruby所做的那样:

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

或者能够引用一个匹配的组,就像在ruby中可以完成的那样:

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

任何想法或建议?


答案 1
"hello _there_".replace(/_(.*?)_/, function(a, b){
    return '<div>' + b + '</div>';
})

哦,或者你也可以:

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

答案 2

您可以使用 代替 。replacegsub

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