【发布时间】:2015-08-18 09:43:45
【问题描述】:
给定一个类型为 Receive 的电子邮件标题字段列表,例如:
Received: by 10.194.174.73 with SMTP id bq9csp183244wjc;
Mon, 5 May 2014 17:49:10 -0700 (PDT)
X-Received: by 10.180.14.233 with SMTP id s9mr18354760wic.53.1399337350112;
Mon, 05 May 2014 17:49:10 -0700 (PDT)
Received: from mail-wg0-f52.google.com
Received: by mail-ie0-x247.google.com with SMTP id gx4so163592215ieb.1
for <myemailaddress@gmail.com>; Mon, 01 Jun 2015 18:34:50 -0700 (PDT)
每个字段通过 IP 地址或域名报告“跃点”。我正在寻找一个能够兼顾两者的正则表达式。
以下正则表达式将分别提取 IP 地址和 (gmail) 域名:
\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b
mail.*com
在 Python 中组合两个或多个模式最优雅的方法是什么?我将遍历 Receive 字段列表并对每个字段运行正则表达式。
【问题讨论】:
-
你想从你的输入中提取什么?
-
你也应该考虑支持ipv6地址