문자 클래스
문자열 관련 탐색을 할 때는 앞서 포스팅한 문자열 탐색에서와 같이 그냥 해당 문자열을 바로 탐색하는 것이 가장 간단하다. 즉, 정방향으로 abc라는 문자열을 문서를 탐색할 때는 다음과 같이 명령 라인에 명령어를 입력하면 된다.
/abc
그런데 abc와 Abc로 맨 앞의 a가 대문자이거나 소문자인 경우를 모두 같이 탐색하고 싶으면 어떻게 해야 할까?
다음처럼 검색하면 된다.
/[Aa]bc
여기에서 대괄호([ ])로 묶인 것을 문자 클래스라고 부른다. 문자 클래스는 이 대괄호 사이에 있는 문자 중 하나와 일치하면 해당 문자와 일치하는 것으로 본다. 따라서 해당 위치에 올 수 있는 여러 문자들을 문자 클래스([ ]) 내에 배치하면 다양한 문자열을 아래와 같이 간단하게 찾을 수 있게 된다.
정규표현식과 일치하는 문자열
[ab]c → ac, bc
[Aa]b → Ab, ab
[1234]class → 1class, 2class, 3class, 4class
이 문자 클래스([ ])는 하이픈(-)을 이용하여 범위를 지정할 수 있다.
정규표현식과 일치하는 문자
[a-z] → 알파벳 소문자
[A-Z] → 알파벳 대문자
[1-9] → 1에서 9까지의 숫자
[a-zA-Z0-9] → 모든 알파벳과 숫자
또한, 문자 클래스([ ]) 내에 캐럿(^)을 이용하여 not의 의미를 부여할 수도 있다.
[^Ff]uck → uck 문자열 중에서 F 워드를 제외
[^0-9] → 숫자가 아닌 경우
Anki 파일
아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다.
'Anki로 공부하기 > vi 또는 vim 익히기' 카테고리의 다른 글
030 vim의 정규표현식(4) 문자열의 위치 (1) | 2018.06.12 |
---|---|
029 vim의 정규표현식(3) 점(.) (0) | 2018.06.11 |
027 vim의 정규표현식(1) 개요 (0) | 2018.06.07 |
026 vim의 문자열 탐색 (1) | 2018.06.05 |
025 vim 문자열 정렬 (0) | 2018.06.03 |