Capturing groups in the regex match method in JavaScript

As you already know, the substring found through the match method gets into the zero element of the resulting array. The remaining elements of this array include the so-called capturing groups.

Capturing groups are a way to split the found into separate parts. To use them, you need to enclose part of the regex in parentheses. In this case, in the resulting array, in addition to the found string, there will also be something that matched with the regex in these parentheses.

Let's try it in practice. Suppose we have such a string with time:

let str = '12:34';

Let's put the hours and minutes from this time in separate capturing groups:

let res = str.match(/(\d+):(\d+)/);

Let's look at the result:

console.log(res[0]); // '12:34' - matched string console.log(res[1]); // '12' - 1st capturing group console.log(res[1]); // '34' - 2nd capturing group

Given a string containing a domain:

let str = 'sss zzz';

Find that domain and put its name in the first capturing group and a zone in the second.

Given a string containing a date:

let str = '31.12.2025';

Put a day in the first capturing group, a month in the second, and a year in the third.