本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

2021-05-10 | 编程技术 | 3177 次阅读 | 等你评论 | 3 次点赞 | 繁体

MySQL 正则替换数据:REGEXP_REPLACE 函数

用法

注意:此函数为 MYSQL8.0 版本新增,低于 8.0 版本没有此函数

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

REGEXP_REPLACE(expr, pat, repl[, 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 expr, pat, 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)

使用示例

表数据

图片alt

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

实现 SQL:

UPDATE tableName set `name` = REGEXP_REPLACE(`name`, '<.*>', '') WHERE `name` REGEXP '<.*>';

via:

MySQL 正则替换数据:REGEXP_REPLACE函数 - 代码天地
https://www.codetd.com/article/11975683

MySQL :: MySQL 8.0 Reference Manual :: 12.8.2 Regular Expressions
https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace

标签: mysql正则表达式教程

猜你喜欢
[Go]包依赖管理工具go mod使用详解
go module 是 Go 语言从 1.11 版本之后官方推出的版本管理工具,并且从 Go 1.13 版本开始,go module 成为了 Go 语言默认的依赖管理工具。Modules 官方定...
薅京东羊毛必备抓取Cookies教程
本文只介绍如何利用安卓手机浏览器获取京东 cookie 教程,具体为什么要获取 cookie 以及如何薅羊毛请查看:闲置服务器薅京东的羊毛—青龙面板部署与京东签到第一步,下载工具去各大应用商店搜...
typecho使用文件缓存加快打开速度
typecho 是一个伪静态的博客系统,如果不使用缓存,每次打开页面都会查询数据库,访问人数多了以后服务器压力倍增。但是,typecho 是一个 php 的程序,我们可以利用 php 将实时页面...
javascript | 原生JS多语言切换简单实现
由于项目需要实现一个前端的多语言切换,不想因为一个简单的功能就引入 jQuery,所以经过 google 编程大法摸索出一个原生 JS 就可以实现的多语言前端切换的小例子,仅供参考。<bo...
NUC8黑苹果更新OpenCore引导教程
鉴于本人的苹果笔记本年代久远,又想用最新的系统,所以早早就入手了 NUC8,并且成功安装了 macOS,使用 OC 引导,由最初的 macOS Catalina 10.15.7 陆续升级到了 m...
Windows快速批量删除大批文件或大数据量文件的命令
Windows 服务器或普通操作系统中经常会遇到很多生成的临时文件需要删除,如果需要删除的文件夹中数目很多,且文件很巨大时,如果通过鼠标选择文件夹再直接删除会响应得非常慢,特别是文件数量也巨大时。
仿网易评论盖楼 JS 实现 | html
看了些评论引用盖楼的网站,觉得网易的效果比较好,简单明了,让人看了就知道是引用评论,迟点准备自己也写个玩玩,应该能从中学到不少东西. 前端部分实现如下:https://www.phpvar.com/a
Linux VPS 安装 5.9 宝塔面板并免费升级到专业版
宝塔面板是一款服务器管理软件,支持 windows 和 linux 系统,可以通过 Web 端轻松管理服务器,提升运维效率。例如:创建管理网站、FTP、数据库,拥有可视化文件管理器,可视化软件管理器,
(首次提交评论需审核通过才会显示,请勿重复提交)