亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > regex > 正文

MySQL中REGEXP正則表達式使用大全

2020-01-20 22:09:46
字體:
來源:轉載
供稿:網友

以前我要查找數據都是使用like后來發現mysql中也有正則表達式了并且感覺性能要好于like,下面我來給大家分享一下mysql REGEXP正則表達式使用詳解,希望此方法對大家有幫助。

MySQL采用Henry Spencer的正則表達式實施,其目標是符合POSIX 1003.2。請參見附錄C:感謝。MySQL采用了擴展的版本,以支持在SQL語句中與REGEXP操作符一起使用的模式匹配操作。請參見3.3.4.7節,“模式匹配”。

在本附錄中,歸納了在MySQL中可用于REGEXP操作的特殊字符和結構,并給出了一些示例。本附錄未包含可在Henry Spencer的regex(7)手冊頁面中發現的所有細節。該手冊頁面包含在MySQL源碼分發版中,位于regex目錄下的regex.7文件中。

正則表達式描述了一組字符串。最簡單的正則表達式是不含任何特殊字符的正則表達式。例如,正則表達式hello匹配hello。

非平凡的正則表達式采用了特殊的特定結構,從而使得它們能夠與1個以上的字符串匹配。例如,正則表達式hello|word匹配字符串hello或字符串word。

作為一個更為復雜的示例,正則表達式B[an]*s匹配下述字符串中的任何一個:Bananas,Baaaaas,Bs,以及以B開始、以s結束、并在其中包含任意數目a或n字符的任何其他字符串。

以下是可用于隨REGEXP操作符的表的模式。

應用示例,查找用戶表中Email格式錯誤的用戶記錄:

SELECT * FROM usersWHERE email NOT REGEXP '^[A-Z0-9._%-]+@[A-Z0-9.-]+.[A-Z]{2,4}$'

MySQL數據庫中正則表達式的語法,主要包括各種符號的含義。

(^)字符

匹配字符串的開始位置,如“^a”表示以字母a開頭的字符串。

mysql> select 'xxxyyy' regexp '^xx';+-----------------------+| 'xxxyyy' regexp '^xx' |+-----------------------+|           1 |+-----------------------+1 row in set (0.00 sec)

查詢xxxyyy字符串中是否以xx開頭,結果值為1,表示值為true,滿足條件。

($)字符

匹配字符串的結束位置,如“X^”表示以字母X結尾的字符串。

(.)字符

這個字符就是英文下的點,它匹配任何一個字符,包括回車、換行等。

(*)字符

星號匹配0個或多個字符,在它之前必須有內容。如:

mysql> select 'xxxyyy' regexp 'x*';

這個SQL語句,正則匹配為true。

(+)字符

加號匹配1個或多個字符,在它之前也必須有內容。加號跟星號的用法類似,只是星號允許出現0次,加號則必須至少出現一次。

(?)字符

問號匹配0次或1次。

實例:

現在根據上面的表,可以裝置各種不同類型的SQL查詢以滿足要求。在這里列出一些理解??紤]我們有一個表為person_tbl和有一個字段名為名稱:

查詢找到所有的名字以'st'開頭

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

查詢找到所有的名字以'ok'結尾

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

查詢找到所有的名字包函'mar'的字符串

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

查詢找到所有名稱以元音開始和'ok'結束 的

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

一個正則表達式中的可以使用以下保留字

^

所匹配的字符串以后面的字符串開頭

mysql> select "fonfo" REGEXP "^fo$"; -> 0(表示不匹配) mysql> select "fofo" REGEXP "^fo"; -> 1(表示匹配)

$

所匹配的字符串以前面的字符串結尾

mysql> select "fono" REGEXP "^fono$"; -> 1(表示匹配) mysql> select "fono" REGEXP "^fo$"; -> 0(表示不匹配) . 

匹配任何字符(包括新行)

mysql> select "fofo" REGEXP "^f.*"; -> 1(表示匹配) mysql> select "fonfo" REGEXP "^f.*"; -> 1(表示匹配) 

a*

匹配任意多個a(包括空串)

mysql> select "Ban" REGEXP "^Ba*n"; -> 1(表示匹配) mysql> select "Baaan" REGEXP "^Ba*n"; -> 1(表示匹配) mysql> select "Bn" REGEXP "^Ba*n"; -> 1(表示匹配)

