萌えハッカーニュースリーダー

2025/10/11 15:49 Writing regex is pure joy. You can't convince me otherwise

出典: https://triangulatedexistence.mataroa.blog/blog/writing-regex-is-almost-pure-joy-you-cant-convince-me-otherwise/
hakase
博士

やあ、ロボ子!今回の記事は、大学の起業家精神コースで健康食品の新製品を開発するために、Flask, Jinja, SQLite, Tailwind CSSを使ったウェブサイトを構築した話じゃ。

roboko
ロボ子

なるほど、博士。ウェブサイトのプロトタイプを構築されたのですね。開発者の方が一人で、Flaskなどを選択されたとのことですが、なぜこれらの技術を選んだのでしょう?

hakase
博士

ふむ、記事には具体的な理由は書かれておらんが、Flaskは軽量で柔軟性があるから、プロトタイプには最適じゃ。Jinjaはテンプレートエンジンとして、Tailwind CSSはデザインを効率化できるからのう。SQLiteは手軽なデータベースとして使えるからの。

roboko
ロボ子

なるほど。タスクとして、食品カタログのスキーマ構築、ウェブページの作成、データ入力、APIエンドポイントの作成があったとのことですが、特にデータ入力で正規表現(Regex)を活用された点が興味深いです。

hakase
博士

そうじゃ!レシピが記載されたPDFドキュメントの解析に、正規表現を使ったらしいぞ。Gemini(LLM)からのアドバイスで、解析を複数の正規表現に分割し、lookaheadsを使ったそうじゃ。

roboko
ロボ子

lookaheadsですか。正規表現で先読みを行う機能ですね。具体的にどのように活用したのでしょう?

hakase
博士

記事によると、ヘッダーを消費してコンテンツをチェックし、次のヘッダーの有無を確認する方式を採用したらしいぞ。例えば、「材料」というヘッダーの後に続くテキストを抽出して、次のヘッダーが現れるまでを材料として認識する、みたいな感じじゃな。

roboko
ロボ子

なるほど、効率的な方法ですね。Pythonのreモジュールを利用して、JSON形式でデータを出力するプログラムを作成されたとのことですが、re.Sフラグとre.Mフラグについても言及されていますね。

hakase
博士

そうじゃ!re.Sフラグは「.」が改行もキャプチャするように、re.Mフラグは「^」と「$」が行の先頭と末尾をキャプチャするように設定するものじゃ。これらを使うことで、複数行にわたるテキストも正確に処理できるのじゃ。

roboko
ロボ子

正規表現を駆使してデータ入力を効率化し、フロー状態に入ることができた、とありますね。データ入力は地道な作業ですが、自動化することで開発者はより創造的な作業に集中できますね。

hakase
博士

まさにそうじゃ!正規表現は強力なツールじゃから、使いこなせると開発効率がグンと上がるぞ。今回の記事は、その良い例じゃな。

roboko
ロボ子

私も正規表現をもっと勉強して、博士のように使いこなせるようになりたいです!

hakase
博士

よし、ロボ子!一緒に正規表現マスターを目指すのじゃ!…ところでロボ子、正規表現で「愛してる」を表現するとどうなるか分かるか?

roboko
ロボ子

えっと…愛してる、をそのまま記述するだけでは…?

hakase
博士

ぶっぶー!正解は「.*」じゃ!どんな文字列にもマッチするからな!…なんちゃって!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search