web-dev-qa-db-ja.com

VSCode正規表現はサブマッチ数学を見つけて置き換えますか?

%s@{fileID: \(213[0-9]*\)@\='{fileID: '.(submatch(1)-1900)@

私はvimでこの正規表現検索と置換コマンドを使用して、一致する各IDから定数を減算します。

正規表現はvscodeで見つけることができますが、どうすれば数学と置換のサブマッチを参照できますか? submatch(1)はVSCODEで動作しません?

ありがとう。

117
Rakka Rage

(foobar)の正規表現が与えられた場合、replace入力フィールドにさらにグループがある場合は$1を使用して最初のグループを参照できます。

200
Benjamin Pasero

例を挙げてベンジャミンの答えを補強する:

Find        Carrots(With)Dip(Are)Yummy
Replace     Bananas$1Mustard$2Gross
Result      BananasWithMustardAreGross

括弧内のものはすべて正規表現にすることができます。

63
Shaun Luttin

別の例を追加するだけです:

私はimgのhtmlタグの中のsrc attrを置き換えていました、しかし私はsrcだけを置き換えて、img宣言とsrc属性の間にどんなテキストも保持する必要がありました。

画像のように検索+置換ツール(ctrl + h)を使用しました。 Find and replace

38
Diogo Paschoal