Emacs interactive regex replacement

emacs, regex, replace

Solution

Finally I've found out!!!!! These are the steps to follow:

`M-x isearch-forward-regexp`

Insert your regex interactively. If you make a mistake you can use DEL or M-e and navigate through your regex to correct it.

Then after you've found what you want immediately press M-% and the replacement you like and start replacing.

So you can search and replace with regex in a total interactive and incremental fashion.

Problem

Suppose You have some text with words like these inside: ``` "foo" ... "bar" ... "file" ... "emacs" ``` and all you want to do is to replace " with ' '. I know it can be done only asking for the following replacement: ``` " -> '' ``` but suppose you would like to do it interactively and with regex, for more complicated case, how can it be done? I explain myself better: I wish I could have a command, or a series of them, to work in this way: - Write a regex like `"\\(.*?\\)"` and see the results interactively (i.e. currently-visible matches are highlighted as you edit the regexp, and the highlighting is always updated as you make changes). - Once happy with the regexp, specify a replacement such as `' '\1' '` - Interactively replace all matches

Original source