虚荣格式[img]
更糟糕的是,虚荣的有时候用肉语代表电话号码。这些所谓的虚荣电话号码以1和区号(即1-123-)开头,但之后它们将继续混合使用字母(大写或小写),数字和破折号。它们仅限于使用7个字母和数字(在1和区号之后),但是破折号可以插入除了紧接在另一个破折号之后的任何点。 Flahlings让事情变得如此复杂!
我一直在研究这个难题;我已经能够处理第一组整数和破折号,但我无法使字母数字部分工作。 我正在使用python 3,这是我到目前为止所拥有的:
vanity_number = r'[+]?(1-)[0-9]{3}-[a-zA-Z0-9-]{7}'
这种方式在某种程度上起作用,但我需要它与字母数字分开计算破折号,所以像1-345-qpG-8s-vd这样的东西仍然适合该模式。感谢您提供的任何帮助。
答案 0 :(得分:2)
最后一部分应由7个字母组成。如果我理解正确,每个可以跟随一个可选的破折号,但不能有两个相互接近的破折号,可能不应该以破折号结束。
^\+?1-\d{3}-(?:[A-Za-z\d]-?){7}\b$
如果允许以破折号结尾,请在结尾处删除字边界 \b
。