我正在写一个正则表达式来验证北美格式的电话号码。我正在检查以下情况:1234567890
,123.456.7890
,123-456-7890
,(123) 456-7890
。这些值是从.csv文件中读取的。
我认为我编写的正则表达式应说明上述情况,以及说明数字集之间用空格分隔的情况。我已经在www.regex101.com上进行了检查,它似乎可以正确验证或不正确验证。
以下是验证该值的代码段:
elif tempList[0] == 'phone':
matchObj = re.match('[(]?\d{3}[-.)]?[ ]?\d{3}[-.]?[ ]?\d{4}', tempList[1])
print(tempList[1])
if matchObj:
print('phone = Right!')
tempList[0]
的值为phone
,tempList[1]
的值为1234567890000000
。在终端上运行脚本时,我得到phone = Right!
的打印内容,不应打印。当我在regex101.com上检查此正则表达式时,它表示未验证字符串,这是我期望的。这是用python3编写的。