MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで数字5桁から始まるメールアドレスを正規表現(REGEXP)で抽出する方法

MySQLで数字5桁から始まるメールアドレスを抽出する方法

MySQLで、先頭が数字5桁で始まるメールアドレスを取得したい場合は、REGEXP演算子を使うのが最も手軽な方法です。基本的なクエリは以下のようになります。

select * from テーブル名 where カラム名 regexp "^[0-9]{5}";

ここでは、「^」が文字列の先頭を意味し、「[0-9]{5}」が数字がちょうど5回連続することを表しています。それでは、実際にサンプルテーブルを作成して動作を確認してみましょう。

1. テーブルの作成

まず、create table文でサンプル用のテーブルを作成します。

mysql> create table DemoTable
(
    UserEmailAddress varchar(100)
);
Query OK, 0 rows affected (0.76 sec)

2. レコードの挿入

続いて、insertコマンドを使っていくつかのメールアドレスを登録します。

mysql> insert into DemoTable values('6574John@gmail.com');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Carol23456@gmail.com');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('98989Chris_45678@gmail.com');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Mike12@gmail.com');
Query OK, 1 row affected (0.43 sec)
mysql> insert into DemoTable values('56453Adam@gmail.com');
Query OK, 1 row affected (0.20 sec)

3. 全レコードの確認

select文でテーブル内のすべてのレコードを表示してみます。

mysql> select *from DemoTable;

実行結果は以下の通りです。

+----------------------------+
| UserEmailAddress           |
+----------------------------+
| 6574John@gmail.com         |
| Carol23456@gmail.com       |
| 98989Chris_45678@gmail.com |
| Mike12@gmail.com           |
| 56453Adam@gmail.com        |
+----------------------------+
5 rows in set (0.00 sec)

4. 数字5桁で始まるメールアドレスを抽出するクエリ

先頭が数字5桁で始まるメールアドレスだけを取得するには、次のようにREGEXPを使った条件を指定します。

mysql> select *from DemoTable where UserEmailAddress regexp "^[0-9]{5}";

実行結果は以下の通りです。

+----------------------------+
| UserEmailAddress           |
+----------------------------+
| 98989Chris_45678@gmail.com |
| 56453Adam@gmail.com        |
+----------------------------+
2 rows in set (0.00 sec)

結果を見ると、「98989Chris_45678@gmail.com」と「56453Adam@gmail.com」の2件だけが抽出されました。これらはいずれも先頭が数字5桁で始まっているためです。一方、「Carol23456@gmail.com」のように途中に数字が含まれていても、先頭が数字でなければ対象外になります。

このように、REGEXPと「^[0-9]{5}」という正規表現パターンを組み合わせることで、先頭が数字5桁で始まるメールアドレスをシンプルに絞り込むことができます。桁数を変更したい場合は「{5}」の部分を任意の数値に置き換えるだけで対応可能です。

  1. MySQLの正規表現(REGEXP)で特定パターンの列値だけを更新する方法

    UPDATE文とREGEXPを組み合わせた条件付き更新 文字列・数値・特殊文字などが混在する列から、特定のパターンに一致する値だけを更新したい場合には、UPDATEコマンドとREGEXP演算子を組み合わせるのが効果的です。ここでは、数値のみで構成される行を判別し、先頭に「Street」という文字列を連結して更新する例を解説します。 1. サンプルテーブルの作成 まず、次のようにテーブルを作成します。 mysql> create table DemoTable2023 -> ( -> StreetNumber varchar(100) -> );

  2. Pythonの正規表現(RegEx)とは?基本構文と実用例をわかりやすく解説

    正規表現(Regular Expression)は、与えられた文字列の中に特定のパターンが存在するかどうかを判定するための、いわばミニプログラミング言語です。一連の文字の組み合わせで検索パターンを定義し、そのパターンが文字列に含まれているかをチェックできます。テキスト処理やデータクレンジング、入力値のバリデーションなど、さまざまな場面で活躍する強力なツールなので、ぜひマスターしておきましょう。reモジュールのインポートPythonには正規表現を扱うための標準ライブラリ「re」が組み込まれています。追加のインストールは不要で、import文だけですぐに使えます。import re基本的な使用例ま