我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据库操作DQL正则表达式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据库操作DQL正则表达式

前言:

正则表达式(regular expression)描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。

mysql通过REGEXP关键字支持正则表达式进行字符串匹配。

MySQL数据库操作DQL正则表达式

MySQL数据库操作DQL正则表达式

-- ^ 在字符串开始处进行匹配
SELECT 'abc' REGEXP '^a'; -- 1
-- $ 在字符串末尾开始匹配
SELECT 'abc' REGEXP 'a$'; -- 0
SELECT 'abc' REGEXP 'c$'; -- 1
-- . 匹配任意字符
SELECT 'abc' REGEXP '.b'; -- 1
SELECT 'abc' REGEXP '.c'; -- 1
SELECT 'abc' REGEXP 'a.'; -- 1
-- [...] 匹配括号内的任意单个字符
SELECT 'abc' REGEXP '[xyz]'; -- 0
SELECT 'abc' REGEXP '[xaz]'; -- 1

返回值为1就代表匹配到了,如果返回值为0就代表不能匹配

-- [^...] 注意^符合只有在[]内才是取反的意思,在别的地方都是表示开始处匹配
SELECT 'a' REGEXP '[^abc]';-- 0
SELECT 'x' REGEXP '[^abc]';-- 1
SELECT 'abc' REGEXP '[^a]';-- 1

使用[^]则代表的是,不能匹配到,那么有些人肯定会疑问,为什么最后一个却匹配到了,虽然里面包含a,但是[^a]代表的是,除了a,里面还有其他的,也可以匹配成功,这里其实涉及到了一个单词中的全匹配和局部匹配。

负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'

-- a* 匹配0个或多个a,包括空字符串。 可以作为占位符使用.有没有指定字符都可以匹配到数据
SELECT 'stab' REGEXP '.ta*b';
SELECT 'stb' REGEXP '.ta*b';
SELECT '' REGEXP 'a*';

注意这里的*是0个或者多个,所以最后一个返回的是1

-- a+ 匹配1个或者多个a,但是不包括空字符
SELECT 'stab' REGEXP '.ta+b';
SELECT 'stb' REGEXP '.ta+b';

注意这里的+是1个或者多个

-- a? 匹配0个或者1个a
SELECT 'stb' REGEXP '.ta?b';
SELECT 'stab' REGEXP '.ta?b';
SELECT 'staab' REGEXP '.ta?b';
-- a1|a2 匹配a1或者a2,
SELECT 'a' REGEXP 'a|b';
SELECT 'b' REGEXP 'a|b';
SELECT 'b' REGEXP '^(a|b)';
SELECT 'a' REGEXP '^(a|b)';
SELECT 'c' REGEXP '^(a|b)';
-- a{m} 匹配m个a
SELECT 'auuuuc' REGEXP 'au{4}c';
SELECT 'auuuuc' REGEXP 'au{3}c';

注意这里的?是0个或者1个,标准的名字叫做非贪婪模式

-- a{m,n} 匹配m到n个a,包含m和n
SELECT 'auuuuc' REGEXP 'au{3,5}c';
SELECT 'auuuuc' REGEXP 'au{4,5}c';
SELECT 'auuuuc' REGEXP 'au{5,10}c';
-- (abc) abc作为一个序列匹配,不用括号括起来都是用单个字符去匹配,如果要把多个字符作为一个整体去匹配就需要用到括号,所以括号适合上面的所有情况。
SELECT 'xababy' REGEXP 'x(abab)y';
SELECT 'xababy' REGEXP 'x(ab)*y';
SELECT 'xababy' REGEXP 'x(ab){1,2}y';

一般的实际应用场景,通过正则表达式可以对文本进行匹配,这比之前的like关键字要智能的多,应用场景也是比较的广,所以需要熟悉它的语法标准:

select 字段 regexp '正则表达式' as 命名 from 表   ……

到此这篇关于MySQL数据库操作DQL正则表达式的文章就介绍到这了,更多相关MySQL数据库操作DQL 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据库操作DQL正则表达式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据库操作DQL正则表达式

前言:正则表达式(regular expression)描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合
2022-07-11

MySQL数据库操作DQL正则表达式的方法

本文小编为大家详细介绍“MySQL数据库操作DQL正则表达式的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL数据库操作DQL正则表达式的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言:正则
2023-07-02

正则表达式操作符有哪些

这篇文章主要介绍正则表达式操作符有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!常用匹配.(匹配任何单个字符。例如正则表达式r.t匹配这些字符串:rat、rut、r t,但是不匹配root)$(匹配行结束符。例如
2023-06-17

Python的re模块正则表达式操作

这个模块提供了与 Perl 相似l的正则表达式匹配操作。Unicode字符串也同样适用。正则表达式使用反斜杠" "来代表特殊形式或用作转义字符,这里跟Python的语法冲突,因此,Python用" \\ "表示正则表达式中的" ",因为
2022-06-04

阿里云数据库正则表达式使用指南

正则表达式是一种强大的文本处理工具,被广泛用于文本搜索、替换、提取等操作。在阿里云数据库中,正则表达式也得到了广泛的应用,可以帮助我们更有效地处理和分析大量数据。本文将详细介绍阿里云数据库中正则表达式的使用方法。一、正则表达式的基础知识正则表达式由字符、字符类、量词、分组、选择、重复、预查和操作符等构成。下面是一
阿里云数据库正则表达式使用指南
2023-11-22

VBS正则表达式操作符的优先权顺序

这篇文章主要讲解了“VBS正则表达式操作符的优先权顺序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VBS正则表达式操作符的优先权顺序”吧!优先权顺序在构造正则表达式之后,就可以象数学表达式
2023-06-09

如何理解PHP正则表达式函数库

如何理解PHP正则表达式函数库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。浅析PHP正则表达式函数库是什么呢?这里向你介绍了PHP正则表达式函数库(POSIX
2023-06-17

编译Python正则表达式的具体操作方法

这期内容当中小编将会给大家带来有关编译Python正则表达式的具体操作方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。现在我们已经看了一些简单的正则表达式,那么我Python正则表达式在实际应用中如何使
2023-06-17

Python正则表达式中字符串的实际操作方式

本篇内容介绍了“Python正则表达式中字符串的实际操作方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python正则表达式字符串方法
2023-06-17

编程热搜

目录