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 时间戳与格式化时间的转化实现代码
Mar 23 Python
Python如何读取MySQL数据库表数据
Mar 11 Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
python dataframe向下向上填充,fillna和ffill的方法
Nov 28 Python
浅谈pycharm的xmx和xms设置方法
Dec 03 Python
利用Python半自动化生成Nessus报告的方法
Mar 19 Python
python取均匀不重复的随机数方式
Nov 27 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
Apr 19 Python
Python如何发送与接收大型数组
Aug 07 Python
利用Python实现学生信息管理系统的完整实例
Dec 30 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
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
tagName的使用,留一笔
2006/06/26 Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
python中set常用操作汇总
2016/06/30 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
大学生职业生涯规划书的基本内容
2014/01/06 职场文书
教师个人自我鉴定
2014/02/08 职场文书
区优秀教师事迹材料
2014/02/10 职场文书
有关爱国演讲稿
2014/05/07 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
安全保证书
2015/01/16 职场文书
考研导师推荐信范文
2015/03/27 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
微信小程序用户授权最佳实践指南
2021/05/08 Javascript