[파이썬] 정규 표현식의 공백 문자 반복

정규 표현식은 문자열 패턴을 검색하고 조작하는 강력한 도구입니다. 이를 이용해 특정한 패턴의 문자열을 찾아내거나 변경할 수 있습니다. 이번 글에서는 정규 표현식을 사용하여 공백 문자 반복을 다루는 방법을 살펴보겠습니다.

공백 문자 확인하기

정규 표현식을 사용하여 문자열에서 공백 문자를 찾는 가장 간단한 방법은 \s를 사용하는 것입니다. 이는 공백 문자(스페이스, 탭, 개행 등)를 의미합니다.

아래 예제는 주어진 문자열에서 공백 문자를 찾는 예입니다.

import re

text = "Hello   World   \t  Python"

matches = re.findall(r'\s', text)
print(matches)  # [' ', ' ', ' ', ' ', '\t', ' ', ' ']

위의 예제에서는 re.findall() 함수를 사용하여 주어진 문자열에서 공백 문자를 찾았습니다. 반환된 결과는 리스트 형태로 공백 문자의 위치를 포함하고 있습니다.

연속된 공백 문자 찾기

이제 주어진 문자열에서 연속된 공백 문자를 찾아보겠습니다. 이를 위해서는 \s+ 정규 표현식을 사용합니다. 이는 공백 문자가 하나 이상 연속되는 패턴을 찾습니다.

import re

text = "Hello   World   \t  Python"

matches = re.findall(r'\s+', text)
print(matches)  # ['   ', '   \t  ']

위의 예제에서는 re.findall() 함수의 정규 표현식을 \s+로 변경하여 주어진 문자열에서 연속된 공백 문자를 찾았습니다. 반환된 결과는 리스트 형태로 연속된 공백 문자의 위치를 포함하고 있습니다.

공백 문자 제거하기

정규 표현식을 사용하여 공백 문자를 제거하는 방법도 간단합니다. 이를 위해서는 re.sub() 함수를 사용하고 정규 표현식으로 \s+를 입력하여 연속된 공백 문자를 찾고, 두 번째 인자로 대체할 문자열로 공백을 지정합니다.

import re

text = "Hello   World   \t  Python"

cleaned_text = re.sub(r'\s+', ' ', text)
print(cleaned_text)  # "Hello World Python"

위의 예제에서는 re.sub() 함수를 사용하여 주어진 문자열에서 연속된 공백 문자를 찾아 공백으로 대체하여 공백 문자를 제거했습니다. 반환된 결과를 출력하면 공백 문자가 제거된 문자열을 확인할 수 있습니다.

마무리

정규 표현식을 사용하여 문자열에서 공백 문자를 찾고, 연속된 공백 문자를 확인하거나 제거할 수 있습니다. 이를 유연하게 활용하면 문자열 데이터를 처리하는 데 도움이 되는 다양한 작업을 수행할 수 있습니다. 정규 표현식에 대해 더 자세히 공부하여 더 다양한 패턴을 처리할 수 있는 능력을 향상시켜 보세요.