首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regex从此字符串拆分Tel和传真号

问使用regex从此字符串拆分Tel和传真号
EN

Stack Overflow用户
提问于 2015-06-13 10:14:38
回答 1查看 85关注 0票数 0

考虑下面给出的是一个字符串

邮箱号码1234 CA - 3265电话:+1-200-200-2000传真:+1-200-200-2001

邮箱编号1234,CA - 3265服务:+1-200-200-2002 \ +1-200-200-2022 F:+1-200-200-2003

信箱编号1234,CA-3265 CA:+1-200-200-2004 f:+1-200-200-2005

邮箱编号1234 CA - 3265 fire:+1-200-200-2006传真:+1-200-200-2007

邮箱编号1234,CA - 3265帮助:+1-200-200-2008传真- +1-200-200-2009

信箱编号1234,CA - 3265传真:(+123)-4567890 \ (+123)-4567891

下面提到的正则表达式是我用来查找不同表示形式的传真号码的表达式

代码语言:javascript
复制
(?:(f|F)((a|A)(X|x))?(?:\s?(\-|\:)?\s?))(?:\s?[0-9\+\.\(\)\/\\\-]\/?\\?\s?){7,30}

Ex:上面的正则表达式将匹配给定字符串中的所有传真,如下所示

传真:+1-200-200-2001

F:+1-200-200-2003

F:+1-200-200-2005

传真:+1-200-200-2007

传真- +1-200-200-2009

传真:(+123)-4567890 \ (+123)-4567891

备注:,我认为电话号码是除传真之外的其他可用的文本号码。

Ex:电话:+1-200-200-2000

服务:+1-200-200-2002 \ +1-200-200-2022

援外社:+1-200-200-2004

火灾:+1-200-200-2006

帮助:+1-200-200-2008

,所以我需要电话号码,它的短信不以faxFAX开头。我尝试过用[^faxFAX]来更改上面指定的正则表达式,但是我无法得到所需的result.please,帮助我编写一个正则表达式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-13 10:39:15

您可以使用(*SKIP)(*FAIL)

代码语言:javascript
复制
(?:(f|F)((a|A)(X|x))?(?:\s?(\-|\:)?\s?))(?:\s?[0-9\+\.\(\)\/\\\-]\/?\\?\s?){7,30}(*SKIP)(*FAIL)|(?:\s?[0-9\+\.\(\)\/\\\-]\/?\\?\s?){7,30}

请参阅演示

编辑: Explanation of (*SKIP)(*FAIL},如评论中所建议的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30817491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档