MySQL的正则替换数据:REGEXP_REPLACE函数

MySQLregexp_replaceMySQL以及regexp extract all在MySQL的用法 MySQL中,函数用于在字符串中搜索正则表达式模式,并用指定的字符串替换该模式的每个匹配项。 阅读详情

用法: (此函数为MYSQL8.0版本新增,低于8.0版本没有此函数)

 REGEXP_REPLACE()函数用于模式匹配。它通过匹配字符来替换给定的字符串字符。

REGEXP_REPLACE(exprpatrepl[, pos[, occurrence[, match_type]]])

Replaces occurrences in the string expr that match the regular expression specified by the pattern pat with the replacement string repl, and returns the resulting string. If exprpat, or repl is NULL, the return value is NULL.

(将字符串表达式中与模式pat指定的正则表达式匹配的匹配项替换为替换字符串repl,并返回结果字符串。如果expr、pat或repl为NULL,则返回值为NULL)

REGEXP_REPLACE() takes these optional arguments:

  • pos: The position in expr at which to start the search. If omitted, the default is 1.

  • occurrence: Which occurrence of a match to replace. If omitted, the default is 0 (which means “replace all occurrences”).

  • match_type: A string that specifies how to perform matching. The meaning is as described for REGEXP_LIKE().

Prior to MySQL 8.0.17, the result returned by this function used the UTF-16 character set; in MySQL 8.0.17 and later, the character set and collation of the expression searched for matches is used. (Bug #94203, Bug #29308212)

 

使用示例:

表数据

MySQL 正则替换数据:REGEXP_REPLACE函数

功能需求:把 name 字段中的a标签内容替换为空

实现SQL:

UPDATE tableName set `name` = REGEXP_REPLACE(`name`, '<.*>', '') WHERE `name` REGEXP '<.*>';
mysql5.7实现regex_replace正则替换功能 PS:最近接个小需求:针对用户敏感信息脱敏处理,数据源在mysql。刚开始想法是直接用mysql里面的regexp_replace函数对敏感字段进行清洗。后来发现mysql8.0才支持regexp_replace()。mysql5.7里只有正则匹配的函数。再后来想把数据抽取到hdfs上用hive来处理。一想到还得抽数建表,我最终决定用mysql的自定义函数来解决,省时省力。 1.开启mysql... 阅读详情

相关推荐

MySQL正则表达式实战:如何用regexp_replace高效清洗数据(附5个常见场景)

本文深入解析MySQL 8.0的regexp_replace函数,通过5个实战场景展示其如何高效清洗数据,包括日志标准化、电话号码格式化、数据脱敏、冗余字符清理及复杂文本解析。文章强调该函数数据库层面进行模式匹配的强大能力,并提供了性能优化与避坑指南,帮助开发者和数据分析师提升数据处理效率。

weixin_29219189的博客 229

MySQL正则表达式regexp_replace函数

注:此函数MySQL8.0 版本新增,低于8.0版本没有此函数regexp_replace(expr, pat, repl[, pos[, occurrence[, match_type]]]) 用法 将字符串expr与pat指定的正则表达式匹配的匹配项,替换为字符串repl,并返回结果字符串。如果expr、pat或repl为NULL,则返回值为NULL。 参数 expr:要替换的原始字符串,或者数据库表指定的列。 pat:要匹配的正则表达式,pat为空串时抛异常,Illegal ar.

风火燎原、 9860

正则表达式三剑客:regexp_replace()、regexp_substr()、regexp_instr()实战解析

本文深入解析正则表达式三剑客regexp_replace()、regexp_substr()和regexp_instr()的实战应用,涵盖数据清洗、字符串提取和精确定位等核心功能。通过电商订单处理、日志分析和敏感信息检测等真实案例,展示如何高效利用这些函数解决复杂文本处理问题,提升数据处理效率。

weixin_29248313的博客 435

REGEXP_REPLACE的使用方法

regexp_replace的使用非常灵活,且容易忘记,故做此笔记。 没有过多的介绍使用说明,只是根据个人理解列出很多相似案例,个人觉得通过对比,更容易理解其使用技巧。 命令格式: regexp_replace(source, pattern, replace_string, occurrence) 参数说明: ● source: string类型,要替换的原始字符串。 ● pattern: string类型常量,要匹配的正则模式,pattern为空串时抛异常。 ● replace_string:.

JohnnyChu的博客 10万+

MySQL 正则替换数据REGEXP_REPLACE函数

数据 功能需求:把 name 字段中的a标签内容替换为空 实现SQL: UPDATE tableName set `name` = REGEXP_REPLACE(`name`, '<.*>', '') WHERE `name` REGEXP '<.*>'; 用法: REGEXP_REPLACE()函数用于模式匹配。它通过匹配字符来替换给定的字符串字符。 REGEXP_REPLACE(expr,pat,repl[,pos[,occurrence[,mat...

希望我的博客,能帮上你解决学习中工作中所遇到的问题,也期待与您一起探讨技术问题,共同成长。 1万+

MySQL 正则替换数据REGEXP_REPLACE 函数

MySQL 正则替换数据REGEXP_REPLACE 函数 MySQL 正则替换数据REGEXP_REPLACE 函数 - 膨胀的面包 https://blog.error.work/database/153.html 用法 注意:此函数MYSQL8.0 版本新增,低于 8.0 版本没有此函数 REGEXP_REPLACE() 函数用于模式匹配。它通过匹配字符来替换给定的字符串字符。 REGEXP_REPLACE(expr, pat, repl[, pos[, occurrence[, match_

王图思睿 1489

告别字符串处理噩梦:用MySQLregexp_replaceregexp_substr、regexp_instr函数搞定数据清洗

本文详细介绍了MySQL中的正则表达式函数regexp_replaceregexp_substr和regexp_instr在数据清洗中的高效应用。通过实战案例展示了如何利用这些函数处理复杂的数据格式问题,如电话号码标准化、日志信息提取和敏感数据隐藏,显著提升数据处理效率。

weixin_31766003的博客 240

练习MySQL数据库的增删检查

部门号` int(11) NOT NULL,`职工号` int(11) NOT NULL,`工作时间` date NOT NULL,`工资` float(8,2) NOT NULL,`政治面貌` varchar(10) NOT NULL DEFAULT '群众',`姓名` varchar(20) NOT NULL,`出生日期` date NOT NULL,PRIMARY KEY (`职工号`)

Lpzczt999的博客 1352

MySQL的字符串匹配标准_mysql的字符串匹配

需求表数据如下:mysql> select * from test;+----+-------+| id | name |+----+-------+| 1 | abc** |+----+-------+1 row in set (0.00 sec)我想匹配 abcde,也就是一个*代表一个字符分析:在正则中*代表0个或者多个,因此此处的存储有问题,应该存储.或者_那么查询sql可以通过...

weixin_42509236的博客 392

DoctrineExtensions实战教程:10个常用函数使用场景详解

DoctrineExtensions是一套强大的Doctrine 2扩展,提供了丰富的数据函数和类型支持,帮助开发者轻松实现复杂查询和数据处理需求。本文将详细介绍10个最常用函数的使用场景和实战示例,让你快速掌握这些实用工具的应用方法。 ## 1. GROUP_CONCAT:高效合并多行数据 在处理一对多关系数据时,经常需要将多条记录的某个字段合并成一个字符串。GROUP_CONCAT函数

gitblog_00100的博客 658

MySQL系列之正则函数regexp

regexp_replace

lonelymanontheway的博客 1万+

MYSQL中的REPLACE函数,以及Hive中的regexp_replace的用法

MYSQL中的REPLACE函数,以及Hive中的regexp_replace的用法 前言一、repacle是什么?二、使用步骤1.实践是检验真理的唯一标准2.Hive中的替换函数regexp_replace总结 MYSQL中的REPLACE函数,以及Hive中的regexp_replace的用法 文章目录前言一、repacle是什么?二、使用步骤1.实践是检验真理的唯一标准2.Hive中的替换函数regexp_replace总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的.

qq_44769220的博客 2996

MySQL 替换正则 任意字符

MySQL替换正则表达式中的任意字符可以通过使用函数来实现。通过结合正则表达式,我们可以实现更灵活和精确的字符替换操作,从而满足各种数据处理需求。

牛肉胡辣汤 2346

Mysql正则函数REGEXP的使用,适合复杂查询条件

MySQL 8.0+才引入regexp_replaceregexp_like,regexp_instr,regexp_substr四个函数,在低于此版本MySQL客户端执行这四个函数,报错:FUNCTION regexp_xxx does not exist下面蓝色字体是链接,个人整理的正则表达式大全正则表达式大全。

虽千万人,吾往矣 5228

mysql正则替换_MySQL中使用replaceregexp进行正则表达式替换的用法分析

本文实例讲述了MySQL中使用replaceregexp进行正则表达式替换的用法。分享给大家供大家参考,具体如下:今天一个朋友问我,如果将数据库中查到的类似于“./uploads/110100_cityHotel_北京富豪华宾馆.jpg”这样的格式都修改为“./uploads/110100cityHotel北京富豪华宾馆.jpg”这样的格式。我本人是没有这样处理过数据的,但是我知道mysql是可...

weixin_35538624的博客 2714

mysql/mariadb regexp_replace 正则替换查询记录

在千万级数据库中存储的一个某个字段中一些内容需要替换,可以用REPLACE(str,from_str,to_str) 替换REPLACE 比较简单,到处都能搜到用法,此处不做解说; 此处只简单介绍一下 regexp_replace ;在之前如果需要替换多个字符,只能是用后端语言将数据读取出来,循环数据正则替换掉对应字符,再更新到数据库;该方法效率太低。 后来发现mysql中有个 regexp_replace,可以直接在数据库中使用正则替换;示例,格式化手机号码,只保留数字: set @string=‘18

longren610的博客 1220

mysqlreplace使用正则表达式_MySQL中使用replaceregexp进行正则表达式替换的用法分析...

本文实例讲述了MySQL中使用replaceregexp进行正则表达式替换的用法。分享给大家供大家参考,具体如下:今天一个朋友问我,如果将数据库中查到的类似于“./uploads/110100_cityHotel_北京富豪华宾馆.jpg”这样的格式都修改为“./uploads/110100cityHotel北京富豪华宾馆.jpg”这样的格式。我本人是没有这样处理过数据的,但是我知道mysql是可...

weixin_35943077的博客 5049
上一篇: python在线速查手册
下一篇: WORDPRESS.COM 和 WORDPRESS.ORG 有什么不同? 比较 WORDPRESS.COM 和 WORDPRESS.ORG
xMas思
博客等级 码龄19年 26粉丝 60原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xMas思

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值