Python简单电子邮件有效性检查

Python简单电子邮件有效性检查,python,Python,在Python中,如果我想写一些返回布尔值True的东西,只要@符号出现在后面。符号,我该怎么写 我试过写一些类似的东西: if myString[x] == "@" > myString[x] == ".": return True 但是,我假设这不起作用,因为它们本质上都是相同的索引。寻找一些解释,只是学习了很多基础知识。 谢谢 您可以使用一个简单的正则表达式: import re rx = re.compile(r'\S+@\S+') string = """This

在Python中,如果我想写一些返回布尔值True的东西,只要@符号出现在后面。符号,我该怎么写

我试过写一些类似的东西:

if myString[x] == "@" > myString[x] == ".":
     return True
但是,我假设这不起作用,因为它们本质上都是相同的索引。寻找一些解释,只是学习了很多基础知识。
谢谢

您可以使用一个简单的正则表达式:

import re

rx = re.compile(r'\S+@\S+')

string = """This text contains an email@address.com somewhere"""

if rx.search(string):
    print("Somewhere in there is an email address")
请参阅。

返回str.find('@')>str.find('.')和str.find('.')>-1


这将检查
@
是否在
之后,以及字符串中是否存在这两个符号。但是,这是检查电子邮件有效性的一种非常糟糕的方法。

您想知道@是否出现在电子邮件验证的
之后或之前吗?
这是.a。valid@email.address
而您的算法失败了。有关电子邮件地址检查,请参阅。非常感谢您提供的信息,实际上,我只是在为一个赋值写这个糟糕的函数,但遇到了麻烦。我明白,如果我试图在现实世界中实现这一点,这将不会很好地工作。不过,谢谢你提供的信息!如果是家庭作业,你应该自己做。如果你不知道基本知识,比如如何在字符串中找到
@
的位置,谷歌“在字符串python中找到字符的位置”这并不满足问题的约束(尽管它当然可能满足现实的约束)@NickBastin:好的观点-两者:)如果字符串不包含
@
,这将导致错误。另外,最好只返回str.index('@')>str.index('.')。@Efferalgan:如果你读对了问题,他只是询问语法。此外,电子邮件的有效性本身是错误的@>。不是验证电子邮件的正确方法。
import re

rx = re.compile(r'\S+@\S+')

string = """This text contains an email@address.com somewhere"""

if rx.search(string):
    print("Somewhere in there is an email address")