MySQL如何使用正则表达式?(代码示例)

mysql支持基于正则表达式和regexp运算符的另一种模式的匹配操作。下面本篇文章就带大家认识一下mysql的正则表达式(regexp),通过示例来简单介绍在mysql中如何使用正则表达式(regexp),希望对大家有所帮助。

MySQL如何使用正则表达式?(代码示例)

MySQL 正则表达式(Regexp)的简单介绍

1、它提供了强大而灵活的匹配模式,可以帮助我们为数据库系统实现强大的搜索实用程序。

2、regexp是执行正则表达式模式匹配时使用的运算符,rlike是同义词。

3、它还支持许多元字符,这些元字符在执行模式匹配时可以提供更大的灵活性和控制。

4、反斜杠用作转义字符。如果使用了双反斜杠,则仅在模式匹配中考虑。

5、不区分大小写。

以下是正则模式表,可以与REGEXP 操作符一起使用。【相关视频教程推荐:MySQL视频教程】

模式描述(具体匹配什么)^匹配字符串的开始位置。$匹配字符串的结束位置。.匹配除 “\n” 之外的任何单个字符。[…]匹配所包含的任意一个字符。[^…]匹配未包含的任意字符。?匹配它前面的零个或一个子表达式(字符串)。*匹配它前面的零个或多个子表达式(字符串)。+匹配它前面的一个或多个子表达式(字符串)。[abc]匹配方括号之间列出的任何字符。[^abc]匹配方括号之间未列出的任何字符。[A-Z]匹配任何大写字母。[a-z]匹配任何小写字母。[0-9]匹配从0到9的任何数字。[[::]]匹配单词的结尾。[:class:]匹配字符类,即[:alpha:]匹配字母,[:space:]匹配空格,[:punct:]匹配标点符号,[:upper:] 匹配上层字母。p1|p2|p3匹配任何模式,p1或 p2或p3{n}匹配n前面元素的子表达式{m,n}匹配m到前面元素的n个子表达式

使用示例:

下面通过简单的示例来介绍MySQL 正则表达式(Regexp)的使用。

1、匹配字符串的开头(^):

匹配name字段以’sa’开头的所有数据,例:Sample-sam,samarth。

SELECT name FROM student_tbl WHERE name REGEXP '^sa';

2、匹配字符串的结尾($):

匹配name字段以’on’结尾的所有数据,例:norton,merton。

SELECT name FROM student_tbl WHERE name REGEXP 'on$';

3、匹配它前面的字符串的零或一个子表达式(?):

匹配title字段包含’com’的所有数据,例:comedy ,romantic comedy。

SELECT title FROM movies_tbl WHERE title REGEXP 'com?';

4、匹配任何模式p1或p2或p3(p1 | p2 | p3):

匹配name字段包含’be’或’ae’的所有数据,例: Abel,Baer。

代码小浣熊 代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊 51 查看详情 代码小浣熊

SELECT name FROM student_tbl WHERE REGEXP 'be|ae' ;

5、匹配方括号([abc])之间列出的任何字符:

匹配name字段包含’j’或’z’的所有数据,例:Lorentz,Rajs。

SELECT name FROM student_tbl WHERE REGEXP '[jz]' ;

6、匹配’a’到’z’ 之间的任何单个小写字母([a-z])([a-z]和(.)):

匹配name字段中第一位包含“b”和“g”范围内字母,第二位包含任何字符,第三位包含字母’a’的所有字符串数据,例: Tobias,sewall。

匹配任何单个字符(.)

SELECT name FROM student_tbl WHERE REGEXP '[b-g].[a]' ;

7、匹配方括号之间未列出的任何字符([^ abc]):

匹配所有不包含’j’或’z’的名称。例: nerton,sewall。

SELECT name FROM student_tbl WHERE REGEXP '[^jz]' ;

8、匹配单词结尾位置的子字符串[[:>:]]

匹配title字段中以字符“ack”结尾的所有数据,例:Black。

SELECT title FROM movies_tbl WHERE REGEXP 'ack[[:>:]]';

9、匹配单词开头位置的子字符串[[:<:]]

匹配title字段中以字符“for”开头的所有数据,例 :Forgetting Sarah Marshal.。

SELECT title FROM movies_tbl WHERE title REGEXP '[[:<:]]for';

10、匹配字符类[:class:]:

ie [:lower:] – 小写字符,[:digit:] – 数字字符等。

匹配title字段中仅包含字母字符的所有数据,例:stranger things, Avengers。

SELECT title FROM movies_tbl WHERE REGEXP '[:alpha:]' ;

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注创想鸟相关教程栏目!!!

以上就是MySQL如何使用正则表达式?(代码示例)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/379003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
南芯科技连续两年获华勤“优秀质量奖”
上一篇 2025年11月6日 10:36:13
撤销快捷键ctrl加什么_撤销操作的快捷键介绍
下一篇 2025年11月6日 10:36:18

相关推荐

  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • MySQL数据库不支持中文的解决办法

    接上一篇文章,在解决了mysql+flask环境配置问题之后,往数据库存中文字符串会报1366错误,提示不正确的字符。继而发现默认的mysql采用了latin1字符集,这种编码是不支持中文的。 如果想支持中文的话,需要设置一下mysql字符集。 众所周知utf-8是可以的,gbk也没问题,为了可扩展…

    用户投稿 2026年5月10日
    000
  • Python正则表达式:处理数字不同情况的替换

    本文旨在帮助读者理解和解决在使用Python正则表达式进行数字替换时遇到的问题。通过具体示例,详细解释了如何正确匹配和替换不同格式的数字,避免常见的匹配陷阱,并提供可直接使用的代码示例。掌握这些技巧,能有效提高处理文本数据的效率和准确性。 在使用Python的re模块进行字符串替换时,正则表达式的编…

    2026年5月10日
    000
  • Go语言连接外部MySQL数据库:DSN配置与常见错误解析

    本文详细阐述了go语言使用`go-sql-driver/mysql`驱动连接外部mysql数据库的正确方法。重点介绍了数据源名称(dsn)的规范格式,特别是主机地址部分的配置,以避免常见的“getaddrinfow: the specified class was not found.”等网络解析错…

    2026年5月10日
    000
  • 后缀php怎么打开_php文件打开方式与运行环境搭建指南

    要打开PHP文件需根据用途选择方式:查看代码可用文本编辑器或IDE,运行则需服务器环境。推荐新手使用XAMPP、WAMP等集成环境,将文件放入htdocs目录后访问localhost;开发者可利用PHP内置服务器,命令行执行php -S localhost:8000运行;高级用户可手动配置Apach…

    2026年5月10日
    000
  • 使用JavaScript正则表达式验证DFA字符串

    本文旨在探讨如何高效地使用javascript的内置正则表达式功能来验证符合特定确定性有限自动机(dfa)规则的字符串。我们将对比手动构建状态转换表的复杂性与利用正则表达式的简洁与强大,并通过具体代码示例展示如何将dfa的正则表达式直接应用于字符串验证,从而实现更可靠、易维护的解决方案。 确定性有限…

    2026年5月10日
    000
  • 高效处理Selenium抓取中的特殊HTML字符:JavaScript注入法

    本教程旨在解决使用Selenium的.text方法抓取网页内容时,因保留不可见特殊HTML字符(如连字符、非断行空格等)导致的数据清洗难题。文章核心内容是介绍如何通过driver.execute_script方法注入JavaScript代码,在提取文本之前直接从DOM中移除这些包含特殊字符的HTML…

    2026年5月10日
    000
  • PHP动态网页数据库备份恢复_PHP动态网页MySQL数据库备份教程

    答案:PHP动态网页的MySQL数据库备份与恢复需通过定期导出SQL文件并安全存储来保障数据安全,核心方法包括使用mysqldump命令行工具实现高效灵活的自动化备份,利用phpMyAdmin图形化工具进行手动导出导入以降低操作门槛,以及通过PHP脚本调用系统命令将备份过程集成到应用中;恢复时可采用…

    2026年5月10日
    000
  • PHP中验证Base64编码字符串有效性的实用指南

    本教程将详细介绍在PHP中如何有效验证Base64编码字符串的有效性,特别是针对常见的数据URI格式(如data:image/jpeg;base64,…)。我们将探讨利用base64_decode和base64_encode函数进行往返验证的核心技术,并提供实用的代码示例及重要注意事项,…

    2026年5月10日
    000
  • php登录怎么实现_php用户登录系统完整实现

    <blockquote>PHP用户登录系统的核心是安全验证与会话管理。首先创建POST提交的登录表单,避免敏感信息暴露;后端通过session_start()启动会话,使用trim()和htmlspecialchars()清理输入,防止XSS攻击;利用PDO预处理语句查询数据库,防止SQ…

    用户投稿 2026年5月10日
    000
  • C++ 如何替换字符串中的部分内容_C++ 替换字符串内容的常用技巧

    答案:C++中常用字符串替换方法包括使用find与replace循环替换所有匹配项,示例代码展示如何通过while循环查找并更新位置实现全局替换;单次替换只需查找第一个匹配并执行一次replace操作;若需忽略大小写,须自定义查找函数如findIgnoreCase进行字符转小写比较;对于模式匹配类替…

    2026年5月10日
    100
  • 远程MySQL数据库连接指南:从本地PHP应用访问GCP实例数据库

    本文详细指导如何在本地php应用中连接到google cloud platform (gcp) 虚拟机实例上的远程mysql数据库。教程涵盖了数据库连接参数的配置、使用php pdo建立连接的方法、gcp环境下的网络配置要点,以及常见的安全和故障排除建议,旨在帮助开发者顺利实现跨环境的数据库通信。 …

    2026年5月10日
    000
  • Nginx 子目录应用URI重写与参数传递教程

    本教程详细阐述了如何在Nginx中为PHP应用实现子目录URI重写,特别是如何从请求URI中剥离子目录路径并将其余部分作为参数传递给主入口文件。通过try_files和rewrite指令的组合,本教程提供了一种高效且准确的解决方案,以替代Apache .htaccess的RewriteRule功能,…

    2026年5月10日
    000
  • 在PHP中实现MySQL数据插入时避免重复记录的策略

    本文将探讨在php应用中向mysql数据库插入数据时,如何有效避免重复记录的产生。针对当主键或唯一索引字段值已存在的情况,我们将介绍使用`insert ignore`语句的策略,以确保数据完整性并防止不必要的重复插入,从而简化数据管理逻辑。 引言:数据完整性与重复记录问题 在数据库管理中,数据完整性…

    2026年5月10日
    000
  • python如何将列表转换为字符串_python列表与字符串相互转换技巧

    将列表转换为字符串需用join()方法,确保元素均为字符串类型;含非字符串元素时应先用列表推导式结合str()转换。 在Python中,将列表转换为字符串最常见且高效的方式是使用字符串的 join() 方法;而将字符串转换为列表,则主要依赖于字符串的 split() 方法,或者针对特定需求使用 li…

    2026年5月10日
    200
  • php实现哪些功能

    PHP是一种通用脚本语言,可用来实现广泛的功能,包括:动态Web开发:生成响应用户请求的动态 веб页面。内容管理系统(CMS):构建允许用户管理网站内容的CMS。电子商务:开发具有购物车、订单处理和支付网关集成的电子商务网站。服务器端编程:编写命令行脚本和工具。文件操作:创建、读取、写入和删除文件…

    2026年5月10日
    000
  • PHP 动态 SQL WHERE 子句构建:避免重复 AND 的策略

    本文探讨了在 php 中动态构建 sql 查询 `where` 子句时常见的“`where and`”语法错误及其解决方案。通过逐步构建条件字符串,确保第一个条件不带 `and`,后续条件正确使用 `and` 连接,从而生成符合 sql 规范的查询语句,提高代码的健壮性和可读性。 动态构建 SQL …

    2026年5月10日
    200
  • PHP中基于用户角色的页面访问控制实践

    本教程详细讲解如何在PHP应用程序中利用会话(Session)机制实现基于用户角色的页面访问控制。通过正确的session_start()调用、用户登录时的角色信息存储,以及在受保护页面进行严格的会话和角色类型检查,确保只有特定用户(如“manager”)才能访问指定页面,从而有效防止未经授权的访问…

    2026年5月10日
    100
  • php数据库触发器应用实例_php数据库自动化任务的处理

    通过MySQL触发器与PHP结合,可在数据变更时自动记录日志、校验数据及同步状态。首先创建user_log表并定义AFTER INSERT/UPDATE/DELETE触发器,记录users表的操作信息;随后使用PHP的PDO执行增删改操作,验证日志生成;接着创建BEFORE INSERT触发器限制非…

    2026年5月10日
    000
  • php数据库数据压缩处理_php数据库存储空间优化方法

    可通过启用MySQL行压缩、PHP层数据压缩、优化字段结构及分表归档策略减少存储占用。具体步骤:1. 使用InnoDB压缩表并设置KEY_BLOCK_SIZE;2. PHP中用gzcompress压缩大数据字段,存为BLOB;3. 选用更小数据类型如TINYINT,避免冗余TEXT;4. 将历史数据…

    2026年5月10日
    100

发表回复

登录后才能评论
关注微信