@"<img.*?src=[""'](.+?)[""'].*?>";
<img alt='11 ' src=0.jpg />
<img src='1.jpg' title='AA' alt='2 ' >
<img src="1ddd.jpg" title='IOO' alt='2233 ' >
src=没有单引号或双引号的情况,怎么匹配?

解决方案 »

  1.   

     string str = @"<img alt='11 ' src=0.jpg />
    <img src='1.jpg' title='AA' alt='2 ' >
    <img src=""1ddd.jpg"" title='IOO' alt='2233 ' >";
                var array = Regex.Matches(str, @"(?is)<img[\s\S]*?src=['""]?(?<src>[^'""\s]+)").Cast<Match>().Select(t => t.Groups["src"].Value).ToArray();
      

  2.   

    string pattern=@"(?i)<img\b[^>]*?src=(['""]?)(?<src>[^'""\s]+?)\1[^>]*?>";string str = @"<img alt='11 ' src=0.jpg />
    <img src='1.jpg' title='AA' alt='2 ' >
    <img src=""1ddd.jpg"" title='IOO' alt='2233 ' >";
    string pattern=@"(?i)<img\b[^>]*?src=(['""]?)(?<src>[^'""\s]+?)\1[^>]*?>";
    if(Regex.IsMatch(str,pattern))//判断是否匹配
    {
      //you do
    }
      

  3.   

    恩,对了,谢谢,忘记问号和括号的技巧了呵呵
    @"<img.*?src=['""]?([^""'\s]+)";