目标:
1:掌握 re 模块内 search()方法的作用
2:掌握 re模块内 findall()方法的作用
3:掌握 re 模块内sub()方法的作用
4:掌握 re模块内 split()方法的作用
一:re 模块内 search()方法
功能:search方法会在待匹配的字符串内搜索查找符合规则的子字符串,匹配第一个符合规则的子字符串,没有匹配的返回None
语法:re.search(pattern,string,flags)
pattern:正则表达式
string:待匹配的字符串
flags:匹配模式
注意事项:
1:search方法会在待匹配字符串内匹配第一个符合规则的字符串,如果有多个符合规则的子字符串,也只返回第一个符合规则的,这和match方法一样
2:search方法有一点不同于match方法,如果待匹配字符串开头的第一个字符不匹配,match就会返回None,而search方法不会,会继续搜索查找整个字符串
快速代码体验(匹配阅读次数):
二:re 模块内 findall()方法
功能:查找待匹配字符串内所有符合规则的子字符串,存放在列表内,因此findall方法返回的不是对象而是一个列表**
语法:re.findall(pattern,string,flags)
pattern:正则表达式
string:待匹配的字符串
flags:匹配模式
注意事项:
1:findall()方法返回的是一个列表,不是对象这是重点
2:利用findall方法时,当正则表达式中有分组括号()时,findall方法只查找符合括号分组的数据并且返回这个列表
3:当正则表达式中有多个分组且使用findall方法匹配数据时,查找所有分组内容,并且将多个分组内容保存到元组内从而保存至列表中
不理解注意事项2可看这篇文章:https://blog.csdn.net/sinat_38682860/article/details/89682605
快速代码体验(匹配出阅读次数、转发次数):
注意事项2:
三:re 模块内 sub()方法
功能:利用正则表达式查找待匹配字符串内所有符合规则的子字符串,并且将符合的子字符串全部替换为指定的数据,并且返回这个替换全部数据后的字符串**
语法:re.sub(pattern,替换的新字符串,string,count, flags)
pattern:正则表达式
string:待匹配的字符串
count:替换的个数
flags:替换模式
其中 pattern、替换的新字符串、string这三个参数是必须有的,count,falgs可有可无
注意事项:
1:sub方法是查找所有符合条件的字符串,并且替换为指定数据
2:sub方法返回是替换完数据后的字符串,不是对象也不是列表
快速代码体验(将阅读次数与转发次数全部替换为 20000):
实例二:将招聘信息中的所有标签 <>以及 空白 和 &nbap; 全部删除
注意事项:<[^>]+> 这个正则表达式可以匹配招聘信息中的所有标签,好好理解理解!
四:re 模块内 split()方法
功能:按照正则表达式拆分字符串并且返回字符串拆分后的列表
语法:re.split(pattren,string)
pattren:正则表达式
string:待拆分的字符串
注意事项:split方法返回的是一个列表,字符串拆分后的数据列表
快速代码体验: