mysql – REGEXP_REPLACE指南

前端之家收集整理的这篇文章主要介绍了mysql – REGEXP_REPLACE指南前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我一直试图批量删除wordpress上的帖子垃圾链接,如下所示:

< a style =“text-decoration:none”href =“/ price-of-xenical-at-pharmacy”>.< / a>

它们驻留在post_content列下的wp_posts表中.我试图通过在href标签添加%的外卡来做到这一点,因为所有的URL都不同但锚(句号)和内联样式是相同的.

UPDATE wp_posts
SET post_content = REPLACE (post_content,'

我后来被告知SQL不支持我正在尝试做的事情(或者至少我正在做的事情).

我正在使用显然支持REGEXP_REPLACE的MariaDB,所以我正在寻找一些关于sql Query和REGEX我需要大量删除这些链接但保留所有其他内容的指导.

任何帮助非常感谢,目标是删除上面的字符串,或替换为空格

UPDATE

示例帖子内容,最后一个链接是我需要删除的类型. :

    image

最佳答案
如果要删除所有锚标记,但保留包含在标记中的文本,请尝试使用此模式:

然后,只用第一个捕获组替换.除了我们使用(.*?)来捕获锚标签之间的内容之外,对模式没什么好说的. .*?很重要,并告诉正则表达式引擎停在第一个结束标记.否则,如果我们只使用(.*),它可能会消耗多个锚标记,如果它们存在于您的列中.

SELECT
    REGEXP_REPLACE('

以上查询输出BLAH.

如果你想要剥离所有锚标签,那么使用:

SELECT
    REGEXP_REPLACE('
原文链接:/mysql/432902.html

猜你在找的MySQL相关文章