[python] 정규표현식을 이용한 특정 단어로 끝나는 문자열 추출하기
정규식(regular expression)은 문자열을 처리하기 위한 강력한 도구입니다. 이를 이용하면 특정 패턴을 가진 문자열을 쉽게 추출하거나 검색할 수 있습니다.
이번에는 특정 단어로 끝나는 문자열을 추출하는 방법에 대해 알아보겠습니다. 파이썬의 re
모듈을 사용하면 정규식을 적용하여 원하는 결과를 얻을 수 있습니다.
예시 코드
import re
def extract_words_ending_with(text, word):
pattern = fr"\b\w*{word}\b"
result = re.findall(pattern, text)
return result
text = "apple banana cherry orange pineapple"
word = "e"
result = extract_words_ending_with(text, word)
print(result) # ['apple', 'pineapple']
위 코드는 extract_words_ending_with
함수를 정의하고, 주어진 문자열에서 특정 단어로 끝나는 모든 단어를 추출하는 예제입니다. 함수 안에서는 정규식 패턴을 만들기 위해 re.findall
함수를 사용하였습니다.
pattern
변수는 \b\w*{word}\b
로 설정되었습니다.
\b
는 단어의 경계(boundary)를 나타내는 메타 문자입니다.\w*
는 0개 이상의 단어 문자를 의미합니다.{word}
는 사용자가 입력한 특정 단어를 나타냅니다.\b
는 다시 단어의 경계를 나타냅니다.
따라서 주어진 문자열에서 “e”로 끝나는 단어를 추출하기 위해서는 \b\w*e\b
의 정규식 패턴을 사용하였습니다.
실행 결과
위 예제 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
['apple', 'pineapple']
주어진 문자열 “apple banana cherry orange pineapple”에서 “e”로 끝나는 단어를 추출한 결과입니다.
참고 자료
정규표현식은 문자열 처리에 유용한 도구이지만, 복잡한 패턴을 다루거나 효율적인 솔루션을 구현하기 위해서는 추가적인 공부와 연습이 필요합니다.