MariaDB通過REGEXP
運算子提供基於正規表示式的匹配。
語法:
expression REGEXP 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 |
+---------------------+