我有这个字符串:ABC1111|~@SERIAL_NUM_ONE@~|~@SERIAL_NUM_TWO@~|~@SERIAL_NUM_THREE@~
现在我想替换,~@anything@~
这样~@
我的字符串看起来像:ABC1111|~@|~@|~@
我如何在 Oracle 中执行此操作?我认为我们应该使用 REGEXP_REPLACE 来完成这项工作!但无法弄清楚。请帮我。
regexp_replace('ABC1111|~@SERIAL_NUM_ONE@~|~@SERIAL_NUM_TWO@~|~@SERIAL_NUM_THREE@~',
'~@.+?@~',
'~@')
.+?
是非贪婪表达式并返回,ABC1111|~@|~@|~@
.+
是贪婪的表达,尽可能地马赫并返回ABC1111|~@
在sqlfiddle演示。