MySQL正则查询

模式 描述

^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^ 也匹配’\n’ 或’\r’ 之后的位置。

$ 匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$ 也匹配’\n’ 或’\r’ 之前的位置。

. 匹配除"\n" 之外的任何单个字符。要匹配包括’\n’ 在内的任何字符,请使用象’[.\n]’ 的模式。

[…] 字符集合。匹配所包含的任意一个字符。例如,’[abc]’ 可以匹配"plain" 中的’a’。

[^…] 负值字符集合。匹配未包含的任意字符。例如,’[^abc]’ 可以匹配"plain" 中的’p’。

p1|p2|p3 匹配p1 或p2 或p3。例如,’z|food’ 能匹配"z" 或"food"。’(z|f)ood’ 则匹配"zood" 或"food"。

  •        匹配前面的子表达式零次或多次。例如,zo* 能匹配"z" 以及"zoo"。* 等价于{0,}。 
    
  •        匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配"zo" 以及"zoo",但不能匹配"z"。+ 等价于{1,}。 
    

{n} n是一个非负整数。匹配确定的n 次。例如,’o{2}’ 不能匹配"Bob" 中的’o’,但是能匹配"food" 中的两个o。

{n,m} m和n 均为非负整数,其中n <=m。最少匹配n 次且最多匹配m 次。

实例

–查找name字段中以’st’为开头的所有数据:

mysql> SELECT name FROM test  WHEREname REGEXP ‘^st’; 

–查找name字段中以’ok’为结尾的所有数据:

mysql> SELECT name FROM test  WHEREname REGEXP ‘ok$’; 

–查找name字段中包含’mar’字符串的所有数据:

mysql> SELECT name FROM test  WHEREname REGEXP ‘mar’; 

–查找name字段中以数字开头字符串结尾的所有数据:

mysql> SELECT name FROM test  WHEREname REGEXP ‘^[0-9]; 

–查找name字段中以元音字符开头或以’ok’字符串结尾的所有数据:

mysql> SELECT name FROM test WHEREname REGEXP ‘^[aeiou]|ok$’; 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值