a+

匹配任意多個a(不包括空串)

mysql> select "Ban" REGEXP "^Ba+n"; -> 1(表示匹配) mysql> select "Bn" REGEXP "^Ba+n"; -> 0(表示不匹配) 

a?

匹配一個或零個a

mysql> select "Bn" REGEXP "^Ba?n"; -> 1(表示匹配) mysql> select "Ban" REGEXP "^Ba?n"; -> 1(表示匹配) mysql> select "Baan" REGEXP "^Ba?n"; -> 0(表示不匹配)

de|abc

匹配de或abc

mysql> select "pi" REGEXP "pi|apa"; -> 1(表示匹配) mysql> select "axe" REGEXP "pi|apa"; -> 0(表示不匹配) mysql> select "apa" REGEXP "pi|apa"; -> 1(表示匹配) mysql> select "apa" REGEXP "^(pi|apa)$"; -> 1(表示匹配) mysql> select "pi" REGEXP "^(pi|apa)$"; -> 1(表示匹配) mysql> select "pix" REGEXP "^(pi|apa)$"; -> 0(表示不匹配)

(abc)*

匹配任意多個abc(包括空串)

mysql> select "pi" REGEXP "^(pi)*$"; -> 1(表示匹配) mysql> select "pip" REGEXP "^(pi)*$"; -> 0(表示不匹配) mysql> select "pipi" REGEXP "^(pi)*$"; -> 1(表示匹配) 

{1}
{2,3}

這是一個更全面的方法,它可以實現前面好幾種保留字的功能

a*

可以寫成a{0,}

a+

可以寫成a{1,}

a?

可以寫成a{0,1}

   在{}內只有一個整型參數i,表示字符只能出現i次;在{}內有一個整型參數i,后面跟一個“,”,表示字符可以出現i次或i次以上;在{}內只有一個整型參數i,后面跟一個“,”,再跟一個整型參數j,表示字符只能出現i次以上,j次以下(包括i次和j次)。其中的整型參數必須大于等于0,小于等于 RE_DUP_MAX(默認是255)。 如果有兩個參數,第二個必須大于等于第一個

[a-dX]

匹配“a”、“b”、“c”、“d”或“X”

[^a-dX]

匹配除“a”、“b”、“c”、“d”、“X”以外的任何字符。

“[”、“]”必須成對使用

