正则表达式匹配美国电话号码

时间:2014-07-24 15:39:02

标签: python regex

我有一些(有些)工作代码可以按以下格式匹配美国电话号码:###-###-####

问题是,我的代码只是在elsephone_number的每个phone_numbers的代码中点击了file = open("results.txt", "w") rgxpattern = '^[0-9]{3}-[0-9]{3}-[0-9]{4}$' regexp = re.compile(rgxpattern) for phone_number in phone_numbers: phone_number = str(phone_number) if regexp.match(phone_number): file.write('\n') file.write(str(phone_number)) else: file.write('BAD#') 块:

^[0-9]{3}-[0-9]{3}-[0-9]{4}$

上面的rgxpattern出了什么问题?我尝试过使用:

^\d{3}-\d{3}-\d{4}$

 111-222-3333  
 777-444-4444  

示例电话号码:

BAD#BAD#BAD#BAD#

结果摘录

{{1}}

有任何想法或帮助吗?

1 个答案:

答案 0 :(得分:4)

如果您的“示例电话号码”准确无误,那么每个电话号码前后都有空格,这可以解决问题:

^\s*\d{3}-\d{3}-\d{4}\s*$