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}‘

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

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

上一篇:Linux和windows之间使用scp无密码传输文件,脚本自动化


下一篇:设置共享,实现Linux和Windows之间的共享