我从很多网页上读到(例如:http://www.wellho.net/regex/java.html),他们都提到了可以代表任何空间字符。但是当我在Java中使用\时,它不是一个合格的表达式。
有人知道原因吗?
答案 0 :(得分:10)
需要引用字符串中的反斜杠才能工作。
例如,以下工作正常:
public class testprog {
public static void main(String args[]) {
String s = "Hello there";
System.out.println (s.matches(".*\\s.*"));
}
}
输出:
true
如果您使用类似"\s"
的字符串,则应该出现以下错误:
Invalid escape sequence - valid ones are \b \t \n \f \r \" \' \\
,因为\s
不是有效的转义序列(对于字符串,我的意思是,不是正则表达式)。