Match 객체
Match 객체는 문자열과 정규 표현식의
일치 정보를 담고 있는 객체입니다. Match 객체는
다음 메서드를 적용하여 얻을 수 있습니다: fullmatch,
match,
search.
Match 객체로부터 정보를 추출하는 것은 기본 메서드를 사용하여 가능합니다.
Match 객체에 적용하는 주요 메서드
| 메서드 | 목적 |
|---|---|
group |
영번째 그룹을 반환합니다. |
groups |
그룹들의 튜플을 반환합니다. |
groupdict |
명명된 그룹들의 딕셔너리를 반환합니다. |
span |
하나의 그룹 튜플의 첫 번째와 마지막 인덱스를 반환합니다. |
start |
하나의 그룹 튜플의 첫 번째 인덱스를 반환합니다. |
end |
하나의 그룹 튜플의 마지막 인덱스를 반환합니다. |
예시 . 메서드 없이 Match 객체
문자열에 match 메서드를 적용해 봅시다:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res)
코드 실행 결과:
<re.Match object; span=(0, 3), match='123'>
예시 . group 메서드
이제 group 메서드를 사용하여 Match object의
영번째 그룹을 출력해 봅시다:
txt = '123 456 789'
res = re.match('\d+', txt)
print(res.group())
코드 실행 결과:
'123'
예시 . groups 메서드
얻은 객체에 그룹들의 튜플을 출력하기 위해
groups 메서드를 적용해 봅시다:
txt = '123 456 789'
res = re.match('(\d)(\d)', txt)
print(res.groups())
코드 실행 결과:
('1', '2')
예시 . groupdict 메서드
명명된 그룹들의 딕셔너리를 출력하기 위해
groupdict 메서드를 적용할 수 있습니다:
res = re.match('(?P<test1>\d)(?P<test2>\d)', txt)
print(res.groupdict())
코드 실행 결과:
{'test1': '1', 'test2': '2'}
예시 . span 메서드
하나의 그룹 튜플의 첫 번째와 마지막 인덱스 튜플을
출력해 봅시다. 이를 위해 span 메서드를
사용합니다:
res = re.match('\d+', txt)
print(res.span())
코드 실행 후 두 개의 인덱스로 구성된 튜플을 보게 될 것입니다. 하지만 마지막 값이 끝 인덱스보다 하나 더 크다는 점에 유의하세요:
(0, 3)
예시 . start와 end 메서드
각 인덱스를 개별적으로 반환하기 위해
start와 end 메서드를 적용할 수
있습니다:
res = re.match('\d+', txt)
print(res.start())
print(res.end())
코드 실행 결과:
0
3