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
\n
n
是1
到9
之間的數字。匹配在遇到\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 |
+---------------------+