【发布时间】:2021-01-14 08:11:47
【问题描述】:
我正在使用正则表达式来匹配我的日志中的模式。我需要在开始时匹配模式,然后反转匹配,即:
我需要匹配这一行:
reject: RCPT from unknown[165.231.143.153]: 450 4.7.25 from=<spameri@tiscali.it> to=<spameri@tiscali.it>
但不是这一行:
reject: RCPT from unknown[165.231.143.153]: 450 4.7.25 from=<spameri@tiscali.it> to=<alice@mydomain.com>
基本上,如果该行包含to=<alice@mydomain.com>(或任何其他带有mydomain.com 的电子邮件地址,那么它不应该触发匹配。否则,如果它是其他任何东西,即to=<bob@otherdomain.com> 或to=<alice@thirddomain.com>,那么它应该匹配。
我尝试使用这种消极的前瞻性模式:
'^reject: RCPT from [A-Za-z0-9\.-]+\[{ip}\]: .* to=<[A-Za-z0-9\._-]+@(?!mydomain.com)>',
我在哪里使用构造 (?!mydomain.com) 来否定 mydomain.com
我该怎么做?
【问题讨论】:
标签: python regex regex-negation