正規表現を使ったデータ抽出の実践例

2024/08/07
x-logoline-logo

正規表現を使ったデータ抽出の実践例

2024/08/07
x-logoline-logo
PR

正規表現とは?

正規表現(せいきひょうげん)とは、特定のパターンに基づいて文字列を検索したり、抽出したりするための強力なツールです。例えば、「〇〇の中からメールアドレスだけを抜き出したい」といった場合に役立ちます。

正規表現の基本構文

正規表現には、いくつかの基本的な書き方があります。ここでは、一部を紹介します。

文字の集合

特定の文字を指定する際には、角括弧を使います。例えば、[abc]は「a」「b」「c」のいずれかを表します。

繰り返し

特定のパターンを繰り返す場合、アスタリスク(*)やプラス(+)を使います。a*は「a」が0回以上繰り返されること、a+は「a」が1回以上繰り返されることを示します。

例外の指定

特定の文字を除外したい場合、ハットマーク(^)を使います。たとえば、[^abc]は「a」「b」「c」以外の任意の文字を表します。

実践:メールアドレスの抽出

では、正規表現を使ってメールアドレスを抽出する実践例を見てみましょう。

サンプルテキスト

次のようなテキストを考えます。

これはテストですね。私のメールアドレスは sample@example.com です。サポートは support@test.com までどうぞ。

正規表現の作成

メールアドレスのパターンは、一般的には以下のように表現できます。

[\w._%+-]+@[\w.-]+\.[a-zA-Z]{2,}

この正規表現は、以下の要素を含んでいます:

  • メールアドレスのユーザー名部分([\w._%+-]+
  • アットマーク(@
  • ドメイン部分([\w.-]+
  • トップレベルドメイン部分(.[a-zA-Z]{2,}

実際に抽出してみよう

この正規表現を使って、先ほどのサンプルテキストからメールアドレスを抽出してみます。以下のようにJavaScriptなどで使うことができます。

const text = "これはテストですね。私のメールアドレスは sample@example.com です。サポートは support@test.com までどうぞ。";
const regex = /[\w._%+-]+@[\w.-]+\.[a-zA-Z]{2,}/g;
const emails = text.match(regex);
console.log(emails); // ["sample@example.com", "support@test.com"]

まとめ

正規表現は非常に便利で、データ抽出の際に役立ちます。特にメールアドレスのように決まったパターンのデータを取り出すのには最適です。

この記事はAIを使用して作成されています。
PR