0

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

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

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

4

1 回答 1

1

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

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

#apple
apple
grapple

apple\b也将匹配相同。

如果您的任务是验证您有一个不属于另一个单词的整个单词 apple,那么我建议使用\bapple\b仅匹配的内容#apple以及apple来自上面的示例。

于 2013-07-07T05:44:18.640 回答