split:切割,返回一个列表。第一个参数切割的字段,第二个参数为切割的字符串
eg:
ret = re.split('d+','alex222wusir') //['alex', 'wusir'] <class 'list'>
# ret = re.split('d(d)d','alex123wusir') //['alex', '2', 'wusir'] <class 'list'>
print(ret,type(ret))
sub(src,dst,str):替换字符串中的字符
eg:
ret = re.sub('d+','H','alex123wusir456',1)
print(ret) //alexHwusir456,只会替换一次
subn:和sub类似,不过可以替换多次
match和search
match:从头开始匹配,如果有符合正则的字符串,那么返回一个匹配的对象(通过group函数取值),如果没有返回none
search: 检索整个字符串,如果有符合正则的字符串,那么返回匹配的对象(通过group函数取值),如果没有返回none
compile函数:对正则表达式进行编译,提高匹配的效率
eg:
import re
text='a,b,,,c d'
reobj=re.compile('[,]+')
print(reobj.split(text)) //输出['a', 'b', 'c d']
递归函数:
递归函数有次数限制,一般为1000次,可以自行设置。
递归函数的条件:
1 有终止条件
2 能够迭代
eg:斐波那契数列
def fin(x):
if x==1:
return 1
if x==2:
return 1
else:
return fin(x-2)+fin(x-1)
for i in range(3,10):
print(fin(i))