正则表达式操作实践

正则表达式操作实践

来自 Python123
有一些网站提供了常用的正则表达式和测试环境,例如

  • regexr.com 一个非常棒的在线环境,我经常使用
  • regexlib.com 一个非常棒的在线环境,我经常使用

高效文本处理 - 1

原始文本如下

 张伟        17664999502  \n
 王伟       17187690316   \n
  王芳        14210007607   \n
 李伟         15878807133  \n
  王秀英    15575237523    \n
 李秀英  15695435545    \n
  李娜       18346347153   \n
  张秀英    17017338288   \n
   刘伟  15481361668  \n
  张敏        13528947724    \n
    李静         18522824481 \n
  张丽   14352788577     \n
  王静      18637851730    \n
 王丽        15862244782  \n
 李强   14363718204   \n
 张静  13418111578     \n
    李敏         15657258884  \n
    王敏         17574922377 \n
 王磊        14517362847 \n
  李军         18088271014  \n
 刘洋     17897166967     \n
  • 提取所有 11 位数字电话号码

    \d{11}
    

    匹配结果

    17664999502
    17187690316
    14210007607
    15878807133
    15575237523
    15695435545
    18346347153
    17017338288
    15481361668
    13528947724
    18522824481
    14352788577
    18637851730
    15862244782
    14363718204
    13418111578
    15657258884
    17574922377
    14517362847
    18088271014
    17897166967
    
  • 提取所有 18 或 13 开头的电话号码

    (18|13)\d{9}
    

    匹配结果

    18346347153
    13528947724
    18522824481
    18637851730
    13418111578
    18088271014
    
  • 提取所有“王”姓同学的名字

    王\S*
    

    匹配结果

    王伟
    王芳
    王秀英
    王静
    王丽
    王敏
    王磊
    
  • 提取所有“张”姓同学的电话号码

    (张\S*) *(\d{11})    ||    $1 的电话是 $2
    

    匹配结果

    张伟 的电话是 17664999502
    张秀英 的电话是 17017338288
    张敏 的电话是 13528947724
    张丽 的电话是 14352788577
    张静 的电话是 13418111578
    
  • 重新排版

    (\S*) *(\d{11})    ||    $1 - $2
    

    匹配结果

    张伟 - 17664999502
    王伟 - 17187690316
    王芳 - 14210007607
    李伟 - 15878807133
    王秀英 - 15575237523
    李秀英 - 15695435545
    李娜 - 18346347153
    张秀英 - 17017338288
    刘伟 - 15481361668
    张敏 - 13528947724
    李静 - 18522824481
    张丽 - 14352788577
    王静 - 18637851730
    王丽 - 15862244782
    李强 - 14363718204
    张静 - 13418111578
    李敏 - 15657258884
    王敏 - 17574922377
    王磊 - 14517362847
    李军 - 18088271014
    刘洋 - 17897166967
    

高效文本处理 - 2

原始文本如下

