当我们需要提取数据表中的电话号码或者座机号时候,除了用代码逻辑进行处理之外,我们还可以在数据库中用sql语句进行处理,方便又快捷。
- telList = "0570-3826047;13004689930;(0570)3826047;0570-3826047;(0570)3888198;11004689930"
-
- REGEXP 正则判断,返回0和1
-
- telList REGEXP '[1][3456789][0-9]{9}'
-
-
- 提取手机号:
-
- SELECT REGEXP_REPLACE('0570-3826047;13004689930;(0570)3826047;0570-3826047;(0570)3888198;11004689930', '(0[0-9]{2,3}\-)([2-9][0-9]{4,7})', '');
-
- SELECT REGEXP_REPLACE('0570-3826047;13004689930;(0570)3826047;(0570)3888198', '\\([0-9]{2,4}\\)?([0-9]{4,7})', '');
-
- 2者合并下:
-
- SELECT REGEXP_REPLACE(REGEXP_REPLACE('0570-3826047;13004689930;(0570)3826047;(0570)3888198', '\\([0-9]{2,4}\\)?([0-9]{4,7})', ''),'(0[0-9]{2,3}\-)([2-9][0-9]{4,7})','');
-
- //结果 : ;13004689930;;