使用内置模块re,从内置角度可以看出来,正则的重要性。
只有真正常用的模块才会被内置到python中。
常用函数
re.match方法返回一个匹配的对象,否则返回None。
re.search方法返回一个匹配的对象,否则返回None。
re.findall返回一个列表,如果没有找到匹配的,则返回空列表。
可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式:
注意:只有是返回对象的时候才可以使用group()
简单说
re.match(正则,内容)
从起始位置开始匹配,起始没有则none。
注意:是从起始开始匹配
import rer='xiaoshibiancheng'get_1=re.match('x.*',r)print('get_1:',get_1)get_2=re.match('i.*',r)print('get_2=',get_2)#结果#get_1: #get_2= None
re.search(要求,内容)
扫描整个字符串,只返回第一个成功的匹配。
import rer='xiao6515shibian5165cheng'get_1=re.search('d+',r)print('get_1=',get_1.group())#结果:#get_1= 6515
re.findall(要求,内容)
匹配所有符合要求匹配
这个就比较简单了,有啥返回啥
re.compile()
编译用的,避免正则表达式重复,赋值给变量,在调用
在官方的实际设置中往往还会有一些标志位:
re.match/re.search/re.findall(pattern, string, flags=0)
参数描述pattern匹配的正则表达式string要匹配的字符串flags用于控制正则表达式的匹配方式
检索与替换:
re.sub(pattern, repl, string, count=0, flags=0)
参数:
• pattern : 正则中的模式字符串。
• repl : 替换的字符串,也可为一个函数。
• string : 要被查找替换的原始字符串。
• count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
• flags : 编译时用的匹配模式,数字形式。
实际使用时count与flags用的比较少
通俗的化简为:
re.sub(正则,替换后的东西,需要替换的东西)
re.split(pattern, string, maxsplit=0, flags=0)
参数描述pattern匹配的正则表达式string要匹配的字符串。maxsplit分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数。flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
简单记:
re.sub(正则,要分割的字符串)
对此文章有任何问题,均可反馈至公众号
我们会第一时间回复
长按关注,编程不迷路哦