Python의 search 메서드에서 group 메서드를 통한 캡처 그룹 활용
캡처 그룹을 다루는 또 다른 방법은
group 메서드를 사용하는 것입니다.
이 메서드의 매개변수에는 출력할 캡처 그룹의
번호를 지정합니다. 매개변수에 0을
지정하거나 비워두면, 정규 표현식과 일치하는
전체 부분 문자열이 반환됩니다.
다음 문자열이 있다고 가정해 봅시다:
txt = '123 456 789'
search 메서드의 정규 표현식으로 지정된
숫자와 첫 번째로 일치하는 부분을 이 문자열에서
추출해 봅시다. 그리고 부분 문자열을 세 개의
캡처 그룹에 나누어 담은 후, 각각을
group 메서드로 출력해 보겠습니다:
res = re.search('(\d+)(\d+)(\d+)', txt)
print(res.group(0)) # '123'을 출력합니다
print(res.group(1)) # '1'을 출력합니다
print(res.group(2)) # '2'을 출력합니다
print(res.group(3)) # '3'을 출력합니다
다음 문자열이 주어졌습니다:
txt = 'username:john'
'username:'을 첫 번째 캡처 그룹에,
'john'은 두 번째 캡처 그룹에
담으세요. 모든 캡처 그룹을 콘솔에
출력하세요.
다음 문자열이 주어졌습니다:
txt = '123 aaabbbccc'
모든 알파벳 문자를 세 개의 캡처 그룹에
분해하세요. 'a'로 구성된 부분 문자열은
첫 번째 캡처 그룹으로, 'b'는 두 번째
캡처 그룹으로, 'c'는 세 번째 캡처
그룹으로 들어가도록 합니다. 모든 캡처 그룹을
콘솔에 출력하세요.