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

Mysql中正則表達(dá)式Regexp常見用法及說明

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

Mysql中Regexp常見用法

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

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

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

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

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

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

模糊匹配,以特定字符串結(jié)尾

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

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

模糊匹配,或關(guān)系

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

模糊匹配,不包含單個(gè)字符

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

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

因?yàn)橐坏┘恿诉@個(gè)方括號"[]",它就把里面的內(nèi)容拆成單個(gè)的字符再匹配,它會(huì)逐個(gè)字符去匹配判斷是不是等于“車”,或者是不是等于“友“,返回的結(jié)果是一組0、1的邏輯值。

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

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

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

Regexp關(guān)鍵字及正則表達(dá)式的常用通配符

在Mysql中使用Regexp關(guān)鍵字來指定正則表達(dá)式的匹配內(nèi)容。

語法:

字段 regexp ‘匹配字符’;

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

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

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

示例:

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

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 定時(shí)備份 Mysql并上傳到七牛的方法

    定時(shí)備份 Mysql并上傳到七牛的方法

    常見的 MySQL 數(shù)據(jù)備份方式有,直接打包復(fù)制對應(yīng)的數(shù)據(jù)庫或表文件(物理備份)、mysqldump 全量邏輯備份、xtrabackup 增量邏輯備份等。這篇文章主要介紹了定時(shí)備份 MySQL 并上傳到七牛 ,需要的朋友可以參考下
    2018-10-10
  • 如何使用Maxwell實(shí)時(shí)同步mysql數(shù)據(jù)

    如何使用Maxwell實(shí)時(shí)同步mysql數(shù)據(jù)

    這篇文章主要介紹了如何使用Maxwell實(shí)時(shí)同步mysql數(shù)據(jù),幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-04-04
  • Mysql大小寫敏感的問題

    Mysql大小寫敏感的問題

    這篇文章主要介紹了Mysql大小寫敏感的問題的相關(guān)資料,需要的朋友可以參考下
    2015-03-03
  • MySQL實(shí)戰(zhàn)窗口函數(shù)SQL分析班級學(xué)生考試成績及生活消費(fèi)

    MySQL實(shí)戰(zhàn)窗口函數(shù)SQL分析班級學(xué)生考試成績及生活消費(fèi)

    這篇文章主要為大家介紹了MySQL實(shí)戰(zhàn),利用窗口函數(shù)SQL來分析班級學(xué)生的考試成績及生活消費(fèi)的示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • Navicat異地自動(dòng)備份MySQL方法詳解(圖文)

    Navicat異地自動(dòng)備份MySQL方法詳解(圖文)

    Navicat異地自動(dòng)備份MySQL方法詳解,使用Navicat的需要備份mysql的朋友也方便了
    2012-01-01
  • mysql中datetime類型設(shè)置默認(rèn)值方法

    mysql中datetime類型設(shè)置默認(rèn)值方法

    下面小編就為大家分享一篇mysql中datetime類型設(shè)置默認(rèn)值方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • MySql索引和事務(wù)定義到使用全面涵蓋

    MySql索引和事務(wù)定義到使用全面涵蓋

    這篇文章主要介紹了MySQL數(shù)據(jù)庫索引事務(wù),索引是為了加速對表中數(shù)據(jù)行的檢索而創(chuàng)建的一種分散的存儲(chǔ)結(jié);事物是屬于計(jì)算機(jī)中一個(gè)很廣泛的概念,一般是指要做的或所做的事情,下面我們就一起進(jìn)入文章了解具體內(nèi)容吧
    2022-07-07
  • Mysql 分批加索引的詳細(xì)方法

    Mysql 分批加索引的詳細(xì)方法

    文章主要介紹了在生產(chǎn)環(huán)境中為千萬級數(shù)據(jù)表分批次創(chuàng)建索引的策略和方法,包括使用臨時(shí)表、分區(qū)表、ONLINE選項(xiàng)、分批ALTER TABLE、pt-online-schema-change工具等,并提供了詳細(xì)的步驟和注意事項(xiàng),感興趣的朋友一起看看吧
    2024-12-12
  • MySQL存儲(chǔ)引擎應(yīng)用場景MyISAM?vs?InnoDB優(yōu)勢選擇

    MySQL存儲(chǔ)引擎應(yīng)用場景MyISAM?vs?InnoDB優(yōu)勢選擇

    這篇文章主要為大家介紹了MySQL存儲(chǔ)引擎應(yīng)用場景MyISAM?vs?InnoDB優(yōu)勢選擇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • pt-kill 常用殺進(jìn)程參數(shù)介紹

    pt-kill 常用殺進(jìn)程參數(shù)介紹

    這篇文章主要介紹了pt-kill 常用殺進(jìn)程參數(shù)介紹,需要的朋友可以參考下
    2016-04-04

最新評論