我写这个正则表达式来识别美国类型的电话号码:
\(?\d{3}\)?(-|\s)\d{3}-\d{4}
适用于以下电话号码:
217-244-2424和 (217)244-2424。
然而,它也适用于不平衡的括号,如(217-244-2424
如何改进正则表达式以确保括号平衡? (我知道有关正则表达式电话号码的问题before,但我找不到我想要的内容。)
答案 0 :(得分:2)
我会回答你关于正则表达式的具体问题。你可以尝试这样的事情来处理paranthesis:
^(\(\d{3}\)|\d{3})-(\d{3})-(\d{4})$
答案 1 :(得分:0)
我没有测试过,但为什么不使用交替运算符(“|”)?您可以选择同时使用两个括号,也可以不选择任何一个:
(\(\d{3}\)|\d{3})(-|\s)\d{3}-\d{4}