我正在尝试解析电话号码,格式为“(222) 555-2333”,即用括号括起来的三位区号,后跟以三个连字符分隔的七位本地号码。它还应忽略所有前导和尾随空格,以及出现在区号和本地号码之间的任何空格。但是,它不应接受区号中的任何空格(例如,在“(222)”中)也不应该在七位数字的本地号码中有空格。
这是我到目前为止写的内容。对于“(800) 121-2121”它可以工作,但对于“(333)122-2222”失败了。我尝试在模式开头添加\s,但这也没有帮助。您有任何想法我哪里出错了吗?
这是我到目前为止写的内容。对于“(800) 121-2121”它可以工作,但对于“(333)122-2222”失败了。我尝试在模式开头添加\s,但这也没有帮助。您有任何想法我哪里出错了吗?
import re
s = " (333) 122-2222"
reg = re.compile(r'^\((\d{3})\)\s*(\d{3})-(\d{4})$')
test = bool(re.match(reg,s))
if test:
reg.search(s).groups()
else:
ValueError