文章目录
目录
前言
大家好,我是ice三分颜色。
个人主页:ice三分颜色的博客
本文讲了MySQL中正则表达式的一些内容。
走过路过的小伙伴们点个赞和关注再走吧,欢迎评论区交流,努力什么时候开始都不算晚,那不如就从这篇文章开始!
大家一起成长呀!笔芯
正则表达式
概念:
“正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。”(这是来自百度百科的概念嘿嘿)
正则表达式是一种文本模式,包括普通字符和特殊字符。MySQL中,根据指定的匹配模式匹配文本中符合要求的特殊字符串。MySQL中使用 REGEXP 操作符来进行正则表达式匹配。
^(匹配文本的开始字符):^b:匹配以字母b为开头的字符串,如big
$(匹配文本的结束字符):st$:匹配以st结尾的字符串,如test
.(匹配任何单个字符):b.t:匹配任何b和t之间有一个字符,如bit
*(匹配零个或多个在它前面的字符):*n:匹配字符n前面有任意个字符,如fn
+(匹配前面的字符1次或多次):ba+:匹配以b开头后面紧跟至少有一个a,如bay、 bare、battle
<字符串>(匹配包含指定的字符串的文本): (fa:字符串至少要包含fa,如fan)
[字符集合](匹配字符集合中的任何一个字符): [xz]:匹配x或z,如dizzy
[^](匹配不在括号中的任何字符): [^abc]:匹配任何不包含a、b或c的字符串
字符串{n,}(匹配单面的字符串至少n次): b{2,}︰匹配两个或更多的b,如bb、bbb
字符串{m,n}(匹配前面的字符串至少m次,至多n次。如果n为0,m为可选参数): b{2,4}:匹配至少2个b,最多4个b,知bb、bbbb、bbb
使用正则表达式进行模糊查询
之前有发过like进行模糊查询,以下用两个例子例子进行说明用正则表达式模糊查询。
(下面是表employee哦)
例:查询姓名以“S”开头,以“H”结束,中间包含三个字符的员工信息。(首字符和尾字符可以是除“\n”以外的任何单个字符。)
SELECT empno,ename,job FROM employee
WHERE ename regexp 'AS...H$";
例:查询职位名称中包含字母“S”或“N”的员工信息,且若包含“S”则至少出现2次
SELECT empno,ename,job FROM employee
WHERE job regexp 's{2,}|N';