我想使用下面字典的values()
使用regex模式识别单词的子集
creategarbageterms = {'tim_tam' : ['tim_tam','yummy_tim_tam', 'berry_tim_tam'],
'pudding': ['pudding', 'chocolate_pudding', 'biscuits', 'tiramusu'],
'ice_cream': ['ice_cream', 'vanilla_ice_cream']}
即,给定以下字符串
**Term -> Output**
wow_yummy_tim_tam -> yes
melted_tim_tam ->yes
berry_tim_tam -> Yes
cherry_berry_tim_tam -> yes
wow_tam -> No
wow_m -> No
wow_ti -> No
Wow_tim_t -> No
我目前的代码/模式如下
creategarbageterms = {'tim_tam' : ['tim_tam','yummy_tim_tam', 'berry_tim_tam'],
'pudding': ['pudding', 'chocolate_pudding', 'biscuits', 'tiramusu'],
'ice_cream': ['ice_cream', 'vanilla_ice_cream']}
pattern = re.compile(r'|'.join([r'(\s|\b){}\b'.format(x) for x in creategarbageterms.values()]))
if re.findall(pattern, "wow_m".replace("_", " ")):
print("yes")
else:
print("no")
然而,在我当前的代码中,上述No
术语也被接受。请告诉我哪里做错了
我不认为需要正则表达式来检查字符串中是否存在。相反,使用
in
和re
分割字符串:输出:
相关问题 更多 >
编程相关推荐