判断用户输入的Email地址是否正确,如果正确的话,获取Email中的用户名和域名。 说明:一个合法的Email地址中,有且只能有一个“@”字符,@字符左侧内容是用户名,@字符右侧字内容为域名。 合法的Email地址的标准: 1. @不能是第1个字符 2. 有且仅有一个@字符
时间: 2024-03-24 09:37:27 浏览: 53
好的,我可以帮您编写一个Python函数来实现这个功能。代码如下:
```python
import re
def parse_email(email):
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
if re.match(pattern, email):
at_pos = email.find('@')
username = email[:at_pos]
domain = email[at_pos+1:]
return (username, domain)
else:
return None
```
这个函数接受一个字符串类型的email作为参数,并返回一个元组,包含用户名和域名。如果email不合法,返回None。
函数中用到了正则表达式来判断email是否合法。如果email合法,使用find()方法来找到@字符的位置,然后把用户名和域名分别保存到变量username和domain中,最后返回元组。
你可以调用这个函数来判断和解析email,如下所示:
```python
email = 'example123@gmail.com'
result = parse_email(email)
if result:
username, domain = result
print('Username:', username)
print('Domain:', domain)
else:
print('Invalid email')
```
这将输出:
```
Username: example123
Domain: gmail.com
```
如果email不合法,则输出"Invalid email"。
阅读全文