(?!src=['']?((http{0,1}|ftp)://[a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,4})(:\d+)?(/[a-zA-Z0-9\.\-~!@#$%^&*+?:_/=<>]*)?)|((www.)|[a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,4})(:\d+)?(/[a-zA-Z0-9\.\-~!@#$%^&*+?:_/=<>]*)?))
上面写的不可用!求可用正则!谢谢各位高手

解决方案 »

  1.   


    var str=`<div>
    <img src="http://www.w3school.com.cn"  alt="上海鲜花港 - 郁金香" />
    <a href="http://www.w3school.com.cn">W3School</a>
    <a href="ftp://www.w3school.com.cn">http://www.w3school.com.cn</a>
    </div>`;
    var regex=/<(?![^>]*img\b)\w+\b(?=[^>]*(['"])((?:https?|ftp):\S+)\1)[^>]*>/ig;
    var match=null;
    var result=[];
    while((match=regex.exec(str))!=null){
    result.push(match[2]);
    }
      

  2.   

    这个也不行,我是要放在火车头采集器中的纯正则替换中的
    不懂你的测试环境(?!src=['']?((http{0,1}|ftp)://[a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,4})(:\d+)?(/[a-zA-Z0-9\.\-~!@#$%^&*+?:_/=<>]*)?)|((www.)|[a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,4})(:\d+)?(/[a-zA-Z0-9\.\-~!@#$%^&*+?:_/=<>]*)?))只能用这样的正则形式