mysql之正則表達式的用法


正則表達式用來匹配文本的特殊字符集合

格式:在where查詢中使用regexp關鍵字,后面接正則表達式字符

正則表達式與like的區別

like匹配整列數據

regexp可以匹配列中任意位置的字符,更加靈活,更強大。

用like模糊匹配,查詢字段里面有包含某個字符的數據,下面這里例子中,匹配token列包含2d3的所有數據

上面的包含匹配,我們使用正則也可以實現

使用" | "來匹配,表示或者的意思。匹配兩個字符2d3或者b2,都會查找出來

匹配一個范圍,[1-9]表示匹配1到9之間的任意一個數字,[a-z]表示匹配a到z之間的任意一個字符

使[ ] ,匹配幾個字符中的任意一個,只要包含c或者包含e都會查找出來

 

只要包含1到3之間 的數據都會查找出來

語法錯誤,因為這種寫法是錯誤的,程序會當成1或者,2到1,或者3,所以無法執行報錯了

 包含2,或者4到6之間的數據

 我們知道mysql是不區分大小的,那我們有時候需要只查找到大寫的某些字符,怎么辦呢

 加上binary之后,區分大小寫,這里寫成小寫的rb就查找不出來

 NOT取反,只要不是大寫RB的,全部都會查找出來

再看一組例子,包含fc后面跟4或者5或者6的都會查找出來

下尖括號 ^ 的用法,不匹配幾個字符中的任意一個

下面例子fc后面不包含4或者5或者6的全部查找出來,這個下尖括號是對4或5或6的否定,所以fc后面跟b和8的所有行都查找出來了。

 

這里的NOT是對整個正則匹配到的數據否定, 只要不是fc后面跟456的全部查找出來

查找出連在一起的七位數(任意數)

匹配以fc開頭的所有的數據

 匹配以ba結尾的所有數據

一個一個寫太累了,下面整理一下找了找別人整理好的,用法都是和上面一樣的,可以參考 

匹配字符類

 下面是來自菜鳥教程的正則匹配描述

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM