想用正则替换一段字符。比如 a+b 替换为 Base(a,b,"+")再复杂一些 ((a)+c) 替换为 Base((a),c,"+")再复杂一些 比如 (a+((b&c)&d)) 替换为 Base(a, ((b&c)&d), "+")也就是说,把加号两端的值提出来,整理成我要的这种格式,但是加号两端的值有可能是带括号的,并且还有可能是嵌套的括号,所以要保持成对,这就晕了。请高手指点!实际用的字符是下面这个串
power(brackets(radical(a), 2)+in(1, radical(a)))-power(brackets(radical(a), 2)-in(1, radical(a)))正确的结果应该是
base(power(base(brackets(radical(a), 2),in(1, radical(a)), '+')), power(base(brackets(radical(a), 2),in(1, radical(a)), '-')), '-')谢谢了
power(brackets(radical(a), 2)+in(1, radical(a)))-power(brackets(radical(a), 2)-in(1, radical(a)))正确的结果应该是
base(power(base(brackets(radical(a), 2),in(1, radical(a)), '+')), power(base(brackets(radical(a), 2),in(1, radical(a)), '-')), '-')谢谢了
解决方案 »
- js 动态更改页面上字体样式---求助
- JS页面重新载入后的传值问题
- 我想调用MainFrame里的方法应该 如何 做?
- 我发现FireFox在另载XML时候有一个数据量的限制,我做了一个例子来说明这个问题.如果可以请高手解决一下这个问题.
- 谁能帮忙看一下!~高手请进!~
- 请教select的简单问题
- 如何判断是否onclick?
- 在客户端如何隐藏<TABLE ID="TEST">....的第一列(列没有ID)?????
- 请大家帮忙:javascript编码问题
- 如何在文本框中分别验证“汉字”和“英文字符串”的长度,有高分哦!!
- javascript的变量的域
- 求大神帮我看看这段代码,实现鼠标悬停数字图片就切换的效果
var str = "power(brackets(radical(a), 2)+in(1, radical(a)))-power(brackets(radical(a), 2)-in(1, radical(a)))";var mnh = 1;
while(/[\(\)]/.test(str))
str=str.replace(/(\()([^\(\)]*)(\))/,function (_,a,m,b){
return "`"+mnh+"`"+m+"~"+(mnh++)+"~";
});
while(/[\+\-]/.test(str))
str=str.replace(/([^`~\+\-]*(`(\d+)`.*?~\3~)?)([\+\-])([^`~\+\-]*(`(\d+)`.*?~\7~)?)/,function (_,a,_,_,b,c){
return "Base`"+mnh+"`"+a+","+c+',"'+{"+":"#1#","-":"#2#"}[b]+'"'+"~"+(mnh++)+"~";
});
str=str.replace(/`\d+`/g,"(").replace(/~\d+~/g,")").replace(/#1#/g,"+").replace(/#2#/g,"-");alert(str);