java,正则表达式,需要在正则表达式中转义反斜杠
参考以下问题 - String.replace所有具有双反斜杠的单反斜杠
我写了一个测试程序,我发现无论我是否转义反斜杠,在这两种情况下的结果都是正确的。这可能是因为 - \t 是可识别的 Java 字符串转义序列。(尝试\s,它会抱怨)。- \t 在正则表达式中被视为文字制表符。我有点不确定原因。
是否有任何关于在Java中转义正则表达式的一般准则。我认为使用两个反斜杠是正确的方法。
我仍然想知道你的意见。
public class TestDeleteMe {
public static void main(String args[]) {
System.out.println(System.currentTimeMillis());
String str1 = "a b"; //tab between a and b
//pattern - a and b with any number of spaces or tabs between
System.out.println("matches = " + str1.matches("^a[ \\t]*b$"));
System.out.println("matches = " + str1.matches("^a[ \t]*b$"));
}
}