# 日期格式混乱的姓名簿

   张伟         1999年11月16日  王伟      1994.11.14    
 王芳   1991年12月15日       李伟     1993-3-16       王秀英   1993年11月7日   
  李秀英      1992-1-18  
   李娜  1996年9月6日     张秀英       1995-6-0       刘伟         1996年1月4日    张敏       1995.3.16    
  李静       1996-6-27        张丽 1997-6-28     
  王静  1997-5-4    
   王丽       1996-1-2 
  李强      1991-4-21  
 张静      1991-9-7       李敏   1997-6-5   
   王敏    1999年2月9日  
   王磊         1997-8-19      李军        1990年6月4日    
    刘洋      1999-6-25   
  • 提取所有日期
    \d{4}\S\d{1,2}\S\d{1,2}\S?
    
    匹配结果
    1999年11月16日
    1994.11.14
    1991年12月15日
    1993-3-16
    1993年11月7日
    1992-1-18
    1996年9月6日
    1995-6-0
    1996年1月4日
    1995.3.16
    1996-6-27
    1997-6-28
    1997-5-4
    1996-1-2
    1991-4-21
    1991-9-7
    1997-6-5
    1999年2月9日
    1997-8-19
    1990年6月4日
    1999-6-25
    
  • 提取所有 1996 年以前出生的学生
    (\S*) *199[0-5]\S\d{1,2}\S\d{1,2}\S?
    
    匹配结果
    王伟      1994.11.14
    王芳   1991年12月15日
    李伟     1993-3-16
    王秀英   1993年11月7日
    李秀英      1992-1-18
    张秀英       1995-6-0
    张敏       1995.3.16
    李强      1991-4-21
    张静      1991-9-7
    李军        1990年6月4日
    
  • 重新排版
    (\S*) *(\d{4})\S(\d{1,2})\S(\d{1,2})\S?  ||  $1: $2 年 $3 月 $4 日
    
    匹配结果
    张伟: 1999 年 11 月 16 日
    王伟: 1994 年 11 月 14 日
    王芳: 1991 年 12 月 15 日
    李伟: 1993 年 3 月 16 日
    王秀英: 1993 年 11 月 7 日
    李秀英: 1992 年 1 月 18 日
    李娜: 1996 年 9 月 6 日
    张秀英: 1995 年 6 月 0 日
    刘伟: 1996 年 1 月 4 日
    张敏: 1995 年 3 月 16 日
    李静: 1996 年 6 月 27 日
    张丽: 1997 年 6 月 28 日
    王静: 1997 年 5 月 4 日
    王丽: 1996 年 1 月 2 日
    李强: 1991 年 4 月 21 日
    张静: 1991 年 9 月 7 日
    李敏: 1997 年 6 月 5 日
    王敏: 1999 年 2 月 9 日
    王磊: 1997 年 8 月 19 日
    李军: 1990 年 6 月 4 日
    刘洋: 1999 年 6 月 25 日
    
  • 把所有 1996 年以前出生的学生出生年份改为 1996
    (\S*) *(199[0-5])\S(\d{1,2})\S(\d{1,2})\S?    ||    $1: 1996 年 $3 月 $4 日
    
    匹配结果
    王伟: 1996 年 11 月 14 日
    王芳: 1996 年 12 月 15 日
    李伟: 1996 年 3 月 16 日
    王秀英: 1996 年 11 月 7 日
    李秀英: 1996 年 1 月 18 日
    张秀英: 1996 年 6 月 0 日
    张敏: 1996 年 3 月 16 日
    李强: 1996 年 4 月 21 日
    张静: 1996 年 9 月 7 日
    李军: 1996 年 6 月 4 日
    
  • 提取生日
    (\S*) *(199[0-5])\S(\d{1,2})\S(\d{1,2})\S?    ||    $1的生日是$3月$4号
    
    匹配结果
    张伟的生日是11月16号
    王伟的生日是11月14号
    王芳的生日是12月15号
    李伟的生日是3月16号
    王秀英的生日是11月7号
    李秀英的生日是1月18号
    李娜的生日是9月6号
    张秀英的生日是6月0号
    刘伟的生日是1月4号
    张敏的生日是3月16号
    李静的生日是6月27号
    张丽的生日是6月28号
    王静的生日是5月4号
    王丽的生日是1月2号
    李强的生日是4月21号
    张静的生日是9月7号
    李敏的生日是6月5号
    王敏的生日是2月9号
    王磊的生日是8月19号
    李军的生日是6月4号
    刘洋的生日是6月25号
    

代码重构

原始文本如下

def fib():
    return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5))

def subfib(start, end):
    for cur in fib():
        if cur > end: return
        if cur >= start:
            print cur
            yield cur

def foo(a, b):
   return a + b

