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

정규 표현식은 특정 패턴 또는 규칙에 맞는 문자열을 찾기 위해 사용되는 강력한 도구입니다. 이러한 패턴을 사용하여 문자열을 매칭하고 분리하려면 일반적으로 Python의 re 모듈을 사용합니다. 이 블로그에서는 Python에서 정규 표현식의 매칭 결과 문자열을 분리하는 방법을 알아보겠습니다.

1. re.split() 함수를 사용하여 문자열 분리하기

re.split() 함수는 정규 표현식 패턴에 매칭되는 위치에서 문자열을 분리하여 리스트로 반환합니다.

import re

text = "Hello, World! 123"
separators = re.split("[\s,]+", text)

print(separators)

위의 예제에서는 [\s,]+ 패턴을 사용하여 공백 또는 쉼표를 구분자로 사용하여 문자열을 분리합니다. 실행 결과는 다음과 같습니다.

['Hello', 'World!', '123']

2. re.findall() 함수를 사용하여 매칭된 문자열 추출하기

re.findall() 함수는 정규 표현식 패턴에 매칭되는 모든 부분 문자열을 추출하여 리스트로 반환합니다.

import re

text = "The quick brown fox jumps over the lazy dog."
vowels = re.findall("[aeiou]", text)

print(vowels)

위의 예제에서는 [aeiou] 패턴을 사용하여 모음 문자를 추출합니다. 실행 결과는 다음과 같습니다.

['e', 'u', 'i', 'o', 'o', 'u', 'o', 'e', 'a', 'o']

3. re.finditer() 함수를 사용하여 매칭된 문자열에 대한 반복자 얻기

re.finditer() 함수는 정규 표현식 패턴에 매칭되는 부분 문자열에 대한 반복자(iterator)를 반환합니다. 이를 통해 매칭된 문자열을 하나씩 순회하며 작업할 수 있습니다.

import re

text = "The quick brown fox jumps over the lazy dog."
matches = re.finditer("[a-zA-Z]+", text)

for match in matches:
    print(match.group())

위의 예제에서는 [a-zA-Z]+ 패턴을 사용하여 알파벳 문자열을 추출하고, 해당 문자열을 반복자를 사용하여 순회하며 출력합니다. 실행 결과는 다음과 같습니다.

The
quick
brown
fox
jumps
over
the
lazy
dog

정규 표현식을 사용하여 문자열을 매칭하고 분리하는 방법에 대해 알아보았습니다. re.split(), re.findall(), re.finditer() 함수를 통해 문자열 분리 및 추출 작업을 효율적으로 수행할 수 있습니다. 이를 응용하여 다양한 텍스트 처리 작업을 수행할 수 있습니다.