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

정규 표현식(Regular Expressions)은 특정 패턴을 찾아내는 데에 사용되는 강력한 도구입니다. 하지만 매칭된 결과를 그대로 사용하기보다는 원하는 방식으로 변환하는 경우가 종종 있습니다.

이번 포스트에서는 Python에서 정규 표현식의 매칭된 결과 문자열을 변환하는 방법에 대해 알아보겠습니다.

re 모듈

Python에서 정규 표현식을 다루기 위해 사용하는 모듈은 re입니다. re 모듈은 다양한 함수와 메소드를 제공하여 정규 표현식을 사용할 수 있도록 도와줍니다.

re.sub() 함수를 사용한 문자열 변환

정규 표현식 매칭 결과의 문자열 변환을 위해 re.sub() 함수를 사용할 수 있습니다. 이 함수를 사용하면 매칭된 문자열을 다른 문자열로 치환할 수 있습니다.

아래는 re.sub() 함수를 사용하여 매칭된 문자열을 치환하는 예제입니다.

import re

text = "Today is a beautiful day"
new_text = re.sub(r"beautiful", "wonderful", text)

print(new_text)  # Output: "Today is a wonderful day"

위의 예제에서는 re.sub() 함수를 사용하여 beautiful이라는 문자열을 wonderful로 치환했습니다. 결과적으로 변환된 문자열인 Today is a wonderful day가 출력됩니다.

정규 표현식 그룹 활용하기

re.sub() 함수에서 정규 표현식 그룹(Group)을 활용하면 매칭된 부분을 다른 문자열에 삽입할 수도 있습니다.

아래는 정규 표현식 그룹을 활용하여 문자열을 변환하는 예제입니다.

import re

text = "My phone number is 123-456-7890"
new_text = re.sub(r"(\d{3})-(\d{3})-(\d{4})", r"(\1) \2-\3", text)

print(new_text)  # Output: "My phone number is (123) 456-7890"

위의 예제에서는 (\d{3})-(\d{3})-(\d{4})와 같은 정규 표현식을 사용하여 전화번호 형식을 매칭합니다. 그리고 (\1) \2-\3와 같이 그룹 번호를 사용하여 변환된 문자열을 생성합니다. 결과적으로 변환된 문자열인 My phone number is (123) 456-7890가 출력됩니다.

결론

Python에서 정규 표현식의 매칭 결과 문자열을 변환하는 방법을 알아보았습니다. re.sub() 함수를 사용하여 정규 표현식 매칭 결과를 다른 문자열로 치환할 수 있으며, 그룹을 활용하여 더 복잡한 변환 작업도 수행할 수 있습니다.

정규 표현식은 문자열 처리에 유용한 도구로 다양한 상황에서 활용될 수 있으므로 익숙해지는 것이 좋습니다.