Mysql之正则匹配
Regex与Like的关系
Mysql中我们经常会用到正则表达式就是Like filed like '%?%' 。但是有时对于一些复杂场景下的正则过滤,单单一个like就显得有些力不从心了
Regex的精华就是 '' , like '%%' = regex '',特殊字符如^、$可以改变%的意思。
- like '%304%' = regex '304'
 - like '张%' = regex '^张'
 - like '%03' = regex '03$'
 - like '%3%' or like '%4%' = regex '[34]' 一个字段包含3或者包含4
 - like '%3%' or like '%4%' = regex '3|4' 一个字段包含3或者包含4
 
# 示例SQL---
# '' 匹配fw_ver字段中包含'304'字符串的所有数据:
select * from tbl_upgrade_policy where fw_ver like '%304%';
select * from tbl_upgrade_policy where fw_ver REGEXP '304'; # ^ 匹配输入字符串的开始位置
# 查找operator字段已'张'开头的记录
select * from tbl_upgrade_policy where operator like '张%';
select * from tbl_upgrade_policy where operator regexp '^李'; # $ 匹配输入字符串的结束位置
# 查找operator字段已'03'结尾的记录
select * from tbl_upgrade_policy where operator like '%03';
select * from tbl_upgrade_policy where operator regexp '03$'; # [...] 字符集合,匹配所包含的任意一个字符。
# 查询出update_type字段下为3或4或5中的任意数字
select * from tbl_upgrade_policy where update_type like '%3%' or update_type like '%4%' or update_type like '%5%';
select * from tbl_upgrade_policy where update_type REGEXP '[345]'; # p1|p2|p3 匹配 p1 或 p2 或 p3。
select * from tbl_upgrade_policy where update_type like '%3%' or update_type like '%4%';
select * from tbl_upgrade_policy where update_type REGEXP '3|4'; select * from tbl_upgrade_policy where update_type like '3%' or update_type like '%5'; # 注意:'^[3,5]' 匹配以 3或,或5开头的记录
select * from tbl_upgrade_policy where update_type REGEXP '^[3,5]|4$'; # '^3,5' 匹配以 3,5 开头的记录
select * from tbl_upgrade_policy where update_type REGEXP '^3,5|2$';
Mysql之正则匹配的更多相关文章
- MySQL之正则
		
八:正则匹配: 语法: select * from 表名 where 字段名 regexp "正则表达式"; PS:MySQL中正则匹配,不能使用\w等字幕作为匹配
 - mysql正则匹配中文时存在的问题
		
可以看到,目前正则匹配字母没问题,c出现1次,2次,3次匹配的结果都是正常的 接下来我们看看匹配中文的效果 可以看到,当匹配连续出现歪时,结果就开始不正常了 然后我去看了下mysql的中文文档中关于正 ...
 - MySQL全面瓦解8:查询的正则匹配
		
概述 上一章 查询的过滤条件,我们了解了MySQL可以通过 like % 通配符来进行模糊匹配.同样的,它也支持其他正则表达式的匹配,我们在MySQL中使用 REGEXP 操作符来进行正则表达式匹配. ...
 - Aho-Corasick算法、多模正则匹配、Snort入门学习
		
希望解决的问题 . 在一些高流量.高IO的WAF中,是如何对规则库(POST.GET)中的字符串进行多正则匹配的,是单条轮询执行,还是多模式并发执行 . Snort是怎么组织.匹配高达上千条的正则规则 ...
 - 正则匹配闭合HTML标签(支持嵌套)
		
任何复杂的正则表达式都是由简单的子表达式组成的,要想写出复杂的正则来,一方面需要有化繁为简的功底,另外一方面,我们需要从正则引擎的角度去思考问题.关于正则引擎的原理,推荐<Mastering R ...
 - 正则匹配抓取input  隐藏输入项和 <td>标签内的内容
		
这里不多作解释了,只要提供方法,如果想了解正则匹配,就去百度. 第一条是,匹配出所有的隐藏输入域 $patern = "/<input(.*?)type=\"hidden\& ...
 - js正则匹配的一个日常应用
		
应用实例 1 /** 将段落中的 \n 转换为 <p></p>, 规范存储 */ 2 function formatParagraphForStore(val) { 3 var ...
 - 详解一个自己原创的正则匹配IP的表达式
		
这里给大家详细讲解一下一个匹配IP地址的正则表达式, 有关正则方面的知识,会在详细的讲解中提到. 在讲解之前,我先给大家介绍一下,ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字 ...
 - 正则匹配中 ^ $ 和 \b 的区别
		
正则匹配中 ^ $ 和 \b 的区别 ^和$分别代表字符串的开始和结束,因此^\d$只能匹配包含一个数字的字符串\b代表单词边界,其前后必须是不同类型的字符,可以组成单词的字符为一种类型,不可 ...
 
随机推荐
- Thinkphp新增字段无法插入到数据库问题
			
Thinkphp框架开发过程中,因需求需要改动数据表,新增了几个字段. 调用 M(‘xxx’)->add($data) 插入值时,新增的字段数据总是插入不进去,每次都是默认的值,于是恍然—-缓存 ...
 - php如何判断两个时间的时间差
			
$time1=2011-11-11 11:11:11$time2=2016-12-10 16:58:13 代码: if(abs(strtotime($time2)-strtotime($time1)) ...
 - 解决同一页面jQuery多个版本或和其他js库冲突方法
			
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
 - iOS各种问题处理
			
本文转载至:http://www.cnblogs.com/ygm900/category/436923.html 推荐初学者前去学习. mac 拷贝文件时报错 8060 解决方案 摘要: 解决 ...
 - maven发布项目的snapshot到nexus
			
1.配置发布地址信息 <repositories> <repository> <id>nexus</id> <name>Local Repo ...
 - 170417、Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
			
前言:互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服 ...
 - 160531、SQL优化-索引
			
SQL优化有很多方法,今天来说一说数据库索引. 举例说明: 假设有一个图书Book表,里面有字段id,name, isbn等.如果图书数量巨大的话,我们通过isbn查询通常是比较慢的. 添加数据库索引 ...
 - hadoop运维问题记录
			
hadoop综合问题记录 1.hdfs无法启动 错误: 2018-04-25 14:36:09,293 - Retrying after 10 seconds. Reason: Execution o ...
 - hdu2254 奥运 矩阵的应用
			
hdu2254 奥运 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2254 题意:题目让我们求得是的可以得到的金牌数量,而和金牌数量=在t1到t2天( ...
 - Ubuntu 分区以及各个挂载目录的基本含义
			
我磁盘大概还有70多G的空间吧,我全部拿来使用的.真实的双系统哦. 一般来讲,linux系统分区最少要包括/和/swap两个.这样据说会影响性能,没有这样安装过,就无从考证啦.其实就是重装系统的时候, ...