There is no need for the backslash to escape the dot since the dot has no special meaning in a character class.
For this, you can use a negative lookahead:
new { controller = @"(?!Images)[^.]*" }
A negative lookahead is an anchor, in the sense that like ^
or $
, it will not consume text in the regex, it is looking for a position in the input text. Another name for lookarounds are zero-width assertions.