我在python中遇到了一个问题,程序必须检查用户是否以有效格式输入电话号码,例如:
(111)-111-1111
我用python正则表达式编写了这个程序
re.findall
但是,后来我意识到程序允许用户输入任意多的括号,例如:
(((((111)-111-1111
而这仍然会作为一种有效的格式通过程序。
问题。是否有方法将括号的数目限制为
(111)-111-1111
?
我的代码如下:
import re
number=input("Please enter phone number: " )
x=re.findall('([(+*)]\d{3}[(+*)][a-]\d{3}[a-]\d{4})', number)
if (x):
print("Perfect! Your format is valid: --> " "'"+number+"'")
else:
print("Not a valid format, please enter as (###)-###-####")