정규표현식 위치 찾기

Kim Jin Hyeok·2021년 2월 25일
0

전체 텍스트가 아닌 특정 위치에서 텍스트를 찾을 때도 있다. 그럴 경우 위치 찾기를 사용한다.

경계 지정하기

위치 찾기 position matching 는 텍스트 문자열 안에서 반드시 일치해야 하는 위치를 지정할 때 사용된다.

경계 지정의 필요성

예문

The cat scattered his food all over the room.

패턴

cat

결과

The cat scattered his food all over the room.

cat이 있는 부분 모두와 일치해버렸다. scattered 사이의 cat은 보통 의도하지 않은 결과일 것이다.
이럴 경우 경계(boundary)를 지정하거나 패턴 앞 뒤의 특정한 위치 혹은 경계를 나타내는 메타 문자를 이용한다.

단어 경계 지정하기

가장 흔하게 사용하는 것은 \b로 표시하는 단어 경계다. 위 예제에서는 \bcat\b으로 사용할 수 있다. 만약 scattered 사이의 cat만을 원한다면 대문자인 \Bcat\B로 사용한다.

문자열 경계 정의하기

단어 경계는 단어의 위치를 기반으로 찾는데 문자열 경계는 단어 경계와 기능은 비슷하지만 전체 문자열의 시작이나 끝 부분과 패턴을 일치시키고자 할 때 사용한다.

문자열 경계는 캐럿(^)으로 문자열의 시작을, 달러($)로 문자열의 마지막을 나타낸다.

다중행 모드 사용하기

다른 메트 문자의 동작을 변경하는 특수한 메타 문자가 있는데 그 중 하나가 (?m)으로 표현하는 다중행 모드이다. 다중행 모드로 변경하면 줄바꿈 문자를 문자열 구분자로 인식한다.

참고: Ben Forta, Learning Regular Expressions(2018)

0개의 댓글