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}‘
就这问题,一早上带中午就这样没了......
原文:http://blog.csdn.net/hzw2312/article/details/19554851