콘솔워크

문자열에서 '괄호' 안에 들어있는 '날짜'에 해당하는 문자 추출하기 본문

프로그래밍/python

문자열에서 '괄호' 안에 들어있는 '날짜'에 해당하는 문자 추출하기

이휘재123 2022. 7. 7. 16:17
반응형

가끔 괄호안에 날짜를 입력해놓은 파일들이 있고 그걸 추출해야하는 경우가 있는데 그 때 사용할 수 있다.

import re

my_date = None
file_names = f'발주정보(123)(2022-07-07)(test)(괄호안문자)(ㅁㄴㅇㄹ)-거래처코드임시변경.xlsx'

# 괄호안에 들어있는 문자들을 추출해 리스트에 담는다
# 출력결과: ['123', '2022-07-07', 'test', '괄호안문자', 'ㅁㄴㅇㄹ']
bracket_pattern = r'\(([^)]+)'
file_names = re.findall(bracket_pattern, file_names)
print(f'{file_names}')


# 위의 출력결과에서 날짜에 해당하는 문자를 선택한다.
# yyyy-MM-dd 형식의 숫자를 찾아내는 정규식을 사용했다.
date_pattern = r'\d{4}-\d{2}-\d{2}'
for file_name in file_names:
    if bool(re.match(date_pattern, file_name)) == True:
        my_date = file_name
        break

# 추출한 날짜 2022-07-07
print(my_date)

정규식을 만들어내기 힘들다면 정규식을 두번 도는것도 하나의 방법

반응형