Python基础——贪婪模式

本文介绍了Python中的贪婪模式,详细讲解了非贪婪匹配的概念,并探讨了预定义字符组,如d、D、s、S、w和W的使用。同时,提到了正则表达式的常用函数,如re.findall()、re.match()和re.search()的功能和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、贪婪模式简介

非贪婪模式(.*?) 即尽可能少的匹配字符:
.表示单个字符
* 表示{0,} 0到无穷多个字符
?表示{0,1} 0到1个字符
贪婪模式和非贪婪模式的对比
贪婪模式会尽可能多的匹配字符

import re
s = 'abcdecccccfg'
r1 = re.findall("ab.*c", s)  #贪婪模式
print(r1)   #['abcdeccccc']
r2 = re.findall("ab.*?c", s)  #非贪婪模式
print(r2)   #['abc']

二、贪婪模式的应用

import re
s = ""
with open("text.html", "r", encoding='utf-8')as f:
    s = f.read()
print(s)

s = re.findall('<dd id="contents">(.*?)</dd>', s, re.S)[0]    #想把列表变成字符串[0]
s = s.replace("<br />", "")
s = s.replace("&nbsp;", "")
print(s)

三、预定义字符组:[ ]

1、\d==[0-9]
import re
s = "<a href='asdf'>121423646</a>"
a = re.findall("(\d.*)", s)   #贪婪模式
b = re.findall("(\d.*\d)", s)   #贪婪模式
pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值