正規表現とは?難しそうで実は便利!初心者向けやさしい入門

正規表現って何?難しそう…

「正規表現」という言葉を聞いたことはあっても、「難しそう」「エンジニアだけが使うもの」と思っている方も多いかもしれません。

たしかに複雑な正規表現は難解ですが、基本的な考え方はとてもシンプルです。

正規表現とは、「文字列のパターンを表す書き方」のことです。

たとえば「3桁の数字」「@を含むメールアドレスっぽい文字列」「〇〇で始まる単語」といったパターンを、短い記号で表現できます。

正規表現を使うとどんなことができる?

具体的な例で見てみましょう。

①大量のテキストから特定の情報を取り出す

議事録や資料の中から電話番号だけを抜き出したい、メールアドレスのリストだけを集めたい、といった場面で活躍します。

手作業で探すと時間がかかる作業も、正規表現を使えば一瞬です。

②入力内容が正しい形式かチェックする

Webフォームなどで「郵便番号は数字7桁で入力してください」といったチェックをするときに使われています。

「123-4567」の形式かどうかを正規表現で確認することで、入力ミスを防げます。

③文字列を一括で置換する

「山田」という名前を全部「田中」に変えたい、特定のパターンの文字列をまとめて削除したい、といった置換作業も正規表現で効率化できます。

よく使う正規表現のパターンを見てみよう

難しい記号がたくさん出てきますが、よく使うものだけ覚えれば十分です。

数字を表す「\d」

「\d」は「数字1文字」を表します。

・\d → 0〜9のどれか1文字
・\d\d\d → 数字が3文字続くもの
・\d+ → 数字が1文字以上続くもの(+は「1回以上繰り返す」の意味)

任意の1文字を表す「.」

「.」(ドット)は「どんな文字でも1文字」を表します。

・a.c → 「abc」「axc」「a1c」など、aとcの間に何かが1文字入るもの

文字の種類を指定する「[ ]」

角括弧の中に書いた文字のどれかにマッチします。

・[aeiou] → 母音のどれか1文字
・[0-9] → 0から9の数字1文字(\dと同じ意味)
・[a-zA-Z] → アルファベット大文字・小文字のどれか1文字

繰り返しを表す「*」「+」「{n}」

・* → 0回以上の繰り返し
・+ → 1回以上の繰り返し
・{3} → ちょうど3回の繰り返し
・{3,5} → 3回以上5回以下の繰り返し

たとえば「\d{3}-\d{4}」は「数字3桁 – 数字4桁」というパターンで、郵便番号(123-4567)にマッチします。

実際にProgNaviの正規表現ツールで試してみよう

百聞は一見にしかず、実際に手を動かしてみましょう。ProgNaviの正規表現ツールを使えば、ブラウザ上でパターンを試せます。

お試し例①:数字を探す

・パターン:\d+
・テスト文字列:今日は2024年5月18日です
・結果:2024、5、18がハイライトされます

お試し例②:メールアドレスっぽい文字列を探す

・パターン:[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-zA-Z]+
・テスト文字列:連絡先はtanaka@example.comまでお願いします
・結果:tanaka@example.comがハイライトされます

お試し例③:郵便番号のパターンを確認する

・パターン:\d{3}-\d{4}
・テスト文字列:郵便番号は123-4567です
・結果:123-4567がハイライトされます

難しく考えずに、まずは試してみることが上達の近道です。

正規表現を学ぶときのコツ

全部を覚えようとしない

正規表現の記号はたくさんありますが、実際によく使うのはほんの一部です。「数字は\d」「繰り返しは+」くらいを覚えておいて、あとは必要なときに調べる習慣をつけましょう。

ツールを使いながら学ぶ

正規表現はツールを使いながら動作を確認するのが一番の近道です。ProgNaviの正規表現ツールはハイライト機能があるので、どこにマッチしたかが一目でわかります。

よくある質問

Q. 正規表現はどんな場面で使われているの?

A. 検索・置換機能(VSCodeやメモ帳など)、Webフォームの入力チェック、プログラムでのデータ処理、ログファイルの解析など、さまざまな場面で使われています。エンジニアだけでなく、データを扱う事務職の方にも役立ちます。

Q. 正規表現の書き方はどこで調べられる?

A. 「正規表現 チートシート」で検索すると、よく使うパターンをまとめた一覧が見つかります。ProgNaviの正規表現ツールのページにも使い方のヒントを掲載しています。

Q. 正規表現はすべての環境で同じ書き方?

A. 基本的な部分は共通ですが、プログラミング言語やツールによって細かい違いがあります。まずは基本のパターンだけ覚えておけば大半の場面で対応できます。

まとめ

・正規表現は「文字列のパターンを表す書き方」
・数字の抽出・入力チェック・一括置換などに使える
・\d(数字)、.(任意の1文字)、+(繰り返し)などの基本記号から始めよう
・ProgNaviの正規表現ツールで実際に試せる

最初は難しく感じるかもしれませんが、使い続けるうちに自然と身についていきます。まずはツールで気軽に試してみてください。

関連ツール・記事

・正規表現ツール
・URLエンコード・デコードツール
・Base64とは何か?5分でわかる解説

コメント

タイトルとURLをコピーしました