首页 > 数据库技术 > 详细

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

时间:2014-02-21 05:38:29      阅读:444      评论:0      收藏: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对正则的支持问题

原文:http://blog.csdn.net/hzw2312/article/details/19554851

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!