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的...
  • maggie2425
  • maggie2425
  • 2016年10月20日 16:43
  • 1123

关于Python的一些使用小技巧

在Windows操作系统上,安装两个不同版本的Python解释器,假如Python3.5被安装在D:\Program Files\Python35文件夹中。你还需要把D:\Program Files\...
  • Zack1989
  • Zack1989
  • 2016年12月07日 21:39
  • 334

Python正则表达式:如何使用正则表达式

正则表达式(简称RE)本质上可以看作一个小的、高度专业化的编程语言,在Python中可以通过re模块使用它。使用正则表达式,你需要为想要匹配的字符串集合指定一套规则,字符串集合可以包含英文句子、e-m...
  • liuy_98_1001
  • liuy_98_1001
  • 2015年06月08日 18:22
  • 3484

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

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

python里使用正则表达式的group()函数访问分组的结果

在前面学习了分组匹配的功能,比如(\bt\w+)\W+(\w+),发现这个正则表达式里有两个括号,如果使用Match.groups()函数来访问,会把('text', 'with')这两个结果一起返回...
  • caimouse
  • caimouse
  • 2017年10月21日 21:53
  • 1335

关于Python正则re中的(.*?)

首先来看看他们的基本含义: 点星问号 (md一直不明白水印为什么不是我的主页而是csdn的主页) 正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数...
  • drdairen
  • drdairen
  • 2016年04月12日 20:02
  • 1365

python里使用正则表达式的search()函数实现指定位置搜索

前面学习过search()可以从任意一个文本里搜索匹配的字符串,也就是说可以从任何位置里搜索到匹配的字符串。但是现实世界很复杂多变的,比如限定你只能从第100个字符的位置开始匹配,100个字符之前的不...
  • caimouse
  • caimouse
  • 2017年10月17日 17:22
  • 4070

python正则表达式使用实例-替换字符串HTML标签

最近因为需要把字符串中的html标签替换掉,想到的是使用正则来做,因为原来模块是用C++码的,所以就用的glibc的regex来做的。后来查资料发现用python来做这件事,简单方便,而且一次性可以完...
  • tanghaiyu777
  • tanghaiyu777
  • 2017年02月16日 18:55
  • 712

VFP 6.0的十个实用技巧

朱运喜(河北省.任丘市)---- 一.选择网络打印机 ---- 笔者单位里的局域网上安装有多台网络打印机,在使用VFP 6.0编制的程序进行打印操作时,是否可以选择其中的某一台空闲的网络打印机进行打印...
  • nm
  • nm
  • 2000年08月14日 09:11
  • 2497

python里使用正则表达式来替换匹配成功的组并输出替换的次数

在前面我们学习过怎么样限制替换的次数,如果我们想知道正则表达式里匹配成功之后,替换字符串的次数,那么需要怎么办呢?这是一个好问题,这时就需要采用另一个外函数subn()了。这个函数不但输出替换后的内容...
  • caimouse
  • caimouse
  • 2017年11月21日 18:12
  • 413
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python 中的正则的使用技巧
举报原因:
原因补充:

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