A mi me resulta más fácil sin expresiones regulares:
Código PHP:
<script type="text/javascript">
var frase='--------hola----que--tal-----estas--------?';
var i=0;
var f=frase.length-1;
while(frase.charAt(i)=='-'){
i++;
}
while(frase.charAt(f)=='-'){
f--;
}
var f2=frase.substring(i,f);
while(f2.indexOf('--')!=-1){
f2=f2.split('--').join('-');
}
alert(frase.substring(0,i)+f2+frase.substring(f,frase.length));
</script>