python精确的子串匹配

时间:2015-12-03 17:08:59

标签: python regex

我有一份菜单和一句话。

我想检查句子中是否有菜。 但是,如果我做了正常的

dish='puri'
sentence='the mutton shikampuri was good'

我基本上会得到一个子串匹配。我的问题是说我有一个

sed

上面的代码仍然匹配puri和shikampuri,我不想要。

如果我尝试将句子标记,我将无法匹配像这样的菜肴 dish ='puri bhaji'

有什么方法可以忽略不以我的菜谱开头的比赛吗?基本上,当我的菜是'puri'时,我想忽略像'shikampuri'这样的模式。

2 个答案:

答案 0 :(得分:2)

您需要re.search \b

import re
if re.search(r"\b"+dish+r"\b",sentence):

答案 1 :(得分:2)

你可以写:

if dish in sentence.split():

这会将句子按空格分成一个列表,并在单词列表中查找一个菜。