我有一些(有点)工作代码可以按以下格式匹配位于美国的电话号码: ###-###-####
问题是,我的代码只是击中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#')
Run Code Online (Sandbox Code Playgroud)
我上面的rgxpattern有问题吗?我试过使用:
^[0-9]{3}-[0-9]{3}-[0-9]{4}$
Run Code Online (Sandbox Code Playgroud)
和
^\d{3}-\d{3}-\d{4}$
Run Code Online (Sandbox Code Playgroud)
示例电话号码:
111-222-3333
777-444-4444
Run Code Online (Sandbox Code Playgroud)
结果摘录:
BAD#BAD#BAD#BAD#
Run Code Online (Sandbox Code Playgroud)
有什么想法或帮助吗?
如果您的“示例电话号码”是正确的,则每个电话号码前后都有空白,这应该可以解决此问题:
^\s*\d{3}-\d{3}-\d{4}\s*$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
601 次 |
| 最近记录: |