MySql正則匹配結(jié)果

正則表達(dá)式基本語(yǔ)法:

MySql中正則模式使用REGEXP和NOT REGEXP操作符纵寝。

基本的正則匹配規(guī)則:

1、%代表任意多個(gè)字符
2、_代表一個(gè)字符 在 MySQL中兽叮,SQL的模式缺省是忽略大小寫的
3、“.”匹配任何單個(gè)的字符猾愿。一個(gè)字符類
4充择、“[...]”匹配在方括號(hào)內(nèi)的任意單個(gè)字符
5、“ * ”匹配零個(gè)或多個(gè)在它前面的東西

正則表達(dá)式是區(qū)分大小寫的匪蟀,但是如果你希望椎麦,你能使用一個(gè)字符類匹配兩種寫法。
例如材彪,“[aA]”匹配小寫或大寫的“a”而“[a-zA-Z]”匹配兩種寫法的任何字母观挎。

在模式開(kāi)始處使用“”或在模式的結(jié)尾用“$”,為了找出以“三”開(kāi)頭的名字段化,使用“”匹配名字的開(kāi)始:
FROM [user] WHERE u_name REGEXP ‘^三’;
將會(huì)把u_name為 “三腳貓”等等以“三”開(kāi)頭的記錄全找出來(lái)嘁捷。

為了找出以“三”結(jié)尾的名字,使用“$”匹配名字的結(jié)尾:
FROM [user] WHERE u_name REGEXP ‘三$’;
將會(huì)把u_name為“張三”显熏,“張貓三”等等以“三”結(jié)尾的記錄全找出來(lái)雄嚣。

你也可以使用“{n}”“重復(fù)n次”操作符重寫先前的查詢:
FROM [user] WHERE u_name REGEXP ‘b{2}$’;
MySql的like語(yǔ)句中的通配符:百分號(hào)、下劃線和escape

%:表示任意個(gè)或多個(gè)字符喘蟆』荷可匹配任意類型和長(zhǎng)度的字符。
<code>
select * from user where username like '%huxiao';
select * from user where username like 'huxiao%';
select * from user where username like '%huxiao%';
</code>
另外蕴轨,如果需要找出u_name中既有“三”又有“貓”的記錄港谊,請(qǐng)使用and條件
<code>SELECT * FROM [user] WHERE u_name LIKE ‘%三%’ AND u_name LIKE ‘%貓%’</code>
若使用 SELECT * FROM [user] WHERE u_name LIKE ‘%三%貓%’

雖然能搜索出“三腳貓”,但不能搜索出符合條件的“張貓三”橙弱。

_:表示任意單個(gè)字符歧寺。匹配單個(gè)任意字符,它常用來(lái)限制表達(dá)式的字符長(zhǎng)度語(yǔ)句:(可以代表一個(gè)中文字符)

<code>
select * from user where username like '';
select * from user where username like 'huxia
';
select * from user where username like 'h_xiao';
</code>

如果我就真的要查%或者棘脐,怎么辦呢斜筐?使用escape,轉(zhuǎn)義字符后面的%或就不作為通配符了蛀缝,注意前面沒(méi)有轉(zhuǎn)義字符的%和仍然起通配符作用
<code>
select username from gg_user where username like '%xiao/
%' escape '/';
select username from gg_user where username like '%xiao/%%' escape '/';
</code>

二顷链、正則模式

MySQL提供的模式匹配的其他類型是使用擴(kuò)展正則表達(dá)式。當(dāng)你對(duì)這類模式進(jìn)行匹配測(cè)試時(shí)内斯,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE蕴潦,它們是同義詞)像啼。

擴(kuò)展正則表達(dá)式的一些字符是:“.”匹配任何單個(gè)的字符。(單字節(jié)字符)

一個(gè)字符類“[...]”匹配在方括號(hào)內(nèi)的任何字符潭苞。例如忽冻,“[abc]”匹配“a”、“b”或“c”此疹。
為了命名字符的一個(gè)范圍僧诚,使用一個(gè)“-”』人椋“[a-z]”匹配任何小寫字母湖笨,而“[0-9]”匹配任何數(shù)字。

“ * ”匹配零個(gè)或多個(gè)在它前面的東西蹦骑。例如慈省,“x”匹配任何數(shù)量的“x”字符,“[0-9]”匹配的任何數(shù)量的數(shù)字眠菇,而“.*”匹配任何數(shù)量的任何東西边败。

