Let's say that I want to change all words ending with -et so that they instead end with -ert
Just doing a simple sed 's/et /ert /g' would work for all words followed by another word. But only if it is followed by a space. It can also be followed by '.', ',', ':' or other characters. Running sed for every individual case does not seem to be the correct way.
What I'm looking for is something like "for every match of AB, replace A with C, but don't touch B".
Clarification due to comments:
It's not limited to the ending of the words. I would like to do this inside words as well. Like:
$ echo "aaetxaa" | sed '?'
aaertxaa
$ echo "aaetyaa" | sed '?'
aaetyaa
So the replacement only took place when the matching ended with an x and not a y.