這里簡(jiǎn)單回顧mysql在過濾后的數(shù)據(jù)使用正則表達(dá)式時(shí)。主要利用每方法將樣品,或添加一些簡(jiǎn)短的說明。
下面說說提前,使用正則表達(dá)式是用來過濾數(shù)據(jù) REGEXPkeyword
基本字符相匹配:
SELECT prod_name FROM products WHERE prod_name REGEXP ‘1000’;
該查詢語句的意思是prod_name字段中包括1000的數(shù)據(jù),僅僅要值中的不論什么部位包括1000都能夠
SELECT prod_name FROM products WHERE prod_name REGEXP ‘.000’。
"."代表的是單個(gè)字符的通配符。相當(dāng)于不論什么單個(gè)字符。類似LIKE中的通配符"_"一樣。該語句的意思是查詢處prod_name字段中包括諸如1000,2000,或者隨意一個(gè)字符后邊跟上000的數(shù)據(jù)
進(jìn)行OR匹配:
SELECT prod_name FROM products WHERE prod_name REGEXP ‘1000|2000’;
在這里“|”代表or的意思,也就是“或”的意思。該語句會(huì)吧prod_name字段中包括1000或者包括2000或者兩個(gè)都包括的數(shù)據(jù)查詢出來。or匹配能夠給出兩個(gè)以上的匹配項(xiàng)比如 1000|2000|3000
匹配幾個(gè)字符之中的一個(gè):
SELECT prod_name FROM products WHERE prod_name REGEXP ‘[123] Ton’;
[]括起來的部分表示匹配當(dāng)中一個(gè)比如 1 Ton 。2 Ton 這樣
匹配范圍:
SELECT prod_name FROM products WHERE prod_name REGEXP ‘[1-9] Ton’;
假設(shè)在上一個(gè)樣例中[]括起來的部分的字符比較長(zhǎng)。并且都是數(shù)組,并且數(shù)字又是連續(xù)的話,能夠改成范圍匹配,這樣sql語句會(huì)更加簡(jiǎn)短一點(diǎn),當(dāng)然能夠把[1-9]換成[123456789]。假設(shè)是字母的話但是使用[a-z]這種方式
匹配特殊字符:
SELECT prod_name FROM products WHERE prod_name REGEXP ‘\\.’;
在mysql中要匹配特殊字符的話須要加上//轉(zhuǎn)義一下才干夠,由于特殊字符在sql語句中有特殊的含義
匹配多個(gè)實(shí)例:
首先須要介紹幾個(gè)匹配字符
* 0個(gè)或者多個(gè)匹配
+ 一個(gè)或者多個(gè)匹配(等于{1,})
?
0個(gè)或者一個(gè)匹配(等于{0,1})
{n} 指定數(shù)目的匹配
{n,} 不少于指定數(shù)目的匹配
{n,m} 匹配數(shù)目的范圍(m不超過255)
SELECT prod_name FROM products WHERE prod_name REGEXP ‘\\([0-9] sticks?\\)’;
在該語句中?匹配它前面的不論什么字符的0次或者一次出現(xiàn)
定位符:
^ 匹配文本的開始
$ 匹配文本的結(jié)尾
[[:<:]] 詞的開始
[[:>:]] 詞的結(jié)尾
SELECT prod_name FROM products WHERE prod_name REGEXP ‘^[0-9\\.]’;
匹配字符串的意思只是要.而對(duì)于數(shù)據(jù)的開始的任意數(shù)字被查詢
版權(quán)聲明:本文博客原創(chuàng)文章。博客,未經(jīng)同意,不得轉(zhuǎn)載。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
