我有这个字符串:ABC1111|~@SERIAL_NUM_ONE@~|~@SERIAL_NUM_TWO@~|~@SERIAL_NUM_THREE@~
现在我想用~@anything@~
替换~@
,以便我的字符串如下所示:ABC1111|~@|~@|~@
我如何在Oracle中执行此操作?我认为我们应该使用REGEXP_REPLACE来完成这项工作!但无法弄明白。请帮帮我。
答案 0 :(得分:0)
regexp_replace('ABC1111|~@SERIAL_NUM_ONE@~|~@SERIAL_NUM_TWO@~|~@SERIAL_NUM_THREE@~',
'~@.+?@~',
'~@')
.+?
是非贪婪的表达式,并返回ABC1111|~@|~@|~@
.+
是贪婪的表达,尽可能多地尝试并返回ABC1111|~@
sqlfiddle的演示。