你如何在Javascript正则表达式中使用非捕获元素?

Pet*_*tai 3 javascript regex

我想捕捉thingnothing全球范围内和情况下不区分大小写.

由于某种原因,这不起作用:

"Nothing thing nothing".match(/no(thing)/gi);
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

捕获的数组Nothing,nothing代替thing,thing.

我认为括号界定了匹配模式?我究竟做错了什么?

(是的,我知道这也会匹配nothingness)

Mat*_*hen 5

如果使用全局标志,则match方法将返回所有整体匹配.这相当于没有全局的每个匹配数组的第一个元素.

要从每个匹配中获取所有组,请循环:

var match;
while(match = /no(thing)/gi.exec("Nothing thing nothing")) 
{ 
  // Do something with match
}
Run Code Online (Sandbox Code Playgroud)

这会给你["Nothing", "thing"]["nothing", "thing"].