mysql基础学习(2)-regexp正则表达式的学习

表示例  user

学习:

^匹配以^后面字符开头的所有数据,示例:^str,则匹配str开头的所以数据
$匹配以$前面面字符结尾的所有数据,示例:str$,则匹配str结尾的所以数据
.       匹配任何单个字符,示例:str.str,则匹配str与str中间有一位的数据>str1str
*匹配0个或者多个在它前面的字符,示例:str*str,则匹配str与str中间有0或者多位的数据>strstr,strceshistr,......
+匹配1个或者多个在它前面的字符,示例:str+str,则匹配str与str中间有1或者多位的数据>str1str,strceshistr,......
字符串匹配包括指定字符的文本,示例:str,则匹配str,struu,ceshistr,......
[字符集]

匹配字符集中的任意一个字符

示例:

[0-9]:匹配0-9之间任意一个数字

[A-Z]:匹配A-Z之间任意一个字母

[a-z]:匹配a-z之间任意一个字母

[xz]:匹配x或者z之间任意一个字母

[^]匹配不在括号中的任何字符,示例:[^abc]:匹配任何不包括a,b,c的字符串:desk
字符串{n,}

匹配前面的字符串至少出现n次

示例:

str{2},匹配str至少出现2次及以上的,strstr898

字符串{n,m}

匹配前面的字符串至少出现n次,最多出现m次

示例:

str{2,3},匹配str出现2-3次的,strstr,strstrstr

简单实践:

查询user表中name字段包括小婷的所有数据,类似 name "%小婷%"select * from user where name regexp '小婷';
查询user表中name字段包括且以小婷开头的所有数据,类似 name "小婷%"select * from user where name regexp '^小婷';
查询user表中name字段包括且以小婷结尾的所有数据,类似 name "%小婷"select * from user where name regexp '小婷$';
查询user表中name字段包括小婷或者张三的所有数据select * from user where name regexp '小婷|张三';

查询user表中name字段中

以小婷开头和结尾的    以及

以张三开头的所有数据

select * from user where name regexp '^小婷$|^张三';

查询user表中name字段中不仅仅包括小、2、婷的所以记录

示例:[^0-9]匹配除了0-9以外的字符

未显示数据解释:小婷:字符都在这“小、2、婷“三个中,故不显示。

2小婷:字符都在这“小、2、婷“三个中,故不显示。

select * from user where name regexp '[^小2婷]';
查询不包括小婷的所以记录select * from user where name not regexp '小婷';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值