实在是对正则一知半解,求一得到图片地址的正则表达式

redebug 2007-11-17 04:44:05
可以准确获取图片地址的正则表达式
满足下面这几种情况:
<img id=img src= "/images/reallydo.jpg " >
<img id=img src=/images/reallydo.jpg/ >
<img id=img src=/images/reallydo.jpg / >
<img id=img src=http://www.reallydo.com/images/reallydo.jpg / >
<img id=img src= "/images/reallydo.jpg " class=go >
<img id=img src= "/images/reallydo.jpg " class=go/ >
<img id=img src= "/images/reallydo.jpg " class=go / >
<img id=img src= "http://www.reallydo.com/images/reallydo.jpg " class=go / >
...全文
572 47 打赏 收藏 转发到动态 举报
写回复
用AI写文章
47 条回复
切换为时间正序
请发表友善的回复…
发表回复
pboy2925 2008-01-18
  • 打赏
  • 举报
回复
怎么发到这里来了?

我最新的方法:

http://jorkin.reallydo.com/article.asp?id=380

还请指教.
leoz2z 2007-12-17
  • 打赏
  • 举报
回复
顶顶顶,以后遇到的时候再来看看
hanshufan 2007-11-20
  • 打赏
  • 举报
回复
来学习!
redebug 2007-11-19
  • 打赏
  • 举报
回复
十分十分感谢 yixianggao root_ 等朋友的精彩回答



飘然的风 2007-11-19
  • 打赏
  • 举报
回复
不错,顶一下.以后可能用到.
wklucky 2007-11-19
  • 打赏
  • 举报
回复
学习中 帮顶
cceon 2007-11-19
  • 打赏
  • 举报
回复
友情帮顶一下
gzdiablo 2007-11-19
  • 打赏
  • 举报
回复
@"<img[^>]*?src\s*=\s*[""']?(?:<imgurl>[^""'\s>]*)[^>]*>"

标准的表达式是这样的
Donald1978 2007-11-18
  • 打赏
  • 举报
回复
这个网站专注.net开源项目研究
http://www.openabc.net
长弓大侠 2007-11-18
  • 打赏
  • 举报
回复
<input type="text" name="mytext" id="mytext" />
<input type="button" value="click" onclick="Check();" />
<script language="javascript">
function Check()
{

var re = new RegExp("/.(gif|jpg)$/i", "");
var myvalue=document.getElementById("mytext").value;
var mresult = re.exec(myvalue);
if( mresult != null )
{
// alert("找到的:" + mresult);
document.write(mresult);

}
}
</script>
长弓大侠 2007-11-18
  • 打赏
  • 举报
回复
string test = @"<img id=img src= ""/images/reallydo.jpg"" >
<img id=img1 src=/images/reallydo.jpg />
<img id=img2 src=/images/reallydo.jpg / >
<img id=img3 src=http://www.reallydo.com/images/reallydo.jpg />
<img id=img4 src=""/images/reallydo.jpg "" class=go >
<img id=img5 src=""/images/reallydo.jpg"" class=go/>
<img id=img6 src=""/images/reallydo.jpg "" class=go/>
<img id=img7 src=""http://www.reallydo.com/images/reallydo.jpg "" class=go / >
";

MatchCollection mc = Regex.Matches(test, @"<img.*?src\s*=[\s""']*(?<url>[^\s""']*)[^>]*>", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
Console.WriteLine(m.Groups["url"].Value);
}
half_bucket 2007-11-18
  • 打赏
  • 举报
回复
mark
jinpeng_dotnet 2007-11-18
  • 打赏
  • 举报
回复
留个脚印日后用到在来查找^_^
kings2015 2007-11-18
  • 打赏
  • 举报
回复
学习 帮顶了
aicode 2007-11-18
  • 打赏
  • 举报
回复
string temp = "" ;
MatchCollection mc = Regex.Matches(str,"<img[^>]*?src\\s*=\\s*(?:\"(?<1>[^\"]*)\"|'(?<1>[^\']*)')", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
temp = m.Groups[1].Value;
}
试试这个.
liuyun1987 2007-11-18
  • 打赏
  • 举报
回复
string reg=(src=\s+\"(?<image>\S+.jpg(\s+)?)\")|(src=(?<image>\S+\w+\.jpg));
Math m=System.Text.RegularExpressions.Regex.Match(str,reg,System.Text.RegularExpressions.RegexOptions.IgnoreCase); //这里的str就是要匹配的字符串,reg是正则表达式
if(m.Sucess)
{
string temp=m.Groups["image"].Value.ToString();
}
xiaoliangwh 2007-11-18
  • 打赏
  • 举报
回复
学习中
root_ 2007-11-18
  • 打赏
  • 举报
回复
其实如果不做那些判断的话,更简洁高效的可以这样写

string test = @"<img id=img src=   ""/images/reallydo.jpg""   >   
<img id=img1 src=/images/reallydo.jpg />
<img id=img2 src=/images/reallydo.jpg / >
<img id=img3 src=http://www.reallydo.com/images/reallydo.jpg />
<img id=img4 src=""/images/reallydo.jpg "" class=go >
<img id=img5 src=""/images/reallydo.jpg"" class=go/>
<img id=img6 src=""/images/reallydo.jpg "" class=go/>
<img id=img7 src=""http://www.reallydo.com/images/reallydo.jpg "" class=go / >
";

MatchCollection mc = Regex.Matches(test, @"<img.*?src\s*=[\s""']*(?<url>[^\s""']*)[^>]*>", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
Console.WriteLine(m.Groups["url"].Value);
}
pciak 2007-11-18
  • 打赏
  • 举报
回复
学习中。。。
yixianggao 2007-11-18
  • 打赏
  • 举报
回复
仔细想了一下,既然思路不同,就各写各滴,哈
非常感谢root_的指点!

修正第三版:
1 结果不变,表达式更短些!

Regex rx = new Regex(
@"<img.*src\s*=\s*[""']?\s*(?<imgUrl>[^\s""']*).*/?\s*>",
RegexOptions.Multiline | RegexOptions.IgnoreCase);
加载更多回复(26)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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