我想弄清楚一个字符串是否包含两个斜杠。正斜杠很容易检查
String test = "12/13/2013";
boolean slash = test.matches("\\d+\\/\\d+\\/\\d+");
但是如何检查反斜杠?
String test = "12\13\2013";
boolean slash = test.matches("\\d+\\\\\\d+\\\\\\d+");
以上不承认吗?我也试过("\\d+\\\\d+\\\\d+")
答案 0 :(得分:7)
你正确地逃脱了你的正则表达式,但你没有正确地逃避你的测试字符串。尝试
String test = "12\\13\\2013";
有趣的是,您的代码String test = "12\13\2013";
会进行编译,因为您无意中通过八进制转义指定了字符,这些字符由\000
的反斜杠后跟八进制数指定通过\377
。即\13
和\201
是八进制转义。