정규 표현식(Regular Expression)은 텍스트에서 패턴을 찾고 매칭하는 도구입니다. 이를 통해 특정한 패턴을 가진 문자열을 검색하거나 대체할 수 있습니다.
단어 경계 매칭은 정규 표현식에서 매우 유용한 개념 중 하나입니다. 정확하게는 \b
와 \B
라는 메타 문자를 사용하여 단어의 경계를 정의합니다. \b
는 단어의 시작 또는 끝을 나타내는 경계를 매칭하며, \B
는 단어 경계가 아닌 위치에 매칭됩니다.
이번 포스트에서는 Python에서 \b
와 \B
의 사용법을 살펴보겠습니다.
\b
를 사용한 단어 경계 매칭
\b
는 단어의 시작과 끝을 나타내는 경계를 매칭합니다. 다음은 \b
를 사용하여 단어 ‘apple’을 찾는 예시 코드입니다.
import re
text = "I have an apple and a banana"
pattern = r"\bapple\b"
matches = re.findall(pattern, text)
print(matches)
출력 결과는 ['apple']
입니다. 정규 표현식 패턴인 \bapple\b
은 ‘apple’이라는 완전한 단어를 매칭하므로, ‘apple’을 찾아서 반환합니다.
\B
를 사용한 단어 경계 매칭
\B
는 단어 경계가 아닌 위치에 매칭됩니다. 다음은 \B
를 사용하여 단어 경계가 아닌 ‘apple’을 찾는 예시 코드입니다.
import re
text = "I have an apple and a banana"
pattern = r"\Ban\B"
matches = re.findall(pattern, text)
print(matches)
출력 결과는 ['an', 'na', 'an']
입니다. 정규 표현식 패턴인 \Ban\B
는 ‘an’이라는 단어 경계가 아닌 위치에 매칭되므로, “an”, “na”, “an”을 찾아서 반환합니다.
정리
정규 표현식을 사용하여 단어 경계를 매칭하는 \b
와 \B
는 문자열에서 원하는 패턴을 더 정확하게 검색하거나 대체할 수 있도록 도와줍니다. \b
는 단어의 시작과 끝을 나타내는 단어 경계를 매칭하고, \B
는 단어 경계가 아닌 위치에 매칭됩니다.
Python의 re
모듈을 사용하여 \b
와 \B
를 활용하면 텍스트 처리 작업을 보다 효과적으로 수행할 수 있습니다.