Python将字符串精确匹配到字符串

时间:2015-02-23 01:04:33

标签: python text nltk

给定一个字符串,我想确定是否有两个字符串。例如,给出"狗大声吠叫。",我想搜索" dog"并且"大声咆哮"。如果句子是"那个顽固的男人。"但是,我不想匹配“狗”#39;顽固地#39;

我使用以下内容:

if re.search(r'\s'+word+'\s', str1) and re.search(r'\s'+otherWord+'\s', str1) and word != otherWord:

我的问题是1.如果每个标点符号都有空格,我的方法会起作用吗? 2.有没有更好的方法来做到这一点,以便我不必预先处理字符串,在每个标点符号前放置一个空格?

1 个答案:

答案 0 :(得分:3)

您可以使用单词边界\b在单词字符和非单词字符之间匹配)而不是空格\s。此外,您还需要将所有正则表达式模式定义为原始字符串。

if re.search(r'\b'+word+r'\b', str1) and re.search(r'\b'+otherWord+r'\b', str1) and word != otherWord: