정규식을 이용해서 문자열에서 특정 문자로 시작하고, 특정 문자로 끝나는 단어를 찾을 수 있습니다.
예시 : w로 시작하고, t로 끝나는 단어 찾기
import re
s = 'hello what up woww wowwl wont want'
pattern = r'\bw\w*a\b'
re.findall(pattern, s)
예상대로 위의 코드는 "['what', 'wont', 'want']"를 출력하게 됩니다.
정규식에 사용된 부분들의 의미는 다음과 같습니다.
\b : 단어의 첫 부분
w : 문자 'w'
\w* : 0글자 이상의 한 단어
a : 문자 'a'
\b : 단어의 끝 부분
만약 정규식으로 처리하기 너무 복잡한 케이스라고 한다면, 그냥 split 하고 조건문으로 처리하는 게 나을수도 있습니다.
[x for x.split() if x.startswith('w') and x.endswith('t')]
참고자료 : https://stackoverflow.com/questions/43442411/regex-to-match-all-words-that-startswith-and-endswith-specific-characters-in-str