欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫(kù)操作DQL正則表達(dá)式

 更新時(shí)間:2022年07月11日 14:48:37   作者:王小王_123  
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)操作DQL正則表達(dá)式,正則表達(dá)式描述了一種字符串匹配的規(guī)則,正則表達(dá)式本身就是一個(gè)字符串,使用這個(gè)字符串來(lái)描述、用來(lái)定義匹配規(guī)則,匹配一系列符合某個(gè)句法規(guī)則的字符串

前言:

正則表達(dá)式(regular expression)描述了一種字符串匹配的規(guī)則,正則表達(dá)式本身就是一個(gè)字符串,使用這個(gè)字符串來(lái)描述、用來(lái)定義匹配規(guī)則,匹配一系列符合某個(gè)句法規(guī)則的字符串。在開發(fā)中,正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)規(guī)則的文本。

MySQL通過(guò)REGEXP關(guān)鍵字支持正則表達(dá)式進(jìn)行字符串匹配。

-- ^ 在字符串開始處進(jìn)行匹配
SELECT 'abc' REGEXP '^a'; -- 1
-- $ 在字符串末尾開始匹配
SELECT 'abc' REGEXP 'a$'; -- 0
SELECT 'abc' REGEXP 'c$'; -- 1
-- . 匹配任意字符
SELECT 'abc' REGEXP '.b'; -- 1
SELECT 'abc' REGEXP '.c'; -- 1
SELECT 'abc' REGEXP 'a.'; -- 1
-- [...] 匹配括號(hào)內(nèi)的任意單個(gè)字符
SELECT 'abc' REGEXP '[xyz]'; -- 0
SELECT 'abc' REGEXP '[xaz]'; -- 1

返回值為1就代表匹配到了,如果返回值為0就代表不能匹配

-- [^...] 注意^符合只有在[]內(nèi)才是取反的意思,在別的地方都是表示開始處匹配
SELECT 'a' REGEXP '[^abc]';-- 0
SELECT 'x' REGEXP '[^abc]';-- 1
SELECT 'abc' REGEXP '[^a]';-- 1

使用[^]則代表的是,不能匹配到,那么有些人肯定會(huì)疑問(wèn),為什么最后一個(gè)卻匹配到了,雖然里面包含a,但是[^a]代表的是,除了a,里面還有其他的,也可以匹配成功,這里其實(shí)涉及到了一個(gè)單詞中的全匹配和局部匹配。

負(fù)值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'

-- a* 匹配0個(gè)或多個(gè)a,包括空字符串。 可以作為占位符使用.有沒有指定字符都可以匹配到數(shù)據(jù)
SELECT 'stab' REGEXP '.ta*b';
SELECT 'stb' REGEXP '.ta*b';
SELECT '' REGEXP 'a*';

注意這里的*是0個(gè)或者多個(gè),所以最后一個(gè)返回的是1

-- a+ 匹配1個(gè)或者多個(gè)a,但是不包括空字符
SELECT 'stab' REGEXP '.ta+b';
SELECT 'stb' REGEXP '.ta+b';

注意這里的+是1個(gè)或者多個(gè)

-- a? 匹配0個(gè)或者1個(gè)a
SELECT 'stb' REGEXP '.ta?b';
SELECT 'stab' REGEXP '.ta?b';
SELECT 'staab' REGEXP '.ta?b';
-- a1|a2 匹配a1或者a2,
SELECT 'a' REGEXP 'a|b';
SELECT 'b' REGEXP 'a|b';
SELECT 'b' REGEXP '^(a|b)';
SELECT 'a' REGEXP '^(a|b)';
SELECT 'c' REGEXP '^(a|b)';
-- a{m} 匹配m個(gè)a
SELECT 'auuuuc' REGEXP 'au{4}c';
SELECT 'auuuuc' REGEXP 'au{3}c';

注意這里的?是0個(gè)或者1個(gè),標(biāo)準(zhǔn)的名字叫做非貪婪模式

-- a{m,n} 匹配m到n個(gè)a,包含m和n
SELECT 'auuuuc' REGEXP 'au{3,5}c';
SELECT 'auuuuc' REGEXP 'au{4,5}c';
SELECT 'auuuuc' REGEXP 'au{5,10}c';
-- (abc) abc作為一個(gè)序列匹配,不用括號(hào)括起來(lái)都是用單個(gè)字符去匹配,如果要把多個(gè)字符作為一個(gè)整體去匹配就需要用到括號(hào),所以括號(hào)適合上面的所有情況。
SELECT 'xababy' REGEXP 'x(abab)y';
SELECT 'xababy' REGEXP 'x(ab)*y';
SELECT 'xababy' REGEXP 'x(ab){1,2}y';

