const regex = /(?ix)
(\d+:\d\d)
\s+
.*?
\b
(
mon(?:d(?:ay?)?)
|tue(?:s(?:d(?:ay?)?)?)?
|wed(?:n(?:e(?:s(?:d(?:ay?)?)?)?)?)?
|thu(?:r(?:s(?:d(?:ay?)?)?)?)?
|fri(?:d(?:ay?)?)
|sat(?:u(?:r(?:d(?:a)?)?)?)?(?:y)?
|sun(?:d(?:ay?)?)
)
.*/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?ix)
(\\d+:\\d\\d)
\\s+
.*?
\\b
(
mon(?:d(?:ay?)?)
|tue(?:s(?:d(?:ay?)?)?)?
|wed(?:n(?:e(?:s(?:d(?:ay?)?)?)?)?)?
|thu(?:r(?:s(?:d(?:ay?)?)?)?)?
|fri(?:d(?:ay?)?)
|sat(?:u(?:r(?:d(?:a)?)?)?)?(?:y)?
|sun(?:d(?:ay?)?)
)
.*', 'gm')
const str = `0:18 on Tuesday's mini
1:43 Wednesday. dang!
2:01 this Sat 😎`;
const subst = `$1 $2`;
// 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