Как найти и удалить из текста определенные элементы?
Если хотите регулярками"<p>&nbsp;</p> sometext <p></p>".replace(/<p>(&nbsp;)?<\/p>/gi, "")
Но в идеале для начала необходимо распарсить HTML код. Затем вы можете искать при помощи css selector'ов или xpath. Если вы делаете это в браузере то юзайте document.querySelectorAll или Document.evaluate соответственно.
Для ваших нужд лучше подойдет xpath, используйте https://scrapinghub.github.io/xpath-playground/ для того чтобы проверить своё выражение перед использованием.
А точнее?
Могу только сказать что неправильная регулярка.
Понимаю, что не дал точного описание, чтобы найти решения на все случаи.
Но, если тебе нужно удалить все одинаковые элементы, например, из строки "1-2-3-4-5-6-7-8" удалить все тире, то тогда: "1-2-3-4-5-6-7-8".split("-").join("");. Если элементы зависят от чего-то, то:function removeEl(str, el) {
   str.split(el).join("");
}
removeEl("1-2-3-4-5-6-7-8", "-");
Если условие не однозначное, типа удалить точки или запятые - то регулярное выражение.var str = "1.2.3.4.5,6,7,8,9";
var newStr = str.replace(/[.,]/g, "");
console.log(newStr); // "123456789"