我正在使用正则表达式匹配字符串,这是我的代码:
r = re.compile(r"#?%s\b" % "apple", re.IGNORECASE|re.MULTILINE)
if r.search("I am eating an apple!"):
print "success"
“!”在苹果的最后导致它不匹配...有没有办法我可以忽略标点符号如? !在这个词的末尾?
答案 0 :(得分:1)
您的示例代码适用于我:http://repl.it/J0t/5
字符串格式化运算符创建#?apple\b
#?
非常无用,但允许表达式匹配以下所有内容:
#apple
apple
grapple
apple\b
也会匹配相同的内容。
如果你的任务是验证你有一个完整的单词apple而不是另一个单词的一部分,那么我建议\bapple\b
之类的内容仅与样本中的#apple
和apple
匹配上方。