python爬虫学习三:python正则表达式

1、正则表达式基础

a、正则表达式的大致匹配过程:

1、依次拿出表达式和文本中的字符比较

2、如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。

3、如果表达式中有量词或边界,这个过程会稍微有些不同。

b、正则表达式语法学习(参考网页吧)

2、re模块

python通过模块提供正则表达式的支持。使用re的一般步骤是:

s1、先将正则表达式的字符串形式编译成Pattern实例;

s2、然后使用Pattern实例处理文本并获得匹配结果(一个Match实例);

s3、最后使用Match实例获取信息,进行其他操作。

a、Compile

re.Compile(strPattern[,flag]):

这个方法是Pattern类的工厂方法,用于将字符串形式的正则表达式编译为Pattern对象。

flag参数是匹配模式,取值可以使用按位或运算符"|"表示同时生效,比如re.re.M.

flag的可选值有:

re.I:忽略大小写

re.M:多行模式

re.S:点任意匹配模式

re.L:

re.U:

re.X:详细模式

b、Match

Match对象是一次匹配的结果,包含了很多关于此次匹配的信息,可以使用Match提供的可读

属性或方法来获取这些信息。

属性:

string:匹配时使用的文本。

re:匹配时使用的Pattern对象。

pos:文本中正则表达式开始搜索的索引。

endpoe:结束搜索的索引

lastindex:最后一个被捕获的分组在文本中的索引。如果没有被捕获的分组,将为None。

lastgroup:最后一个被捕获的分组的别名。如没有,则为None。

方法:

group([group1,....]):

获得一个或多个分组截获的字符串;指定多个参数时将以元组的形式返回。不写参数时返回group(0).

groups([default]):

以元组的形式返回全部分组截获的字符串。

groupdict([default]):

返回以有别名的组的别名为键、以该组截获的子串为值得字典,没有别名的组不包含在内。

start([group]):

返回指定的组截获的子串在string中的起始索引(子串第一个字符的索引)。

end([group]):

返回指定的组截获的子串在string中的结束索引(子串最后一个字符的索引+1)。

span([group]):

返回(stat(group),end(group))。

expand(template):

将匹配到的分组代入template中然后返回。

c、Pattern

Pattern对象是一个编译好的正则表达式,通过Pattern提供的一系列方法可以对文本进行匹配查找。

Pattern不能直接实例化,必须使用re.compile()进行构造,也就是re.compile()返回的对象。

Pattern提供了几个可读属性用于获取表达式的相关信息:

pattern:编译时用的表达式字符串

flags:编译时用的匹配模式,数字形式。

groups:表达式中分组的数量。

groupindex:以表达式中有别名的组的别名为键、以该组对应的编号为值,没有别的别名的组不包含在内。

3、一些Pattern的实例方法:

a、match方法:返回一个match对象

b、search方法:返回一个match对象

c、spilt方法:按照能够匹配的子串将string进行分割后返回列表。

d、findall方法:以列表返回全部能够匹配的子串。

e、finditer方法:返回一个顺序方位每一个匹配结果的迭代器。

f、sub方法:sub(repl,string):使用repl替换string的每一个匹配的子串后返回替换后的字符串。

