詳説正規表現 第二版の感想

はいどーもどーも。
『詳説正規表現』の第二版を読んでみました。
最新版は第三版なのですが、金銭的な事情で第二版になってます。
少し古い本ですが、本日は感想を書いていきますよ。

僕の正規表現レベル

みなさんがまず気になるのは「お前どんくらい正規表現つかえんねん」ということでしょう。
はっきりと書いておきます。
僕の正規表現レベルはド素人です。
簡単なものなら、なんとか目的にマッチするものを書けるかなあといったレベルです。
また、日常的に正規表現を使っているわけでもないので、メタ文字も「これなんだっけ?」とググらなければならないものが多々あります。
そういう初心者が『詳説正規表現』を読んで得られるものがあるのか? ということに注目していただければなと思います。

一章から二章

一章から二章は正規表現を全く使ったことがない人でも読めると思います。
簡単な例を用いて解説してくれているので、僕も大部分は理解できましたし、得られるものも多かったです。
基本的にPerlを使って正規表現の説明をしていきますが、一章と二章に限って言えばPerlを一切知らなくても問題ありません。
僕もPerlは使ったことがありませんでしたが、必要があれば注釈を加えてくれているのでPerlの文法面で詰まることはありませんでした。

三章から四章

ここから難しくなります(理論的な話が多くなります)。
と言うか、僕は半分も理解できませんでしたw
しかし「正規表現の書き方によっては、こんなに遅くなることがある」や「こういったエンジンがある」「こんな機能があれば活用していこう」など、初心者でもすぐに取り入れることのできるチップスも散りばめられています。
僕もJavaScriptで利用できるのか? などをちまちま調べ、多少は得られるものがあったかなあと思います。
もう少し正規表現について詳しくなったら読み直したいですね。

五章から六章

この辺から実践的な内容に入ります。
が、主に三章四章の内容を確認するための実例が大部分を占めているので、三章と四章を理解できていたら楽しい章なのかなーと思いました。
ちなみに僕は三章四章が理解できていなかったので、ちょいちょい飛ばしながら読みました。
あとはそうですねえ。
高速化の手法や、ベンチマークの話は正規表現以外にも当てはめて使えることができるんじゃないでしょーか。
僕もこの辺は実際のプログラミングに取り入れたいと思っています。

七章から九章

ぶっちゃけますと、七章は全部飛ばしましたw
第一にPerlに興味がなかったのと、第二に「Perlの基本的知識を持っていることが前提となる」と脅されたからですw
何か得られるものがあったかもしれませんが……まあまた次回読む機会があればということで……。
八章はそれなりに読みました。
オブジェクトモデルの話は他の言語にも応用できるのではないかなーと思いました。
九章は全部読みました(C#もそのうちやりたいので)。
一番の収穫は、置換文字列にデリゲート指定できることを知ったことでしょうか。
「ひょっとしてJavaScriptでも同じことできるんじゃ?」と思って試したところ、ビンゴでした。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace
こちらのドキュメントにも「第一引数でマッチした箇所を置き換える 文字列 または 新しい部分文字列を生成するために実行される関数 を指定することができます。」と書かれていますね。
僕が実際に試した具体的なコードは以下のようなものです。

var test = あいうえおかきくけこ;
var hoge = function(){
console.log('ほげです');
return 'ほげだよ';
};

test = test.replace(/あいえお/, hoge);
console.log(test);

これから活用していきたいと思います。

まとめ

全体的に難しい本でした。
僕にはまだちょっと早かったかなあ……というのが正直なところです。
というか最近そういう本ばかりですねw
まあ完全に理解できる本を読んでも復習以上の意味はないので、これからもちょっと難し目の本を読んでいきたいなと思います。
ほなこんなところで。

フォローする