Из String.prototype.match
[MDN] :
Если регулярное выражение не включает флаг
blockquote>g
, возвращает тот же результат, что иregexp.exec(string)
.Если в документации
RegExp.prototype.exec
[MDN] указано:Возвращенный массив имеет согласованный текст в качестве первого элемента , а затем по одному элементу для каждой скобочной скобки, которая соответствовала содержанию текста, который был захвачен.
blockquote>. Так как вы представили группу захвата во втором выражении, первым элементом является целое совпадение, а второй содержит содержимое группы захвата, которая в вашем примере также является полным совпадением. В первом выражении нет группы захвата, поэтому вы возвращаетесь обратно.
Вернуться к документации
match
:Если регулярное выражение включает в себя
blockquote>g
, метод возвращает массив, содержащий все совпадения. Если совпадений не было, метод возвращаетnull
.С модификатором
g
возвращаются только совпадения, но не содержимое групп захвата. В вашей строке есть только одно совпадение.