Python

[Python] re.groupdict - 그룹화한 정규표현식 Dictionary로 반환

비번변경 2023. 2. 16. 22:20

개요

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/

https://docs.python.org/ko/3/howto/regex.html