「詳説 正規表現」がメッチャよい
原著タイトルが「Mastering Regular Expressions」を謳うだけはある
買った本
Amazon商品画像を貼るのがわりと手間なのでツイートのリンクで失礼(ツイートはカード化されるので綺麗に見える)。
到底読みきれなさそうな本を買ってしまった。https://t.co/1QFvdpBUGc
— タナイ (@okinawa__noodle) March 25, 2021
このとおり購入したのは「詳説 正規表現」の第3版である。
正規表現だけで500ページもある
原著のタイトルが「Mastering Regular Expressions」を謳うだけあって、大型本で500ページを誇る。ボリューム満点だ。
内容としてはザックリ、正規表現の全体にまつわる内容が前半の第6章まで、後半は主要なプログラミング言語におけるユースケースと交えた内容が書いてあるようだ。
まだ、3章の途中までしか読めていないが、本の冒頭で「正規表現の熟練度によらず6章までは通読すべし」というようなことが書かれているため、そこまでは通読しようと思う。
一方で、個別の言語に対するユースケースは必要になるまで読まないつもりだ。
たとえば.NETに1つの章が割かれているが、.NETを自分で書く機会はしばらく来ないだろう。VBAの受託開発をやっていた頃ならもしかしたら興味深く読んだかもしれないが、今の自分には必要性が薄い。
難解そうに見えて、かなり初歩から丁寧に解説されている
たとえば、以下でツイートしているクイズは、ほぼ同様の内容で書籍の中でも紹介さ れている。
【解答】
— タナイ (@okinawa__noodle) March 29, 2021
miqra
「小文字の」qのあとに「uでない何か」が続くものにマッチします。
ここで、[^u]は「uにマッチしない」のではなく「u以外の何かにマッチする」という点が重要です。
また、「何か」には改行文字などを含むのかどうかも本来はチェックが必要です(今回は選択肢を見て空気を読みます) https://t.co/0haLCJnzdM
この本で頼もしいのは、簡単なことほど丁寧に解説してるところだ。
たとえば、よくある「正規表現チートシート」みたいなものを読むことを想像しよう。一見とても簡単で「はいはいわかった」と飛ばしてしまいがちな内容でも、より高度に使いこなそうとすると実はしっかり根本から理解しておかなければならないものはままある。
そういったものを序盤から丁寧に解説してくれている。
けっして「なんとなく使える」を目指す書籍ではない
初心者にも分かるように書いてくれているが、目指す頂は高い。これは本当にすばらしいコンセプトだと感じて、思わずツイートした。
至言だ。
— タナイ (@okinawa__noodle) March 27, 2021
「ただ運転の仕方を学びたいだけなのに、車が動く仕組みまで教えられたくないという考えがあるかもしれない。しかし(中略)同じたとえるなら、車の運転の仕方ではなく、車の作り方の方が近い。車を作るために は、車の仕組みを知っていなければならない。」https://t.co/Iub0VjR9Uh
なんとなくの理解では、いつまでたっても「手の内にした」という感覚は得られない。
「なんとなく不便しない程度には使っているけど、本当にこれでいいのか分からない」という状態はとにかくモチベーションがわかないし、自信がないからアウトプットにもつながらない。
競プロでいうなら、そもそものbit演算の仕組みを知らずにbit全探索の「書き方」だけ覚えるようなものだ。それではフレキシブルにコードを書き換えることは到底できっこないだろう。
5000円で正規表現がマスターできるなら本当に安い
正直、本をめったに買わない人からしたら5000円もする本は非常に高く感じると思う。
が、多少なりともプログラミングや開発に詳しくなりたいという気持ちがあるのなら、こういうベースとなる知識の獲得にはしっかり投資するのがよいと思う。
ベースとなる知識というのは、プログラマーに広く使われ、愛されているツールやプロトコルのことだ。
たとえば、正規表現もそうだし、UNIX/Linuxに関する知識や、Git、Vim、Markdown記法なども該当するだろう。
これらは広く長く使われているだけの理由がある。それらを自分の一部にすることはいわばデメリットのないおいしいとこどり、「詳説 正規表現」はまさにリターン確実な投資である。