MySQLで正規表現を使用して文字列を抽出する方法

MySQLでは正規表現関数を利用することで文字列の抽出が実現できます。

  1. 正規表現関数を使用する:正規表現関数は、文字列内で正規表現を照合するために使用されます。構文は次のとおりです。
SELECT column_name
FROM table_name
WHERE column_name REGEXP 'pattern';

列名を抽出する文字列、テーブル名はテーブル名で、パターンは正規表現パターンです。

例えば、usersという名前の行にemailという列がある場合、email列から「example.com」で終わるすべてのメールアドレスを抽出するには、次のSQLステートメントを使用できます。

SELECT email
FROM users
WHERE email REGEXP 'example\.com$';

このオプションは、すべての該当するメールアドレスを返します。

  1. SUBSTRING 関数と REGEXP_SUBSTR 関数を組み合わせて使用します。文字列から特定の部分を抽出する場合に利用できます。SUBSTRING 関数は文字列の部分を抽出し、REGEXP_SUBSTR 関数は正規表現に一致するサブ文字列を抽出します。書式は以下のとおりです。
SELECT SUBSTRING(column_name, REGEXP_SUBSTR(column_name, 'pattern')) AS extracted_string
FROM table_name;

抽出する文字列列の名前がcolumn_name、テーブル名がtable_name、正規表現のパターンがpattern

例えば「users」というテーブルがあって、その中に「phone_number」というカラムがあるとします。「phone_number」カラムから数字のみを抜き出す SQL ステートメントは次のようになります。

SELECT SUBSTRING(phone_number, REGEXP_SUBSTR(phone_number, '[0-9]+')) AS extracted_number
FROM users;

数値を含む部分だけ返します。

実際のニーズに応じて、適切な方法を選択して文字列を抽出してください。

bannerAds