const regex = /^(1|2)\d{3}\-(0[1-9]|1[0-2])\-((0[1-9])|((1|2)\d)|3(0|1))(T|\s)((0|1)\d|2[0-3]):([0-5]\d):([0-5]\d)((\+0\d|\+1[0-4]|-0\d|-1[0-2])([0-5]d)?)?|(\d{10-13})/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^(1|2)\\d{3}\\-(0[1-9]|1[0-2])\\-((0[1-9])|((1|2)\\d)|3(0|1))(T|\\s)((0|1)\\d|2[0-3]):([0-5]\\d):([0-5]\\d)((\\+0\\d|\\+1[0-4]|-0\\d|-1[0-2])([0-5]d)?)?|(\\d{10-13})', 'g')
const str = `2018-05-25 23:59:59`;
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