用于在Javascript中删除多个空格的特殊字符

用于在Javascript中删除多个空格的特殊字符,javascript,Javascript,我正在从文本中删除多个空格。我不明白逗号在“2”之后是什么意思。上面说只有{2}可以找到所有的双打 return newsong.replace(/\s{2}/g, ' ') return newsong.replace(/\s{2,}/g, ' ') 非常混乱….逗号匹配2个或更多的空格,允许您从字符串中删除空格,如: part1 part2 还有。如果在这个正则表达式上使用第一个正则表达式(没有逗号),它将看到: part1<SPACE><SPACE>&

我正在从文本中删除多个空格。我不明白逗号在“2”之后是什么意思。上面说只有{2}可以找到所有的双打

return newsong.replace(/\s{2}/g, ' ')

return newsong.replace(/\s{2,}/g, ' ')

非常混乱….

逗号匹配2个或更多的空格,允许您从字符串中删除空格,如:

part1     part2
还有。如果在这个正则表达式上使用第一个正则表达式(没有逗号),它将看到:

part1<SPACE><SPACE><SPACE><SPACE><SPACE>part2
第1部分第2部分
删除前两个空格,然后删除下两个空格,留下

part1<SPACE>part2
第1部分第2部分
最后一个空格与
\s{2}
不匹配,将保留。如果您使用逗号,它只会一次将它们全部删除,因为它匹配2个或更多的空格


此外,如果在逗号后加上另一个数字,则可以设置要匹配的最大空格数。

范围元序列由两部分组成,最小匹配和最大匹配

{n, m}
其中,
n
为最小值,
m
为最大值

当只指定一个时,它被视为最小值和最大值,例如:
x{2}
将匹配两个x'e

忽略最小值时,它将与0匹配。。最大时间,例如:
x{,2}
将匹配零、一或两个x'e


如果省略最大值,它将匹配最小值或更多次,例如:
x{2,}
将匹配两个或多个x'e

谢谢您的回答!我还想删除单词。为什么这不起作用?替换(/WUB{1,}/g,“”)@范围选择器中的AlexeyTseitlin将只处理其前面的字符或组。使用
/(?:WUB){1,}/g
或者在您的情况下,因为它是1个或多个:
/(?:WUB)+/g
请注意,它不会删除空格,而是将它们替换为单个空格。您的示例将以3个空格而不是1结束,而不是以1而不是0结束。我还想删除单词。为什么这不起作用?替换(/WUB{1,}/g,“”);