← メディア一覧

正規表現は実務を10倍速くするチートコード

3分58秒 | 正規表現実務現場

基本情報技術者試験の頻出テーマを解説した音声コンテンツです。

トランスクリプト(字幕テキスト)

AZ#+++@ AZ#10+++. AZ#23 これ一見するともうただの暗号にしか見えないですよね。 見えますよね、完全に。でもこれ、実はプログラミングの、なんていうかチートコードみたいなものだとしたらどうでしょう? まさにその通りなんです。これは正規表現というものでして。正規表現?ええ、テキストを検索したり置き換えたりするための、 まあ、ものすごく強力なルールなんですね。この一行で、正しいメールアドレスの形式かをもう瞬時に判断できるんです。 はあ。今回はですね、この呪文みたいな文字がいかに実務で役立つツールなのか、ちょっとパズルを解くみたいに、 その仕組みを一緒に解き明かしていきたいと思います。パズルですか。なるほど。普通にプログラムを書こうとすると、 ええと、アットマークがあるかとか、ドットがあるかとか、もう何十行もチェックが必要なのに、それが一行で済むっていうのはやっぱり驚きです。 そうなんですよ。特にGoogle Apps Script、いわゆるGASでスプレッドシートのデータを整理する時なんかは、作業時間が10倍は変わってくる可能性があります。 10倍ですか。ええ。JavaScriptだとこのルールを「.match」っていう命令で使って特定の文字列を見つけたり、 あとは「.replace」で一括変換したり、まさに実務直結のスキルなんですよ。あー、「.match」、聞いたことあります。 でも、いざ自分で書こうとすると、やっぱりどこから手を付ければいいのか。うん、わかります。でも全部を覚える必要は全くないんですよ。 そうなんですか。ええ。まずは実務で本当によく使う3つのメタ文字っていう記号だけ見てみましょうか。はい、お願いします。 まずは「\d」です。これは数字、デジタルの「d」ですね。郵便番号だったら「\d」の3、「\d」の4みたいに書けます。 なるほど。「\d」が数字で、波括弧の中の数字が個数。その通りです。あと「+」。これは1回以上の繰り返しを意味します。 うんうん。そして「^」と「$」。これらはそれぞれ、行の先頭と行の末尾を示す、まあアンカーみたいなものです。はあ、先頭と末尾。 ええ。じゃあ、これらの組み合わせで、例えば「^\d+$」と書いたら、これどういう意味になると思います? ええと、最初から最後まで全部数字だけでできてる文字列ってことですか?大正解です。そうなんですよ。ほら、もうパズルみたいでしょ。 あ、本当ですね。なんか難しい数学の知識っていうより、記号を組み合わせるゲームみたいですね。試験とかだと難しいイメージがあったんですけど。 ええ、おっしゃる通りで。試験だとあの、状態遷移図みたいな理論も問われるんですが、実務で本当に大事なのは、 もういかに楽をして正確にデータを抜き出すか。これだけなんです。いかに楽をして、正確に。そうです。 例えば、顧客リストから電話番号だけを全部抜き出すとか。あー、なるほど。あとは、ファイル名から日付の部分だけを抽出するとか。 そういうシーンですね。なるほどな。つまり、正規表現は一見すると難解な暗号ですけど、実は作業を圧倒的に効率化してくれる、 まさにチートコードだと。ええ。で、いくつかの基本的な記号を覚えるだけで、パズルを解くみたいに楽しみながら活用できるんですね。 まさにその通りです。では最後に、あなたに一つ考えてみてほしい問いがあります。はい。 今回は特定のパターンを見つける方法に焦点を当てました。では、もしあなたが「20260207」という日付を見つけて、 それを一瞬に「2026年02月07日」っていう形式に変換したいとしたら、正規表現を使って一体どんなルールを組み立てますか?

このコンテンツは Web society で視聴・学習できます。