다음과 같은 항목이 포함된 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