zoukankan      html  css  js  c++  java
  • 解决正则表达式中用中文匹配的方法

    例如在网页源代码中有如下中文字段(charset=‘utf-8’):

    发布: 2016-7-27 11:18 |  作者:  |  
    查看: 63次据新华社电全球最大太阳能飞机“阳光动力”2号当地时间26日凌晨在阿联酋首都阿布扎比巴廷商务机场平稳降落,完成全程约3.5万公里的环球飞行,创造了全球不耗费任何燃料、完全依靠太阳能作为动力的飞机环球飞行纪录。

    要想去除上段文字中的红色字段,正则表达式如下:

    import lxml.etree as etree
    selector = etree.HTML(html)
    body = selector.xpath('//div[@id="article"]//p/text()')
    body = re.sub(u'发布([wW]+?)次','',u''.join(body))
    print body
    #结果如下:据新华社电全球最大太阳能飞机“阳光动力”2号当地时间26日凌晨在阿联酋首都阿布扎比巴廷商务机场平稳降落,完成全程约3.5万公里的环球飞行,创造了全球不耗费任何燃料、完全依靠太阳能作为动力的飞机环球飞行纪录。

    正则表达式中,需要把所有中文字符都转化为unicode(如  u'发布([wW]+?)次'  u' '.join(body))!

    第一个正则匹配是把‘发布([wW]+?)次’全部转化为unicode(pycharm会自动识别其中的正则表达式),

    第二个则是将body列表中的所有元素转化为unicode.

  • 相关阅读:
    VBA基础一:对象、属性、方法、变量
    js画吊线图
    C++读取硬盘物理序列号-非管理员权限
    什么是句柄?
    2020年WIN7系统的几个问题处理
    静态分析:IDA逆向代码段说明 text、idata、rdata、data
    入门级汇编语法句读
    Ollydbg 单步跟踪F8
    IDA使用之旅(四)
    CSP认证201409-1-相邻数对-(Java)100分
  • 原文地址:https://www.cnblogs.com/flippedkiki/p/5712774.html
Copyright © 2011-2022 走看看