更方便的在微信公众号阅读文章可以关注公众号:海生的go花园
image.png

一、目前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}";

image.png

2、查找包含2个a, 重复2次 {2}

SELECT * FROM ad_log.user where name rlike "a{2}";

image.png

3、查找以a开始,以a结束

SELECT * FROM ad_log.user where name rlike "^a$";

image.png

4、开头是 b-c的之间的字母

SELECT * FROM ad_log.user where name rlike "^[b-c]";

image.png

5、任意字符

SELECT * FROM ad_log.user where name rlike ".*";

image.png

6、a到b,一个或者多个

SELECT * FROM ad_log.user where name rlike "[a-b]+";

image.png

7、以aa开始,以及aa结尾

SELECT * FROM ad_log.user where name rlike "^aa$";

image.png

8、以aa开始

SELECT * FROM ad_log.user where name rlike "^aa";

image.png

9、匹配0个或者多个b

SELECT * FROM ad_log.user where name rlike "cb*c";

image.png

10、cc|abc 交替; 匹配任一序列 cc或abc.

SELECT * FROM ad_log.user where name rlike "cc|abc";

image.png
11、[a-dXY] 匹配任何是a-d以及X,或Y的字符

SELECT * FROM ad_log.user where name rlike "[a-dXY]";

image.png

12 匹配任何 非 b-d以及X,或Y的字符

匹配任何 非 b-d以及X,或Y的字符[^b-dXY] 
SELECT * FROM ad_log.user where name rlike "[^b-dXY]";

image.png


海生
104 声望32 粉丝

与黑夜里,追求那一抹萤火。