나는 몇 줄 아래처럼이정력 교체 문제
aaa=$aaa
bbb=$bbb
ccc=$ccc
ddd=$ddd
그래서 난 정력에 그것을 할 다음 명령을 사용하지만 오류
:s/\(\^*\)/\1=\$\1/
있고 난 여기 \1
을 실현 두 번 사용할 수 없습니다, 나는이 어떻게해야합니까?
나는 몇 줄 아래처럼이정력 교체 문제
aaa=$aaa
bbb=$bbb
ccc=$ccc
ddd=$ddd
그래서 난 정력에 그것을 할 다음 명령을 사용하지만 오류
:s/\(\^*\)/\1=\$\1/
있고 난 여기 \1
을 실현 두 번 사용할 수 없습니다, 나는이 어떻게해야합니까?
뒤로 참조 \1
은 원하는만큼 사용할 수 있지만 다른 문제가 있습니다. 귀하의 정규식처럼 보일 것입니다 :
:%s/^\(.*\)/\1=\$\1/
설명 : %
모든 라인에 대체 정력을 말한다; ^
은 줄의 시작 부분에 대한 표시로 정규 표현식의 첫 번째 문자 여야하며 이스케이프해서는 안됩니다. .*
은 "임의의 문자"를 의미합니다. 그러나 원래 식 \(\^*\)
은 리터럴 문자 ^
(없음 포함)의 반복 횟수를 찾습니다.
줄의 전체 내용과 일치하는 경우 \(...\)
을 통해 ^
앵커 또는 캡처가 필요하지 않습니다. 교체 할 때 \0
또는 더 짧게 &
을 사용할 수 있습니다. (또한 $
을 탈출 할 필요가 없습니다.)
:%s/.*/&=$&
위대한 문제가 해결되었습니다. :) – user1726366