正则表达式是用某种模式去匹配一类字符串的一个方式,正则表达式的查询能力比通配字符的查询能力更强大,而且更加的灵活。
在mysql中,使用REGEXP关键字来匹配查询正则表达式。
其基本形式如下:
字段名 REGEXP ‘匹配方式’
模式字符 | 含义 |
---|---|
^ | 匹配字符开始的部分 |
$ | 匹配字符串结尾的部分 |
. | 代表字符串的任意一个字符,包括回车和换行 |
[字符集合] | 匹配字符集合中的任意一个字符 |
[^字符集合] | 匹配字符集合以为的任意一个字符 |
S1|S2|S3 | 匹配S1,S2,S3中的任意一个字符串 |
* | 代表0个或者多个其前的字符 |
+ | 代表1个或者多个其前的字符 |
? | 代表0个或者多个其前的字符 |
String{N} | 字符串出现N次 |
字符串{M,N} | 字符串至少出现M次,最多出现N次 |
示例:
-
'^'的用法
匹配字符开始的部分
2.'$'的用法
匹配字符结束的部分
3 . '.'的用法
可以代表字符中的任意一个字符
4.'[]'的用法
匹配字符集合中的任意一个字符
5.'[^]'的用法
匹配字符集合以为的字符
6.S1|S2|S3 的用法
匹配S1|S2|S3中任意一个字符
-
’ * ’ 的用法
代表紧挨着 '*'前面的字符可以没有,也可以出现多次 如ab*c可以匹配 ac abc abbc
-
’ ? '的用法
表示紧挨着'?'前面的字符可有可无 如abc? 可以匹配abc,也可以匹配ab
-
‘+’ 的用法
表示紧挨着’ + '前面的字符至少出现一次
如ab+c 可以匹配abc abbc
-
{}的用法
(1) {i}
'{}'中出现一个整数i,表示至少出现的次数
(2) {i,j}
表示字符出现的次数n , n要满足 n>= i && n<= j
其中以上的整数都必须大于等于0,小于等于RE_DUP_MAX(默认是255)