2023-01-11 20:30:15

파이썬 정규식만으로도 여러 책이 출판되어 나와 있을 정도로 정규식의 세계는 매우 방대합니다. 파이썬 뿐만 아니라 많은 언어에서 정규식이라는 스킬은 중요하게 사용됩니다. 

 

오늘은 정규식을 활용하여 문자열에서 .exe 실행파일명만 추출해보겠습니다. 

 

import re

p = re.compile(r'[\w|.]*[.]exe')

data = '''
실행 파일 test.exe를 다운로드 받으세요.
test1.exe, test_v1.0.exe도 다운로드 받으세요.
한글.exe
테스트 이미지 파일 what.png, rena.jpg도 다운로드 받으세요.
'''

exe_list = p.findall(data)
print(exe_list)

 

 

보시다시피 exe 파일명만 잘 추출해냈습니다. 사용된 패턴의 의미를 살펴보겠습니다.

 

 [\w|.]*[.]exe

 

이 패턴은 크게 [\w|.]* 와 [.]exe 두 부분으로 나눌 수 있습니다. 뒷 부분은 .exe 패턴이니 비교적 쉽게 이해할 수 있으니 앞 부분을 조금 더 깊이 살펴보겠습니다. 

 

[\w|.]*에서 \w는 영문자와 숫자 그리고 _를 포함합니다. 그리고 |는 "or"의 의미를 갖습니다. 즉, [\w|.]의 의미는 영문자와 숫자, _와 .이 됩니다. *은 그러한 문자들이 0개 이상 반복된다는 뜻입니다.  

 

관련 글

- [python] 문자열에서 010-1234-5678 형태의 전화번호만 추출하기(정규식)

 

참고자료

[1] https://wikidocs.net/1669 점프 투 파이썬, 08장 정규표현식

[2] https://k9n.me/%ED%8C%8C%EC%9D%BC-%EB%AA%85%EB%AA%85-%EA%B7%9C%EC%B9%99-dd62063a1f2d 파일 명명 규칙