vim에서 정규식으로 검색된 문자열에다 추가해서 치환을 하려고 할때 어떻게 하죠?

exospace의 이미지

vim으로 코딩을 않하다보니 알아두면 까먹고...알아두면 까먹고...
vim정규식으로 검색된 문자열을 치환하고 싶은데요.
%s/[0-9]\{4\}/test('\1')/g 이렇게 치면 되던것 같은데..안되네요..
그냥 울트라로 해버리긴 했는데..이거 또 궁금병이 도져서 일이 손에 안잡히네요..
아시는 분 알려주세요...T.T

irondog의 이미지

정확히 어떤 문장을 어떻게 바꾸려는지 감이 안잡혀서 뭐라고 답변하기는 좀 힘든데요.
대충 자연수 4자리인 문자열을 찾아서 "test('찾은문자')"로 바꾸시려는 것 같은데...
먼저 뒤의 정규식에서 "\1"이 아무런 의미 없어 보이네요.
앞에서 괄호로 지정된 곳이 있어야 매칭이 될텐디 없으니까 결과는
4자리 숫자는 모두 "test('')"로 바뀌게 될 것 같네요.
"\1"에 앞에서 매칭된 4자리 숫자를 넣으시려면 다음과 같이 되어야 겠죠.

Quote:
:%s/\([0-9]\{4\}\)/test('\1')/g

다시 말해서 "\1"에 매칭될 문자열을 앞에서 괄호로 묶어 주어야 하는 것입니다.