我有一些(有些)工作代码可以按以下格式匹配美国电话号码:###-###-####
问题是,我的代码只是在else
中phone_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}}
有任何想法或帮助吗?
答案 0 :(得分:4)
如果您的“示例电话号码”准确无误,那么每个电话号码前后都有空格,这可以解决问题:
^\s*\d{3}-\d{3}-\d{4}\s*$