var str="一三国40了地的啊50在了的和70。";
/啊\d+在/.exec(str) //line 1
/啊\d+在/.exec(str)[0].replace(/\D/g,"") // line 2
我想匹配“啊”和“在”之间的数字,但 line1 的结果是的结果会把数字前后的文字也出现了,
line 2 可以达到我的结果,但现在我想知道的是,能不能用一个正则就把这个匹配找到???或者说解决我的需求的更加高效的方法。

解决方案 »

  1.   

    var str="一三国40了地的啊50在了的和70。";
    var reg = /啊(\d+)在/;
    alert(str.match(reg)[1]);
      

  2.   


    var str="一三国40了地的啊50在了的和70。";
    var reg = /啊(\d+)在/;
    reg.exec(str);
    alert(RegExp.$1)
      

  3.   

    最后一种方式不建议使用,不过展示下js正则的相关思路 var str="一三国40了地的啊50在了的和70。";
    var reg = /.+?啊(\d+)在.+/;
    alert(str.replace(reg,function(m,p){
    return p;
    }));
      

  4.   

    不知道哪里有好一点的参考手册???w3school上貌似不全
    http://www.w3school.com.cn/js/jsref_obj_regexp.asp
      

  5.   

    不知道哪里有好一点的参考手册???w3school上貌似不全
    http://www.w3school.com.cn/js/jsref_obj_regexp.asp
      

  6.   

     
    关于js正则 也就这么点内容
    关于正则 那东西还是不少的 
    http://deerchao.net/tutorials/regex/regex.htm这个可以入门先。