The plus character can't seem to be used as a metacharacter when both the `-E` and `--posix` options are given.
This works as expected:
$ echo 'hi+' | sed -E 's/(.+)/{\1}/'
{hi+}
This does not:
$ echo 'hi+' | sed --posix -E 's/(.+)/{\1}/'
h{i+}
And escaping the plus sign doesn't give it special meaning, either:
$ echo 'hi+' | sed --posix -E 's/(.\+)/{\1}/'
h{i+}