新Emacsの強力な置換機能を使いこなす

後藤大地(オングス) 2007年07月01日 00時00分

6年ぶりの大きなアップデートとなったEmacs 22.1、CVS先端の開発バージョンを使っているユーザは、なんとなく見過ごしてしまっているかもしれないが、新しい機能には便利なものが多い。ここでは、特に強化された置換機能について取り上げる。使いこなせば強力なので、是非使ってみて欲しい。

replace-regexpがプログラマブル置換へとパワーアップ

Emacsではreplace-regexpで正規表現置換ができる。現在主流となっている正規表現のスタイルはPerlに源流をおいたものが多いが、Emacsの正規表現はそれとは異なる。特に\( \)の表記などが独特だ。とはいえ、Emacsを愛しているならば、馴れるしかないだろう。書き方が違うだけで、本質的には同じことだ。

さて、22.1.xではこの正規表現置換で関数の使用がサポートされた。具体的には、正規表現のなかに、任意の処理が実行可能なLispコードを指定できる。

これまで複雑な置換をするとなると、Perlなどのスクリプト言語で置換処理を書くことが多かったと思うが、22.1.xからはEmacs内で完結できる。ここでは便宜上、この関数を「プログラマブルreplace-regexp」と呼びたい。

サンプルでつかむプログラマブルreplace-regexp - 手始めは値の比較

早速試してみよう。最初の例題は、リスト1をリスト2のようにするというものだ。

リスト1 プログラマブルreplace-regexpをためしてみる

1 2
2 2
2 1

リスト2 置換後の文字列

1 < 2
2 = 2
2 > 1
関連キーワード
開発

この記事を読んだ人におすすめの資料

関連記事

ピックアップコンテンツPR

ZDNet JapanスペシャルPR

企画特集一覧へ

ZDNetニューズレターを購読する

カテゴリーランキング
スペシャルPR
新着企業動向

企業動向一覧へ

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。

ITビジネス全般については、CNET Japanをご覧ください。