[python] 정규표현식을 이용한 문자열 치환하기

정규표현식은 특정한 패턴의 문자열을 검색하거나 변환하기 위해 사용됩니다. 이번 포스트에서는 Python에서 정규표현식을 이용하여 문자열 치환하는 방법에 대해 알아보겠습니다.

re 모듈

Python에서 정규표현식을 사용하기 위해서는 re 모듈을 import 해야합니다. re 모듈은 정규표현식을 처리하기 위한 다양한 함수를 제공합니다.

먼저 아래와 같이 re.sub() 함수를 이용하여 문자열 치환을 해보겠습니다.

import re

original_string = "Hello, World!"
new_string = re.sub(r"Hello", "Hi", original_string)
print(new_string)

위 코드를 실행하면 “Hello”란 단어를 “Hi”로 치환하여 “Hi, World!”라는 결과가 출력됩니다.

정규표현식 패턴 작성

re.sub() 함수는 첫 번째 인자로 치환하고자 하는 패턴을 받습니다. 이 패턴은 정규표현식으로 작성되어야 합니다. 예를 들어, 아래와 같이 .을 이용하여 모든 문자를 의미하는 패턴을 작성할 수 있습니다.

import re

original_string = "apple, banana, cherry"
new_string = re.sub(r".", "*", original_string)
print(new_string)

위 코드를 실행하면 모든 문자가 ““로 치환된 결과인 “*** **** **“가 출력됩니다.

그룹(Group) 활용

정규표현식에서 그룹을 사용하면 치환하는 문자열에서 그룹에 해당하는 부분을 추출하여 사용할 수 있습니다. 아래 예제를 통해 그룹 활용 방법을 살펴보겠습니다.

import re

original_string = "Hello, World!"
new_string = re.sub(r"(Hello), World!", r"\1, Python!", original_string)
print(new_string)

위 코드를 실행하면 “Hello, Python!”이라는 결과가 출력됩니다. 여기서 (Hello)로 그룹화한 부분이 \1로 치환되었습니다.

결과

정규표현식을 이용한 문자열 치환은 re.sub() 함수를 사용하여 간단하게 처리할 수 있습니다. 정규표현식 패턴을 작성하고 그룹을 활용하는 방법을 익혀서 다양한 문자열 치환 작업을 수행할 수 있습니다.


참고 자료: