呪文じゃない!正規表現で実務を10倍速くする
5分25秒 | 正規表現実務
基本情報技術者試験の頻出テーマを解説した動画コンテンツです。
トランスクリプト(字幕テキスト)
さて、今日のテーマは正規表現です。プログラミングを勉強しているとまあ必ずと言っていいほど出会いますよね、この言葉。 で、なんだか見た目がすっごく難しそうで、まるで呪文みたいだなって思いませんか?でもね、大丈夫です。 この解説を最後まで見てもらえれば、その呪文があなたの仕事をめちゃくちゃ楽にしてくれる強力な武器に変わりますから。 さあ、一緒にその正体を解き明かしていきましょう。というわけで早速ですが、まずはこちらをご覧ください。どうでしょう? いやもうなんだかキーボードをめちゃくちゃに打ったみたいに見えますよね。アルファベットとか数字とか記号がわーって並んでて、 いったいこれが何を意味するのかさっぱり見当もつかないんじゃないでしょうか。普通の世界だとこんなコード見たことないので、 何をあらわしているのかもわからないですよね。まさに秘密の暗号か何かのようにも見えちゃいますよね。 初めてこれを見た人はきっとこう思うはずです。うわー、これを理解しないと先に進めないのかって。 でも安心してください。これはね、皆さんを困らせるための暗号なんかじゃ全くないんです。むしろその逆なんですよ。 このわけのわからない文字列の正体、それが正規表現です。一言で言うなら、テキストの中から特定のパターンを見つけ出すための、 超強力なルールブックみたいなものなんです。で、さっきのあの呪文みたいな一行、あれだけで入力された文字が、 ちゃんとしたメールアドレスの形をしてるかなっていうのを一瞬で見抜くことができるんです。すごくないですか? 正規表現の本当のすごさっていうのは、その圧倒的な効率の良さにあるんですね。もし普通にコードを書いたら、 アットマークはあるかな、ドットの位置は正しいかな、みたいにチェック項目がどんどん増えて何十行にもなっちゃう処理が、 正規表現ならたったの一行で済むんです。いやこれ本当魔法みたいですよね。じゃあ、その魔法の種明かししていきましょうか。 全然難しく考える必要はないですよ。あんなに複雑に見えた正規表現も、実はたった三つの基本パーツを組み合わせた、 いわばパズルみたいなものなんです。この三つさえ覚えちゃえばあなたもすぐに使いこなせるようになります。 はい、これが基本となる三つのパーツ、メタ文字です。まず一つ目。この「d」。これはすっごくシンプルで、 0から9までのどれかの数字っていう意味です。だからほら、郵便番号みたいに数字三つ、数字四つっていうのは 「d3-d4」って書けちゃうんですね。で次に「+」。これはすぐ前の文字が一回以上続きますよっていう合図です。 なので「d+」と書けば、それが一桁でも百桁でも、とにかく数字が続いているところをガバッと見つけてくれる。便利ですよね。 そして最後に「^」と「$」。これらはそれぞれ行の始まりと終わりを示す特別な目印です。 だから「^d+$」と書くと、行の最初から最後まで数字以外何もないっていう意味になるわけです。 ね、どうです。だんだんパズルのピースみたいに見えてきませんか。さあ、基本のピースが揃ったところでいよいよ実践編です。 このパズルが実際の仕事でどう役に立つのか。特に多くの人が使うJavaScriptとかGoogle Apps Scriptでの実用例をちょっと見ていきましょう。 ここからが面白いところですよ。例えば、Googleスプレッドシートを自動化できるGAS。 もう果てしなく続くデータシートを目の前にして途方に暮れた経験ありませんか?正規表現を知っていれば、 この膨大なデータの中から必要な情報だけをまるで狙い撃ちするかのように正確に、そして一瞬で抜き出せるようになるんです。 具体的にはもうこんな場面で絶大な力を発揮します。例えば、顧客リストに自由に入力されたデータの中から電話番号だけを抜き出すとか。 あるいは大量のファイル名から日付の部分だけをスパッと抽出するとかですね。特にエンジニアを目指している方なら、 JavaScriptの「.match」とか「.replace」っていうメソッドで、この正規表現がそのまま使えるって聞けば、 その強力さがイメージできるんじゃないでしょうか。まさにテキスト操作における万能ナイフみたいな存在なんです。 さあ、最後のセクションです。ここで僕が一番伝えたいのは、正規表現に対する考え方をガラッと変えてほしいっていうことなんです。 これは何か難しい学問とかじゃなくて、あくまで私たちの仕事を楽に、そして正確にするためのめちゃくちゃ便利なツールだってこと。 学校の試験とかだと左側みたいになんか小難しい理論の話になりがちですよね。でも僕たちが本当に必要としているのは右側なんです。 実際の仕事で大事なことってたった一つ。この面倒な作業をどうすればもっと楽にできるかなっていう、その問いに答える力なんですよね。 そう、まさにこの言葉に尽きると思います。正規表現は皆さんを困らせるための複雑な数学なんかじゃありません。 面倒なテキスト処理からあなたを解放して、もっとクリエイティブな、本当にやるべき作業に時間を使えるようにしてくれる最高のチートコードなんです。 今日は正規表現というあなたの仕事をひょっとしたら10倍速くするかもしれない強力なツールを紹介しました。 これをきっかけに、ぜひあなたのための新しい呪文、つまり次のスキルを探してみてほしいなと思います。 学びっていうのはいつだって退屈な作業を楽しい挑戦に変えてくれますからね。本日の解説は以上です。
このコンテンツは Web society で視聴・学習できます。