求一得到图片地址的正则表达式!

benbenRH 2009-05-14 01:07:24
<IMG id=insertimg_1057976 style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; WIDTH: 621px; LINE-HEIGHT: 16px; HEIGHT: 270px; BORDER-RIGHT-WIDTH: 0px" height=450 src="http://blogfile.ifeng.com/uploadfiles/blog_attachment/0905/75/1550675_30006abac5c4f5e9db968fe5c90e4799.jpg" width=1000>

<img width="750" height="100" alt="" border="0" src=http://www.zaobao.com/ads/banners/adfedex0514.gif target="_blank">


求获得上面图片地址的正则表达式!谢谢!
...全文
93 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
benbenRH 2009-05-14
  • 打赏
  • 举报
回复
Regex regex = new Regex("<img[^>]*src=\"?(?<URL>[^\\s\"]*)\"?[^>]*>", RegexOptions.IgnoreCase );
这个Linux7985写的可以,谢谢大家,谢谢Linux7985
wuyq11 2009-05-14
  • 打赏
  • 举报
回复
new Regex( @"<img\s+[^>]*\s*src\s*=\s*(['""])(?<url>[^'""]+)\1[^>]*>" ,
参考
benbenRH 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 benbenRH 的回复:]
引用 1 楼 Linux7985 的回复:

C# code
Regex regex = new Regex( " <img[^>]*src=\"?(? <URL>\\S*)\"?[^>]*>", RegexOptions.IgnoreCase );
foreach(Match m in regex.Matches)
{
  m.Groups["URL"].value  //就是URL了
}

[/Quote]


后面多了一个 “ 这个东西,应该怎么改正啊?谢谢!
benbenRH 2009-05-14
  • 打赏
  • 举报
回复
应该怎么改正啊?
HDNGO 2009-05-14
  • 打赏
  • 举报
回复
呵呵,单引号,双引号,没有引号三种情况都要判断才算通过的~
benbenRH 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Linux7985 的回复:]
C# code
Regex regex = new Regex( "<img[^>]*src=\"?(?<URL>\\S*)\"?[^>]*>", RegexOptions.IgnoreCase );
foreach(Match m in regex.Matches)
{
m.Groups["URL"].value //就是URL了
}


[/Quote]

后面多了一个 “ 这个东西
HDNGO 2009-05-14
  • 打赏
  • 举报
回复
(?i)<img[^>]*src=(""(?<href>[^""]*)""|'(?<href>[^']*)'|(?<href>[^\s>]*))[^>]*>
烈火蜓蜻 2009-05-14
  • 打赏
  • 举报
回复

Regex regex = new Regex( "<img[^>]*src=\"?(?<URL>\\S*)\"?[^>]*>", RegexOptions.IgnoreCase );
foreach ( Match m in regex.Matches( "html字符串" ) )
{
string s = m.Groups["URL"].Value; //就是URL了
}


写错了,改正一下
uuwish 2009-05-14
  • 打赏
  • 举报
回复

string content="<img src=''>";
Regex reg=new Regex("src="?(?<img>[^\ "]+)");
string imgURL=reg.Matches(content).groups["img"].value;

imgURL就是获取图像的地址
注意:[^\ "],\后面有一个空格.
烈火蜓蜻 2009-05-14
  • 打赏
  • 举报
回复
Regex regex = new Regex( "<img[^>]*src=\"?(?<URL>\\S*)\"?[^>]*>", RegexOptions.IgnoreCase );
foreach(Match m in regex.Matches)
{
m.Groups["URL"].value //就是URL了
}
本书中文版为《精通正则表达式(第3版), 本书关注的是一种强大的工具——“正则表达式”。它将教会读者如何使用正则表达式解决各种问题,以及如何充分使用支持正则表达式的工具和语言。许多关于正则表达式的文档都没有介绍这种工具的能力,而本书的目的正是让读者“精通”正则表达式。   许多种工具都支持正则表达式(文本编辑器、文字处理软件、系统工具、数据库引擎,等等),不过,要想充分挖掘正则表达式的能力,还是应当将它作为编程语言的一部分。例如Java、JScript、Visual Basic、VBScript、JavaScript、ECMAScript、C、C++、C#、elisp、Perl、Python、Tcl、Ruby、PHP、sed和awk。事实上,在一些用上述语言编写的程序中,正则表达式扮演了极其重要的角色。   正则表达式能够得到众多语言和工具的支持是有原因的:它们极其有用。从较低的层面上来说,正则表达式描述的是一串文本(a chunk of text)的特征。读者可以用它来验证用户输入的数据,或者也可以用它来检索大量的文本。从较高的层面上来说,正则表达式容许用户掌控他们自己的数据——控制这些数据,让它们为自己服务。掌握正则表达式,就是掌握自己的数据。 本书的第1 版写于1996年,以满足当时存在的需求。那时还没有关于正则表达式的详尽文档,所以它的大部分能力还没有被发掘出来。正则表达式文档倒是存在,但它们都立足于“低层次视角”。我认为,那种情况就好像是教一些人英文字母,然后就指望他们会说话。   第2 版与第1 版间隔了五年半的时间,这期间,互联网迅速流行起来,正则表达式的形式也有了极大的扩张,这或许并不是巧合。几乎所有工具软件和程序语言支持的正则表达式也变得更加强大和易于使用。Perl、Python、Tcl、Java和Visual Basic都提供了新的正则支持。新出现的支持内建正则表达式的语言,例如PHP、Ruby、C#,也已经发展壮大,流行开来。在这段时间里,本书的核心——如何真正理解正则表达式,以及如何使用正则表达式——仍然保持着它的重要性和参考价值。   不过,第1版已经逐渐脱离了时代,必须加以修订,才能适应新的语言和特性,也才能对应正则表达式在互联网世界中越来越重要的地位。第2 版出版于2002年,这一年的里程碑是java.util.regex、Microsoft .NET Framework和Perl 5.8的诞生。第2 版全面覆盖了这些内容。关于第2 版,我唯一的遗憾就是,它没有提及PHP。自第2 版诞生以来的4 年里,PHP的重要性一直在增加,所以,弥补这一缺憾是非常迫切的。   第3 版在前面的章节中增加了PHP的相关内容,并专门为理解和应用PHP的正则表达式增加了一章全新的内容。另外,该版对Java的章节也进行了修订,做了可观的扩充,反映了Java1.5和Java1.6的新特性。   

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