Oracle 10g 版本10.1.0对正则的支持问题

sql语句:

declare str varchar2(100);
v_p integer;
begin
  str:=‘13985046628/15169632163-13537699968”‘;
  for i in 1..(length(str)/12) loop
     v_p:=regexp_instr(str, ‘1[3-8]\d{9}‘,1,i);
     if v_p=0 then
       exit;
     end if;
     dbms_output.put_line(substr(str,regexp_instr(str, ‘1[3-8]\d{9}‘,1,i),11));
  end loop;
end ;
在测试服务器上运行能得到这三个手机号码。版本为10.2.0但是在生产环境当中运行毛都没有一根!

生产环境的版本为10.1.0.找了好久才发现是“\d”。把"\d"换成“[0-9]”就OK了!

‘1[3-8][0-9]{9}‘

就这问题,一早上带中午就这样没了......

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。