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日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度