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验证企业工商注册码
Oct 25 Python
Python标准库之collections包的使用教程
Apr 27 Python
python 利用pandas将arff文件转csv文件的方法
Feb 12 Python
python 多线程对post请求服务器测试并发的方法
Jun 13 Python
python找出因数与质因数的方法
Jul 25 Python
结合OpenCV与TensorFlow进行人脸识别的实现
Oct 10 Python
如何通过python实现全排列
Feb 11 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
Pycharm自动添加文件头注释和函数注释参数的方法
Oct 23 Python
在vscode中启动conda虚拟环境的思路详解
Dec 25 Python
python绘制高斯曲线
Feb 19 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
php如何连接sql server
2015/10/16 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
Thinkphp整合阿里云OSS图片上传实例代码
2019/04/28 PHP
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
Python异常学习笔记
2015/02/03 Python
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
Python socket实现简单聊天室
2018/04/01 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
python可迭代对象去重实例
2020/05/15 Python
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
50道外企软件测试面试题
2014/08/18 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
商务英语专业求职信
2014/06/26 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
刑事附带民事代理词
2015/05/25 职场文书
岁月神偷观后感
2015/06/11 职场文书
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL