📜  MariaDB-正则表达式

📅  最后修改于: 2020-11-27 05:34:16             🧑  作者: Mango


除了LIKE子句中可用的模式匹配之外,MariaDB还通过REGEXP运算符提供基于正则表达式的匹配。运算符基于给定的模式对字符串表达式执行模式匹配。

MariaDB 10.0.5引入了PCRE正则表达式,这极大地增加了与递归模式,超前断言等区域匹配的范围。

查看下面给出的标准REGEXP运算符语法的使用-

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

REGEXP返回1表示模式匹配,否则返回0。

相反的选项以NOT REGEXP的形式存在。 MariaDB还提供了出于兼容性原因而创建的REGEXP和NOT REGEXP,RLIKE和NOT RLIKE的同义词。

比较的模式可以是字面量字符串或诸如表列之类的其他内容。在字符串,它使用C转义语法,因此请将所有“ \”字符加倍。 REGEXP也不区分大小写,二进制字符串除外。

下表列出了可以使用的可能模式-

Sr.No Pattern & Description
1

^

It matches the start of the string.

2

$

It matches the string’s end.

3

.

It matches a single character.

4

[…]

It matches any character in the brackets.

5

[^…]

It matches any character not listed in the brackets.

6

p1|p2|p3

It matches any of the patterns.

7

*

It matches 0 or more instances of the preceding element.

8

+

It matches 1 or more instances of the preceding element.

9

{n}

It matches n instances of the preceding element.

10

{m,n}

It matches m to n instances of the preceding element.

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

以“ pr”开头的产品-

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

以“ na”结尾的产品-

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

以元音开头的产品-

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