이맥스에서 정규식을 이용해 텍스트를 검색 후, 일부 텍스트만 변경하려면?
예를 들어 영어알파벳2개 뒤에 나오는 숫자0을 숫자1로 바꾸는 경우에 활용할 수 있는 방법
이맥스에서 정규 표현식을 이용해 특정 패턴을 검색하고, 일부 텍스트를 변경하려면 replace-regexp
명령을 사용할 수 있습니다. 아래의 단계를 따라하세요:
-
검색할 텍스트 정의: 영어 알파벳 2개 뒤에 나오는 숫자 0을 대체하려면, 정규 표현식은 다음과 같습니다:
\([a-zA-Z][a-zA-Z]\)0
-
replace-regexp
사용:- 명령어 실행: =M-x replace-regexp=를 입력한 후 Enter.
- 검색할 패턴 입력:
\([a-zA-Z][a-zA-Z]\)0
입력 후 Enter. - 바꿀 내용 입력: =\1=를 입력한 후 다음에 변경할 숫자 =1=를 입력하여 =\1=으로 첫 번째 그룹(두 개의 알파벳)을 포함시키고, 후에 1을 붙입니다. 즉, 그냥 =\11=을 입력합니다.
-
변경 적용: Enter를 눌러서 적용합니다.
이제 영어알파벳 2개 뒤에 있는 숫자 0이 숫자 1로 변경되었습니다.
이맥스 Evil에서 VIM 스타일로 위의 작업을 하려면?
Evil 모드에서 Vim 스타일로 위의 작업을 수행하려면 :s
명령을 사용할 수 있습니다. 아래 단계를 따라주세요:
-
레인지 지정: 범위를 선택하거나 파일 전체에서 변경할 경우 범위를 지정하지 않아도 됩니다.
-
명령 실행: 아래와 같은 형식의 명령을 입력합니다:
:%s
는 전체 파일에서 검색 및 대체를 의미합니다.\([a-zA-Z][a-zA-Z]\)0
는 두 개의 알파벳 뒤에 오는 0을 찾는 정규 표현식입니다.- =\11=은 첫 번째 그룹(알파벳)과 1을 결합한 것입니다.
/g
는 한 줄에 여러 번 일치하는 경우 모두 변경하겠다는 의미입니다.
-
Enter 키: 명령을 실행하기 위해 Enter 키를 눌러 완료합니다.
이제 해당 패턴의 모든 인스턴스가 변경됩니다.