mysql正規表示式學習

2021-08-18 09:06:43 字數 2128 閱讀 4876

1,匹配任意乙個字元

select prood_name

from products

where pro_name regexp '.000'

order by prod_name;

返回 'csdn 5000' 'csdn 6000'

這裡使用了正規表示式.000。.是正規表示式乙個字元,它表示匹配任意乙個字元,因此,5000,6000都匹配且返回

2,進行or匹配

select prood_name

from products

where pro_name regexp '1000|2000'

order by prod_name;

1000和2000都匹配並返回

3,匹配幾個字元之一

select prood_name

from products

where pro_name regexp '[123] aaa'

order by prod_name;

返回 1 aaa, 2 aaa, 3aaa 

這裡使用了正規表示式[123]。它的意思是匹配1或2或3

4,匹配範圍

select prood_name

from products

where pro_name regexp '[1-5] aaa'

order by prod_name;

返回 1aaa,2aaa,3aaa,4aaa,5aaa

這是[1-5]是匹配1-5之間的的數

5,匹配多個例項

select prood_name

from products

where pro_name regexp '[[:digit:]]'

order by prod_name;

*匹配前面的子表示式零次或多次。例如,zo* 能匹配 「z」 以及 「zoo」。* 等價於。

+匹配前面的子表示式一次或多次。例如,』zo+』 能匹配 「zo」 以及 「zoo」,但不能匹配 「z」。+ 等價於 。

?匹配前面的子表示式零次或一次。例如,」do(es)?」 可以匹配 「do」 或 「does」 中的」do」 。? 等價於 。

n 是乙個非負整數。匹配確定的 n 次。例如,』o』 不能匹配 「bob」 中的 『o』,但是能匹配 「food」 中的兩個 o。

n 是乙個非負整數。至少匹配n 次。例如,』o』 不能匹配 「bob」 中的 『o』,但能匹配 「foooood」 中的所有 o。』o』 等價於 『o+』。』o』 則等價於 『o*』。

m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,」o」 將匹配 「fooooood」 中的前三個 o。』o』 等價於 『o?』。請注意在逗號和兩個數之間不能有空格。

[[:digit:]]匹配任意數字,因為它是數字乙個集合,確切要求它前面的字元出現4次。

6,匹配字元類

[[:alpha:]] 任何字母 

[[:digit:]] 任何數字 

[[:alnum:]] 任何字母和數字 

[[:space:]] 任何白字元 

[[:upper:]] 任何大寫字母 

[[:lower:]] 任何小寫字母 

[[:punct:]] 任何標點符號 

[[:xdigit:]] 任何16進製制的數字,相當於[0-9a-fa-f] 

7,定位元字元

1.「^

」匹配字串的開始位置,準確來講應該是一行的開始位置。如果設定了mutiline多行屬性,則也對\n之後和\r之後的位置進行匹配。

譬如:正規表示式^ab

可以匹配abc之中的ab,但不能匹配cabc中的ab,原因在於cabc之中的ab之前有c而並非是字串開始位置。

2.「$」

匹配字串的末尾結束位置,準確來講應該是一行的結束位置。如果設定了mutiline多行屬性,則也對\n之前和\r之前的位置進行匹配。

譬如:正規表示式cd$

可以匹配acd之中的cd,但不能匹配acda之中的cd,原因在於acda之中的cd之後有多餘字元a,並不是字串結束。同時關注mutiline屬性設定與否的不同。

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

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

mysql 正規表示式

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

MySQL正規表示式

在前面我們已經看到了mysql的模式匹配 like mysql支援另一種型別的模式匹配的操作基於正規表示式和正規表示式運算子。如果知道php或perl,那麼它是非常簡單的,因為這匹配非常相似於指令碼正規表示式。以下是模式的 其可以連同regexp運算子使用。模式什麼樣的模式匹配 開始的乙個字串 結束...