MariaDB正则表达式

MariaDB通过REGEXP运算符提供基于正则表达式的匹配。

语法:

expression REGEXP pattern

参数说明:

  • expression:字符表达式,如列或字段。
  • pattern:正则表达式匹配信息。模式可以是以下的组合:
编号pattern描述
1^匹配一个字符串的开始。如果与“m”的匹配参数一起使用,则匹配表达式中任何位置的行的开头。
2$匹配字符串的结尾。 如果与“m”的匹配参数一起使用,则匹配表达式中任何位置的行的末尾。
3*匹配零次或多次发生。
4+匹配一个或多个事件。
5?匹配零个或一个发生。
6.匹配除null之外的任何字符。
7/用作“或”来指定多个选项。
8[ ]用于指定一个匹配列表,尝试匹配列表中的任何一个字符。
9[^ ]用于指定一个不匹配的列表,尝试匹配除列表中的字符以外的任何字符。
10( )用于将表达式分组为一个子表达式。
11{m}匹配m次。
12{m,}至少匹配m次。
13{m,n}至少匹配m次,但不多于n次。
14\nn19之间的数字。匹配在遇到\n之前在()内找到的第n个子表达式。
15[..]匹配一个可以多于一个字符的整理元素。
16[::]匹配字符类。
17[==]匹配等价类。
18\d匹配一个数字字符。
19\w匹配一个字符。
20\s匹配一个空白字符。
21*?匹配前面的模式零次或多次发生。
22+?匹配前面的模式一个或多个事件。
23??匹配前面的模式零次或一次出现。
24{n}?匹配前面的模式n次。
25{n,}?匹配前面的模式至少n次。
26{n,m}?匹配前面的模式至少n次,但不超过m次。

示例

SELECT 'Monty!' REGEXP 'm%y%%';
+-------------------------+
| 'Monty!' REGEXP 'm%y%%' |
+-------------------------+
|                       0 |
+-------------------------+

SELECT 'Monty!' REGEXP '.*';
+----------------------+
| 'Monty!' REGEXP '.*' |
+----------------------+
|                    1 |
+----------------------+

SELECT 'new*\n*line' REGEXP 'new\\*.\\*line';
+---------------------------------------+
| 'new*\n*line' REGEXP 'new\\*.\\*line' |
+---------------------------------------+
|                                     1 |
+---------------------------------------+

SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A';
+----------------+-----------------------+
| 'a' REGEXP 'A' | 'a' REGEXP BINARY 'A' |
+----------------+-----------------------+
|              1 |                     0 |
+----------------+-----------------------+

SELECT 'a' REGEXP '^[a-d]';
+---------------------+
| 'a' REGEXP '^[a-d]' |
+---------------------+
|                   1 |
+---------------------+

        原文作者:MariaDB教程
        原文地址: https://www.yiibai.com/mariadb/mariadb-regular-expressions.html
        本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
    点赞