用Python从电子邮件中提取域名(包括几个特例)

KT1*_*100 1 python regex python-3.x

我试图使用Python从电子邮件字符串中提取域名.对于诸如abc@xyz.com之类的基本情况,以下情况很有效:

string.split("@")[1].rstrip(".com")   #would give me "xyz"
Run Code Online (Sandbox Code Playgroud)

但我希望找到一个解决方案来获取以下案例的域名:

  • abc@alumni.xyz.com
  • abc@xyz.org
  • abc@xyz.co.in
  • abc@xyz.it

我想到的一个解决方案是使用正则表达式并删除最后一个点后面的任何内容,但仍留下特殊域名,例如"xyz.co.sy",其中我希望得到的只是"xyz".

Nik*_*tre 6

这也行。

str.split("@")[1].split(".")[0]
Run Code Online (Sandbox Code Playgroud)


Nav*_*d S 5

以下正则表达式匹配您的输入:

.+@([^.]+)\..+
Run Code Online (Sandbox Code Playgroud)

替换输入$1提供域名.

注意:添加所需的转义\