정규식(regular expression)을 활용하면 주어진 파일 이름에서 특정 확장자가 포함되어 있는지 손쉽게 확인할 수 있습니다. 아래 코드는 re 모듈의 search() 함수를 사용하여 파일 이름 끝부분의 확장자를 찾아내는 예제입니다.
예제
import re
result = re.search('.doc$', '87654_3.doc')
print(result.group())출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
.doc
코드 설명
여기서 핵심은 정규식 패턴 '.doc$'입니다. $ 기호는 문자열의 끝을 의미하는 앵커(anchor)로, 이 패턴은 문자열이 반드시 .doc으로 끝나는 경우에만 일치합니다. 따라서 파일 이름 중간에 .doc이라는 문자열이 있더라도 확장자로 인식하지 않습니다.
re.search()는 문자열 전체에서 패턴과 일치하는 부분을 검색하고, 일치하는 경우 match 객체를 반환합니다. 반환된 객체의 group() 메서드를 호출하면 실제로 일치한 문자열인 .doc을 얻을 수 있습니다.
참고로, 대소문자를 구분하지 않고 확장자를 확인하고 싶다면 re.search(r'\.doc$', filename, re.IGNORECASE)처럼 re.IGNORECASE 플래그를 함께 사용할 수 있습니다.