我的一个表中有字符串,我需要在其中替换一些特殊字符,例如' _ ? °
和方括号[
]
。
当我尝试此操作时,它的工作与预期的一样:
SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°'']', ' ') FROM DUAL;
我得到:
BIG EAST []
然后在正则表达式中添加方括号:
SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°''\[\]]', ' ') FROM DUAL;
我期望这样:
BIG EAST
但是我得到:
BIG'EAST_?°
如何正确地将正则表达式中的方括号转义?
答案 0 :(得分:1)
您需要添加*以匹配模式中字符的多次出现(以任何顺序)
SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°''\[\]]*', ' ') FROM DUAL;