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中使用dict和set方法的教程
Apr 27 Python
Python自动发邮件脚本
Mar 31 Python
Python实现excel转sqlite的方法
Jul 17 Python
Python绘制的二项分布概率图示例
Aug 22 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
python 字典访问的三种方法小结
Dec 05 Python
PyQt5+python3+pycharm开发环境配置教程
Mar 24 Python
python实现3D地图可视化
Mar 25 Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 Python
Python定义一个Actor任务
Jul 29 Python
利用python爬取有道词典的方法
Dec 08 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
php学习笔记之 函数声明
2011/06/09 PHP
php引用计数器进行垃圾收集机制介绍
2012/09/19 PHP
php加密解密实用类分享
2014/01/07 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
JS解析XML实例分析
2015/01/30 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
python异步任务队列示例
2014/04/01 Python
Python实现的批量下载RFC文档
2015/03/10 Python
Python字符串详细介绍
2015/05/09 Python
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
python调用API实现智能回复机器人
2018/04/10 Python
Python单元测试简单示例
2018/07/03 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
上海方立数码笔试题
2013/10/18 面试题
单身联谊活动方案
2014/01/29 职场文书
公务员中国梦演讲稿
2014/08/19 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
2015年教师节主持词
2015/07/03 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书