Mysql使用正则表达式-regexp

正则表达式是用某种模式去匹配一类字符串的一种方式,其查询能力要远在通配字符之上。
在mysql中使用REGEXP关键字来匹配查询正则表达式。

demo
SELECT * FROM tablename WHERE columnname REGEXP ‘xxx’;

column 后面用 regexp 加一个正则表达式。。
正则表达式就不写了
网上找了些demo

*模式字符 *
其含义为匹配以特定字符或者字符串开头的记录。

例如:使用“^”表达式查询tb1中major字段以m开头的记录,则语句如下:

Select major from tb1 where major regexp ‘^m’;

模式字符 $

其含义为匹配以特定字符或者字符串结尾的记录。

例如:使用“$”表达式查询tb1中major字段以c结尾的记录,则语句如下:

Select major from tb1 where major regexp ‘c$’;

模式字符 .

其含义为匹配字符串中任意一个字符,包括回车或者换行等。

例如:使用“.”表达式查询tb1中number字段包含4的记录,则语句如下:

Select number from tb1 where major regexp ‘4.’;
(我举得这种情况 . 可以省略)

模式字符 [字符集合]

其含义为匹配字符集合中任意一个字符

例如:使用“[ ]”表达式查询tb1中number字段包含456的记录,则语句如下:

Select number from tb1 where major regexp ‘[456]’;

模式字符 S1|S2|S3

其含义为匹配 S1、S2、S3中的任意一个字符串

例如:查询tb1中major字段包含a、p或者mic字符中任意一个字符的记录,则语句如下:

Select * from tb1 where major regexp ‘a|p|mic’;

模式字符 *

其含义为匹配多个该字符之前的字符,包括0和1个。

例如:使用“*”表达式查询tb1中major字段中m字符前出现c字符的记录,则语句如下:

Select major from tb1 where major regexp ‘c*m’;

模式字符 +

其含义为匹配多个该字符之前的字符,包括 1个。

例如:使用“+”表达式查询tb1中major字段中m字符前至少出现一个c字符的记录,则语句如下:

Select major from tb1 where major regexp ‘c+m’;

模式字符 字符串{N}

其含义为匹配字符出现N次。

例如:使用“{N}”表达式查询tb1中major字段中连续出现2次m的记录,则语句如下:

Select major from tb1 where major regexp ‘m{2}’;

模式字符 字符串{M,N}

其含义为匹配字符至少出现M次,做多N次。

例如:使用“{M,N}”表达式查询tb1中major字段中连续出现2次m的记录,最多出现3次m字符的记录,则语句如下:

Select major from tb1 where major regexp ‘a{2,3}’;

*最后就是把以前的
where columnname=’dddd’
的 等于 改为 regexp 后面加个正则表达式就行*

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值