MariaDB通過REGEXP運(yùn)算符提供基于正則表達(dá)式的匹配。
語法:
expression REGEXP pattern
參數(shù)說明:
| 編號(hào) | pattern值 |
描述 |
|---|---|---|
| 1 | ^ |
匹配一個(gè)字符串的開始。如果與“m”的匹配參數(shù)一起使用,則匹配表達(dá)式中任何位置的行的開頭。 |
| 2 | $ |
匹配字符串的結(jié)尾。 如果與“m”的匹配參數(shù)一起使用,則匹配表達(dá)式中任何位置的行的末尾。 |
| 3 | * |
匹配零次或多次發(fā)生。 |
| 4 | + |
匹配一個(gè)或多個(gè)事件。 |
| 5 | ? |
匹配零個(gè)或一個(gè)發(fā)生。 |
| 6 | . |
匹配除null之外的任何字符。 |
| 7 | / |
用作“或”來指定多個(gè)選項(xiàng)。 |
| 8 | [ ] |
用于指定一個(gè)匹配列表,嘗試匹配列表中的任何一個(gè)字符。 |
| 9 | [^ ] |
用于指定一個(gè)不匹配的列表,嘗試匹配除列表中的字符以外的任何字符。 |
| 10 | ( ) |
用于將表達(dá)式分組為一個(gè)子表達(dá)式。 |
| 11 | {m} |
匹配m次。 |
| 12 | {m,} |
至少匹配m次。 |
| 13 | {m,n} |
至少匹配m次,但不多于n次。 |
| 14 | \n |
n是1到9之間的數(shù)字。匹配在遇到\n之前在()內(nèi)找到的第n個(gè)子表達(dá)式。 |
| 15 | [..] |
匹配一個(gè)可以多于一個(gè)字符的整理元素。 |
| 16 | [::] |
匹配字符類。 |
| 17 | [==] |
匹配等價(jià)類。 |
| 18 | \d |
匹配一個(gè)數(shù)字字符。 |
| 19 | \w |
匹配一個(gè)字符。 |
| 20 | \s |
匹配一個(gè)空白字符。 |
| 21 | *? |
匹配前面的模式零次或多次發(fā)生。 |
| 22 | +? |
匹配前面的模式一個(gè)或多個(gè)事件。 |
| 23 | ?? |
匹配前面的模式零次或一次出現(xiàn)。 |
| 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 |
+---------------------+