我正从文本中删除多个空格。我不明白逗号在" 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, ' ')
非常困惑....
答案 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