【发布时间】:2011-03-29 11:07:12
【问题描述】:
您好,有什么方法可以将 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。
有什么方法可以返回匹配的子字符串? 有没有办法让表达式变得贪婪?
【问题讨论】:
-
@Dominic Rodger 您编辑的帖子有什么问题?只想知道我做错了什么,以免重蹈覆辙。
-
没什么太严重的(有几个错别字,你需要在
<hr />周围加上反引号 - 它没有出现在你的原始帖子中)。周围的人倾向于编辑内容以整理它们 - 作为问题提问者/回答者,它不一定会对您产生不良影响 - 本网站是协作编辑的(请参阅常见问题解答:stackoverflow.com/faq)