【问题标题】:Write a regular expression to match phone numbers [duplicate]写一个正则表达式来匹配电话号码[重复]
【发布时间】:2018-03-14 15:10:35
【问题描述】:

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

(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}[-]|[ ]\\".

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

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

【问题讨论】:

标签: r regex


【解决方案1】:

这会通过你所有的tests

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-16
    • 2020-01-18
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多