我已经写过这个小小的脚本,但我无法让re.search功能正常工作。我试图只匹配确切的单词(笑话),但是elif语句不断返回打印,因为它在句子变量中找到了笑话(来自小丑)。有没有什么方法可以让它计算笑话这个词中的字母数量,所以只有当笑话是一个独立的词时它才真实?
#!/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 ;("
答案 0 :(得分:2)
find_joke = re.search( r'\bjoke\b', sentence, re.M|re.I)
使用\b
或word boundary
。
答案 1 :(得分:1)
您可以使用vks建议的单词边界方法。
或者您可以使用'in'关键字执行基本搜索。
#!/usr/bin/python
import re
sentence = 'The substantial treat shouts with the jokers'
if 'emergency' in sentence :
print 'Do you want to set this email as urgent?'
elif 'joke' in sentence :
print "Do you want to mark this email as non-urgent?"
else :
print "Sorry, we couldn\'t find what you were looking for ;("