python网络爬虫学习(四)正则表达式的使用之re的其他方法

原创 2016年05月26日 22:55:54

在上一篇文章中,我们学习了re的match方法,那么掌握了match方法,其他的方法学起来就相对轻松许多,下面对这些方法进行介绍

re.search

search方法与match方法最大的不同在于,match方法要求必须是从字符串的起始开始匹配,而search则会扫描整个字符串进行匹配。下面给出示例代码:

# -*-coding=utf-8 -*-
import re
pattern=re.compile(r'world')
match=re.search(pattern,r'hello world')
if match:
    print match.group()
else:
    print '匹配失败'

运行结果

world

re.split

split方法是按能够匹配的字符串将string分割,以列表形式返回

pattern3=re.compile(r'\d+')//匹配到数字,分割
match3=re.findall(pattern3,r'one1two2three2four')
print match3

结果

['one', 'two', 'three', 'four']

re.findall

搜索string,以列表返回所有匹配的字符串

pattern3=re.compile(r'\d+')
match3=re.findall(pattern3,r'one1two2three2four')
print match3

结果

['1', '2', '3']

re.finditer

搜索string,返回一个顺序访问每一个匹配结果(Match对象)的迭代器

for match4 in re.finditer(pattern4,r'one1two2three3four'):
    print match4.group()

结果

1
2
3

re.sub(pattern, repl, string[, count])

sub方法使用repl替换string中每一个匹配的子串后返回替换后的字符串。
当repl是一个字符串时,可以使用\id或\g、\g引用分组,但不能使用编号0。
当repl是一个方法时,这个方法应当只接受一个参数(Match对象),并返回一个字符串用于替换(返回的字符串中不能再引用分组)。
count用于指定最多替换次数,不指定时全部替换,代码示例:

s=r'i say,hello world'
pattern=re.compile(r'(\w+) (\w+)')
match=re.sub(pattern,r'\2 \1',s)
print match

运行结果

say i,world hello

re.subn

返回sub替换的次数

count=re.subn(pattern,r'\2 \1',s)
print count

运行结果

('say i,world hello', 2)

如果只需要次数,代码如下:

count=re.subn(pattern,r'\2 \1',s)
print count[1]
版权声明:本文为博主原创文章,未经博主允许不得转载。

python爬虫之re正则表达式库

python之正则表达式re库正则表达式是用来简洁表达一组字符串的表达式,编译:将符合正则表达式语法的字符串转换成正则表达式特征操作符 说明 实...
  • qq_22186119
  • qq_22186119
  • 2017年06月14日 21:20
  • 392

Python3网络爬虫快速入门实战解析(一小时入门 Python 3 网络爬虫)

转载请注明作者和出处: http://blog.csdn.net/c406495762  Github代码获取:https://github.com/Jack-Cherish/python-spid...
  • u012662731
  • u012662731
  • 2017年11月15日 09:39
  • 1970

手写python爬虫

一、图片爬虫  (1)京东手机图片的抓取 import re import urllib.request def craw(url,page): html1=urllib.request....
  • u012017783
  • u012017783
  • 2017年07月18日 10:23
  • 326

python3爬虫之入门和正则表达式

前面的python3入门系列基本上也对python入了门,从这章起就开始介绍下python的爬虫教程,拿出来给大家分享;爬虫说的简单,就是去抓取网路的数据进行分析处理;这章主要入门,了解几个爬虫的小测...
  • peace1213
  • peace1213
  • 2015年10月07日 17:36
  • 6585

Python3网络爬虫(一):利用urllib进行简单的网页抓取

运行平台:Windows10 Python版本:Python3.x IDE:Sublime text3
  • c406495762
  • c406495762
  • 2017年02月28日 23:32
  • 26173

【Python开发】【神经网络与深度学习】网络爬虫之图片自动下载器

python爬虫实战——图片自动下载器 之前介绍了那么多基本知识【Python爬虫】入门知识(没看的赶紧去看)大家也估计手痒了。想要实际做个小东西来看看,毕竟: talk is cheap show...
  • LG1259156776
  • LG1259156776
  • 2016年09月20日 21:36
  • 942

关于Python爬虫的书籍推荐

近年来,随着网络不断的发展,网络信息量也变得更多更大,基于传统搜索引擎的局限性,网络爬虫应运而生,在这里,我们向各位读者们推荐几本关于学习Python爬虫的书籍。 根据小编的经验,小编向大家推荐以下...
  • coco510
  • coco510
  • 2016年05月18日 15:53
  • 9912

编写简单的网络爬虫 (python3.2)

我这里分几个部分谈谈 网络爬虫的原理:-->搜索引擎? 一、爬虫爬取网页的基本步骤大致相同:1) 人工给定一个URL 作为入口,从这里开始爬取。 万维网的可视图呈蝴蝶型,网络爬虫一般从蝴蝶...
  • database_zbye
  • database_zbye
  • 2014年08月25日 22:30
  • 14797

【python小练习】百度图片小爬虫

第一篇博客翻译了一个21行的单词纠错器,这次就给大家贡献一个21行的百度图片爬虫。(我仿佛很喜欢21这个数字嘛。。。)因为博主最近在做一个pix2pix的项目,需要很多图片作为原始训练集,因此想到了自...
  • qq_27879381
  • qq_27879381
  • 2017年03月22日 22:41
  • 586

我的第一个Python3 网络爬虫 百度百科爬虫

最近学习Python 廖雪峰老师的Python 3教程 想要用项目练练手。Python网络爬虫看起来是不错的练手项目,于是着手学习爬虫的制作。 一开始并没有什么头绪,直到看到了慕课网的Pytho...
  • jjhfen00
  • jjhfen00
  • 2016年02月20日 14:19
  • 1322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python网络爬虫学习(四)正则表达式的使用之re的其他方法
举报原因:
原因补充:

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