import re
# Only start and end of string:
line = "abc.def abc.def.au abc.def d.abc.def abc.def"
new_line = re.sub(r"^abc\.def|abc\.def$", "-----\1", line)
print(line)
print(new_line)
print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
# Only whole word
line = "abc.def abc.def.au abc.def d.abc.def abc.def"
new_line = re.sub(r"(?<!\S)abc\.def(?!\S)", "-----", line)
print(line)
print(new_line)
aW1wb3J0IHJlCgojIE9ubHkgc3RhcnQgYW5kIGVuZCBvZiBzdHJpbmc6CmxpbmUgPSAiYWJjLmRlZiBhYmMuZGVmLmF1IGFiYy5kZWYgZC5hYmMuZGVmIGFiYy5kZWYiCm5ld19saW5lID0gcmUuc3ViKHIiXmFiY1wuZGVmfGFiY1wuZGVmJCIsICItLS0tLVwxIiwgbGluZSkKcHJpbnQobGluZSkKcHJpbnQobmV3X2xpbmUpCgpwcmludCgifn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4iKQojIE9ubHkgd2hvbGUgd29yZApsaW5lID0gImFiYy5kZWYgYWJjLmRlZi5hdSBhYmMuZGVmIGQuYWJjLmRlZiBhYmMuZGVmIgpuZXdfbGluZSA9IHJlLnN1YihyIig/PCFcUylhYmNcLmRlZig/IVxTKSIsICItLS0tLSIsIGxpbmUpCnByaW50KGxpbmUpCnByaW50KG5ld19saW5lKQ==