문자열
앞서 문자열 탐색의 포스팅에서는 탐색할 문자열을 슬래쉬(/)나 물음표(?) 다음에 바로 입력했다. 이 때 입력한 단순한 문자열도 그 자체로 정규표현식이다. 문자열로 탐색하면 해당 문자열로만 이루어진 것을 찾아주지 않는다. 독립된 단어이든 어떤 단어의 일부이든 그저 탐색할 문자열과 일치하는 모든 것을 전부 탐색한다. 다음은 그 사례다.
점(.) 표현
정규표현식에서 점(.)은 아무 문자나 단 한 개의 문자를 의미한다. 가령, 앞에서 cat를 탐색한 것과 다르게 3글자이고 c와 t는 기억이 나는데 가운데 한 글자가 기억이 나지 않는 경우가 있다. 이럴 때는 어떻게 검색해야 할까? 명령 라인에 다음처럼 입력하면 된다.
/c.t
그 결과는 다음과 같다.
즉, c와 임의의 한 글자 그리고 t의 세 글자로 이루어진 문자열을 전부 찾는다.
단, 문자 클래스([ ]) 안에서 점(.)표현을 쓸 때는 그냥 점(.) 그 문자 자체를 의미하므로 c[.]t는 c.t만 해당되고 cat, cut 등은 전부 해당되지 않음
점(.)으로 탐색할 때 반드시 해당하는 임의의 글자가 1개 있어야 하므로 의 특성을 사용하면 다양한 방식으로 문자열을 탐색할 수 있다.
/.cat → cat 문자열 앞에 최소 한 글자(공백포함)가 있어야 함. (cat가 행의 가장 앞으로 나오는 경우 제외)
/cat. → cat 문자열 뒤에 최소 한 글자(공백포함)가 있어야 함. (cat가 행의 가장 뒤에 붙는 단어 제외)
/c..t → c○○t 형태의 문자열
※ 공백도 점(.)이 나타내는 한 개의 문자에 해당되므로 이 점은 주의를 요함
Anki 파일
아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다.
'Anki로 공부하기 > vi 또는 vim 익히기' 카테고리의 다른 글
031 vim의 정규표현식(5) or (0) | 2018.06.13 |
---|---|
030 vim의 정규표현식(4) 문자열의 위치 (1) | 2018.06.12 |
028 vim의 정규표현식(2) 문자 클래스 (0) | 2018.06.08 |
027 vim의 정규표현식(1) 개요 (0) | 2018.06.07 |
026 vim의 문자열 탐색 (1) | 2018.06.05 |