[Python]正则表达式练习
# 匹配出0-99之间的数字 print("---匹配出0-99之间的数字---") ret = re.match(r"^[1-9]?[0-9]$","77") print(ret.group()) # 8到20位的密码,可以是⼤⼩写英⽂字⺟、数字、下划线 print("---,8到20位的密码,可以是⼤⼩写英⽂字⺟、数字、下划线---") ret = re.match("[\w_]{8,20}","1123dasf1") print(ret.group()) # 匹配出163的邮箱地址,且@符号之前有4到 20位,例如hello@163.com print("---匹配出163的邮箱地址,且@符号之前有4到 20位,例如hello@163.com---") ret = re.match("[\w_]{4,20}@163\.com","evan_qb@163.com") print(ret.group()) print("---b---") ret = re.match(r".*\b163\b","evan_qb@163.com") print(ret.group()) # 匹配1-100之间的数 print("---匹配1-100之间的数---") ret = re.match("[1-9]?\d$|100","100") print(ret.group()) # 匹配163、126、qq邮箱 print("---匹配163、126、qq邮箱---") ret = re.match("[\w_]{4,20}@(163|126|qq)\.com","123342@126.com") print(ret.group()) # 匹配<html>hello world</html> print("---匹配<html>hello world</html>---") ret = re.match(r"<([a-zA-Z]*)>.*</\1>","<html>hello world</html>") print(ret.group()) # 第一种:匹配出<html><h1>www.itcast.cn</h1></html> print("---第一种:匹配出<html><h1>www.qblank.cn</h1></html>---") ret = re.match(r"<(\w*)><(\w*)>.*</\2></\1>","<html><h1>www.itcast.cn</h1></html>") print(ret.group()) # 第二种: 匹配出<html><h1>www.qblank.cn</h1></html> print("---第二种: 匹配出<html><h1>www.qblank.cn</h1></html>") ret = re.match("<(?P<name1>\w*)><(?P<name2>\w*)>.*</(?P=name2)></(?P=name1)>","<html><h1>www.qblank.cn</h1></html>") print(ret.group()) # ******re模块的高级用法***** # 使用search匹配文章的阅读的次数 print("---匹配文章的阅读的次数---") ret = re.search(r"\d+","阅读次数为 9999") print(ret.group()) # 统计出python、c、c++相应⽂章阅读的次数 print("---统计出python、c、c++相应⽂章阅读的次数---") ret = re.findall(r"\d+","python = 2342,c = 7980,java = 9999") print(ret) # 将匹配到的阅读次数加1 print("---将匹配到的阅读次数加1---") ret = re.sub(r"\d+","999","python = 997") print(ret) # <div> # <p>岗位职责:</p> # <p>完成推荐算法、数据统计、接⼝、后台等服务器端相关⼯作</p> # <p><br></p> <p>必备要求:</p> <p>良好的⾃我驱动⼒和职业素养,⼯作积极主动、结果导向</p> # <p> <br></p> <p>技术要求:</p> # <p>1、⼀年以上 Python 开发经验,掌握⾯向对象分析和设计,了解设计模式</p > # <p>2、掌握HTTP协议,熟悉MVC、MVVM等概念以及相关WEB开发框架</p> # <p>3、掌握关系数据库开发设计,掌握 SQL,熟练使⽤ MySQL/PostgreSQL 中 的⼀种<br></p> # <p>4、掌握NoSQL、MQ,熟练使⽤对应技术解决⽅案</p> # <p>5、熟悉 Javascript/CSS/HTML5,JQuery、React、Vue.js</p> # <p> <br></p> <p>加分项:</p> # <p>⼤数据,数理统计,机器学习,sklearn,⾼性能,⼤并发。</p> # </div> data = """ <div> <p>岗位职责:</p> <p>完成推荐算法、数据统计、接⼝、后台等服务器端相关⼯作</p> <p><br></p> <p>必备要求:</p> <p>良好的⾃我驱动⼒和职业素养,⼯作积极主动、结果导向</p> <p> <br></p> <p>技术要求:</p> <p>1、⼀年以上 Python 开发经验,掌握⾯向对象分析和设计,了解设计模式</p > <p>2、掌握HTTP协议,熟悉MVC、MVVM等概念以及相关WEB开发框架</p> <p>3、掌握关系数据库开发设计,掌握 SQL,熟练使⽤ MySQL/PostgreSQL 中 的⼀种<br></p> <p>4、掌握NoSQL、MQ,熟练使⽤对应技术解决⽅案</p> <p>5、熟悉 Javascript/CSS/HTML5,JQuery、React、Vue.js</p> <p> <br></p> <p>加分项:</p> <p>⼤数据,数理统计,机器学习,sklearn,⾼性能,⼤并发。</p> </div> """ print("---爬取就业信息网址---") # 方法一:关闭贪婪模式 print("---方法一---") ret = re.sub(r"<.+?>","",data) print(ret) # 方法二: print("---方法二---") ret = re.sub(r"</?\w+>","",data) print(ret) # 切割字符串“info:xiaoZhang 33 shandong” print("---切割字符串“info:xiaoZhang 33 shandong”---") ret = re.split(r":|","切割字符串info:xiaoZhang 33 shandong") print(ret) # This is a number 234-235-22-423 data = "This is a number 234-235-22-423" print("---贪婪和非贪婪---") # 贪婪 ret = re.match(".+(\d+-\d+-\d+-\d+)",data) print(ret.group(1)) # 非贪婪 ret = re.match(".+?(\d+-\d+-\d+-\d+)",data) print(ret.group(1)) # 提取图片的url data = """ <img data-original="https://rpic.douyucdn.cn/appCovers/2016/1 1/13/1213973_201611131917_small.jpg" src="https://rpic.douyuc dn.cn/appCovers/2016/11/13/1213973_201611131917_small.jpg" style="display:inline;"> """ print("---提取图片的url") ret = re.search(r"https.+?\.jpg",data) print(ret.group()) data = """ http://www.interoem.com/messageinfo.asp?id=35 http://3995503.com/class/class09/news_show.asp?id=14 http://lib.wzmc.edu.cn/news/onews.asp?id=769 http://www.zy-ls.com/alfx.asp?newsid=377&id=6 http://www.fincm.com/newslist.asp?id=415 """ # 去掉后缀 print("---去掉后缀---") ret = re.sub(r"(http://.+?/).*", lambda x: x.group(1),data) print(ret) # 找出所有单词 data = "hello world ha ha" print("---找出所有单词---") print("--方法一--") ret = re.split(r" +",data) print(ret) print("--方法二--") ret = re.findall(r"\b[a-zA-Z]+\b",data) print(ret)
本文作者:SkyBiuBiu
本文链接:https://www.cnblogs.com/Skybiubiu/p/13025564.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步