vimで数値を検索して置換する

vimで数値を検索して置換する

次のエントリを含むSQLダンプファイルがあります。

INSERT INTO "widgets" VALUES(152,'12477','[email protected]','smtp','Jerry Jo',0);
INSERT INTO "widgets" VALUES(153,'12477','36542','sip','Jerry Jo',0);
INSERT INTO "widgets" VALUES(158,'92865','[email protected]','smtp','Jane Jo',0);

「VALUES(XXX、」)を検索して、現在の単語の値の後に最大5桁の「VALUES(DEFAULT」)に置き換えたいと思います。

これまで、私は次のようなコマンドを使用してきました。

 :%s/\<(VALUES(\d+\>,/VALUES(DEFAULT,/g

しかし、私はそれを正確に理解できないようです。どんな提案でも大変感謝します。

答え1

使用素晴らしい \vフラグは正規表現をよりよく似ているperlか、それほど似ていませんvim(したがってエスケープが必要です(が、\d+前の部分は一致します)。

:%s/\vVALUES\(\d+/VALUES(DEFAULT

関連情報