您的位置:首页 > 其它

爬虫之正则表达式

2018-01-11 00:25 134 查看

正则表达式

regular expression = regex = RE
是一种通用的字符串表达框架,用来简洁表达一组字符串的表达式,也可用来判断某字符串的特征归属

正则表达式的语法

Re库的基本使用

re库是python的标准库

re库采用raw string类型表示正则表达式,表示为:r'test'
原生字符串(raw string)是不包含转义符的字符串
例子:

raw string:
r'[1-9]\d{5}'
r'\d{3}-\d{8}|\d{4}-\d{7}'
string:
'[1-9]\\d{5}'
'\\d{3}-\\d{8}|\\d{4}-\\d{7}'

Re库主要功能函数

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

pattern:正则表达式的字符串或原生字符串表示

string:待匹配字符串

flags:正则表达式使用时的控制标记

re.match(pattern,string,flags=0)
因为match为从开始位置开始匹配,使用时要加if进行判别返回结果是否为空,否则会报错

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

re.split(pattern,string,maxsplit=0,flags=0)
maxsplit为最大分割数,剩余部分作为最后一个元素输出

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

re.sub(pattern,repl,string,count=0,flags=0)
repl是用来替换的字符串,count为替换次数

Re库的另一种等价用法

Re库的函数式用法为一次性操作,还有一种为面向对象用法,可在编译后多次操作

regex = re.compile(pattern,flags=0)

通过compile生成的regex对象才能被叫做正则表达式

Re库的match对象

Match对象的属性

Match对象的方法

实例

Re库的贪婪匹配和最小匹配
Re库默认采取贪婪匹配,即输出匹配最长的子串

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: