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

Mysql中正則表達式Regexp常見用法及說明

 更新時間:2022年12月12日 10:32:34   作者:數據分析師之家  
這篇文章主要介紹了Mysql中正則表達式Regexp常見用法及說明,具有很好的參考價值,希望對大家有所幫助。

Mysql中Regexp常見用法

模糊匹配,包含特定字符串

# 查找content字段中包含“車友俱樂部”的記錄
select * from club_content where content regexp '車友俱樂部'

# 此時的regexp與like的以下用法是等同的
select * from club_content where content like '%車友俱樂部%'

模糊匹配,以特定字符串開頭

# 查找content字段中以“車友”開頭的記錄
select * from club_content where content regexp '^車友'

# 此時的regexp與like的以下用法是等同的
select * from club_content where content like '車友%'

模糊匹配,以特定字符串結尾

# 查找content字段中以“車友”結尾的記錄
select * from club_content where content regexp '車友$'

# 此時的regexp與like的以下用法是等同的
select * from club_content where content like '%車友'

模糊匹配,或關系

# 查找content字段中包含“心得”、“分享”或“技術貼”
select * from club_content where content ?REGEXP '心得|分享|技術貼'

模糊匹配,不包含單個字符

# 查找content字段中不包含“車”字、“友”字的記錄
select * from club_content where content ?REGEXP [^車友]

這個結果跑出來一看大吃一驚,竟然把所有記錄給跑出來,這是為什么呢?

因為一旦加了這個方括號"[]",它就把里面的內容拆成單個的字符再匹配,它會逐個字符去匹配判斷是不是等于“車”,或者是不是等于“友“,返回的結果是一組0、1的邏輯值。

如果想匹配不包含特定字符串,該怎么實現(xiàn)呢?

模糊匹配,不包含特定字符串

# 查找content字段不包含“車友”字符串的記錄
select * from club_content where content not REGEXP '車友'

Regexp關鍵字及正則表達式的常用通配符

在Mysql中使用Regexp關鍵字來指定正則表達式的匹配內容。

語法:

字段 regexp ‘匹配字符’;

MySQL中使用 REGEXP 操作符來進行正則表達式匹配。根據正則表達式的規(guī)則,用來查詢或者替換符合指定要求的內容。

–select <字段> from 表 where <字段> REGEXP '通配符/字符';

通配符說明例子
^匹配輸入字符串的開始位置。如果設置了 RegExp 對象的 Multiline 屬性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置'^b’匹配以字母 b 開頭的字符串
$匹配文本的結束字符,如果設置了 RegExp 對象的 Multiline 屬性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置‘st$’ 匹配以 st 結尾的字符串
.匹配除 “\n” 之外的任何單個字符。要匹配包括 ‘\n’ 在內的任何字符,請使用像 ‘[.\n]’ 的模式。‘b.t’ 匹配任何 b 和 t 之間有一個字符
|或,多匹配符鏈接‘z|food’ 能匹配 “z” 或 “food”。’(z|f)ood’ 則匹配 “zood” 或 “food”。
*匹配零個或多個在它前面的字符zo* 能匹配 “z” 以及 “zoo”。* 等價于{0,}
+匹配前面的字符/子表達式 1 次或多次‘ba+’ 匹配以 b 開頭,后面至少緊跟一個 a;‘zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等價于 {1,}。
<字符串>匹配包含指定字符的文本‘fa’ 匹配包含‘fa’的文本
[字符集合]匹配字符集合中的任何一個字符‘[ar]’ 匹配 a 或者 r。
[^]負值字符集合; 匹配不包含在括號中的任何字符‘[^abc]’ 匹配任何不包含 a、b 或 c 的字符串
字符串{n,}n 是一個非負整數.匹配前面的字符串n 次‘e{2}’ 匹配 2 個或多個的 e, 例如:feed
字符串 {n,m}m 和 n 均為非負整數,其中n <= m。匹配前面的字符串 n至 m 次‘b{2,4}’ 匹配最少 2 個,最多 4 個,例如baby

示例:

