mysql 中的正規表示式

2021-09-27 08:37:00 字數 1378 閱讀 1723

參考原文:12.5.2 regular expressions 名稱

描述not regexp

regexp的反義詞

regexp

regexp_like()

字串是否匹配正規表示式

rlike

字串是否匹配正規表示式

regexp_instr()

符合正則的子字串的初始位置

regexp_replace()

替換匹配正則的字串

regexp_substr()

返回匹配正則的字串

符號匹配例項^

匹配字串開頭

$匹配字串結尾

.任意字元,除了回車\r和換行\n,如果指定多行,也能匹配。

[…]匹配中括號中的 任意乙個。

[a-z]

-表示範圍

[^a-z]

^表示不再這個範圍內

數量匹配

a表示匹配長度在1到10 之間

a表示匹配長度大於等於3

a表示匹配長度在10之內

a表示匹配長度是5個

a?表示匹配長度是1個或零個

a*表示匹配長度是0個或多個

a+表示匹配長度是乙個或者以上

a1 | b222

滿足二者之一

字元類[:character_class:]

字元類含義alnum

字母和數字

alpha

字母,類似\w+

blank

空格cntrl

control characters

digit

數字, 類似於\d+

graph

graphic characters

lower

小寫字母

print

graphic or space characters

punct

標點符號

space

空格,tab, 回車,換行

upper

大寫字母

xdigit

16進製制的數字,包括0-9, a-f

字串 [not] regexp|rlike 正規表示式,返回0或者1

兩個關鍵字,是regexp_like()的別名,效果一樣

regexp_like(expr, pat[, match_type])

引數含義

expr

需要匹配的字串

pat正規表示式

match_type

匹配型別

c大小寫區別

i不區別大小寫

m多行匹配,識別行結束符, 可以在正規表示式中使用(?m)

n(.)能匹配行結束符號

u僅匹配unix的行結束符

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

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

MySQL中的正規表示式

實現更加複雜 繁瑣的查詢。匹配字元開始的部分 select from 表 where name regexp t 匹配字串末尾 select from 表 where name regexp g 代表任意字元,與like 下劃線 效果類似 字元集合 匹配字元集合中的任何乙個字元 匹配name中有o或...

mysql 正規表示式

已知mysql可以通過 like 來進行模糊匹配。mysql 同樣也支援其他正規表示式的匹配,mysql中使用 regexp 操作符來進行正規表示式匹配。例項 查詢name欄位中以 st 為開頭的所有資料 mysql select name from person tbl where name re...