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

정규 표현식은 문자열에서 패턴을 찾고 매칭을 수행하는 강력한 도구입니다. Python의 내장 모듈인 re를 사용하여 정규 표현식을 처리할 수 있습니다. 이번 블로그 포스트에서는 Python에서 정규 표현식의 매칭 결과를 검색하는 방법에 대해 알아보겠습니다.

1. re.search()를 사용하여 매칭 결과 검색하기

Python의 re 모듈에는 search() 함수가 있습니다. 이 함수는 정규 표현식과 문자열을 인자로 받아, 정규 표현식을 문자열에 매칭시키고 첫 번째 매칭 결과를 반환합니다. 다음은 re.search()를 사용하여 매칭 결과를 검색하는 예제 코드입니다.

import re

text = "Hello, world! This is a test string."

pattern = r"\b\w{5}\b"  # 5글자인 단어를 매칭시키는 정규 표현식

match = re.search(pattern, text)

if match:
    print("매칭 결과:", match.group())
else:
    print("매칭 결과가 없습니다.")

위 코드에서는 문자열 text에 대해 정규 표현식 패턴 r"\b\w{5}\b"을 매칭시키고, 매칭 결과를 출력합니다. 정규 표현식은 5글자인 단어를 매칭시키도록 설정되어 있습니다.

2. 모든 매칭 결과 검색하기

re.search()는 첫 번째 매칭 결과만 반환합니다. 하지만, 모든 매칭 결과를 검색하고 싶을 때는 re.findall() 함수를 사용할 수 있습니다. 다음은 re.findall()를 사용하여 모든 매칭 결과를 검색하는 예제 코드입니다.

import re

text = "Hello, world! This is a test string."

pattern = r"\b\w{5}\b"  # 5글자인 단어를 매칭시키는 정규 표현식

matches = re.findall(pattern, text)

if matches:
    print("매칭 결과:", matches)
else:
    print("매칭 결과가 없습니다.")

위 코드에서는 re.findall() 함수를 사용하여 text 문자열에 대해 정규 표현식 패턴을 매칭시키고, 모든 매칭 결과를 출력합니다.

3. 매칭 결과에 접근하기

매칭 결과에는 매칭된 문자열을 비롯하여 다양한 정보들이 포함될 수 있습니다. 이러한 정보에 접근하기 위해 match.group() 메서드를 사용할 수 있습니다. 다음은 매칭 결과에서 특정 부분을 추출하는 예제 코드입니다.

import re

text = "Hello, world! This is a test string."

pattern = r"\b(\w+)\b"  # 모든 단어를 매칭시키는 정규 표현식

matches = re.findall(pattern, text)

for match in matches:
    print("단어:", match)

위 코드에서는 re.findall()를 사용하여 text 문자열에 대해 정규 표현식 패턴을 매칭시키고, 매칭된 모든 단어를 출력합니다.


Python의 re 모듈을 사용하여 정규 표현식의 매칭 결과를 검색하는 방법에 대해 알아보았습니다. 이러한 기능을 사용하면 원하는 패턴을 검색하고 추출하는 데 유용하게 활용할 수 있습니다. 자세한 내용은 Python 공식 문서를 참고하시기 바랍니다.