我需要在包含子字符串的字符串中找到整个单词。
例如,如果替换是一个字符串,我将搜索替换,所以它将匹配替换,它应该返回替换。
这是我试过的
>>> a = 'replacement replace filereplace filereplacer'
>>> re.findall(r'replace',a)
['replace', 'replace', 'replace', 'replace']
但我需要的是:
['replacement', 'replace', 'filereplace', 'filereplacer']
答案 0 :(得分:3)
与单词边界和\w
匹配(对标点符号也很健壮):
import re
a = 'replacement replace filereplace, filereplacer. notmatched'
print(re.findall(r'\b\w*replace\w*\b',a))
结果:
['replacement', 'replace', 'filereplace', 'filereplacer']
答案 1 :(得分:1)
使用分隔符(此处为空格)拆分列表:
l_s = a.split()
然后在列表的每个元素中查找您的子字符串:
[word for word in l_s if string_to_find in word]