Java regex模式\\s+ ,在对指定的值应用regex搜索时,用于匹配多个空白字符。
该模式是\\s 的修改版,用于匹配单个空白字符。
通过一个例子很容易看出其中的区别。假设你有一个String 类型的变量,名为myStr ,如下图所示:
String myStr = "A Wonderful World";
System.out.println(myStr.replaceAll("\\s", "?"));
System.out.println(myStr.replaceAll("\\s+", "?"));
字符串之间有三个空白,有两个replaceAll() 方法调用,使用的模式是\\s 和\\s+ 。
println() 方法的输出将如下图所示。注意两个字符串中? 标记的数量不同:
A???Wonderful???World
A?Wonderful?World
当你使用\\s 模式时,每个空格都被算作一个单独的匹配。
使用\\s+ 模式时,字符串中的三个空白将被算作一个,所以它们将被替换成一个? 符号,而不是三个。
regex模式中的+ 符号也被称为贪婪量词。它允许你将模式的多次出现算作一次出现。
这就是\\s+ 词组模式在Java中的作用 😉