关于下面的问题 - String.replaceAll single backslashes with double backslashes。
我写了一个测试程序,发现无论我是否转义反斜杠,结果都是正确的。这可能是因为: - \t 是Java字符串转义序列。(尝试\s会报错) - \t 在正则表达式中被视为字面制表符。 对于原因我还有些不确定。
在Java中,有没有关于转义正则表达式的通用指南?我认为使用两个反斜杠是正确的方法。
我仍然想知道你们的意见。
我写了一个测试程序,发现无论我是否转义反斜杠,结果都是正确的。这可能是因为: - \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$"));
}
}
String
,以便Pattern引擎得到它所期望的内容。我想我将来在Java中编写正则表达式时必须非常小心。 - RuntimeException