MySQL正则表达式


mysql中的正则表达式匹配自3.23.4版本后不区分大小写,如果需要可以使用BINARY关键字,如where name regexp binary ‘Jack.000’

正则表达的分类:

1、基本字符匹配

% 匹配任意字符
. 匹配任意一个字符
| 匹配其中之一 100|200
[] 匹配几个字符之一 [123]等价于1|2|3

2、匹配范围

[0-9]
[a-z]

3、匹配特殊字符

为了匹配特殊字符,必须用\为前导
如:为了匹配反斜杠()字符本身,需要使用\\ ,其他还有\. \- \?
\也可以用来引用元字符,如
\f 换页
\n 换行
\r 回车
\t 制表
\v 纵向制表

4、匹配多个实例

有时需要对匹配的数目进行更强的控制,例如,你可能需要寻找所有的数,不管数中包含多少数字,或者想寻找一个单词且还能适应带一个尾随的s
* 0个或多个匹配
+ 1个或多个匹配(等于{1})
? 0个或1个匹配(等于{0,1})
{n} 指定数目的匹配
{n,} 不少于指定数目的匹配
{n,m} 匹配数目的范围(m不超过255)

5、定位符

^ 文本的开始
$ 文本的结尾
[[:<:]] 词的开始
[[:>:]] 词的结尾

like和regexp的不同在于,like匹配整个串而regexp匹配子串,利用定位符,通过用^开始每个表达式,用$结束每个表达式可以使用regexp的作用与like一样

可以在不使用数据表的情况下用select来测试正则表达式,regexp检查总是返回0(没有匹配)或1(匹配),如select ‘hello’ regexp ‘[0-9]’,显然返回0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值