MySql對正規表示式的支援

2021-06-27 20:30:20 字數 2136 閱讀 6220

mysql對正規表示式的支援

mysql中使用 regexp進行正規表示式匹配。 符號

描述^匹配字串的開始位置,例如:'^abc',表示匹配字串是否以abc開頭。

$匹配字串的結束位置,例如:'abc$',表示匹配字串是否以abc結尾。

.匹配任何單個字元,但不可以匹配'\n',如果需要匹配包括'\n'在內的任何字元,需要使用'[.\n]'。

[...]

匹配''中包含的任意乙個字元,例如:'[abc]'可以匹配 'a'或'b'或'c'。

[^...]

匹配未包含的任意字元,例如: '[^abc]' 可以匹配除abc以外的任何字元。

(...)

匹配'()'中的所有字元,例如:'(abc)'可以匹配'abcdefg',但是不可以匹配'a','ab'。

(^...)

匹配未包含在'()'中的所有字元,例如:'(^abc)'可以匹配'abdefg','bcdefg',但是不可以匹配

'abcdefg'。

a|b|c

匹配'a'或'b'或'c',例如:'f|good'可以匹配 'f'或 'good',但是'(f|g)ood'則匹配 'food'或 'good'。

*匹配表示式0~n次,例如:'go*'可以匹配 'g','go','goo'。

+匹配表示式1~n次,例如:'go+'可以匹配 'go','goo',但不可以匹配 'g'。

匹配表示式n次。

匹配表示式最少匹配 n次且最多匹配 m次。

使用示例:

# 先建立乙個表

create table user(

id int,

name varchar(50)

);# 插入幾條資料

insert into user values(1, 'jake');

insert into user values(2, 'kimi');

insert into user values(3, 'tom');

insert into user values(4, 'joth');

mysql> # 查詢name欄位中以'j'為開頭的所有資料

mysql> select * from user where name regexp '^j';

+------+------+

| id | name |

+------+------+

| 1 | jake |

| 4 | joth |

+------+------+

2 rows in set (0.00 sec)

mysql> # 查詢name欄位中以'h'為結尾的所有資料

mysql> select * from user where name regexp 'h$';

+------+------+

| id | name |

+------+------+

| 4 | joth |

+------+------+

1 row in set (0.00 sec)

mysql> # 查詢name欄位中包含'o'的所有資料

mysql> select * from user where name regexp 'o';

+------+------+

| id | name |

+------+------+

| 3 | tom |

| 4 | joth |

+------+------+

2 rows in set (0.00 sec)

mysql> # 查詢name欄位中以'j'開頭或以'm'結尾的所有資料

mysql> select * from user where name regexp '^j|m$';

+------+------+

| id | name |

+------+------+

| 1 | jake |

| 3 | tom |

| 4 | joth |

+------+------+

3 rows in set (0.00 sec)

mysql查詢語句對正規表示式的支援

1.like 匹配模糊查詢 例如 where column like pattern where name like 張 匹配姓張的 where name not like 劍 匹配名字中含有劍字的或者第乙個字是什麼 第二個字是什麼這些都很是簡單就不多說了。2.regexp 這個功能很好很強大 直接...

對正規表示式的簡單學習

無事來研究一下正規表示式,參考鏈結 正規表示式測試 一 b 匹配單詞的開始和結束 如 bz w b 可以篩選出先是某個單詞開始處 b 然後是字母 w,然後是任意數量的字母或數字 w 最後是單詞結束處 b 二 d 匹配一位數字 d 重複匹配2次 0 9 相同 d 匹配次數不能小於5次,不能大於12次 ...

mysql正規表示式 MySQL正規表示式

正規表示式是為複雜搜尋指定模式的強大方式。正規表示式描述了一組字串。最簡單的正規表示式是不含任何特殊字元的正規表示式。例如,正規表示式hello匹配hello。非平凡的正規表示式採用了特殊的特定結構,從而使得它們能夠與1個以上的字串匹配。例如,正規表示式hello word匹配字串hello或字串w...