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

정규 표현식 (Regular Expression)은 문자열 패턴을 검색, 추출 또는 대체하는 데 도움이 되는 강력한 도구입니다. Python은 내장된 re 모듈을 통해 정규 표현식을 지원하며, 매칭된 결과를 조합하는 다양한 방법을 제공합니다. 이번 블로그 포스트에서는 Python에서 정규 표현식의 매칭 결과 문자열을 조합하는 방법을 알아보겠습니다.

1. match 함수를 통한 매칭 결과 조합

re 모듈의 match 함수는 주어진 정규 표현식을 문자열의 시작 부분과 비교하여 매칭되는 부분을 찾습니다. 이 함수를 사용하여 매칭된 결과를 조합하는 방법은 다음과 같습니다:

import re

pattern = r'^[A-Za-z]+\d+$'
text = "Abcd1234"

match = re.match(pattern, text)
combined_result = match.group() if match else "No match"

print(combined_result)

위의 예제에서 r'^[A-Za-z]+\d+$'는 문자열이 알파벳으로 시작하고, 숫자로 끝나는 패턴을 의미합니다. Abcd1234라는 문자열은 이 패턴과 일치하기 때문에 매칭 결과를 조합하여 출력됩니다.

2. search 함수를 통한 매칭 결과 조합

re 모듈의 search 함수는 문자열 전체에서 매칭되는 부분을 찾아줍니다. 이를 활용하여 매칭 결과를 조합할 수 있습니다:

import re

pattern = r'\d+'
text = "Hello 123 World 456"

matches = re.findall(pattern, text)
combined_result = ", ".join(matches) if matches else "No matches"

print(combined_result)

위의 예제에서 r'\d+'는 문자열에서 연속된 숫자를 찾는 패턴을 나타냅니다. Hello 123 World 456라는 문자열에서 숫자인 123456을 찾아 매칭 결과를 조합하여 출력됩니다. 결과는 123, 456입니다.

3. sub 함수를 통한 매칭 결과 대체

re 모듈의 sub 함수는 매칭된 부분을 다른 문자열로 대체할 수 있습니다. 이를 활용하여 매칭 결과를 조합하는 방법은 다음과 같습니다:

import re

pattern = r'\d+'
text = "Hello 123 World 456"

replaced_text = re.sub(pattern, "X", text)

print(replaced_text)

위의 예제에서 r'\d+'는 문자열에서 숫자를 찾는 패턴을 의미합니다. Hello 123 World 456라는 문자열에서 숫자 부분이 “X”로 대체되어 출력됩니다. 결과는 Hello X World X입니다.

이처럼 Python에서 정규 표현식의 매칭 결과를 조합하는 방법은 다양하게 존재하며, 사용 목적에 맞게 적절한 방법을 선택하여 프로그래밍할 수 있습니다.

마무리

이번 블로그 포스트에서는 Python에서 정규 표현식의 매칭 결과 문자열을 조합하는 방법을 살펴보았습니다. match, searchsub 함수를 활용하여 매칭된 결과를 다양하게 활용할 수 있습니다. 정규 표현식을 잘 활용하면 문자열 처리 작업을 보다 효율적으로 수행할 수 있으므로, 앞으로 자신의 프로젝트나 작업에 활용해 보시기 바랍니다.