正则批对
<a href="1.html"><img src="1.jpg" alt="图片"></a><a href="1.html"><img src="2.jpg" ></a>
<a href="1.html"><img src="3.jpg" class="a"></a>
我想用正则表达式来匹配获取到这3条数据。请问下正则表达式要怎么写
其实我最主要是想获得连接地址 跟图片地址。一条会写。页面上出现3条这样的数据。请问下要怎么写。帮帮忙。 正则 --------------------编程问答-------------------- <a\s*href="(?<url>[^"]*)"><img\s*src="(?<imgsrc>[^"]*)"
--------------------编程问答--------------------
--------------------编程问答--------------------
string str = @"
<a href=""1.html""><img src=""1.jpg"" alt=""图片""></a>
<a href=""1.html""><img src=""2.jpg"" ></a>
<a href=""1.html""><img src=""3.jpg"" class=""a""></a>";
Regex reg = new Regex("<a href=\"(?<url>[^\"]+)\"><img src=\"(?<img>[^\"]+)");
foreach (Match m in reg.Matches(str))
{
Console.WriteLine("网址:{0} 图片:{1}", m.Groups["url"].Value, m.Groups["img"].Value);
}
--------------------编程问答--------------------
//你的IMG标签结束不是 /> ????
(?is)<a[^>]*href=(["'])(?<url>.*?)\1[^>]*><img[^/>]*src=["'].*?["'][^/>]*/?></a>
--------------------编程问答--------------------
//取分组名 url 与 imgurl
(?is)<a[^>]*href=(["'])(?<url>.*?)\1[^>]*><img[^/>]*src=["'](?<imgurl>.*?)["'][^/>]*/?></a>
我不知道怎么回事。
我用string str="(?is)<a[^>]*href=(["'])(?<url>.*?)\1[^>]*><img[^/>]*src=["'](?<imgurl>.*?)["'][^/>]*/?></a>"; 出现*src=["'](?<imgurl>.*?)["'][^/>]*/?></a>这里的错误。 --------------------编程问答--------------------
//你的IMG标签结束不是 /> ????
(?is)<a[^>]*href=(["'])(?<url>.*?)\1[^>]*><img[^/>]*src=["'].*?["'][^/>]*/?></a>
//取分组名 url 与 imgurl
(?is)<a[^>]*href=(["'])(?<url>.*?)\1[^>]*><img[^/>]*src=["'](?<imgurl>.*?)["'][^/>]*/?></a>
我不知道怎么回事。
我用string str="(?is)<a[^>]*href=(["'])(?<url>.*?)\1[^>]*><img[^/>]*src=["'](?<imgurl>.*?)["'][^/>]*/?></a>"; 出现*src=["'](?<imgurl>.*?)["'][^/>]*/?></a>这里的错误。
“ 和 \ 要转义下。
string reg = "(?is)<a[^>]*href=([\"'])(?<url>.*?)\\1[^>]*><img[^/>]*src=[\"'](?<imgurl>.*?)[\"'][^/>]*/?></a>";
--------------------编程问答--------------------
<a\s*href="(?<url>[^"]*)"><img\s*src="(?<imgsrc>[^"]*)"
<a\s*href="(?<url>[^"]*)"><img\s*src="(?<imgsrc>[^"]*)"
补充:.NET技术 , C#