import re
def begin_end_hyphen_removal(line):
return re.sub(r"\s*(?<!\S)(?:-\w+(?:-\w+)*|\w+(?:-\w+)*-)(?!\S)", "", line)
s = ("here are some word sub-words -word1 word2- sub-word2 word3- -word4\n"
"-word5 example\n"
"word6-\n"
"word7-\n"
"another one -word8\n"
"-word9")
print(begin_end_hyphen_removal(s))
aW1wb3J0IHJlCgpkZWYgYmVnaW5fZW5kX2h5cGhlbl9yZW1vdmFsKGxpbmUpOgogICAgcmV0dXJuIHJlLnN1YihyIlxzKig/PCFcUykoPzotXHcrKD86LVx3KykqfFx3Kyg/Oi1cdyspKi0pKD8hXFMpIiwgIiIsIGxpbmUpCgoKcyA9ICgiaGVyZSBhcmUgc29tZSB3b3JkIHN1Yi13b3JkcyAtd29yZDEgd29yZDItIHN1Yi13b3JkMiB3b3JkMy0gLXdvcmQ0XG4iCiAgICAgIi13b3JkNSBleGFtcGxlXG4iCiAgICAgIndvcmQ2LVxuIgogICAgICJ3b3JkNy1cbiIKICAgICAiYW5vdGhlciBvbmUgLXdvcmQ4XG4iCiAgICAgIi13b3JkOSIpCnByaW50KGJlZ2luX2VuZF9oeXBoZW5fcmVtb3ZhbChzKSk=