学堂 学堂 学堂公众号手机端

mysql 正则匹配搜索 rlike

lewis 5年前 (2020-01-20) 阅读数 5 #技术
一、目前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]";

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门