一般的實(shí)際應(yīng)用場(chǎng)景,通過(guò)正則表達(dá)式可以對(duì)文本進(jìn)行匹配,這比之前的like關(guān)鍵字要智能的多,應(yīng)用場(chǎng)景也是比較的廣,所以需要熟悉它的語(yǔ)法標(biāo)準(zhǔn):

select 字段 regexp '正則表達(dá)式' as 命名 from 表   ……

到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)操作DQL正則表達(dá)式的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)庫(kù)操作DQL 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql將數(shù)據(jù)庫(kù)中所有表結(jié)構(gòu)和數(shù)據(jù)導(dǎo)入到另一個(gè)庫(kù)的方法(親測(cè)有效)

    mysql將數(shù)據(jù)庫(kù)中所有表結(jié)構(gòu)和數(shù)據(jù)導(dǎo)入到另一個(gè)庫(kù)的方法(親測(cè)有效)

    這篇文章主要給大家介紹了關(guān)于mysql將數(shù)據(jù)庫(kù)中所有表結(jié)構(gòu)和數(shù)據(jù)導(dǎo)入到另一個(gè)庫(kù)的方法,文中通過(guò)代碼介紹的非常詳細(xì),親測(cè)有效,對(duì)同樣遇到這個(gè)需求的朋友具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • MySQL?查詢?并集、交集、差集方式

    MySQL?查詢?并集、交集、差集方式

    這篇文章主要介紹了MySQL?查詢?并集、交集、差集方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • mysql中find_in_set函數(shù)的基本使用方法

    mysql中find_in_set函數(shù)的基本使用方法

    這篇文章主要給大家介紹了關(guān)于mysql中find_in_set函數(shù)的基本使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • centos7環(huán)境下創(chuàng)建mysql5.6多實(shí)例的方法詳解

    centos7環(huán)境下創(chuàng)建mysql5.6多實(shí)例的方法詳解

    這篇文章主要介紹了centos7環(huán)境下創(chuàng)建mysql5.6多實(shí)例的方法,詳細(xì)分析了centos7創(chuàng)建mysql5.6多實(shí)例的具體步驟、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • MySQL復(fù)制表常用的四種方式小結(jié)

    MySQL復(fù)制表常用的四種方式小結(jié)

    mysql?想必大家比較熟悉了,我們常見的crud??sql想必大家也是手到拈來(lái),但可能會(huì)有人不會(huì)寫mysql中復(fù)制表,所以接下來(lái)本文我會(huì)介紹四種常用的復(fù)制表的方式,需要的朋友可以參考下
    2023-07-07
  • SQL替換字符串值的5種常用方法

    SQL替換字符串值的5種常用方法

    這篇文章主要給大家介紹了關(guān)于SQL替換字符串值的5種常用方法,常用SQL的朋友應(yīng)該知道,SQL中一般都會(huì)提供一些字符串處理函數(shù),需要的朋友可以參考下
    2023-08-08
  • MySQL中給定父行找到所有子行的解決方案

    MySQL中給定父行找到所有子行的解決方案

    這篇文章主要給大家介紹了關(guān)于MySQL中給定父行找到所有子行的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • MySQL計(jì)劃任務(wù)(事件調(diào)度器) Event Scheduler介紹

    MySQL計(jì)劃任務(wù)(事件調(diào)度器) Event Scheduler介紹

    MySQL5.1.x版本中引入了一項(xiàng)新特性EVENT,顧名思義就是事件、定時(shí)任務(wù)機(jī)制,在指定的時(shí)間單元內(nèi)執(zhí)行特定的任務(wù),因此今后一些對(duì)數(shù)據(jù)定時(shí)性操作不再依賴外部程序,而直接使用數(shù)據(jù)庫(kù)本身提供的功能
    2013-10-10
  • mysql數(shù)據(jù)庫(kù)修改添加Date格式列的方法

    mysql數(shù)據(jù)庫(kù)修改添加Date格式列的方法

    這篇文章主要介紹了關(guān)于mysql數(shù)據(jù)庫(kù)如何修改添加Date格式的列 ,需要的朋友可以參考下
    2014-07-07
  • MySQL timestamp與時(shí)區(qū)問(wèn)題的解決

    MySQL timestamp與時(shí)區(qū)問(wèn)題的解決

    本文主要介紹了MySQL timestamp與時(shí)區(qū)問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論