const regex = /(?i)(<img)(?=((?:[^>"']|"[^"]*"|'[^']*')*?\ssrc\s*=\s*(['"])\/mycms\/~\/media\/)([a-f0-9]{32})(\.ashx\3(?:"[\S\s]*?"|'[\S\s]*?'|[^>]*?)+>))\s+(?:"[\S\s]*?"|'[\S\s]*?'|[^>]*?)+>/;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?i)(<img)(?=((?:[^>"\']|"[^"]*"|\'[^\']*\')*?\\ssrc\\s*=\\s*([\'"])\\\/mycms\\\/~\\\/media\\\/)([a-f0-9]{32})(\\.ashx\\3(?:"[\\S\\s]*?"|\'[\\S\\s]*?\'|[^>]*?)+>))\\s+(?:"[\\S\\s]*?"|\'[\\S\\s]*?\'|[^>]*?)+>', '')
const str = `<a hello world href="/mycms/~/link.aspx?_id=D9423CEFED254610A5DC6B096A297E17&_z=z" class>
...
</a>
<img hello world src="/mycms/~/media/B1FB91AC357347BD84913D56B8791D03.ashx" alt="" width="690" height="202" />
`;
const subst = `$1$2key{$4}$5`;
// 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