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

时间:2016-05-11 23:26:51

标签: javascript

我正从文本中删除多个空格。我不明白逗号在" 2"之后做了什么。在https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions上它表示只有" {2}"应该找到所有的双打。

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

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

非常困惑....

2 个答案:

答案 0 :(得分:2)

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

part1     part2

也是。如果你在这个上使用第一个正则表达式(没有逗号),它会看到:

part1<SPACE><SPACE><SPACE><SPACE><SPACE>part2

前两个空格被移除,然后是接下来的两个空格,留下

part1<SPACE>part2

此最后一个空格与\s{2}不匹配,并将保留。如果您使用逗号,它只会一次删除它们,因为它匹配2个或更多空格。

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

答案 1 :(得分:2)

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

{n, m}

n最小,m最大。

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

当省略manimum时,它将匹配0 ..最大次数,例如:x{,2}将匹配零,一个或两个x'es

当省略最大值时,它将匹配最少或更多次,例如:x{2,}将匹配两个或更多x'es