1 #方法1
2 #找出字符串中以a开头,以b结尾的所有子串
3 def find_substr(string):
4 result = []
5 for i,s in enumerate(string):
6 for j,e in enumerate(string):
7 if s == 'a' and e == 'b' and j > i:
8 result.append(string[i:j+1])
9 new_result = set(result)
10 return new_result
1 #方法2
2 def serach_index(target,string):
3 i = 0
4 index = []
5 for str in string:
6 if str == target:
7 s = string.index(target,i)
8 i = s + 1
9 index.append(s)
10 return index
11
12 def find_str(start_list,end_list,string):
13 result = []
14 for s in start_list:
15 for e in end_list:
16 if s < e:
17 result.append(string[s:e+1])
18 new_result = set(result)
19 return new_result
20
21 def findall(string):
22 a = serach_index('a',string)
23 b = serach_index('b',string)
24 return find_str(a,b,string)
1 string = 'aaabbbabab'
2 #调用函数
3 findall(string)
4
5 #或者
6
7 find_substr(string)