Python学习手册之正则表达式示例–邮箱地址提取

Python学习手册之正则表达式示例–邮箱地址提取Python学习手册之正则表达式示例–邮箱地址提取

大家好,又见面了,我是你们的朋友全栈君。

在上一篇文章中,我们介绍了 Python 的捕获组和特殊匹配字符串,现在我们介绍 Python 的正则表达式使用示例。查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/10040430.html

邮箱地址提取
为了演示正则表达式的示例用法,我们创建一个从字符串中提取电子邮箱地址的程序。假设我们有一个包含电子邮箱地址的字符串。

string = "Please contact media@nostarch.com for assistance"

我们希望提取出类似 media@nostarch.com 的字符串。一个典型的电子邮件地址由一个词组成,可以包括点或破折号。接下来是@符号和域名 (名词、一个点和域名后缀) 。下面我们来构建正则的基础框架。

pat = r'([\w\.-]+)@([\w\.-]+)(\.[\w\.]+)'

[\w\.-]+ 匹配一个或多个字符串,点或破折号。上面的正则表达式表示字符串应该包含一个单词 (包含点和破折号) , 后面跟着 @ 符号,接着是另一个类似的单词,然后是一个点和另一个单词。

我们的正则包含三个组: 1、 电子邮箱的第一部分用户名 2、 无后缀的域名 3、 域名的后缀

import re string = "Please contact media@nostarch.com for assistance" pat = r'([\w\.-]+)@([\w\.-]+)(\.[\w\.]+)' match = re.search(pat,string) if match: print(match.group())

运行结果:

>>> media@nostarch.com >>>

如果字符串包含多个电子邮件地址,我们可以使用 re.findall 方法而不是 re.search 来提取电子邮件地址。

本文中的正则实例只是为了演示目的,在现实情况下需要更复杂的正则表达式才能完全验证电子邮件地址。

 

 

 

 “如果你想战胜恐惧,不要坐在家里空想,走出去,动起来。” – 戴尔·卡耐基

转载于:https://www.cnblogs.com/dustman/p/10048507.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107168.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mac Intrellij idea 的激活码【2021最新】

    (mac Intrellij idea 的激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
    78
  • Spring batch批量处理框架最佳实践

    Spring batch批量处理框架最佳实践springbatch精选,一文吃透springbatch批量处理框架前言碎语批处理是企业级业务系统不可或缺的一部分,springbatch是一个轻量级的综合性批处理框架,可用于开发企业信息系统中那些至关重要的数据批量处理业务.SpringBatch基于POJO和Spring框架,相当容易上手使用,让开发者很容易地访问和利用企业级服务.springbatch具有高可扩展性的框架…

    2022年5月23日
    35
  • Linux 测试IP和端口是否能访问[通俗易懂]

    Linux 测试IP和端口是否能访问[通俗易懂]一、使用wget判断wget是linux下的下载工具,需要先安装.用法:wgetip:port连接存在的端口连接不存在的端口二、使用telnet判断telnet是windows标准服务,可以直接用;如果是linux机器,需要安装telnet.用法:telnetipport安装telnet1、检测telnet-server的rpm包是否安装……

    2022年9月17日
    1
  • pycharm怎么创建虚拟环境_pycharm选择运行环境

    pycharm怎么创建虚拟环境_pycharm选择运行环境配置虚拟环境的必要性1、保持项目的独立性。为每一个项目建立一个独立的运行环境,不与其他项目之间产生环境冲突。(比如其他项目加载或删除依赖环境软件时,互不影响)通俗一点就是,每人一个单间,大家在自己的房间内可以各干各的。2、提升项目开机加载速度。在独立性的前提下,虚拟环境可以选择继承已有的公共环境中的依赖包,也可以完全新建一个空间,也可以将自己的依赖环境共享给其他项目。总之,保证每个项目的虚…

    2022年8月28日
    1
  • jvm垃圾回收算法有哪些_jvm垃圾回收过程

    jvm垃圾回收算法有哪些_jvm垃圾回收过程JVM垃圾回收算法两个概念:新生代:存放生命周期较短的对象的区域。老年代:存放生命周期较长的对象的区域。相同点:都在Java堆上1.标记–清除算法执行步骤:标记:遍历内存区域,对需要回收的对象打上标记。清除:再次遍历内存,对已经标记过的内存进行回收。图解:缺点:效率问题;遍历了两次内存空间(第一次标记,第二次清除)。空间问题:容易产生大量内存碎片,当再需要一块比…

    2022年9月11日
    0
  • Spring RestController[通俗易懂]

    Spring RestController[通俗易懂]SpringRestControllerannotationisaconvenienceannotationthatisitselfannotatedwith@Controllerand@ResponseBody.Thisannotationisappliedtoaclasstomarkitasarequesthandler.Spring…

    2022年6月16日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号