练习

请尝试写一个验证Email地址的正则表达式。版本一应该可以验证出类似的Email:

  • someone@gmail.com
  • bill.gates@microsoft.com
# -*- coding: utf-8 -*-
import re
#代码如下:
def is_valid_email(addr):

re_email=re.compile(r'^(\<?)(\w*\.?\w*)@(\w*).(com)$')
if re_email.match(addr):
return True

# 测试:
assert is_valid_email('someone@gmail.com')
assert is_valid_email('bill.gates@microsoft.com')
assert not is_valid_email('bob#example.com')
assert not is_valid_email('mr-bob@example.com')
print('ok')

Run

版本二可以提取出带名字的Email地址:

  • <Tom Paris> tom@voyager.org => Tom Paris
  • bob@example.com => bob
# -*- coding: utf-8 -*-
import re
#代码如下:

def name_of_email(addr):

re_name=re.compile(r'^<?(((\w*\s+\w*)|\w*))?>?(\s+)?(\w*)?@(\w*).(\w*)$')

if re_name.match(addr):
c=re_name.match(addr).group(1)
return c

# 测试:
assert name_of_email('<Tom Paris> tom@voyager.org') == 'Tom Paris'
assert name_of_email('tom@voyager.org') == 'tom'
print('ok')

Run

《python3廖雪峰》正则表达式提取带名字特殊符号的Email地址相关推荐

  1. 《python3廖雪峰》正则表达式匹配Email地址练习题答案

    <python3廖雪峰>正则表达式章节最后留了这个题目,对于初学者还是要折腾一下才能做出来的,我作为初学者,花了1个小时研究出来了,当然只是针对题目中的3种Email地址的正则匹配,如果想 ...

  2. java 正则提取邮箱_如何用正则表达式提取一个网站里面的所有邮箱地址?

    展开全部 用正则表达式提取一个网站里面的所有邮箱地址e68a8462616964757a686964616f31333337616565 import java.io.BufferedReader; ...

  3. C#正则表达式提取HTML中IMG标签的SRC地址(转)

    一般来说一个 HTML 文档有很多标签,比如"<html>"."<body>"."<table>"等,想 ...

  4. python3—廖雪峰之练习(三)

    列表生成式练习 请修改列表生成式,通过添加if语句保证列表生成式能正确执行: L1 = ['Hello', 'World', 18, 'Apple', None] L2 = [] for x in L ...

  5. python3廖雪峰云-python3基础教程廖雪峰云_Python GUI库大汇总

    Python GUI库大汇总 所有程序都是基于命令行的,这序可能只有一些"专的计算机人士才会使用.例如前面编写的五等程序,恐怕只有程序员自己才愿意玩这么"糟糕"的游戏,很 ...

  6. C#正则表达式提取HTML中IMG标签的URL地址 .

    /// <summary> /// 取得HTML中所有图片的 URL. /// </summary> /// <param name="sHtmlText&qu ...

  7. shell脚本提取一个文件中的合法email地址

    #! /bin/bash function read_file(){ for i in `cat $1` do if [ `echo $i |grep "^[a-zA-Z0-9_-]*@[A ...

  8. 【廖雪峰】python正则表达式

    文章目录 基础 进阶 re模块 切分字符串 分组 贪婪匹配 编译 小结 练习 基础 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Emai ...

  9. 廖雪峰python3爬虫教程_Scrapy爬虫框架入门教程(1)——爬取廖雪峰老师的博客...

    最近一直在学习scrapy,但是网上关于scrapy的教程实在是太少,能找到的教程大多都是基于py2.7/scrapy0.2以下,甚至很多教程都是互相抄袭,连代码都抄漏了好多,更别提各种缩进错误.变量 ...

最新文章

  1. W3C XSL Transformations (XSLT) Version 2.0 翻译计划
  2. [bzoj1305][CQOI2009]dance跳舞
  3. c语言程序设计棋盘不对齐,经典c语言程序设计例(55页)-原创力文档
  4. java ftpclient quit_FTPClient
  5. DreamFactory入门指南 - 第1章REST和DreamFactory简介
  6. 在cmd中配置安装mysql数据库密码_windows安装mysql数据库并修改密码
  7. 系统运维包括哪些内容_UI设计内容包括哪些?
  8. wildfly ejb开发环境搭建(一):wildfly安装及数据源配置
  9. Navivat 中快速快捷查找表和数据
  10. linux中查找包含指定内容的文件
  11. 全新的福昕JavaScript PDF阅读器
  12. CC2530 ADC学习笔记
  13. 大前端时代搞定PC/Mac端开发,我有绝招
  14. 人脸与关键点检测:YOLO5Face实战
  15. Linux 文件服务
  16. 院校代码/高等学校查询-整提供 Demo 代码示例及数据专业且全面的 API 查询接口
  17. 使用yanderify搞个图片转视频(让大头照动起来)
  18. [I.MX6UL] U-Boot移植(六) 网络驱动修改 LAN8720A(对比原子和NXP官方测试板的网络芯片LAN8720A , KSZ8081 (也是飞凌)唯独复位引脚不同595芯片也涉及改动)
  19. NLP【05】pytorch实现glove词向量(附代码详解)
  20. TensorFlow滑动平均模型作用

热门文章

  1. 混沌神经网络(Chaos Neural Network)
  2. s3c6410存储系统 (一)
  3. Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建
  4. python数据分析方法五种_python数据分析与算法之五 算法
  5. 环境心理学,环境与人之间的相互作用
  6. 关于AD10如何输出自己想要的BOM表
  7. 大数据体系建设经验分享
  8. (Python、mysql、机器学习与数据挖掘)小硕的自我修养进阶
  9. zw和nt开头的系统调用的区别
  10. CentOS切换中文拼音安装包时:zw 不在 sudoers 文件中。此事将被报告。【记录】