mysql基础知识-正则表达式

博客围绕MySQL基础知识中的正则表达式展开,介绍了在数据库操作里,正则表达式在MySQL中的相关内容。

mysql基础知识-正则表达式

use mydb2;
-- ^在字符串开始处进行匹配
	select 'abc' regexp '^a';--1
	select * from product where pname regexp '^海';
	
-- a+ 匹配1个或者多个a,但不包含空字符
	select 'stab' regexp '.ta+b';--1
	select 'stb' regexp '.ta+b';--0
	
-- a? 匹配0个或者1个a
	select 'stab' regexp '.ta?b'; --1
	select 'stb' regexp '.ta?b'; --1
	select 'staab' regexp '.ta?b'; --0
	
-- a*匹配0个或多个a,包括空字符串。可以作为占位符使用。有没有指定字符都可以匹配到数据
	select 'stab' regexp '.ta*b';--1
	select 'stb' regexp '.ta*b';--1
	select '' regexp 'a*';--1
	
-- [...]匹配括号内的任意单个字符  正则表达式的任意字符是否在前边的字符串中出现
	select 'abc' regexp '[xyz]';--0
	select 'abc' regexp '[xaz]';--1
	
-- [^...]注意^符号只有在[]内才是取反的意思,在别的地方都是表示开始处匹配
	select 'a' regexp '[^abc]'; --0
	select 'x' regexp '[^abc]';  --1
	select 'abc' regexp '[^a]'; --除了a之外,还有b和c   1
	
--  . 匹配任意单个字符,可以匹配除了换行符之外的任意字符
  select 'abc' regexp '.b'; --1
  select 'abc' regexp '.c'; --1
  select 'abc' regexp 'a.'; --1
  
--  $ 在字符串末尾开始匹配
  select 'abc' regexp 'a$'; --0
  select 'abc' regexp 'c$'; --1
  select * from product where pname regexp '水$'
  
-- a1|a2 匹配a1或a2
	select 'a' regexp 'a|b';
	select 'b' regexp 'a|b';
	select 'b' regexp '^(a|b)';
	select 'a' regexp '^(a|b)';
	select 'c' regexp '^(a|b)';--0
	
-- 	a{m} 匹配m个a
	select 'auuuuc' regexp 'au{4}c';
	select 'auuuuc' regexp 'au{3}c';--0
	
-- a{m,}匹配m个或者更多个a 至少m个
	select 'auuuuc' regexp 'au{3,}c';	
	select 'auuuuc' regexp 'au{4,}c';	
	select 'auuuuc' regexp 'au{5,}c';--0
	
-- a{m,n}匹配m到n个,包含m和n
	select 'auuuuc' regexp 'au{3,5}c';
	select 'auuuuc' regexp 'au{4,5}c';
	select 'auuuuc' regexp 'au{5,7}c'; --0
	
-- (abc) 序列匹配
	select 'xababy' regexp 'x(abab)y';
	select 'xababy' regexp 'x(ab)*y';
	select 'xababy' regexp 'x(ab){1,2}y';
	select 'xababy' regexp 'x(ab){3}y';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值