正则表达式 - 忽略字符串末尾的标点符号

时间:2013-07-05 15:44:06

标签: python regex

我正在使用正则表达式匹配字符串,这是我的代码:

r = re.compile(r"#?%s\b" % "apple", re.IGNORECASE|re.MULTILINE)
if r.search("I am eating an apple!"):
   print "success"

“!”在苹果的最后导致它不匹配...有没有办法我可以忽略标点符号如? !在这个词的末尾?

1 个答案:

答案 0 :(得分:1)

您的示例代码适用于我:http://repl.it/J0t/5

字符串格式化运算符创建#?apple\b #?非常无用,但允许表达式匹配以下所有内容:

#apple
apple
grapple

apple\b也会匹配相同的内容。

如果你的任务是验证你有一个完整的单词apple而不是另一个单词的一部分,那么我建议\bapple\b之类的内容仅与样本中的#appleapple匹配上方。