導入
正規表現は「文字列の形」を表す道具です。ふつうの検索は「cat という文字をそのまま探す」ことしかできませんが、正規表現を使うと「cat か bat か hat」「数字だけの並び」「@ を含むメールアドレスっぽい形」といった 柔軟なパターン で探せます。
説明
正規表現は、たとえばこんな場面で活躍します。
- 入力されたメールアドレスや電話番号が正しい形式かをチェックする
- 大量のテキストから日付やURLだけを抜き出す
- 「全角スペースをすべて半角に」のような、条件付きの一括置換をする
- ログファイルから特定のエラー行だけを拾う
正規表現は「パターン」と「対象の文字列」の2つで成り立ちます。パターンが対象のどの部分に当てはまるかを調べることを マッチ(match) と呼びます。
いちばん単純な正規表現は、ふつうの文字をそのまま並べたものです。
パターン: cat
対象: concatenate
マッチ: con[cat]enate ← "cat" の3文字にマッチ
パターン cat は、対象の中に現れる cat という並びにそのままマッチします。ここまでは、ただの文字列検索と同じです。正規表現の本領は、次のレッスン以降で登場する メタ文字(特別な意味を持つ記号)から発揮されます。
やってみよう
「正規表現=文字列の形を表すパターン」というイメージだけ、まず頭に入れましょう。次のレッスンで、正規表現を特別にしている「メタ文字」を紹介します。