(一)正则表达式:
通用的字符串表达框架;
简洁表达一组字符串的表达式;
针对字符串表达“简洁”和“特征”思想的工具;
判断某字符串的特征归属;
正则表达式在文本中的常见作用:
-
表达文本类型的特征(病毒);
-
同时查找或替换一组字符串;
-
匹配字符串的全部或部分;
正则表达式的使用:
编译:将符合正则表达式语法的字符串转换成正则表达式特征。
(二)正则表达式的语法
(三)正则常用的操作符
(四)正则表达式实例
(五)re库的主要功能函数
正则表达式的表示类型
(1)raw string类型(原生字符串类型)
re库采用raw string类型表示正则表达式,表示为r’text’。
例如:大陆地区的邮政编码: r’[1-9]\d{5}’
国内的电话号码:r’\d{3}-\d{8}|\d{4}-\d{7}’
原生字符串类型是不包含转义符的字符串。
(2)string类型,更加繁琐
例如’[1-9]\\d{5}’
’\\d{3}-\\d{8}|\\d{4}-\\d{7}’
所以当正则表达式包含转义字符时,使用raw string。
1、re.search(pattern,string,flags=0)
在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象。
pattern:正则表达式的字符串或原生字符串的表示;
string:带匹配字符串;
flags:正则表达式使用时的控制标记;
代码
2、re.match(pattern,string,flags=0)从一个字符串的开始位置起匹配正则表达式,返回match对象
3、re.findall(pattern,string,flags=0)
搜索字符串,以列表类型返回全部能匹配的子串。
4、re.split(pattern,string,maxsplit=0,flags=0)
将一个字符串按照正则表达式匹配结果进行分割,返回列表类型。
maxsplit:最大分割数,剩余部分作为最后一个元素输出。
5、re.finditer(pattern,string,flags=0)
搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象。
6、re.sub(pattern,repl,string,count=0,flags=0)
在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串。
Pattern:正则表达式的字符串或原生字符串表示;
Repl:替换匹配字符串的字符串;
String:待匹配的字符串;
Count:匹配的最大替换数;
(六)re库的另一种用法
(七)match对象
1、match对象的属性
2、match对象的方法
(八)re库的贪婪匹配和最小匹配
Re库默认采用贪婪匹配,即输出匹配最长的字符串。
1、最小匹配操作符
-
字符串
+关注
关注
1文章
577浏览量
20485 -
python
+关注
关注
56文章
4781浏览量
84441 -
正则表达式
+关注
关注
0文章
26浏览量
3477
原文标题:Python爬虫学习笔记——正则表达式
文章出处:【微信号:gh_bee81f890fc1,微信公众号:面包板社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论