美文网首页Hive
用正则表达式匹配电话号码

用正则表达式匹配电话号码

作者: 筱筱说 | 来源:发表于2017-01-19 14:38 被阅读83次

在hive中,使用正则表达式来筛选电话号码,电话号码不像手机号一样,电话比较难匹配,需要考虑的情况也比较多,所以在这里我使用正则表达式匹配所有的电话号码,比较长,只要用耐心就比较好整理。
号码由数字或‘-’组成,位数在10到12位之间,其中区号3-4位,号码7-8位

length(regexp_replace(receiver,'-',''))<=12 and 
 (substr(receiver,1,3)='010' 
  or substr(receiver,1,3)  rlike '^02[0-57-9].*$' 
  or substr(receiver,1,4)  rlike '^031[0-9].*$'
  or substr(receiver,1,4)  rlike '^0335.*$'
  or substr(receiver,1,4)  rlike '^0349.*$'
  or substr(receiver,1,4)  rlike '^035[1-9].*$'
  or substr(receiver,1,4)  rlike '^037[0-79].*$'
  or substr(receiver,1,4)  rlike '^039[1-8].*$'
  or substr(receiver,1,4)  rlike '^041[125-9].*$'
  or substr(receiver,1,4)  rlike '^042[179].*$'
  or substr(receiver,1,4)  rlike '^04[35][1-9].*$'
  or substr(receiver,1,4)  rlike '^046[4789].*$'
  or substr(receiver,1,4)  rlike '^047[0-9].*$'
  or substr(receiver,1,4)  rlike '^048[23].*$'
  or substr(receiver,1,4)  rlike '^052[37].*$'
  or substr(receiver,1,4)  rlike '^053[0-9].*$'
  or substr(receiver,1,4)  rlike '^054[36].*$'
  or substr(receiver,1,4)  rlike '^055[0-9].*$'
  or substr(receiver,1,4)  rlike '^056[1-46].*$'
  or substr(receiver,1,4)  rlike '^057[0-9].*$'
  or substr(receiver,1,4)  rlike '^0580.*$'
  or substr(receiver,1,4)  rlike '^063[1-5].*$'
  or substr(receiver,1,4)  rlike '^066[0238].*$'
  or substr(receiver,1,4)  rlike '^069[12].*$'
  or substr(receiver,1,4)  rlike '^0701.*$'
  or substr(receiver,1,4)  rlike '^07[1579][0-9].*$'
  or substr(receiver,1,4)  rlike '^072[248].*$'
  or substr(receiver,1,4)  rlike '^073[014-9].*$'
  or substr(receiver,1,4)  rlike '^074[3-6].*$'
  or substr(receiver,1,4)  rlike '^076[023689].*$'
  or substr(receiver,1,4)  rlike '^081[23678].*$'
  or substr(receiver,1,4)  rlike '^082[567].*$'
  or substr(receiver,1,4)  rlike '^08[37][0-9].*$'
  or substr(receiver,1,4)  rlike '^085[14-9].*$'
  or substr(receiver,1,4)  rlike '^088[3678].*$'
  or substr(receiver,1,4)  rlike '^089[1-8].*$'
  or substr(receiver,1,4)  rlike '^090[123689].*$'
  or substr(receiver,1,4)  rlike '^091[12345679].*$'
  or substr(receiver,1,4)  rlike '^09[39][0-9].*$'
  or substr(receiver,1,4)  rlike '^094[13].*$'
  or substr(receiver,1,4)  rlike '^095[12345].*$'
  or substr(receiver,1,4)  rlike '^097[012345679].*$'
)

相关文章

  • 前端开发之JS(正则)

    js正则表达式 电话号码的匹配 /13566668888/.test(value) 完全匹配 /^13566668...

  • 常用正则表达式

    1.匹配电话号码(手机号,座机等) 0.0-5.0正则表达式 匹配字符串中是否有特殊字符 4.中文

  • JavaScript正则表达式

    一直对正则表达式这块比较欠缺,经常看见很多地方在用,比如匹配路由,匹配电话号码,匹配链接等等。不是很明白其中一些符...

  • 用正则表达式匹配电话号码

    在hive中,使用正则表达式来筛选电话号码,电话号码不像手机号一样,电话比较难匹配,需要考虑的情况也比较多,所以在...

  • 正则表达式笔记

    1. 括号在正则表达式中有特殊的含义,但是如果你需要在文本中匹配括号,怎么办?例如,你要匹配的电话号码,可能将区号...

  • MySQL 正则表达式查询

    正则表达式用来匹配文本的特殊的串(字符集合)。正则表达式用正则表达式语言来建立,正则表达式语言是用来完成匹配特殊的...

  • python的正则表达式

    1,正则表达式的一些内容 正则表达式主要是用来匹配文本中需要查找的内容,例如在一片文章中找出电话号码,就中...

  • 利用正则表达式实现python强口令检测

    Chapter 7 模式匹配和正则表达式 用import re 导入正则表达式模块 用re.compile()函数...

  • python 30:增加正则表达式的可读性,参数re.VERBO

    可以将正则表达式分多行写出,每一行后面写上注释,这样使复杂正则表达式具有可读性。下面是一个匹配电话号码的例子: p...

  • 【读书笔记】_正则表达式

    1、正则表达式使用的特殊符号和字符 1.1、用管道符号( | )匹配多个正则表达式模式,即或,匹配多个表达式。 例...

网友评论

    本文标题:用正则表达式匹配电话号码

    本文链接:https://www.haomeiwen.com/subject/zxsibttx.html