mysql> select "aXbc" REGEXP "[a-dXYZ]"; -> 1(表示匹配) mysql> select "aXbc" REGEXP "^[a-dXYZ]$"; -> 0(表示不匹配) mysql> select "aXbc" REGEXP "^[a-dXYZ]+$"; -> 1(表示匹配) mysql> select "aXbc" REGEXP "^[^a-dXYZ]+$"; -> 0(表示不匹配) mysql> select "gheis" REGEXP "^[^a-dXYZ]+$"; -> 1(表示匹配) mysql> select "gheisa" REGEXP "^[^a-dXYZ]+$"; -> 0(表示不匹配)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久一区探花| 丝袜情趣国产精品| 国产精品伦子伦免费视频| 国产精品扒开腿爽爽爽视频| 日韩精品极品在线观看播放免费视频| 国产z一区二区三区| 97视频在线观看网址| 欧美成人免费在线观看| 亚洲国产精品一区二区久| 国产精品欧美亚洲777777| 国产欧美日韩免费| 亚洲区在线播放| 日韩电影在线观看中文字幕| 欧美精品免费看| 日韩欧美亚洲范冰冰与中字| 日韩在线观看av| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲精品99999| 91亚洲va在线va天堂va国| 国产福利精品av综合导导航| 日本一区二区三区在线播放| 欧美国产日本在线| 亚洲性生活视频| 欧美精品videosex极品1| 国产一区二区三区高清在线观看| 日韩在线视频免费观看高清中文| 精品视频在线导航| 欧美精品精品精品精品免费| 久久久久久欧美| 亚洲毛片在线免费观看| 亚洲激情 国产| 国产精品极品美女在线观看免费| 精品亚洲一区二区三区四区五区| 久久精品视频中文字幕| 亚洲а∨天堂久久精品喷水| 欧美亚洲成人网| 欧美成人精品在线播放| 久久久人成影片一区二区三区观看| 亚洲区免费影片| 久久夜色精品亚洲噜噜国产mv| 中文字幕少妇一区二区三区| 成人av番号网| 成人精品在线观看| 欧美电影免费观看网站| 亚洲影院色无极综合| 亚洲欧美另类自拍| 欧美亚洲日本网站| 亚洲欧美日韩国产成人| 欧美精品日韩www.p站| 91亚洲精品一区二区| 日韩av片电影专区| 国产精品成人久久久久| 午夜精品三级视频福利| 色偷偷9999www| 久久视频这里只有精品| 国内精品视频在线| 成人久久一区二区| 亚洲国产精品久久久久秋霞蜜臀| 中文字幕日韩有码| 国产香蕉一区二区三区在线视频| 久久久久久高潮国产精品视| 久久精品欧美视频| 欧美视频二区36p| 国产精品福利在线观看网址| 7777kkkk成人观看| 亚洲一区二区三区久久| 国产精品9999| 俺去了亚洲欧美日韩| 亚洲色图美腿丝袜| 国产精品久久激情| 国产91亚洲精品| 自拍偷拍免费精品| 国产91精品黑色丝袜高跟鞋| 亚洲成人xxx| 亚洲欧美日韩一区二区三区在线| 日本久久精品视频| 欧美日韩成人免费| 国产精品女人久久久久久| 日韩中文第一页| 中文字幕亚洲一区二区三区五十路| 亚洲黄色av网站| 韩日欧美一区二区| 一区二区福利视频| 色无极亚洲影院| 91免费高清视频| 久久亚洲综合国产精品99麻豆精品福利| 国产精品麻豆va在线播放| 久久亚洲精品成人| 久久夜精品va视频免费观看| 中文字幕欧美专区| 91中文字幕在线观看| 国产精品视频精品视频| 国产高清视频一区三区| 在线电影中文日韩| 国产精品久久久久久久久久小说| 欧美成人精品h版在线观看| 色偷偷噜噜噜亚洲男人的天堂| 精品国产美女在线| 欧美高清自拍一区| 国产精品日本精品| 日韩欧美在线播放| 久久久噜噜噜久久中文字免| 久久中国妇女中文字幕| 最新的欧美黄色| 色综合影院在线| 精品久久久久久中文字幕大豆网| 欧美高清第一页| 国产成人av在线| 狠狠综合久久av一区二区小说| 日韩激情第一页| 91av在线国产| 久久视频这里只有精品| 国产成人在线亚洲欧美| 欧美在线视频网| 久久国产精品影片| 国产美女直播视频一区| 热门国产精品亚洲第一区在线| 亚洲国产天堂久久国产91| 国产精品99久久99久久久二8| 欧美日韩国产精品一区二区不卡中文| 亚洲图片欧洲图片av| 亚洲激情视频网站| 亚洲综合在线做性| 91精品久久久久久久| 亚洲精品国产精品乱码不99按摩| 色七七影院综合| 成人亚洲欧美一区二区三区| 欧日韩不卡在线视频| 色婷婷综合成人av| 国产日韩换脸av一区在线观看| 国产精品久久久久久一区二区| 中文字幕欧美日韩在线| 亚洲第一色中文字幕| 91在线免费看网站| 精品美女永久免费视频| 国产精品免费视频xxxx| 国产精品久久国产精品99gif| 亚洲女性裸体视频| 欧美激情免费观看| 色777狠狠综合秋免鲁丝| 精品国产一区二区三区久久狼黑人| 国产一区二区三区免费视频| 国产精品免费视频久久久| 欧美一级高清免费| 久久国产精品久久久久| 精品久久久久久久大神国产| 亚洲欧美日韩在线一区| 国产在线一区二区三区| 在线视频欧美性高潮| 黑人精品xxx一区| 亚洲第一网站免费视频| 亚洲丁香婷深爱综合| 欧美成人激情视频免费观看| 成人xvideos免费视频| 不卡av电影在线观看| 亚洲福利精品在线| 国产精品96久久久久久又黄又硬| 国产精品96久久久久久又黄又硬| 91美女片黄在线观看游戏| 91丨九色丨国产在线| 久久久人成影片一区二区三区观看| xxxxx成人.com| 亚洲精品资源美女情侣酒店| www.欧美三级电影.com|