JS的正则expression式,如何取代只捕获的组?

好的问题很简单。 我正在寻找一个这样的string:

name="some_text_0_some_text" 

上面的string前后都有HTML代码。

现在我想用下面的东西replace0!NEW_ID!

所以我做了一个简单的正则expression式:

 .*name="\w+(\d+)\w+".* 

但我不知道如何完全取代捕获的块。

有没有办法用其他stringreplace($ 1)捕获的结果?

结果将是:

 name="some_text_!NEW_ID!_some_text" 

谢谢你的帮助 :)

一个解决scheme是为前面和后面的文本添加捕获:

 str.replace(/(.*value="\w+)(\d+)(\w+".*)/, "$1!NEW_ID!$3")