正则中的空格要用\s来表示
比如"<P style=" 要写成"<P\s+style="

解决方案 »

  1.   

    <P\s+style=\"TEXT-INDENT: 2em\">([\s\S]*?)<a\s+href=\"http://news.163.com/\"><img
      

  2.   

    谢谢阿
    dracula1133() 
    ">([\s\S]*?)<
    我不是取不到取道的只是其中一部分
    怎么解决阿
      

  3.   

    既然你是想从</div>取到<img,那就这样string patter = @"</div>([\s\S]*)<img";   另外
    Match mattemp = Regex.Match(contenttemp,patter,RegexOptions.IgnoreCase|RegexOptions.Multiline|RegexOptions.ECMAScript|RegexOptions.Compiled);
    这里不要加那么多的参数,要首先了解各参数的意义,确实需要再加string patter = @"</div>([\s\S]*)<img";  
    Match mattemp = Regex.Match(contenttemp, patter, RegexOptions.IgnoreCase);
    if (mattemp.Success)
    {
        //mattemp.Groups[1].Value;
    }其实这种写法并不合理,除非源字符串中只有一个</div>,否则要明确是哪个</div>和哪个<img
      

  4.   

    嘿嘿,过客兄,小弟我优化一下。我可是有根据的哦。
    改用这样快一点
    </div>((?:.|\n)*)<img比较结果:------------------------------------------一共用时:881毫秒(0.881秒) [1000次]★表达式1:</div>([\s\S]*)<img
    执行时间:591毫秒(0.591秒) 占总时间67.08%★表达式2:</div>((?:.|\n)*)<img
    执行时间:290毫秒(0.29秒) 占总时间32.92%
      

  5.   

    如果加上Compiled属性。效果更好一共用时:651毫秒(0.651秒) [1000次]★表达式1:</div>([\s\S]*)<img
    执行时间:521毫秒(0.521秒) 占总时间80.03%★表达式2:</div>((?:.|\n)*)<img
    执行时间:130毫秒(0.13秒) 占总时间19.97%
      

  6.   

    http://download.csdn.net/source/216928
    正则效率比较工具