I've been using the visual regexp package for a while and it's really useful:

https://github.com/benma/visual-regexp.el

It would improve the core emacs experience if the built in regexp replace did this as well.  When constructing a regexp replace it's really useful to see the match and the capturing groups instantly in the buffer, and also the resulting text on the fly when typing the replacement.  It spares you from doing several test-fix cycles until you get the regexp replacement right, because you have an instant live preview of everything in the target buffer.

Adding this feature would benefit the default regexp replace experience a lot.