python 中的正则的使用技巧

   使用python已经有一段时间了,它的正则的功能非常的强大。在用python的正则之前,我一直用的是grep的正则,grep的正则,它没有从已经匹配的串中提取特殊的字符串的功能。如:

  <a href="http://www.google.com" target="blank">搜索引擎</a>,如果我们匹配了这个<a>标签,我们要把href中的网址内容提取出来,egrep可能就无能为力了。在这方面,python就擅长了。在这里,我们重点介绍python中re模块中的sub函数。

 sub(pattern, repl, string, count=0, flags=0)

    pattern就是我们熟悉的正则表达式了,repl表达,被匹配的串用repl来替换。string表示原串。count表示,替换几个,默认count=0,替换所有。flags表示可选的参数。  如:flags=re.IGNORECASE。 具体的参数,可以是re中的静态变量。

  下面有一个例子,具体说明sub的使用

     有如下的字符串,<a href="/view/123.html" target="blank_"><b>金融机构</b></a> ,如何把a标签去掉,但要保留<b>金融机构</b>

     如果单纯写正则的话,很难做到。但sub提供了这样一个功能。

  html='<a href="/view/123.html" target="blank_"><b>金融机构</b></a>'

  content=re.sub('(?isu)<a[^>]+href=[^>]+>(.*?)</a>','\\1',html)

  \1,表达group 1中的内容保留。于是,我们匹配了整个a标签,但要保留group 1,即()中的内容。这样,我们就达到了我们的目的了。

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值