SQL正则表达式

SQL正则表达式

REGEXP说明例子
^在字符开始处进行匹配‘^a’:匹配以a开头的字符串
$在字符结尾处进行匹配‘b$‘’:匹配以b结尾的字符串
.匹配任何字符‘.a‘’:匹配a前有任意字符的字符串
[…]匹配[]内任意单个字符‘[ab]’:匹配其中有a或b的任意字符
[m-n]匹配[]内m-n的任意单个字符‘[1-3]’:匹配含有1/2/3的任意字符串
[^…]不匹配[]内包含的全字符‘[^abc]’:不返回只包含有a、b、c三个字母的字符串
*匹配0个或多个字符‘a*’:匹配0个或多个a
+匹配1个或多个字符‘a+’:匹配1个或多个a
?匹配0个或1个字符‘a?’:匹配0个或1个a
a{m}匹配m个字符a
a{m,}匹配m个或多个字符a
a{m,n}匹配m到n个字符a
()将模式元素组成单一元素‘(abc)*’:匹配0个或多个abc

MySQL操作如下:
首先生成一个新的table
SELECT * FROM try1.regexp_;
在这里插入图片描述

 # 一、^
 SELECT * FROM try1.regexp_ WHERE str REGEXP '^a';  # 筛选出以a开头的字符串
 
 # 二、$
 SELECT * FROM try1.regexp_ WHERE str REGEXP '$c';  #筛选出以c结尾的字符串

# 三、 .
SELECT * FROM try1.regexp_ WHERE str REGEXP '.b';  # 筛选出b前有任意字符的字符串
  
# 四、[]
SELECT * FROM try1.regexp_ WHERE str REGEXP '[abc]';  # 匹配含有a/b/c的所有字符串
 
# 五、[m-n]
SELECT * FROM try1.regexp_ WHERE str REGEXP '[1-3]';  # 匹配其中含1-3的所有字符串

# 六、[^]
SELECT * FROM try1.regexp_ WHERE str REGEXP '[^abc]';  # 剔除所有字符来自[]中的字符串

# 七、*
SELECT * FROM try1.regexp_ WHERE str REGEXP 'aa*';  # 已存在一个a后匹配0个或多个a
SELECT * FROM try1.regexp_ WHERE str REGEXP 'aaa*';

# 八、+
SELECT * FROM try1.regexp_ WHERE str REGEXP 'aa+';  # 已存在一个a后匹配一个或多个a,同'aaa*'

# 九、?
SELECT * FROM try1.regexp_ WHERE str REGEXP 'ab?';    #匹配0/1个b

# 十、{}
SELECT * FROM try1.regexp_ WHERE str REGEXP 'a{3}';  #匹配3个a

# 十一、{m,}
SELECT * FROM try1.regexp_ WHERE str REGEXP 'a{2,}';  #匹配2个或多个a

# 十二、{m,n}
SELECT * FROM try1.regexp_ WHERE str REGEXP 'b{1,3}';  #匹配1个到3个b

# 十三、()
SELECT * FROM try1.regexp_ WHERE str REGEXP '(ab)+';  #匹配一个或多个a
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值