이전 글에서 참조했던 예시를 가지고 이번에는 앞 3자리(지역번호)와 뒤 7자리를 각각 그룹화하여 따로 출력해 보자.
>>> phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)')
>>> mo = phoneNumRegex.search('My number is 415-555-4242.')
>>> mo.group(1)
'415'
>>> mo.group(2)
'555-4242'
>>> mo.group(0)
'415-555-4242'
>>> mo.group()
'415-555-4242'
예제 출처: Automate the Boring Stuff with Python (https://automatetheboringstuff.com/2e/chapter7/)
위와 같이 괄호를 이용해 (\d\d\d)-(\d\d\d-\d\d\d\d) 이렇게 각각 그룹으로 묶으면 2개의 그룹이 생성된다.
첫 괄호 세트는 그룹 1, 두 번째 괄호 세트는 그룹 2가 된다.
.group()메서드에 정수 1 또는 2를 전달하여 매칭된 문자열의 각각 다른 부분을 얻어낼 수 있다.
만약 괄호 안에 0을 넣거나 아무것도 넣지 않으면, .group()메서드는 매치된 문자열 전체를 반환한다.
생성된 그룹을 모두 반환하고 싶다면, .groups() 메서드를 사용하면 된다.
>>> mo.groups()
('415', '555-4242')
>>> areaCode, mainNumber = mo.groups()
>>> print(areaCode)
415
>>> print(mainNumber)
555-4242
예제 출처: Automate the Boring Stuff with Python (https://automatetheboringstuff.com/2e/chapter7/)
'AI Journey > 혼자 공부하는 파이썬' 카테고리의 다른 글
[파이썬] 딕셔너리 - 딕셔너리 내용을 삭제하는 메서드 (0) | 2025.02.21 |
---|---|
[파이썬] 리스트 - 리스트 내용을 삭제하는 메서드 .remove(), .pop(), clear() 비교 (0) | 2025.02.21 |
[파이썬] 정규 표현식(Regex) 1. 컴파일, Match 객체 (예제: 전화번호 찾기) (0) | 2025.02.20 |
[파이썬] pass 문을 자리표시자(placeholder)로 사용하기 (0) | 2025.02.16 |
[파이썬] 함수 - 기본 매개변수 값 (Default Parameter Value) (0) | 2025.02.16 |