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 实现文件的递归拷贝实现代码
Aug 02 Python
python实现数通设备端口监控示例
Apr 02 Python
Python字符串逐字符或逐词反转方法
May 21 Python
python2.7 json 转换日期的处理的示例
Mar 07 Python
python调用Matplotlib绘制分布点并且添加标签
May 31 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
Apr 02 Python
opencv 图像轮廓的实现示例
Jul 08 Python
Python 捕获代码中所有异常的方法
Aug 03 Python
python 检测图片是否有马赛克
Dec 01 Python
Django实现翻页的示例代码
May 24 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连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
php日期操作技巧小结
2016/06/25 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
比较搞笑的js陷阱题
2010/02/07 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
一文了解Python并发编程的工程实现方法
2019/05/31 Python
pandas.cut具体使用总结
2019/06/24 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
一些PHP的面试题
2015/05/06 面试题
护士进修自我鉴定
2014/02/07 职场文书
涉密人员保密承诺书
2014/05/28 职场文书
2014高考励志标语
2014/06/05 职场文书
财务个人年度总结范文
2015/02/26 职场文书
2015年派出所工作总结
2015/04/24 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python
mysql的数据压缩性能对比详情
2021/11/07 MySQL
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android