正規表現
Regular Expression/せいきひょうげん
ひとことで言うと
文字列の「形」をパターンとして書き、検索・抽出・置き換えをまとめてこなす記法のことです。
📖 もうちょい詳しく
何が新しいの?
正規表現(せいきひょうげん、英語で regular expression、略して regex)は、決して新しい技術ではありません。文字列の「形」を記号でひな型として書く方法で、もう何十年も使われてきました。「メールアドレスっぽい文字列だけを探したい」「電話番号らしき並びを取り出したい」といった、人なら一目でわかる判断をプログラムに任せるために生まれた書き方です。
どうやって動いてるの?
正規表現では、ふつうの文字に加えて特別な意味を持つ記号を組み合わせてパターンを作ります。たとえば \d は「数字1文字」、+ は「直前のものが1個以上続く」、@ はそのままアットマークを表します。コンピュータはこのパターンを左から順にあてはめていき、文字列のどこが当てはまるかを判定します。
何ができるの?
主な使い道は3つです。条件に合う文字列を「探す(検索)」、その部分だけを「取り出す(抽出)」、そして別の文字に「入れ替える(置換)」です。入力フォームで「正しいメールアドレスの形になっているか」を確かめる形式チェックは、その代表例といえます。
🌱 身近なたとえ
書類選別の「ふるい」で例えると分かりやすいです。「数字が4つ、ハイフン、また数字が4つ」というふるいの形をあらかじめ決めておくと、山積みの紙の中からその形に合うものだけがすっと落ちてきます。正規表現は、この「ふるいの形」を記号で書いたものにあたります。
✅ まず覚えるポイント
- 正規表現は、文字列の「形」をパターンとして書く記法です。
- できることは大きく「検索・抽出・置換」の3つです。
\d(数字)や+(1個以上)など、記号に特別な意味があります。- メールアドレスや電話番号の形式チェックでよく使われます。
- ほとんどのプログラミング言語やテキストエディタで使えます。
- 書き方が記号だらけで読みにくくなりやすい、という弱点もあります。
🧭 よくある勘違い
正規表現は1つの言語なの?
いいえ、特定のプログラミング言語ではありません。多くの言語やツールに共通して備わっている「文字列パターンの書き方のルール」です。ただし細かい記号の対応は言語ごとに少し違うことがあります。
形さえ合えば「本物」だと確認できる?
形式チェックはあくまで「形が正しいか」を見るだけです。たとえばメールアドレスなら、形が合っていても実際に届くアドレスかどうかまでは正規表現では分かりません。そこは別の仕組みで確認する必要があります。
複雑な処理ほど正規表現で書くべき?
そうとは限りません。パターンが複雑になりすぎると、本人でも読めない記号の羅列になりがちです。込み入った処理は、ふつうのプログラムで段階的に書いたほうが分かりやすい場合もあります。
🧩 関連して覚えると楽な言葉
- 検索エンジン: 言葉を打ち込んで目的のページを探すしくみ。正規表現と同じく「文字列を探す」発想がもとにあります。
- エンドポイント: APIで機能ごとに用意された接続先。そこで受け取った値を正規表現で形式チェックすることがよくあります。
- API: プログラム同士のやり取りの窓口。受け取った値を正規表現で検査することがよくあります。
- JSON: データを文字でやり取りする形式。中身の値を正規表現で抜き出す場面があります。
🏁 ひとことでまとめ
「こういう形の文字列を探して・取り出して・直したい」を記号のパターンで指示する道具、それが正規表現です。
TERM SEARCH
ほかの用語を調べる
検索ボックスを準備中…