```
sed -E 's/(^|[^-])--([^-]|$)/\1xx\2/g'

```

I am finding this command difficult to understand 
i cant even find the `-E` option under `man sed`, yet the command works.
The substitution doesn't make sense as it looks at the beginning of the stream and then appears to immediately pipe.

Any explanation will be greatly appreciated.