婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > mysql正則表達(dá)式(regexp和rlike)的搜索功能實(shí)例分析

mysql正則表達(dá)式(regexp和rlike)的搜索功能實(shí)例分析

熱門標(biāo)簽:400電話申請(qǐng)信用卡 萊西市地圖標(biāo)注 常州網(wǎng)絡(luò)外呼系統(tǒng)開發(fā) 走過(guò)哪個(gè)省地圖標(biāo)注 巫師三血與酒地圖標(biāo)注 在哪里申請(qǐng)400電話 外呼系統(tǒng)電銷受騙 安徽ai電話電銷機(jī)器人有效果嗎 銷售語(yǔ)音電話機(jī)器人

本文實(shí)例講述了mysql正則表達(dá)式(regexp和rlike)的搜索功能。分享給大家供大家參考,具體如下:

我們知道正則表達(dá)式是描述搜索模式的特殊字符串。 它是一個(gè)強(qiáng)大的工具,為我們提供一種簡(jiǎn)潔靈活的方法來(lái)識(shí)別基于模式的文本字符,例如字符,單詞等。例如,我們可以使用正則表達(dá)式來(lái)搜索電子郵件,IP地址,電話號(hào)碼,社會(huì)安全號(hào)碼或具有特定模式的任何內(nèi)容。正則表達(dá)式可以由正則表達(dá)式處理器解釋的自己的語(yǔ)法,正則表達(dá)式廣泛應(yīng)用于從編程語(yǔ)言到數(shù)據(jù)庫(kù)(包括MySQL)大部分平臺(tái)。使用正則表達(dá)式的優(yōu)點(diǎn)是,不限于在like運(yùn)算符中基于具有百分號(hào)(%)和下劃線(_)的固定模式搜索字符串。 使用正則表達(dá)式,有更多的元字符來(lái)構(gòu)造靈活的模式。

了解了這些我們是不是想要來(lái)試試水呢???廢話不多說(shuō),MySQL允許使用REGEXP運(yùn)算符在SQL語(yǔ)句中匹配模式,所以,我們來(lái)看下,正則再where子句中的語(yǔ)法格式:

SELECT 
 column_list
FROM
 table_name
WHERE
 string_column REGEXP pattern;

這條sql中執(zhí)行string_column與模式pattern匹配,如果string_column中的值與模式pattern匹配,則WHERE子句中的表達(dá)式將返回1,否則返回0。如果string_column或pattern為NULL,則結(jié)果為NULL。除了REGEXP運(yùn)算符之外,可以使用RLIKE運(yùn)算符,這是REGEXP運(yùn)算符的同義詞。其中,REGEXP運(yùn)算符的否定形式是NOT REGEXP。

完事我們來(lái)看個(gè)實(shí)例哈,假設(shè)想找出名字以字母A,B或C開頭的產(chǎn)品。可以使用select語(yǔ)句中的正則表達(dá)式如下:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP '^(A|B|C)'
ORDER BY productname;

執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果:

+--------------------------------+
| productname     |
+--------------------------------+
| America West Airlines B757-200 |
| American Airlines: B767-300 |
| American Airlines: MD-11S  |
| ATA: B757-300     |
| Boeing X-32A JSF    |
| Collectable Wooden Train  |
| Corsair F4U ( Bird Cage)  |
+--------------------------------+
7 rows in set

該模式允許查詢名稱以A,B或C開頭的產(chǎn)品,其中字符^表示從字符串的開頭匹配,完事字符|如果無(wú)法匹配,則搜索替代方法。下表說(shuō)明了正則表達(dá)式中一些常用的元字符和構(gòu)造:

元字符 行為
^ 匹配搜索字符串開頭處的位置
$ 匹配搜索字符串末尾的位置
. 匹配任何單個(gè)字符
[…] 匹配方括號(hào)內(nèi)的任何字符
[^…] 匹配方括號(hào)內(nèi)未指定的任何字符
匹配p1或p2模式
* 匹配前面的字符零次或多次
+ 匹配前一個(gè)字符一次或多次
{n} 匹配前幾個(gè)字符的n個(gè)實(shí)例
{m,n} 從m到n個(gè)前一個(gè)字符的實(shí)例匹配

我們?cè)賮?lái)查找名稱以a開頭的產(chǎn)品,我們?cè)诿Q開頭使用“^”進(jìn)行匹配,如下查詢語(yǔ)句:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP '^a';

執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果:

+--------------------------------+
| productname     |
+--------------------------------+
| American Airlines: B767-300 |
| America West Airlines B757-200 |
| ATA: B757-300     |
| American Airlines: MD-11S  |
+--------------------------------+
4 rows in set

如果要使REGEXP運(yùn)算符以區(qū)分大小寫的方式比較字符串,可以使用BINARY運(yùn)算符將字符串轉(zhuǎn)換為二進(jìn)制字符串。因?yàn)镸ySQL比較二進(jìn)制字節(jié)逐字節(jié)而不是逐字符。 這允許字符串比較區(qū)分大小寫。例如,以下語(yǔ)句只匹配開頭為大寫“C”的產(chǎn)品名稱:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP BINARY '^C';

