Mysql使用正規表示式 regexp

2021-07-09 12:34:34 字數 1854 閱讀 2247

正規表示式是用某種模式去匹配一類字串的一種方式,其查詢能力要遠在通配字元之上。

在mysql中使用regexp關鍵字來匹配查詢正規表示式。

demo

select * from tablename where columnname regexp 『***』;

column 後面用 regexp 加乙個正規表示式。。

正規表示式就不寫了

網上找了些demo

*模式字元 *

其含義為匹配以特定字元或者字串開頭的記錄。

例如:使用「^」表示式查詢tb1中major欄位以m開頭的記錄,則語句如下:

select major from tb1 where major regexp 『^m』;

模式字元 $

其含義為匹配以特定字元或者字串結尾的記錄。

例如:使用「$」表示式查詢tb1中major欄位以c結尾的記錄,則語句如下:

select major from tb1 where major regexp 『c$』;

模式字元 .

其含義為匹配字串中任意乙個字元,包括回車或者換行等。

例如:使用「.」表示式查詢tb1中number欄位包含4的記錄,則語句如下:

select number from tb1 where major regexp 『4.』;

(我舉得這種情況 . 可以省略)

模式字元 [字元集合]

其含義為匹配字元集合中任意乙個字元

例如:使用「[ ]」表示式查詢tb1中number欄位包含456的記錄,則語句如下:

select number from tb1 where major regexp 『[456]』;

模式字元 s1|s2|s3

其含義為匹配 s1、s2、s3中的任意乙個字串

例如:查詢tb1中major欄位包含a、p或者mic字元中任意乙個字元的記錄,則語句如下:

select * from tb1 where major regexp 『a|p|mic』;

模式字元 *

其含義為匹配多個該字元之前的字元,包括0和1個。

例如:使用「*」表示式查詢tb1中major欄位中m字元前出現c字元的記錄,則語句如下:

select major from tb1 where major regexp 『c*m』;

模式字元 +

其含義為匹配多個該字元之前的字元,包括 1個。

例如:使用「+」表示式查詢tb1中major欄位中m字元前至少出現乙個c字元的記錄,則語句如下:

select major from tb1 where major regexp 『c+m』;

模式字元 字串

其含義為匹配字元出現n次。

例如:使用「」表示式查詢tb1中major欄位中連續出現2次m的記錄,則語句如下:

select major from tb1 where major regexp 『m』;

模式字元 字串

其含義為匹配字元至少出現m次,做多n次。

例如:使用「」表示式查詢tb1中major欄位中連續出現2次m的記錄,最多出現3次m字元的記錄,則語句如下:

select major from tb1 where major regexp 『a』;

*最後就是把以前的

where columnname=』dddd』

的 等於 改為 regexp 後面加個正規表示式就行*

mysql正規表示式 MySQL正規表示式

正規表示式是為複雜搜尋指定模式的強大方式。正規表示式描述了一組字串。最簡單的正規表示式是不含任何特殊字元的正規表示式。例如,正規表示式hello匹配hello。非平凡的正規表示式採用了特殊的特定結構,從而使得它們能夠與1個以上的字串匹配。例如,正規表示式hello word匹配字串hello或字串w...

JavaScript中的正規表示式RegExp

正規表示式的兩種表示方法 字面量形式和建構函式形式 var reg cat g var reg new regexp cat g 可見無論哪一種方式都指明了正規表示式都由兩部分組成 模式和標誌。標誌分三種 g global i ignore m multiline global 匹配所有符合條件的字...

MySql 使用正規表示式

mysql 用where 子句對正規表示式提供了支援,允許你指定正規表示式,注意mysql僅支援多數正規表示式實現的乙個很小的子集。select prod name from products where prod name regexp 1000 mysql 中正規表示式匹配不區分大小寫,為區分大...