数据库查询操作(使⽤正则表达式)
1.正则表达式通常⽤来检索或者是替换那些符合某个模式的⽂本的内容,根据指定的匹配模式匹配⽂本中符合要求的特殊字符串。
2.使⽤正则表达式进⾏基本的查询
(1)查询⼀特定的字符或者是字符串开头的记录
语法:字符‘^’匹配以特定的字符或者是字符串开头的⽂本;
select * from  test where name regexp '^s';
(2)查询以特定的字符或者是字符串结尾的记录
语法:字符‘$’匹配以特定的字符或者是字符串结尾的⽂本
select * from test where name regexp '$1';
(3)⽤符号.来替代字符串中的任意的⼀个字符
语法:字符.匹配任意的⼀个字符
select *from test where regexp 's.1';
(4)使⽤‘*’和'+'来匹配多个字符
语法:符号‘*’匹配前⾯的字符任意多次,包括0次,+匹配前⾯的字符⾄少⼀次;
select *  from test where name regexp '^ba';
select * from test where name regexp  '^ba+';
(5)匹配指定的字符串
语法:正则表达式可以匹配指定的字符串,只要这个字符串在查询⽂本中即可,如果需要匹配多个字符串的时候,多个字符串之间使⽤分隔符‘|’隔开;
select *  from test where name regexp 's|sd';
说明:like运算符也可以匹配指定的字符串,但是与regexp不同,like匹配的字符串如果在⽂本中出现,则不到他;相应的⾏也不会返回,⽽regexp在⽂本内进⾏匹配,如果被匹配的出现在⽂本中,regexp会到他,相应的⾏也会被返回。
(6)匹配指定字符串中的任意⼀个regexp like
语法:[]是⼀个字符集合,只匹配其中任何⼀个字符,即为查的⽂本;
select * from  text where regexp '[sdc]';
(7)匹配指定的字符以外的字符;
语法:[^字符集合]匹配不在指定集合中的任何字符;
select * from test where regexp  '[^sdc]';
说明:在使⽤正则表达式的时候,我们⼀定要明确我们的查询语句有没有相同或者是有类似的模型,这个样⼦我们就可以通过使⽤正则表达式进⾏模式的替换,简化SQL查询语句的编写;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。