无法匹配python中的正则表达式模式

时间:2019-10-09 19:49:27

标签: python regex

我正在尝试匹配电子邮件中的正则表达式。如果电子邮件中显示“需要SRT1000更新”,则正则表达式必须匹配。我的代码如下,但无法正常工作。有人可以看一下,让我知道这是怎么回事吗?

def status_update_regex(email):
    email = email.lower()
    need_sr_update_regex = re.compile('(looking|want|need|seek|seeking|request|requesting)([^/./!/?/,/"]{0,10})(status|update)(^.{0,6})(^srt[0-9]{4})')
    if need_sr_update_regex.search(email) != None:
        return 1
    else:
        return 0

2 个答案:

答案 0 :(得分:1)

不要将^放在组中,它会尝试匹配开头。另外,多余的/也是不必要的。

'(looking|want|need|seek|seeking|request|requesting)([^/.!?,"]{0,10}(status|update)(.{0,6})(srt[0-9]{4})' 

答案 1 :(得分:1)

  • 您没有在单词之间插入空格\s
  • 您没有on字符串

(looking|want|need|seek|seeking|request|requesting)([\s^.!?,"]{0,10})(status|update)([\s^.]{0,6})(on)([\s^.]{0,6})(srt[0-9]{4})

我可以给尝试进行正则表达式匹配的任何人最好的技巧是使用https://rubular.com/

测试他们的解决方案