function replacer(match, p1, p2, p3, offset, string) {
// p1 is nondigits, p2 digits, and p3 non-alphanumerics
// console.log(arguments)
for(let arg of arguments) {
console.log('arg',arg)
}
return [p1, p2, p3].join(' - ');
}
var newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
var newString2 = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/g, replacer);
console.log(newString); // abc - 12345 - #$*%
console.log(newString2); // abc - 12345 - #$*%--