提取手机号码的正则表达式

lvlvlvlylyly 2013-01-25 10:03:00
[1][358]\d{9} 因为现在的手机号码段第二位,就358三种。。

以上表达式,的确能提到不少号码,但是有个问题,因为网页上面,有很多乱七八糟的数字,比如


2434324234231378295876523525245245


像这种长串的数字,中间红色的部分,也会被提取出来,


所以,能不能在上面的正则表达式的最后,再加一个判断,就是后面那一位,绝对不是数字,但是后面那一位到底是什么,不用提取。

谢谢!!
...全文
628 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvlvlvlylyly 2013-01-25
  • 打赏
  • 举报
回复
[1][358]\d{9}[^0-9] 呵呵,其实这样就可以了,我查到了。。。。然后提到之后,把最后一位处理掉就OK!谢谢!
lvlvlvlylyly 2013-01-25
  • 打赏
  • 举报
回复
手机号码,很有可能出现在中间,
lvlvlvlylyly 2013-01-25
  • 打赏
  • 举报
回复
引用 5 楼 Chinajiyong 的回复:
引用 3 楼 lvlvlvlylyly 的回复:那个"$",是不代表字符串结尾?我试过,那样一来,很多号码就提不到了。因为号码是在网页上的,你知道,它不一定非在末尾。 ^[1][358]\d{9}$ 不是这个意思,这个表示以1开头以数字结尾
如果以1太头这样提,是提不到的哦,我试过了,因为我是先提源代码,然后把源代码里全部的标记删除,这样处理文本内容。 不一定是以1开头的,因为网页源代码,你也知道,情况会很复杂。 不能从开头和结尾来判断,只能是判断11位的数字,第一位是1,第二位是358,然后最后一位也就是第12位,不是数字,就可以了!!!
EnForGrass 2013-01-25
  • 打赏
  • 举报
回复
引用 3 楼 lvlvlvlylyly 的回复:
那个"$",是不代表字符串结尾?我试过,那样一来,很多号码就提不到了。因为号码是在网页上的,你知道,它不一定非在末尾。
^[1][358]\d{9}$ 不是这个意思,这个表示以1开头以数字结尾
lvlvlvlylyly 2013-01-25
  • 打赏
  • 举报
回复
其实只要在最后一位加个 0-9 非的判断,但我不知道怎么写。。。
lvlvlvlylyly 2013-01-25
  • 打赏
  • 举报
回复
那个"$",是不代表字符串结尾?我试过,那样一来,很多号码就提不到了。因为号码是在网页上的,你知道,它不一定非在末尾。
EnForGrass 2013-01-25
  • 打赏
  • 举报
回复
引用 1 楼 Chinajiyong 的回复:
这样, ^[1][358]\d{9}$
这样应该更好一点 ^0{0,1}(13[0-9]|15[0-9]|18[0-9])[0-9]{8}$
EnForGrass 2013-01-25
  • 打赏
  • 举报
回复
这样, ^[1][358]\d{9}$

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