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实现的简单RPG游戏流程实例
Jun 28 Python
Python中规范定义命名空间的一些建议
Jun 04 Python
python列表生成式与列表生成器的使用
Feb 23 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
tensorflow 加载部分变量的实例讲解
Jul 27 Python
python中单例常用的几种实现方法总结
Oct 13 Python
python实现将多个文件分配到多个文件夹的方法
Jan 07 Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
python中使用while循环的实例
Aug 05 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
pycharm 复制代码出现空格的解决方式
Jan 15 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实现框架(一)
2006/10/09 PHP
用PHP和ACCESS写聊天室(一)
2006/10/09 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
PHP $_SERVER详解
2009/01/16 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
用jscript实现新建word文档
2007/06/15 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
图片img的src不变让浏览器重新加载实现方法
2013/03/29 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
python实现马耳可夫链算法实例分析
2015/05/20 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
python修改字典键(key)的方法
2019/08/05 Python
实现Python与STM32通信方式
2019/12/18 Python
Python里面search()和match()的区别
2016/09/21 面试题
厨师长岗位职责
2014/03/02 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
教师竞聘上岗演讲稿
2014/09/03 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
走群众路线学习笔记
2014/11/06 职场文书
美术教师个人工作总结
2015/02/06 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
百万英镑观后感
2015/06/09 职场文书
在校学生证明格式
2015/06/24 职场文书
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers