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

时间:2014-02-14 23:48:35

标签: javascript regex

当我跑步时

var episode_pattern = /(?:EPISODE\:\s*\#)([0-9]*)/g; 
console.log(episode_pattern.exec("EPISODE:  #3"));  

我在比赛中取回了“EPISODE:#3”和“3” 但是使用(?:我期望只在匹配数组中获得“3”。

1 个答案:

答案 0 :(得分:4)

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