Mysql 正则匹配字符类

在这里插入图片描述
截图来自《Mysql必知必会》

注意 这里匹配字符类指的是形式,使用时一般在[]中使用 ,即[[:digit:]]

例如:[:digit:] 指的是数字这个形式,而再加个[ ] 表示有一个字符,这个字符是数字形式的,即[[:digit:]]。

下面我们从具体例子深入理解一下。

在这里插入图片描述

从分析我们可以知道 这个正则表达式是用于匹配包含连续4位数字

{n}是重复元字符,相关重复元字符如下。

在这里插入图片描述

注意 重复元字符放在一个符号之后

例如:

SELECT phone FROM user WHERE phone REGEXP '6{2}';

检索出包含 连续2个6的电话。

我们再看回上面的那张截图,[:digit:]表示数字形式,[[:digit:]]表示一个数字字符,在字符后面可以加 重复元字符 ,则 [[:digit:]]{4}表示4位连续的数字。

下面我们再举一个复杂的例子:

SELECT '2jsdh1234e' REGEXP '[[:lower:]]+[[:digit:]]+[[:lower:]]+';

这里我们用到了正则表达式的一种 测试方法

在这里插入图片描述
在这个例子中,查看‘2jsdh1234e’ 这段字符是否包含 以小写字母若干(至少为1)数字若干小写字母若干排列下来的数据

我们来分析一下:[:lower:]表示小写字母形式,[:digit:]表示数字形式,[[:lower:]]+ 表示匹配1个或多个小写字母字符,同理[:digit:]+ 匹配1个或多个数字字符,则 ‘[[:lower:]]+[[:digit:]]+[[:lower:]]+’ 表示匹配小写字母数字小写字母的数据。最后显然是可以检索到的,即显示将返回1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值