这是我的python代码  但是正则都是相通的   用js也可以弄出来 ,所以来这发表一下 import res = '<img src = "/" height="111" width="10" />'def a(x):
    print x.group(2)
    print x.group(4)ss = re.sub(r'''<img.*(width\s*="?(\d+)"?)*\s*(height\s*="?(\d+)"?)*''',a, s)print ss
就是想把 高度和 宽度 都变成2倍 <img src = "/" height="111" width="10" />变成 <img src = "/" height="222" width="20" />我上面的代码好像不行 谢谢大家

解决方案 »

  1.   


    <img[^>]*height\s*=\s*["']?([^'" ]*)["']?\s*width\s*=\s*\s*["']?([^'" ]*)["']?[^>]*>
    试试吧
      

  2.   


    var i = '<img src = "/" height="111" width="10" />';
    i = i.replace(/\d+/g,function($1) {
    return $1 * 2;
    });
    alert(i)
      

  3.   

    2楼的创意不错  但是 实例字符串是一个 html 页面 有很多数字 所以这样不行  
      

  4.   

    针对所有的img的话建议不要写死顺序
    应该用(width|height)\s*=
    另外,python没有DOM操作么?
      

  5.   

                var i = '3412321sdfasdf343423<img src = "/" height="111" width="10" />asdfasdf23423fsdafsdf';
                i = i.replace(/((?:height|width)\D+)(\d+)/g, function($0,$1,$2){
                    return $1 + $2 * 2;
                });
                alert(i)