<script>
var s = "$aaaaaaa$$aaaaaaa$$$aaaaaaaaaa$";
var r = /^\$|\$$|(\$)+/g;
document.write(s.replace(r,"$1"));
</script>

解决方案 »

  1.   

    不好意思,我没说清楚,就是,前后的$也可能不只一个$,有可能是多个连在一起的$$$aaaaaa$$aaaaaaaaaa$$$$$$aaaaaa$这样的情况
      

  2.   

    //var s = "$aaaaaaa$$aaaaaaa$$$aaaaaaaaaa$";
    var s="$$$aaaaaa$$aaaaaaaaaa$$$$$$aaaaaa$"
    var r = /\${1,}/g;
    var c=s.replace(r,"$")
    var b=/^\$(.*)\$$/
    b.exec(c)
    alert(RegExp.$1)
      

  3.   

    稍微改下不就行了嘛
    <script>
    var s = "$$$aaaaaa$$aaaaaaaaaa$$$$$$aaaaaa$";
    var r = /^\$+|\$+$|(\$)+/g;
    document.write(s.replace(r,"$1"));
    </script>
      

  4.   

    适应一些变化的情况
    <script>
    var s = "$aaaaaaa$$aaaaaaa$$$aaaaaaaaaa$";
    var r = /^\$*|\$(?=(\${1,}))|(\$)*$/g;
    alert(s.replace(r,""));
    </script>
      

  5.   

    楼上确实比较妙,用?=来保留活口,不失为一个办法<script>
    var s = "$$$aaaaaa$$aaaaaaaaaa$$$$$$aaaaaa$$";
    var r = /^\$+|\$(?=\$+)|(\$)+$/g;
    document.write(s.replace(r,""));
    </script>