2

我有这个字符串:ABC1111|~@SERIAL_NUM_ONE@~|~@SERIAL_NUM_TWO@~|~@SERIAL_NUM_THREE@~

现在我想替换,~@anything@~这样~@我的字符串看起来像:ABC1111|~@|~@|~@

我如何在 Oracle 中执行此操作?我认为我们应该使用 REGEXP_REPLACE 来完成这项工作!但无法弄清楚。请帮我。

4

1 回答 1

0
regexp_replace('ABC1111|~@SERIAL_NUM_ONE@~|~@SERIAL_NUM_TWO@~|~@SERIAL_NUM_THREE@~',
               '~@.+?@~',
               '~@') 
  • .+?是非贪婪表达式并返回,ABC1111|~@|~@|~@
  • .+是贪婪的表达,尽可能地马赫并返回ABC1111|~@

sqlfiddle演示。

于 2013-09-05T02:09:06.907 回答