Python 爬虫-正则表达式

时间:2017-07-29 12:33:06   收藏:0   阅读:254

2017-07-27 13:52:08

 一、正则表达式的概念

(1)正则表达式是用来简洁表达一组字符串的表达式,最主要应用在字符串匹配中。

技术分享

技术分享

技术分享

 

(2)正则表达式是一个字符串,通过编译将符合正则表达式语法的字符串转换成正则表达式特征。

 

 

 

技术分享

 

 

二、正则表达式的语法

正则表达式语法由字符和操作符构成。

(1)正则表达式的操作符

技术分享

技术分享

经典的正则表达式:

 技术分享

 技术分享

三、Re库的使用

re库采用原生字符串(raw string)来表达正则表达式。所谓原生字符串是指没有反义字符的字符串,也就是说在原生字符中‘\’就是反斜杠,不是转义。使用原生字符串只需要在字符串前加上r即可。

也可以使用正常的string字符串,不过使用string字符串的话需要很多的转义字符来表示单纯的反斜杠。

Re库的主要功能函数:

技术分享

? pattern : 正则表达式的字符串或原生字符串表示
? string : 待匹配字符串
? flags  : 正则表达式使用时的控制标记

 技术分享

技术分享

? pattern : 正则表达式的字符串或原生字符串表示
? string : 待匹配字符串
? flags  : 正则表达式使用时的控制标记

技术分享

? pattern : 正则表达式的字符串或原生字符串表示
? string : 待匹配字符串
? flags  : 正则表达式使用时的控制标记

技术分享

? pattern : 正则表达式的字符串或原生字符串表示
? string : 待匹配字符串
? maxsplit: 最大分割数,剩余部分作为最后一个元素输出
? flags  : 正则表达式使用时的控制标记

 技术分享

? pattern : 正则表达式的字符串或原生字符串表示
? string : 待匹配字符串
? flags  : 正则表达式使用时的控制标记

技术分享

? pattern : 正则表达式的字符串或原生字符串表示
? repl : 替换匹配字符串的字符串
? string : 待匹配字符串
? count  : 匹配的最大替换次数
? flags  : 正则表达式使用时的控制标记

 技术分享

正则表达式的另一种等价用法,使用 compile () 函数:

技术分享

经过了compile后的正则表达式可以使用如下函数,这里只需要给出需要匹配的字符串就可以了:

技术分享

 

三、Re库的match对象

Match对象是一次匹配的结果,包含匹配的很多信息。

技术分享

技术分享

技术分享

 

四、贪婪匹配与最小匹配

Re库默认采用贪婪匹配,即输出匹配最长的子串;

只要长度输出可能不同的,都可以通过在操作符后增加?变成最小匹配。

 技术分享

 

原文:http://www.cnblogs.com/TIMHY/p/7244468.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!