“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+");