#匹配符合要求的多個字符/字符串
--字符*和+都可以匹配多個該符號之前的字符。不同的是,,而*可以表示 0 個字符。
'--select <字段> from 表 where   <字段> REGEXP  '字符1+'; '--+結果匹配‘字符1'一次或多次
--select <字段> from 表 where   <字段> REGEXP  '^字符1*'; --匹配‘字符1' 0次或多次
#匹配指定的字符/字符串,需要匹配多個的場合,使用‘|'分號隔開。
'--select <字段> from 表 where   <字段> REGEXP  '字符1|字符2|字符3*'; 
#查詢以特定字符或字符串開頭的數據
'--select <字段> from 表 where   <字段> REGEXP  '^字符';
#匹配指定字符以外的字符
'--select <字段> from 表 where   <字段> REGEXP  '[^字符1~字符3]*'; 
#查詢以特定字符或字符串結尾的數據
'--select <字段> from 表 where   <字段> REGEXP  '字符$';
#替代字符串中的任意一個字符,例如:a.b =acb,adb
'--select <字段> from 表 where   <字段> REGEXP  '字符1.字符2';
'#查詢可以匹配指定字符串中的任意一個字符的字符串
'--select <字段> from 表 where   <字段> REGEXP  '[字符1字符2字符3]*'; 
'#查詢陪陪指定集合的區(qū)間內容的數據
#[a-z]”表示從 a~z 的所有字母;“[0-9]”表示從 0~9 的所有數字;
“[a-z0-9]”表示包含所有的小寫字母和數字;“[a-zA-Z]”表示匹配所有字符。
'--select <字段> from 表 where   <字段> REGEXP  '[字符1~字符3]*'; 
#使用{n,}或者{n,m}來指定字符串連續(xù)出現(xiàn)的次數
'--select <字段> from 表 where   <字段> REGEXP  '匹配的字符{匹配次數,}*'; 
例: --billy,silaly,tilly 
'--select  name from  namestd where name  regexp 'l{2,};
'--select <字段> from 表 where   <字段> REGEXP  '匹配的字符{匹配次數1,匹配次數2}'; 
'例:--LiMing,Lily,LiPingPing  匹配字母“i” 一至三次
'--select  name from  namestd where name  regexp 'i{1,3}; 

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 淺談MySQL中float、double、decimal三個浮點類型的區(qū)別與總結

    淺談MySQL中float、double、decimal三個浮點類型的區(qū)別與總結

    這篇文章主要介紹了淺談MySQL中float、double、decimal三個浮點類型的區(qū)別與總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Mysql環(huán)境變量配置的詳細圖文教程

    Mysql環(huán)境變量配置的詳細圖文教程

    如果第一次安裝好Mysql后,利用DOS窗口可能無法打開Mysql,此時大概率是未配置好Mysql的環(huán)境變量,下面這篇文章主要給大家介紹了關于Mysql環(huán)境變量配置的相關資料,需要的朋友可以參考下
    2022-08-08
  • 詳解MySqlBulkLoader的使用

    詳解MySqlBulkLoader的使用

    這篇文章主要介紹了MySqlBulkLoader的使用?,本文分兩部分來寫,第一部分寫一下MySqlBulkLoader的使用,第二部分記錄使用過程中出現(xiàn)的問題,需要的朋友可以參考下
    2022-07-07
  • MySQL存儲過程的異常處理方法

    MySQL存儲過程的異常處理方法

    這篇文章主要介紹了MySQL存儲過程的異常處理方法,可實現(xiàn)有效調試MySQL存儲過程處理結果的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • mysql命令行下用戶管理方法分享

    mysql命令行下用戶管理方法分享

    如果有mysql管理工具phpmyadmin的話,我們可以通過圖形畫界面來對用戶進行管理,但是如果沒有phpmyadmin這樣的管理工具怎么辦呢
    2012-07-07
  • MySQL基礎教程之事務異常情況

    MySQL基礎教程之事務異常情況

    事務(Transaction)是訪問和更新數據庫的程序執(zhí)行單元;事務中可能包含一個或多個sql語句,這些語句要么都執(zhí)行,要么都不執(zhí)行,下面這篇文章主要給大家介紹了關于MySQL基礎教程之事務異常情況的相關資料,需要的朋友可以參考下
    2022-10-10
  • MySQL left join操作中on和where放置條件的區(qū)別介紹

    MySQL left join操作中on和where放置條件的區(qū)別介紹

    這篇文章主要給大家介紹了關于MySQL left join操作中on和where放置條件的區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2019-01-01
  • mysql關聯(lián)子查詢的一種優(yōu)化方法分析

    mysql關聯(lián)子查詢的一種優(yōu)化方法分析

    這篇文章主要介紹了mysql關聯(lián)子查詢的一種優(yōu)化方法,結合實例形式分析了針對MySQL的關聯(lián)子查詢進行優(yōu)化的技巧,需要的朋友可以參考下
    2016-04-04
  • 常見的十種SQL語句性能優(yōu)化策略詳解

    常見的十種SQL語句性能優(yōu)化策略詳解

    這篇文章主要介紹了常見的十種SQL語句性能優(yōu)化策略詳解,SQL語句性能優(yōu)化是提高數據庫查詢效率的關鍵步驟,可以減少查詢時間,提高系統(tǒng)響應速度,本文將介紹一些常見的SQL語句性能優(yōu)化技巧,包括索引的使用、合理的查詢條件、避免全表掃描等,需要的朋友可以參考下
    2023-10-10
  • phpMyAdmin下將Excel中的數據導入MySql的圖文方法

    phpMyAdmin下將Excel中的數據導入MySql的圖文方法

    使用phpMyAdmin將Excel中的數據導入MySql,需要將execl導入到mysql數據庫的朋友可以參考下。
    2010-08-08

最新評論