There is multiple cursors[1]. Checkout the video by emacsrocks[2]. You can combine that with regex tools if you need to do this over complex patterns[3]. There is also iedit which may fit your mental model better[4].
The highlights and fancy replacement preview are added by a plugin called anzu[0], but otherwise this is a standard emacs feature. I couldn't tell you what the default binding is but the function is query-replace-regexp.
(I don't understand why people are trying to bring multiple cursors into this)
I use replace-replace-regexp a lot. What was shown in the video was qualitatively different. Multiple sites were shown changing at the same time. That's not what q-r-r does, even with "bang" version mentioned above. You could actually see the old text replaceable by the being-entered new text.
The buffer was not being edited when the replacement was shown to be happening. The plugin anzu uses overlays[1] to show the text being replaced and the replacements.
If you select a region with transient mode on, then `query-replace` (`M-%` by default) will only affect the region. So select the region you want the change to effect (just like in the demo video), hit `M-%`, then type the old and new text, then you can type `!` when prompted for what to do and all instances of old become new only within the region.