我正在尝试确定字符串是否是电子邮件。当然,要求是@email.com,第一个字母必须是大写,并且必须是字母数字,除了@和句点。我想知道的是,除了句号和@
我想要的是,当且仅当电子邮件的第一个字母是大写字母时,代码才会返回True,它有@emuail.com,并且除了@和句点外,它是字母数字。我想要的是一个解决方案,除了电子邮件的@emauil.com部分中的@和句点之外,检查字母数字
我想我可以在@email部分分离电子邮件,并在@email之前检查.isalnum,但我只是想看看是否有更简单的方法
这是我当前的代码,由于@和句点,它当然返回所有False:
emails = ['Hello@emuail.com', 'Hello2@emuail.comaas', 'hello--1@emuail.com']
result = []
for idx, email in enumerate(emails):
if '@emuail.com' in email and email[0].isupper() and email.isalnum():
result.append(True)
else:
result.append(False)
print(result)
此生成器将返回有效的电子邮件。如果需要更多规则,请将它们添加到条件中^然而,{}更好
在进行稍微复杂的字符串搜索/测试时,使用regular expressions通常会更好(可读性更强、更灵活)
请注意,电子邮件地址中允许使用连字符,但如果出于某种原因不允许使用连字符,请从正则表达式中删除它们
相关问题 更多 >
编程相关推荐