print 'fibonacci 10~100:'
print subfib(10, 100)
  • 调整缩进,将四空格缩进重构为八个空格
    ^(\s+)    ||    $1$1
    
    处理结果如下
    def fib():
            return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5))
    
    def subfib(start, end):
            for cur in fib():
                    if cur > end: return
                    if cur >= start:
                            print cur
                            yield cur
    
    def foo(a, b):
          return a + b
    
    print 'fibonacci 10~100:'
    print subfib(10, 100)
    
  • 重构 Python2 的 print 语法为 Python3 的 print() 函数
    print *(.*)$    ||    print($1)
    
    处理结果如下
    def fib():
        return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5))
    
    def subfib(start, end):
        for cur in fib():
            if cur > end: return
            if cur >= start:
                print(cur)
                yield cur
    
    def foo(a, b):
       return a + b
    
    print('fibonacci 10~100:')
    print(subfib(10, 100))
    
  • 所有函数声明添加 func_ 前缀
    def *(.*)    ||    def func_$1
    
    处理结果如下
    def func_fib():
        return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5))
    
    def func_subfib(start, end):
        for cur in fib():
            if cur > end: return
            if cur >= start:
                print cur
                yield cur
    
    def func_foo(a, b):
       return a + b
    
    print 'fibonacci 10~100:'
    print subfib(10, 100)
    
  • 交换函数声明中的参数位置
    def (.*?)\((\w+), *(\w+)\)    ||    def $1($3, $2)
    
    处理结果如下
    def fib():
        return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5))
    
    def subfib(end, start):
        for cur in fib():
            if cur > end: return
            if cur >= start:
                print cur
                yield cur
    
    def foo(b, a):
       return a + b
    
    print 'fibonacci 10~100:'
    print subfib(10, 100)
    
  • 为所有函数添加注释模板
    def *(.*):    ||    def $1:   """    函数描述:    参数:    返回值:  """
    
    处理结果如下
    def fib():
       """
        函数描述:
        参数:
        返回值:
      """
        return ((1+sqrt(5))**n-(1-sqrt(5))**n)/(2**n*sqrt(5))
    
    def subfib(start, end):
       """
        函数描述:
        参数:
        返回值:
      """
        for cur in fib():
            if cur > end: return
            if cur >= start:
                print cur
                yield cur
    
    def foo(a, b):
       """
        函数描述:
        参数:
        返回值:
      """
       return a + b
    
    print 'fibonacci 10~100:'
    print subfib(10, 100)
    

数据格式验证

数据格式验证是正则表达式的一个常用领域,网站通常使用正则表达式来判断用户提交的信息是否符合规范。
下面的正则表达式都相当复杂,幸运的是你不需要记忆这些常用的正则表达式,需要时通过任何搜索引擎都能够找到。

  • 邮箱验证
    原始文本
    123@qq.com
    asdf@gmail.com
    surname@blah.com
    name.name@123.com
    1242135.com
    @foo.com
    a@a
    name @bla.com
    
    正则表达式
    ^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$
    
    处理结果
    123@qq.com
    asdf@gmail.com
    surname@blah.com
    name.name@123.com
    
  • 密码强度验证(最少八个字符,至少一个大写字母,一个小写字母和一个数字)
    原始文本
    123456
    wdfqe#wefDdf123
    wjleif932
    8Ij12340
    password
    11111111ABc
    hello
    qweasdzxc
    
    正则表达式
    ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^\n]{8,}$
    
    处理结果
    wdfqe#wefDdf123
    8Ij12340
    11111111ABc
    
  • 18 位身份证号验证
    原始文本
    23010519491231002X
    33010517491231232X
    67810519491331214X
    22010519491232452X
    123412195292349132
    123412196712234932
    a23rr23451235t123f
    124123580913457102
    
    正则表达式
    ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$
    
    处理结果
    23010519491231002X
    123412196712234932
    
  • IP 地址验证
    原始文本
    1.0.0.0
    12.3.4.5
    192.168.1.1
    192.168.256.1
    1.2.2.2
    0.0.0.0
    2.3.4
    -1.2.3.4
    
    正则表达式
    ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
    
    处理结果
    1.0.0.0
    12.3.4.5
    192.168.1.1
    1.2.2.2
    0.0.0.0
    
  • 手机号验证
    原始文本
    12345678900
    12354125235
    15423423523
    15123458654
    8613890235892
    017728384893
    11111111111
    
    正则表达式
    ^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$
    
    处理结果
    15123458654
    8613890235892
    017728384893
    

