MySQL中正則表達式查詢的SQL語句集錦
MySQL作為關系型數據庫的一種,起支持SQL進行數據庫的增刪改查操作是其必備功能之一!
SQL的查詢功能中,碰到需要檢索或替換那些符合某個模式的文本內容是最常見的應用場景,此時就需要用到正則表達式根據指定的匹配模式匹配文本中符合要求的特殊的字符。
我們可以先假設下面幾個場景:
- 從一個文本中提取電話號碼;
- 從一大串字符中查找重復字符;
- 進行文章審核時對敏感詞進行替換操作。
【1】數據準備
- 建表:

- 造數據

【2】^:匹配文本的開始字符

【結論】以字母“l”開頭的記錄都能查詢出來。
【3】$:匹配文本的結束字符

【結論】以字母“r”結尾的記錄都能查詢出來。
【4】.:匹配任意一個字符

【結論】兩個字母之間必須要存在另外一個字符才能符合匹配條件。
【5】*:匹配任意多個字符

【結論】包含匹配條件中羅列出的某個字母的記錄都被認為是符合的。
【6】+:匹配其前面字符至少一次

【結論】可以實現多個字母的匹配。
【7】包含某個或幾個字符

【結論】使用LIKE則要結合%才能生效。
【8】[]:匹配字符集中任何一個字符

【結論】返回[]中所有字母的記錄。
【9】[^]:匹配不包含在指定集合中的任何字符

【結論】對于ID值為1至5的記錄都被剔除。
【10】指定匹配次數:{n,}或{n,m}

【結論】指定的字母必須連續出現,{n,m}中的m才生效。

總結
MySQL支持的正則表達式有:
