我正在尝试匹配电子邮件中的正则表达式。如果电子邮件中显示“需要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
答案 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/
测试他们的解决方案