网络爬虫

网络爬虫提取数据也离不开正则表达式。

  • 提取所有 HTML 标签
    正则表达式
    <("[^"]*"|'[^']*'|[^'">])*>
    
    原始文本
    <div class="hotnews">
    <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0">
    <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3">
    ***的改革之“喻” </a></li>
    <li class="hdline1">
    <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank">
    《必由之路》宣传片</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank">
    主题歌《梦想阳光》发布 </a>
    </li>
    <li class="hdline2">
    <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3">
    【央视快评】坚持中国特色人权发展道路</a></li>
    <li class="hdline3">
    <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank">
    《改革开放 关键一招》第一集</a>
    </li>
    <li class="hdline4">
    <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3">
    【数说改革开放40年】40年减贫7.4亿人</a></li>
    <li class="hdline5">
    <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a>
    </li>
    </ul>
    </div>
    
    处理结果
    <div class="hotnews">
    <div class="imgview" id="imgView">
    <a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank">
    <img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg">
    </a>
    </div>
    <ul>
    <li class="hdline0">
    <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3">
    </a>
    </li>
    <li class="hdline1">
    <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank">
    </a>
    <i style="font-size: 12px">
    </i>
    <a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank">
    </a>
    </li>
    <li class="hdline2">
    <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg">
    <a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3">
    </a>
    </li>
    <li class="hdline3">
    <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">
    </a>
    <i style="font-size: 12px">
    </i>
    <a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank">
    </a>
    </li>
    <li class="hdline4">
    <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3">
    </a>
    </li>
    <li class="hdline5">
    <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">
    </a>
    </li>
    </ul>
    </div>
    
  • 清洗所有 HTML 标签
    正则表达式
    <("[^"]*"|'[^']*'|[^'">])*>    ||    ' '
    
    原始文本
    <div class="hotnews">
    <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0">
    <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3">
    ***的改革之“喻” </a></li>
    <li class="hdline1">
    <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank">
    《必由之路》宣传片</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank">
    主题歌《梦想阳光》发布 </a>
    </li>
    <li class="hdline2">
    <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3">
    【央视快评】坚持中国特色人权发展道路</a></li>
    <li class="hdline3">
    <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank">
    《改革开放 关键一招》第一集</a>
    </li>
    <li class="hdline4">
    <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3">
    【数说改革开放40年】40年减贫7.4亿人</a></li>
    <li class="hdline5">
    <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a>
    </li>
    </ul>
    </div>
    
    处理结果
    
    ***的改革之“喻”   
    
    《必由之路》宣传片 
     &nbsp;  
    主题歌《梦想阳光》发布  
    
    【央视快评】坚持中国特色人权发展道路  
     
     同舟共济 
     &nbsp;  
    《改革开放 关键一招》第一集 
    
    【数说改革开放40年】40年减贫7.4亿人  
     ***出席的这个活动,有什么来头? 
    
  • 提取所有 URL
    正则表达式
    (https?|ftp|file)(:/)?/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]
    
    原始文本
    <div class="hotnews">
    <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0">
    <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3">
    ***的改革之“喻” </a></li>
    <li class="hdline1">
    <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank">
    《必由之路》宣传片</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank">
    主题歌《梦想阳光》发布 </a>
    </li>
    <li class="hdline2">
    <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3">
    【央视快评】坚持中国特色人权发展道路</a></li>
    <li class="hdline3">
    <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank">
    《改革开放 关键一招》第一集</a>
    </li>
    <li class="hdline4">
    <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3">
    【数说改革开放40年】40年减贫7.4亿人</a></li>
    <li class="hdline5">
    <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a>
    </li>
    </ul>
    </div>
    
    处理结果
    https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com
    https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg
    http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm
    http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html
    http://politics.gmw.cn/2018-12/11/content_32146726.htm
    https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg
    http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html
    http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html
    http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml
    http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml
    http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news
    
  • 提取所有 JPG 图片的 URL
    正则表达式
    (https?|ftp|file)(:/)?/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|].jpg
    
    原始文本
    <div class="hotnews">
    <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0">
    <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3">
    ***的改革之“喻” </a></li>
    <li class="hdline1">
    <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank">
    《必由之路》宣传片</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank">
    主题歌《梦想阳光》发布 </a>
    </li>
    <li class="hdline2">
    <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3">
    【央视快评】坚持中国特色人权发展道路</a></li>
    <li class="hdline3">
    <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank">
    《改革开放 关键一招》第一集</a>
    </li>
    <li class="hdline4">
    <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3">
    【数说改革开放40年】40年减贫7.4亿人</a></li>
    <li class="hdline5">
    <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a>
    </li>
    </ul>
    </div>
    
    处理结果
    https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg
    

