首頁  >  文章  >  資料庫  >  MySql中使用正規表示式查詢實例詳解

MySql中使用正規表示式查詢實例詳解

小云云
小云云原創
2018-01-06 14:33:001847瀏覽

正規表示式常用來檢索和取代那些符合魔種模式的文字。例如從一個文字檔案中提取電話號碼,尋找一篇文章中重複的單字或取代使用者輸入的某些敏感詞彙等。 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 之間有一個字元的記錄,'.' 相當於是一個佔位符。如果寫成 REGEXP ‘a..c' , 即a、c之間有兩個點,則表示郵箱中 a、c 之間要有兩個字元。

4.使用「*」來匹配多個字元

SELECT * FROM user WHERE email REGEXP 'm*'

查詢所有郵箱中有 m 的記錄。

SELECT * FROM user WHERE email REGEXP '^am*'

查詢郵件信箱字母 a開頭, a後面有字母 m 的記錄。其中'*' 表示0次或以上。

5. 以字元「+」表示緊接的字元

SELECT * FROM user WHERE email REGEXP 'm+'

查詢所有郵件信箱中有 m 的記錄。

SELECT * FROM user WHERE email REGEXP '^am+'

查詢郵箱字母 a開頭, a後面緊跟著字母 m 的記錄。其中'+' 表示緊接字元。

6. “|” 分隔條件符合指定字串

SELECT * FROM user WHERE email REGEXP 'qq.com|163.com'

正規表示式可以符合指定的字串,字串之間使用 “|” 分隔。

7. “[]” 表示集合符合指定字串中的任一個

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次。

相關推薦:

微信小程式實作簡單input正規表示式驗證功能分享

Javascript中正規表示式的使用方法

Replace中的正規表示式_正規表示式

#

以上是MySql中使用正規表示式查詢實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn