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.

  • 相关阅读:
    Servlet Filter过滤器执行顺序
    eclipse乱码问题
    如何查看servlet&jsp版本?
    Unity的shader学习2
    Unity的shader学习1
    后缀数组专题与代码模板
    哈希表/散列表 指针版模版
    图的连通性专题及模板
    一般图最大匹配--带花树
    7-15至7-17训练赛回顾
  • 原文地址:https://www.cnblogs.com/flippedkiki/p/5712774.html
Copyright © 2011-2022 走看看