У меня есть вопрос о том, как заменить строковый шаблон, но только если он не заканчивается восклицательным знаком.
Например, «Спасибо, Боб» или «Спасибо, Боб». следует заменить на «Спасибо, [ИМЯ]», но «Спасибо, Боб!» НЕ следует заменять.
Пока у меня есть это:
regex = r"Thanks\,(\s)?(\n+)?[A-Z]?[a-z]+[^!]"
re.sub(regex, "Thanks, [NAME]", text)
Это работает для случая, когда у вас есть пунктуация после «Боба», но не работает для случая «Спасибо, Боб»
Есть идеи?