\\s+ 和 \s+ 有什么区别

我知道正则表达式之一是“\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”


月关宝盒
浏览 1016回答 1
1回答

HUWWW

在 Java 和其他一些编程语言中,反斜杠可以解释为字符串本身的一部分,而不是正则表达式的一部分。所以字符串中的 \\s 仅表示 \s 当它进入正则表达式部分时。这意味着 \\ 只是对反斜杠本身进行转义,因此它是一个字面反斜杠。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java