📅  最后修改于: 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]';