先週、Perl の正規表現と Posix の正規表現の違いについて説明する機会があった。端的に言えば、非決定性有限オートマトン(NFA)と決定性有限オートマトン(DFA)の違いだ。
この違いを理解するには、「詳説 正規表現」の「エンジン始動」の章を読むとよい。正規表現の仕組みを車のエンジンに例えて、分かりやすく説明している。技術解説のお手本のような文章だ。大学で習う理論と現場での実践が結びつく感激を味わえる。
- 作者: Jeffrey E.F. Friedl,株式会社ロングテール,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/04/26
- メディア: 大型本
- 購入: 24人 クリック: 754回
- この商品を含むブログ (86件) を見る
この本が素晴らしいことは、「はじめに」を読むだけでも分かる。以下、私の好きな文章を2つ、初版の「はじめに」から引用しよう。
かつて著者の母は、父と結婚したことが信じられなかったと私に言ったことがある。2人が結婚した時、2人はともに愛し合っていると「思っていた」という。だがそんなものは、30数年後の現在、2人が分かち合っているものの豊かさに比べれば、まったく比較にならない、と母は続けて言った。その関係がどれほど素晴らしいものに発展するかが当時の2人にわからなかったとしても、それはもっともなことだ。というのも、もしそうなることがわかっていたら、当時2人が分かち合っていた愛は、将来を託すには、あまりに少なすぎると思ったかもしれないからだ。
この譬え話は少々メロドラマっぽいが、数年前、著者も正規表現を理解していると「思っていた」。...
著者がぶつくさグチをこぼしていたとき、Ken Lunde が言った一言、つまり「君が調査するからこそ、読者にはその手間が省けるのさ」という言葉が、以降の著者の基本姿勢となった。
残念なことに、第二版から、これらの文章はばっさり削られている。