一、正则与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 正则表达式数字_MYSQL使用正则表达式过滤数据相关推荐

  1. 【MySQL基础知识】查询、过滤数据关键字

    MySQL基础知识 一.检索数据 1. SELECT select是使用最广泛的检索数据的语句. 检索要查的表的所有列: select * from (表名称)... 检索要查的表的某一列或多列: s ...

  2. mysql存中文_mysql数据库存储中文数据的解决办法

    我在学习django中admin模块的时候,登录进入后台操作页面,输入中文数据,但保存之后全是乱码(全是"????????????"),然后就开始了解决问题之路. 1.首先百度搜索 ...

  3. mysql 热备份 数据一致性_MySQL 使用 XtraBackup 进行数据热备份指导 [全量+增量]

    背景 最近一直涉猎 MySQL 数据库的操作.集群部署 注意到,为保证数据安全,掌握数据备份是极为重要的 相比小型服务的冷备份而言 在此推荐并整理更受推崇的 XtraBackup 下的热备份技巧 ☞ ...

  4. mysql 过滤纯数字_mysql中怎么样过滤字符串中的数字

    今天,有网友邮件问我,怎么样过滤掉字符串中的数字,比如: mysql> select * from TEST; +---------+------------------------+ | Co ...

  5. mysql提取数字_Mysql中实现提取字符串中的数字的自定义函数分享

    因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代 ...

  6. mysql整点抖动_MySQL 5.5 大量数据插入出现的抖动问题 及 解决方法

    背景 日志型应用的一个典型操作,是周期性地有大量的insert操作.这类操作需要对扩展表空间. 分析 在InnoDB里,扩展表空间的操作是在语句执行过程中,由执行线程直接调用的. 尤其是对于一些表每行 ...

  7. python正则表达式数字开头_Python正则表达式总结

    基础匹配 '\d' 可以匹配一个数字,'00\d'可以匹配'007': '\w' 可以匹配一个字母或者数字,'00\w'可以匹配'007'或者'00a': '\s' 可以匹配一个空格: '.'可以匹配 ...

  8. html正则表达式 数字,js的正则表达式教程 js 正则表达式 3位数字

    允许空格和~之间的字符但不包含# " ' & = < > ( ) % + \ ; $ | / 用eval转义,你现在reg是一个字符串 正确写法 var ch = &qu ...

  9. mysql基本数据长度_MySQL的类型与数据长度

    之前遇到一个问题"怎么评估一行MySQL记录占据了多少字节?".自己当时也不是特别清楚.当时只是简单的知道,具体的长度跟编码相关.前几天系统研究了一下MySQL中的编码问题,铺垫已 ...

最新文章

  1. 解决pip is configured with locations that require TLS/SSL问题
  2. Mysql内连接_INNER JOIN
  3. [转]IIS 允许/禁止 目录浏览
  4. Spring boot配置文件两种方式
  5. ubuntu下安装pythoncharm_Ubuntu下安装、激活并配置Pycharm
  6. nvm npm node
  7. java Hashtable 和 HashiMap 的区别
  8. c 语言编程游戏代码大全,C语言编程游戏代码
  9. 读《未来世界的幸存者》 -- 阮一峰
  10. ArcGIS教程 - 9 矢量数据空间分析
  11. 核磁共振电子计算机断层扫描术,计算机断层扫描(CT)和核磁共振(MRI) 的区别...
  12. 美创科技出席世界信息安全大会:多维数据安全框架体系,护航新基建发展
  13. 干货!高速串行Serdes均衡之FFE
  14. USB专用充电端口(DCP) MST2515
  15. CANopen COB-ID 使能PDO功能
  16. Word:更改文中全部“英文双引号”为“中文双引号”
  17. C语言回调函数的定义和写法
  18. 从android恢复到iphone,iPhone换到安卓机有多难适应?看看是怎么恢复过来的!
  19. 解决报错:Fan in and fan out can not be computed for tensor with fewer than 2 dimensions
  20. IE(Internet Explorer)重装失败,出现“出现错误。并非所有的功能被成功更改”的错误

热门文章

  1. iOS-iPad强制竖屏
  2. UI自动化测试基础介绍
  3. Unigui出现CoInitialize未启动
  4. 《三体》还远吗华为云桌面让未来触手可及
  5. VMware ESXi 7.0 U3m Unlocker OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)
  6. php,微信视频号之微信消息加解密xml,json
  7. 基于各向同性高斯核的斑点检测算法
  8. CDH6.2.0安装、踩坑实录
  9. [电脑]_开始着手做小软件站
  10. 计组与OS中的“透明“