https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg
```

  • 提取所有中文和中文标点
    正则表达式
    [\u4e00-\u9fa5\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]+
    
    原始文本
    <div class="hotnews">
    <div class="imgview" id="imgView"><a href="https://xinwen.eastday.com/a/n181211075002407.html?qid=news.baidu.com" target="_blank"><img src="https://imgsa.baidu.com/news/q%3D100/sign=cdae0fb78a94a4c20c23e32b3ef51bac/cefc1e178a82b90151b62d8b7e8da9773912ef6b.jpg"></a></div><ul><li class="hdline0">
    <a href="http://www.xinhuanet.com/politics/xxjxs/2018-12/11/c_1123834898.htm" target="_blank" class="a3">
    ***的改革之“喻” </a></li>
    <li class="hdline1">
    <a href="http://news.cri.cn/20181211/313376c7-77cc-abff-3a81-bd855c0a8577.html" target="_blank">
    《必由之路》宣传片</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://politics.gmw.cn/2018-12/11/content_32146726.htm" target="_blank">
    主题歌《梦想阳光》发布 </a>
    </li>
    <li class="hdline2">
    <img src="https://imgsa.baidu.com/news/q%3D100/sign=ab45ee53bbfd5266a12b38149b199799/f9198618367adab46063f9fb86d4b31c8601e4d3.jpg"><a href="http://politics.people.com.cn/n1/2018/1211/c1001-30458946.html" target="_blank" class="a3">
    【央视快评】坚持中国特色人权发展道路</a></li>
    <li class="hdline3">
    <a href="http://news.cri.cn/20181210/384ab948-e36b-b455-9d97-8eb05172c179.html" target="_blank">同舟共济</a>
    <i style="font-size: 12px">&nbsp;</i><a href="http://news.cctv.com/2018/12/10/ARTI9v2GwcDNkh8obJh2vnUy181210.shtml" target="_blank">
    《改革开放 关键一招》第一集</a>
    </li>
    <li class="hdline4">
    <a href="http://news.cctv.com/2018/12/10/ARTISzd4ekNLNB88EFFtMgB7181210.shtml" target="_blank" class="a3">
    【数说改革开放40年】40年减贫7.4亿人</a></li>
    <li class="hdline5">
    <a href="http://news.ifeng.com/a/20181211/60188943_0.shtml?_zbs_baidu_news" target="_blank">***出席的这个活动,有什么来头?</a>
    </li>
    </ul>
    </div>
    
    处理结果
    ***的改革之“喻”
    《必由之路》宣传片
    主题歌《梦想阳光》发布
    央视快评
    坚持中国特色人权发展道路
    同舟共济
    《改革开放
    关键一招》第一集
    数说改革开放
    年
    年减贫
    亿人
    ***出席的这个活动,有什么来头?
    
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务