0

文字列の角括弧を REGEXP_REPLACE 関数に置き換えたい。私はこれらの文字をエスケープしても、それは置き換えられません

select regexp_replace('VMI[[DATA]]INFO', '[\[\]]', '_') from dual;

結果

VMI[[DATA]]INFO

どうすればこれを行うことができますか?何か不足していますか?

4

3 に答える 3

7

次のように実行できます。

select regexp_replace('VMI[[DATA]]INFO', '\[|\]', '_') from dual;

ただし、ここでは正規表現は必要ないと思います。TRANSLATE を使用することもできます

select translate('VMI[[DATA]]INFO', '[]', '__') from dual;

ここにsqlfiddleのデモがあります

于 2013-10-17T07:04:11.133 に答える