H5W3
当前位置:H5W3 > 其他技术问题 > 正文

问个 mysql 数据替换的正规则。哪位朋友帮我看看下面 mysql 正规则有什么问题? 谢谢

数据库里有一些下面格式的图片:
<p><img alt="文字" title="文字" src="http://pic.baidu.com/image/32778.jpg"></p>

这图片地址里只有http://pic.baidu.com/是不变的其它都是变的

也有一些的图片

<p><img alt="文字" title="文字" src="http://pic.google.com/image/32778.jpg"></p>

现在只想把全部的 带 http://pic.baidu.com 这个网址的图片替换掉,也就是清除了。

在 mysql5.7版本的 数据库里 ,怎么写正规则能完成这个 或者 有什么好的方法吗?

update bodytext set body=replace(body, "<p><img alt=".*" title=".*" src="http://pic.baidu.com.*"></p>", "");

上面是我写的。不成功。

请哪位熟悉 mysql 的朋友帮我看看怎么改? 或者有什么好的办法把 <p><img alt="文字" title="文字" src="http://pic.baidu.com/image/32778.jpg"></p> 这类图片全部替换成空
谢谢。

我的mysql 是5.7版本的

回答

感觉,直接replace 把你的那个域名替换成空就可以了吧,如果内容中不会有其他地方出现这个域名

用正则也可以,要使用反向引用,把需要保留的内容用括号()包围起来,然后使用反向引用来拼接出你希望的格式。 目前 5.7replace 对于正则支持有限,8.0才提供了 regexp_replace 所以,你可以自己试下。

直接用like就可以了。。。
update bodytext set body='' where body like '%pic.baidu.com.%'

未经允许不得转载:H5W3 » 问个 mysql 数据替换的正规则。哪位朋友帮我看看下面 mysql 正规则有什么问题? 谢谢

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址