“(字符1)保留字符(字符1)” 你好,把前边括号里的内容去掉,后边括号里的内容去掉,处理的结果为 :保留字符 怎么处理?我用正则把括号里的内容过滤掉后,处理后的结果为空了,它把第一个左括号,和最一右括号认为是一个括号,处理后为空了,我不想为空,我想保留两组括号外的字符,我怎么办? 

解决方案 »

  1.   

    你此处写的)都是全角的,如果是半脚的需转义SQL> declare
      2   v_t varchar2(100) := '(字符1)保留字符(字符1)';
      3  begin
      4   select regexp_replace(v_t,'([^)]*)','') into v_t from dual;
      5   dbms_output.put_line(v_t);
      6  end;
      7  /
    保留字符                                                                        PL/SQL 过程已成功完成。
      

  2.   

    我帮你改为半角的了,自已留意下不同处SQL> set serveroutput on;
    SQL> declare
      2   v_t varchar2(100) := '(字符1)保留字符(字符1)';
      3  begin
      4   select regexp_replace(v_t,'\([^)]*\)','') into v_t from dual;
      5   dbms_output.put_line(v_t);
      6  end;
      7  /
    保留字符                                                                        PL/SQL 过程已成功完成。