Capturing groups appear in String#match (without /g modifier) results as parts of the resulting array.
If the regular expression does not include the g flag, returns the same result as RegExp.exec().
And exec() help says:
If the match succeeds, the exec() method returns an array and updates properties of the regular expression object. The returned array has the matched text as the first item, and then one item for each capturing parenthesis that matched containing the text that was captured.
To get rid of them, just replace capturing groups with non-capturing ones:
reg = /(?:\d{3}\.){3}\d{3}/;
// ^^
var str8 = "111.222.333.444";
console.log(str8.match(reg));
Result: ["111.222.333.444", index: 0, input: "111.222.333.444"].
?:,/(?:\d{3}\.){3}\d{3}/;(?:\d{3}\.){3}\d{3}.