python数据分析之爬虫四:正则表达式

一 正则表达式简介

正则表达式是用来简洁表达一组字符串的表达式。使用它的优势是:简洁,一行胜千言。表达了一组字符串的模式或特征。

正则表达式主要用于字符串的匹配。

二:正则表达式语法

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

正则表达式语法示例:

上图的第三个中‘-’是负号,

三 Re库的基本使用

Re库是python的标准库,不需要额外安装。主要用于字符串匹配。调用方式:import re.

当正则表达式包含转义字符时,使用原生字符串。

Re库的主要功能函数

re.search(pattern,string,flags=0)

若采用re.S就表示可以匹配换行符。

re.match(pattern, string,  flags=0)  必须对起始开始匹配,否则若起始未匹配成功,就失败。

可以看出match为空,没有匹配到任何信息。为了防止出错,提高函数的稳健,可以用if语句判断match是否为空。

re.findall(pattern, string, flags=0)

搜索字符串,以列表类型返回全部可以匹配的子串

re.split(pattern, string, maxsplit=0, flags=0)返回列表类型

maxsplit最大分割数,剩余部分作为最后一个元素输出。把匹配的部分删去,未匹配部分留下。

re,finditer(pattern, string, flags=0) 与search类似

搜索字符串,返回一个匹配结果的迭代类型,每个迭代类型为match对象

re.sub(pattern,rep1,string,count=0,flags=0)

在一个字符串中替换所有匹配正则表达式的子串,返回替换后的子字符串。count的最大替换次数,rep1为替换匹配字符串的字符串。

Re库的另一种等价用法

Re库的Match对象

Re库的贪婪匹配和最小匹配

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

如果要输出最小匹配子串,

猜你喜欢

转载自blog.csdn.net/qq_40123329/article/details/81606931