我正在尝试使用Python从电子邮件字符串中提取域名。对于诸如abc@xyz.com之类的基本案例,以下情况很有效:
string.split("@")[1].rstrip(".com") #would give me "xyz"
但我希望找到一个解决方案来获取以下案例的域名:
我想到的一个解决方案是使用正则表达式并删除最后一个点后面的任何内容,但仍留下特殊域名,例如“xyz.co.sy”,其中我希望只获得“xyz”。
答案 0 :(得分:5)
以下正则表达式与您的输入匹配:
.+@([^.]+)\..+
用$1
替换输入会给出域名。
注意:为\
答案 1 :(得分:3)
这也可以。
str.split("@")[1].split(".")[0]
答案 2 :(得分:0)
下面的代码可以帮助您完成所需的操作:
fromAddr = message.get('From').split('@')[1].rstrip('>')
fromAddr = fromAddr.split(' ')[0]