Python 印度固定电话号码的正则表达式

Python 印度固定电话号码的正则表达式,python,regex,Python,Regex,印度固定电话号码采用以下格式之一 080 25478965 0416-2565478 08172-268032 什么是最简单的正则表达式来容纳所有这些。城市代码和电话号码之间的空格可以是空格或“-”。如果正则表达式能够在城市代码和电话号码之间不加分隔符的情况下适应这种情况,那就太好了。对于这三种格式: ^\d{3}([ -]\d\d|\d[ -]\d|\d\d[ -])\d{6}$ 另一个更为自由的选择是在每个数字后留出空格或破折号(最后一个数字除外): 这将匹配[3-4位][0到许多破折号

印度固定电话号码采用以下格式之一

080 25478965
0416-2565478
08172-268032

什么是最简单的正则表达式来容纳所有这些。城市代码和电话号码之间的空格可以是空格或“-”。如果正则表达式能够在城市代码和电话号码之间不加分隔符的情况下适应这种情况,那就太好了。

对于这三种格式:

^\d{3}([ -]\d\d|\d[ -]\d|\d\d[ -])\d{6}$
另一个更为自由的选择是在每个数字后留出空格或破折号(最后一个数字除外):


这将匹配[3-4位][0到许多破折号和空格][6-7位]

如果您不需要验证位数等,我可能只使用
/^(\d+[\-]+\d+$/
),如果您想将这两个部分分开:
/^(\d+[\-]+(\d+$/
,这也是我的方法。谢谢
^(\d[ -]?){10}\d$
^[\d]{3,4}[\-\s]*[\d]{6,7}$