次のエントリを含む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