You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 8.0下REGEXP_REPLACE替换双星号加粗标记为strong标签报错如何处理

MySQL 8.0 双星号标记转strong标签解决方案

报错原因

你遇到的正则语法报错由两个问题导致:

  1. MySQL的字符串中反斜杠本身是SQL转义字符,你写的\*会被SQL层提前转义为普通*,最终传递给正则引擎的表达式不符合语法要求
  2. MySQL的REGEXP_REPLACE函数引用捕获组无需额外加反斜杠,直接使用$1即可

正确实现代码

SET @markup = 'The word **bold** should be **bold** in each instance';

SELECT
REGEXP_REPLACE( @markup, '\\*{2}(.*?)\\*{2}','<strong>$1</strong>') AS Markup;

优化说明

如果你的加粗内容中不会出现单独的星号,可以使用更高效的精准匹配写法,避免非贪婪匹配的性能损耗:

REGEXP_REPLACE( @markup, '\\*{2}([^*]*)\\*{2}','<strong>$1</strong>')

执行结果

运行上述代码后即可得到预期输出:

The word <strong>bold</strong> should be <strong>bold</strong> in each instance

内容的提问来源于stack exchange,提问作者Beems

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:54:07