mysql之正则表达式匹配

本文介绍了如何在MySQL中使用正则表达式进行字符串匹配,包括基本符号的含义、示例查询和各种匹配情况的应用,如以特定字符开头、结尾、包含子串等。
摘要由CSDN通过智能技术生成

题目:

今天在牛客网看到一道关于数据库正则表达式匹配的问题,发现自己一点不会做。
在这里插入图片描述


正则表达式:

一、正则表达式

MySQL 正则表达式通常是在检索数据库记录的时候,根据指定的匹配模式匹配记录中 符合要求的特殊字符串。MySQL 的正则表达式使用 REGEXP 这个关键字来指定正则表达 式的匹配模式,REGEXP 操作符所支持的匹配模式如表所示。

匹配 描述

^ 匹配文本的开始字符

$ 匹配文本的结束字符

. 匹配任何单个字符

*匹配零个或多个在它前面的字符
+号 匹配前面的字符 1 次或多次

字符串 匹配包含指定的字符串

p1|p2 匹配 p1 或 p2

[…] 匹配字符集合中的任意一个字符

[^…] 匹配不在括号中的任何字符

{n} 匹配前面的字符串 n 次

{n,m} 匹配前面的字符串至少 n 次,至多 m 次

举例子
查询以ji开头的学生信息

select id,name from ba where name regexp ‘^ji’;

查询以i结尾的学生信息

select id,name from ba where name regexp ‘i$’;

查询名字开头是l后面不知道是什么字符的学生;
在这里插入图片描述

查询名字中包含an的学生信息

select id,name from ba where name regexp ‘an’;

查询名字中有ai,g可有可无

select id,name from ba where name regexp ‘ang*’;

查询名字中含有ang,g至少出现一次的学生信息

select id,name from ba where name regexp ’ang+’;

查询名字包含an或者ei的学生信息

select id,name from ba where name regexp ‘an|ei’;

查找名字中不以a-j开头的任意学生信息

在这里插入图片描述
查找名字以han字段开头的学生信息
在这里插入图片描述
查询名字不是lilei的学生信息

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值