当前位置:编程学习 > C#/ASP.NET >>

正则批对

<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>

--------------------编程问答--------------------
引用 3 楼 mmm306306 的回复:

//你的IMG标签结束不是 /> ????
(?is)<a[^>]*href=(["'])(?<url>.*?)\1[^>]*><img[^/>]*src=["'].*?["'][^/>]*/?></a>




//取分组名  url 与 imgurl
(?is)<a[^>]*href=(["'])(?<url>.*?)\1[^>]*><img[^/>]*src=["'](?<imgurl>.*?)["'][^/>]*/?></a>
--------------------编程问答--------------------
引用 4 楼 mmm306306 的回复:
Quote: 引用 3 楼 mmm306306 的回复:


//你的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>这里的错误。 --------------------编程问答--------------------
引用 5 楼 woainilll 的回复:
Quote: 引用 4 楼 mmm306306 的回复:

Quote: 引用 3 楼 mmm306306 的回复:


//你的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>";

--------------------编程问答--------------------
引用 1 楼 shawn_yang 的回复:
<a\s*href="(?<url>[^"]*)"><img\s*src="(?<imgsrc>[^"]*)"


引用 1 楼 shawn_yang 的回复:
<a\s*href="(?<url>[^"]*)"><img\s*src="(?<imgsrc>[^"]*)"
我想知道你截图这个工具的名字。。。 --------------------编程问答-------------------- regex match tracer --------------------编程问答-------------------- <a\shref="(?<href>.*?)"><img src="(?<src>.*?)" --------------------编程问答--------------------
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,