개요
2022.08.29 - [정규 표현식] Group에서 메타문자 소괄호를 이용해 특정 문자열의 패턴 일치 여부를 확인했다.
이 글에서는 그룹화한 패턴에 일치한 문자열을 Dictionary로 반환해 본다.
패턴 그룹화 및 네이밍
정규표현식 그룹화 및 네이밍 방법은 아래와 같다.
(?P<group_name>PATTERN)
예시)
import re
val = 'jon@geekforgeeks.org'
match_object = re.match(r"(?P<Username>\w+)@(?P<Website>\w+)\.(?P<Domain>\w+)", val)
print(match_object.groups())
re.groupdict
re.groupdict 함수는 group의 이름을 키로, 패턴에 일치한 문자열을 값으로 하는 Dictionary를 반환한다. 만약 일치하는 문자열이 없는 데 사용하는 경우 AttributeError가 발생한다.
예시)
import re
val = 'jon@geekforgeeks.org'
match_object = re.match(r'(?P<Username>\w+)@(?P<Website>\w+)\.(?P<Domain>\w+)', val)
if match_object:
print(match_object.groupdict())
참고 문서
https://stackoverflow.com/questions/30627810/how-to-parse-this-custom-log-file-in-python
https://www.geeksforgeeks.org/re-matchobject-groupdict-function-in-python-regex/