const regex = /<font color="([^"]*)">(.*?)<\/font>/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('<font color="([^"]*)">(.*?)<\\\/font>', 'gm')
const str = `<pre><font color="#4E9A06"><b>alecto@styx</b></font>:<font color="#3465A4"><b>~</b></font>\$ ls apps
<font color="#4E9A06"><b>Bitwarden-1.27.1-x86_64_a6df18330216c2546e435c5a9c5df432.AppImage</b></font>
<font color="#3465A4"><b>gitkraken</b></font>
<font color="#4E9A06"><b>session-desktop-linux-x86_64-1.6.7_18e4489c1ba2c40986ad03ca6522e187.AppImage</b></font>
<font color="#3465A4"><b>sources</b></font>
<font color="#4E9A06"><b>alecto@styx</b></font>:<font color="#3465A4"><b>~</b></font>\$
</pre>
`;
const subst = `<span style="color: $1">$2</span>`;
// 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