あどけない話

Internet technologies

詳説 正規表現 初版

先週、Perl正規表現Posix正規表現の違いについて説明する機会があった。端的に言えば、非決定性有限オートマトン(NFA)と決定性有限オートマトン(DFA)の違いだ。

この違いを理解するには、「詳説 正規表現」の「エンジン始動」の章を読むとよい。正規表現の仕組みを車のエンジンに例えて、分かりやすく説明している。技術解説のお手本のような文章だ。大学で習う理論と現場での実践が結びつく感激を味わえる。

詳説 正規表現 第3版

詳説 正規表現 第3版

この本が素晴らしいことは、「はじめに」を読むだけでも分かる。以下、私の好きな文章を2つ、初版の「はじめに」から引用しよう。

かつて著者の母は、父と結婚したことが信じられなかったと私に言ったことがある。2人が結婚した時、2人はともに愛し合っていると「思っていた」という。だがそんなものは、30数年後の現在、2人が分かち合っているものの豊かさに比べれば、まったく比較にならない、と母は続けて言った。その関係がどれほど素晴らしいものに発展するかが当時の2人にわからなかったとしても、それはもっともなことだ。というのも、もしそうなることがわかっていたら、当時2人が分かち合っていた愛は、将来を託すには、あまりに少なすぎると思ったかもしれないからだ。

この譬え話は少々メロドラマっぽいが、数年前、著者も正規表現を理解していると「思っていた」。...

著者がぶつくさグチをこぼしていたとき、Ken Lunde が言った一言、つまり「君が調査するからこそ、読者にはその手間が省けるのさ」という言葉が、以降の著者の基本姿勢となった。

残念なことに、第二版から、これらの文章はばっさり削られている。