写一个正则表达式来匹配电话号码

时间:2018-03-14 15:10:36

标签: r regex

我必须写一个正则表达式来匹配电话号码。电话号码可以采用以下任何一种形式:

(123) 456-7890
(123)456-7890
1234567890
123 456 7890
123-456-7890
123.456.7890

我必须将正则表达式存储在名为re5的变量中。

我必须通过的测试用例在这里:link

我只需要re5 =“...”部分,我需要...部分的正确代码。

这是我到目前为止所拥有的......

re5 = "^(\\d{3}|\\(\\d{3}\\))([ ]?\\d{3}[-]|[ ]\\".

我不知道出了什么问题。谢谢!

由于上面链接中的测试用例,其他答案不同。

1 个答案:

答案 0 :(得分:0)

这会传递您的所有tests

^(?:\(\d{3}\)|\d{3})(?: |([-.])?)\d{3}(?(1)\1|[ -.]?)\d{4}$

请记住,这使用了PCRE特定的语法,因此您需要enable that using perl = TRUE