day20 re模块的函数和递归函数

 
    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))
原文地址:https://www.cnblogs.com/spacetime-party/p/13138726.html