Поиск индекса подстроки в строке
Имеется строка, в которой несколько раз встречается подстрока, нужно получить порядковые номера вхождений и их координаты. В документации нашёл координаты а как порядковые получить не могу найти.
import re
for m in re.finditer(pattern, text):
print('%2d-%2d: %s' % (m.start(), m.end(), m.group(0)))
Вывод:
1-4: pattern
18-21: pattern
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
ну раз у вас уже есть некоторый итерируемый объект (re.finditer(pattern, text)), то оберните его в enumerate и получите на выходе для каждого элемента кортеж (индекс, элемент)
import re
pattern = "раз"
text = "раз два три раз три два раз раз"
for obj in enumerate(re.finditer(pattern, text)):
print('%d | %2d-%2d: %s' % (obj[0], obj[1].start(), obj[1].end(), obj[1].group(0)))