const regex = /(<td.*?>)([0-3]?[0-9])\/([0-3]?[0-9])\/((?:[0-9]{2})?[0-9]{2})(.*?<\/td>)/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(<td.*?>)([0-3]?[0-9])\\\/([0-3]?[0-9])\\\/((?:[0-9]{2})?[0-9]{2})(.*?<\\\/td>)', 'gm')
const str = `<table>
<tr>
<td class="test">9/2/2021 10:59:15 AM</td>
</tr>
<tr>
<td class="test">12/15/2015 12:10:45 PM</td>
</tr>
<tr>
<td class="test">10/10/2012 5:00:10 AM</td>
</tr>
</table>
`;
const subst = `$1$2.$3.$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