我写了这个小脚本,但我无法让 re.search 函数正常工作。我试图只匹配确切的词(笑话),但 elif 语句一直返回打印,因为它在句子变量中找到了笑话(来自 clown )。有什么方法可以让它计算笑话这个词中的字母数量,所以只有当笑话是一个独立的词时它才正确?
#!/usr/bin/python
import re
sentence = 'The substantial treat shouts with the jokers'
find_emergency = re.search( r'emergency', sentence, re.M|re.I)
find_joke = re.search( r'joke', sentence, re.M|re.I)
if find_emergency :
print 'Do you want to set this email as urgent?'
elif find_joke :
print "Do you want to mark this email as non-urgent?"
else :
print "Sorry, we couldn\'t find what you were looking for ;("
请您参考如下方法:
find_joke = re.search( r'\bjoke\b', sentence, re.M|re.I)
为此使用 \b 或 word boundary。
