我知道正则表达式之一是“\s+”,意思是一个或多个空格。但在我看到的许多参考资料中,为什么他们使用双反斜杠 "\\s+" 而不是一个反斜杠 "\s+" ?例如,在我在 stackoverflow 中获得的这段代码中:import java.math.*;import java.util.*;import static java.util.Arrays.*;import static java.lang.Math.*;public class Initials { public String getInitials(String s) { String r = ""; for(String t:s.split("\\s+")){ r += t.charAt(0); } return r; } void p(Object... o) { System.out.println(deepToString(o)); }}这段代码的输出是:示例输入:“约翰·菲茨杰拉德·肯尼迪”返回:“jfk”
1 回答
HUWWW
TA贡献1874条经验 获得超12个赞
在 Java 和其他一些编程语言中,反斜杠可以解释为字符串本身的一部分,而不是正则表达式的一部分。所以字符串中的 \\s 仅表示 \s 当它进入正则表达式部分时。这意味着 \\ 只是对反斜杠本身进行转义,因此它是一个字面反斜杠。
添加回答
举报
0/150
提交
取消