数据库查询操作(使用正则表达式)

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)匹配指定字符串中的任意一个

语法:[]是一个字符集合,只匹配其中任何一个字符,即为查找的文本;

select * from  text where regexp '[sdc]';

(7)匹配指定的字符以外的字符;

语法:[^字符集合]匹配不在指定集合中的任何字符;

select * from test where regexp  '[^sdc]';

说明:在使用正则表达式的时候,我们一定要明确我们的查询语句有没有相同或者是有类似的模型,这个样子我们就可以通过使用正则表达式进行模式的替换,简化SQL查询语句的编写;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值