正則表達(dá)式是區(qū)分大小寫的,但是如果你希望捎废,你能使用一個(gè)字符類匹配兩種寫法笑窜。例如,“[aA]”匹配小寫或大寫的“a”而“[a-zA-Z]”匹配兩種寫法的任何字母登疗。

如果它出現(xiàn)在被測(cè)試值的任何地方排截,模式就匹配(只要他們匹配整個(gè)值,SQL模式匹配)辐益。
為了定位一個(gè)模式以便它必須匹配被測(cè)試值的開(kāi)始或結(jié)尾断傲,在模式開(kāi)始處使用“^”或在模式的結(jié)尾用“$”。
為了說(shuō)明擴(kuò)展正則表達(dá)式如何工作荷腊,上面所示的LIKE查詢?cè)谙旅媸褂肦EGEXP重寫:

為了找出以“三”開(kāi)頭的名字艳悔,使用“^”匹配名字的開(kāi)始急凰。
FROM [user] WHERE u_name REGEXP ‘^三’;
將會(huì)把u_name為 “三腳貓”等等以“三”開(kāi)頭的記錄全找出來(lái)女仰。

為了找出以“三”結(jié)尾的名字,使用“$”匹配名字的結(jié)尾抡锈。
FROM [user] WHERE u_name REGEXP ‘三$’;
將會(huì)把u_name為“張三”疾忍,“張貓三”等等以“三”結(jié)尾的記錄全找出來(lái)。

你也可以使用“{n}”“重復(fù)n次”操作符重寫先前的查詢:
FROM [user] WHERE u_name REGEXP ‘b{2}$’;

注意:如果是中文字符床三,可能在使用時(shí)需要注意一下一罩。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市撇簿,隨后出現(xiàn)的幾起案子聂渊,更是在濱河造成了極大的恐慌差购,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汉嗽,死亡現(xiàn)場(chǎng)離奇詭異欲逃,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)饼暑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門稳析,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人弓叛,你說(shuō)我怎么就攤上這事彰居。” “怎么了撰筷?”我有些...
    開(kāi)封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵陈惰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我毕籽,道長(zhǎng)奴潘,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任影钉,我火速辦了婚禮画髓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘平委。我一直安慰自己奈虾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布廉赔。 她就那樣靜靜地躺著肉微,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜡塌。 梳的紋絲不亂的頭發(fā)上碉纳,一...
    開(kāi)封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音馏艾,去河邊找鬼劳曹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛琅摩,可吹牛的內(nèi)容都是我干的铁孵。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼房资,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蜕劝!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤岖沛,失蹤者是張志新(化名)和其女友劉穎暑始,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體婴削,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蒋荚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了馆蠕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片期升。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖互躬,靈堂內(nèi)的尸體忽然破棺而出播赁,到底是詐尸還是另有隱情,我是刑警寧澤吼渡,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布容为,位于F島的核電站,受9級(jí)特大地震影響寺酪,放射性物質(zhì)發(fā)生泄漏坎背。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一寄雀、第九天 我趴在偏房一處隱蔽的房頂上張望得滤。 院中可真熱鬧,春花似錦盒犹、人聲如沸懂更。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)沮协。三九已至,卻和暖如春卓嫂,著一層夾襖步出監(jiān)牢的瞬間慷暂,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工晨雳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留行瑞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓悍募,卻偏偏與公主長(zhǎng)得像蘑辑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子坠宴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 50個(gè)常用的sql語(yǔ)句Student(S#,Sname,Sage,Ssex) 學(xué)生表Course(C#,Cname...
    哈哈海閱讀 1,225評(píng)論 0 7
  • 什么是SQL數(shù)據(jù)庫(kù): SQL是Structured Query Language(結(jié)構(gòu)化查詢語(yǔ)言)的縮寫。SQL是...
    西貝巴巴閱讀 1,801評(píng)論 0 10
  • 作業(yè)一:簡(jiǎn)單輸出 作業(yè)二:計(jì)算圓的面積
    劉培壯閱讀 94評(píng)論 0 0
  • 1. 權(quán)威人士vs獨(dú)立思考 我小表妹葉子給我電話說(shuō)情緒很壓抑绷旗,壓力很大喜鼓,感覺(jué)自個(gè)要得抑郁癥了副砍。想到她的事情我就...
    慵懶的小柒閱讀 467評(píng)論 6 19
  • 看了很多歷史,所謂的歷史無(wú)非是帝王將相庄岖,富賈豪商的家族變遷史豁翎,所圍繞的不過(guò)是名,權(quán)隅忿,利心剥,所謂的讀史明智我更傾向于歷...
    牧鋒閱讀 1,417評(píng)論 0 0