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网络编程学习笔记(三):socket网络服务器
Jun 09 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
Jul 26 Python
使用Python实现从各个子文件夹中复制指定文件的方法
Oct 25 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
python中enumerate() 与zip()函数的使用比较实例分析
Sep 03 Python
Python 使用 environs 库定义环境变量的方法
Feb 25 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
Mar 04 Python
python实现控制台输出彩色字体
Apr 05 Python
Django实现后台上传并显示图片功能
May 29 Python
python3 sqlite3限制条件查询的操作
Apr 07 Python
Python 数据可视化神器Pyecharts绘制图像练习
Feb 28 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/12/05 PHP
php array_walk() 数组函数
2011/07/12 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
2010/10/22 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
JS两个数组比较,删除重复值的巧妙方法(推荐)
2016/06/03 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
中科方德软件测试面试题
2016/04/21 面试题
酒店员工检讨书
2014/02/18 职场文书
高中教师考核方案
2014/05/18 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python
Python包argparse模块常用方法
2021/06/04 Python
MySQL开启事务的方式
2021/06/26 MySQL