mysql查找/替换字符串开头和结尾的字符,而不是字符串中间的字符

mysql查找/替换字符串开头和结尾的字符,而不是字符串中间的字符,mysql,regex,replace,Mysql,Regex,Replace,简短版本: 我需要改变的mysql代码 [href=”http://a-random-domain.com“]超链接[/href] 进入 不会弄乱域部分,并且 不会意外转换字段文本中可能出现的“]的任何不相关实例 域每次都是唯一的/不同的 遇到 长版本: 我正在迁移旧数据库以用于新应用程序。旧数据库有一个文本字段,其中包含以下内容: 这是一个带有[href=”的数据字段http://somedomain.com“]超链接[/href]和更多数据,可能还有其他超链接 我需要将其更新为标准ht

简短版本: 我需要改变的mysql代码

[href=”http://a-random-domain.com“]超链接[/href]

进入

  • 不会弄乱域部分,并且
  • 不会意外转换字段文本中可能出现的“]的任何不相关实例
  • 域每次都是唯一的/不同的 遇到
长版本: 我正在迁移旧数据库以用于新应用程序。旧数据库有一个文本字段,其中包含以下内容:

这是一个带有[href=”的数据字段http://somedomain.com“]超链接[/href]和更多数据,可能还有其他超链接

我需要将其更新为标准html,例如

这是一个包含一个或多个数据的数据字段,可能还有其他超链接

使用REPLACE修复[href=和[/href]非常简单

update table set field = replace(field, '[href=', '<a href=');
updatetable set field=replace(字段“[href=”,”

MySQL只支持用于“评估”目的的正则表达式函数。
所以,你不能用它来替换或操纵数据。它会更好地使用高级脚本语言。

可能会考虑这样做吗?如果这是一次性的交易,你可能会考虑做客户端,但是,例如一个简短的perl脚本来选择* /更新每一行。效率低下,也许,但可用于这样一个简单的修复。谢谢!我不确定这对我有用,因为像“]这样的字符在用作超链接的一部分时只需要变成“>。如果没有提供mysql解决方案,我肯定会用类似Perl的脚本从mysql中处理这个问题。再次感谢您的“短版本”,我想您的意思是
[href=”http://a-random-domain.com"]超级链接[/href]
而不仅仅是
[href=”http://a-random-domain.com“]
?您的回答正确-已编辑以修复。谢谢