정규식(Regular Expression)을 사용하면 문자열의 특정 위치를 기준으로 패턴을 매칭할 수 있습니다. 특히 문자열의 끝부분을 찾고 싶다면 $ 메타 문자를 활용하면 됩니다.
$ 메타 문자란?
정규식에서 $는 문자열의 끝을 의미하는 앵커(anchor)입니다. 이 문자를 패턴 끝에 붙이면, 해당 패턴이 문자열 마지막 부분과 일치하는지 검사할 수 있습니다.
예를 들어, 다음 코드는 문자열 'cheer leaders at the football stadium'에서 끝에 위치한 단어 'stadium'을 찾아냅니다.
예제 코드
import re s = 'cheer leaders at the football stadium' result = re.search(r'\w+$', s) print(result.group())
코드 설명
r'\w+$':\w+는 하나 이상의 알파벳, 숫자, 언더스코어(_)로 이루어진 단어를 의미하고, 뒤에 붙은$가 그 단어가 문자열의 끝에 있어야 한다는 조건을 추가합니다.re.search(): 문자열 전체를 검색하여 패턴과 일치하는 첫 번째 부분을 반환합니다.result.group(): 매칭된 실제 문자열을 추출합니다.
실행 결과
stadium
위와 같이 문자열의 가장 마지막에 있는 단어인 'stadium'이 출력됩니다. 만약 $ 없이 \w+만 사용했다면 첫 번째 단어인 'cheer'가 매칭되었을 것입니다.
참고 사항
re.match()는 문자열의 시작 부분만 검사하기 때문에 끝부분 매칭에는 적합하지 않습니다. 문자열 어디든 패턴을 검색하려면 re.search()를 사용하는 것이 올바른 방법입니다. 또한 여러 줄 문자열에서 각 줄의 끝을 매칭하고 싶다면 re.MULTILINE 플래그를 함께 사용할 수 있습니다.