RegEx电话号码不匹配

时间:2014-01-15 16:02:07

标签: python regex

我正在尝试匹配以下格式:

06142/898-301
+49 6142 898-301

用这个

(([+][\d]{2}[ ])|0)([\d]{4}/)([/d]{2,}[.-])+

Regular expression visualization

Debuggex Demo

但是在/之前的区号之后它将不再匹配。为什么呢?

2 个答案:

答案 0 :(得分:1)

你的意思是?

(([+][\d]{2}[ ])|0)([\d]{4}/)([\d]{2,}[.-])+

我在你的表达中改变了什么:

[/d]{2,} - > [\d]{2,}  actually \d{2,} would do too

答案 1 :(得分:0)

看起来你想要更像这样的东西:

^(\+\d{2} |0)\d{4}[/ ]\d{3}[.-]\d{3}$

示例:http://regex101.com/r/qG2zY2

您不需要为单个角色定义的角色类,您可能也不需要所有捕获组。我还在那里添加了锚点字符(^,$),但是如果您尝试从更大的字符串中选择它,则可以删除它们。