MySQL通配符与正则表达式
通配符
通配符必须全文匹配时才为真,使用LIKE
关键字
字符 | 示例 | 含义 |
---|---|---|
_ | "a_b" | 任意一个字符"axb",其中x可以使任意字符,包括汉字 |
% | "%a" | 任意一个以a结尾的字符串 |
正则表达式
字符串str中有任意一个子串能匹配正则表达式,则结果为真。使用REGEXP
或RLIKE
关键字(二者等价)
字符 | 示例 | 含义 |
---|---|---|
^ | "^str" | 以str开始的字符串 |
$ | "str$" | 以str为结尾的字符串 |
. | "." | 任意一个字符,支持中文 |
* | "c*" | 0个或任意个连续的'c' |
+ | "c" | 1个或多个连续的'c' |
[charSet] | [ab-d] | a或b~d的任意一个字符,即'a', 'b', 'c', 'd' |
[^charSet] | [^ab-d] | 不存在'a', 'b', 'c', 'd'中的任意一个字符 |
str1|str2|strn | ab|cd | "ab"或"cd" |
str | t | 出现了连续的2个"t" |
str | t | 出现了连续的[2,3]个"t" |
[charSet] | [ab] | 某个长度为3的子串里每个字符都是'a'或'b' |