本文へスキップ
BecomeCoder

正規表現コース · 第1章 正規表現をはじめる · レッスン1

正規表現とは ― パターンで文字列を捕まえる

ブラウザで完結

導入

正規表現は「文字列の形」を表す道具です。ふつうの検索は「cat という文字をそのまま探す」ことしかできませんが、正規表現を使うと「catbathat」「数字だけの並び」「@ を含むメールアドレスっぽい形」といった 柔軟なパターン で探せます。

説明

正規表現は、たとえばこんな場面で活躍します。

  • 入力されたメールアドレスや電話番号が正しい形式かをチェックする
  • 大量のテキストから日付やURLだけを抜き出す
  • 「全角スペースをすべて半角に」のような、条件付きの一括置換をする
  • ログファイルから特定のエラー行だけを拾う

正規表現は「パターン」と「対象の文字列」の2つで成り立ちます。パターンが対象のどの部分に当てはまるかを調べることを マッチ(match) と呼びます。

いちばん単純な正規表現は、ふつうの文字をそのまま並べたものです。

パターン: cat
対象:     concatenate
マッチ:   con[cat]enate  ← "cat" の3文字にマッチ

パターン cat は、対象の中に現れる cat という並びにそのままマッチします。ここまでは、ただの文字列検索と同じです。正規表現の本領は、次のレッスン以降で登場する メタ文字(特別な意味を持つ記号)から発揮されます。

やってみよう

「正規表現=文字列の形を表すパターン」というイメージだけ、まず頭に入れましょう。次のレッスンで、正規表現を特別にしている「メタ文字」を紹介します。

実際に動かしてみよう

パターン欄に正規表現を、下の「テスト文字列」欄に対象の文字列を入れると、マッチした部分がその場でハイライトされます(ブラウザ標準の正規表現エンジンで動きます)。フラグ(g/i/m/s)を切り替えたり、本文のパターンを書き換えたりして、マッチの変化を確かめながら進めましょう。

正規表現 — その場でマッチを確認

ブラウザ標準の正規表現エンジンでパターンを試せる学習用ウィジェットを読み込みます(外部エンジン不要・軽量です)。
スクロールして表示された時点でも自動で読み込まれます。