クイック スタート
チュートリアル
ツール & 言語
リファレンス
書評
書評
正規表現クックブック
10分で学ぶ正規表現
詳解 正規表現
Java 正規表現
Oracle 正規表現
正規表現ポケットリファレンス
正規表現レシピ
Windows用正規表現レシピ
当サイトのその他のコンテンツ
はじめに
正規表現クイックスタート
正規表現チュートリアル
置換文字列チュートリアル
アプリケーションと言語
正規表現の例
正規表現リファレンス
置換文字列リファレンス
書評
印刷用PDF
当サイトについて
RSSフィード & ブログ

Nathan Good著「Regular Expression Recipes」(Apress刊)

この本のタイトルを見たとき、私は詳細な正規表現の例で満たされた本への期待に胸を躍らせました。残念ながら、それはそのようにはなりませんでした。

285ページにわたって、この本は正規表現で達成できる100のタスクを正確にリストアップしています。解決策として、著者は正規表現だけでなく、Perlでの完全なソースコードスニペットも提供しています。ほとんどのレシピは、異なるプログラミング言語での同じソリューション(同じ正規表現を使用)も示しています。多くのレシピには、PHPまたはPythonでのソリューションがあります。一部には、Vim(UNIXテキストエディタ)およびUNIXシェルスクリプトのソリューションもあります。

明らかに、例はUNIXおよびオープンソースに大きく偏っています。もしあなたがWindowsプログラマーなら、代わりに「Windowsプログラマーのための正規表現レシピ」を検討したいかもしれません。これは基本的に同じ本で、ほぼ同じレシピのリストですが、例がC#とVBで書き直されています。

各レシピには「仕組み」セクションもあり、本質的に正規表現を英語で書き起こしたものです。RegexBuddyの平易な英語の正規表現ツリーアプローチに似ていますが、この本ではツリーではなくフラットな記述を使用しています。

ほとんどのレシピは、6つの章に編成されたかなり基本的な問題を解決します。最初の「単語とテキスト」では、空白行、繰り返される単語、行の先頭または末尾の単語の検索などを扱います。「URLとパス」の章には、URLとファイルパスの検索、およびそれらからビットを抽出する例があります。「CSVとタブ区切りファイル」には、2つの形式間の変換とフィールドの抽出のためのいくつかのレシピがあります。

「書式設定と検証」の章では、数値、通貨、日付、電話番号、住所などを検証する方法を示します。「XMLとHTML」の章には、タグと属性を照合および置換するためのレシピがあります。最後に、「コーディングとコマンドの使用」には、ソースコードファイルの操作と、さまざまなUNIXシステムコマンドの結果を解析するためのいくつかのレシピがあります。

この本は、正規表現に焦点を当て、多くのPerlソースコード行を省いていれば、より良い取引になっていたでしょう。多くの例には、PHPやPythonの同等のソースコードリストもあるという事実も言うまでもありません。ソースコードがなければ、同じサイズの本は簡単に250個の例を含めることができます。それは、プログラミングの方法を知っているが、正規表現に精通していないプログラマーにとって、はるかに役立つものになったでしょう。

現状では、この本は正規表現を初めて学ぶだけでなく、プログラミングも比較的初心者である人にのみお勧めできます。この本には、Perl、PHP、またはPythonでWebサイト用のスクリプトを作成するときに遭遇する可能性のある基本的な問題を解決する多くのレシピが含まれています。これらの言語のいずれかを使用しており、クックブックアプローチを探している場合は、きっとこの本が役立つでしょう。

しかし、この本から正規表現の仕組みを本当に学ぶことは期待しないでください。もしあなたが生活のためにソフトウェアを開発しているなら、優れた正規表現チュートリアルか、「正規表現クックブック」のような本を読んだ方が良いでしょう。