Regexp Issues in GNOME Terminal(?)

This morning I ran into something extremely weird and frustrating: the modifiers +, (, ), {, and } no longer work in either sed, grep, or vim. It must have something to do with the terminal.

After almost two hours of annoyed testing I found that they work (at least in vim) if I escape them with \, which makes absolutely zero sense! The possibly funniest thing is that * still works. I haven't tried ? yet, because I haven't needed it.

Does anyone know if this is a GNOME terminal thing? I'm running the very latest vanilla Ubuntu, fully up to date. It just seems weird that it would affect such a range of programs using regexps.

EDIT: I should mention that yes, these characters have always needed to be escaped in order to be interpreted as literals, but the behaviour is the opposite now: I have to escape them in order for them to be interpreted as modifiers.

-- CC0 Björn Wärmedal