正規表現をClaudeに生成・説明させる
正規表現は強力ですが、少し複雑になると途端に読み解くのが辛くなりますよね。^(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$ のような文字列を前にして思考停止した経験、一度はあるはずです。Claude Codeを使えば、正規表現の生成・解説・デバッグをすべて会話感覚で進められます。
自然言語から正規表現を生成する
Section titled “自然言語から正規表現を生成する”まずは「こういうパターンを検出したい」を日本語で伝えましょう。Claude Codeのチャット欄に次のように入力します。
日本の郵便番号(例:123-4567)にマッチする正規表現をPython用に書いてください。数字7桁で、中央のハイフンは任意とします。するとClaudeは以下のようなコードを返してくれます。
import re
pattern = r'^\d{3}-?\d{4}$'
samples = ["123-4567", "1234567", "123-456", "abc-1234"]for s in samples: print(f"{s}: {bool(re.match(pattern, s))}")単にパターン文字列を渡されるだけでなく、動作確認用のサンプルコードまで含めてくれる点が便利です。
既存の正規表現を解説させる
Section titled “既存の正規表現を解説させる”レガシーコードや他人が書いた正規表現を読み解きたいときも、Claudeに任せましょう。
以下の正規表現を1トークンずつ日本語で説明してください。
^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$Claudeは ^(行頭)、[a-zA-Z0-9_.+-]+(メールローカルパートに使える文字が1文字以上)、@(アットマーク)……と順を追って解説します。「なぜこの文字クラスが必要か」という理由まで説明してくれるため、単なる暗記ではなく理解につながります。
※トークン: AIがテキストを処理する最小単位。日本語は1文字あたり約1〜2トークン。使用量に応じてAPIコストが変わる。
デバッグと改善をセットで依頼する
Section titled “デバッグと改善をセットで依頼する”「動いているはずなのにマッチしない」というデバッグにも使えます。
以下の正規表現で "2024/01/05" がマッチしません。原因と修正案を教えてください。
pattern = r'^\d{4}-\d{2}-\d{2}$'test = "2024/01/05"Claudeはセパレータが - 固定になっている点を指摘し、[\-/] に変更する案や、/ と - を両対応にするより厳密な修正案を複数提示してくれます。「どの案が本番要件に合うか」を選ぶのは自分の仕事、候補を出すのはClaudeの仕事、という分業が快適です。
正規表現は「書ける」より「意図を正確に表現できる」ことが大切です。Claudeを壁打ち相手にして、正確で保守しやすいパターンを素早く作り上げましょう。