写着玩,记录下
#MySQL中的正则表达式(MySQL中的正则表达式匹配不区分大小写)
#查询name为skf4b的数据
SELECT * FROM `user` WHERE `name` REGEXP 'skf4b'
#查找name字段中以'so'为开头的所有数据
SELECT * FROM `user` WHERE `name` REGEXP '^so';
#查找name字段中以'G4'为结尾的所有数据
SELECT * FROM `user` WHERE `name` REGEXP 'G4$';
#查找name字段中包含'mar'字符串的所有数据
SELECT * FROM `user` WHERE `name` REGEXP '4b';
#查找name字段中以元音字符开头或者以'ok'字符串结尾的所有数据
SELECT * FROM `user` WHERE `name` REGEXP '^[aeiou]|ok$';
#点代表任意字符
SELECT * FROM `user` WHERE `name` REGEXP '.kf4b'
#或者(OR)查询
SELECT * FROM `user` WHERE `name` REGEXP 'ZsbIg|skf4b'
#模糊查询有8p或者9p的数据
SELECT * FROM `user` WHERE `name` REGEXP '[8|9]p'
#模糊查询r前边有a-g的数据
SELECT * FROM `user` WHERE `name` REGEXP '[a-g]r'
#转义点,查询name里带点的数据
#\\f 换页
#\\n 换行
#\\r 回车
#\\t 制表
#\\v 纵向制表
SELECT * FROM `user` WHERE `name` REGEXP '\\.'
#匹配括号内的任意单个字符(^在括号里代表取反,这里是不包含abc的数据)
SELECT * FROM `user` WHERE `name` REGEXP '[^abc]'
#匹配0个或多个a,包括空字符串,可以作为占位符使用.有没有指定字符都可以匹配到数据
SELECT * FROM `user` WHERE `name` REGEXP 'a*'
#匹配1个或者多个a,但是不包括空字符
SELECT * FROM `user` WHERE `name` REGEXP 'a+'
#匹配0个或多个a
SELECT * FROM `user` WHERE `name` REGEXP 'a?'
#匹配m个a(查有两个a的)
SELECT * FROM `user` WHERE `name` REGEXP 'a{2}'
#匹配m个a(查有两个a的,及两个以上的)
SELECT * FROM `user` WHERE `name` REGEXP 'a{2,}'
#匹配m个a(查有两个a的)查询2到3个a,包含2和3
SELECT * FROM `user` WHERE `name` REGEXP 'a{2,3}'
#模糊查询,包含adk的
SELECT * FROM `user` WHERE `name` REGEXP 'a(dk)'