import re
texto = "ABC ABC. ABC.png ABC thumb.png"
regex = r"ABC(?!.png)|ABC(?! thumb.png)"
novo = re.sub(regex, "bueno", texto)
print(novo)
Estou tentando substituir a palavra ABC por exceções. Só quero substituí-la se ela não vier depois da palavra ".png" ou "thumb.png". A string seria então "ABC thumb.png"
Eu esperava
bueno bueno. ABC.png ABC thumb.png
Mas a saída é esta
bueno bueno. bueno.png bueno thumb.png
Ele não detecta o espaço e, na verdade, bagunça a primeira condição.