buenas...
a modo de comentario y compartir. con word boundaries parece que se puede lograr el mismo resultado. en este caso, la expresión regular es mucho más corta sin el uso de grupos o referencias en el string con que se reemplaza. aunque bien puede que no sea el más adecuado para tales efectos ya que el siguiente ejemplo toma en consideración cualquier caracter de la clase \W. es decir, si se encuentra dos signos juntos, entonces se elimina el segundo.
Código:
str.replace(/\B\W/g, '');