HOWTO · Python

Python에서 정규식으로 그룹 캡처

이 자습서는 Python에서 정규식을 사용하여 그룹을 캡처하는 방법을 보여줍니다.

이 페이지의 내용

이 자습서는 Python에서 정규식을 사용하여 그룹을 캡처하는 방법을 보여줍니다. 또한 그룹과 그룹을 캡처하는 방법에 대해 알아봅니다. 다이빙하자.

Python에서 정규식으로 그룹 캡처

그룹은 괄호로 묶인 정규식 패턴의 메타 문자입니다. 괄호 쌍 () 안에 정규식 패턴을 사용하여 그룹을 만들 수 있습니다. 예를 들어 문자 c, at는 정규 구문 (cat)에 의해 단일 그룹으로 결합됩니다.

예를 들어 실제 시나리오에서 전화 번호와 이메일을 기록할 수 있습니다. 따라서 두 개의 그룹을 만들어야 합니다. 첫 번째 그룹은 이메일을 조회하고 두 번째 그룹은 전화번호를 조회합니다.

또한 그룹을 캡처하여 일련의 문자를 단일 엔터티로 처리할 수 있습니다. 그룹화해야 하는 문자 주위에 괄호를 추가하여 만듭니다.

원하는 만큼 그룹을 지정할 수 있습니다. 예를 들어 한 쌍의 괄호 안에 각 하위 패턴의 그룹을 기록할 수 있습니다. 캡처 그룹의 여는 괄호 안의 숫자는 왼쪽에서 오른쪽으로 계산됩니다.

캡처 그룹의 정규식 일치 기능을 사용하면 일치 개체를 쿼리하여 특정 정규식 구성 요소와 일치하는 텍스트 부분을 확인할 수 있습니다.

괄호 () 안에 있는 것은 무엇이든 캡처 그룹입니다. 정규식 match 객체의 group(group number) 메서드를 사용하여 각 그룹의 일치 값을 추출할 수 있습니다.

먼저 다음 명령을 사용하여 python 디렉토리에 regex를 설치해야 합니다.

pip install regex

Python에서 정규식을 사용하여 그룹을 캡처하는 방법을 알아보려면 다음 코드를 살펴보십시오.

import re

date = "09/03/2022"
pattern = re.compile("(\d{2})\/(\d{2})\/(\d{4})")
match = pattern.match(date)

print("start")
print(match)
print(match.groups())

# group 0 : matches whole expression
print(match.group(0))

# group 1: match 1st group
print(match.group(1))

# group 2: match 2nd group
print(match.group(2))

# group 3: match 3rd group
print(match.group(3))

출력은 다음과 같습니다.

start
<re.Match object; span=(0, 10), match='09/03/2022'>
('09', '03', '2022')
09/03/2022
09
03
2022

보시다시피 인덱스 값을 사용하여 각 그룹을 캡처할 수 있습니다.