var somestring = "mary(3) apple(2) sky(1)";
$("#removelaststring").unbind("click").bind("click",function(e){
somestring = somestring.replace(/\(\d+\)*$/, "")
alert(somestring);
});
我应该
mary(3) apple(2) sky
然后如果我运行它agan
mary(3) apple sky
如果再次运行
mary apple sky
然而,无论我点击多少次
,都不会发生这种情况mary(3) apple(2) sky
答案 0 :(得分:3)
你的正则表达式中有一个锚($),它要求它只在字符串的末尾匹配。 “(2)”之后不允许使用任何字符。 我想你想要这个
somestring = somestring.replace(/\(\d+\)([^(]*)$/, "$1")
允许任何字符,但是'('在被移除的部分之后。'假设'('只会出现在某些部分“(2)”。
答案 1 :(得分:0)
您正在用''(空格字符串)替换字符串末尾的'(n)',所以
mary(3) apple(2) sky(1)
变为mary(3) apple(2) sky
,但接下来,再没有'(n)',所以不再进行更换。