正则表达式
编写程序,检测下列电子邮箱地址是否规范。符合规范的输出该邮箱地址,并提示其符合规范;对于不符合规范的邮箱地址,提示其不合规范,并提供whu123@163.com作为参考规范。email1: abc123@163com; email2: abc321@123.com; email3: bdssq@com;
email4: 2233198@acn.cn; email5: bdad@dsa@qq.com email6: wss321@222.c.c 怎么样是有效的 本帖最后由 悠悠2264 于 2020-4-11 13:50 编辑
判断邮箱内是否有@和.
import re
while True:
a = input("请输入:")
result = re.search(".+@.+\..+",a) #.+表示匹配一个或多个字符
# 合规则返回一个对象给result,不合规则不返回,result就是空的。
if(result != None):
print(a + "符合规范")
else:
print(a + "不合规范,参考规范:whu123@163.com")
del result # 删除result,以便下一次循环判断
本帖最后由 hrp 于 2020-4-11 18:54 编辑
姑且认为有效邮箱地址格式为:用户名@xxx.xxx,其中,用户名:以数字或字母开头,以数字或字母结尾,中间可以有或者没有.-_这三个符号之一,那比较粗暴的写法是:
import re
def check(emaddr):
res = re.match(r'+[\.\-\_]?+\@{1}+\.{1}+$', emaddr)
if res:
return True
else:
return False
def main():
while True:
addr = input('输入邮件地址(q退出):')
if addr.lower() == 'q':
break
elif check(addr):
print('邮件地址 %s 有效。' %addr)
else:
print('邮件地址 %s 无效,有效地址示例:whu123@163.com' %addr)
main()
在手机备忘录里写的,没有测试,如果运行报错请告知{:10_245:} hrp 发表于 2020-4-11 18:04
姑且认为有效邮箱地址格式为:用户名@xxx.xxx,其中,用户名:以数字或字母开头,以数字或字母结尾,中间可 ...
大概都是缩进错误,也没别的
页:
[1]