python正则表达式语法大全讲解教程实例一

东尧爱分享

这是东尧每天一篇文章的第32天

东尧写文章的目标:分享东尧的经验和思考,帮你获取物质和精神两方面幸福。

在python爬虫中,我们经常会需要进行字符串的匹配,而正则表达式是一种用来匹配字符串的强有力的武器。

它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。今天的教程先带大家认识一下什么是正则表达式。

1

正则表达式

正则表达式(RE)为高级文本模式匹配,以及搜索-替代等功能提供了基础。

正则表达式是一些由字符和特殊符号组成的字符串,他们描述了这些字符和字符的某种重复方式,因此能按某种模式匹配一个有相似特征的字符串集合,因此能按某种模式匹配一系列有相似特征的字符串。

2

正则表达式使用到的元字符(常用的)

贪婪模式匹配说明:贪婪模式在整个表达式匹配成功的前提下,尽可能多的匹配,而非贪婪模式在整个表达式匹配成功的前提下,尽可能少的匹配。

3

正则表达式使用案例

sublime如何开启匹配模式?ctrl+H键,然后点亮.*和Aa按钮:如下图:

实例

1

literal:匹配字符串的值

2

|:匹配前面或正则表达式

3

. :匹配任何一个字符(换行符除外)。一个“.”匹配一个字符

4

^:匹配字符串的开始

5

* :匹配前面出现的正则表达式零次或多次, 贪婪模式(尽可能多的匹配)

需要注意的是,匹配“0次或多次”中的0次是什么意思呢?我们注意看上图中“q*.....”的匹配结果。尽管原始文本中并没有“q”出现过,但匹配结果仍然可以匹配出5个字符。所以*的匹配是0次或多次。相反,“+”的匹配则是1次或多次,也就是说+号前面的字符一定要出现在原始文本中,才能够匹配出来,具体我们看下面的案例。

6

+:匹配前面出现的正则表达式一次或多次,贪婪模式

还有很多案例就不一一列举了,正则表达式在python中有非常重要的作用,在明天的教程中,将用python实际案例为大家讲解re模块和正则表达式应用:如何用正则表达式提取网页标题、URL等等爬虫内容。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180509G16WV500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券