python中正则表达式与模式匹配

 更新时间:2019年05月07日 16:15:02   作者:没落骑士  
在之前找工作过程中,面试时经常被问到会不会python,懂不懂正则表达式。这篇文章主要介绍了python中正则表达式与模式匹配,需要的朋友可以参考下

一、前言

  在之前找工作过程中,面试时经常被问到会不会python,懂不懂正则表达式。心里想:软件的东西和芯片设计有什么关系?咱也不知道因为啥用这个,咱也不敢问啊!在网上搜索到了一篇关于脚本在ASIC领域中应用的文章(原文见参考文献1),里边提到了python的用武之地:

  本文以《Python编程快速上手——让繁琐工作自动化》书中的示例,讲述利用python实现文本中特定内容提取的方式。

 二、提取特定内容示例

  需求:找出文本中所有的电话号码和邮件地址。设计方案:在剪贴板的文本中提取出所有与电话号码和邮件地址格式匹配的字符串。有了需求和设计方案,现根据电话号码和邮箱地址格式编写正则表达式。先来看看程序代码,再做讲解。

PhoneAndEmail.py

  此处电话号码的格式是:三个数字组成的区号(可选),三个数字,四个数字,任意数空格+ext/x/ext.+任意数空格+2到5个数字组成的分机号(可选)。每个部分间以“-”号连接。邮箱地址格式:由字母、数字以及_%+-符号组成的用户名,@符号以及.后的域名,域名由2-4个字母和数字集合组成。根据上述模式可编写对应的正则表达式。

  python的模式匹配有一个简单固定的套路,import导入re包,regex = re.compile('''<正则表达式>''')。<模式匹配的内容列表> = regex.findall(<待搜索字符串>)。三步搞定。编写正则表达式时,在字符串前加r防止字符转义。将各个部分分组并换行以提高代码的可读性,此时需要将re.VERBOSE作为re.compile()函数的第二个参数传入来忽略表达式中的空白和换行。

 三、运行结果

  复制代码首部注释掉的文本,然后运行程序。结果如下:

  前两行打印出了匹配内容的列表,之后以自定义的统一格式打印欲搜索的内容。程序运行结果正确。本文以一个小例子测试了python正则表达式提取文本特定内容的功能,之后想尝试利用python自动生成verilogHDL中module的例化模板。

总结

以上所述是小编给大家介绍的python正则表达式匹配,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 关于python pygame游戏进行声音添加的技巧

    关于python pygame游戏进行声音添加的技巧

    这篇文章主要给大家分享的是pygame游戏进行声音添加的方法,这文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
    2021-10-10
  • 在服务器端实现无间断部署Python应用的教程

    在服务器端实现无间断部署Python应用的教程

    这篇文章主要介绍了在服务器端实现无间断部署Python应用的教程,方法主要是Gunicorn进行重载,需要的朋友可以参考下
    2015-04-04
  • 在Windows命令行中打开Python自带shell问题

    在Windows命令行中打开Python自带shell问题

    这篇文章主要介绍了在Windows命令行中打开Python自带shell问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Python基础之内置模块详解

    Python基础之内置模块详解

    Python内置的模块有很多,我们也已经接触了不少相关模块,接下来咱们就来做一些项目开发中常用的模块汇总和介绍,需要的朋友可以参考下
    2021-06-06
  • Python面向对象程序设计之继承与多继承用法分析

    Python面向对象程序设计之继承与多继承用法分析

    这篇文章主要介绍了Python面向对象程序设计之继承与多继承用法,结合实例形式分析了Python继承与多继承的简单定义与使用方法,需要的朋友可以参考下
    2018-07-07
  • ORM Django 终端打印 SQL 语句实现解析

    ORM Django 终端打印 SQL 语句实现解析

    这篇文章主要介绍了ORM Django 终端打印 SQL 语句实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python之cv2与图像的载入、显示和保存实例

    python之cv2与图像的载入、显示和保存实例

    今天小编就为大家分享一篇python之cv2与图像的载入、显示和保存实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 详解python变量的命名和使用

    详解python变量的命名和使用

    变量名只能包含字母、数字和下划线,本文主要介绍了详解python变量的命名和使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • python 与c++相互调用实现

    python 与c++相互调用实现

    这篇文章主要介绍了python 与c++相互调用实现,我们都知道c++运算速度快于python,python又简单易写,很多人就会想到将两者结合,接下俩小编要给大家介绍的就是python 与c++相互调用实现,,需要的朋友可以参考一下
    2022-03-03
  • python基础之while循环语句的使用

    python基础之while循环语句的使用

    这篇文章主要介绍了python基础之while循环语句的使用,文中有非常详细的代码示例,对正在学习python的小伙伴们有一定的帮助,需要的朋友可以参考下
    2021-04-04

最新评论