python 中的正则的使用技巧

原创 2013年12月02日 13:32:11

   使用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,即()中的内容。这样,我们就达到了我们的目的了。

  

相关文章推荐

python的正则提取技巧

转自:http://ju.outofmemory.cn/entry/71121 用python正则提取字符串的方法 在日常工作中经常遇见在文本中提取特定位置字符串的需求.python的...

正则使用小技巧

正则匹配难吗?不难。。。。往往用的最多的是preg_match,多用于匹配输入格式与爬取匹配 首先弄好以下的继续看: 30分钟正则表达式入门:http://blog.csdn.net/qq_286...

Sahi 使用技巧2-高亮查找元素以及正则匹配元素

Sahi 使用技巧2-高亮查找元素以及正则匹配元素

python3使用正则爬取妹子图

# encoding:utf-8 import re # 使用正则 匹配想要的图片 import requests #使用requests得到网页源码 这里就简单的做一个函数 # 定义mzt函数...

Python 爬虫 正则抽取网页数据和Scrapy简单使用

Python新手 前些天看了一些基本语法发现继续看下去效果甚微(枯(ji)燥(mo)了) 知乎上面的大神 都说爬虫 那我就从爬虫开始实践学习吧 先从简单的静态的一个页面开始干什么都得按照套路来 ...

Python:使用正则去除HTML标签

原创转载请注明出处: 利用正则式处理,不知道会不会有性能问题,没有经过太多测试。 目前我有很多还是使用BeautifulSoup进行这种处理。 HTML实体处理的只是用于处理一些常用的实体。...

移动互联网服务客户端开发技巧之二 webview及正则

随着微博、LBS 等移动互联网服务的火爆普及,越来越多的苹果开发者希望制作各网络服务的 iPhone 客户端。CocoaChina 会员 “qdvictory” 的《基于网络的客户端开发技巧》系列文章...

[小技巧]如果一键通过正则kill掉进程

前言前几日突然想kill服务器某个进程,一下子想到了kill -9 xxx,但是发现进程数太多了,一个一个kill有点不给力。所以。。。。正文第一种方法:killall这个命令第一次看到,查了下鸟哥的...

正则速记理解技巧

速记理解技巧 .[ ] ^ $ 四个字符是所有语言都支持的正则表达式,所以这个四个是基础的正则表达式。正则难理解因为里面有一个等...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python 中的正则的使用技巧
举报原因:
原因补充:

(最多只允许输入30个字)