def _findall(partten: str, body: str, start=0, res=None) -> list:
""" find partten from strings """
if res == None:
res = []
pos = body.find(partten)
length = len(partten)
if pos >= 0:
l = start + pos
r = l + length
res.append((l, r))
body = body[pos + len(partten):]
_findall(partten, body, r, res)
return res
else:
return []
非递归版
def find_all(sub, s):
index_list = []
index = s.find(sub)
lens =len(sub)
while index != -1:
index_list.append((index,index+lens))
index = s.find(sub, index + 1)
if len(index_list) > 0:
return index_list
else:
return -1