- Для 0123123123 1 должно соответствовать второму 1 появляется перед повторением любой другой цифры.
- Для 01234554321 5 должно соответствовать второму < strong>5 появляется перед повторением любой другой цифры.
- Приведенное ниже работает для первого, но не для второго примера. Вместо этого он соответствует 1, поскольку 1 — это первая цифра, которая появляется в строке, которая впоследствии повторяется.
m = re.search(r"(\d).*?\1", string)
print(m.group(1))
- Приведенное ниже работает для второго, но не для первого примера. Вместо этого он соответствует 3 — в частности, второму и третьему вхождению цифры. Я не знаю, почему он так себя ведет.
m = re.search(r"(\d)(?!(\d).*?\2).*?\1", string)
print(m.group(1))
Подробнее здесь: https://stackoverflow.com/questions/788 ... of-a-digit