const regex = /^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22))*\\x40([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d))*$', 'gm')
const str = `criscrisaaaa@gmail.com.es
mminighin@alpenite.com
!mminighin@alpenite.com
#mminighin@alpenite.com
\$mminighin@alpenite.com
%mminighin@alpenite.com
&mminighin@alpenite.com
'mminighin@alpenite.com
*mminighin@alpenite.com
+mminighin@alpenite.com
-mminighin@alpenite.com
/mminighin@alpenite.com
=mminighin@alpenite.com
?mminighin@alpenite.com
^mminighin@alpenite.com
_mminighin@alpenite.com
\`mminighin@alpenite.com
{mminighin@alpenite.com
|mminighin@alpenite.com
}mminighin@alpenite.com
~mminighin@alpenite.com
0mminighin@alpenite.com
1mminighin@alpenite.com
2mminighin@alpenite.com
3mminighin@alpenite.com
4mminighin@alpenite.com
5mminighin@alpenite.com
6mminighin@alpenite.com
7mminighin@alpenite.com
8mminighin@alpenite.com
9mminighin@alpenite.com
10mminighin@alpenite.com
prettyandsimple@example.com
very.common@example.com
disposable.style.email.with+symbol@example.com
other.email-with-dash@example.com
fully-qualified-domain@example.com
user.name+tag+sorting@example.com
x@example.com
"very.(),:;<>[]\\".VERY.\\"very@\\\\ \\"very\\".unusual"@strange.example.com
example-indeed@strange-example.com
admin@mailserver1
#!\$%&'*+-/=?^_\`{}|~@example.org
"()<>[]:,;@\\\\\\"!#\$%&'-/=?^_\`{}| ~.a"@example.org
example@s.solutions
user@localserver
user@[2001:DB8::1]
.user@[2001:DB8::1]`;
const subst = ``;
// 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