MySQL中正则表达式查询的SQL语句集锦

数据库 MySQL
MySQL作为关系型数据库的一种,起支持SQL进行数据库的增删改查操作是其必备功能之一!

 MySQL作为关系型数据库的一种,起支持SQL进行数据库的增删改查操作是其必备功能之一!

SQL的查询功能中,碰到需要检索或替换那些符合某个模式的文本内容是最常见的应用场景,此时就需要用到正则表达式根据指定的匹配模式匹配文本中符合要求的特殊的字符。

 

 

 

[[285847]]

 

我们可以先假设下面几个场景:

  1. 从一个文本中提取电话号码;
  2. 从一大串字符中查找重复字符;
  3. 进行文章审核时对敏感词进行替换操作。

【1】数据准备

  • 建表:

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

  • 造数据

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

【2】^:匹配文本的开始字符

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

【结论】以字母“l”开头的记录都能查询出来。

【3】$:匹配文本的结束字符

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

【结论】以字母“r”结尾的记录都能查询出来。

【4】.:匹配任意一个字符

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

【结论】两个字母之间必须要存在另外一个字符才能符合匹配条件。

【5】*:匹配任意多个字符

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

【结论】包含匹配条件中罗列出的某个字母的记录都被认为是符合的。

【6】+:匹配其前面字符至少一次

 

 

【结论】可以实现多个字母的匹配。

【7】包含某个或几个字符

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

【结论】使用LIKE则要结合%才能生效。

【8】[]:匹配字符集中任何一个字符

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

【结论】返回[]中所有字母的记录。

【9】[^]:匹配不包含在指定集合中的任何字符

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

【结论】对于ID值为1至5的记录都被剔除。

【10】指定匹配次数:{n,}或{n,m}

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

【结论】指定的字母必须连续出现,{n,m}中的m才生效。

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

总结

MySQL支持的正则表达式有:

 

「17」MySQL中正则表达式查询的SQL语句集锦

 

责任编辑:华轩 来源: 今日头条
相关推荐

2010-03-25 18:25:36

Python正则表达式

2009-02-17 09:10:01

正则表达式Java优化

2018-09-27 15:25:08

正则表达式前端

2019-09-24 09:29:26

Python数据接口

2019-05-21 10:42:41

Python正则表达式

2020-09-04 09:16:04

Python正则表达式虚拟机

2011-08-16 16:40:06

iPhone应用正则表达式OgreKit

2009-09-16 17:15:57

正则表达式引擎

2016-11-10 16:21:22

Java 正则表达式

2022-01-04 11:35:03

Linux Shel正则表达式Linux

2023-09-13 08:12:45

2009-09-16 18:03:05

Java正则表达式正则表达式实现

2009-08-07 14:24:31

.NET正则表达式

2009-09-16 18:19:34

正则表达式组

2021-01-27 11:34:19

Python正则表达式字符串

2017-05-12 10:47:45

Linux正则表达式程序基础

2009-02-18 09:48:20

正则表达式Java教程

2011-06-02 12:34:16

正则表达式

2022-03-28 06:19:14

正则表达式开发

2019-07-17 15:45:47

正则表达式字符串前端
点赞
收藏

51CTO技术栈公众号