gpt4 book ai didi

Mysql替换正则表达式

转载 作者:行者123 更新时间:2023-11-29 01:47:21 24 4
gpt4 key购买 nike

您好,有什么方法可以用其他东西“替换”mysql 表中出现的 _(下划线)10 次或更多次的所有出现。

背景我继承了一个为网络编写的内容数据库。

可惜原作者用了________________而不是 <hr />用于水平规则。

这是一个 wordpress 安装,所以内容在一个名为 wp_posts 的表中.

我能够找到与以下查询相关的帖子。

SELECT *
FROM `wp_posts`
WHERE `post_content` LIKE '%\_\_\_\_\_\_\_\_\_\_%'

更新:

我也可以使用以下内容找到匹配的帖子

SELECT `post_content`
REGEXP '_{10,}'
FROM `wp_posts`
WHERE `post_content` LIKE '%\_\_\_\_\_\_\_\_\_\_%'
LIMIT 0 , 30

然而,如果有匹配则返回 1,如果没有则返回 0。

有什么方法可以返回匹配的子字符串吗?有没有办法让表达式变得贪婪?

最佳答案

MySQL 没有正则表达式替换,但是没有它你可以做你想做的事。

您可以使用 REPLACE 替换一个确切的字符串:

update `wp_posts` set `post_content` = replace(`post_content`,'__________','<hr />');

因为这是一次性的工作,我首先要找到 _ 的最高计数。 s 用来表示 <hr /> - 如果是 15,我将首先使用带有 15 _ 的字符串运行该 SQL 命令s,然后是 14,然后是 13,然后是...,然后是 10。

关于Mysql替换正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3476946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com