正则表达式为9位数的电话号码点分隔

时间:2015-10-28 14:55:28

标签: regex

我想检查一个电话号码是否包含3位数字 - 点 - 3位数 - 点 - 3位数。 (例如123.456.789

到目前为止,我有这个,但它不起作用:

^(\d{3}\){2}\d{4}$

1 个答案:

答案 0 :(得分:1)

请注意,转义括号\)在正则表达式中失去了特殊含义,并且由于捕获组未关闭,因此模式无效。

如果你想要一个点与一个正则表达式匹配,你需要将它包含在你的模式中,如果你说3个数字必须在最后,那么用\d{4}声明4个数字没有意义。 / p>

^(\d{3}\.){2}\d{3}$
        ^       ^

或者如果我们扩展第一组:

^\d{3}\.\d{3}\.\d{3}$

因此,所有修复都包括在第二个反斜杠后添加一个点并调整最终限制量词。

请注意,对于大多数“文体学”问题(因为效率提升无关紧要),我会使用第一个正则表达式变体的非捕获组:

^(?:\d{3}\.){2}\d{3}$