GNU Emacsでは、正規表現による検索が幅広く利用されています。forward-sentence
と forward-paragraph
という2つの関数は、こうした検索の好例です。これらの関数は正規表現を用いて、ポイントを移動させる位置を特定します。「正規表現」というフレーズは、しばしば「regexp」と表記されます。
正規表現による検索については、The GNU Emacs ManualのRegular
Expression Search、およびThe GNU Emacs Lisp Reference
ManualのRegular
Expressionsで解説されています。本章を執筆するにあたり、読者の皆様がこれらについて少なくともある程度の知識をお持ちであることを前提としています。特に留意すべき点は、正規表現を用いることで、リテラルな文字列だけでなく、パターンの検索も可能になるということです。例えば、forward-sentence
のコードは、文末を示す可能性のある文字のパターンを検索し、ポイントをその位置に移動させます。
forward-sentence
関数のコードを見る前に、文の終わりを示すパターンがどのようなものであるべきかを考えておく価値があります。そのパターンについては次の節で説明し、続いて正規表現検索関数
re-search-forward について説明します。forward-sentence 関数についてはその次の節で説明します。最後に、forward-paragraph 関数については本章の最後の節で説明します。forward-paragraph は、いくつかの新機能を導入する複雑な関数です。