日期:2014-05-16  浏览次数:20385 次

求已清理数字间的减号,正则表达式,请高人指点,多谢!急急
求已清理数字间的减号,正则表达式

如2-3-6-6 清理后为:2366

如-2-6-8-5 清理后为:-2685

------解决方案--------------------
分两步
alert( "-2-6-8-5-1-2".replace(/(^-\d)?((?:-\d+)+)/g,function(a,b,c){return b+ c.replace(/-/g,'')})  )
------解决方案--------------------
引用:
分两步
alert( "-2-6-8-5-1-2".replace(/(^-\d)?((?:-\d+)+)/g,function(a,b,c){return b+ c.replace(/-/g,'')})  )
参数a,b,c如何传递的?
------解决方案--------------------
a,b,c 对应正则中分组 0,1,2
------解决方案--------------------
引用:
a,b,c 对应正则中分组 0,1,2
谢谢回复,这种用法在什么条件下能用,为什么很少见?

而且,如2-3-6-6 清理后为:2366这种情况貌似无法实现
------解决方案--------------------
str.replace(/(\d)-/g,"$1");
------解决方案--------------------
有常用,一般都写成$1,$2

alert( "2-3-6-6".replace(/(^-\d+)?((-\d+)+)/g,function(a,b,c){return (b
------解决方案--------------------
'')+ c.replace(/-/g,'')})  )