更方便的在微信公众号阅读文章可以关注公众号:海生的go花园
一、目前mysql支持以下的几个方法来使用正则表达式
标识 | 说明 |
---|---|
NOT REGEXP | 不符合此正则 |
REGEXP | 字符串是否匹配正则表达式 |
REGEXP_LIKE() | 字符串是否匹配正则表达式 |
REGEXP_INSTR() | 子串匹配正则表达式的起始索引 |
REGEXP_REPLACE() | 替换匹配正则表达式的子字符串 |
REGEXP_SUBSTR() | 返回匹配正则表达式的子字符串 |
二、示例
1、查找包含1个a,重复1次 {1}
SELECT * FROM ad_log.user where name rlike "a{1}";
2、查找包含2个a, 重复2次 {2}
SELECT * FROM ad_log.user where name rlike "a{2}";
3、查找以a开始,以a结束
SELECT * FROM ad_log.user where name rlike "^a$";
4、开头是 b-c的之间的字母
SELECT * FROM ad_log.user where name rlike "^[b-c]";
5、任意字符
SELECT * FROM ad_log.user where name rlike ".*";
6、a到b,一个或者多个
SELECT * FROM ad_log.user where name rlike "[a-b]+";
7、以aa开始,以及aa结尾
SELECT * FROM ad_log.user where name rlike "^aa$";
8、以aa开始
SELECT * FROM ad_log.user where name rlike "^aa";
9、匹配0个或者多个b
SELECT * FROM ad_log.user where name rlike "cb*c";
10、cc|abc 交替; 匹配任一序列 cc或abc.
SELECT * FROM ad_log.user where name rlike "cc|abc";
11、[a-dXY] 匹配任何是a-d以及X,或Y的字符
SELECT * FROM ad_log.user where name rlike "[a-dXY]";
12 匹配任何 非 b-d以及X,或Y的字符
匹配任何 非 b-d以及X,或Y的字符[^b-dXY]
SELECT * FROM ad_log.user where name rlike "[^b-dXY]";
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。