MariaDB完整教程NO22-MariaDB正则表达式

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

MariaDB 10.0.5引入了PCRE Regular Expressions,这大大增加了匹配范围,如递归模式,前瞻断言等等。

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

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

REGEXP返回1表示模式匹配,或0表示没有模式匹配。

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

比较的模式可以是文字字符串或其他内容,如表列。 在字符串中,它使用C转义语法,所以加倍任何“\”字符。 REGEXP也是不区分大小写的,二进制字符串除外。

下面给出了可以使用的可能模式的表格 –

S.No 图案和说明
1

^

它匹配字符串的开头。

2

$

它匹配字符串的结尾。

3

.

它匹配单个字符。

4

[…]

它匹配括号中的任何字符。

5

[^ …]

它匹配括号中未列出的任何字符。

6

P1 | P2 | P3

它匹配任何模式。

7

*

它匹配前面元素的0个或多个实例。

8

+

它匹配前一个元素的1个或多个实例。

9

{N}

它匹配前面元素的n个实例。

10

{M,N}

它匹配m到前面元素的n个实例。

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

以“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]';

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论