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代表单词边界,其前后必须是不同类型的字符,可以组成单词的字符为一种类型,不可 ...
随机推荐
- hdu 2059:龟兔赛跑(动态规划 DP)
龟兔赛跑 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissi ...
- hdu 1058:Humble Numbers(动态规划 DP)
Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
对于问题从后台获取json数据,将内容填充到下拉列表,代码非常简单,具体过程请看下面代码. 需求:url:链接 par:ID sel:下拉列表选择器 function BuildS ...
- VC++ ListCtrl Report使用
1.在VC++ 6.0中新建基于对话框的MFC应用程序ListCtrl; 2.在主对话框上添加一个List Control至合适的位置及大小: 3.在对话框OnInitDialog中初始化ListCt ...
- JavaScript入门之函数返回值
函数返回值 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF ...
- Python Scrapy 自动爬虫注意细节(3)
一.对指定页面爬取 yield Request(url, meta={'cookiejar': response.meta['cookiejar']}, callback=self.parse_url ...
- My97DatePicker设置,包括隐藏 清空,设置最大日期等 转载
My97DatePicker是一款非常灵活好用的日期控件.使用非常简单. 1.下载My97DatePicker组件包 2.在页面中引入该组件js文件: <script type=&quo ...
- Thymeleaf模板如何获取springMVC返回的model值
Thymeleaf模板如何获取springMVC返回的model值 后台的实现: @RequestMapping("/hello") public String hello(Mod ...
- 在JavaWeb项目中处理静态文件或动态链接拼接网站地址的最优处理方案
在开发网站时候我们会遇到下面问题? - 在引用网页中引用js和css或者动态的Servlet的时候我们是写绝对路径还是相对路径? - 如果写相对路径吧,上线偶尔会报404,还要手动去拼接绝对路径 - ...
- Ubuntu 中 apache 开启 rewrite 模块
ubuntu14.04中安装好apache2.4之后默认rewrite模块是不开启的,项目public目录下的.htaccess文件就用不了,在浏览器中访问网页总是报500错误,原因就是这个. 执行下 ...