const regex = /[#$][^\s$#]+(?=(?:\s+[^\w\s]\S*)*\s*$)/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('[#$][^\\s$#]+(?=(?:\\s+[^\\w\\s]\\S*)*\\s*$)', 'gm')
const str = `The moment #BTC, we have all \$BTC been waiting for:We are happy to announce NIX Platform is rebranding to.. \$NBT > \$VOICE \$NIX > \$MUTE \$ETH \$BTC #BTC`;
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