備忘録的な何か

技術ブログ的な何かです

正規表現クックブック(O'Reilly Japan)読感

正規表現クックブックを読んだ。

詳説 正規表現とどちらを買うか迷ったのだが、
本屋でぱっと見、先読みとか後読みについて詳しく書いてたのが
クックブックの方だったので購入した。

さて、僕は基本的にはRuby第一言語で使っており、そこそこ正規表現は使えると思っていたりする。
が、正直先読み後読みとかなんかはさっぱりだったので、もぐりの正規表現使いだなぁと感じていた。

前置きはさておき、この本はどうだったのか。
一言で言えば、流石のオライリークオリティでした。

内容を大きく割ると、
 ①1~2章:正規表現の基本について説明
 ②3~8章:正規表現応用(まさしくクックブック)
という感じになっている。

①は圧巻の内容。これを読まないと正規表現については語れませんねって感じ。
特に「アトミックグループ」と「先読み後読み」に関しては必ず読むべき。
アトミックはパフォーマンス向上に必須(僕はこれを使ってみて、10倍くらい早くなった)で、先読み後読みのアンカーという性質は非常に便利。(\bの拡張版という感じ)


②に関しては、様々な問題に対し、複数の言語(C#,Java,php,ruby,python,perl)で
どのように実装するかが書かれている。

ちょっと飛ばしながら読んでしまったところはあるが、rubyに関しては
大体知っている内容だったので、Rubyistの皆さんご存知ではないかと思う。

一方、他の言語で正規表現を使うときには良いリファレンスになると思う。
rubyでいうところの、gsub(/(re)/){|x| x}やscan(/(re)/){|x| x}を他の言語で
どう実現するかというのを知ることができる。

Perlは流石の短さでかけていた。(Perlすごい!)
JavaとかC#は長くなるので、コメントがかなり書いてあるサンプルコードが掲載されていた。

ということで、総論として、1,2章はしっかり読んで、3章からはリファレンスとして利用しよう!という感じです。(アメリカの郵便番号とか正直どうでもいい例もありますが)

あ、後クレジットカード番号について詳しくなれますよ!