对于电子邮件验证,我有以下条件:1.用户名只能是字母数字(a-z,0-9,A-Z)2.网站名称应该是A-Z 3.扩展名应为a-z
我写了一个Python代码:
import re
def check(email):
#complete the function
#the function should return the strings "invalid" or "valid" based on the email ID entered
if(re.search('^[a-zA-Z0-9]+$@^[a-z]+$.^[a-z]+$',email)):
return("valid")
else:
return("invalid")
email=input()
print(check(email))
我的输入:vk@google.com但它返回我“无效”它应该返回为“有效”。我做错了什么?
2条答案
按热度按时间d6kp6zgx1#
您的初始模式将适用于:
Debuggex Demo
你有:^[a-zA-Z 0 -9]+$@^[a-z]+$.^[a-z]+$,其中你有:
$
中弦 *2^
中间字符串 *2.
,它将匹配任何字符。使用反斜杠>\.
转义上面显示了为什么你产生零匹配。
要控制@和点之间的字母字符数量,您可以用途:
shyt4zoc2#
你不能期望行的开始在行的中间。
此外,点不转义,导致表达式匹配任何字符。如果你想让它匹配一个字面上的点,那么你必须用一个斜杠来继续它。把那个改成