电话正则表达式(555)555-5555没有使用括号{}

时间:2014-03-03 19:04:22

标签: regex

我需要将电话号码与此格式相匹配

(555)555-5555

我找到了这个

\(?\b[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}\b

我知道这是正确的方法,但在我使用的平台中有一个错误,它会删除正则表达式代码中的{}括号。我已经报告了这个错误,但它可能需要一段时间来修复它并发布更新,所以我想知道是否有另一种方法来完成同样的使用括号。

4 个答案:

答案 0 :(得分:5)

[0-9]{3}[0-9][0-9][0-9]\d\d\d

相同

完全看起来像这样:

\(?\b[0-9][0-9][0-9]\)?[-. ]?[0-9][0-9][0-9][-. ]?[0-9][0-9][0-9][0-9]\b

\(?\b\d\d\d\)?[-. ]?\d\d\d[-. ]?\d\d\d\d\b

答案 1 :(得分:0)

只需使用\d表示您需要匹配的每个字符

[0-9]{3}\d\d\d

[0-9]{4}\d\d\d\d

答案 2 :(得分:0)

嗯,当然。不要说“应用模式{n}次”,而是编写“patternpatternpattern ...”n次:

\(?\b[0-9][0-9]0-9]\)?[-. ]?[0-9][0-9][0-9][-. ]?[0-9][0-9][0-9][0-9]\b

答案 3 :(得分:0)

只需用括号前序列的给定迭代次数替换括号。

\(?\b[0-9][0-9][0-9]\)?[-. ]?[0-9][0-9][0-9][-. ]?[0-9][0-9][0-9][0-9]\b