这是代码
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中的"读","".
我想问为什么结果中有"".
这是预期的行为
首先read
是捕获,因为它后面是ing
.Here ing
只匹配..它从不包含在结果中.
现在我们处于后面的位置,read
即我们将在i
...再次ing
匹配(由于\w*
)并且它给出一个空结果,因为读取和ing 之间没有任何内容.
您可以使用\w+(?=ing\b)
以避免空结果