Python给了意外的正则表达式结尾

时间:2019-01-27 15:44:09

标签: python regex

我想根据模式检查字符串。在控制台上工作正常:

if re.match('(?!.*example).*[a-zA-Z0-9]{1,}\s{0,}(.*)\s{0,}\/\s{0,}[a-zA-Z0-9]{1,}','rains . cat / dog'):
    print 'ok'

但是当我想在我的Django代码中使用它时:

pat = "(?!.*example).*[a-zA-Z0-9]{1,}\s{0,}(.*)\s{0,}\/\s{0,}[a-zA-Z0-9]{1,}"

if re.match(pat, body):
    return True

我收到此错误:

unexpected end of regular expression

按照其他答案的建议,我也尝试使用//////代替/,但无法正常工作。

所以想知道如何解决此问题吗?

1 个答案:

答案 0 :(得分:0)

在正则表达式模式前使用 r 。 试试这个:

pat = r'(?!.*example).*[a-zA-Z0-9]{1,}\s{0,}(.*)\s{0,}\/\s{0,}[a-zA-Z0-9]{1,}'

或者您可以使用\

pat = "(?!.*example).*[a-zA-Z0-9]{1,}\\s{0,}(.*)\\s{0,}\\/\\s{0,}[a-zA-Z0-9]{1,}"