javascript中的正则表达式

use*_*553 3 javascript regex

这是代码

var str = 'a girl is reading a book!';
var reg =  /\w*(?=ing\b)/g;
var res = str.match(reg);
console.log(res);
Run Code Online (Sandbox Code Playgroud)

结果是chrome中的"读","".

我想问为什么结果中有"".

Ani*_*dha 7

这是预期的行为

首先read是捕获,因为它后面是ing.Here ing只匹配..它从不包含在结果中.

现在我们处于后面的位置,read即我们将在i...再次ing匹配(由于\w*)并且它给出一个空结果,因为读取和ing 之间没有任何内容.

您可以使用\w+(?=ing\b)以避免空结果