返回Javascript正则表达式非捕获组

返回Javascript正则表达式非捕获组,javascript,regex,Javascript,Regex,当我跑的时候 var episode_pattern = /(?:EPISODE\:\s*\#)([0-9]*)/g; console.log(episode_pattern.exec("EPISODE: #3")); 我在比赛中得到了“插曲:#3”和“3”。 但是使用(?:我希望在matches数组中只能得到“3”。第一个元素(元素0)返回的数组的值始终是整个匹配字符串。换句话说,如果您根本没有组,或者如果您的所有组都未捕获,则返回元素0。如果您添加组而不更改正则表达式,则返回元素0

当我跑的时候

var episode_pattern = /(?:EPISODE\:\s*\#)([0-9]*)/g; 
console.log(episode_pattern.exec("EPISODE:  #3"));  
我在比赛中得到了“插曲:#3”和“3”。
但是使用
(?:
我希望在matches数组中只能得到“3”。

第一个元素(元素0)返回的数组的值始终是整个匹配字符串。换句话说,如果您根本没有组,或者如果您的所有组都未捕获,则返回元素0。如果您添加组而不更改正则表达式,则返回元素0中相同的整体匹配,然后组从元素1开始。

第一个元素返回数组的(元素0)始终是完整的匹配字符串。换句话说,如果您根本没有组,或者如果您的所有组都未捕获,则返回元素0。如果您添加组而不更改正则表达式,则返回元素0中相同的整体匹配,然后组从元素1开始