ASSOy 2022-02-28 20:24 采纳率: 66.7%
浏览 41
已结题

Python正则表达式无法提取数字,只能提取文字

我想要提取对应的数字,但是只能提出来文字,应该显示数字的地方变成了[ ],然后它也没报错,实在不知道是哪里错了

img

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-02-28 21:12
    关注

    rightlist内容中的括号是英文状态下的,题主正则用的中文状态下的当然无法匹配,而且应该使用非贪婪匹配

    img

    import re
    
    s='''<center>[<font color="#0000FF"><b> 小麦 </b></font>]的营养素含量(指100克可食部食品中的含量)&nbsp;&nbsp;
        [进入食品百科查看--<a href='http://www.foodbk.com/wiki/%E5%B0%8F%E9%BA%A6' target='_blank'><font color="#0000FF"><b> 小麦 </b></font></a>的信息]</center>
        <div class="list"><div class="list_m">热量(千卡)</div>317</div><div class="list"><div class="list_m">硫胺素(毫克)</div>0.4</div><div class="list"><div class="list_m">钙(毫克)</div>34</div>
        <div class="list"><div class="list_m">蛋白质(克)</div>11.9</div><div class="list"><div class="list_m">核黄素(毫克)</div>0.1</div><div class="list"><div class="list_m">镁(毫克)</div>4</div>
        <div class="list"><div class="list_m">脂肪(克)</div>1.3</div><div class="list"><div class="list_m">烟酸(毫克)</div>4</div><div class="list"><div class="list_m">铁(毫克)</div>5.1</div>
        <div class="list"><div class="list_m">碳水化合物(克)</div>64.4</div><div class="list"><div class="list_m">维生素C(毫克)</div>0</div><div class="list"><div class="list_m">锰(毫克)</div>3.1</div>
        <div class="list"><div class="list_m">膳食纤维(克)</div>10.8</div><div class="list"><div class="list_m">维生素E(毫克)</div>1.82</div><div class="list"><div class="list_m">锌(毫克)</div>2.33</div>
        <div class="list"><div class="list_m">维生素A(微克)</div>0</div><div class="list"><div class="list_m">胆固醇(毫克)</div>0</div><div class="list"><div class="list_m">铜(毫克)</div>0.43</div>
        <div class="list"><div class="list_m">胡罗卜素(微克)</div>1.6</div><div class="list"><div class="list_m">钾(毫克)</div>289</div><div class="list"><div class="list_m">磷(毫克)</div>325</div>
        <div class="list"><div class="list_m">视黄醇当量(微克)</div>10</div><div class="list"><div class="list_m">钠(毫克)</div>6.8</div><div class="list"><div class="list_m">硒(微克)</div>4.05</div>'''
    
    findDn=re.compile(r'<div class="list_m">蛋白质\(克\)</div>(.*?)</div>')
    print(re.findall(findDn,s))
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 创建了问题 2月28日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集