我是新手,对Python和正则表达式都不太熟悉。我想知道如何提取电子邮件地址的第一部分,直到域名为止。例如:
s='xjhgjg876896@domain.com'
我希望正则表达式的结果能够考虑到所有可能的电子邮件地址格式,包括数字等等。
xjhgjg876896
我了解正则表达式的概念-即我知道需要扫描到“@”并存储结果-但我不确定如何在Python中实现它。
谢谢您的时间。
已经有了很好的答案,但我还是想贡献我的想法。
如果我的电子邮件是john@gmail.com,我只想获取“john”。
我想要的只是“john”
如果我的电子邮件是john.joe@gmail.com,我只想获取“john”。
我想要的只是“john”
所以这就是我所做的:
name = recipient.split("@")[0]
name = name.split(".")[0]
print name
干杯
你也可以尝试使用email_split。
from email_split import email_split
email = email_split('xjhgjg876896@domain.com')
email.local # xjhgjg876896
email.domain # domain.com
你可以在这里找到更多信息 https://pypi.org/project/email_split/。祝你好运 :)
def get_email_name(self, email):
return self.email.split("@")[0]
def get_email_domain(self, email):
return self.email.split("@")[1]
import re
def returnUserName(email):
return re.findall("\w*",email)[0]
print(returnUserName("johns123.ss@google.com")) #Output is - johns123
print(returnUserName('xjhgjg876896@domain.com')) #Output is - xjhgjg876896
Tony Snow <tony@example.com>
和(tony snow) tony@example.com
?你想从tony%example.com@example.org
返回什么?当前电子邮件地址格式的标准在这里:http://www.rfc-editor.org/rfc/rfc5322.txt。 - Robᵩemail.utils.parseaddr
,或者在PyPI上搜索第三方库(如果某些原因不适用)。正确获取所有细节非常困难。这正是Python自带电池的原因。 - abarnert