Python 正则表达式电子邮件地址

Python 正则表达式电子邮件地址,python,regex,Python,Regex,我想用Python从电子邮件地址中提取顶级域。 我想使用正则表达式来获取@符号后第一个点之后的所有内容 例如 预期结果 .com .domain.us 如何使用正则表达式来实现此结果?您可以尝试使用此正则表达式并捕获组1内容 @.*?\.(.*) 说明: @.*?-->以非贪婪的方式匹配@字符后跟任何字符,后跟文字点 (.*)-->捕获顶级域名之后剩余的内容 下面是一个示例python代码 import re s = ['tony.manero@testing.com','ted.br

我想用Python从电子邮件地址中提取顶级域。 我想使用正则表达式来获取@符号后第一个点之后的所有内容

例如

预期结果

.com
.domain.us

如何使用正则表达式来实现此结果?

您可以尝试使用此正则表达式并捕获组1内容

@.*?\.(.*)

说明:

  • @.*?-->以非贪婪的方式匹配@字符后跟任何字符,后跟文字点
  • (.*)-->捕获顶级域名之后剩余的内容
下面是一个示例python代码

import re
s = ['tony.manero@testing.com','ted.br@top.domain.us']
for a in s:
    print (a,' --> ',re.findall('@.*?\.(.*)',a))
这将打印以下输出

tony.manero@testing.com  -->  ['com']
ted.br@top.domain.us  -->  ['domain.us']

非常感谢。如果我想捕获@符号后的所有内容,而不停留在第一个点上,该怎么办?只需对正则表达式进行少量更改,它就会变成@(.*)
tony.manero@testing.com  -->  ['com']
ted.br@top.domain.us  -->  ['domain.us']