문자열의 위치
정규표현식은 문자열을 위치에 따라서 특정할 수 있다. 즉 해당 문자열이 행의 시작에 있는지 끝에 있는지에 따라 구별하여 특정할 수 있고, 단어의 시작인지 끝에 위치한 것인지를 특정할 수 있다.
캐럿(^)과 달러($)
앞선 문자 클래스 포스팅에서 캐럿(^)이 문자 클래스에서 not의 의미로 쓰이는 것을 언급한 바 있다. 하지만 캐럿(^)이 문자 클래스 외에서 쓰일 때에는 행의 첫 문자를 의미한다. 그리고 달러($)는 정규표현식에서 행의 끝 문자를 의미한다.
캐럿(^)과 달러($)를 사용할 경우 캐럿(^)은 탐색하고자 하는 문자열의 앞에 와야 하고 달러($)는 뒤에 와야 한다.
정규표현식 ^cat → 행의 맨 앞에 cat 문자열이 있을 경우 일치
정규표현식 cat$ → 행의 맨 뒤에 cat 문자열이 있을 경우 일치
위에서 작성한 정규표현식으로 탐색한 결과는 다음과 같이 나타난다.
단어의 시작(\<)과 끝(\>)
정규표현식으로 행의 시작과 끝에 있는 문자열을 특정할 수 있듯이 단어의 시작과 끝에 있는 문자열을 특정할 수 있다. 단어의 시작은 \< 로 나타내고 단어의 끝은 \> 로 나타낸다.
앞서 언급한 캐럿(^)과 달러($)처럼 단어의 시작(\<)은 찾고자 하는 문자열의 앞에 와야 하고 단어의 끝(\>)은 뒤에 와야 한다.
정규표현식 \<c.t → 단어의 맨 앞에 c○t 형식의 문자열이 있을 경우 일치(○은 임의의 문자 한 개)
정규표현식 c.t\> → 단어의 맨 뒤에 c○t 형식의 문자열이 있을 경우 일치(○은 임의의 문자 한 개)
해당 정규표현식으로 탐색한 결과는 다음과 같이 나타난다.
사진을 보면 알겠지만 단어들은 공백과 점(.), 아포스트로피(‘) 등으로 구분된다.
Anki 파일
아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다.
030 vim의 정규표현식(4) 문자열의 위치.apkg
'Anki로 공부하기 > vi 또는 vim 익히기' 카테고리의 다른 글
032 vim의 정규표현식(6) 특수 문자 (0) | 2018.06.14 |
---|---|
031 vim의 정규표현식(5) or (0) | 2018.06.13 |
029 vim의 정규표현식(3) 점(.) (0) | 2018.06.11 |
028 vim의 정규표현식(2) 문자 클래스 (0) | 2018.06.08 |
027 vim의 정규표현식(1) 개요 (0) | 2018.06.07 |