1

以下Reg Ex:-

^((((\(\d{3}\))|(\d{3}-))\d{3}-\d{4})|(\+?\d{2}((-| )\d{1,8}){1,5}))(( x| ext)\d{1,5}){0,1}$

试图实施时显示

Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )

谁能帮我解决这个问题?

4

2 回答 2

3

我不会尝试解析这个可怕的正则表达式,但错误指向字符串转义的问题。您需要将所有反斜杠加倍。

于 2013-01-31T06:23:23.140 回答
1

尝试以下操作:

^((((\\(\\d{3}\\))|(\\d{3}-))\\d{3}-\\d{4})|(\\+?\\d{2}((-| )\\d{1,8}){1,5}))(( x| ext)\\d{1,5}){0,1}$

在 Java 字符串中,\反斜杠字符开始一个“特殊”字符的转义序列。喜欢\n换行符。

如果您不想手动操作,您可以使用类似这里的工具来转义您的字符串。

于 2013-01-31T07:37:11.637 回答