Я знаю, что одним из регулярных выражений является \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
String
в двойных кавычках, чтобы включить в строку один символ обратной косой черты. Обратная косая черта, за которой следует что-либо еще, означает что-то особенное. - person Kevin Anderson   schedule 20.09.2018"\s+"
и"\\s+"
заключается в том, что"\\s+"
дает вам строку, содержащую желаемое регулярное выражение обратной косой черты, за которой следуетs
, за которым следует знак плюс, а"\s+"
вызывает ошибку компиляции, потому что\s
не является допустимой escape-последовательностью строки Java. . - person Kevin Anderson   schedule 20.09.2018