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


Posted in Python onMay 07, 2019

一、前言

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

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正则表达式提取文本特定内容的功能,之后想尝试利用python自动生成verilogHDL中module的例化模板。

总结

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

Python 相关文章推荐
用Python和MD5实现网站挂马检测程序
Mar 13 Python
解决python2.7 查询mysql时出现中文乱码
Oct 09 Python
Python实现导出数据生成excel报表的方法示例
Jul 12 Python
基于Python代码编辑器的选用(详解)
Sep 13 Python
对Python协程之异步同步的区别详解
Feb 19 Python
树莓派采用socket方式文件传输(python)
Jun 22 Python
python字典的常用方法总结
Jul 31 Python
python3实现单目标粒子群算法
Nov 14 Python
python中如何使用insert函数
Jan 09 Python
在django admin中配置搜索域是一个外键时的处理方法
May 20 Python
几款好用的python工具库(小结)
Oct 20 Python
10个python爬虫入门实例(小结)
Nov 01 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
May 07 #Python
python对象与json相互转换的方法
May 07 #Python
python使用threading.Condition交替打印两个字符
May 07 #Python
python实现银联支付和支付宝支付接入
May 07 #Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 #Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 #Python
Python数据类型之Set集合实例详解
May 07 #Python
You might like
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
jQuery 表格工具集
2010/04/25 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
python开发之文件操作用法实例
2015/11/13 Python
Python爬虫包BeautifulSoup实例(三)
2018/06/17 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
通信专业个人自我鉴定
2013/10/21 职场文书
《乡愁》教学反思
2014/02/18 职场文书
借款担保书范文
2014/05/13 职场文书
家庭教育的心得体会
2014/09/01 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
赞助商致辞
2015/07/30 职场文书
linux中nohup和后台运行进程查看及终止
2021/06/24 Python