正規表現は、マジック パターンに一致するテキストを取得および置換するためによく使用されます。たとえば、テキスト ファイルから電話番号を抽出したり、記事内で繰り返される単語を検索したり、ユーザーが入力した特定の機密性の高い単語を置き換えたりできます。 Mysql は、REGEXP キーワードを使用して、正規表現の文字一致パターンを指定します。 Mysql は、REGEXP キーワードを使用して、正規表現の文字一致パターンを指定します。次に、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 アプレットは、単純な入力正規表現検証機能の共有を実装します
以上がMySqlの正規表現を使ったクエリ例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。