MariaDB 正則表達(dá)式

2022-08-16 15:30 更新

除了LIKE子句提供的模式匹配之外,MariaDB通過(guò)REGEXP運(yùn)算符提供基于正則表達(dá)式的匹配。 運(yùn)算符基于給定模式對(duì)字符串表達(dá)式執(zhí)行模式匹配。

MariaDB 10.0.5引入了PCRE Regular Expressions,這大大增加了匹配范圍,如遞歸模式,前瞻斷言等等。

查看下面給出的標(biāo)準(zhǔn)REGEXP運(yùn)算符語(yǔ)法的使用 -

SELECT column FROM table_name WHERE column REGEXP '[PATTERN]';

REGEXP返回1表示模式匹配,或0表示沒(méi)有模式匹配。

相反的選項(xiàng)以NOT REGEXP的形式存在。 MariaDB還提供REGEXP和NOT REGEXP,RLIKE和NOT RLIKE的同義詞,它們是出于兼容性原因而創(chuàng)建的。

比較的模式可以是文字字符串或其他內(nèi)容,如表列。 在字符串中,它使用C轉(zhuǎn)義語(yǔ)法,所以加倍任何“\”字符。 REGEXP也是不區(qū)分大小寫(xiě)的,二進(jìn)制字符串除外。

下面給出了可以使用的可能模式的表格 -

S.No圖案和說(shuō)明
1

^

它匹配字符串的開(kāi)頭。

2

$

它匹配字符串的結(jié)尾。

3

.

它匹配單個(gè)字符。

4

[...]

它匹配括號(hào)中的任何字符。

5

[^ ...]

它匹配括號(hào)中未列出的任何字符。

6

P1 | P2 | P3

它匹配任何模式。

7

*

它匹配前面元素的0個(gè)或多個(gè)實(shí)例。

8

+

它匹配前一個(gè)元素的1個(gè)或多個(gè)實(shí)例。

9

{N}

它匹配前面元素的n個(gè)實(shí)例。

10

{M,N}

它匹配m到前面元素的n個(gè)實(shí)例。

查看下面給出的模式匹配示例 - 

以“pr開(kāi)頭的產(chǎn)品 -

SELECT name FROM product_tbl WHERE name REGEXP '^pr';

以“na”結(jié)尾的產(chǎn)品 -

SELECT name FROM product_tbl WHERE name REGEXP 'na$';

以元音開(kāi)頭的產(chǎn)品 -

SELECT name FROM product_tbl WHERE name REGEXP '^[aeiou]';

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)