Java中的\\s匹配项是什么

Java中的\\s匹配项是什么,java,regex,Java,Regex,在我读过的所有教程中,他们总是说\s匹配空白。那么为什么要这样做呢 System.out.println("line1 \n line2".replaceAll("\\s\\s*", " ")); 有以下输出: line1 line2 谢谢你的回复 字符串文字\\s\\s*相当于\s\s*,它匹配一个空格字符,后跟零个或多个空格字符 空白字符定义为[\t\n\x0B\f\r],它包括空格和换行符。字符串文字\\s\\s*相当于\s\s*,它与空白字符后跟零个或多个空白字符相匹配

在我读过的所有教程中,他们总是说\s匹配空白。那么为什么要这样做呢

System.out.println("line1   \n   line2".replaceAll("\\s\\s*", " ")); 
有以下输出:

line1 line2 
谢谢你的回复

字符串文字\\s\\s*相当于\s\s*,它匹配一个空格字符,后跟零个或多个空格字符

空白字符定义为[\t\n\x0B\f\r],它包括空格和换行符。

字符串文字\\s\\s*相当于\s\s*,它与空白字符后跟零个或多个空白字符相匹配

空白字符定义为[\t\n\x0B\f\r],包括空格和换行符。

\\s与空白字符匹配,其中空白字符为-[\t\n\x0B\f\r]。这不仅仅是一个空间。我怀疑这就是你从空白中推断出来的。请参阅类文档

此外,您还可以将正则表达式\\s\\s*替换为\\s+。

\\s匹配一个空格字符,其中空格字符为-[\t\n\x0B\f\r]。这不仅仅是一个空间。我怀疑这就是你从空白中推断出来的。请参阅类文档


另外,您可以将正则表达式\\s\\s*替换为\\s+。

首先,这个正则表达式有点傻:\\s\\s*将匹配一个或多个空格字符,因为\\s字符类匹配所有空格


但是,它可以更容易地表示为\\s+,这完成了完全相同的事情。

首先,这个正则表达式有点傻:\\s\\s*将匹配一个或多个空格字符,因为\\s character类匹配所有空格

但是,它可以更容易地表示为\\s+,它完成了完全相同的任务。

\\s\\s*是\s\s*的转义版本,与\s*相同+

它处理一个或多个空白字符。空白字符为[\t\n\x0B\f\r]。因此,它将在每个匹配中仅用一个空格替换多个空格。

\\s\\s*是\s\s*的转义版本,与\s相同+


它处理一个或多个空白字符。空白字符为[\t\n\x0B\f\r]。因此,它将在每个匹配中用一个空格替换多个空格。

您希望它返回什么?我希望:正如其他人所说,line1\n line1\n是空格。如果只想替换空格,请使用空格而不是\\s;如果要替换空格和制表符,请使用[\\t]而不是\\s。您希望它返回什么?我希望:正如其他人所说,line1\n line1\n是空白。如果只想替换空格,请使用空格而不是\\s;如果要替换空格和制表符,请[\\t]而不是\\s.,\s\s*与\s+相同。什么是\x0Bcharacter@user230137\x0B是ASCII格式的垂直制表符VT。而\s\s*与\s+相同。什么是\x0Bcharacter@user230137\x0B是ASCII中的垂直制表符VT。从技术上讲,不是全部-只是ASCII平面中的制表符VT。从技术上讲,不是全部-只是ASCII平面中的制表符VT。