執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果:

+--------------------------+
| productname    |
+--------------------------+
| Collectable Wooden Train |
| Corsair F4U ( Bird Cage) |
+--------------------------+
2 rows in set

要找到以f結(jié)尾的產(chǎn)品,我們可以使用'$f‘來(lái)匹配字符串的末尾:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP 'f$';

執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果:

+------------------+
| productname  |
+------------------+
| Boeing X-32A JSF |
+------------------+
1 row in set

要查找其名稱包含“ford”的產(chǎn)品,就要使用以下查詢:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP 'ford';

執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果:

+----------------------------------+
| productname      |
+----------------------------------+
| 1968 Ford Mustang    |
| 1969 Ford Falcon     |
| 1940 Ford Pickup Truck   |
| 1911 Ford Town Car    |
| 1932 Model A Ford J-Coupe  |
| 1926 Ford Fire Engine   |
| 1913 Ford Model T Speedster  |
| 1934 Ford V8 Coupe    |
| 1903 Ford Model A    |
| 1976 Ford Gran Torino   |
| 1940s Ford truck     |
| 1957 Ford Thunderbird   |
| 1912 Ford Model T Delivery Wagon |
| 1940 Ford Delivery Sedan   |
| 1928 Ford Phaeton Deluxe   |
+----------------------------------+
15 rows in set

要查找名稱只包含10個(gè)字符的產(chǎn)品,可以使用'^‘和'$‘來(lái)匹配產(chǎn)品名稱的開頭和結(jié)尾,并重復(fù){10}次任何字符.,作為以下查詢:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP '^.{10}$';

執(zhí)行上面查詢語(yǔ)句,得到以下結(jié)果:

+-------------+
| productname |
+-------------+
| HMS Bounty |
| Pont Yacht |
+-------------+
2 rows in set

其實(shí)吧,這個(gè)查詢方式是固定的,可變的是你寫的正則,所以具體咋用,就要看各位小伙伴的能力了哦。

好啦,今天就到這里了。

PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

您可能感興趣的文章:
  • 老生常談MYSQL模式匹配 REGEXP和like的用法
  • MySQL中使用replace、regexp進(jìn)行正則表達(dá)式替換的用法分析
  • mysql模糊查詢like與REGEXP的使用詳細(xì)介紹
  • MySQL中REGEXP正則表達(dá)式使用大全
  • mysql模糊查詢like和regexp小結(jié)
  • mysql數(shù)據(jù)庫(kù)replace、regexp的用法
  • MySQL使用正則表達(dá)式進(jìn)行查詢操作經(jīng)典實(shí)例總結(jié)
  • Mysql語(yǔ)法、特殊符號(hào)及正則表達(dá)式的使用詳解
  • MySql中使用正則表達(dá)式查詢的方法
  • mysql 正則表達(dá)式查詢含有非數(shù)字和字符的記錄
  • 簡(jiǎn)述MySQL 正則表達(dá)式
  • MYSQL使用正則表達(dá)式過(guò)濾數(shù)據(jù)
  • mysql中如何使用正則表達(dá)式查詢
  • MySQL正則表達(dá)式入門教程
  • MySql官方手冊(cè)學(xué)習(xí)筆記2 MySql的模糊查詢和正則表達(dá)式
  • coolcode轉(zhuǎn)SyntaxHighlighter與Mysql正則表達(dá)式實(shí)現(xiàn)分析
  • MySQL 字符串模式匹配 擴(kuò)展正則表達(dá)式模式匹配
  • mysql正則表達(dá)式 LIKE 通配符
  • MySql中正則表達(dá)式的使用方法描述
  • 在MySQL中用正則表達(dá)式替換數(shù)據(jù)庫(kù)中的內(nèi)容的方法
  • Mysql中正則表達(dá)式Regexp常見用法

標(biāo)簽:陽(yáng)江 河北 果洛 來(lái)賓 鞍山 黃石 煙臺(tái) 赤峰

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql正則表達(dá)式(regexp和rlike)的搜索功能實(shí)例分析》,本文關(guān)鍵詞  mysql,正則,表達(dá)式,regexp,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql正則表達(dá)式(regexp和rlike)的搜索功能實(shí)例分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于mysql正則表達(dá)式(regexp和rlike)的搜索功能實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 玛曲县| 滦南县| 绵阳市| 阳山县| 皋兰县| 青龙| 昭觉县| 方城县| 犍为县| 白朗县| 蒙自县| 霍州市| 石楼县| 宁安市| 海盐县| 丹东市| 江阴市| 北安市| 乌兰察布市| 三穗县| 志丹县| 和平区| 石台县| 旅游| 潼南县| 兴化市| 卓尼县| 定南县| 江川县| 遂川县| 晋中市| 大洼县| 洛隆县| 临泽县| 夏河县| 寿阳县| 临澧县| 都昌县| 洛隆县| 四川省| 高雄市|