[파이썬] 문자열의 정규식 매칭 그룹

정규식(Regular Expression)은 텍스트에서 패턴을 찾거나 매칭하기 위해 사용되는 강력한 도구입니다. 문자열 처리를 다루는 많은 프로그래밍 언어에서 정규식을 지원하고 있으며, Python 역시 그 중 하나입니다.

정규식을 사용하여 문자열을 매칭할 때, 매칭 결과를 그룹으로 분리할 수 있습니다. 이 그룹은 원하는 부분만을 추출하고 처리할 때 유용합니다. 이번 블로그 포스트에서는 Python에서 정규식 매칭 그룹을 사용하는 방법에 대해 알아보겠습니다.

정규식 매칭 그룹 사용하기

Python의 re 모듈을 사용하여 정규식을 적용하고 매칭 그룹을 추출할 수 있습니다. 다음은 정규식 매칭 그룹을 사용하는 간단한 예시입니다.

import re

# 문자열에서 숫자를 추출하는 정규식
pattern = r'(\d+)'

# 매칭 대상 문자열
text = 'I have 5 apples and 10 oranges.'

# 정규식 매칭
matches = re.findall(pattern, text)

# 매칭 결과 출력
for match in matches:
    print(match)

위 코드는 문자열에서 숫자를 추출하는 정규식을 사용하여 매칭 그룹을 추출하는 예시입니다. 매칭 대상 문자열에서 정규식에 해당하는 부분을 모두 찾아서 리스트로 반환하게 됩니다. 이후 매칭 결과를 반복문을 통해 출력합니다.

실행 결과는 다음과 같습니다.

5
10

매칭 그룹 사용하기

정규식 매칭 그룹에서는 괄호로 둘러싼 부분을 각각의 그룹으로 취급합니다. 이 그룹은 0부터 시작하는 인덱스를 갖고 있으며, group() 메서드를 통해 추출할 수 있습니다.

import re

# 이메일 주소에서 사용자 이름과 도메인을 추출하는 정규식
pattern = r'(\w+)@(\w+\.\w+)'

# 매칭 대상 문자열
text = 'example@example.com'

# 정규식 매칭
match = re.search(pattern, text)

# 추출된 그룹 출력
print(match.group(1))
print(match.group(2))

위 코드는 정규식을 사용하여 이메일 주소에서 사용자 이름과 도메인을 추출하는 예시입니다. group(1)은 첫 번째 그룹 즉, 사용자 이름을 추출하고, group(2)는 두 번째 그룹 즉, 도메인을 추출합니다.

실행 결과는 다음과 같습니다.

example
example.com

결론

정규식은 문자열 처리에 있어서 매우 강력한 도구입니다. Python에서는 re 모듈을 통해 정규식을 사용하고 매칭 그룹을 추출할 수 있습니다. 매칭 그룹은 문자열에서 원하는 부분만을 추출하는 데 유용하게 사용됩니다.

정규식 매칭 그룹을 사용하여 문자열을 효과적으로 매칭하고 원하는 데이터를 추출해보세요!