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

정규 표현식(regular expression)은 특정 패턴을 가진 문자열을 매칭하기 위해 사용되는 강력한 도구입니다. Python에서는 re 모듈을 사용하여 정규 표현식을 처리할 수 있습니다. 이번 블로그 포스트에서는 정규 표현식으로 매칭된 결과를 어떻게 처리하는지 살펴보겠습니다.

1. re 모듈의 사용 방법

Python의 re 모듈을 사용하려면 먼저 해당 모듈을 import 해야 합니다. 다음은 간단한 예제입니다.

import re

2. 정규 표현식 패턴과 매칭하기

매칭할 문자열과 패턴이 준비되었다면, re 모듈을 사용하여 매칭 결과를 얻을 수 있습니다. re.match() 함수를 사용하여 문자열의 시작부터 패턴과 매칭되는지 확인할 수 있습니다.

import re

pattern = r'ab'  # 매칭할 패턴
text = 'abcde'  # 매칭할 문자열

match = re.match(pattern, text)

if match:
    print("매칭되었습니다!")
else:
    print("매칭되지 않았습니다.")

3. 매칭된 결과 문자열 처리

매칭 결과를 얻게 되면, 다양한 방법으로 해당 결과를 처리할 수 있습니다. 예를 들어, 매칭된 부분 문자열을 추출하거나, 문자열을 변경하는 등의 처리를 할 수 있습니다.

3.1. 매칭된 부분 문자열 추출하기

re.match() 함수를 사용하여 매칭된 결과를 얻은 후, group() 메서드를 사용하여 매칭된 부분 문자열을 추출할 수 있습니다. 모든 매칭된 부분 문자열을 추출하려면 groups() 메서드를 사용합니다.

import re

pattern = r'ab'  # 매칭할 패턴
text = 'abcde'  # 매칭할 문자열

match = re.match(pattern, text)

if match:
    matched_string = match.group()
    print(f"매칭된 부분 문자열: {matched_string}")
else:
    print("매칭되지 않았습니다.")

3.2. 매칭된 부분 문자열 변경하기

re.sub() 함수를 사용하여 매칭된 부분 문자열을 다른 문자열로 변경할 수 있습니다. 매칭된 문자열을 변경하려면 re.sub() 함수의 첫 번째 인자로 변경될 패턴을 입력하고, 두 번째 인자로 변경될 문자열을 입력합니다.

import re

pattern = r'ab'  # 매칭할 패턴
text = 'abcde'  # 매칭할 문자열
new_text = re.sub(pattern, 'xy', text)  # 매칭된 부분 문자열을 'xy'로 변경

print(f"변경 전: {text}")
print(f"변경 후: {new_text}")

결론

Python의 re 모듈을 사용하면 정규 표현식의 매칭 결과를 다양한 방법으로 처리할 수 있습니다. 매칭된 부분 문자열을 추출하거나 변경할 수 있어서, 문자열 처리에 유용한 기능입니다. 정규 표현식을 사용하여 문자열을 효율적으로 처리하고 다양한 응용 프로그램에서 유용하게 사용할 수 있습니다.

정규 표현식에 대해 더 알아보려면 Python 공식 문서의 re 모듈을 참고하시기 바랍니다.