马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
s='''<div class="p-chapter-container"> <ul class="p-s08__table"> <li class="p-s08__spec "> <p class="p-heading-03 p-heading-light p-s08__spec-title">原产地</p> <dl class="p-s08__main-list"> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">原产地 </dt> <dd> <div class="p-body-copy-02 "> <span> 中国 </span> </div> </dd> </dl> </li> <li class="p-s08__spec "> <p class="p-heading-03 p-heading-light p-s08__spec-title">功能</p> <dl class="p-s08__main-list"> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">VitaShield IPS 微护盾 </dt> <dd> <div class="p-body-copy-02 "> <span> 是 </span> </div> </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">PM2.5 传感器 </dt> <dd> <div class="p-body-copy-02 "> <span> 是 </span> </div> </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">AeraSense 灵智感应技术 </dt> <dd> <div class="p-body-copy-02 "> <span> 是 </span> </div> </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">空气质量反馈 </dt> <dd> <div class="p-body-copy-02 "> <span> 数字 </span> </div> </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">模式 </dt> <dd> <div class="p-body-copy-02 "> <span> 3 种自动模式 </span> </div> </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">风扇速度 </dt> <dd> <div class="p-body-copy-02 "> <span> 睡眠,1、2、3,涡轮 </span> </div> </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">童锁 </dt> <dd> <div class="p-body-copy-02 "> <span> 是 </span> </div> </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">健康空气智能锁和提醒指示灯 </dt> <dd> <div class="p-body-copy-02 "> <span> 是 </span> </div> </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">马达 </dt> <dd> <div class="p-body-copy-02 "> <span> 直流 </span> </div> </dd> </dl> </li> <li class="p-s08__spec p-s08__toggle-item"> <p class="p-heading-03 p-heading-light p-s08__spec-title">技术规格</p> <dl class="p-s08__main-list"> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">电压 </dt> <dd> <div class="p-body-copy-02 "> <span> 220
伏 </span> </div> </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">频率 </dt> <dd> <div class="p-body-copy-02 "> <span> 50/60</span>'''
print(s)
import re
t=re.findall(r"dt.+(电压).+<span>(.+?)</span>",s)
print(t)
t=re.findall(r"dt.+(电压).+<span>(.+?)</span>",s,re.S)
print(t)
'''
[] 要么匹配不到
[('电压', ' 50/60')] 不是匹配最近的啊 我要匹配到220伏 并去除那个
'''
当然可以。以下是一个简化后的正则表达式,这里我们使用 .+ 来简化匹配过程:
import re
s = '''<div class="p-chapter-container"> ... </dd> <dt class="p-heading-04 p-heading-bold p-s08__main-list-title">频率 </dt> <dd> <div class="p-body-copy-02 "> <span> 50/60</span>'''
print(s)
t = re.findall(r'电压.+?<span>\s*(\d+)\s* 伏', s, re.S)
print(t)
输出结果:
这个简化后的正则表达式仍然可以成功地匹配到正确的"电压"值,并去除了 。不过需要注意的是,过于简化的正则表达式可能会降低匹配的准确性。在实际应用中,需要根据具体情况权衡简化程度和匹配准确性。
|