1. ホーム
  2. ジャバスクリプト

[解決済み】キャプチャしたグループのみを置き換えるには?

2022-03-31 12:24:29

質問

文字列の前後にHTMLコードを記述しています。

name="some_text_0_some_text"

を置き換えたいと思います。 0 を次のようなものに変更します。 !NEW_ID!

そこで、簡単な正規表現を作ってみました。

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

しかし、キャプチャしたブロックだけを置き換える方法がわかりません。

($1)のようなキャプチャ結果を他の文字列に置き換える方法はありますか?

その結果、:

name="some_text_!NEW_ID!_some_text"

解決方法は?

解決策としては、前後のテキストにキャプチャーを追加することです。

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