我试图替换字符串如何替换具有无限字符子串的字符串?
var url = "www.fnord.com/foo/bar/btn_close_white.gif";
简单的一个字一个字一个字代替正常工作:
var newUrl = url.replace(/btn_close_white.gif/g,"btn_close_black.gif");
然而,因为我不知道是什么颜色的当前设置不,我需要的正则表达式忽略颜色部分并替换整个段。所以理论上,btn_close_pink.gif
或btn_close_someOtherFancyColor.gif
全部被替换为btn_close_black.gif
。
我尝试这样做,但它失败,我不知道为什么:
var newUrl = url.replace(/btn_close_*.gif/g,"btn_close_black.gif"); // this fails
我在做什么错?
'\ w'已经包含'\ d' – Toto
这样就完成了工作。你能解释一下你为什么这么做吗?我明白,我忘了逃避gif部分的点。但为什么你必须''*'?为什么'*'本身不够? – k0pernikus
查看更新后的帖子。 –