在 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,”) 并将其替换为“VALUES(DEFAULT,”,当前单词值后面的数字最长可达 5 位。

到目前为止,我一直在使用类似于以下命令:

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

但我似乎无法正确理解。任何建议,将不胜感激。

答案1

使用非常神奇 \v标志使正则表达式更像perl和不太像vim(因此需要转义(但在正面\d+匹配):

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

相关内容