2020-06-24 17:00:09

img12.bmp, img17.bmp와 같은 이미지 파일명에서 숫자 12, 17만 추출해야하는 경우가 있습니다. re 모듈의 findall 함수를 이용하면 간단히 그것을 실현시킬 수 있습니다. re는 regular expression의 약자로 정규표현식을 위한 패키지입니다. 주로 문자열내에서 특정 표현 또는 패턴들을 찾아내고자 할 때 사용됩니다. 

 

자, 그럼 바로 img12.bmp에서 12를 추출해보도록 하겠습니다. 

 

 

단 한 줄의 코드로 쉽게 잘 찾아냈죠? 

 

이번에는 img12.bmp에서 파일 형식을 제외한 파일명 img12만 추출해볼까요?

 

 

img12를 잘 추출해냈습니다.

 

마지막으로 파일 형식 bmp만 추출해보겠습니다. 

 

 

이번에도 역시 bmp를 잘 찾아냈습니다. 

 

아래에 전체 코드를 정리해놨습니다. 

import re

x = 'img12.bmp'
num = re.findall(r"\d+", x)
print(num)

name = re.findall(r"^\w+", x)
print(name)

file = re.findall(r"\w+", x)
print(file[1])

 

 

<참고자료>

[1] https://www.guru99.com/python-regular-expressions-complete-tutorial.html, GURU99, "Python Regex: re.match(), re.search(), re.findall() with Example"