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查找第k小元素代码分享
Dec 18 Python
Python Socket编程详细介绍
Mar 23 Python
python+tkinter编写电脑桌面放大镜程序实例代码
Jan 16 Python
Python装饰器用法实例总结
Feb 07 Python
python smtplib模块自动收发邮件功能(二)
May 22 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
Python模拟百度自动输入搜索功能的实例
Feb 14 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
Python实现一个简单的毕业生信息管理系统的示例代码
Jun 08 Python
python 实现关联规则算法Apriori的示例
Sep 30 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 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
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
php实现加减法验证码代码
2014/02/14 PHP
PHP 快速排序算法详解
2014/11/10 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
php集成动态口令认证
2016/07/21 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
javascript获取元素偏移量的方法有哪些
2014/06/24 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
2015/03/18 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
jQuery Masonry瀑布流插件使用方法详解
2017/01/18 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
详解python中的装饰器
2018/07/10 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
Python列表list操作相关知识小结
2020/01/29 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
浅析Python 责任链设计模式
2020/09/11 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
拓展培训心得体会
2014/01/04 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
公司活动总结怎么写
2014/06/25 职场文书
体育专业求职信
2014/07/16 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
干部理论学习心得体会
2016/01/21 职场文书