敬业老中医
2020-05-29 21:09
采纳率: 0%
浏览 143

正则表达式或者bs4 匹配 得到 代码中的汉字部分,不是得到一个,在我程序中需要得到很多个,请大佬帮忙解决一下,谢谢

<a class="topic-text" href="http://tieba.baidu.com/hottopic/browse/hottopic?topic_id=278032&amp;topic_name=%E6%97%A5%E6%9C%AC%E8%A7%84%E5%AE%9A%E5%9D%90%E8%BF%87%E5%B1%B1%E8%BD%A6%E7%A6%81%E6%AD%A2%E5%B0%96%E5%8F%AB" target="_blank">日本规定坐过山车禁止尖叫</a>

日本规定坐过山车禁止尖叫

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 关竹 2020-05-30 11:11
    a="""string"""
    pattern=r'[\u4e00-\u9fa5]+'
    print(re.findall(pattern,a))
    

    这里\u4e00-\u9fa5是汉字unicode范围

    这样有一个问题,举例

    <a>日本规定hhhh坐过山车禁止尖叫</a>
    匹配返回结果["日本规定","坐过山车禁止尖叫"]
    

    如果你要抓取的内容只在< a>< /a>中间,建议你的正则去匹配">< /a>"中间部分

    pattern=r'>(.*)</a>'
    print(re.findall(pattern,a))
    

    关于字符的unicode范围,你可以看下这篇

    https://blog.csdn.net/gatieme/article/details/43235791

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题