正则表达式 \s* 为什么没有匹配到空格?

代码如下:

var name = 1;

var reg = new RegExp('(\\s*' + name + '|' + name + '\\s*)', 'g');

var reg2 = new RegExp('(\\s+' + name + '|' + name + '\\s+)', 'g');

var str = '1 2 3';


console.log(reg.exec(str)); //1. 结果如下图片

https://img4.mukewang.com/5be93c6900014ca402110022.jpg

console.log(reg2.exec(str)); //2. 结果如下图片


https://img.mukewang.com/5be93c790001b2ed02180019.jpg

萧十郎
浏览 632回答 1
1回答

慕码人2483693

竖线表示分歧,而且会短路,第一个里面是因为竖线(分歧)之前的表达式已经可以满足,第二个是因为竖线之前的不能满足,再去用竖线后面的去匹配
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript