string str1 = "[2003][image/1.gif]";我只想匹配中括号里面的 带.gif的那个字符串的正则怎么写呢?结果是:[2003] <img src="images/1.gif"> 
想了半天没有结果,各位大佬,行行好,帮忙看看吧!谢谢!

解决方案 »

  1.   

    楼主意思把
    [2003][image/1.gif]
    替换成
    [2003]<img src="images/1.gif">

      

  2.   


    var s = '[2003][image/1.gif]';
    var re = /\[[^\]]+([^\/]+\.gif)\]/;
    s = s.replace(re, '<img src="images/$1">');
    alert(s)试试
      

  3.   

    var str = '[2003][image/1.gif][2003][image/1.png]';
    var re = /\[(image\/\w+\.gif)\]/g;
    alert(str.replace(re,'<img src="$1">'))
      

  4.   

    var str = '[2003][image/1.gif][2003][image/1.png]';
    var re = /\[(image/[^.]+\.gif)\]/gi;
    alert(str.replace(re,'<img src="$1">'))
      

  5.   

    测试了可以用,不过“images/”这个是不固定的,所以希望能够一起当作$1  
      

  6.   

    [image/1.gif]这里面的内容 只有.gif是固定的,前面的路径,名称都是不固定的,所以希望这个“image/1.gif” 整个当作$1 ,可以么?
      

  7.   


        var s = '[2003][image/1.gif]';
        var re = /\[([^\]]+)\]$/;
        s = s.replace(re, '<img src="$1">');
        alert(s)
    试试
      

  8.   

    var str = '[2003][image/1.gif][2003][image/1.png]';
    var re = /\[([^\]]+\.gif)\]/g;
    alert(str.replace(re,'<img src="$1">'))
      

  9.   


    var str = '[2003][image/1.gif][2003][image/1.png]';
    var re = /\[(\w+/[^.]+\.gif)\]/gi;
    alert(str.replace(re,'<img src="$1">'))