如果存在两个组,则正则表达式不匹配

时间:2013-11-06 13:39:22

标签: java regex

我创建了一个与电话号码匹配的简单正则表达式。如果NY输入字符串包含多个组,我在空格,点和连字符之间选择一个组...它与整个结果不匹配。

           ([\(]?\d+[\)]?(-|\s|\.)?\d+)+

输入为(123)1234-1236 12345或类似的东西......实际输入来自Tesseract OCR并且最多不可靠。

您能否帮助我创建一个更易于使用且易于理解的正则表达式,或者改进正则表达式以匹配电话号码。

1 个答案:

答案 0 :(得分:0)

这是一个与上面指定的日期格式完全匹配的正则表达式。

^[\\(]{0,1}([0-9]){3}[\\)]{0,1}[ ]?([^0-1]){1}([0-9]){2}[ ]?[-]?[ ]?([0-9]){4}[ ]*((x){0,1}([0-9]){1,5}){0,1}$

比赛:(910)456-7890 | (910)456-8970 x12 | (910)456-8970 1211 不匹配:(910)156-7890 | (910)056-7890 | (910)556-7890 x

This是我提到的链接。您可以找到多种格式的正则表达式,您可以根据需要选择和修改。