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

如何用正则实现把“xyz(0/0)”中的0、0分别加1和2
需要写一个函数
函数参数:
输入:一个特定格式的字符串,如xyz(0/0),以及两个增量,如1和2
输出:把第一和第二个数字分别加相应的增量,如xyz(1/2)
我知道是用replace,还有RegExp.$1,但是做出来总是有错误
希望csdn上的兄弟能够帮帮忙
全部分给第一个解决者!

------解决方案--------------------
var s = "xyz(0/0) "
var re = new RegExp( "\((\\d+)\/(\\d+)\) ", "ig ");
s = s.replace(re,function($0,$1,$2){return (parseInt($1)+1) + "/ " + (parseInt($2)+2)});
alert(s);
------解决方案--------------------
function repla(s, m, n){
var reg = /^(\w*\()(\d+)\/(\d+)\)$/g;
s = reg.exec(s);
alert(s[1]+(parseInt(s[2])+m)+ '/ '+(parseInt(s[3])+n)+ ') ');
}

<input type= "text " onblur= "repla( 'xyz(3/1) ', 2, 2) ">