一、 re正则表达式:
regular expression regex -------> 验证匹配
二、正则的特殊字符
‘.’:匹配任意字符,除了换行。
‘[]’:匹配范围之内的一个。
‘*’:最少匹配0个。
‘+’:最少匹配1个。
‘?’:最多匹配一个,最少匹配0个。
‘\w’:[a-zA-z0-9_]
‘\s’:[\t\n\r\f]
‘\d’:[0-9]
‘|’:分组中常用到,表示或者。
‘()’:表示分组。
‘{n,m}’:匹配n到m个
‘\number’:匹配组
‘(?P<name>.+)’.+(?P=name):通常用于标签。
三、贪婪和懒惰模式:
贪婪模式:符合正则规则有多少匹配多少
懒惰模式:符合正则规则只匹配一个
四、正则常用的函数:
1)、re.compile(pattern[,flags = 0]):
用于编译正则表达式,生产一个正则表达式对象,供match()和search()这两个函数使用。
obj = pattern.match():返回match对象
obj.group(1):获取匹配到的内容
obj.span():返回匹配内容位置
obj = pattern.search():返回search对象
obj.group():获取匹配到的内容
obj.span():返回匹配内容的位置
2)、re.match(pattern,string,flags = 0):返回一个match对象
尝试从字符串的起始位置开始匹配,如果字符串开始位置不匹配正则格式的话,match()就返回None。
pattern:匹配的正则表达式
string:要匹配的字符串
flags:re.I re.L re.M re.S re.U re.X
3)、re.search(pattern,string,flags = 0):返回一个search对象
扫描整个字符串并且返回第一个成功的匹配。
参数说明同上
4)、re.sub(pattern,repl,string,count=0,flags = 0):
用于替换字符串中的匹配项
repl:替换的字符串,也可以为一个函数。
count:模式匹配后替换的最大次数,默认0表示替换所有的匹配项。
5)、re.split(pattern,string[,maxsplit=0,flags=0]):
按照能够匹配的子串将字符串分割后返回一个列表
maxsplit:表示最大风格次数
6)、re.findall(string,[,pos[,endpos]]):
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,返回空列表。
7)、re.finditer(pattern,string,flags=0):
在字符串中找到正则表达式所匹配的所有子串,并把他们作为一个迭代器返回。
8)、re.fullmatch(pattern,s,flags=0):
从头到尾匹配所有