파이썬에서 re 모듈을 사용하면 정규식을 통해 문자열 내의 공백(Whitespace)을 손쉽게 찾을 수 있습니다. 정규식에서 공백 문자는 \s 패턴으로 표현하며, 이는 일반적인 스페이스뿐만 아니라 탭(\t), 줄바꿈(\n) 등 모든 종류의 공백 문자와 일치합니다.
re.search()로 첫 번째 공백 찾기
다음 코드는 주어진 문자열에서 첫 번째 공백 하나를 검색합니다.
import re result = re.search(r'[\s]', 'The Indian Express') print(result)
실행 결과
<_sre.SRE_Match object at 0x0000000005106648>
re.search() 함수는 패턴과 일치하는 첫 번째 위치만 찾아서 매치 객체(Match Object)를 반환합니다. 위 출력 결과에서 볼 수 있듯이, 일치 항목이 발견되면 Match 객체가 반환되며, 발견되지 않으면 None이 반환됩니다.
re.findall()로 모든 공백 찾기
문자열에 포함된 모든 공백을 찾고 싶다면 re.findall() 함수를 사용하면 됩니다.
import re result = re.findall(r'[\s]', 'The Indian Express') print(result)
실행 결과
[' ', ' ']
'The Indian Express' 문자열에는 단어 사이에 공백이 두 개 있으므로, 실행 결과로 두 개의 공백 문자가 리스트 형태로 반환됩니다.
핵심 정리
\s: 스페이스, 탭, 줄바꿈 등 모든 공백 문자와 일치하는 정규식 패턴입니다.re.search(): 패턴과 일치하는 첫 번째 항목을 매치 객체로 반환합니다.re.findall(): 패턴과 일치하는 모든 항목을 리스트로 반환합니다.
참고로 파이썬 3부터는 print가 함수로 동작하므로 반드시 괄호를 붙여 print(result) 형태로 작성해야 합니다.