2017-10-05 219 views
-1

我必须使用REGEXP修改列内容。我在'pre'标签中有一些html代码。例如: 我有这样的代码。如何使用正则表达式替换MYSQL 5.6版本的查询?

TextText 
<span style="font-weight:600">Text one</span> 
<pre> 
<span style="font-weight:400">text two</span> 
</pre>Text Text. 

在这里,我想删除“前”标签之间的“跨度”标签动态地用mysql更新query.How使用REGEXP与MYSQL REPLACE功能?

+0

如果你更详细地解释你的问题,这对他人会有帮助。 –

+0

我修改了内容。请检查一次并为我提供解决方案。谢谢 –

回答

0

上述问题陈述的难点在于实际找到<pre></pre>标签之间的字符串。如果我们能够找到它,我们可以简单地用''替换它。

要找到示例数据字符串中的那部分字符串,请使用下面的查询。

select substring_index(reverse(substring_index(reverse('TextText <span style="font-weight:600">Text one</span><pre><span style="font-weight:400">text two</span></pre>Text Text.'), reverse('<pre>'), 1)) , '</pre>', 1); 

现在,更新查询变成这样。

update some_table set some_column = replace(substring_index(reverse(substring_index(reverse(some_column), reverse('<pre>'), 1)) , '</pre>', 1), ''); 

希望这会有所帮助。

+0

好的。谢谢。我会尝试 –

+0

@PadminiMaddur做这种方法的工作? –