MySQL正则表达式

本文详细介绍了正则表达式在MySQL中的应用,涵盖从基本规则如开始和结束匹配,到特殊字符如点(.)、括号、星号(*)、加号(+)等的使用示例,以及组合模式如选择和范围匹配。
摘要由CSDN通过智能技术生成

一.简介

正则表达式(regular expression)

描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。

在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。

MySQL中通过REGEXP关键字支持正则表达式进行字符串匹配。

二.具体规则

1.在字符串开始处进行匹配(^)

select * from product where pname REGEXP '^海';

2.在字符串末尾处开始匹配($)

select * from product where pname REGEXP '机$';

3.匹配任意单个字符(.)

select 'abc' REGEXP '.b';

可以匹配除了换行符以外的任意字符

4.匹配括号内的任意单个字符[...]

select 'abc' REGEXP '[xay]';

正则表达式的任意字符是否在前面的字符串中出现 

5.不匹配括号内的任意单个字符[^...]

select 'a' REGEXP '[^abc]';

^只有在[]内,才是取反的意思。

6.*

a*匹配0个或多个a,包括空字符串。可以作为占位符使用,有没有指定字符都可以匹配到数据

7.+

a+匹配1个或多个a,但是不包括空字符串

8.?

a?匹配0个或1个a

9.a1|a2

匹配a1或a2

10.a{m}

匹配m个a

11.a{m,}

匹配m个或更多个

12.a{m,n}

匹配m到n个a,包括m和n

13.(abc)

abc作为一个序列匹配,不用括号括起来都是用单个字符去匹配。

整体匹配,需要用到括号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值