const regex = /(?P<username>[a-zA-Z0-9.-_]+)@(?P<domain>[a-zA-Z0-9.-_]+)\.(?P<ltd>[a-zA-Z0-9-_]+)/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?P<username>[a-zA-Z0-9.-_]+)@(?P<domain>[a-zA-Z0-9.-_]+)\\.(?P<ltd>[a-zA-Z0-9-_]+)', 'gm')
const str = `The mail or post is a system for physically transporting postcards, letters, and parcels.[1] A postal service can be private or public, though many governments place restrictions on private systems. Since the mid-19th century,yvannak54@gmail.com national postal systems have generally been established as a government monopoly, with a fee on the article prepaid. Proof of payment is usually in the form of an adhesive postage stamp, but a it123@gmail.com postage meter is also used for bulk mailing. Modern private postal systems are distinguished from national postal agencies by the terms "courier" or "delivery service".
`;
const subst = `<a href="mailto:\0">${username}</a>`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions