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 に答える