Oracle 替换方括号 REGEX_REPLACE
Oracle replace square brackets REGEX_REPLACE
我的一个 table 中有字符串,我需要在其中替换一些特殊字符,例如 ' _ ? °
和方括号 [
]
。
当我尝试这个时,它按预期工作:
SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°'']', ' ') FROM DUAL;
我得到:
BIG EAST []
然后我在正则表达式中添加方括号:
SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°''\[\]]', ' ') FROM DUAL;
我预计会这样:
BIG EAST
但我得到:
BIG'EAST_?°
如何正确转义正则表达式中的方括号?
您需要添加 * 以匹配您的模式中多次出现(且以任何顺序)的字符
SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°''\[\]]*', ' ') FROM DUAL;
我的一个 table 中有字符串,我需要在其中替换一些特殊字符,例如 ' _ ? °
和方括号 [
]
。
当我尝试这个时,它按预期工作:
SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°'']', ' ') FROM DUAL;
我得到:
BIG EAST []
然后我在正则表达式中添加方括号:
SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°''\[\]]', ' ') FROM DUAL;
我预计会这样:
BIG EAST
但我得到:
BIG'EAST_?°
如何正确转义正则表达式中的方括号?
您需要添加 * 以匹配您的模式中多次出现(且以任何顺序)的字符
SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°''\[\]]*', ' ') FROM DUAL;