一、正则与LIKE的区别

Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符、字符串。

例如:select * from wp_posts where post_name REGEXP'hello',可以检索出列post_name中所有包含hello的行

REGEXP'.og'.是正则表达式中里一个特殊的字符。它表示匹配一个字符,因此,dog,hog,mog等等都能匹配。

注意:

关于LIKE和REGEXP的区别:LIKE匹配整个列。如果被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会返回(当然,使用通配符除外)。而REGEXP在列值内进行匹配,如果被匹配的匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回,这时一个非常重要的差别(当然,如果适应定位符号^和$,可以实现REGEXP匹配整个列而不是列的子集)。

关于大小写的区分:MySQL中正则表达式匹配(从版本3.23.4后)不区分大小写。如果要区分大小写,应该使用BINARY关键字,如where post_name REGEXP BINARY 'Hello.000'

二、基本字符匹配

检索列prod_name 包含文本1000的所有行:

进行OR匹配相当于:或操作 “|”

匹配几个字符之一只想匹配特定的字符。 可以通过指定一组用[和]括起来的字符来完成。

[456]定义了一组字符,他的意思是匹配4或5或6. []是另一种形式的OR语句。[456]是[4|5|6]的缩写。匹配范围

[1-3] a-z都是合法的范围

匹配特殊字符

正则表达式语言由特殊含义的特殊字符构成。

. 在正则表达式中表示匹配任何一个字符

比如匹配prod_name中包括on字符串的行:

那如何匹配.,[],|,-?

为了匹配特殊字符,必须用\\为前导。 比如\\.表示查找·

匹配字符类

匹配多个实例

再比如 匹配连在一起的4位数字:

sticks? : s后的?使s可选,因为?匹配它前面紧跟的任何字符的0次或者1次出现。

[:digit:]匹配任意数字,因而它为数字的一个集合。{4}确切地要求它前面的字符出现4次。

所以[:digit:]{4}匹配连在一起的任意4位数字。

三、定位符

目前为止所有例子都是匹配一个串中任意为止的文本。为了匹配特定为止的文本,需要使用定位符。

也可以在不使用数据库的情况下测试正则表达式的正确性:

SELECT 来测试正则表达式,REGEXP检查总是返回0或1,

SELECT  'HELLO‘  REGEXP '0‘//返回为0

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文标题: MYSQL使用正则表达式过滤数据

本文地址: http://www.cppcns.com/wangluo/re/149418.html

mysql用正则表达式定位符_MYSQL使用正则表达式过滤数据相关推荐

  1. mysql 插入记录慢_mysql:insert插入数据过慢如何解决,设置innodb_flush_log_at_trx_commit为0就能解决...

    问题: 最近在做性能测试,造数据,发现insert好慢,只有几十条每秒,很奇怪,最后再网上找到了原因. 网文如下: MY SQL insert 速度过慢 最近在用MySQL做存储,测试中发现插入数据太 ...

  2. mysql字符集修改保存_mysql更改已有数据表的字符集,保留原有数据内容

    环境:在应用开始阶段没有正确的设置字符集,在运行一段时间以后才发现存在不能满足需求需要调整,又不想丢弃这段时间的数据,那么就需要进 行字符集的修改.字符集的修改不能直接通过"alter da ...

  3. mysql刷盘命令_MySQL延迟问题和数据刷盘

    导读 这篇文章主要介绍了MySQL延迟问题和数据刷盘策略流程分析,本文要给大家提到了mysql复制流程,需要的朋友可以参考下 一.MySQL复制流程 官方文档流程如下: MySQL延迟问题和数据刷盘策 ...

  4. mysql 正则表达式数字_MYSQL使用正则表达式过滤数据

    一.正则与LIKE的区别 Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符.字符串. 例如:select * from wp_posts where post_name REGEX ...

  5. php正则表达式定位符,3 【正则表达式教程】编程必备技能|正则表达式中最简单的定位符写法,让你快速匹配...

    上节课我们给大家介绍了一些正则表达式学习的小工具,这节课我们将用他们来开始我们全新的学习. 这节课先来给大家讲解最简单的正则表达式:所见即所查. 我们用五个字来概括总结了最简单的正则表达式所包含的内涵 ...

  6. mysql表格基础知识_mysql基础知识-操作表数据

    insert into tablename (字段1,字段2,字段3....) values (value1,value2,value3...) .......................... ...

  7. mysql 数据库 数组类型转换_mysql数字类型的数据如何进行转换?

    如何将MySQL数据库中的数字类型转换为数字函数,今天给大家介绍mysql中的转换函数,这个在实际的生活应用中是运用广泛的,大大减少了我们自己手动进行数字类型的转换. 我们今天主要向大家介绍的是用My ...

  8. mysql blob 存储乱码_mysql 保存 blob 类型数据 乱码 解决

    本人问题:mysql 保存 blob 类型数据 乱码 解决 未解决,??? 之前 private string  archiveValue;导致 写入的进去之后的中文 都是乱码 改正后 ,即可 pri ...

  9. mysql union all 别名_MySQL Union合并查询数据及表别名、字段别名用法分析

    本文实例讲述了MySQL Union合并查询数据及表别名.字段别名用法.分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_price FROM frui ...

  10. mysql如何drop数据库_mysql drop database删除数据库命令实例讲解

    这篇文章主要介绍了mysql drop database删除数据库命令实例讲解的相关资料,需要的朋友可以参考下 mysql drop database命令用于删除一个数据库,如果试图使用drop da ...

最新文章

  1. PIL图像处理开发极简教程
  2. 四种为HttpClient添加默认请求报头的解决方案
  3. python-类思想-实现简单增删查改
  4. 微软ping程序源代码完整版(附详细的注释)
  5. 感悟Microsoft summer Camp 2010
  6. 378.有序矩阵中第k小的元素(力扣leetcode) 博主可答疑该问题
  7. 多种固定资产盘点方式应对年终固定资产大盘点
  8. c语言自学考1课后答案,C语言理论练习题(1)及参考答案
  9. 基因家族分析②:linux下blast的安装和使用
  10. idea 常用配置介绍(一)
  11. 审计系统---堡垒机项目之表结构设计
  12. 基于MATLAB/Simulink软件的单相光伏并网逆变器仿真,仿真中使用两级电路,前级BOOST升压后级光伏逆变并网
  13. matlab找多项式最值,如何利用matlab计算最小多项式
  14. YumRepo Error_ All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release_repo_arch co
  15. 需求获取方法,系统分析师
  16. torch.where()的用法以及例子
  17. 刘群:基于深度学习的自然语言处理,边界在哪里?
  18. AB ? Angelababy ? 噢不,拒绝老板拍板决策的神器 !用数据说话的决策实验平台 —— AbTest !
  19. JS中本地存储的方式有哪些?
  20. win8u盘启动linux系统,在Mac系统下制作Windows启动U盘(失败案例)

热门文章

  1. face landmark 人脸特征点检测
  2. istio入门(01)istio的优势在哪里?
  3. 01 自动化测试基础
  4. 添加 centos 右键 terminal
  5. Windows 7安装 Visual Studio 2010之大战三大回合
  6. mybatis foreach标签的使用
  7. Vmware报错 This product may not be installed on a computer that has Microsoft HyperV installed. 解决
  8. JVM监控及诊断工具命令行篇之jinfo
  9. spring源码-自动注入
  10. mysql中的group by分组