正则表达式的作用就是匹配文本,讲一个模式(正则表达式)与一个文本串进行比较。

基本字符匹配

SELECT 列名 FROM 表名 WHERE 列名 REGEXP 条件 ORDER BY 列名;

形式与LIKE相同,只不过REGEXP后面跟的条件为正则表达式。

差别:

LIKE匹配整个列。如果被匹配的文本在列值中出现,LIKE不会找到它,相应的行也不会被返回(除非使用通配符)。

REGEXP在列值内进行匹配,如果被匹配的文本在列值中出现,REGEXP会找到它,相应的行将被返回。

正则表达式不区分大小写,如果需要区分则要使用BINARY关键字。如 REGEXP BINARY + 正则表达式条件。

进行OR匹配

使用正则表达式符号‘|’将条件并列。

例如 1000 OR 2000 = 1000|2000

匹配几个字符之一

使用[]来定义一组字符

例如 [123]abc = 1abc 或 2abc 或 3abc

[123]abc = [1|2|3]abc

匹配除指定字符外的任何东西

[^123] 匹配除1\2\3以外的任何东西

匹配范围

[0123456789] = [0-9]

匹配特殊字符

'.'匹配任意字符

\\- 表示查找-

\\. 表示查找.

\\\ 表示查找\

匹配字符类

类              说明

[:alnum:]           任意字母和数字[a-zA-Z0-9]

[:alpha:]            任意字符[a-zA-Z]

[:blank:]            空格和制表[\\t]

[:cntrl:]              ASCII控制字符(ASCII 0到31和127)

[:digit:]            任意数字[0-9]

[:graph:]            与[:print:]相同,但不包含空格

[:lower:]             任意小写字母[a-z]

[:print:]            任意可打印字符

[:punct:]             既不在[:alnum:]又不在[:cntrl:]中的任意字符

[:space:]            包含空格在内的任意空白字符[\\f\\n\\r\\t\\v]

[:upper:]            任意大写字母[A-Z]

[:xdigit:]             任意十六进制数字[a-fA-F0-9]

匹配多个实例

重复元字符

元字符                说明

*               0个或多个匹配

+                 1个或多个匹配{1,}

?                 0个或1个匹配{0, 1}

{n}               指定数目的匹配

{n,}                                                  不少于指定数目的匹配

{n, m}             匹配数目的范围(m不超过255)

定位符

匹配指定位置的文本

定位元字符

元字符                  说明

^                  文本的开始

$                    文本的结尾

[[:<:>

[[:>:]]                 词的结尾

^有两种用法,在集合中(用[和]定义),用它来否定该集合,否则,用来指串的开始处

mysql 搜索正则表达式_[MySQL] 用正则表达式进行搜索相关推荐

  1. emeditor正则表达式_掌握EmEditor正则表达式语法,大大提升工作效率

    缙哥哥非常懒,当遇到重复的事情时,就喜欢通过批量处理来解决,而文本用的是 EmEditor 程序,EmEditor 正则表达式语言基于 Perl 正则表达式语法,所以通过掌握EmEditor正则表达式 ...

  2. mysql异常恢复工具_[MySQL异常恢复]mysql ibd文件恢复

    在mysql中由于某种原因保存有ibd文件,但是表已经被删除或者frm文件损坏亦或者ibdata文件损坏/丢失等.本文模拟在这种情况下,通过mysql自身技术即可完成ibd文件恢复. 测试环境mysq ...

  3. 所有字符不含换行 正则表达式_网络爬虫 | 正则表达式

    正则表达式中匹配与查找 正则表达式,简称为regex,是文本模式的描述方法. >>> import re>>> pattern = re.compile('\d\d ...

  4. explain mysql怎么用_[mysql] mysql explain 使用

    explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 先解析一条sql语句,看出现什么内容 EXPLAINSELECTs.uid, ...

  5. mysql 元数据获取_[MySQL] 获取元数据的步骤

    [MySQL] 获取元数据的方法 MySQL提供了以下三种方法用于获取数据库对象的元数据: 1)show语句 2)从INFORMATION_SCHEMA数据库里查询相关表 3)命令行程序,如mysql ...

  6. mysql timestamp 更新_[mysql] timestamp自动更新和初始化

    1.概述 在我们设计表的时候,考虑将行数据的创建时间和最后更新时间记录下来是很好的实践.尤其是可能需要做数据同步或者对数据新鲜度有要求的表.举些应用场景,更新距上次更新超过2小时的行数据,或者是将一个 ...

  7. mysql 列出表_[MySQL优化1]centos中MySQL列出所有表

    步骤1 - 连接到MySQL数据库服务器: [root@host]# mysql -u root -p Enter password:****** 提示登陆成功 Welcome to the MySQ ...

  8. mysql auto_increment 原理_[Mysql]mysql原理之Auto_increment

    2019独角兽企业重金招聘Python工程师标准>>> 引言 MySQL中auto_increment字段估计大家都经常用到,特别是innodb引擎.我也经常用,只知道mysql可以 ...

  9. mysql 解压缩安装_[mysql] MySQL解压缩安装步骤

    以前装的MySQL出问题了,只好卸载了. 又下载了一个mysql-5.6.24-win32.1432006610.zip.msi文件直接安装就行了.这里需要解压到指定目录,配置后可使用. 环境变量配置 ...

最新文章

  1. 2021年大数据Kafka(八):Kafka如何保证数据不丢失
  2. Python基础,Hello,world
  3. React鼠标右单击事件
  4. JavaScript 学习提升
  5. 《我的十年图像生涯》—王郑耀(西安交通大学)
  6. 通过UIBezierPath贝塞尔曲线画圆形、椭圆、矩形
  7. hadoop最新稳定版本dkhadoop版本选择介绍
  8. 如何用python一个字一个字的输出汉字
  9. 轻松搞定对容器实例日志设置定期清理和回卷 1
  10. Centos-6.3-x86_64 minimal 迷你版安装笔记 - Java篇
  11. android init重启service(进程)
  12. Android Studio 创建aar包与引用
  13. 火狐浏览器安装有道翻译插件
  14. java tfidf_Hanlp分词实例:Java实现TFIDF算法
  15. SQL Server存储过程文本加密与解密过程详解 2019版可用
  16. 996工作制,还要抽时间提升自己吗?
  17. mongoDB练习强化
  18. 条形码扫描模块的作用是什么?有什么应用意义?
  19. linux centos 动态域名 自动更新
  20. 三维立体地图开发项目书

热门文章

  1. c语言判断闰年_大一C语言错题
  2. java wmi_WMI依赖服务使用WMI查询
  3. python列表去掉特定项_python实现删除列表中某个元素的3种方法
  4. Visual C++ 2008 runtime files are out of data
  5. iOS-raywenderlich翻译-AFNetworking速成教程
  6. 洛谷 P3853 [TJOI2007]路标设置
  7. 三十六、rsync通过服务同步、Linux系统日志、screen工具
  8. puppet应用原理及安装部署
  9. WPF-003 popup实现下拉列表的问题
  10. 网页制作技术革新:《HTML5 网站大观》系列文章导航