var c=/([\d\.]*)\^([\d\.]*)/
c.test("1 + 1.2^3.2 +5*6")
alert(RegExp.$1)
alert(RegExp.$2)

解决方案 »

  1.   

    var c=/([\d\.]*)\^([\d\.]*)/
    c.test("1 + 1.2^3.2 +5*6")
    alert(RegExp.$1)
    alert(RegExp.$2)
    c.test("6+(2^3+3)*6")
    alert(RegExp.$1)
    alert(RegExp.$2)
    c.test("8+ (5+3^2)*6")
    alert(RegExp.$1)
    alert(RegExp.$2)
      

  2.   

    谢谢,mingxuan3000(铭轩)可以正确取出,再请问一下,如果一条表达式里面有很多个2^3 这种形式如:1 + 1.2^3.2 +5*6+ 2^3+9+5^6,如何提取并转换成:1 + s(1.2,3.2) +5*6+ s(2,3)+9+ s(5,6) 这种形式?谢谢了!!!
      

  3.   

    比如:s=1 + 1.2^3.2 +5*6+ 2^3+9+5^6 转换后 s=1 + s(1.2,3.2) +5*6+ s(2,3)+9+ s(5,6)
      

  4.   

    var c=/([\d\.]*)\^([\d\.]*)/
    c.test("1 + 1.2^3.2 +5*6+ 2^3+9+5^6")
    var dd="1 + 2^3 +1.2^3.2 +5*6+ 2^3+9+5^6"
    var mm=dd.split("^")
    var ff=0;
    if(mm.length>1){
    ff=mm.length-1
    }
    alert(ff)
    for(var i=0;i<ff;i++){
    var c=/([\d\.]*)\^([\d\.]*)/
    var dd=dd.replace(c,"S($1,$2)")

    }
    alert(dd)
      

  5.   

    var c=/([\d\.]*)\^([\d\.]*)/var dd="1 + 2^3"
    var mm=dd.split("^")
    var ff=0;
    if(mm.length>1){
    ff=mm.length-1
    }
    //alert(ff)
    for(var i=0;i<ff;i++){
    var c=/([\d\.]*)\^([\d\.]*)/
    var dd=dd.replace(c,"S($1,$2)")

    }
    alert(dd)
      

  6.   

    var i=0;
    var reg=/(\d+)%/;
    if(reg.test("1 + 1% +5*6"))
        i=RegExp.$1;
    alert("i="+i);
      

  7.   

    chouchy(城市刀客) 不好意思啊,结贴结得太快了,SORRY~~~^_^
      

  8.   

    呵呵,chouchy(城市刀客) 典型的夜猫子,每次半夜才能看到他
      

  9.   

    To mingxuan3000(铭轩) :var c=/([\d\.]*)\^([\d\.]*)/var dd="1 + 2^3"
    var mm=dd.split("^")
    var ff=0;
    if(mm.length>1){
    ff=mm.length-1
    }
    //alert(ff)
    for(var i=0;i<ff;i++){
    var c=/([\d\.]*)\^([\d\.]*)/ -------------------------->这一句重复定义是什么意思?
    var dd=dd.replace(c,"S($1,$2)")}
    alert(dd)
      

  10.   

    呵呵,想起上csdn的时候都是很晚的时候了。