首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript替换为对匹配组的引用?

Javascript替换为对匹配组的引用?
EN

Stack Overflow用户
提问于 2009-08-05 17:48:15
回答 3查看 165.7K关注 0票数 272

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

我正在寻找的是一种方法,可以在每次匹配时运行函数,就像那样:

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

能够引用匹配的组,这也是在ruby中可以做到的:

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

有什么想法或建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-05 17:51:15

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

哦,或者你也可以:

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

编辑Liran H:对于包括我在内的其他六个人来说,$1不起作用,而\1起作用了。

票数 459
EN

Stack Overflow用户

发布于 2009-08-05 17:52:27

您可以使用replace而不是gsub

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

Stack Overflow用户

发布于 2019-02-02 21:05:14

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

文档链接:here

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

备注:

如果希望在替换字符串中包含$,请使用$$。与vscode代码片段系统相同。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1234712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档