我正在尝试从表格中的评论栏中删除一些特殊字符。我使用了下面的语句,但它似乎删除了']'
,即使它位于^[not]
列表中。
UPDATE TEST
set comments=REGEXP_REPLACE(
comments,
'[^[a-z,A-Z,0-9,[:space:],''&'','':'',''/'',''.'',''?'',''!'','']'']]*',
' '
);
表数据包含以下内容:
[SYSTEM]:Do you have it in stock? 😊
我的要求是:
[SYSTEM]:Do you have it in stock?
答案 0 :(得分:1)
你的正则表达式有两个错误:
将最后的方括号放在列表中的第一个方括号中。固定正则表达式:
UPDATE TEST set comments=REGEXP_REPLACE(comments,'[^]a-zA-Z0-9[:space:]&:/.?!]*',' ');
答案 1 :(得分:0)
我的尝试,我只是删除了逗号,将“接受”字符放在最初的“不”(没有括号)之后。 括号中有一个特例:https://dba.stackexchange.com/a/109294/6228
select REGEXP_REPLACE(
'[ION] are varză murată.',
'[^][a-zA-Z0-9[:space:]&:/,.?!]+',
' ')
from dual;
Result:
[ION] are varz murat .