python中正则表达式与模式匹配
作者:没落骑士 发布时间:2023-08-25 22:54:59
一、前言
在之前找工作过程中,面试时经常被问到会不会python,懂不懂正则表达式。心里想:软件的东西和芯片设计有什么关系?咱也不知道因为啥用这个,咱也不敢问啊!在网上搜索到了一篇关于脚本在ASIC领域中应用的文章(原文见参考文献1),里边提到了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自动生成verilogHDL中module的例化模板。
总结
以上所述是小编给大家介绍的python正则表达式匹配网站的支持!
来源:https://www.cnblogs.com/moluoqishi/archive/2019/05/07/10825221.html


猜你喜欢
- 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件)、
- 在前一篇博客我们学习了 Go 数组,其要求所有元素为同一数据类型,如果希望存储不同类型的数据,就要用到结构体相关知识。结构体的定义:存储相同
- 具体代码如下所述:< !DOCTYPE html > <html lang = "en" > &
- 如下所示:#!/usr/bin/env pythonimport serialimport timeimport threadclass M
- 前言 本篇文章介绍一下 Pycharm 如何配置远程连接信息,使其能够在本地使用服务器上的GPU等硬件资源,并在本地完成代码的运行与调试。
- 本文实例讲述了python实现数值积分的Simpson方法。分享给大家供大家参考。具体如下:#coding = utf-8#simpson
- 最近在学爬虫时发现许多网站都有自己的反爬虫机制,这让我们没法直接对想要的数据进行爬取,于是了解这种反爬虫机制就会帮助我们找到解决方法。常见的
- %有哪几种含义?查找手册翻看《The Python Libary Reference》python库指南中附录index部分(P1899):
- python作为使用最广泛的编程语言之一,有着无穷无尽的第三方非标准库的支持。简单的语法、优雅的代码块使其在各个业务领域都混的风生水起,除了
- 处理过滤Apache日志文件access_test.log文件内容27.19.74.143 - - [30/May/2015:17:38:2
- 本文实例为大家分享了JavaScript实现淘宝网图片的局部放大的具体代码,供大家参考,具体内容如下要实现的效果如下:<!DOCTYP
- 数据库复制就是由两台服务器,主服务器和备份服务器,主服务器修改后,备份服务器自动修改,在以前的文章中已经做了详细的说明,这里就不在重复.使用
- 正文之前上午给爸爸打了个电话庆祝他50岁生日,在此之前搞了个大扫除,看了会知乎,到实验室已经十一点多了。约喜欢的妹子吃饭失败,以至于工作积极
- 如下所示:import ospath="/home/test/" #待读取的文件夹path_list=os.listdi
- DB2 存储过程:基础知识您在客户端工作站上对远程服务器和位于该服务器上的数据库进行分类的任何时候,都存在一个简单的 DB2 客户端/服务器
- Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select
- 计算Python Numpy向量之间的欧氏距离,已知vec1和vec2是两个Numpy向量,欧氏距离计算如下:import numpydis
- 用Go语言实现登录验证,有3次机会,如果用户名为 zhangsan ,密码为 123456 ,则提示登录成功,否则提示还有几次机会,次数用完
- 一.Orcal临时表分类1.会话级临时表1).保存一个会话Session的数据。2).当会话退出时,临时表数据自动清空。表结构与元数据还存储
- 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] <script&