[파이썬] 정규 표현식의 매칭 결과 문자열 추출

정규 표현식(Regular Expression)은 텍스트에서 패턴을 찾고 추출하는 강력한 도구입니다. Python에서는 re 모듈을 사용하여 정규 표현식 기능을 제공합니다. 이번 블로그 포스트에서는 Python을 사용하여 정규 표현식의 매칭 결과 문자열을 추출하는 방법에 대해 알아보겠습니다.

1. re.match()를 사용한 문자열 추출

re.match() 함수는 주어진 정규 표현식과 문자열을 매칭하여 매치된 문자열을 추출하는데 사용됩니다.

import re

pattern = r'\d+'  # 숫자 패턴을 나타내는 정규 표현식

text = '2021년 1월 1일에 출시된 제품입니다.'
match = re.match(pattern, text)

if match:
    matched_string = match.group()
    print(matched_string)  # 출력: 2021

위의 예제에서는 정규 표현식 '\d+'를 사용하여 숫자 패턴을 매치시키고, re.match() 함수를 사용하여 주어진 문자열 text와 매칭합니다. 매치된 결과는 match 객체에 저장되며, match.group()을 사용하여 매칭된 문자열을 추출할 수 있습니다.

2. re.search()를 사용한 문자열 추출

re.search() 함수는 문자열 내에서 정규 표현식과 매칭되는 첫 번째 문자열을 찾아 추출하는데 사용됩니다.

import re

pattern = r'\b\w+@\w+\.\w+\b'  # 이메일 주소 패턴을 나타내는 정규 표현식

text = '문의 사항은 example123@example.com으로 연락주세요.'
match = re.search(pattern, text)

if match:
    matched_string = match.group()
    print(matched_string)  # 출력: example123@example.com

위의 예제에서는 정규 표현식 '\b\w+@\w+\.\w+\b'를 사용하여 이메일 주소 패턴을 매치시키고, re.search() 함수를 사용하여 주어진 문자열 text에서 매칭되는 첫 번째 문자열을 추출합니다.

3. re.findall()을 사용한 문자열 추출

re.findall() 함수는 주어진 문자열에서 정규 표현식과 매칭되는 모든 문자열을 추출하는데 사용됩니다.

import re

pattern = r'\b\w+\b'  # 단어 패턴을 나타내는 정규 표현식

text = 'Hello, world! Nice to meet you.'
matched_strings = re.findall(pattern, text)

print(matched_strings)  # 출력: ['Hello', 'world', 'Nice', 'to', 'meet', 'you']

위의 예제에서는 정규 표현식 '\b\w+\b'를 사용하여 단어 패턴을 매치시키고, re.findall() 함수를 사용하여 주어진 문자열 text에서 매칭되는 모든 단어를 추출합니다.


Python의 re 모듈을 사용하면 정규 표현식을 활용하여 문자열에서 원하는 패턴을 추출할 수 있습니다. 매칭 결과 문자열 추출은 텍스트 처리, 데이터 분석, 웹 스크래핑 등 다양한 상황에서 유용하게 활용될 수 있습니다.