mysql中正则表达式的用法_mysql之正则表达式的用法
正則表達(dá)式用來(lái)匹配文本的特殊字符集合
格式:在where查詢中使用regexp關(guān)鍵字,后面接正則表達(dá)式字符
正則表達(dá)式與like的區(qū)別
like匹配整列數(shù)據(jù)
regexp可以匹配列中任意位置的字符,更加靈活,更強(qiáng)大。
用like模糊匹配,查詢字段里面有包含某個(gè)字符的數(shù)據(jù),下面這里例子中,匹配token列包含2d3的所有數(shù)據(jù)
上面的包含匹配,我們使用正則也可以實(shí)現(xiàn)
使用" | "來(lái)匹配,表示或者的意思。匹配兩個(gè)字符2d3或者b2,都會(huì)查找出來(lái)
匹配一個(gè)范圍,[1-9]表示匹配1到9之間的任意一個(gè)數(shù)字,[a-z]表示匹配a到z之間的任意一個(gè)字符
使[ ] ,匹配幾個(gè)字符中的任意一個(gè),只要包含c或者包含e都會(huì)查找出來(lái)
只要包含1到3之間 的數(shù)據(jù)都會(huì)查找出來(lái)
語(yǔ)法錯(cuò)誤,因?yàn)檫@種寫法是錯(cuò)誤的,程序會(huì)當(dāng)成1或者,2到1,或者3,所以無(wú)法執(zhí)行報(bào)錯(cuò)了
包含2,或者4到6之間的數(shù)據(jù)
我們知道m(xù)ysql是不區(qū)分大小的,那我們有時(shí)候需要只查找到大寫的某些字符,怎么辦呢
加上binary之后,區(qū)分大小寫,這里寫成小寫的rb就查找不出來(lái)
NOT取反,只要不是大寫RB的,全部都會(huì)查找出來(lái)
再看一組例子,包含fc后面跟4或者5或者6的都會(huì)查找出來(lái)
下尖括號(hào) ^ 的用法,不匹配幾個(gè)字符中的任意一個(gè)
下面例子fc后面不包含4或者5或者6的全部查找出來(lái),這個(gè)下尖括號(hào)是對(duì)4或5或6的否定,所以fc后面跟b和8的所有行都查找出來(lái)了。
這里的NOT是對(duì)整個(gè)正則匹配到的數(shù)據(jù)否定,?只要不是fc后面跟456的全部查找出來(lái)
查找出連在一起的七位數(shù)(任意數(shù))
匹配以fc開(kāi)頭的所有的數(shù)據(jù)
匹配以ba結(jié)尾的所有數(shù)據(jù)
一個(gè)一個(gè)寫太累了,下面整理一下找了找別人整理好的,用法都是和上面一樣的,可以參考
匹配字符類
下面是來(lái)自菜鳥教程的正則匹配描述
總結(jié)
以上是生活随笔為你收集整理的mysql中正则表达式的用法_mysql之正则表达式的用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql datetime不支持小数_
- 下一篇: mysql 主键 最佳实践_设计套路:M