“java eclipse正则表达式超文本”\+&引用;

“java eclipse正则表达式超文本”\+&引用;,java,regex,eclipse,Java,Regex,Eclipse,我需要检查一个字符串是否为“\+?”,它将与+6014456 但是我得到了这个错误消息无效的转义序列(有效的是\b\t\n\f\r\“\'\\”)…为什么?我认为应该使用两个反斜杠。一个用于转义第二个(因为它是java字符串),第二个用于转义+(因为它是正则表达式的特殊字符)。它不应该更像“\\+?” 适用于我它会给您一个错误,因为“\+?”不是有效的Java文本-您需要转义反斜杠。请尝试以下操作: Pattern pattern = Pattern.compile("\\++?"); 但是

我需要检查一个字符串是否为
“\+?”
,它将与
+6014456


但是我得到了这个错误消息
无效的转义序列(有效的是\b\t\n\f\r\“\'\\”)
…为什么?

我认为应该使用两个反斜杠。一个用于转义第二个(因为它是java字符串),第二个用于转义+(因为它是正则表达式的特殊字符)。

它不应该更像“\\+?”



适用于我

它会给您一个错误,因为
“\+?”
不是有效的Java文本-您需要转义反斜杠。请尝试以下操作:

Pattern pattern = Pattern.compile("\\++?");
但是,我不认为这是你想要的正则表达式。你的意思是:

Pattern pattern = Pattern.compile("\\+\\d+");
它对应于
\+\d+
的正则表达式,即加号后至少有一个数字。

发布您的
.matches()
调用。您的实际参数不明显。
Pattern pattern = Pattern.compile("\\+\\d+");