Use o sinalizador muito mágico \v
para tornar o regex mais parecido com perl
e menos com vim
(o que exige que o (
seja salvo, mas no lado + \d+
matches):
:%s/\vVALUES\(\d+/VALUES(DEFAULT
Eu tenho um arquivo de despejo sql que inclui entradas como esta:
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);
Eu quero pesquisar e substituir "VALUES (XXX", por "VALUES (DEFAULT)" O número que atualmente segue os valores das palavras pode ter até 5 dígitos.
Até agora, tenho andado a brincar com os seguintes comandos, semelhantes a:
:%s/\<(VALUES(\d+\>,/VALUES(DEFAULT,/g
Mas não consigo acertar. Qualquer sugestão seria apreciada.
Tags vim regular-expression