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}‘
就这问题,一早上带中午就这样没了......