emacsで正規表現を使って置換したいみたいな要求はそれなりにあると思いますが、それをやろうとするとemacsの正規表現のバックスラッシュ地獄みたいなものに遭遇することがよくあります。そんな時に使いたいtipsを少しだけ紹介します。
re-builderを使う
emacsにはre-builderというものがあって、書いている正規表現のマッチ状況をリアルタイムにプレビューすることが出来るツールが存在します。M-x re-builderして、いろいろ書いてみると現在のマッチ状況がプレビューされます。
実行中にC-c C-wすればその正規表現をコピーでき、C-c C-qで終了出来ます。emacsにはいろいろな正規表現syntaxがあるので、C-c C-iで切り替えもできます。
詳しくは以下の記事を見るとよいでしょう。
foreign-regexpを使う
re-builderを使ってリアルタイムにプレビュー出来ると言っても、バックスラッシュとか書きまくりたくありません。それよりperlやrubyの正規表現をそのまま使えればもっといいはずです。
それを解決するためにforeign-regexp.elというものがあります。
設定
まずはインストール。
(install-elisp https://raw.github.com/k-talo/foreign-regexp.el/master/foreign-regexp.el)
その後は以下の様な設定をします。僕はperlをよく使うのでperlの正規表現を使います。
(require 'foreign-regexp) (custom-set-variables ;; 正規表現、perlかrubyを選択 '(foreign-regexp/regexp-type 'perl) ;; Choose by your preference. '(reb-re-syntax 'foreign-regexp)) ;; Tell re-builder to use foreign regexp.