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}」の部分を任意の数値に置き換えるだけで対応可能です。
-
MySQLの正規表現(REGEXP)で特定パターンの列値だけを更新する方法
UPDATE文とREGEXPを組み合わせた条件付き更新 文字列・数値・特殊文字などが混在する列から、特定のパターンに一致する値だけを更新したい場合には、UPDATEコマンドとREGEXP演算子を組み合わせるのが効果的です。ここでは、数値のみで構成される行を判別し、先頭に「Street」という文字列を連結して更新する例を解説します。 1. サンプルテーブルの作成 まず、次のようにテーブルを作成します。 mysql> create table DemoTable2023 -> ( -> StreetNumber varchar(100) -> );
-
Pythonの正規表現(RegEx)とは?基本構文と実用例をわかりやすく解説
正規表現(Regular Expression)は、与えられた文字列の中に特定のパターンが存在するかどうかを判定するための、いわばミニプログラミング言語です。一連の文字の組み合わせで検索パターンを定義し、そのパターンが文字列に含まれているかをチェックできます。テキスト処理やデータクレンジング、入力値のバリデーションなど、さまざまな場面で活躍する強力なツールなので、ぜひマスターしておきましょう。reモジュールのインポートPythonには正規表現を扱うための標準ライブラリ「re」が組み込まれています。追加のインストールは不要で、import文だけですぐに使えます。import re基本的な使用例ま