python find start and end index of substring code example

Example 1: find in python

def find_all_indexes(input_str, search_str):
    l1 = []
    length = len(input_str)
    index = 0
    while index < length:
        i = input_str.find(search_str, index)
        if i == -1:
            return l1
        l1.append(i)
        index = i + 1
    return l1


s = 'abaacdaa12aa2'
print(find_all_indexes(s, 'a'))
print(find_all_indexes(s, 'aa'))

Example 2: how to find the indexes of a substring in a string in python

import re
# matches_position_start will be a list of starting index positions
matches_start = re.finditer(word.lower(), string.lower())
matches_position_start = [match.start() for match in matches_start]

# matches_position_end will be a list of ending index positions
matches_end = re.finditer(word.lower(), string.lower())
matches_position_end = [match.end() for match in matches_end]