/\s+/g和/\s/g的区别

2021年10月10日 200点热度 2人点赞 0条评论
正则表达式/\s+/g和/\s/g,目的均是找出目标字符串中的所有空白字符,但两者到底有什么区别呢?

我们先来看下面一个例子:

let name = 'ye   wen    jun';
let ans = name.replace(/\s/g, ''); // 'yewenjun'
let ans2 = name.replace(/\s+/g, ''); // 'yewenjun'

从上面那个例子我们看到结果没有区别,那我们在换个例子看看

let name = 'ye   wen    jun';
let ans = name.replace(/\s/g, '#'); // "ye###wen####jun"
let ans2 = name.replace(/\s+/g, '#'); // "ye#wen#jun"

现在可以很清楚的可以看到,+的意思就是从遇到第一个匹配的字符起,继续匹配,直到匹配失败,把这段匹配到的字符替换为#,

而不带+的是把匹配到的字符一个一个替换为#

小小调酒师

此刻打盹,你将做梦; 此刻学习,你将圆梦。

文章评论