python爬虫正则表达式实例-python爬虫学习三:python正则表达式相关推荐

  1. python scrapy教程实例_爬虫框架Scrapy的第一个爬虫示例入门教程

    原标题:爬虫框架Scrapy的第一个爬虫示例入门教程 我们使用dmoz.org这个网站来作为小抓抓一展身手的对象. 首先先要回答一个问题. 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建 ...

  2. python 网页版笔记_系统学习下python网络爬虫 笔记一

    系统学习下python网络爬虫的知识 1.爬虫的定义 Web Spider,把互联网定义为一个蜘蛛网,网络蜘蛛通过网页的链接地址来寻找网页. 具体过程:从网站的某一个网页(通常是首页)开始,读取网页的 ...

  3. python爬虫五大实例,爬虫初始与PyCharm安装

    一:腾讯动漫爬虫代码 import requests from fake_useragent import UserAgent import re import threadingdef replac ...

  4. python实例代码爬虫_Python实例教程爬虫从网络上下载文档的实例代码

    Python实例教程爬虫从网络上下载文档的实例代码 来源:中文源码网    浏览: 次    日期:2018年8月30日 [下载文档:  Python实例教程爬虫从网络上下载文档的实例代码.txt ] ...

  5. python爬虫应用实例_Python爬虫进阶必备 | 一个典型的 AES 加密在爬虫中的应用案例...

    一个典型的AES案例 AES 的案例之前有推荐大家关于 AES 加密的案例文章,不少朋友问我加密解决了有什么用? 最大的用途当然就是不用模拟请求,大大提高了爬取效率. 可能之前举例都是使用的 AES ...

  6. python零基础实例-零基础学习Python开发练习100题实例(1)

    零基础学习Python开发练习100题实例(1) 2018-02-25 09:37:59 2864浏览 1.题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序 ...

  7. python有什么作用-大数据学习之python语言有什么作用?

    很多人选择学习大数据的时候,首先是要选择合适的开发语言入门,尤其是数据分析这个岗位,很多人选择python语言入门,本文由科多大数据的老师整理,细数python语言的应用领域,辅助各位认识了解pyth ...

  8. python语言通俗理解_慢步学习,python语言编程,来扯扯语言的学习理解

    最近慢步工作比较忙,有那么一丢丢挫伤了学习的积极性.积极性受挫的另一个原因是,慢步对自己给读者提供的内容有些困惑,"我能提供什么有价值的内容?" 不断重复书籍的知识点,好像并不能生 ...

  9. python写软件实例-30分钟学会用Python编写简单程序

    原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...

  10. python脚本编程实例_面向ArcGIS的Python脚本编程.pdf

    [实例简介] 面向ArcGIS的Python脚本编程,最实用的教程. 面向ArcGIS的Python脚本编程,最实用的教程. 面向ArcGIS的Python脚本编程,最实用的教程. 目录 第一部分Py ...

最新文章

  1. 小明分享|分享8ms平台sigmastar SSD201/SSD202 开源框架的github
  2. 如何將Clonezilla live放到一個已經有其他作業系統存在的硬碟中
  3. php日期时间代码,PHP日期计算
  4. BZOJ4596:[SHOI2016]黑暗前的幻想乡——题解
  5. react ant design路由配置
  6. mysql limit asc_MySql sql优化之order by desc/asc limit M-阿里云开发者社区
  7. JavaScript 打印结果时多出一个undefined/出现undefined
  8. golang 两个一样的字符串不相等_分享一个姑娘双眼皮术后两个眼睛有点不一样,不知道该不该修复?...
  9. python下载以后在哪找_Python下载要保存到哪
  10. Linux vgchange 命令
  11. java因子分析_spss因子分析
  12. Java面向对象编程(第2版)pdf
  13. Spotfire 对 列 数据进行自定义排序
  14. 深踩 AndroidStudio 缓存的坑
  15. linux内核zfs,Linus Torvalds回应用户抱怨:不建议使用 ZFS On Linux
  16. 心情好些了,发现自己还是适合专注科研
  17. SQL取整与时间差值返回
  18. 字符串操作——substr用法
  19. Go语言自学系列 | golang中的if语句
  20. springboot启动源码分析3-环境配置

热门文章

  1. ADO.net,Linq to SQL和Entity Framework性能实测分析
  2. 再读《精通css》04:盒模型和空白边叠加
  3. hdu3001(三进制状压)
  4. 360浏览器使用评价
  5. 用store方法调列表界面的代码
  6. Celery--分布式任务队列
  7. SQL函数类的操作,增加,查询
  8. 【转】Oozie4.2.0配置安装实战
  9. 真人拳皇项目第九次Scrum总结——史经浩
  10. Sharepoint中遭遇The Path specified cannot be used at this time.