от
Я пытаюсь найти два предмета (один из них является подстрокой другой) в предложении с регулярным выражением, но он всегда находит подстроку. Например, есть два пункта ["князь", "герцог В"] и некоторые предложения: Герцог Герцог кино. Как называется кино герцог? Герцог в Герцог в это кино. Как называется кино играла? Чего я хочу после нахождения локации: The_Duke The_Duke фильм. Как называется кино The_Duke? The_Duke_of_A The_Duke_of_A фильм. Как называется кино The_Duke_of_A? Код, который я пробовал-это:
for sent in sentences:
    for item in ["The Duke", "The Duke of A"]:
        find = re.search(r'{0}'.format(item), sent)
        if find:
           sent = sent.replace(sent[find.start():find.end()], item.replace(" ", "_"))    

Но у меня получилось: The_Duke The_Duke фильм. Как называется кино The_Duke? The_Duke из The_Duke в кино. Как называется кино The_Duke а? Изменение положения элементов в списке не подходит в моем случае, как я есть большой список.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...