在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配。

MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。

如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似。

下表中的正则模式可应用于 REGEXP 操作符中。

模式 描述
^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。
$ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。
. 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。
[...] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
[^...] 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
p1|p2|p3 匹配 p1 或 p2 或 p3。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
{n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。

实例

了解以上的正则需求后,我们就可以根据自己的需求来编写带有正则表达式的SQL语句。以下我们将列出几个小实例(表名:person_tbl )来加深我们的理解:

查找name字段中以'st'为开头的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

查找name字段中以'ok'为结尾的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

查找name字段中包含'mar'字符串的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

MySQL 正则表达式相关推荐

  1. mysql 正则表达式_MySQL(基础正则表达式)

    什么是正则表达式嘞,引用一段百度百科的一段话: 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表 ...

  2. MySQL从入门到精通50讲(十一)-MySQL正则表达式及事务

    前言 声明:以下是博主精心整理的机器学习和AI系列文章,博主后续会不断更新该领域的知识: 人工智能AI实战系列代码全解析 手把手教你ML机器学习算法源码全解析 有需要的小伙伴赶紧订阅吧. MySQL ...

  3. mysql正则表达式regexp_mysql - 正则表达式 RegExp

    -- mysql 正则表达式 RegExp -- 操作符 -- ^ 匹配输入字符串的开始位置. -- $ 匹配输入字符串的结束位置. -- . 匹配除 "\n" 之外的任何单个字符 ...

  4. mysql正则表达式配置_G. MySQL正则表达式

    附录G:MySQL正则表达式 正则表达式是为复杂搜索指定模式的强大方式. MySQL采用Henry Spencer的正则表达式实施,其目标是符合POSIX 1003.2.请参见附录C:感谢.MySQL ...

  5. MySQL正则表达式的使用

    在MySQL中正则表达式在where条件关键字后使用,我们可以用他来筛选查看数据以及删除数据,开头.结尾.包含简单的筛选我们也可以通过like关键字来进行筛选,但正则表达式能够进行更为复杂的筛选.这里 ...

  6. php mysql 正则表达式_mysql正则表达式(Regexp)的示例详解

    MySQL支持基于正则表达式和REGEXP运算符的另一种模式匹配操作.(相关推荐:<MySQL教程>) 1.它提供了强大而灵活的模式匹配,可以帮助我们为数据库系统实现power搜索实用程序 ...

  7. mysql正则表达式讲解_MySQL 正则表达式详解

    MySQL 正则表达式 在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配. MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正 ...

  8. mysql正则表达式配置,MySQL REGEXP:正则表达式

    正则表达式主要用来查询和替换符合某个模式(规则)的文本内容.例如,从一个文件中提取电话号码,查找一篇文章中重复的单词.替换文章中的敏感语汇等,这些地方都可以使用正则表达式.正则表达式强大且灵活,常用于 ...

  9. mysql正则表达式关键字_《MySQL必知必会》正则表达式

    <MySQL必知必会>正则表达式 正则表达式 1.1.关键字 REGEXP 正则表达式的使用需要用到关键字 REGEXP . select prod_name from products ...

  10. php mysql 正则表达式_MYSQL使用正则表达式过滤数据_MySQL

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

最新文章

  1. Andriod监听支付宝收款实现个人支付宝支付接口!附安卓App
  2. 释疑の采购Invoice常用参数设置
  3. symantec antivirus 10.0服务器通讯问题
  4. DFS应用——遍历有向图+判断有向图是否有圈
  5. 动态规划基础——爬楼梯(Leetcode 70)
  6. Python开发最常犯错误总结10种
  7. 190129每日一句
  8. 全球CT影像20秒诊断,阿里云为新冠AI辅助诊断系统加速 | 凌云时刻
  9. 服务器四核cpu性能排行,服务器cpu性能排行
  10. Win7 开启自带WIFI进行手机抓包
  11. 使用pascal voc训练测试faster rcnn
  12. 统计学计算机数据输入,数据输入是什么意思
  13. 统计java代码行数_统计项目代码行数
  14. linux可视化界面黑屏,Fedora 14 不能进入图形界面 显示黑屏的解决办法
  15. Gartner 魔力象限:数据中心备份和恢复解决方案 2020年
  16. 学术圈很火的 超材料、超表面、超透镜:什么时候可以代替传统透镜?
  17. 导数在梯度下降算法中的意义理解
  18. 一二线城市知名 IT互联网公司名单(最新整理版)出炉!
  19. 一篇就懂的CMMI认证三级评估准备及其注意事项
  20. 同一绘制图区绘制多图

热门文章

  1. 【OpenCV 例程200篇】68. 连续周期信号的傅立叶级数
  2. channelsftp的put_JSch - Java实现的SFTP(文件上传详解篇)
  3. idea查看一个类的所有子类_java new一个对象的过程中发生了什么
  4. matlab 矩阵位移法编程 结构力学,matlab 矩阵位移法编程 结构力学
  5. Pyhton随机生成测试数据模块faker
  6. vs.net各版本解决方案相互转换工具
  7. 博客已经迁移到 http://imbotao.top 也会同步到这儿
  8. Mac - 苹果电脑mac系统释放硬盘空间方法汇总
  9. JavaScript密码复杂度
  10. 再读王永庆卖米的故事