Next: Replacement and Case, Previous: Unconditional Replace, Up: Replace
M-x replace-stringコマンドは、 1つの文字列に正確に一致するものだけを置き換えます。 これに類似したコマンドM-x replace-regexpは、 指定したパターンに一致する任意のものを置き換えます。
replace-regexp
では、
newstringが定数である必要はありません。
regexpに一致したものの全体あるいはその一部を参照できます。
newstringの中の‘\&’は、
置換対象の文字列全体(つまり、regexpに一致したものの全体)を
表します。
newstringの中の‘\d’(dは数字)は、
regexpの中のd番目の括弧のグループ化部分に
一致した部分を表します。
置き換えるテキスト内に‘\’を含めるには、
‘\\’と入力する必要があります。
M-x replace-regexp <RET> c[ad]+r <RET> \&-safe <RET>
たとえばこの例は、‘cadr’を‘cadr-safe’で、 ‘cddr’を‘cddr-safe’で置換します。
M-x replace-regexp <RET> \(c[ad]+r\)-safe <RET> \1 <RET>
この例は、逆の置換を行います。