In this Re.start() & Re.end() problem, You are given a string S. Your task is to find the indices of the start and end of string K in S.
Problem solution in Python 2 programming.
import re S = raw_input() k = raw_input() anymatch = 'No' for m in re.finditer(r'(?=('+k+'))',S): anymatch = 'Yes' print (m.start(1),m.end(1)-1) if anymatch == 'No': print (-1, -1)
Problem solution in Python 3 programming.
# Enter your code here. Read input from STDIN. Print output to STDOUT S = input() k = input() import re pattern = re.compile(k) r = pattern.search(S) if not r: print("(-1, -1)") while r: print("({0}, {1})".format(r.start(), r.end() - 1)) r = pattern.search(S,r.start() + 1)
Problem solution in pypy programming.
# Enter your code here. Read input from STDIN. Print output to STDOUT s1=raw_input() s2=raw_input() import re pattern = re.compile(s2) lenn=len(s1) #print m output=set([]) for i in range(lenn): m=re.search(s2,s1[i:]) if m is None: continue if m.start()+i in output: continue else: output.add(i+m.start()) print (i+m.start(),i+m.end()-1) if len(output)==0: print (-1,-1) #for n in m: # print n.start(), n.end()-1 #print m
Problem solution in pypy3 programming.
import re s, k = input(), input() matches = list(re.finditer(r'(?={})'.format(k), s)) if matches: print('n'.join(str((match.start(), match.start() + len(k) - 1)) for match in matches)) else: print('(-1, -1)')