我有一个包含行的文件
From david.horwitz@uct.ac.za Fri Jan 4 06:08:27 2008
Received: (from apache@localhost)
Return-Path: <postmaster@collab.sakaiproject.org>
for <source@collab.sakaiproject.org>;
我试图阅读每一行并使用正则表达式来查找域名,基本上是符号@ 之后的部分。这是我写的代码
if re.search('[@]\S+?', line) : org = re.findall('@(\S+)',line)[0]
但它返回以下结果
uct.ac.za
localhost)
collab.sakaiproject.org>
collab.sakaiproject.org>;
有什么聪明的方法可以只保留域而不包含')'、'>'或'>;'后面跟着域名?
请您参考如下方法:
稍作更正 - FQDN 也可以包含数字...
所以正则表达式需要稍微调整一下
[@][a-zA-Z0-9.-]+
完整域规则位于 https://en.wikipedia.org/wiki/Uniform_Resource_Locator
