MySQL使用正则表达式搜索


以下内容摘录整理自

《MySQL必知必会》

正则表达式是用来匹配文本的特殊的串(字符合集),在MySQL中在where子句后搭配正则表达式使用。

基本字符匹配:regexp ‘1000’
-- like匹配整个列,若被匹配的文本在列值中出现like将不会找到它,相应的行不会返回值。
select pro_name from products where pro_name like '1000' order by pro_name;
-- regexp在列值中进行匹配,相应的值可以返回,使用^ $也可以匹配整个列值
select pro_name from products where pro_name regexp '1000' order by pro_name;
进行OR 匹配:regexp ‘1000|2000’
匹配几个字符之一:[ ]
-- [123]定义一组字符串,表示匹配1或2或3,可能返回的结果为1 ton;2 ton;3 ton;
select pro_name from products where pro_name regexp '[123] Ton' order by pro_name;
-- [^123]匹配除了这些字符的其他东西
-- [1-5]匹配1到5,匹配了一个范围
匹配特殊字符:\\

正则表达式中的特殊字符必须以\\进行转义:

  1. \\.表示匹配.
  2. \\\匹配\

\\也可以引用元字符:

  1. \\f换页
  2. \\n换行
  3. \\r回车
  4. \\t制表
  5. \\v纵向制表
匹配预定义的字符表

常用[:digit:]任意数字,同【0-9】

匹配多个实例
元字符说明
*0或多个匹配
+1或多个匹配,等于{1,}
0或1个匹配,等于{0,1}
{n}指定数目匹配
{n, }不少于指定数目的匹配
{n,m}匹配数目的范围,m<=255

例如,[:digit:]{4},表示匹配连在一起的4位任意数字

定位符

常用:^文本开始 $文本结束

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wanglu的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值