mysql中的正则表达式:

WHERE 列名 REGEXP ‘条件’;

– 1. 字符 ‘^’ 查询以特定字符或字符串开头的记录;
– 查询在 msg 表中 name 列中以 d 开头的所有数据;
SELECT * FROM msg WHERE name REGEXP ‘^d’;

– 2. 字符 ‘ msgnamefSELECTfrommsgWHEREnameREGEXPf ’;

– 查询表 msg 中 name 字段以 c 开始,以 h 结束的所有数据;
SELECT * FROM msg WHERE name REGEXP ‘^c’ AND name REGEXP ‘h$’;

– 3. 用符号 ‘.’ 来代替字符串中的任意一个字符,’.’ 相当于是一个占位符,表示两字字符之间有’.’个数的字符
– 查询表 msg 中 name 字段中 v 和 d 之间有四个字符的数据;
SELECT * FROM msg WHERE name REGEXP ‘v….d’;

– 4. 使用“”匹配多个字符 ;其中 表示字符出现了0次或以上
SELECT * FROM msg WHERE name REGEXP ‘d*’;

– 查询查询表 msg 中 name 字段中以 f 字段开始,d出现0次或以上的数据;
SELECT * FROM msg WHERE name REGEXP ‘^fd*’;

– 5. 用字符“+”表示紧跟的字符
– 查询查询表 msg 中 name 字段中所有含有 j 的数据;
SELECT * FROM msg WHERE name REGEXP ‘j+’;

– 查询查询表 msg 中 name 字段中以 b 开始并紧跟 v 的数据;
SELECT * FROM msg WHERE name REGEXP ‘^bv+’;

– 6. “|” 分隔条件匹配指定字符串
– 查询查询表 msg 中 age 字段中含有 2 或者 3 的数据
SELECT * FROM msg WHERE age REGEXP ‘2|3’;

– 7. “[]” 表示集合匹配指定字符串中的任意一个
– 查询查询表 msg 中 name 字段中含有 s 或者 v 的数据[]中如果写区间则用-隔开,如a到z则用[a-z]表示
SELECT * FROM msg WHERE name REGEXP ‘[sv]’;

– 8. “[^]”匹配指定字符以外的字符
– 查询查询表 msg 中 name 字段中不含有 a-z 和 1-9 的数据
SELECT * FROM msg WHERE name REGEXP ‘[^a-z1-9]’;

– 9. 使用{n} 或 {n,m} 来指定字符串连接出现的次数,{n}表示出现的最少次数,{n,m}n表示出现的最少次数,m表示出现的最多次数
– 查询查询表 msg 中 name 字段中 d 最少出现1次,最多出现3次的数据
SELECT * FROM msg WHERE name REGEXP ‘d{1,3}’;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值