考虑下面给出的是一个字符串
邮箱号码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
下面提到的正则表达式是我用来查找不同表示形式的传真号码的表达式
(?:(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,帮助我编写一个正则表达式。
发布于 2015-06-13 10:39:15
您可以使用(*SKIP)(*FAIL)
(?:(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},如评论中所建议的。
https://stackoverflow.com/questions/30817491
复制相似问题