MySqlの正規表現を使ったクエリ例を詳しく解説

小云云
リリース: 2018-01-06 14:33:00
オリジナル
1885 人が閲覧しました

正規表現は、マジック パターンに一致するテキストを取得および置換するためによく使用されます。たとえば、テキスト ファイルから電話番号を抽出したり、記事内で繰り返される単語を検索したり、ユーザーが入力した特定の機密性の高い単語を置き換えたりできます。 Mysql は、REGEXP キーワードを使用して、正規表現の文字一致パターンを指定します。 Mysql は、REGEXP キーワードを使用して、正規表現の文字一致パターンを指定します。次に、MySql で正規表現クエリを使用する方法をこの記事で紹介します。興味のある方はぜひ参考にしてください。

MySqlの正規表現を使ったクエリ例を詳しく解説

1. 文字 '^' は、特定の文字または文字列で始まるレコードをクエリします。

SELECT * FROM user WHERE email REGEXP '^a'
ログイン後にコピー

文字 '^' は、特定の文字または文字列で始まるレコードと一致します。 上記のステートメントは、メールボックスが で始まるレコードをクエリします。 a

2. 文字 ' は、特定の文字または文字列で終わるレコードをクエリします

SELECT * FROM user WHERE phone REGEXP '0$'
ログイン後にコピー

文字 '$' は、特定の文字または文字列で終わるレコードに一致します 上記のステートメントは、メールボックスが 0 で終わるレコードをクエリします

3文字列内の任意の文字を「.」で置き換えます

SELECT * FROM user WHERE email REGEXP 'a.c'
ログイン後にコピー

メールボックス a と c の間の 1 文字で置き換えます。「.」はプレースホルダーに相当します。 REGEXP ‘a..c’ として記述されている場合、つまり、a と c の間に 2 つのドットがある場合、メールボックス内の a と c の間に 2 つの文字が存在する必要があることを意味します。

4. 複数の文字に一致するには「*」を使用します

SELECT * FROM user WHERE email REGEXP 'm*'
ログイン後にコピー

すべてのメールボックス内の m を含むレコードをクエリします。

SELECT * FROM user WHERE email REGEXP '^am*'
ログイン後にコピー

電子メール アドレスが文字 a で始まり、文字 m が続くレコードをクエリします。ここで、「*」は 0 回以上を意味します。

5. 次の文字を表すには文字「+」を使用します。

SELECT * FROM user WHERE email REGEXP 'm+'
ログイン後にコピー

すべてのメールボックス内の m を含むレコードをクエリします。

SELECT * FROM user WHERE email REGEXP '^am+'
ログイン後にコピー

電子メール アドレスが文字 a で始まり、その後に文字 m が続くレコードをクエリします。ここで、「+」は次の文字を意味します。

6.「|」で区切られた条件は指定された文字列と一致します

SELECT * FROM user WHERE email REGEXP 'qq.com|163.com'
ログイン後にコピー

正規表現は指定された文字列と一致し、文字列は「|」で区切られます。

7. "[]" は、セットが指定された文字列のいずれか 1 つに一致することを意味します。

SELECT * FROM user WHERE email REGEXP '[az]'
ログイン後にコピー

"[]" はセットを指定し、上記はクエリ メールボックスに a または z、あるいはその両方を持つメールボックスが含まれていることを意味します。たとえば、[0-9] は設定された間隔内のすべての数字を表し、[a-z] は設定された間隔内のすべての文字を表します。

8.「[^]」は指定された文字以外の文字と一致します

SELECT * FROM user WHERE email REGEXP '[^a-d1-3]'
ログイン後にコピー

上記のように、一致するメールボックスには a、b、c、d が含まれず、1、2、3 のレコードも含まれません。

9. {n,} または {n,m} を使用して、文字列連結の出現回数を指定します。

SELECT * FROM user WHERE email REGEXP 'b{2}'
ログイン後にコピー

は、文字 b が少なくとも 2 回出現することを意味します。

SELECT * FROM user WHERE email REGEXP 'yu{1,3}'
ログイン後にコピー

は、文字列 ba が少なくとも 1 回、最大で 3 回出現することを意味します。

関連する推奨事項:

WeChat アプレットは、単純な入力正規表現検証機能の共有を実装します

JavaScript で正規表現を使用する方法

Replace での正規表現_正規表現

以上がMySqlの正規表現を使ったクエリ例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート