【MySQL】MySQL中的函数之REGEXP_SUBSTR

在 MySQL 中,REGEXP_SUBSTR() 函数用于从字符串中提取与正则表达式匹配的子串。这个函数也是从 MySQL 8.0 开始引入的。下面是一些关于如何使用 REGEXP_SUBSTR() 的详细说明和示例。

基本语法

REGEXP_SUBSTR(str, pat [, position [, occurrence [, match_type ]]])
  • str: 要搜索的原始字符串。
  • pat: 正则表达式模式。
  • position: 可选参数,表示开始搜索的位置,默认为 1。
  • occurrence: 可选参数,表示返回第几次出现的匹配,默认为 1。
  • match_type: 可选参数,用于指定匹配的行为,可以是以下值:
    • 'c' 表示进行大小写敏感的匹配(默认)。
    • 'i' 表示进行大小写不敏感的匹配。

示例

示例 1: 提取第一个匹配的子串

假设有一个表 employees,其中有一个字段 email,我们想要提取所有电子邮件地址中的用户名部分(即 @ 符号之前的部分):

SELECT REGEXP_SUBSTR(email, '^[^@]+') AS username
FROM employees;

这里,^[^@]+ 是一个正则表达式,表示从字符串的开头开始匹配,直到遇到 @ 符号为止的所有字符。

示例 2: 提取特定位置的匹配

假设我们有一个字符串 str,包含多个数字,我们想要提取第二个出现的数字:

SET @str = 'abc123def456ghi789';
SELECT REGEXP_SUBSTR(@str, '[0-9]+', 1, 2) AS second_number;

这里,[0-9]+ 匹配一个或多个数字,1 表示从字符串的第 1 个字符开始搜索,2 表示返回第二个匹配的子串。

示例 3: 大小写不敏感的匹配

假设我们有一个字符串 str,我们想要提取第一个出现的单词 “hello”,并且不区分大小写:

SET @str = 'Hello World';
SELECT REGEXP_SUBSTR(@str, 'hello', 1, 1, 'i') AS first_hello;

这里,'i' 表示不区分大小写的匹配。

注意事项

  • 如果没有找到匹配的子串,REGEXP_SUBSTR() 将返回 NULL
  • 正则表达式中的特殊字符需要进行转义,例如 .*+ 等。
  • REGEXP_SUBSTR() 的性能可能不如简单的字符串操作函数,因此在处理大量数据时需要考虑性能影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/13776.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【大数据技术基础 | 实验十】Hive实验:部署Hive

文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验内容和步骤(一)安装部署(二)配置HDFS(三)启动Hive 六、实验结果(一)启动结果(二)Hive基…

[⑧5G NR]: PBCH payload生成

本篇博客记录下5G PBCH信道中payload数据的生成方式。PBCH payload一共32个比特,基本结构如下图: 根据SSB PDU中bchPayloadFlag的值有三种方式得到PBCH payload。 bchPayloadFlag 0:全部32比特由MAC层提供。 bchPayloadFlag 1:M…

大模型面试熬夜爆肝整理,附八股文和答案,这次换我手撕面试官了吧?

导读 自ChatGPT开启大模型时代以来,大模型正迎来飞速发展,现在从事大模型开发相关工作可谓是处在时代的风口。那么大模型面试需要哪些技能和技巧呢,本文详细整理了全套的面试问题及答案,希望对大家有所帮助! 目录 [x…

刷题笔记——栈和队列互相冒充

刷题笔记——栈和队列互相冒充 5.3 用队列实现栈两队列实现栈一个队列实现栈 5.4 用栈实现队列两栈实现队列push栈和pop栈一个栈实现队列 5.3 用队列实现栈 原OJ题:225. 用队列实现栈 - 力扣(LeetCode) 两队列实现栈 入栈的实现 选非空的…

【Linux】网络编程3

文件描述符的作用 在TCP通信的过程,服务器端会产生两类不同的文件描述符,一个是监听的文件描述符;另一个是用于通信的文件描述符。它们有什么不同呢? 监听的文件描述符: 只有一个,它不负责与客户端的通信&…

番外-JDBC:2024年最新java连接数据库教程

前言 JavaScript的内容晚点更新,今天继续更新一点番外,今天更新的是jdbc,如何用java连接数据库 1.导包 要使java能够连接数据库我们需要导入一个包,请按照以下操作安装并导包 1.进入官网 MySQL 以上为官网链接进去后点击下载…

LIMA模型——大模型对齐的新方法

人工智能咨询培训老师叶梓 转载标明出处 大模型通常在两个阶段进行训练:首先是从原始文本中进行无监督预训练,以学习通用表示;其次是通过大规模的指令微调和强化学习,以更好地适应最终任务和用户偏好。来自Meta AI、卡内基梅隆大…

向量数据库PGVECTOR安装

文章目录 前提向量数据库介绍PGVECTOR安装1、pgvector下载2、编译安装3、创建vector扩展 前提 已经安装好了pg14版本。 其他版本也可以。 pg安装教程:https://blog.csdn.net/yushaoyyds/article/details/138855306?spm1001.2014.3001.5502 向量数据库介绍 向量数…

Spring Boot框架助力电商系统设计

2 相关技术 2.1 SpringBoot框架介绍 Spring Boot是一种不需要代码生成的一种框架,并且可以不需要配置任何的XML文件就可以,因为Spring Boot里面自带了很多接口,只需要配置不同的接口就会自动的应用并且识别需要的依赖,在配置方面非…

双十一之夜:珠海体育中心悲剧,极端行为下的反思

双十一,这个原本充满购物狂欢与期待的节日,在珠海市香洲区的珠海市体育中心,被一场突如其来的极端事件所笼罩,让欢乐的氛围即刻凝固。62岁男子的一时冲动,驾车冲撞行人,导致35条宝贵生命戛然而止&#xff0…

常用环境部署(二十三)——Docker部署ERPNext

1、介绍 ERPNext 是一种业务财务集成一体的现代管理关键。 与传统会计和 ERP 相比,它具有许多优势。相对于传统记账软件的优势: ​不仅仅是会计! 管理库存、账单、报价、销售线索、工资单等。所有数据存放在同一个地方安全存储, 所有用户都在…

黑马程序员——Vue3小兔鲜项目(5. Home页)

静态结构搭建和分类实现 1. 整体结构创建 1- 按照结构新增五个组件&#xff0c;准备最简单的模版&#xff0c;分别在Home模块的入口组件中引入 HomeCategoryHomeBannerHomeNewHomeHotHomeProduct <script setup> </script><template><div> HomeCate…

nginx部署H5端程序与PC端进行区分及代理多个项目及H5内页面刷新出现404问题。

在项目中会碰见需要在nginx代理多个项目&#xff0c;如果在加上uniapp开发的H5端的项目&#xff0c;你还要在nginx中区分PC端和手机H5端&#xff0c;这就会让人很头大&#xff01;网上大部分的资料都是采用在nginx的conf配置文件中添加区分pc和手机端的变量例如&#xff1a;set…

【miniMax开放平台-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

除了 Postman,还有什么好用的 API 调试工具吗

尽管 Postman 拥有团队协作等实用特性&#xff0c;其免费版提供的功能相对有限&#xff0c;而付费版的定价可能对小团队或个人开发者而言显得偏高。此外&#xff0c;Postman 的访问速度有时较慢&#xff0c;这可能严重影响使用体验。 鉴于这些限制&#xff0c;Apifox 成为了一…

缓存(四)指标

这张图总结了缓存性能的三个主要指标&#xff1a;未命中率&#xff08;Miss Rate&#xff09;、命中时间&#xff08;Hit Time&#xff09; 和 未命中惩罚&#xff08;Miss Penalty&#xff09;。这些指标用于评估缓存系统的效率和性能。 1. 未命中率&#xff08;Miss Rate&am…

AI赋能电商:提升用户体验与销售效率的创新应用与未来展望

目录 前言1. AI在电商中的核心应用领域1.1 智能购物推荐1.2 精准的会员分类1.3 智能定价系统1.4 提升用户体验的智能客服系统 2. AI应用中的挑战与应对策略2.1 数据安全与隐私保护2.2 算法的公平性与透明度 3. AI在电商行业的未来发展趋势3.1 虚拟购物助手与元宇宙体验3.2 基于…

苹果音乐因为忘记续期,禁用了自己服务器...

我在《从零开始搭建博客》中有提到如何续费 SSL 证书&#xff0c;以及如何自动续费。当时我只是顺带提一嘴&#xff0c;没想到这么快&#xff0c;就有大厂因为忘记续费证书了… 然后&#xff0c;苹果是第一个被打脸的&#xff0c;忘记续期了&#xff0c;而且影响是非常重要的 …

CACTER诚邀您参加2024高交会

11月14-16日 第二十六届中国国际高新技术成果交易会 于深圳国际会展中心&#xff08;宝安&#xff09; 隆重开幕 CACTER于12号馆D12展位诚邀各位莅临 关于高交会 中国国际高新技术成果交易会&#xff08;简称“高交会”&#xff09;由深圳市人民政府主办&#xff0c;是目前…

微信多账号管理,让你的管理更轻松,效率更高!

现在微信账号越来越多&#xff0c;工作生活里头的微信一多&#xff0c;管理起来就头疼。各种消息、好友请求、群发消息一大堆&#xff0c;手忙脚乱的。 这时候&#xff0c;有个给力的微信管理工具就太重要了&#xff0c;它能帮你搞定社交&#xff0c;管理起来也轻松。 先说说…