Java - 斜杠转义字符

6

有没有人能告诉我如何在Java中使用斜杠转义字符。我知道反斜杠是\,但我尝试过\ /和/ /,都不起作用!

这是我的代码:

public boolean checkDate(String dateToCheck) {  
    if(dateToCheck.matches("[0-9][0-9]\ /[0-9][0-9]\ /[0-9][0-9][0-9][0-9]")) {
        return true;
    } // end if.
    return false;
} // end method.

提前感谢您!

2个回答

19

无论是Java语言中还是在正则表达式中,都不需要转义斜杠。

另外请注意此类块:

if (condition) {
    return true;
} else {
    return false;
}

更加简洁易读的写法为:

return condition;

所以在您的情况下,我相信您的方法应该是这样的:

public boolean checkDate(String dateToCheck) {
    return dateToCheck.matches("[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9]"));
}

需要注意的是,这并不是一个非常好的测试有效日期的方法 - 最好尝试解析它作为日期,最好使用不会在失败时抛出异常的 API 进行解析。

您的正则表达式还可以更简单地编写如下:

public boolean checkDate(String dateToCheck) {
    return dateToCheck.matches("[0-9]{2}/[0-9]{2}/[0-9]{4}"));
}

谢谢Jon,这回答了我的问题。我之所以这样做是因为大学规定要求这样。如果由我自己决定,我会使用Java日期对象。 - pnefc
你想阅读关于验证日期的另一个问题,请访问:https://dev59.com/RHVC5IYBdhLWcg3wpS3f - Basil Bourque

0
我本想写“n/a”,结果却写成了“”n\u002Fa“”。

这个语句并不是很有帮助。它根本没有回答问题,而且似乎在问一个新的问题。 - Garet Jax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接